/* Brand and reference typography for independently styled campaign/event pages.
   Form markup, field names, validation, action and server handling remain intact. */
.h-special{--blue:#2c58dd;--blue-dark:#082652;--blue-light:#ebf7fd;--navy:#082652;--navy-deep:#082652;--navy-soft:#17365f;--blue-bright:#a9c2ed}
.h-special :is(h1,h2,h3,.display,.day,.info .val,.ex span.label,footer .tag){font-family:Montserrat,Arial,sans-serif;font-weight:500;letter-spacing:-.045em}
.h-special .hero h1{font-size:clamp(2.375rem,5.55vw,5rem);font-weight:400;line-height:1.12;letter-spacing:-.045em}
.h-special :is(.section-title,.section-head h2,.reg-left h2){font-size:clamp(2rem,3.7vw,3.25rem);font-weight:500;line-height:1.14}
.h-special :is(.btn,.form-btn,.nav-btn,.cta-btn){border-radius:999px;font-weight:500;box-shadow:none}
.h-special :is(.who-card,.feat-card,.aud,.quote-card,.reg-card){border-radius:24px;box-shadow:none}
.h-special .hero{padding-top:75px;padding-bottom:80px;background:white;color:var(--h-navy)}
.h-special .hero :is(.lead,.hero-sub){color:var(--h-muted);font-size:1.125rem;line-height:1.75}
.h-special .hero .accent{color:var(--h-blue)}
.h-special .hero-hexes{opacity:.15}
.h-event .nav{position:sticky;background:white;border-bottom:1px solid var(--h-line);color:var(--h-navy)}
.h-event .nav .wrap{padding-block:18px}
.h-event .nav img{width:132px;height:auto;display:block}
.h-event .pill{color:var(--h-blue);background:var(--h-sky);border-color:var(--h-line)}
.h-event .hex-card{color:white}
.h-event .hero .ghost{color:var(--h-blue);border-color:var(--h-blue)}
.h-event .hero .eyebrow{color:var(--h-blue)}
.h-event .hero .hero-note{color:var(--h-muted)}
.h-event .hero .lead{color:var(--h-muted)}
.h-event .reg-left :is(h1,h2,h3){color:white}
.h-special-cookies{max-width:1200px;margin:25px auto 0;padding-inline:24px}
.h-special-cookies button{font-family:Montserrat,Arial,sans-serif;background:none;border:0;color:inherit;font-size:0.75rem;cursor:pointer;text-decoration:underline}
.h-campaign nav{position:sticky;top:0}
.h-special.h-campaign{padding:0;text-align:left}
.h-special.h-campaign:before{display:none}
@media(max-width:600px){.h-special .hero{padding-top:45px;padding-bottom:52px}.h-special .hero h1{font-size:clamp(2.125rem,8.5vw,2.875rem)}.h-special .hero :is(.lead,.hero-sub){font-size:1rem}.h-event .nav .wrap{padding-block:16px}.h-event .nav img{width:116px}}

/* Local form notice stays inside the original two-column registration grid. */
.h-special { overflow-wrap: anywhere; hyphens: auto; }
.h-special .hero-content, .h-special .reg-card > *, .h-event .info > div { min-width: 0; }
.h-event .field input, .h-event .field select { font-size: 16px; }
@media (max-width: 600px) {
  .h-campaign nav { padding-inline: 20px; gap: 16px; }
  .h-campaign .nav-logo { flex: 0 1 116px; min-width: 80px; }
  .h-campaign .nav-logo svg { width: 100%; max-width: 116px; height: auto; }
  .h-campaign .nav-right { min-width: 0; gap: 0; }
  .h-campaign .nav-btn { padding: 10px 12px; font-size: 12px; max-width: 144px; text-align: center; }
  .h-campaign .hero-content { width: 100%; }
  .h-campaign .countdown { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); width: 100%; }
  .h-campaign .cd-block { min-width: 0; padding: 16px 5px; }
  .h-campaign .cd-label { font-size: 8px; letter-spacing: .5px; }
  .h-campaign .cd-num { font-size: 28px; }
  .h-event .infobar .wrap { grid-template-columns: repeat(2,minmax(0,1fr)); padding-inline: 20px; }
}
@media (max-width: 400px) {
  .h-event .infobar .wrap { grid-template-columns: minmax(0,1fr); }
}

.h-campaign .countdown[hidden] { display: none; }
