/* Editorial campaign overlay. Shared theme, navigation and original assets stay intact. */
.campaign-intro{max-width:1050px;padding-bottom:34px}
.campaign-intro h1{max-width:22ch;font-size:clamp(2.5rem,5.6vw,5rem);font-weight:500;letter-spacing:-.055em;line-height:1.12;text-wrap:balance}
.campaign-intro>p{max-width:70ch;font-size:1rem;line-height:1.9;margin-top:25px}
.campaign-heading{grid-template-columns:minmax(0,1.05fr) minmax(0,.75fr);gap:44px;align-items:center;margin-bottom:30px}
.campaign-heading h2{font-size:clamp(2rem,3.5vw,3rem);font-weight:500;letter-spacing:-.05em;line-height:1.18;max-width:22ch;text-wrap:balance}
.campaign-heading>p{font-size:.9375rem;line-height:1.9;max-width:55ch}
.campaign-screen-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 21px;border:1px solid var(--rule-strong);border-bottom:0;border-radius:14px 14px 0 0;background:var(--surface)}
.campaign-screen-brand{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:1rem;font-weight:600;letter-spacing:-.015em;line-height:1.6;color:var(--text)}
.campaign-screen-brand>small{font-size:.6875rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-hi);border-left:1px solid var(--rule-strong);padding-left:12px}
.campaign-screen-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;justify-content:flex-end;margin:0;color:var(--muted);font-size:.6875rem;line-height:1.7;font-variant-numeric:tabular-nums}
.campaign-screen-meta>span{white-space:nowrap}
.campaign-screen-meta>span+span{position:relative;padding-left:13px}
.campaign-screen-meta>span+span::before{content:"";position:absolute;left:0;top:.7em;width:3px;height:3px;border-radius:50%;background:var(--gold)}
.campaign-screen-header+.campaign-film{border-top-left-radius:0;border-top-right-radius:0}
.campaign-film>figcaption{padding:14px 20px;line-height:1.8}
.campaign-film>figcaption>span{max-width:65ch}
.campaign-video{height:auto;object-fit:contain}
.campaign-scope{margin-top:16px;padding:13px 17px;font-size:.8125rem;letter-spacing:0;line-height:1.75}
.campaign-support{margin-top:12px;font-size:.75rem;gap:6px 24px}
.campaign-principles{padding:38px;gap:48px;grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}
.campaign-principles h2{font-size:clamp(2rem,3.25vw,2.8rem);font-weight:500;letter-spacing:-.045em;line-height:1.16}
.campaign-principles p{font-size:.9375rem;line-height:1.9;max-width:62ch}
.campaign-gallery-heading{gap:48px;align-items:center;margin-bottom:30px}
.campaign-gallery-heading h2{font-size:clamp(2rem,3.3vw,2.8rem);font-weight:500;letter-spacing:-.045em;line-height:1.17}
.campaign-gallery-heading>p{font-size:.9375rem;line-height:1.9;max-width:58ch}
.campaign-photo-grid{gap:28px}
.campaign-photo .photo-trigger img{width:100%;height:auto;max-width:100%;aspect-ratio:auto 1672/941;object-fit:contain}
.campaign-photo .photo-caption{padding:17px 20px;gap:17px;line-height:1.7}
.campaign-photo .photo-caption>div>span{font-size:.9375rem;font-weight:550;letter-spacing:-.015em;line-height:1.5;margin-bottom:5px}
.campaign-photo-identity{border-color:var(--rule-strong)}
.campaign-photo-identity .photo-caption{background:var(--raised)}
.campaign-photo-identity .photo-caption>div>span{color:var(--gold-hi)}
#campaign-transcript{scroll-margin-top:115px}
@media(max-width:900px){
  .campaign-heading,.campaign-principles,.campaign-gallery-heading{grid-template-columns:1fr;gap:23px}
  .campaign-heading>p,.campaign-gallery-heading>p{max-width:76ch}
  .campaign-principles{padding:30px}
}
@media(max-width:600px){
  .campaign-intro{padding-bottom:27px}
  .campaign-intro h1{font-size:clamp(2.1rem,7.4vw,2.6rem);font-weight:500;letter-spacing:-.045em;line-height:1.16;max-width:20ch}
  .campaign-intro>p{font-size:.875rem;line-height:1.85;margin-top:22px}
  .campaign-heading{gap:18px;margin-bottom:23px}
  .campaign-heading h2,.campaign-principles h2,.campaign-gallery-heading h2{font-size:1.9rem;line-height:1.2}
  .campaign-heading>p,.campaign-principles p,.campaign-gallery-heading>p{font-size:.875rem;line-height:1.85}
  .campaign-screen-header{display:block;padding:13px 15px;border-radius:10px 10px 0 0}
  .campaign-screen-brand{font-size:.875rem;gap:10px}
  .campaign-screen-brand>small{font-size:.625rem;padding-left:10px}
  .campaign-screen-meta{justify-content:flex-start;gap:3px 13px;margin-top:7px;font-size:.625rem}
  .campaign-screen-meta>span+span{padding-left:10px}
  .campaign-film>figcaption{padding:12px 14px;font-size:.6875rem;line-height:1.7}
  .campaign-scope{padding:12px 14px;font-size:.75rem;margin-top:14px}
  .campaign-support{font-size:.6875rem;gap:2px 20px}
  .campaign-principles{padding:24px;gap:24px;margin-top:42px}
  .campaign-gallery-heading{gap:18px;margin-bottom:23px}
  .campaign-photo-grid{gap:20px}
  .campaign-photo .photo-caption{padding:13px 14px;gap:12px;font-size:.6875rem;line-height:1.6}
  .campaign-photo .photo-caption>div>span{font-size:.8125rem;line-height:1.5;margin-bottom:3px}
  #campaign-transcript{scroll-margin-top:92px}
}
@media print{.campaign-screen-header{display:none}.campaign-principles{padding:0}}
