.campaign-page{background:var(--ink);color:var(--chalk)}
.campaign-nav{background:rgba(18,19,17,.92);border-bottom:1px solid var(--line)}
.campaign-nav-links{display:flex;gap:1.5rem;font-size:.875rem}
.campaign-nav-links a{padding:.65rem 0;color:var(--chalk)}
.campaign-container{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.campaign-section{padding-block:clamp(3.5rem,7vw,6.5rem);scroll-margin-top:5rem}
.campaign-overline{margin:0;color:var(--acid);font:.875rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.campaign-hero{position:relative;display:flex;align-items:flex-end;min-height:80svh;min-height:max(600px,80svh);padding-top:5rem;isolation:isolate;background:var(--moss)}
.campaign-hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:62% center}
.campaign-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(18,19,17,.9),rgba(18,19,17,.15) 65%),linear-gradient(90deg,rgba(18,19,17,.35),transparent 70%);pointer-events:none}
.campaign-hero-content{padding:5rem max(40px,calc((100vw - 1200px)/2)) 4.5rem;width:100%}
.campaign-hero h1{max-width:1100px;margin:1rem 0 1.5rem;font-size:clamp(3.5rem,9vw,9rem);font-weight:500;line-height:.94;letter-spacing:-.065em}
.campaign-tagline{margin:0 0 .8rem;font-size:clamp(1.25rem,2vw,1.8rem);letter-spacing:-.025em}
.campaign-hero-caption{margin:0;color:#c5c1b7;font-size:1rem;line-height:1.6}
.campaign-explore{position:absolute;right:2.5rem;bottom:1.5rem;padding:.5rem 0;border-bottom:1px solid #85877f;font-size:.875rem;color:#c5c1b7}
.campaign-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-block:0;padding-block:2.2rem;border-bottom:1px solid var(--line)}
.campaign-facts div{min-width:0}
.campaign-facts dt{color:var(--mist);font:.875rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.04em}
.campaign-facts dd{margin:.65rem 0 0;font-size:1rem;line-height:1.5}
.campaign-section h2{margin:1rem 0 0;font-size:clamp(2.4rem,5vw,5rem);line-height:1.05;letter-spacing:-.055em;font-weight:500}
.campaign-section-head{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:3rem;align-items:end;margin-bottom:2.5rem}
.campaign-section-head>p{margin:0;max-width:30rem;color:#a8aaa1;font-size:1rem;line-height:1.7}
.campaign-video{position:relative;aspect-ratio:16/9;background:#090a09;isolation:isolate}
.campaign-video-vertical{aspect-ratio:9/16}
.campaign-poster{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:var(--ink);color:var(--chalk);cursor:pointer}
.campaign-poster img{width:100%;height:100%;object-fit:cover}
.campaign-poster:focus-visible{outline:3px solid var(--acid);outline-offset:4px;z-index:1}
.campaign-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;background:linear-gradient(transparent 40%,rgba(18,19,17,.45));text-shadow:0 1px 14px #121311}
.campaign-play i{display:grid;place-items:center;width:4.5rem;aspect-ratio:1;padding-left:.15rem;border:1px solid var(--chalk);border-radius:50%;font-size:1.25rem;font-style:normal;background:rgba(18,19,17,.5);transition:background .2s,color .2s}
.campaign-play>span{font:.875rem var(--mono);letter-spacing:.04em}
.campaign-poster:hover .campaign-play i{background:var(--chalk);color:var(--ink)}
.campaign-player{position:absolute;inset:0}
.campaign-player iframe{display:block;width:100%;height:100%;border:0}
.campaign-poster[hidden],.campaign-player[hidden]{display:none}
.campaign-video-note{margin:1rem 0 0;color:var(--mist);font-size:.875rem;line-height:1.6}
.campaign-project,.campaign-terrain{background:var(--chalk);color:var(--ink)}
.campaign-editorial{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem)}
.campaign-prose p{margin:0 0 1.4rem;color:#5f6159;font-size:1rem;line-height:1.85}
.campaign-prose p:last-child{margin-bottom:0}
.campaign-prose .campaign-lead{color:var(--ink);font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.6;letter-spacing:-.02em}
.campaign-spots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.campaign-spot{min-width:0}
.campaign-spot-caption{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}
.campaign-spot h3{margin:0;font-size:1rem;font-weight:500;line-height:1.5}
.campaign-spot-caption>span{font-size:.875rem;color:var(--mist);white-space:nowrap}
.campaign-swipe,.campaign-spots-navigation{display:none}
.campaign-installation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);align-items:center;gap:6rem;margin-top:5rem;padding-top:4rem;border-top:1px solid var(--line)}
.campaign-installation h3{margin:1.2rem 0 1.5rem;font-size:clamp(2rem,3.4vw,3.5rem);font-weight:500;letter-spacing:-.045em;line-height:1.1}
.campaign-installation>div>p:last-child{max-width:34rem;color:#a8aaa1;font-size:1rem;line-height:1.8}
.campaign-installation-film{width:min(100%,300px);justify-self:center}
.campaign-installation-caption{margin:1rem 0 0;font-size:.875rem;line-height:1.5;color:var(--mist)}
.campaign-terrain .campaign-section-head>p{color:#62645c}
.campaign-terrain-intro{max-width:49rem;margin:0 0 2.5rem;font-size:1rem;color:#62645c;line-height:1.8}
.campaign-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.campaign-gallery figure{margin:0;min-width:0;aspect-ratio:3/2;overflow:hidden;background:var(--moss)}
.campaign-gallery img{width:100%;height:100%;object-fit:cover}
.campaign-gallery .campaign-photo-wide{grid-column:1/-1;aspect-ratio:16/9}
.campaign-gallery .campaign-photo-portrait{grid-row:span 2;aspect-ratio:auto}
.campaign-conclusion h2{margin:1.5rem 0 2rem;font-size:clamp(2.5rem,5.5vw,5.5rem);line-height:1.05}
.campaign-conclusion h2 em{font-style:normal;color:#a8aaa1}
.campaign-conclusion>p:not(.campaign-overline){margin:0 0 2rem;color:#a8aaa1;font-size:1rem;line-height:1.8}
.campaign-back{display:block;width:fit-content;margin-top:1.5rem;padding-bottom:.3rem;border-bottom:1px solid var(--mist);font-size:.875rem;color:var(--mist)}
.campaign-footer{grid-template-columns:auto auto minmax(0,1fr)}
.campaign-footer div{flex-wrap:wrap;font-family:var(--sans);font-size:.875rem;letter-spacing:0;text-transform:none;line-height:1.5}
.campaign-footer>p{font-size:.875rem}
@media(max-width:1000px){.campaign-spot-caption{flex-direction:column;gap:.3rem}.campaign-installation{gap:3rem}.campaign-footer{grid-template-columns:1fr}.campaign-footer div{justify-content:flex-start}}
@media(max-width:760px){.campaign-container{width:calc(100% - 40px)}.campaign-hero-content{padding:6rem 20px 4rem}.campaign-explore{right:20px}.campaign-facts{gap:1rem;padding-block:1.8rem}.campaign-section-head,.campaign-editorial{grid-template-columns:1fr;gap:1.5rem}.campaign-section-head{margin-bottom:2rem}.campaign-section-head>p{max-width:40rem}.campaign-installation{gap:2rem}.campaign-gallery{gap:.75rem}}
@media(max-width:620px){
  .campaign-nav{padding:.65rem 1rem}.campaign-nav-links{gap:1.2rem}
  .campaign-hero{min-height:max(580px,78svh)}.campaign-hero h1{font-size:clamp(2.9rem,12.5vw,4.8rem);letter-spacing:-.055em;line-height:.98}.campaign-hero-content{padding-top:6rem}.campaign-hero .campaign-overline{font-size:.875rem}.campaign-hero-caption{max-width:18rem}
  .campaign-facts{grid-template-columns:1fr;gap:1.1rem}.campaign-facts div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:1rem}.campaign-facts dd{margin:0}.campaign-facts dt{font-size:.8rem}
  .campaign-section h2{font-size:clamp(2.3rem,9.5vw,3.5rem)}.campaign-section{padding-block:3.5rem}.campaign-play i{width:3.5rem}
  .campaign-swipe{display:block;margin:0 0 1rem;font-size:.875rem;line-height:1.6;color:#a8aaa1}
  .campaign-spots{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:.85rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
  .campaign-spots::-webkit-scrollbar{display:none}.campaign-spot{scroll-snap-align:start}.campaign-spot-caption{flex-direction:row;flex-wrap:wrap}
  .campaign-spots-navigation:not([hidden]){display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem;align-items:center;margin-top:1rem}
  .campaign-spots-navigation button{min-height:46px;border:1px solid #777970;padding:.6rem .4rem;background:transparent;color:var(--chalk);font-size:.875rem;cursor:pointer}
  .campaign-spots-navigation button:disabled{opacity:.4;cursor:default}.campaign-spots-navigation span{color:#a8aaa1;font-size:.8rem;white-space:nowrap}
  .campaign-installation{grid-template-columns:1fr;gap:2rem;margin-top:3.5rem;padding-top:2.5rem}.campaign-installation h3{font-size:2.3rem}.campaign-installation-film{width:min(100%,300px)}
  .campaign-gallery{grid-template-columns:1fr;gap:.75rem}.campaign-gallery .campaign-photo-portrait{grid-row:auto;aspect-ratio:3/4}.campaign-terrain-intro{margin-bottom:1.7rem}.campaign-conclusion .primary-cta{width:100%;font-size:.875rem}.campaign-footer{padding-bottom:2rem}
}
@media(prefers-reduced-motion:reduce){.campaign-play i{transition:none}}
