html{scroll-behavior:smooth;scroll-padding-top:100px}
.hdr{top:0}.screen{display:block}.hero{min-height:calc(100svh - 84px)}
.skip-link{position:fixed;top:-80px;left:16px;z-index:200;background:var(--paper);padding:12px}.skip-link:focus{top:8px}
.site-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.site-footer ul{list-style:none;display:grid;gap:12px;margin-top:20px}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}
.page-intro{padding:4rem 0 2rem}.page-intro .lede{margin-top:1.5rem;max-width:39rem}
.form-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:3rem;padding-bottom:5rem}
.form-stack{display:grid;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-status{font-size:16px;line-height:1.6}.form-status:not(:empty){padding:1rem;background:var(--paper);border-left:3px solid var(--rec)}
.form-status[data-error="true"]{color:#8b2435}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.booking-summary{align-self:start;background:var(--ink);color:var(--paper);padding:2rem}.booking-summary .lede{color:var(--paper)}
.booking-summary ul{padding-left:20px;line-height:1.7;margin:1.5rem 0}.booking-summary .m{color:rgba(250,246,239,.7)}
.quote-line{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-top:1px solid rgba(250,246,239,.2)}
.form-stack button:disabled{opacity:.6;cursor:wait}.form-stack textarea{min-height:130px;resize:vertical}
.legal-copy{max-width:48rem;padding-bottom:4rem}.legal-copy h2{font-size:24px;margin:2rem 0 1rem}.legal-copy p,.legal-copy li{font-size:17px;line-height:1.7;margin-bottom:1rem}
.season-note{padding:1rem 0;color:var(--rec)}.video-frame .ph-cap{pointer-events:none;bottom:40px}
.hero-pause{position:absolute;right:var(--gutter);bottom:16px;z-index:3;background:rgba(0,0,0,.5);color:#fff;border:1px solid rgba(255,255,255,.4);padding:10px;font:12px 'JetBrains Mono',monospace;cursor:pointer}
@media(max-width:720px){.form-layout,.site-footer{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.hero{min-height:calc(100svh - 72px)}.page-intro{padding-top:3rem}.booking-summary{order:-1}.site-footer{gap:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dot{animation:none}}
