/* ============================================================
   BLOCKCORE.IO — v4: premium conversion rewrite
   Dark graphite base + off-white light sections. Electric blue +
   gold accents used sparingly. Serious, direct, credible B2B tone.
   Shared theme layer loaded by every page (index + standalone
   legal/info pages) on top of blockcore-landing-v4.css.
   ============================================================ */
:root {
  --bg:         #06070A;
  --bg-sub:     #0A0C11;
  --bg-card:    #0E1117;
  --bg-card-2:  #12161E;
  --ink:        #FAF9F5;
  --ink-soft:   #A8AFC2;
  --ink-mute:   #838CA6;
  --line:       rgba(241,243,248,0.09);
  --line-soft:  rgba(241,243,248,0.055);

  --electric:      #5B7CFF;
  --electric-soft: #7C97FF;
  --electric-tint: rgba(91,124,255,0.12);

  --gold:       #F0B93D;
  --gold-soft:  #F7CC6B;
  --gold-tint:  rgba(240,185,61,0.12);

  --green:      #34D399;
  --red:        #F0654D;

  --navy-deep:  #06070A;
  --navy-2:     #0E1117;
  --navy-line:  rgba(241,243,248,0.09);
  --navy-dim:   rgba(241,243,248,0.62);
  --navy-dimmer:rgba(241,243,248,0.38);

  --shadow-card: 0 2px 4px rgba(0,0,0,0.35), 0 24px 60px rgba(91,124,255,0.10), 0 30px 70px rgba(0,0,0,0.5);
  --shadow-lift: 0 8px 20px rgba(0,0,0,0.4), 0 40px 90px rgba(155,123,255,0.14), 0 40px 100px rgba(0,0,0,0.55);

  --sans: 'Sora', ui-sans-serif, system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
  --serif: var(--sans);

  --violet: #9B7BFF;
  --violet-soft: #B79EFF;
  --display-font: 'Sora', ui-sans-serif, system-ui, sans-serif;
}
body { background: var(--bg); color: var(--ink); position: relative; }
.on-dark, .on-dark h1, .on-dark h2, .on-dark h3 { color: var(--ink); }
h1, h2, h3, h4 { font-family: var(--display-font); letter-spacing: -0.025em; }
.eyebrow { color: var(--gold); }
.eyebrow::before { background: var(--gold); }

.display-1 { font-weight: 800; letter-spacing: -0.035em; }
.display-2 { font-weight: 800; letter-spacing: -0.03em; }
.display-3 { font-weight: 700; letter-spacing: -0.02em; }

/* ---------- Floating blob texture (fixed, behind all sections) ---------- */
.blob-field { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.blob { position: absolute; border-radius: 999px; filter: blur(70px); opacity: .5; }
.blob-1 { width: 620px; height: 620px; top: -180px; left: -140px; background: radial-gradient(circle, var(--electric) 0%, transparent 70%); }
.blob-2 { width: 560px; height: 560px; top: 20%; right: -200px; background: radial-gradient(circle, var(--violet) 0%, transparent 70%); opacity: .28; }
.blob-3 { width: 500px; height: 500px; bottom: -160px; left: 8%; background: radial-gradient(circle, var(--gold) 0%, transparent 70%); opacity: .28; }
.blob-4 { width: 480px; height: 480px; bottom: 30%; right: 4%; background: radial-gradient(circle, var(--electric-soft) 0%, transparent 70%); opacity: .22; }
section, footer { position: relative; z-index: 1; }
.nav { position: sticky; top: 0; z-index: 100; backdrop-filter: blur(16px) saturate(140%); -webkit-backdrop-filter: blur(16px) saturate(140%); }

/* ---------- Hero mockup play affordance ---------- */
.wm-wrap { display: block; position: relative; text-decoration: none; }
.wm-wrap .wm { transition: transform .25s ease, box-shadow .25s ease; }
.wm-wrap:hover .wm { transform: translateY(-3px); }
.wm-play-badge {
  position: absolute; left: 50%; bottom: -18px; transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: 8px; background: var(--gold); color: #06070A;
  font-family: var(--sans); font-weight: 700; font-size: 12.5px; padding: 10px 18px; border-radius: 999px;
  box-shadow: 0 10px 26px rgba(240,185,61,0.35); white-space: nowrap;
}
.wm-play-ico { font-size: 10px; }

/* ---------- Demo reel ---------- */
.reel-frame { background: var(--bg-card); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow-lift); overflow: hidden; max-width: 920px; margin: 0 auto; }
.reel-chrome { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--line); background: var(--bg-card-2); }
.reel-chrome .dot { width: 9px; height: 9px; border-radius: 99px; background: rgba(241,243,248,0.14); }
.reel-chrome span.mono { margin-left: 10px; font-size: 11px; color: var(--ink-mute); }
.reel-stage { position: relative; width: 100%; aspect-ratio: 16 / 10; background: #11151D; }
.reel-stage iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; display: block; }
.iframe-fallback {
  display: none; position: absolute; inset: 0; align-items: center; justify-content: center; text-align: center;
  padding: 32px; font-family: var(--sans); font-size: 14px; line-height: 1.6; color: var(--ink-soft);
  background: var(--bg-card, #11151D);
}
.wm.iframe-failed .iframe-fallback, .reel-stage.iframe-failed .iframe-fallback { display: flex; }
.wm.iframe-failed iframe, .reel-stage.iframe-failed iframe { display: none; }
.reel-live-badge { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--green); margin-left: auto; }
.reel-caption { text-align: center; font-size: 13.5px; color: #475569; min-height: 20px; margin-top: -4px; margin-bottom: 18px; }

/* ---------- Nav ---------- */
.nav { background: rgba(6,7,10,0.82); border-bottom: 1px solid var(--line); }
.nav-links a { color: var(--ink-soft); }
.nav-links a:hover { color: var(--ink); }
.lang-toggle { background: rgba(255,255,255,0.04); border-color: var(--line); }
.lang-toggle button { color: var(--ink-mute); }
.lang-toggle button.active { background: var(--gold); color: #06070A; }
.brand-word, .footer-col a:hover, .brand-word.dim { color: var(--ink); }
/* ---------- Logo mark: Blockcore WAVE (3x3 grid, animated, center cell accented) ---------- */
@keyframes bc-wave { 0%,100%{opacity:.4;transform:scale(.92)} 50%{opacity:1;transform:scale(1)} }
.logo-mark { display: inline-grid; grid-template-columns: repeat(3, 1fr); flex-shrink: 0; }
.logo-mark span { display: block; background: var(--ink-soft); animation: bc-wave 2.2s ease-in-out infinite; }
.logo-mark span:nth-child(1) { animation-delay: 0s; }
.logo-mark span:nth-child(2) { animation-delay: .18s; }
.logo-mark span:nth-child(3) { animation-delay: .36s; }
.logo-mark span:nth-child(4) { animation-delay: .18s; }
.logo-mark span:nth-child(5) { background: var(--gold); animation-delay: .36s; }
.logo-mark span:nth-child(6) { animation-delay: .54s; }
.logo-mark span:nth-child(7) { animation-delay: .36s; }
.logo-mark span:nth-child(8) { animation-delay: .54s; }
.logo-mark span:nth-child(9) { animation-delay: .72s; }
@media (prefers-reduced-motion: reduce) { .logo-mark span { animation: none; } }
.btn-outline { color: var(--ink); border-color: var(--line); }
.btn-outline:hover { border-color: var(--ink-mute); }
.btn-primary { background: var(--electric); box-shadow: 0 0 0 1px rgba(91,124,255,0.4), 0 8px 24px rgba(91,124,255,0.35); }
.btn-primary:hover { background: var(--electric-soft); }
.btn-bronze { background: var(--gold); color: #06070A; }
.btn-bronze:hover { background: var(--gold-soft); }
.mobile-menu { background: var(--bg); }
.mobile-menu a { border-bottom: 1px solid var(--line-soft); color: var(--ink); }

.section-dark { background: var(--bg-sub); }
.section-light { background: rgba(248,250,252,0.97); }
.card { background: var(--bg-card); border-color: var(--line); box-shadow: var(--shadow-card); }
.tag { border-color: var(--line); color: var(--ink-soft); }
.lede { color: var(--ink-soft); }

/* ---------- Hero ---------- */
.os-hero { padding: 56px 0 72px; }
.os-hero-grid { display: grid; grid-template-columns: 1.35fr 0.65fr; gap: 52px; align-items: center; }
@media (max-width: 980px) { .os-hero-grid { grid-template-columns: 1fr; } }
.hero-headline { font-size: clamp(34px, 4.2vw, 56px); line-height: 1.08; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 480px) { .hero-ctas .btn { flex: 1 1 100%; } }
.hero-badge { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-soft); background: rgba(240,185,61,0.08); border: 1px solid rgba(240,185,61,0.28); padding: 7px 12px; border-radius: 99px; width: fit-content; }
.hero-trust-line { font-size: 12.5px; color: var(--ink-mute); font-family: var(--mono); letter-spacing: .01em; }

/* ---------- Live workspace mockup (interactive demo iframe, illustrative data) ---------- */
.wm { background: var(--bg-card); border: 1px solid var(--line); border-radius: 32px; box-shadow: var(--shadow-lift); overflow: hidden; position: relative; aspect-ratio: 9 / 17.5; width: 100%; max-width: 380px; margin: 0 auto; }
.wm-shot { position: absolute; inset: 0; width: 100%; height: 100%; border: none; pointer-events: none; display: block; }
@media (max-width: 980px) { .wm { max-width: 340px; } }
.wm-live-badge { position: absolute; top: 14px; right: 16px; background: rgba(6,7,10,0.65); backdrop-filter: blur(6px); padding: 5px 10px; border-radius: 999px; }
.status-dot { width: 7px; height: 7px; border-radius: 99px; background: var(--green); box-shadow: 0 0 0 3px rgba(52,211,153,0.2); animation: blink 2.2s ease-in-out infinite; }
@keyframes blink { 0%,50%,100%{opacity:1} 25%,75%{opacity:.4} }
.live-pill { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 9.5px; letter-spacing: .08em; color: var(--green); }

/* ---------- Pain grid ---------- */
.pain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 900px) { .pain-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .pain-grid { grid-template-columns: 1fr; } }
.pain-card { background: #fff; border: none; border-radius: 20px; padding: 20px 22px; font-size: 14px; line-height: 1.55; color: #334155; box-shadow: 0 2px 8px rgba(11,18,32,.04), 0 16px 32px rgba(11,18,32,.06); }
.pain-closer { text-align: center; font-size: 16px; font-weight: 600; color: #0B1220; margin-top: 28px; }

/* ---------- Light cards ---------- */
.section-light .eyebrow { color: #2C44B8; }
.section-light .eyebrow::before { background: #2C44B8; }
.section-light h1, .section-light h2, .section-light h3, .section-light h4, .section-light h5 { color: #0B1220; }
.section-light .btn-outline { color: #0B1220; border-color: rgba(11,18,32,0.16); }
.section-light .btn-outline:hover { border-color: rgba(11,18,32,0.32); }
.section-light .lede { color: #475569; }
.card-lt {
  background: #fff; border: none; border-radius: 22px;
  box-shadow: 0 2px 8px rgba(11,18,32,.05), 0 20px 40px rgba(11,18,32,.07);
  padding: 26px; display: grid; gap: 10px; align-content: start;
}
.card-lt h5 { font-family: var(--sans); font-weight: 600; font-size: 16.5px; margin: 0; color: #0B1220; }
.card-lt p { font-size: 13.5px; line-height: 1.6; color: #475569; margin: 0; }
.card-lt .mk { font-family: var(--mono); font-size: 11px; color: #2F80ED; letter-spacing: .04em; }
.card3-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .card3-grid { grid-template-columns: 1fr; } }
.usecase-grid, .demo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 760px) { .usecase-grid, .demo-grid { grid-template-columns: 1fr; } }

/* ---------- Pillars (plain-language) ---------- */
.sys-rows { border-top: 1px solid var(--line); }
.sys-row { display: grid; grid-template-columns: 64px 260px 1fr; gap: 24px; padding: 26px 4px; border-bottom: 1px solid var(--line); align-items: baseline; transition: background .2s ease; }
.sys-row:hover { background: rgba(255,255,255,0.02); }
@media (max-width: 800px) { .sys-row { grid-template-columns: 44px 1fr; } .sys-row h4 { grid-column: 2; } .sys-row p { grid-column: 2; } }
.sys-row .idx { font-family: var(--mono); font-size: 13px; color: var(--gold); }
.sys-row h4 { font-size: 19px; color: var(--ink); }
.sys-row p { font-size: 14px; line-height: 1.55; color: var(--ink-soft); margin: 0; }


/* ---------- BIA roster with status ---------- */
.roster { border-top: 1px solid var(--line); }
.roster-row { display: grid; grid-template-columns: 36px 1fr 1fr auto; gap: 16px; padding: 16px 6px; border-bottom: 1px solid var(--line); align-items: center; }
@media (max-width: 760px) { .roster-row { grid-template-columns: 26px 1fr; } .roster-row .fn, .roster-row .status-pill { grid-column: 2; } }
.roster-row .idx { font-family: var(--mono); font-size: 11px; color: var(--ink-mute); }
.roster-row .name { font-family: var(--sans); font-weight: 600; font-size: 15px; color: var(--ink); }
.roster-row .fn { font-size: 12.5px; color: var(--ink-soft); }

/* ---------- Status pills ---------- */
.status-pill { font-family: var(--mono); font-size: 9.5px; letter-spacing: .06em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; white-space: nowrap; justify-self: end; }
.status-pill.beta { background: rgba(91,124,255,0.14); color: var(--electric-soft); }
.status-pill.roadmap { background: rgba(168,175,194,0.14); color: var(--ink-mute); }
.status-pill.controlled { background: rgba(240,185,61,0.14); color: var(--gold-soft); }

/* ---------- Illustrative data note ---------- */
.illustrative-note { font-family: var(--mono); font-size: 10.5px; letter-spacing: .03em; color: var(--ink-mute); display: inline-flex; align-items: center; gap: 6px; }
.illustrative-note::before { content: '◆'; font-size: 7px; }

/* ---------- Intent + action chips ---------- */
.intent-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.intent-chip { font-family: var(--mono); font-size: 12.5px; color: var(--ink-soft); padding: 10px 15px; border-radius: 999px; background: rgba(255,255,255,0.03); border: 1px solid var(--line); }
.action-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.action-chip { font-family: var(--sans); font-size: 12px; font-weight: 600; color: var(--gold-soft); padding: 7px 14px; border-radius: 999px; background: rgba(240,185,61,0.08); border: 1px solid rgba(240,185,61,0.25); }
.intent-subhead { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mute); margin: 22px 0 10px; }

/* ---------- Use-case cards (pain/benefit), dark ---------- */
.usecase-card { background: var(--bg-card); border: 1px solid var(--line); border-radius: 18px; padding: 24px; box-shadow: var(--shadow-card); }
.usecase-card h5 { font-size: 17px; margin: 0 0 14px; color: var(--ink); }
.usecase-card .uc-row { margin-bottom: 12px; }
.usecase-card .uc-row:last-child { margin-bottom: 0; }
.usecase-card .uc-label { font-family: var(--mono); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; display: block; margin-bottom: 4px; }
.usecase-card .uc-row.pain .uc-label { color: var(--red); }
.usecase-card .uc-row.benefit .uc-label { color: var(--green); }
.usecase-card p { font-size: 13.5px; line-height: 1.55; color: var(--ink-soft); margin: 0; }

/* ---------- Demo preview cards ---------- */
.demo-card { background: var(--bg-card); border: 1px solid var(--line); border-radius: 18px; padding: 22px; box-shadow: var(--shadow-card); }
.demo-card .dc-num { font-family: var(--mono); font-size: 11px; color: var(--gold); margin-bottom: 8px; display: block; }
.demo-card h3 { font-size: 16px; margin: 0 0 8px; color: var(--ink); }
.demo-card p { font-size: 13.5px; line-height: 1.55; color: var(--ink-soft); margin: 0; }

/* ---------- AI governance cards ---------- */
.gov-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 900px) { .gov-grid { grid-template-columns: 1fr; } }
.gov-card { padding: 22px; border-radius: 16px; }
.gov-card.helps { background: rgba(91,124,255,0.06); border: 1px solid rgba(91,124,255,0.2); }
.gov-card.organizes { background: rgba(240,185,61,0.06); border: 1px solid rgba(240,185,61,0.2); }
.gov-card.cannot { background: rgba(240,101,77,0.06); border: 1px solid rgba(240,101,77,0.22); }
.gov-card p { font-size: 14px; line-height: 1.6; color: var(--ink-soft); margin: 0; }
.gov-card .gc-label { font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; display: block; }
.gov-card.helps .gc-label { color: var(--electric-soft); }
.gov-card.organizes .gc-label { color: var(--gold-soft); }
.gov-card.cannot .gc-label { color: #F0654D; }
.gov-trust-line { text-align: center; font-family: var(--mono); font-size: 12.5px; color: var(--ink-mute); margin-top: 22px; max-width: 640px; margin-left: auto; margin-right: auto; line-height: 1.6; }

/* ---------- CTA form ---------- */
.cmd-form { background: var(--bg-card); border: 1px solid var(--line); border-radius: 26px; padding: 32px; max-width: 640px; margin: 0 auto; }
.cta-form-full { display: grid; gap: 12px; }
.cta-form-full .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 560px) { .cta-form-full .row2 { grid-template-columns: 1fr; } }
.cta-form-full input, .cta-form-full select, .cta-form-full textarea {
  width: 100%; padding: 14px 16px; border-radius: 9px; border: 1px solid var(--line);
  font-family: var(--sans); font-size: 16px; background: rgba(255,255,255,0.06); color: #EEF1F7;
}
.cta-form-full select { appearance: none; -webkit-appearance: none; }
.cta-form-full textarea { resize: vertical; min-height: 64px; font-family: var(--sans); }
.cta-form-full input::placeholder, .cta-form-full textarea::placeholder { color: var(--ink-mute); }
.cta-form-full input:focus, .cta-form-full select:focus, .cta-form-full textarea:focus { outline: 2px solid var(--electric-soft); outline-offset: 1px; }
.cta-form-full input[aria-invalid="true"], .cta-form-full select[aria-invalid="true"] { border-color: var(--red); background: rgba(240,101,77,0.08); }
.cta-form-full label { font-family: var(--mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: 4px; display: block; }
@media (max-width: 560px) { .cmd-form { padding: 22px 18px; border-radius: 20px; } .cta-form-full .btn { width: 100%; } }
.form-note { color: var(--ink-mute); font-size: 12.5px; }
.form-confirm { display: none; align-items: center; gap: 8px; color: var(--green); font-size: 14px; font-weight: 600; margin-top: 14px; }
.form-confirm.show { display: flex; }
.form-error { display: none; color: #F0654D; font-size: 13px; margin: -4px 0 2px; }
.form-error.show { display: block; }
.form-noconnection { display: none; color: var(--gold-soft); font-size: 13px; margin-top: 14px; line-height: 1.5; }
.form-noconnection.show { display: block; }

/* ---------- Final CTA band ---------- */
.final-cta-band { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 30px 34px; background: var(--bg-card); border: 1px solid var(--line); border-radius: 22px; max-width: 980px; margin: 0 auto; }
.final-cta-band h3 { font-size: 21px; margin: 0; }

/* ---------- Footer ---------- */
.footer { background: var(--bg-sub); border-top: 1px solid var(--line); }
.footer-top { border-color: var(--line); }
.footer-col h6 { color: var(--ink-mute); }
.footer-col a { color: var(--ink-soft); }
.footer-bottom .mono { color: var(--ink-mute); }

/* ---------- Standalone legal/info pages (Privacy, Terms, Data & AI
   Governance, About, Contact) — same content styling the old in-page
   modals used, now flowed into a normal page section instead of an
   overlay ---------- */
.legal-page { max-width: 720px; margin: 0 auto; }
@media (max-width: 560px) { .legal-nav-back { display: none; } }
.legal-page .eyebrow { display: block; margin-bottom: 10px; }
.legal-page h1 { font-size: clamp(28px, 3.4vw, 38px); margin: 0 0 16px; }
.legal-page h5 { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--gold-soft); margin: 20px 0 6px; font-family: var(--sans); }
.legal-page p { font-size: 14.5px; line-height: 1.7; color: var(--ink-soft); margin: 0 0 4px; }
.legal-page p a { color: var(--electric-soft); text-decoration: underline; }

/* ---------- About BlockCore page extras ---------- */
.about-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 22px 0 26px; }
@media (max-width: 520px) { .about-value-grid { grid-template-columns: 1fr; } }
.about-value-card { background: rgba(255,255,255,0.03); border: 1px solid var(--line); border-radius: 14px; padding: 16px 16px; }
.about-value-card h5 { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: var(--ink); font-family: var(--sans); text-transform: none; letter-spacing: 0; }
.about-value-card p { font-size: 12.5px; line-height: 1.55; margin: 0; }
.about-cta { display: inline-flex; margin-top: 4px; }

/* ---------- Legal doc extras (Privacy/Terms/Governance) ---------- */
.legal-effective-date { font-family: var(--mono); font-size: 11px; letter-spacing: .04em; color: var(--ink-mute); margin-bottom: 14px !important; }
.legal-list { margin: 0 0 10px; padding-left: 20px; }
.legal-list li { font-size: 14px; line-height: 1.65; color: var(--ink-soft); margin-bottom: 3px; }
.legal-footer-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }

/* ---------- Data & AI Governance page extras ---------- */
.gov-principle-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 10px 0 22px; }
@media (max-width: 460px) { .gov-principle-grid { grid-template-columns: 1fr; } }
.security-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 900px; margin: 0 auto; }
@media (max-width: 780px) { .security-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .security-grid { grid-template-columns: 1fr; } }
.gov-principle-card { background: rgba(255,255,255,0.03); border: 1px solid var(--line); border-radius: 12px; padding: 14px 15px; }
.gov-principle-card h6 { margin: 0 0 5px; font-size: 13px; font-weight: 700; color: var(--ink); font-family: var(--sans); }
.gov-principle-card p { font-size: 12.5px; line-height: 1.5; margin: 0; color: var(--ink-soft); }
.legal-list-no li { color: #E8998C; }
.gov-status-table { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin: 10px 0 10px; }
.gov-status-row { background: var(--bg-card); display: flex; align-items: center; justify-content: space-between; padding: 11px 16px; font-size: 13.5px; color: var(--ink); }
.legal-note { font-size: 12.5px; color: var(--ink-mute); font-style: italic; }

/* ---------- Contact section ---------- */
.contact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 28px; }
@media (max-width: 900px) { .contact-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .contact-grid { grid-template-columns: 1fr; } }
.contact-link { font-family: var(--mono); font-size: 13px; font-weight: 600; color: #2F80ED; text-decoration: none; margin-top: 4px; display: inline-block; }
.contact-link:hover { text-decoration: underline; }
.contact-trust-line { text-align: center; font-size: 13px; color: #64748B; max-width: 560px; margin: 0 auto 24px; line-height: 1.6; }

/* ---------- Early Access section ---------- */
.ea-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 36px; }
@media (max-width: 860px) { .ea-grid { grid-template-columns: 1fr; } }
.ea-col h5 { font-family: var(--sans); font-size: 14px; font-weight: 700; letter-spacing: .01em; text-transform: none; color: var(--ink); margin: 0 0 12px; }
.ea-col .legal-list { padding-left: 18px; }
.ea-col .legal-list li { font-size: 13.5px; color: var(--ink-soft); }
.ea-col .legal-list-no li { color: #E8998C; }
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
.skip-link {
  position: absolute; top: -100px; left: 12px; z-index: 999;
  background: var(--electric); color: #fff; padding: 12px 18px; border-radius: 8px;
  font-family: var(--sans); font-weight: 600; font-size: 14px; text-decoration: none;
  transition: top .15s ease;
}
.skip-link:focus { top: 12px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--electric-soft); outline-offset: 2px;
}
