.campaign-page{background:#080d14;color:#f7f4ed}
.campaign-header{background:linear-gradient(180deg,rgba(6,9,14,.88),rgba(6,9,14,.32));position:absolute}
.campaign-hero{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:clamp(38px,5vw,82px);align-items:center;padding:135px clamp(24px,6vw,96px) 90px;overflow:hidden;background:radial-gradient(circle at 82% 40%,rgba(210,171,97,.15),transparent 30%),linear-gradient(125deg,#111b26 0%,#070b11 58%,#101821 100%)}
.campaign-hero:before{content:"12";position:absolute;left:-.04em;bottom:-.22em;font-family:var(--display);font-weight:700;font-size:min(45vw,680px);line-height:1;color:rgba(255,255,255,.018);pointer-events:none}
.campaign-copy{position:relative;z-index:1;max-width:820px}
.campaign-copy h1,.campaign-statement h2,.programme-intro h2,.campaign-process h2,.campaign-results h2,.campaign-fit h2,.campaign-final h2{font-family:var(--display);font-weight:600;line-height:.9;text-transform:uppercase;letter-spacing:-.02em;margin:0}
.campaign-copy h1{font-size:clamp(68px,8.4vw,132px)}
.campaign-copy h1 em,.campaign-statement h2 em,.campaign-final h2 em{color:var(--gold2);font-weight:600}
.campaign-lede{max-width:720px;margin:30px 0;color:#d0d4da;font-size:clamp(17px,1.65vw,21px)}
.campaign-actions{display:flex;gap:14px;flex-wrap:wrap}
.campaign-principles{display:flex;align-items:center;gap:12px;margin-top:42px;color:var(--gold2);font-size:10px;font-weight:700;letter-spacing:.16em}
.campaign-principles i{width:28px;height:1px;background:var(--line)}
.campaign-video-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.video-series-statement{grid-column:1/-1;padding:16px 18px;border-left:2px solid var(--gold);background:linear-gradient(90deg,rgba(9,14,21,.94),rgba(9,14,21,.54));box-shadow:0 18px 42px rgba(0,0,0,.24)}
.video-series-statement strong{display:block;color:#f7f4ed;font-family:var(--display);font-size:clamp(25px,2.35vw,37px);line-height:1;letter-spacing:.015em}
.video-series-statement span{display:block;margin-top:7px;color:var(--gold2);font-size:13px;font-weight:700;letter-spacing:.025em}
.campaign-video-card{position:relative;margin:0;width:100%;max-width:360px;justify-self:center;padding:7px;background:linear-gradient(145deg,rgba(242,217,153,.72),rgba(210,171,97,.16) 35%,rgba(255,255,255,.05));box-shadow:0 28px 70px rgba(0,0,0,.4)}
.video-frame{position:relative;background:#05070a;aspect-ratio:9/16;overflow:hidden}
.video-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#05070a}
.fullscreen-button{position:absolute;z-index:2;right:10px;top:10px;padding:9px 11px;border:1px solid rgba(241,214,151,.55);background:rgba(5,7,10,.82);color:#f1d697;font:800 10px/1 var(--body);letter-spacing:.12em;cursor:pointer;backdrop-filter:blur(8px)}
.fullscreen-button:focus-visible{outline:2px solid #f1d697;outline-offset:2px}
.campaign-video-card figcaption{padding:18px 14px 12px;background:#0b1119}
.campaign-video-card figcaption span{display:block;color:var(--gold2);font-size:10px;font-weight:800;letter-spacing:.17em}
.campaign-video-card figcaption p{margin:8px 0 0;color:#c9cdd3;font-size:13px;line-height:1.5}
.campaign-manifesto{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;padding:115px clamp(24px,8vw,128px);background:linear-gradient(140deg,#111a24,#0a1018)}
.manifesto-intro h2{margin:0;font-family:var(--display);font-size:clamp(49px,5.8vw,84px);font-weight:600;line-height:.92;text-transform:uppercase;letter-spacing:-.02em}
.manifesto-intro h2 em{color:var(--gold2);font-weight:600}
.manifesto-copy{align-self:end;max-width:760px}
.manifesto-copy>p{margin:0 0 34px;color:#d5d8dd;font-size:clamp(17px,1.55vw,21px);line-height:1.75}
.manifesto-programme{padding:28px 0 0;border-top:1px solid var(--line)}
.manifesto-programme span{color:var(--gold2);font-family:var(--display);font-size:clamp(27px,3vw,42px);font-weight:600;line-height:1}
.manifesto-programme p{margin:16px 0;color:var(--muted);font-size:16px;line-height:1.7}
.manifesto-programme strong{display:block;color:#f7f4ed;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.campaign-statement{text-align:center;padding:130px 24px;background:radial-gradient(circle at 50% 25%,rgba(210,171,97,.14),transparent 42%),#121b25}
.campaign-statement h2{font-size:clamp(48px,6.6vw,92px)}
.campaign-statement .decision-line{margin:25px 0 0;color:var(--gold2);font-family:var(--display);font-size:clamp(30px,4vw,54px);font-weight:600;text-transform:uppercase}
.campaign-statement>p:last-child{max-width:760px;margin:22px auto 0;color:var(--muted);font-size:18px}
.programme-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;padding:130px clamp(24px,8vw,128px);max-width:1600px;margin:auto}
.programme-intro{align-self:start;position:sticky;top:110px}
.programme-intro h2{font-size:clamp(48px,5.4vw,78px)}
.programme-intro>p:last-child{max-width:540px;color:var(--muted);font-size:17px}
.programme-items{border-top:1px solid var(--line)}
.programme-items article{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:31px 0;border-bottom:1px solid var(--line)}
.programme-items b{font-family:var(--display);font-size:29px;color:var(--gold)}
.programme-items h3{margin:0 0 7px;font-family:var(--display);font-size:32px;line-height:1;text-transform:uppercase}
.programme-items p{margin:0;color:var(--muted)}
.campaign-process{padding:120px clamp(24px,8vw,128px);background:#141e28}
.process-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;max-width:1320px;margin:0 auto 55px}
.campaign-process h2{font-size:clamp(48px,5.8vw,82px)}
.campaign-process h2 span{color:#7e848d}
.process-track{display:grid;grid-template-columns:repeat(3,1fr);max-width:1320px;margin:auto;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.process-track article{min-height:330px;padding:40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.025),transparent)}
.process-track span{font-family:var(--display);font-size:25px;color:var(--gold)}
.process-track h3{margin:75px 0 12px;font-family:var(--display);font-size:35px;line-height:1;text-transform:uppercase}
.process-track p{margin:0;color:var(--muted)}
.campaign-results{padding:130px clamp(24px,8vw,128px);background:#0b1119}
.campaign-results-copy{max-width:800px;margin-bottom:52px}
.campaign-results h2{font-size:clamp(50px,6vw,86px)}
.campaign-results-copy>p:last-child{max-width:700px;color:var(--muted);font-size:17px}
.campaign-results-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:15px;max-width:1400px}
.campaign-results-grid figure{margin:0;padding:7px;border:1px solid var(--line);background:#131c26}
.campaign-results-grid img{width:100%;height:520px;object-fit:cover;object-position:center}
.campaign-results-grid figure:first-child img{object-position:center 28%}
.campaign-results-grid figcaption{padding:13px 7px 6px;color:var(--gold2);font-family:var(--display);font-size:17px;letter-spacing:.09em}
.campaign-testimonial{max-width:1100px;min-height:0;margin:70px 0 0;padding:45px 0 0;border-top:1px solid var(--line);background:none}
.campaign-testimonial p{font-size:clamp(34px,4.5vw,60px);line-height:1.08}
.campaign-testimonial footer{margin-top:24px}
.campaign-fit{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;padding:120px clamp(24px,8vw,128px);background:#151f29}
.campaign-fit h2{font-size:clamp(50px,6vw,86px)}
.campaign-fit ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.campaign-fit li{position:relative;padding:24px 20px 24px 34px;border-bottom:1px solid var(--line);color:#e3e5e8;font-size:17px}
.campaign-fit li:before{content:"";position:absolute;left:2px;top:34px;width:12px;height:2px;background:var(--gold)}
.campaign-final{text-align:center;padding:130px 24px;background:radial-gradient(circle at center,rgba(210,171,97,.16),transparent 52%),#080d14}
.campaign-final>img{width:145px;margin:0 auto 34px}
.campaign-final h2{font-size:clamp(52px,7vw,96px)}
.campaign-final>p:not(.eyebrow){max-width:720px;margin:28px auto;color:var(--muted);font-size:17px}
.campaign-final small{display:block;margin-top:18px;color:#8f949b}
.campaign-footer{background:#070b10}
@media(max-width:900px){
  .campaign-hero{grid-template-columns:1fr;padding:120px 22px 80px;gap:50px}
  .campaign-copy h1{font-size:clamp(58px,17vw,82px)}
  .campaign-video-grid{grid-template-columns:1fr;gap:28px}
  .video-series-statement{grid-column:auto;margin-bottom:-8px}
  .campaign-video-card{width:min(100%,420px);justify-self:center}
  .campaign-actions{display:grid}
  .campaign-principles{gap:8px;flex-wrap:wrap}
  .campaign-principles i{width:18px}
  .campaign-manifesto{grid-template-columns:1fr;padding:90px 22px;gap:42px}
  .campaign-statement{padding:95px 22px}
  .programme-grid{grid-template-columns:1fr;padding:95px 22px;gap:45px}
  .programme-intro{position:static}
  .programme-items article{grid-template-columns:48px 1fr;gap:14px}
  .campaign-process,.campaign-results,.campaign-fit{padding:95px 22px}
  .process-heading{display:block}
  .process-track{display:flex;gap:12px;margin-right:-22px;padding-right:22px;overflow-x:auto;scroll-snap-type:x mandatory;border:0;scrollbar-width:none}
  .process-track::-webkit-scrollbar{display:none}
  .process-track article{flex:0 0 86%;min-height:300px;border:1px solid var(--line);scroll-snap-align:start}
  .campaign-results-grid{display:flex;gap:12px;margin-right:-22px;padding-right:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .campaign-results-grid::-webkit-scrollbar{display:none}
  .campaign-results-grid figure{flex:0 0 88%;scroll-snap-align:start}
  .campaign-results-grid img{height:auto;aspect-ratio:4/5}
  .campaign-fit{grid-template-columns:1fr;gap:40px}
  .campaign-final{padding:100px 22px}
}
