/* Toledo Automations — site styles. Dark, purple + silver, self-hosted fonts, no external requests. */
@font-face{font-family:"Space Grotesk";src:url(../fonts/spacegrotesk.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(../fonts/jbmono.woff2) format("woff2");font-weight:400 500;font-display:swap}

:root{
  --bg:#07070c; --bg2:#0b0b13; --surface:#10101a; --surface2:#151522;
  --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --text:#ecebf3; --muted:#a3a1b5; --dim:#6f6d85;
  --p1:#8b5cf6; --p2:#a78bfa; --p3:#c4b5fd; --p0:#6d28d9;
  --silver:linear-gradient(180deg,#ffffff 0%,#d9d8e3 55%,#9d9bb0 100%);
  --grad:linear-gradient(100deg,#c4b5fd 0%,#a78bfa 35%,#8b5cf6 65%,#d8d6e6 100%);
  --r:18px; --r-sm:12px; --wrap:1200px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --display:"Space Grotesk",system-ui,sans-serif; --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif; --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--p3);text-decoration:none}
a:hover{color:#fff}
:focus-visible{outline:2px solid var(--p2);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 .5em;color:#fff}
p{margin:0 0 1em}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:820px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;color:#000;padding:8px 12px;border-radius:8px}
.skip:focus{left:8px}
.muted{color:var(--muted)}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:shine 8s ease-in-out infinite}
@keyframes shine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* preview strip */
.preview-strip{background:repeating-linear-gradient(135deg,#1a1230 0 12px,#150f27 12px 24px);color:var(--p3);font:500 12px/1 var(--mono);letter-spacing:.04em;text-align:center;padding:8px 12px;border-bottom:1px solid rgba(167,139,250,.25)}

/* header */
.site-header{position:sticky;top:0;z-index:50;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.site-header.scrolled,.nav-open .site-header{background:rgba(7,7,12,.78);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--line)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand img{width:40px;height:auto;filter:drop-shadow(0 0 14px rgba(139,92,246,.35))}
.wordmark{display:flex;flex-direction:column;line-height:1}
.wordmark b{font:600 19px/1 var(--display);letter-spacing:.06em;background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.wordmark i{font:500 9.5px/1 var(--display);font-style:normal;letter-spacing:.38em;color:var(--p2);margin-top:5px}
.nav-list{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.nav-list a{display:block;padding:8px 12px;color:var(--muted);font-size:14.5px;font-weight:500;border-radius:10px;transition:color .2s,background .2s}
.nav-list a:hover{color:#fff;background:rgba(255,255,255,.04)}
.nav-list .btn{color:#fff;margin-left:8px}
.nav-toggle{display:none;background:none;border:1px solid var(--line2);border-radius:10px;width:44px;height:40px;cursor:pointer;position:relative}
.bars,.bars::before,.bars::after{position:absolute;left:12px;right:12px;height:1.6px;background:#fff;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.bars{top:19px}.bars::before{content:"";left:0;right:0;top:-6px}.bars::after{content:"";left:0;right:0;top:6px}
.nav-open .bars{background:transparent}.nav-open .bars::before{transform:translateY(6px) rotate(45deg)}.nav-open .bars::after{transform:translateY(-6px) rotate(-45deg)}

/* buttons */
.btn{--h:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--h);padding:0 22px;border-radius:999px;font:600 15px/1 var(--sans);letter-spacing:-.005em;border:1px solid transparent;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s,border-color .25s;white-space:nowrap}
.btn-sm{--h:38px;padding:0 16px;font-size:14px}
.btn-block{width:100%}
.btn-primary{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6d28d9);box-shadow:0 0 0 1px rgba(196,181,253,.25) inset,0 8px 30px -8px rgba(139,92,246,.7)}
.btn-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 0 0 1px rgba(196,181,253,.45) inset,0 12px 40px -8px rgba(139,92,246,.9)}
.btn-ghost{color:#fff;background:rgba(255,255,255,.03);border-color:var(--line2)}
.btn-ghost:hover{color:#fff;background:rgba(255,255,255,.07);border-color:rgba(196,181,253,.4)}
.btn span[aria-hidden]{transition:transform .25s var(--ease)}
.btn:hover span[aria-hidden]{transform:translateX(3px)}

/* hero */
.hero{position:relative;padding:72px 0 96px;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 70% at 60% 40%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 60% 40%,#000 20%,transparent 75%)}
.glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}
.g1{width:620px;height:620px;right:-120px;top:10px;background:radial-gradient(circle,#6d28d9 0%,transparent 65%);animation:float1 18s ease-in-out infinite}
.g2{width:520px;height:520px;left:-200px;bottom:-240px;background:radial-gradient(circle,#4c1d95 0%,transparent 65%);opacity:.45;animation:float2 22s ease-in-out infinite}
@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(-60px,40px)}}
@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(70px,-30px)}}
.circuit{position:absolute;inset:0;width:100%;height:100%;opacity:.55;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.35) 60%,#000 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.35) 60%,#000 100%)}
.circuit .traces path{fill:none;stroke:rgba(167,139,250,.16);stroke-width:1.2}
.circuit .nodes circle{fill:var(--bg);stroke:rgba(167,139,250,.45);stroke-width:1.2}
.circuit .pulse{fill:none;stroke:url(#pg);stroke:#c4b5fd;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:60 1400;stroke-dashoffset:0;opacity:.85;filter:drop-shadow(0 0 4px #a78bfa);animation:pulse var(--t,7s) linear infinite;animation-delay:var(--o,0s)}
@keyframes pulse{from{stroke-dashoffset:1460}to{stroke-dashoffset:0}}
.hero-inner{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;border:1px solid var(--line2);border-radius:999px;background:rgba(255,255,255,.03);color:var(--muted);font:500 13px/1 var(--mono);letter-spacing:.01em;margin-bottom:28px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--p2);box-shadow:0 0 0 4px rgba(167,139,250,.18);animation:blink 2.4s ease-in-out infinite}
@keyframes blink{50%{box-shadow:0 0 0 7px rgba(167,139,250,.05)}}
.hero h1{font-size:clamp(40px,4.9vw,66px);font-weight:600;letter-spacing:-.035em;line-height:1.03;margin-bottom:24px;max-width:17ch}
.lead{font-size:clamp(17px,1.5vw,19px);color:var(--muted);max-width:58ch;line-height:1.65}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 28px}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:0;color:var(--dim);font:500 13px/1.4 var(--mono)}
.hero-chips li::before{content:"✓";color:var(--p2);margin-right:8px}
.hero-visual{position:relative;min-height:460px}
.orb{position:relative;width:min(380px,100%);aspect-ratio:1;margin:0 0 0 auto;display:grid;place-items:center}
.orb::before{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.35),transparent 68%);filter:blur(20px)}
.orb img{position:relative;width:72%;height:auto;filter:drop-shadow(0 20px 50px rgba(109,40,217,.45));animation:hover 7s ease-in-out infinite}
@keyframes hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.ring{position:absolute;inset:0;width:100%;height:100%;fill:none}
.ring circle{stroke-width:.6}
.r1{animation:spin 60s linear infinite}.r1 circle{stroke:rgba(196,181,253,.35);stroke-dasharray:2 6}
.r2{inset:8%;width:84%;height:84%;animation:spin 40s linear infinite reverse}.r2 circle{stroke:rgba(167,139,250,.25);stroke-dasharray:40 18 4 18}
@keyframes spin{to{transform:rotate(360deg)}}
.console{position:absolute;left:-12px;bottom:-8px;width:min(400px,92%);background:rgba(13,13,22,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line2);border-radius:14px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8),0 0 0 1px rgba(139,92,246,.08);overflow:hidden}
.console-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line)}
.console-bar span{width:9px;height:9px;border-radius:50%;background:#2a2a3a}
.console-bar span:first-child{background:#6d28d9}
.console-bar em{margin-left:auto;font:500 11px var(--mono);color:var(--dim);font-style:normal}
.console pre{margin:0;padding:14px 16px 16px;font:400 12.5px/1.85 var(--mono);color:#cfcde0;white-space:pre-wrap}
.ln{display:flex;justify-content:space-between;gap:12px;opacity:0;transform:translateY(4px);animation:type .5s var(--ease) forwards;animation-delay:calc(.6s + var(--i) * .28s)}
@keyframes type{to{opacity:1;transform:none}}
.c-dim{color:var(--dim)}.c-ok{color:#86efac}.c-acc{color:var(--p2)}
.console b{color:#fff;font-weight:500}

/* sections */
.section{position:relative;padding:104px 0}
.section + .section{border-top:1px solid var(--line)}
.cat{background:linear-gradient(180deg,transparent,rgba(139,92,246,.035) 40%,transparent)}
.section-head{max-width:760px;margin-bottom:52px}
.kicker{font:500 12.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--p2);margin-bottom:16px}
.section h2{font-size:clamp(32px,3.8vw,48px);letter-spacing:-.03em}
.sub{color:var(--muted);font-size:17.5px;max-width:64ch}
.h3{font-size:22px}

/* product lines */
.lines-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.line-card{position:relative;display:flex;flex-direction:column;padding:30px;border-radius:var(--r);background:linear-gradient(180deg,var(--surface),var(--bg2));border:1px solid var(--line);color:var(--text);overflow:hidden;transition:transform .35s var(--ease),border-color .35s}
.line-card:hover{color:var(--text);transform:translateY(-3px);border-color:rgba(167,139,250,.35)}
.line-card h3{font-size:26px;margin-bottom:8px}
.line-card > p:not(.kicker){color:var(--muted);margin-bottom:22px}
.line-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:var(--p3);background:linear-gradient(135deg,rgba(139,92,246,.25),rgba(109,40,217,.08));border:1px solid rgba(167,139,250,.3);margin-bottom:22px}
.line-ico svg{width:22px;height:22px}
.line-list{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--line)}
.line-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-weight:500;font-size:15px}
.line-more{margin-top:auto;font:500 14px var(--sans);color:var(--p3)}
.line-next{border-style:dashed;background:transparent}
.line-next .line-ico{background:transparent}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(139,92,246,.14),transparent 45%)}
.spot:hover::after{opacity:1}

/* pills + preview tag */
.pill{display:inline-flex;align-items:center;gap:6px;font:500 11.5px/1 var(--mono);letter-spacing:.02em;padding:6px 10px;border-radius:999px;white-space:nowrap;border:1px solid}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill-live{color:#c4b5fd;border-color:rgba(167,139,250,.35);background:rgba(139,92,246,.1)}
.pill-soon{color:#a3a1b5;border-color:var(--line2);background:rgba(255,255,255,.03)}
.pill-ok{color:#86efac;border-color:rgba(134,239,172,.3);background:rgba(134,239,172,.07)}
.tag-preview{display:inline-flex;align-items:center;gap:6px;font:600 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#fbbf24;padding:5px 8px;border:1px dashed rgba(251,191,36,.55);border-radius:6px;background:rgba(251,191,36,.06)}
.tag-preview::before{content:"◆";font-size:8px}

/* service cards */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-grid.single{grid-template-columns:1fr}
.svc-card{position:relative;display:flex;flex-direction:column;padding:30px;border-radius:var(--r);background:linear-gradient(180deg,rgba(36,34,52,.98),var(--bg2));border:1px solid rgba(167,139,250,.38);overflow:hidden;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;box-shadow:0 16px 40px -28px rgba(0,0,0,.85)}
.svc-card::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(196,181,253,.75),transparent);opacity:.9}
.svc-card:hover{transform:translateY(-4px);border-color:rgba(196,181,253,.55);box-shadow:0 30px 60px -28px rgba(109,40,217,.65)}
.svc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.svc-card h3{font-size:24px;margin-bottom:10px}
.svc-pitch{color:#d6d4e4;font-size:16.5px;line-height:1.5;margin-bottom:8px}
.svc-aud{color:var(--dim);font-size:13.5px;margin-bottom:18px}
.svc-hl{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 14px;border-radius:12px;background:rgba(139,92,246,.08);border:1px solid rgba(167,139,250,.2);margin-bottom:20px}
.svc-hl span{width:100%;font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--p2)}
.svc-hl b{font:600 16px var(--display);color:#fff}
.svc-hl em{font:500 12.5px var(--mono);font-style:normal;color:var(--p3);margin-left:auto}
.svc-hl.big{max-width:420px;margin-top:8px}
.ticks,.crosses{list-style:none;padding:0;margin:0 0 24px}
.ticks li,.crosses li{position:relative;padding-left:26px;margin:0 0 10px;color:#cfcde0;font-size:15px;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:rgba(139,92,246,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23c4b5fd' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.crosses li::before{content:"";position:absolute;left:3px;top:11px;width:10px;height:1.6px;background:var(--dim)}
.svc-foot{margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}
.svc-grid.single .svc-card{display:grid;grid-template-columns:1.1fr .9fr;column-gap:48px}
.svc-grid.single .svc-card > *{grid-column:1}
.svc-grid.single .svc-card .ticks{grid-column:2;grid-row:1 / span 5;align-self:start;margin-top:52px}
.svc-grid.single .svc-foot{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.price-top{min-height:22px;margin-bottom:10px}
.price-main{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price-main .from{font:500 13px var(--mono);color:var(--dim)}
.price-main .amt{font:600 40px/1 var(--display);letter-spacing:-.03em;background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.price-main .unit{color:var(--muted);font-size:14px}
.price-sub{color:var(--dim);font-size:13.5px;margin:6px 0 0}
.svc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.svc-grid.single .svc-actions{margin-top:0}

/* timeline */
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.timeline::before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:linear-gradient(90deg,var(--p1),rgba(167,139,250,.15))}
.t-item{position:relative;padding:36px 24px 0 0}
.t-item::before{content:"";position:absolute;left:0;top:3px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--p2);box-shadow:0 0 0 5px rgba(139,92,246,.15)}
.t-when b{display:block;font:600 19px var(--display);color:#fff}
.t-when span{display:inline-block;font:500 12px var(--mono);color:var(--p3);margin:6px 0 14px}
.t-what h3{font-size:17px;font-family:var(--sans);font-weight:600;letter-spacing:-.01em;margin-bottom:6px}
.t-what p{color:var(--muted);font-size:14px;margin-bottom:10px}
.t-what a{font-size:14px;font-weight:500}

/* principles */
.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.principle{padding:28px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg2)}
.p-ico{display:inline-block;font:500 12px var(--mono);color:var(--p2);padding:6px 9px;border:1px solid rgba(167,139,250,.3);border-radius:8px;margin-bottom:20px}
.principle h3{font-size:19px}
.principle p{color:var(--muted);font-size:15px;margin:0}

/* contact */
.contact{background:radial-gradient(ellipse 60% 80% at 15% 50%,rgba(109,40,217,.14),transparent 70%)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.contact-facts{list-style:none;padding:0;margin:32px 0 0;border-top:1px solid var(--line)}
.contact-facts li{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;flex-wrap:wrap}
.contact-facts span{width:72px;flex:none;font:500 12px/1.9 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim)}
.form{padding:32px;border-radius:22px;background:linear-gradient(180deg,rgba(21,21,34,.9),rgba(12,12,20,.9));border:1px solid var(--line2);box-shadow:0 40px 100px -40px rgba(109,40,217,.45)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:block;margin:0 0 18px;border:0;padding:0;min-width:0}
.field > span,.field legend{display:block;font-size:13.5px;font-weight:500;color:#d6d4e4;margin-bottom:8px;padding:0}
.field em{font-style:normal;color:var(--dim);font-weight:400}
.field input,.field textarea{width:100%;font:400 15px var(--sans);color:#fff;background:rgba(255,255,255,.03);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background .2s}
.field textarea{resize:vertical;min-height:84px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--p2);background:rgba(139,92,246,.06);box-shadow:0 0 0 4px rgba(139,92,246,.15)}
.int-group{margin-bottom:10px}
.int-group p{font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin:0 0 8px}
.chip-check{position:relative;display:inline-flex;margin:0 6px 8px 0;cursor:pointer}
.chip-check input{position:absolute;opacity:0;pointer-events:none}
.chip-check span{padding:9px 14px;border-radius:999px;border:1px solid var(--line2);font-size:14px;color:var(--muted);transition:all .2s}
.chip-check:hover span{border-color:rgba(167,139,250,.5);color:#fff}
.chip-check input:checked + span{background:rgba(139,92,246,.2);border-color:var(--p2);color:#fff}
.chip-check input:focus-visible + span{outline:2px solid var(--p2);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;font-size:13px;line-height:1.55;color:var(--muted);cursor:pointer}
.check input{flex:none;width:18px;height:18px;margin-top:1px;accent-color:var(--p1)}
.form .btn-block{margin-top:10px}
.form-note{margin:14px 0 0;font:400 12.5px/1.5 var(--mono);color:var(--dim)}
.form-note.err{color:#fca5a5}

/* faq */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font:600 18px/1.35 var(--display);letter-spacing:-.01em;color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:1.6px solid var(--p2);border-bottom:1.6px solid var(--p2);transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{color:var(--muted);margin:0 0 22px;max-width:68ch}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:72px 0 36px;background:linear-gradient(180deg,var(--bg),#050508)}
.f-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.f-brand img{width:200px;height:auto;margin-bottom:18px}
.f-brand p{color:var(--muted);font-size:14px;margin:0 0 6px}
.f-col h4{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--dim);margin-bottom:16px}
.f-col ul{list-style:none;margin:0;padding:0}
.f-col li{margin-bottom:10px}
.f-col a{color:var(--muted);font-size:14.5px}
.f-col a:hover{color:#fff}
.disclaimer{font-size:12.5px;line-height:1.65;color:var(--dim);padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 22px;max-width:none}
.disclaimer strong{color:var(--muted)}
.f-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:400 12.5px var(--mono);color:var(--dim)}

/* detail page */
.detail-hero{position:relative;padding:48px 0 88px;overflow:hidden;isolation:isolate}
.crumbs{display:flex;gap:10px;font:500 13px var(--mono);color:var(--dim);margin-bottom:36px}
.crumbs a{color:var(--muted)}
.detail-top{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.detail-top h1{font-size:clamp(36px,4.6vw,60px);letter-spacing:-.035em;max-width:16ch}
.detail-top .lead{color:#d6d4e4;margin-bottom:12px}
.detail-price{padding:28px;border-radius:var(--r);background:linear-gradient(180deg,var(--surface2),var(--bg2));border:1px solid var(--line2);box-shadow:0 40px 100px -40px rgba(109,40,217,.5)}
.table-wrap{overflow-x:auto;margin:22px 0 4px}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line)}
thead th{font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}
tbody th{font-weight:500;color:#d6d4e4}
td{color:#fff;font-family:var(--display);font-weight:500}
.price-lines{list-style:none;padding:0;margin:18px 0 0}
.price-lines li{font-size:14px;color:#cfcde0;padding:10px 0 10px 18px;position:relative;border-bottom:1px dashed var(--line)}
.price-lines li::before{content:"+";position:absolute;left:0;color:var(--p2)}
.price-ex{font-size:12.5px;color:var(--dim);margin:14px 0 0}
.tiers{display:grid;gap:12px;margin-top:22px}
.tier{padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.tier h4{font-size:15px;margin-bottom:6px}
.tier-amt{color:var(--muted);font-size:14px}
.tier-amt b{font:600 26px var(--display);color:#fff;margin-right:4px}
.tier p{font-size:12.5px;margin:4px 0 12px}
.tier .ticks{margin:0}.tier .ticks li{font-size:14px;margin-bottom:6px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;counter-reset:s}
.step{position:relative;padding:28px;border-radius:var(--r);border:1px solid rgba(167,139,250,.42);background:linear-gradient(180deg,rgba(36,34,52,.98),var(--bg2));overflow:hidden;box-shadow:0 14px 36px -26px rgba(109,40,217,.7)}
.step-n{display:block;font:600 44px/1 var(--display);color:transparent;-webkit-text-stroke:1px rgba(196,181,253,.45);margin-bottom:18px}
.who{display:inline-block;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.12em;padding:5px 9px;border-radius:6px;margin-bottom:14px}
.who-you{color:#e5e4ee;background:rgba(255,255,255,.06)}
.who-we{color:var(--p3);background:rgba(139,92,246,.16)}
.step h3{font-size:19px}
.step p{color:var(--muted);font-size:15px;margin:0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel{padding:32px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg2)}
.panel-muted{background:transparent}
.panel-accent{margin-top:20px;background:linear-gradient(135deg,rgba(139,92,246,.12),rgba(109,40,217,.03));border-color:rgba(167,139,250,.28)}
.panel-accent p{color:#d6d4e4;margin:0;max-width:80ch}
.mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.mini{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg2);color:var(--text);overflow:hidden;transition:transform .35s var(--ease),border-color .35s}
.mini:hover{color:var(--text);transform:translateY(-3px);border-color:rgba(167,139,250,.35)}
.mini h3{font-size:20px;margin:16px 0 8px}
.mini p{color:var(--muted);font-size:15px}
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:44px;border-radius:24px;background:radial-gradient(ellipse at 0% 0%,rgba(139,92,246,.35),transparent 60%),linear-gradient(135deg,#140e26,#0c0a16);border:1px solid rgba(167,139,250,.3)}
.cta-band h2{font-size:clamp(26px,3vw,36px);margin-bottom:8px}
.cta-band p{color:var(--muted);margin:0}
.legal h1{font-size:44px}
.noscript{padding:24px;border:1px solid var(--line2);border-radius:12px;color:var(--muted)}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.reveal.in{opacity:1;transform:none}

/* responsive */
@media (max-width:1100px){
  .lines-grid,.svc-grid{grid-template-columns:1fr 1fr}
  .principles{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr 1fr;row-gap:36px}
  .timeline::before{display:none}
  .f-top{grid-template-columns:1fr 1fr}
}
@media (max-width:960px){
  .nav-toggle{display:block}
  .nav-list{position:fixed;left:0;right:0;top:72px;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 24px;background:rgba(7,7,12,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;visibility:hidden;transition:all .3s var(--ease)}
  .preview-strip:not([hidden]) ~ .site-header .nav-list{top:72px}
  .nav-open .nav-list{transform:none;opacity:1;visibility:visible}
  .nav-list a{padding:14px 4px;font-size:16px;border-bottom:1px solid var(--line);border-radius:0}
  .nav-list .btn{margin:16px 0 0;border:0;border-radius:999px;padding:0 16px}
  .hero-inner,.detail-top,.contact-grid{grid-template-columns:1fr;gap:48px}
  .hero-visual{min-height:0;display:flex;flex-direction:column;align-items:center}
  .orb{margin:0 auto;width:min(300px,80%)}
  .console{position:relative;left:auto;bottom:auto;margin-top:-30px;width:100%;max-width:440px}
  .svc-grid.single .svc-card{display:flex}
  .svc-grid.single .svc-card .ticks{margin-top:0}
  .svc-grid.single .svc-foot{display:block}
  .svc-grid.single .svc-actions{margin-top:20px}
}
@media (max-width:700px){
  .wrap{padding:0 20px}
  .hero{padding:44px 0 72px}
  .hero h1{font-size:clamp(36px,10vw,46px)}
  .section{padding:76px 0}
  .lines-grid,.svc-grid,.principles,.timeline,.two-col{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr;gap:0}
  .form{padding:22px}
  .f-top{grid-template-columns:1fr 1fr;gap:32px}
  .f-brand{grid-column:1 / -1}
  .timeline{padding-left:22px;border-left:1px solid rgba(167,139,250,.3);row-gap:28px}
  .t-item{padding:0}
  .t-item::before{left:-29px;top:6px}
  .cta-band{padding:28px}
  .svc-card,.line-card{padding:24px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  .ln{opacity:1;transform:none}
}

/* review fixes */
[hidden]{display:none!important}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none;z-index:-1}

/* ===== Announcement / notice ===== */
:root{--amber:#f5b942;--amber2:#fcd34d;--amber-bg:rgba(245,185,66,.09);--teal:#5eead4}
.notice{position:relative;border-radius:var(--r);border:1px solid rgba(167,139,250,.35);background:linear-gradient(160deg,rgba(139,92,246,.16),rgba(16,16,26,.9) 45%),var(--bg2);overflow:hidden;box-shadow:0 30px 80px -40px rgba(139,92,246,.6)}
.notice::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--p1),var(--p3),var(--amber),var(--p1));background-size:200% 100%;animation:sweep 6s linear infinite}
@keyframes sweep{to{background-position:200% 0}}
.notice-bar{display:flex;align-items:center;gap:10px;padding:14px 28px;border-bottom:1px solid var(--line);font:500 12.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--p3);background:rgba(7,7,12,.35)}
.notice-dot{width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 rgba(245,185,66,.6);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(245,185,66,.55)}80%,100%{box-shadow:0 0 0 10px rgba(245,185,66,0)}}
.notice-tag{margin-left:auto;padding:5px 9px;border-radius:6px;border:1px solid rgba(245,185,66,.35);color:var(--amber2);font-size:11px}
.notice-body{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:28px}
.notice-body h2{font-size:clamp(26px,3vw,38px);max-width:24ch}
.notice-body h3{font-size:22px;max-width:40ch}
.notice-body p{color:#cfcde0}
.notice-intro{font-size:17px;max-width:68ch;margin:0}
.notice-sub{margin:8px 0 14px;font-size:15.5px;font-weight:500;letter-spacing:.01em;color:var(--muted);max-width:48ch}
.notice-teaser{margin-bottom:28px}
.notice-teaser .notice-body p{margin-bottom:18px;max-width:70ch}
.notice-ctas{display:flex;flex-wrap:wrap;gap:10px}
.cd{display:flex;align-items:center;gap:14px;padding:18px 22px;border-radius:16px;background:rgba(7,7,12,.55);border:1px solid rgba(245,185,66,.3);min-width:230px}
.cd-n{font:600 56px/1 var(--display);letter-spacing:-.04em;background:linear-gradient(180deg,#fff,var(--amber2));-webkit-background-clip:text;background-clip:text;color:transparent}
.cd-l{font:500 12px/1.5 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.cd-l b{display:block;color:var(--amber2);font-weight:500}
.nb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 28px 28px}
.nb{padding:24px;border-radius:14px;border:1px solid var(--line);background:rgba(7,7,12,.4)}
.nb h3{font-size:19px;margin-bottom:12px}
.nb p{color:#cfcde0;font-size:15px;margin:0}
.nb .ticks{margin:0}
.nb-after{margin-top:12px!important;color:var(--muted)!important;font-size:14px!important}
.nb-1{grid-row:span 2}
.nlist{list-style:none;counter-reset:n;margin:0;padding:0;display:grid;gap:12px}
.nlist li{counter-increment:n;position:relative;padding-left:40px;color:#dcdaea;font-size:15px}
.nlist li::before{content:counter(n);position:absolute;left:0;top:-1px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font:600 13px var(--mono);color:#1a1205;background:var(--amber)}
.notice-sol{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin:0 28px 28px;padding:26px;border-radius:14px;background:linear-gradient(120deg,rgba(139,92,246,.22),rgba(109,40,217,.08));border:1px solid rgba(196,181,253,.35)}
.notice-sol h3{font-size:22px}
.notice-sol p{color:#dedcec;margin:0 0 10px;max-width:70ch}
.notice-sol .notice-scope{font-size:13.5px;color:var(--muted);margin:0}
.notice-sec{padding-top:24px}

/* ===== Flowchart ===== */
.flegend{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:#dcdaea}
.flegend li{display:flex;align-items:center;gap:9px}
.lg{width:16px;height:16px;border-radius:5px;display:inline-block}
.lg-us{background:linear-gradient(135deg,var(--p1),var(--p0));box-shadow:0 0 12px rgba(139,92,246,.7)}
.lg-owner{background:var(--amber)}
.lg-third{background:transparent;border:1.5px dashed #8d8ba3}
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 48px}
.fnode{grid-row:var(--row);grid-column:var(--col);position:relative;display:flex}
.fcard{position:relative;flex:1;padding:20px 18px 22px;border-radius:14px;border:1px solid rgba(167,139,250,.4);background:linear-gradient(180deg,rgba(28,28,42,.98),var(--bg2));transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;box-shadow:0 12px 32px -22px rgba(0,0,0,.9)}
.fcard:hover{transform:translateY(-4px);box-shadow:0 20px 44px -20px rgba(109,40,217,.55)}
.fcard h3{font-size:16.5px;margin:10px 0 6px;color:#fff}
.fcard p{font-size:13.5px;color:#cfcde0;margin:0;line-height:1.5}
.fmeta{display:flex;align-items:center;gap:8px}
.fnum{font:600 12px var(--mono);color:var(--dim)}
.fwho{font:500 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;padding:5px 7px;border-radius:5px}
.f-us .fcard{border-color:rgba(196,181,253,.75);background:linear-gradient(160deg,rgba(139,92,246,.42),rgba(16,16,26,.97) 62%);box-shadow:0 0 0 1px rgba(167,139,250,.35),0 18px 44px -16px rgba(139,92,246,.95)}
.f-us .fwho{color:#fff;background:rgba(139,92,246,.72);box-shadow:0 0 16px rgba(139,92,246,.45)}
.f-us .fnum{color:var(--p3)}
.f-owner .fcard{border-color:rgba(245,185,66,.8);background:linear-gradient(160deg,rgba(245,185,66,.28),rgba(16,16,26,.97) 62%);box-shadow:0 0 0 1px rgba(245,185,66,.28),0 18px 44px -18px rgba(245,185,66,.55)}
.f-owner .fwho{color:#1a1205;background:var(--amber);box-shadow:0 0 14px rgba(245,185,66,.4)}
.f-owner .fnum{color:var(--amber2)}
.f-third .fcard{border-style:dashed;border-width:1.5px;border-color:#8d8ba3;background:linear-gradient(160deg,rgba(74,72,96,.28),rgba(16,16,26,.92) 70%);box-shadow:0 10px 28px -18px rgba(0,0,0,.8)}
.f-third .fwho{color:#e8e6f3;border:1px dashed #a8a6bb;background:rgba(74,72,96,.35)}
.f-star .fcard{border-color:#e9e0ff;box-shadow:0 0 0 1px rgba(233,224,255,.65),0 0 56px -4px rgba(167,139,250,.95)}
.fstar{position:absolute;top:-12px;right:12px;font:600 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#fff;padding:6px 9px;border-radius:999px;background:linear-gradient(135deg,#a78bfa,#6d28d9);box-shadow:0 6px 20px -6px rgba(139,92,246,.9)}
.fstar::before{content:"★ "}
/* connectors */
.fnode::after{content:"";position:absolute;pointer-events:none;background:linear-gradient(90deg,rgba(167,139,250,.25),var(--p2));}
.fnode[data-dir="right"]::after{top:50%;left:100%;width:48px;height:2px}
.fnode[data-dir="left"]::after{top:50%;right:100%;width:48px;height:2px;transform:scaleX(-1)}
.fnode[data-dir="down"]::after{left:50%;top:100%;width:2px;height:44px;background:linear-gradient(180deg,rgba(167,139,250,.25),var(--p2))}
.fnode::before{content:"";position:absolute;z-index:1;width:0;height:0;border:6px solid transparent;pointer-events:none}
.fnode[data-dir="right"]::before{top:calc(50% - 5px);left:calc(100% + 38px);border-left:9px solid var(--p2)}
.fnode[data-dir="left"]::before{top:calc(50% - 5px);right:calc(100% + 38px);border-right:9px solid var(--p2)}
.fnode[data-dir="down"]::before{left:calc(50% - 5px);top:calc(100% + 34px);border-top:9px solid var(--p2)}
.fnode[data-dir="none"]::before,.fnode[data-dir="none"]::after{display:none}
.fcallout{margin-top:44px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;padding:30px 32px;border-radius:var(--r);position:relative;overflow:hidden;
  background:radial-gradient(600px 200px at 0% 0%,rgba(139,92,246,.35),transparent 70%),linear-gradient(120deg,rgba(139,92,246,.18),rgba(16,16,26,.95));border:1px solid rgba(196,181,253,.5);box-shadow:0 30px 80px -30px rgba(139,92,246,.7)}
.fcallout h3{font-size:clamp(20px,2.2vw,26px);max-width:44ch}
.fcallout p{color:#dedcec;margin:0;max-width:72ch}
.fc-stat{display:grid;grid-template-columns:auto auto;gap:4px 10px;align-items:baseline;padding-right:32px;border-right:1px solid var(--line2)}
.fc-stat b{font:600 44px/1 var(--display);color:var(--p3)}
.fc-stat b.o{color:var(--amber2)}
.fc-stat span{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

/* ===== RING showcase ===== */
.ring-show{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;padding:40px;border-radius:var(--r);border:1px solid var(--line2);background:radial-gradient(500px 300px at 85% 40%,rgba(139,92,246,.22),transparent 70%),var(--bg2);margin-bottom:28px}
.ring-copy h3{font-size:clamp(24px,2.6vw,34px);max-width:22ch}
.ring-copy>p{color:#cfcde0;max-width:56ch}
.ring-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:22px 0 22px}
.ring-price .amt{font:600 46px/1 var(--display);letter-spacing:-.03em;color:#fff}
.ring-price .unit{color:var(--muted);font-size:16px}
.ring-price-n{width:100%;color:var(--muted);font-size:14px}
.ring-copy .svc-actions{margin-top:22px}
.phone-stage{position:relative;display:flex;flex-direction:column;align-items:center}
.phone{position:relative;width:300px;max-width:100%;aspect-ratio:300/610;border-radius:46px;padding:12px;background:linear-gradient(145deg,#d9d8e3,#6f6d85 40%,#2a2a36 60%,#b9b8c7);box-shadow:0 40px 90px -30px rgba(139,92,246,.75),0 0 0 1px rgba(255,255,255,.08) inset}
.ph-screen,.ph-status,.ph-notch,.ph-bar{position:absolute}
.phone::before{content:"";position:absolute;inset:12px;border-radius:36px;background:radial-gradient(260px 300px at 50% 0%,rgba(139,92,246,.35),transparent 70%),linear-gradient(180deg,#120f22,#07070c)}
.ph-notch{top:22px;left:50%;transform:translateX(-50%);width:96px;height:26px;border-radius:20px;background:#000;z-index:3}
.ph-status{top:26px;left:38px;right:38px;display:flex;justify-content:space-between;font:600 12px var(--sans);color:#fff;z-index:2}
.ph-sig{display:flex;gap:2px;align-items:flex-end}.ph-sig i{width:3px;background:#fff;border-radius:1px}.ph-sig i:nth-child(1){height:5px}.ph-sig i:nth-child(2){height:8px}.ph-sig i:nth-child(3){height:11px}
.ph-screen{inset:64px 24px 40px;z-index:2;display:flex;flex-direction:column;gap:12px}
.ph-example{align-self:flex-start;font:500 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--amber2);border:1px solid rgba(245,185,66,.4);padding:5px 8px;border-radius:6px}
.ph-trade{font:600 30px/1.05 var(--display);color:rgba(255,255,255,.9);letter-spacing:-.02em;margin:4px 0 6px;min-height:32px}
.ph-alert{padding:12px 13px;border-radius:18px;background:rgba(40,36,62,.85);border:1px solid rgba(196,181,253,.25);backdrop-filter:blur(8px);opacity:0;transform:translateY(-16px) scale(.96);transition:opacity .45s var(--ease),transform .55s var(--ease)}
.ph-app{display:flex;align-items:center;gap:7px;font-size:12px;color:#fff;margin-bottom:6px}
.ph-ico{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.ph-ico svg{width:12px;height:12px;color:#fff}
.ph-now{margin-left:auto;color:var(--muted);font-size:11px}
.ph-alert-t{margin:0;font-size:13px;line-height:1.42;color:#ecebf3}
.ph-thread{margin-top:22px;display:flex;flex-direction:column;gap:8px;opacity:0;transition:opacity .4s}
.ph-label{margin:0;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);text-align:right}
.ph-bubble{align-self:flex-end;max-width:92%;padding:10px 12px;border-radius:16px 16px 4px 16px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-size:12.5px;line-height:1.42;opacity:0;transform:translateY(10px);transition:opacity .4s var(--ease),transform .45s var(--ease)}
.ph-typing{align-self:flex-end;display:flex;gap:4px;padding:10px 12px;border-radius:14px;background:rgba(139,92,246,.35)}
.ph-typing i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.5;animation:blink 1s infinite}.ph-typing i:nth-child(2){animation-delay:.15s}.ph-typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{50%{opacity:1}}
.ph-bar{bottom:20px;left:50%;transform:translateX(-50%);width:110px;height:4px;border-radius:4px;background:rgba(255,255,255,.5);z-index:2}
.phone-stage.s1 .ph-alert{opacity:1;transform:none}
.phone-stage.s2 .ph-thread{opacity:1}
.phone-stage.s3 .ph-typing{display:none}
.phone-stage.s3 .ph-bubble{opacity:1;transform:none}
.phone-stage:not(.s3) .ph-bubble{position:absolute;visibility:hidden}
.ph-dots{list-style:none;display:flex;gap:6px;margin:18px 0 0;padding:0}
.ph-dots li{width:6px;height:6px;border-radius:6px;background:var(--line2);transition:width .3s,background .3s}
.ph-dots li.on{width:20px;background:var(--p2)}
/* audio player */
.aplayer{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:16px;border:1px solid rgba(167,139,250,.35);background:rgba(7,7,12,.5);max-width:520px}
.ap-btn{flex:none;width:54px;height:54px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:linear-gradient(135deg,#8b5cf6,#6d28d9);box-shadow:0 0 0 1px rgba(196,181,253,.35) inset,0 10px 30px -8px rgba(139,92,246,.9);transition:transform .2s}
.ap-btn:hover{transform:scale(1.06)}
.ap-btn svg{width:22px;height:22px;fill:#fff}
.ap-pause,.aplayer.playing .ap-play{display:none}.aplayer.playing .ap-pause{display:block}
.aplayer.playing .ap-btn{animation:pulsebtn 1.6s infinite}
@keyframes pulsebtn{0%{box-shadow:0 0 0 0 rgba(139,92,246,.6)}100%{box-shadow:0 0 0 14px rgba(139,92,246,0)}}
.ap-main{flex:1;min-width:0}
.ap-top{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#fff;margin-bottom:8px}
.ap-time{font:500 12px var(--mono);color:var(--muted)}
.ap-wave{display:flex;align-items:center;gap:2px;height:34px;cursor:pointer}
.ap-wave i{flex:1;height:calc(var(--h)*100%);min-height:3px;border-radius:2px;background:rgba(196,181,253,.25);transition:background .2s}
.ap-wave i.on{background:linear-gradient(180deg,#c4b5fd,#8b5cf6)}
.ap-cue{margin:8px 0 0;font-size:12.5px;color:var(--muted);min-height:2.9em;line-height:1.45}
.ap-script{margin-top:10px;max-width:520px;font-size:13.5px;color:var(--muted)}
.ap-script summary{cursor:pointer;color:var(--p3)}
.ap-script ol{padding-left:18px;margin:10px 0 0}
.ap-script b{color:#dcdaea}

@media (max-width:960px){
  .notice-body,.notice-sol{grid-template-columns:1fr}
  .nb-grid{grid-template-columns:1fr}.nb-1{grid-row:auto}
  .flow{grid-template-columns:1fr;gap:30px}
  .fnode{grid-row:auto;grid-column:1}
  .fnode[data-dir]::after{left:30px;top:100%;width:2px;height:30px;right:auto;transform:none;background:linear-gradient(180deg,rgba(167,139,250,.25),var(--p2))}
  .fnode[data-dir]::before{left:25px;top:calc(100% + 21px);right:auto;border:6px solid transparent;border-top:9px solid var(--p2)}
  .fnode[data-dir="none"]::before,.fnode[data-dir="none"]::after{display:none}
  .fcallout{grid-template-columns:1fr}.fc-stat{border-right:0;padding-right:0;border-bottom:1px solid var(--line2);padding-bottom:18px}
  .ring-show{grid-template-columns:1fr;padding:28px 20px}
}
@media (max-width:700px){
  .notice-bar,.notice-body{padding-left:20px;padding-right:20px}
  .nb-grid{padding:0 16px 16px}.nb{padding:20px}
  .notice-sol{margin:0 16px 16px;padding:20px}
  .notice-tag{display:none}
  .cd{min-width:0}
  .cd-n{font-size:46px}
}
@media (prefers-reduced-motion:reduce){.notice::before,.notice-dot,.ph-typing i,.aplayer.playing .ap-btn{animation:none}.ph-alert,.ph-bubble,.ph-thread{transition:none}}
.fc-mark{width:84px;height:84px;border-radius:24px;display:grid;place-items:center;font-size:40px;color:#fff;background:linear-gradient(135deg,#a78bfa,#6d28d9);box-shadow:0 0 0 1px rgba(255,255,255,.2) inset,0 0 60px -6px rgba(139,92,246,.9)}
.ap-top b{white-space:nowrap}
@media (max-width:700px){.aplayer{padding:12px;gap:12px}.ap-btn{width:46px;height:46px}.ap-top{font-size:13px}.ap-time{font-size:11px}}

/* ===== Lead-Safe phase picker ===== */
.pp{margin:0 28px 28px;padding:24px;border-radius:14px;border:1px solid rgba(245,185,66,.28);background:rgba(7,7,12,.45)}
.pp-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:16px}
.pp-head h3{font-size:20px;margin:0}
.pp-head p{margin:0;color:var(--muted);font-size:14.5px}
.pp-btns{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}
.pp-btn{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 12px;border-radius:11px;border:1px solid var(--line2);background:var(--bg2);color:#e8e6f3;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.pp-btn b{font:600 14px var(--display)}
.pp-btn span{font:500 11.5px var(--mono);color:var(--muted)}
.pp-btn em{font:600 10px var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.06em;color:#ff8a7a;margin-top:3px}
.pp-btn:hover{transform:translateY(-2px);border-color:rgba(245,185,66,.5)}
.pp-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.pp-btn[aria-pressed="true"]{border-color:var(--amber);background:linear-gradient(160deg,rgba(245,185,66,.22),rgba(245,185,66,.06));box-shadow:0 0 0 1px var(--amber) inset}
.pp-btn[aria-pressed="true"] span{color:var(--amber2)}
.pp-btn.is-past[aria-pressed="true"]{border-color:#ff8a7a;background:linear-gradient(160deg,rgba(255,110,90,.2),rgba(255,110,90,.05));box-shadow:0 0 0 1px #ff8a7a inset}
.pp-unsure{border-style:dashed}
.pp-msg{margin-top:16px;padding:18px 20px;border-radius:12px;background:rgba(245,185,66,.06);border:1px solid rgba(245,185,66,.2)}
.pp-msg p{margin:0 0 14px;color:#dedcec;max-width:75ch}
.pp-msg h4{display:flex;align-items:center;gap:10px;margin:0 0 8px;font:600 18px var(--display);color:#fff}
.pp-msg .nlist{margin:0 0 16px}
.pp-past-msg{background:rgba(255,110,90,.08);border-color:rgba(255,138,122,.45)}
.pp-past-msg .nlist li::before{background:#ff8a7a}
.pp-sub{color:var(--muted)!important;font-size:14px;margin-bottom:12px!important}
.pp-alert{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ff8a7a;color:#1a0805;font:700 14px var(--mono)}
.cd.cd-is-past{border-color:rgba(255,138,122,.55)}
.cd .cd-past{background:linear-gradient(180deg,#fff,#ff8a7a);-webkit-background-clip:text;background-clip:text}
.cd-l b.cd-pastb{color:#ff8a7a}
.cd.cd-is-unsure{border-style:dashed}
@media (max-width:1100px){.pp-btns{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:700px){.pp{margin:0 16px 20px;padding:18px}.pp-btns{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-btn{padding:10px}.pp-msg{padding:16px}}
@media (prefers-reduced-motion:reduce){.pp-btn{transition:none}.pp-btn:hover{transform:none}}
.pp-btn.is-past[aria-pressed="true"] span{color:#ffb4a8}

/* ===== Lead-Safe phase map + address lookup (Nov 3, 2026, preview) ===== */
.pm-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:22px;margin-top:18px;align-items:start}
.pm-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.pp-has-map .pp-msg{margin-top:0}
.pm{margin:0;padding:18px;border-radius:14px;border:1px solid rgba(167,139,250,.28);background:radial-gradient(120% 90% at 30% 20%,rgba(139,92,246,.14),rgba(7,7,12,.55) 60%),var(--bg2);min-width:0}
.pm-head h4{margin:0 0 4px;font:600 17px var(--display);color:#fff}
.pm-head p{margin:0 0 10px;color:var(--muted);font-size:13.5px}
.pm-stage{position:relative}
.pm-svg{width:100%;height:auto;overflow:visible;touch-action:manipulation}
.pm-outline{fill:#151522;stroke:rgba(196,181,253,.25);stroke-width:1.5}
.tr{stroke:#0b0b13;stroke-width:1.1;stroke-linejoin:round;cursor:pointer;transition:opacity .25s,fill .25s,stroke .2s;vector-effect:non-scaling-stroke}
.ph1{--pc:#ff8a7a}.ph2{--pc:#e0604f}.ph3{--pc:#f5b942}.ph4{--pc:#c4b5fd}.ph5{--pc:#a78bfa}.ph6{--pc:#8b5cf6}.ph7{--pc:#6d28d9}.ph8{--pc:#4c1d95}
.tr{fill:var(--pc)}
.tr.ph1,.tr.ph2{fill:var(--pc)}
.tr-flag{stroke:#fff;stroke-dasharray:4 3;stroke-width:1.4}
.pm-svg.is-filter .tr{opacity:.3}
.pm-svg[data-sel="1"] .ph1,.pm-svg[data-sel="2"] .ph2,.pm-svg[data-sel="3"] .ph3,.pm-svg[data-sel="4"] .ph4,.pm-svg[data-sel="5"] .ph5,.pm-svg[data-sel="6"] .ph6,.pm-svg[data-sel="7"] .ph7,.pm-svg[data-sel="8"] .ph8{opacity:1;stroke:rgba(255,255,255,.85);stroke-width:1.3}
.pm-svg[data-sel="3"] .ph3{filter:url(#pm-glow)}
.tr.is-hot{opacity:1!important;stroke:#fff!important;stroke-width:2.6!important;stroke-dasharray:none}
.tr.is-pin{opacity:1!important;stroke:#fff!important;stroke-width:3!important;stroke-dasharray:none;filter:url(#pm-glow)}
.pm-pin circle{fill:#fff;stroke:#07070c;stroke-width:2}
.pm-pin .pm-pin-ring{fill:none;stroke:#fff;stroke-width:2;opacity:.8;animation:pmping 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pmping{from{transform:scale(.6);opacity:.9}to{transform:scale(2.6);opacity:0}}
.pm-dist path{fill:none;stroke:rgba(255,255,255,.38);stroke-width:1.2;stroke-dasharray:5 4;pointer-events:none;vector-effect:non-scaling-stroke}
.pm-dlab text{font:600 21px var(--mono);fill:rgba(255,255,255,.5);paint-order:stroke;stroke:#07070c;stroke-width:3px;text-anchor:middle;pointer-events:none}
.pm-dt circle{fill:#fff;stroke:#07070c;stroke-width:2.5}
.pm-dt text,.pm-river{font:600 19px var(--sans);fill:#fff;paint-order:stroke;stroke:#07070c;stroke-width:4px;pointer-events:none}
.pm-river{font:italic 600 17px var(--sans);fill:#b9cdf0;letter-spacing:.06em}
.pm-tip{position:absolute;left:0;top:0;z-index:3;display:flex;flex-direction:column;gap:3px;max-width:260px;padding:10px 12px;border-radius:10px;background:rgba(10,10,18,.96);border:1px solid rgba(196,181,253,.45);box-shadow:0 14px 40px -12px rgba(0,0,0,.8);font-size:13px;color:#dedcec;pointer-events:none}
.pm-tip b{font:600 15px var(--display);color:#fff}
.pm-tip-ph{display:flex;align-items:center;gap:6px;font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#fff}
.pm-tip-ph i,.pm-lg i,.pm-res-ph i{width:12px;height:12px;border-radius:3px;background:var(--pc);flex:none}
.pm-tip-n{color:var(--muted);font-size:12px}
.pm-tip-f{color:var(--amber2);font-size:12px}
.pm-legend{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pm-lg{width:100%;display:grid;grid-template-columns:12px 1fr;column-gap:7px;align-items:center;padding:7px 8px;border-radius:9px;border:1px solid var(--line);background:rgba(7,7,12,.5);color:#e8e6f3;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.pm-lg b{font:600 13px var(--display)}
.pm-lg span{grid-column:2;font:500 11px var(--mono);color:var(--muted)}
.pm-lg em{grid-column:2;font:600 9.5px var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.06em;color:#ff8a7a}
.pm-lg em.em-next{color:var(--amber2)}
.pm-lg:hover{border-color:rgba(196,181,253,.5)}
.pm-lg[aria-pressed="true"]{border-color:var(--pc);background:color-mix(in srgb,var(--pc) 16%,transparent)}
.pm-lg.is-next{border-color:rgba(245,185,66,.4)}
.pm-note{margin:10px 0 0;font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pm-flagkey{width:16px;height:11px;border:1.5px dashed #fff;border-radius:2px;display:inline-block}
.pm-list{margin-top:10px;font-size:13px;color:var(--muted)}
.pm-list summary{cursor:pointer;color:var(--p3);font:500 12.5px var(--mono)}
.pm-list ul{margin:8px 0 0;padding-left:18px}
.pm-list li{margin-bottom:4px}
.pm-list b{color:#e8e6f3}
.pm-addr{padding:18px;border-radius:12px;border:1px solid rgba(167,139,250,.35);background:linear-gradient(160deg,rgba(139,92,246,.16),rgba(7,7,12,.5))}
.pm-addr-h{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.pm-addr-h h4{margin:0;font:600 18px var(--display);color:#fff}
.pm-addr > p{margin:0 0 12px;color:#cfcde0;font-size:14px}
.pm-tag{padding:3px 7px;border-radius:6px;border:1px solid rgba(196,181,253,.45);color:var(--p3);font:500 10.5px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.pm-addr-body[hidden]{display:none}
.pm-addr-row{display:flex;gap:8px;margin-top:4px}
.pm-addr-row input{flex:1;min-width:0;padding:11px 12px;border-radius:10px;border:1px solid var(--line2);background:#07070c;color:#fff;font:inherit;font-size:15px}
.pm-addr-row input:focus{outline:2px solid var(--p2);outline-offset:1px}
.pm-addr-help{margin:8px 0 0;font-size:12px;color:var(--dim)}
.pm-res{margin-top:14px;padding:14px;border-radius:10px;background:rgba(7,7,12,.6);border:1px solid var(--line2)}
.pm-res[hidden]{display:none}
.pm-res h5{margin:0 0 8px;font:600 15px var(--display);color:#fff}
.pm-res p{margin:0 0 10px;font-size:14px;color:#dedcec}
.pm-res dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0 0 12px;font-size:14px}
.pm-res dt{font:500 11.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:2px}
.pm-res dd{margin:0;color:#fff}
.pm-res-ph{display:inline-flex;align-items:center;gap:6px}
.pm-res-days{font:600 22px var(--display)}
.pm-res.is-past{border-color:rgba(255,138,122,.55);background:rgba(255,110,90,.08)}
.pm-res.is-past .pm-res-days{color:#ff8a7a}
.pm-res.is-ok .pm-res-days{color:var(--amber2)}
.pm-res.is-warn{border-color:rgba(245,185,66,.45);border-style:dashed}
.pm-res.is-out{border-color:rgba(196,181,253,.35)}
.pm-res .pm-guide{font-size:12px;color:var(--muted);margin:10px 0 0}
.f-credit{margin:0 0 14px;font-size:12px;line-height:1.6;color:var(--dim)}
.f-credit a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
@media (max-width:1100px){.pm-grid{grid-template-columns:1fr}.pm-legend{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:700px){.pm{padding:12px}.pm-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-dlab text{font-size:30px}.pm-dt text{font-size:28px}.pm-river{font-size:24px}.pm-addr{padding:14px}.pm-addr-row{flex-direction:column}.pm-tip{max-width:220px}}
@media (prefers-reduced-motion:reduce){.tr,.pm-lg{transition:none}.pm-pin .pm-pin-ring{animation:none}}

/* ===== overnight 11/3: paths, prep checklist, fork, inspector Qs, free help, Jan 31 explainer, sample calendar, RING plan + calculator ===== */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:-40px;position:relative;z-index:2}
.path{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:var(--r);border:1px solid var(--line2);background:linear-gradient(160deg,rgba(139,92,246,.14),rgba(16,16,26,.92) 55%),var(--bg2);color:var(--text);overflow:hidden;transition:transform .35s var(--ease),border-color .35s}
.path:hover{color:var(--text);transform:translateY(-3px);border-color:rgba(167,139,250,.45)}
.path.p-trade{background:linear-gradient(160deg,rgba(245,185,66,.10),rgba(16,16,26,.92) 55%),var(--bg2)}
.path .kicker{margin:0}
.path h2{font-size:clamp(22px,2.4vw,28px);margin:0}
.path p{color:var(--muted);margin:0;font-size:15.5px}
.path ol{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font:500 12.5px/1 var(--mono);color:var(--p3)}
.path ol li{padding:7px 10px;border-radius:8px;border:1px solid var(--line2);background:rgba(7,7,12,.4)}
.path ol li+li::before{content:"→ ";color:var(--dim)}
.path .btn{align-self:flex-start;margin-top:8px}
.prep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.prep-card{padding:26px}
.prep-card h3{font-size:19px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;color:#cfcde0}
.checks input{appearance:none;-webkit-appearance:none;flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;border-radius:5px;border:1.5px solid var(--p2);background:transparent;cursor:pointer;display:grid;place-items:center}
.checks input:checked{background:var(--p1);border-color:var(--p1)}
.checks input:checked::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.checks input:checked+label{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(167,139,250,.6)}
.checks label{cursor:pointer}
.prep-note{margin:20px 0 0;color:var(--muted);font-size:14.5px;max-width:80ch}
.prep-act{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:18px 0 0;color:var(--dim);font-size:13.5px}
.fork{display:grid;gap:0}
.fork-root{display:flex;justify-content:center;position:relative;padding-bottom:34px}
.fork-root::after{content:"";position:absolute;left:25%;right:25%;bottom:0;height:22px;border:1.6px solid var(--line2);border-bottom:0;border-radius:14px 14px 0 0}
.fork-root::before{content:"";position:absolute;left:50%;bottom:22px;width:1.6px;height:12px;background:var(--line2)}
.fork-pill{padding:12px 18px;border-radius:999px;border:1px solid rgba(167,139,250,.35);background:var(--surface);font:600 15px/1.2 var(--display);color:#fff}
.fork-branches{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fork-b{padding:28px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg2)}
.fork-b h3{display:flex;align-items:center;gap:12px;font-size:21px}
.fork-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;font-size:17px}
.fork-b.is-pass{border-color:rgba(94,234,212,.28)}
.fork-b.is-pass .fork-ico{background:rgba(94,234,212,.14);color:var(--teal)}
.fork-b.is-fail{border-color:rgba(245,185,66,.28)}
.fork-b.is-fail .fork-ico{background:var(--amber-bg);color:var(--amber2)}
.fork-b.is-pass .nlist li::before{background:var(--teal)}
.qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.qa{padding:22px 24px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg2)}
.qa-q{display:flex;gap:12px;margin:0 0 8px;font:600 17px/1.35 var(--display);color:#fff}
.qa-q span{font:500 12px/1.9 var(--mono);color:var(--p2)}
.qa-a{margin:0 0 0 34px;color:var(--muted);font-size:15px}
.src-note{margin:18px 0 0;color:var(--dim);font-size:13.5px}
.src-note a,.help-link a{white-space:nowrap}
.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.help-card{display:flex;flex-direction:column;padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg2)}
.help-card h3{font-size:19px;margin-top:14px}
.help-card p{color:var(--muted);font-size:15px}
.help-card .help-link{margin:auto 0 0;font-size:14.5px}
.help-st{align-self:flex-start;font:500 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--teal);padding:6px 9px;border-radius:6px;border:1px solid rgba(94,234,212,.28)}
.ex-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.ex-tile{display:flex;flex-direction:column;gap:6px;padding:22px 24px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg2)}
.ex-tile.is-main{border-color:rgba(167,139,250,.45);background:linear-gradient(160deg,rgba(139,92,246,.2),rgba(16,16,26,.9) 60%)}
.ex-k{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p2)}
.ex-tile b{font:600 24px/1.15 var(--display);color:#fff}
.ex-tile span:last-child{color:var(--muted);font-size:14.5px}
.ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.ex-grid .panel,.ex-steps{padding:28px}
.ex-h{margin-top:22px}
.ex-small{font-size:14px;margin:0}
.ticks-2{columns:2;column-gap:28px}
.ticks-2 li{break-inside:avoid}
.ex-steps{margin-bottom:20px}
.ex-rem h3,.cal-any h3,.cal-ladder h3{font-size:20px}
.rem-line{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;counter-reset:r}
.rem-line li{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);font-size:13.5px;line-height:1.4;color:var(--muted)}
.rem-line li::before{content:"";position:absolute;top:-1px;left:12px;right:12px;height:2px;background:linear-gradient(90deg,var(--p1),var(--p3))}
.rem-line li:nth-child(8){border-color:rgba(167,139,250,.45)}
.rem-line b{font:600 14px/1.2 var(--display);color:#fff}
.cal-wrap{display:grid;grid-template-columns:280px 1fr;gap:20px;margin-bottom:20px}
.cal-prop{position:relative;padding:24px;border-radius:var(--r);border:1px dashed rgba(167,139,250,.4);background:rgba(139,92,246,.06)}
.cal-prop .ph-example{position:static;display:inline-block;margin-bottom:12px}
.cal-prop dl{margin:0;display:grid;gap:4px}
.cal-prop dt{font:500 11.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-top:8px}
.cal-prop dd{margin:0;color:#fff;font-size:15px}
.cal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cal-m{padding:22px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg2)}
.cal-m h3{font-size:17px;color:var(--p3)}
.cal-m ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cal-m li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:#cfcde0}
.cal-d{flex:0 0 48px;display:flex;flex-direction:column;align-items:center;padding:6px 0;border-radius:10px;background:var(--amber-bg);border:1px solid rgba(245,185,66,.3);font:500 11px/1.2 var(--mono);color:var(--amber2);text-transform:uppercase}
.cal-d b{font:600 20px/1.1 var(--display);color:#fff}
.cal-prep .cal-d{background:rgba(139,92,246,.12);border-color:rgba(167,139,250,.3);color:var(--p3)}
.cal-ladder{margin-bottom:20px;padding:26px}
.cal-ladder ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.cal-ladder li{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:14px;color:#fff}
.cal-ladder li b{font:500 11.5px/1.3 var(--mono);color:var(--p2);text-transform:uppercase;letter-spacing:.06em}
.cal-any{padding:26px}
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.plan-card,.roi{padding:30px}
.plan-amt{display:flex;align-items:baseline;gap:6px;margin:6px 0 18px}
.plan-amt .amt{font:600 52px/1 var(--display);color:#fff;letter-spacing:-.03em}
.plan-amt .unit{color:var(--muted)}
.plan-dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px}
.plan-dl dt{color:var(--dim)}
.plan-dl dd{margin:0;color:#fff}
.roi h3{font-size:22px}
.roi .field{margin:16px 0 0}
.roi-in{display:flex;align-items:center;gap:8px}
.roi-in i{font-style:normal;color:var(--muted);font:600 18px var(--display)}
.roi input{width:100%}
.roi-out{margin:18px 0 0;padding:18px;border-radius:var(--r-sm);background:rgba(139,92,246,.08);border:1px solid rgba(167,139,250,.25);min-height:84px}
.roi-out p,.roi-out2 p{margin:0;color:#dcdaea;font-size:15px}
.roi-empty{color:var(--muted)!important}
.roi-big{font:600 18px/1.2 var(--display)!important;color:#fff!important;margin-bottom:6px!important}
.roi-big b{font-size:40px;color:var(--p3)}
.roi-more{margin-top:16px}
.roi-more summary{cursor:pointer;color:var(--p3);font-weight:600;font-size:15px}
.roi-out2{margin-top:12px}
.roi-fine{margin:16px 0 0;color:var(--dim);font-size:13px}
@media (max-width:1100px){.rem-line{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:960px){.paths,.prep-grid,.help-grid,.ex-grid,.plan-grid,.fork-branches,.qa-grid{grid-template-columns:1fr}.cal-wrap{grid-template-columns:1fr}.cal-grid{grid-template-columns:1fr}.cal-ladder ol{grid-template-columns:repeat(3,minmax(0,1fr))}.fork-root::after{left:12%;right:12%}.paths{margin-top:0}}
@media (max-width:700px){.ex-tiles{grid-template-columns:1fr}.rem-line{grid-template-columns:repeat(2,minmax(0,1fr))}.ticks-2{columns:1}.qa-a{margin-left:0}.path{padding:22px}.plan-dl{grid-template-columns:1fr;gap:2px}.plan-dl dd{margin-bottom:10px}}
@media print{
  body.print-prep *{visibility:hidden}
  body.print-prep #prep,body.print-prep #prep *{visibility:visible}
  body.print-prep #prep{position:absolute;left:0;top:0;width:100%;background:#fff}
  body.print-prep #prep *{color:#000!important;background:transparent!important;border-color:#999!important;box-shadow:none!important}
  body.print-prep .prep-act{display:none}
  body.print-prep .checks input{border:1.5px solid #000!important}
}
.field .roi-in{display:flex;align-items:center;gap:8px;margin:0}

/* ---------- interactive tools (overnight 11/3) ---------- */
.tool [hidden]{display:none!important}
.tool-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.tool{padding:26px;border-color:rgba(167,139,250,.35);background:linear-gradient(160deg,rgba(139,92,246,.12),rgba(7,7,12,.4))}
.tool .field select{width:100%;font:400 15px var(--sans);color:#fff;background:#0c0c14;border:1px solid var(--line2);border-radius:12px;padding:12px 14px}
.tool .field select:focus{outline:none;border-color:var(--p2);box-shadow:0 0 0 4px rgba(139,92,246,.15)}
.tool .pm-addr-row input{padding:12px 14px}
.tool-addr .field{margin-bottom:8px}
.tool-found{margin:0 0 14px;min-height:18px;font-size:13px;color:var(--p3)}
.tool-radios{display:flex;flex-wrap:wrap;gap:8px 10px}
.tool-radios legend{width:100%}
.tool-radios label{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line2);border-radius:999px;font-size:14px;color:#e6e4f2;cursor:pointer;background:rgba(255,255,255,.02)}
.tool-radios label:has(input:checked){border-color:var(--p2);background:rgba(139,92,246,.16);color:#fff}
.field .tool-radios input,.tool-radios input{width:16px;height:16px;padding:0;margin:0;accent-color:var(--p1);box-shadow:none}
.tool-out{padding:26px;min-height:100%}
.tool-empty p{color:var(--muted);margin:0}
.tool-h{margin:0 0 10px;font:600 20px var(--display);color:#fff}
.tool-verdict{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font:600 14px var(--display);margin:0 0 14px}
.tool-verdict::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.v-yes{color:var(--amber2);background:var(--amber-bg);border:1px solid rgba(245,185,66,.4)}
.v-no{color:#7ee0c3;background:rgba(45,212,170,.1);border:1px solid rgba(45,212,170,.35)}
.v-maybe{color:var(--p3);background:rgba(139,92,246,.12);border:1px solid rgba(167,139,250,.35)}
.tool-count{display:flex;align-items:baseline;gap:10px;margin:0 0 14px}
.tool-count b{font:700 52px/1 var(--display);background:linear-gradient(90deg,#fff,var(--p3));-webkit-background-clip:text;background-clip:text;color:transparent}
.tool-count span{color:var(--muted);font-size:14px}
.tool-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0 0 14px;font-size:14px}
.tool-dl dt{font:500 11.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:3px}
.tool-dl dd{margin:0;color:#fff}
.tool-days{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:12px;background:rgba(139,92,246,.16);color:var(--p3)}
.tool-days.is-past{background:rgba(255,110,90,.12);color:#ff8a7a}
.tool-sub{display:block;font-style:normal;color:var(--muted);font-size:13px;margin-top:3px}
.tool-out p,.tl-out p{font-size:14px;color:#dcdaea}
.tool-rule{margin-top:12px;padding:14px;border:1px solid var(--line2);border-radius:var(--r-sm);background:rgba(7,7,12,.5)}
.tool-rule p{margin:6px 0 0}
.tool-cite{font-size:12.5px!important;color:var(--dim)!important;margin:6px 0 0}
.chk{display:inline-block;vertical-align:1px;margin-left:4px;padding:1px 7px;border-radius:6px;font:500 10.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;border:1px solid}
.chk-checked{color:#7ee0c3;border-color:rgba(45,212,170,.4)}
.chk-partly{color:var(--amber2);border-color:rgba(245,185,66,.4)}
.chk-estimate{color:var(--p3);border-color:rgba(167,139,250,.4)}
.chk-unverified{color:#ff9d8f;border-color:rgba(255,138,122,.45)}
.tool-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:16px 20px;border:1px dashed var(--line2);border-radius:var(--r-sm)}
.tool-guide{margin:0;font-size:13px;color:var(--muted);max-width:760px}
.tool-guide b{color:#fff}
.tool-foot .btn{flex:none}
.tool-wide .tool-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:26px;align-items:start}
.tool-qs .btn{margin-top:4px}
.tl-out{margin-top:20px;padding:26px}
.tl-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.tl-head .tool-h{margin:0}
.tl-bar{position:relative;height:74px;margin:18px 10px 26px;border-bottom:2px solid var(--line2)}
.tl-bar::before{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,var(--p1),transparent)}
.tl-tick{position:absolute;bottom:-8px;width:1px;height:12px;background:var(--line2)}
.tl-tick i{position:absolute;top:16px;left:50%;transform:translateX(-50%);font:500 11px var(--mono);font-style:normal;color:var(--dim);white-space:nowrap}
.tl-tick.is-year{background:var(--p3);height:16px;bottom:-9px}
.tl-tick.is-year i{color:var(--p3)}
.tl-now{position:absolute;bottom:-6px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.15)}
.tl-now i{position:absolute;bottom:16px;left:0;font:600 11px var(--mono);font-style:normal;color:#fff;white-space:nowrap}
.tl-dot{position:absolute;bottom:8px;width:28px;height:28px;margin-left:-14px;border-radius:50% 50% 50% 4px;display:grid;place-items:center;font:700 12px var(--display);color:#07070c;background:var(--p3);box-shadow:0 6px 18px rgba(139,92,246,.35)}
.tl-dot.up{bottom:40px}
.tl-span{position:absolute;bottom:-1px;height:6px;border-radius:3px;background:rgba(245,185,66,.55)}
.tg-vacant.tl-dot,.tl-list .tg-vacant .tl-n{background:var(--amber2)}
.tg-rental.tl-dot,.tl-list .tg-rental .tl-n{background:#7ee0c3}
.tl-dot.is-past{background:#ff8a7a}
.tl-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tl-list li{display:grid;grid-template-columns:28px 64px minmax(0,1fr);gap:14px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(7,7,12,.45)}
.tl-n{width:28px;height:28px;border-radius:50% 50% 50% 4px;display:grid;place-items:center;font:700 12px var(--display);color:#07070c;background:var(--p3)}
.tl-list .cal-day{text-align:center}
.tl-list .cal-day b{display:block;font:700 26px/1 var(--display);color:#fff}
.tl-list .cal-day span{font:500 11px var(--mono);color:var(--muted);text-transform:uppercase}
.tl-list h4{margin:0 0 4px;font:600 16px var(--display);color:#fff}
.tl-list p{margin:0}
.tl-when{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font:500 11.5px var(--sans);background:rgba(139,92,246,.16);color:var(--p3);vertical-align:2px}
.tl-when.is-past{background:rgba(255,110,90,.12);color:#ff8a7a}
.tl-any{margin-top:20px}
.tl-any h4{margin:0 0 10px;font:600 16px var(--display);color:#fff}
.tl-any ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tl-any li{padding:14px;border:1px solid var(--line);border-radius:var(--r-sm)}
.tl-any li b{color:#fff;font-size:14.5px}
.tl-any li p{margin:6px 0 0}
.cc-sl > span{display:flex!important;justify-content:space-between;align-items:baseline}
.cc-sl output{font:600 16px var(--display);color:#fff}
.field .cc-sl input[type=range],.cc input[type=range]{width:100%;padding:0;border:0;background:transparent;box-shadow:none;accent-color:var(--p1);height:24px}
.cc .field{margin:0 0 12px}
.cc-out{margin:16px 0 0;padding:18px;border-radius:var(--r-sm);background:rgba(139,92,246,.08);border:1px solid rgba(167,139,250,.25)}
.cc-big{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 12px!important}
.cc-big span{width:100%;font:500 11.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.cc-big b{font:700 44px/1 var(--display);color:#fff}
.cc-big em{font-style:normal;color:var(--muted)}
.cc-bars{display:grid;gap:8px;margin:0 0 12px}
.cc-bar{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
.cc-bar i{display:block;height:12px;min-width:3px;border-radius:6px;background:linear-gradient(90deg,var(--p1),var(--p3))}
.cc-bar.cc-ring i{background:linear-gradient(90deg,var(--amber),var(--amber2))}
.cc-bar b{color:#fff;font:600 14px var(--display)}
.cc-out p{margin:0;color:#dcdaea;font-size:14px}
.cc .btn{margin-top:14px}
@media (max-width:960px){.tool-grid,.tool-wide .tool-row{grid-template-columns:1fr}.tl-any ul{grid-template-columns:1fr}}
@media (max-width:700px){.tool,.tool-out,.tl-out{padding:18px}.tool-foot{flex-direction:column;align-items:flex-start}.tl-list li{grid-template-columns:28px minmax(0,1fr)}.tl-list .cal-day{grid-column:2;text-align:left;display:flex;gap:8px;align-items:baseline}.tl-list li>div:last-child{grid-column:1/-1}.tl-tick i{font-size:10px}.tl-bar{margin:18px 14px 26px}.cc-bar{grid-template-columns:78px minmax(0,1fr) auto}.tool .pm-addr-row{flex-direction:column}}
@media print{.tool,.tool-foot,.tl-head .btn{display:none}}

/* ---------- who-does-what + diagrams (from products/ packs) ---------- */
.dg-split{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:28px}
.dg-col{border-width:1.5px;box-shadow:0 16px 40px -28px rgba(0,0,0,.85)}
.dg-col h3{margin:0 0 12px;font:600 18px var(--display);color:#fff}
.dg-you{border-color:rgba(245,185,66,.75)!important;background:linear-gradient(160deg,rgba(245,185,66,.22),rgba(16,16,26,.96) 70%)!important;box-shadow:0 0 0 1px rgba(245,185,66,.2),0 18px 40px -20px rgba(245,185,66,.45)}
.dg-we{border-color:rgba(196,181,253,.7)!important;background:linear-gradient(160deg,rgba(139,92,246,.32),rgba(16,16,26,.96) 70%)!important;box-shadow:0 0 0 1px rgba(167,139,250,.28),0 18px 40px -18px rgba(139,92,246,.7)}
.dg-figs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dg-fig{margin:0;border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;background:#0b0b13}
.dg-fig.is-wide{grid-column:1/-1}
.dg-figs .dg-fig:only-child{grid-column:1/-1;max-width:1000px}
.dg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dg-scroll:focus-visible{outline:2px solid var(--p2);outline-offset:-2px}
.dg-fig img{display:block;width:100%;height:auto}
.dg-fig figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#0e0e17;border-top:1px solid var(--line2);font-size:13.5px;color:var(--muted)}
.dg-fig figcaption a{color:var(--p3)}
@media (max-width:960px){.dg-figs{grid-template-columns:1fr}}
@media (max-width:700px){.dg-split{grid-template-columns:1fr}.dg-fig img{width:auto;min-width:640px;max-width:none}.dg-fig.is-wide img{min-width:900px}}
.dg-figs{grid-template-columns:1fr;justify-items:center}
.dg-fig{width:100%}
.dg-fig:not(.is-wide){max-width:920px}

/* ===== 11/4: plain-language explainer, how-you-pay, plans, sign-up flow (LOCAL PREVIEW) ===== */
.svc-plain{font-size:14px;color:#d6d4e4;background:rgba(139,92,246,.08);border:1px solid rgba(167,139,250,.2);border-radius:12px;padding:10px 12px;margin:10px 0}
.svc-plain b{color:var(--p3);font-weight:600}
.svc-plain a{color:var(--p2);white-space:nowrap}
.basics-sec{padding-top:56px}
.basics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.basics-card{position:relative;padding:28px 28px 24px}
.basics-card h3{font-size:19px;margin:0 0 12px}
.basics-card p{color:#cfcde0;margin:0;line-height:1.6}
.basics-card .ticks{margin:0}
.basics-n{position:absolute;top:22px;right:22px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:600 13px var(--mono);color:var(--p3);background:rgba(139,92,246,.14);border:1px solid rgba(167,139,250,.3)}
.basics-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.basics-chips li{font-size:14px;color:#e6e4f2;padding:8px 12px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.03)}
.basics-fees{margin:18px 0 0;font-size:14px;color:var(--muted)}
.pay-steps{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:12px}
.pay-step{flex:1;position:relative;padding:26px;border-radius:var(--r);border:1px solid var(--line2);background:linear-gradient(180deg,var(--surface2),var(--bg2))}
.pay-step:first-child{border-color:rgba(167,139,250,.45);box-shadow:0 30px 80px -40px rgba(109,40,217,.7)}
.pay-step h3{font-size:19px;margin:10px 0 8px}
.pay-step p{color:#cfcde0;font-size:14.5px;line-height:1.55;margin:10px 0 0}
.pay-amt{display:flex;align-items:baseline;gap:8px}
.pay-amt b{font:600 36px/1 var(--display);letter-spacing:-.03em;background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.pay-amt span{color:var(--muted);font-size:14px}
.pay-arrow{align-self:center;color:var(--p2);font-size:22px}
.pay-more{margin-top:20px}
.plans-note{font-size:14px;color:#d6d4e4;padding:12px 16px;border:1px dashed rgba(251,191,36,.4);border-radius:12px;background:rgba(251,191,36,.04);margin-bottom:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.plans-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.plan-tile{display:flex;flex-direction:column;padding:24px;border-radius:var(--r);border:1px solid var(--line2);background:var(--bg2);color:inherit}
.plan-tile:hover{border-color:rgba(196,181,253,.45);color:inherit}
.plan-tile-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}
.plan-shape{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--p2)}
.plan-tile h3{font-size:18px;margin:0 0 10px}
.plan-lines{list-style:none;margin:0 0 16px;padding:0;flex:1}
.plan-lines li{font-size:14px;color:#cfcde0;padding:7px 0;border-bottom:1px dashed var(--line)}
.plan-lines li:first-child{font-weight:600;color:#fff}
.plans-ex{margin-top:16px}
.tag-set{display:inline-flex;align-items:center;font:600 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#86efac;padding:5px 8px;border:1px solid rgba(134,239,172,.45);border-radius:6px;background:rgba(134,239,172,.06)}
@media (max-width:1100px){.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.pay-steps{flex-direction:column}.pay-arrow{transform:rotate(90deg)}.basics-grid{grid-template-columns:1fr}}
@media (max-width:700px){.plans-grid{grid-template-columns:1fr}.basics-card{padding:22px 20px}.pay-step{padding:22px}}

/* sign-up */
.su-main{padding:40px 0 80px}
.su-wrap{max-width:640px}
.su-progress{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.su-progress li{display:flex;align-items:center;gap:8px;font:500 12.5px var(--mono);color:var(--dim);padding:10px 0;border-top:3px solid var(--line2)}
.su-progress li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;border:1px solid var(--line2)}
.su-progress li.is-on{color:#fff;border-top-color:var(--p1)}
.su-progress li.is-on span{background:var(--p1);border-color:var(--p1)}
.su-progress li.is-done{color:var(--p3);border-top-color:rgba(139,92,246,.5)}
.su-progress li.is-done span{background:rgba(139,92,246,.25)}
.su-h{font-size:clamp(28px,5vw,40px);margin:0 0 10px}
.su-lead{color:var(--muted);font-size:16.5px;margin:0 0 22px}
.su-svc{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid rgba(167,139,250,.35);background:rgba(139,92,246,.08);margin:0 0 20px;font-weight:600}
.su-link{background:none;border:0;padding:0;color:var(--p2);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.su-form{display:grid;gap:18px}
.su-field label,.su-fs legend{display:block;font-weight:600;font-size:15px;margin:0 0 8px;color:#fff}
.su-field input,.su-field select,.su-field textarea,.su-prop input,.su-prop select{width:100%;min-height:52px;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--surface);color:#fff;font:16px var(--sans)}
.su-field textarea{min-height:90px}
.su-field input:focus,.su-field select:focus,.su-field textarea:focus{outline:2px solid var(--p2);outline-offset:1px;border-color:transparent}
.su-field input[aria-invalid="true"]{border-color:#f87171;background:rgba(248,113,113,.06)}
.su-help{font-size:13px;color:var(--dim);margin:6px 0 0}
.su-err{font-size:13.5px;color:#fca5a5;margin:6px 0 0;min-height:0}
.su-err:empty{display:none}
.su-fs{border:0;margin:0;padding:0;min-width:0}
.su-seg{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.su-seg label,.su-chips label{position:relative}
.su-seg input,.su-chips input,.su-card input,.su-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.su-seg span{display:grid;place-items:center;min-height:52px;border-radius:12px;border:1px solid var(--line2);background:var(--surface);font-weight:600;cursor:pointer}
.su-seg input:checked+span,.su-chips input:checked+span{border-color:var(--p2);background:rgba(139,92,246,.2);color:#fff}
.su-seg input:focus-visible+span,.su-chips input:focus-visible+span,.su-card input:focus-visible+.su-card-b,.su-toggle input:focus-visible+span{outline:2px solid var(--p2);outline-offset:2px}
.su-chips{display:flex;flex-wrap:wrap;gap:8px}
.su-chips span{display:inline-flex;align-items:center;min-height:46px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:var(--surface);font-size:15px;cursor:pointer}
.su-cards{display:grid;gap:12px}
.su-cards-svc{grid-template-columns:1fr 1fr}
.su-card{display:block;cursor:pointer}
.su-card-b{display:block;padding:18px;border-radius:16px;border:1px solid var(--line2);background:var(--bg2);transition:border-color .2s,background .2s}
.su-card-b b{display:block;font-size:16px;margin-bottom:4px}
.su-card-b small{display:block;color:var(--muted);font-size:13.5px;line-height:1.45}
.su-card input:checked+.su-card-b{border-color:var(--p2);background:linear-gradient(135deg,rgba(139,92,246,.18),rgba(109,40,217,.05));box-shadow:0 0 0 1px var(--p2) inset}
.su-plan-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.su-plan-top em{font:600 10.5px/1 var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:var(--p3);padding:5px 8px;border-radius:6px;background:rgba(139,92,246,.18)}
.su-plan-amt{display:block;font:600 26px/1.2 var(--display);margin:8px 0 2px}
.su-plan ul{margin:10px 0 0;padding-left:18px;color:#cfcde0;font-size:14px}
.su-opts{display:grid;gap:10px;margin-top:16px}
.su-toggle{display:block;position:relative;cursor:pointer}
.su-toggle span{display:block;padding:14px 16px 14px 52px;border-radius:14px;border:1px solid var(--line2);background:var(--bg2);position:relative}
.su-toggle span::before{content:"";position:absolute;left:16px;top:16px;width:22px;height:22px;border-radius:6px;border:1px solid var(--line2);background:var(--surface)}
.su-toggle input:checked+span{border-color:var(--p2)}
.su-toggle input:checked+span::before{background:var(--p1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--p1)}
.su-toggle b{display:block;font-size:15px}.su-toggle b i{font-style:normal;color:var(--p3)}
.su-toggle small{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}
.su-verdict{padding:18px 20px;border-radius:16px;border:1px solid rgba(134,239,172,.35);background:rgba(134,239,172,.05);margin:0 0 22px}
.su-verdict h2{font-size:18px;margin:0 0 6px}
.su-verdict p{margin:0;color:#d6d4e4}
.su-verdict.is-warn{border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.05)}
.su-verdict.is-past{border-color:rgba(248,113,113,.5);background:rgba(248,113,113,.06)}
.su-sum{margin:20px 0 0;padding:20px;border-radius:16px;border:1px solid var(--line2);background:var(--surface)}
.su-sum-h{display:flex;justify-content:space-between;align-items:center;font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin-bottom:10px}
.su-sum ul{list-style:none;margin:0;padding:0}
.su-sum li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:15px}
.su-due{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 4px;font-weight:600}
.su-due b{font:600 30px/1 var(--display)}
.su-later{margin:4px 0 0;color:var(--muted);font-size:14px}
.su-pay{margin:16px 0;padding:18px;border-radius:16px;border:1px dashed rgba(251,191,36,.45);background:repeating-linear-gradient(135deg,rgba(251,191,36,.03) 0 10px,transparent 10px 20px)}
.su-pay p{margin:10px 0 0;color:#d6d4e4;font-size:14.5px}
.su-go{--h:56px;font-size:16px;margin-top:6px;white-space:normal;text-align:center}
.su-fine{font-size:13px;color:var(--dim);margin:10px 0 0}
.su-fine.is-ok{color:#86efac}
.su-resume{padding:12px 14px;border-radius:12px;border:1px solid rgba(167,139,250,.35);background:rgba(139,92,246,.08);font-size:14.5px}
.su-done .kicker{color:#fbbf24}
.su-next{padding:22px;border-radius:16px;border:1px solid var(--line2);background:var(--bg2);margin:8px 0 28px}
.su-next h2{font-size:20px;margin:0 0 12px}
.su-next ol{margin:0;padding-left:20px;display:grid;gap:10px;color:#d6d4e4}
.su-next-dl{list-style:none;margin:16px 0 0;padding:12px 14px;border-radius:12px;background:rgba(139,92,246,.1);color:#fff}
.su-b{padding:24px;border-radius:var(--r);border:1px solid rgba(167,139,250,.3);background:linear-gradient(180deg,var(--surface2),var(--bg2))}
.su-b-h h2{font-size:24px;margin:0 0 8px}.su-b-h p{color:var(--muted);margin:0}
.su-bh{font-size:15px;font:500 12.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--p2);margin:10px 0 -4px}
.su-drop{display:grid;gap:4px;padding:20px;border-radius:12px;border:1px dashed var(--line2);color:var(--muted);font-size:14px;text-align:center}
.su-drop b{color:#fff}
.su-props{display:grid;gap:10px;margin-bottom:10px}
.su-prop{display:grid;grid-template-columns:1fr 130px 80px;gap:8px}
.su-b-actions{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:700px){.su-cards-svc{grid-template-columns:1fr}.su-prop{grid-template-columns:1fr 1fr}.su-prop input{grid-column:1/-1}.su-b{padding:18px}.su-b-actions .btn{width:100%}}
.pay-more>*,.two-col>*{min-width:0}

/* Instant quote widget (11/4) */
.qw{margin:1.5rem auto 0;max-width:640px}
.qw .su-seg{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .8rem}
.qw .su-seg label{flex:1 1 auto}
.qw .qw-l{font-weight:600;margin:.6rem 0 0}
.qw .qw-out .price-main{margin:.4rem 0}
.qw .qw-out .btn{margin-top:.6rem}

/* Software & Apps placeholder logos (11/4) */
.app-logo{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-weight:700;letter-spacing:.04em;margin:.8rem 0;background:linear-gradient(135deg,#7c3aed,#4c1d95);color:#fff}

/* Product pages (11/4) */
.pp-hero{position:relative;overflow:hidden;padding:72px 0 56px}
.pp-hero .wrap{position:relative}
.pp-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 .6rem}
.pp-dev{color:#fbbf24;border-color:rgba(251,191,36,.45)}
.pp-beta{color:#c4b5fd;border-color:rgba(196,181,253,.5)}
.pp-h1{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.08;max-width:18ch;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin:.3rem 0 1rem}
.pp-hero .lead{max-width:62ch}
.pp-note{font-size:.9rem;color:var(--muted);margin-top:1rem}
.ph{display:inline-block;font:500 .82em/1.4 var(--mono);color:#fbbf24;background:rgba(251,191,36,.08);border:1px dashed rgba(251,191,36,.5);border-radius:6px;padding:.1em .45em;margin:.15em .1em}
.pp-qs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.pp-q h3{font-size:1.05rem;margin:0 0 .4rem}.pp-q p{margin:0;color:var(--muted)}
.pp-feats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}
.pp-feats li h3{font-size:1rem;margin:0 0 .3rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.pp-feats li p{margin:0;color:var(--muted);font-size:.95rem}
.pp-diags{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1rem}
@media(max-width:520px){.pp-diags{grid-template-columns:1fr}}
.pp-diag{margin:0}.pp-diag img{width:100%;height:auto;border-radius:10px;display:block}.pp-diag figcaption{margin-top:.5rem;color:var(--muted);font-size:.9rem}
.faq details{border-bottom:1px solid rgba(167,139,250,.18);padding:.8rem 0}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--muted)}
.pp-cta{text-align:center}.pp-tm{font-size:.8rem;color:var(--dim);margin-top:1.2rem;text-align:center}

/* ---- Home chooser (James Walsh 11/5) ---- */
.choose{position:relative;padding:48px 0 88px;isolation:isolate}
.choose-under-hero{padding-top:8px;min-height:0;display:block}
.choose-under-hero .choose-inner{max-width:1100px}
.brand-tag{margin:0 0 14px;font:600 13px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--p3)}
.choose-inner{width:100%;max-width:980px}
.choose h1{font-size:clamp(34px,5vw,52px);margin:0 0 28px;letter-spacing:-.03em}
.choose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.choose-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px 26px 28px;border-radius:18px;border:1px solid rgba(167,139,250,.55);background:linear-gradient(165deg,rgba(139,92,246,.28),rgba(16,16,26,.96) 55%);color:inherit;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s,background .2s;min-height:180px;box-shadow:0 0 0 1px rgba(139,92,246,.18),0 22px 50px -28px rgba(109,40,217,.85);overflow:hidden}
.choose-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--amber),var(--p2),var(--p0));box-shadow:0 0 18px rgba(167,139,250,.55)}
.choose-card:hover{border-color:rgba(196,181,253,.85);transform:translateY(-5px);box-shadow:0 0 0 1px rgba(196,181,253,.35),0 32px 70px -24px rgba(139,92,246,.95);background:linear-gradient(165deg,rgba(139,92,246,.38),rgba(16,16,26,.98) 55%)}
.choose-card h2{font-size:clamp(20px,2.2vw,24px);margin:0;letter-spacing:-.02em;color:#fff}
.choose-card p{margin:0;color:#cfcde0;font-size:15px;line-height:1.45}
.choose-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.choose-list li{position:relative;padding:0 0 0 18px;color:#e4e1f2;font-size:14.5px;line-height:1.35}
.choose-list li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--p2);box-shadow:0 0 10px rgba(167,139,250,.8)}
@media (max-width:800px){.choose{padding:48px 0 64px;min-height:0}.choose-grid{grid-template-columns:1fr}}

/* ---- Rentals landing ---- */
.rentals-lead{padding:48px 0 24px}
.home-q{font:600 15px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--amber2);margin:0 0 12px}
.home-sub{margin-top:0}
.home-map{margin-top:28px}
.home-map-card{border-radius:18px;border:1px solid rgba(167,139,250,.35);background:rgba(7,7,12,.55);overflow:hidden;box-shadow:0 30px 80px -48px rgba(139,92,246,.7)}
.home-map-card .pp{margin:0;border:0;border-radius:0;background:transparent}
.home-map-top{display:flex;justify-content:flex-end;padding:16px 20px 0}
.home-map-top .cd{transform:scale(.92);transform-origin:top right}
.auto-lead{padding-top:40px;padding-bottom:64px}
.auto-lead .auto-live{margin:20px 0 10px}
.auto-lead #mc-h{margin:0 0 22px;font-size:clamp(26px,3.2vw,36px);letter-spacing:-.03em}
.auto-lead #auto-ring{margin-top:0}
@media (max-width:700px){.home-map-top{justify-content:flex-start}.rentals-lead{padding-top:32px}.auto-lead{padding-top:28px;padding-bottom:48px}}

/* ---- Rentals clarity + vacant split ---- */
.rentals-help{margin:0 0 18px;padding:14px 16px;border-radius:12px;border:1px solid rgba(245,185,66,.35);background:rgba(245,185,66,.1);color:#f5e6c8;font-size:17px;line-height:1.45;max-width:62ch}
.rentals-help strong{color:#fff;font-weight:700}
.rentals-promise{margin:10px 0 18px;color:var(--muted);font-size:15.5px;line-height:1.55;max-width:70ch}
.rentals-cta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 8px}
.rentals-vacant{padding-top:12px}
.rentals-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:center;padding:22px;border-radius:18px;border:1px solid rgba(167,139,250,.4);background:linear-gradient(160deg,rgba(139,92,246,.14),rgba(16,16,26,.5));box-shadow:0 18px 44px -30px rgba(109,40,217,.7)}
.rentals-fig{margin:0;border-radius:14px;border:1px solid rgba(167,139,250,.35);background:#0b0b13;overflow:hidden;box-shadow:0 16px 36px -22px rgba(0,0,0,.55)}
.rentals-fig img{display:block;width:100%;height:auto}
.rentals-cal{padding-top:0}
.rentals-cal-card{max-width:520px}
@media (max-width:900px){.rentals-split{grid-template-columns:1fr}}

/* ---- Address typeahead (Photon via /api/address) ---- */
.addr-wrap{position:relative;flex:1;min-width:0}
.addr-wrap input{width:100%}
.pm-addr-row .addr-wrap + .btn{flex:0 0 auto}
.addr-list{position:absolute;z-index:40;left:0;right:0;margin:4px 0 0;padding:6px 0;list-style:none;background:#12121c;border:1px solid rgba(167,139,250,.4);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.55);max-height:280px;overflow:auto}
.addr-list li{padding:10px 12px;cursor:pointer;font-size:14.5px;line-height:1.35;color:#e8e6f3}
.addr-list li small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.addr-list li[aria-selected=true],.addr-list li:hover{background:rgba(139,92,246,.22)}
.addr-list .attr{font-size:11px;color:var(--dim);cursor:default;padding:6px 12px 4px}
.addr-list .attr:hover{background:transparent}
.pay-yearly{margin:28px 0 8px;padding:26px 28px}.pay-yearly p{margin:0 0 12px;color:#dedcec;max-width:70ch;line-height:1.55}.pay-yearly p:last-child{margin-bottom:0}

/* ---- In-path product nav (rentals / automation) ---- */
html{scroll-behavior:smooth}
.rentals-lead,.rentals-vacant,#calendar,.auto-lead,#missed-call,#industrial-hmi,#plant-floor-app,#more-products{scroll-margin-top:118px}
.path-nav{position:sticky;top:64px;z-index:35;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(7,7,12,.88);border-bottom:1px solid rgba(167,139,250,.35);box-shadow:0 12px 30px -20px rgba(0,0,0,.9)}
.path-nav-inner{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;padding:10px 0}
.path-nav-label{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--p3);margin-right:6px}
.path-nav a{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(167,139,250,.4);background:rgba(139,92,246,.14);color:#e9e6f8;font:500 13.5px/1.2 var(--sans,inherit);text-decoration:none;white-space:nowrap;transition:border-color .2s,background .2s,transform .2s}
.path-nav a:hover,.path-nav a:focus-visible{border-color:rgba(196,181,253,.8);background:rgba(139,92,246,.28);transform:translateY(-1px);outline:none}
@media (max-width:700px){.path-nav{top:56px}.path-nav-inner{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.path-nav a{flex:0 0 auto}.rentals-lead,.rentals-vacant,#calendar,.auto-lead,#missed-call,#industrial-hmi,#plant-floor-app,#more-products{scroll-margin-top:108px}}


/* ---- Outcome-first lane openings ---- */
.outcome{margin:0 0 18px;padding:16px 18px;border-radius:14px;border:1px solid rgba(245,185,66,.45);background:linear-gradient(135deg,rgba(245,185,66,.16),rgba(139,92,246,.1));color:#fff;font-size:clamp(18px,2.2vw,22px);line-height:1.35;max-width:70ch;box-shadow:0 18px 40px -28px rgba(245,185,66,.55)}
.outcome strong{font-weight:700;color:#fff}
.outcome > p{margin:0}
.outcome > p + p{margin-top:10px}
.outcome-help{font-size:16.5px;font-weight:500;line-height:1.45;color:#f5e6c8}
.lead-who{margin:0 0 16px;color:var(--muted);font-size:16.5px;line-height:1.5;max-width:62ch}
.product-card-lead .home-q{margin:0 0 8px}
.ba-line{margin:0 0 14px;color:#d8d5ea;font-size:15.5px;line-height:1.55;max-width:68ch}
.ba-b,.ba-a{font:600 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-right:4px}
.ba-b{color:var(--amber2)}.ba-a{color:var(--p3)}
.honesty{margin:0 0 16px;color:var(--muted);font-size:15px;line-height:1.5;max-width:68ch}
.lane-open-sec{padding:36px 0 8px}
.detail-hero .outcome{margin-top:14px}

/* ---- Vacant map (uniform tracts, no phase colors) ---- */
.vacant-map{margin-top:22px}
.vacant-map-card .vm-tr{fill:rgba(139,92,246,.28);stroke:rgba(196,181,253,.35);stroke-width:1}
.vacant-map-card .vm-tr:hover,.vacant-map-card .vm-tr.is-hot{fill:rgba(245,185,66,.35);stroke:var(--amber2)}
.vacant-map-card .vm-tr.is-pin{fill:rgba(245,185,66,.55)!important;stroke:#fff!important}
.vacant-map-card .pm-legend{display:none}
.vacant-map-card .vm-extra{margin-top:10px}
.vacant-map-card .vm-res{margin-top:14px}
.vacant-checker-sec .home-map-card{margin-top:8px}
.rentals-vacant{padding-top:28px;padding-bottom:28px;background:linear-gradient(180deg,rgba(245,185,66,.05),rgba(139,92,246,.04) 55%,transparent)}
.rentals-vacant-rest{padding-top:20px}

/* ---- Coming later (automation) ---- */
.tag-later{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid rgba(163,161,181,.35);background:rgba(255,255,255,.03);color:#9a97ad;font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.svc-card-later{opacity:.72;filter:saturate(.55);border-color:rgba(255,255,255,.08)!important;background:rgba(16,16,26,.55)!important;box-shadow:none!important}
.svc-card-later:hover{opacity:.85;transform:none}
.svc-card-later h3,.svc-card-later .svc-pitch{color:#9a97ad}
.path-nav-later{opacity:.7;border-style:dashed!important;background:rgba(255,255,255,.03)!important;color:#b0adc2!important}
.path-nav-later em{font-style:normal;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8e8ba3;margin-left:6px}

/* ---- Warmth pass (keep purple brand; amber accents + section shifts) ---- */
body{
  background:
    radial-gradient(ellipse 90% 50% at 8% -8%, rgba(245,185,66,.08), transparent 55%),
    radial-gradient(ellipse 70% 45% at 96% 4%, rgba(139,92,246,.18), transparent 50%),
    radial-gradient(ellipse 55% 40% at 50% 110%, rgba(109,40,217,.14), transparent 55%),
    var(--bg);
}
.section{padding:112px 0}
.section.ex-sec,.cat,.choose{
  background:linear-gradient(180deg, rgba(245,185,66,.03), transparent 40%, rgba(139,92,246,.045));
}
.rentals-lead{
  background:linear-gradient(180deg, rgba(139,92,246,.07), transparent 70%);
  padding-bottom:36px;
}
.auto-lead{
  background:linear-gradient(180deg, rgba(245,185,66,.05), rgba(139,92,246,.05) 60%, transparent);
}
.choose-list li::before{background:var(--amber);box-shadow:0 0 10px rgba(245,185,66,.55)}
.path-nav a:hover,.path-nav a:focus-visible{border-color:rgba(245,185,66,.55);background:rgba(245,185,66,.1)}
.rentals-fig figcaption,.auto-ring-fig figcaption{padding:10px 14px;color:var(--muted);font-size:13.5px;border-top:1px solid var(--line2);background:#0e0e17}
#jan31{scroll-margin-top:118px}
.rentals-vacant,#vacant-map,.vacant-checker-sec{scroll-margin-top:118px}


/* ---- Landlord path: three distinct product cards ---- */
.rentals-products{padding-top:36px;padding-bottom:72px}
.product-card{display:block;margin:0 0 28px;padding:0;border-radius:22px;border:1px solid rgba(167,139,250,.45);background:linear-gradient(165deg,rgba(139,92,246,.16),rgba(16,16,26,.96) 48%);box-shadow:0 0 0 1px rgba(139,92,246,.12),0 28px 60px -34px rgba(109,40,217,.75);overflow:hidden}
.product-card-head{padding:22px 26px 16px;border-bottom:1px solid rgba(167,139,250,.28);background:linear-gradient(90deg,rgba(245,185,66,.08),rgba(139,92,246,.1))}
.product-card-head .kicker{margin-bottom:8px}
.product-card-head h2{margin:0;font-size:clamp(26px,3.2vw,34px);letter-spacing:-.02em;color:#fff}
.product-card-body{padding:22px 26px 28px}
.product-headline{margin:0 0 10px;font:600 clamp(22px,2.6vw,30px)/1.15 var(--display);letter-spacing:-.02em;color:#fff;max-width:28ch}
.product-card-lead{border-color:rgba(167,139,250,.65);box-shadow:0 0 0 1px rgba(167,139,250,.2),0 30px 70px -30px rgba(139,92,246,.9)}
.product-card-lead .product-card-head{background:linear-gradient(90deg,rgba(139,92,246,.22),rgba(245,185,66,.08))}
.product-card-vacant{border-color:rgba(245,185,66,.45);background:linear-gradient(165deg,rgba(245,185,66,.1),rgba(16,16,26,.96) 50%);box-shadow:0 0 0 1px rgba(245,185,66,.12),0 28px 60px -34px rgba(245,185,66,.35)}
.product-card-vacant .product-card-head{background:linear-gradient(90deg,rgba(245,185,66,.14),rgba(139,92,246,.08))}
.product-card-cal{opacity:.92;border-style:dashed;border-color:rgba(167,139,250,.35);background:linear-gradient(165deg,rgba(74,72,96,.2),rgba(16,16,26,.92));box-shadow:none}
.product-card-cal .product-card-head{background:rgba(255,255,255,.02)}
.product-card .home-map{margin-top:20px}
.product-card .rentals-split{margin-top:22px}
.product-card .outcome{margin-top:0}
#lead-safe,#vacant,#calendar,#jan31{scroll-margin-top:118px}
@media (max-width:700px){.product-card-head,.product-card-body{padding-left:18px;padding-right:18px}}


/* ---- Engineering applications lane (own page) ---- */
.software-apps-lane{border-top:1px solid rgba(245,185,66,.25);background:linear-gradient(180deg,rgba(245,185,66,.04),rgba(139,92,246,.03) 50%,transparent);padding-top:88px}
.software-apps-lane .section-head{max-width:720px}
body[data-page="engineering"] .software-apps-lane{border-top:0;padding-top:40px;padding-bottom:64px}
@media (max-width:700px){body[data-page="engineering"] .software-apps-lane{padding-top:28px;padding-bottom:48px}}
.downloads-placeholder{margin-top:28px;padding:20px 22px;border-radius:16px;border:1px dashed rgba(163,161,181,.4);background:rgba(255,255,255,.025);max-width:640px}
.downloads-placeholder h3{margin:0 0 8px;font-size:1.05rem;color:#b0adc2}
.downloads-placeholder-line{margin:0 0 6px;font:600 14px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:#8e8ba3}
.downloads-placeholder-note{margin:0;font-size:14px;color:var(--dim)}
#software-apps,#industrial-hmi,#plant-floor-app,#software-downloads{scroll-margin-top:118px}


/* ---- Two-path homepage chooser (trade folded into business automation) ---- */
.choose-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin:0 auto}
.choose-two .choose-inner{max-width:820px}
@media (max-width:800px){.choose-grid-two{grid-template-columns:1fr}}


/* ---- Signup quote form: address map + property type ---- */
.su-addr-map{margin-top:12px;border-radius:14px;border:1px solid rgba(167,139,250,.4);overflow:hidden;background:#0b0b13}
.su-addr-map .su-mini-map{margin:0}
.su-addr-map .pm-stage{max-height:240px}
.su-addr-map figcaption{padding:8px 12px;font-size:13px;color:var(--muted);border-top:1px solid var(--line2);background:#0e0e17}
.su-addr-map .vm-tr{fill:rgba(139,92,246,.22);stroke:rgba(196,181,253,.3)}
.su-addr-map .vm-tr.is-pin{fill:rgba(245,185,66,.55);stroke:#fff;stroke-width:2}
.su-field .addr-wrap{display:block;width:100%}
.su-field .addr-wrap input{width:100%}
.su-ptype .su-help{margin:.6rem 0 0;color:var(--muted);font-size:13.5px}
.su-prop .addr-wrap{flex:1;min-width:0}

/* ===================== OVERNIGHT 2026-11-07 ===================== */
/* nav current page */
.nav-list a[aria-current="page"]{color:#fff;background:rgba(139,92,246,.14)}
/* simple page heads for About / FAQ / Contact / How it works / Inspectors / legal */
.section.page-head{padding:56px 0 28px}
.section.section-tight{padding:44px 0}
.page-head h1{font-size:clamp(34px,4.4vw,54px);letter-spacing:-.035em;max-width:20ch}
.page-head .lead{color:#d6d4e4}
.prose h2{font-size:clamp(24px,2.6vw,30px);margin:1.6em 0 .55em}
.prose h2:first-child{margin-top:0}
.prose p{color:#cfcde0;max-width:70ch}
.prose ul.ticks,.prose ul.crosses{margin-bottom:18px}
.small{font-size:13.5px}
.legal-note{font-size:14px;color:var(--muted);padding:12px 16px;border-radius:12px;border:1px solid var(--line2);background:rgba(255,255,255,.02);margin:0 0 28px}
.legal .prose h2,.legal h2{font-size:22px;margin:1.7em 0 .5em}
.about-lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:8px 0 24px}
.about-lanes .mini h3{margin-top:8px}
.about-lanes .mini .kicker{margin:0}
.cta-band-actions{display:flex;gap:10px;flex-wrap:wrap}
/* FAQ jump links */
.faq-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.faq-jump a{padding:8px 14px;border-radius:999px;border:1px solid var(--line2);color:#d6d4e4;font-size:14px;min-height:40px;display:inline-flex;align-items:center}
.faq-jump a:hover{border-color:rgba(196,181,253,.5);color:#fff}
.faq-group h2{font-size:clamp(24px,2.6vw,30px);margin-bottom:12px}
.faq-group{scroll-margin-top:84px}
/* contact */
.contact-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.contact-dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 18px}
.contact-dl dt{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);padding-top:3px}
.contact-dl dd{margin:0;color:#e4e1f2}
.contact-form label{display:block;font-size:14px;font-weight:500;color:#d6d4e4;margin:14px 0 6px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;font:400 16px/1.4 var(--sans);color:#fff;background:rgba(255,255,255,.04);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;min-height:48px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--p2);outline-offset:1px;border-color:transparent}
.contact-form [aria-invalid="true"]{border-color:#fca5a5}
.contact-form select option{background:#10101a}
@media (max-width:800px){.contact-wrap{grid-template-columns:1fr}}
/* 404 */
.nf-links{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px}
/* how it works */
.hw-fig{margin:24px 0 18px}
.hw-fig img{width:100%;height:auto;border-radius:14px}
.hw-fig figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
.plain-steps{padding-left:22px;margin:0 0 18px}
.plain-steps li{color:#cfcde0;margin-bottom:10px;line-height:1.55}
.plain-steps b{color:#fff}
/* footer */
.f-top-5{grid-template-columns:1.3fr repeat(4,1fr)}
.f-cta{margin-top:14px!important}
.f-links{display:flex;flex-wrap:wrap;gap:6px 18px;padding:6px 0 18px}
.f-links a{color:var(--muted);font-size:14.5px;min-height:32px;display:inline-flex;align-items:center}
.f-links a:hover{color:#fff}
.f-disc-min{margin-top:0}
@media (max-width:1100px){.f-top-5{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:700px){.f-top-5{grid-template-columns:1fr 1fr}.f-col a{display:inline-block;padding:4px 0}}
/* home choose-card supporting line */
.choose-card .choose-sub{color:#cfcde0;font-size:15px;line-height:1.45;margin:-4px 0 2px}
/* rentals h1 keeps the old h2 size */
.rentals-h1{font-size:clamp(32px,3.8vw,48px);letter-spacing:-.03em;margin-bottom:1.25rem}

/* "In plain terms" blocks: neutral surface, no gold */
.plain{margin:22px 0 0;padding:22px 22px 18px;border-radius:16px;border:1px solid var(--line2);background:rgba(255,255,255,.025)}
.plain-h{font-size:19px;margin:0 0 8px}
.plain-who{color:#d6d4e4;font-size:15.5px;line-height:1.55;margin:0 0 14px;max-width:80ch}
.plain-who b{color:#fff}
.plain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plain-col h4{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--p2);margin:0 0 10px}
.plain-col p{color:#cfcde0;font-size:15px;line-height:1.5;margin:0}
.plain-col .ticks,.plain-col .crosses{margin:0}
.plain-col li{font-size:14.5px}
.plain-facts{margin:16px 0 0;columns:2;column-gap:28px}
.plain-facts li{break-inside:avoid}
.plain-more{margin:14px 0 0;font-size:14.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.plain-auto{margin-top:28px}
.cal-soon-list li{opacity:0;transform:translateX(-8px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i) * 180ms + 150ms)}
.product-card-cal.in .cal-soon-list li,.cal-soon-list.in li,.reveal.in .cal-soon-list li{opacity:1;transform:none}
@media (max-width:860px){.plain-grid{grid-template-columns:1fr}.plain-facts{columns:1}}
.rentals-more{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:28px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
.rentals-more a:not(.btn){color:#d6d4e4;font-size:15px;min-height:40px;display:inline-flex;align-items:center}
.eng-who{margin-top:12px}

/* ---- Lead-Safe packet stage ---- */
.pk{margin:22px 0 0;padding:22px;border-radius:18px;border:1px solid rgba(167,139,250,.4);background:radial-gradient(520px 260px at 90% 0%,rgba(139,92,246,.2),transparent 70%),rgba(7,7,12,.55);box-shadow:0 30px 80px -48px rgba(139,92,246,.7)}
.pk-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.pk-top .kicker{margin-bottom:8px}
.pk-h{font-size:clamp(19px,2vw,23px);margin:0}
.pk-play{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.03);color:#d6d4e4;font:500 13px var(--sans);cursor:pointer;flex:none}
.pk-play:hover{color:#fff;border-color:rgba(196,181,253,.45)}
.pk-play-i{width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.pk.paused .pk-play-i{width:0;height:0;border-left:10px solid currentColor;border-right:0;border-top:6px solid transparent;border-bottom:6px solid transparent}
.pk-stage{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1.15fr) 34px minmax(0,1.15fr);align-items:stretch}
.pk-col{position:relative;padding:16px;border-radius:14px;border:1px solid var(--line);background:rgba(16,16,26,.7);transition:border-color .5s var(--ease),box-shadow .5s var(--ease)}
.pk-col .who{margin-bottom:8px}
.pk-lab{font:600 15px var(--display);color:#fff;margin:0 0 10px}
.pk-arrow{display:flex;align-items:center;justify-content:center}
.pk-arrow i{position:relative;display:block;width:100%;height:2px;margin:0 6px;background:linear-gradient(90deg,rgba(167,139,250,.15),rgba(167,139,250,.15));overflow:hidden;border-radius:2px}
.pk-arrow i::after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--p3),transparent);opacity:0}
.pk-arrow i::before{content:"";position:absolute;right:0;top:-4px;border-left:7px solid rgba(196,181,253,.55);border-top:5px solid transparent;border-bottom:5px solid transparent}
.pk.s2 .pk-arrow:nth-child(2) i::after,.pk.s3 .pk-arrow:nth-child(4) i::after{opacity:1;animation:pkflow 1.4s linear infinite}
@keyframes pkflow{to{left:100%}}
/* col 1: intake bars fill */
.pk-form{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.pk-form li span{display:block;font-size:12.5px;color:var(--muted);margin-bottom:4px}
.pk-form li i{display:block;height:8px;border-radius:6px;background:rgba(255,255,255,.06);position:relative;overflow:hidden}
.pk-form li i::after{content:"";position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--p0),var(--p2));border-radius:6px;transition:width .6s var(--ease)}
.pk-form li:nth-child(2) i::after{transition-delay:.25s}.pk-form li:nth-child(3) i::after{transition-delay:.5s}.pk-form li:nth-child(4) i::after{transition-delay:.75s}
.pk.s1 .pk-form li i::after{width:var(--w,78%)}
.pk-form li:nth-child(2){--w:40%}.pk-form li:nth-child(3){--w:22%}.pk-form li:nth-child(4){--w:64%}
.pk.s1 .pk-intake{border-color:rgba(167,139,250,.45)}
/* col 2: docs arrive */
.pk-doclist{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.pk-doclist li{position:relative;padding:8px 10px 8px 30px;border-radius:9px;border:1px solid var(--line2);background:rgba(255,255,255,.035);font-size:13px;color:#e4e1f2;opacity:.18;transform:translateY(8px);transition:opacity .45s var(--ease),transform .45s var(--ease),border-color .45s;transition-delay:calc(var(--i) * 160ms)}
.pk-doclist li::before{content:"";position:absolute;left:10px;top:50%;width:11px;height:14px;margin-top:-7px;border-radius:2px;border:1.5px solid var(--p3);background:linear-gradient(180deg,transparent 55%,rgba(196,181,253,.35) 55%)}
.pk.s2 .pk-doclist li{opacity:1;transform:none}
.pk.s3 .pk-doclist li{opacity:.45;transform:translateX(6px);transition-delay:calc(var(--i) * 110ms)}
.pk.s2:not(.s3) .pk-docs{border-color:rgba(167,139,250,.45)}
/* col 3: folder slots fill, then the guide */
.pk-folder{border-radius:12px;border:1px dashed rgba(167,139,250,.35);padding:10px;background:rgba(139,92,246,.05)}
.pk-slots{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pk-slots li{position:relative;padding:7px 10px 7px 30px;border-radius:8px;font-size:13px;color:var(--dim);border:1px dashed var(--line2);transition:all .45s var(--ease);transition-delay:calc(var(--i) * 220ms + 200ms)}
.pk-slots li::before{content:"";position:absolute;left:10px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;border:1.5px solid var(--line2);transition:inherit}
.pk.s3 .pk-slots li{color:#fff;border-style:solid;border-color:rgba(167,139,250,.5);background:rgba(139,92,246,.18)}
.pk.s3 .pk-slots li::before{border-color:var(--p3);background:var(--p1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.9' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.pk-checked{margin:8px 0 0;font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--p3);opacity:0;transition:opacity .4s 1.2s}
.pk.s3 .pk-checked{opacity:1}
.pk.s3:not(.s4) .pk-out{border-color:rgba(167,139,250,.5);box-shadow:0 0 0 1px rgba(167,139,250,.2),0 18px 40px -24px rgba(139,92,246,.8)}
.pk-guide{position:relative;margin-top:10px;padding:12px 12px 12px 14px;border-radius:12px;border:1px solid rgba(245,185,66,.45);background:linear-gradient(135deg,rgba(245,185,66,.1),rgba(139,92,246,.08));opacity:0;transform:translateY(10px) scale(.98);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.pk-guide b{display:block;font:600 14px var(--display);color:#fff;margin-bottom:6px}
.pk-guide ol{margin:0;padding-left:18px;font-size:13px;color:#e4e1f2}
.pk-guide ol li{margin-bottom:3px}
.pk-ready{display:inline-block;margin-top:8px;font:600 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#1a1206;background:var(--amber);padding:4px 8px;border-radius:6px;box-shadow:0 0 0 0 rgba(245,185,66,.6)}
.pk.s4 .pk-guide{opacity:1;transform:none}
.pk.s4 .pk-ready{animation:ping 2s 1s infinite}
.pk.s4 .pk-out{border-color:rgba(245,185,66,.45)}
/* steps rail */
.pk-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pk-steps button{width:100%;min-height:44px;display:flex;align-items:center;gap:8px;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--muted);font:500 13px/1.3 var(--sans);cursor:pointer;transition:all .3s var(--ease)}
.pk-steps button b{flex:none;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 12px var(--display);background:rgba(255,255,255,.06);color:#fff}
.pk-steps button:hover{color:#fff;border-color:rgba(196,181,253,.4)}
.pk-steps button.done b{background:rgba(139,92,246,.4)}
.pk-steps button.on{color:#fff;border-color:rgba(167,139,250,.6);background:rgba(139,92,246,.14)}
.pk-steps button.on b{background:var(--p1)}
.pk-cap{margin:12px 0 0;color:#d6d4e4;font-size:14.5px;min-height:1.5em}
@media (max-width:900px){
  .pk-stage{grid-template-columns:1fr;gap:0}
  .pk-arrow{height:26px}
  .pk-arrow i{width:2px;height:100%;margin:0}
  .pk-arrow i::before{right:auto;left:-4px;top:auto;bottom:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid rgba(196,181,253,.55);border-bottom:0}
  .pk-arrow i::after{left:0;top:-40%;width:100%;height:40%;background:linear-gradient(180deg,transparent,var(--p3),transparent)}
  @keyframes pkflow{to{top:100%}}
  .pk-steps{grid-template-columns:1fr 1fr}
  .pk-doclist{grid-template-columns:1fr 1fr}
  .pk-top{flex-direction:column}
}
@media (max-width:420px){.pk{padding:16px}.pk-doclist{grid-template-columns:1fr}.pk-steps button{font-size:12.5px}}
@media (prefers-reduced-motion:reduce){.pk *{transition:none!important;animation:none!important}}
.contact-dl{grid-template-columns:auto minmax(0,1fr)}
.contact-dl dd{min-width:0;overflow-wrap:anywhere}
.contact-wrap > *{min-width:0}
.pk-stage{align-items:center}
.pk-arrow i{background:rgba(167,139,250,.32)}
