@font-face{font-family:"Space Grotesk";src:url("/fonts/rebuild/space-grotesk.woff2") format("woff2");font-display:swap;font-weight:400 700}
@font-face{font-family:"IBM Plex Sans";src:url("/fonts/rebuild/ibm-plex-sans.woff2") format("woff2");font-display:swap;font-weight:400 700}
@font-face{font-family:"JetBrains Mono";src:url("/fonts/rebuild/jetbrains-mono.woff2") format("woff2");font-display:swap;font-weight:400 700}

html{scroll-padding-top:88px}
body[data-interior]{background:var(--color-bg);font-family:"IBM Plex Sans",var(--font-sans);font-size:clamp(17px,1.1vw,18px);line-height:1.68}
body[data-interior] .container{max-width:var(--rebuild-max);padding-inline:var(--rebuild-gutter)}
body[data-interior] :is(h1,h2,h3,.brand,.section-title,.case__title){font-family:"Space Grotesk",var(--font-display)}
body[data-interior] :is(.eyebrow,.num,.chip,.badge,.form__note,.case__meta,.link-mono){font-family:"JetBrains Mono",var(--font-mono)}
body[data-interior] :is(.prose,.lead,.supporting){font-size:clamp(1rem,.96rem + .18vw,1.125rem)}
body[data-interior] .prose{max-width:70ch;line-height:1.75}
body[data-interior] .section{padding-block:clamp(54px,8vw,108px)}
body[data-interior] .section-title,body[data-interior] .case__title{font-size:clamp(2.45rem,6vw,5.6rem);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
body[data-interior] .case__section h2{font-size:clamp(1.8rem,3.5vw,3.1rem);line-height:1.05;letter-spacing:-.035em;text-wrap:balance}
body[data-interior] .case__section{padding-block:clamp(36px,6vw,76px);border-top:1px solid var(--color-border)}
body[data-interior] .case__header{padding:clamp(8px,2vw,24px) 0 clamp(32px,6vw,72px)}
body[data-interior] .case__header .lead{max-width:62ch}
body[data-interior] main{min-height:65vh}
body[data-interior] a{text-underline-offset:.18em}
body[data-interior] .prose a{text-decoration:underline;text-decoration-thickness:1px}
body[data-interior] :focus-visible{outline:3px solid var(--signal-cyan);outline-offset:4px}
body[data-interior] :is(section[id],h2[id],h3[id]){scroll-margin-top:96px}

.site-header{background:rgba(5,7,10,.93);border-bottom:1px solid rgba(255,255,255,.09);color:#e8ebf0}
.site-header.is-scrolled{background:rgba(5,7,10,.97);border-bottom-color:rgba(119,245,255,.25)}
.site-header .nav{min-height:72px;padding-block:12px}
.site-header .brand,.site-header .nav-links a{color:#e8ebf0}
.site-header .brand::before{background:var(--signal-cyan);box-shadow:0 0 18px rgba(119,245,255,.7)}
.site-header .nav-links{gap:clamp(15px,2vw,28px)}
.site-header .nav-links a:not(.btn){font-family:"JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}
.site-header .nav-links a[aria-current]{color:var(--signal-cyan)}
.site-header .nav-links a:not(.btn)::after{background:var(--signal-cyan)}
#motion-toggle{position:fixed;right:clamp(12px,2vw,28px);bottom:clamp(12px,2vw,24px);z-index:90;min-height:44px;padding:.55rem .8rem;border:1px solid rgba(119,245,255,.35);border-radius:6px;background:rgba(5,7,10,.94);color:#e8ebf0;font:600 .75rem/1 "JetBrains Mono",monospace;box-shadow:0 10px 36px rgba(0,0,0,.35);cursor:pointer}
#motion-toggle:hover{border-color:var(--signal-cyan)}
.site-footer{background:#05070a;color:#e8ebf0;border-top-color:rgba(255,255,255,.12)}
.site-footer a,.site-footer .brand{color:#e8ebf0}
.site-footer nav{display:flex;flex-wrap:wrap;gap:10px 22px;max-width:560px}
.site-footer nav a{font:500 .78rem/1.4 "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.04em}
/* 44px targets: header and footer wordmark, footer links. */
:is(.site-header,.site-footer) .brand{min-height:44px}
.site-footer nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}


body[data-kind="work-index"] main{background:radial-gradient(circle at 75% 7%,rgba(41,255,131,.14),transparent 30%),linear-gradient(#031109 0 30rem,#05070a 50rem)}
body[data-kind="work-index"] .cap-head{position:relative;min-height:clamp(300px,42vw,500px);align-items:end;padding:clamp(42px,7vw,90px);margin-inline:calc(var(--rebuild-gutter) * -1);overflow:hidden;border:1px solid rgba(41,255,131,.28);background:linear-gradient(120deg,rgba(3,17,9,.96),rgba(5,7,10,.82)),url('/images/ai-pipeline/hero.webp') center/cover}
body[data-kind="work-index"] .cap-head::before{content:"010101  BUILD / VERIFY / SHIP  010101\A101101  WORK DIRECTORY  101101";white-space:pre;position:absolute;inset:0;padding:22px;color:rgba(41,255,131,.13);font:700 clamp(.75rem,1.1vw,.9rem)/2 "JetBrains Mono",monospace;letter-spacing:.16em;pointer-events:none;mask-image:linear-gradient(90deg,#000,transparent 70%)}
body[data-kind="work-index"] .cap-head>*{position:relative;z-index:1}
body[data-kind="work-index"] .cap-head .eyebrow,body[data-kind="work-index"] .work-group__label{color:var(--matrix-green)}
body[data-kind="work-index"] .work-grid{gap:clamp(22px,3vw,38px)}
body[data-kind="work-index"] .work-card{background:linear-gradient(145deg,rgba(12,16,22,.98),rgba(3,17,9,.78));border-color:rgba(41,255,131,.18);overflow:hidden}
body[data-kind="work-index"] .work-card__media{aspect-ratio:16/9;overflow:hidden}
body[data-kind="work-index"] .work-card__media img{width:100%;height:100%;object-fit:cover;transition:scale .55s ease}
.interior-motion body[data-kind="work-index"] .work-card:hover .work-card__media img{scale:1.025}
body[data-kind="work-index"] .filter-btn{min-height:44px}

body[data-kind="case"]{--case-accent:var(--matrix-green);--case-line:color-mix(in srgb,var(--case-accent) 28%,transparent);--case-panel:#0a0c0f;--case-panel-2:#0f1216}
body[data-kind="case"] .site-header .nav-links a[aria-current],body[data-kind="case"] .eyebrow,body[data-kind="case"] .link-mono{color:var(--case-accent)}
body[data-kind="case"] main{background:#07080a}
body[data-kind="case"] .case__header{position:relative;padding-top:clamp(24px,6vw,80px)}
body[data-kind="case"] .case__header::after{content:"CASE / EVIDENCE / LIMITS";display:block;margin-top:28px;color:color-mix(in srgb,var(--case-accent) 60%,transparent);font:500 .75rem/1 "JetBrains Mono",monospace;letter-spacing:.18em}
body[data-kind="case"] .case__figure,body[data-kind="case"] .interior-hero-media{border:1px solid var(--case-line);background:var(--case-panel);box-shadow:0 30px 90px rgba(0,0,0,.34)}
body[data-kind="case"] .case__figure img,body[data-kind="case"] .interior-hero-media video{width:100%;aspect-ratio:16/8.6;object-fit:cover}
body[data-kind="case"] .case__figure figcaption,body[data-kind="case"] .interior-hero-media figcaption{padding:12px 16px;color:#aeb7b0;font:.75rem/1.5 "JetBrains Mono",monospace;border-top:1px solid var(--case-line)}
body[data-kind="case"] .case__table-wrap{border-color:var(--case-line)}
body[data-kind="case"] .case__section{display:grid;grid-template-columns:minmax(150px,.36fr) minmax(0,1fr);gap:clamp(22px,5vw,76px)}
body[data-kind="case"] .case__section>.eyebrow{grid-column:1}
body[data-kind="case"] .case__section>h2{grid-column:1;align-self:start}
body[data-kind="case"] .case__section>.prose,body[data-kind="case"] .case__section>:not(.eyebrow):not(h2){grid-column:2;grid-row:1/span 3}
/* ChampChase in its own colours: near-black, cherry red, gold (champchase.net). */
body[data-page="champchase"]{--case-accent:#f5c518;--cc-red:#dc2626;--case-line:rgba(220,38,38,.45);--case-panel:#0b0b0e;--case-panel-2:#111115}
body[data-page="champchase"] main{background:#09090b}
body[data-page="devgenome"]{--case-accent:#ffcf5a}
body[data-page="cityroamer"]{--case-accent:#7ca0ff}
body[data-page="iziwerk"],body[data-page="iziwerk-app"]{--case-accent:#e0a34e}

.pipeline-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 clamp(42px,7vw,90px);padding:10px;border:1px solid rgba(41,255,131,.3);background:#020604;box-shadow:0 0 70px rgba(41,255,131,.06)}
.pipeline-pane{position:relative;aspect-ratio:16/10;overflow:hidden;border:1px solid rgba(41,255,131,.2);background:#060a08}
.pipeline-pane :is(video,img){width:100%;height:100%;object-fit:cover;opacity:.78}
.pipeline-pane span{position:absolute;left:8px;bottom:7px;padding:4px 6px;background:rgba(2,6,4,.82);color:var(--matrix-green);font:600 .75rem/1 "JetBrains Mono",monospace;text-transform:uppercase}
.pipeline-core{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:#c7d0c9;font:500 .75rem/1.5 "JetBrains Mono",monospace;text-align:center}
.pipeline-core b{color:var(--matrix-green)}

body[data-kind="service-index"],body[data-kind="service"],body[data-kind="about"],body[data-kind="contact"]{--interior-accent:var(--signal-cyan)}
body[data-kind="service-index"] main,body[data-kind="service"] main,body[data-kind="contact"] main{background:radial-gradient(circle at 76% 2%,rgba(119,245,255,.12),transparent 26%),#05070a}
body[data-kind="service-index"] .eyebrow,body[data-kind="service"] .eyebrow,body[data-kind="contact"] .eyebrow{color:var(--signal-cyan)}
body[data-kind="service-index"] main>.section:first-child .container,body[data-kind="service"] main>.section:first-child .container{position:relative}
body[data-kind="service-index"] main>.section:first-child .container::before,body[data-kind="service"] main>.section:first-child .container::before{content:"AVAILABLE / RIGA + REMOTE";display:inline-flex;margin-bottom:22px;padding:6px 9px;border:1px solid rgba(119,245,255,.3);color:var(--signal-cyan);font:600 .75rem/1 "JetBrains Mono",monospace;letter-spacing:.08em}
body[data-kind="service-index"] .service,body[data-kind="service"] .cap{border-color:rgba(119,245,255,.18);background:linear-gradient(145deg,rgba(12,16,22,.98),rgba(5,16,20,.78))}
.system-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;margin:clamp(40px,7vw,82px) 0;padding:clamp(18px,3vw,32px);border:1px solid rgba(119,245,255,.28);background:rgba(5,16,20,.65)}
.system-flow__node{display:grid;align-content:center;min-height:150px;padding:20px;border:1px solid rgba(119,245,255,.2);background:#080d12}
.system-flow__node span{color:var(--signal-cyan);font:600 .75rem/1 "JetBrains Mono",monospace;text-transform:uppercase}
.system-flow__node strong{margin-top:10px;font:600 clamp(1rem,2vw,1.35rem)/1.2 "Space Grotesk",sans-serif}
.system-flow__arrow{align-self:center;color:var(--signal-cyan);font-size:1.4rem}

/* Paper palette scoped to main; header and footer stay dark. Paper links and focus use paper blue; primary buttons keep light blue. */
body:is([data-kind="article"],[data-kind="article-index"],[data-kind="note"],[data-kind="note-index"],[data-kind="privacy"]) main{--color-text:var(--paper-ink);--color-text-muted:var(--paper-body);--color-border:var(--paper-rule);--color-hair:var(--paper-rule);--color-surface:var(--paper-card);--color-bg:var(--paper);--color-accent:var(--paper-blue);--color-accent-hover:var(--paper-ink);--color-focus:var(--paper-blue)}
body:is([data-kind="article"],[data-kind="article-index"],[data-kind="note"],[data-kind="note-index"],[data-kind="privacy"]) main :is(.btn--primary,.button.primary){--color-accent:#7CA0FF;--color-accent-hover:#9CBAFF}
body:is([data-kind="article"],[data-kind="article-index"],[data-kind="note"],[data-kind="note-index"],[data-kind="privacy"]) main :focus-visible{outline-color:var(--paper-blue)}
body[data-kind="article"] main,body[data-kind="article-index"] main,body[data-kind="note"] main,body[data-kind="note-index"] main,body[data-kind="privacy"] main{background:var(--paper);color:var(--paper-ink)}
body[data-kind="article"] .site-header,body[data-kind="article-index"] .site-header,body[data-kind="note"] .site-header,body[data-kind="note-index"] .site-header,body[data-kind="privacy"] .site-header{--color-border:rgba(255,255,255,.12)}
body[data-kind="article"] .section--alt,body[data-kind="article-index"] .section--alt,body[data-kind="note"] .section--alt,body[data-kind="note-index"] .section--alt{background:#ebe6d9}
body[data-kind="article"] .eyebrow,body[data-kind="article-index"] .eyebrow{color:var(--paper-blue)}
body[data-kind="note"] .eyebrow,body[data-kind="note-index"] .eyebrow{color:var(--paper-green)}
body[data-kind="article"] .case__header,body[data-kind="note"] .case__header{max-width:850px;border-left:4px solid currentColor;padding-left:clamp(18px,3vw,38px)}
body[data-kind="article"] .case__section,body[data-kind="note"] .case__section{max-width:980px;margin-inline:auto}
body[data-kind="article"] .case__section .prose,body[data-kind="note"] .case__section .prose{max-width:72ch}
body[data-kind="article"] .case__table-wrap,body[data-kind="note"] .case__table-wrap{background:var(--paper-card);border:1px solid var(--paper-rule);box-shadow:0 15px 40px rgba(34,30,22,.06)}
body[data-kind="article"] .case__table :is(th,td),body[data-kind="note"] .case__table :is(th,td){color:var(--paper-body);border-color:var(--paper-rule)}
body[data-kind="article-index"] .cap-head,body[data-kind="note-index"] .cap-head{margin-inline:calc(var(--rebuild-gutter) * -1);padding:clamp(36px,6vw,72px) var(--rebuild-gutter);background:#090d12;color:#e8ebf0;border-bottom:3px solid var(--paper-blue)}
body[data-kind="note-index"] .cap-head{border-bottom-color:var(--paper-green)}
body[data-kind="article-index"] .cap-head .section-title,body[data-kind="note-index"] .cap-head .section-title{color:#e8ebf0}
body[data-kind="article-index"] .cap-head .supporting,body[data-kind="note-index"] .cap-head .supporting{color:#bdc5d2}
body[data-kind="article-index"] .service-list,body[data-kind="note-index"] .service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--paper-rule)}
body[data-kind="article-index"] .service,body[data-kind="note-index"] .service{padding:clamp(22px,4vw,42px);border-right:1px solid var(--paper-rule);border-bottom:1px solid var(--paper-rule);background:rgba(255,255,255,.35)}
body[data-kind="article-index"] .service:last-of-type:nth-of-type(odd),body[data-kind="note-index"] .service:last-of-type:nth-of-type(odd){grid-column:1/-1}
body[data-kind="article-index"] .service h2,body[data-kind="note-index"] .service h2{font-size:clamp(1.25rem,2.5vw,1.8rem);line-height:1.12}
body[data-kind="article-index"] .service h2 a,body[data-kind="note-index"] .service h2 a{text-decoration:none}
body[data-kind="article-index"] .form__note,body[data-kind="note-index"] .form__note{color:var(--paper-muted)}
body[data-kind="privacy"] main>.section>.container{max-width:900px}
body[data-kind="privacy"] main>.section>.container>div{max-width:72ch!important;margin-inline:auto;padding:clamp(28px,5vw,68px);background:var(--paper-card);border:1px solid var(--paper-rule);box-shadow:0 30px 90px rgba(34,30,22,.08)}

.event-chain{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:clamp(32px,5vw,64px) 0;background:var(--paper-rule);border:1px solid var(--paper-rule)}
.event-chain__step{position:relative;padding:22px;background:var(--paper-card)}
.event-chain__step span{display:block;color:var(--paper-green);font:700 .75rem/1 "JetBrains Mono",monospace;text-transform:uppercase}
.event-chain__step strong{display:block;margin-top:10px;font:600 1rem/1.25 "Space Grotesk",sans-serif}
.event-chain__step.is-limit{background:#fff3ef}
.event-chain__step.is-limit span{color:var(--paper-red)}

.evidence-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:clamp(28px,5vw,58px) 0;background:var(--paper-rule);border:1px solid var(--paper-rule)}
.evidence-strip__cell{padding:clamp(20px,3vw,34px);background:var(--paper-card)}
.evidence-strip__cell span{display:block;margin-bottom:8px;font:700 .75rem/1 "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.08em}
.evidence-strip__cell strong{display:block;font:600 clamp(1.15rem,2.4vw,1.8rem)/1.15 "Space Grotesk",sans-serif}
.evidence-strip__cell.is-bad span{color:var(--paper-red)}
.evidence-strip__cell.is-good span{color:var(--paper-green)}
.timing-rail{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,2vw,20px);margin:clamp(28px,5vw,58px) 0}
.timing-rail__run{padding:clamp(22px,4vw,40px);border:1px solid var(--paper-rule);background:var(--paper-card)}
.timing-rail__run span{display:block;color:var(--paper-muted);font:700 .75rem/1 "JetBrains Mono",monospace;text-transform:uppercase}
.timing-rail__run strong{display:block;margin-top:8px;font:700 clamp(2.2rem,6vw,5.2rem)/.95 "Space Grotesk",sans-serif;letter-spacing:-.055em}
.timing-rail__run.is-fast strong{color:var(--paper-green)}
.specimen-diff{margin:clamp(28px,5vw,58px) 0;border:1px solid var(--paper-rule);background:#171a1f;color:#edf0f4;font:500 .78rem/1.7 "JetBrains Mono",monospace;overflow:hidden}
.specimen-diff div{display:grid;grid-template-columns:8ch 1fr;gap:16px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1)}
.specimen-diff div:last-child{border-bottom:0}.specimen-diff span{color:#aeb7c4}.specimen-diff .refused{color:#ffb4a2}.specimen-diff .accepted{color:#8de6a5}
.audio-timing{position:relative;margin:clamp(28px,5vw,58px) 0;padding:28px;border:1px solid var(--paper-rule);background:repeating-linear-gradient(90deg,var(--paper-card) 0,var(--paper-card) calc(10% - 1px),var(--paper-rule) calc(10% - 1px),var(--paper-rule) 10%)}
.audio-timing__track{position:relative;height:54px;background:linear-gradient(90deg,transparent 0 1.7%,var(--paper-green) 1.7% 3.4%,rgba(45,139,91,.18) 3.4% 100%)}
.audio-timing__track::before{content:"impact ~5 ms";position:absolute;top:15px;left:4%;color:var(--paper-green);font:700 .75rem/1 "JetBrains Mono",monospace}
.audio-timing__labels{display:flex;justify-content:space-between;margin-top:10px;color:var(--paper-muted);font:600 .75rem/1 "JetBrains Mono",monospace}
.service-cut{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,3vw,28px);margin:clamp(28px,5vw,58px) 0}
.service-cut__list{padding:clamp(20px,3vw,32px);border:1px solid var(--paper-rule);background:var(--paper-card)}
.service-cut__list h2{margin:0 0 14px;font-size:1.15rem}.service-cut__list ul{margin:0;padding-left:1.2rem}.service-cut__list li+li{margin-top:7px}
.service-cut__list.is-before li:nth-child(n+5){color:var(--paper-red);text-decoration:line-through;text-decoration-thickness:1px}
.service-cut__list.is-after{border-color:rgba(45,139,91,.45)}.service-cut__list.is-after h2{color:var(--paper-green)}

body[data-kind="about"] main{background:#08090b}
body[data-kind="about"] .eyebrow{color:#f2bc69}
body[data-kind="about"] .about__grid{gap:clamp(30px,7vw,100px);align-items:center}
body[data-kind="about"] .portrait__frame{border:1px solid var(--color-border);background:#0b0c0f;box-shadow:0 30px 80px rgba(0,0,0,.35)}
body[data-kind="about"] .portrait__img{aspect-ratio:4/5;object-fit:cover}
body[data-kind="about"] .section--alt{background:#0b0c0f;border-color:var(--color-border)}

body[data-kind="contact"] .contact-grid{gap:clamp(32px,7vw,96px)}
body[data-kind="contact"] .form{position:relative;border:1px solid rgba(119,245,255,.28);background:linear-gradient(145deg,rgba(12,16,22,.98),rgba(5,16,20,.85));box-shadow:0 30px 90px rgba(0,0,0,.35)}
body[data-kind="contact"] .form__to{display:block;margin:0 0 24px;color:var(--signal-cyan);font:600 .75rem/1 "JetBrains Mono",monospace;letter-spacing:.12em}
body[data-kind="contact"] :is(input,textarea,select){min-height:48px}

body[data-kind="notfound"] main{background:radial-gradient(circle at 50% 40%,rgba(119,245,255,.11),transparent 34%),#05070a}
body[data-kind="notfound"] .notfound{min-height:70vh;display:grid;place-content:center;text-align:center}
body[data-kind="notfound"] .notfound::before{content:"ERR_PATH_NOT_FOUND";margin-bottom:16px;color:var(--signal-cyan);font:700 .75rem/1 "JetBrains Mono",monospace;letter-spacing:.15em}
body[data-kind="notfound"] .notfound h1{font-size:clamp(2.6rem,8vw,6.8rem);letter-spacing:-.055em}

@media(max-width:820px){
  .site-header .nav-links{background:#080b10;border-bottom-color:rgba(119,245,255,.22)}
  .site-header .nav-links a:not(.btn){color:#e8ebf0}
  body[data-kind="case"] .case__section{display:block}
  body[data-kind="case"] .case__section h2{margin-top:10px}
  body[data-kind="case"] .case__section .prose{margin-top:20px}
  .pipeline-wall{grid-template-columns:repeat(2,1fr)}
  .system-flow{grid-template-columns:1fr}
  .system-flow__arrow{transform:rotate(90deg);justify-self:center}
  body[data-kind="article-index"] .service-list,body[data-kind="note-index"] .service-list{grid-template-columns:1fr}
  .event-chain{grid-template-columns:1fr 1fr}
  .evidence-strip,.timing-rail,.service-cut{grid-template-columns:1fr}
}
@media(max-width:520px){
  body[data-interior] .section-title,body[data-interior] .case__title{font-size:clamp(2.35rem,13vw,4rem)}
  body[data-kind="work-index"] .cap-head{min-height:360px;padding:26px 18px}
  .pipeline-wall{grid-template-columns:1fr 1fr;gap:6px;padding:6px}
  .pipeline-pane span{font-size:.75rem}
  .event-chain{grid-template-columns:1fr}
}

/* 13 / Mobile menu: two-line icon that turns into an X, full-screen links. Without JS the links stay inline. */
.nav-toggle__bars{position:relative;display:block;width:22px;height:10px}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .34s var(--ease-out)}
.nav-toggle__bars::before{top:0}
.nav-toggle__bars::after{top:8px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(4px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-4px) rotate(-45deg)}
@media(max-width:820px){
  .site-header .nav-toggle{display:inline-grid;place-items:center;width:44px;height:44px;margin-right:-11px;padding:0;border:0;border-radius:50%;background:none;color:#e8ebf0;position:relative;z-index:2;cursor:pointer}
  .site-header .nav-toggle:focus-visible{outline-offset:0}
  .site-header .brand{position:relative;z-index:2}
  html.js .site-header .nav-links{position:fixed;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center;margin:0;padding:96px var(--rebuild-gutter) 56px;background:radial-gradient(circle at 80% 12%,rgba(119,245,255,.09),transparent 45%),#05070a;border:0;transform:none;counter-reset:nav}
  html.js .site-header .nav-links>li{display:block;border-bottom:1px solid rgba(255,255,255,.08);counter-increment:nav}
  html.js .site-header .nav-links>li:first-child{border-top:1px solid rgba(255,255,255,.08)}
  html.js .site-header .nav-links a:not(.btn){display:flex;align-items:baseline;gap:18px;padding:18px 0;margin:0;border:0;font:600 clamp(2rem,10vw,2.75rem)/1.05 "Space Grotesk",var(--font-display);letter-spacing:-.045em;text-transform:none;color:#e8ebf0}
  html.js .site-header .nav-links a:not(.btn)::before{content:"0" counter(nav);font:500 .75rem/1 "JetBrains Mono",var(--font-mono);letter-spacing:.08em;color:#8b94a6;transform:translateY(-.55em)}
  html.js .site-header .nav-links a[aria-current]:not(.btn){color:var(--signal-cyan)}
  html.menu-open{overflow:hidden}
  html:not(.js) .site-header .nav-toggle{display:none}
}

/* 14 / Phones: the motion control lives in the full-screen menu, under the links, not over the page. */
@media(max-width:820px){
  html.js #motion-toggle{display:none}
  html.js .site-header .nav-links{padding-bottom:96px}
  html.js.menu-open #motion-toggle:not([hidden]){display:flex;align-items:center;gap:10px;left:var(--rebuild-gutter);right:auto;bottom:24px;z-index:calc(var(--z-header) + 1);min-height:44px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#8b94a6;font:500 .75rem/1 "JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
  html.js.menu-open #motion-toggle::before{content:"";flex:none;box-sizing:border-box;width:7px;height:9px;border-left:2px solid currentColor;border-right:2px solid currentColor}
  html.js.menu-open #motion-toggle[aria-pressed="true"]::before{width:0;height:0;border-right:0;border-left:7px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}
}

/* 15 / Wide tables: edge shadows mark hidden columns; on phones labelled rows stack. */
body[data-interior] .case__table-wrap{--table-bg:#05070a;--table-shade:rgba(232,235,240,.16);background:linear-gradient(90deg,var(--table-bg) 30%,rgba(0,0,0,0)) left/40px 100% no-repeat local,linear-gradient(270deg,var(--table-bg) 30%,rgba(0,0,0,0)) right/40px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,var(--table-shade),rgba(0,0,0,0)) left/16px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,var(--table-shade),rgba(0,0,0,0)) right/16px 100% no-repeat scroll var(--table-bg)}
body:is([data-kind="article"],[data-kind="note"]) .case__table-wrap{--table-bg:var(--paper-card);--table-shade:rgba(22,24,29,.22)}
@media(max-width:560px){
  .case__table.is-labelled{min-width:0}
  .case__table.is-labelled thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .case__table.is-labelled :is(tbody,tr,td){display:block}
  .case__table.is-labelled tr{padding:18px 16px;border-bottom:1px solid var(--color-border)}
  .case__table.is-labelled tbody tr:last-child{border-bottom:0}
  .case__table.is-labelled td{padding:0;border:0;text-align:left;white-space:normal}
  .case__table.is-labelled td:first-child{color:var(--color-text);font-weight:600}
  .case__table.is-labelled td+td{margin-top:12px}
  .case__table.is-labelled td+td::before{content:attr(data-label);display:block;margin-bottom:3px;font:500 .75rem/1.5 "JetBrains Mono",var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}
}
/* 16 / Motion support: the intro's first frame, reading progress, drawn diagram parts. */
html.motion-boot :is(main h1,body[data-kind="contact"] .form,.cover-stage,.report-plate,.delivery-map,.remote-specimen,.redesign-specimen,.origin-portrait,.loop-cover,.service-showcase){visibility:hidden}
.read-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--signal-cyan);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
body[data-kind="case"] .read-progress{background:var(--case-accent)}
.report-contents a.is-current{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35em}
.timing-rail__run::after{transform:scaleX(var(--bar,1))}

/* 17 / Page transitions between inner pages: the browser's own cross-document transition,
   no script on the navigation path. Browsers without it simply navigate. */
@view-transition{navigation:auto}
.site-header{view-transition-name:site-header}
::view-transition-group(site-header){animation:none}
::view-transition-old(root){animation:vt-out .2s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:vt-in .42s cubic-bezier(.16,1,.3,1) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(14px)}}
html:not(.motion-ok)::view-transition-old(root),html:not(.motion-ok)::view-transition-new(root){animation:none}
@media(prefers-reduced-motion:reduce){
  html:not([data-motion-preference="on"]),html:not([data-motion-preference="on"]) *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
html[data-motion-preference="off"] *,html[data-motion-preference="off"] *::before,html[data-motion-preference="off"] *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
@media print{
  .site-header,.site-footer,#motion-toggle,.skip-link{display:none!important}
  body[data-interior],body[data-interior] main{background:#fff!important;color:#111!important;font-size:11pt}
  body[data-interior] .container{max-width:none;padding:0}
  body[data-interior] :is(.section,.case__section){padding:12pt 0;break-inside:avoid}
  body[data-interior] a{color:#111!important;text-decoration:underline}
  body[data-interior] a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt}
  video{display:none!important}
}

/* 18 / Page signatures: what each page's own motion needs. Every static value is the finished state. */
body[data-page="champchase"] .stat{position:relative}
body[data-page="champchase"] .stat::after{content:"";position:absolute;left:20px;right:20px;bottom:10px;height:4px;background:var(--cc-red);box-shadow:0 0 12px rgba(220,38,38,.6);transform:scaleX(var(--hp,1));transform-origin:0 50%}
.fight-specimen{position:relative}
.hit-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}
.junction-line,.remote-cities i{position:relative}
.pulse-dot{position:absolute;top:50%;left:0;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor;pointer-events:none}
.junction-line .pulse-dot{color:var(--matrix-green)}.remote-cities .pulse-dot{color:var(--signal-cyan)}
body[data-page="devgenome"] .cover-stage .case__figure{position:relative;overflow:hidden}
.site-scroll{position:absolute;inset:0;overflow:hidden;background:var(--color-term)}
.site-scroll img{display:block;width:100%;height:auto}
@media(max-width:560px){.case__gallery:not(.case__gallery--wide){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.play-strip{margin:36px 0 0}
.play-strip ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.play-strip video{display:block;width:100%;height:auto;aspect-ratio:432/936;object-fit:cover;border:1px solid var(--color-amber-border);border-radius:14px;background:var(--color-term)}
.play-strip li span{display:block;margin-top:10px;font:.75rem/1.5 "JetBrains Mono",monospace;color:var(--color-text-muted)}
.play-strip figcaption{margin-top:14px;font:.75rem/1.5 "JetBrains Mono",monospace;color:var(--color-text-muted)}
.page-spread{margin:32px 0 0}
.page-spread li{position:relative}
.page-spread ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.page-spread img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;border:1px solid var(--color-border);box-shadow:0 10px 26px rgba(0,0,0,.28)}
.page-spread figcaption{margin-top:12px;font:.75rem/1.5 "JetBrains Mono",monospace;color:var(--color-text-muted)}
body[data-page="custom-software"] .trust__list li{position:relative;padding-left:48px}
body[data-page="custom-software"] .trust__list li::before{content:"\2713";position:absolute;left:20px;top:19px;color:var(--color-success);font:700 .95rem/1 "JetBrains Mono",monospace;transform:scale(var(--tick,1))}
.origin-portrait{position:relative}
.origin-portrait .darkroom-neg{position:absolute;top:0;left:0;width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 0;filter:grayscale(1) brightness(.4) contrast(1.2)}
.origin-portrait img:not(.darkroom-neg){position:relative;z-index:1}
.origin-story{position:relative}
.origin-story::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--color-warning);transform:scaleX(var(--line,1));transform-origin:0 50%}
body[data-kind="note"] .case__section>h2{position:relative}
body[data-kind="note"] .case__section>h2::after{content:"";position:absolute;inset:.08em -.12em;background:var(--paper-ink);transform:scaleX(var(--redact,0));transform-origin:100% 50%;pointer-events:none}
body[data-kind="article"] .case__section>h2::after{content:"";display:block;width:56px;height:2px;margin-top:14px;background:var(--paper-ink);transform:scaleX(var(--ink,1));transform-origin:0 50%}
body[data-page="iziwerk"] .case__section>h2::after{content:"";display:block;width:72px;height:3px;margin-top:14px;background:var(--color-warning);transform:scaleX(var(--sweep,1));transform-origin:0 50%}
.nf-prompt{margin:0;font:600 .9rem/1.6 "JetBrains Mono",monospace;color:var(--signal-cyan);text-align:left}
.nf-prompt .nf-error{display:block;color:var(--color-error)}
@media(max-width:820px){
  .page-spread ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .play-strip ol{gap:8px}.play-strip video{border-radius:8px}
}
