@font-face{font-family:Din;src:url('assets/din-condensed-bold.ttf') format('truetype');font-display:swap;font-weight:700}
@font-face{font-family:HelveticaCyr;src:url('assets/helvetica-neue-cyr.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Atomic;src:url('assets/atomic-marker.otf') format('opentype');font-display:swap;font-weight:400}
:root{--ink:#111014;--ink-soft:#25232a;--paper:#19171d;--paper-deep:#211d25;--white:#fff;--pink:#e6186d;--pink-text:#ff8db8;--pink-light:#ff8db8;--line:rgba(255,255,255,.2);--body:HelveticaCyr,Arial,sans-serif;--head:Din,Impact,sans-serif;--marker:Atomic,cursive;--wrap:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:.94}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(calc(100% - 7.2vw),var(--wrap));margin:auto}.section-pad{padding-block:clamp(84px,10vw,160px)}.skip-link{position:fixed;left:16px;top:12px;z-index:99;padding:10px 16px;background:var(--pink);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.scroll-progress{position:fixed;top:0;left:0;z-index:50;width:100%;height:3px;background:var(--pink);transform:scaleX(0);transform-origin:left center;pointer-events:none}
.site-header{position:absolute;z-index:20;left:0;top:0;width:100%;height:88px;padding-inline:3.6vw;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.25);transition:background .35s ease,box-shadow .35s ease}.site-header.is-scrolled{position:fixed;background:rgba(17,16,20,.91);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 30px rgba(0,0,0,.12)}.brand{width:145px;flex:none}.brand img{width:100%;height:auto}.site-nav{display:flex;align-items:center;gap:clamp(22px,3vw,52px)}.site-nav a{text-decoration:none;font-size:13px;letter-spacing:.04em;transition:color .2s}.site-nav a:hover{color:var(--pink-light)}.site-nav .nav-cta{border:1px solid rgba(255,255,255,.65);padding:13px 18px;min-width:152px;display:flex;justify-content:space-between;gap:20px}.site-nav .nav-cta:hover{background:#fff;color:var(--ink)}.menu-toggle{display:none}
.hero{position:relative;min-height:min(860px,100svh);min-height:100svh;color:#fff;overflow:hidden;background:#0e1118}.hero-picture,.hero-picture img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-picture img{object-fit:cover;object-position:center 55%;animation:hero-drift 2.5s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(4,7,14,.68) 0%,rgba(4,7,14,.36) 46%,rgba(4,7,14,.1) 100%),linear-gradient(0deg,rgba(5,7,11,.55),transparent 46%)}.hero-content{position:relative;z-index:1;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:100px;padding-bottom:108px}.eyebrow,.section-kicker,.hero-bottom,.closing-kicker,.price-card-head,.addon-label,.included-label{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.hero-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 28px;animation:rise-in .8s .15s ease both}.eyebrow-dot{width:4px;height:4px;border-radius:50%;background:var(--pink)}.hero h1{font-family:var(--head);font-size:clamp(76px,9.2vw,166px);font-weight:700;text-transform:uppercase;letter-spacing:-.016em;line-height:.83;margin:0;max-width:1160px;animation:rise-in 1s .25s ease both}.hero-subtitle{font-size:clamp(17px,1.65vw,23px);max-width:540px;line-height:1.45;margin:38px 0 28px;animation:rise-in .9s .5s ease both}.hero-actions{display:flex;align-items:center;gap:30px;animation:rise-in .9s .65s ease both}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:54px;padding:14px 21px;text-decoration:none;font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.03em;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-pink{background:var(--pink);color:#fff;font-size:19px;font-weight:700;min-height:58px}.button-pink:hover{background:#ff348b}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#36313b}.button-disabled{background:#bbb4b6;color:#fff;cursor:not-allowed}.button-disabled:hover{transform:none}.text-link{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding:5px 0}.text-link-light{color:#fff}.hero-bottom{position:absolute;z-index:1;bottom:32px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;color:rgba(255,255,255,.78)}
.section-kicker{display:flex;align-items:center;gap:14px;color:var(--pink-text);white-space:nowrap}.kicker-line{width:28px;height:1px;background:currentColor}.display-title{font-family:var(--head);font-size:clamp(70px,7.6vw,140px);text-transform:uppercase;letter-spacing:-.018em;line-height:.88;margin:0}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:25% 1fr;gap:4%}.intro-copy{font-size:clamp(19px,2vw,27px);max-width:770px;line-height:1.46;margin:36px 0 58px}.intro-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:25px;gap:25px}.intro-facts div{display:flex;flex-direction:column;gap:4px}.intro-facts strong{font:700 clamp(36px,3.8vw,60px)/1 var(--head);text-transform:uppercase}.intro-facts span{font-size:13px;color:#69646a}
.story{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.story-panel{height:clamp(570px,59vw,820px);position:relative;overflow:hidden}.story-panel img,.story-panel-shade{position:absolute;inset:0;width:100%;height:100%}.story-panel img{object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.7,.2,1)}.story-panel:hover img{transform:scale(1.04)}.story-training img{object-position:center 48%}.story-vietnam img{object-position:center 42%}.story-panel-shade{background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 55%)}.story-caption{position:absolute;z-index:1;bottom:clamp(35px,5vw,75px);left:clamp(32px,5vw,75px);right:32px}.story-caption span{font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--pink-light)}.story-caption h2{font:700 clamp(70px,7vw,130px)/.88 var(--head);text-transform:uppercase;margin:18px 0}.story-caption p{font-size:17px;max-width:350px;line-height:1.4;margin:0}
.week{background:var(--ink);color:var(--white)}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-top:45px;margin-bottom:52px}.heading-aside{max-width:340px;font-size:19px;line-height:1.45;margin:0 0 8px;color:#c2bdc2}.week-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.week-feature{height:580px;position:relative;overflow:hidden;background:#242129}.week-feature img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.week-feature:hover img{transform:scale(1.045)}.week-feature-large img{object-position:center 22%}.week-feature:nth-child(2) img{object-position:center 35%}.week-feature-overlay{position:absolute;inset:auto 0 0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent);padding:90px 26px 30px}.week-feature-overlay span{font-size:10px;letter-spacing:.2em;color:var(--pink-light);font-weight:700}.week-feature-overlay h3{font:700 clamp(36px,3.2vw,56px)/.98 var(--head);text-transform:uppercase;margin:12px 0 0}.week-feature-overlay p{max-width:300px;margin:12px 0 0;font-size:14px}.included-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;border-block:1px solid rgba(255,255,255,.25);margin-top:48px;padding:26px 0}.included-label{color:var(--pink-light);margin:0}.included-strip ul{list-style:none;display:flex;flex-wrap:wrap;gap:18px 44px;margin:0;padding:0;font-size:16px}.included-strip li:before{content:'+';color:var(--pink-light);font-weight:700;margin-right:12px}.week-note{color:#a8a2aa;font-size:12px;margin:16px 0 0}
.people{background:var(--paper-deep);overflow:hidden}.people-grid{display:grid;grid-template-columns:1fr .92fr;gap:8%;align-items:center}.people-copy .display-title{margin:42px 0 30px}.people-copy>p{font-size:clamp(18px,1.9vw,24px);max-width:570px;line-height:1.48}.people-image{height:650px;max-height:70vw;transform:rotate(2deg)}.people-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.packages{background:#f7f4f0}.packages-heading .heading-aside{color:#6a6469}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.price-card{background:#eae4df;padding:clamp(28px,3.3vw,52px);min-height:500px;display:flex;flex-direction:column}.price-card-featured{background:var(--ink);color:#fff}.price-card-head{display:flex;justify-content:space-between;gap:20px;opacity:.6}.price-card h3{font:700 clamp(62px,5vw,92px)/.88 var(--head);text-transform:uppercase;margin:80px 0 15px}.price{font:700 clamp(70px,7vw,115px)/.9 var(--head);letter-spacing:-.02em}.price span{font-size:.5em;vertical-align:top;padding-top:5px;display:inline-block}.price-card p{font-size:16px;line-height:1.5;max-width:440px;margin:25px 0 30px;color:#5a565a}.price-card-featured p{color:#c7c2c8}.price-card .button{margin-top:auto;align-self:flex-start;min-width:220px}.addon{display:grid;grid-template-columns:76px 1fr auto;gap:25px;align-items:center;margin-top:16px;background:#f1dddf;padding:32px clamp(25px,3vw,45px)}.addon-mark{width:64px;height:64px;border-radius:50%;background:var(--pink);color:#fff;font:700 70px/57px var(--head);text-align:center}.addon-label{color:var(--pink-text)}.addon h3{font:700 clamp(34px,3vw,50px)/1 var(--head);text-transform:uppercase;margin:7px 0}.addon p{font-size:14px;margin:0;max-width:650px}.addon>strong{font:700 clamp(42px,4vw,65px)/1 var(--head);white-space:nowrap}.payment-note{font-size:14px;color:#625d62;margin:20px 0 0}
.apply{background:var(--paper-deep)}.apply-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:8%;align-items:start}.apply-intro .display-title{margin:45px 0 25px}.apply-intro>p{font-size:20px;max-width:390px;line-height:1.45}.apply-mini-photo{width:52%;height:250px;margin-top:55px;overflow:hidden;transform:rotate(-4deg)}.apply-mini-photo img{height:100%;width:100%;object-fit:cover;object-position:center 39%}.application-panel{background:#fff;padding:clamp(25px,4vw,56px);box-shadow:0 24px 70px rgba(20,16,20,.08)}.preview-banner{font-size:12px;line-height:1.35;background:#fff1f6;color:#9b2356;border-left:3px solid var(--pink);padding:11px 13px;margin:0 0 25px}.step-indicator{list-style:none;display:flex;justify-content:space-between;gap:5px;padding:0 0 24px;margin:0 0 30px;border-bottom:1px solid var(--line)}.step-indicator li{font-size:11px;letter-spacing:.03em;color:#858086;display:flex;align-items:center;gap:7px}.step-indicator li.active{color:var(--ink);font-weight:700}.step-indicator span{width:22px;height:22px;display:inline-grid;place-items:center;border:1px solid currentColor;border-radius:50%}.step-indicator li.active span{background:var(--pink-text);color:#fff;border-color:var(--pink)}.form-step{border:0;padding:0;margin:0;min-width:0}.form-step legend{font:700 clamp(39px,3.5vw,60px)/1 var(--head);text-transform:uppercase;padding:0;margin:0 0 5px}.form-help{font-size:14px;color:#777178;margin:5px 0 27px}.form-label{font-size:12px;font-weight:700;margin:25px 0 11px}.form-label span,.field>span:not(.optional){color:var(--pink)}.choice-stack{display:grid;gap:9px}.choice-stack-two{grid-template-columns:1fr 1fr}.choice-card{display:flex;align-items:center;gap:13px;border:1px solid #d9d4d5;padding:15px 17px;min-height:74px;cursor:pointer;transition:border-color .2s,background .2s}.choice-card:has(input:checked){border-color:var(--pink);background:#fff3f8}.choice-card:focus-within{outline:2px solid var(--pink);outline-offset:2px}.choice-card input{accent-color:var(--pink);width:17px;height:17px;flex:none;margin:0}.choice-copy{display:flex;flex-direction:column;line-height:1.25;min-width:0}.choice-copy strong{font-size:14px}.choice-copy small{font-size:11px;color:#7b747b;margin-top:5px}.choice-card b{margin-left:auto;font-size:14px;white-space:nowrap}.addon-choice{margin-top:10px;background:#fbf6f7}.form-error{color:#b3194c;font-size:13px;margin-top:12px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:30px}.form-actions .button{margin-left:auto}.text-button{border:0;background:none;padding:10px 0;font-size:13px;font-weight:700;color:#5d575d}.text-button:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:7px;margin:15px 0;font-size:12px;font-weight:700}.optional{font-weight:400;color:#817a80}.field input,.field select,.field textarea{width:100%;border:1px solid #c9c3c6;background:#fff;color:var(--ink);border-radius:0;padding:13px 15px;font-size:14px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pink)}.field input::placeholder,.field textarea::placeholder{color:#aaa4a9}.field input:user-invalid,.field select:user-invalid{border-color:#bf2354}.review-list{display:grid;grid-template-columns:1fr auto;gap:0;margin:0}.review-list dt,.review-list dd{margin:0;padding:12px 0;border-bottom:1px solid #ece8e9;font-size:13px}.review-list dt{color:#746d73}.review-list dd{text-align:right;font-weight:700;max-width:250px;overflow-wrap:anywhere}.review-total{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-weight:700}.review-total strong{font:700 44px/1 var(--head)}.review-note,.checkout-note{font-size:12px;line-height:1.45;color:#766f75;margin:12px 0}.checkout-note{margin:15px 0 0}
.questions{background:#f7f4f0}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%}.faq-grid .display-title{margin:45px 0 0}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font:700 clamp(26px,2.4vw,36px)/1 var(--head);text-transform:uppercase}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:400 34px/1 var(--body);color:var(--pink);transition:transform .25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{max-width:630px;font-size:16px;line-height:1.55;color:#5f5960;margin:0 40px 24px 0}
.closing{height:clamp(650px,76vh,900px);position:relative;background:#0e1118;color:#fff;overflow:hidden}.closing>img,.closing-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.closing>img{object-position:center 60%}.closing-shade{background:linear-gradient(90deg,rgba(0,0,0,.67),rgba(0,0,0,.1) 90%),linear-gradient(0deg,rgba(0,0,0,.22),transparent)}.closing-content{height:100%;position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.closing-kicker{color:var(--pink-light)}.closing h2{font:700 clamp(90px,10.5vw,190px)/.82 var(--head);text-transform:uppercase;letter-spacing:-.02em;margin:25px 0 38px}.site-footer{background:var(--ink);color:#fff;padding:55px 0 22px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:55px}.footer-main img{height:auto}.footer-main div{display:flex;gap:25px;font-size:14px}.footer-main>a{font-size:13px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:4px}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#aaa4ad;font-size:11px}
.js .reveal{opacity:0;transform:translateY(32px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}.js .people-image.reveal{transform:translateY(32px) rotate(2deg)}.js .people-image.reveal.is-visible{transform:translateY(0) rotate(2deg)}.js .apply-mini-photo.reveal{transform:translateY(32px) rotate(-4deg)}.js .apply-mini-photo.reveal.is-visible{transform:translateY(0) rotate(-4deg)}@keyframes rise-in{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-drift{from{transform:scale(1.04)}to{transform:scale(1)}}
@media(max-width:1000px){.wrap{width:min(calc(100% - 48px),var(--wrap))}.site-header{padding-inline:24px}.site-nav{gap:19px}.site-nav a{font-size:12px}.hero h1{font-size:clamp(76px,10vw,115px)}.intro-grid{grid-template-columns:1fr;gap:38px}.story-caption h2{font-size:clamp(70px,8vw,100px)}.week-grid{grid-template-columns:1fr 1fr}.week-feature-large{grid-column:span 2;height:570px}.week-feature{height:460px}.people-grid{gap:4%}.people-image{height:550px}.apply-grid{gap:4%}.apply-mini-photo{width:70%}.footer-main div{flex-direction:column;gap:5px}}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}.section-pad{padding-block:82px}.site-header{height:66px;padding-inline:20px}.brand{width:112px}.menu-toggle{width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff}.menu-toggle span{height:1px;width:20px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:66px;left:0;right:0;background:rgba(17,16,20,.98);padding:20px;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:15px 5px;border-bottom:1px solid rgba(255,255,255,.2);font-size:15px}.site-nav .nav-cta{margin-top:14px;justify-content:space-between;padding:13px 15px}.hero,.hero-content{min-height:100svh}.hero-picture img{object-position:center 43%}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.28) 67%,rgba(0,0,0,.17))}.hero-content{justify-content:end;padding-top:105px;padding-bottom:80px}.hero-eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:22px}.hero h1{font-size:clamp(64px,16vw,106px);line-height:.84}.hero-subtitle{font-size:16px;max-width:420px;margin:27px 0 22px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-bottom{bottom:20px;font-size:9px}.hero-bottom span:last-child{display:none}.display-title{font-size:clamp(66px,15vw,106px)}.intro-copy{font-size:18px;margin:27px 0 40px}.intro-facts{gap:18px}.intro-facts strong{font-size:35px}.intro-facts span{font-size:11px}.story{grid-template-columns:1fr}.story-panel{height:620px}.story-caption{left:28px;bottom:38px}.story-caption h2{font-size:95px}.story-caption p{font-size:16px}.section-heading-row{display:block;margin:36px 0 32px}.heading-aside{font-size:17px;margin:22px 0 0}.week-grid{grid-template-columns:1fr;gap:12px}.week-feature-large{grid-column:auto;height:570px}.week-feature{height:440px}.week-feature-overlay h3{font-size:48px}.included-strip{align-items:flex-start;flex-direction:column;gap:15px}.included-strip ul{display:grid;gap:13px}.people-grid{grid-template-columns:1fr;gap:32px}.people-copy .display-title{margin:38px 0 22px}.people-copy>p{font-size:18px}.people-image{height:580px;max-height:none;width:90%;margin-left:auto}.price-grid{grid-template-columns:1fr}.price-card{min-height:430px;padding:28px}.price-card h3{margin-top:68px;font-size:72px}.price{font-size:93px}.addon{grid-template-columns:50px 1fr;gap:16px;padding:24px}.addon-mark{width:45px;height:45px;font-size:55px;line-height:40px}.addon h3{font-size:35px}.addon>strong{grid-column:2;font-size:45px}.apply-grid{grid-template-columns:1fr;gap:45px}.apply-intro .display-title{margin:38px 0 20px}.apply-intro>p{font-size:18px}.apply-mini-photo{display:none}.application-panel{padding:25px 20px}.faq-grid{grid-template-columns:1fr;gap:35px}.faq-grid .display-title{margin:35px 0 0}.faq-list summary{font-size:27px}.closing{height:660px}.closing>img{object-position:center 50%}.closing-shade{background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,.12))}.closing-content{justify-content:flex-end;padding-bottom:90px}.closing h2{font-size:clamp(84px,18vw,125px)}.footer-main{align-items:flex-start;flex-direction:column;gap:25px;padding-bottom:35px}.footer-main div{font-size:13px}.footer-bottom{flex-direction:column;gap:5px}}
@media(max-width:430px){.hero h1{font-size:clamp(58px,15.5vw,70px)}.hero-eyebrow{font-size:9px}.intro-facts{grid-template-columns:1fr 1fr}.intro-facts div:last-child{grid-column:span 2}.story-panel{height:570px}.story-caption h2{font-size:80px}.people-image{height:490px}.choice-stack-two{grid-template-columns:1fr}.step-indicator li{font-size:0}.step-indicator li span{font-size:11px}.form-step legend{font-size:43px}.closing h2{font-size:79px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.people-image.reveal,.apply-mini-photo.reveal{opacity:1!important;transform:none!important}.hero-picture img{transform:none!important}}

.week-timeline{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin:0 0 34px;background:rgba(255,255,255,.19);border:1px solid rgba(255,255,255,.19)}
.week-timeline div{min-height:94px;background:var(--ink);padding:17px 13px;display:flex;flex-direction:column;justify-content:space-between;gap:15px}
.week-timeline span{font-size:10px;letter-spacing:.17em;color:var(--pink-light);font-weight:700}
.week-timeline strong{font:700 clamp(22px,2.1vw,33px)/1 var(--head);text-transform:uppercase}
.week-timeline small{font-size:10px;line-height:1.25;color:#d8d3d8}
.week-timeline .rest-day{background:#41343f}
.week .section-kicker{color:var(--pink-light)}
.sample-note{font-size:12px;color:#c7c1c8;margin:-20px 0 30px}
.trainers{background:var(--paper)}
.trainers-heading .heading-aside{color:#69646a}
.trainer-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.trainer-card{background:#e7e0db;display:grid;grid-template-columns:48% 52%;min-height:520px;overflow:hidden}
.trainer-card:nth-child(2){background:#e9e4e5}
.trainer-portrait{min-height:520px;overflow:hidden}
.trainer-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 27%;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.trainer-card:hover .trainer-portrait img{transform:scale(1.045)}
.trainer-info{padding:clamp(22px,3vw,46px);display:flex;flex-direction:column;justify-content:end;align-items:flex-start}
.trainer-info span{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--pink-text)}
.trainer-info h3{font:700 clamp(52px,5vw,90px)/.88 var(--head);text-transform:uppercase;margin:20px 0}
.trainer-info p{font-size:17px;line-height:1.4;margin:0}
.trainer-info small{font-size:12px;color:#655f64;margin-top:20px;line-height:1.4}
.autumn-banner{background:var(--pink);color:#fff;padding-block:55px}
.autumn-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.autumn-kicker{display:inline-block;background:var(--ink);color:#fff;padding:5px 8px;font-size:11px;letter-spacing:.2em;font-weight:700}
.autumn-banner h2{font:700 clamp(60px,7vw,120px)/.88 var(--head);text-transform:uppercase;margin:14px 0}
.autumn-banner p{font-size:19px;font-weight:700;margin:0}
.autumn-signal{font-size:clamp(120px,15vw,260px);line-height:.7;opacity:.5}
@media(max-width:1000px){.week-timeline{grid-template-columns:repeat(4,1fr)}.week-timeline div{min-height:110px}.trainer-card{grid-template-columns:1fr;min-height:0}.trainer-portrait{height:440px;min-height:0}.trainer-info{min-height:230px}}
@media(max-width:720px){.week-timeline{grid-template-columns:repeat(2,1fr)}.week-timeline strong{font-size:30px}.trainer-grid{grid-template-columns:1fr}.trainer-card{grid-template-columns:45% 55%}.trainer-portrait{height:auto;min-height:340px}.trainer-info{min-height:340px}.trainer-info h3{font-size:58px}.trainer-info p{font-size:15px}.autumn-banner{padding-block:44px}.autumn-banner h2{font-size:70px}.autumn-banner p{font-size:19px}.autumn-signal{display:none}}
@media(max-width:430px){.trainer-card{grid-template-columns:1fr}.trainer-portrait{height:370px;min-height:0}.trainer-info{min-height:210px}.trainer-info h3{font-size:70px}}

/* Dark presentation palette, with the exact brand pink reserved for large actions. */
body{background:var(--paper);color:#f8f5f8}
.intro,.people,.packages,.apply,.questions,.trainers{color:#f8f5f8}
.intro-facts span,.trainers-heading .heading-aside,.packages-heading .heading-aside{color:#c7c0c9}
.people{background:#211c24}
.packages{background:#17151b}
.price-card{background:#29242d;color:#fff;border:1px solid rgba(255,255,255,.14)}
.price-card-featured{background:#312333;border-color:var(--pink)}
.price-card p,.price-card-featured p{color:#d4cdd6}
.addon{background:#28212c;border:1px solid rgba(255,255,255,.14)}
.addon p{color:#d7d1d8}
.payment-note{color:#c6bec8}
.apply{background:#211d25}
.application-panel{background:#2c2730;color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.18)}
.preview-banner{background:#402734;color:#ffb5d1}
.step-indicator li{color:#bbb4bd}.step-indicator li.active{color:#fff}
.form-help,.review-note,.checkout-note{color:#c8c0cb}
.form-label span,.field>span:not(.optional){color:var(--pink-light)}
.choice-card{border-color:#625968;background:#302b34}
.choice-card:has(input:checked){border-color:var(--pink-light);background:#4b2b3d}
.choice-copy small,.optional,.review-list dt{color:#c8bfca}
.addon-choice{background:#352b37}
.form-error{color:#ffb3cb}
.text-button{color:#f3eaf1}
.field input,.field select,.field textarea{background:#211d25;border-color:#6d6471;color:#fff}
.field input::placeholder,.field textarea::placeholder{color:#aaa0ac}
.review-list dt,.review-list dd{border-bottom-color:#5a525e}
.questions{background:#19171d}
.faq-list p{color:#d0cad2}
.faq-list summary span{color:var(--pink-light)}
.trainers{background:#1d1a21}
.trainer-card,.trainer-card:nth-child(2){background:#2b2630}
.trainer-info span{color:var(--pink-light)}
.trainer-info small{color:#c9c0cb}
.autumn-banner{background:#341b29;border-block:2px solid var(--pink)}
.autumn-kicker{background:var(--pink)}
.autumn-banner p{color:#f0d7e2}
.contact-card{margin-top:38px;padding:28px;background:#2a222d;border:1px solid rgba(255,255,255,.2)}
.contact-card h3{font:700 clamp(30px,2.5vw,42px)/1 var(--head);text-transform:uppercase;margin:0 0 8px}
.contact-card p{color:#d0cad2;margin:0 0 18px}
.contact-card .button-disabled{background:#554b58;color:#f4edf4;font-size:14px;min-height:48px}
@media(max-width:720px){.contact-card{padding:22px}.contact-card .button-disabled{width:100%}}

/* Full daily program */
.schedule-notice{max-width:820px;color:#d8d1da;font-size:14px;line-height:1.5;margin:0 0 22px}
.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:42px}
.schedule-day{background:#29252e;border:1px solid rgba(255,255,255,.16);padding:26px 26px 22px;min-width:0}
.schedule-day-rest{background:#342a35}
.schedule-day-heading{border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:18px;margin-bottom:13px}
.schedule-day-heading>span{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--pink-light)}
.schedule-day h3{font:700 clamp(35px,3.5vw,53px)/.98 var(--head);text-transform:uppercase;margin:10px 0 0}
.schedule-day ul{list-style:none;margin:0;padding:0}
.schedule-day li{display:grid;grid-template-columns:112px 1fr;gap:10px;padding:7px 0;font-size:13px;line-height:1.4}
.schedule-day li time{color:#c9c2cc;white-space:nowrap}
.schedule-day .schedule-addon{background:#4d263b;margin-inline:-10px;padding-inline:10px;color:#fff}
.schedule-day .schedule-addon time{color:#ffb0cf}
.stay{background:#19171d;color:#fff}
.stay-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:7%;align-items:center}
.stay-copy .display-title{font-size:clamp(65px,6.7vw,120px);margin:34px 0 28px}
.stay-copy p{font-size:clamp(17px,1.5vw,21px);line-height:1.5;max-width:500px;color:#d9d2dc;margin:0 0 23px}
.stay-photos{display:grid;grid-template-columns:1fr 44%;grid-template-rows:480px 200px;gap:12px}
.stay-photos img{width:100%;height:100%;object-fit:cover}
.stay-pool{grid-column:1/3;grid-row:1;object-position:center 50%}
.stay-room{grid-column:2;grid-row:2;object-position:center}
.autumn-cta{margin-top:24px;background:var(--pink)}
.trainer-info h3{font:400 clamp(48px,4.5vw,78px)/1 var(--marker);text-transform:none;letter-spacing:-.04em;color:var(--pink-light)}
@media(max-width:1000px){.stay-grid{grid-template-columns:1fr;gap:40px}.stay-copy .display-title{max-width:740px}.stay-photos{grid-template-rows:430px 160px}}
@media(max-width:720px){.schedule-grid{grid-template-columns:1fr}.schedule-day{padding:23px 19px}.schedule-day li{grid-template-columns:105px 1fr}.stay-photos{grid-template-rows:280px 135px}.stay-copy .display-title{font-size:clamp(62px,14vw,92px)}}
@media(max-width:430px){.hero-picture img{object-position:center 34%}.hero-content{justify-content:flex-end;padding-bottom:68px}.hero h1{font-size:clamp(54px,13vw,61px);max-width:340px}.hero-subtitle{max-width:315px;font-size:14px;line-height:1.4;margin:19px 0 16px}.hero-eyebrow{margin-bottom:15px}.hero-actions .text-link{font-size:12px}.hero-bottom{display:none}.stay-photos{grid-template-rows:220px 115px}.schedule-day li{font-size:12px;grid-template-columns:95px 1fr}.trainer-info h3{font-size:62px}}

/* Refined editorial scale: keep the people in the photographs visible. */
.hero-content{justify-content:flex-start;padding-top:clamp(140px,17vh,210px)}
.hero h1{font-size:clamp(62px,6.4vw,110px);line-height:.91;text-transform:none;max-width:760px;letter-spacing:-.01em}
.hero-subtitle{max-width:480px;font-size:clamp(16px,1.35vw,19px);margin:27px 0 23px}
.hero-shade{background:linear-gradient(90deg,rgba(5,7,13,.78) 0%,rgba(5,7,13,.46) 43%,rgba(5,7,13,.05) 78%),linear-gradient(180deg,rgba(5,7,13,.3),transparent 55%)}
.display-title{font-size:clamp(53px,5.2vw,93px);line-height:.96;text-transform:none;letter-spacing:-.012em}
.story-caption h2{font-size:clamp(55px,5.2vw,88px);line-height:.96;text-transform:none}
.week-feature-overlay h3{font-size:clamp(32px,2.6vw,43px);text-transform:none;line-height:1}
.price-card h3{font-size:clamp(48px,3.7vw,65px);text-transform:none;margin-top:65px}
.price{font-size:clamp(65px,5.5vw,86px)}
.addon h3{font-size:clamp(29px,2.5vw,38px);text-transform:none}
.form-step legend{font-size:clamp(34px,2.8vw,45px);text-transform:none}
.faq-list summary{font-size:clamp(24px,1.9vw,30px);text-transform:none}
.closing h2{font-size:clamp(72px,7vw,125px);line-height:.94;text-transform:none}
.autumn-banner h2{font-size:clamp(50px,5vw,82px);text-transform:none}
.schedule-day h3{font-size:clamp(29px,2.8vw,41px);text-transform:none}
.stay-copy .display-title{font-size:clamp(53px,5vw,85px)}
.field input,.field select,.field textarea{min-height:50px;font-size:16px}
.field textarea{min-height:110px}
.form-label span,.field>span:not(.optional){color:#ff8db8}
@media(max-width:720px){.hero-content{justify-content:flex-start;padding-top:112px;padding-bottom:35px}.hero h1{font-size:clamp(47px,11vw,68px);line-height:.92;max-width:390px}.hero-subtitle{font-size:14px;max-width:320px;margin:18px 0 16px}.hero-shade{background:linear-gradient(180deg,rgba(4,6,11,.82) 0%,rgba(4,6,11,.67) 33%,rgba(4,6,11,.08) 58%,rgba(4,6,11,.16) 100%)}.display-title{font-size:clamp(51px,10vw,72px)}.story-caption h2{font-size:clamp(55px,10vw,75px)}.price-card h3{font-size:55px}.price{font-size:75px}.closing h2{font-size:clamp(66px,12vw,84px)}.autumn-banner h2{font-size:clamp(48px,10vw,68px)}.stay-copy .display-title{font-size:clamp(51px,10vw,72px)}}
@media(max-width:430px){.hero-content{padding-top:105px}.hero h1{font-size:clamp(45px,11.5vw,51px);max-width:330px}.hero-eyebrow{margin-bottom:13px}.hero-subtitle{max-width:300px}.hero-actions{gap:11px}.hero-actions .button{min-height:52px;font-size:16px}.display-title{font-size:clamp(48px,11vw,60px)}.closing h2{font-size:clamp(61px,14vw,72px)}.form-step legend{font-size:36px}.choice-card{min-height:72px}.field input,.field select{min-height:52px}}
@media(max-width:430px){.hero h1{font-size:clamp(42px,11vw,47px);line-height:.94}}
@media(min-width:721px){.hero-content{padding-top:clamp(108px,12vh,150px)}.hero h1{font-size:clamp(62px,5.8vw,96px)}.hero-subtitle{margin:20px 0 17px}}
.field>.field-label{display:inline-flex;align-items:baseline;gap:4px;color:#f8f5f8}
.field-label b{color:var(--pink-light);font-weight:700}
.field-label small{color:#c8bfca;font-size:12px;font-weight:400}
.field-hint{color:#bcb3bf;font-size:12px;font-weight:400;line-height:1.35}
.pole-level-field .field{margin-bottom:7px}.pole-level-link{display:inline-flex;align-items:baseline;gap:5px;color:#ff8db8;font-size:clamp(13px,.75vw,17px);font-weight:600;line-height:1.4;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.pole-level-link:hover{color:#ffc2d8}.pole-level-link:focus-visible{outline:2px solid #ff8db8;outline-offset:4px}
/* Brand typography: DIN Condensed Bold is designed to lead in capitals. */
.hero h1,.display-title,.story-caption h2,.week-feature-overlay h3,.schedule-day h3,.price-card h3,.addon h3,.form-step legend,.faq-list summary,.autumn-banner h2,.closing h2{text-transform:uppercase}
@media(max-width:430px){.hero h1{font-size:clamp(35px,9.3vw,40px);letter-spacing:-.02em}}

/* Interactive stories and photo galleries */
.story-caption{pointer-events:none;z-index:1}
.story-caption span{font:700 clamp(24px,2.2vw,32px)/1 var(--head);letter-spacing:.06em;color:var(--pink-light)}
.story-open{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-start;justify-content:flex-end;width:100%;height:100%;padding:25px;background:transparent;border:0;color:#fff;text-align:right}
.story-open span{display:inline-block;padding:9px 13px;background:rgba(17,16,20,.78);border:1px solid rgba(255,255,255,.68);font:700 14px/1.25 var(--body)}
.story-open:hover span,.story-open:focus-visible span{background:var(--pink)}
.story-open:focus-visible{outline:3px solid var(--pink-light);outline-offset:-7px}
body.lightbox-open{overflow:hidden}
.photo-lightbox{position:fixed;inset:0;width:min(1100px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid rgba(255,255,255,.24);background:#17151b;color:#fff;box-shadow:0 35px 100px rgba(0,0,0,.55)}
.photo-lightbox::backdrop{background:rgba(3,2,5,.88)}
.lightbox-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 28px);padding:18px 22px 15px}
.lightbox-top,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:18px}
.lightbox-top h2{font:700 clamp(25px,3vw,40px)/1 var(--head);text-transform:uppercase;margin:0}
.lightbox-top button,.lightbox-controls button{border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font:700 14px/1.2 var(--body);padding:10px 14px;min-height:44px}
.lightbox-close{white-space:nowrap;flex:none}
.lightbox-top button:hover,.lightbox-controls button:hover{border-color:var(--pink);background:var(--pink)}
.lightbox-top button span{font-size:22px;vertical-align:-2px;margin-left:8px}
.photo-lightbox figure{display:flex;flex-direction:column;align-items:center;min-height:0;margin:18px 0 12px}
.photo-lightbox figure img{display:block;max-width:100%;max-height:calc(100dvh - 205px);height:auto;width:auto;object-fit:contain}
.photo-lightbox figcaption{font-size:14px;line-height:1.4;color:#e7dfe8;margin-top:10px;text-align:center}
.lightbox-controls{border-top:1px solid rgba(255,255,255,.18);padding-top:12px}
.lightbox-controls span{font-size:12px;letter-spacing:.08em;color:#e7dfe8}
.step-indicator li{font-size:12px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.step-indicator li.active{border-bottom:2px solid var(--pink);padding-bottom:4px}
.trainer-info h3{font-size:clamp(40px,3.4vw,56px);overflow-wrap:anywhere}
@media(max-width:720px){.story-open{padding:16px}.story-caption span{font-size:25px}.lightbox-shell{padding:14px}.photo-lightbox figure img{max-height:calc(100dvh - 220px)}.step-indicator li{font-size:11px}}
@media(max-width:430px){.hero h1{font-size:clamp(42px,11vw,48px)}.step-indicator li{font-size:10px}.trainer-info h3{font-size:54px}.lightbox-top h2{font-size:24px}.lightbox-controls button{font-size:12px;padding:9px}}
/* Narrow mobile hero keeps faces clear and the booking CTA in view. */
@media(max-width:430px){.hero-picture{height:55%;bottom:auto}.hero-picture img{object-position:center top}.hero-shade{background:linear-gradient(180deg,transparent 0%,rgba(17,16,20,.08) 40%,#111014 56%)}.hero-content{justify-content:flex-end;padding-top:0;padding-bottom:18px}.hero-eyebrow{margin-bottom:10px}.hero h1{line-height:.9}.hero-subtitle{font-size:13px;line-height:1.35;max-width:330px;margin:12px 0 13px}.hero-actions{gap:8px}.hero-actions .button{min-height:48px;padding:10px 15px}.hero-actions .text-link{padding:0}.hero-bottom{display:none}}

/* Farewell celebration from the previous camp. */
.party{background:#211923;color:#fff;border-top:1px solid rgba(255,255,255,.12)}
.party-copy .display-title{font-size:clamp(60px,6.4vw,100px);margin:34px 0 28px}
.party-copy p{font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:#e6dfe5;max-width:440px;margin-bottom:32px}
.party-open{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;background:var(--pink);border:1px solid var(--pink);padding:15px 18px;color:#fff;min-height:54px;font-size:15px;font-weight:700;transition:background .25s,transform .25s}
.party-open:hover{background:#ff348b;transform:translateY(-3px)}
.week-feature-large img{object-position:center 31%}
.week-feature:not(.week-feature-large) .week-feature-overlay{inset:0 0 auto;background:linear-gradient(180deg,rgba(0,0,0,.78),transparent);padding:28px 26px 95px}
@media(max-width:1000px){.party-copy .display-title{margin:24px 0 20px}}
@media(max-width:720px){.party-copy p{font-size:17px}.week-feature-large{height:490px}.week-feature-large img{object-position:center 27%}}
@media(max-width:430px){.party-copy .display-title{font-size:clamp(54px,11vw,70px)}}

/* Keep the deposit terms visible in the first screen without implying checkout is live. */
.hero-deposit{display:flex;flex-direction:column;gap:2px;width:fit-content;max-width:100%;padding:13px 18px;margin:0 0 19px;background:rgba(17,16,20,.77);border-left:4px solid var(--pink);box-shadow:0 14px 35px rgba(0,0,0,.16)}
.hero-deposit span{font-size:10px;font-weight:700;letter-spacing:.16em}
.hero-deposit strong{font:700 clamp(24px,2.8vw,38px)/1 var(--head);letter-spacing:.015em}
.hero-deposit small{font-size:12px;line-height:1.35;color:#f4e8ef}
.availability-status{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;line-height:1.35;margin:0 0 14px;color:#fff}
.availability-status strong{font-weight:700}
.availability-dot{width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 3px rgba(230,24,109,.24)}
.preview-banner a{font-weight:700;text-underline-offset:2px}
.camp-consent{display:flex;align-items:flex-start;gap:10px;margin:20px 0 0;font-size:12px;line-height:1.45;color:#d6cdd7;cursor:pointer}
.camp-consent input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--pink)}
.camp-request-success{margin:18px 0 0;padding:16px;background:#25443a;color:#fff;font-size:14px;line-height:1.5}
.camp-consent a{text-decoration:underline;text-underline-offset:3px;color:#fff}
.camp-payment-result{margin:18px 0;padding:20px;background:#263d39;color:#fff;font-size:15px;line-height:1.5}
.camp-payment-result p{margin:0 0 14px}
.camp-payment-result .button{display:inline-flex}
#camp-request-submit:disabled{opacity:.6;cursor:wait}
.payment-note strong{color:#fff}
@media(max-width:720px){.hero-deposit{padding:10px 13px;margin-bottom:14px}.hero-deposit strong{font-size:25px}.hero-deposit small{font-size:11px}.hero-content{padding-bottom:30px}}
@media(max-width:430px){.hero-deposit{padding:8px 12px;margin-bottom:10px;gap:1px}.hero-deposit span{font-size:9px}.hero-deposit strong{font-size:22px}.hero-deposit small{font-size:10px}.hero-content{padding-bottom:16px}.hero-subtitle{margin-bottom:10px}}

/* Two April editions and the darker Taplink-inspired camp presentation. */
.hero-picture{z-index:0}
.hero::before{content:"";position:absolute;inset:0 auto 0 0;width:min(56%,760px);z-index:1;pointer-events:none;background:url('assets/brand-foliage.webp') center 35%/cover no-repeat;opacity:.43;filter:brightness(1.35) saturate(1.25);-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.8) 62%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.8) 62%,transparent 100%)}
.hero-shade{z-index:2}
.hero-brandmark{position:absolute;z-index:3;top:105px;left:max(3.6vw,calc((100vw - var(--wrap))/2));width:290px;height:auto;filter:drop-shadow(0 5px 16px rgba(0,0,0,.55))}
.hero-content,.hero-bottom{z-index:3}
.site-header:not(.is-scrolled) .brand{opacity:0}
.site-header .brand:focus-visible{opacity:1}
.hero-content{padding-top:230px}
.hero h1{font-size:clamp(62px,5.3vw,90px)}
.hero-subtitle{margin:16px 0 15px}
.edition-switch{display:flex;gap:10px}
.edition-choice{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:11px 15px;border:1px solid rgba(255,255,255,.42);border-radius:3px;background:rgba(16,15,19,.78);color:#fff;text-align:left;transition:border-color .2s,background .2s,transform .2s}
.edition-choice:hover{border-color:#fff;transform:translateY(-2px)}
.edition-choice.is-selected{border-color:var(--pink);background:#56213a;box-shadow:inset 0 0 0 1px var(--pink)}
.edition-choice strong{font:700 clamp(20px,1.7vw,26px)/1 var(--head);text-transform:uppercase}
.edition-choice small{font-size:11px;line-height:1.3;color:#eadde6}
.hero-editions{width:min(100%,580px);margin-bottom:6px}
.hero-editions .edition-choice{flex:1;min-height:65px}
.edition-asof{font-size:11px;line-height:1.35;color:#f0e8ef;max-width:580px;margin:0 0 14px}
.package-editions{justify-content:center;margin:0 0 27px}
.package-editions .edition-choice{width:min(320px,50%);min-height:70px;background:#29242d}
.package-editions .edition-choice.is-selected{background:#56213a}
.button-pink,.party-open,.autumn-cta{border-radius:999px}
.price-card{min-height:455px}
.price-card h3{margin-top:50px}
.intro,.packages,.trainers,.questions{background-image:linear-gradient(rgba(17,16,20,.88),rgba(17,16,20,.94)),url('assets/brand-foliage.webp');background-size:cover;background-position:center}
.intro-grid{display:block;text-align:center;max-width:980px}
.intro .section-kicker{justify-content:center;margin-bottom:34px}
.intro-copy{margin-inline:auto}
.intro-facts{text-align:left}
.packages .section-kicker,.trainers .section-kicker,.week>.wrap>.section-kicker{justify-content:center}
.packages .section-heading-row,.trainers .section-heading-row,.week .section-heading-row{display:block;text-align:center;margin-top:28px;margin-bottom:36px}
.packages .heading-aside,.trainers .heading-aside,.week .heading-aside{margin:16px auto 0;max-width:560px}
.trainers .trainer-card,.trainers .trainer-card:nth-child(2){background:#242027;border:1px solid rgba(255,255,255,.14)}
.trainer-info h3{font-family:var(--marker);text-transform:none;color:#fff}
.hero-eyebrow{background:var(--pink);padding:7px 10px;width:fit-content;letter-spacing:.1em}
.hero-eyebrow .eyebrow-dot{background:#fff}
@media(max-width:720px){.hero-brandmark{top:79px;left:20px;width:196px}.hero-content{padding-top:190px}.hero h1{font-size:clamp(47px,10vw,65px)}.hero-editions .edition-choice{padding:9px 11px;min-height:64px}.edition-choice strong{font-size:21px}.edition-choice small{font-size:10px}.edition-asof{font-size:10px}.hero-deposit{background:transparent;border:0;box-shadow:none;padding:0;margin:0 0 9px}.hero-deposit span,.hero-deposit small{display:none}.hero-deposit strong{font-size:19px}.package-editions .edition-choice{width:50%}.intro-facts{text-align:center}}
@media(max-width:430px){.hero::before{width:100%;height:55%;opacity:.32;background-position:center top;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}.hero-brandmark{top:73px;left:50%;width:205px;transform:translateX(-50%)}.hero-content{padding-top:0;padding-bottom:13px}.hero h1{font-size:clamp(37px,9vw,42px)}.hero-subtitle{font-size:12px;line-height:1.32;margin:10px 0 9px}.hero-editions{gap:6px;margin-bottom:5px}.hero-editions .edition-choice{min-height:57px;padding:7px 9px}.edition-choice strong{font-size:19px}.edition-choice small{font-size:9px}.edition-asof{font-size:9px;margin-bottom:6px}.hero-deposit{margin-bottom:6px}.hero-deposit strong{font-size:17px}.hero-actions .button{min-height:45px;padding:8px 14px;font-size:14px}.hero-actions .text-link{font-size:11px}.package-editions{gap:7px}.package-editions .edition-choice{min-height:68px;padding:9px 10px}.package-editions .edition-choice strong{font-size:19px}.package-editions .edition-choice small{font-size:10px}}

/* Brand-led first screen: tropical foliage, the supplied white mark, then real camp photos. */
.hero{min-height:690px;background:#07100e}
.hero::before{inset:0;width:100%;height:100%;background-position:center 44%;opacity:.92;filter:brightness(1.55) saturate(1.35);-webkit-mask-image:none;mask-image:none}
.hero-shade{background:radial-gradient(ellipse at 50% 48%,rgba(4,8,8,.93) 0%,rgba(4,8,8,.89) 31%,rgba(4,8,8,.64) 66%,rgba(4,8,8,.25) 100%)}
.hero-brandmark{top:88px;left:50%;width:245px;transform:translateX(-50%)}
.hero-content{min-height:690px;align-items:center;justify-content:flex-start;text-align:center;padding-top:193px;padding-bottom:30px}
.hero-eyebrow{margin-bottom:13px}
.hero h1{font-size:clamp(58px,5.1vw,77px);line-height:.9;max-width:690px}
.hero-subtitle{max-width:670px;font-size:16px;line-height:1.38;margin:13px 0 14px}
.hero-editions{width:min(100%,610px);margin-bottom:5px}
.hero-editions .edition-choice{min-height:60px}
.edition-asof{margin-bottom:9px}
.hero-deposit{align-items:center;margin:0 0 11px;padding:7px 16px;border:0;background:rgba(8,12,12,.75)}
.hero-deposit span{display:none}
.hero-deposit strong{font-size:24px}
.hero-deposit small{font-size:11px}
.hero-actions{justify-content:center}
.hero-bottom{display:none}
.camp-collage{background:#0a0d0c;padding:10px}
.camp-collage-grid{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:10px;max-width:1440px;margin:auto}
.camp-collage-grid img{display:block;width:100%;height:clamp(200px,22vw,300px);object-fit:cover}
.camp-collage-grid img:nth-child(1){object-position:center 36%}
.camp-collage-grid img:nth-child(2){object-position:center 47%}
.camp-collage-grid img:nth-child(3){object-position:center 48%}
.trainer-info h3{color:#E6186D}
@media(max-width:720px){
  .hero{min-height:100svh}
  .hero::before{height:100%;opacity:.85;background-position:center 42%;-webkit-mask-image:none;mask-image:none}
  .hero-shade{background:radial-gradient(ellipse at 50% 55%,rgba(4,8,8,.93) 0%,rgba(4,8,8,.86) 50%,rgba(4,8,8,.49) 100%)}
  .hero-brandmark{top:80px;left:50%;width:198px}
  .hero-content{min-height:100svh;padding-top:188px;padding-bottom:24px;justify-content:flex-start}
  .hero h1{font-size:clamp(42px,9vw,58px)}
  .hero-subtitle{font-size:14px;max-width:480px}
  .hero-deposit{background:transparent;padding:0;margin-bottom:10px}
  .hero-deposit strong{font-size:20px}
  .hero-editions .edition-choice small,.package-editions .edition-choice small{font-size:11px;line-height:1.35}
  .edition-asof{font-size:11px;line-height:1.35}
  .camp-collage-grid img{height:180px}
}
@media(max-width:430px){
  .hero{min-height:max(100svh,650px)}
  .hero::before{height:100%;opacity:.85}
  .hero-brandmark{top:76px;width:185px}
  .hero-content{min-height:max(100svh,650px);padding-top:166px;padding-bottom:20px}
  .hero-eyebrow{margin-bottom:10px}
  .hero h1{font-size:clamp(38px,9.7vw,43px);line-height:.9}
  .hero-subtitle{font-size:13px;max-width:345px;line-height:1.35;margin:10px 0 11px}
  .hero-editions .edition-choice{min-height:58px}
  .edition-choice small{font-size:11px;line-height:1.35}
  .edition-asof{font-size:11px;line-height:1.35;margin-bottom:8px}
  .hero-deposit strong{font-size:18px}
  .hero-actions .button{font-size:14px;min-height:46px}
  .camp-collage{padding:6px}
  .camp-collage-grid{gap:6px;grid-template-columns:1fr 1fr}
  .camp-collage-grid img{height:160px}
  .camp-collage-grid img:nth-child(1){grid-column:span 2;height:190px}
  .trainer-portrait{height:240px;min-height:0}
  .trainer-info{min-height:155px;padding:18px 21px}
  .trainer-info h3{font-size:49px;margin:10px 0}
  .trainer-info p{font-size:14px}
}

/* Photo-led hero with two selectable spring editions. */
.hero{min-height:690px;background:#111014}
.hero::before{display:none}
.hero-picture{display:block;z-index:0}
.hero-picture img{object-position:center 65%;animation:none}
.hero-shade{z-index:1;background:linear-gradient(90deg,rgba(5,7,13,.69) 0%,rgba(5,7,13,.62) 36%,rgba(5,7,13,.32) 66%,rgba(5,7,13,.14) 100%),linear-gradient(0deg,rgba(5,7,13,.44),transparent 53%)}
.site-header:not(.is-scrolled) .brand{opacity:1}
.hero-content{z-index:2;min-height:690px;align-items:flex-start;justify-content:flex-start;text-align:left;padding-top:130px;padding-bottom:42px}
.hero h1{font-size:clamp(60px,5.4vw,78px);max-width:690px}
.hero-subtitle{max-width:540px;font-size:16px}
.hero-editions{width:min(100%,580px)}
.hero-deposit{align-items:flex-start;border-left:4px solid var(--pink);background:rgba(17,16,20,.8);padding:9px 15px}
.hero-actions{justify-content:flex-start;flex-wrap:wrap;gap:10px 20px;margin-bottom:17px}
.intro,.packages,.trainers,.questions{background-image:none}
@media(max-width:720px){
  .hero{min-height:0}
  .hero-picture{height:320px;bottom:auto}
  .hero-picture img{object-position:center 59%}
  .hero-shade{background:linear-gradient(180deg,rgba(17,16,20,.04) 0%,rgba(17,16,20,.05) 25%,rgba(17,16,20,.62) 41%,#111014 330px)}
  .hero-content{min-height:0;padding-top:280px;padding-bottom:28px;align-items:flex-start;text-align:left}
  .hero h1{font-size:clamp(43px,9vw,58px)}
  .hero-subtitle{font-size:14px;max-width:390px}
  .hero-deposit{border-left:0;background:transparent;padding:0}
}
@media(max-width:430px){
  .hero{min-height:0}
  .hero{--hero-photo-height:clamp(305px,47svh,390px)}
  .hero-picture{height:var(--hero-photo-height)}
  .hero-shade{background:linear-gradient(180deg,rgba(17,16,20,.02) 0%,rgba(17,16,20,.03) 46%,rgba(17,16,20,.32) 62%,#111014 var(--hero-photo-height))}
  .hero-content{min-height:0;padding-top:calc(var(--hero-photo-height) - 33px);padding-bottom:26px}
  .hero-eyebrow{font-size:11px;line-height:1.2}
  .hero h1{font-size:clamp(39px,10vw,43px)}
  .hero-subtitle{font-size:14px;line-height:1.34;max-width:345px}
  .hero-actions{gap:8px;margin-bottom:14px}
  .hero-actions .button{gap:16px}
  .hero-editions .edition-choice small,.edition-asof{font-size:11px;line-height:1.35}
}

/* One compact selection system for all three camp editions. */
[hidden]{display:none!important}
.hero-eyebrow,.hero h1,.hero-subtitle,.hero-actions{animation:rise-in .35s ease-out both}
.site-header .nav-cta,.site-header .menu-toggle,.hero-actions .button-pink,.edition-choice{border-radius:12px}
.hero-editions,.package-editions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:min(100%,742px)}
.hero-editions{margin-bottom:11px}
.hero-editions .edition-choice,.package-editions .edition-choice{width:auto;min-height:77px;padding:12px 14px;justify-content:flex-start;gap:4px}
.edition-choice strong{font-size:clamp(18px,1.6vw,23px)}
.edition-choice small{font-size:12px;line-height:1.2}
.edition-progress{display:block;width:100%;height:3px;margin-top:7px;border-radius:99px;background:rgba(255,255,255,.22);overflow:hidden}
.edition-progress span{display:block;height:100%;border-radius:inherit;background:var(--pink);transition:width .25s ease}
.hero-editions .edition-choice[data-empty="true"] .edition-progress{height:1px;margin-top:9px;border-radius:0;background:rgba(255,255,255,.46)}
.edition-choice:focus-visible{outline:2px solid #fff;outline-offset:3px}
.hero-deposit{margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.hero-deposit strong{font-size:20px;letter-spacing:.01em}
.early-bird{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin:0 0 16px;padding:14px 19px;background:#3b2030;border:1px solid rgba(230,24,109,.65);color:#fff}
.early-bird>div{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.early-bird strong{font-size:13px;letter-spacing:.13em}
.early-bird>div span{background:var(--pink);padding:5px 9px;font-size:12px;font-weight:800;letter-spacing:.07em}
.early-bird p{margin:0;color:#f2e5ec;font-size:13px;line-height:1.4}
.early-bird time{font-variant-numeric:tabular-nums;font-weight:800;color:#fff;white-space:nowrap}
.price strong{font:inherit}
.original-price{font-size:14px;letter-spacing:.02em;color:#d7c7d0;margin:10px 0 0}
.original-price s{margin-left:5px;color:#eee}
.hero-actions{margin-bottom:18px}
.hero-eyebrow{display:flex;flex-wrap:wrap;gap:3px 7px;margin-bottom:14px}
.hero-location{margin:14px 0 0;color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hero-subtitle{margin:12px 0 10px;max-width:570px}
.hero-benefits{margin:0 0 15px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.075em;line-height:1.35;text-transform:uppercase}
.hero-benefits span{color:#ff5b9d;margin-inline:3px}
.choice-copy .edition-progress{min-width:125px}
@media(max-width:720px){
  .early-bird{align-items:flex-start;padding:13px 14px}
  .early-bird p{font-size:12px}
  .hero-eyebrow{font-size:10px;line-height:1.25;letter-spacing:.055em;max-width:100%}
  .hero-location{font-size:11px;margin-top:10px}
  .hero-subtitle{margin:9px 0 8px}
  .hero-benefits{font-size:11px;letter-spacing:.025em;margin-bottom:12px}
  .hero-editions,.package-editions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .hero-editions .edition-choice:last-child,.package-editions .edition-choice:last-child{grid-column:1/-1}
  .hero-editions .edition-choice,.package-editions .edition-choice{min-height:66px;padding:9px 11px}
  .edition-choice strong{font-size:20px}
  .edition-choice small{font-size:12px}
  .hero-deposit strong{font-size:19px}
}
@media(max-width:430px){
  .hero-eyebrow{padding:6px 8px;margin-bottom:8px;gap:2px 5px}
  .hero-location{margin-top:7px}
  .hero-subtitle{margin:7px 0 8px}
  .hero-benefits{font-size:10.5px;margin-bottom:10px}
  .hero-actions{margin-bottom:12px}
  .hero-editions{gap:7px;margin-bottom:8px}
  .hero-editions .edition-choice{min-height:62px;padding:8px 10px}
  .hero-editions .edition-choice:last-child{min-height:53px}
  .edition-choice strong{font-size:18px}
  .edition-choice small{font-size:11px}
  .edition-progress{margin-top:5px}
  .hero-deposit strong{font-size:18px}
}
@media(max-width:720px){
  .closing{height:auto;display:flex;flex-direction:column}
  .closing>img{position:relative;inset:auto;display:block;height:clamp(350px,100vw,430px);object-position:center 65%;flex:none}
  .closing-shade{bottom:auto;height:clamp(350px,100vw,430px);background:linear-gradient(0deg,#0e1118,rgba(14,17,24,0) 21%)}
  .closing-content{height:auto;min-height:0;justify-content:flex-start;padding-top:22px;padding-bottom:64px}
  .closing h2{max-width:410px;margin:16px 0 24px;line-height:.9}
}

/* A real training moment leads the experience, followed by a photographic itinerary. */
.intro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);grid-template-rows:auto 1fr;max-width:none;gap:22px 6%;text-align:left;align-items:start}
.intro-training-photo{grid-row:1 / span 2;margin:0;height:clamp(470px,44vw,650px);overflow:hidden;background:#29252e}
.intro-training-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}
.intro .section-kicker{justify-content:flex-start;margin:12px 0 0}
.intro-copy{margin-left:0;margin-right:0}
.intro-facts{text-align:left}
.schedule-grid{gap:16px;margin-bottom:16px}
.schedule-day-compact,.schedule-day-explore{grid-column:1 / -1}
.schedule-day-compact{display:grid;grid-template-columns:minmax(190px,.8fr) 1.8fr;align-items:center;gap:30px;padding:19px 26px}
.schedule-day-compact .schedule-day-heading{border:0;padding:0;margin:0}
.schedule-day-compact ul{display:flex;flex-wrap:wrap;gap:8px 34px}
.schedule-day-compact li{display:flex;gap:12px}
.schedule-day-training{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(520px,43vw,610px);padding:0;overflow:hidden;isolation:isolate}
.schedule-day-visual{position:absolute;inset:0;z-index:0;overflow:hidden;background:#211b27}
.schedule-day-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,9,18,.12) 0%,rgba(12,9,18,.3) 25%,rgba(12,9,18,.78) 55%,rgba(12,9,18,.96) 100%)}
.schedule-photo-frame,.schedule-photo-viewport{width:100%;height:100%;overflow:hidden}
.schedule-photo-viewport img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.schedule-photo-viewport img.schedule-photo-tue{object-position:center 15%}
.schedule-day-content{position:relative;z-index:1;padding:24px;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.75)}
.schedule-day-content .schedule-day-heading{margin:0 0 12px;padding:0 0 14px;border-bottom:1px solid rgba(255,255,255,.45);background:none}
.schedule-day-content .schedule-day-heading>span{color:#ffc0dc}
.schedule-day-content ul{padding:0}
.schedule-day-content li time{color:#f2e6ee}
.schedule-day-content .schedule-addon{background:rgba(230,24,109,.32)}
.schedule-day-content .schedule-addon time{color:#ffe1ed}
.schedule-day-explore{padding:24px}
.schedule-day-explore .schedule-day-heading{margin-bottom:10px}
.schedule-day-explore>ul{margin-bottom:16px}
.schedule-excursions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.schedule-excursion{position:relative;min-height:420px;overflow:hidden;background:#1b2430}
.schedule-excursion::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,7,12,.94) 0%,rgba(6,7,12,.55) 42%,rgba(6,7,12,.05) 100%)}
.schedule-excursion img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 43%;filter:brightness(1.1)}
.schedule-excursion-copy{position:absolute;z-index:1;left:24px;right:24px;bottom:22px;text-shadow:0 2px 10px rgba(0,0,0,.75)}
.schedule-excursion-copy>span{color:#ffbad6;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.schedule-excursion-copy h4{font:700 clamp(34px,3vw,48px)/1 var(--head);text-transform:uppercase;margin:7px 0 5px}
.schedule-excursion-copy p{font-size:14px;line-height:1.4;max-width:430px;margin:0;color:#fff}
.schedule-footnote{margin:0 0 42px;color:#f6dce8;font-size:14px;line-height:1.45}
@media(max-width:1000px){.intro-grid{gap:18px 4%}.intro-training-photo{height:530px}.schedule-day li{grid-template-columns:104px 1fr}}
@media(max-width:720px){
  .intro-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:22px;text-align:left}
  .intro-training-photo{grid-row:auto;height:clamp(350px,95vw,520px);margin-bottom:8px}
  .intro .section-kicker{margin:0}
  .intro-facts{text-align:left}
  .schedule-day-compact{grid-template-columns:1fr;gap:8px;padding:21px}
  .schedule-day-compact ul{display:block}
  .schedule-day-compact li{display:grid;grid-template-columns:105px 1fr}
  .schedule-day-training{min-height:540px}
  .schedule-excursions{grid-template-columns:1fr}
  .schedule-excursion{min-height:270px}
  .schedule-day-explore{padding:20px}
  .schedule-footnote{margin:0 0 36px}
}
@media(max-width:430px){.schedule-day-content{padding:19px}.schedule-day-compact li{grid-template-columns:95px 1fr}.schedule-excursion-copy{left:19px;right:19px}.schedule-excursion-copy p{font-size:13px}}

/* The Experience: a bright editorial pause between the yacht hero and photo stories. */
.intro{background:#f5eee8;background-image:none;color:#17141a;padding:22px 0 clamp(62px,7vw,104px);scroll-margin-top:88px}
.intro-layout{display:block}
.intro-media{position:relative;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px;height:clamp(390px,41vw,540px);background:#e6186d;padding:10px}
.intro-photo{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;background:#231f27}
.intro-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(1.13) saturate(1.12)}
.intro-photo-group img{object-position:center 15%}
.intro-photo-spotting img{object-position:center 44%;filter:brightness(1.3) saturate(1.12)}
.intro-photo-class img{object-position:center 46%;filter:brightness(1.27) saturate(1.1)}
.intro-photo-word{position:absolute;top:clamp(14px,1.6vw,25px);left:clamp(14px,1.6vw,25px);max-width:calc(100% - 28px);color:var(--pink-light);font:400 clamp(36px,4.1vw,70px)/1 var(--marker);letter-spacing:-.035em;white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.9);pointer-events:none}
.intro-photo-class .intro-photo-word{font-size:clamp(29px,3.3vw,56px)}
.intro-content{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:center;gap:clamp(20px,3vw,44px);padding:clamp(26px,2.6vw,48px) 0 clamp(24px,2.5vw,42px)}
.intro .section-kicker{justify-content:flex-start;margin:0 0 14px;color:#a20d49}
.intro-content .display-title{font-size:clamp(64px,5.4vw,90px);line-height:.91;max-width:780px}
.intro-copy{font-size:clamp(18px,1.55vw,22px);line-height:1.48;max-width:440px;margin:0;color:#37313a}
.intro-facts{display:grid;grid-template-columns:1fr .86fr 1.3fr;gap:0;background:#e9e3dd;border:0;padding:0;text-align:left;color:#111014;box-shadow:inset 0 2px 0 var(--pink)}
.intro-facts div{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;min-height:128px;padding:25px clamp(20px,2.6vw,40px);border-right:1px solid rgba(25,23,29,.16)}
.intro-facts div:last-child{border-right:0}
.intro-facts strong{font:700 clamp(30px,3vw,46px)/.94 var(--head);text-transform:uppercase}
.intro-facts span{font-size:13px;line-height:1.35;color:#555059}
@media(max-width:1000px){
  .intro-media{height:clamp(350px,43vw,440px)}
  .intro-content{grid-template-columns:1fr;gap:16px}
  .intro-copy{max-width:690px}
  .intro-facts strong{font-size:clamp(27px,3vw,36px)}
}
@media(max-width:720px){
  .intro{padding-top:10px;padding-bottom:66px;scroll-margin-top:66px}
  .intro-media{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:clamp(300px,82vw,440px) clamp(150px,40vw,215px);gap:7px;padding:7px}
  .intro-photo-group{grid-column:1 / -1}
  .intro-photo-word{top:12px;left:12px;font-size:clamp(27px,8vw,48px)}
  .intro-photo-class .intro-photo-word{font-size:clamp(19px,5.1vw,32px)}
  .intro-content{padding:28px 0 26px;gap:12px}
  .intro .section-kicker{margin-bottom:10px}
  .intro-content .display-title{font-size:clamp(54px,11.5vw,76px);line-height:.92}
  .intro-copy{font-size:17px;line-height:1.45}
  .intro-facts{grid-template-columns:1fr 1fr}
  .intro-facts div{min-height:110px;padding:20px;border-bottom:1px solid rgba(25,23,29,.16)}
  .intro-facts div:nth-child(2){border-right:0}
  .intro-facts div:last-child{grid-column:1 / -1;min-height:95px;border-bottom:0}
  .intro-facts strong{font-size:33px}
  .intro-facts span{font-size:12px}
}
@media(max-width:430px){
  .intro-content .display-title{font-size:clamp(49px,12vw,56px)}
  .intro-facts strong{font-size:30px}
  .intro-facts div{padding:17px}
}

/* Harmonized camp training photographs, approved local study. */
.intro-photo img{filter:brightness(1.08) saturate(1.04)}
.intro-photo-group img{object-position:center 32%}
.intro-photo-spotting img{object-position:center 46%;filter:brightness(1.08) saturate(1.04)}
.intro-photo-class img{object-position:center 57%;filter:brightness(1.08) saturate(1.04)}
.story-training img{object-position:center 23%}
.week-feature-large img{object-position:center 45%}
@media(max-width:720px){
 .intro-photo-group img{object-position:center 20%}
 .intro-photo-spotting img{object-position:center 43%}
 .intro-photo-class img{object-position:center 53%}
}

/* Yacht trip: keep the group, bow and sea in view. */
.schedule-excursions .schedule-excursion:last-child img{object-position:center 35%}
@media(max-width:720px){.schedule-excursions .schedule-excursion:last-child img{object-position:center 40%}}

/* Keep the circle of friends visible behind the Vietnam story. */
.story-vietnam{background:#2674aa}
.story-vietnam img{object-fit:cover;object-position:center 54%}
.story-vietnam .story-panel-shade{background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.5) 28%,transparent 60%)}
@media(max-width:720px){.story-vietnam{height:clamp(590px,166vw,660px)}}
@media(min-width:721px) and (max-width:1000px){.story-panel{height:clamp(570px,calc(1300px - 75vw),760px)}}
@media(min-width:560px) and (max-width:720px){
  .story-vietnam{background:var(--ink)}
  .story-vietnam img{inset:0 0 0 auto;width:58%;height:100%;object-position:center 50%}
  .story-vietnam .story-panel-shade{background:linear-gradient(90deg,#111014 0%,#111014 35%,rgba(17,16,20,.75) 49%,transparent 72%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%)}
  .story-vietnam .story-caption{left:24px;right:58%;bottom:35px}
  .story-vietnam .story-caption span{font-size:20px}
  .story-vietnam .story-caption h2{font-size:clamp(42px,7vw,51px);line-height:.94;margin:12px 0}
  .story-vietnam .story-caption p{font-size:15px;line-height:1.35}
}

/* Wide screens: keep the navigation, photo stories and editorial grid on one axis. */
@media(min-width:1600px){
  main{background:var(--ink)}
  .site-header{padding-inline:max(3.6vw,calc((100vw - var(--wrap))/2))}
  .story{max-width:var(--wrap);margin-inline:auto;gap:12px}
  .story-panel{height:900px}
  .story-training img{object-position:center 35%}
}

/* Keep the approved Saturday photograph while framing the training pose. */
.schedule-photo-viewport img.schedule-photo-sat{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.week-feature img.week-photo-mud{object-position:85% 43%}
.week-feature img.week-photo-yacht{object-position:center 40%}

/* Keep all yacht faces in the frame on wide phone and narrow tablet cards. */
@media(max-width:720px){
  .schedule-excursion:last-child{min-height:clamp(360px,67vw,480px)}
}
@media(min-width:431px) and (max-width:720px){
  .week-grid .week-feature:last-child{height:clamp(520px,80vw,580px)}
  .week-feature img.week-photo-yacht{object-position:center 15%}
}

/* Align the hero and its menu to the same responsive frame as the collage. */
@media(min-width:1001px){
  .hero::before,.hero-picture,.hero-shade{left:50%;right:auto;width:92.8vw;transform:translateX(-50%)}
  .site-header:not(.is-scrolled){left:50%;width:92.8vw;transform:translateX(-50%);padding-inline:clamp(40px,2.5vw,76px)}
  .site-header.is-scrolled{left:0;width:100%;transform:none;padding-inline:calc(3.6vw + clamp(40px,2.5vw,76px))}
  .hero-content.wrap,.hero-bottom.wrap{width:92.8vw;padding-inline:clamp(40px,2.5vw,76px)}
  .intro-media{width:92.8vw;margin-left:50%;transform:translateX(-50%)}
}
@media(min-width:1441px) and (max-width:1599px){
  .hero,.hero-content{min-height:calc(63.75vw - 228px)}
}
@media(min-width:1600px){
  .hero,.hero-content{min-height:clamp(790px,49.5vw,1500px)}
  .hero-content{padding-top:clamp(150px,8vw,245px)}
  .site-header:not(.is-scrolled){height:clamp(88px,5.2vw,155px)}
  .site-header:not(.is-scrolled) .brand{width:clamp(150px,8.2vw,265px)}
  .site-header:not(.is-scrolled) .site-nav a{font-size:clamp(14px,.9vw,22px)}
  .site-header:not(.is-scrolled) .nav-cta{min-width:clamp(170px,10vw,300px);padding:clamp(13px,1vw,25px) clamp(18px,1.3vw,32px)}
  .hero-eyebrow{font-size:clamp(11px,.85vw,23px)}
  .hero h1{font-size:clamp(85px,calc(5.9vw - 9px),170px);max-width:clamp(950px,55vw,1650px)}
  .hero-location{font-size:clamp(13px,1vw,25px)}
  .hero-subtitle{font-size:clamp(17px,1.2vw,34px);max-width:950px}
  .hero-benefits{font-size:clamp(11px,.85vw,22px)}
  .hero-actions .button-pink{font-size:clamp(19px,1.3vw,32px);min-height:clamp(58px,4.3vw,105px);padding-inline:clamp(21px,1.5vw,44px)}
  .hero-editions{width:min(100%,clamp(742px,51vw,1550px))}
  .hero-editions .edition-choice{min-height:clamp(77px,6vw,160px);padding:clamp(12px,1.1vw,34px)}
  .hero-editions .edition-choice strong{font-size:clamp(23px,1.6vw,42px)}
  .hero-editions .edition-choice small{font-size:clamp(12px,.95vw,25px)}
  .hero-deposit strong{font-size:clamp(20px,1.25vw,35px)}
  .intro-media{height:clamp(540px,30vw,820px)}
}
/* Use the open lower part of the yacht image on very wide screens.
   The viewport-height cap keeps the booking choices visible in shallow windows. */
@media(min-width:2200px){
  .hero-editions,.hero-deposit{
    transform:translateY(max(0px,min(205px,calc(25vw - 550px),calc(100svh - 30vw - 320px))));
  }
}
@media(min-width:721px) and (max-width:1000px){
  .hero::before,.hero-picture,.hero-shade{left:50%;right:auto;width:calc(100% - 48px);transform:translateX(-50%)}
  .site-header:not(.is-scrolled){left:50%;width:calc(100% - 48px);transform:translateX(-50%);padding-inline:24px}
  .hero-content,.hero-bottom{padding-inline:24px}
}


/* Make the beginner welcome explicit without competing with the section title. */
.people-level-tag{display:inline-flex;align-items:center;margin-bottom:20px;padding:8px 12px;border:1px solid var(--pink);color:#fff;background:rgba(230,24,109,.2);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

/* Booking path: package cards prefill the editable choices in the form. */
#packages,#apply{scroll-margin-top:82px}
#booking-terms{scroll-margin-top:100px}
.application-panel{scroll-margin-top:82px}

/* Keep the group portrait legible in the final call to action. */
@media(min-width:721px) and (max-width:1000px){
  .closing{height:auto;display:flex;flex-direction:column}
  .closing>img{position:relative;inset:auto;display:block;height:clamp(430px,65vw,580px);object-position:center 45%;flex:none}
  .closing-shade{display:none}
  .closing-content{height:auto;min-height:0;justify-content:flex-start;padding-top:25px;padding-bottom:62px}
  .closing h2{max-width:660px;margin:14px 0 25px}
}
@media(min-width:1600px){
  .closing{width:min(100%,var(--wrap));height:auto;margin-inline:auto;display:flex;flex-direction:column}
  .closing>img{position:relative;inset:auto;display:block;width:100%;height:700px;object-position:center 45%;flex:none}
  .closing-shade{display:none}
  .closing-content{width:100%;height:auto;min-height:0;justify-content:flex-start;padding:32px 40px 62px}
  .closing h2{font-size:clamp(78px,5.2vw,100px);margin:12px 0 24px}
}
.apply-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}
.apply-grid>*,.application-panel,.choice-card,.choice-copy{min-width:0}
.price-card.is-chosen{outline:2px solid var(--pink);outline-offset:-2px}
.booking-date-field{margin-top:0}
.booking-date-field select{-webkit-appearance:none;appearance:none;display:block;width:100%;height:52px;min-height:52px;padding:12px 46px 12px 15px;line-height:1.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 17px center;background-size:16px 10px}
.booking-room-options{margin-bottom:6px}
.booking-room-options .choice-card{padding-inline:14px}
.booking-room-options .choice-card b{font-size:13px}
.form-label .optional{color:#c8bfca;font-weight:400}
.choice-stack-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.review-list{grid-template-columns:minmax(0,1fr) minmax(0,auto)}
.form-actions{flex-wrap:wrap}
@media(max-width:1000px){.apply-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.choice-stack-two{grid-template-columns:minmax(0,1fr)}.application-panel{padding:22px 16px}.review-total{gap:12px;flex-wrap:wrap}}

.package-inclusions{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);gap:clamp(25px,4vw,60px);align-items:start;margin-top:16px;padding:clamp(28px,3vw,44px);background:#f4eeeb;color:var(--ink)}
.package-inclusions-heading{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.package-inclusions-badge{display:inline-block;padding:7px 10px;background:var(--ink);color:#fff;font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1;text-transform:uppercase}
.package-inclusions h3{font:700 clamp(34px,3vw,52px)/.96 var(--head);text-transform:uppercase;margin:0;max-width:360px}
.package-inclusions-heading p{margin:0;color:#5d555a;font-size:14px;line-height:1.4}
.package-inclusions ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;min-width:0;margin:0;padding:0}
.package-inclusions li{position:relative;padding-left:28px;font-size:15px;line-height:1.35}
.package-inclusions li::before{content:'✓';position:absolute;left:0;color:var(--pink);font-size:20px;font-weight:700;line-height:1}
@media(max-width:720px){.package-inclusions{grid-template-columns:minmax(0,1fr);gap:22px}.package-inclusions ul{grid-template-columns:minmax(0,1fr)}}

.trainer-info .trainer-bio{margin-top:22px;color:#e4dce5;font-size:15px;line-height:1.55}
.trainer-info .trainer-bio+small{margin-top:18px}
/* Keep both coaches aligned and give their bios room on laptop screens. */
.trainer-info{justify-content:flex-start}
.trainer-info h3{font-size:clamp(40px,3.4vw,49px)}
@media(max-width:1280px){.trainer-card{grid-template-columns:minmax(0,1fr);min-height:0;align-content:start}.trainer-portrait{height:440px;min-height:0}.trainer-info{min-height:230px}}
@media(max-width:720px){.trainer-portrait{height:clamp(300px,55vw,400px)}}
@media(max-width:600px){.trainer-card{grid-template-columns:minmax(0,1fr)}.trainer-portrait{height:clamp(260px,70vw,370px);min-height:0}.trainer-info{min-height:0;padding:24px}.trainer-info h3{font-size:clamp(48px,12vw,60px)}}

/* The twelve real camp moments scatter out of the centre while the story is held. */
.story-panel>.story-main{user-select:none;-webkit-user-drag:none;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.story-panel:hover>.story-main{transform:none}
@media(hover:hover) and (pointer:fine){.story-panel:hover>.story-main{transform:scale(1.045) rotate(-.3deg)}.story-vietnam:hover>.story-main{transform:scale(1.045) rotate(.3deg)}}
.story-panel.is-fan-open>.story-main{transform:scale(1.08);filter:brightness(.48) saturate(.85)}
.story-vietnam.is-fan-open{background:var(--ink)}
.story-panel.is-fan-open .story-caption{opacity:0;transform:translateY(18px)}
.story-fan-trigger{position:absolute;inset:0;z-index:4;width:100%;height:100%;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.story-fan-trigger:focus-visible{outline:3px solid var(--pink-light);outline-offset:-7px}
.story-fan-hint{position:absolute;top:24px;right:24px;font:700 11px/1.2 var(--body);text-transform:uppercase;letter-spacing:.12em;text-shadow:0 2px 10px #000;transition:opacity .25s,transform .25s}
.story-fan-trigger:focus-visible .story-fan-hint{transform:translateY(-3px)}
@media(hover:hover) and (pointer:fine){.story-fan-trigger:hover .story-fan-hint{transform:translateY(-3px)}}
.story-panel.is-fan-open .story-fan-hint{opacity:0}
.story-fan{position:absolute;z-index:3;inset:7% 4% 13%;pointer-events:none;opacity:0;transition:opacity .34s ease .19s}
.story-fan figure{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);margin:0;overflow:hidden;border:2px solid rgba(255,255,255,.93);background:#211923;box-shadow:0 12px 24px rgba(0,0,0,.4);opacity:0;transform:translate(var(--fan-from-x,0px),var(--fan-from-y,0px)) scale(.14) rotate(0deg);transition:transform .72s cubic-bezier(.16,.8,.18,1),opacity .34s ease;transform-origin:center;z-index:var(--layer,1);will-change:transform}
.story-fan figure:nth-child(1){--x:1%;--y:6%;--w:23%;--h:28%;--tilt:-12deg;--delay:0ms}
.story-fan figure:nth-child(2){--x:23%;--y:0%;--w:29%;--h:30%;--tilt:8deg;--delay:35ms;--layer:2}
.story-fan figure:nth-child(3){--x:54%;--y:9%;--w:20%;--h:28%;--tilt:-9deg;--delay:70ms}
.story-fan figure:nth-child(4){--x:76%;--y:2%;--w:22%;--h:32%;--tilt:12deg;--delay:105ms;--layer:2}
.story-fan figure:nth-child(5){--x:7%;--y:32%;--w:26%;--h:27%;--tilt:9deg;--delay:45ms;--layer:3}
.story-fan figure:nth-child(6){--x:34%;--y:27%;--w:23%;--h:35%;--tilt:-12deg;--delay:80ms}
.story-fan figure:nth-child(7){--x:58%;--y:39%;--w:25%;--h:27%;--tilt:11deg;--delay:115ms;--layer:3}
.story-fan figure:nth-child(8){--x:79%;--y:33%;--w:19%;--h:32%;--tilt:-10deg;--delay:150ms}
.story-fan figure:nth-child(9){--x:1%;--y:65%;--w:26%;--h:33%;--tilt:-8deg;--delay:75ms}
.story-fan figure:nth-child(10){--x:26%;--y:61%;--w:25%;--h:35%;--tilt:12deg;--delay:110ms;--layer:3}
.story-fan figure:nth-child(11){--x:53%;--y:69%;--w:24%;--h:29%;--tilt:-12deg;--delay:145ms}
.story-fan figure:nth-child(12){--x:76%;--y:67%;--w:22%;--h:31%;--tilt:8deg;--delay:180ms;--layer:2}
.story-fan img,.story-training .story-fan img,.story-vietnam .story-fan img{position:static;inset:auto;display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;transition:none;-webkit-user-drag:none;user-select:none}
#train-photo-fan figure:nth-child(11) img{object-position:center 70%}
#train-photo-fan figure:nth-child(12) img{object-position:center 20%}
#rest-photo-fan figure:nth-child(5) img{object-position:center 20%}
.story-panel:hover .story-fan img{transform:none}
.story-panel.is-fan-open .story-fan{opacity:1;transition-delay:0s}
.story-panel.is-fan-open .story-fan figure{opacity:1;transform:translate(0,0) scale(1) rotate(var(--tilt));transition-delay:var(--delay)}
@media(max-width:1000px){
  .story-fan{inset:8% 4% 9%}
  .story-fan figure{border-width:1.5px}
  .story-fan figure:nth-child(1){--x:0%;--y:6%;--w:35%;--h:23%;--tilt:-12deg}
  .story-fan figure:nth-child(2){--x:37%;--y:0%;--w:29%;--h:26%;--tilt:9deg}
  .story-fan figure:nth-child(3){--x:69%;--y:8%;--w:29%;--h:22%;--tilt:-9deg}
  .story-fan figure:nth-child(4){--x:7%;--y:26%;--w:27%;--h:27%;--tilt:11deg}
  .story-fan figure:nth-child(5){--x:32%;--y:32%;--w:37%;--h:22%;--tilt:-12deg}
  .story-fan figure:nth-child(6){--x:71%;--y:25%;--w:27%;--h:27%;--tilt:10deg}
  .story-fan figure:nth-child(7){--x:0%;--y:52%;--w:35%;--h:24%;--tilt:-9deg}
  .story-fan figure:nth-child(8){--x:34%;--y:52%;--w:31%;--h:27%;--tilt:12deg}
  .story-fan figure:nth-child(9){--x:69%;--y:56%;--w:29%;--h:23%;--tilt:-12deg}
  .story-fan figure:nth-child(10){--x:5%;--y:76%;--w:29%;--h:22%;--tilt:10deg}
  .story-fan figure:nth-child(11){--x:31%;--y:73%;--w:37%;--h:26%;--tilt:-10deg}
  .story-fan figure:nth-child(12){--x:72%;--y:79%;--w:26%;--h:20%;--tilt:9deg}
}
@media(max-width:720px){.story-fan-hint{top:16px;right:16px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.story-panel:hover>.story-main,.story-panel.is-fan-open>.story-main{transform:none}.story-fan,.story-fan figure,.story-fan-hint{transition:none!important}.story-fan figure,.story-panel.is-fan-open .story-fan figure{transform:none!important}}

.party{overflow:hidden}
.party-heading-row{display:flex;align-items:end;justify-content:space-between;gap:32px}
.party-copy p{max-width:660px;margin-bottom:0}
.party-motion-toggle{flex:none;min-height:48px;padding:12px 22px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:transparent;color:#fff;font:700 14px/1 var(--body);cursor:pointer}
.party-motion-toggle:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.party-motion-toggle:focus-visible,.party-open:focus-visible,.party-viewport:focus-visible{outline:2px solid #fff;outline-offset:4px}
.party-viewport{margin-top:clamp(34px,5vw,70px);overflow:hidden}
.party-track{display:flex;width:max-content;animation:party-flow 52s linear infinite;will-change:transform}
.party-set{display:flex;flex:none;gap:14px;padding-right:14px}
.party-photo-trigger{display:block;flex:none;padding:0;border:0;background:transparent;line-height:0;cursor:zoom-in;touch-action:manipulation}
.party-photo-trigger:focus-visible{outline:2px solid #fff;outline-offset:4px}
.party-set img{display:block;flex:none;height:clamp(280px,29vw,430px);width:auto;max-width:none;object-fit:contain}
@keyframes party-flow{to{transform:translate3d(-50%,0,0)}}
.party.is-paused .party-track,.party.is-preview-open .party-track,.party-viewport:focus-visible .party-track,.party-viewport:has(.party-photo-trigger:focus-visible) .party-track{animation-play-state:paused}
@media(max-width:720px){.party-heading-row{align-items:start;flex-direction:column;gap:20px}.party-copy p{max-width:560px}.party-viewport{margin-top:30px}.party-set{gap:10px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){.party-track{animation:none;will-change:auto}.party-viewport{overflow-x:auto;scroll-snap-type:x proximity}.party-photo-trigger{scroll-snap-align:start}.party-set[aria-hidden="true"],.party-motion-toggle{display:none}}
.party-preview{width:max-content;max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:12px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:#211923;color:#fff;box-shadow:0 24px 85px rgba(0,0,0,.5);overflow:auto}
.party-preview::backdrop{background:rgba(9,7,11,.78);backdrop-filter:blur(3px)}
.party-preview-close{display:block;min-height:44px;min-width:44px;margin:0 0 8px auto;padding:10px 12px;border:0;background:transparent;color:#fff;font:700 13px/1 var(--body);cursor:pointer}
.party-preview-close span{font-size:19px;vertical-align:-1px;margin-left:7px}
.party-preview-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
.party-preview-image{display:block;width:auto;height:auto;max-width:min(540px,82vw);max-height:min(var(--party-preview-height,520px),calc(76svh - 48px));object-fit:contain;border-radius:9px;cursor:zoom-out}
body.party-preview-open{overflow:hidden}

/* Arrival has its own photo layout; the final check-out card stays compact. */
.schedule-day-arrival{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);padding:0;overflow:hidden}
.schedule-arrival-content{min-width:0;padding:clamp(24px,3vw,42px);display:flex;flex-direction:column;justify-content:center}
.schedule-day-arrival .schedule-day-heading{margin-bottom:14px}
.schedule-day-arrival li{grid-template-columns:112px 1fr}
.schedule-arrival-note{max-width:430px;margin:17px 0 0;color:#e2dbe5;font-size:14px;line-height:1.5}
.schedule-arrival-photo{position:relative;min-height:420px;background:#342e38;overflow:hidden}
.schedule-arrival-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:right 39%}
@media(max-width:720px){
  .schedule-day-arrival{grid-template-columns:1fr}
  .schedule-arrival-photo{grid-row:1;height:clamp(245px,63vw,350px);min-height:0}
  .schedule-arrival-content{grid-row:2;padding:23px 21px 25px}
  .schedule-day-arrival li{grid-template-columns:105px 1fr}
}
@media(max-width:430px){.schedule-day-arrival li{grid-template-columns:95px 1fr}.schedule-arrival-photo{height:clamp(230px,68vw,290px)}}

/* Match the hero's 92.8vw frame on every desktop viewport. */
@media(min-width:1001px){:root{--wrap:92.8vw}}

/* Scale the editorial grid and controls on large desktop screens. */
@media(min-width:1600px){
  .section-kicker{font-size:clamp(14px,.75vw,20px)}
  .intro-content{grid-template-columns:minmax(0,auto) minmax(0,620px);justify-content:center;gap:clamp(36px,3vw,72px)}
  .intro-content .display-title{font-size:clamp(90px,4.1vw,124px);max-width:1050px}
  .intro-copy{font-size:clamp(21px,1.05vw,27px);max-width:620px}
  .intro-facts strong{font-size:clamp(46px,2.25vw,68px)}
  .intro-facts span{font-size:clamp(13px,.8vw,18px)}
  .story{max-width:var(--wrap)}
  .story-panel{height:clamp(850px,34vw,1060px)}
  .schedule-day-arrival{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .schedule-arrival-photo{min-height:500px}
  .schedule-day li{font-size:clamp(14px,.8vw,18px)}
  .schedule-day-heading>span{font-size:clamp(13px,.7vw,18px)}
  .schedule-day h3{font-size:clamp(38px,2.1vw,62px)}
  .schedule-notice,.schedule-footnote{font-size:clamp(14px,.75vw,19px)}
  .schedule-excursion{min-height:clamp(420px,24vw,570px)}
  .week .display-title,.trainers .display-title,.packages .display-title{font-size:clamp(140px,6.2vw,190px)}
  .party-copy .display-title{font-size:clamp(100px,5vw,150px)}
  .party-copy p{font-size:clamp(21px,1vw,27px);max-width:780px}
  .party-set img{height:clamp(430px,22vw,630px)}
  .trainer-card{grid-template-columns:44% 56%;min-height:clamp(560px,23vw,690px)}
  .trainer-portrait{height:auto;min-height:0}
  .trainer-info{padding:clamp(40px,2.5vw,75px)}
  .trainer-info h3{font-size:clamp(55px,2.6vw,78px)}
  .trainer-info p,.trainer-info .trainer-bio{font-size:clamp(17px,.95vw,22px);max-width:590px}
  .people-grid{gap:5%;grid-template-columns:1fr 1fr}
  .people-copy .display-title{font-size:clamp(140px,6.2vw,190px)}
  .people-copy>p{font-size:clamp(23px,1.1vw,30px);max-width:740px}
  .people-image{height:clamp(720px,36vw,1000px);max-height:none}
  .price-card{min-height:clamp(550px,25vw,720px);padding:clamp(52px,3vw,82px)}
  .package-editions{width:min(100%,1500px);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1vw,24px)}
  .package-editions .edition-choice{width:auto;min-width:0;min-height:clamp(82px,4.5vw,118px);padding:clamp(17px,1vw,28px)}
  .package-editions .edition-choice strong{font-size:clamp(25px,1.3vw,36px)}
  .package-editions .edition-choice small{font-size:clamp(14px,.75vw,19px)}
  .price-card-head{font-size:clamp(14px,.72vw,18px)}
  .price-card h3{font-size:clamp(95px,4.4vw,135px)}
  .price{font-size:clamp(120px,5.5vw,165px)}
  .price-card p{font-size:clamp(18px,.9vw,24px);max-width:610px}
  .price-card .button,.application-panel .button{font-size:clamp(18px,.9vw,23px);min-height:clamp(58px,3.2vw,80px)}
  .package-inclusions{grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr)}
  .package-inclusions h3{font-size:clamp(52px,2.8vw,82px);max-width:620px}
  .package-inclusions-heading p{font-size:clamp(17px,.8vw,21px)}
  .package-inclusions li{font-size:clamp(17px,.9vw,23px)}
  .addon-label{font-size:clamp(14px,.75vw,19px)}
  .addon h3{font-size:clamp(50px,2.5vw,72px)}
  .addon p{font-size:clamp(17px,.8vw,22px);max-width:940px}
  .payment-note{font-size:clamp(17px,.8vw,21px);line-height:1.5;max-width:1750px}
  .apply-grid{grid-template-columns:minmax(0,1fr) minmax(780px,1fr);gap:clamp(70px,5vw,150px)}
  .apply-intro .display-title{font-size:clamp(120px,5vw,155px)}
  .apply-intro>p{font-size:clamp(23px,1.1vw,30px);max-width:650px}
  .apply-mini-photo{width:min(75%,750px);height:clamp(350px,24vw,600px)}
  .application-panel{padding:clamp(50px,3vw,85px)}
  .preview-banner{font-size:clamp(15px,.75vw,19px)}
  .step-indicator li{font-size:clamp(14px,.75vw,18px)}
  .step-indicator span{width:30px;height:30px}
  .form-step legend{font-size:clamp(52px,2.8vw,72px)}
  .form-help,.review-note,.checkout-note{font-size:clamp(16px,.8vw,21px)}
  .form-label,.field{font-size:clamp(16px,.8vw,21px)}
  .choice-card{min-height:clamp(95px,5vw,125px);padding:clamp(20px,1.3vw,32px);gap:18px}
  .choice-card input{width:22px;height:22px}
  .choice-copy strong{font-size:clamp(18px,.9vw,23px)}
  .choice-copy small{font-size:clamp(14px,.7vw,18px)}
  .choice-card b,.booking-room-options .choice-card b{font-size:clamp(17px,.8vw,21px)}
  .field input,.field select,.field textarea{min-height:clamp(62px,3.2vw,80px);padding:18px 22px;font-size:clamp(17px,.85vw,22px)}
  .booking-date-field select{height:clamp(62px,3.2vw,80px);padding:18px 52px 18px 22px}
  #camp-request-fields:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
  #camp-request-fields>.contact-note-field,#camp-request-fields>.camp-consent,#camp-request-fields>.form-error{grid-column:1/-1}
  .review-list dt,.review-list dd{font-size:clamp(17px,.8vw,21px)}
  .review-total{font-size:clamp(19px,.9vw,24px)}
  .review-total strong{font-size:clamp(48px,2.5vw,72px)}
  .faq-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:5%}
  .faq-grid .display-title{font-size:clamp(135px,6vw,185px)}
  .faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(30px,2.5vw,70px)}
  .faq-list summary{font-size:clamp(28px,1.6vw,42px)}
  .faq-list p{font-size:clamp(16px,.85vw,21px)}
  .autumn-banner{padding-block:clamp(65px,4.5vw,120px)}
  .autumn-banner h2{font-size:clamp(90px,4.5vw,135px)}
  .autumn-banner p{font-size:clamp(20px,1vw,27px)}
  .closing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:clamp(740px,34vw,1000px)}
  .closing>img{position:relative;width:100%;height:100%;min-height:0;grid-column:1;grid-row:1;object-position:center 60%}
  .closing-content{grid-column:2;grid-row:1;width:100%;height:100%;min-height:0;padding:clamp(50px,5vw,140px);justify-content:center}
  .closing h2{font-size:clamp(125px,5vw,160px);max-width:900px}
  .footer-main{padding-bottom:clamp(55px,4vw,110px)}
  .footer-main img{width:clamp(180px,9vw,280px)}
  .footer-main div{font-size:clamp(16px,.85vw,22px)}
}
@media(min-width:2300px){
  .story-panel>.story-main{left:42%;right:0;width:58%;object-fit:cover}
  .story-panel-shade{background:linear-gradient(90deg,#111014 0%,rgba(17,16,20,.96) 35%,rgba(17,16,20,.06) 76%)}
  .story-caption{left:4%;right:59%;bottom:12%}
  .story-caption h2{font-size:clamp(72px,3vw,105px)}
  .story-caption p{font-size:clamp(18px,.9vw,24px);max-width:460px}
  .schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .schedule-day-arrival{grid-column:auto;display:grid;grid-template-columns:minmax(0,55%) minmax(0,45%);grid-template-rows:minmax(0,1fr)}
  .schedule-arrival-photo{grid-column:2;grid-row:1;min-height:0;height:100%}
  .schedule-arrival-photo img{object-position:right center}
  .schedule-arrival-content{grid-column:1;grid-row:1;padding:clamp(26px,1.8vw,48px);justify-content:center}
  .schedule-day-compact{grid-column:1/-1;display:flex;align-items:center;gap:clamp(30px,3vw,80px);padding:clamp(25px,1.7vw,45px)}
  .schedule-day-compact .schedule-day-heading{border:0;padding:0;margin:0}
  .schedule-day-compact ul{display:flex;gap:clamp(20px,2vw,60px)}
  .schedule-day-compact li{display:flex;gap:14px}
  .schedule-day-explore{grid-column:auto}
  .schedule-day-explore{display:flex;flex-direction:column}
  .schedule-excursions{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));flex:1;min-height:0;margin-top:18px}
  .schedule-day-explore .schedule-excursions .schedule-excursion img{object-position:center 30%}
  .schedule-day-explore .schedule-excursions .schedule-excursion:last-child img{object-position:center 25%}
  .schedule-excursion{min-height:0}
}

/* One booking flow: date, room, add-on, payment and contact in the same form. */
.legacy-anchor{position:absolute;top:0;scroll-margin-top:82px}
.packages{position:relative}
.booking-group-title{font:700 clamp(27px,2.3vw,42px)/1 var(--head);text-transform:uppercase;letter-spacing:.01em;margin:34px 0 15px;color:#fff}
.booking-group-title:first-of-type{margin-top:0}
.package-editions{margin-bottom:14px}
.package-editions .edition-choice:disabled,.hero-editions .edition-choice:disabled{opacity:.48;cursor:not-allowed}
.price-card{position:relative;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.price-card:hover{transform:translateY(-3px)}
.price-card:focus-within{outline:3px solid var(--pink);outline-offset:3px}
.price-card-input{position:absolute;top:24px;right:24px;width:22px;height:22px;margin:0;accent-color:var(--pink)}
.price-card-head{padding-right:20px}
.price-card-title{display:block;font:700 clamp(48px,3.7vw,65px)/.94 var(--head);text-transform:uppercase;margin:65px 0 15px}
.price-card-description{display:block;font-size:16px;line-height:1.5;max-width:440px;margin:25px 0 30px;color:#d4cdd6}
.price-card-action{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;align-self:flex-start;margin-top:auto;min-width:220px;min-height:58px;padding:12px 21px;background:#4d4550;color:#fff;font-weight:700;font-size:17px;border-radius:12px}
.price-card.is-chosen{border-color:var(--pink);background:#3b273a;outline:2px solid var(--pink);outline-offset:-2px}
.price-card.is-chosen .price-card-action{background:var(--pink)}
.addon{grid-template-columns:24px 64px minmax(0,1fr) auto;gap:20px;cursor:pointer;margin-top:0}
.addon:has(.addon-input:checked){border-color:var(--pink);background:#392438}
.addon:focus-within{outline:3px solid var(--pink);outline-offset:3px}
.addon-input{width:23px;height:23px;margin:0;accent-color:var(--pink)}
.addon-copy{display:block;min-width:0}
.addon-title{display:block;font:700 clamp(29px,2.5vw,38px)/1 var(--head);text-transform:uppercase;margin:7px 0}
.addon-description{display:block;font-size:14px;line-height:1.5;max-width:650px;color:#d7d1d8}
.payment-options .choice-card{background:#29242d;color:#fff;border-color:rgba(255,255,255,.18)}
.payment-options .choice-card:has(input:checked){background:#392438;border-color:var(--pink)}
.payment-options .choice-copy small{color:#d4cdd6}
.booking-finish{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;align-items:start;margin-top:38px}
.booking-finish .application-panel{height:100%;min-width:0}
.booking-finish h3{font:700 clamp(34px,2.8vw,54px)/1 var(--head);text-transform:uppercase;margin:0 0 10px}
.booking-finish .form-help{color:#d4cdd6}
.booking-summary .review-list:empty{display:none}
.booking-summary .review-total{border-top:1px solid rgba(255,255,255,.2);padding-top:15px}
.booking-summary .review-total strong.is-pending{font:700 20px/1.2 var(--body);color:#d4cdd6}
.booking-contact .form-actions{justify-content:flex-start}
.booking-contact .form-actions .button{margin:0}
.booking-contact .preview-banner{margin-bottom:20px}
#booking-terms{max-width:1000px;color:#d4cdd6;margin-top:22px}
#booking-terms strong{color:#fff}
#camp-payment-result{max-width:820px;margin:28px auto;padding:clamp(25px,4vw,55px)}
@media(max-width:1000px){.booking-finish{grid-template-columns:1fr}.booking-finish .application-panel{height:auto}}
@media(max-width:720px){.booking-group-title{font-size:31px;margin-top:30px}.price-card{min-height:340px}.price-card-title{font-size:55px;margin-top:55px}.price-card-action{min-height:52px}.addon{grid-template-columns:22px 48px minmax(0,1fr);gap:12px;padding:20px}.addon-mark{width:43px;height:43px}.addon>strong{grid-column:3;font-size:38px}.booking-finish{margin-top:26px}.booking-finish h3{font-size:36px}}
@media(max-width:430px){.price-card-input{top:20px;right:20px}.price-card-head{padding-right:34px}.price-card-title{font-size:47px}.price{font-size:72px}.addon-title{font-size:29px}.booking-finish .application-panel{padding:23px 19px}}
@media(min-width:1600px){.price-card-title{font-size:clamp(95px,4.4vw,135px)}.price-card-description{font-size:clamp(18px,.9vw,24px);max-width:610px}.price-card-action{font-size:clamp(18px,.9vw,23px);min-height:clamp(58px,3.2vw,80px)}.addon-title{font-size:clamp(50px,2.5vw,72px)}.addon-description{font-size:clamp(17px,.8vw,22px);max-width:940px}.booking-finish h3{font-size:clamp(52px,2.8vw,72px)}}
.price-card-featured{border-color:rgba(255,255,255,.14)}
.price-card-featured.is-chosen{border-color:var(--pink)}
.price-card-input{appearance:none;border:2px solid rgba(255,255,255,.85);border-radius:50%;background:transparent}
.price-card-input:checked{border-color:var(--pink);background:var(--pink);box-shadow:inset 0 0 0 4px #3b273a}
@media(max-width:520px){.booking-summary .review-list{grid-template-columns:minmax(0,42%) minmax(0,58%)}.booking-summary .review-list dd{max-width:none}}
@media(min-width:1001px) and (max-width:1200px){.booking-finish{grid-template-columns:1fr}.booking-finish .application-panel{height:auto}}

/* Compact room choices while keeping the full price and description visible. */
.price-card{min-height:0;padding:clamp(24px,2.2vw,48px)}
.price-card-title{margin:clamp(22px,2vw,40px) 0 9px}
.price-card-description{margin:14px 0 20px}
.price-card-action{min-height:50px;min-width:0;margin-top:auto;padding:11px 19px}
@media(max-width:720px){
  .price-card{min-height:0;padding:24px}
  .price-card-title{margin-top:25px}
  .price-card-description{margin:12px 0 16px}
  .price-card-action{min-height:48px}
}
@media(min-width:1600px){
  .price-card{padding:clamp(42px,2.2vw,64px)}
  .price-card-title{margin-top:clamp(30px,1.8vw,50px)}
  .price-card-description{margin:16px 0 24px}
  .price-card-action{min-height:clamp(55px,2.4vw,68px)}
}

/* Show the one date available through this page or its direct booking link. */
.hero-editions,.package-editions{grid-template-columns:minmax(0,1fr);width:min(100%,460px)}
@media(max-width:720px){.hero-editions,.package-editions{width:100%}}
