/* steer21 refine: ~70% cyberpunk, 30% corporate polish. Dark theme and neon accent kept, used with restraint. */
:root{--r21-line:rgba(0,240,255,.16);--r21-line2:rgba(255,255,255,.08);--r21-ink:#e9eaf1;--r21-mut:#a3a6b6}
/* noise off body text: scanlines, film grain, cursor trail */
body.nx::before,html::after,.hero-full::after{display:none!important;content:none!important}
canvas.nx-trail{display:none!important}
body.nx::after{opacity:.45!important}
/* hover states: colour and underline, no chromatic split */
body.nx .nav-links a:not(.btn):hover,.nx-log a:hover,body.nx .link-btn:hover,.nx-story .svc:hover h3{text-shadow:none!important}
body.nx .link-btn:hover{color:var(--nx-cy,#00f0ff)!important;text-decoration:underline;text-underline-offset:4px}
body.nx .btn-glow:hover,body.nx .btn-sm:hover{text-shadow:none!important;box-shadow:0 0 0 1px var(--nx-cy,#00f0ff),0 8px 28px rgba(0,240,255,.18)!important}
.pm-kpis b,.rp-kpis b,.rp-issue b,.mini b,.eyebrow{text-shadow:none!important}
.nx-big::before{text-shadow:none!important}
/* typography: cleaner headings */
body.nx h2{font-stretch:108%!important;font-weight:800!important;letter-spacing:-.015em!important}
body.nx.nx-case h1,.nx-case .rp-cover h1{text-transform:none!important;font-stretch:108%!important;font-weight:800!important;letter-spacing:-.02em!important;line-height:1.04!important;max-width:22ch}
body.nx p,body.nx li{line-height:1.62}
/* sticky nav */
.site-header{position:sticky!important;top:0;z-index:60}
html{scroll-padding-top:84px}
.nav-links a[aria-current="true"]{color:var(--nx-cy,#00f0ff)!important}
/* ---------------- compact homepage (h21) ---------------- */
.h21{padding:104px 0 24px;position:relative}
.h21+.h21{border-top:1px solid var(--r21-line2)}
.h21-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 40px;margin-bottom:36px}
.h21-head .eyebrow{grid-column:1/-1;margin:0;font:600 12px var(--fm,monospace)!important;letter-spacing:.2em!important;color:var(--nx-cy,#00f0ff)!important}
.h21-head h2{margin:0;font-size:clamp(30px,3.6vw,46px)!important;line-height:1.06}
.h21-head p.sub{margin:0;color:var(--r21-mut);max-width:46ch;font-size:16.5px}
.h21-grid{display:grid;gap:18px}
.h21-g5{grid-template-columns:repeat(5,minmax(0,1fr))}.h21-g3{grid-template-columns:repeat(3,minmax(0,1fr))}.h21-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.h21-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),rgba(9,10,16,.82);border:1px solid var(--r21-line2);border-top:1px solid var(--r21-line);padding:24px 22px 22px;display:flex;flex-direction:column;gap:10px;transition:border-color .35s,transform .35s,background .35s}
.h21-card:hover{border-color:rgba(0,240,255,.45);transform:translateY(-3px)}
.h21-card::before{content:"";position:absolute;left:-1px;top:-1px;width:28px;height:2px;background:var(--nx-cy,#00f0ff);transition:width .4s}
.h21-card:hover::before{width:64px}
.h21-n{font:600 11.5px var(--fm,monospace);letter-spacing:.16em;color:var(--r21-mut)}
.h21-card h3{margin:0;font-size:19px!important;line-height:1.2;font-stretch:104%!important;font-weight:750!important;color:#fff}
.h21-card p{margin:0;color:#c9cbd6;font-size:15px;line-height:1.55}
.h21-card .tools{font:500 12px/1.5 var(--fm,monospace);color:var(--r21-mut);letter-spacing:.02em;margin-top:auto;padding-top:10px;border-top:1px solid var(--r21-line2)}
.h21-card .link-btn{font-size:14px}
.h21-note{margin:22px 0 0;color:var(--r21-mut);font-size:15px;display:flex;flex-wrap:wrap;gap:8px 28px}
.h21-note b{color:#fff;font-weight:600}
.h21-tools{margin:26px 0 0;padding:16px 0 0;border-top:1px solid var(--r21-line2);font:500 13px/1.8 var(--fm,monospace);color:var(--r21-mut)}
.h21-tools span{color:#fff}
.h21-next{margin:34px 0 0;display:flex;align-items:center;gap:14px;font:600 13px var(--fm,monospace);letter-spacing:.12em;text-transform:uppercase}
.h21-next::before{content:"";flex:0 0 40px;height:1px;background:var(--nx-cy,#00f0ff)}
.h21-next a{color:var(--nx-cy,#00f0ff);text-decoration:none}
.h21-next a:hover{color:#fff}
/* work cards */
.h21-work .h21-card{padding:0;overflow:hidden}
.h21-work .thumb{display:block;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--r21-line2);background:#0c0d14}
.h21-work .thumb img{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .6s;filter:saturate(.9)}
.h21-work .h21-card:hover .thumb img{transform:scale(1.03)}
.h21-work .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:9px;flex:1}
.h21-tag{display:flex;gap:10px;align-items:center;font:600 11px var(--fm,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--r21-mut)}
.h21-tag .sb{color:#e6ff2b;border:1px solid rgba(230,255,43,.5);padding:2px 7px}
.h21-work h3 a{color:#fff;text-decoration:none}
.h21-work h3 a:hover{color:var(--nx-cy,#00f0ff)}
.h21-label{margin:0 0 22px;font:500 12.5px var(--fm,monospace);color:var(--r21-mut)}
/* steps */
.h21-step .h21-n{color:var(--nx-cy,#00f0ff)}
/* about */
.h21-about{display:grid;grid-template-columns:240px minmax(0,1fr);gap:44px;align-items:start}
.h21-about figure{margin:0;border:1px solid var(--r21-line);padding:8px;background:rgba(9,10,16,.8)}
.h21-about img{display:block;width:100%;height:auto}
.h21-about figcaption{font:500 12px var(--fm,monospace);color:var(--r21-mut);padding:10px 4px 2px;letter-spacing:.06em}
.h21-about p{color:#d4d6df;font-size:17px;max-width:64ch;margin:0 0 14px}
/* credentials */
.h21-cred{padding:26px 24px}
.h21-cred .issuer{font:600 11.5px var(--fm,monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--r21-mut)}
.h21-cred h3{font-size:21px!important}
.h21-cred .status{align-self:flex-start;font:600 11px var(--fm,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--nx-cy,#00f0ff);border:1px solid rgba(0,240,255,.4);padding:4px 9px;margin-top:auto}
/* contact */
.h21-contact{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center;border:1px solid var(--r21-line);padding:44px;background:linear-gradient(120deg,rgba(0,240,255,.06),rgba(255,43,214,.04) 60%,transparent),rgba(9,10,16,.85)}
.h21-contact h2{margin:8px 0 12px;font-size:clamp(28px,3.4vw,42px)!important}
.h21-contact p{color:#c9cbd6;margin:0}
.h21-contact .cta{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.h21-contact ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font:500 13px var(--fm,monospace);color:var(--r21-mut)}
.h21-contact li::before{content:"— ";color:var(--nx-cy,#00f0ff)}
main#main .h21:last-child{padding-bottom:110px}
@media (max-width:1180px){.h21-g5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.h21-g5,.h21-g3,.h21-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.h21-head{grid-template-columns:1fr}.h21-contact{grid-template-columns:1fr;padding:30px}}
@media (max-width:600px){.h21{padding:72px 0 16px}.h21-g5,.h21-g3,.h21-g4{grid-template-columns:1fr}.h21-about{grid-template-columns:1fr;gap:22px}.h21-about figure{max-width:200px}.h21-contact{padding:24px}}
/* Work page: service filter tabs */
.wk-tools .gfilters{display:flex;flex-wrap:wrap;gap:0!important;border-bottom:1px solid var(--r21-line2)}
.wk-tools .gfilters .gf{background:none!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:12px 16px!important;color:var(--r21-mut)!important;font:600 13px var(--fm,monospace)!important;letter-spacing:.06em;box-shadow:none!important;transition:color .25s,border-color .25s}
.wk-tools .gfilters .gf:hover{color:#fff!important}
.wk-tools .gfilters .gf.on,.wk-tools .gfilters .gf[aria-pressed="true"]{color:#fff!important;border-bottom-color:var(--nx-cy,#00f0ff)!important}
.wk-tablabel{margin:0 0 6px;font:600 11.5px var(--fm,monospace);letter-spacing:.18em;text-transform:uppercase;color:var(--r21-mut)}
@media (prefers-reduced-motion:reduce){.h21-card,.h21-card::before,.h21-work .thumb img{transition:none}}
.h21-sub{margin:56px 0 22px;padding-top:28px;border-top:1px solid var(--r21-line2);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px}
.h21-sub h3{margin:0;font-size:24px!important;font-weight:800!important;color:#fff}
.h21-sub p{margin:0;color:var(--r21-mut)}
.h21-ret .inc{font:600 11.5px var(--fm,monospace)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-cy,#00f0ff)!important}
.h21-ret ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.h21-ret li{position:relative;padding-left:16px;color:#c9cbd6;font-size:14.5px;line-height:1.5}
.h21-ret li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1px;background:var(--nx-cy,#00f0ff)}
.h21-head h2{font-size:clamp(26px,3vw,38px)!important;line-height:1.08!important}
.h21-tag .sb{white-space:nowrap}
html body .wk-tools .gfilters .gf{padding:11px 12px!important;letter-spacing:.03em!important;font-size:12.5px!important}
html body .wk-tools .gfilters .gf.on,html body .wk-tools .gfilters .gf[aria-pressed="true"]{background:none!important;color:#fff!important;box-shadow:none!important;border-bottom:2px solid var(--nx-cy,#00f0ff)!important}
body.nx .h21-head h2,body.nx .h21-contact h2{font-size:clamp(28px,3.2vw,42px)!important;max-width:24ch;line-height:1.06!important}
@media (max-width:760px){body.nx .h21-head h2,body.nx .h21-contact h2{font-size:clamp(25px,7vw,32px)!important}}
.h21-ret .excl{margin-top:auto!important;padding-top:10px;border-top:1px solid var(--r21-line2);font:500 12.5px/1.5 var(--fm,monospace)!important;color:var(--r21-mut)!important}
