.camp-hero{background:var(--black);color:var(--white);padding:40px 0 64px}.camp-hero>.wrap>a{font-size:13px}.camp-title{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:end;margin-top:38px}.camp-title h1{font-size:clamp(56px,6.2vw,90px);overflow-wrap:normal}.camp-title p{margin:24px 0}.camp-title .camp-tagline{font:700 clamp(28px,3vw,44px)/1.05 var(--display);color:var(--gold);margin:0 0 6px}.camp-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;padding-block:80px}.camp-intro p{color:var(--muted)}.camp-intro figure{margin:0}.camp-intro img{width:100%;height:auto}.camp-intro figcaption{font-size:11px;color:var(--muted);margin-top:10px}.camp-schedule{background:var(--paper);padding-block:72px}.camp-columns{display:grid;grid-template-columns:.85fr 1.25fr;gap:80px}.camp-columns>div:first-child p{font-size:14px;max-width:36ch;color:var(--muted)}.schedule-row{padding:20px 0;border-bottom:1px solid #d8d8d0}.schedule-row:first-child{padding-top:0}.schedule-row h3{font:700 18px/1.4 var(--body);letter-spacing:0}.schedule-row p{font-size:14px;color:var(--muted);margin:8px 0 0}.camp-director{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:80px;border-bottom:1px solid #d8d8d0}.camp-director h3{font-size:40px}.camp-note{font-size:12px;margin-top:24px!important}.camp-faq details p{white-space:pre-line}.camp-faq summary{min-height:44px}.camp-faq details{padding-block:16px}footer>div{flex-wrap:wrap;max-width:440px}footer>div a{min-height:44px;display:inline-flex;align-items:center}@media(max-width:800px){.camp-title,.camp-intro,.camp-columns,.camp-director{grid-template-columns:1fr;gap:30px}.camp-hero{padding-block:30px 40px}.camp-title{margin-top:28px}.camp-title h1{font-size:clamp(44px,11.5vw,76px)}.camp-title .camp-tagline{font-size:28px}.camp-intro,.camp-director{padding-block:48px}.camp-schedule{padding-block:48px}.camp-columns>div:first-child p{max-width:65ch}.schedule-row h3{font-size:16px}.camp-faq{gap:20px}}

/* Camp sections: heading first, then chronological column halves. */
.camp-section-stack{display:block}
.camp-section-stack>div:first-child{margin-bottom:36px}
.camp-section-stack>div:first-child p{max-width:65ch}
.camp-halves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:start}
.camp-half{min-width:0}
@media(max-width:800px){.camp-section-stack>div:first-child{margin-bottom:28px}.camp-halves{grid-template-columns:1fr;gap:0}.camp-half+.camp-half .schedule-row:first-child{padding-top:20px}}

/* Supplied training photograph: retain the complete frame at every width. */
.camp-intro--full-photo{grid-template-columns:1fr;gap:36px}
.camp-intro--full-photo>div{max-width:75ch}
.camp-intro--full-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
