/* Self-hosted fonts. Generated by scripts/fetch-fonts.mjs — do not edit by hand. */
@font-face{font-family:'Geologica';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/geologica-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Geologica';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/geologica-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Geologica';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/geologica-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Geologica';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/geologica-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/jetbrains-mono-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/jetbrains-mono-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/jetbrains-mono-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/jetbrains-mono-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/onest-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/onest-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/onest-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/onest-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ==========================================================================
   CyberSecurityV — Independent Cyber Security Verification
   Design system: "Ledger" — dark, cold-blue, hairline rules, mono data.
   ========================================================================== */

:root {
  color-scheme: dark;
  --bg: #05070B;
  --surface: #0C111B;
  --elevated: #111827;
  --elevated-2: #161F31;
  --border: #1B2433;
  --border-strong: #27324A;
  --text: #F7F9FC;
  --text-2: #8D98A9;
  --text-3: #5D6979;
  --blue: #2F7DFF;
  --blue-hover: #5B9AFF;
  --blue-soft: rgba(47, 125, 255, 0.14);
  --blue-line: rgba(47, 125, 255, 0.45);
  --green: #18C784;
  --green-soft: rgba(24, 199, 132, 0.14);
  --amber: #F5B942;
  --amber-soft: rgba(245, 185, 66, 0.14);
  --red: #FF5D5D;
  --red-soft: rgba(255, 93, 93, 0.14);
  --grey: #8A94A6;
  --grey-soft: rgba(138, 148, 166, 0.16);

  --font-display: 'Geologica', 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body: 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --r-s: 6px;
  --r: 10px;
  --r-l: 16px;
  --container: 1200px;
  --gutter: 24px;
  --header-h: 68px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---------- Reset & base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(900px 520px at 50% -120px, rgba(47, 125, 255, 0.16), transparent 70%),
    radial-gradient(circle, rgba(255, 255, 255, 0.045) 1px, transparent 1.2px);
  background-size: auto, 28px 28px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.35) 100%);
}
main { flex: 1 0 auto; }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--blue-hover); text-decoration: none; }
a:hover { color: #A9CBFF; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 4px; }
::selection { background: rgba(47, 125, 255, 0.35); }
hr { border: 0; border-top: 1px solid var(--border); margin: 0; }
code, kbd, samp, .mono { font-family: var(--font-mono); font-size: 0.9em; }
time { font-variant-numeric: tabular-nums; }

h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; letter-spacing: -0.02em; line-height: 1.08; margin: 0 0 0.5em; color: var(--text); text-wrap: balance; }
h1 { font-size: clamp(2.5rem, 5.4vw, 4.4rem); line-height: 1.02; letter-spacing: -0.028em; }
h2 { font-size: clamp(1.85rem, 3.1vw, 2.65rem); }
h3 { font-size: 1.25rem; letter-spacing: -0.012em; }
h4 { font-size: 1.05rem; letter-spacing: -0.01em; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
.lead { font-size: 1.2rem; line-height: 1.55; color: var(--text-2); max-width: 62ch; }
.muted { color: var(--text-2); }
.small { font-size: 0.9rem; }
.tabular { font-variant-numeric: tabular-nums; }
.nowrap { white-space: nowrap; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: absolute; left: 12px; top: -60px; background: var(--blue); color: #fff; padding: 10px 14px; border-radius: var(--r-s); z-index: 1000; font-weight: 600; }
.skip-link:focus { top: 12px; }
.break { overflow-wrap: anywhere; }

/* ---------- Layout ---------- */
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.container--narrow { max-width: 860px; }
.container--wide { max-width: 1320px; }
.section { padding: 96px 0; position: relative; }
.section--tight { padding: 64px 0; }
.section--rule { border-top: 1px solid var(--border); }
.grid { display: grid; gap: 24px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.col-5 { grid-column: span 5; } .col-6 { grid-column: span 6; } .col-7 { grid-column: span 7; } .col-8 { grid-column: span 8; } .col-4 { grid-column: span 4; }
.stack > * + * { margin-top: var(--stack, 16px); }
.cluster { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.between { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
@media (max-width: 960px) {
  .section { padding: 72px 0; }
  .grid-3, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-12 { grid-template-columns: 1fr; }
  .col-4, .col-5, .col-6, .col-7, .col-8 { grid-column: auto; }
}
@media (max-width: 640px) {
  .section { padding: 56px 0; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  :root { --gutter: 18px; }
}

/* ---------- Section headers & eyebrow ---------- */
.eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--text-2); margin: 0 0 18px;
}
.eyebrow-n { color: var(--blue-hover); }
.eyebrow-n::after { content: ''; display: inline-block; width: 22px; height: 1px; background: var(--blue-line); vertical-align: middle; margin-left: 12px; }
.section-head { max-width: 760px; margin-bottom: 48px; }
.section-head .lead { margin-top: 14px; }
.section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.section-head--center .lead { margin-left: auto; margin-right: auto; }

/* ---------- Buttons ---------- */
.btn {
  --btn-bg: var(--elevated); --btn-fg: var(--text); --btn-bd: var(--border-strong);
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 12px 20px; border-radius: var(--r); border: 1px solid var(--btn-bd);
  background: var(--btn-bg); color: var(--btn-fg); font-weight: 600; font-size: 0.95rem; line-height: 1.2;
  cursor: pointer; white-space: nowrap; text-decoration: none; position: relative;
  transition: background-color 0.18s var(--ease), border-color 0.18s var(--ease), transform 0.18s var(--ease), box-shadow 0.18s var(--ease);
}
.btn:hover { --btn-bg: var(--elevated-2); --btn-bd: #34415C; color: var(--text); }
.btn:active { transform: translateY(1px); }
.btn:disabled, .btn[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; transform: none; }
.btn--primary { --btn-bg: var(--blue); --btn-fg: #fff; --btn-bd: var(--blue); box-shadow: 0 8px 24px -10px rgba(47, 125, 255, 0.7); }
.btn--primary:hover { --btn-bg: var(--blue-hover); --btn-bd: var(--blue-hover); color: #fff; }
.btn--ghost { --btn-bg: transparent; --btn-bd: transparent; color: var(--text); }
.btn--ghost:hover { --btn-bg: rgba(255, 255, 255, 0.05); --btn-bd: transparent; }
.btn--outline { --btn-bg: transparent; }
.btn--sm { padding: 8px 14px; font-size: 0.875rem; border-radius: var(--r-s); }
.btn--lg { padding: 15px 26px; font-size: 1.02rem; }
.btn--block { width: 100%; }
.btn .icon { width: 16px; height: 16px; flex: none; }
.btn--loading { color: transparent !important; pointer-events: none; }
.btn--loading::after { content: ''; position: absolute; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, 0.35); border-top-color: #fff; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.icon { width: 18px; height: 18px; flex: none; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.link-arrow .icon { width: 16px; height: 16px; transition: transform 0.18s var(--ease); }
.link-arrow:hover .icon { transform: translateX(3px); }

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 60;
  backdrop-filter: blur(16px) saturate(140%); -webkit-backdrop-filter: blur(16px) saturate(140%);
  background: rgba(5, 7, 11, 0.72); border-bottom: 1px solid transparent;
  transition: border-color 0.2s, background-color 0.2s;
}
.site-header.is-scrolled { border-bottom-color: var(--border); background: rgba(5, 7, 11, 0.85); }
.site-header .container { max-width: 1400px; }
.header-inner { height: var(--header-h); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--text); font-weight: 700; font-size: 1.1rem; letter-spacing: -0.01em; flex: none; }
.brand img { width: 28px; height: 32px; }
.brand:hover { color: var(--text); }
.brand small { display: block; font-family: var(--font-mono); font-weight: 400; font-size: 0.62rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-3); margin-top: 1px; }
.nav-main { display: flex; gap: 2px; align-items: center; }
.nav-main a { color: var(--text-2); padding: 8px 10px; border-radius: var(--r-s); font-size: 0.92rem; font-weight: 500; white-space: nowrap; transition: color 0.15s, background-color 0.15s; }
.nav-main a:hover { color: var(--text); background: rgba(255, 255, 255, 0.04); }
.nav-main a[aria-current="page"] { color: var(--text); }
.header-actions { display: flex; align-items: center; gap: 6px; flex: none; }
.lang-switch { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 0.78rem; letter-spacing: 0.06em; color: var(--text-2); padding: 8px 10px; border-radius: var(--r-s); border: 1px solid transparent; }
.lang-switch:hover { color: var(--text); border-color: var(--border); }
.lang-switch .icon { width: 15px; height: 15px; }
.nav-toggle { display: none; width: 44px; height: 44px; border-radius: var(--r-s); border: 1px solid var(--border); background: transparent; align-items: center; justify-content: center; cursor: pointer; }
.nav-toggle .icon { width: 20px; height: 20px; }
@media (max-width: 1400px) { .brand small { display: none; } }
@media (max-width: 1320px) { .header-actions .btn--secondary-desktop:not(.btn--ghost) { display: none; } }
@media (max-width: 1180px) {
  .nav-main, .header-actions .btn--secondary-desktop { display: none; }
  .nav-toggle { display: inline-flex; }
}
@media (max-width: 720px) { .header-actions .btn--primary, .header-actions .lang-switch { display: none; } }

/* Mobile drawer */
.drawer { position: fixed; inset: 0; z-index: 70; display: none; }
.drawer[open], .drawer.is-open { display: block; }
.drawer-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); }
.drawer-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(360px, 92vw); background: var(--surface); border-left: 1px solid var(--border); padding: 20px; display: flex; flex-direction: column; gap: 8px; overflow-y: auto; transform: translateX(8%); opacity: 0; animation: drawerIn 0.28s var(--ease) forwards; }
@keyframes drawerIn { to { transform: none; opacity: 1; } }
.drawer-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.drawer a.nav-link { display: block; padding: 12px 10px; border-radius: var(--r-s); color: var(--text); font-weight: 500; font-size: 1.05rem; }
.drawer a.nav-link:hover { background: rgba(255, 255, 255, 0.04); }
.drawer .drawer-actions { margin-top: auto; display: grid; gap: 10px; padding-top: 16px; border-top: 1px solid var(--border); }
body.nav-open { overflow: hidden; }

/* ---------- Footer ---------- */
.site-footer { border-top: 1px solid var(--border); padding: 64px 0 36px; background: linear-gradient(to bottom, rgba(12, 17, 27, 0), rgba(12, 17, 27, 0.6)); }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 32px; }
.footer-col h4 { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-3); font-weight: 500; margin-bottom: 14px; }
.footer-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.footer-col a { color: var(--text-2); font-size: 0.95rem; }
.footer-col a:hover { color: var(--text); }
.footer-brand p { color: var(--text-2); font-size: 0.92rem; max-width: 34ch; margin-top: 14px; }
.footer-bottom { margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; color: var(--text-3); font-size: 0.85rem; }
.footer-bottom .sig { font-family: var(--font-mono); letter-spacing: 0.02em; }
.footer-note { color: var(--text-3); font-size: 0.82rem; max-width: 72ch; margin-top: 18px; }
@media (max-width: 960px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } .footer-brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .footer-grid { grid-template-columns: 1fr; } }

/* ---------- Badges & pills ---------- */
.status { display: inline-flex; align-items: center; gap: 8px; padding: 4px 10px 4px 8px; border-radius: 999px; font-family: var(--font-mono); font-size: 0.74rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; border: 1px solid; line-height: 1.5; white-space: nowrap; }
.status .icon { width: 13px; height: 13px; }
.status--active { color: var(--green); border-color: rgba(24, 199, 132, 0.45); background: var(--green-soft); }
.status--suspended { color: var(--amber); border-color: rgba(245, 185, 66, 0.45); background: var(--amber-soft); }
.status--expired { color: var(--grey); border-color: rgba(138, 148, 166, 0.45); background: var(--grey-soft); }
.status--revoked { color: var(--red); border-color: rgba(255, 93, 93, 0.45); background: var(--red-soft); }
.status--lg { font-size: 0.86rem; padding: 6px 14px 6px 11px; }
.status--lg .icon { width: 15px; height: 15px; }
.pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 6px; font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.06em; border: 1px solid var(--border-strong); color: var(--text-2); background: rgba(255, 255, 255, 0.02); white-space: nowrap; }
.pill--blue { color: var(--blue-hover); border-color: var(--blue-line); background: var(--blue-soft); }
.pill--demo { color: var(--amber); border-color: rgba(245, 185, 66, 0.4); background: var(--amber-soft); }
.level-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 30px; padding: 0 10px; border-radius: 7px; font-family: var(--font-display); font-weight: 700; font-size: 0.95rem; letter-spacing: 0.02em; background: var(--blue-soft); color: var(--blue-hover); border: 1px solid var(--blue-line); }
.level-pill--V4 { background: linear-gradient(135deg, rgba(47, 125, 255, 0.35), rgba(47, 125, 255, 0.08)); color: #CFE1FF; }
.sev { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 3px 9px; border-radius: 6px; border: 1px solid; }
.sev::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.sev--critical { color: var(--red); border-color: rgba(255, 93, 93, 0.45); background: var(--red-soft); }
.sev--high { color: #FF9B5D; border-color: rgba(255, 155, 93, 0.45); background: rgba(255, 155, 93, 0.12); }
.sev--medium { color: var(--amber); border-color: rgba(245, 185, 66, 0.45); background: var(--amber-soft); }
.sev--low { color: var(--blue-hover); border-color: var(--blue-line); background: var(--blue-soft); }
.sev--info { color: var(--grey); border-color: rgba(138, 148, 166, 0.45); background: var(--grey-soft); }
.check-status { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; font-size: 0.9rem; white-space: nowrap; }
.check-status .icon { width: 16px; height: 16px; }
.check-status--passed, .check-status--confirmed { color: var(--green); }
.check-status--na { color: var(--grey); }
.check-status--failed { color: var(--red); }
.check-status--pending { color: var(--amber); }

/* ---------- Cards & surfaces ---------- */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-l); padding: 28px; position: relative; }
.card--elevated { background: var(--elevated); }
.card--pad-lg { padding: 36px; }
.card h3 { margin-bottom: 10px; }
.card p { color: var(--text-2); }
.card-num { font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.12em; color: var(--blue-hover); margin-bottom: 14px; }
.glass { background: rgba(12, 17, 27, 0.66); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid var(--border); border-radius: var(--r-l); }
.rule-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border); }
.rule-list li { padding: 16px 0; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: start; }
.rule-list .n { font-family: var(--font-mono); color: var(--blue-hover); font-size: 0.8rem; padding-top: 4px; letter-spacing: 0.06em; }
.check-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.check-list li { display: flex; gap: 10px; align-items: flex-start; color: var(--text-2); }
.check-list li .icon { color: var(--green); margin-top: 3px; width: 16px; height: 16px; }
.check-list--neutral li .icon { color: var(--text-3); }
.x-list li .icon { color: var(--red); }
.alert { display: grid; grid-template-columns: 22px 1fr; gap: 12px; padding: 16px 18px; border-radius: var(--r); border: 1px solid var(--border-strong); background: var(--elevated); color: var(--text-2); font-size: 0.95rem; }
.alert .icon { margin-top: 2px; width: 20px; height: 20px; }
.alert--info { border-color: var(--blue-line); background: rgba(47, 125, 255, 0.08); color: #C9DBFF; }
.alert--info .icon { color: var(--blue-hover); }
.alert--warn { border-color: rgba(245, 185, 66, 0.45); background: rgba(245, 185, 66, 0.08); color: #F3E4BE; }
.alert--warn .icon { color: var(--amber); }
.alert--danger { border-color: rgba(255, 93, 93, 0.45); background: rgba(255, 93, 93, 0.08); color: #F7CACA; }
.alert--danger .icon { color: var(--red); }
.alert--success { border-color: rgba(24, 199, 132, 0.45); background: rgba(24, 199, 132, 0.08); color: #C6F1DF; }
.alert--success .icon { color: var(--green); }
.alert strong { color: var(--text); }

/* ---------- Ledger (data rows) ---------- */
.ledger { border-top: 1px solid var(--border); }
.ledger-row { display: grid; grid-template-columns: 200px 1fr; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--border); align-items: baseline; }
.ledger-row dt { font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); margin: 0; }
.ledger-row dd { margin: 0; color: var(--text); overflow-wrap: anywhere; }
.ledger-row dd.mono { font-size: 0.92rem; }
.ledger--compact .ledger-row { grid-template-columns: 140px 1fr; padding: 9px 0; }
@media (max-width: 560px) { .ledger-row, .ledger--compact .ledger-row { grid-template-columns: 1fr; gap: 4px; } }
dl { margin: 0; }

/* ---------- Hero ---------- */
.hero { padding: 88px 0 72px; position: relative; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; }
.hero h1 { margin-bottom: 22px; }
.hero h1 .accent { color: var(--blue-hover); }
.hero .lead { font-size: clamp(1.1rem, 1.5vw, 1.3rem); margin-bottom: 30px; }
.hero-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 34px; }
.proof-line { display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 0; margin: 0; list-style: none; }
.proof-line li { display: inline-flex; align-items: center; gap: 8px; color: var(--text-2); font-size: 0.9rem; }
.proof-line li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
@media (max-width: 960px) { .hero { padding: 56px 0 48px; } .hero-grid { grid-template-columns: 1fr; gap: 40px; } }

/* Hero visualization */
.viz { background: linear-gradient(165deg, #0E1522, #080C14); border: 1px solid var(--border-strong); border-radius: var(--r-l); padding: 22px; position: relative; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(47, 125, 255, 0.06) inset; }
.viz::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 32px); pointer-events: none; }
.viz-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.06em; color: var(--text-2); }
.viz-state { display: inline-flex; align-items: center; gap: 8px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--blue-line); background: var(--blue-soft); color: var(--blue-hover); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.68rem; }
.viz-state::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: pulse 1.4s ease-in-out infinite; }
.viz.is-done .viz-state { color: var(--green); border-color: rgba(24, 199, 132, 0.45); background: var(--green-soft); }
.viz.is-done .viz-state::before { animation: none; }
@keyframes pulse { 0%, 100% { opacity: 0.35; } 50% { opacity: 1; } }
.viz-rows { display: grid; gap: 8px; position: relative; }
.viz-row { display: grid; grid-template-columns: 118px 1fr 74px; gap: 14px; align-items: center; padding: 9px 12px; border-radius: 8px; border: 1px solid transparent; background: rgba(255, 255, 255, 0.02); transition: border-color 0.3s, background-color 0.3s; }
.viz-row .name { font-weight: 600; font-size: 0.9rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.viz-row .bar { height: 4px; border-radius: 4px; background: rgba(255, 255, 255, 0.07); overflow: hidden; position: relative; }
.viz-row .bar i { position: absolute; inset: 0; width: 0; background: linear-gradient(90deg, var(--blue), #7FB1FF); border-radius: 4px; transition: width 0.9s var(--ease); }
.viz-row .st { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-3); text-align: right; }
.viz-row.is-running { border-color: var(--blue-line); background: rgba(47, 125, 255, 0.07); }
.viz-row.is-running .st { color: var(--blue-hover); }
.viz-row.is-running .bar i { width: 72%; }
.viz-row.is-passed .bar i { width: 100%; background: linear-gradient(90deg, var(--green), #5BE3B0); }
.viz-row.is-passed .st { color: var(--green); }
.viz-result { margin-top: 16px; padding: 16px 16px 14px; border-radius: 10px; border: 1px solid var(--border); background: rgba(0, 0, 0, 0.25); font-family: var(--font-mono); font-size: 0.82rem; line-height: 1.7; color: var(--text-2); min-height: 118px; position: relative; }
.viz-result .line { opacity: 0.35; transition: opacity 0.4s, color 0.4s; }
.viz-result .line.is-on { opacity: 1; color: var(--text); }
.viz-result .line.is-on.ok { color: var(--green); }
.viz-scan { position: absolute; left: 0; right: 0; height: 60px; top: 0; background: linear-gradient(to bottom, rgba(47, 125, 255, 0), rgba(47, 125, 255, 0.12), rgba(47, 125, 255, 0)); pointer-events: none; opacity: 0; }
.viz.is-running .viz-scan { opacity: 1; animation: scan 2.4s linear infinite; }
@keyframes scan { from { transform: translateY(-60px); } to { transform: translateY(380px); } }
.viz-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; font-family: var(--font-mono); font-size: 0.7rem; color: var(--text-3); letter-spacing: 0.06em; }
.viz-replay { background: none; border: 0; color: var(--text-2); font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; padding: 4px 6px; border-radius: 4px; display: inline-flex; align-items: center; gap: 6px; }
.viz-replay:hover { color: var(--text); }
.viz-replay .icon { width: 13px; height: 13px; }
@media (max-width: 420px) { .viz-row { grid-template-columns: 112px 1fr 60px; gap: 10px; } .viz-row .name { font-size: 0.82rem; } }

/* ---------- Problem cards ---------- */
.problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: var(--r-l); overflow: hidden; }
.problem-card { background: var(--surface); padding: 34px 30px; }
.problem-card .who { font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--blue-hover); margin-bottom: 14px; }
.problem-card p { font-size: 1.12rem; color: var(--text); line-height: 1.45; text-wrap: pretty; }
.closing { margin-top: 34px; font-family: var(--font-display); font-size: clamp(1.3rem, 2.2vw, 1.8rem); font-weight: 500; letter-spacing: -0.015em; max-width: 30ch; line-height: 1.25; }
.closing strong { color: var(--blue-hover); font-weight: 600; }
@media (max-width: 860px) { .problem-grid { grid-template-columns: 1fr; } }

/* ---------- Stepper ---------- */
.stepper { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; position: relative; counter-reset: step; }
.stepper::before { content: ''; position: absolute; left: 20px; right: 20px; top: 21px; height: 1px; background: linear-gradient(90deg, var(--blue), var(--blue-line) 60%, var(--border)); }
.step { position: relative; padding-top: 62px; }
.step::before { counter-increment: step; content: counter(step, decimal-leading-zero); position: absolute; top: 0; left: 0; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--bg); border: 1px solid var(--blue-line); color: var(--blue-hover); font-family: var(--font-mono); font-size: 0.8rem; box-shadow: 0 0 0 6px var(--bg); }
.step h3 { font-size: 1.35rem; margin-bottom: 8px; }
.step p { color: var(--text-2); }
@media (max-width: 860px) {
  .stepper { grid-template-columns: 1fr; gap: 28px; }
  .stepper::before { left: 21px; top: 20px; bottom: 20px; right: auto; width: 1px; height: auto; background: linear-gradient(180deg, var(--blue), var(--border)); }
  .step { padding-top: 0; padding-left: 64px; }
}

/* ---------- Level cards ---------- */
.levels-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.levels-grid > * { min-width: 0; }
.level-card .btn { white-space: normal; text-align: center; }
.level-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-l); padding: 26px 24px; display: flex; flex-direction: column; gap: 16px; position: relative; transition: border-color 0.2s, transform 0.25s var(--ease); }
.level-card:hover { border-color: var(--border-strong); transform: translateY(-3px); }
.level-card--V4 { background: linear-gradient(var(--elevated), var(--elevated)) padding-box, linear-gradient(160deg, rgba(47, 125, 255, 0.9), rgba(47, 125, 255, 0.08) 60%, rgba(47, 125, 255, 0.35)) border-box; border: 1px solid transparent; box-shadow: 0 30px 60px -40px rgba(47, 125, 255, 0.55); }
.level-card .lc-head { display: flex; justify-content: space-between; align-items: center; }
.level-card h3 { font-size: 1.3rem; margin: 0; }
.level-card .tagline { color: var(--text-2); font-size: 0.95rem; }
.level-card .price { font-family: var(--font-display); font-size: 1.7rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1; }
.level-card .price small { font-family: var(--font-mono); font-size: 0.7rem; color: var(--text-3); letter-spacing: 0.08em; text-transform: uppercase; display: block; margin-top: 6px; font-weight: 400; }
.level-card .price .from { font-size: 0.85rem; color: var(--text-2); font-weight: 500; letter-spacing: 0; margin-right: 4px; }
.level-card .lc-label { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-3); margin-bottom: 8px; }
.level-card .lc-result { font-family: var(--font-mono); font-size: 0.82rem; color: var(--green); padding-top: 14px; border-top: 1px solid var(--border); margin-top: auto; }
.level-card .lc-duration { font-family: var(--font-mono); font-size: 0.78rem; color: var(--text-2); }
.footnote { color: var(--text-3); font-size: 0.85rem; margin-top: 18px; }
@media (max-width: 1100px) { .levels-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .levels-grid { grid-template-columns: 1fr; } }

/* ---------- Certificate credential ---------- */
.cert { --cert-accent: var(--blue); position: relative; border-radius: 18px; padding: 24px; background: linear-gradient(160deg, #101827 0%, #0A0F19 60%, #0C1322 100%); border: 1px solid var(--border-strong); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255, 255, 255, 0.02) inset; overflow: hidden; display: flex; flex-direction: column; gap: 18px; color: var(--text); }
.cert::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.015) 0 1px, transparent 1px 24px), repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.015) 0 1px, transparent 1px 24px); pointer-events: none; }
.cert::after { content: ''; position: absolute; top: -80px; right: -80px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(47, 125, 255, 0.22), transparent 65%); pointer-events: none; }
.cert--V4 { border-color: rgba(47, 125, 255, 0.55); box-shadow: 0 40px 80px -40px rgba(47, 125, 255, 0.5), 0 0 0 1px rgba(47, 125, 255, 0.12) inset; }
.cert--suspended { --cert-accent: var(--amber); } .cert--revoked { --cert-accent: var(--red); } .cert--expired { --cert-accent: var(--grey); }
.cert > * { position: relative; }
.cm { position: absolute; width: 12px; height: 12px; border-color: rgba(255, 255, 255, 0.28); border-style: solid; border-width: 0; z-index: 1; }
.cm-tl { top: 10px; left: 10px; border-top-width: 1px; border-left-width: 1px; }
.cm-tr { top: 10px; right: 10px; border-top-width: 1px; border-right-width: 1px; }
.cm-bl { bottom: 10px; left: 10px; border-bottom-width: 1px; border-left-width: 1px; }
.cm-br { bottom: 10px; right: 10px; border-bottom-width: 1px; border-right-width: 1px; }
.cert-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.cert-brand { display: flex; align-items: center; gap: 10px; }
.cert-brand img { width: 24px; height: 27px; }
.cert-brand b { font-size: 0.95rem; letter-spacing: -0.01em; display: block; }
.cert-brand small { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); display: block; }
.cert-title h3 { font-size: 1.55rem; margin: 0 0 8px; letter-spacing: -0.02em; }
.cert-title .product { color: var(--text-2); font-size: 0.95rem; }
.cert-data { display: grid; gap: 7px; font-family: var(--font-mono); font-size: 0.78rem; }
.cert-data div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed rgba(255, 255, 255, 0.08); padding-bottom: 6px; }
.cert-data dt { color: var(--text-3); letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.66rem; }
.cert-data dd { margin: 0; color: var(--text); text-align: right; overflow-wrap: anywhere; }
.cert-data dd.ok { color: var(--green); }
.cert-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px; margin-top: 4px; }
.cert-qr { width: 74px; height: 74px; padding: 6px; background: #fff; border-radius: 8px; flex: none; }
.cert-qr svg { width: 100%; height: 100%; display: block; }
.cert-id { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.1em; color: var(--text-2); }
.cert-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: start; }
.cert-gallery > :nth-child(2) { transform: translateY(-18px); }
@media (max-width: 1000px) { .cert-gallery { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; } .cert-gallery > :nth-child(2) { transform: none; } }
.cert--compact { padding: 18px; gap: 12px; }
.cert--compact .cert-title h3 { font-size: 1.2rem; }
.cert--compact .cert-qr { width: 58px; height: 58px; }

/* ---------- Verify block ---------- */
.verify-box { background: var(--elevated); border: 1px solid var(--border-strong); border-radius: var(--r-l); padding: 34px; box-shadow: 0 30px 60px -40px rgba(0, 0, 0, 0.8); }
.verify-form { display: grid; grid-template-columns: 1fr auto; gap: 12px; margin-top: 8px; }
.verify-form .input { height: 54px; font-size: 1.05rem; font-family: var(--font-mono); }
.verify-examples { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; font-size: 0.88rem; color: var(--text-3); }
.verify-examples button { background: none; border: 0; color: var(--blue-hover); font-family: var(--font-mono); font-size: 0.85rem; cursor: pointer; padding: 2px 4px; border-radius: 4px; }
.verify-examples button:hover { color: #A9CBFF; text-decoration: underline; }
.verify-result { margin-top: 22px; }
.result-card { border: 1px solid var(--border); border-radius: var(--r-l); background: var(--surface); padding: 22px; display: grid; gap: 16px; }
.result-card .rc-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.result-card .rc-title { font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; letter-spacing: -0.015em; }
.result-card .rc-sub { color: var(--text-2); font-size: 0.95rem; }
.result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 20px; font-size: 0.92rem; }
.result-grid .k { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); display: block; margin-bottom: 3px; }
.result-grid .v { overflow-wrap: anywhere; }
@media (max-width: 720px) { .verify-form { grid-template-columns: 1fr; } .result-grid { grid-template-columns: 1fr 1fr; } .verify-box { padding: 24px; } }

/* ---------- Forms ---------- */
.field { display: grid; gap: 7px; }
.field label, .field .label { font-weight: 600; font-size: 0.92rem; }
.field .req { color: var(--red); margin-left: 3px; }
.field .hint { font-size: 0.85rem; color: var(--text-3); }
.field .error { font-size: 0.85rem; color: var(--red); display: none; }
.field.is-invalid .error { display: block; }
.field.is-invalid .input, .field.is-invalid .select, .field.is-invalid .textarea { border-color: var(--red); }
.input, .select, .textarea { width: 100%; height: 46px; padding: 0 14px; border-radius: var(--r-s); border: 1px solid var(--border-strong); background: rgba(5, 7, 11, 0.5); color: var(--text); font: inherit; transition: border-color 0.15s, box-shadow 0.15s; }
.textarea { height: auto; min-height: 120px; padding: 12px 14px; resize: vertical; }
.input::placeholder, .textarea::placeholder { color: var(--text-3); }
.input:hover, .select:hover, .textarea:hover { border-color: #34415C; }
.input:focus, .select:focus, .textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.input:disabled, .select:disabled, .textarea:disabled { opacity: 0.5; cursor: not-allowed; }
.select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238D98A9' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>"); background-repeat: no-repeat; background-position: right 12px center; }
.select option { background: var(--elevated); color: var(--text); }
.checkbox { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; cursor: pointer; font-size: 0.95rem; color: var(--text-2); }
.checkbox input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--blue); cursor: pointer; }
.checkbox.is-invalid { color: var(--red); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.form-grid .span-2 { grid-column: span 2; }
.form-section { padding: 28px 0; border-top: 1px solid var(--border); }
.form-section:first-of-type { border-top: 0; padding-top: 0; }
.form-section h3 { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.form-section h3 .n { font-family: var(--font-mono); font-size: 0.72rem; color: var(--blue-hover); letter-spacing: 0.1em; }
.flags { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 20px; }
.hp { position: absolute; left: -9999px; top: -9999px; opacity: 0; height: 0; width: 0; }
@media (max-width: 720px) { .form-grid { grid-template-columns: 1fr; } .form-grid .span-2 { grid-column: auto; } .flags { grid-template-columns: 1fr; } }
.form-status { margin-top: 18px; }

/* ---------- Tables ---------- */
.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--r-l); background: var(--surface); }
table.table { width: 100%; border-collapse: collapse; font-size: 0.93rem; min-width: 720px; }
.table th, .table td { text-align: left; padding: 13px 16px; border-bottom: 1px solid var(--border); vertical-align: top; }
.table th { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); font-weight: 500; background: rgba(255, 255, 255, 0.015); white-space: nowrap; }
.table tbody tr:last-child td { border-bottom: 0; }
.table tbody tr:hover td { background: rgba(255, 255, 255, 0.02); }
.table td.mono { font-family: var(--font-mono); font-size: 0.85rem; }
.table td .sub, .table th .sub { display: block; color: var(--text-3); font-size: 0.82rem; margin-top: 2px; }
.table th .sub { text-transform: none; letter-spacing: 0; font-family: var(--font-body); font-size: 0.8rem; font-weight: 500; }
.table--compare td:not(:first-child), .table--compare th:not(:first-child) { text-align: center; }
.table--compare td:first-child { color: var(--text-2); }
.table--compare .yes { color: var(--green); }
.table--compare .no { color: var(--text-3); }

/* ---------- Check rows (Trust Page) ---------- */
.checks { border-top: 1px solid var(--border); }
.check-row { border-bottom: 1px solid var(--border); }
.check-row summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 56px minmax(0, 1fr) 170px 118px 112px 20px; gap: 14px; align-items: center; padding: 15px 8px; transition: background-color 0.15s; }
.check-row summary::-webkit-details-marker { display: none; }
.check-row summary:hover { background: rgba(255, 255, 255, 0.025); }
.check-row .code { font-family: var(--font-mono); font-size: 0.78rem; color: var(--text-3); letter-spacing: 0.06em; }
.check-row .name { font-weight: 600; }
.check-row .name small { display: block; font-weight: 400; color: var(--text-3); font-size: 0.82rem; margin-top: 2px; line-height: 1.45; }
.check-row .method { color: var(--text-2); font-size: 0.88rem; }
.check-row .date { font-family: var(--font-mono); font-size: 0.82rem; color: var(--text-2); }
.check-row .chev { width: 16px; height: 16px; color: var(--text-3); transition: transform 0.2s; justify-self: end; }
.check-row[open] .chev { transform: rotate(180deg); }
.check-body { padding: 4px 8px 20px 78px; color: var(--text-2); font-size: 0.95rem; display: grid; gap: 12px; }
.check-body .lbl { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); display: block; margin-bottom: 4px; }
.check-body .note { color: var(--amber); }
.checks-domain { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--blue-hover); padding: 22px 8px 8px; }
@media (max-width: 900px) {
  .check-row summary { grid-template-columns: 1fr auto; grid-template-areas: 'name status' 'meta chev'; padding: 14px 6px; row-gap: 6px; }
  .check-row .code { display: none; }
  .check-row .name { grid-area: name; }
  .check-row .cs { grid-area: status; }
  .check-row .method, .check-row .date { grid-area: meta; font-size: 0.8rem; }
  .check-row .date { display: none; }
  .check-row .chev { grid-area: chev; }
  .check-body { padding-left: 6px; }
}

/* ---------- Timeline ---------- */
.timeline { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--border); margin-left: 8px; }
.timeline li { position: relative; padding: 0 0 18px 26px; }
.timeline li::before { content: ''; position: absolute; left: -5px; top: 7px; width: 9px; height: 9px; border-radius: 50%; background: var(--bg); border: 2px solid var(--blue); }
.timeline li.ok::before { border-color: var(--green); background: var(--green); }
.timeline li.warn::before { border-color: var(--amber); background: var(--amber); }
.timeline li.bad::before { border-color: var(--red); background: var(--red); }
.timeline li.neutral::before { border-color: var(--grey); background: var(--grey); }
.timeline .tl-date { font-family: var(--font-mono); font-size: 0.75rem; color: var(--text-3); letter-spacing: 0.06em; display: block; margin-bottom: 2px; }
.timeline .tl-text { color: var(--text); font-size: 0.95rem; }

/* ---------- Trust page ---------- */
.trust-head { padding: 56px 0 40px; border-bottom: 1px solid var(--border); background: linear-gradient(to bottom, rgba(47, 125, 255, 0.06), transparent); }
.trust-head h1 { font-size: clamp(2rem, 3.6vw, 3rem); margin: 10px 0 6px; }
.trust-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px 24px; margin-top: 28px; }
.trust-meta .k { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); display: block; margin-bottom: 4px; }
.trust-meta .v { font-size: 0.98rem; overflow-wrap: anywhere; }
.trust-meta .v.mono { font-size: 0.88rem; }
.trust-summary { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; align-items: stretch; }
.big-result { background: var(--elevated); border: 1px solid var(--border-strong); border-radius: var(--r-l); padding: 30px; display: grid; gap: 10px; align-content: start; }
.big-result .num { font-family: var(--font-display); font-size: clamp(2.4rem, 4.5vw, 3.6rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1; color: var(--green); }
.big-result .num.warn { color: var(--amber); } .big-result .num.bad { color: var(--red); } .big-result .num.neutral { color: var(--grey); }
.big-result .sub { font-family: var(--font-mono); font-size: 0.85rem; color: var(--text-2); letter-spacing: 0.04em; }
.big-result .counts { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.trust-side { display: grid; gap: 14px; }
.trust-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; align-items: start; }
.trust-aside { position: sticky; top: calc(var(--header-h) + 20px); display: grid; gap: 16px; }
.trust-aside .card { padding: 20px; }
.trust-aside .card h3 { font-size: 1rem; margin-bottom: 12px; }
.downloads { display: grid; gap: 8px; }
.downloads a, .downloads button { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--r-s); border: 1px solid var(--border); color: var(--text); font-size: 0.92rem; background: transparent; cursor: pointer; text-align: left; width: 100%; }
.downloads a:hover, .downloads button:hover { border-color: var(--border-strong); background: rgba(255, 255, 255, 0.03); }
.downloads .icon { color: var(--blue-hover); }
.embed-box { display: none; margin-top: 10px; }
.embed-box.is-open { display: block; }
.embed-box textarea { font-family: var(--font-mono); font-size: 0.72rem; min-height: 96px; }
.sig-box { display: grid; gap: 10px; }
.sig-out { font-size: 0.9rem; color: var(--text-2); }
.sig-out.ok { color: var(--green); } .sig-out.bad { color: var(--red); } .sig-out.warn { color: var(--amber); }
.fp { font-family: var(--font-mono); font-size: 0.7rem; color: var(--text-3); overflow-wrap: anywhere; line-height: 1.5; }
.qr-large { width: 132px; height: 132px; background: #fff; padding: 8px; border-radius: 10px; }
@media (max-width: 1000px) { .trust-layout { grid-template-columns: 1fr; } .trust-aside { position: static; } .trust-summary { grid-template-columns: 1fr; } .trust-meta { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Registry page ---------- */
.filters { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 18px; }
.filters .input { max-width: 380px; }
.seg { display: inline-flex; border: 1px solid var(--border-strong); border-radius: var(--r-s); overflow: hidden; }
.seg button { background: transparent; border: 0; padding: 9px 14px; color: var(--text-2); cursor: pointer; font-size: 0.88rem; font-weight: 500; border-right: 1px solid var(--border-strong); }
.seg button:last-child { border-right: 0; }
.seg button[aria-pressed="true"] { background: var(--blue-soft); color: var(--text); }
.count { font-family: var(--font-mono); font-size: 0.78rem; color: var(--text-3); margin-left: auto; }

/* ---------- Accordion (FAQ) ---------- */
.faq-group { margin-bottom: 40px; }
.faq-group h2 { font-size: 1.4rem; margin-bottom: 14px; }
.acc { border-top: 1px solid var(--border); }
.acc details { border-bottom: 1px solid var(--border); }
.acc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 4px; font-weight: 600; font-size: 1.05rem; }
.acc summary::-webkit-details-marker { display: none; }
.acc summary .icon { width: 18px; height: 18px; color: var(--text-3); transition: transform 0.2s; flex: none; }
.acc details[open] summary .icon { transform: rotate(45deg); }
.acc .acc-body { padding: 0 4px 20px; color: var(--text-2); max-width: 70ch; }

/* ---------- Methodology catalogue ---------- */
.stat-row { display: grid; grid-template-columns: repeat(3, auto); gap: 40px; margin: 28px 0 0; justify-content: start; }
.stat .n { font-family: var(--font-display); font-size: 2.4rem; font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
.stat .l { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-3); margin-top: 6px; }
.domain-block { border: 1px solid var(--border); border-radius: var(--r-l); background: var(--surface); margin-bottom: 18px; overflow: hidden; }
.domain-head { display: grid; grid-template-columns: 56px 1fr auto; gap: 18px; align-items: center; padding: 22px 24px; border-bottom: 1px solid var(--border); background: rgba(255, 255, 255, 0.015); }
.domain-head .code { font-family: var(--font-display); font-size: 1.9rem; font-weight: 700; color: var(--blue-hover); letter-spacing: -0.02em; }
.domain-head h3 { margin: 0 0 4px; }
.domain-head p { margin: 0; color: var(--text-2); font-size: 0.95rem; }
.domain-head .cnt { font-family: var(--font-mono); font-size: 0.75rem; color: var(--text-3); letter-spacing: 0.08em; white-space: nowrap; }
.domain-list { list-style: none; margin: 0; padding: 0; }
.domain-list li { display: grid; grid-template-columns: 64px 1fr; gap: 16px; padding: 14px 24px; border-bottom: 1px solid var(--border); }
.domain-list li:last-child { border-bottom: 0; }
.domain-list .code { font-family: var(--font-mono); font-size: 0.78rem; color: var(--text-3); padding-top: 3px; }
.domain-list b { display: block; margin-bottom: 3px; font-weight: 600; }
.domain-list p { margin: 0; color: var(--text-2); font-size: 0.92rem; }
.sev-table { display: grid; gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: var(--r-l); overflow: hidden; }
.sev-table > div { display: grid; grid-template-columns: 130px 1fr; gap: 16px; padding: 16px 20px; background: var(--surface); align-items: start; color: var(--text-2); }
.std-list { display: flex; flex-wrap: wrap; gap: 10px; }
.std-list span { padding: 8px 14px; border-radius: 8px; border: 1px solid var(--border-strong); background: var(--surface); font-family: var(--font-mono); font-size: 0.82rem; }
@media (max-width: 720px) { .domain-head { grid-template-columns: 44px 1fr; } .domain-head .cnt { grid-column: 2; } .domain-list li { grid-template-columns: 1fr; gap: 4px; } .sev-table > div { grid-template-columns: 1fr; gap: 8px; } .stat-row { gap: 24px; } }

/* ---------- Status page ---------- */
.status-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.status-card { border: 1px solid var(--border); border-radius: var(--r-l); background: var(--surface); padding: 26px; display: grid; gap: 14px; border-top: 3px solid var(--sc, var(--blue)); }
.status-card--active { --sc: var(--green); } .status-card--suspended { --sc: var(--amber); } .status-card--expired { --sc: var(--grey); } .status-card--revoked { --sc: var(--red); }
.status-card .lbl { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); display: block; margin-bottom: 4px; }
.status-card p { color: var(--text-2); font-size: 0.95rem; }
.lifecycle { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; align-items: center; margin-top: 28px; }
.lifecycle .node { text-align: center; padding: 18px 10px; border-radius: var(--r); border: 1px solid var(--border); background: var(--surface); position: relative; }
.lifecycle .node:not(:last-child)::after { content: '→'; position: absolute; right: -12px; top: 50%; transform: translateY(-50%); color: var(--text-3); font-family: var(--font-mono); background: var(--bg); padding: 0 2px; }
@media (max-width: 760px) { .lifecycle .node:not(:last-child)::after { content: '↓'; right: 50%; top: auto; bottom: -14px; transform: translateX(50%); } }
@media (max-width: 760px) { .status-cards, .lifecycle { grid-template-columns: 1fr; } }

/* ---------- Rules / legal ---------- */
.legal h2 { font-size: 1.35rem; margin: 40px 0 12px; }
.legal p, .legal li { color: var(--text-2); }
.legal .updated { font-family: var(--font-mono); font-size: 0.78rem; color: var(--text-3); letter-spacing: 0.06em; }
.rules-section { display: grid; grid-template-columns: 90px 1fr; gap: 24px; padding: 32px 0; border-top: 1px solid var(--border); }
.rules-section .rn { font-family: var(--font-display); font-size: 2rem; font-weight: 600; color: var(--blue-hover); letter-spacing: -0.03em; line-height: 1; }
.rules-section h2 { margin: 0 0 14px; font-size: 1.4rem; }
.rules-section ol { margin: 0; padding-left: 20px; color: var(--text-2); display: grid; gap: 10px; }
@media (max-width: 640px) { .rules-section { grid-template-columns: 1fr; gap: 8px; } }

/* ---------- CTA band ---------- */
.cta-band { border: 1px solid var(--border-strong); border-radius: 22px; padding: clamp(36px, 6vw, 72px); background: radial-gradient(700px 300px at 20% 0%, rgba(47, 125, 255, 0.22), transparent 70%), var(--elevated); position: relative; overflow: hidden; text-align: center; }
.cta-band h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); max-width: 22ch; margin: 0 auto 14px; }
.cta-band .lead { margin: 0 auto 28px; }
.cta-band .note { color: var(--text-3); font-size: 0.9rem; margin-top: 20px; }

/* ---------- Login ---------- */
.auth { min-height: calc(100dvh - var(--header-h)); display: grid; grid-template-columns: 1fr 1fr; }
.auth-form { display: flex; align-items: center; justify-content: center; padding: 48px var(--gutter); }
.auth-form > div { width: 100%; max-width: 420px; display: grid; gap: 18px; }
.auth-side { border-left: 1px solid var(--border); padding: 64px 48px; display: flex; flex-direction: column; justify-content: center; gap: 32px; background: linear-gradient(160deg, rgba(47, 125, 255, 0.08), transparent 60%); }
.auth-side blockquote { margin: 0; font-family: var(--font-display); font-size: clamp(1.5rem, 2.4vw, 2.1rem); font-weight: 500; letter-spacing: -0.02em; line-height: 1.2; max-width: 20ch; }
@media (max-width: 960px) { .auth { grid-template-columns: 1fr; } .auth-side { display: none; } }

/* ---------- Dashboard demo ---------- */
.dash { display: grid; grid-template-columns: 240px 1fr; min-height: calc(100dvh - var(--header-h)); }
.dash-side { border-right: 1px solid var(--border); padding: 20px 14px; display: flex; flex-direction: column; gap: 4px; background: var(--surface); }
.dash-side a { display: block; padding: 9px 12px; border-radius: var(--r-s); color: var(--text-2); font-size: 0.93rem; font-weight: 500; }
.dash-side a:hover { color: var(--text); background: rgba(255, 255, 255, 0.04); }
.dash-side a.is-active { color: var(--text); background: var(--blue-soft); }
.dash-side .bottom { margin-top: auto; border-top: 1px solid var(--border); padding-top: 10px; }
.dash-main { padding: 28px 32px 48px; display: grid; gap: 28px; align-content: start; }
.dash-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.dash-top .co { font-weight: 600; display: flex; align-items: center; gap: 10px; }
.kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.kpi { border: 1px solid var(--border); border-radius: var(--r); background: var(--surface); padding: 16px 18px; }
.kpi .n { font-family: var(--font-display); font-size: 2rem; font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
.kpi .n.warn { color: var(--amber); }
.kpi .l { font-size: 0.82rem; color: var(--text-3); margin-top: 6px; }
.dash-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 20px; align-items: start; }
.prod-list { display: grid; gap: 12px; }
.prod { border: 1px solid var(--border); border-radius: var(--r-l); background: var(--surface); padding: 18px 20px; display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; align-items: start; }
.prod .pn { font-weight: 600; font-size: 1.05rem; }
.prod .pm { color: var(--text-3); font-size: 0.85rem; }
.prod .ps { font-size: 0.9rem; color: var(--text-2); margin-top: 8px; display: grid; gap: 3px; }
.prod .ps b { color: var(--text); font-weight: 600; }
.att { display: grid; gap: 10px; }
.att li { list-style: none; display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--r); background: var(--surface); font-size: 0.92rem; }
.att .due { display: block; color: var(--text-3); font-size: 0.8rem; font-family: var(--font-mono); margin-top: 3px; }
.act { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.act li { display: grid; grid-template-columns: 96px 1fr; gap: 12px; font-size: 0.9rem; color: var(--text-2); }
.act .d { font-family: var(--font-mono); font-size: 0.78rem; color: var(--text-3); }
.banner { background: var(--amber-soft); border-bottom: 1px solid rgba(245, 185, 66, 0.4); color: #F3E4BE; padding: 10px var(--gutter); font-size: 0.9rem; text-align: center; }
@media (max-width: 1100px) { .kpis { grid-template-columns: repeat(3, 1fr); } .dash-grid { grid-template-columns: 1fr; } }
@media (max-width: 860px) { .dash { grid-template-columns: 1fr; } .dash-side { display: none; } .dash-main { padding: 20px var(--gutter) 40px; } .kpis { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Page header ---------- */
.page-head { padding: 72px 0 40px; }
.page-head h1 { font-size: clamp(2.2rem, 4.2vw, 3.4rem); }
.page-head .lead { margin-top: 14px; }
.page-head--rule { border-bottom: 1px solid var(--border); }

/* ---------- Reveal ---------- */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity 0.7s var(--ease), transform 0.7s var(--ease); }
.reveal.is-in { opacity: 1; transform: none; }
.reveal[data-delay="1"] { transition-delay: 0.08s; } .reveal[data-delay="2"] { transition-delay: 0.16s; } .reveal[data-delay="3"] { transition-delay: 0.24s; } .reveal[data-delay="4"] { transition-delay: 0.32s; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after { animation-duration: 0.001s !important; animation-iteration-count: 1 !important; transition-duration: 0.001s !important; }
}

/* ---------- Print (Security Summary) ---------- */
.summary-doc { max-width: 820px; margin: 0 auto; padding: 48px var(--gutter) 80px; }
.summary-doc .doc-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding-bottom: 20px; border-bottom: 2px solid var(--text); margin-bottom: 26px; }
.summary-doc h1 { font-size: 2rem; margin: 6px 0 4px; }
.summary-doc h2 { font-size: 1.05rem; font-family: var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); margin: 28px 0 10px; font-weight: 500; }
.summary-doc table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.summary-doc td, .summary-doc th { padding: 8px 6px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.summary-doc th { font-weight: 600; font-size: 0.8rem; color: var(--text-2); }
.print-bar { display: flex; gap: 10px; justify-content: flex-end; margin-bottom: 20px; }
@media print {
  :root { color-scheme: light; }
  body { background: #fff !important; color: #111 !important; font-size: 11pt; }
  body::before, .site-header, .site-footer, .print-bar, .drawer, .skip-link { display: none !important; }
  .summary-doc { padding: 0; max-width: none; }
  .summary-doc, .summary-doc * { color: #111 !important; border-color: #bbb !important; background: transparent !important; }
  .summary-doc .doc-head { border-bottom-color: #111 !important; }
  .status { border: 1px solid #333 !important; }
  a { color: #111 !important; text-decoration: none; }
  .qr-large { padding: 0; }
}

/* ---------- Spacing utilities ---------- */
.mt-2 { margin-top: 12px; } .mt-3 { margin-top: 18px; } .mt-4 { margin-top: 28px; } .mt-5 { margin-top: 40px; } .mt-6 { margin-top: 56px; }
.h2 { font-size: clamp(1.85rem, 3.1vw, 2.65rem); }
.lbl { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); }

/* Institutional design system. Shared by every public page and the registry. */
:root {
  color-scheme: light;
  --bg:#fff; --surface:#fff; --elevated:#f3f5f7; --elevated-2:#e9edf2;
  --border:#dce2e9; --border-strong:#bfcbd9;
  --text:#16273e; --text-2:#536277; --text-3:#627087;
  --blue:#225cd3; --blue-hover:#1749aa; --blue-soft:#eaf0fc; --blue-line:#bccdf0;
  --green:#147455; --green-soft:#edf7f1; --amber:#875809; --amber-soft:#fcf5e7;
  --red:#b53039; --red-soft:#fbecef; --grey:#647187; --grey-soft:#edf0f4;
  --r-s:3px; --r:4px; --r-l:5px; --container:1280px; --gutter:32px; --header-h:82px;
}
body::before { display:none; }
body { overflow-x:clip; }
a:hover { color:#153e90; }
h1,h2,h3,h4 { font-weight:500; letter-spacing:-.035em; }
h2 { line-height:1.18; }
p { text-wrap:pretty; }
.lead { font-size:1.05rem; line-height:1.75; color:var(--text-2); }
.section { padding:88px 0; }
.section--rule { border-color:var(--border); }
.eyebrow { color:var(--blue); font-size:.66rem; letter-spacing:.11em; line-height:1.7; }
.site-header,.site-header.is-scrolled { background:#fff; border-bottom:1px solid var(--border); backdrop-filter:none; }
.site-header.is-scrolled { box-shadow:0 3px 16px #15274008; }
.site-header .container { max-width:var(--container); }
.brand { font-size:1.16rem; gap:10px; }
.brand small { display:none; }
.nav-main a { padding:10px; font-size:.85rem; color:#425169; }
.nav-main a[aria-current],.nav-main a:hover { background:#f0f4fa; color:var(--blue); }
.btn { min-height:44px; border-radius:3px; font-size:.88rem; font-weight:500; box-shadow:none; }
.btn--primary { box-shadow:none; }
.btn--lg { min-height:50px; padding:15px 22px; font-size:.92rem; }
.btn--sm { min-height:40px; }
.btn .icon { width:17px; }
.header-actions { gap:12px; }
.header-actions .btn--secondary-desktop { display:none; }
.lang-switch { color:#43546b; border-color:var(--border); font-size:.7rem; }
.lang-switch .icon { display:none; }
.reveal { opacity:1; transform:none; transition:none; }
.card,.level-card,.domain-block,.status-card { box-shadow:none; }
.card { background:#fff; border-color:var(--border); }
.card--elevated { background:#f5f7fa; }
.card h3 { line-height:1.35; }
.page-head { padding:70px 0 48px; background:#f4f6f9; }
.page-head h1 { font-size:clamp(2rem,4.4vw,3.45rem); line-height:1.16; max-width:960px; }
.page-head .lead { max-width:820px; }
.page-head .container--narrow { max-width:var(--container); }
.cta-band { background:#eef3fa; border-radius:4px; }
.cta-band h2 { max-width:28ch; }
.table th { color:var(--text-2); }
.table td,.table th { border-color:var(--border); }
.table thead { background:#f1f4f8; }
.level-card { background:#fff; border-top:3px solid #a8bad8; }
.level-card--V4 { background:#edf3fc; }
.level-card .price .from { margin-right:6px; }
.level-card .lc-result { color:var(--text-2); background:#f3f6fa; }
.level-card:target { outline:2px solid var(--blue); outline-offset:5px; }
[id] { scroll-margin-top:110px; }
.level-pill--V4 { color:var(--blue); background:var(--blue-soft); }
.sev--high { color:#9c450b; background:#fff1e7; border-color:#ecc9b2; }
.alert--info { background:#edf3fc; color:#26476f; }
.alert--warn { color:#704d16; }
.alert--success { color:#17674e; }
.alert--danger { color:#9c2833; }
.level-card .tagline { min-height:5.2em; }
.seg { display:flex; flex-wrap:wrap; gap:7px; border:0; border-radius:0; overflow:visible; }
.seg button { border:1px solid var(--border-strong); border-radius:3px; min-height:40px; padding:8px 11px; font-size:.78rem; }
.seg button:last-child { border-right:1px solid var(--border-strong); }
.seg button[aria-pressed="true"] { border-color:#577cac; background:#e8f0fc; }
.verify-examples button:hover { color:var(--blue-hover); }
.banner { color:#704d16; }
.check-body { color:var(--text-2); }
.check-row[open],.check-row:hover { background:#f6f8fb; }
.input,.select,.textarea { background:#fff; color:var(--text); border-color:#bcc8d6; border-radius:3px; }
.input::placeholder,.textarea::placeholder { color:#748092; }
.input:focus,.select:focus,.textarea:focus { border-color:var(--blue); }
.select { color-scheme:light; }
.field label,.field .label { color:#26384f; }
.hp { display:none!important; }
.cert { background:#fff!important; border:1px solid #b9c6d7; border-radius:2px; box-shadow:0 16px 40px #1328430a; }
.cert::before,.cert::after { display:none; }
.cert .cm { border-color:#6b84a4; }
.cert .cert-brand b,.cert h3 { color:#142942; }
.cert .cert-brand small { color:#5a6b80; }
.cert-data { border-color:#d8e0e9; }
.cert-data div { border-color:#e0e6ee; }
.cert-data dt,.cert-id { color:#53657b; }
.cert-data dd { color:#263c55; }
.cert .ok { color:var(--green); }
.verify-box { background:#f4f7fb; border-radius:4px; box-shadow:none; }
.auth-side { background:#eff3f8; }
.site-footer { background:#0f2035; --text:#fff; --text-2:#c0cbda; --text-3:#a2b1c6; --border:#304157; padding:64px 0 30px; }
.site-footer .brand { color:#fff; font-size:1.1rem; }
.site-footer .brand:hover { color:#fff; }
.site-footer h4 { color:#e0e7f1; }
.footer-grid { grid-template-columns:1.5fr repeat(4,1fr); gap:28px; }
.footer-brand p { font-size:.83rem; }
.footer-col a { font-size:.85rem; }
.footer-note { max-width:90ch; }
.footer-bottom { font-size:.71rem; }

/* Homepage: editorial structure and an inspectable example document. */
.center-hero { position:relative; overflow:hidden; background:#101f33; color:#fff; }
.hero-lines { position:absolute; inset:0; width:100%; height:100%; max-width:none; opacity:.28; pointer-events:none; }
.center-hero-grid { position:relative; display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:70px; padding-top:80px; padding-bottom:72px; }
.hero-copy { min-width:0; }
.hero-copy .eyebrow { color:#b9cbe5; font-size:.64rem; margin-bottom:25px; }
.small-rule { width:26px; height:2px; background:#729bec; flex:none; }
.hero-copy h1 { font-family:var(--font-body); color:#fff; font-size:clamp(2.4rem,4.3vw,3.85rem); font-weight:500; line-height:1.1; letter-spacing:-.05em; margin:0 0 26px; }
.hero-copy h1 span { color:#9dbcf4; }
.hero-copy .lead { color:#c4cede; font-size:1.02rem; line-height:1.75; max-width:58ch; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.btn--hero { color:#e4eaf4; background:transparent; border-color:#4c607a; }
.btn--hero:hover { color:#fff; background:#263a54; border-color:#7893b6; }
.hero-proof { padding:0; margin:27px 0 0; list-style:none; display:flex; flex-wrap:wrap; gap:12px 22px; }
.hero-proof li { display:flex; align-items:center; gap:8px; font-size:.72rem; color:#bac9db; }
.hero-proof .icon { width:13px; height:13px; color:#9cbcf2; }
.dossier-wrap { min-width:0; }
.dossier-caption { display:flex; justify-content:space-between; gap:12px; font-family:var(--font-mono); font-size:.57rem; color:#bacbe0; margin-bottom:15px; text-transform:uppercase; letter-spacing:.05em; }
.dossier { background:#fff; color:var(--text); box-shadow:0 24px 60px #02091738; position:relative; border-top:3px solid #95afd9; }
.dossier-top { padding:22px 28px; display:flex; align-items:center; gap:12px; border-bottom:1px solid #dee4ec; font-size:1rem; font-weight:700; }
.dossier-top img { width:28px; height:32px; }
.dossier-top small { display:block; font-family:var(--font-mono); font-size:.48rem; color:#68778a; font-weight:400; letter-spacing:.09em; margin-top:3px; }
.dossier-top .dossier-level { margin-left:auto; font-size:1.35rem; font-family:var(--font-mono); font-weight:400; color:#2252a3; }
.dossier-body { padding:27px 28px 26px; }
.document-label { font-family:var(--font-mono); color:#536b8b; text-transform:uppercase; font-size:.57rem; letter-spacing:.09em; }
.dossier h2 { font-size:1.8rem; font-family:var(--font-body); font-weight:500; line-height:1.2; margin:14px 0 10px; letter-spacing:-.03em; }
.dossier .mono { font-size:.67rem; color:#63738a; margin-bottom:23px; }
.dossier dl { margin:0; }
.dossier dl>div { display:grid; grid-template-columns:112px 1fr; gap:12px; padding:10px 0; border-top:1px solid #e0e6ee; font-size:.72rem; }
.dossier dt { color:#627085; }
.dossier dd { margin:0; font-weight:500; }
.dossier-outcome { display:flex; gap:12px; align-items:center; background:#edf5f1; border:1px solid #d5e7dd; padding:14px; margin-top:18px; color:#196149; }
.dossier-outcome strong { display:block; font-size:.76rem; font-weight:600; }
.dossier-outcome small { display:block; font-size:.61rem; color:#537064; margin-top:3px; }
.dossier-bottom { background:#f4f6f9; padding:17px 28px; display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; }
.dossier-bottom span,.dossier-bottom a { display:inline-flex; gap:7px; align-items:center; font-size:.63rem; }
.dossier-bottom span { color:#607088; }
.dossier-bottom .icon { width:12px; height:12px; }
.hero-index { position:relative; padding-top:20px; padding-bottom:22px; display:flex; justify-content:space-between; border-top:1px solid #3b4c634f; font: .55rem var(--font-mono); color:#99adc8; letter-spacing:.08em; }
.hero-index a { color:#c0d0e6; }
.fact-band { background:#f3f5f8; border-bottom:1px solid var(--border); }
.fact-grid { display:grid; grid-template-columns:repeat(4,1fr); padding-top:30px; padding-bottom:30px; }
.fact-grid>div { border-right:1px solid #d5dce6; padding-left:38px; }
.fact-grid>div:first-child { padding-left:0; }
.fact-grid>div:last-child { border-right:0; }
.fact-grid strong { display:block; font-size:1.7rem; font-weight:500; letter-spacing:-.035em; }
.fact-grid span { display:block; color:#5c6d82; font-size:.75rem; margin-top:3px; }
.editorial-head { max-width:820px; margin-bottom:40px; }
.editorial-head h2 { font-size:clamp(1.9rem,3.2vw,2.65rem); line-height:1.18; letter-spacing:-.043em; }
.editorial-head .lead { max-width:760px; margin-top:20px; }
.resource-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--border); }
.resource-card { display:flex; flex-direction:column; padding:27px 24px; border-right:1px solid var(--border); color:var(--text); transition:background .2s; }
.resource-card:last-child { border:0; }
.resource-card:hover { background:#f3f6fc; color:var(--text); }
.resource-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:34px; color:#72829a; font:.65rem var(--font-mono); }
.resource-top .icon { width:24px; height:24px; color:#285ca7; }
.resource-card h3 { font-size:1.16rem; line-height:1.3; }
.resource-card p { font-size:.84rem; color:var(--text-2); line-height:1.75; margin:14px 0 25px; }
.resource-bottom { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:8px; color:#2456a6; font-size:.66rem; }
.resource-bottom .icon { width:15px; }
.coverage-section { background:#f3f6fa; border-block:1px solid var(--border); }
.coverage-intro { display:grid; grid-template-columns:1.12fr 1fr; gap:65px; align-items:start; }
.coverage-intro>.editorial-head h2 { font-size:clamp(1.9rem,3vw,2.5rem); }
.coverage-intro>div+div { padding-top:40px; }
.coverage-note { font-size:.81rem; color:#546780; border-left:2px solid #a4b9da; padding-left:18px; margin:20px 0; }
.source-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #d5dfea; background:#fff; }
.source-grid a { color:var(--text); padding:25px 22px; border-right:1px solid #d5dfea; }
.source-grid a:last-child { border:0; }
.source-grid a:hover { background:#ebf1fa; }
.source-grid a>div { display:flex; justify-content:space-between; gap:14px; align-items:center; }
.source-grid strong { font-weight:600; font-size:.92rem; }
.source-grid .icon { width:13px; color:#5376aa; }
.source-grid p { font-size:.78rem; color:#5c6d81; margin:14px 0 0; }
.evidence-pipeline { display:grid; grid-template-columns:repeat(4,1fr); margin:36px 0; border-top:1px solid #cbd7e7; }
.evidence-pipeline>div { position:relative; padding:24px 22px 0 0; }
.evidence-pipeline>div::before { content:''; position:absolute; left:0; top:-4px; width:7px; height:7px; background:#38629e; }
.evidence-pipeline span { font:.6rem var(--font-mono); color:#71839d; display:block; margin-bottom:9px; }
.evidence-pipeline strong { font-size:.94rem; font-weight:500; display:block; }
.evidence-pipeline small { display:block; font-size:.74rem; color:#62728a; margin-top:6px; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.process-grid article { border-top:2px solid #1c3e6b; padding-top:20px; display:flex; flex-direction:column; }
.process-num { font:2rem var(--font-mono); color:#a2b1c5; margin-bottom:25px; }
.process-grid h3 { font-size:1.1rem; line-height:1.3; }
.process-grid p { color:var(--text-2); font-size:.84rem; line-height:1.8; }
.process-grid small { border-top:1px solid var(--border); padding-top:15px; margin-top:auto; font-size:.7rem; color:#37577f; }
.results-section { background:#f2f4f7; border-block:1px solid var(--border); }
.results-grid { display:grid; grid-template-columns:1fr .85fr; gap:90px; align-items:center; }
.deliverable-list article { display:flex; gap:22px; padding:20px 0; border-top:1px solid #d2dbe7; }
.deliverable-list article>span { color:#7186a1; font:.7rem var(--font-mono); padding-top:4px; }
.deliverable-list h3 { font-size:1.04rem; line-height:1.35; margin-bottom:9px; }
.deliverable-list p { font-size:.83rem; color:var(--text-2); margin:0; }
.certificate-display { padding:30px; border:1px solid #d2dce9; background:#e8edf4; }
.certificate-display>.document-label { margin:0 0 20px; }
.certificate-display .cert { padding:25px; }
.certificate-display .footnote { font-size:.67rem; margin-bottom:0; }
.center-levels { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--border); }
.center-level { padding:27px 23px; border-right:1px solid var(--border); display:flex; flex-direction:column; }
.center-level:last-child { border:0; }
.center-level:nth-child(2) { background:#f1f5fd; }
.level-number { display:flex; justify-content:space-between; align-items:center; font:1.45rem var(--font-mono); color:#20467c; margin-bottom:24px; }
.level-number span { font-size:.56rem; color:#738298; }
.center-level h3 { font-size:1.16rem; line-height:1.3; min-height:3em; }
.level-en { margin:0; font-size:.68rem; color:#64758d; }
.center-price { font-size:2.1rem; font-weight:500; letter-spacing:-.04em; margin:23px 0; }
.center-price small { font-size:.75rem; color:var(--text-2); }
.center-price>span { display:block; font-size:.68rem; color:#63748a; font-weight:400; letter-spacing:0; margin-top:4px; }
.center-level ul { list-style:none; padding:0; margin:0 0 22px; }
.center-level li { display:flex; gap:8px; font-size:.78rem; margin:10px 0; line-height:1.55; color:#4f627a; }
.center-level li .icon { width:13px; height:13px; margin-top:3px; color:#4a74af; }
.level-duration { display:flex; gap:8px; align-items:center; font-size:.71rem; margin-top:auto; padding-top:16px; border-top:1px solid #d7dfea; }
.level-duration .icon { width:14px; }
.center-level>.btn { margin-top:7px; justify-content:space-between; font-size:.76rem; padding:12px 15px; }
.registry-section { background:#eef3fa; border-block:1px solid var(--border); }
.registry-feature { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.registry-feature .editorial-head { margin-bottom:24px; }
.registry-search { border:1px solid #c9d7e9; background:#fff; padding:34px; }
.registry-search h3 { font-size:1.35rem; margin-top:18px; }
.registry-search .verify-form { margin:24px 0 12px; gap:8px; }
.registry-search .input { font-size:.77rem; min-width:0; }
.registry-search .btn { font-size:.78rem; padding:12px; }
.example-link { border:0; border-bottom:1px dotted #8ca2bf; background:transparent; color:#48688f; padding:0 0 3px; font: .65rem var(--font-mono); cursor:pointer; text-align:left; }
.registry-assurance { display:flex; gap:15px; padding-top:25px; margin-top:25px; border-top:1px solid #dce3ed; }
.registry-assurance>.icon { color:#4d729f; margin-top:2px; }
.registry-assurance strong { font-size:.77rem; font-weight:600; }
.registry-assurance p { font-size:.73rem; line-height:1.8; color:#61748b; margin-bottom:0; }
.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.acc summary { font-size:.96rem; padding:22px 0; font-weight:500; line-height:1.5; }
.acc .acc-body { font-size:.86rem; line-height:1.8; }
.center-cta { padding:64px 0; background:#12253e; color:#fff; }
.center-cta>.container { display:flex; justify-content:space-between; gap:50px; align-items:center; }
.center-cta h2 { color:#fff; font-size:clamp(2rem,3.6vw,3rem); }
.center-cta .eyebrow { color:#9db7de; }
.center-cta p { color:#b7c7dd; font-size:.85rem; max-width:52ch; }
.center-cta>.container>div+div>p { font-size:.65rem; margin-top:16px; }

/* Catalogue and intake improvements. */
.catalogue-tools { position:sticky; top:var(--header-h); z-index:20; background:#f1f5fa; padding:20px; border:1px solid var(--border); margin:32px 0 22px; display:grid; grid-template-columns:1fr 260px auto; gap:14px; align-items:end; }
.catalogue-tools label { display:block; font-size:.74rem; color:#4b5e76; margin-bottom:7px; }
.catalogue-tools .select,.catalogue-tools .input { width:100%; min-height:44px; }
.catalogue-count { color:#5b7090; font:.72rem var(--font-mono); margin-bottom:24px; }
.catalogue-empty { padding:40px; background:#f4f6fa; text-align:center; }
.domain-block[hidden],.domain-list li[hidden],[hidden] { display:none!important; }
.domain-head { background:#f1f5fa; }
.domain-head h3 { font-size:1.2rem; }
.domain-head p { font-size:.84rem; }
.domain-list li { padding:19px 24px; }
.domain-list b { font-size:.93rem; font-weight:500; }
.domain-list p { font-size:.85rem; }
.scope-guidance { margin-top:35px; }
.scope-guidance .card { border-top:2px solid #355f93; padding:24px; }
.scope-guidance .card h3 { font-size:1.1rem; }
.scope-guidance .card p { font-size:.9rem; }
.intake-layout { display:grid; grid-template-columns:1.45fr .8fr; gap:60px; align-items:start; }
.intake-form { padding:32px; border:1px solid var(--border); background:#fff; }
.intake-form .form-section h3 { font-size:1.1rem; }
.intake-form .form-section { margin-bottom:28px; padding-bottom:25px; }
.intake-form .form-section:last-of-type { border-bottom:0; }
.intake-form .field label { font-size:.8rem; }
.intake-optional { border-block:1px solid var(--border); margin:0 0 26px; }
.intake-optional summary { cursor:pointer; padding:19px 0; display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:.88rem; }
.intake-optional summary small { display:block; color:var(--text-2); font-size:.73rem; font-weight:400; margin-top:4px; }
.intake-optional>.form-grid { padding:10px 0 25px; }
.intake-optional summary .icon { transition:transform .2s; }
.intake-optional[open] summary .icon { transform:rotate(45deg); }
.intake-consent { margin:20px 0; }
.intake-links { display:flex; flex-wrap:wrap; gap:8px 22px; margin:12px 0; font-size:.74rem; }
.intake-links a { display:inline-flex; align-items:center; gap:6px; }
.intake-links .icon { width:12px; height:12px; }
.intake-aside { position:sticky; top:110px; }
.intake-aside h3 { font-size:1.3rem; }
.intake-aside .timeline { font-size:.87rem; }
.intake-security { display:flex; gap:12px; padding:20px; background:#edf3fa; margin-top:28px; font-size:.79rem; color:#4a627f; }
.intake-security .icon { margin-top:3px; }
.form-status:not(:empty) { margin-top:18px; }

@media(min-width:1181px) { .nav-main { display:flex; } .nav-toggle { display:none; } }
@media(max-width:1180px) {
  .center-hero-grid { gap:35px; padding-top:60px; padding-bottom:55px; }
  .hero-copy h1 { font-size:3rem; }
  .hero-copy .lead { font-size:.93rem; }
  .dossier-body,.dossier-top,.dossier-bottom { padding-left:22px; padding-right:22px; }
  .resource-card,.center-level { padding:23px 18px; }
  .results-grid { gap:40px; }
  .registry-feature { gap:35px; }
  .footer-grid { grid-template-columns:repeat(4,1fr); }.footer-brand { grid-column:1 / -1; }
  .footer-brand p { max-width:90ch; }
}
@media(max-width:960px) {
  :root { --gutter:26px; --header-h:72px; }
  .center-hero-grid { grid-template-columns:1fr; gap:45px; }
  .hero-copy { max-width:730px; }.hero-copy h1 { font-size:clamp(2.7rem,6vw,4rem); }
  .dossier-wrap { max-width:610px; width:100%; }
  .dossier h2 { max-width:330px; }
  .section { padding:65px 0; }
  .resource-grid,.center-levels { grid-template-columns:repeat(2,1fr); }
  .resource-card:nth-child(2),.center-level:nth-child(2) { border-right:0; }
  .resource-card:nth-child(-n+2),.center-level:nth-child(-n+2) { border-bottom:1px solid var(--border); }
  .resource-card,.center-level { padding:28px; }
  .source-grid { grid-template-columns:repeat(2,1fr); }.source-grid a:nth-child(2) { border-right:0; }.source-grid a:nth-child(-n+2) { border-bottom:1px solid var(--border); }
  .coverage-intro { grid-template-columns:1fr; gap:0; }.coverage-intro>div+div { padding:0; margin-bottom:20px; }
  .coverage-intro .editorial-head { margin-bottom:0; }
  .process-grid { grid-template-columns:repeat(2,1fr); gap:36px; }
  .results-grid,.registry-feature,.faq-layout { grid-template-columns:1fr; gap:34px; }
  .certificate-display { max-width:540px; }
  .fact-grid>div { padding-left:22px; }.fact-grid span { font-size:.64rem; }.fact-grid strong { font-size:1.45rem; }
  .center-cta>.container { align-items:flex-start; flex-direction:column; gap:20px; }
  .catalogue-tools { grid-template-columns:1fr 220px; position:static; }.catalogue-tools>.btn { grid-column:1 / -1; justify-self:start; }
  .intake-layout { grid-template-columns:1fr; gap:35px; }.intake-aside { position:static; }
}
@media(max-width:600px) {
  :root { --gutter:20px; --header-h:68px; }
  .header-inner { gap:10px; }.brand { font-size:1.04rem; }.brand img { width:25px; height:29px; }
  .header-actions { gap:8px; }.header-actions .lang-switch { display:inline-flex; padding:6px; min-width:32px; justify-content:center; }
  .nav-toggle { width:38px; height:38px; }
  .center-hero-grid { padding-top:44px; padding-bottom:35px; }
  .hero-copy .eyebrow { font-size:.58rem; gap:8px; }
  .small-rule { width:14px; }
  .hero-copy h1 { font-size:clamp(2rem,8.5vw,3rem); line-height:1.12; letter-spacing:-.055em; }
  .hero-copy h1 br:last-child { display:initial; }
  .hero-copy .lead { font-size:.88rem; line-height:1.8; }
  .hero-buttons { display:grid; gap:10px; }.hero-buttons .btn { width:100%; }
  .hero-proof { gap:10px 16px; margin-top:22px; }.hero-proof li { font-size:.64rem; }
  .dossier-caption { font-size:.5rem; }.dossier-caption span:last-child { display:none; }
  .dossier-top { padding:17px 20px; }.dossier-body { padding:22px 20px; }.dossier h2 { font-size:1.55rem; }
  .dossier dl>div { grid-template-columns:91px 1fr; font-size:.67rem; gap:10px; }
  .dossier-outcome { padding:12px; }.dossier-outcome strong { font-size:.71rem; }.dossier-outcome small { font-size:.55rem; }
  .dossier-bottom { padding:17px 20px; flex-direction:column; }
  .hero-index { font-size:.46rem; gap:20px; }.hero-index span { max-width:200px; line-height:1.7; }.hero-index a { white-space:nowrap; }
  .fact-grid { grid-template-columns:repeat(2,1fr); padding-top:0; padding-bottom:0; }
  .fact-grid>div { padding:23px 16px!important; }.fact-grid>div:nth-child(odd) { padding-left:0!important; }.fact-grid>div:nth-child(2) { border-right:0; }.fact-grid>div:nth-child(-n+2) { border-bottom:1px solid var(--border); }
  .fact-grid strong { font-size:1.5rem; }.fact-grid span { font-size:.66rem; }
  .section { padding:52px 0; }.editorial-head { margin-bottom:30px; }.editorial-head h2 { font-size:1.85rem; line-height:1.24; }.editorial-head h2 br { display:none; }
  .editorial-head .lead { font-size:.91rem; line-height:1.8; }.eyebrow { font-size:.6rem; margin-bottom:14px; }
  .resource-grid,.center-levels,.source-grid { grid-template-columns:1fr; }
  .resource-card,.center-level,.source-grid a { border-right:0; border-bottom:1px solid var(--border); padding:25px; }.resource-card:last-child,.center-level:last-child,.source-grid a:last-child { border:0; }
  .resource-top { margin-bottom:22px; }.resource-card p { font-size:.88rem; }
  .evidence-pipeline { grid-template-columns:repeat(2,1fr); row-gap:25px; }.evidence-pipeline>div { padding-top:20px; }
  .evidence-pipeline strong { font-size:.87rem; }.evidence-pipeline small { font-size:.66rem; }
  .process-grid { grid-template-columns:1fr; gap:30px; }.process-num { font-size:1.8rem; margin-bottom:18px; }
  .process-grid h3 { font-size:1.14rem; }.process-grid p { font-size:.88rem; }
  .certificate-display { padding:18px; }.certificate-display .cert { padding:20px; }.certificate-display .cert-brand small { font-size:.44rem; }.certificate-display .cert-brand b { font-size:.8rem; }
  .center-level h3 { min-height:0; font-size:1.35rem; }.center-level li { font-size:.85rem; }.center-level>.btn { font-size:.85rem; }
  .registry-search { padding:24px 20px; }.registry-search .verify-form { display:grid; }.registry-search .input { width:100%; }
  .registry-feature .editorial-head h2 br { display:none; }.registry-assurance p { font-size:.78rem; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; }.footer-brand { grid-column:1 / -1; }.footer-col a { overflow-wrap:anywhere; font-size:.8rem; }
  .footer-bottom { line-height:1.8; font-size:.62rem; }
  .catalogue-tools { grid-template-columns:1fr; padding:16px; }.catalogue-tools>.btn { grid-column:auto; }
  .intake-form { padding:23px 18px; }.intake-form .form-grid { grid-template-columns:1fr; }.intake-form .span-2 { grid-column:auto; }
  .intake-form .btn--lg { width:100%; }.intake-optional summary small { font-size:.7rem; }
  .page-head { padding:43px 0 32px; }.page-head h1 { font-size:2.05rem; }
  .stat-row { gap:20px; }.stat .n { font-size:1.8rem; }.stat .l { font-size:.52rem; }
  .domain-head { padding:20px 18px; gap:10px; }.domain-head .cnt { font-size:.63rem; }.domain-list li { padding:18px; }
}
@media print {
  .summary-doc,.summary-doc * { box-shadow:none!important; }
  .center-hero,.center-cta,.site-footer { background:#fff; color:#111; }
  .hero-lines { display:none; }
}

/* Silver Monolith — selected homepage direction. */
.monolith-hero { background:#fff; color:var(--text); border-bottom:1px solid var(--border); }
.monolith-hero::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 42% 58% at 72% 50%,#e9eef6 0,#f7f9fb 38%,transparent 72%); opacity:.9; }
.monolith-hero .center-hero-grid { min-height:680px; grid-template-columns:minmax(0,1.04fr) minmax(400px,.96fr); gap:42px; padding-top:62px; padding-bottom:42px; }
.monolith-hero .hero-copy { position:relative; z-index:2; align-self:center; padding-bottom:30px; }
.monolith-hero .hero-copy .eyebrow { color:#68788e; margin-bottom:32px; }
.monolith-hero .small-rule { background:#8996a7; height:1px; }
.monolith-hero .hero-copy h1 { color:#080b10; max-width:740px; font-size:clamp(3.25rem,5.35vw,5rem); font-weight:500; line-height:.98; letter-spacing:-.065em; margin-bottom:28px; }
.monolith-hero .hero-copy h1 span { color:inherit; }
.monolith-hero .hero-copy .lead { color:#667181; max-width:620px; font-size:1.1rem; line-height:1.65; }
.monolith-hero .hero-buttons { margin-top:34px; }
.monolith-hero .btn--hero { color:#121923; background:#fff; border-color:#aeb8c5; }
.monolith-hero .btn--hero:hover { color:#164aa7; background:#f4f7fb; border-color:#7994bd; }
.monolith-stage { position:relative; z-index:1; align-self:stretch; min-width:0; margin:0; display:flex; align-items:center; justify-content:center; perspective:1200px; }
.monolith-stage::after { content:''; position:absolute; width:54%; height:7%; left:27%; bottom:12%; border-radius:50%; background:#15223620; filter:blur(18px); transform:rotate(-3deg); }
.monolith-object { position:relative; z-index:1; width:min(100%,550px); max-height:590px; object-fit:contain; filter:drop-shadow(0 24px 28px #20324b1a); transform:rotateY(-1.5deg) translateY(0); animation:monolith-float 7s ease-in-out infinite; transform-origin:50% 55%; }
.monolith-label { position:absolute; top:4%; right:0; color:#7d8999; font:.58rem var(--font-mono); letter-spacing:.17em; z-index:2; }
.hero-steps { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); padding-top:0; padding-bottom:0; border-top:1px solid #d7dde5; }
.hero-steps a { min-width:0; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; color:#111923; padding:25px 24px; border-right:1px solid #d7dde5; }
.hero-steps a:first-child { padding-left:0; }
.hero-steps a:last-child { border-right:0; padding-right:0; }
.hero-steps a:hover { color:var(--blue); }
.hero-steps span { color:#8995a5; font:.64rem var(--font-mono); }
.hero-steps strong { font-size:.83rem; font-weight:500; line-height:1.4; }
.hero-steps .icon { width:15px; height:15px; }
@keyframes monolith-float { 0%,100% { transform:rotateY(-1.5deg) translateY(0); } 50% { transform:rotateY(1deg) translateY(-9px); } }

@media(max-width:960px) {
  .monolith-hero .center-hero-grid { min-height:0; grid-template-columns:1fr; gap:12px; padding-top:64px; padding-bottom:0; }
  .monolith-hero .hero-copy { max-width:760px; padding-bottom:0; }
  .monolith-stage { min-height:440px; }
  .monolith-object { max-height:430px; width:min(80%,480px); }
  .monolith-label { top:8%; right:4%; }
}
@media(max-width:600px) {
  .monolith-hero::before { background:radial-gradient(ellipse 75% 34% at 52% 68%,#e9eef6 0,#f8fafc 45%,transparent 78%); }
  .monolith-hero .center-hero-grid { padding-top:46px; }
  .monolith-hero .hero-copy .eyebrow { margin-bottom:23px; }
  .monolith-hero .hero-copy h1 { font-size:clamp(2.55rem,12vw,3.35rem); line-height:1.01; margin-bottom:22px; }
  .monolith-hero .hero-copy .lead { font-size:1rem; line-height:1.55; }
  .monolith-hero .hero-buttons { margin-top:27px; }
  .monolith-stage { min-height:350px; margin-top:8px; }
  .monolith-object { width:88%; max-height:350px; }
  .monolith-label { top:3%; right:0; font-size:.48rem; }
  .hero-steps { grid-template-columns:1fr; }
  .hero-steps a,.hero-steps a:first-child,.hero-steps a:last-child { padding:18px 0; border-right:0; border-bottom:1px solid #d7dde5; }
  .hero-steps a:last-child { border-bottom:0; }
}
@media(prefers-reduced-motion:reduce) { .monolith-object { animation:none; } }

/* Motion and spatial rhythm for the selected monolith direction. */
.center-home .monolith-object { animation:slab-drift 5s ease-in-out infinite; transform:translateY(var(--slab-y,0px)) rotateX(var(--slab-rx,0deg)) rotateY(var(--slab-ry,0deg)); transition:transform .25s ease-out; }
@keyframes slab-drift { 0%,100% { translate:0 8px; rotate:-2deg; } 50% { translate:0 -18px; rotate:2deg; } }
.monolith-orbit { position:absolute; width:90%; aspect-ratio:1; border:1px solid #b7c9e466; border-radius:50%; transform:rotateX(65deg) rotateZ(-25deg); }
.monolith-orbit::after { content:''; position:absolute; inset:12%; border:1px solid #b7c9e455; border-radius:50%; }
.center-home .resource-grid { border:0; gap:16px; perspective:1000px; }
.center-home .resource-card { position:relative; overflow:hidden; border:1px solid #dde4ee; background:linear-gradient(145deg,#fff,#eef2f8); min-height:320px; transition:transform .35s,box-shadow .35s,border-color .35s; }
.center-home .resource-card::before { content:''; position:absolute; width:150px; height:150px; right:-45px; top:-45px; border:1px solid #b7c8df; transform:rotate(35deg); box-shadow:0 0 0 18px #ced9e52b,0 0 0 36px #ced9e521; pointer-events:none; }
.center-home .resource-card:hover { transform:translateY(-9px) rotateX(3deg); border-color:#8faff0; box-shadow:0 25px 40px #172c4a14; }
.center-home .resource-top .icon { width:32px; height:32px; color:#245dd7; }
.center-home .coverage-section { position:relative; overflow:hidden; background:#091323; color:#eef4ff; --text:#eef4ff; --text-2:#aabbd3; --border:#ffffff24; padding-top:110px; padding-bottom:100px; }
.coverage-section>.container { position:relative; z-index:1; }
.center-home .coverage-section .eyebrow,.center-home .coverage-section .link-arrow { color:#8bb7ff; }
.center-home .coverage-section .lead,.center-home .coverage-section p,.center-home .coverage-section small { color:#aabbd3; }
.center-home .coverage-section h2,.center-home .coverage-section strong { color:#f2f6ff; }
.center-home .source-grid { background:#122139b3; backdrop-filter:blur(8px); }
.center-home .source-grid a { background:transparent; transition:background .3s; }
.center-home .source-grid a:hover { background:#203958; }
.scan-field { position:absolute; width:620px; height:620px; right:-170px; top:-230px; opacity:.45; pointer-events:none; }
.scan-field i { position:absolute; inset:0; border:1px solid #517eb655; border-radius:50%; }
.scan-field i:nth-child(2) { inset:70px; }.scan-field i:nth-child(3) { inset:140px; }
.scan-field b { position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg,transparent 65%,#397beb50 99%,#78afff 100%); animation:scan-turn 12s linear infinite; }
.scan-field span { position:absolute; top:50%; left:42%; color:#9fc1ff; font:12px var(--font-mono); }
@keyframes scan-turn { to { transform:rotate(360deg); } }
.center-home .evidence-pipeline { gap:16px; border:0; margin-top:45px; }
.center-home .evidence-pipeline>div { position:relative; padding:24px 16px; border-top:2px solid #31435e; transition:background .5s,border-color .5s; }
.center-home .evidence-pipeline>div.is-active { background:#1b38624d; border-color:#65a1ff; }
.center-home .evidence-pipeline>div.is-active>span { color:#88baff; }
.center-home .process-grid { gap:20px; }
.center-home .process-grid article { position:relative; padding:28px 22px; background:#f2f5f9; border-top:2px solid #ccd7e5; transition:background .5s,border-color .5s,transform .5s; }
.center-home .process-grid article.is-active { background:#e7effd; border-color:#2563eb; transform:translateY(-8px); }
.center-home .process-num { font-size:3.7rem; letter-spacing:-.08em; color:#a9b8cf; }
.center-home .process-grid article.is-active .process-num { color:#245dd7; }
.center-home .results-section { background:linear-gradient(125deg,#e8edf4,#f8fafc 60%,#dce7f7); overflow:hidden; }
.results-grid>*,.deliverable-list,.deliverable-list article>div,.certificate-display { min-width:0; }
.center-home .certificate-display { position:relative; align-self:center; background:#d6e1f0; border:1px solid #bfcee2; box-shadow:14px 16px 0 -5px #eaf0f8,14px 16px 0 -4px #b9c8dc,28px 32px 0 -10px #eaf0f8,28px 32px 0 -9px #c5d2e3; transform:perspective(1100px) rotateY(-7deg) rotateX(3deg); transition:transform .6s; }
.center-home .certificate-display:hover { transform:perspective(1100px) rotateY(0) rotateX(0) translateY(-6px); }
.center-home .certificate-display .cert { max-width:100%; overflow-wrap:anywhere; box-shadow:0 18px 35px #2036561a; }
.center-home .center-levels { border:0; gap:12px; align-items:stretch; }
.center-home .center-level { border:1px solid #dce3ed; background:linear-gradient(155deg,#fff,#f2f5f9); transition:transform .3s,box-shadow .3s; }
.center-home .center-level:nth-child(2) { background:#eaf1ff; border-top:3px solid #245dd7; }
.center-home .center-level:hover { transform:translateY(-7px); box-shadow:0 20px 35px #17366515; }
.center-home .registry-section { background:#0d1c32; --text:#fff; --text-2:#aebed6; }
.center-home .registry-section .editorial-head h2 { color:#fff; }.center-home .registry-section .editorial-head .lead { color:#aebed6; }
.center-home .registry-section .eyebrow,.center-home .registry-section .link-arrow { color:#8cb6ff; }
.center-home .registry-search { --text:#16273e; --text-2:#536277; color:#16273e; box-shadow:12px 12px 0 #ffffff10; }
.center-home .center-cta { position:relative; overflow:hidden; background:linear-gradient(120deg,#edf3fc,#d8e5fa); }
.center-home.motion-ready .motion-enter { transition:opacity .75s ease,translate .75s cubic-bezier(.2,.7,.2,1); }
.center-home.motion-ready .motion-enter:not(.motion-visible) { opacity:0; translate:0 30px; }
.center-home .motion-paused,.center-home .motion-paused * { animation-play-state:paused!important; }
@media(max-width:960px) { .center-home .results-grid { grid-template-columns:minmax(0,1fr); }.center-home .certificate-display { width:100%; max-width:520px; margin-bottom:25px; } }
@media(max-width:600px) { .center-home .coverage-section { padding:65px 0; }.center-home .resource-card { min-height:260px; }.center-home .certificate-display { transform:none; box-shadow:7px 9px 0 -3px #eaf0f8,7px 9px 0 -2px #b9c8dc; }.center-home .process-grid article { padding:23px; }.scan-field { width:420px;height:420px;right:-230px; }.center-home .center-level:last-child,.center-home .resource-card:last-child { border:1px solid #dce3ed; } }
@media(prefers-reduced-motion:reduce) { .center-home *, .center-home *::before,.center-home *::after { animation:none!important; transition:none!important; }.center-home.motion-ready .motion-enter:not(.motion-visible) { opacity:1;translate:none; }.center-home .monolith-object { transform:none!important; }.center-home .process-grid article.is-active { transform:none; } }

/* Each chapter has its own object, outcome and place in the journey. */
.story-nav { position:sticky; top:var(--header-h); z-index:15; background:#ffffffed; backdrop-filter:blur(16px); border-bottom:1px solid #dce4ef; }
.story-nav>.container { display:flex; justify-content:space-between; gap:20px; overflow-x:auto; scrollbar-width:thin; }
.story-nav a { display:flex; align-items:center; gap:9px; padding:18px 0; white-space:nowrap; font-size:.76rem; border-bottom:2px solid transparent; color:#5d6c81; }
.story-nav a span { font:10px var(--font-mono); color:#8a9cb5; }.story-nav a[aria-current='step'] { color:#225cd3; border-color:#225cd3; }
.center-home section[id] { scroll-margin-top:calc(var(--header-h) + 65px); }
.story-split { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:65px; margin-bottom:42px; }
.story-split .editorial-head { margin:0; }.story-split h2 { font-size:clamp(2.1rem,3.5vw,3.25rem); letter-spacing:-.055em; }
.resource-scene { position:relative; min-height:310px; margin:0; display:grid; place-items:center; padding:30px 35px 60px; perspective:900px; }
.resource-scene::before { content:''; position:absolute; inset:15px; border-radius:50%; background:radial-gradient(ellipse,#dbe6f8,transparent 70%); }
.resource-window { width:100%; max-width:350px; border:1px solid #aebed4; background:linear-gradient(130deg,#fff,#e9eff8); border-radius:9px; transform:rotateY(-16deg) rotateX(9deg) rotateZ(-4deg); box-shadow:7px 8px 0 #a8b9d0,9px 10px 0 #347be6,20px 26px 40px #1c41692b; animation:window-drift 6s ease-in-out infinite; }
.window-bar { display:flex; align-items:center; gap:5px; height:37px; border-bottom:1px solid #c3cfdf; padding:0 12px; }.window-bar i { width:5px; height:5px; border-radius:50%; background:#aebed4; }.window-bar span { font:10px var(--font-mono); margin-left:16px; color:#62768e; }
.window-body { padding:24px; }.window-block { display:block; height:44px; width:44px; border-radius:7px; background:linear-gradient(140deg,#72a7ff,#2157c2); margin-bottom:18px; }.window-line { display:block; height:7px; width:80%; background:#b9c8dc; margin:9px 0; }.window-line.short { width:55%; }.window-tiles { display:flex; gap:9px; margin-top:21px; }.window-tiles i { height:35px; flex:1; border:1px solid #bfcee2; background:#dbe5f2; }
.scene-chip { position:absolute; z-index:2; display:flex; align-items:center; gap:10px; padding:15px 18px; background:#fff; border:1px solid #d1dcec; box-shadow:0 10px 22px #23487517; font:12px var(--font-mono); color:#225cd3; }.chip-api { right:0; top:45px; transform:rotate(5deg); }.chip-shield { left:0; bottom:70px; transform:rotate(-6deg); }.resource-scene figcaption { position:absolute; bottom:0; max-width:370px; text-align:center; font-size:.74rem; line-height:1.6; color:#68788e; }
@keyframes window-drift { 50% { translate:0 -12px; rotate:2deg; } }
.process-story { background:linear-gradient(180deg,#fff,#f1f5fb); }
.process-model { position:relative; height:245px; display:flex; align-items:center; justify-content:space-between; gap:14px; perspective:800px; }
.model-track { position:absolute; top:45%; left:5%; right:5%; height:2px; background:linear-gradient(90deg,#8ab3f9,#d1ddec); }
.model-node { position:relative; width:80px; height:80px; display:grid; place-items:center; background:linear-gradient(140deg,#fff,#c4d1e4); border:1px solid #bac9dd; box-shadow:5px 7px 0 #9caec6,6px 9px 0 #2b71df; transform:rotateX(15deg) rotateY(-18deg); transition:transform .6s,background .6s,box-shadow .6s; }.model-node .icon { width:31px; height:31px; color:#7187a5; }.model-node span { position:absolute; bottom:-37px; color:#6b7d95; font:11px var(--font-mono); }.model-node.selected { transform:translateY(-20px) rotateX(15deg) rotateY(-18deg); background:linear-gradient(135deg,#dfeaff,#95b9f1); box-shadow:5px 7px 0 #6993d7,6px 10px 0 #2265dc,0 22px 35px #2d6ad12b; }.model-node.selected .icon { color:#225cd3; }.model-caption { position:absolute; bottom:0; text-align:center; width:100%; color:#68788e; font-size:.73rem; }
.center-home .process-grid article { display:flex; flex-direction:column; }.process-select { display:flex; justify-content:space-between; align-items:center; gap:10px; background:none; border:0; border-top:1px solid #ccd8e9; color:#225cd3; padding:18px 0 0; margin-top:24px; text-align:left; font:inherit; font-size:.77rem; cursor:pointer; }.process-select .icon { width:16px; }.process-select[aria-pressed='true'] { font-weight:700; }.center-home .process-grid article small { margin-top:auto; }.process-outcome { margin-top:24px; padding:23px 28px; background:#e5edfa; border-left:3px solid #2563eb; display:flex; gap:30px; align-items:center; }.process-outcome>span { font-size:.74rem; color:#61728a; }.process-outcome strong { font-size:1rem; font-weight:500; }
.result-documents { min-width:0; padding:20px 15px 30px 0; }.private-report { position:relative; width:85%; margin:0 0 -20px 10%; padding:27px 28px 44px; background:#fff; border:1px solid #c6d2e3; box-shadow:0 16px 35px #24476a15; transform:rotate(5deg); }.private-report>span { display:flex; align-items:center; gap:8px; font-size:.66rem; color:#718199; }.private-report>strong { display:block; margin:14px 0; font-size:1.1rem; font-weight:500; }.private-report>div { display:grid; gap:7px; }.private-report i { height:7px; background:#dbe4f1; width:90%; }.private-report i:nth-child(2) { width:65%; background:#a6c3ef; }.private-report i:nth-child(3) { width:78%; }.private-report small { display:block; margin-top:14px; font-size:.65rem; color:#667991; }.result-documents .certificate-display { width:100%; }
.level-sculpture { height:125px; position:relative; margin-bottom:25px; perspective:650px; }
.slab-layer { position:absolute; width:98px; height:72px; left:calc(50% - 49px); top:35px; border:1px solid #a8bad2; background:linear-gradient(145deg,#fff,#c0ccdc); transform:rotateX(55deg) rotateZ(-30deg); box-shadow:0 5px 0 #899db8,0 8px 0 #3379e5,7px 14px 14px #264e791f; transition:translate .45s; }.slab-layer.layer-1 { top:17px; }.slab-layer.layer-2 { top:-1px; }.slab-layer.layer-3 { top:-19px; }.center-level:hover .layer-1 { translate:0 -5px; }.center-level:hover .layer-2 { translate:0 -10px; }.center-level:hover .layer-3 { translate:0 -15px; }
@media(max-width:960px) { .story-split { grid-template-columns:1fr; gap:20px; }.resource-scene { max-width:460px; width:100%; justify-self:center; }.process-model { max-width:480px; width:100%; justify-self:center; }.story-nav>.container { gap:25px; }.story-nav a { font-size:.7rem; }.result-documents { max-width:540px; } }
@media(max-width:600px) { .story-nav a { padding:14px 0; }.story-nav>.container { padding-left:20px; padding-right:20px; }.story-split h2 { font-size:2.15rem; }.resource-scene { padding-left:25px; padding-right:25px; min-height:320px; }.scene-chip { font-size:10px; padding:11px; }.model-node { width:60px;height:65px; }.model-node .icon { width:25px;height:25px; }.process-model { height:200px; gap:10px; }.model-caption { font-size:.64rem; }.process-outcome { flex-direction:column; gap:9px; align-items:flex-start; padding:20px; }.private-report { width:91%; margin-left:5%; padding:22px 22px 42px; }.level-sculpture { height:110px; margin:20px 0; }.center-home section[id] { scroll-margin-top:calc(var(--header-h) + 55px); } }
@media(prefers-reduced-motion:reduce) { .resource-window { animation:none; } }

.chapter-next { display:grid; grid-template-columns:1fr auto; gap:8px 25px; padding:27px 0; margin-top:40px; border-top:1px solid #cbd8e9; color:#225cd3; }
.chapter-next>span { grid-column:1; font:10px var(--font-mono); text-transform:uppercase; letter-spacing:.1em; color:#718199; }.chapter-next strong { grid-column:1; font-size:1.12rem; font-weight:500; }.chapter-next>.icon { grid-column:2;grid-row:1 / 3;align-self:center;width:26px;height:26px;transition:translate .3s; }.chapter-next:hover>.icon { translate:7px 0; }
.center-home .coverage-section .chapter-next { border-color:#ffffff25; color:#a8c9ff; }.center-home .coverage-section .chapter-next>span { color:#8c9eb8; }
.center-home .process-outcome { display:grid; grid-template-columns:auto 1fr; gap:16px 30px; }
.stage-detail { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:30px; padding-top:18px; border-top:1px solid #c4d4ed; }.stage-detail span { font-size:.7rem; color:#526d95; }.stage-detail p { margin:8px 0 0; font-size:.87rem; line-height:1.65; color:#273f61; }
@media(max-width:600px) { .center-home .process-outcome { grid-template-columns:1fr; }.stage-detail { grid-template-columns:1fr; gap:17px; }.chapter-next { margin-top:28px; }.chapter-next strong { font-size:1rem; }.story-nav>.container { scrollbar-width:none; }.story-nav>.container::-webkit-scrollbar { display:none; } }

.monolith-webgl { position:absolute; inset:0 0 40px; z-index:3; visibility:hidden; }
.monolith-webgl canvas { display:block; width:100%;height:100%;touch-action:pan-y;cursor:grab; }.monolith-webgl canvas:active { cursor:grabbing; }
.has-real-3d .monolith-webgl { visibility:visible; }.has-real-3d .monolith-object,.has-real-3d .monolith-orbit { visibility:hidden; animation:none!important; }.has-real-3d::after { display:none; }
.monolith-label { display:none; }
.monolith-controls { position:absolute; bottom:0; left:0;right:0;z-index:4;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;color:#67778d;font-size:.64rem; }.monolith-controls[hidden] { display:none; }.monolith-controls>div { display:flex;gap:6px; }.monolith-controls button { font:inherit;min-height:36px;min-width:36px;padding:5px 10px;border:1px solid #cdd8e8;border-radius:4px;background:#fff;color:#345079;cursor:pointer; }.monolith-controls button:hover { background:#eaf1ff; }.monolith-controls button:focus-visible { outline:2px solid #2563eb;outline-offset:3px; }
@media(max-width:600px){.monolith-stage { min-height:425px; }.monolith-webgl { bottom:64px; }.monolith-controls { bottom:4px;gap:7px; }.monolith-controls>span { width:100%;text-align:center; }}

/* Heavy photographic monolith: stable mass, restrained perspective and studio light. */
.monolith-weighted { perspective:1500px; isolation:isolate; }
.weighted-slab { position:relative; width:min(100%,535px); aspect-ratio:4/5; flex:none; transform:rotateX(var(--weight-x,0deg)) rotateY(var(--weight-y,0deg)); transform-origin:50% 83%; z-index:2; }
.center-home .weighted-slab .monolith-object { display:block; width:100%;height:100%;max-height:none;object-fit:contain;transform:none!important;translate:none;rotate:none;animation:none!important;filter:drop-shadow(0 14px 9px #18283d30); }
.monolith-weighted::after { width:47%;height:5%;left:29%;bottom:9%;background:#14223755;filter:blur(13px);transform:rotate(-5deg);z-index:0; }
.metal-reflection { position:absolute;inset:0;pointer-events:none;mask:url('/assets/img/monolith-sapphire.png') center/contain no-repeat;-webkit-mask:url('/assets/img/monolith-sapphire.png') center/contain no-repeat;mix-blend-mode:screen; }
.metal-reflection::before { content:'';position:absolute;inset:-10% -70%;background:linear-gradient(112deg,transparent 40%,#ffffff00 44%,#ffffff70 49%,#ffffff18 54%,transparent 59%);transform:translateX(-35%);opacity:0;animation:weighted-light 14s ease-in-out infinite; }
@keyframes weighted-light { 0%,15% { transform:translateX(-35%);opacity:0; } 25% { opacity:.38; } 60% { transform:translateX(35%);opacity:.38; } 72%,100% { transform:translateX(35%);opacity:0; } }
.depth-paused .metal-reflection::before { animation-play-state:paused; }
@media(max-width:960px){.weighted-slab { width:min(80%,400px); }.monolith-weighted { min-height:490px; }.monolith-weighted::after { bottom:7%; }}
@media(max-width:600px){.weighted-slab { width:100%;max-width:330px; }.monolith-weighted { min-height:405px; }.monolith-weighted::after { bottom:7%;width:48%;left:28%;filter:blur(10px); }}
@media(prefers-reduced-motion:reduce){.weighted-slab { transform:none!important; }.metal-reflection { display:none; }}

@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/orbital-oswald-0.woff2) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/orbital-oswald-1.woff2) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/orbital-oswald-2.woff2) format('truetype');
}

/* Optional ORBITAL art direction. Enabled per browser tab; the default remains intact. */
.orbital { color-scheme:dark; --bg:#090d10;--surface:#10161a;--elevated:#151d22;--elevated-2:#1b252a;--text:#e0e1d9;--text-2:#a5afb0;--text-3:#88979b;--border:#354145;--border-strong:#526167;--blue:#d75283;--blue-hover:#f17ca9;--blue-soft:#371b2a;--blue-line:#6d324a;--font-display:'Oswald',sans-serif; }
.orbital body { background:#090d10;color:#e0e1d9; }
.orbital body::after { content:'';position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.035;background:repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 4px); }
.orbital h1,.orbital h2 { font-family:'Oswald',sans-serif!important;text-transform:uppercase;font-weight:600;letter-spacing:-.035em; }
.orbital h3,.orbital h4 { color:#e0e1d9; }.orbital p,.orbital .lead { color:#a8b1b2; }.orbital a:hover { color:#f185ad; }
.orbital .eyebrow { color:#d75283!important;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em; }
.orbital .site-header,.orbital .site-header.is-scrolled { background:#090d10f5;border-color:#354145;box-shadow:none; }
.orbital .brand { color:#e0e1d9; }.orbital .brand img { filter:grayscale(1); }.orbital .nav-main a { color:#b4bebf;font:11px var(--font-mono); }.orbital .nav-main a:hover,.orbital .nav-main a[aria-current] { color:#f185ad;background:#291823; }
.orbital .lang-switch,.orbital .nav-toggle { color:#c5cecf;border-color:#354145;background:#11191e; }
.orbital .btn { background:transparent;border:1px solid #687477;color:#dce1de;border-radius:0;box-shadow:none;font-family:var(--font-mono);font-size:.77rem; }
.orbital .btn--primary { background:#cb4475;color:#080d10;border-color:#cb4475;font-weight:600; }.orbital .btn:hover { background:#303c42;color:#fff; }.orbital .btn--primary:hover { background:#ed76a3;color:#080d10;border-color:#ed76a3; }
.orbital .center-home .monolith-hero { background:#090d10;color:#e0e1d9;border-color:#354145; }
.orbital .center-home .monolith-hero::before { opacity:.45;background:linear-gradient(90deg,transparent 49.9%,#38434633 50%,transparent 50.1%),radial-gradient(ellipse at 75% 50%,#233238,transparent 60%); }
.orbital .monolith-hero .center-hero-grid { padding-top:55px;gap:45px; }
.orbital .center-home .monolith-hero .hero-copy h1 { color:#d6d8d1;font-family:'Oswald',sans-serif!important;font-size:clamp(4rem,6.6vw,6.7rem);font-weight:600;line-height:1.03;letter-spacing:-.04em; }
.orbital .center-home .monolith-hero .hero-copy .lead { color:#a3afb1;font-size:.97rem; }.orbital .monolith-hero .small-rule { background:#d75283; }
.orbital .center-home .weighted-slab { width:88%;z-index:2; }.orbital .center-home .weighted-slab .monolith-object { filter:grayscale(.78) brightness(.72) contrast(1.16) drop-shadow(15px 20px 18px #000a); }
.orbital .monolith-weighted::after { background:#000b; }.orbital .metal-reflection { opacity:.5; }
.orbital-transmission { display:grid;gap:13px;margin-top:32px;padding:18px 20px;border:1px solid #495459;border-left:4px solid #c44879;max-width:420px;position:relative;background:#10171a; }
.orbital-transmission::after { content:'';position:absolute;width:46px;right:0;top:0;bottom:0;opacity:.25;background:repeating-linear-gradient(-45deg,#c44879 0 5px,transparent 5px 12px); }
.orbital-transmission span { font:9px var(--font-mono);color:#839194;letter-spacing:.08em; }.orbital-transmission strong { font:11px var(--font-mono);color:#d8b1c0; }
.orbital-instrument { position:absolute;inset:12% -5% 10%;pointer-events:none;z-index:0;display:grid;place-items:center; }
.orbital-ring { position:absolute;width:100%;aspect-ratio:1;border-radius:50%;border:1px solid #70888b55;background:repeating-conic-gradient(from 0deg,#77929444 0 1deg,transparent 1deg 15deg);mask:radial-gradient(circle,transparent 66%,#000 66% 67%,transparent 67% 69%,#000 69%);animation:orbital-turn 90s linear infinite; }
.orbital-instrument i { width:72%;aspect-ratio:1;border:1px dashed #65787b55;border-radius:50%; }.orbital-instrument b { position:absolute;top:0;left:5%;font:10px var(--font-mono);color:#c44879; }.orbital-instrument small { position:absolute;right:8%;bottom:0;font:8px var(--font-mono);color:#7d9093;writing-mode:vertical-rl; }
@keyframes orbital-turn { to { transform:rotate(360deg); } }
.orbital .hero-steps { border-color:#354145; }.orbital .hero-steps a { border-color:#354145;color:#dce1de; }.orbital .hero-steps strong { font:11px/1.6 var(--font-mono); }.orbital .hero-steps span { color:#c44879; }
.orbital .fact-band { background:#11181c;border-color:#354145; }.orbital .fact-grid>div { border-color:#354145; }.orbital .fact-grid strong { font-family:'Oswald',sans-serif;color:#d2d8d4;text-transform:uppercase;font-size:2rem; }.orbital .fact-grid span { font-family:var(--font-mono);font-size:.62rem;color:#95a2a5; }
.orbital .story-nav { background:#0b1114f5;border-color:#354145; }.orbital .story-nav a { color:#98a6a9;font:10px var(--font-mono); }.orbital .story-nav a[aria-current='step'] { color:#ef7da7;border-color:#cb4475; }.orbital .story-nav a span { color:#bd527c; }
.orbital .center-home .center-section,.orbital .section,.orbital .center-home .process-story { background:#090f12; }.orbital .section { border-color:#354145; }
.orbital .editorial-head h2,.orbital .story-split h2 { font-size:clamp(2.5rem,4.3vw,4.1rem);color:#d4d9d4;line-height:1.07; }.orbital .editorial-head .lead { color:#9daeb2; }
.orbital .center-home .resource-card,.orbital .center-home .center-level,.orbital .center-home .process-grid article,.orbital .card,.orbital .card--elevated,.orbital .level-card,.orbital .domain-block,.orbital .status-card { background:linear-gradient(140deg,#151e23,#0d1418);border:1px solid #3d4a50;border-radius:0;color:#cbd4d2;box-shadow:none; }
.orbital .center-home .resource-card::before { border-color:#8a465f;box-shadow:0 0 0 18px #71334c15,0 0 0 36px #71334c0c; }
.orbital .center-home .resource-top .icon,.orbital .resource-bottom,.orbital .card-num { color:#d56690; }.orbital .resource-card:hover,.orbital .center-home .center-level:hover { border-color:#ad5475;box-shadow:0 18px 30px #0005; }
.orbital .resource-window { background:#1d2a31;border-color:#6b7b81;box-shadow:7px 8px 0 #070c10,9px 10px 0 #a4456a,20px 26px 40px #0008; }.orbital .window-bar,.orbital .window-tiles i { border-color:#4b5d64; }.orbital .window-block { background:linear-gradient(140deg,#df729a,#692941); }.orbital .window-line { background:#5b6d73; }.orbital .window-tiles i { background:#273941; }.orbital .scene-chip { background:#111b20;border-color:#6a5862;color:#dd769c;box-shadow:0 10px 22px #0005; }.orbital .resource-scene::before { background:radial-gradient(ellipse,#384652,transparent 70%); }
.orbital .center-home .coverage-section { background:#11191e; }.orbital .scan-field { filter:hue-rotate(75deg); }.orbital .center-home .source-grid { background:#0a1014; }.orbital .center-home .source-grid a { border-color:#3d4a50; }.orbital .center-home .source-grid a:hover { background:#261b25; }
.orbital .center-home .coverage-section .link-arrow,.orbital .center-home .coverage-section .eyebrow { color:#dd769c; }.orbital .center-home .evidence-pipeline>div.is-active { background:#331e2a;border-color:#d56690; }.orbital .center-home .evidence-pipeline>div.is-active>span { color:#d56690; }
.orbital .model-node { background:linear-gradient(140deg,#aab2b2,#27343b);border-color:#65787f;box-shadow:5px 7px 0 #10171c,6px 9px 0 #bd4b77; }.orbital .model-node.selected { background:linear-gradient(140deg,#dcb1c4,#6d3a53);box-shadow:5px 7px 0 #2b1822,6px 10px 0 #c84a79,0 22px 35px #0007; }.orbital .model-node .icon,.orbital .model-node.selected .icon { color:#131d24; }.orbital .model-track { background:#794158; }
.orbital .center-home .process-grid article.is-active { background:#231923;border-color:#b84c76; }.orbital .center-home .process-num { color:#5e737d; }.orbital .center-home .process-grid article.is-active .process-num { color:#d56590; }.orbital .process-select { color:#dd769c;border-color:#435259; }.orbital .center-home .process-outcome { background:#1d171f;border-color:#c84a79;color:#d1d9d6; }.orbital .stage-detail { border-color:#4f3645; }.orbital .stage-detail p { color:#bdc8c6; }.orbital .stage-detail span { color:#d56590; }
.orbital .chapter-next { color:#d56590;border-color:#3d4a50; }.orbital .chapter-next strong { color:#d7ddda; }
.orbital .center-home .results-section { background:#111a20; }.orbital .deliverable-list article { border-color:#3d4a50; }.orbital .private-report { background:#17242c;border-color:#5a707b;color:#d4dcda;box-shadow:0 16px 35px #0006; }.orbital .private-report i { background:#526d79; }.orbital .private-report i:nth-child(2) { background:#a55076; }.orbital .center-home .certificate-display { background:#293740;border-color:#63727b;box-shadow:14px 16px 0 -5px #152129,14px 16px 0 -4px #576974,28px 32px 0 -10px #152129,28px 32px 0 -9px #576974; }
.orbital .cert,.orbital .cert p,.orbital .cert h3 { color:#16273e; }.orbital .cert { --text:#16273e;--text-2:#536277;--border:#bcc9d6;--blue:#225cd3; }.orbital .cert .cert-brand { color:#16273e; }
.orbital .center-home .center-level:nth-child(2) { background:#231923;border-color:#c84a79; }.orbital .center-price,.orbital .level-number { color:#dce1de; }.orbital .slab-layer { background:linear-gradient(145deg,#c9cbca,#536672);border-color:#89979f;box-shadow:0 5px 0 #24343d,0 8px 0 #c44879,7px 14px 14px #0005; }
.orbital .center-home .registry-section { background:#15121b; }.orbital .center-home .registry-search { background:#101a20;color:#d4dedb;box-shadow:12px 12px 0 #ad517c20; }.orbital .registry-search h3,.orbital .registry-assurance strong { color:#dce1de; }.orbital .center-home .registry-section .link-arrow { color:#e480a8; }
.orbital .input,.orbital input,.orbital select,.orbital textarea { background:#111d23;color:#dae1de;border-color:#51606a; }.orbital input::placeholder { color:#8d9ea5; }.orbital .acc details,.orbital .acc summary { border-color:#3d4a50;color:#d7ddda; }.orbital .acc-body { color:#a5b2b5; }
.orbital .center-home .center-cta { background:#241724;border-top:1px solid #8c3e61; }.orbital .center-cta h2 { color:#e1d9dc; }.orbital .site-footer { background:#070b0e;border-color:#354145; }.orbital .footer-col a { color:#abb8bd; }
.orbital .page-head { position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 60%,#2a303e,#0b1115 65%);border-color:#3d4a50;padding:90px 0 65px; }.orbital .page-head .container { position:relative; }.orbital .page-head h1 { font-size:clamp(3rem,6.7vw,6rem);line-height:1.08;color:#d6d8d1;position:relative;z-index:1;max-width:920px; }.orbital .page-head .lead { position:relative;z-index:1; }.orbital .page-head .orbital-instrument { width:440px;left:auto;right:-250px;top:-100px;bottom:-80px;opacity:.6; }.orbital .page-head .orbital-transmission { z-index:1; }
.orbital .table-wrap,.orbital .table,.orbital .summary-doc,.orbital .domain-head,.orbital .intake-form,.orbital .intake-aside,.orbital .catalogue-tools { background:#101a20;border-color:#43535b;color:#c6d1d2; }.orbital .table th { background:#1c2931;color:#c6d1d2; }.orbital .table td { border-color:#394b56; }.orbital .timeline { border-color:#526671; }.orbital .timeline .tl-date { color:#d56590; }.orbital .timeline .tl-text { color:#a9b7bb; }.orbital .drawer-panel { background:#10191f; }.orbital .drawer-panel a { color:#c3cfd1; }
.orbital-exit { position:fixed;right:18px;bottom:15px;z-index:80;background:#121c23;color:#dcc4cf;border:1px solid #8e4d69;padding:12px 15px;font:10px var(--font-mono);box-shadow:0 5px 20px #0008; }
@media(max-width:600px){.orbital .center-home .monolith-hero .hero-copy h1 { font-size:clamp(3.3rem,14vw,4.6rem);line-height:1.04; }.orbital .monolith-hero .center-hero-grid { padding-top:40px; }.orbital .hero-buttons .btn { font-size:.73rem; }.orbital-transmission { padding:15px; }.orbital-transmission strong { font-size:9px; }.orbital .center-home .weighted-slab { width:100%; }.orbital .editorial-head h2,.orbital .story-split h2 { font-size:2.7rem; }.orbital .page-head { padding:45px 0; }.orbital .page-head h1 { font-size:3.1rem; }.orbital .page-head .orbital-instrument { right:-190px;opacity:.3; }.orbital-exit { font-size:8px;right:10px;bottom:10px;padding:10px; }.orbital .center-home .resource-card:last-child,.orbital .center-home .center-level:last-child { border-color:#3d4a50; }}
@media(prefers-reduced-motion:reduce){.orbital-ring { animation:none; }}
@media print {.orbital body { background:white;color:black; }.orbital body::after,.orbital-exit,.orbital-instrument { display:none; }}
.orbital .center-home .monolith-hero .hero-copy h1 { font-size:clamp(3.5rem,5.25vw,5.4rem); }
@media(max-width:600px){.orbital .center-home .monolith-hero .hero-copy h1 { font-size:clamp(2.8rem,11.8vw,3.7rem); }}

/* The station itself is the central object of this direction. */
.orbital .monolith-stage>.weighted-slab { visibility:hidden; }.orbital .monolith-stage::after { display:none; }
.station-scene { position:absolute;inset:-3% -12% -3% -10%;margin:0;z-index:1;transform:translate(var(--station-x,0px),var(--station-y,0px));transition:transform 1.4s cubic-bezier(.2,.65,.2,1); }
.station-scene img { display:block;width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse at center,#000 48%,#000c 65%,transparent 76%); }
.station-scene figcaption { position:absolute;bottom:4%;right:4%;padding:14px 18px;border:1px solid #6e3c52;background:#0a1015d9;display:grid;gap:9px; }.station-scene figcaption span { font:8px var(--font-mono);color:#c95381;letter-spacing:.12em; }.station-scene figcaption strong { font:10px/1.6 var(--font-mono);color:#acb9bc; }
.orbital .monolith-stage .orbital-instrument { z-index:2;opacity:.42;inset:1% -6% 2%; }.orbital .monolith-stage .orbital-instrument i { visibility:hidden; }
.orbital .page-head .container:has(.station-scene) { max-width:1280px;min-height:470px;padding-right:48%; }
.orbital .page-head .container:has(.station-scene) h1 { font-size:clamp(3rem,4.7vw,4.7rem); }
.orbital .page-head .station-scene { inset:-65px -70px -60px 48%;z-index:0; }.orbital .page-head .orbital-instrument { display:none; }
.orbital .page-head .eyebrow,.orbital .page-head .orbital-transmission { position:relative;z-index:2; }
@media(max-width:960px){.orbital .page-head .container:has(.station-scene) { padding-right:var(--gutter);padding-bottom:390px; }.orbital .page-head .station-scene { inset:auto 0 -25px;height:390px; }.orbital .page-head .station-scene figcaption { right:5%;bottom:4%; }}
@media(max-width:600px){.station-scene { inset:0 -13%; }.station-scene figcaption { bottom:2%;right:10%;padding:10px 12px; }.station-scene figcaption strong { font-size:8px; }.station-scene figcaption span { font-size:7px; }.orbital .page-head .container:has(.station-scene) h1 { font-size:2.9rem; }.orbital .page-head .container:has(.station-scene) { padding-bottom:345px; }.orbital .page-head .station-scene { height:345px; }.orbital .grid-12>* { min-width:0; }.orbital .table-wrap { max-width:100%;overflow-x:auto; }}
@media(prefers-reduced-motion:reduce){.station-scene { transform:none!important;transition:none; }}

.station-hotspot { position:absolute;z-index:5;width:39px;height:39px;border:1px solid #d45c8d;background:#0a121bdf;color:#e5b7ca;font:11px var(--font-mono);cursor:pointer;box-shadow:0 0 0 7px #bb497321;transition:background .25s,box-shadow .25s; }
.station-hotspot::after { content:'';position:absolute;left:50%;top:100%;height:30px;width:1px;background:#c85887;pointer-events:none; }
.station-hotspot-0 { left:27%;top:37%; }.station-hotspot-1 { left:53%;top:25%; }.station-hotspot-2 { left:72%;top:53%; }
.station-hotspot[aria-pressed='true'],.station-hotspot:hover { background:#cb4475;color:#070c10;box-shadow:0 0 0 7px #bb497336,0 0 25px #bd477339; }
.station-hotspot:focus-visible { outline:2px solid #fff;outline-offset:5px; }
.station-scene figcaption { min-height:140px;width:240px;right:2%;bottom:-2%;z-index:4; }
.station-scene figcaption strong { font-size:12px; }.station-scene figcaption p { margin:0;color:#a9b8bc;font-size:11px;line-height:1.6; }.station-scene figcaption a { color:#e580a8;font:10px var(--font-mono);padding:6px 0; }
.station-console { padding-top:45px;padding-bottom:50px;border-top:1px solid #354145; }
.station-console-intro { display:grid;grid-template-columns:1fr 2fr;gap:14px 40px;align-items:end;margin-bottom:30px; }.station-console-intro>span { grid-column:1 / -1;font:9px var(--font-mono);color:#ca547f;letter-spacing:.14em; }.station-console-intro h2 { font-size:2rem;margin:0;color:#d5dcd8; }.station-console-intro p { font:11px/1.8 var(--font-mono);color:#99a9af;justify-self:end; }
.station-module-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.station-module { position:relative;display:flex;flex-direction:column;gap:17px;padding:26px;border:1px solid #3d4d57;background:linear-gradient(140deg,#142129,#0b1319);color:#d3dfdf;transition:border-color .3s,background .3s; }
.station-module::before { content:'+';position:absolute;top:-8px;right:-5px;color:#758a97;font:14px var(--font-mono);background:#0a1117; }
.station-module .module-code { color:#a6577b;font:9px var(--font-mono);letter-spacing:.1em; }.station-module h3 { margin:0;font-size:1.2rem; }.station-module p { margin:0;font-size:.88rem;line-height:1.75; }.station-module small { margin-top:auto;padding-top:17px;border-top:1px solid #34414b;color:#8c9fac;font:9px var(--font-mono); }.station-module>strong { color:#df7fa8;font:11px var(--font-mono); }
.station-module.selected,.station-module:hover { border-color:#a9567b;background:linear-gradient(140deg,#241e2d,#101922); }
@media(max-width:960px){.orbital .monolith-stage { margin-bottom:80px; }.station-scene figcaption { bottom:-45px;right:5%; }.orbital .page-head .container:has(.station-scene) { padding-bottom:460px; }.orbital .page-head .station-scene { bottom:65px; }.station-module-grid { gap:10px; }.station-module { padding:19px; }}
@media(max-width:600px){.orbital .monolith-stage { margin-bottom:115px; }.station-scene figcaption { bottom:-90px;right:12%;width:76%;min-height:145px; }.station-scene figcaption strong { font-size:11px; }.station-scene figcaption p { font-size:11px; }.station-hotspot { width:36px;height:36px; }.station-console { padding-top:30px;padding-bottom:35px; }.station-console-intro { grid-template-columns:1fr;gap:13px; }.station-console-intro p { justify-self:start;margin:0; }.station-console-intro h2 { font-size:1.8rem; }.station-module-grid { grid-template-columns:1fr;gap:15px; }.station-module { padding:23px; }.orbital .page-head .container:has(.station-scene) { padding-bottom:475px; }.orbital .page-head .station-scene { bottom:110px; }.orbital .page-head .station-scene figcaption { bottom:-100px;right:5%;width:90%; }}
@media(max-width:600px){.orbital .monolith-hero { overflow:clip; }.orbital .monolith-stage .station-scene { left:-3%;right:-3%; }.orbital .monolith-stage .station-scene figcaption { right:3%;width:94%; }.orbital .monolith-stage .orbital-instrument { left:0;right:0; }}
