/* CreatorService — Midnight Aurora design system, compiled for production. */

/* ---------- fonts (self-hosted) ---------- */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif.woff2) format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201A,U+201C-201E,U+2026,U+2192}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201A,U+201C-201E,U+2026,U+2192}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/montserrat.woff2) format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201A,U+201C-201E,U+2026,U+2192}
@font-face{font-family:Montserrat;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/montserrat-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201A,U+201C-201E,U+2026,U+2192}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/montserrat-cyr.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Montserrat;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/montserrat-cyr-italic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

/* ---------- tokens ---------- */
:root{
--ink-950:#000041;--ink-900:#0a0b3c;--ink-700:#2b2c62;--ink-500:#585a86;--ink-300:#9fa1bf;--ink-150:#d9dae6;--ink-040:#f2f2f6;
--paper:#faf9f6;--white:#fff;
--aurora-cyan:#18caf7;--aurora-indigo:#4828a8;--aurora-magenta:#ff00ea;
--grad-aurora:linear-gradient(120deg,#18caf7 0%,#4828a8 49%,#ff00ea 100%);
--text-body:var(--ink-900);--text-muted:var(--ink-500);--text-faint:var(--ink-300);--text-inverse:#faf9f6;--text-inverse-muted:rgba(250,249,246,.62);
--surface-page:var(--paper);--surface-card:var(--white);--surface-night:var(--ink-950);--surface-night-raised:#0b0c4e;--surface-tint:var(--ink-040);
--border-hairline:rgba(10,11,60,.14);--border-strong:rgba(10,11,60,.32);--border-hairline-inverse:rgba(250,249,246,.2);
--focus-ring:var(--aurora-cyan);--ok:#0e9f7a;--danger:#e02d6f;
--link:var(--ink-900);--link-hover:var(--aurora-indigo);
--font-display:'Instrument Serif',Georgia,'Times New Roman',serif;
--font-sans:Montserrat,-apple-system,'Helvetica Neue',sans-serif;
--display-hero:clamp(56px,7.5vw,104px);--display-lg:44px;--display-md:32px;--display-sm:24px;
--leading-display:1.02;--tracking-display:-0.01em;
--text-md:16px;--text-sm:14px;--text-xs:12px;--text-2xs:11px;
--tracking-label:.22em;--tracking-wide:.08em;
--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:144px;
--radius-sharp:2px;--radius-soft:4px;--radius-pill:999px;
--container:1200px;--gutter:clamp(24px,5vw,72px);
--shadow-card:0 1px 2px rgba(0,0,65,.05),0 10px 28px rgba(0,0,65,.06);
--shadow-raised:0 2px 6px rgba(0,0,65,.08),0 20px 48px rgba(0,0,65,.12);
--glow-aurora:0 0 64px rgba(72,40,168,.4);--glow-cyan:0 0 40px rgba(24,202,247,.28);
--ease-out:cubic-bezier(.22,1,.36,1);--dur-fast:160ms;--dur-med:360ms;--dur-slow:700ms;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-night);font-family:var(--font-sans);font-size:var(--text-md);line-height:1.65;color:var(--text-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--link);text-decoration:none;transition:color .3s var(--ease-out)}
a:hover{color:var(--link-hover)}
::selection{background:rgba(255,0,234,.85);color:#fff}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--paper);color:var(--ink-950);padding:12px 24px;font-size:13px;font-weight:600}
.skip-link:focus{left:0}
.wrap{position:relative;max-width:var(--container);margin:0 auto}
.grain{position:absolute;inset:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px}
.glow{position:absolute;border-radius:50%;filter:blur(44px);pointer-events:none}
.glow-indigo{background:radial-gradient(circle,rgba(72,40,168,.45),transparent 65%)}
.glow-magenta{background:radial-gradient(circle,rgba(255,0,234,.18),transparent 65%)}
.glow-cyan{background:radial-gradient(circle,rgba(24,202,247,.14),transparent 65%)}
.drift-a{animation:csDriftA 28s ease-in-out infinite alternate}
.drift-b{animation:csDriftB 36s ease-in-out infinite alternate}
@keyframes csDriftA{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-70px,50px) scale(1.18)}100%{transform:translate(40px,-30px) scale(.94)}}
@keyframes csDriftB{0%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,-40px) scale(1.12)}100%{transform:translate(-30px,30px) scale(1)}}
.aurora-text{background:var(--grad-aurora);-webkit-background-clip:text;background-clip:text;color:transparent}
.aurora-anim{background-size:220% 220%;animation:csSheen 9s ease-in-out infinite alternate}
@keyframes csSheen{from{background-position:0% 50%}to{background-position:100% 50%}}
.hairline-aurora{position:relative}
.hairline-aurora::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--grad-aurora);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-med) var(--ease-out)}
.hairline-aurora:hover::after{transform:scaleX(1)}
.label{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);margin:0 0 20px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--grad-aurora);flex:none}
.eyebrow.inv{color:var(--text-inverse-muted)}
.eyebrow.center{justify-content:center}
.display{font-family:var(--font-display);font-weight:400;line-height:var(--leading-display);letter-spacing:var(--tracking-display);margin:0}
.display em{font-style:italic}

/* ---------- reveals (JS-gated: fully visible without JS) ---------- */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.js .reveal.in{opacity:1;transform:none}
.js .stagger>*{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.js .stagger.in>*{opacity:1;transform:none}
.js .stagger.in>*:nth-child(2){transition-delay:.08s}.js .stagger.in>*:nth-child(3){transition-delay:.16s}.js .stagger.in>*:nth-child(4){transition-delay:.24s}.js .stagger.in>*:nth-child(5){transition-delay:.32s}.js .stagger.in>*:nth-child(6){transition-delay:.4s}
.js .mask-h .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em}
.js .mask-h .wi{display:inline-block;transform:translateY(114%);transition:transform .9s var(--ease-out)}
.js .mask-h.on .wi{transform:none}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:130;background:var(--grad-aurora);transform:scaleX(0);transform-origin:left;pointer-events:none}
@keyframes csTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker{border-top:1px solid var(--border-hairline-inverse);overflow:hidden;white-space:nowrap;padding:14px 0;opacity:.45}
.ticker span{display:inline-block;animation:csTicker 40s linear infinite;font-size:10px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase}

/* ---------- nav ---------- */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--gutter);transition:transform .5s var(--ease-out),background .5s var(--ease-out),border-color .5s var(--ease-out);border-bottom:1px solid transparent}
.site-nav.scrolled{background:rgba(0,0,65,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--border-hairline-inverse)}
.site-nav.hid{transform:translateY(-101%)}
.site-nav .logo{display:flex}
.site-nav .logo img{height:24px;width:auto;display:block}
.navlinks{display:flex;gap:32px;align-items:center}
.nav-link{position:relative;font-size:11px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-inverse-muted);padding:6px 0;background:none;border:0;cursor:pointer;font-family:inherit}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--grad-aurora);transform:scaleX(0);transform-origin:left;transition:transform .36s var(--ease-out)}
.nav-link:hover{color:var(--text-inverse)}
.nav-link:hover::after,.nav-link[aria-current]::after{transform:scaleX(1)}
.nav-link[aria-current]{color:var(--text-inverse)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:12px 8px;flex-direction:column;gap:7px}
.burger span{display:block;width:24px;height:1.5px;background:var(--text-inverse);transition:transform .4s var(--ease-out)}
.burger.x span:first-child{transform:translateY(4.25px) rotate(45deg)}
.burger.x span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
.menu-overlay{position:fixed;inset:0;z-index:90;background:var(--surface-night);display:flex;flex-direction:column;justify-content:center;padding:0 var(--gutter);opacity:0;pointer-events:none;transition:opacity .5s var(--ease-out)}
.menu-overlay.open{opacity:1;pointer-events:auto}
.menu-overlay .menu-inner{position:relative;display:flex;flex-direction:column;gap:6px}
.menu-overlay .biglink{display:block;width:max-content;font-family:var(--font-display);font-size:clamp(40px,8.5vw,76px);line-height:1.14;color:var(--text-inverse);opacity:0;transform:translateY(26px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out),color .36s var(--ease-out)}
.menu-overlay .biglink:hover{color:var(--aurora-cyan)}
.menu-overlay.open .biglink{opacity:1;transform:none}
.menu-foot{display:flex;gap:24px;align-items:center;margin-top:36px}
.menu-foot p{margin:0;color:var(--text-inverse-muted)}

/* ---------- buttons ---------- */
.btn{font-family:var(--font-sans);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-label);border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;transition:transform var(--dur-med) var(--ease-out),box-shadow var(--dur-med) var(--ease-out),border-color var(--dur-med) var(--ease-out),color var(--dur-med) var(--ease-out),opacity var(--dur-fast) linear;white-space:nowrap;text-decoration:none}
.btn:active{transform:scale(.98);opacity:.85}
.btn[disabled]{opacity:.35;pointer-events:none}
.btn--sm{font-size:10px;padding:9px 18px}
.btn--md{font-size:12px;padding:14px 30px}
.btn--lg{font-size:13px;padding:18px 40px}
.btn--primary{background:var(--ink-950);color:var(--text-inverse)}
.btn--primary:hover{box-shadow:var(--glow-aurora);transform:translateY(-1px);color:var(--text-inverse)}
.btn--inverse{background:var(--paper);color:var(--ink-950)}
.btn--inverse:hover{box-shadow:var(--glow-cyan);transform:translateY(-1px);color:var(--ink-950)}
.btn--ghost-inverse{background:transparent;border-color:var(--border-hairline-inverse);color:var(--text-inverse)}
.btn--ghost-inverse:hover{border-color:var(--aurora-cyan);color:var(--aurora-cyan)}

/* ---------- cards ---------- */
.card{border-radius:var(--radius-sharp);padding:var(--space-6);background:var(--surface-card);border:1px solid var(--border-hairline);color:var(--text-body);transition:transform var(--dur-med) var(--ease-out),box-shadow var(--dur-med) var(--ease-out),border-color var(--dur-med) var(--ease-out)}
a.card{display:block}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-raised)}
.card-eyebrow{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);margin:0 0 12px}
.card-title{font-family:var(--font-display);font-weight:400;font-size:var(--display-sm);line-height:1.15;letter-spacing:var(--tracking-display);margin:0 0 12px}
.card p{margin:0;font-size:14px;line-height:1.7;color:var(--text-muted)}

/* ---------- page scaffolding ---------- */
.night{position:relative;background:var(--surface-night);color:var(--text-inverse);overflow:hidden}
.pghead{padding:176px var(--gutter) 84px}
.pghead .lede,.lede-inv{font-size:16px;line-height:1.7;color:var(--text-inverse-muted);max-width:54ch;margin:28px 0 0}
.pghead h1{max-width:16ch;font-size:clamp(44px,6.5vw,92px)}
.sec{padding:var(--space-10) var(--gutter)}
.sec-9{padding:var(--space-9) var(--gutter)}
.sec-8{padding:var(--space-8) var(--gutter)}
.paper-bg{background:var(--surface-page)}
.tint-bg{background:var(--surface-tint)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:56px}
.sec-head .side{font-size:15px;line-height:1.65;color:var(--text-muted);max-width:34ch;margin:0}
.link-label{font-size:11px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-body);display:inline-flex;gap:10px;align-items:center}
.arrow{display:inline-block;transition:transform .36s var(--ease-out),color .36s var(--ease-out)}
.rowhov:hover .arrow{transform:translateX(6px)}

/* hero */
.heropad{position:relative;max-width:var(--container);margin:0 auto;padding:186px var(--gutter) 0}
.hero-kicker{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,249,246,.72);margin:0 0 28px}
.hero-logo{position:absolute;right:-4%;top:8%;height:85%;width:auto;opacity:.14;pointer-events:none}
.hero-sub{font-size:17px;line-height:1.65;color:var(--text-inverse-muted);max-width:48ch;margin:0 0 40px}
.hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:80px}
.statrow{display:flex;gap:48px;flex-wrap:wrap;border-top:1px solid var(--border-hairline-inverse)}
.statrow>div{flex:1;min-width:120px;padding:26px 0}
.stat-num{font-family:var(--font-display);font-size:40px;line-height:1;color:var(--text-inverse)}
.stat-lbl{font-size:10px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-inverse-muted);margin-top:8px}

/* list rows */
.listrow{display:grid;gap:24px;align-items:baseline;padding:34px 0;border-top:1px solid var(--border-hairline);color:inherit;width:100%;text-align:left;background:none;border-left:0;border-right:0;border-bottom:0;cursor:pointer;font-family:inherit;font-size:inherit}
a.listrow{cursor:pointer}
.listrow .lbl{font-size:10px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}
.listrow .t-serif{font-family:var(--font-display);font-size:var(--display-md);letter-spacing:var(--tracking-display)}
.listrow .t-serif-sm{font-family:var(--font-display);font-size:var(--display-sm)}
.listrow .desc{font-size:15px;color:var(--text-muted)}
.prow{display:grid;gap:32px;align-items:baseline;padding:40px 0;border-top:1px solid var(--border-hairline)}
.prow .num{font-family:var(--font-display);font-size:40px;color:var(--text-faint)}
.prow .t{font-family:var(--font-display);font-size:var(--display-md)}
.prow p{margin:0;font-size:15px;line-height:1.7;color:var(--text-muted);max-width:56ch}
.prow-inv{border-top-color:var(--border-hairline-inverse)}
.prow-inv .num{color:rgba(250,249,246,.35)}
.prow-inv p{color:var(--text-inverse-muted);max-width:52ch}

/* grids */
.svcgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.split2{display:grid;grid-template-columns:1fr 1.3fr;gap:64px}
.numbers{display:grid;grid-template-columns:repeat(4,1fr)}
.numbers>div{padding:8px 32px}
.numbers>div+div{border-left:1px solid var(--border-hairline-inverse)}
.numbers .n{font-family:var(--font-display);font-size:56px;line-height:1;color:var(--text-inverse)}
.numbers .l{font-size:11px;font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-inverse-muted);margin-top:14px;line-height:1.8}

/* expandable (cases, faq) — no-JS: open; JS: collapsed unless .open */
.exp{overflow:hidden}
.js .exp{max-height:0;opacity:0;transition:max-height .7s var(--ease-out),opacity .5s var(--ease-out)}
.js .open>.exp{max-height:900px;opacity:1}
.exp-toggle .plus{font-family:var(--font-display);font-size:24px;color:var(--text-faint)}
.js .open .plus .off,.plus .on{display:none}
.js .open .plus .on{display:inline}
.case-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:36px}
.case-grid3 .eyebrow{margin-bottom:12px;font-size:10px}
.case-grid3 p{margin:0;font-size:14px;line-height:1.75;color:var(--text-muted)}
.mrow{display:flex;flex-wrap:wrap;border:1px solid var(--border-hairline);border-radius:var(--radius-sharp)}
.mrow>div{flex:1;min-width:140px;padding:22px 28px}
.mrow>div+div{border-left:1px solid var(--border-hairline)}
.mrow .v{font-family:var(--font-display);font-size:34px;line-height:1}
.mrow .l{font-size:9px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);margin-top:8px}
.filters{display:flex;gap:var(--space-6);border-bottom:1px solid var(--border-hairline-inverse);margin-top:44px}
.filters button{position:relative;border:0;background:none;cursor:pointer;padding:12px 2px 14px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-inverse-muted);transition:color var(--dur-med) var(--ease-out)}
.filters button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad-aurora);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-med) var(--ease-out)}
.filters button:hover{color:var(--text-inverse)}
.filters button[aria-selected="true"]{color:var(--text-inverse)}
.filters button[aria-selected="true"]::after{transform:scaleX(1)}
.no-js-hide{display:none}
.js .no-js-hide{display:flex}
.float-preview{position:fixed;left:0;top:0;z-index:60;pointer-events:none;width:230px;padding:30px 28px;background:var(--surface-night);border:1px solid var(--border-hairline-inverse);border-radius:var(--radius-sharp);box-shadow:var(--glow-aurora);opacity:0;transform:scale(.96);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}
.float-preview.show{opacity:1;transform:scale(1)}
.float-preview .dash{width:28px;height:1px;background:var(--grad-aurora);margin-bottom:18px}
.float-preview .code{font-family:var(--font-display);font-size:28px;color:var(--text-inverse);line-height:1.1}
.float-preview .cat{font-size:9px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-inverse-muted);margin-top:12px}

/* faq */
.faq-item{border-top:1px solid var(--border-hairline)}
.faq-q{display:flex;justify-content:space-between;align-items:baseline;gap:24px;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:26px 0;color:var(--text-body);font-family:inherit}
.faq-q .q{font-family:var(--font-display);font-size:22px}
.faq-a{margin:0;padding:0 0 26px;font-size:14px;line-height:1.75;color:var(--text-muted);max-width:60ch}

/* forms */
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-inverse-muted)}
.field .fwrap{position:relative}
.field .fwrap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--grad-aurora);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-med) var(--ease-out)}
.field .fwrap:focus-within::after{transform:scaleX(1)}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border-hairline-inverse);border-radius:0;padding:10px 0;font-family:var(--font-sans);font-size:var(--text-md);color:var(--text-inverse);outline:none}
.field input::placeholder,.field textarea::placeholder{color:rgba(250,249,246,.35)}
.field select{appearance:none;cursor:pointer;padding-right:24px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%23faf9f6" stroke-width="1.5"><path d="m6 9 6 6 6-6"/></svg>');background-repeat:no-repeat;background-position:right 2px center}
.field select option{color:var(--ink-900)}
.field.err input{border-bottom-color:var(--danger)}
.field .msg{font-size:var(--text-xs);color:var(--danger);display:none}
.field.err .msg{display:block}
.check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:var(--text-sm);color:var(--text-inverse);user-select:none}
.check input{position:absolute;opacity:0;width:0;height:0}
.check .box{width:18px;height:18px;flex:none;margin-top:2px;border:1px solid var(--border-hairline-inverse);border-radius:var(--radius-sharp);display:inline-flex;align-items:center;justify-content:center;background:transparent;transition:background var(--dur-fast) linear,border-color var(--dur-fast) linear}
.check .box svg{width:11px;height:11px;stroke:var(--ink-950);stroke-width:2.5;fill:none;opacity:0;transform:scale(.6);transition:opacity var(--dur-fast) linear,transform var(--dur-med) var(--ease-out)}
.check input:checked+.box{background:var(--paper);border-color:var(--paper)}
.check input:checked+.box svg{opacity:1;transform:scale(1)}
.check input:focus-visible+.box{outline:2px solid var(--focus-ring);outline-offset:2px}
.formcard{background:var(--surface-night-raised);border:1px solid var(--border-hairline-inverse);border-radius:var(--radius-sharp);padding:48px;display:flex;flex-direction:column;gap:24px}
.formcard .formnote{margin:0;font-size:13px;line-height:1.6;color:var(--text-inverse-muted)}
.form-ok{border:1px solid var(--border-hairline-inverse);border-radius:var(--radius-sharp);padding:32px;display:none}
.form-ok .okdot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block;margin-right:10px}
.form-err{margin:0;font-size:13px;color:var(--danger);display:none}
.hp{position:absolute!important;left:-9999px!important;opacity:0;pointer-events:none}
.contact-rows .row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--border-hairline-inverse);font-size:14px}
.contact-rows .row:last-child{border-bottom:1px solid var(--border-hairline-inverse)}
.contact-rows .k{font-size:10px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-inverse-muted);padding-top:3px}
.contact-rows a{color:var(--text-inverse)}
.contact-rows .v{color:var(--text-inverse-muted);text-align:right}

/* article */
.article{max-width:680px;margin:0 auto}
.article p{font-size:17px;line-height:1.85;color:var(--ink-700);margin:0 0 26px;text-wrap:pretty}
.article h2{font-family:var(--font-display);font-weight:400;font-size:28px;margin:44px 0 18px;letter-spacing:var(--tracking-display)}
.article .pull{font-family:var(--font-display);font-size:clamp(26px,3vw,36px);line-height:1.25;border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline);padding:32px 0;margin:40px 0;text-wrap:pretty;color:var(--text-body)}
.article ul{margin:0 0 26px;padding-left:22px}
.article li{font-size:17px;line-height:1.85;color:var(--ink-700);margin-bottom:8px}
.author-card{display:flex;gap:20px;align-items:center;border:1px solid var(--border-hairline);border-radius:var(--radius-sharp);padding:24px 28px;margin:48px 0 0;background:var(--surface-card)}
.author-card .avatar{width:44px;height:44px;border-radius:50%;flex:none;background:var(--surface-night);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:20px}
.author-card .role{font-size:14px;font-weight:600}
.author-card .bio{font-size:9px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);margin-top:4px}

/* legal */
.legal{max-width:720px;margin:0 auto}
.legal p,.legal li{font-size:15px;line-height:1.8;color:var(--ink-700)}
.legal h2{font-family:var(--font-display);font-weight:400;font-size:26px;margin:40px 0 14px}
.legal .updated{font-size:11px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}

/* journal featured */
.featured{display:block;color:inherit;border:1px solid var(--border-hairline);border-radius:var(--radius-sharp);background:var(--surface-card);box-shadow:var(--shadow-card);overflow:hidden}
.featured .cols{display:grid;grid-template-columns:1fr 1.3fr;gap:0}
.featnight{position:relative;background:var(--surface-night);min-height:280px;overflow:hidden}
.featnight .word{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-style:italic;font-size:clamp(44px,5vw,72px)}
.featpad{padding:56px 56px 48px}
.featpad h2{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,3.4vw,44px);line-height:1.08;margin:0 0 18px;letter-spacing:var(--tracking-display)}
.featpad .desc{margin:0 0 28px;font-size:15px;line-height:1.7;color:var(--text-muted);max-width:44ch}

/* quote */
.quote{max-width:900px;margin:0 auto;text-align:center}
.quote blockquote{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,4vw,48px);line-height:1.15;margin:0 0 32px;text-wrap:pretty}
.quote figcaption{font-size:11px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}

/* cta band */
.cta-band{padding:var(--space-10) var(--gutter);text-align:center}
.cta-band .inner{max-width:860px;margin:0 auto}
.cta-band p.sub{font-size:15px;line-height:1.7;color:var(--text-inverse-muted);max-width:48ch;margin:24px auto 36px}
.cta-band .note{font-size:10px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;margin-top:22px;color:var(--text-inverse-muted)}

/* footer */
.site-footer{background:var(--surface-night);border-top:1px solid var(--border-hairline-inverse);padding:72px var(--gutter) 0;color:var(--text-inverse);position:relative;overflow:hidden}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:64px}
.fgrid .about{font-size:13px;line-height:1.7;color:var(--text-inverse-muted);max-width:34ch;margin:20px 0 16px}
.fgrid .award{font-size:12px;line-height:1.6;margin:0 0 20px}
.fgrid .award a{color:var(--text-inverse-muted);border-bottom:1px solid var(--border-hairline-inverse)}
.fgrid .clock{font-size:10px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-inverse-muted);margin:0}
.fcol{display:flex;flex-direction:column;gap:12px;font-size:13px;color:var(--text-inverse-muted)}
.fcol .h{font-size:10px;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-inverse);margin-bottom:6px}
.fcol a{color:inherit}
.fcol a:hover{color:var(--text-inverse)}
.fbar{border-top:1px solid var(--border-hairline-inverse);padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11px;letter-spacing:var(--tracking-wide);color:var(--text-inverse-muted)}
.fmark{font-family:var(--font-display);font-size:clamp(90px,13.5vw,196px);line-height:.72;white-space:nowrap;text-align:center;background-image:linear-gradient(120deg,rgba(24,202,247,.35),rgba(72,40,168,.5) 49%,rgba(255,0,234,.35));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1px rgba(250,249,246,.14);margin-top:56px;user-select:none}

/* toast */
.toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%) translateY(12px);z-index:1100;display:inline-flex;align-items:center;gap:12px;background:var(--ink-950);color:var(--text-inverse);border-radius:var(--radius-pill);padding:12px 22px;font-size:var(--text-sm);font-weight:500;box-shadow:var(--shadow-raised);opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none}

/* 404 */
.err-hero{min-height:80vh;display:flex;align-items:center}

/* ---------- responsive ---------- */
@media (max-width:920px){
.navlinks{display:none}
.burger{display:flex}
.g3{grid-template-columns:1fr}
.fgrid{grid-template-columns:1fr 1fr}
.split2{grid-template-columns:1fr;gap:40px}
.numbers{grid-template-columns:1fr 1fr}
.numbers>div:nth-child(3){border-left:0}
.featured .cols{grid-template-columns:1fr}
}
@media (max-width:720px){
.listrow{grid-template-columns:1fr auto!important;row-gap:10px!important}
.listrow>*{order:2}
.listrow .lm{order:1;grid-column:1/-1}
.listrow .ld{order:4;grid-column:1/-1}
.prow{grid-template-columns:64px 1fr!important}
.prow>p{grid-column:1/-1}
.svcgrid{grid-template-columns:1fr}
.mrow{flex-direction:column}
.mrow>div+div{border-left:none;border-top:1px solid var(--border-hairline)}
.featnight{min-height:200px}
.featpad{padding:36px 24px 32px}
.formcard{padding:28px 22px}
.case-grid3{grid-template-columns:1fr;gap:24px}
.filters{gap:20px;overflow-x:auto}
}
@media (max-width:640px){
:root{--space-10:96px;--space-9:72px;--space-8:56px}
.pghead{padding:148px var(--gutter) 52px}
.heropad{padding:150px var(--gutter) 0}
.statrow{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.statrow>div{padding:18px 0}
.numbers{grid-template-columns:1fr}
.numbers>div{border-left:0!important;padding:14px 0}
.numbers .n{font-size:44px}
.fgrid{grid-template-columns:1fr;gap:32px}
.menu-overlay .biglink{font-size:clamp(34px,10vw,64px)}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.js .reveal,.js .stagger>*{opacity:1;transform:none;transition:none}
.js .mask-h .w{overflow:visible}
.js .mask-h .wi{transform:none;transition:none}
.aurora-anim,.drift-a,.drift-b{animation:none!important}
.ticker span{animation:none}
.float-preview{display:none}
.js .exp,.menu-overlay,.menu-overlay .biglink{transition:none}
}
