:root{--navy:#0c1422;--navy2:#14243a;--cream:#f5f3eb;--ink:#172533;--muted:#657281;--line:#d8ddd9;--gold:#e9aa64;--mint:#b5e2d4;--white:#fff;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 "Nunito Sans",Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.3rem,7.2vw,7.4rem)}h2{font-size:clamp(2.6rem,5vw,5.3rem)}h3{font-size:clamp(2rem,3.8vw,4.2rem)}em{font-style:normal;color:var(--gold)}:focus-visible{outline:3px solid #3ec7c4;outline-offset:4px}.skip{position:absolute;top:-100px;left:12px;background:#fff;color:#000;padding:10px;z-index:99}.skip:focus{top:12px}.eyebrow{font:700 .72rem/1.4 Orbitron,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#b67b43}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,86px);background:var(--navy);color:#fff;position:relative;z-index:10;border-bottom:1px solid #354357}.brand{font:700 1.45rem Orbitron,sans-serif;letter-spacing:.11em}.brand span{color:var(--gold)}nav{display:flex;align-items:center;gap:34px;font-weight:800;font-size:.84rem;text-transform:uppercase;letter-spacing:.06em}nav a:hover,footer a:hover{color:var(--gold)}.nav-action{border:1px solid #adbdc4;border-radius:100px;padding:10px 19px}.hero{min-height:min(780px,calc(100svh - 76px));position:relative;overflow:hidden;color:white;background:var(--navy);display:flex;align-items:center;padding:96px clamp(22px,7vw,120px)}.hero-content{position:relative;z-index:2;max-width:970px}.hero h1{max-width:900px;margin:26px 0}.hero-lead{font-size:clamp(1.1rem,1.7vw,1.35rem);max-width:600px;color:#d6dfdf;margin-bottom:33px}.hero .eyebrow{color:var(--mint)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:0;border-radius:5px;min-height:54px;padding:14px 22px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;font-size:.85rem;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-light{background:var(--mint);color:#102331}.button-light:hover{background:#d1f3e6}.hero-edge{position:absolute;right:clamp(22px,5vw,80px);bottom:30px;z-index:3;font:700 .65rem Orbitron;letter-spacing:.18em;color:#e7dbca}.hero-edge span{color:var(--gold);padding:0 12px}.hero-sky{position:absolute;inset:0;background:radial-gradient(circle at 77% 31%,#d5a76d 0 7%,transparent 25%),linear-gradient(116deg,#0d1a2c 22%,#354e59 64%,#ae7954 100%)}.hero-sky:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0c1422 0%,#0c1422df 34%,#0c14226a 73%,#0c142230)}.orb{position:absolute;width:280px;height:280px;border-radius:50%;background:#f3bd73;right:14%;top:19%;box-shadow:0 0 100px #e9aa6470}.ridge{position:absolute;bottom:-5%;width:115%;height:55%;left:-5%;clip-path:polygon(0 75%,13% 45%,24% 64%,39% 24%,52% 60%,68% 18%,81% 45%,100% 10%,100% 100%,0 100%)}.ridge-one{background:#415766}.ridge-two{background:#172b3b;transform:translateY(90px) scaleX(1.12)}.water{position:absolute;right:0;bottom:0;width:52%;height:23%;background:repeating-linear-gradient(175deg,#bed2c143 0 2px,transparent 2px 19px),linear-gradient(#5d8190,#263c4f);clip-path:polygon(0 45%,100% 10%,100% 100%,0 100%)}.chooser{padding:105px clamp(22px,7vw,120px) 115px}.section-heading{max-width:720px;text-align:center;margin:0 auto 40px}.section-heading h2{margin:12px 0 17px}.section-heading>p:last-child{color:var(--muted);font-size:1.12rem}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1320px;margin:auto}.choice{text-align:left;border:1px solid #bbc5c2;background:#fff;min-height:290px;padding:34px;display:flex;flex-direction:column;align-items:flex-start;transition:background .25s,transform .25s,border-color .25s}.choice:hover{transform:translateY(-3px)}.choice.is-selected{background:var(--navy2);color:white;border-color:var(--navy2)}.choice-count{font:700 .7rem Orbitron;letter-spacing:.14em;color:#a5663c}.is-selected .choice-count{color:var(--gold)}.choice-name{display:block;font-weight:900;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.08;letter-spacing:-.05em;margin:35px 0 8px}.choice-description{color:var(--muted)}.is-selected .choice-description{color:#c4d2d8}.choice-link{margin-top:auto;padding-top:25px;font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#a76d40}.is-selected .choice-link{color:var(--mint)}.journey{background:#e8ece8;padding:100px 0 70px}.journey-top{padding:0 clamp(22px,7vw,120px);max-width:1060px}.journey-top h2{margin:16px 0 20px}.journey-top>p:not(.eyebrow){font-size:1.2rem;color:#546574;max-width:720px}.date-tag{display:inline-block;margin-top:22px;padding:7px 13px;border:1px solid #abbab5;border-radius:100px;font-size:.78rem;font-weight:800;color:#3d5c5a}.split{display:grid;grid-template-columns:1fr 1fr;gap:4vw;max-width:1600px;margin:70px auto 0;padding:0 clamp(22px,7vw,120px)}.story{min-width:0}.story-step{min-height:70vh;display:flex;flex-direction:column;justify-content:center;border-top:1px solid #b8c4c1;padding:50px 5vw 70px 0;opacity:.52;transition:opacity .35s}.story-step:last-child{border-bottom:1px solid #b8c4c1}.story-step.is-current{opacity:1}.story-number{font:700 .69rem Orbitron;letter-spacing:.12em;color:#a76b38}.story-step h3{margin:22px 0}.story-step>p{font-size:1.2rem;color:#4d6069;max-width:520px}.story-credit{margin-top:25px;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:900;color:#7c8b8e}.scene-panel{position:sticky;top:28px;align-self:start;height:min(78vh,760px);min-height:520px;background:#14263b;overflow:hidden;box-shadow:0 22px 55px #15293022}.scene{height:100%;position:relative;overflow:hidden;transition:background 650ms;background:linear-gradient(180deg,#426b7a,#c09065 58%,#313d4b)}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0a1b2cba,transparent 48%)}.scene-sun{position:absolute;width:30%;aspect-ratio:1;right:17%;top:18%;background:#f0c387;border-radius:50%;box-shadow:0 0 70px #f0c387aa}.scene-hill{position:absolute;width:135%;height:58%;bottom:12%;left:-15%;clip-path:polygon(0 65%,18% 35%,36% 55%,55% 15%,75% 54%,100% 24%,100% 100%,0 100%);background:#47635c}.scene-hill-front{bottom:-16%;left:-10%;background:#1e3b45;transform:scaleX(-1)}.scene-water{position:absolute;bottom:-3%;width:100%;height:30%;background:repeating-linear-gradient(176deg,#c5e3d341 0 2px,transparent 2px 16px),#54808a;opacity:0;transition:opacity .5s}.scene-path{position:absolute;bottom:-9%;left:35%;width:45%;height:44%;background:#be8d68;clip-path:polygon(40% 0,53% 0,100% 100%,0 100%);transform:rotate(-10deg);opacity:0;transition:opacity .5s}.scene-object{position:absolute;z-index:1;right:19%;bottom:23%;width:30%;height:15%;background:#101f2b;clip-path:polygon(8% 55%,22% 25%,70% 24%,90% 55%,100% 65%,97% 85%,8% 85%,0 70%);filter:drop-shadow(0 10px 10px #111);opacity:0;transition:opacity .5s}.scene-road .scene-path,.scene-road .scene-object{opacity:1}.scene-vineyard{background:linear-gradient(180deg,#3e6a79,#e8b36c 60%,#6e6a4c)}.scene-vineyard .scene-hill-front{background:repeating-linear-gradient(155deg,#23463a 0 14px,#65763f 14px 23px);bottom:-7%}.scene-lake{background:linear-gradient(180deg,#426b80,#d2a174 58%,#467386)}.scene-lake .scene-water,.scene-boat .scene-water{opacity:1}.scene-boat{background:linear-gradient(180deg,#3b6875,#f2c080 56%,#487e8d)}.scene-boat .scene-object{opacity:1;bottom:16%;right:26%;width:42%;height:12%;clip-path:polygon(0 30%,100% 30%,83% 95%,18% 95%);background:#5d3929}.scene-orchard{background:linear-gradient(180deg,#47747e,#e7b676 54%,#5c7045)}.scene-orchard .scene-hill-front{background:radial-gradient(circle at 12% 36%,#b74e37 0 3%,transparent 4%),radial-gradient(circle at 47% 23%,#c2623d 0 3%,transparent 4%),radial-gradient(circle at 75% 45%,#b54c32 0 3%,transparent 4%),#315346}.scene-caption{position:absolute;z-index:2;left:26px;right:26px;bottom:23px;display:flex;gap:12px;align-items:center;color:white;font-size:.77rem}.scene-caption strong{font-size:.95rem;margin-right:auto}.scene-caption>span:last-child{opacity:.7}.step-nav{display:flex;gap:8px;justify-content:center;margin-top:25px}.step-nav button{width:45px;height:45px;border:1px solid #9aaca8;background:transparent;color:#596e70;border-radius:50%;font:700 .67rem Orbitron}.step-nav button[aria-current="step"]{background:#1b3e4a;color:white;border-color:#1b3e4a}.providers{padding:110px clamp(22px,7vw,120px);background:#faf9f5}.align-left{text-align:left;margin:0 0 45px}.provider-grid{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.provider-card{border:1px solid #d6ddd9;background:#fff;padding:26px;min-height:250px;display:flex;flex-direction:column}.provider-overline{display:flex;justify-content:space-between;font:700 .7rem Orbitron;letter-spacing:.08em;color:#ad6c3a}.pending-dot{width:9px;height:9px;background:#d3914c;border-radius:50%;box-shadow:0 0 0 5px #f5e8d7}.provider-type{font-size:.78rem;color:#64777c;text-transform:uppercase;letter-spacing:.09em;margin-top:25px;font-weight:900}.provider-card h3{font-size:1.6rem;margin:7px 0 9px}.provider-card>p:not(.provider-type){color:#596973}.provider-status{border-top:1px solid #e2e7e3;margin-top:auto;padding-top:16px;color:#9d632f;font-size:.8rem;font-weight:900}.provider-note{max-width:850px;margin:24px auto 0;text-align:center;color:#657378;font-size:.82rem}.how{padding:100px clamp(22px,7vw,120px);background:#15263a;color:white;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.how h2{margin-top:18px}.how h2 em{color:var(--mint)}.how ol{padding:0;margin:0;list-style:none}.how li{display:flex;gap:26px;padding:22px 0;border-top:1px solid #425267}.how li:last-child{border-bottom:1px solid #425267}.how li>span{font:700 .75rem Orbitron;color:var(--gold)}.how strong{font-size:1.2rem}.how p{color:#b8c9d0;margin-top:5px}.planner-section{padding:110px clamp(22px,7vw,120px);background:#112134;color:white;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.planner-copy h2{margin:18px 0}.planner-copy>p:not(.eyebrow){max-width:470px;color:#bfcfd2;font-size:1.14rem}.fee{margin-top:50px;border-top:1px solid #4c6270;padding-top:25px;display:flex;align-items:center;gap:24px}.fee strong{font-size:3.4rem;line-height:1;color:var(--mint)}.fee span{font-size:.85rem;color:#c2d0d6}.trip-form{background:#f8f8f2;color:#192938;padding:35px;display:flex;flex-direction:column;gap:10px}.trip-form>label,.field-group label,.trip-form legend{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.trip-form input[type=date],.trip-form select{width:100%;min-height:48px;background:white;border:1px solid #a9b6b4;border-radius:3px;color:#152835;padding:9px 13px;margin-bottom:11px}.field-group{display:flex;flex-direction:column;gap:10px}.field-group[hidden]{display:none}.trip-form fieldset{border:0;padding:5px 0 0;margin:0;display:flex;flex-wrap:wrap;gap:12px 22px}.trip-form legend{margin-bottom:8px}.trip-form fieldset label{font-size:.87rem;font-weight:700}.trip-form input[type=radio]{accent-color:#1b6869}.form-note{background:#e6eee9;padding:10px;font-size:.8rem;color:#3d5c5b}.trip-form .button{margin-top:12px;width:100%;background:#1b6869;color:white}.trip-form .button:hover{background:#24545d}.trip-form small{color:#66747c;font-size:.75rem}footer{background:#0a1421;color:white;padding:55px clamp(22px,7vw,120px) 25px}.footer-main{display:flex;justify-content:space-between;gap:35px}.footer-main p{color:#9fadb9;margin-top:14px}.footer-main>div:last-child{display:flex;gap:25px;font-size:.85rem}.legal{border-top:1px solid #2d4052;margin-top:40px;padding-top:20px;color:#98a9b6;font-size:.75rem}
.trip-transition{position:fixed;inset:0;z-index:50;display:grid;place-items:center;pointer-events:none;clip-path:inset(0 0 100% 0);background:linear-gradient(180deg,#122235 0 53%,#386d7b 53% 75%,#0a2837 100%);color:white;text-align:center}.trip-transition:after{content:"";position:absolute;top:53%;width:100%;height:2px;background:#c1e4d8;box-shadow:0 0 45px 22px #b9d6be55}.trip-transition span{position:relative;z-index:1;padding:25px;font-size:clamp(2.5rem,7vw,7rem);font-weight:900;letter-spacing:-.05em}.trip-transition.is-active{animation:dive-reveal .95s ease-in-out both}@keyframes dive-reveal{0%{clip-path:inset(0 0 100% 0)}35%{clip-path:inset(0 0 0 0)}65%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(100% 0 0 0)}}
.scene.has-photo{background-size:cover;background-position:center}.scene.has-photo>*:not(.scene-caption){opacity:0}.scene.has-photo:after{background:linear-gradient(0deg,#0a1b2cc9,transparent 47%)}.scene-link{position:absolute;inset:0;z-index:2}.scene-link[hidden]{display:none}.scene-caption{pointer-events:none}.provider-photo{height:190px;margin:-26px -26px 20px;overflow:hidden;background:#e8ece8}.provider-photo img{width:100%;height:100%;object-fit:cover;display:block}.provider-photo:hover img{transform:scale(1.035)}.provider-photo img{transition:transform .3s}
.provider-card h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.scene.has-photo::before{content:"";position:absolute;inset:-12% 0;background-image:var(--scene-photo);background-size:cover;background-position:center;transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}.scene-sun,.scene-hill-back{translate:0 var(--parallax-far,0px)}.scene-hill-front,.scene-water,.scene-path,.scene-object{translate:0 var(--parallax-near,0px)}
#scene{z-index:1}.scene-outgoing{position:absolute;inset:0;z-index:0;pointer-events:none;animation:scene-retreat .85s ease-out both}#scene.is-revealing{animation:scene-reveal .85s cubic-bezier(.22,.7,.15,1) both}.scene-panel.is-changing::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:5;background:var(--mint);box-shadow:0 0 22px 5px #b5e2d480;pointer-events:none;animation:scene-sweep .85s ease-in-out both}.scene-panel.is-changing .scene-caption{animation:caption-rise .55s .18s both}.scene-caption{z-index:3;display:grid;grid-template-columns:auto 1fr;gap:7px 20px;align-items:center}.scene-caption strong{grid-column:1/-1;grid-row:2;font-size:clamp(1.45rem,2.5vw,2.6rem);line-height:1.05;letter-spacing:-.035em}.scene-caption>span:first-child{grid-column:1;grid-row:1;font:700 .72rem Orbitron,sans-serif;letter-spacing:.13em}.scene-caption>span:last-child{grid-column:2;grid-row:1;justify-self:end;text-align:right}.scene-progress{position:absolute;z-index:4;left:0;right:0;top:0;height:4px;background:#ffffff40;pointer-events:none}.scene-progress span{display:block;width:0;height:100%;background:var(--mint);box-shadow:0 0 15px #b5e2d4a0;transition:width .65s cubic-bezier(.22,.7,.15,1)}@keyframes scene-reveal{from{clip-path:inset(0 0 100% 0);transform:scale(1.045)}to{clip-path:inset(0 0 0 0);transform:scale(1)}}@keyframes scene-retreat{to{transform:scale(1.065) translateY(-10px);filter:brightness(.68)}}@keyframes scene-sweep{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:100%;opacity:0}}@keyframes caption-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.step-nav button{transition:transform .25s,background .25s,box-shadow .25s}.step-nav button:hover{transform:translateY(-3px)}.step-nav button[aria-current="step"]{transform:translateY(-4px);box-shadow:0 7px 0 #b5e2d4,0 14px 24px #143d4a30}
.depth-scene{background:radial-gradient(circle at 78% 25%,var(--mood-light,#d5a274),transparent 42%),radial-gradient(circle at 18% 78%,var(--mood-mid,#537a85),transparent 54%),var(--mood-dark,#142d3a)}.depth-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#081824aa,transparent 48%);pointer-events:none}.depth-scene::after{display:none}.depth-planes{position:absolute;inset:0 0 95px;perspective:900px;perspective-origin:50% 48%;z-index:1}.depth-plane{position:absolute;left:50%;top:50%;width:70%;height:62%;display:block;overflow:hidden;color:white;background:#1f4a56;border:1px solid #ffffffa6;box-shadow:0 25px 65px #08151fc4,0 0 0 8px #ffffff12;backface-visibility:hidden;will-change:transform,opacity}.depth-plane:nth-child(even){width:54%;height:73%}.depth-plane-road{width:76%;height:58%}.depth-plane-lake{width:70%;height:66%}.depth-plane img{display:block;width:100%;height:100%;object-fit:cover}.depth-plane [hidden]{display:none}.depth-fallback{height:100%;display:grid;place-items:center;padding:24px;text-align:center;font-size:clamp(1.2rem,2vw,2rem);font-weight:900;line-height:1.05;letter-spacing:-.04em;background:radial-gradient(circle at 76% 26%,#d8ab7180,transparent 40%),linear-gradient(145deg,#1b4550,#5a7f6d)}.depth-plane-label{position:absolute;left:13px;right:13px;bottom:12px;padding:7px 9px;background:#102432b8;font:700 .62rem/1.35 Orbitron,sans-serif;letter-spacing:.08em;text-transform:uppercase}.depth-plane:focus-visible{outline:3px solid var(--mint);outline-offset:8px}.depth-plane:hover img{filter:saturate(1.08)}.scene-caption{bottom:20px}.scene-caption strong{max-width:100%}
@media(max-width:900px){.depth-planes{inset:0 0 80px;perspective:650px}.depth-plane{width:70%;height:72%}.depth-plane:nth-child(even){width:56%;height:79%}.depth-plane-road{width:76%;height:65%}.depth-plane-label{font-size:.56rem;padding:5px}.scene-caption strong{font-size:clamp(1.25rem,4.2vw,1.8rem)}}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:25px}.scene-panel{order:-1;position:sticky;top:0;height:40vh;min-height:300px;z-index:2}.story-step{min-height:40vh;padding:35px 0}.provider-grid{grid-template-columns:repeat(2,1fr)}.how,.planner-section{grid-template-columns:1fr;gap:45px}}
@media(max-width:650px){.site-header{height:68px}.site-header nav{gap:13px;font-size:.67rem}.site-header nav a:nth-child(2){display:none}.nav-action{padding:8px 10px}.brand{font-size:1.1rem}.hero{min-height:670px;padding:90px 22px}.hero h1{font-size:clamp(3.2rem,12vw,5rem)}.hero-edge{font-size:.51rem;left:22px;right:auto}.chooser,.providers,.journey,.how,.planner-section{padding-top:75px;padding-bottom:75px}.choice-grid,.provider-grid{grid-template-columns:1fr}.choice{min-height:245px}.choice-name{margin:26px 0 8px}.journey-top{padding:0 22px}.split{padding:0 22px;margin-top:45px}.scene-panel{height:34vh;min-height:260px;top:0}.scene-caption>span:last-child{display:none}.story-step{min-height:39vh}.story-step h3{font-size:2.3rem}.story-step>p{font-size:1rem}.footer-main{display:block}.footer-main>div:last-child{margin-top:25px;flex-wrap:wrap}.trip-form{padding:22px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.scene.has-photo::before{transform:none;will-change:auto}.scene-sun,.scene-hill,.scene-water,.scene-path,.scene-object{translate:none}}
.depth-plane{width:64%}.depth-plane:nth-child(even){width:50%}.depth-plane-road,.depth-plane-lake{width:64%}
@media(max-width:900px){.depth-plane{width:68%}.depth-plane:nth-child(even){width:52%}.depth-plane-road,.depth-plane-lake{width:68%}}
.depth-plane{padding:0;text-align:left;cursor:pointer}.depth-plane:hover{box-shadow:0 28px 72px #08151fe0,0 0 0 8px #ffffff1f}.stop-open{overflow:hidden}.stop-detail{position:fixed;width:min(1060px,calc(100vw - 32px));max-width:1060px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;background:#f5f3eb;color:#172533;box-shadow:0 35px 100px #06131cd9;overflow:auto}.stop-detail::backdrop{background:#071623c9;backdrop-filter:blur(6px)}.stop-detail-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);min-height:min(640px,calc(100dvh - 32px));position:relative}.stop-detail-visual{min-height:420px;background:radial-gradient(circle at 75% 25%,#d8ab7180,transparent 40%),linear-gradient(145deg,#1b4550,#5a7f6d);overflow:hidden}.stop-detail-visual img{width:100%;height:100%;display:block;object-fit:cover}.stop-detail-fallback{height:100%;display:grid;place-items:center;text-align:center;padding:35px;color:white;font:900 clamp(2rem,4vw,4rem)/1.05 'Nunito Sans',sans-serif;letter-spacing:-.05em}.stop-detail-content{padding:clamp(35px,5vw,75px) clamp(30px,4vw,64px);display:flex;flex-direction:column;align-items:flex-start}.stop-detail-content h2{font-size:clamp(2.3rem,4.5vw,4.4rem);margin:18px 0 22px}.stop-detail-story{font-size:1.12rem;line-height:1.55;color:#475b66}.stop-detail-provider{width:100%;border-top:1px solid #bdc9c5;margin-top:36px;padding-top:24px}.stop-detail-provider>span{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#9d632f}.stop-detail-provider h3{font-size:1.7rem;margin:8px 0}.stop-detail-provider p{color:#4d6069}.stop-detail-provider .stop-detail-status{margin-top:12px;color:#9d632f;font-size:.9rem;font-weight:800}.stop-detail-link{margin-top:30px;background:#173e48;color:white;min-height:50px;gap:18px}.stop-detail-link:hover{background:#245763}.stop-detail-credit{margin-top:14px;font-size:.78rem;color:#657378}.stop-detail-close{position:absolute;top:17px;right:17px;width:42px;height:42px;border:1px solid #d4ddda;background:#fff;color:#172533;border-radius:50%;font-size:1.7rem;line-height:1;z-index:2}.stop-detail-close:hover{background:#b5e2d4}.stop-detail-flight{position:fixed;z-index:10;display:grid;place-items:center;object-fit:cover;overflow:hidden;background:#244b54;color:white;text-align:center;font-weight:900;pointer-events:none;box-shadow:0 25px 65px #08151fc4}.stop-detail.is-opening .stop-detail-visual,.stop-detail.is-closing .stop-detail-visual{visibility:hidden}.stop-detail.is-opening .stop-detail-content{animation:detail-enter .42s .3s both}.stop-detail.is-closing .stop-detail-content{opacity:0;transition:opacity .18s}@keyframes detail-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.stop-detail-shell{display:block}.stop-detail-visual{height:33vh;min-height:220px}.stop-detail-content{padding:35px 25px 40px}.stop-detail-content h2{font-size:clamp(2.1rem,8vw,3rem);margin:12px 0 18px}.stop-detail-story{font-size:1rem}.stop-detail-provider{margin-top:24px}.stop-detail-close{top:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.stop-detail.is-opening .stop-detail-content{animation:none}.stop-detail.is-closing .stop-detail-content{transition:none}}
.stop-detail-visual{position:relative;background:#17313b}.stop-detail-visual::before{content:"";position:absolute;inset:-24px;background-image:var(--detail-photo,none);background-size:cover;background-position:center;filter:blur(22px) brightness(.5);transform:scale(1.04)}.stop-detail-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:1}.stop-detail-fallback{position:relative;z-index:1}
body:not([data-campaign="family"]) .hero-sky{background:#142735 url("./photos/keuka-fall-v2.webp") center 58%/cover no-repeat}body:not([data-campaign="family"]) .hero-sky::after{background:linear-gradient(90deg,#0c1422 0%,#0c1422f2 23%,#0c1422c4 42%,#0c14224d 67%,#0c142200 100%)}body:not([data-campaign="family"]) .hero-sky .orb,body:not([data-campaign="family"]) .hero-sky .ridge,body:not([data-campaign="family"]) .hero-sky .water{display:none}body:not([data-campaign="family"]) .hero-content{max-width:760px}body:not([data-campaign="family"]) .hero h1{max-width:760px}.hero-photo-credit{position:absolute;right:clamp(22px,5vw,80px);bottom:62px;z-index:3;color:#fff;font-size:.76rem;text-shadow:0 1px 5px #0b1b28;letter-spacing:.01em}.hero-photo-credit a{text-decoration:underline;text-underline-offset:3px}.hero-photo-credit a:hover{color:var(--mint)}body[data-campaign="family"] .hero-photo-credit{display:none}
@media(max-width:650px){body:not([data-campaign="family"]) .hero{padding-bottom:160px}body:not([data-campaign="family"]) .hero-sky{background-position:58% center}body:not([data-campaign="family"]) .hero-sky::after{background:linear-gradient(90deg,#0c1422e8,#0c1422aa 65%,#0c142270)}.hero-photo-credit{left:22px;right:22px;bottom:60px;font-size:.68rem}}

/* Each stop fills the scene. The incoming frame is revealed as the story scrolls. */
.depth-planes{inset:0;perspective:none}
.story-frame{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;overflow:hidden;background:#183b45;color:#fff;text-align:left;cursor:pointer;will-change:clip-path}
.story-frame img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center;will-change:transform}
.story-frame [hidden]{display:none}
.story-frame::after{content:"";position:absolute;inset:36% 0 0;background:linear-gradient(transparent,#071824d9);pointer-events:none}
.story-frame .depth-plane-label{z-index:1;top:24px;bottom:auto;left:24px;right:auto;padding:8px 10px;background:#102432cc}
.story-frame:focus-visible{outline:3px solid var(--mint);outline-offset:-7px}
.story-frame:hover img{filter:saturate(1.08)}
.scene-caption{z-index:3;text-shadow:0 2px 8px #071824b8}
.scene-progress{z-index:4}
@media(max-width:900px){.depth-planes{inset:0;perspective:none}.story-frame .depth-plane-label{top:16px;left:16px}}
@media(max-width:650px){.scene-panel{height:42vh;min-height:300px}.scene-caption{left:18px;right:18px;bottom:17px}}

.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav-action .icon{margin-left:6px}
.choice-link .icon{margin-left:6px}
.hero-edge .icon{width:1.35em;height:1.35em;vertical-align:-.32em}
.hero-edge span .icon{color:var(--gold)}
.stop-detail-close{display:grid;place-items:center}
.stop-detail-close .icon{width:20px;height:20px}
.brand{display:inline-flex;align-items:center;flex:none}
.brand-logo{display:block;width:190px;height:45px;object-fit:cover;object-position:center}
@media(max-width:650px){.brand-logo{width:145px;height:35px}}
.story-frame .depth-plane-label{font-size:.75rem;line-height:1.4;letter-spacing:.05em}
.stop-detail-credit a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:650px){
  .scene-panel{height:32svh;min-height:220px}
  .story-step{min-height:62svh;padding:80px 0 50px}
  .story-frame .depth-plane-label{max-width:calc(100% - 32px);font-size:.72rem}
}
.trip-form{min-width:0;width:100%}
.trip-form input[type=date],.trip-form select{display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
.trip-form input[type=date]{text-align:left}
.trip-form input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.trip-form input[type=date]{width:auto;inline-size:auto;min-width:0;min-inline-size:0;align-self:stretch}
.family-duration{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:27px;max-width:820px}
.family-duration[hidden],.family-context[hidden]{display:none}
.family-duration button{min-width:0;min-height:94px;padding:16px;text-align:left;border:1px solid #aebcb9;background:#f7f7f2;color:#1c3440;display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:background .2s,border-color .2s,transform .2s}
.family-duration button:hover{transform:translateY(-2px);border-color:#1c6464}
.family-duration button[aria-pressed="true"]{background:#173e48;border-color:#173e48;color:#fff;box-shadow:inset 0 -4px var(--mint)}
.family-duration strong{font-size:1rem;line-height:1.2}
.family-duration span{font-size:.8rem;line-height:1.35;opacity:.8}
.family-context{max-width:790px;margin-top:16px;color:#566a70;font-size:.9rem}
.family-context a{text-decoration:underline;text-underline-offset:2px}
.story-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.story-links a{display:inline-flex;align-items:center;min-height:42px;padding:9px 13px;border:1px solid #93aba9;border-radius:3px;color:#176564;background:#eff5f1;font-size:.82rem;line-height:1.2;font-weight:800;text-decoration:none;transition:background .2s,transform .2s}
.story-links a:hover{background:#d9ece3;transform:translateY(-2px)}
.story-links + .story-credit{margin-top:18px}
@media(max-width:650px){.family-duration{grid-template-columns:1fr;gap:8px}.family-duration button{min-height:68px;padding:12px 15px;gap:4px}.family-duration span{font-size:.78rem}}
.hero-content{max-width:min(58%,760px)}
.hero-photo-credit{right:auto;left:clamp(22px,7vw,120px);bottom:24px}
@media(max-width:650px){.hero{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:18px 18px 46px}.hero-content{max-width:100%;padding:0 4px}.hero h1{margin:18px 0}.hero-photo-credit{position:relative;right:auto;left:auto;bottom:auto;align-self:flex-end;margin:24px 4px 0;text-align:right}}
/* Campaign heroes use their own linked photography. */
body[data-campaign="madness"] .hero-sky,body[data-campaign="winter"] .hero-sky,body[data-campaign="newyear"] .hero-sky{background-image:radial-gradient(circle at 75% 28%,#4a6079 0,transparent 35%),linear-gradient(120deg,#0c1422 15%,#183544 65%,#1b4b52)}
body[data-campaign="madness"] .hero-sky:after,body[data-campaign="winter"] .hero-sky:after,body[data-campaign="newyear"] .hero-sky:after{background:linear-gradient(90deg,#0c1422 0%,#0c1422e8 34%,#0c14226a 75%,#0c142230)}
body[data-campaign="madness"] .hero-photo-credit,body[data-campaign="winter"] .hero-photo-credit,body[data-campaign="newyear"] .hero-photo-credit{display:none}
/* Campaign photos: the real place or provider photo sits behind the copy; the source link remains visible. */
.hero-sky{z-index:0;display:block;overflow:hidden;background-color:#142735}
.hero-sky-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:opacity .25s ease}
.hero-sky:after{pointer-events:none;background:linear-gradient(90deg,#0c1422f2 0%,#0c1422c8 36%,#0c142268 68%,#0c142220 100%)}
.hero-photo-credit{display:block!important;z-index:3;max-width:min(620px,70vw);text-shadow:0 1px 5px #0b1b28}
.hero-photo-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.hero-sky:after{background:linear-gradient(90deg,#0c1422d8 0%,#0c142270 58%,#0c142230 100%)}.hero-photo-credit{max-width:100%;text-align:left}}
