:root{--ground:#F4F2EE;--panel:#FBFAF7;--ink:#15181C;--muted:#5D6168;--line:#D6D1C7;--accent:#A84F28;--accent2:#E8A27E;--tint:#F3E4DB;--night:#0E1113;
  --display:Michroma,"Arial Black",sans-serif;--ui:"Public Sans","Helvetica Neue",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.55 var(--ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;gap:20px;padding:14px clamp(16px,4vw,40px);transition:background .3s,border-color .3s;border-bottom:1px solid transparent;background:linear-gradient(rgba(14,17,19,.5),rgba(14,17,19,0))}
.nav.solid{background:rgba(244,242,238,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--line)}
.nav .logo{display:flex;align-items:center;gap:10px;height:22px;text-decoration:none}
.nav .logo img{height:19px;width:auto;filter:invert(1);transition:filter .3s}
.nav.solid .logo img{filter:none}
.nav .logo span{font:600 11px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent2);padding-left:10px;border-left:1px solid rgba(255,255,255,.35);line-height:20px}
.nav.solid .logo span{color:var(--accent);border-left-color:var(--line)}
.nav ul{display:flex;gap:22px;list-style:none;margin:0 0 0 auto;padding:0}
.nav ul a{text-decoration:none;font-size:14px;font-weight:500;color:#fff;transition:color .3s}
.nav.solid ul a{color:var(--ink)}
.nav ul a:hover{color:var(--accent2)}
.nav .cta{margin-left:8px;text-decoration:none;font-weight:600;font-size:14px;background:var(--accent);color:#fff;padding:10px 16px;border-radius:999px;white-space:nowrap}
@media(max-width:900px){.nav ul{display:none}.nav .cta{margin-left:auto}}

/* film chapters */
.film{position:relative}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--night)}
.box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);will-change:transform;--inv:1}
.box video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,17,19,.42) 0%,rgba(14,17,19,0) 28%,rgba(14,17,19,0) 52%,rgba(14,17,19,.62) 100%);pointer-events:none}
.cap{position:absolute;left:clamp(16px,6vw,96px);bottom:11vh;width:min(600px,calc(100% - 32px));color:#fff;pointer-events:none;text-shadow:0 2px 28px rgba(0,0,0,.45)}
.cap p{margin:0;position:absolute;bottom:0;left:0;width:100%;font:400 clamp(23px,3.2vw,44px)/1.15 var(--display);text-wrap:balance;opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.cap p small{display:block;font:500 12px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;color:var(--accent2)}
.cap p.on{opacity:1;transform:none}
.hero{position:absolute;left:clamp(16px,6vw,96px);bottom:12vh;width:min(640px,calc(100% - 32px));color:#fff;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s;pointer-events:none;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.hero.on{opacity:1;transform:none;pointer-events:auto}
.hero{background:rgba(14,17,19,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px 26px 26px;border-radius:24px;text-shadow:none}
.hero .eyebrow{color:var(--accent2)}
.hero .h1{font:400 clamp(32px,5vw,66px)/1.06 var(--display);margin:0 0 18px;text-wrap:balance}
.hero .lead{color:#E7EAEC;font-size:clamp(16px,1.4vw,19px);max-width:52ch}
.hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85);transition:opacity .4s;display:flex;flex-direction:column;align-items:center;gap:8px}
.hint i{width:1px;height:28px;background:linear-gradient(#fff,transparent);animation:drip 1.8s ease-in-out infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:4;transition:opacity .7s ease-out}
.flash.on{opacity:.8;transition:none}

/* tags pinned to things in frame */
.tag{position:absolute;width:0;height:0;opacity:0;transition:opacity .45s ease;pointer-events:none;z-index:2}
.tag.on{opacity:1}
.tag .pin{position:absolute;left:-17px;top:-17px;width:34px;height:34px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 0 0 2px rgba(168,79,40,.7),0 2px 12px rgba(0,0,0,.3);transform:scale(var(--inv))}
.tag .pin::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.8);animation:ping 2.4s ease-out infinite}
.tag.mine .pin{box-shadow:0 0 0 2px rgba(30,122,85,.75),0 2px 12px rgba(0,0,0,.3)}
@keyframes ping{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.6);opacity:0}}
.tag .lab{position:absolute;top:0;left:0;transform-origin:0 0;transform:scale(var(--inv)) translate(30px,-50%);white-space:nowrap;background:rgba(251,250,247,.95);color:var(--ink);border-radius:12px;padding:8px 12px;box-shadow:0 10px 30px -10px rgba(0,0,0,.45);font:600 14px/1.25 var(--ui)}
.tag.l .lab{transform:scale(var(--inv)) translate(calc(-100% - 30px),-50%)}
.tag .lab small{display:block;font:500 10.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}
.tag.mine .lab small{color:#1E7A55}

/* phone */
.phone{position:relative;width:var(--pw,340px);aspect-ratio:390/844;border-radius:calc(var(--pw,340px)*.15);background:#0d0f12;padding:calc(var(--pw,340px)*.028);box-shadow:0 50px 100px -30px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.07) inset}
.phone .glass{position:relative;width:100%;height:100%;border-radius:calc(var(--pw,340px)*.125);overflow:hidden;background:#F4F2EE}
.phone .scr{position:absolute;left:0;top:0;width:390px;height:844px;transform-origin:0 0;opacity:0;transition:opacity .45s ease}
.phone .scr.on{opacity:1}
.dock{position:absolute;right:clamp(16px,6vw,110px);top:50%;transform:translateY(-50%);z-index:5;opacity:0}
.dock .phone{--pw:clamp(220px,21vw,310px)}

/* static sections */
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.sec{padding:clamp(72px,10vw,128px) 0}
.eyebrow{font:500 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.h2{font:400 clamp(27px,3.5vw,46px)/1.14 var(--display);margin:0 0 16px;text-wrap:balance;max-width:24ch}
.lead{color:var(--muted);font-size:18px;max-width:62ch;margin:0}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font:600 15px var(--ui);padding:14px 22px;border-radius:999px;background:var(--accent);color:#fff;border:0;cursor:pointer}
.btn:hover{filter:brightness(1.07)}
.btn.line{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff}
.fn{margin:14px 0 0;color:var(--muted);font-size:13px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}

/* map */
.mapwrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin-top:34px}
.mapui{background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:0 40px 80px -55px rgba(21,24,28,.5)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.chips button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font:600 13px var(--ui);padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);transition:opacity .2s,background .2s}
.chips button i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.chips button[aria-pressed="false"]{opacity:.45;background:#fff}
.chips button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mapbox{position:relative;border-radius:16px;overflow:hidden;background:#EAE6DE}
.mapbox svg{display:block;width:100%;height:auto}
.mapbox .ill{position:absolute;left:12px;bottom:10px;font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#7b7f85;background:rgba(255,255,255,.8);padding:4px 8px;border-radius:6px}
.mapcard{position:absolute;right:12px;top:12px;width:min(290px,calc(100% - 24px));background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 20px 40px -20px rgba(0,0,0,.35);font-size:14px}
.mapcard .k{font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
.mapcard .k i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.mapcard b{display:block;font-size:16px;margin:6px 0 2px}
.mapcard span{color:var(--muted)}
.mapcard .x{position:absolute;right:10px;top:8px;all:unset;cursor:pointer;color:var(--muted);font-size:18px;line-height:1;padding:4px}
.pin-g{cursor:pointer}
.pin-g:focus{outline:none}
.pin-g:focus circle.ring{stroke:var(--ink);stroke-width:3}
.joblist{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:16px;max-height:560px;overflow:auto}
.joblist .lbl{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.joblist ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.joblist li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;font-size:14px}
.joblist li b{display:block;font-size:14px}
.joblist li span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px;margin-top:2px}
.joblist li span i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.joblist li.sel{border-color:var(--accent);box-shadow:0 0 0 2px rgba(168,79,40,.2)}

/* firm laptop */
.firm{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.laptop{margin-top:34px;border-radius:22px;background:#1b1e22;padding:10px;box-shadow:0 50px 100px -50px rgba(21,24,28,.6)}
.lt-top{display:flex;align-items:center;gap:6px;padding:4px 8px 10px}
.lt-top i{width:10px;height:10px;border-radius:50%;background:#3a3f45}
.lt-top span{margin-left:10px;font:500 11px var(--mono);letter-spacing:.1em;color:#9aa1a7}
.lt-body{display:grid;grid-template-columns:170px minmax(0,1fr);background:var(--ground);border-radius:14px;overflow:hidden;min-height:430px}
.lt-side{background:#fff;border-right:1px solid var(--line);padding:16px 10px;display:flex;flex-direction:column;gap:4px}
.lt-side button{all:unset;cursor:pointer;font:600 14px var(--ui);padding:10px 12px;border-radius:10px;color:var(--muted)}
.lt-side button[aria-selected="true"]{background:var(--tint);color:var(--accent)}
.lt-side button:focus-visible{outline:2px solid var(--accent)}
.lt-main{padding:18px;overflow-x:auto}
.lt-main h3{margin:0 0 4px;font:600 19px var(--ui);letter-spacing:-.01em}
.lt-main .sub{color:var(--muted);font-size:14px;margin:0 0 14px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.kpis div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}
.kpis small{display:block;font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.kpis b{font:700 24px/1.2 Inter,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tbl{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:13.5px;min-width:620px}
.tbl th{text-align:left;font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);background:var(--panel)}
.tbl td{padding:10px 12px;border-bottom:1px solid #EEEBE5;font-variant-numeric:tabular-nums}
.tbl tr:last-child td{border-bottom:0}
.st{display:inline-flex;border-radius:999px;padding:3px 9px;font:600 11px Inter,sans-serif;background:#E2F0E8;color:#1E7A55;white-space:nowrap}
.st.cu{background:var(--tint);color:var(--accent)}
.st.am{background:#FCEFE3;color:#B54708}
.st.bl{background:#E4EEF7;color:#1F6FB0}
.pipe{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;min-width:680px}
.pipe .col{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}
.pipe .col p{margin:0 0 8px;font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pipe .col div{background:var(--panel);border:1px solid #EEEBE5;border-radius:10px;padding:8px;font-size:12.5px;margin-bottom:6px}

/* calculator */
.cgrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:22px;margin-top:34px;align-items:start}
.cin{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;display:grid;gap:18px}
.cin .grp{border-top:1px solid #EEEBE5;padding-top:16px;display:grid;gap:16px}
.cin .grp:first-child{border-top:0;padding-top:0}
.cin .gh{font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0}
.fld label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:600;font-size:15px}
.fld label output{font:600 15px Inter,sans-serif;font-variant-numeric:tabular-nums;color:var(--ink)}
.fld input[type=range]{width:100%;margin:8px 0 2px;accent-color:var(--accent)}
.fld input[type=text],.fld select{width:100%;margin-top:8px;font:500 15px var(--ui);padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink)}
.fld .d{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.seg button{all:unset;cursor:pointer;text-align:center;font:600 13px var(--ui);padding:9px 4px;border-radius:10px;border:1px solid var(--line);background:var(--panel)}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cout{position:sticky;top:84px;display:grid;gap:14px}
.res{background:var(--night);color:#fff;border-radius:24px;padding:22px}
.res .k{font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent2);margin:0}
.res .big{font:700 clamp(36px,4vw,52px)/1.05 Inter,sans-serif;letter-spacing:-.03em;margin:8px 0 4px;font-variant-numeric:tabular-nums}
.res .sm{color:#AEB6BB;font-size:14px;margin:0}
.res dl{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:16px 0 0;padding-top:14px;border-top:1px solid #2a3036;font-size:14.5px}
.res dt{color:#C9D0D3}
.res dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.res dd.neg{color:#F2B8A0}
.res dd.pos{color:#9FE0BF}
.vs{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px}
.vs h3{margin:0 0 4px;font:600 18px var(--ui)}
.vs .sm{color:var(--muted);font-size:14px;margin:0 0 14px}
.vsbars{display:grid;gap:12px}
.vsbars .b p{display:flex;justify-content:space-between;margin:0 0 6px;font-size:14px}
.vsbars .b p b{font-variant-numeric:tabular-nums}
.vsbars .tr{height:14px;border-radius:8px;background:#EEEBE5;overflow:hidden}
.vsbars .tr i{display:block;height:100%;border-radius:8px;background:var(--accent);transition:width .35s}
.vsbars .b.angi .tr i{background:#7A7F86}
.vs .delta{margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--tint);color:#7A3618;font-size:14.5px}
.vs .delta b{font-variant-numeric:tabular-nums}
.warn{margin:0;padding:10px 12px;border-radius:12px;background:#FCEFE3;color:#8A3A06;font-size:13.5px}

/* plans */
.pcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}
.pcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;display:flex;flex-direction:column}
.pcard.pop{border-color:var(--accent);box-shadow:0 0 0 3px rgba(168,79,40,.15)}
.pcard .flag{position:absolute;top:-12px;left:22px;background:var(--accent);color:#fff;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.pn{font:400 22px var(--display);margin:0}
.pp{margin:10px 0 2px;color:var(--muted)}
.pp b{font:700 36px Inter,sans-serif;letter-spacing:-.03em;color:var(--ink)}
.pb{margin:0 0 14px;color:var(--muted);font-size:14.5px}
.pcard ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px;font-size:14.5px;flex:1}
.pcard li{padding-left:18px;position:relative}
.pcard li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.ent{margin-top:16px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr) auto;gap:20px;align-items:center;background:var(--night);color:#fff;border-radius:24px;padding:22px 24px}
.ent .pn{color:#fff;font-size:19px}
.ent .pb{color:#AEB6BB;margin:6px 0 0}
.ent ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:14px;color:#D7DCDF}
.ent li{padding-left:16px;position:relative}
.ent li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--accent2)}
.note2{margin:16px 0 0;color:var(--muted);font-size:14px}

/* trust */
.trades{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-content:start}
.trades li{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500}

/* apply */
.end{background:var(--night);color:#fff}
.end .h2{color:#fff}
.end .lead{color:#AEB6BB}
.end .eyebrow{color:var(--accent2)}
.apply{background:#fff;color:var(--ink);border-radius:24px;padding:20px;display:grid;gap:12px}
.apply label{display:grid;gap:6px;font-weight:600;font-size:14px}
.apply input,.apply select{font:500 15px var(--ui);padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);width:100%}
.apply input[aria-invalid="true"]{border-color:#C0392B}
.apply .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.apply fieldset{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0;display:grid;gap:6px}
.apply legend{font-weight:600;font-size:14px;padding:0 4px}
.apply .rad{display:flex;align-items:center;gap:8px;font-weight:500}
.apply .rad input{width:auto}
.apply .opt{color:var(--muted);font-weight:400}
.apply .msg{margin:0;font-size:14px;min-height:20px}
.apply .msg.err{color:#B42318}
.apply .msg.ok{color:#1E7A55;font-weight:600}

/* faq */
.faq details{border-top:1px solid var(--line);padding:16px 0;max-width:820px}
.faq summary{cursor:pointer;font-weight:600;font-size:17px}
.faq details p{margin:10px 0 0;color:var(--muted)}
footer{background:var(--night);color:#8D979C;border-top:1px solid #23282c;font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;padding-top:28px;padding-bottom:40px}
footer a{color:#C9D0D3;text-decoration:none}
footer a:hover{color:#fff}
footer img{height:18px;filter:invert(1);margin-right:auto}

@media(max-width:980px){
  .mapwrap{grid-template-columns:minmax(0,1fr)}
  .joblist{max-height:none}
  .cgrid{grid-template-columns:minmax(0,1fr)}
  .cout{position:static}
  .pcards{grid-template-columns:minmax(0,1fr)}
  .ent{grid-template-columns:minmax(0,1fr)}
  .split{grid-template-columns:minmax(0,1fr)}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .dock{right:50%;left:auto;top:auto;bottom:14px;transform:translateX(50%)}
  .dock .phone{--pw:min(38vw,170px)}
  .cap{left:16px;right:16px;width:auto;bottom:auto;top:13vh}
  .cap p{top:0;bottom:auto;font-size:clamp(21px,6vw,30px)}
  .hero{left:16px;right:16px;width:auto;bottom:auto;top:16vh}
  .cap p.dt{display:none}
  .shade{background:linear-gradient(180deg,rgba(14,17,19,.6) 0%,rgba(14,17,19,.12) 42%,rgba(14,17,19,0) 60%,rgba(14,17,19,.4) 100%)}
  .tag .lab{font-size:13px;padding:7px 10px}
  .lt-body{grid-template-columns:minmax(0,1fr)}
  .lt-side{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}
  .lt-side button{white-space:nowrap}
  .ent ul{grid-template-columns:minmax(0,1fr)}
  .apply .two{grid-template-columns:minmax(0,1fr)}
  .seg{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.cap p,.hero,.phone .scr,.hint i,.tag,.tag .pin::after,.flash,.vsbars .tr i{transition:none;animation:none}.flash{display:none}}

.box img.layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.earnchips{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.earnchips li{font:600 12.5px/1 var(--ui,inherit);padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
.wgrid .w{padding:22px;border-radius:18px;border:1px solid rgba(0,0,0,.1);background:#fff}
.wgrid .w b{display:block;font-size:18px;margin-bottom:8px;color:#A84F28}
.wgrid .w span{display:block;font-size:15px;line-height:1.55;opacity:.78}
.best .checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.best .checks li{padding:16px 18px 16px 48px;border-radius:16px;background:#fff;border:1px solid rgba(0,0,0,.1);position:relative}
.best .checks li::before{content:"";position:absolute;left:16px;top:18px;width:18px;height:18px;border-radius:50%;background:#A84F28;box-shadow:inset 0 0 0 5px #fff,0 0 0 1px #A84F28}
.best .checks b{display:block;font-size:16px}
.best .checks span{display:block;font-size:14.5px;opacity:.75;margin-top:2px}
@media(max-width:900px){.wgrid{grid-template-columns:minmax(0,1fr)}.earnchips li{font-size:11.5px;padding:7px 10px}}
@media(min-width:901px) and (max-width:1180px){.wgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== ETCH Pro brand pass: lockups, service-area map, calculator, office ===== */
.nav .logo img{filter:none;height:18px}
.nav .logo .lk-i{display:none}
.nav.solid .logo .lk-l{display:none}
.nav.solid .logo .lk-i{display:block}
.m{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* service-area map, drawn like the app's service-area screen */
.area{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.amap{margin-top:34px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--ground)}
.am-hd{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;background:var(--ink);padding:12px 16px}
.am-hd>img{height:14px;width:auto}
.am-tabs{display:flex;gap:4px;margin-left:8px}
.am-tabs button,.am-plan button{all:unset;cursor:pointer;font:600 13px var(--ui);padding:8px 12px;border-radius:2px;color:rgba(244,242,238,.72);background:rgba(244,242,238,.08)}
.am-tabs button[aria-selected="true"]{background:var(--ground);color:var(--ink)}
.am-plan{display:flex;gap:4px;margin-left:auto}
.am-plan button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;min-width:74px}
.am-plan button small{font:500 10px var(--mono);color:rgba(244,242,238,.55)}
.am-plan button[aria-pressed="true"]{background:var(--accent);color:#fff}
.am-plan button[aria-pressed="true"] small{color:rgba(255,255,255,.8)}
.am-tabs button:focus-visible,.am-plan button:focus-visible{outline:2px solid var(--ground);outline-offset:2px}
.am-body{display:grid;grid-template-columns:minmax(0,1fr) 300px}
.am-map{position:relative;border-right:1px solid var(--line);background:#EAE6DE}
.am-map svg{display:block;width:100%;height:auto}
.am-map .zn{fill:#E2DED5;stroke:#FBFAF7;stroke-width:2}
.am-map .zn.on{fill:rgba(168,79,40,.10);stroke:#A84F28;stroke-width:1.4;cursor:pointer}
.am-map .zn.on:hover{fill:rgba(168,79,40,.18)}
.am-map .zn.sel{fill:rgba(168,79,40,.24);stroke-width:2.6}
.am-map .zn:focus{outline:none;stroke:#15181C;stroke-width:3}
.am-map .zl{font:600 13px var(--mono);fill:#8f8a80;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#EAE6DE;stroke-width:4px}
.am-map .zl.on{fill:#15181C;stroke:#F6EAE2}
.am-map .zb{font:600 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;fill:#15181C;text-anchor:middle}
.am-map .mk{fill:#E2DED5;stroke:#A84F28;stroke-width:1.5}
.am-map .mk.lock{fill:#DCD7CD;stroke:#15181C;stroke-dasharray:5 5}
.am-map .mk.you{fill:rgba(168,79,40,.18);stroke:#A84F28;stroke-width:2.5}
.am-map .ml{font:600 12px var(--ui);letter-spacing:.14em;text-transform:uppercase;fill:#15181C;text-anchor:middle}
.am-map .mn{font:600 14px var(--mono);fill:#15181C;text-anchor:middle}
.am-map .mp{font:600 10px var(--ui);letter-spacing:.1em;text-transform:uppercase;fill:#fff;text-anchor:middle}
.am-map .ill{position:absolute;right:10px;bottom:10px;font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--panel);border:1px solid var(--line);padding:4px 7px;border-radius:2px}
.am-key{position:absolute;left:10px;top:10px;display:flex;flex-wrap:wrap;gap:6px 12px;max-width:calc(100% - 20px);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:7px 10px;font-size:12px}
.am-key span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.sw{display:inline-block;width:10px;height:10px;background:var(--c);flex:none}
.sw.ci{border-radius:50%}
.sw.di{transform:rotate(45deg) scale(.85)}
.sw.tr{background:none;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid var(--c)}
.am-side{padding:18px;background:var(--panel);display:flex;flex-direction:column}
.am-side .k{font:600 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0}
.am-side .big{font:600 38px/1.05 var(--mono);margin:8px 0 2px}
.am-side .s{color:var(--muted);font-size:13px;margin:0}
.am-side .mix{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px}
.am-side .mix li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:13.5px}
.am-side .mix li span{display:inline-flex;align-items:center;gap:8px}
.am-side .mix li em{grid-column:1/-1;height:4px;background:var(--line);border-radius:1px;position:relative;overflow:hidden}
.am-side .mix li em::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--ink)}
.am-side .jobs{margin-top:16px;padding:12px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px;background:var(--ground)}
.am-side .jobs p.m{margin:4px 0}
.am-side .jobs b{font-size:22px}
.am-side .tip{margin:14px 0 0;color:var(--muted);font-size:13px}
.am-side .lnkb{all:unset;cursor:pointer;margin-top:14px;color:var(--accent);font-weight:600;font-size:14px}
.am-side .mk{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.am-side .mk li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--ground)}
.am-side .mk b{display:block;font-size:14px}
.am-side .mk span.m{display:block;font-size:12px;color:var(--muted)}
.bdg2{font:600 10.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:2px;background:var(--ink);color:var(--ground);white-space:nowrap}
.bdg2.on{background:var(--accent);color:#fff}
.am-side .up{margin-top:14px;padding:14px;border-radius:4px;background:var(--ink);color:var(--ground)}
.am-side .up .k{color:rgba(244,242,238,.62)}
.am-side .up p.m{margin:6px 0 4px}
.am-side .up b{font-size:24px;color:#D98A5F}
.am-side .up .s{color:rgba(244,242,238,.7)}
.am-side .up .btn{margin-top:12px;border-radius:4px;width:100%}

/* calculator */
.seg.s5{grid-template-columns:repeat(5,minmax(0,1fr))}
.seg button{border-radius:2px;display:flex;flex-direction:column;align-items:center;gap:2px}
.seg button small{font:500 10.5px var(--mono);opacity:.7}
.fld input[type=text]{border-radius:2px}
.fld select{border-radius:2px}
.step{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:10px;align-items:center;margin-top:8px}
.step button{all:unset;cursor:pointer;height:40px;border:1px solid var(--line);border-radius:4px;background:var(--panel);text-align:center;font:600 18px var(--ui)}
.step button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.step input[type=range]{margin:0}
.cin,.vs{border-radius:8px}
.res{border-radius:8px;background:var(--ink)}
.res .big{font-family:var(--mono);font-weight:600}
.res dl{font-size:14px}
.res dd.neg{color:#D98A5F}
.res dd.pos{color:#F4F2EE}
.vsbars .b.etch .tr i{background:var(--accent)}
.vsbars .tr i{background:#15181C}
.vsbars .tr{border-radius:2px}
.vsbars .tr i{border-radius:2px}
.vs .delta{border-radius:4px;background:var(--ink);color:var(--ground)}
.vs .delta b{color:#D98A5F}
.warn{border-radius:4px}
.ladderx{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px}
.ladderx h3{margin:0 0 4px;font:400 20px/28px var(--display)}
.ladderx .sm{color:var(--muted);font-size:14px;margin:0 0 14px}
.ladderx .lg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media(min-width:981px){.ladderx .lg.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.ladderx .lg.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.ladderx .lg.n1{grid-template-columns:minmax(0,1fr)}}
.ladderx h3 .ex{display:inline-block;vertical-align:middle;margin-left:8px;font:600 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid currentColor;border-radius:999px;padding:4px 7px}
.ladderx .tk-t{font:400 20px/32px var(--display)}
.ladderx .lc.lce{background:#fff;border-style:dashed}
.ladderx .up2 a{color:inherit}
.ladderx .lc{border:1px solid var(--line);border-radius:4px;padding:14px;background:var(--panel)}
.ladderx .lc.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.ladderx .pn2{font:400 17px var(--display);margin:0}
.ladderx .zz{font-size:12px;color:var(--muted);margin:6px 0 10px}
.ladderx .tk{font-size:26px;font-weight:600;margin:0}
.ladderx .tk small{font-size:13px;color:var(--muted);font-weight:500}
.ladderx .cr{font-size:13px;color:var(--muted);margin:4px 0 8px}
.ladderx .up2{margin:0;font-size:13.5px;font-weight:600;color:var(--accent)}
.assume{margin-top:14px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:12px 16px}
.assume summary{cursor:pointer;font-weight:600}
.assume ul{margin:10px 0 0;padding-left:18px;display:grid;gap:8px;color:var(--muted);font-size:14px}
.assume b{color:var(--ink)}

/* office dashboard, ETCH Pro web: ink sidebar, ground canvas, panel cards */
.laptop{border-radius:10px;background:#0b0c0e}
.lt-body{border-radius:4px;background:var(--ground);grid-template-columns:190px minmax(0,1fr)}
.lt-side{background:var(--ink);border-right:0;padding:16px 10px}
.lt-lk{height:13px;width:auto;margin:2px 8px 16px;align-self:flex-start}
.lt-side button{border-radius:2px;color:rgba(244,242,238,.7)}
.lt-side button[aria-selected="true"]{background:rgba(244,242,238,.1);color:#fff;box-shadow:inset 3px 0 0 #D98A5F}
.lt-main h3{font:400 20px/28px var(--display)}
.kpis div,.tbl,.pipe .col{border-radius:4px;background:var(--panel)}
.kpis b{font:600 22px/1.2 var(--mono)}
.tbl td{font-variant-numeric:tabular-nums}
.tbl td:nth-child(n+3){font-family:var(--mono);font-size:13px}
.st{border-radius:2px;background:var(--ground);color:var(--ink);border:1px solid var(--line);font:600 10.5px var(--ui);letter-spacing:.06em;text-transform:uppercase;padding:4px 7px}
.st.cu{background:var(--accent);border-color:var(--accent);color:#fff}
.st.ink{background:var(--ink);border-color:var(--ink);color:var(--ground)}
.pipe .col p{display:flex;justify-content:space-between}
.pipe .col p span{font-family:var(--mono);color:var(--ink)}
.pipe .col div{border-radius:2px;background:#fff}

@media(max-width:980px){
  .am-body{grid-template-columns:minmax(0,1fr)}
  .am-map{border-right:0;border-bottom:1px solid var(--line)}
  .ladderx .lg{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .am-hd{padding:10px 12px}
  .am-tabs{margin-left:0}
  .am-plan{margin-left:0;width:100%}
  .am-plan button{flex:1;min-width:0;padding:6px 4px}
  .am-key{position:static;max-width:none;border-radius:0;border-width:0 0 1px}
  .am-map .ill{top:6px;bottom:auto;right:6px;font-size:9.5px}
  .seg.s5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .seg.s5 button:last-child{grid-column:1/-1}
  .lt-lk{display:none}
}
@media(max-width:560px){.ladderx .lg{grid-template-columns:minmax(0,1fr)}}

/* dock left / dock center variants for chapters whose subject sits on the right or at both sides */
@media(min-width:901px){
  .film.dl .dock{right:auto;left:clamp(16px,5vw,90px)}
  .film.dl .cap{left:calc(clamp(16px,5vw,90px) + clamp(220px,21vw,310px) + 48px);width:min(560px,calc(100% - clamp(16px,5vw,90px) - clamp(220px,21vw,310px) - 80px))}
  .film.dc .dock{right:auto;left:50%;transform:translate(-50%,-50%)}
  .film.dc .cap{width:min(420px,calc(50% - clamp(220px,21vw,310px)/2 - 56px))}
  .film.dc .cap p{font-size:clamp(21px,2.4vw,34px)}
}

/* how the algorithm works */
.rank{background:var(--night);color:#F4F2EE}
.rank .eyebrow{color:var(--accent2)}
.rank .h2{color:#fff}
.rank .lead{color:#AEB6BB}
.rk-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:34px 0 18px}
.rk-layers button{all:unset;cursor:pointer;padding:16px 18px;border-radius:4px;border:1px solid #2A3036;background:#151A1E;transition:border-color .25s,background .25s}
.rk-layers button b{display:block;font:400 17px/1.25 var(--display);color:#fff}
.rk-layers button span{display:block;font:500 12px var(--mono);letter-spacing:.06em;color:#8D979C;margin-top:6px}
.rk-layers button[aria-selected="true"]{border-color:var(--accent);background:#1C1714}
.rk-layers button[aria-selected="true"] span{color:var(--accent2)}
.rk-layers button:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
.rk-panel{display:none}
.rk-panel.on{display:block}
.cs-k{font:600 11px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#8D979C;margin:0 0 10px}
.cs-note{font-size:13px;color:#8D979C;margin:12px 0 0}
.casc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:22px}
.cs-card{background:#F4F2EE;color:var(--ink);border-radius:4px;padding:16px 18px;display:grid;gap:4px}
.cs-card b{font:400 19px/1.3 var(--display)}
.cs-card>span{font:500 13px var(--mono);color:#5D6168}
.cs-tr{display:inline-flex;align-items:center;gap:7px;font:600 12px var(--ui)!important;color:var(--ink)!important}
.cs-tr::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.cs-ho{margin-top:10px;padding-top:10px;border-top:1px solid #D6D1C7;font-size:13px;color:#5D6168}
.cs-ho b{font:600 13px var(--ui);color:var(--ink)}
.cs-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px;counter-reset:s}
.cs-steps li{counter-increment:s;position:relative;padding:10px 12px 10px 42px;border-radius:4px;border:1px solid #2A3036;color:#8D979C;transition:all .3s}
.cs-steps li::before{content:counter(s);position:absolute;left:12px;top:10px;width:20px;height:20px;border-radius:2px;background:#2A3036;color:#AEB6BB;font:600 12px/20px var(--mono);text-align:center}
.cs-steps li b{display:block;color:#C9D0D3;font-size:14.5px}
.cs-steps li span{display:none;font-size:13px;line-height:1.5;margin-top:3px}
.cs-steps li.on{border-color:var(--accent);background:#1C1714;color:#D7DCDF}
.cs-steps li.on b{color:#fff}
.cs-steps li.on span{display:block}
.cs-steps li.on::before{background:var(--accent);color:#fff}
.cs-steps li.done::before{background:#3B4248;color:#fff}
.cs-ctl{display:flex;gap:6px;margin-top:10px}
.cs-ctl button{all:unset;cursor:pointer;padding:8px 14px;border-radius:4px;border:1px solid #2A3036;font:600 13px var(--ui);color:#D7DCDF}
.cs-ctl button:hover{border-color:var(--accent2)}
.cs-ctl button:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
.cs-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px;font:500 11.5px var(--mono);color:#AEB6BB}
.cs-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--c);margin-right:6px;vertical-align:-1px}
.cs-rows{display:grid;gap:8px;position:relative}
.cs-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) 44px 112px;gap:12px;align-items:center;padding:11px 14px;border-radius:4px;background:#151A1E;border:1px solid #2A3036;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s,border-color .3s,background .3s}
.cs-row .nm b{display:block;font-size:14.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-row .nm span{display:block;font:500 11.5px var(--mono);color:#8D979C}
.cs-row .bar{display:flex;height:9px;border-radius:2px;overflow:hidden;background:#232A30}
.cs-row .bar i{display:block;height:100%;width:0;transition:width .7s cubic-bezier(.2,.8,.2,1)}
.cs-row .sc{font:600 16px var(--mono);color:#fff;text-align:right}
.cs-row .stt{font:600 10.5px/1.2 var(--ui);letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:6px 6px;border-radius:2px;border:1px solid #2A3036;color:#8D979C;position:relative;overflow:hidden}
.cs-row .stt .cd{position:absolute;left:0;bottom:0;height:2px;background:var(--accent2);width:100%;transform-origin:0 0}
.cs-row.out{opacity:.38}
.cs-row.out .nm b{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.4)}
.cs-row.out .stt{color:#E28B6B;border-color:#5A2E21}
.cs-row.live{border-color:var(--accent);background:#1C1714}
.cs-row.live .stt{color:#fff;background:var(--accent);border-color:var(--accent)}
.cs-row.pass .stt{color:#AEB6BB}
.cs-row.won{border-color:#2F8A5E;background:#122119}
.cs-row.won .stt{background:#2F8A5E;border-color:#2F8A5E;color:#fff}
.cs-row.you .nm b::after{content:"You";margin-left:8px;font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent2);border:1px solid var(--accent2);padding:2px 5px;border-radius:2px;vertical-align:2px}
@keyframes cdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.pps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.pps-score,.pps-act,.fps-ring,.fps-bars,.fps-crew{background:#151A1E;border:1px solid #2A3036;border-radius:4px;padding:20px}
.pps-n{margin:0;font:600 64px/1 var(--mono);color:#fff;letter-spacing:-.02em}
.pps-n small{font:500 18px var(--mono);color:#8D979C;letter-spacing:0}
.pps-meter{height:10px;background:#232A30;border-radius:2px;overflow:hidden;margin:14px 0 8px}
.pps-meter i{display:block;height:100%;background:var(--accent);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.pps-d{font-size:13.5px;color:#AEB6BB;margin:0 0 14px}
.pps-sig div{display:grid;grid-template-columns:minmax(0,1fr) 120px 58px;gap:10px;align-items:center;padding:7px 0;border-top:1px solid #232A30;font-size:13.5px;color:#C9D0D3}
.pps-sig i{height:6px;border-radius:2px;background:#232A30;position:relative;overflow:hidden}
.pps-sig i::after{content:"";position:absolute;inset:0;width:calc(var(--v)*1%);background:#D7DCDF;transition:width .7s}
.pps-sig div.up i::after{background:var(--accent2)}
.pps-sig b{font:600 13px var(--mono);text-align:right;color:#fff}
.pps-sig div.up b{color:var(--accent2)}
.pps-btns{display:grid;gap:8px}
.pps-btns button{all:unset;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:4px;border:1px solid #2A3036;font-size:14.5px;color:#E7EAEC;transition:all .25s}
.pps-btns button em{font:600 13px var(--mono);font-style:normal;color:var(--accent2);white-space:nowrap}
.pps-btns button:hover{border-color:var(--accent2)}
.pps-btns button[aria-pressed="true"]{background:#1C1714;border-color:var(--accent);color:#fff}
.pps-btns button[aria-pressed="true"] em::before{content:"✓ "}
.pps-btns button:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
.pps-reset{all:unset;cursor:pointer;margin-top:10px;font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8D979C}
.badges{margin-top:22px;padding-top:18px;border-top:1px solid #232A30}
.bl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bl li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:baseline;font-size:13.5px;color:#AEB6BB}
.bl li b{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:6px 8px;border:1px solid #3B4248;border-radius:2px;text-align:center}
.bl li:nth-child(3) b{background:#F4F2EE;color:var(--ink);border-color:#F4F2EE}
.bl li:nth-child(4) b{background:var(--accent);border-color:var(--accent)}
.fps{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1fr);gap:16px}
.fps-ring{display:flex;flex-direction:column;align-items:center;text-align:center}
.fps-ring .rw{position:relative;width:min(210px,100%);margin-bottom:14px}
.fps-ring svg{display:block;width:100%;height:auto;transform:rotate(-90deg)}
.fr-bg{fill:none;stroke:#232A30;stroke-width:14}
.fr-fg{fill:none;stroke:#3FA373;stroke-width:14;stroke-linecap:butt;stroke-dasharray:527.8;stroke-dashoffset:527.8;transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1),stroke .3s}
.fr-in{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.fr-in b{font:600 54px/1 var(--mono);color:#fff}
.fr-in span{font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#3FA373;margin-top:6px}
.fps-cap{font-size:13px;color:#8D979C;margin:0 0 14px}
.fps-tog{display:flex;gap:8px;align-items:center;font-size:13.5px;color:#C9D0D3;cursor:pointer;text-align:left}
.fps-tog input{accent-color:#A84F28;width:16px;height:16px}
.fps-warn{margin:12px 0 0;padding:10px 12px;border-radius:4px;background:#3A1712;border:1px solid #7A2E22;color:#F2C6B8;font-size:13px;text-align:left}
.fps.bad .fr-fg{stroke:#D9553B}
.fps.bad .fr-in span{color:#E58A73}
#fpsBars div{display:grid;grid-template-columns:minmax(0,1fr) 110px 52px;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #232A30;font-size:13.5px;color:#C9D0D3}
#fpsBars i{height:6px;border-radius:2px;background:#232A30;position:relative;overflow:hidden}
#fpsBars i::after{content:"";position:absolute;inset:0;width:calc(var(--v)*1%);background:#D7DCDF;transition:width .7s}
#fpsBars div.weak i::after{background:var(--accent2)}
#fpsBars div.red i::after{background:#D9553B}
#fpsBars b{font:600 13px var(--mono);text-align:right;color:#fff}
.fps-next{margin-top:14px;padding:12px 14px;border-radius:4px;border:1px dashed var(--accent);font-size:13.5px;color:#E7EAEC}
.fps-next b{color:var(--accent2);font-family:var(--mono)}
.fps-crew ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fps-crew li{display:grid;grid-template-columns:34px minmax(0,1fr) 40px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #232A30}
.fps-crew li i{width:34px;height:34px;border-radius:4px;background:#F4F2EE;color:var(--ink);display:grid;place-items:center;font:600 12px var(--mono);font-style:normal}
.fps-crew li b{display:block;font-size:14px;color:#fff}
.fps-crew li span{display:block;font-size:12.5px;color:#8D979C;line-height:1.4}
.fps-crew li em{font:600 18px var(--mono);font-style:normal;color:#fff;text-align:right}
.fps-crew li em.p{color:#8D979C}
@media(max-width:980px){.casc,.pps,.fps{grid-template-columns:minmax(0,1fr)}.rk-layers{grid-template-columns:minmax(0,1fr)}.cs-row{grid-template-columns:minmax(0,1fr) 44px 96px}.cs-row .bar{grid-column:1/-1;grid-row:2}}
@media (prefers-reduced-motion:reduce){.cs-row,.cs-row .bar i,.pps-meter i,.pps-sig i::after,.fr-fg,#fpsBars i::after{transition:none}.cs-row .stt .cd{animation:none!important}}

/* trades photo */
.trust .tfig{position:relative;margin:0 auto 44px;max-width:1180px;padding:0 clamp(16px,4vw,40px)}
.trust .tfig img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:4px}
.trust .tfig figcaption{position:absolute;left:calc(clamp(16px,4vw,40px) + 18px);bottom:18px;background:rgba(14,17,19,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;padding:12px 16px;border-radius:4px}
.trust .tfig figcaption span{display:block;font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent2);margin-bottom:4px}
.trust .tfig figcaption b{font-weight:600;font-size:15px}
@media(max-width:900px){.trust .tfig img{aspect-ratio:4/3}}
@media(max-width:980px){.rk-layers{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.rk-layers button{padding:10px 10px}.rk-layers button b{font-size:12.5px}.rk-layers button span{font-size:10px;letter-spacing:0}}

/* dispatch by ZIP */
.dsp{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:12px;align-items:start}
.dk{margin:0 0 8px;font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.qrow{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;gap:12px;align-items:center;width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:6px;font-size:13.5px;transition:border-color .2s,box-shadow .2s}
.qrow:hover{border-color:#B8B1A5}
.qrow.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--tint)}
.qrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qrow .qz{font-weight:600;color:var(--accent)}
.qrow .qt b{display:block;font-weight:600}
.qrow .qt small{display:block;color:var(--muted);font-size:12px}
.qrow .qp{font-weight:600}
.tbl.sm{min-width:520px;font-size:12.5px}
.tbl.sm td,.tbl.sm th{padding:8px 10px}
.da{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.da .dj{margin:0 0 10px}
.da .dj b{display:block;font-weight:600;font-size:15px}
.da .dj span{color:var(--muted);font-size:12.5px}
.da .dl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.da .dl li{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #EEEBE5;border-radius:10px;background:var(--panel);font-size:13px}
.da .dl li.no{opacity:.55}
.da .dl i,.tlist i{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;background:var(--c);color:#fff;font:600 11px var(--mono);font-style:normal}
.da .dl b{display:block;font-weight:600}
.da .dl span{display:block;color:var(--muted);font-size:11.5px}
.da .chip{font:600 10.5px var(--ui);letter-spacing:.04em;padding:4px 8px;border-radius:999px;font-style:normal;white-space:nowrap}
.da .chip.in{background:#E2F0E8;color:#1E7A55}
.da .chip.out{background:#F0EDE7;color:#6B6F76}
.da .chip.pend{background:#FCEFE3;color:#B54708}
.da .asg{all:unset;cursor:pointer;font:600 12px var(--ui);padding:7px 11px;border-radius:999px;background:var(--ink);color:#fff}
.da .asg:hover{background:var(--accent)}
.da .asg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.da .auto{all:unset;cursor:pointer;display:block;text-align:center;margin-top:10px;font:600 13px var(--ui);padding:11px;border-radius:10px;border:1px solid var(--line);background:var(--panel)}
.da .auto:hover{border-color:var(--ink)}
.da .dn{margin:10px 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}
.da .dn.ok{color:#1E7A55}
@media(max-width:900px){.dsp{grid-template-columns:minmax(0,1fr)}}

/* map: by tech */
.am-map .ti{font:600 11px var(--mono);fill:#fff;text-anchor:middle;pointer-events:none}
.am-map .tb{pointer-events:none}
.am-side .tlist{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.am-side .tlist li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13.5px}
.am-side .tlist li.none{display:block;color:var(--muted);font-size:12.5px;line-height:1.5;padding:8px 0}
.am-side .tlist b{display:block;font-weight:600}
.am-side .tlist span{display:block;color:var(--muted);font-size:12px}
.am-side .tlist em{font-style:normal;font:600 11px var(--ui);color:#1E7A55;background:#E2F0E8;padding:4px 8px;border-radius:999px}
.am-side .tlist em.m{font-family:var(--mono);background:var(--ground);color:var(--ink)}

/* calculator: network stage */
.stg{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:rgba(255,255,255,.7)}
.stg span{margin-right:4px}
.stg button{all:unset;cursor:pointer;font:600 12px var(--ui);padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.25);color:#fff}
.stg button[aria-pressed="true"]{background:#fff;color:var(--ink);border-color:#fff}
.stg button:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* office dashboard on small screens (the later .lt-body rule above wins over the earlier breakpoint) */
@media(max-width:900px){
  .lt-body{grid-template-columns:minmax(0,1fr)}
  .lt-side{flex-direction:row;overflow-x:auto;padding:8px;gap:4px}
  .lt-side button{white-space:nowrap;box-shadow:none}
  .lt-side button[aria-selected="true"]{box-shadow:inset 0 -3px 0 #D98A5F}
  .lt-main{padding:14px}
  .qrow{grid-template-columns:52px minmax(0,1fr);gap:4px 10px}
  .qrow .qp,.qrow .st{grid-column:2;justify-self:start}
}
.da .dl img.av,.tlist img.av{width:30px;height:30px;border-radius:6px;object-fit:cover;object-position:50% 30%;display:block;background:#DDD8CF}
.fps-crew li img.av{width:34px;height:34px;border-radius:4px;object-fit:cover;object-position:50% 30%;display:block}
