/* Self hosted fonts, latin subset. No third party request, same faces everywhere. */
@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/newsreader-latin-opsz-400.woff2) format("woff2-variations"),url(/assets/fonts/newsreader-latin-opsz-400.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

/* Naxfront Ltd, site stylesheet
   Paper and ink. Structure by hairline rules, never by cards.
   One dark block on the whole site: the escrow artefact. */

:root{
  --paper:#F4F1EA; --paper-deep:#E4DFD3; --ink:#14181D; --ink-deep:#0D1014; --ink-rise:#1D232A;
  --text:#2E353D; --muted:#5F6771; --on-ink:#E7E4DE; --on-ink-muted:#9AA0A8; --on-ink-faint:#7C8590;
  --amber:#FFD400; --gold:#6A5300;
  --rule:rgba(20,24,29,.15); --sect:rgba(20,24,29,.30); --term:rgba(20,24,29,.58); --rule-ink:rgba(231,228,222,.15);
  --ok:#2F6B4F; --err:#96341F;
  --disp:Newsreader,"Iowan Old Style",Georgia,serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --gutter:72px; --max:1440px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;overflow-x:hidden;font-optical-sizing:auto;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--gold)}
h1,h2,h3,h4{margin:0;font-family:var(--disp);font-weight:400;color:var(--ink)}
p{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber);color:var(--ink);padding:10px 14px;font-family:var(--mono);font-size:12px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.on-ink .eyebrow{color:var(--amber)}
.dek{font-family:var(--disp);font-size:25px;line-height:1.35;color:var(--text)}
.lede{font-size:16.5px;line-height:1.6;color:var(--muted)}
.num{font-family:var(--mono);font-size:12.5px;color:var(--gold);padding-top:10px}
.on-ink .num{color:var(--amber)}
.link{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:14.5px;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:5px;min-height:24px}
.link svg{stroke:var(--gold)}
.link:hover{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;background:var(--amber);color:var(--ink);padding:12px 20px;border:0;cursor:pointer;min-height:44px;transition:background .15s}
.btn:hover{background:#E8C000;color:var(--ink)}
.btn[disabled]{background:rgba(20,24,29,.12);color:var(--muted);cursor:default}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:15.5px;font-weight:600;color:var(--text);border:1px solid rgba(20,24,29,.25);padding:12px 18px;min-height:44px}

/* sections */
.section{padding:58px 0 66px;border-top:1px solid var(--sect)}
.section.hero{border-top:0;padding:92px 0 62px}
.section.first{border-top:0}
.on-ink{background:var(--ink);color:var(--on-ink)}
.on-ink h1,.on-ink h2,.on-ink h3{color:var(--on-ink)}
.on-ink .dek{color:var(--on-ink)}
.on-ink .lede,.on-ink .muted{color:var(--on-ink-muted)}
.head{margin-bottom:44px}
.head .eyebrow{grid-column:span 4}
.head .dek{grid-column:5 / span 6}

/* rows: the structural unit of the whole site */
.rows{display:flex;flex-direction:column}
.rows::after{content:"";border-top:1px solid var(--rule)}
.on-ink .rows::after{border-color:var(--rule-ink)}
.row{padding:28px 0;border-top:1px solid var(--rule)}
.on-ink .row{border-color:var(--rule-ink)}
.row .num{grid-column:span 1}
.row .t{grid-column:2 / span 7;font-family:var(--disp);font-size:32px;line-height:1.18;letter-spacing:-.01em;color:var(--ink)}
.on-ink .row .t{color:var(--on-ink)}
.row .d{grid-column:10 / span 3;font-size:14.5px;line-height:1.6;color:var(--muted);padding-top:9px}
.row.terr{padding:34px 0}
.row.terr .t{grid-column:2 / span 4;font-size:33px;line-height:1.14;letter-spacing:-.012em}
.row.terr .d{grid-column:7 / span 4;font-size:15.5px;line-height:1.62;padding-top:8px}
.row.terr .s{grid-column:11 / span 2;font-family:var(--mono);font-size:11.5px;line-height:1.85;color:var(--gold);padding-top:11px}
.row.svc{padding:24px 0}
.row.svc .t{grid-column:2 / span 3;font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.4}
.row.svc .d{grid-column:6 / span 7;font-size:15.5px;padding-top:0}

/* nav */
.nav{background:var(--paper);border-bottom:1px solid var(--rule);position:relative;z-index:20}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:26px;padding-bottom:26px}
.brand{display:flex;align-items:center;gap:13px;color:var(--text)}
.brand svg{flex-shrink:0}
.brand span{font-family:var(--disp);font-size:25px;letter-spacing:.04em;text-transform:uppercase}
.brand:hover{color:var(--text)}
.menu{display:flex;align-items:center;gap:34px;font-size:14.5px;font-weight:500}
.menu a{color:var(--muted)}
.menu a:hover{color:var(--text)}
.menu a[aria-current="page"]{color:var(--text);border-bottom:1px solid var(--gold);padding-bottom:3px}
.menu .btn{padding:10px 17px;min-height:0}
.burger{display:none;width:44px;height:44px;background:none;border:0;align-items:center;justify-content:flex-end;cursor:pointer;padding:0}
.burger svg{stroke:var(--text)}
.mobile-menu{display:none}

/* hero */
.hero h1{font-size:clamp(64px,5.7vw,82px);line-height:1.02;letter-spacing:-.022em;text-wrap:pretty}
.hero .grid>.h{grid-column:span 8}
.hero .grid>.side{grid-column:9 / span 4;align-self:end;padding-bottom:10px}
.hero .eyebrow{margin-bottom:34px}
.hero .side .lede{margin-bottom:30px}
.hero .ways .btn{display:none}
.hero.sub h1{font-size:clamp(54px,4.75vw,68px);line-height:1.03}
.hero.sub .grid>.side{padding-bottom:8px}
.strip{margin-top:96px;padding:20px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;color:var(--muted);line-height:2}

/* artefact */
.artefact{padding:58px 0 64px}
.artefact .top{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:40px}
.artefact pre{margin:0;font-family:var(--mono);font-size:15px;line-height:2.05;letter-spacing:.01em;color:var(--on-ink);white-space:pre;overflow:hidden}
.artefact .flow-m{display:none}
.artefact .note{margin-top:36px;padding-top:22px;border-top:1px solid var(--rule-ink);font-size:15.5px;line-height:1.6;color:var(--on-ink-muted);max-width:66ch}

/* work entries */
.case{padding:40px 0;border-top:1px solid var(--rule)}
.case .txt{grid-column:span 5}
.case .img{grid-column:7 / span 6}
.case .kind{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.case h3{font-size:38px;line-height:1.1;letter-spacing:-.015em;margin-bottom:14px}
.case .desc{font-size:15.5px;line-height:1.62;color:var(--muted);margin-bottom:20px}
.case .stack{font-family:var(--mono);font-size:12px;color:var(--muted)}
.case .link{margin-top:22px}
.case img{border:1px solid var(--rule)}
.case .cap{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-top:11px}

/* work page long entries */
.entry{padding:58px 0 66px;border-top:1px solid var(--sect)}
.entry .hd{margin-bottom:34px}
.entry .hd .l{grid-column:span 6}
.entry .hd .r{grid-column:8 / span 5;align-self:end;padding-bottom:6px}
.entry h2{font-size:56px;line-height:1.02;letter-spacing:-.022em}
.entry .kind{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.entry .url{font-family:var(--mono);font-size:12px;color:var(--gold);margin-top:14px}
.entry img{border:1px solid var(--rule);margin-bottom:12px}
.entry.compact img{width:62%}
.entry .stack{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-bottom:34px}
.beat{padding:22px 0;border-top:1px solid var(--rule)}
.beat .k{grid-column:span 3;font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);padding-top:4px}
.beat .v{grid-column:4 / span 9;font-size:16px;line-height:1.62;color:var(--muted)}

/* case study page */
.cs-hero{padding:84px 0 52px}
.cs-hero .grid>.h{grid-column:span 8}
.cs-hero .grid>.side{grid-column:9 / span 4;align-self:end;padding-bottom:8px}
.cs-hero h1{font-size:clamp(58px,5.3vw,76px);line-height:1;letter-spacing:-.022em;margin-top:30px}
.cs-hero .sub{font-family:var(--disp);font-size:27px;line-height:1.32;color:var(--text);margin-top:26px;max-width:38ch}
.spec{display:flex;flex-direction:column;gap:7px;padding:16px 0;border-top:1px solid var(--rule)}
.spec b{font-size:14.5px;font-weight:600;color:var(--text)}
.spec span{font-family:var(--mono);font-size:12px;line-height:1.65;color:var(--muted)}
.cs-lead{padding:0 0 52px}
.cs-lead img{border:1px solid var(--rule)}
.cs-lead .cap{display:flex;justify-content:space-between;gap:24px;font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-top:11px}
.cs-lead .cap em{font-style:normal;color:var(--gold)}
.cs-sec{padding:54px 0 60px;border-top:1px solid var(--sect)}
.cs-sec .t{grid-column:2 / span 4;font-family:var(--disp);font-size:32px;line-height:1.14;letter-spacing:-.015em;color:var(--ink)}
.cs-sec .b{grid-column:7 / span 6;font-size:16.5px;line-height:1.62;color:var(--muted);padding-top:6px}
.cs-sec figure{margin:34px 0 0;grid-column:2 / span 11}
.cs-sec figure img{border:1px solid var(--rule)}
.cs-sec figcaption{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-top:11px}
.cs-next{padding:54px 0 62px;border-top:1px solid var(--sect)}
.cs-next .l{grid-column:span 5;font-family:var(--disp);font-size:34px;line-height:1.12;letter-spacing:-.018em}
.cs-next .r{grid-column:7 / span 6}
.cs-next .r .kind{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.cs-next .r a{font-family:var(--disp);font-size:34px;line-height:1.1;letter-spacing:-.018em;color:var(--ink)}
.rules{padding:62px 0 68px}
.rules .row .t{grid-column:2 / span 5;font-size:26px;line-height:1.18}
.rules .row .d{grid-column:8 / span 5;font-size:15px;padding-top:5px}

/* about */
.founder{padding:58px 0 66px}
.founder .l{grid-column:span 4}
.founder .r{grid-column:6 / span 6}
.founder h2{font-size:40px;line-height:1.08;letter-spacing:-.015em;margin-top:22px}
.founder .role{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:12px}
.founder .pull{font-family:var(--disp);font-size:25px;line-height:1.42;color:var(--text);margin-bottom:26px}
.founder p+p{margin-top:18px}
.founder .r p{font-size:16.5px;line-height:1.68;color:var(--muted)}
.founder .link{margin-top:28px}
.howcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 40px}
.howcols>div{padding:22px 0 8px;border-top:2px solid rgba(20,24,29,.55)}
.howcols .num{padding:0;margin-bottom:14px;font-size:11.5px}
.howcols h3{font-size:23px;line-height:1.2;margin-bottom:12px}
.howcols p{font-size:14.5px;line-height:1.6;color:var(--muted)}
.toolkit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px}
.toolkit>div{display:flex;flex-direction:column;gap:8px;padding:20px 0;border-top:1px solid var(--rule)}
.toolkit b{font-size:15px;font-weight:600;color:var(--text)}
.toolkit span{font-family:var(--mono);font-size:12.5px;line-height:1.7;color:var(--muted)}
.facts .row{padding:20px 0}
.facts .row .k{grid-column:span 3;font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);padding-top:4px}
.facts .row .v{grid-column:4 / span 8;font-size:16px;line-height:1.6;color:var(--text)}
.elsewhere a{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-top:1px solid var(--rule);font-size:16px;color:var(--text);flex-wrap:wrap}
.elsewhere a span{font-family:var(--mono);font-size:12.5px;color:var(--gold);overflow-wrap:anywhere}
.elsewhere::after{content:"";display:block;border-top:1px solid var(--rule)}

/* contact */
.contact{padding:30px 0 74px}
.contact .form{grid-column:span 7;display:flex;flex-direction:column;gap:24px}
.contact .aside{grid-column:9 / span 4}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.fld{display:flex;flex-direction:column;gap:9px}
.fld label{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.fld input,.fld textarea,.fld select{width:100%;font:inherit;font-size:15.5px;color:var(--text);background:#fff;border:1px solid rgba(20,24,29,.25);padding:0 16px;height:52px;border-radius:0;-webkit-appearance:none}
.fld textarea{height:132px;padding:14px 16px;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.fld.bad label{color:var(--err)}
.fld.bad input,.fld.bad textarea{border-color:var(--err)}
.fld .msg{font-size:13px;color:var(--err);display:none}
.fld.bad .msg{display:block}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips label{display:inline-flex;align-items:center;min-height:44px;font-family:var(--sans);font-size:14px;padding:0 15px;border:1px solid rgba(20,24,29,.25);color:var(--muted);cursor:pointer;letter-spacing:0;text-transform:none}
.chips input{position:absolute;opacity:0;width:0;height:0}
.chips input:checked+span{color:var(--gold)}
.chips label:has(input:checked){border-color:var(--gold);color:var(--gold)}
.chips label:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.submit{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.submit .hint{font-size:14px;color:var(--muted)}
.spin{width:9px;height:9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:none;animation:spin .8s linear infinite}
.btn.busy .spin{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.alert{border:1px solid var(--err);border-left-width:3px;background:#FBF3F0;padding:16px 18px;display:none}
.alert b{display:block;font-size:15px;color:var(--err);margin-bottom:5px}
.alert p{font-size:14.5px;line-height:1.6;color:var(--text)}
.alert.show{display:block}
.done{grid-column:span 7;align-self:start;border:1px solid var(--ok);border-left-width:3px;background:#F1F6F2;padding:26px 26px 28px;display:none}
.done .eyebrow{color:var(--ok);margin-bottom:14px}
.done h2{font-size:32px;line-height:1.12;letter-spacing:-.015em;margin-bottom:14px}
.done p{font-size:16px;line-height:1.62;color:var(--text);max-width:56ch}
.done .after{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);font-size:14.5px;color:var(--muted)}
.done.show{display:block}
.form.sent{display:none}
.aside>div{padding:22px 0;border-top:1px solid var(--rule)}
.aside>div:last-child{border-bottom:1px solid var(--rule)}
.aside .k{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.aside .v{font-size:16.5px;line-height:1.55;color:var(--text)}
.aside .v small{display:block;font-size:15px;line-height:1.62;color:var(--muted)}
.aside p{font-size:15px;line-height:1.62;color:var(--muted)}

/* footer */
.footer{background:var(--paper-deep);border-top:2px solid var(--term);padding:54px 0 44px}
.footer .cta{padding-bottom:40px;border-bottom:1px solid var(--rule)}
.footer .cta .l{grid-column:span 6}
.footer .cta .r{grid-column:8 / span 5;align-self:end}
.footer .cta h2{font-size:42px;line-height:1.08;letter-spacing:-.015em}
.footer .cta p{font-size:15.5px;line-height:1.55;color:var(--muted);margin-bottom:20px}
.footer .ways{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.footer .tel{font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;color:var(--text);border-bottom:1px solid var(--gold);padding-bottom:4px}
.footer .meta{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-top:24px;font-family:var(--mono);font-size:11.5px;line-height:1.9;color:var(--muted);letter-spacing:.03em}
.footer .meta .co{display:flex;align-items:center;gap:11px}
.footer .meta .r{text-align:right}
.footer .meta .r .gold{color:var(--gold)}
.footer.slim{padding:34px 0 40px;border-top:1px solid var(--rule)}
.footer.slim .meta{padding-top:0}

/* 404 */
.nf{padding:120px 0 100px}
.nf .h{grid-column:span 8}
.nf .side{grid-column:9 / span 4;align-self:end;display:flex;flex-direction:column}
.nf .side a{padding:14px 0;border-top:1px solid var(--rule);font-size:16px;font-weight:600;color:var(--text)}
.nf .side a:last-child{border-bottom:1px solid var(--rule)}

/* reveal, one gentle pass, respects reduced motion */
@media (prefers-reduced-motion:no-preference){
  html.js .rv{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
  html.js .rv.in{opacity:1;transform:none}
}

/* ---------- tablet ---------- */
@media (max-width:1099px){
  :root{--gutter:40px}
  .hero h1{font-size:60px}
  .hero.sub h1,.cs-hero h1{font-size:52px}
  .hero .grid>.h,.cs-hero .grid>.h{grid-column:span 12}
  .hero .grid>.side,.cs-hero .grid>.side{grid-column:span 12;padding-top:28px;padding-bottom:0}
  .head .eyebrow,.head .dek{grid-column:span 12}
  .head .dek{margin-top:12px}
  .row .t{grid-column:2 / span 10;font-size:27px}
  .row .d{grid-column:2 / span 10;padding-top:8px}
  .row.terr .t{grid-column:2 / span 10}
  .row.terr .d,.row.terr .s{grid-column:2 / span 10;padding-top:8px}
  .row.svc .t,.row.svc .d{grid-column:2 / span 10}
  .case .txt,.case .img{grid-column:span 12}
  .case .img{margin-top:22px}
  .entry .hd .l,.entry .hd .r{grid-column:span 12}
  .entry h2{font-size:44px}
  .entry.compact img{width:100%}
  .beat .k,.beat .v{grid-column:span 12}
  .cs-sec .t,.cs-sec .b{grid-column:2 / span 11}
  .cs-sec .b{padding-top:12px}
  .rules .row .t,.rules .row .d{grid-column:2 / span 10}
  .founder .l,.founder .r{grid-column:span 12}
  .founder .r{margin-top:26px}
  .howcols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .toolkit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts .row .k,.facts .row .v{grid-column:span 12}
  .contact .form,.contact .aside,.contact .done{grid-column:span 12}
  .contact .aside{margin-top:40px}
  .footer .cta .l,.footer .cta .r{grid-column:span 12}
  .footer .cta .r{margin-top:22px}
  .nf .h,.nf .side{grid-column:span 12}
  .nf .side{margin-top:34px}
  .cs-next .l,.cs-next .r{grid-column:span 12}
}

/* ---------- phone ---------- */
@media (max-width:699px){
  :root{--gutter:20px}
  body{font-size:15px}
  .nav .wrap{padding-top:18px;padding-bottom:18px}
  .brand span{font-size:20px}
  .brand svg{width:22px;height:22px}
  .menu{display:none}
  .burger{display:flex}
  .mobile-menu{display:none;position:fixed;inset:0;background:var(--paper);z-index:30;padding:0 20px 28px;flex-direction:column}
  .mobile-menu.open{display:flex}
  .mobile-menu .top{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--rule)}
  .mobile-menu nav{padding-top:26px}
  .mobile-menu nav a{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-top:1px solid var(--rule);font-family:var(--disp);font-size:32px;line-height:1.1;letter-spacing:-.015em;color:var(--text);min-height:44px}
  .mobile-menu nav a span{font-family:var(--mono);font-size:11px;color:var(--gold)}
  .mobile-menu nav::after{content:"";display:block;border-top:1px solid var(--rule)}
  .mobile-menu .ways{margin-top:32px;display:flex;flex-direction:column;gap:12px}
  .mobile-menu .ways a{display:flex;align-items:center;justify-content:center;min-height:52px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;border:1px solid rgba(20,24,29,.25);color:var(--text)}
  .mobile-menu .ways a.btn{border:0}
  .mobile-menu .foot{margin-top:auto;padding-top:18px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:10.5px;line-height:1.95;color:var(--muted);letter-spacing:.04em}
  body.menu-open{overflow:hidden}
  .section{padding:40px 0 44px}
  .section.hero{padding:44px 0 34px}
  .hero h1,.hero.sub h1,.cs-hero h1{font-size:44px;line-height:1.04}
  .hero .eyebrow{margin-bottom:22px}
  .hero .grid>.side{padding-top:22px}
  .hero .side .lede{margin-bottom:26px}
  .hero .ways{display:flex;flex-direction:column;gap:12px}
  .hero .ways .btn{display:inline-flex;width:100%;min-height:52px}
  .hero .ways .link{align-self:stretch;justify-content:center;min-height:52px;font-family:var(--sans);font-size:15.5px;color:var(--text);border:1px solid rgba(20,24,29,.25);padding:13px 18px}
  .hero .ways .link svg{display:none}
  .strip{margin-top:34px;padding:16px 0;font-size:10.5px;letter-spacing:.12em}
  .eyebrow{font-size:10.5px;letter-spacing:.14em}
  .dek{font-size:22px;line-height:1.32}
  .head{margin-bottom:12px}
  .grid{gap:0}
  .row{padding:24px 0}
  .row .num{grid-column:span 12;padding-top:0;margin-bottom:10px;font-size:12px}
  .row .t{grid-column:span 12;font-size:25px}
  .row .d{grid-column:span 12;padding-top:10px}
  .row.terr .t{font-size:27px}
  .row.terr .d,.row.terr .s{grid-column:span 12}
  .row.terr .s{padding-top:12px}
  .row.svc .t,.row.svc .d{grid-column:span 12}
  .row.svc .d{padding-top:8px}
  .artefact{padding:40px 0 44px}
  .artefact .top{flex-direction:column;gap:8px;margin-bottom:26px}
  .artefact pre{display:none}
  .artefact .flow-m{display:flex;flex-direction:column}
  .artefact .flow-m .n{font-family:var(--mono);font-size:13.5px;letter-spacing:.06em;color:var(--on-ink);font-weight:500}
  .artefact .flow-m .n.hot{color:var(--amber)}
  .artefact .flow-m .dn{height:18px;width:1px;border-left:1px solid rgba(231,228,222,.4);margin-left:1px}
  .artefact .flow-m .br{display:flex;align-items:center;gap:10px;margin:0 0 10px 2px}
  .artefact .flow-m .br i{width:16px;height:1px;background:rgba(231,228,222,.4)}
  .artefact .flow-m .br span{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--on-ink-muted)}
  .case{padding:26px 0}
  .case .txt,.case .img{grid-column:span 12}
  .case .img{order:-1;margin:0 0 16px}
  .case h3{font-size:30px}
  .case .link{min-height:44px}
  .entry{padding:40px 0 44px}
  .entry h2{font-size:36px}
  .cs-hero{padding:44px 0 30px}
  .cs-hero h1{margin-top:22px}
  .cs-hero .sub{font-size:21px}
  .cs-hero .grid>.side{padding-top:22px}
  .cs-lead{padding-bottom:34px}
  .cs-lead .cap{flex-direction:column;gap:4px}
  .cs-sec{padding:36px 0 40px}
  .cs-sec .t{grid-column:span 12;font-size:26px}
  .cs-sec .b{grid-column:span 12;padding-top:10px}
  .cs-sec figure{grid-column:span 12;margin-top:22px}
  .rules{padding:40px 0 44px}
  .rules .row .t,.rules .row .d{grid-column:span 12}
  .founder h2{font-size:32px}
  .founder .pull{font-size:21px}
  .howcols{grid-template-columns:1fr}
  .toolkit{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .contact{padding-bottom:44px}
  .submit{flex-direction:column;align-items:stretch}
  .submit .btn{width:100%;min-height:52px}
  .footer{padding:40px 0 32px}
  .footer .cta h2{font-size:32px}
  .footer .cta h2 br{display:none}
  .footer .ways{flex-direction:column;align-items:stretch}
  .footer .ways .btn{min-height:52px}
  .footer .ways .tel{text-align:center;border:1px solid rgba(20,24,29,.25);border-bottom:1px solid rgba(20,24,29,.25);padding:15px 18px}
  .footer .meta{flex-direction:column;gap:6px;padding-top:20px;font-size:11px;line-height:2}
  .footer .meta .r{text-align:left}
  .nf{padding:60px 0 50px}
}
