/* Scoped, unlayered rules override the legacy universal spacing reset. */
  .campaign-page {max-width:820px;margin:auto;padding:24px 20px 56px}
  .campaign-page h1 {font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.18;letter-spacing:-.02em;margin:12px 0}
  .campaign-page h1 .heading-date {display:block;font-size:12px;line-height:1.6;font-weight:500;letter-spacing:0;margin-top:10px;color:var(--text-secondary)}
  .campaign-byline {font-size:13px;line-height:1.7;color:var(--text-secondary);margin:12px 0 20px}
  .campaign-byline a {text-decoration:underline;text-underline-offset:3px}
  .campaign-offer {padding:18px;border:1px solid var(--accent);border-radius:12px;background:var(--card-bg);margin:18px 0 24px}
  .campaign-offer p {margin:0 0 10px}
  .campaign-offer .campaign-condition {font-size:13px;color:var(--text-secondary)}
  .campaign-cta {display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 20px;border-radius:8px;background:#1641b4;color:#fff!important;font-weight:700;text-align:center}
  .campaign-label {font-size:12px;color:var(--text-secondary);font-weight:600}
  .campaign-article p {margin:0 0 18px;line-height:1.75}
  .campaign-article section {padding:0!important}
  .campaign-article h2 {margin:32px 0 14px;font-size:clamp(1.25rem,3vw,1.6rem);line-height:1.3}
  .campaign-article ul,.campaign-article ol {padding-left:1.5rem;list-style-position:outside;margin:0 0 20px}
  .campaign-article li {padding-left:.2rem;margin-bottom:10px}
  .campaign-article a {color:var(--accent);text-decoration:underline;text-underline-offset:3px}
  [data-theme="dark"] .campaign-article a {color:#a9c2ff}
  .campaign-art {margin:24px 0}
  .campaign-art img {width:100%;height:auto;display:block;border-radius:12px}
  .campaign-table-scroll {overflow-x:auto;margin:20px 0;border:1px solid var(--border);border-radius:10px}
  .campaign-table-scroll table {width:100%;border-collapse:collapse;table-layout:fixed;margin:0}
  .campaign-table-scroll th,.campaign-table-scroll td {padding:12px;text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid var(--border)}
  .campaign-table-scroll th {background:var(--surface-2);font-weight:700}
  .campaign-table-scroll tr:last-child td {border-bottom:0}
  .campaign-faq details {border-bottom:1px solid var(--border);padding:0}
  .campaign-faq summary {min-height:44px;padding:14px 0;cursor:pointer;font-weight:650}
  .campaign-faq details p {padding:0 0 14px}
  .campaign-related a {display:block;min-height:44px;padding:10px 0}
  .campaign-licence {font-size:13px;color:var(--text-secondary);margin-top:28px}
  .campaign-hub-media {display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--surface-2)}
  @media(min-width:768px) {.campaign-page {padding-inline:24px}}
  @media(max-width:380px) {.campaign-page {padding-inline:16px}}
