/* ScanSoles Data — customer journey v2 (prototype). No external dependencies. */
:root{
  --ink:#0F1226; --ink-2:#4A4F6A; --ink-3:#7A7F98; --line:#E3E5F0; --line-2:#EEF0F7;
  --bg:#F6F7FB; --card:#fff;
  --brand:#4B4BF8; --brand-d:#3535C9; --brand-50:#EEEEFF; --brand-100:#DEDEFF;
  --navy:#0B0A22; --navy-2:#171442; --navy-3:#231F5C;
  --ok:#0E9F6E; --ok-bg:#E7F7F0; --warn:#B45309; --warn-bg:#FEF3C7; --bad:#C2261F; --bad-bg:#FDECEA;
  --radius:14px; --shadow:0 1px 2px rgba(15,18,38,.06),0 8px 24px rgba(15,18,38,.06);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Inter,Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:700}
h2{font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:700}
h3{font-size:1.15rem;font-weight:650}
p{margin:0 0 1em}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
img,svg{max-width:100%}
button{font:inherit;cursor:pointer}
.container{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:720px}
.center{text-align:center}
.muted{color:var(--ink-2)}
.small{font-size:.875rem}
.xs{font-size:.78rem}
.hide{display:none!important}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.grow{flex:1}
.spacer{height:24px}

/* icons */
.ic{width:1.2em;height:1.2em;vertical-align:-.2em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:1.5px solid transparent;border-radius:999px;padding:.72em 1.25em;font-weight:650;line-height:1.1;text-decoration:none!important;transition:.15s;white-space:nowrap}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 6px 16px rgba(75,75,248,.28)}
.btn-primary:hover{background:var(--brand-d)}
.btn-secondary{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-secondary:hover{border-color:var(--brand);color:var(--brand)}
.btn-ghost{background:transparent;color:var(--brand);padding-left:.4em;padding-right:.4em}
.btn-lg{font-size:1.1rem;padding:.9em 1.7em}
.btn-block{display:flex;width:100%}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn-on-dark{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.btn-on-dark:hover{background:rgba(255,255,255,.18);color:#fff}
.linkbtn{background:none;border:0;padding:0;color:var(--brand);font-weight:600;cursor:pointer}
.linkbtn:hover{text-decoration:underline}

/* cards & pills */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.card.flat{box-shadow:none}
.card h3{margin-bottom:.4em}
.pill{display:inline-flex;align-items:center;gap:.4em;padding:.25em .7em;border-radius:999px;font-size:.78rem;font-weight:650;background:var(--brand-50);color:var(--brand-d)}
.pill.ok{background:var(--ok-bg);color:#087a55}
.pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.bad{background:var(--bad-bg);color:var(--bad)}
.pill.grey{background:#EEF0F7;color:var(--ink-2)}
.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--brand)}
.dark .eyebrow{color:#9d9dff}
.chk{display:flex;gap:.6em;align-items:flex-start}
.chk .ic{color:var(--ok);margin-top:.25em}

/* product-decision markers */
.pd{display:inline-flex;align-items:center;gap:.3em;font-size:.68rem;font-weight:700;letter-spacing:.02em;background:#FFF1B8;color:#7a4b00;border:1px solid #F0D064;border-radius:6px;padding:.05em .45em;vertical-align:middle;cursor:pointer;white-space:nowrap;text-transform:none}
.pd:before{content:"⚑"}
.pd-block{display:block;background:#FFF9DB;border:1px dashed #E5C24A;color:#6b4a00;border-radius:10px;padding:.55em .8em;font-size:.82rem;margin:.6em 0}
.pd-block b{letter-spacing:.03em}
body.nopd .pd,body.nopd .pd-block{display:none!important}

/* ---------- public shell ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.site-header .container{display:flex;align-items:center;gap:16px;height:64px}
.logo{font-weight:800;letter-spacing:.08em;color:#fff!important;text-decoration:none!important;font-size:1.05rem;display:flex;align-items:center;gap:.6em}
.logo .wm{height:1.15em;width:auto;display:block;flex:none}
.logo small{font-weight:600;letter-spacing:.02em;opacity:.7;font-size:.85em}
.site-nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.site-nav a{color:#dcdcff;padding:.5em .85em;border-radius:999px;font-weight:600;font-size:.92rem;text-decoration:none}
.site-nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.site-nav .btn{padding:.55em 1.1em;font-size:.92rem}
.nav-toggle{display:none}
.site-footer{background:var(--navy);color:#b5b7d6;padding:36px 0;margin-top:0;font-size:.9rem}
.site-footer a{color:#dcdcff}

/* hero */
.hero{background:radial-gradient(1200px 500px at 85% 0%,#2a2680 0%,transparent 60%),linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;padding:56px 0 64px}
.hero .lead{font-size:1.15rem;color:#d7d8f5;max-width:34em}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero-visual{position:relative}
.viewer-box{position:relative;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 30%,#2b2775 0%,#12103a 70%);border:1px solid rgba(255,255,255,.12);min-height:340px}
.viewer-box canvas{display:block;width:100%;height:100%}
.viewer-cap{position:absolute;left:12px;bottom:10px;right:12px;font-size:.75rem;color:#c8c9ee;display:flex;justify-content:space-between;gap:8px;pointer-events:none}
.usecase-q{font-weight:700;margin:26px 0 10px;font-size:1.05rem}
.usecases{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.uc{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.2);color:#fff;border-radius:14px;padding:12px 12px 12px;text-align:left;display:flex;flex-direction:column;gap:2px;transition:.15s}
.uc:hover{background:rgba(255,255,255,.13)}
.uc .ic{width:1.5em;height:1.5em;color:#a9a9ff;margin-bottom:4px}
.uc b{font-size:.95rem}
.uc span{font-size:.78rem;color:#c5c6ea;line-height:1.3}
.uc[aria-pressed=true]{background:#fff;color:var(--ink);border-color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.uc[aria-pressed=true] span{color:var(--ink-2)}
.uc[aria-pressed=true] .ic{color:var(--brand)}
.hero-fit{margin-top:14px;min-height:3.6em;color:#e4e5ff;font-size:.98rem}
.hero-fit b{color:#fff}
.hero-cta{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-micro{margin-top:12px;font-size:.88rem;color:#b8b9de;display:flex;gap:16px;flex-wrap:wrap}
.hero-micro span{display:inline-flex;gap:.4em;align-items:center}

section.block{padding:64px 0}
section.block.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:720px;margin:0 auto 32px;text-align:center}
.sec-head p{color:var(--ink-2);font-size:1.05rem}

/* pipeline */
.pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:stretch}
.pipe{position:relative;padding:22px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-right:26px;box-shadow:var(--shadow)}
.pipe:last-child{margin-right:0}
.pipe:not(:last-child):after{content:"";position:absolute;right:-22px;top:50%;width:18px;height:18px;border-top:3px solid var(--brand);border-right:3px solid var(--brand);transform:translateY(-50%) rotate(45deg) scale(.8)}
.pipe .n{width:34px;height:34px;border-radius:50%;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;margin-bottom:12px}
.pipe .n .ic{width:1.1em;height:1.1em}
.pipe b{display:block;margin-bottom:4px}
.pipe p{margin:0;color:var(--ink-2);font-size:.92rem}

.fit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fit-col h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.7em;color:var(--ink-2)}
.fit-col ul{list-style:none;padding:0;margin:0;display:grid;gap:.6em}
.fit-col li{display:flex;gap:.6em;align-items:flex-start;font-size:.95rem}
.fit-col li .ic{margin-top:.2em}
.fit-col.yes .ic{color:var(--ok)}
.fit-col.you .ic{color:var(--brand)}
.fit-col.no .ic{color:var(--bad)}

.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.price-card{text-align:left;position:relative}
.price-card .big{font-size:2rem;font-weight:800;letter-spacing:-.02em}
.price-card .per{color:var(--ink-2);font-size:.9rem}
.price-card.rec{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100),var(--shadow)}
.price-card .tag{position:absolute;top:-11px;left:18px}

details.faq{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0;margin-bottom:10px}
details.faq summary{cursor:pointer;padding:16px 18px;font-weight:650;list-style:none;display:flex;justify-content:space-between;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary:after{content:"+";font-size:1.3em;line-height:1;color:var(--brand)}
details.faq[open] summary:after{content:"–"}
details.faq .ans{padding:0 18px 16px;color:var(--ink-2)}

.trust{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}

/* ---------- flow shell (activation) ---------- */
.flow-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.flow-header .container{display:flex;align-items:center;gap:18px;height:62px}
.flow-header .logo{color:var(--ink)!important}
.stepper{display:flex;gap:6px;align-items:center;margin:0 auto}
.stepper .st{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:650;color:var(--ink-3)}
.stepper .st i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);background:#fff;font-size:.8rem}
.stepper .st.on{color:var(--ink)}
.stepper .st.on i{background:var(--brand);border-color:var(--brand);color:#fff}
.stepper .st.done i{background:var(--ok);border-color:var(--ok);color:#fff}
.stepper .bar{width:34px;height:2px;background:var(--line)}
.stepper .bar.done{background:var(--ok)}
.flow-help{font-size:.88rem}
.flow-main{padding:36px 0 80px}
.flow-card{max-width:760px;margin:0 auto}
.flow-title{margin-bottom:.35em}
.credit-line{display:flex;gap:.6em;align-items:center;background:var(--ok-bg);color:#065f46;border-radius:12px;padding:.7em 1em;font-weight:600;margin:16px 0}
.needs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.need{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.need .ico{width:44px;height:44px;border-radius:12px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;flex:none}
.need .ico .ic{width:1.4em;height:1.4em}
.need b{display:block}
.need span{font-size:.85rem;color:var(--ink-2)}
.tip{display:flex;gap:.7em;background:#F1F1FF;border-radius:12px;padding:.8em 1em;font-size:.93rem;color:var(--ink-2)}
.tip .ic{color:var(--brand);margin-top:.2em}

.handover{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center}
.qrbox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;width:236px;box-shadow:var(--shadow)}
.qrbox svg{width:100%;height:auto;display:block}
.qrbox .cap{text-align:center;font-size:.8rem;color:var(--ink-2);margin-top:8px}
.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#F59E0B;margin-right:8px;animation:pulse 1.4s infinite}
.status-dot.ok{background:var(--ok);animation:none}
@keyframes pulse{50%{opacity:.35}}
.lane{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.lane .l{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:.85rem;color:var(--ink-2)}
.lane .l b{display:block;color:var(--ink);font-size:.9rem}
.lane .l .ic{color:var(--brand)}

.tracker{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:14px 0}
.tracker i{height:8px;border-radius:99px;background:var(--line);display:block}
.tracker i.on{background:var(--ok)}
.tracker i.cur{background:var(--brand)}
.tracker-lbl{display:flex;justify-content:space-between;font-size:.72rem;color:var(--ink-3);margin-top:-6px}

.proc-steps{display:grid;gap:12px;margin:18px 0}
.proc-step{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;transition:.3s}
.proc-step .dot{width:30px;height:30px;border-radius:50%;background:var(--line-2);color:var(--ink-3);display:grid;place-items:center;flex:none}
.proc-step.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
.proc-step.on .dot{background:var(--brand);color:#fff}
.proc-step.done .dot{background:var(--ok);color:#fff}
.proc-step small{display:block;color:var(--ink-2)}
.spinner{width:16px;height:16px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.progressbar{height:8px;background:var(--line);border-radius:99px;overflow:hidden}
.progressbar>i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#8b8bff);width:0;transition:width .6s}

/* forms */
label.fld{display:block;font-weight:650;font-size:.92rem;margin-bottom:6px}
input.txt,select.txt{width:100%;font:inherit;padding:.85em 1em;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
input.txt:focus,select.txt:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
.or{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:.85rem;margin:14px 0}
.or:before,.or:after{content:"";height:1px;background:var(--line);flex:1}
.consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:90;max-width:560px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px 18px;border-radius:18px;background:#14132b;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.consent[hidden]{display:none}.consent p{flex:1 1 240px;margin:0}.consent a{color:#fff}
.consent div{display:flex;gap:8px}.consent button{font:inherit;font-weight:600;border-radius:999px;padding:.55em 1.1em;cursor:pointer;border:1.5px solid rgba(255,255,255,.3);background:transparent;color:#fff}
.consent button.ok{background:#4B4BF8;border-color:#4B4BF8}
.code-in{font-size:1.5rem;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}
.social{display:grid;gap:10px}
.social .plogo{width:1.15em;height:1.15em;flex:none;margin-right:.25em}
.next-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.next-strip div{font-size:.82rem;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.next-strip b{display:block;color:var(--ink)}

/* ---------- result ---------- */
.result-top{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);padding:34px 0 8px}
.ready-banner{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.ready-badge{width:52px;height:52px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px rgba(14,159,110,.35)}
.ready-badge .ic{width:1.6em;height:1.6em;stroke-width:2.6}
.ready-badge.warn{background:#F59E0B;box-shadow:0 8px 20px rgba(245,158,11,.35)}
.quality{border-left:6px solid var(--ok)}
.quality.check{border-left-color:#F59E0B}
.qrows{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-top:8px}
.qrow{display:flex;gap:.6em;align-items:flex-start;font-size:.95rem}
.qrow .ic{margin-top:.25em}
.qrow.ok .ic{color:var(--ok)}
.qrow.warn .ic{color:#D97706}
.result-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:start}
.viewer-lt{border-radius:14px;background:radial-gradient(circle at 50% 30%,#3a3696 0%,#15123f 75%);position:relative;overflow:hidden;height:380px}
.viewer-lt canvas{display:block;width:100%;height:100%}
.vbar{position:absolute;top:10px;left:10px;display:flex;gap:6px;z-index:2}
.vbar button{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:.3em .8em;font-size:.8rem;font-weight:600}
.vbar button.on{background:#fff;color:var(--ink)}
.vcap{position:absolute;left:12px;bottom:8px;font-size:.72rem;color:#c8c9ee;z-index:2;pointer-events:none}
table.meas{width:100%;border-collapse:collapse;font-size:.92rem}
table.meas th,table.meas td{padding:.55em .5em;border-bottom:1px solid var(--line-2);text-align:right}
table.meas th:first-child,table.meas td:first-child{text-align:left}
table.meas th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
table.meas td.code{font-weight:700;color:var(--ink-2);width:3.5em;text-align:left}
table.meas td.nm{text-align:left}
table.meas tr.grp td{background:var(--bg);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);text-align:left}
table.meas tr.flag td{background:#FFF7E6}
.star{color:var(--brand);font-size:.85em;margin-left:.2em}
.tip-i{display:inline-block;width:1.15em;height:1.15em;line-height:1.15em;text-align:center;border-radius:50%;background:var(--brand-50);color:var(--brand);font-size:.72rem;font-weight:800;cursor:help;margin-left:.35em;position:relative}
.tip-i:hover:after,.tip-i:focus:after{content:attr(data-tip);position:absolute;z-index:20;left:50%;bottom:130%;transform:translateX(-30%);width:250px;background:var(--ink);color:#fff;padding:.6em .8em;border-radius:10px;font-weight:500;font-size:.78rem;line-height:1.35;text-align:left;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.art-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.proj-box{display:flex;gap:14px;align-items:flex-start}
.proj-box .imgs{display:flex;gap:6px;background:#F3F4FB;border-radius:12px;padding:10px;flex:none}
.proj-box img{height:220px;width:auto;display:block}
.legend{width:100%;height:12px;border-radius:6px;background:linear-gradient(90deg,#26207a 0%,#4b4bf8 9%,#2eaae6 26%,#6ed696 49%,#fad65a 74%,#ee6e46 100%);margin:6px 0 2px}
.legend-lbl{display:flex;justify-content:space-between;font-size:.72rem;color:var(--ink-2)}
.files{display:grid;gap:8px}
.file{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.file .ico{width:36px;height:36px;border-radius:10px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;flex:none}
.file b{display:block;font-size:.93rem}
.file span{font-size:.78rem;color:var(--ink-2)}
.file .btn{margin-left:auto;padding:.45em .9em;font-size:.85rem}
.usecase-panel{border:2px solid var(--brand-100);background:linear-gradient(180deg,#fff 0,#FAFAFF 100%)}
.map-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:8px}
.map-table th,.map-table td{padding:.5em .6em;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.map-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.sticky-next{position:sticky;bottom:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-top:1px solid var(--line);padding:14px 0}
.sticky-next .container{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.sticky-next .txt{flex:1;min-width:220px}
.sticky-next b{display:block}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.tabs button{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:.4em 1em;font-weight:650;font-size:.88rem;color:var(--ink-2)}
.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.sample-banner{background:var(--navy-2);color:#e4e5ff;padding:10px 0;font-size:.9rem}
.sample-banner .container{display:flex;gap:14px;align-items:center;flex-wrap:wrap}

/* choices */
.choice-grid{display:grid;gap:14px;margin-top:18px}
.choice{display:flex;gap:16px;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:18px 20px;text-align:left;width:100%;color:inherit;transition:.15s}
.choice:hover{border-color:var(--brand);box-shadow:var(--shadow)}
.choice.primary{border-color:var(--brand);background:linear-gradient(180deg,#fff,#F5F5FF);box-shadow:0 0 0 3px var(--brand-100)}
.choice .ico{width:52px;height:52px;border-radius:14px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;flex:none}
.choice .ico .ic{width:1.5em;height:1.5em}
.choice b{display:block;font-size:1.08rem}
.choice span{color:var(--ink-2);font-size:.92rem}

/* send link */
.send-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}
.msgbox{background:#F3F4FB;border-radius:12px;padding:14px 16px;font-size:.92rem;white-space:pre-wrap;border:1px solid var(--line)}
.linkrow{display:flex;gap:8px;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:6px 6px 6px 14px}
.linkrow code{min-width:0;flex:1;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* buy */
.pack{display:flex;gap:16px;align-items:center;justify-content:space-between;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:18px 20px;flex-wrap:wrap}
.pack.rec{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
.pack .big{font-size:1.6rem;font-weight:800}
.pack .desc b{display:block;font-size:1.1rem}
.rule-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:grid;gap:8px;margin:16px 0}
.rule-box .r{display:flex;gap:10px;align-items:baseline}
.rule-box .r b{min-width:14em}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:.4em 1em;font-weight:650;font-size:.9rem;color:var(--ink-2)}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
table.plans{width:100%;border-collapse:collapse;font-size:.92rem}
table.plans td,table.plans th{padding:.6em .7em;border-bottom:1px solid var(--line-2);text-align:left}
table.plans th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}

.modal-bg{position:fixed;inset:0;background:rgba(11,10,34,.55);z-index:200;display:grid;place-items:center;padding:20px}
.modal{background:#fff;border-radius:18px;max-width:440px;width:100%;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.modal h3{font-size:1.3rem}

/* ---------- portal shell (post activation) ---------- */
.portal{display:grid;grid-template-columns:236px 1fr;min-height:100vh}
.side{background:#fff;border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh}
.side .logo{color:var(--ink)!important;padding:4px 10px 18px}
.side a.nav{display:flex;gap:.7em;align-items:center;padding:.65em .8em;border-radius:10px;color:var(--ink-2);font-weight:600;text-decoration:none}
.side a.nav:hover{background:var(--bg)}
.side a.nav.on{background:var(--brand-50);color:var(--brand-d)}
.side .foot{margin-top:auto;font-size:.82rem;color:var(--ink-2);padding:10px}
.pmain{padding:28px 32px 80px;max-width:1100px;min-width:0}
.ptop{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.ptop h1{font-size:1.7rem;margin:0}
.mobile-nav{display:none}
.act-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}
.act-grid.wide{grid-template-columns:1.6fr .8fr}
.start-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
.act{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.act.hero-act{background:linear-gradient(135deg,var(--navy-2),var(--navy-3));color:#fff;border:0}
.act.hero-act p{color:#d7d8f5;margin:0}
.act .ico{width:46px;height:46px;border-radius:12px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center}
.act.hero-act .ico{background:rgba(255,255,255,.12);color:#fff}
.credit-num{font-size:2.6rem;font-weight:800;letter-spacing:-.02em;line-height:1}
table.list{width:100%;border-collapse:collapse}
table.list th,table.list td{padding:.8em .7em;border-bottom:1px solid var(--line-2);text-align:left;font-size:.93rem}
table.list th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.8em 1.2em;border-radius:12px;z-index:400;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.3);animation:tin .25s}
@keyframes tin{from{opacity:0;transform:translate(-50%,10px)}}

/* ---------- phone dock ---------- */
.phone-dock{position:fixed;right:20px;bottom:16px;z-index:150;display:none;flex-direction:column;align-items:center;gap:8px}
body.phone-open .phone-dock{display:flex}
.phone-tools{display:flex;gap:8px;align-items:center;background:var(--ink);color:#fff;border-radius:999px;padding:.35em .5em .35em .9em;font-size:.78rem;font-weight:600}
.phone-tools button{background:rgba(255,255,255,.15);border:0;color:#fff;border-radius:999px;padding:.25em .8em;font-size:.76rem;font-weight:650}
.phone-tools button:hover{background:rgba(255,255,255,.28)}
.phone-frame{width:346px;height:706px;background:#0a0a12;border-radius:46px;padding:10px;box-shadow:0 30px 70px rgba(11,10,34,.5),inset 0 0 0 2px #2a2a3a;transform-origin:bottom center;transform:scale(var(--pscale,1))}
.phone-screen{width:100%;height:100%;border-radius:36px;overflow:hidden;background:#0A0920;color:#fff;position:relative;display:flex;flex-direction:column}
.phone-frame .notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:110px;height:26px;background:#0a0a12;border-radius:0 0 16px 16px;z-index:5}
@media(min-width:1180px){
  body.phone-open .flow-main,body.phone-open .result-wrap,body.phone-open .pmain{margin-right:390px}
  body.phone-open .flow-header .container{padding-right:400px}
}
/* phone UI (shared by dock and full-screen) */
.pm{display:flex;flex-direction:column;height:100%;font-size:15px}
.pm .status{height:44px;flex:none;display:flex;justify-content:space-between;align-items:flex-end;padding:0 26px 4px;font-size:12px;font-weight:600;color:#e9e9ff}
.pm .top{flex:none;padding:6px 18px 8px}
.pm .body{flex:1;overflow:auto;padding:6px 18px 16px;display:flex;flex-direction:column}
.pm .foot{flex:none;padding:10px 18px 18px}
.pm h2{font-size:1.5rem;color:#fff;margin:.2em 0 .35em}
.pm h3{color:#fff}
.pm p{color:#c9caee}
.pm .btn-primary{width:100%;padding:1em;font-size:1rem}
.pm .btn-2{display:flex;width:100%;justify-content:center;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.85em;font-weight:650;margin-top:8px}
.pm .card-d{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:14px;margin:8px 0}
.pm .conn{display:inline-flex;gap:.5em;align-items:center;background:rgba(14,159,110,.2);color:#7ff0c3;border-radius:999px;padding:.3em .8em;font-size:.78rem;font-weight:650}
.pm .ptrack{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.pm .ptrack i{height:5px;border-radius:9px;background:rgba(255,255,255,.2)}
.pm .ptrack i.on{background:#3DDC97}
.pm .ptrack i.cur{background:#8b8bff}
.pm .plabel{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px}
.pm .plabel b{font-size:1.02rem}
.pm .plabel span{font-size:.8rem;color:#b5b6e0}
.pm ul.chk-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}
.pm ul.chk-list li{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.07);border-radius:12px;padding:10px 12px;font-size:.92rem;cursor:pointer}
.pm ul.chk-list li .box{width:22px;height:22px;border-radius:7px;border:2px solid rgba(255,255,255,.4);display:grid;place-items:center;flex:none}
.pm ul.chk-list li.on .box{background:#3DDC97;border-color:#3DDC97;color:#053b25}
.pm .venue{position:relative;background:#1a1730;border-radius:18px;height:255px;overflow:hidden;border:1px solid rgba(255,255,255,.14);perspective:520px}
.pm .floor{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 22px,transparent 22px 44px),linear-gradient(180deg,#4a3f36,#2b241f);transition:transform .6s}
.pm .scene{position:absolute;left:50%;top:50%;width:190px;height:270px;margin:-135px 0 0 -95px;transform-style:preserve-3d;transition:transform .6s}
.pm .paper{position:absolute;inset:0;background:#f4f4f1;border-radius:2px;box-shadow:0 4px 18px rgba(0,0,0,.5)}
.pm .paper:after{content:"A4";position:absolute;right:8px;bottom:5px;font-size:10px;color:#b0b0a8;font-weight:700}
.pm .scene .foot-svg{position:absolute;left:50%;top:50%;width:78px;margin:-100px 0 0 -39px;opacity:.9}
.pm .frame{position:absolute;inset:14px;pointer-events:none}
.pm .frame i{position:absolute;width:26px;height:26px;border:3px solid rgba(255,255,255,.85);transition:.3s}
.pm .frame i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-top-left-radius:8px}
.pm .frame i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-top-right-radius:8px}
.pm .frame i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-bottom-left-radius:8px}
.pm .frame i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-bottom-right-radius:8px}
.pm .frame.ok i{border-color:#3DDC97}
.pm .frame.bad i:nth-child(3),.pm .frame.bad i:nth-child(4){border-color:#FF6B5E}
.pm .hud{position:absolute;left:10px;top:10px;display:flex;flex-direction:column;gap:5px;z-index:3}
.pm .hud span{font-size:.72rem;font-weight:700;background:rgba(0,0,0,.55);border-radius:99px;padding:.2em .7em;display:inline-flex;gap:.4em;align-items:center;color:#fff;width:max-content}
.pm .hud span.ok{color:#7ff0c3}
.pm .hud span.bad{color:#ff9a90}
.pm .flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:6}
.pm .flash.go{animation:fl .35s}
@keyframes fl{0%{opacity:.9}100%{opacity:0}}
.pm .shutter-row{display:flex;justify-content:center;padding:6px 0 2px}
.pm .shutter{width:70px;height:70px;border-radius:50%;border:4px solid #fff;background:transparent;padding:5px}
.pm .shutter i{display:block;width:100%;height:100%;border-radius:50%;background:#fff}
.pm .shutter:active i{background:#cfcfff}
.pm .diag{background:rgba(255,255,255,.07);border-radius:14px;padding:8px;display:flex;gap:10px;align-items:center;margin:8px 0}
.pm .diag svg{flex:none;width:96px;height:96px}
.pm .diag div{font-size:.84rem;color:#d7d8f5;line-height:1.35}
.pm .diag b{color:#fff}
.pm .checks{display:grid;gap:7px;margin:8px 0}
.pm .checks .c{display:flex;gap:9px;align-items:center;font-size:.92rem;color:#c9caee;opacity:.4;transition:.25s}
.pm .checks .c.show{opacity:1}
.pm .checks .c .ic{color:#3DDC97}
.pm .checks .c.bad .ic{color:#FF6B5E}
.pm .checks .c.bad{color:#ffb4ad}
.pm .thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}
.pm .thumbs div{aspect-ratio:1;border-radius:10px;background:linear-gradient(135deg,#3a3560,#1d1a3f);display:grid;place-items:center;color:#7ff0c3;position:relative;font-size:.7rem}
.pm .thumbs div small{position:absolute;bottom:3px;left:6px;color:#c9caee;font-size:.62rem}
.pm .store{background:#fff;color:#111;border-radius:0;flex:1;display:flex;flex-direction:column}
.pm .store .st-head{padding:12px 18px;display:flex;gap:14px;align-items:center}
.pm .store .st-ico{width:72px;height:72px;border-radius:17px;background:linear-gradient(135deg,#171442,#4B4BF8);display:grid;place-items:center;color:#fff;font-weight:800;font-size:.6rem;letter-spacing:.1em}
.pm .store .get{background:#0A84FF;color:#fff;border:0;border-radius:99px;padding:.4em 1.4em;font-weight:700}
.pm .store h3{color:#111}
.pm .store p{color:#555}
.pm .sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;color:#111;border-radius:22px 22px 0 0;padding:18px;z-index:8;box-shadow:0 -10px 30px rgba(0,0,0,.4)}
.pm .cam{background:#000;position:relative;flex:1;display:grid;place-items:center}
.pm .qr-in-cam{width:150px;background:#fff;padding:8px;border-radius:8px}
.pm .qr-banner{position:absolute;left:14px;right:14px;bottom:34px;background:rgba(255,255,255,.95);color:#111;border-radius:16px;padding:12px 14px;display:flex;gap:10px;align-items:center;font-weight:650;font-size:.9rem;border:0;text-align:left}
.pm .qr-banner .a{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#171442,#4B4BF8);flex:none}
.pm .qr-banner small{display:block;font-weight:500;color:#555}
.pm .sel{width:100%;font:inherit;padding:.8em 1em;border-radius:12px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.22);color:#fff;margin-bottom:8px}
.pm .sel option{color:#111}
.pm .lbl{font-size:.8rem;color:#b5b6e0;margin:8px 0 4px;font-weight:650}
.pm .big-check{width:84px;height:84px;border-radius:50%;background:#0E9F6E;display:grid;place-items:center;margin:14px auto;box-shadow:0 0 0 10px rgba(14,159,110,.2)}
.pm .big-check .ic{width:2.6em;height:2.6em;stroke-width:3;color:#fff}
.pm .tiny{font-size:.75rem;color:#9fa0cc}
.pm .pd{margin-top:6px}
/* full-screen phone route */
body.phone-full{background:#0A0920}
.pfull{max-width:480px;margin:0 auto;height:100vh;height:100dvh;background:#0A0920;color:#fff;position:relative;display:flex;flex-direction:column;overflow:hidden}
.pfull .pm .status{display:none}
.pfull .pm .top{padding-top:14px}

/* ---------- prototype drawer ---------- */
.proto-btn{position:fixed;left:14px;bottom:14px;z-index:300;background:#111;color:#fff;border:0;border-radius:999px;padding:.55em 1em;font-weight:700;font-size:.82rem;box-shadow:0 8px 24px rgba(0,0,0,.35);display:flex;gap:.5em;align-items:center}
.proto-btn:before{content:"";width:8px;height:8px;border-radius:50%;background:#F59E0B}
.drawer{position:fixed;left:0;top:0;bottom:0;width:min(400px,100vw);background:#111322;color:#e5e7f5;z-index:310;overflow:auto;padding:18px;box-shadow:12px 0 40px rgba(0,0,0,.4);font-size:.88rem}
.drawer h4{margin:18px 0 8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#8b90b8}
.drawer .x{position:absolute;right:12px;top:10px;background:none;border:0;color:#fff;font-size:1.4rem}
.drawer .jump{display:grid;gap:4px}
.drawer .jump button{background:#1c1f38;border:1px solid #2b2f52;color:#e5e7f5;border-radius:10px;padding:.5em .8em;text-align:left;font-weight:600}
.drawer .jump button:hover{border-color:var(--brand)}
.drawer .jump button small{color:#8b90b8;font-weight:500;margin-left:.4em}
.drawer .tog{display:flex;justify-content:space-between;align-items:center;padding:.4em 0}
.drawer select{background:#1c1f38;color:#fff;border:1px solid #2b2f52;border-radius:8px;padding:.3em .5em}
.drawer .ev{font-family:ui-monospace,Menlo,monospace;font-size:.74rem;line-height:1.5;max-height:240px;overflow:auto;background:#0b0d1a;border-radius:10px;padding:8px}
.drawer .ev div b{color:#8b8bff}
.drawer .pdl{display:grid;gap:8px}
.drawer .pdl div{background:#1c1f38;border-radius:10px;padding:.6em .8em}
.drawer .pdl b{color:#FFD65C}
.drawer .pdl div.hl{outline:2px solid #FFD65C}

/* ---------- responsive ---------- */
@media(max-width:1020px){
  .hero-grid{grid-template-columns:1fr}
  .usecases{grid-template-columns:repeat(2,1fr)}
  .result-grid,.art-grid,.trust,.send-grid,.act-grid,.act-grid.wide,.start-grid{grid-template-columns:1fr}
  .fit-grid,.price-grid{grid-template-columns:1fr}
  .pipeline{grid-template-columns:1fr 1fr;gap:16px}
  .pipe{margin-right:0}
  .pipe:after{display:none!important}
}
@media(max-width:820px){
  .site-nav a:not(.btn):not([data-act=login]){display:none}
  .site-nav{gap:18px}
  table.meas td{white-space:nowrap}
  .portal{grid-template-columns:1fr}
  .side{display:none}
  .mobile-nav{display:flex;gap:6px;overflow:auto;background:#fff;border-bottom:1px solid var(--line);padding:8px 12px;position:sticky;top:0;z-index:40}
  .mobile-nav a{padding:.45em .9em;border-radius:99px;font-weight:650;font-size:.88rem;color:var(--ink-2);white-space:nowrap;text-decoration:none}
  .mobile-nav a.on{background:var(--brand-50);color:var(--brand-d)}
  .pmain{padding:20px 16px 80px}
  .handover{grid-template-columns:1fr;justify-items:center;text-align:center}
  .needs,.qrows,.lane,.next-strip{grid-template-columns:1fr}
  .stepper .st span{display:none}
  .stepper .st.on span{display:inline}
  .flow-help{display:none}
  .proj-box{flex-direction:column}
  .rule-box .r{flex-direction:column;gap:0}
  .rule-box .r b{min-width:0}
  .viewer-lt{height:320px}
  .phone-dock{right:50%;transform:translateX(50%)}
  .drawer{width:100vw}
  .proto-btn{font-size:0;padding:.9em;left:10px;bottom:10px;opacity:.9}
  .proto-btn:before{width:10px;height:10px}
}
@media(max-width:560px){
  .usecases{grid-template-columns:1fr 1fr}
  .container{padding:0 16px}
  h1{font-size:1.9rem}
}
@media print{.proto-btn,.phone-dock,.sticky-next,.site-header,.site-footer{display:none!important}}

/* shop code box + replica of the app's first screen */
.codebox{display:flex;align-items:center;gap:14px;background:#FFF9DB;border:2px solid #F5B700;border-radius:16px;padding:10px 12px 10px 18px;margin:8px 0 6px;width:max-content;max-width:100%}
.codebox span{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7a4b00}
.codebox b{font-size:1.9rem;letter-spacing:.16em;font-family:ui-monospace,Menlo,Consolas,monospace;color:#111}
.codebox .btn{padding:.45em .9em;font-size:.85rem}
.code-inline{background:#FFF1B8;border:1px solid #F0D064;border-radius:6px;padding:.05em .5em;font-family:ui-monospace,Menlo,monospace;font-weight:800;letter-spacing:.1em}
.sc-grid{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.sc-list{margin:.3em 0 0;padding-left:1.3em}.sc-list li{margin:.4em 0}
.appmock{width:250px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px 16px 16px;box-shadow:var(--shadow);color:#111;flex:none}
.appmock.small{width:170px;padding:10px 11px 11px;border-radius:18px;font-size:.78em}
.am-top{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem}
.am-logo{font-size:1.05rem;color:#111;display:inline-flex;align-items:center}
.am-logo .wm{height:.85em;width:auto;display:block}
.am-title{color:#4B4BF8;font-weight:800;font-size:1.25rem;text-align:center;margin:12px 0 10px}
.am-f{position:relative;border:1.5px solid #8a8a93;border-radius:12px;padding:14px 34px 8px 12px;margin:13px 0}
.am-f i{position:absolute;top:-9px;left:10px;background:#fff;padding:0 4px;font-size:.7rem;color:#555;font-style:normal}
.am-f span{color:#6f63e8;font-size:.88rem}
.am-f.hl{border-color:#F5B700;box-shadow:0 0 0 3px #FFF1B8}
.am-f span.code{font-weight:800;letter-spacing:.14em;color:#111;font-size:1.1rem;font-family:ui-monospace,Menlo,monospace}
.am-n{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-size:.7rem;display:grid;place-items:center}
.am-f.hl .am-n{background:#D89A00}
.am-cnt{text-align:right;font-size:.7rem;color:#555;margin:-6px 4px 10px}
.am-next{display:flex;justify-content:space-between;background:#4B4BF8;color:#fff;border-radius:12px;padding:.7em 1em;font-weight:700;font-size:.9rem}
/* the app's real first screen, inside the simulated phone */
.pm-light{background:#fff;color:#111;display:flex;flex-direction:column;height:100%}
.pm-light .li-top{display:flex;justify-content:space-between;align-items:center;padding:10px 20px 0;font-size:1.2rem}
.pm-light .li-title{color:#4B4BF8;font-weight:800;font-size:1.3rem;text-align:center;margin:12px 0 4px}
.pm-light .li-body{flex:1;padding:6px 18px;overflow:auto}
.pm-light .li-f{position:relative;border:1.5px solid #8a8a93;border-radius:12px;margin:14px 0 4px}
.pm-light .li-f i{position:absolute;top:-9px;left:10px;background:#fff;padding:0 4px;font-size:.72rem;color:#555;font-style:normal;z-index:1}
.pm-light .li-f input{width:100%;border:0;background:transparent;padding:.9em .8em .65em;font:inherit;color:#4B3FD8;outline:none;border-radius:12px}
.pm-light .li-f.err{border-color:#D4271F}
.pm-light .li-cnt{text-align:right;font-size:.72rem;color:#555;margin:2px 4px}
.pm-light .li-err{color:#D4271F;font-size:.84rem;margin-top:6px}
.pm-light .li-foot{padding:10px 18px 18px}
.pm-light .li-next{display:flex;justify-content:space-between;width:100%;background:#4B4BF8;color:#fff;border:0;border-radius:14px;padding:1em 1.2em;font-weight:700;font-size:1rem;box-shadow:0 6px 16px rgba(75,75,248,.35)}
@media(max-width:820px){.sc-grid{grid-template-columns:1fr;justify-items:center}.codebox b{font-size:1.5rem}}

/* Basic vs Pro comparison */
.plan-cmp{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 8px;text-align:left}
.plan-cmp .pc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.plan-cmp .pc.rec,.plan-cmp .pc.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}
.plan-cmp .pc-pick{display:block;cursor:pointer;transition:border-color .15s}
.plan-cmp .pc-pick:not(.on):hover{border-color:var(--brand-100)}
.plan-cmp .pc-pick:focus-within{outline:2px solid var(--brand);outline-offset:2px}
.plan-cmp .pc-name{display:inline-flex;align-items:center;gap:8px}
.plan-cmp .pc-radio{accent-color:var(--brand);width:18px;height:18px;margin:0}
.plan-cmp .pc-h{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:1.1rem}
.plan-cmp .pc-s{margin:.2em 0 .6em;color:var(--ink-2);font-weight:600}
.plan-cmp ul{margin:0 0 .8em;padding-left:1.2em}
.plan-cmp li{margin:.2em 0}
.plan-cmp .pc-f{margin:0;color:var(--ink-3);font-size:.88rem}
.plan-note{margin:.2em 0 0}
@media(max-width:640px){.plan-cmp{grid-template-columns:1fr}}

/* legal pages */
.legal{padding:40px 0 64px}
.legal h1{font-size:2rem;line-height:1.2;margin:.2em 0 .3em;text-wrap:balance}
.legal h2{font-size:1.2rem;margin:1.8em 0 .5em}
.legal h3{font-size:1rem;margin:1.2em 0 .4em}
.legal p,.legal li{line-height:1.6;max-width:68ch}
.legal ul{padding-left:1.2em}
.legal-draft{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:10px 14px;font-weight:600}
.legal-open{background:#FFF3A3;color:var(--ink);padding:0 .25em;border-radius:3px}

/* ===================================================================
   Brand layer (Oct 2026): aligns the portal with the new www.scansoles.com
   (Poppins, indigo/night palette, calm sections, no decorative clutter).
   =================================================================== */
@font-face{font-family:"Poppins";font-weight:300;font-display:swap;src:url("/ss/fonts/poppins-300.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:400;font-display:swap;src:url("/ss/fonts/poppins-400.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:500;font-display:swap;src:url("/ss/fonts/poppins-500.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:600;font-display:swap;src:url("/ss/fonts/poppins-600.woff2") format("woff2")}
:root{
  --ink:#14132b; --ink-2:#4a4a63; --ink-3:#7a7a92; --line:#e6e6f0; --line-2:#efeff6; --bg:#f7f7fb;
  --brand:#4f39f6; --brand-d:#4127e8; --brand-50:#efedff; --brand-100:#dedaff;
  --navy:#0b0a22; --navy-2:#15123d; --navy-3:#050412; --indigo-l:#a9a6ff;
  --radius:16px; --shadow:0 1px 2px rgba(20,19,43,.04),0 10px 30px -18px rgba(20,19,43,.18);
  --font:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
body{font-size:15.5px;line-height:1.65}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em}
h1{letter-spacing:-.03em}
h3{font-weight:600}
.muted{color:var(--ink-2)}
.btn{font-weight:600;letter-spacing:0;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--brand);box-shadow:0 14px 30px -14px rgba(79,57,246,.85)}
.btn-primary:hover{background:var(--brand-d)}
.btn-lg{font-size:15px;height:52px;padding:0 26px}
.btn-on-dark{background:transparent;border-color:rgba(255,255,255,.26)}
.btn-on-dark:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.6)}
.card{border-radius:var(--radius)}
.eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.16em;color:var(--brand)}

/* header */
.site-header{background:rgba(11,10,34,.92);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}
.site-header .container{height:72px}
.site-nav{gap:28px}
.site-nav a{color:rgba(255,255,255,.72);padding:0;font-weight:500;font-size:14px;border-radius:0}
.site-nav a:hover{background:none;color:#fff}
.site-nav .btn{height:40px;padding:0 18px;font-size:13.5px;color:#fff;border-radius:999px}
.logo small{font-weight:500;font-size:.8em;letter-spacing:.04em}

/* hero */
.hero-brand{position:relative;overflow:hidden;isolation:isolate;padding:0;
  background:radial-gradient(760px 520px at 72% 46%,rgba(98,95,255,.34),transparent 66%),radial-gradient(520px 360px at 92% 90%,rgba(152,16,250,.2),transparent 70%),linear-gradient(165deg,var(--navy-2) 0%,var(--navy) 55%,var(--navy-3) 100%)}
.hero-brand:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;background-image:linear-gradient(rgba(169,166,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(169,166,255,.07) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(70% 70% at 70% 50%,#000,transparent);mask-image:radial-gradient(70% 70% at 70% 50%,#000,transparent)}
.hero-brand .hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.95fr);gap:32px;min-height:min(calc(100svh - 160px),720px);padding-top:56px;padding-bottom:72px}
.hero-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 12px;border-radius:999px;font-size:13px;font-weight:500;color:#d6d5ff;background:rgba(255,255,255,.05);border:1px solid rgba(169,166,255,.28)}
.hero-pill i{width:7px;height:7px;border-radius:50%;background:#625fff;box-shadow:0 0 0 4px rgba(98,95,255,.28)}
.hero-brand h1{font-size:clamp(34px,3.5vw,50px);line-height:1.08;margin:24px 0 20px;text-wrap:balance}
.hero-brand h1 em{font-style:normal;background:linear-gradient(92deg,#b9b6ff,#7f7bff 55%,#c38bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-brand .lead{font-size:clamp(16px,1.3vw,18px);font-weight:300;color:rgba(255,255,255,.78);max-width:31em}
.hero-brand .hero-cta{margin-top:32px}
.hero-brand .hero-micro{margin-top:18px;color:rgba(255,255,255,.6);font-size:13.5px;gap:22px}
.hero-brand .hero-micro .ic{color:var(--indigo-l)}
.hero-brand .hero-visual{position:relative}
.hero-brand .hero-visual .scan{width:112%;max-width:none;height:auto;display:block;filter:drop-shadow(0 50px 60px rgba(0,0,0,.55));animation:ssfloat 10s ease-in-out infinite}
.hero-brand .hero-visual:after{content:"";position:absolute;left:10%;right:4%;bottom:-2%;height:12%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(98,95,255,.55),transparent);filter:blur(18px)}
@keyframes ssfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media (prefers-reduced-motion:reduce){.hero-brand .hero-visual .scan{animation:none}}

/* stats strip */
.stats{background:var(--navy-3);color:#fff;border-top:1px solid rgba(255,255,255,.06)}
.stats .container{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:40px 24px;border-left:1px solid rgba(255,255,255,.08)}
.stat:first-child{border-left:0;padding-left:0}
.stat b{display:block;font-size:clamp(34px,3.6vw,50px);font-weight:600;letter-spacing:-.03em;line-height:1;background:linear-gradient(180deg,#fff,#b9b6ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{display:block;margin-top:12px;font-size:13.5px;color:rgba(255,255,255,.62);max-width:15em}
.stats .note{grid-column:1/-1;font-size:12px;color:rgba(255,255,255,.4);margin:0;padding:0 0 22px}

/* sections */
section.block{padding:clamp(72px,8vw,112px) 0}
section.block.alt{background:var(--bg);border:0}
section.block:not(.alt){background:#fff}
.sec-head{margin-bottom:clamp(36px,4vw,56px)}
.sec-head h2{font-size:clamp(28px,3.2vw,42px);line-height:1.12;margin:12px 0 14px;text-wrap:balance}
.sec-head p{font-weight:300;font-size:17px}

/* how it works: numbered columns instead of boxed cards */
.pipeline{gap:0;border-top:1px solid var(--line)}
.pipe{background:none;border:0;border-radius:0;box-shadow:none;margin:0;padding:28px 28px 0 0}
.pipe:not(:last-child):after{display:none}
.pipe .n{background:var(--brand-50);width:44px;height:44px;border-radius:12px;margin-bottom:18px}
.pipe b{font-size:16px;font-weight:600;margin-bottom:6px}
.pipe p{font-weight:300;font-size:14.5px}

/* use-case chooser (light) */
#fit .usecases{max-width:900px;margin:0 auto 28px;grid-template-columns:repeat(4,1fr)}
#fit .uc{background:#fff;border:1.5px solid var(--line);color:var(--ink);padding:18px 16px;border-radius:14px}
#fit .uc:hover{border-color:var(--brand-100);background:#fff}
#fit .uc .ic{color:var(--brand)}
#fit .uc span{color:var(--ink-3)}
#fit .uc[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset,0 14px 30px -18px rgba(79,57,246,.6)}
.fit-col{box-shadow:none}

/* pricing, faq, trust */
.price-card{box-shadow:none}
.price-card .big{font-weight:600;letter-spacing:-.02em}
details.faq{box-shadow:none}
.trust .card{box-shadow:none}

/* closing call-to-action */
.hero.dark:not(.hero-brand){background:radial-gradient(520px 320px at 85% 20%,rgba(98,95,255,.4),transparent 70%),linear-gradient(160deg,var(--navy-2),var(--navy-3))}
.hero.dark:not(.hero-brand) .lead{font-weight:300;color:rgba(255,255,255,.72)}

/* footer */
.site-footer{background:var(--navy-3);color:rgba(255,255,255,.56);font-size:14px;padding:56px 0 30px}
.site-footer a{color:rgba(255,255,255,.72)}
.site-footer a:hover{color:#fff}
.site-footer .ft-top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
.site-footer .ft-top p{margin:14px 0 0}
.site-footer nav{display:flex;gap:28px;flex-wrap:wrap}
.site-footer .ft-bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

/* portal: calmer cards and navigation */
.portal .side{background:#fff}
.portal .card{box-shadow:none}
.hero-act{background:radial-gradient(420px 260px at 85% 10%,rgba(98,95,255,.45),transparent 70%),linear-gradient(160deg,var(--navy-2),var(--navy-3))!important}

@media (max-width:900px){
  .hero-brand .hero-grid{grid-template-columns:1fr;min-height:0;padding-top:24px;padding-bottom:56px;gap:4px}
  .hero-brand .hero-visual{order:-1}
  .hero-brand .hero-visual .scan{width:100%;max-width:640px;margin:0 auto}
  .site-nav a:not(.btn):not([data-act=login]){display:none}
  .site-nav{gap:18px}
  table.meas td{white-space:nowrap}
  .stats .container{grid-template-columns:1fr 1fr}
  .stat{padding:28px 16px}
  .stat:nth-child(3){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.08)}
  .pipeline{grid-template-columns:1fr 1fr;gap:0 24px}
  #fit .usecases{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .pipeline{grid-template-columns:1fr}
  .pipe{padding-right:0}
  .site-footer nav{gap:18px}
}

/* 3D viewer: light neutral stage, matte model (geometry first, no gloss) */
.viewer-lt{background:radial-gradient(120% 90% at 50% 30%,#ffffff 0%,#eceef4 55%,#dfe2ea 100%);border:1px solid var(--line)}
.vbar{flex-wrap:wrap;align-items:center;right:10px}
.vbar button{background:rgba(255,255,255,.92);border:1px solid #d5d8e3;color:var(--ink-2);font-weight:500}
.vbar button:hover{border-color:#aeb3c6;color:var(--ink)}
.vbar button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.vbar .vsep{width:1px;height:18px;background:#cdd1dc;margin:0 2px}

/* pricing: token = currency */
.tok-eq{max-width:980px;margin:0 auto;display:grid;gap:14px}
.tok-row{display:grid;grid-template-columns:120px 28px 190px 1fr;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 26px}
.tok-row.zero{background:transparent;border-style:dashed;padding:14px 26px}
.tok-pay{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.tok-pay b{font-size:14px;font-weight:600}
.coins{display:flex;height:46px;align-items:center}
.coin{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8f86ff 0%,#4f39f6 55%,#3422c9 100%);box-shadow:inset 0 0 0 4px rgba(255,255,255,.18),inset 0 0 0 5px rgba(20,10,90,.25),0 8px 18px -8px rgba(79,57,246,.7);position:relative}
.coin:after{content:"";position:absolute;inset:13px;border-radius:50%;border:2px solid rgba(255,255,255,.55)}
.coins .coin+.coin{margin-left:-16px}
.coin.off{background:#fff;box-shadow:inset 0 0 0 2px #c9cbd8}
.coin.off:after{inset:21px -2px;border:0;border-top:2px solid #c9cbd8;border-radius:0;transform:rotate(-45deg)}
.tok-is{font-size:28px;font-weight:300;color:var(--ink-3);text-align:center}
.tok-scan b{display:block;font-size:18px;font-weight:600}
.tok-scan span{font-size:13.5px;color:var(--ink-3)}
.tok-feet{display:flex;gap:2px;color:var(--brand);margin-bottom:4px}
.feet2{width:50px;height:31px;display:block}
.tok-gets{list-style:none;margin:0;padding:0 0 0 22px;border-left:1px solid var(--line);display:grid;gap:7px;font-size:14.5px}
.tok-gets li{display:flex;gap:10px;align-items:flex-start}
.tok-gets .ic{color:var(--brand);margin-top:.2em}
.tok-note{color:var(--ink-3);font-size:13.5px}
.price-free{max-width:980px;margin:22px auto 0;display:flex;gap:10px;align-items:center;justify-content:center;font-size:15px;color:var(--ink-2)}
.price-free .ic{color:var(--ok)}
.ladder-wrap{max-width:980px;margin:56px auto 0}
.ladder-head{text-align:center;margin-bottom:18px}
.ladder-head h3{font-size:24px;margin-bottom:4px}
.ladder{background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 26px 14px}
.lad-row{display:grid;grid-template-columns:1fr 1fr 2.4fr 1fr;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line-2);font-size:15px}
.lad-th{border-top:0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.lad-pack b{font-weight:600}
.lad-basic{position:relative;display:flex;align-items:center;gap:12px}
.lad-track{flex:0 0 58%;height:10px;border-radius:6px;background:var(--line-2);overflow:hidden}
.lad-bar{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#a9a6ff,#4f39f6)}
.lad-basic b{font-weight:600;white-space:nowrap}
.lad-pro{color:var(--ink-2);white-space:nowrap}
.lad-foot{margin:10px 0 0}
.bom{max-width:980px;margin:40px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;overflow:hidden}
.bom-in{padding:28px 30px}
.bom-in h3{font-size:22px}
.bom-in .txt{max-width:200px;font-size:18px;font-weight:600}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;gap:3px;margin-top:6px}
.seg button{border:0;background:none;border-radius:999px;padding:8px 16px;font-weight:500;font-size:14px;color:var(--ink-2)}
.seg button.on{background:var(--ink);color:#fff}
.bom-out{padding:28px 30px;color:#fff;background:radial-gradient(420px 260px at 85% 10%,rgba(98,95,255,.45),transparent 70%),linear-gradient(160deg,var(--navy-2),var(--navy-3))}
.bom-k{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--indigo-l)}
.bom-big{font-size:clamp(40px,4.4vw,56px);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:6px 0 18px}
.bom-dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
.bom-dl dt{font-size:12.5px;color:rgba(255,255,255,.55)}
.bom-dl dd{margin:2px 0 0;font-weight:500;font-size:15px}
@media (max-width:820px){
  .tok-row{grid-template-columns:auto 22px 1fr;gap:12px;padding:18px}
  .tok-gets{grid-column:1/-1;border-left:0;padding:12px 0 0;border-top:1px solid var(--line)}
  .ladder{padding:6px 16px 12px}
  .lad-row{grid-template-columns:1fr 1fr;gap:4px 12px}
  .lad-th{display:none}
  .lad-basic{grid-column:1/-1;order:3}
  .lad-basic b:after{content:" per Basic scan";font-weight:400;color:var(--ink-3)}
  .lad-track{flex:1 1 auto;min-width:50px}
  .lad-basic b{flex:none}
  .lad-pro{grid-column:1/-1;order:4;font-size:13.5px}
  .lad-pro:after{content:" per Pro scan"}
  .bom{grid-template-columns:1fr}
}
.ladder.buy .lad-row{grid-template-columns:1fr 1fr 2.2fr 1fr 84px}
.lad-buy{text-align:right}
.lad-buy .btn{padding:.5em 1.1em}
@media (max-width:820px){
  .ladder.buy .lad-row{grid-template-columns:1fr 1fr}
  .lad-buy{grid-column:1/-1;order:5;text-align:left}
}

/* phone requirements band (how it works) */
.phone-band{margin-top:48px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 32px}
.pb-head{max-width:640px;margin-bottom:20px}
.pb-head h3{font-size:22px;margin-bottom:6px}
.pb-head p{margin:0;font-weight:300}
.pb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pb-grid div{display:flex;flex-direction:column;gap:4px}
.pb-grid .ic{width:26px;height:26px;color:var(--brand);margin-bottom:6px}
.pb-grid b{font-weight:600}
.pb-grid span{font-size:14.5px;color:var(--ink-2);font-weight:300}
.store-links{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.store-links{align-items:center}
.store-links a{display:inline-block;line-height:0;border-radius:8px;transition:transform .15s}
.store-links a:hover{transform:translateY(-1px)}
.store-links img{height:44px;width:auto;display:block}
@media (max-width:820px){.pb-grid{grid-template-columns:1fr;gap:16px}.phone-band{padding:24px 20px}}
.store-row{margin:-.2em 0 .9em}.store-row .store-links{margin:.4em 0 0}
.store-badges{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.store-badges img{height:44px;width:auto;display:block;pointer-events:none;user-select:none}
.hero-apps{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hero-apps>span{font-size:13.5px;color:rgba(255,255,255,.6)}
.pb-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:20px}
.pb-top .pb-head{margin-bottom:0}
.v-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-3);font-size:14px}
.flow-header .logo{color:var(--ink)!important}

/* progress feedback: busy buttons, top bar, first-load spinner */
@keyframes ssspin{to{transform:rotate(360deg)}}
.btn.is-busy,.linkbtn.is-busy{position:relative;color:transparent!important;pointer-events:none;opacity:1}
.btn.is-busy .ic,.btn.is-busy img{visibility:hidden}
.btn.is-busy:after,.linkbtn.is-busy:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:2.5px solid rgba(20,19,43,.18);border-top-color:var(--ink);animation:ssspin .7s linear infinite}
.btn-primary.is-busy:after,.btn-on-dark.is-busy:after{border-color:rgba(255,255,255,.35);border-top-color:#fff}
.linkbtn.is-busy:after{border-top-color:var(--brand)}
#ss-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;overflow:hidden;opacity:0;transition:opacity .2s;pointer-events:none}
#ss-bar.on{opacity:1}
#ss-bar i{position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,var(--brand),#a9a6ff,transparent);animation:ssbar 1.1s ease-in-out infinite}
@keyframes ssbar{0%{left:-40%}100%{left:100%}}
.boot-spin{min-height:60vh;display:grid;place-items:center}
.boot-spin:after{content:"";width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);animation:ssspin .8s linear infinite}

/* Simulated phone on phones: a full-screen layer, Close always on top, tap outside closes */
@media(max-width:820px){
  .phone-dock{inset:0;right:0;bottom:0;transform:none;justify-content:flex-start;padding:12px 8px 0;gap:10px;background:rgba(5,4,18,.88);overflow:hidden}
  .phone-frame{transform-origin:top center;flex:none}
  .phone-tools{flex-wrap:wrap;justify-content:center;max-width:100%}
  .phone-tools button[data-pt="close"]{background:#fff;color:var(--ink)}
  body.phone-open{overflow:hidden}
}

.site-nav a{white-space:nowrap}
.site-header .logo{flex:none}
@media(max-width:480px){
  .site-header .container{gap:10px}
  .site-header .logo{font-size:.92rem;gap:.45em}
  .site-nav{gap:14px}
  .site-nav .btn{height:36px;padding:0 14px;font-size:13px}
}
@media(max-width:374px){ .site-header .logo{font-size:.8rem} .site-nav{gap:10px} .site-nav a[data-act=login]{font-size:13px} .site-nav .btn{padding:0 11px} }
.result-grid>*{min-width:0}
.vbar{flex-wrap:wrap;max-width:calc(100% - 16px)}
#mini-meas{overflow-x:auto}
@media(max-width:380px){ table.meas{font-size:.8rem} table.meas th,table.meas td{padding-left:4px;padding-right:4px} }
.fit-col h4{text-wrap:balance}

/* ---------- Polish pass (20 Oct 2026): calmer surfaces, fewer decorations ---------- */
.btn-primary{box-shadow:none}
.btn-primary:hover{box-shadow:0 2px 8px -2px rgba(79,57,246,.45)}
.hero-kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#b9b6ff}
.hero-brand .hero-visual:after{opacity:.45}
.hero-act,.act.hero-act{background:var(--navy-2)!important}
.bom-out{background:linear-gradient(160deg,var(--navy-2),var(--navy-3))}
.hero.dark:not(.hero-brand){background:linear-gradient(160deg,var(--navy-2),var(--navy-3))}
/* steps: a numbered rule instead of an icon tile */
.pipe .n{display:none}
.pipe{border-top:2px solid var(--ink);padding-top:18px}
/* plain line icons instead of tinted tiles */
.act .ico,.need .ico,.choice .ico,.file .ico{background:none;width:auto;height:auto;border-radius:0;display:block;color:var(--brand)}
.act .ico .ic,.need .ico .ic,.choice .ico .ic{width:22px;height:22px}
.act.hero-act .ico{background:none;color:#b9b6ff}
.flow-card{margin-left:auto!important;margin-right:auto!important}
.side .foot b{overflow-wrap:anywhere;font-weight:600}
@media(max-width:600px){
  .sticky-next{padding:10px 0}
  .sticky-next .txt span{display:none}
  .sticky-next .btn-lg{padding:.75em 1.1em;font-size:.95rem}
  table.meas th,table.meas td{padding-left:4px;padding-right:4px}
  table.meas{font-size:.86rem}
}
.vcap{background:rgba(255,255,255,.88);color:var(--ink-2)!important;border-radius:8px;padding:4px 8px;left:10px!important;right:auto!important;max-width:calc(100% - 20px);font-size:11.5px}
@media(max-width:600px){ .vcap{display:none} }
.flow-header .logo{flex:none}
@media(max-width:480px){
  .flow-header .container{gap:10px}
  .flow-header .logo{font-size:.84rem;gap:.4em}
  .flow-header .stepper{min-width:0;flex:1;justify-content:center}
  .flow-header .stepper .st span{display:none!important}
}
