/* базовый сброс вынесен в base.css */
:root { --navy:#080808; --panel:#171310; --ice:#f5f0eb; --steel:#ada39b; --lime:#eb8e4a; --ink:#15110f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ice); color:var(--ink); font-family:var(--font-inter), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
.shell { width:min(1440px, calc(100% - 80px)); margin-inline:auto; }
.section { padding-block:112px; }
.hero { min-height:100vh; background:var(--navy); color:var(--ice); overflow:hidden; position:relative; }
.header { height:94px; display:grid; grid-template-columns:270px 1fr auto; align-items:center; border-bottom:1px solid rgba(173,163,155,.45); position:relative; z-index:5; }
.wordmark { display:inline-flex; align-items:center; gap:14px; font:700 27px/1 var(--font-condensed); text-transform:uppercase; letter-spacing:-.02em; white-space:nowrap; }
.brandMark { display:block; width:36px; height:36px; object-fit:contain; flex:0 0 auto; }
.header nav { display:flex; align-items:center; }
.header nav a { color:#d7cec7; font-size:14px; padding:7px 34px; border-left:1px solid rgba(173,163,155,.55); transition:.2s; }
.header nav a:hover { color:var(--lime); }
.headerCta { font:600 14px var(--font-condensed); text-transform:uppercase; letter-spacing:.04em; display:flex; gap:30px; align-items:center; color:var(--lime); }
.heroGrid { display:grid; grid-template-columns:49% 51%; min-height:calc(100vh - 94px); }
.heroCopy { padding:55px 48px 105px 0; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; }
.eyebrow { margin:0 0 24px 0; color:var(--steel); text-transform:uppercase; letter-spacing:.12em; font-size:16px; }
.hero h1 { max-width:780px; margin:0; font:800 clamp(62px,5.45vw,105px)/.83 var(--font-condensed); letter-spacing:-.045em; text-transform:uppercase; }
.heroMeta { border-top:1px solid var(--lime); margin-top:34px; padding-top:24px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:22px 26px; }
.heroMeta>p { grid-column:1/-1; margin:0; color:#ded6d0; font-size:22px; }
.limeSquare { display:inline-block; width:8px; height:8px; margin-right:18px; background:var(--lime); }
.primaryButton,.darkButton { background:var(--lime); color:var(--navy); min-height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 30px; font:800 23px var(--font-condensed); text-transform:uppercase; transition:.25s; }
.primaryButton:hover,.darkButton:hover { background:var(--ice); transform:translateY(-2px); }
.threeDays { min-width:185px; border-left:1px solid var(--lime); display:flex; gap:14px; align-items:center; padding-left:22px; }
.threeDays b { color:var(--lime); font:500 58px/1 var(--font-condensed); }
.threeDays span { font-size:12px; line-height:1.35; text-transform:uppercase; color:#dfd7d1; }
.heroVisual { position:relative; margin-right:calc((100vw - min(1440px, calc(100% - 80px)))/-2); min-height:720px; display:grid; grid-template-columns:2fr 1fr; grid-template-rows:55% 45%; border-left:1px solid rgba(235,142,74,.6); clip-path:polygon(24% 0,100% 0,100% 100%,0 100%,0 31%); }
.heroPhoto { background-position:center; background-size:cover; position:relative; filter:saturate(.72) contrast(1.06); }
.heroPhoto:after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(8,8,8,.05),rgba(8,8,8,.28)); }
.heroPhotoMain { grid-column:1/-1; background-image:url('../img/asset-plant.png'); }
.heroPhotoDetail { background-image:url('../img/asset-factory.png'); border-top:1px solid rgba(235,142,74,.55); }
.heroPhotoAutomation { background-image:url('../img/asset-automation.png'); border-left:1px solid rgba(235,142,74,.55); border-top:1px solid rgba(235,142,74,.55); }
.cross { position:absolute; color:var(--lime); font-size:28px; z-index:2; }
.crossOne { top:23px; left:27%; }.crossTwo { bottom:20px; left:-10px; }
.measure { position:absolute; left:-55px; top:20%; bottom:20%; width:25px; border-left:1px dashed rgba(173,163,155,.45); display:flex; flex-direction:column; justify-content:space-between; color:var(--steel); font-size:9px; }
.measure i { font-style:normal; padding-left:8px; }
.scrollHint { position:absolute; bottom:28px; left:40px; z-index:4; color:var(--steel); font-size:11px; text-transform:uppercase; letter-spacing:.12em; display:flex; gap:16px; align-items:center; }
.scrollHint span { color:var(--lime); }.scrollHint b { font-size:18px; }
.sectionIndex { color:#7d6e65; font-size:11px; letter-spacing:.15em; text-transform:uppercase; padding-top:9px; }
.manifesto { display:grid; grid-template-columns:1fr 3fr; gap:40px; }
.manifesto h2,.sectionHeading h2,.participation h2,.application h2 { font:700 clamp(54px,6vw,96px)/.93 var(--font-condensed); text-transform:uppercase; letter-spacing:-.04em; margin:0; }
h2 em { color:#81746b; font-style:normal; }
.manifesto .lead { font:500 clamp(24px,2.1vw,34px)/1.25 var(--font-inter); max-width:920px; margin:65px 0 28px; }
.manifesto div>p:last-child { max-width:760px; margin-left:auto; color:#6a5f58; font-size:17px; line-height:1.7; }
.numbers { border-top:1px solid #c9bdb4; border-bottom:1px solid #c9bdb4; padding-block:0; display:grid; grid-template-columns:repeat(3,1fr); }
.numbers div { min-height:220px; display:flex; align-items:center; gap:25px; padding:36px; border-right:1px solid #c9bdb4; }
.numbers div:last-child { border-right:0; }
.numbers b { color:var(--navy); font:700 90px/1 var(--font-condensed); }
.numbers span { font-size:13px; line-height:1.5; text-transform:uppercase; color:#72665f; }
.experience { display:grid; grid-template-columns:1fr 2fr; gap:80px; }
.sectionHeading h2 { margin-top:30px; }
.sectionHeading>p { margin:28px 0 0; color:#72665f; max-width:420px; line-height:1.65; }
.benefitGrid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #b5a79d; border-left:1px solid #b5a79d; }
.benefitCard { min-height:310px; padding:28px; border-right:1px solid #b5a79d; border-bottom:1px solid #b5a79d; position:relative; transition:.25s; }
.benefitCard:hover { background:var(--navy); color:var(--ice); transform:translateY(-4px); }
.benefitCard>span { color:#5f544d; font-size:11px; }
.benefitCard h3 { font:700 30px/1.02 var(--font-condensed); text-transform:uppercase; max-width:330px; margin:55px 0 20px; }
.benefitCard p { color:#5f544d; line-height:1.58; font-size:14.5px; font-weight:500; max-width:370px; }
.benefitCard:hover p,.benefitCard:hover>span { color:#e4d9d1; }
.benefitCard i { position:absolute; right:25px; top:20px; color:var(--lime); font-style:normal; font-size:28px; }
.quoteBand { background:var(--lime); overflow:hidden; }
.quoteBand p { margin:0; padding:26px 0; color:var(--navy); font:800 clamp(30px,4vw,58px)/1 var(--font-condensed); text-transform:uppercase; white-space:nowrap; letter-spacing:-.03em; }
.quoteBand span { margin:0 20px; }
.program { background:var(--navy); color:var(--ice); width:100%; max-width:none; padding-inline:max(40px,calc((100vw - 1440px)/2)); }
.program .sectionHeading { display:grid; grid-template-columns:.75fr 2.5fr .75fr; align-items:end; }
.program .sectionHeading h2 { font-size:clamp(48px,4.5vw,68px); line-height:1; white-space:nowrap; }
.program .sectionHeading p { margin:0 0 8px; color:var(--steel); text-align:right; }
.dayTabs { display:grid; grid-template-columns:repeat(3,1fr); margin-top:70px; border-top:1px solid #443a33; border-left:1px solid #443a33; }
.dayTabs button { border:0; border-right:1px solid #443a33; border-bottom:1px solid #443a33; background:transparent; color:var(--steel); padding:23px 25px; text-align:left; cursor:pointer; transition:.2s; }
.dayTabs button span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:13px; }
.dayTabs button b { font:600 24px var(--font-condensed); text-transform:uppercase; }
.dayTabs button.active { background:var(--lime); color:var(--navy); }
.schedule { display:grid; grid-template-columns:1fr 2fr; gap:70px; margin-top:70px; }
.scheduleTitle span { color:var(--lime); font:400 70px var(--font-condensed); }
.scheduleTitle h3 { font:700 40px/1.05 var(--font-condensed); text-transform:uppercase; margin:40px 0 0; max-width:420px; }
.scheduleList { border-top:1px solid #443a33; }
.scheduleItem { display:grid; grid-template-columns:155px 1fr 24px; gap:24px; padding:23px 6px; border-bottom:1px solid #443a33; align-items:start; }
.scheduleItem time { color:var(--lime); font:600 17px var(--font-condensed); }
.scheduleItem p { margin:0; line-height:1.55; color:#e3dbd5; }
.scheduleItem>span { color:var(--lime); }
.participation { background:var(--lime); }
.participationGrid { display:grid; grid-template-columns:1.25fr .75fr; gap:80px; }
.participation .sectionIndex { color:#744323; }.participation h2 { margin-top:40px; }
.participation h2 em { color:#7b4524; }
.participation h2 .scalePhrase { display:block; margin-top:.16em; font-size:1.08em; line-height:.92; letter-spacing:-.055em; color:#5f2f16; }
.priceCard { background:var(--navy); color:var(--ice); padding:45px; box-shadow:18px 18px 0 rgba(8,8,8,.16); }
.priceCard>span { color:var(--steel); font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.price { font:700 clamp(65px,7vw,105px)/1 var(--font-condensed); margin-top:30px; letter-spacing:-.04em; }
.price small { font-size:.45em; color:var(--lime); }
.increase { color:var(--lime); text-transform:uppercase; font:600 18px var(--font-condensed); border-bottom:1px solid #443a33; padding-bottom:25px; }
.priceCard ul { list-style:none; padding:10px 0; margin:0; }
.priceCard li { padding:12px 0 12px 25px; border-bottom:1px solid #332a24; color:#d9d0ca; font-size:13px; position:relative; }
.priceCard li:before { content:"+"; color:var(--lime); position:absolute; left:0; }
.darkButton { margin-top:26px; }
.application { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.application h2 { margin-top:34px; }
.applicationIntro>p { color:#72665f; line-height:1.7; max-width:500px; }
.application form { display:flex; flex-direction:column; gap:24px; padding-top:15px; }
.application label { color:#72665f; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.application input { width:100%; border:0; border-bottom:1px solid #b5a79d; padding:15px 0; background:transparent; font-size:18px; color:var(--navy); outline:0; }
.application input:focus { border-color:var(--lime); box-shadow:0 2px 0 var(--lime); }
.application button { border:0; min-height:76px; background:var(--navy); color:var(--ice); display:flex; align-items:center; justify-content:space-between; padding:0 28px; font:700 22px var(--font-condensed); text-transform:uppercase; cursor:pointer; }
.application button span { color:var(--lime); }.application small { color:#8b7d74; line-height:1.5; }
.formMessage { color:#6f3617; background:#f7d9c4; padding:14px; margin:0; font-size:13px; line-height:1.5; }
footer { background:var(--navy); color:var(--ice); padding:55px 0; }
.footerGrid { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; }
.footerGrid p { margin:0; color:var(--steel); font-size:13px; line-height:1.5; }.footerGrid>a:last-child { color:var(--lime); font-size:13px; }

@media (max-width:1100px) {
  .shell { width:min(100% - 40px, 1000px); }
  .header { grid-template-columns:220px 1fr; }.header nav { justify-content:flex-end; }.headerCta { display:none; }.header nav a { padding-inline:18px; }
  .heroGrid { grid-template-columns:1fr; }.heroCopy { min-height:690px; padding-right:0; }.heroVisual { min-height:650px; margin-inline:-20px; clip-path:polygon(15% 0,100% 0,100% 100%,0 100%,0 17%); }
  .hero { min-height:auto; }.scrollHint { display:none; }
  .experience,.participationGrid { grid-template-columns:1fr; }.schedule { grid-template-columns:1fr 2fr; gap:35px; }
}
@media (max-width:720px) {
  .shell { width:calc(100% - 32px); }.section { padding-block:82px; }
  .header { height:72px; display:flex; justify-content:space-between; }.wordmark { font-size:23px; }.header nav { display:none; }
  .heroCopy { min-height:640px; padding:45px 0 55px; justify-content:flex-start; }.eyebrow { font-size:10px; line-height:1.5; max-width:250px; }
  .hero h1 { font-size:clamp(48px,14.8vw,68px); line-height:.86; margin-top:22px; }
  .heroMeta { margin-top:auto; grid-template-columns:1fr; }.heroMeta>p { font-size:15px; }.threeDays { display:none; }.primaryButton { min-height:68px; }
  .measure { display:none; }.heroVisual { min-height:510px; grid-template-columns:1fr 1fr; grid-template-rows:57% 43%; }
  .manifesto { grid-template-columns:1fr; gap:35px; }.manifesto h2,.sectionHeading h2,.participation h2,.application h2 { font-size:48px; }.manifesto .lead { margin-top:42px; font-size:21px; }.manifesto div>p:last-child { font-size:15px; }
  .numbers { grid-template-columns:1fr; }.numbers div { min-height:150px; border-right:0; border-bottom:1px solid #c9bdb4; padding:24px 8px; }.numbers div:last-child { border-bottom:0; }.numbers b { font-size:72px; }
  .experience { gap:48px; }.benefitGrid { grid-template-columns:1fr; }.benefitCard { min-height:260px; }.benefitCard h3 { margin-top:45px; font-size:28px; }
  .quoteBand p { font-size:31px; padding:21px 0; }
  .program { padding-inline:16px; }.program .sectionHeading { display:block; }.program .sectionHeading p { text-align:left; }.dayTabs { margin-top:45px; }.dayTabs button { padding:16px 10px; }.dayTabs button b { font-size:17px; }.dayTabs button span { font-size:8px; }
  .schedule { grid-template-columns:1fr; margin-top:45px; }.scheduleTitle { display:flex; gap:20px; align-items:center; }.scheduleTitle span { font-size:48px; }.scheduleTitle h3 { margin:0; font-size:29px; }
  .scheduleItem { grid-template-columns:100px 1fr; gap:15px; padding-block:19px; }.scheduleItem>span { display:none; }.scheduleItem time { font-size:15px; }.scheduleItem p { font-size:13px; }
  .participationGrid { gap:45px; }.priceCard { padding:28px 22px; box-shadow:8px 8px 0 rgba(8,8,8,.16); }.price { font-size:67px; }
  .application { grid-template-columns:1fr; gap:45px; }.footerGrid { grid-template-columns:1fr auto; gap:30px; }.footerGrid p { grid-column:1/-1; grid-row:2; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

/* Fixed navigation */
.siteHeader { position:fixed; inset:0 0 auto; z-index:50; background:rgba(8,8,8,.9); color:var(--ice); border-bottom:1px solid rgba(173,163,155,.3); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.siteHeader .header { height:68px; border:0; }
.siteHeader .wordmark { font-size:22px; }
.siteHeader .header nav a { padding-block:4px; }
.siteHeader .headerCta { border-left:1px solid rgba(173,163,155,.4); padding-left:30px; }
.menuButton,.mobileMenu { display:none; }
.hero { padding-top:68px; }
.heroGrid { min-height:calc(100vh - 68px); }
.heroEyebrowRow { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.heroEyebrowRow .eyebrow { margin:0; }
.clubLink { flex:0 0 auto; color:var(--lime); border-bottom:1px solid rgba(235,142,74,.55); padding:5px 0; font:600 12px var(--font-condensed); letter-spacing:.07em; text-transform:uppercase; transition:.2s; }
.clubLink:hover { color:var(--ice); border-color:var(--ice); }

/* Expedition photography */
.manifesto { display:block; }
.manifesto>.sectionIndex { margin-bottom:28px; }
.aboutStory { min-height:660px; position:relative; overflow:hidden; background:var(--navy); clip-path:polygon(0 0,96% 0,100% 8%,100% 100%,0 100%); }
.aboutStory:after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(8,8,8,.96) 0%,rgba(8,8,8,.84) 43%,rgba(8,8,8,.3) 73%,rgba(8,8,8,.53) 100%); pointer-events:none; }
.aboutBackdrop { position:absolute; inset:0; margin:0; }
.aboutBackdrop img,.aboutInset img,.experiencePhoto img,.experienceCommunity img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.06); transition:transform .7s ease,filter .7s ease; }
.aboutOverlay { position:relative; z-index:2; width:65%; max-width:820px; min-height:660px; padding:58px 58px 72px; display:flex; flex-direction:column; justify-content:center; color:var(--ice); }
.aboutOverlay h2 { font-size:clamp(50px,5.2vw,82px); }
.aboutOverlay h2 em { color:var(--lime); }
.aboutOverlay .lead { max-width:690px; margin:42px 0 22px; color:var(--ice); font-size:clamp(21px,1.7vw,28px); }
.manifesto .aboutOverlay>p:last-child { max-width:650px; margin:0; color:#ddd4ce; font-size:15px; line-height:1.65; }
.aboutInset { position:absolute; z-index:3; right:34px; bottom:34px; width:29%; height:46%; margin:0; overflow:hidden; border:1px solid rgba(235,142,74,.7); clip-path:polygon(0 10%,12% 0,100% 0,100% 100%,0 100%); }
.aboutInset:after,.experiencePhoto:before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,transparent 52%,rgba(8,8,8,.82)); }
.aboutInset figcaption { position:absolute; z-index:2; left:20px; right:20px; bottom:17px; display:flex; gap:10px; color:var(--ice); font:600 11px var(--font-condensed); letter-spacing:.07em; text-transform:uppercase; }
.aboutInset figcaption span,.aboutCaption span { color:var(--lime); }
.aboutCaption { position:absolute; z-index:2; left:58px; bottom:28px; display:flex; gap:12px; color:#d9d0ca; font:600 10px var(--font-condensed); letter-spacing:.1em; text-transform:uppercase; }
.aboutStory:hover .aboutBackdrop img,.aboutInset:hover img,.experiencePhoto:hover img,.experienceCommunity:hover img { transform:scale(1.025); filter:saturate(.95) contrast(1.02); }
.experiencePhoto { margin:55px 0 0; position:relative; overflow:hidden; background:var(--navy); height:280px; clip-path:polygon(0 0,88% 0,100% 18%,100% 100%,0 100%); }
.experiencePhoto figcaption { position:absolute; z-index:2; inset:auto 22px 19px; color:var(--ice); display:flex; justify-content:space-between; align-items:end; gap:12px; }
.experiencePhoto figcaption span { color:var(--lime); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.experiencePhoto figcaption b { font:600 15px var(--font-condensed); text-transform:uppercase; }
.experienceGallery { margin-top:38px; }
.experienceCommunity { width:100%; margin:14px 0 0; position:relative; z-index:0; overflow:hidden; background:var(--navy); border-top:2px solid var(--lime); }
.experienceCommunity img { height:auto; aspect-ratio:16/10; object-position:center 48%; }
.experienceCommunity figcaption { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px 14px; color:var(--ice); background:var(--navy); }
.experienceCommunity figcaption span { color:var(--lime); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.experienceCommunity figcaption b { font:600 12px var(--font-condensed); text-align:right; text-transform:uppercase; }

/* Application form */
.application form { min-width:0; }
.formProgress { display:flex; align-items:center; gap:18px; color:#72665f; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.formProgress>i { flex:1; height:2px; background:#d8cec6; overflow:hidden; }
.formProgress>i b { display:block; height:100%; background:var(--lime); transition:width .35s ease; }
.formStep { margin:0; padding:0; border:0; display:flex; flex-direction:column; gap:24px; min-width:0; }
.formColumns { display:grid; grid-template-columns:1fr 1fr; gap:22px 28px; }
.application select { width:100%; border:0; border-bottom:1px solid #b5a79d; border-radius:0; padding:15px 0; background:transparent; font-size:18px; color:var(--navy); outline:0; }
.application select:focus { border-color:var(--lime); box-shadow:0 2px 0 var(--lime); }
.application button:disabled { cursor:wait; opacity:.65; }
.formActions { display:grid; grid-template-columns:.36fr 1fr; gap:12px; }
.application .secondaryFormButton { background:transparent; border:1px solid #b5a79d; color:var(--navy); justify-content:center; padding-inline:16px; }
.application small a { text-decoration:underline; text-underline-offset:3px; }
.formMessage { color:#6f3617; }
.formMessage:not(:last-child) { margin-bottom:0; }

/* Footer */
footer { padding:72px 0 32px; }
.footerGrid { display:grid; grid-template-columns:1fr 1fr auto; align-items:start; gap:55px 70px; }
.footerBrand p { margin:22px 0 0; color:var(--steel); font-size:13px; line-height:1.5; }
.footerContacts { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.footerContacts>a:first-child { color:#e1d9d3; font-size:14px; border-bottom:1px solid #443a33; padding-bottom:5px; }
.coordinatorButton { min-height:54px; padding:0 22px; display:flex; align-items:center; background:var(--lime); color:var(--navy); font:700 15px var(--font-condensed); text-transform:uppercase; transition:.2s; }
.coordinatorButton:hover { background:var(--ice); transform:translateY(-2px); }
.socials { display:flex; gap:9px; }
.socials a { width:44px; height:44px; display:grid; place-items:center; transition:.2s; }
.socials img { display:block; width:40px; height:40px; transition:transform .2s,filter .2s; }
.socials a:hover { transform:translateY(-2px); }
.socials a:hover img { transform:scale(1.08); filter:drop-shadow(0 0 8px rgba(235,142,74,.32)); }
.footerLegal { grid-column:1/-1; border-top:1px solid #332a24; padding-top:25px; display:flex; flex-wrap:wrap; gap:20px 36px; color:var(--steel); font-size:11px; }
.footerLegal span { margin-right:auto; }
.footerLegal a:hover { color:var(--lime); }

/* Reveal motion only after JS is ready */
.reveal-ready [data-reveal] { opacity:0; transform:translateY(28px); transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.2,1); }
.reveal-ready [data-reveal].is-visible { opacity:1; transform:translateY(0); }

@media (max-width:1100px) {
  .siteHeader .header { grid-template-columns:248px 1fr auto; }
  .siteHeader .headerCta { display:flex; margin-left:18px; padding-left:18px; }
  .siteHeader .header nav a { padding-inline:13px; }
  .heroEyebrowRow { align-items:flex-start; }
  .aboutOverlay { width:74%; }
  .aboutInset { width:34%; }
  .footerGrid { grid-template-columns:1fr 1fr; }
  .socials { justify-self:end; }
}

@media (max-width:820px) {
  body.menu-open { overflow:hidden; }
  .siteHeader .desktopNav,.siteHeader .headerCta { display:none; }
  .siteHeader .header { display:grid; grid-template-columns:1fr auto; }
  .menuButton { width:46px; height:46px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; padding:0; border:0; background:transparent; cursor:pointer; }
  .menuButton span { display:block; width:25px; height:2px; background:var(--lime); transition:transform .28s ease,opacity .2s ease; }
  .menuButton.active span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
  .menuButton.active span:nth-child(2) { opacity:0; }
  .menuButton.active span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
  .mobileMenu { position:fixed; display:block; inset:68px 0 0; z-index:49; background:rgba(8,8,8,.98); color:var(--ice); opacity:0; visibility:hidden; transform:translateY(-14px); transition:opacity .28s ease,transform .28s ease,visibility .28s; }
  .mobileMenu.open { opacity:1; visibility:visible; transform:translateY(0); }
  .mobileMenuInner { height:100%; display:flex; flex-direction:column; padding-block:34px; }
  .mobileMenuInner>a { display:flex; align-items:center; gap:20px; padding:21px 0; border-bottom:1px solid #332a24; font:700 clamp(30px,7vw,48px)/1 var(--font-condensed); text-transform:uppercase; }
  .mobileMenuInner>a span { color:var(--lime); font:500 10px var(--font-inter); letter-spacing:.12em; }
  .mobileMenuInner .mobileMenuCta { margin-top:auto; padding:22px 25px; border:0; background:var(--lime); color:var(--navy); justify-content:space-between; font-size:24px; }
  .mobileMenuCta b { font-weight:500; }
  .aboutStory { min-height:810px; clip-path:polygon(0 0,94% 0,100% 5%,100% 100%,0 100%); }
  .aboutStory:after { background:linear-gradient(180deg,rgba(8,8,8,.94) 0%,rgba(8,8,8,.8) 57%,rgba(8,8,8,.45) 100%); }
  .aboutOverlay { width:100%; min-height:auto; padding:46px 34px 30px; justify-content:flex-start; }
  .aboutOverlay h2 { font-size:clamp(43px,9vw,64px); }
  .aboutOverlay .lead { margin-top:30px; }
  .aboutInset { right:22px; bottom:22px; width:54%; height:30%; }
  .aboutCaption { left:34px; bottom:28px; max-width:27%; }
  .formColumns { grid-template-columns:1fr; }
}

@media (max-width:720px) {
  .siteHeader .header { height:62px; }
  .siteHeader .wordmark { font-size:19px; }
  .siteHeader .brandMark { width:28px; height:28px; }
  .mobileMenu { inset-block-start:62px; }
  .hero { padding-top:62px; }
  .heroGrid { min-height:auto; }
  .heroEyebrowRow { flex-direction:column; gap:12px; margin-bottom:6px; }
  .clubLink { font-size:11px; }
  .aboutStory { min-height:880px; }
  .aboutOverlay { padding:38px 24px 24px; }
  .aboutOverlay h2 { font-size:42px; }
  .aboutOverlay .lead { font-size:20px; }
  .manifesto .aboutOverlay>p:last-child { font-size:14px; }
  .aboutInset { width:68%; height:27%; right:16px; bottom:16px; }
  .aboutCaption { left:24px; bottom:28px; max-width:22%; }
  .experiencePhoto { height:230px; margin-top:38px; }
  .footerGrid { grid-template-columns:1fr; gap:38px; }
  .socials { justify-self:start; }
  .footerLegal { display:grid; grid-template-columns:1fr; gap:14px; }
  .footerLegal span { margin:0 0 8px; }
  .formActions { grid-template-columns:1fr; }
  .application .secondaryFormButton { min-height:54px; order:2; }
}

@media (min-width:821px) and (max-width:1440px) {
  .section { padding-block:90px; }
  .manifesto>.sectionIndex { margin-bottom:22px; }
  .aboutStory,.aboutOverlay { min-height:600px; }
  .aboutOverlay { padding-block:44px 62px; }
  .experience { gap:58px; }
  .dayTabs,.schedule { margin-top:52px; }
  .participationGrid { gap:58px; }
  .application { gap:72px; }
}

@media (prefers-reduced-motion:reduce) {
  .reveal-ready [data-reveal] { opacity:1; transform:none; }
}

/* Responsive composition refinements */
.section { padding-block:84px; }
.manifesto { padding-bottom:34px; }
.experience { padding-top:34px; }
.manifesto>.sectionIndex { margin-bottom:18px; }

.hero h1 { width:100%; max-width:100%; font-size:clamp(48px,4vw,80px); line-height:1.02; overflow-wrap:normal; hyphens:none; }
.heroCopy { min-width:0; padding-right:36px; }
.heroEyebrowRow { align-items:center; }
.heroEyebrowRow .eyebrow { white-space:nowrap; }
.clubLink { min-height:42px; padding:9px 13px 9px 15px; border:1px solid rgba(235,142,74,.58); background:rgba(235,142,74,.04); display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--ice); font:600 14px var(--font-condensed); letter-spacing:.07em; white-space:nowrap; }
.clubLink b { display:inline-block; color:var(--lime); font-size:16px; line-height:1; font-weight:700; }
.clubLink:hover { border-color:var(--lime); background:rgba(235,142,74,.1); color:var(--lime); transform:translateY(-1px); }
.scrollHint { gap:12px; }

.aboutStory,.aboutOverlay { min-height:580px; }
.aboutOverlay { width:72%; max-width:900px; padding-block:46px 54px; }
.aboutStory:after { background:linear-gradient(90deg,rgba(8,8,8,.96) 0%,rgba(8,8,8,.84) 51%,rgba(8,8,8,.24) 100%); }

.experiencePhoto { height:auto; margin:0; aspect-ratio:16/10; clip-path:none; border-top:2px solid var(--lime); }
.experiencePhoto:before { display:none; }
.experiencePhoto img { position:static; z-index:auto; object-position:center; filter:none; transform:none; }
.experiencePhoto figcaption { inset:auto 0 0; padding:14px 16px; background:rgba(8,8,8,.88); }
section[id] { scroll-margin-top:68px; }

.participation h2 .scalePhrase { font-size:1.08em; line-height:.94; margin-top:.18em; transform-origin:50% 50%; }

.quoteTrack { display:flex; width:max-content; animation:quote-marquee 28s linear infinite; will-change:transform; }
.quoteTrack p { flex:none; padding-right:46px; }
.quoteTrack p i { margin-left:20px; font-style:normal; }
.quoteBand:hover .quoteTrack { animation-play-state:paused; }
@keyframes quote-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

@media (min-width:1101px) and (max-width:1500px) {
  .heroGrid { grid-template-columns:54% 46%; }
  .heroEyebrowRow { gap:14px; }
  .heroEyebrowRow .eyebrow { white-space:nowrap; }
  .hero h1 { font-size:clamp(42px,3.4vw,53px); line-height:1.05; }
  .heroCopy { padding-block:42px 76px; padding-right:30px; }
  .heroMeta { margin-top:26px; }
}

@media (min-width:1101px) and (max-width:1250px) {
  .heroGrid { grid-template-columns:60% 40%; }
  .clubLink { gap:12px; padding-inline:12px; font-size:13px; }
}

@media (min-width:821px) and (max-width:1440px) {
  .section { padding-block:64px; }
  .manifesto { padding-bottom:30px; }
  .experience { padding-top:30px; }
  .aboutStory,.aboutOverlay { min-height:550px; }
  .aboutOverlay { padding-block:38px 46px; }
  .experienceGallery { margin-top:38px; }
}

@media (max-width:1100px) {
  .hero { min-height:100svh; }
  .heroGrid { position:relative; display:block; min-height:calc(100svh - 68px); isolation:isolate; }
  .heroGrid:after { content:""; position:absolute; inset-block:0; left:50%; width:100vw; z-index:1; background:linear-gradient(90deg,rgba(8,8,8,.97) 0%,rgba(8,8,8,.85) 58%,rgba(8,8,8,.48) 100%); transform:translateX(-50%); pointer-events:none; }
  .heroCopy { position:relative; z-index:2; width:100%; max-width:780px; min-height:calc(100svh - 68px); padding:48px 0 58px; }
  .hero h1 { max-width:760px; font-size:clamp(44px,6.5vw,62px); line-height:1.02; }
  .heroVisual { position:absolute; inset-block:0; left:50%; width:100vw; z-index:0; min-height:0; margin:0; border:0; clip-path:none; transform:translateX(-50%); }
  .heroPhoto:after { background:rgba(8,8,8,.2); }
  .heroMeta { max-width:650px; grid-template-columns:minmax(260px,1fr) auto; }
  .primaryButton { min-width:0; }
  .threeDays { min-width:170px; }
}

@media (max-width:720px) {
  .section { padding-block:52px; }
  .manifesto { padding-bottom:26px; }
  .experience { padding-top:26px; }
  .heroGrid { min-height:calc(100svh - 62px); }
  .heroGrid:after { background:linear-gradient(180deg,rgba(8,8,8,.88) 0%,rgba(8,8,8,.66) 48%,rgba(8,8,8,.84) 100%); }
  .heroCopy { max-width:none; min-height:calc(100svh - 62px); padding:clamp(38px,7vh,66px) 0; justify-content:center; }
  .heroEyebrowRow { gap:18px; margin-bottom:26px; }
  .heroEyebrowRow .eyebrow { max-width:none; font-size:14px; line-height:1.45; letter-spacing:.09em; }
  .clubLink { width:max-content; max-width:100%; min-height:40px; padding:8px 11px 8px 13px; font-size:13px; }
  .hero h1 { margin-top:0; max-width:100%; font-size:clamp(28px,8.5vw,36px); line-height:.96; letter-spacing:-.03em; }
  .program .sectionHeading h2 { font-size:48px; white-space:normal; }
  .heroMeta { max-width:none; margin-top:36px; padding-top:22px; grid-template-columns:1fr; gap:22px; }
  .heroMeta>p { font-size:18px; }
  .primaryButton { width:100%; min-height:58px; padding-inline:20px; font-size:19px; }
  .threeDays { width:100%; min-width:0; min-height:0; display:flex; justify-content:flex-start; align-items:center; gap:22px; padding:20px 0 0; border-left:0; border-top:1px solid rgba(235,142,74,.6); border-bottom:0; background:transparent; text-align:left; }
  .threeDays b { font-size:68px; line-height:1; text-align:left; }
  .threeDays span { max-width:none; font-size:12.5px; line-height:1.52; letter-spacing:.075em; }
  .threeDays span br { display:initial; }
  .heroVisual { display:block; }
  .heroPhotoMain { position:absolute; inset:0; background-position:64% center; }
  .heroPhotoDetail,.heroPhotoAutomation,.heroVisual .cross { display:none; }
  .aboutStory,.aboutOverlay { min-height:680px; }
  .aboutOverlay { padding:32px 22px 36px; }
  .aboutOverlay h2 { font-size:clamp(38px,10.5vw,48px); }
  .aboutOverlay .lead { margin-top:28px; font-size:19px; }
  .manifesto .aboutOverlay>p:last-child { font-size:13px; line-height:1.58; }
  .experienceGallery { margin-top:30px; }
  .experiencePhoto { height:auto; aspect-ratio:16/10; }
  .experienceCommunity { margin-top:12px; }
  .quoteTrack { animation-duration:17s; }
  .quoteTrack p { padding-block:20px; padding-right:34px; font-size:31px; }
  .quoteTrack p i { margin-left:14px; }
  .participation h2 .scalePhrase { font-size:1.04em; line-height:1; margin-top:.22em; }
}

@media (max-width:390px) {
  .hero h1 { font-size:clamp(27px,8.3vw,33px); }
  .heroCopy { padding-top:22px; }
  .clubLink { font-size:12px; gap:12px; }
  .aboutStory,.aboutOverlay { min-height:720px; }
}

@media (prefers-reduced-motion:reduce) {
  .quoteTrack { width:100%; animation:none; }
  .quoteTrack p { white-space:normal; padding-inline:20px; }
  .quoteTrack p[aria-hidden="true"] { display:none; }
}
