.campaign-page { background: var(--page-bg); }
.campaign-page [hidden] { display: none !important; }
.campaign-page p { color: var(--muted); }
.campaign-page .site-header { position: static; background: var(--page-bg); }
.campaign-page .section { padding-block: 3.5rem; }
.campaign-page .campaign-hero { padding-top: 4.5rem; padding-bottom: 2rem; text-align: center; }
.campaign-page .campaign-hero h1 { font-size: clamp(2.65rem, 5vw, 4.5rem); line-height: 1.08; text-wrap: balance; }
.campaign-page .campaign-hero .lead { max-width: 42rem; margin-inline: auto; }
.campaign-page .campaign-kicker { color: var(--teal); }
.campaign-page .campaign-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; list-style: none; margin-block: 0; padding: 1.25rem 0; border-block: 1px solid var(--line); font-weight: 600; }
.campaign-page .campaign-collaboration-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
.campaign-page .campaign-collaboration .section-header { margin-bottom: 1.5rem; }
.campaign-page .campaign-pains ul { margin: 0; padding-left: 1.25rem; color: var(--muted); }
.campaign-page .campaign-pains li { padding-left: .25rem; margin-bottom: 1rem; }
.campaign-page .campaign-pains li::marker { color: var(--teal); }
.campaign-page .campaign-collaboration :is(h2, h3) { text-wrap: balance; }
.campaign-page .campaign-collaboration-grid { display: grid; gap: 1.25rem; }
.campaign-page .campaign-collaboration-grid article { border-top: 1px solid var(--line); padding-top: 1.25rem; }
.campaign-page .campaign-collaboration-grid h3 { font-size: 1.4rem; line-height: 1.25; }
.campaign-page .campaign-collaboration-grid p { margin-bottom: 0; }
.campaign-page .info-card { background: var(--surface); box-shadow: none; }
.campaign-page .campaign-note { color: var(--muted); font-size: .9rem; margin-top: 1rem; }
.campaign-page .campaign-faq { padding-top: 0; }
.campaign-page .campaign-faq details { border-bottom: 1px solid var(--line); padding-block: 1rem; }
.campaign-page .campaign-faq summary { cursor: pointer; font-weight: 600; padding-block: .5rem; }
.campaign-page .campaign-faq details p { margin-bottom: .5rem; }
.campaign-page .campaign-note a { text-decoration: underline; text-underline-offset: .2em; }
.campaign-page .button:hover { transform: none; }
.campaign-page :is(a, summary):focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; }
.campaign-page #get-started { scroll-margin-top: 1rem; }
.campaign-page #share-data { scroll-margin-top: 1rem; }
.campaign-page .campaign-form fieldset { border: 0; padding: 0; margin: 1.5rem 0; min-width: 0; }
.campaign-page .campaign-form legend { font-weight: 600; margin-bottom: 1rem; }
.campaign-page .campaign-form label { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1rem; }
.campaign-page .campaign-form input:not([type="checkbox"]), .campaign-page .campaign-form select { width: 100%; min-width: 0; padding: .85rem; border: 1px solid var(--line-strong); border-radius: .65rem; background: var(--surface); color: var(--ink); font: inherit; }
.campaign-page .campaign-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; }
.campaign-page .campaign-form .campaign-consent { flex-direction: row; align-items: flex-start; gap: .8rem; margin-block: 1rem; }
.campaign-page .campaign-consent input { width: 1.25rem; height: 1.25rem; flex-shrink: 0; margin-top: .25rem; accent-color: var(--teal); }
.campaign-page .campaign-form .button { margin-top: 1rem; }
.campaign-page .campaign-form-error { border-left: 3px solid var(--teal); padding: 1rem; }
.campaign-page .campaign-form :is(input, select):focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
@media (max-width: 760px) {
  .campaign-page .section { padding-block: 2.5rem; }
  .campaign-page .campaign-hero { padding-top: 2.5rem; }
  .campaign-page .campaign-benefits, .campaign-page .campaign-collaboration-layout { grid-template-columns: 1fr; gap: 1.25rem; }
  .campaign-page .header-inner { gap: 1rem; }
  .campaign-page .site-nav { gap: .8rem 1rem; }
  .campaign-page .info-card { padding: 1.5rem; }
  .campaign-page .campaign-faq { padding-top: 0; }
  .campaign-page .button { white-space: normal; text-align: center; }
  .campaign-page .language-switcher a { min-height: 2.75rem; }
  .campaign-page .campaign-form-grid { grid-template-columns: 1fr; }
}
@media (prefers-color-scheme: dark) {
  .campaign-page { --page-bg: #141e22; --surface: #1b282c; --surface-alt: #1d292c; --surface-tint: #203833; --ink: #f5f1ea; --muted: #bac6c5; --teal: #8bd4c3; --teal-dark: #b4eadf; --line: #3a4a4e; --line-strong: #52776c; }
  .campaign-page .site-header, .campaign-page .site-footer { background: var(--page-bg); border-color: var(--line); }
  .campaign-page .language-switcher { background: var(--surface); border-color: var(--line); }
  .campaign-page .button-primary, .campaign-page .nav-cta { color: var(--page-bg) !important; }
  .campaign-page .button-secondary { background: var(--surface); color: var(--ink); border-color: var(--line); }
  .campaign-page .brand-mark, .campaign-page .footer-logo { filter: brightness(0) invert(1); }
}
