/* ZEKASTRA brand layer (2026-10): one palette, one type system, product accents.
   Loaded after site.css and product.css; fonts are self-hosted (SIL OFL, see fonts/OFL-*.txt). */
@font-face{font-family:"Manrope";src:url(/assets/fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;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:"Manrope";src:url(/assets/fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;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:"Inter";src:url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap;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:"Inter";src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap;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}

:root{--display:"Manrope",Inter,ui-sans-serif,system-ui,sans-serif}
body{font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.brand{font-family:var(--display);letter-spacing:-.025em}
h1{font-weight:800;letter-spacing:-.035em}
.eyebrow{color:var(--accent);letter-spacing:.12em}
.button{border-radius:10px;font-weight:650}
.button-primary{background:linear-gradient(100deg,var(--accent),var(--accent-2,#9b86f6));color:var(--button-ink);border-color:transparent}
.button-primary:hover:not(:disabled){filter:brightness(1.06)}
.site-header{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);position:sticky;top:0}

/* Homepage */
.home-hero{position:relative;padding-block:96px 72px;overflow:hidden}
.home-hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:900px;height:900px;background:radial-gradient(closest-side,color-mix(in srgb,#9b86f6 10%,transparent),transparent 75%),radial-gradient(closest-side at 30% 60%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 70%);pointer-events:none}
.home-hero>*{position:relative}
.home-hero h1{max-width:15ch;font-size:clamp(2.6rem,5.6vw,4.8rem);line-height:1.02;margin-bottom:28px}
.home-hero h1 em{font-style:normal;color:var(--accent);background:linear-gradient(90deg,#3dd5f3 0,#9b86f6 55%,#f2d29a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
:root[data-theme=light] .home-hero h1 em{background-image:linear-gradient(90deg,#0b6e8e 0,#5b3fc4 60%,#8a5a00 100%)}
.home-hero .hero-lede{max-width:60ch;font-size:1.15rem;line-height:1.7;margin-bottom:36px}
.home-facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin:40px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.88rem}
.home-facts li{display:flex;align-items:center;gap:10px}
.home-facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.home-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.home-product{--tone:var(--accent);position:relative;display:flex;flex-direction:column;padding:32px 32px 28px;background:var(--panel);border:1px solid var(--hairline);border-radius:var(--radius);text-decoration:none;color:inherit;transition:border-color .18s ease,transform .18s ease}
.home-product::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;border-radius:var(--radius) var(--radius) 0 0;background:var(--tone)}
.home-product:hover{border-color:color-mix(in srgb,var(--tone) 55%,var(--hairline));transform:translateY(-2px)}
.home-product-forensic{--tone:var(--forensic)}.home-product-play{--tone:var(--play)}.home-product-kids{--tone:var(--kids)}.home-product-studio{--tone:var(--studio)}
.home-product-label{display:block;margin-bottom:18px;color:var(--tone);font-size:.75rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.home-product h3{font-size:1.65rem;margin-bottom:14px}
.home-product p{margin-bottom:22px}
.home-product ul{margin:0 0 28px;padding:0;list-style:none;display:grid;gap:8px;font-size:.92rem;color:var(--ink)}
.home-product li{display:flex;gap:10px}
.home-product li::before{content:"—";color:var(--tone)}
.home-product-cta{margin-top:auto;color:var(--tone);font-weight:700;font-size:.92rem}
.home-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:40px;border-top:1px solid var(--hairline)}
.home-principles h3{font-size:1.1rem;margin-bottom:10px}
.home-principles p{font-size:.95rem}
@media (max-width:860px){
 .home-hero{padding-block:56px 40px}
 .home-products,.home-principles{grid-template-columns:1fr}
 .home-product{padding:26px 22px 22px}
}

/* Section pages (Forensic first) */
.section-hero{position:relative;padding-block:72px 24px}
.section-hero h1{max-width:16ch;font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.04;margin-bottom:24px}
.section-hero h1 em{font-style:normal;color:var(--tone,var(--accent))}
.section-hero .page-lede{max-width:62ch;font-size:1.12rem}
.section-forensic{--tone:var(--forensic)}.section-play{--tone:var(--play)}.section-kids{--tone:var(--kids)}.section-studio{--tone:var(--studio)}
.section-forensic .eyebrow,.section-play .eyebrow,.section-kids .eyebrow,.section-studio .eyebrow{color:var(--tone)}
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tool-card{display:flex;flex-direction:column;padding:26px;background:var(--panel);border:1px solid var(--hairline);border-radius:var(--radius);color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease}
.tool-card:hover{border-color:color-mix(in srgb,var(--tone,var(--accent)) 55%,var(--hairline));transform:translateY(-2px)}
.tool-kind{margin-bottom:14px;color:var(--tone,var(--accent));font-size:.72rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.tool-card h3{font-size:1.3rem;margin-bottom:10px}
.tool-card p{font-size:.95rem;margin-bottom:20px}
.tool-cta{margin-top:auto;color:var(--tone,var(--accent));font-weight:700;font-size:.9rem}
.quick-tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;padding:36px;background:var(--panel);border:1px solid var(--hairline);border-radius:var(--radius)}
.quick-tool h2{font-size:1.7rem}
.quick-tool-form{display:grid;gap:12px}
.quick-tool-form label{font-weight:650;font-size:.9rem}
.quick-tool-form input{min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.quick-tool-form .button{justify-self:start}
.case-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hairline)}
.case-list a{display:grid;grid-template-columns:56px minmax(0,1fr) 24px;gap:20px;align-items:center;padding:22px 4px;border-bottom:1px solid var(--hairline);color:inherit;text-decoration:none}
.case-list a:hover strong{color:var(--tone,var(--accent))}
.case-n{font-family:var(--display);font-size:1.4rem;font-weight:800;color:var(--tone,var(--accent))}
.case-list strong{display:block;font-family:var(--display);font-size:1.15rem;margin-bottom:4px}
.case-list a>span:nth-child(2)>span{color:var(--muted);font-size:.95rem}
.section-footnote{margin-top:64px;padding-top:24px;border-top:1px solid var(--hairline)}
@media (max-width:960px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.tool-grid,.quick-tool{grid-template-columns:1fr}.quick-tool{padding:24px;gap:20px}.section-hero{padding-block:48px 8px}}

/* Wordmark */
.brand{gap:12px;letter-spacing:.12em;font-weight:800;font-size:1rem}
.brand img{width:40px;height:40px;background:none;padding:0;border-radius:10px}
.brand img.brand-wordmark{width:auto;height:25px;border-radius:0}
:root[data-theme=light] .brand img.brand-wordmark{filter:brightness(.82) saturate(1.25)}
@media(max-width:450px){.brand img.brand-wordmark{height:18px}}

/* Feature panel (Play) */
.feature-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:40px;padding:40px;background:linear-gradient(135deg,color-mix(in srgb,var(--tone,var(--accent)) 12%,var(--panel)),var(--panel) 60%);border:1px solid var(--hairline);border-radius:var(--radius)}
.feature-copy h2{font-size:clamp(2rem,3.4vw,2.8rem)}
.feature-copy p{max-width:52ch;margin-bottom:28px}
.feature-steps{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.feature-steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--hairline)}
.feature-steps li:last-child{border-bottom:0}
.feature-steps strong{display:block;font-family:var(--display)}
.feature-steps li>span:last-child>span{color:var(--muted);font-size:.93rem}
.section-play .game-card .button-primary{background:var(--tone);color:#140c26}
:root[data-theme=light] .section-play .game-card .button-primary{color:#fff}
@media (max-width:860px){.feature-panel{grid-template-columns:1fr;padding:26px;gap:24px}}

:root{--accent-2:#9b86f6}:root[data-theme=light]{--accent-2:#5b3fc4}
