@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/bdc7e24a509eb931-s.0ynx40_3oa9rk.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/0da9c7f357bd9d4d-s.1975l3y3401x_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/8e6fa89aa22d24ec-s.p.2o7m9ogm38dql.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/0a7740363b4d4863-s.3ji57o093q1kd.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/5f9d24ebef5d5292-s.19xuq3td7fwu_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/e2334d715941921e-s.p.3o_v2fun1jzxk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/b53057dbf91a7acf-s.11ypmpdlzqdb_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/798ea22d9983e047-s.3go-kn2r40gie.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/47fe1b7cd6e6ed85-s.p.3bh2vc0w-r-ll.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/99ce71e74c11bc20-s.1jc1xb-qv_87z.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/8cf1ea7b03cdeb83-s.3dbq0oou7i_24.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/829ba4228c966254-s.p.2mm3nq9i83l-m.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}
:root{--font-poppins:"Poppins",system-ui,sans-serif;}
/* ============================================================
   Northern California Power Briefing — global styles
   Design tokens, base reset, fonts, and the few interactive
   states (hover / focus / media queries) that inline styles
   can't express. Per-element visual styling lives inline in the
   components, 1:1 with the locked design reference.
   ============================================================ */

:root {
  /* Brand palette — use ONLY these (see handoff README). */
  --red: #d82020;
  --red-hover: #c01b1b;
  --deep-red: #931616;
  --red-light: #e46767;
  --gold: #ffd029;
  --gold-hover: #ffd84d;
  --ink: #0a0a0c;
  --ink-warm: #0e0e11;
  --ink-2: #141417;
  --white: #ffffff;
  --soft-white: #f2f2f3;
  --light-gray: #e5e5e5;
  --muted-gray: #a9a9a9;

  /* Fonts. --font-poppins is injected by next/font (see layout.tsx). */
  --font-body: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  --font-mono: "SF Mono", ui-monospace, Menlo, monospace;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--white);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
select,
button {
  font-family: inherit;
}

/* Anchor scroll targets clear the sticky nav. */
#webinar-registration-form,
#register,
#agenda {
  scroll-margin-top: 90px;
}

/* ---- Buttons: color + hover (geometry stays inline per instance) ---- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-family: var(--font-poppins), "Poppins", system-ui, sans-serif;
  border: none;
  cursor: pointer;
}
.btn--red {
  background: var(--red);
  color: #fff;
}
.btn--red:hover {
  background: var(--red-hover);
}
.btn--ink {
  background: var(--ink);
  color: #fff;
}
.btn--ink:hover {
  background: var(--ink-2);
}
.btn--gold {
  background: var(--gold);
  color: var(--ink);
}
.btn--gold:hover {
  background: var(--gold-hover);
}
.btn--ghost {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.35);
}
.btn--ghost:hover {
  border-color: #ffffff;
}
.btn--outline-gold {
  background: transparent;
  color: var(--gold);
  border: 2px solid var(--gold);
}
.btn--outline-gold:hover {
  background: var(--gold);
  color: var(--ink);
}

/* ---- Form fields: filled → white bg + red focus ring ---- */
.field {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid #e2e2e4;
  border-radius: 7px;
  font-size: 15px;
  color: var(--ink);
  background: #f5f5f6;
  outline: none;
}
.field:focus {
  border-color: var(--red);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(216, 32, 32, 0.12);
}

/* ---- Sticky mobile CTA bar (≤780px) ---- */
.mobile-cta {
  display: none;
}
@media (max-width: 780px) {
  .mobile-cta {
    display: flex !important;
  }
  .landing {
    padding-bottom: 76px;
  }
}

/* ---- Muted text link → white on hover ---- */
.link-muted {
  color: var(--muted-gray);
}
.link-muted:hover {
  color: #ffffff;
}

/* ---- Privacy policy (long-form) ---- */
.policy {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(36px, 6vw, 72px) clamp(20px, 5vw, 40px);
  color: #3a3a3e;
}
.policy h1 {
  font-family: var(--font-poppins), "Poppins", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(2rem, 4vw, 2.6rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 8px;
}
.policy h2 {
  font-family: var(--font-poppins), "Poppins", system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.25;
  color: var(--ink);
  margin: 40px 0 12px;
}
.policy h3 {
  font-family: var(--font-poppins), "Poppins", system-ui, sans-serif;
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--ink);
  margin: 24px 0 8px;
}
.policy p {
  font-size: 1rem;
  line-height: 1.7;
  margin: 0 0 16px;
}
.policy ul {
  margin: 0 0 16px;
  padding-left: 22px;
}
.policy li {
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 0 6px;
}
.policy a {
  color: var(--red);
  text-decoration: underline;
}

/* ---- Respect reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  * {
    animation: none !important;
    transition: none !important;
  }
}

/* ---- Privacy modal (ported from options, webinar tokens) ---- */
.privacy-modal{border:0;border-radius:10px;padding:0;max-width:440px;width:calc(100% - 32px);box-shadow:0 12px 40px rgba(0,0,0,0.18);color:var(--ink);}
.privacy-modal::backdrop{background:rgba(0,0,0,0.6);}
.modal-inner{padding:24px;}
.privacy-modal h2{font-family:var(--font-poppins),system-ui,sans-serif;font-size:1.25rem;font-weight:700;margin:0 0 12px;color:var(--ink);}
.privacy-modal p{font-size:0.9375rem;line-height:1.5;color:var(--ink);margin:0 0 16px;}
.toggle-row{display:flex;align-items:center;gap:10px;font-size:0.9375rem;color:var(--ink);margin:8px 0 20px;cursor:pointer;}
.toggle-row input{width:18px;height:18px;flex-shrink:0;accent-color:var(--red);}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;}
.modal-status{font-size:0.8125rem;color:var(--muted-gray);margin:12px 0 0;min-height:1em;}
.btn-secondary{appearance:none;background:transparent;color:var(--ink);border:1px solid #d0d0d3;border-radius:6px;padding:11px 20px;font-family:var(--font-poppins),system-ui,sans-serif;font-weight:600;font-size:15px;cursor:pointer;}
.btn-secondary:hover{border-color:var(--ink);}
