@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&display=swap');
/* Athelas and Vanguard are used when installed; system-safe and hosted fallbacks preserve hierarchy. */
:root{--display:'Vanguard','Barlow Condensed','Arial Narrow',sans-serif;--editorial:'Athelas',Georgia,serif}
.journey h1{font-family:var(--display);font-weight:800;letter-spacing:-.025em;text-transform:uppercase;line-height:.98}
.journey h1 em{font-family:var(--editorial);font-style:italic;font-weight:700;text-transform:none;letter-spacing:-.035em;line-height:1.02}
#stage h2,#callDialog h2{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.02}
#stage h2{font-size:clamp(40px,4vw,58px)}
.choice span,.summary-row,.field,.budget-control label,.month-head strong,.time-head strong{font-weight:700}
.primary,.next-steps strong,.ticket-copy{font-weight:800}
.choice small,.summary-row small{font-weight:500}
.booking-confirm h3,.next-title{font-family:var(--editorial);font-weight:700}
@media(max-width:760px){.journey h1{font-size:34px}#stage h2{font-size:40px}}

/* Larger, high-contrast interface type. */
#stage h2{font-size:clamp(46px,4.4vw,65px)}#stage>p{font-size:16px;line-height:1.65}.choice span{font-size:16px;font-weight:700}.choice small{font-size:13px;line-height:1.55}.field,.budget-control label{font-size:16px}.field input,.field select,.field textarea{font-size:16px}.summary-row{font-size:16px}.summary-row small{font-size:13px}.primary{font-size:16px}.route-list li{font-size:13px}.ticket-copy{font-size:14px}.wizard-top,.local-note{font-size:12px}.optional{font-weight:400;color:var(--muted)}.choice{transition:background .25s ease,border-color .25s ease,transform .25s ease}.choice:has(input:checked){animation:selectPulse .32s ease both}.journey h1 em{animation:headlineLift .65s cubic-bezier(.2,.7,.2,1) both}@keyframes selectPulse{0%{transform:scale(.99)}60%{transform:scale(1.008)}100%{transform:scale(1)}}@keyframes headlineLift{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:760px){#stage h2{font-size:43px}.choice span{font-size:15px}.choice small{font-size:13px}.route-list li{font-size:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
