/* Archive editions: a shared identity, three distinct photographic stories. */
.camp-creative{--ink:#241132;--purple:#5017bd;--orange:#ff7c18;--peach:#ffb373}
.camp-creative section[id]{scroll-margin-top:80px}.camp-creative .story-copy{min-width:0}.camp-creative .camp-jump{justify-content:center;gap:clamp(24px,6vw,96px)}
/* 2023: a cover photograph with an editorial title anchored to the bottom. */
.camp-creative[data-year="2023"] .camp-hero{display:grid;grid-template-columns:1fr;min-height:85vh;background:var(--ink)}
.camp-creative[data-year="2023"] .camp-cover{grid-area:1/1;position:relative}
.camp-creative[data-year="2023"] .camp-cover:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,9,29,.42),transparent 28%,rgba(20,9,29,.83))}
.camp-creative[data-year="2023"] .camp-hero-copy{grid-area:1/1;justify-content:end;max-width:100%;padding-bottom:70px;pointer-events:none}
.camp-creative[data-year="2023"] .camp-hero h1{font-size:clamp(40px,6.2vw,96px);max-width:1100px;margin-bottom:22px}
.camp-creative[data-year="2023"] .camp-cover-year{display:none}
.camp-creative[data-year="2023"] .camp-hero .camp-heading{max-width:none}
.first-camp-facts{background:#fff;padding-top:72px;padding-bottom:80px}.first-camp-facts .camp-facts{gap:50px 32px;align-items:start}.first-camp-facts .camp-facts article:nth-child(2){padding-top:90px}.first-camp-facts .camp-facts article:nth-child(3n+4){padding-top:48px}.first-camp-facts .camp-facts article:last-child{padding-top:0}.first-camp-facts .fact-title{color:var(--ink)}
/* A totals band is independent of the photograph's width. */
.camp-creative .camp-totals{background:var(--ink);color:white;padding-bottom:56px}
.camp-creative .camp-totals .story-intro{display:flex;flex-direction:column;margin:0;min-height:0}
.camp-creative .camp-totals .story-copy{display:block;padding:0 0 28px}
.camp-creative .camp-totals .story-copy .camp-heading{font-size:clamp(30px,4vw,58px);margin:0}
.camp-creative .camp-totals .story-lead img{height:clamp(280px,37vw,560px);max-height:none;aspect-ratio:auto}
.camp-creative .camp-totals .camp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:36px 0 44px;margin:0}
.camp-creative[data-year="2024"] .camp-totals .camp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.camp-creative .camp-stats span{min-width:0;display:block}.camp-creative .camp-stats b{display:block;font-size:clamp(30px,5vw,76px);line-height:1.1;letter-spacing:-.05em;color:var(--peach);white-space:nowrap}.camp-creative .camp-stats small{display:block;font-size:14px;margin-top:12px}
/* 2024: the anniversary is the visual centre of the story. */
.camp-creative[data-year="2024"] .camp-hero{grid-template-columns:58% 42%}
.camp-creative[data-year="2024"] .camp-cover-year{right:3%;bottom:20px;font-size:clamp(90px,12vw,180px)}
.camp-creative .anniversary-chapter{background:var(--purple);color:white}
.camp-creative .anniversary-chapter .story-intro{grid-template-columns:40% 60%;min-height:560px}
.camp-creative .anniversary-chapter .story-copy{display:flex;grid-column:1;grid-row:1;padding:0 40px 20px 0}
.camp-creative .anniversary-chapter .story-lead{grid-column:2;grid-row:1}
.anniversary-number{font:400 clamp(130px,20vw,290px)/1 'Dela Gothic One',sans-serif;letter-spacing:-.09em;color:var(--peach);margin-left:-.04em}
.camp-creative .anniversary-chapter .story-copy .camp-heading{font-size:clamp(26px,3vw,42px);margin-top:24px}
.camp-creative .anniversary-chapter .story-lead img{max-height:650px;height:100%;object-fit:cover}
/* 2025: a three-day itinerary, followed by full-width photographic chapter openers. */
.day-tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:46px;background:var(--ink);color:white}
.day-tickets a{display:flex;align-items:center;gap:20px;padding:26px;text-decoration:none;min-width:0}.day-tickets a:nth-child(2){background:var(--orange);color:var(--ink)}.day-tickets a:nth-child(3){background:var(--purple)}.day-tickets a>span{font:400 44px/1 'Dela Gothic One',sans-serif}.day-tickets small{display:block;font-size:11px;margin-bottom:7px}.day-tickets b{font-size:16px;line-height:1.3;display:block}.day-tickets em{font-style:normal;margin-left:auto;font-size:24px}.day-tickets a:hover b{text-decoration:underline;text-underline-offset:4px}
.camp-creative .camp-day{padding-top:0;padding-bottom:70px;background:white;color:var(--ink)}
.camp-creative .camp-day .story-intro{display:grid;grid-template-columns:1fr;position:relative;isolation:isolate;min-height:580px;margin-bottom:0}
.camp-creative .camp-day .story-lead{grid-area:1/1;min-height:580px;position:relative;z-index:0}
.camp-creative .camp-day .story-lead:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(22,9,31,.88));pointer-events:none}
.camp-creative .camp-day .story-lead img{max-height:none;height:580px;aspect-ratio:auto}
.camp-creative .camp-day .story-copy{display:flex;grid-area:1/1;z-index:1;color:white;justify-content:end;align-self:end;padding:40px;pointer-events:none}
.camp-creative .camp-day .camp-chapter-no{color:var(--peach);font-size:clamp(68px,9vw,140px);line-height:1;margin-bottom:24px}
.camp-creative .camp-day .story-copy .camp-heading{font-size:clamp(34px,4.8vw,72px);line-height:1.12;margin:12px 0 0;max-width:900px}
.day-date{font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.day-program{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:32px 0 38px}.day-program .edition-overline{margin:0;color:var(--purple)}.day-program .camp-text{font-size:15px;line-height:1.9}.camp-creative .camp-day .camp-mosaic{grid-template-columns:1.4fr 1fr;align-items:center}.camp-creative .camp-day .camp-mosaic img{aspect-ratio:1.55}.camp-creative .camp-day .camp-mosaic a:nth-child(2){padding:25px 0 25px 15px}.camp-creative .camp-day .camp-mosaic a:nth-child(2) img{aspect-ratio:1.1}
/* Sponsors: a quiet, well-proportioned brand wall and a true headline partnership. */
.camp-partners{padding:80px var(--nnc-pad);background:white;color:var(--ink)}
.partners-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start;margin-bottom:50px}.partners-heading h2,.team-title{font:400 clamp(28px,3.8vw,56px)/1.15 'Dela Gothic One',sans-serif;letter-spacing:-.035em}.partners-heading .edition-overline{color:var(--purple);margin-top:10px}
.partner-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
.partner-mark{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 12px}.partner-mark a{display:flex;align-items:center;justify-content:center;width:100%;height:108px}.partner-mark img{width:100%;max-width:200px;height:100%;object-fit:contain;transition:transform .2s}.partner-mark a:hover img{transform:scale(1.04)}.partner-mark figcaption{font-size:11px;color:#716776;margin-top:22px;text-align:center}
.partner-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:white;margin-bottom:32px;align-items:center}.partner-feature .partner-mark{background:white;margin:24px;min-height:200px}.partner-feature .partner-mark a{height:130px}.partner-feature .partner-mark img{max-width:310px}.partner-feature .partner-mark figcaption{display:none}.partner-feature>div{padding:35px}.partner-feature .edition-overline{color:var(--peach);margin-bottom:16px}.partner-feature h3{font:400 clamp(24px,2.5vw,40px)/1.2 'Dela Gothic One',sans-serif;margin-bottom:16px}.partner-feature p:not(.edition-overline){font-size:14px;max-width:350px}.partner-feature>div>a{display:inline-block;margin-top:22px;font-size:13px;text-underline-offset:4px}
/* Credits are an editorial finale, not another card grid. */
.camp-team{padding:80px var(--nnc-pad);background:var(--ink);color:white}.camp-team>.edition-overline{color:var(--peach)}.team-title{margin-bottom:38px;max-width:960px}.team-photo{display:block;margin-bottom:44px}.team-photo img{width:100%;height:auto;max-height:620px;object-fit:cover}
.team-credits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 44px}.team-role{min-width:0}.team-credits .camp-heading{font:500 11px/1.4 Onest,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--peach);margin-bottom:14px}.team-credits .camp-text{font-size:15px;line-height:1.8}.team-credits a{text-underline-offset:4px;text-decoration-thickness:1px}.team-founders{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:0 0 34px;border-bottom:1px solid #ffffff30}.team-founders .camp-text{font:400 clamp(22px,2.2vw,32px)/1.6 'Dela Gothic One',sans-serif}.team-organizers{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:40px}.team-organizers>div.camp-text{columns:2;column-gap:36px}.team-thanks{grid-column:1/-1;max-width:700px;padding-top:24px}.team-note{padding:28px 0 0;color:var(--peach);font-size:14px}
@media(max-width:1000px){.day-tickets a{padding:20px 16px;gap:12px}.day-tickets a>span{font-size:32px}.day-tickets b{font-size:14px}.partner-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.camp-creative[data-year="2024"] .camp-hero{grid-template-columns:1fr}.camp-creative .anniversary-chapter .story-intro{min-height:0}.anniversary-number{font-size:160px}.team-credits{gap:32px}}
@media(max-width:600px){.camp-creative .camp-jump{justify-content:flex-start;gap:30px}.camp-creative[data-year="2023"] .camp-hero{min-height:650px}.camp-creative[data-year="2023"] .camp-cover img{height:650px}.camp-creative[data-year="2023"] .camp-hero-copy{padding-bottom:36px}.camp-creative[data-year="2023"] .camp-hero h1{font-size:38px}.first-camp-facts .camp-facts{gap:30px 18px}.first-camp-facts .camp-facts article:nth-child(2),.first-camp-facts .camp-facts article:nth-child(3n+4){padding-top:0}.camp-creative .camp-totals .camp-stats,.camp-creative[data-year="2024"] .camp-totals .camp-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;padding:28px 0}.camp-creative .camp-stats b{font-size:38px}.camp-creative .camp-stats small{font-size:12px;margin-top:8px}.camp-creative .camp-totals .story-lead img{height:260px}.camp-creative .anniversary-chapter .story-intro{grid-template-columns:1fr}.camp-creative .anniversary-chapter .story-copy,.camp-creative .anniversary-chapter .story-lead{grid-column:1;grid-row:auto}.camp-creative .anniversary-chapter .story-copy{padding:0 0 22px}.anniversary-number{font-size:150px}.camp-creative .anniversary-chapter .story-copy .camp-heading{margin-top:12px}.day-tickets{grid-template-columns:1fr;margin-top:28px}.day-tickets a{padding:20px}.day-tickets a>span{font-size:38px;width:64px}.day-tickets b{font-size:16px}.camp-creative .camp-day{padding-bottom:40px}.camp-creative .camp-day .story-intro,.camp-creative .camp-day .story-lead{min-height:440px}.camp-creative .camp-day .story-lead img{height:440px}.camp-creative .camp-day .story-copy{padding:24px 20px}.camp-creative .camp-day .camp-chapter-no{font-size:72px;margin-bottom:22px}.camp-creative .camp-day .story-copy .camp-heading{font-size:32px;overflow-wrap:normal}.day-program{grid-template-columns:1fr;gap:14px;padding:24px 0}.day-program .camp-text{font-size:14px}.camp-creative .camp-day .camp-mosaic{gap:10px;grid-template-columns:1fr 1fr}.camp-creative .camp-day .camp-mosaic a:nth-child(2){padding:0}.camp-creative .camp-day .camp-mosaic img,.camp-creative .camp-day .camp-mosaic a:nth-child(2) img{aspect-ratio:1.15}.camp-partners,.camp-team{padding:42px var(--nnc-pad)}.partners-heading{grid-template-columns:1fr;gap:12px;margin-bottom:24px}.partners-heading .edition-overline{margin:0}.partners-heading h2,.team-title{font-size:27px}.partner-wall{grid-template-columns:1fr 1fr;gap:0 16px}.partner-mark{padding:22px 0}.partner-mark a{height:76px}.partner-mark figcaption{font-size:10px;margin-top:14px}.partner-feature{grid-template-columns:1fr}.partner-feature .partner-mark{margin:16px;min-height:160px}.partner-feature .partner-mark a{height:100px}.partner-feature>div{padding:10px 24px 28px}.partner-feature h3{font-size:24px}.team-photo{margin-bottom:28px}.team-photo img{min-height:200px;object-fit:cover}.team-credits{grid-template-columns:1fr 1fr;gap:28px 22px}.team-founders,.team-organizers{grid-template-columns:1fr;gap:0}.team-founders .camp-text{font-size:21px}.team-credits .camp-text{font-size:13px}.team-founders .camp-text{font-size:21px}.team-organizers>div.camp-text{column-gap:20px;font-size:12px;line-height:1.95}.team-title{margin-bottom:26px}.team-note{font-size:13px}}
@media(prefers-reduced-motion:reduce){.partner-mark img{transition:none}}
.camp-creative .camp-totals>.camp-stats{max-width:none;width:100%}
.camp-creative .camp-stats b{font-size:clamp(30px,4.4vw,68px)}
.camp-creative[data-year="2025"] .camp-stats span:last-child b{font-family:Onest,Arial,sans-serif;font-weight:500;line-height:1.1}
@media(max-width:600px){.camp-creative .camp-stats b{font-size:36px}}
/* Reserve space while original archive documents load, keeping anchor jumps stable. */
.camp-creative .camp-document img{width:100%;aspect-ratio:1.4;height:auto;object-fit:contain}
.camp-creative .team-photo img{aspect-ratio:1.9}
/* A small press digest closes each edition, without adding another gallery. */
.camp-press{padding:42px var(--nnc-pad);display:grid;grid-template-columns:1fr 2fr;gap:40px;background:white;color:#241132}
.press-kicker{font:600 10px/1.5 Onest,Arial,sans-serif;letter-spacing:.08em;color:#766c7e;margin-bottom:12px}
.camp-press h2{font:400 26px/1.2 'Dela Gothic One',Arial,sans-serif;letter-spacing:-.025em}
.press-mentions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.press-mentions article:only-child{grid-column:1/-1;max-width:590px}
.press-meta{font:400 11px/1.5 Onest,Arial,sans-serif;color:#766c7e;margin:0 0 5px}
.camp-press h3{font:600 17px/1.4 Onest,Arial,sans-serif;margin:0 0 6px}.camp-press h3 a{display:inline-flex;align-items:center;min-height:38px;color:#5017bd;text-decoration:none}.camp-press h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.press-summary{font:400 13px/1.6 Onest,Arial,sans-serif;max-width:570px;margin:0}
@media(max-width:760px){.camp-press{grid-template-columns:1fr;gap:24px;padding:32px var(--nnc-pad)}.camp-press h2{font-size:23px}.press-kicker{margin-bottom:8px}.press-mentions{grid-template-columns:1fr;gap:22px}.camp-press h3 a{min-height:44px}.press-meta{margin-bottom:0}.camp-press h3{margin-bottom:3px}}
