/* Archivo, SIL Open Font License 1.1 (assets/fonts/OFL.txt). Self-hosted, latin subset. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/archivo-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/archivo-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:800;font-display:swap;src:url("/assets/fonts/archivo-latin-800-normal.woff2") format("woff2")}

/* MKKH LABS tokens from the Modernist design system (red / white / ink). */
:root{
  --color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;--color-accent:#ec3013;
  --color-accent-600:#dd2b0f;--color-action:#dd2b0f;--color-action-hover:#ae1800;--color-action-active:#7c1405;--color-accent-700:#ae1800;--color-accent-800:#7c1405;
  --color-divider:#201e1d;--color-text-muted:#605d5d;
  --color-on-accent:#ffffff;--color-on-ink:#f3f2f2;--color-ink-muted:#bab6b6;
  --font-heading:"Archivo","Arial Black",Impact,system-ui,sans-serif;--font-body:"Archivo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --weight-display:800;--weight-body:400;--weight-strong:600;
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;
  --radius:0;--rule:2px;
  --text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.3125rem;--text-btn:1.2rem;
  --text-h2:clamp(2.25rem,5.5vw,4.5rem);--text-h1:clamp(2.25rem,8.2vw,8.5rem);--text-statement:clamp(2rem,6vw,6rem);--text-row:clamp(1.75rem,4.6vw,3.75rem);
  --leading-body:1.55;--leading-display:.92;--tracking-display:-.035em;--tracking-label:.12em;
  --page-gutter:clamp(1.25rem,4vw,2.5rem);--layout-max:90rem;--target-min:2.75rem;
  --focus-width:3px;--focus-offset:3px;--motion:.15s;
}

/* MKKH LABS v1.3.0, Modernist editorial. Consumes tokens.css. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem;-webkit-text-size-adjust:100%;color-scheme:light}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--color-accent);color:var(--color-on-accent)}
p,h1,h2,h3,ol,ul,dl,dd{margin:0;padding:0}
h1,h2,h3{font-family:var(--font-heading);font-weight:var(--weight-display);text-transform:uppercase;letter-spacing:var(--tracking-display);line-height:var(--leading-display);text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:.08em}
a:focus-visible{outline:var(--focus-width) solid var(--color-accent-700);outline-offset:var(--focus-offset)}
.field-ink a:focus-visible{outline-color:var(--color-on-ink)}
main:focus,section:focus{outline:none}
svg{display:block;flex:none;width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:2.5}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.frame{max-width:var(--layout-max);margin-inline:auto;padding-inline:var(--page-gutter)}
.skip-link{position:fixed;z-index:5;top:var(--space-3);left:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--color-text);color:var(--color-on-ink);transform:translateY(-200%)}
.skip-link:focus{transform:none}
.label{font-size:var(--text-sm);font-weight:var(--weight-strong);letter-spacing:var(--tracking-label);text-transform:uppercase}

/* Nav */
.nav{position:sticky;top:0;z-index:4;background:var(--color-bg);border-bottom:var(--rule) solid var(--color-divider)}
.nav-in{display:flex;align-items:center;gap:0 var(--space-6);min-height:4.5rem;padding-block:var(--space-1)}
.brand{display:flex;align-items:center;min-height:var(--target-min);margin-right:auto;font-family:var(--font-heading);font-weight:var(--weight-display);font-size:1.25rem;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.nav nav{display:flex;align-items:center;gap:0 var(--space-2)}
.nav-link{display:inline-flex;align-items:center;min-height:var(--target-min);padding-inline:var(--space-2);text-decoration:none;font-weight:var(--weight-strong)}
.nav-link:hover{color:var(--color-accent-700);text-decoration:underline}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--space-4);min-height:3.25rem;padding:var(--space-3) var(--space-6);background:var(--color-action);color:var(--color-on-accent);font-family:var(--font-heading);font-weight:var(--weight-display);font-size:var(--text-btn);line-height:1.2;text-decoration:none;border-radius:var(--radius);transition:background var(--motion)}
.btn:hover{background:var(--color-action-hover)}
.btn:active{background:var(--color-action-active)}
.btn-sm{min-height:var(--target-min);padding:var(--space-2) var(--space-4);font-size:1.0625rem;white-space:nowrap}
.text-link{display:inline-flex;align-items:center;min-height:var(--target-min);font-weight:var(--weight-strong);text-decoration:underline}
.text-link:hover{color:var(--color-accent-700)}

/* Hero */
.hero{padding-block:var(--space-16) var(--space-16)}
.kick{color:var(--color-accent-700);margin-bottom:var(--space-6)}
.hero h1{font-size:var(--text-h1);max-width:16ch}
.hero-foot{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--space-8) var(--space-12);align-items:end;margin-top:var(--space-12);padding-top:var(--space-6);border-top:var(--rule) solid var(--color-divider)}
.hero-foot p{font-size:var(--text-lg);max-width:36rem}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6)}

/* Statement */
.statement{background:var(--color-accent);color:var(--color-on-accent);padding-block:clamp(2.5rem,5vw,4rem)}
.statement p{font-family:var(--font-heading);font-weight:var(--weight-display);text-transform:uppercase;font-size:var(--text-statement);line-height:.95;letter-spacing:var(--tracking-display);max-width:20ch;text-wrap:balance}

/* Section heads */
h2{font-size:var(--text-h2)}
.head{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:var(--space-4) var(--space-12);margin-bottom:var(--space-8)}
.head p{color:var(--color-text-muted);max-width:24rem;font-size:var(--text-lg);line-height:1.4}

/* Fit */
.fit{padding-block:var(--space-16) 0}
.fit-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:var(--rule) solid var(--color-divider);border-bottom:var(--rule) solid var(--color-divider)}
.fit-grid li{display:grid;align-content:start;gap:var(--space-3);padding:var(--space-8) var(--space-6);border-right:var(--rule) solid var(--color-divider)}
.fit-grid li:first-child{padding-left:0}.fit-grid li:last-child{border-right:0;padding-right:0}
.fit-grid h3{font-size:var(--text-lg);line-height:1.2;text-transform:none;letter-spacing:normal}
.fit-grid p{color:var(--color-text-muted)}

/* Capabilities */
.capabilities{padding-block:var(--space-16)}
.row{border-top:var(--rule) solid var(--color-divider)}
.row:last-of-type{border-bottom:var(--rule) solid var(--color-divider)}
.row-head{display:grid;grid-template-columns:4rem minmax(0,1fr);align-items:center;gap:var(--space-4);padding-block:var(--space-6)}
.row h3{font-size:var(--text-row)}
.num{color:var(--color-accent-700)}
.row-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-6) var(--space-12);padding:0 0 var(--space-8) calc(4rem + var(--space-4))}
.row-body p{font-size:var(--text-lg);max-width:34rem}
.row-body ul,.leave ul{list-style:none;display:grid;gap:var(--space-2)}
.row-body ul{font-weight:var(--weight-strong)}
.row-body li,.leave li{display:flex;gap:var(--space-3)}
.row-body li::before,.leave li::before{content:"";width:.6rem;height:.6rem;margin-top:.55rem;background:var(--color-accent);flex:none}
.stack{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-8);color:var(--color-text-muted);max-width:60rem}
.stack .label{color:var(--color-text)}

/* Approach */
.approach{padding-bottom:var(--space-16)}
.approach h2{max-width:14ch;margin-bottom:var(--space-8)}
.approach ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--rule) solid var(--color-divider);border-bottom:var(--rule) solid var(--color-divider)}
.approach ol>li{display:grid;align-content:start;gap:var(--space-4);padding:var(--space-8) var(--space-6);border-right:var(--rule) solid var(--color-divider)}
.approach ol>li:first-child{padding-left:0}.approach ol>li:last-child{border-right:0;padding-right:0}
.approach ol h3{font-size:var(--text-lg);line-height:1.2;text-transform:none;letter-spacing:normal}
.approach ol>li p{max-width:30ch;color:var(--color-text-muted)}
.leave{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:var(--space-6) var(--space-12);padding-top:var(--space-8)}
.leave h3{letter-spacing:var(--tracking-label);line-height:1.4;color:var(--color-accent-700)}
.leave ul{gap:var(--space-4);font-size:var(--text-lg);line-height:1.4}
.leave strong{font-weight:var(--weight-strong)}
.leave li{display:block;position:relative;padding-left:1.35rem}
.leave li::before{position:absolute;left:0;top:.45rem;margin:0}

/* About (ink) */
.field-ink{background:var(--color-text);color:var(--color-on-ink)}
.about{padding-block:var(--space-16)}
.about-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--space-8) var(--space-12);align-items:start}
.about h2{max-width:10ch}
.about-side{display:grid;gap:var(--space-4);font-size:var(--text-lg);max-width:40rem}
.about-side p{color:var(--color-ink-muted)}
.about-side .lead{color:var(--color-on-ink);font-size:clamp(1.375rem,2.4vw,1.875rem);line-height:1.3;font-weight:var(--weight-strong)}
.about-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6)}
.about-links a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);color:var(--color-on-ink);font-weight:var(--weight-strong)}
.field-ink a:hover{color:#fff}

/* FAQ */
.faq{padding-block:var(--space-16)}
.faq h2{margin-bottom:var(--space-8)}
.faq dl{border-top:var(--rule) solid var(--color-divider)}
.faq dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--space-4) var(--space-12);padding-block:var(--space-6);border-bottom:var(--rule) solid var(--color-divider)}
.faq dt{font-family:var(--font-heading);font-weight:var(--weight-display);font-size:var(--text-lg);line-height:1.2}
.faq dd{font-size:var(--text-lg);max-width:40rem}
.faq dd a{color:var(--color-accent-700);font-weight:var(--weight-strong)}
.faq dd a:hover{color:var(--color-accent-800)}

/* Contact (ink) */
.contact{padding-block:var(--space-16)}
.contact-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--space-12);align-items:start}
.contact h2{font-size:var(--text-h1);max-width:8ch;position:sticky;top:6.5rem}
.contact-side{display:grid;gap:var(--space-4);justify-items:start;width:100%}
.contact-side>p:first-child{font-size:var(--text-lg);color:var(--color-ink-muted);max-width:36rem}
.small{font-size:var(--text-sm);color:var(--color-ink-muted)}
.contact-side .small a{color:var(--color-on-ink)}
.tally{display:block;width:100%;height:900px;border:0;background:var(--color-bg)}

/* Footer */
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-6);padding-block:var(--space-6)}
.foot a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);text-decoration:none}
.foot a:hover{color:var(--color-accent-700);text-decoration:underline}

/* Responsive */
@media(max-width:1100px){.fit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fit-grid li:nth-child(2){border-right:0;padding-right:0}.fit-grid li:nth-child(3){padding-left:0}.fit-grid li:nth-child(-n+2){border-bottom:var(--rule) solid var(--color-divider)}}
@media(max-width:900px){.hero-foot,.contact-in,.about-in,.leave{grid-template-columns:minmax(0,1fr)}.contact-in{gap:var(--space-8)}.contact h2{position:static}}
@media(max-width:760px){.nav-link{display:none}}
@media(max-width:700px){
.hero{padding-block:var(--space-8) var(--space-12)}.contact,.capabilities,.about,.faq{padding-block:var(--space-12)}.fit{padding-top:var(--space-12)}
.fit-grid{grid-template-columns:minmax(0,1fr)}
.fit-grid li,.fit-grid li:first-child,.fit-grid li:last-child,.fit-grid li:nth-child(2),.fit-grid li:nth-child(3){border-right:0;border-bottom:var(--rule) solid var(--color-divider);padding:var(--space-6) 0}.fit-grid li:last-child{border-bottom:0}
.row-head{grid-template-columns:2.25rem minmax(0,1fr);gap:var(--space-2)}
.row-body{grid-template-columns:minmax(0,1fr);padding:0 0 var(--space-8)}
.approach ol{grid-template-columns:minmax(0,1fr)}
.approach ol>li,.approach ol>li:first-child,.approach ol>li:last-child{border-right:0;border-bottom:var(--rule) solid var(--color-divider);padding:var(--space-6) 0}.approach ol>li:last-child{border-bottom:0}
.faq dl>div{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}
.tally{height:1020px}}
@media(max-width:420px){.row h3{font-size:clamp(1.5rem,7.4vw,1.75rem)}.brand{font-size:1.0625rem}.btn-sm{padding-inline:var(--space-3);font-size:1rem;gap:var(--space-2)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{.nav,.skip-link,.tally,.cta-row,.statement{display:none}.field-ink{background:#fff;color:#000}}
