/* kit/tokens.css - Frost (light) + Nightwatch (dark) tokens for the nyedis.ai marketing site. A FLOOR, not a style:
   directions add their own expressive layers on top. Source: research/design-law.md A2-A9 (DESIGN.md wins over the PDF).
   Theme = [data-theme="light"|"dark"] on <html>, set by router.js (query/hash, else prefers-color-scheme). Light is the default without JS. */
/* ---- fonts (vendored Latin woff2; no CDN) ---- */
@font-face{font-family:"Cinzel";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/cinzel-400.woff2") format("woff2")}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/cinzel-600.woff2") format("woff2")}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/cinzel-700.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-400.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/inter-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/inter-600.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-700.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/ibm-plex-mono-400.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/ibm-plex-mono-500.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/ibm-plex-mono-600.woff2") format("woff2")}

:root{
  color-scheme:light;
  /* field + washes */
  --ac-bg:#E6EAEF; --ac-wash-steel:rgba(90,130,190,.22); --ac-wash-ox:rgba(138,31,31,.16); --ac-texture-opacity:0;
  --ac-field:radial-gradient(1100px 720px at 88% -8%,var(--ac-wash-steel),transparent 58%),radial-gradient(760px 520px at 96% 92%,var(--ac-wash-ox),transparent 60%),var(--ac-bg);
  /* fog-paper steps: richer than white (PDF palette); bands alternate field / fog / glass */
  --ac-fog-1:#ECECEC; --ac-fog-2:#F6F6F4; --ac-fog-3:#DCE2E9;
  /* surfaces */
  --ac-panel:rgba(255,255,255,.66); --ac-panel-solid:#F4F6F9; --ac-panel-blur:blur(18px) saturate(1.1); --ac-panel-lip:inset 0 1px 0 rgba(255,255,255,.85); --ac-panel-edge:rgba(255,255,255,.7);
  --ac-card:#FDFDFE; --ac-float:#F7F9FB; --ac-scrim:rgba(22,34,52,.32);
  --ac-lift:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(24,40,64,.05),0 16px 34px -24px rgba(10,20,35,.48);
  --ac-float-lift:inset 0 1px 0 rgba(255,255,255,.85),0 22px 48px -20px rgba(10,20,35,.4);
  /* ink */
  --ac-ink-strong:#0A1018; --ac-ink:#18212C; --ac-ink-2:#384352; --ac-ink-3:#465261;
  --ac-hair:rgba(20,36,60,.09); --ac-rule:rgba(20,36,60,.17); --ac-edge:#6A7480;
  /* accent: oxblood carries action + selection + alert; steel carries info */
  --ac-accent:#901F1F; --ac-accent-fill:#901F1F; --ac-accent-rim:#901F1F; --ac-accent-fill-hover:#6E1718; --ac-accent-tint:rgba(144,31,31,.07);
  --ac-info-fill:#34587F; --ac-info-rim:#34587F; --ac-info-fill-hover:#2B4A6C; --ac-info:#2F5580; --ac-focus:#35639B; --ac-on-fill:#FFFFFF;
  --ac-brand:#8A1F1F; /* logo red: the tower spike and the A, nothing else */
  /* status (evidence artwork only) */
  --ac-ok:#2D7A57; --ac-ok-ink:#1F5E41; --ac-allow-tint:#DDE8F5; --ac-allow-ink:#234568; --ac-warn:#B8700C; --ac-warn-ink:#7A4800;
  --ac-alert-tint:#F5E1DE; --ac-alert-ink:#6E1718; --ac-neutral-tint:#E8ECF0; --ac-neutral-ink:#2F3A47;
  /* type */
  --ac-font-display:"Cinzel","Times New Roman",serif; --ac-font-ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif; --ac-font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --ac-fs-xs:.75rem; --ac-fs-sm:.875rem; --ac-fs-base:1rem; --ac-fs-md:1.125rem; --ac-fs-lg:1.5rem; --ac-fs-xl:2rem; --ac-fs-2xl:2.75rem; --ac-fs-3xl:3.75rem;
  --ac-fs-display:clamp(2.25rem,6vw,5.5rem);
  /* shape + space (2px radius everywhere; no pills) */
  --ac-r:2px; --ac-r-sm:1px; --ac-r-plate:5px; --ac-r-sheet:6px;
  --ac-s-1:4px; --ac-s-2:8px; --ac-s-3:12px; --ac-s-4:16px; --ac-s-5:24px; --ac-s-6:40px; --ac-s-7:80px; --ac-s-8:120px;
  --ac-band:clamp(64px,10vw,140px); --ac-gutter:clamp(16px,4vw,48px); --ac-max:1280px; --ac-measure:68ch;
  /* motion (entrance choreography up to ~700ms; UI feedback 100-220ms) */
  --ac-ease:cubic-bezier(.2,.8,.2,1); --ac-t-press:100ms; --ac-t-ui:180ms; --ac-t-enter:700ms;
  /* review bar reserve (see README: pack.py bar is fixed bottom-left) */
  --mq-bar-h:48px;
  /* gallery top bar: sticky headers use top:var(--chrome-top,0px); router.js adds html.in-gallery when framed or when pack.py's #mq-bar exists */
  --chrome-top:0px;
}
@media (min-width:761px){html.in-gallery{--chrome-top:48px}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ac-bg:#0E1319; --ac-wash-steel:rgba(90,130,190,.16); --ac-wash-ox:rgba(138,31,31,.20); --ac-texture-opacity:.20;
  --ac-field:radial-gradient(1100px 720px at 12% -8%,var(--ac-wash-steel),transparent 58%),radial-gradient(760px 520px at 96% 92%,var(--ac-wash-ox),transparent 60%),var(--ac-bg);
  --ac-fog-1:#131A22; --ac-fog-2:#171E27; --ac-fog-3:#0B1015;
  --ac-panel:rgba(232,238,246,.05); --ac-panel-solid:#161C24; --ac-panel-blur:blur(18px); --ac-panel-lip:inset 0 0 0 0 transparent; --ac-panel-edge:rgba(232,238,246,.09);
  --ac-card:rgba(232,238,246,.05); --ac-float:#171C24; --ac-scrim:rgba(0,0,0,.55);
  --ac-lift:none; --ac-float-lift:0 22px 48px -20px rgba(0,0,0,.6);
  --ac-ink-strong:#F2F5F9; --ac-ink:#D8DEE6; --ac-ink-2:#B4BEC9; --ac-ink-3:#9AA6B4;
  --ac-hair:rgba(232,238,246,.09); --ac-rule:rgba(232,238,246,.16); --ac-edge:rgba(232,238,246,.52);
  --ac-accent:#C08A7E; --ac-accent-fill:#901F1F; --ac-accent-rim:#C7766C; --ac-accent-fill-hover:#A83A3A; --ac-accent-tint:rgba(192,138,126,.11);
  --ac-info-fill:#44699A; --ac-info-rim:#7D9FCC; --ac-info-fill-hover:#4E78AE; --ac-info:#9AB5D8; --ac-focus:#7FB2F0;
  --ac-brand:#B3372F;
  --ac-ok:#5AA98A; --ac-ok-ink:#7CC2A6; --ac-allow-tint:rgba(125,159,204,.25); --ac-allow-ink:#C2D5EE; --ac-warn:#D9A63C; --ac-warn-ink:#E3B456;
  --ac-alert-tint:rgba(199,118,108,.20); --ac-alert-ink:#EBB3A9; --ac-neutral-tint:rgba(232,238,246,.09); --ac-neutral-ink:#D8DEE6;
}
/* phones: swap blurred glass for near-opaque (blur over animated art costs frames) */
@media (max-width:820px),(pointer:coarse){:root{--ac-panel-blur:none;--ac-panel:rgba(250,251,253,.9)}:root[data-theme="dark"]{--ac-panel:rgba(26,33,43,.92)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--ac-panel:rgba(250,251,253,.94)}:root[data-theme="dark"]{--ac-panel:rgba(26,33,43,.94)}}

/* ---- base floor ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--ac-bg);color:var(--ac-ink);font:400 var(--ac-fs-base)/1.6 var(--ac-font-ui);letter-spacing:-.01em;font-feature-settings:"tnum" 1,"cv11" 1;-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* the wallpaper lives on a fixed layer so content never paints its own page background; terrain appears in dark only */
.ac-field{position:fixed;inset:0;z-index:-1;background:var(--ac-field);pointer-events:none}
.ac-field::after{content:"";position:absolute;inset:0;background:url("brand/terrain.webp") center/cover;opacity:var(--ac-texture-opacity);mix-blend-mode:multiply}
img,svg,video,canvas{max-width:100%}
h1,h2,h3,h4{margin:0;color:var(--ac-ink-strong);font-weight:600}
p{margin:0 0 1em;max-width:var(--ac-measure)}
a{color:var(--ac-info);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--ac-focus);outline-offset:2px}
[hidden]{display:none!important}
.ac-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.ac-skip{position:fixed;left:12px;top:-60px;z-index:2147483001;padding:10px 14px;background:var(--ac-float);color:var(--ac-ink-strong);border:1px solid var(--ac-edge);border-radius:var(--ac-r)}
.ac-skip:focus{top:12px}
.ac-wrap{width:100%;max-width:var(--ac-max);margin-inline:auto;padding-inline:var(--ac-gutter)}
.ac-band{padding-block:var(--ac-band)}
.ac-band--fog{background:var(--ac-fog-1)}.ac-band--fog2{background:var(--ac-fog-2)}
main[data-page]{display:block;min-height:60vh}
main[data-page]:focus,h1:focus{outline:none}
main[data-page] h1:focus-visible{outline:2px solid var(--ac-focus);outline-offset:6px}
/* type lanes */
.ac-display{font:600 var(--ac-fs-display)/1.02 var(--ac-font-display);letter-spacing:.06em;text-transform:uppercase}
.ac-title{font:600 clamp(1.75rem,3.4vw,2.75rem)/1.1 var(--ac-font-display);letter-spacing:.06em;text-transform:uppercase}
.ac-op{color:var(--ac-accent)} /* the one operative word per headline */
.ac-kicker{font:600 var(--ac-fs-xs)/1.2 var(--ac-font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ac-accent)}
.ac-micro{font:500 11px/1.3 var(--ac-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ac-ink-3)}
.ac-mono{font-family:var(--ac-font-mono);letter-spacing:.04em}
.ac-lede{font-size:clamp(1.0625rem,1.6vw,1.25rem);line-height:1.55;color:var(--ac-ink-2);max-width:60ch}
.ac-rule{display:block;width:44px;height:2px;background:var(--ac-accent);border:0;margin:18px 0}
.ac-sigil::before{content:"\25C6";color:var(--ac-accent);margin-inline:.6em;font-size:.7em;vertical-align:.12em} /* the sigil diamond delimiter */
.ac-sigil--bare::before{margin:0 .5em 0 0}
/* surfaces */
.ac-card{background:var(--ac-panel);-webkit-backdrop-filter:var(--ac-panel-blur);backdrop-filter:var(--ac-panel-blur);border:1px solid var(--ac-panel-edge);box-shadow:var(--ac-panel-lip),var(--ac-lift);border-radius:var(--ac-r);padding:var(--ac-s-5)}
.ac-float{background:var(--ac-float);border:1px solid var(--ac-rule);box-shadow:var(--ac-float-lift);border-radius:var(--ac-r)} /* 100% opaque: menus, drawer, dialogs, toasts */
/* call-to-action tiers: one tier-1 per page region set */
.ac-btn,.ac-btn-primary,.ac-btn-cta{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:44px;padding:0 20px;font:600 11px/1 var(--ac-font-mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-radius:var(--ac-r);cursor:pointer;transition:background var(--ac-t-ui) var(--ac-ease),transform var(--ac-t-press)}
.ac-btn:active,.ac-btn-primary:active,.ac-btn-cta:active{transform:translateY(1px)}
.ac-btn-cta{background:var(--ac-accent-fill);color:var(--ac-on-fill);border:1px solid var(--ac-accent-rim)}.ac-btn-cta:hover{background:var(--ac-accent-fill-hover)}
.ac-btn-primary{background:var(--ac-info-fill);color:var(--ac-on-fill);border:1px solid var(--ac-info-rim)}.ac-btn-primary:hover{background:var(--ac-info-fill-hover)}
.ac-btn{background:var(--ac-panel-solid);color:var(--ac-ink-strong);border:1px solid var(--ac-edge)}.ac-btn:hover{background:var(--ac-card)}
.ac-btn[disabled],.ac-btn-cta[disabled],.ac-btn-primary[disabled]{opacity:.55;cursor:default}
/* stamps: evidence artwork only (ALLOW / DENY / SEALED) */
.ac-stamp{display:inline-flex;align-items:center;gap:6px;height:19px;padding:0 6px;font:600 10.5px/1 var(--ac-font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid currentColor;border-radius:var(--ac-r-sm)}
.ac-stamp--allow{background:var(--ac-allow-tint);color:var(--ac-allow-ink)}.ac-stamp--ok{color:var(--ac-ok-ink)}.ac-stamp--deny{background:var(--ac-alert-tint);color:var(--ac-alert-ink)}.ac-stamp--neutral{background:var(--ac-neutral-tint);color:var(--ac-neutral-ink)}
/* logos: inline SVG, ink = currentColor; the spike and the A read --ac-brand. Never recolour otherwise. */
.ac-logo{display:inline-block;color:var(--ac-ink-strong);line-height:0}.ac-logo svg{display:block;height:100%;width:auto}
.ac-raven{color:#1A1A1A}:root[data-theme="dark"] .ac-raven{color:#FFFFFF}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
