@font-face{font-family:LocalRound;src:local('Avenir Next')}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#bfe0e6,#9fc8d7 55%,#e8dfc4);color:#183f4c;font:16px/1.5 LocalRound,'Avenir Next',system-ui,sans-serif}
.entry{max-width:760px;margin:0 auto;padding:min(9vh,64px) 22px 48px}
h1,h2{font-family:Georgia,serif;font-weight:400;margin:0}
h1{font-size:clamp(40px,8vw,72px);letter-spacing:-2px;line-height:1.02;margin:10px 0 16px}
h1 span{color:#2d6e79}
h2{font-size:24px;margin-bottom:8px}
p{margin:0}
.place{color:#456e74;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.lede{font-size:18px;color:#3d5f68;max-width:32em}
.choices{display:grid;gap:12px;margin:30px 0}
.choice{display:block;min-height:64px;padding:16px 20px;border-radius:12px;background:#f8faf1e8;color:#234850;text-decoration:none;box-shadow:0 3px 0 #7ea9b3;transition:background .15s,transform .15s}
.choice:hover{background:#fff}
.choice:active{transform:translateY(1px)}
.choice strong{display:block;font-size:19px}
.choice small{display:block;margin-top:3px;font-size:13px;color:#5c797f}
#choice-solo{background:#f6c66c;box-shadow:0 3px 0 #b98f46}
#choice-solo:hover{background:#ffdb98}
#route-panel,#family-form{background:#f4f7ecee;border-radius:12px;padding:22px;margin:26px 0}
#family-form{display:grid;gap:12px;max-width:26em}
label{font-size:13px;color:#5c797f}
input{font:inherit;min-height:48px;padding:10px 14px;border:1px solid #9dbcc2;border-radius:8px;background:#fbfcf7;color:#183f4c;width:100%}
button{font:inherit;cursor:pointer;border:0;min-height:48px;padding:12px 24px;border-radius:8px;background:#f8faf1;color:#234850}
.primary{background:#f6c66c;color:#283f43;box-shadow:0 3px 0 #b98f46;font-weight:700}
.primary:hover{background:#ffdb98}
button:disabled{opacity:.45;cursor:default}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ffbd58;outline-offset:4px}
.error{color:#8a2f22;font-size:14px}
.text-link{color:#2d6e79;font-size:14px}
.fineprint{font-size:12px;color:#5f7d83;margin-top:28px}
[hidden]{display:none!important}
@media(min-width:680px){.choices{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
