.campaign-page main { padding-bottom: 76px; }
.campaign-page .main-nav { display: flex; gap: 24px; }
.campaign-hero { padding: 68px 0 64px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 54px; }
.campaign-hero h1 { font-size: clamp(2.4rem,4.4vw,3.8rem); line-height: 1.1; letter-spacing: -.035em; color: var(--blue-900); max-width: 12ch; }
.campaign-lead { color: var(--muted); margin-top: 24px; max-width: 42ch; font-size: 1.05rem; }
.campaign-connect { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.campaign-hero figure { min-width: 0; }
.campaign-hero figure img { width: 100%; height: auto; border-radius: var(--r-lg); }
.campaign-hero figcaption { color: var(--muted); font-size: .78rem; margin-top: 10px; }
.campaign-summary { display: grid; grid-template-columns: 1.7fr 1fr; gap: 72px; border-top: 1px solid var(--line); padding: 54px 0; }
.campaign-summary h2, .campaign-work h2, .campaign-photos h2 { color: var(--blue-900); font-size: clamp(1.6rem,2.6vw,2rem); line-height: 1.25; letter-spacing: -.025em; }
.campaign-summary p { color: var(--muted); margin-top: 18px; max-width: 65ch; }
.campaign-facts { display: grid; gap: 20px; align-content: start; }
.campaign-facts dt { color: var(--blue-900); font-weight: 800; font-size: .85rem; }
.campaign-facts dd { color: var(--muted); font-size: .9rem; margin-top: 4px; }
.campaign-work { padding: 42px 0 54px; }
.campaign-work-grid { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 54px; }
.campaign-work-item { border-top: 1px solid var(--line); padding: 24px 0; }
.campaign-work-item h3 { color: var(--blue-900); font-size: 1.05rem; }
.campaign-work-item p { margin-top: 8px; color: var(--muted); font-size: .95rem; max-width: 53ch; }
.campaign-photos { padding: 40px 0 0; border-top: 1px solid var(--line); scroll-margin-top: 110px; }
.campaign-photos > p { margin-top: 12px; color: var(--muted); }
.campaign-photo-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 30px 24px; margin-top: 30px; }
.campaign-photo-grid figure:first-child { grid-column: 1 / -1; max-width: 850px; width: 100%; }
.campaign-photo-grid img { width: 100%; height: auto; border-radius: var(--r-md); }
.campaign-photo-grid figcaption { margin-top: 9px; color: var(--muted); font-size: .8rem; }
.campaign-page .site-footer { padding: 36px 0 0; }
.campaign-footer { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; }
.campaign-footer .brand-name { color: white; }
.campaign-footer .brand-tag { color: #ffb3c0; }
.campaign-page a:focus-visible { outline: 3px solid var(--red); outline-offset: 5px; }
@media (max-width: 1020px) {
  .campaign-hero { grid-template-columns: 1fr 1fr; gap: 30px; padding: 46px 0; }
  .campaign-summary { gap: 34px; }
}
@media (max-width: 760px) {
  .campaign-page .header-inner { flex-wrap: wrap; gap: 16px; }
  .campaign-page .header-inner > .btn { display: none; }
  .campaign-page .main-nav { gap: 18px; flex-wrap: wrap; }
  .campaign-page .main-nav a { font-size: .8rem; }
  .campaign-hero, .campaign-summary { grid-template-columns: 1fr; }
  .campaign-hero h1 { max-width: 14ch; }
  .campaign-hero { padding-top: 38px; }
  .campaign-work-grid { grid-template-columns: 1fr; }
  .campaign-photo-grid { grid-template-columns: 1fr; }
  .campaign-summary { padding: 36px 0; }
}
