/* RENAS v4 theme — v3 design system (Instrument Sans / Martian Mono, white ground, #2B2BE8 signal, pill + radius + elevation) applied over Home.html layout. Loads AFTER site.css + components.css. */
:root{--paper:#FFFFFF;--paper-2:#F4F4F2;--paper-3:#EDEDEA;--ink:#0B0B0C;--ink-2:#141417;--ink-3:#1F1F23;--ink-45:rgba(11,11,12,.45);--grey:rgba(11,11,12,.6);--grey-2:#8E8E93;--line:rgba(11,11,12,.1);--line-2:rgba(11,11,12,.06);--line-d:rgba(255,255,255,.14);--line-d2:rgba(255,255,255,.07);--accent:#2B2BE8;--accent-d:#1F1FB8;--sans:"Instrument Sans",system-ui,sans-serif;--mono:"Martian Mono",ui-monospace,Menlo,monospace;--r-s:12px;--r-m:20px;--r-l:28px;--r-xl:40px;--el:0 1px 2px rgba(11,11,12,.05),0 10px 28px -16px rgba(11,11,12,.18);--el-2:0 1px 2px rgba(11,11,12,.06),0 24px 60px -28px rgba(11,11,12,.28)}
html{background:var(--ink);scrollbar-gutter:stable}
body{font-size:17px;line-height:1.5}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
/* type — v3 scale + weights */
.display{font-weight:500;font-size:clamp(38px,calc(5.8*var(--vw)),88px);line-height:1.02;letter-spacing:-.035em}
.h1{font-weight:500;font-size:clamp(30px,calc(4*var(--vw)),58px);line-height:1.05;letter-spacing:-.03em}
.h2{font-weight:500;font-size:clamp(30px,calc(3.6*var(--vw)),52px);line-height:1.06;letter-spacing:-.03em}
.h3{font-weight:500}
.lead{font-size:clamp(17px,calc(1.35*var(--vw)),20px);line-height:1.5}
.dim{color:var(--ink-45)}
.dark .dim,.hero .dim,.cta .dim{color:rgba(255,255,255,.45)}
/* labels — v3: lowercase-as-written, tracking 0, no dot */
.eyebrow{text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--ink-45)}
.eyebrow::before{display:none}
.dark .eyebrow,.hero .eyebrow{color:rgba(255,255,255,.45)}
.trust-label,.case-tag,.ct-head,.modal-sub,.bk-lab,.seo-lab,.ms-lab,.cm-label,.foot-col h4,.scroll-ind,.plat-when{text-transform:none;letter-spacing:0}
.nav-links a{text-transform:none;letter-spacing:.01em;font-size:12.5px}
.svc-arrow{text-transform:none;letter-spacing:0}
/* buttons already pill — recolor handled by tokens */
.btn:hover{color:#fff}
.btn.accent:hover{color:#fff}
/* nav */
.nav.scrolled{background:rgba(255,255,255,.86)}
.nav.menu-open{background:var(--paper)}
/* hero (stays dark full-viewport — v3 inverse surface) */
.hero-grad{background:radial-gradient(120% 80% at 80% 0%,rgba(43,43,232,.14),transparent 55%),linear-gradient(180deg,rgba(11,11,12,.2),rgba(11,11,12,.85))}
.hero-sub{color:rgba(255,255,255,.62)}
/* stats */
.stat-word{font-weight:500}
.stat-label{color:var(--grey)}
/* services grid — keep shared-border layout, v3 tone */
.svc-title{font-weight:500}
.svc:hover .svc-desc{color:rgba(255,255,255,.62)}
.svc:hover .svc-num{color:rgba(255,255,255,.5)}
.svc.tile .svc-desc{color:rgba(255,255,255,.62)}
.svc.tile:hover{background:var(--ink-2)}
/* chips — v3 tag: pill, tinted fill, no border */
.chip{background:var(--paper-2);border:1px solid transparent;color:var(--grey);letter-spacing:0}
.dark .chip,.svc.tile .chip{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7)}
/* platforms band */
.plat-name{font-weight:500}
/* cases — v3 card elevation + radius */
.case{border-radius:var(--r-l);box-shadow:var(--el);border:1px solid var(--line)}
.case:hover{box-shadow:var(--el-2)}
.case-title{font-weight:500}
.case-ships li::before{width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.5;top:.55em}
/* tools callout — v3 black inset container */
.case-tools{background:var(--ink);color:var(--paper);border-radius:var(--r-m);border-top:0;padding:20px 22px;margin-top:26px;gap:12px}
.ct-head{color:rgba(255,255,255,.55)}
.ct-name{color:#fff;font-weight:500}
.ct-desc{color:rgba(255,255,255,.66)}
/* process */
.pr-title{font-weight:500}
.pr-desc{color:rgba(255,255,255,.62)}
/* faq */
.faq-q h3{font-weight:500}
/* cta */
.cta-glow{background:radial-gradient(circle,rgba(43,43,232,.16),transparent 60%)}
.cta-sub{color:rgba(255,255,255,.62)}
/* footer */
.footer{background:var(--ink)}
.foot-huge{font-weight:500;opacity:.05}
.foot-tag{color:rgba(255,255,255,.55)}
.foot-col h4{color:rgba(255,255,255,.45)}
/* modals — v3 radius + pill controls */
.modal-panel{border-radius:var(--r-xl)}
.modal-x{border-radius:50%;border-color:var(--line)}
.modal-title{font-weight:500}
.modal-list li::before{width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.5;top:.55em}
.ms-num{font-weight:500;color:var(--accent)}
.bk-panel{border-radius:var(--r-xl)}
.bk-x{border-radius:50%}
.bk-title{font-weight:500}
.bk-chip{border-radius:100px;border:1px solid transparent;background:var(--paper-2)}
.bk-chip:hover{border-color:transparent;background:var(--paper-3)}
.bk-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.bk-form input,.bk-form textarea{border:1px solid transparent;background:var(--paper-2);border-radius:var(--r-s)}
.bk-form input:focus,.bk-form textarea:focus{border-color:var(--accent)}
/* cursor */
.cursor.big{background:rgba(43,43,232,.1);border-color:var(--accent)}
/* misc */
.quote{border-radius:var(--r-m)}
.cap-visual{border-radius:var(--r-l)}
/* ===== Concept-B specimen header + hero ===== */
:root{--sp-disp:"Anybody",system-ui,sans-serif;--sp-plate:"Bodoni Moda",Georgia,serif;--sp-rule:rgba(11,11,12,.22)}
.spnav{position:sticky;top:0;z-index:1000;background:var(--paper);border-bottom:1.5px solid var(--ink)}
.spnav-in{max-width:var(--maxw);margin:0 auto;display:flex;align-items:stretch;justify-content:space-between}
.spbrand{display:flex;align-items:center;gap:0;font-family:var(--sp-disp);font-weight:900;font-size:17px;letter-spacing:-.02em;font-variation-settings:"wdth" 130;padding:13px var(--gut);border-right:1px solid var(--sp-rule);color:var(--ink)}
.sdot{position:relative;display:inline-block}
.sdot sup{position:absolute;font-size:0;line-height:0;border:0;background:var(--sp-lime);border-radius:50%;width:11%;aspect-ratio:1;right:-3.5%;top:1%}
.spbrand .sdot sup{width:6px;height:6px;right:-2px;top:-2px}
.spnav-links{display:flex}
.spnav-links a{display:flex;align-items:center;padding:0 clamp(12px,calc(1.6*var(--vw)),24px);border-left:1px solid var(--sp-rule);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);transition:background .15s,color .15s}
.spnav-links a:hover{background:var(--accent);color:#fff}
.spnav-links a.b{background:var(--ink);color:var(--paper)}
.spnav-links a.b:hover{background:var(--accent);color:#fff}
.spburger{display:none;padding:0 var(--gut);border-left:1px solid var(--sp-rule);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.spmnav{display:none;border-top:1px solid var(--sp-rule)}
.spmnav a{display:block;padding:14px var(--gut);border-bottom:1px solid var(--sp-rule);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.spnav.open .spmnav{display:block}
@media (max-width:900px){.spnav-links{display:none}.spburger{display:block}}
.sphero{background:var(--paper);color:var(--ink);border-bottom:1.5px solid var(--ink);padding-block:clamp(26px,4vh,52px) clamp(30px,5vh,70px)}
.spec-bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:clamp(18px,3vh,34px)}
.spcap{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}
.spcap.i{color:var(--accent)}
.spcap.g{color:var(--grey)}
h1.sp{font-family:var(--sp-disp);font-size:clamp(36px,calc(7.4*var(--vw)),128px);line-height:.9;letter-spacing:-.042em;font-weight:900;text-wrap:balance;max-width:22ch;color:var(--ink);padding-block:clamp(20px,3.5vh,44px)}
h1.sp .w{display:inline-block;font-variation-settings:"wdth" 104}
h1.sp .w:nth-child(1){transition-delay:.02s}h1.sp .w:nth-child(2){transition-delay:.07s}h1.sp .w:nth-child(3){transition-delay:.12s}h1.sp .w:nth-child(4){transition-delay:.17s}h1.sp .w:nth-child(5){transition-delay:.22s}h1.sp .nb .w:nth-child(1){transition-delay:.27s}h1.sp .nb .w:nth-child(2){transition-delay:.32s}
h1.sp .w.k{color:var(--accent)}
h1.sp .nb{white-space:nowrap}
.sphero-b{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:clamp(16px,calc(3*var(--vw)),48px);align-items:end;margin-top:clamp(26px,4vh,50px);border-top:1px solid var(--sp-rule);padding-top:22px}
.sphero-sub{font-size:clamp(15px,calc(1.15*var(--vw)),18px);line-height:1.45;max-width:46ch}
.spaxis{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);line-height:1.7}
.spbtn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:16px 22px;transition:background .18s}
.spbtn:hover{background:var(--accent);color:#fff}
@media (max-width:860px){.sphero-b{grid-template-columns:1fr}}
/* what-we-do — one-thread band (ink ground + lime numerals) */
:root{--sp-ground:#F2F2F0;--sp-lime:#D6F84C;--sp-gap:clamp(56px,calc(9*var(--vw)),150px)}
.spteam{background:var(--sp-ground);border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding-block:clamp(48px,8vh,110px)}
.spteam-h{font-family:var(--sp-disp);font-weight:900;font-variation-settings:"wdth" 82;font-size:clamp(32px,calc(4.9*var(--vw)),84px);line-height:.94;letter-spacing:-.04em;margin-top:18px;text-wrap:balance;color:var(--ink);max-width:18ch}
.spteam-h .bl{color:var(--accent)}
.spteam-lead{font-size:clamp(15px,calc(1.2*var(--vw)),18.5px);line-height:1.5;color:rgba(11,11,12,.72);max-width:56ch;margin-top:22px}
.spteam .spcap.i{margin-bottom:0}
/* services — specimen standard */
.spsvc-sec{border-top:0;background:var(--paper)}
.spsvc-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:clamp(40px,6vh,72px)}
.spsvc-head .spteam-h{max-width:16ch}
.spsvc-link{font-family:var(--mono);font-size:12.5px;color:var(--ink);border-bottom:1px solid var(--sp-rule);padding-bottom:4px;transition:color .18s,border-color .18s}
.spsvc-link:hover{color:var(--accent);border-color:var(--accent)}
.spsvcs{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,calc(1.6*var(--vw)),22px)}
.spsvc{background:var(--sp-ground);border-radius:var(--r-l);padding:clamp(20px,calc(1.9*var(--vw)),28px) clamp(20px,calc(1.8*var(--vw)),28px) clamp(22px,calc(2*var(--vw)),30px);display:flex;flex-direction:column;color:var(--ink);transition:background .22s,transform .22s,box-shadow .22s}
.spsvc-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.spsvc .spnum{font-family:var(--mono);font-size:12px;color:#6E7B00;transition:color .22s}
.spsvc-go{font-size:15px;color:rgba(11,11,12,.3);transition:color .22s,transform .22s;display:inline-block}
.spsvc h3{font-family:var(--sp-disp);font-weight:800;font-variation-settings:"wdth" 76;font-size:clamp(21px,calc(1.7*var(--vw)),29px);line-height:.96;letter-spacing:-.025em;color:var(--ink);margin-top:clamp(24px,3.5vh,44px);transition:color .22s;text-wrap:balance}
.spsvc p{font-size:clamp(14px,calc(1.05*var(--vw)),16px);line-height:1.5;color:var(--grey);margin-top:12px;text-wrap:pretty;transition:color .22s;flex:1}
.spsvc-cta{font-family:var(--mono);font-size:12px;color:var(--ink);margin-top:clamp(20px,2.5vh,30px);border-bottom:1px solid var(--sp-rule);align-self:flex-start;padding-bottom:3px;transition:color .22s,border-color .22s}
.spsvc:hover{background:#0A0A0A;transform:translateY(-6px);box-shadow:0 18px 40px rgba(11,11,12,.18)}
.spsvc:hover .spnum{color:var(--sp-lime)}
.spsvc:hover .spsvc-go{color:var(--sp-lime);transform:translate(2px,-2px)}
.spsvc:hover h3{color:#fff}
.spsvc:hover p{color:rgba(255,255,255,.66)}
.spsvc:hover .spsvc-cta{color:var(--sp-lime);border-color:rgba(214,248,76,.4)}
.spsvc.ink{background:#0A0A0A}
.spsvc.ink .spnum{color:var(--sp-lime)}
.spsvc.ink .spsvc-go{color:rgba(255,255,255,.4)}
.spsvc.ink h3{color:#fff}
.spsvc.ink p{color:rgba(255,255,255,.66)}
.spsvc.ink .spsvc-cta{color:var(--sp-lime);border-color:rgba(214,248,76,.4)}
.spsvc.ink:hover{background:var(--accent)}
.spsvc.ink:hover .spnum,.spsvc.ink:hover .spsvc-cta{color:#fff;border-color:rgba(255,255,255,.4)}
@media (max-width:1080px){.spsvcs{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.spsvcs{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.spsvc:hover{transform:none}}
.modal-body > .modal-block.mb-full{grid-column:1/-1}
.modal-stats.ms-3{grid-template-columns:repeat(3,1fr)}
.modal-stats .ms-cta{align-self:end}
@media (max-width:820px){.modal-stats.ms-3{grid-template-columns:1fr 1fr}}
/* case cards — specimen */
.case{background:var(--sp-ground);border:0}
.case-media{border-right:1px solid var(--sp-rule)}
.case-tag{color:var(--accent);letter-spacing:.1em}
.case-title{font-family:var(--sp-disp);font-weight:800;font-variation-settings:"wdth" 76;font-size:clamp(26px,calc(2.4*var(--vw)),40px);line-height:.96;letter-spacing:-.03em}
.case-sum,.case-ships li,.ct-desc{font-size:15px}
.ct-name{color:#6E7B00}
.case-foot .alink{font-family:var(--mono);font-size:12.5px;text-transform:none;letter-spacing:0}
.chip{background:var(--paper);border-color:var(--sp-rule)}
.cases{gap:clamp(36px,5vh,64px)}
.case-sum{font-size:15.5px;line-height:1.6;color:rgba(11,11,12,.68);max-width:62ch;margin-top:18px}
.case-ships{margin-top:22px;margin-bottom:18px;gap:0}
.case-ships li{padding:8px 0 8px 24px;border-top:1px solid rgba(11,11,12,.1);line-height:1.5;color:rgba(11,11,12,.66)}
.case-ships li:first-child{border-top:0}
.case-ships li::before{width:7px;height:7px;border-radius:0;background:var(--sp-lime);opacity:1;top:15px}
.case-foot{margin-top:auto;border-top:1px solid rgba(11,11,12,.14)}
/* FAQ — specimen */
#faq{background:var(--sp-ground)}
#faq .faq{border-top:1.5px solid var(--ink)}
#faq .faq-item{border:0;border-bottom:1px solid var(--sp-rule);border-radius:0;background:none}
#faq .faq-q{display:flex;align-items:baseline;gap:clamp(14px,calc(1.6*var(--vw)),24px);width:100%;text-align:left;padding:clamp(20px,2.6vh,30px) 0}
#faq .faq-q .spnum{font-family:var(--mono);font-size:12px;color:#6E7B00}
#faq .faq-q h3{flex:1;font-family:var(--sp-disp);font-weight:800;font-variation-settings:"wdth" 76;font-size:clamp(20px,calc(1.9*var(--vw)),30px);line-height:1;letter-spacing:-.025em;color:var(--ink);transition:color .18s}
#faq .faq-q:hover h3{color:var(--accent)}
#faq .faq-a-inner{padding:0 0 26px calc(12px + clamp(14px,calc(1.6*var(--vw)),24px) + 1ch);max-width:60ch}
/* big CTA — specimen bookend */
.spcta{background:var(--paper);border-top:1.5px solid var(--ink);padding-block:clamp(48px,8vh,110px) clamp(52px,9vh,120px)}
.spcta .spec-bar{padding-bottom:clamp(22px,4vh,44px)}
.spcta-h{font-family:var(--sp-disp);font-weight:900;font-variation-settings:"wdth" 96;font-size:clamp(40px,calc(7*var(--vw)),120px);line-height:.9;letter-spacing:-.042em;color:var(--ink);text-wrap:balance;max-width:14ch}
.spcta-h .bl{color:var(--accent)}
.spcta-b{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:clamp(20px,calc(3*var(--vw)),56px);align-items:end;margin-top:clamp(30px,5vh,56px);border-top:1px solid var(--sp-rule);padding-top:26px}
.spcta-sub{font-size:clamp(15px,calc(1.2*var(--vw)),18.5px);line-height:1.5;color:rgba(11,11,12,.72);max-width:46ch}
.spcta-act{display:flex;align-items:center;gap:clamp(16px,calc(2*var(--vw)),30px);flex-wrap:wrap}
.spcta-mail{font-family:var(--mono);font-size:13px;color:var(--ink);border-bottom:1px solid var(--sp-rule);padding-bottom:4px;transition:color .18s,border-color .18s}
.spcta-mail:hover{color:var(--accent);border-color:var(--accent)}
@media (max-width:860px){.spcta-b{grid-template-columns:1fr}}
/* footer — specimen ledger */
.spfoot{background:#0A0A0A;color:#fff;--fr:rgba(255,255,255,.18)}
.spfoot-cta{border-bottom:1px solid var(--fr)}
.spfoot-cta-in{display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,calc(3*var(--vw)),56px);flex-wrap:wrap;padding-block:clamp(36px,6vh,68px)}
.spfoot-tag{font-size:clamp(15px,calc(1.2*var(--vw)),18.5px);line-height:1.5;color:rgba(255,255,255,.66);max-width:34ch}
.spfoot-mail{font-family:var(--sp-disp);font-weight:800;font-variation-settings:"wdth" 76;font-size:clamp(26px,calc(3.4*var(--vw)),54px);letter-spacing:-.03em;line-height:1;color:#fff;transition:color .18s}
.spfoot-mail .ar{color:var(--sp-lime);font-size:.7em}
.spfoot-mail:hover{color:var(--sp-lime)}
.spfoot-cols{border-bottom:1px solid var(--fr)}
.spfoot-cols-in{display:grid;grid-template-columns:repeat(4,1fr)}
.spfcol{padding:clamp(26px,3.5vh,44px) clamp(18px,calc(2*var(--vw)),32px) clamp(30px,4vh,52px) 0;border-left:1px solid var(--fr);padding-left:clamp(18px,calc(2*var(--vw)),32px)}
.spfcol:first-child{border-left:0;padding-left:0}
.spfcol-h{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-lime);margin-bottom:18px}
.spfcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.spfcol a{font-size:14px;color:rgba(255,255,255,.78);transition:color .15s}
.spfcol a:hover{color:var(--sp-lime)}
.spfaddr{font-family:var(--mono);font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.45)}
.spfoot-huge{font-family:var(--sp-disp);font-weight:900;font-variation-settings:"wdth" 118;font-size:clamp(88px,calc(19.5*var(--vw)),370px);line-height:.62;padding-top:.14em;letter-spacing:-.03em;text-align:center;color:#fff;overflow:hidden;user-select:none}

@media (max-width:900px){.spfoot-cols-in{grid-template-columns:1fr 1fr}.spfcol:nth-child(3){border-left:0;padding-left:0}.spfcol:nth-child(n+3){border-top:1px solid var(--fr)}}
@media (max-width:560px){.spfoot-cols-in{grid-template-columns:1fr}.spfcol{border-left:0;padding-left:0}.spfcol+.spfcol{border-top:1px solid var(--fr)}}
/* intro preloader — mavi stage, hero-locked headline, wordmark */
html.spintro-lock{overflow:hidden}
html.spintro-live .spheroB h1.sp{position:relative;z-index:4001;color:#fff}
html.spintro-live .spheroB h1.sp .w{opacity:0;transform:translateY(.45em);transition:transform .95s cubic-bezier(.16,1,.3,1) var(--d,0s),opacity .5s linear var(--d,0s)}
html.spintro-live .spheroB h1.sp .w.k{color:var(--sp-lime)}
html.spintro-live.spintro-run .spheroB h1.sp .w{opacity:1;transform:none}
html.spintro-live.spintro-out .spheroB h1.sp{color:var(--ink);transition:color .4s ease .45s}
html.spintro-live.spintro-out .spheroB h1.sp .w.k{color:var(--accent);transition:transform .95s cubic-bezier(.16,1,.3,1) var(--d,0s),opacity .5s linear var(--d,0s),color .4s ease .45s}
.spintro{position:fixed;inset:0;z-index:4000}
.spintro-panel{position:absolute;inset:0;background:var(--accent);overflow:hidden;clip-path:inset(-1px 0%);transition:clip-path 1s cubic-bezier(.76,0,.24,1)}
.spintro-line{position:absolute;top:0;left:0;height:2px;width:0;background:var(--sp-lime);transition:width 2s cubic-bezier(.16,1,.3,1) .15s}
.spintro.run .spintro-line{width:100%}
.spintro-mark{position:absolute;left:0;right:0;bottom:0;font-family:var(--sp-disp);font-weight:900;font-variation-settings:"wdth" 118;font-size:clamp(88px,calc(19.5*var(--vw)),370px);line-height:.62;padding-top:.14em;letter-spacing:-.03em;text-align:center;color:#fff;transform:translateY(108%);transition:transform 1.15s cubic-bezier(.16,1,.3,1) .5s}

.spintro.run .spintro-mark{transform:translateY(0)}
.spintro.out .spintro-panel{clip-path:inset(-1px 50.5%)}
/* variant B — header + hero */
.spnavB .spnav-links a .ln{font-family:var(--mono);font-size:10px;color:#6E7B00;margin-right:8px;letter-spacing:0;transition:color .15s}
.spnavB .spnav-links a:hover{background:#0A0A0A;color:var(--sp-lime)}
.spnavB .spnav-links a:hover .ln{color:var(--sp-lime)}
.spnavB .spnav-links a.b .bd{width:7px;height:7px;background:var(--sp-lime);margin-left:10px}
.spnavB .spnav-links a.b:hover{background:var(--accent);color:#fff}
.spheroB{border-bottom:1.5px solid var(--ink)}
.spheroB .spec-bar{padding-bottom:clamp(18px,3vh,34px)}
.spheroB-b{display:grid;grid-template-columns:minmax(0,1.35fr) auto auto;gap:clamp(20px,calc(3.5*var(--vw)),64px);align-items:stretch;margin-top:clamp(26px,4vh,50px);border-top:1px solid var(--sp-rule);border-bottom:1px solid var(--sp-rule)}
.spheroB-sub{font-size:clamp(15px,calc(1.15*var(--vw)),18px);line-height:1.45;max-width:46ch;padding-block:22px}
.spheroB-idx{display:flex;flex-direction:column;justify-content:center;gap:7px;border-left:1px solid var(--sp-rule);padding:22px clamp(16px,calc(2*var(--vw)),32px)}
.spheroB-idx p{font-family:var(--mono);font-size:12px;color:var(--ink);letter-spacing:.04em;text-transform:uppercase}
.spheroB-idx .ln{color:#6E7B00;margin-right:10px}
.spheroB-act{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;border-left:1px solid var(--sp-rule);padding:22px 0 22px clamp(16px,calc(2*var(--vw)),32px)}
@media (max-width:900px){.spheroB-b{grid-template-columns:1fr}.spheroB-idx,.spheroB-act{border-left:0;border-top:1px solid var(--sp-rule)}}

/* fluid-unit freeze: above 1440px nothing scales, content centers via --maxw */
:root{--vw:1vw}
@media (min-width:1440px){:root{--vw:14.4px}}
/* what-we-do — ledger cards */
.spcardsB{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--sp-rule);border:1px solid var(--sp-rule);margin-top:clamp(28px,5vh,54px)}
.spcardB{background:var(--sp-ground);padding:clamp(22px,calc(2*var(--vw)),30px) clamp(20px,calc(1.8*var(--vw)),28px) clamp(24px,calc(2.2*var(--vw)),32px);display:flex;flex-direction:column;transition:background .2s}
.spcardB:hover{background:var(--paper)}
.spcardB .spnum{font-family:var(--mono);font-size:12px;color:#6E7B00}
.spcardB h3{font-family:var(--sp-disp);font-weight:800;font-variation-settings:"wdth" 76;font-size:clamp(22px,calc(1.9*var(--vw)),32px);line-height:.94;letter-spacing:-.03em;color:var(--ink);margin-top:clamp(28px,6vh,60px)}
.spcardB p{font-size:clamp(14px,calc(1.05*var(--vw)),16px);line-height:1.5;color:var(--grey);margin-top:12px;text-wrap:pretty}
.spcardB.ink{background:#0A0A0A}
.spcardB.ink h3{color:#fff}
.spcardB.ink p{color:rgba(255,255,255,.66)}
.spcardB.ink .spnum{color:var(--sp-lime)}
@media (max-width:980px){.spcardsB{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.spcardsB{grid-template-columns:1fr}}
/* ==== services — ledger ==== */
.spsvcs.spsvcsB{gap:1px;background:var(--sp-rule);border:1px solid var(--sp-rule)}
.spsvc.svB{border-radius:0;background:var(--paper)}
.spsvc.svB:hover{transform:none;box-shadow:none;background:#0A0A0A}
.spsvc.svB.ink{background:#0A0A0A}
/* ledger modal — opened from variant B cards */
.modal.ledger .modal-panel{border-radius:0;border:1px solid var(--sp-rule);box-shadow:none}
.modal.ledger .modal-x{border-radius:0}


/* variant C — 3-up case grid */
.casesC{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,calc(1.8*var(--vw)),28px);margin-top:26px}
.caseC{background:var(--paper);border:1px solid var(--sp-rule);display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.22,.61,.36,1),border-color .35s}
.caseC:hover{transform:translateY(-5px);border-color:var(--ink)}
.caseC-shot{position:relative;aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid var(--sp-rule)}
.caseC-shot img{position:absolute;top:0;left:0;width:100%;height:auto;transition:top 1.1s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.22,.61,.36,1)}
.caseC:hover .caseC-shot img{top:100%;transform:translateY(-100%);transition:top 6.5s linear .25s,transform 6.5s linear .25s}
.caseC-body{padding:clamp(18px,calc(1.6*var(--vw)),26px);display:flex;flex-direction:column;flex:1}
.caseC-body .case-tag{margin-bottom:12px}
.caseC-t{font-family:var(--sp-disp);font-weight:800;font-variation-settings:"wdth" 76;font-size:clamp(19px,calc(1.55*var(--vw)),25px);line-height:1;letter-spacing:-.025em;color:var(--ink)}
.caseC-s{font-size:14.5px;line-height:1.55;color:rgba(11,11,12,.66);margin-top:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.caseC-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--sp-rule);margin-top:auto;padding-top:14px}
.caseC-s{margin-bottom:18px}
.caseC-more{font-family:var(--mono);font-size:12px;color:var(--ink);background:none;border:0;cursor:pointer;padding:0 0 3px;border-bottom:1px solid var(--sp-rule);transition:color .2s,border-color .2s}
.caseC-more:hover{color:var(--accent);border-bottom-color:var(--accent)}
.caseC-foot .alink{font-family:var(--mono);font-size:12px;text-transform:none;letter-spacing:0}
@media (max-width:980px){.casesC{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.casesC{grid-template-columns:1fr}}
