/* style.css */
/* ===========================================================================
   InstaWP blog system — shared stylesheet (green-skin)
   Used by: blog-list, archive, author, search, 404 (+ chrome.js / feed.js)
   =========================================================================== */
*{box-sizing:border-box;margin:0;padding:0}
/* clip the off-canvas mobile drawer (position:fixed, parked at translateX(100%)) so it can't add page width / a horizontal scrollbar */
html{overflow-x:hidden}
:root{
  --bg:#F7F9FC;--white:#FFFFFF;--tint:#EEF7F3;
  --heading:#0E1726;--body:#3A4557;--muted:#5A6478;--border:#E6EBF1;--border-2:#EFF2F6;
  --green:#0BA86D;--green-bright:#11BF85;--green-deep:#0A7A50;--green-tint:#E7F8F0;--green-x:#2BE8A6;
  --amber:#E08A1E;--amber-deep:#9C5304;--cyan:#34CFE3;
  --dark:#0B1410;--dark-2:#112019;--dark-ink:#EAF2EE;--dark-body:rgba(234,242,238,.62);--dark-border:rgba(255,255,255,.1);--plasma:#005E54;--plasma-tint:#E2F1ED;
  --font:'Hanken Grotesk',system-ui,-apple-system,sans-serif;--mono:'Public Sans',system-ui,-apple-system,sans-serif;--code:'IBM Plex Mono',ui-monospace,monospace;
  --maxw:1180px;
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);background:var(--bg);color:var(--body);font-size:17px;line-height:1.6}
a{color:inherit;text-decoration:none}svg{display:block}button{font-family:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.94rem;padding:11px 20px;border-radius:11px;transition:all .18s ease;white-space:nowrap;border:0;cursor:pointer;font-family:var(--font)}
.btn .arr{transition:transform .18s}.btn:hover .arr{transform:translateX(3px)}
.btn-primary{background:var(--green);color:#042A1C}
.btn-primary:hover{background:var(--green-deep);transform:translateY(-1px)}
.btn-ghost{background:rgba(255,255,255,.06);color:#EAF2EE;border:1px solid rgba(255,255,255,.16)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
.btn-lg{padding:14px 26px;font-size:1.02rem}
.btn-light{background:var(--white);color:var(--heading);border:1px solid var(--border)}
.btn-light:hover{border-color:#CFD8E2;transform:translateY(-1px)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep)}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-bright)}
/* kicker — informative section label; replaces the decorative .eyebrow look (accent bar + clean label) */
.kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--font);font-size:.92rem;font-weight:600;letter-spacing:-.01em;line-height:1.2;color:var(--heading);margin-bottom:16px}
.kicker::before{content:"";flex:none;width:3px;height:15px;border-radius:2px;background:var(--green-bright)}
/* dark-band wrappers: light label + brighter accent (mirrors the eyebrow's dark variants) */
.pr-dark .kicker,.phero .kicker,.fhero .kicker,.pr-hero .kicker,.pr-cta .kicker,.site-cta .kicker{color:#EAF2EE}
.pr-dark .kicker::before,.phero .kicker::before,.fhero .kicker::before,.pr-hero .kicker::before,.pr-cta .kicker::before,.site-cta .kicker::before{background:var(--green-x)}

/* ===================== HEADER / NAV (injected by chrome.js) ============== */
.nav-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .25s ease,box-shadow .25s ease}
.nav-header::after{content:'';position:absolute;inset:0;border-bottom:1px solid transparent;pointer-events:none;transition:border-color .25s}
.nav-header.solid{background:rgba(10,17,13,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-header.solid::after{border-bottom-color:rgba(255,255,255,.08)}
.nav-inner{display:flex;align-items:center;height:68px}
.logo{font-size:1.4rem;font-weight:800;letter-spacing:-.03em;color:#F2F7F4;display:inline-flex;align-items:center;gap:9px;flex:none}
.logo img{height:24px;width:auto;display:block}
.mainnav{display:flex;align-items:center;gap:2px;margin-left:20px}
.navitem{position:relative}
.navlink{display:inline-flex;align-items:center;gap:5px;font-size:.94rem;font-weight:500;color:rgba(242,247,244,.82);background:none;border:0;cursor:pointer;padding:9px 13px;border-radius:9px}
.navlink:hover,.navitem.open .navlink{color:#fff;background:rgba(255,255,255,.08)}
.navlink .chev{width:13px;height:13px;opacity:.55;transition:transform .2s}
.navitem.open .navlink .chev{transform:rotate(180deg)}
/* dedicated AI nav item — plain navlink, set apart only by the green spark icon */
.ai-spark{display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--green-x)}
.ai-spark svg{width:14px;height:14px}
/* mobile drawer AI — echo the aurora with green→cyan gradient text */
.acc-h.acc-ai{color:transparent;background:linear-gradient(100deg,var(--green-x),var(--cyan));-webkit-background-clip:text;background-clip:text}
.acc-h.acc-ai .ai-spark{color:var(--green-x)}
.acc-h.acc-ai .ai-spark svg{width:17px;height:17px}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px;flex:none}
.nav-right .login{font-size:.94rem;font-weight:500;color:rgba(242,247,244,.82)}
.nav-right .login:hover{color:#fff}
.burger{display:none;width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#EAF2EE;align-items:center;justify-content:center;cursor:pointer}
.burger svg{width:20px;height:20px}
.mega{position:absolute;top:calc(100% + 9px);left:0;background:var(--white);border:1px solid var(--border);border-radius:16px;box-shadow:0 28px 64px -28px rgba(8,15,30,.55),0 4px 12px -6px rgba(8,15,30,.2);padding:14px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:120}
.navitem.open .mega{opacity:1;visibility:visible;transform:none}
.mega::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px}
.mega.mega-right{left:auto;right:0}
.mega-grid{display:grid;gap:3px}
.mega-grid.cols2{grid-template-columns:repeat(2,minmax(232px,1fr))}
.mega-uc .mega-grid.cols2{grid-template-columns:repeat(2,minmax(296px,1fr));gap:4px}
.mega-uc .mega-grid.cols2 .mega-link{min-height:70px;align-items:flex-start}
.mega-link{display:flex;gap:13px;padding:11px 12px;border-radius:12px;transition:background .14s}
.mega-link:hover{background:var(--bg)}
.ml-ic{flex:none;width:38px;height:38px;border-radius:10px;background:var(--green-tint);color:var(--green-deep);display:flex;align-items:center;justify-content:center}
.ml-ic svg{width:19px;height:19px}
.ml-ic.plasma{background:var(--plasma-tint);color:var(--plasma)}
.ml-tx b{display:flex;align-items:center;gap:7px;font-size:.93rem;font-weight:700;color:var(--heading);letter-spacing:-.01em;line-height:1.2}
.ml-tx span{display:block;font-size:.79rem;color:var(--muted);margin-top:3px;line-height:1.4}
.ml-live{font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--green-deep);background:var(--green-tint);border:1px solid rgba(11,168,109,.28);padding:2px 6px;border-radius:5px}
.mega-foot{margin-top:5px;border-top:1px solid var(--border-2);padding:12px 12px 4px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.mega-foot a{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--green-deep);font-size:.88rem}
.mega-foot a .arr{transition:transform .18s}.mega-foot a:hover .arr{transform:translateX(3px)}
.mega-foot .mf-note{font-family:var(--mono);font-size:.66rem;color:var(--muted)}
.mega-glabel{font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 12px 5px}
.mega-glabel-sep{margin-top:6px;border-top:1px solid var(--border-2);padding-top:11px}
/* Platform mega — 3-pillar columns (Build / Host / Grow) */
.mega-plat .mega-pcols{display:flex}
.mega-plat .mega-pcol{flex:1 1 0;min-width:278px;padding:0 13px}
.mega-plat .mega-pcol:first-child{padding-left:4px}
.mega-plat .mega-pcol:last-child{padding-right:4px}
.mega-plat .mega-pcol + .mega-pcol{border-left:1px solid var(--border-2)}
.mega-plat .mega-pcol .mega-glabel{padding:2px 12px 7px}
/* Resources: 4 labeled columns. Its nav button sits near viewport center, so the
   menu is CENTERED under it (transform survives the open/close slide + max-width),
   not right-pinned — otherwise the wide box overflows the left edge. */
.mega-res{box-sizing:border-box;left:50%;right:auto;transform:translate(-50%,8px);width:684px;max-width:calc(100vw - 28px)}
.navitem.open .mega-res{transform:translate(-50%,0)}
.mega-res .mega-pcols{display:flex}
.mega-res .mega-pcol{flex:1 1 0;min-width:0;padding:0 10px}
.mega-res .mega-pcol:first-child{padding-left:4px}
.mega-res .mega-pcol:last-child{padding-right:4px}
.mega-res .mega-pcol + .mega-pcol{border-left:1px solid var(--border-2)}
.mega-res .mega-pcol .mega-glabel{padding:2px 10px 7px}
/* utility links shifted into the footer bar (Free Tools / Support / Roadmap),
   shown as icon+label chips so they read as real links, not fine-print. */
.mega-foot .mf-links{display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin-left:-4px}
.mega-foot .mf-links a{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-size:.85rem;font-weight:600;color:var(--heading);padding:7px 12px;border-radius:9px;transition:background .14s,color .14s}
.mega-foot .mf-links a:hover{background:var(--green-tint);color:var(--green-deep)}
.mega-foot .mf-links a svg{width:16px;height:16px;color:var(--green-deep);flex:none}
/* Use Cases mega — audience grid + "Grow with InstaWP" band */
.mega-uc .uc-grow{margin-top:10px;padding:12px;border-radius:14px;background:#F1F6F3}
.mega-uc .uc-grow-lbl{font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--green-deep);padding:0 0 10px}
.mega-uc .uc-grow-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:4px}
.mega-uc .uc-grow-grid .mega-link{align-items:flex-start}
.mega-uc .uc-grow-grid .mega-link:hover{background:rgba(255,255,255,.6)}
.mega-uc .uc-grow-grid .mega-link .ml-ic{background:#fff}
.mega-foot .mf-cta{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.84rem;color:var(--green-deep);border:1px solid rgba(17,191,133,.42);border-radius:999px;padding:7px 16px;transition:background .14s,border-color .14s}
.mega-foot .mf-cta:hover{background:var(--green-tint);border-color:var(--green)}
.mega-foot .mf-cta .arr{transition:transform .18s}.mega-foot .mf-cta:hover .arr{transform:translateX(3px)}
.ml-soon{font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--amber-deep);background:rgba(224,138,30,.1);border:1px solid rgba(224,138,30,.32);padding:2px 6px;border-radius:5px}
.acc-lbl{display:block;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(234,242,238,.5);padding:13px 10px 3px}
.scrim{position:fixed;inset:0;background:rgba(5,10,8,.5);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;z-index:150}
.scrim.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(380px,86vw);background:var(--dark);border-left:1px solid rgba(255,255,255,.08);z-index:160;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto}
.drawer.open{transform:none}
.drawer-top{display:flex;align-items:center;height:68px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.08);flex:none}
.drawer-close{margin-left:auto;width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#EAF2EE;display:flex;align-items:center;justify-content:center;cursor:pointer}
.drawer-close svg{width:18px;height:18px}
.drawer-body{padding:10px 14px 18px}
.acc{border-bottom:1px solid rgba(255,255,255,.07)}
.acc-h{width:100%;display:flex;align-items:center;gap:8px;background:none;border:0;color:#EAF2EE;font-size:1.02rem;font-weight:600;padding:16px 8px;cursor:pointer}
.acc-h .chev{margin-left:auto;width:16px;height:16px;opacity:.6;transition:transform .2s}
.acc.open .acc-h .chev{transform:rotate(180deg)}
.acc-bd{display:none;padding:0 8px 12px}
.acc.open .acc-bd{display:block}
.acc-bd a{display:flex;align-items:center;gap:9px;padding:10px 10px;border-radius:9px;color:rgba(234,242,238,.72);font-size:.94rem}
.acc-bd a:hover{background:rgba(255,255,255,.05);color:#fff}
.acc-bd a .d{flex:none;width:6px;height:6px;border-radius:50%;background:var(--green-bright);opacity:.6}
.acc-bd a .ml-live{margin-left:6px}
.drawer-cta{margin-top:18px;display:flex;flex-direction:column;gap:11px;padding:0 8px}
.drawer-cta .login{text-align:center;color:rgba(234,242,238,.82);font-weight:500;padding:11px;border:1px solid rgba(255,255,255,.14);border-radius:11px}
.drawer-cta .btn-primary{justify-content:center}
@media(max-width:980px){.mainnav,.nav-right .login,.nav-right .btn-primary{display:none}.burger{display:inline-flex}.foot-col a{min-height:44px}.foot-legal a{min-height:44px;display:inline-flex;align-items:center}}

/* ===================== PAGE HERO (dark) ================================= */
.phero{position:relative;background:var(--dark);overflow:hidden;padding:128px 0 56px}
.phero.center{text-align:center}
.phero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.phero-bg .grid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(ellipse 90% 75% at 40% 10%,#000 10%,transparent 74%);mask-image:radial-gradient(ellipse 90% 75% at 40% 10%,#000 10%,transparent 74%)}
.phero-bg .g{position:absolute;border-radius:50%;filter:blur(64px)}
.phero-bg .g1{width:660px;height:430px;top:-150px;left:-60px;background:radial-gradient(ellipse at center,rgba(43,232,166,.16),rgba(52,207,227,.05) 45%,transparent 72%)}
.phero-bg .g2{width:400px;height:400px;top:20px;right:-120px;background:radial-gradient(circle,rgba(0,94,84,.3),transparent 64%)}
.phero .wrap{position:relative;z-index:1}
.phero .eyebrow{color:var(--green-x)}
.phero.center .eyebrow{justify-content:center}
.crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:.72rem;color:rgba(234,242,238,.5);margin-bottom:20px}
.crumb a{color:rgba(234,242,238,.6)}.crumb a:hover{color:var(--green-x)}
.crumb .sep{opacity:.4}.crumb .here{color:rgba(234,242,238,.82)}

/* ===================== COMPACT HERO (fhero) — used by platform + feature pages = */
.fhero{position:relative;background:var(--dark);overflow:hidden;padding:112px 0 56px}
.fhero .grid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(ellipse 90% 80% at 28% 0%,#000 8%,transparent 72%);mask-image:radial-gradient(ellipse 90% 80% at 28% 0%,#000 8%,transparent 72%)}
.fhero .glow{position:absolute;width:560px;height:320px;top:-130px;left:6%;border-radius:50%;filter:blur(70px);background:radial-gradient(ellipse at center,rgba(43,232,166,.16),rgba(52,207,227,.04) 50%,transparent 72%);pointer-events:none}
.fhero .wrap{position:relative;z-index:1}
.fhero .eyebrow{color:var(--green-x)}
.fhero h1{font-weight:800;letter-spacing:-.03em;color:#F4F8F7;font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin-top:11px;max-width:22ch;text-wrap:balance}
.fhero h1 .ac{color:var(--green-x)}
.fhero .lede{font-size:1.12rem;color:var(--dark-body);max-width:58ch;margin:15px 0 0;line-height:1.55}
.fhero .lede b{color:#EAF2EE;font-weight:600}
.fhero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.fhero .pr-hero-note{margin-top:20px}
/* fhero with right-side art (2-col) */
.fhero.has-art .wrap{display:grid;grid-template-columns:1.04fr .96fr;gap:50px;align-items:center}
.fhero.has-art h1{max-width:none}
.fhero-art{position:relative}
.fhero-art img{width:100%;height:auto;display:block;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);
  mask-composite:intersect}
@media(max-width:900px){.fhero.has-art .wrap{grid-template-columns:1fr;gap:28px}.fhero-art{max-width:460px}}
@media(max-width:560px){.fhero-art{display:none}}

/* archive header */
.arc-h1{font-family:var(--font);font-size:clamp(2.1rem,4.4vw,3rem);font-weight:800;letter-spacing:-.03em;color:#F4F8F7;line-height:1.08;margin-top:14px}
.arc-desc{font-size:1.12rem;color:var(--dark-body);max-width:60ch;margin:14px 0 0;line-height:1.55}
.arc-count{font-family:var(--mono);font-size:.74rem;color:rgba(234,242,238,.5);margin-top:16px}

/* author header */
.author-card{display:flex;gap:22px;align-items:center;margin-top:8px}
.av-lg{width:84px;height:84px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:1.7rem;color:#042A1C;background:linear-gradient(140deg,#15C98D,#0A7A50);border:3px solid rgba(255,255,255,.14)}
.av-lg.b{background:linear-gradient(140deg,#39D2E6,#0E7E9E)}
.author-bd{min-width:0}
.author-name{font-family:var(--font);font-size:clamp(1.8rem,3.4vw,2.4rem);font-weight:800;letter-spacing:-.025em;color:#F4F8F7;line-height:1.1}
.author-role{font-family:var(--mono);font-size:.8rem;color:var(--green-x);margin-top:5px}
.author-bio{font-size:1.04rem;color:var(--dark-body);max-width:60ch;margin:12px 0 0;line-height:1.55}
.author-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px}
.author-stats{display:flex;gap:18px;font-family:var(--mono);font-size:.74rem;color:rgba(234,242,238,.55)}
.author-stats b{color:#F4F8F7;font-weight:600}
.author-social{display:flex;gap:9px}
.author-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.12);color:rgba(234,242,238,.62);transition:all .15s}
.author-social a:hover{color:var(--green-x);border-color:rgba(43,232,166,.4)}
.author-social svg{width:15px;height:15px}
@media(max-width:560px){.author-card{flex-direction:column;align-items:flex-start;gap:16px}.av-lg{width:68px;height:68px;font-size:1.4rem}}

/* search header */
.search-hero h1{font-family:var(--font);font-size:clamp(2rem,4vw,2.7rem);font-weight:800;letter-spacing:-.03em;color:#F4F8F7;line-height:1.08}
.sh-count{font-family:var(--mono);font-size:.78rem;color:rgba(234,242,238,.55);margin-top:14px}
.sh-count b{color:#F4F8F7}

/* search input (shared) */
form.search{display:flex;align-items:center;gap:10px;max-width:480px;margin:22px 0 0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:13px;padding:4px 4px 4px 16px;transition:border-color .18s,box-shadow .18s}
form.search.center{margin-left:auto;margin-right:auto}
form.search:focus-within{border-color:rgba(43,232,166,.45);box-shadow:0 0 0 4px rgba(43,232,166,.12)}
form.search svg{width:18px;height:18px;color:rgba(234,242,238,.5);flex:none}
form.search input{flex:1;background:none;border:0;outline:none;font-family:var(--font);font-size:1rem;color:#F4F8F7;padding:11px 0;min-width:0}
form.search input::placeholder{color:rgba(234,242,238,.42)}
form.search .clear{flex:none;background:rgba(255,255,255,.08);border:0;color:rgba(234,242,238,.6);width:34px;height:34px;border-radius:9px;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:1rem}
form.search.has .clear{display:flex}

/* ===================== FILTER PILLS ==================================== */
.filterbar{position:sticky;top:0;z-index:50;background:rgba(247,249,252,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.pills{display:flex;gap:9px;padding:16px 0;overflow-x:auto;scrollbar-width:none}
.pills::-webkit-scrollbar{display:none}
.pill{flex:none;font-size:.9rem;font-weight:600;color:var(--body);background:var(--white);border:1px solid var(--border);padding:9px 16px;border-radius:100px;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:var(--font);text-decoration:none}
.pill:hover{border-color:#CFD8E2;color:var(--heading)}
.pill.on{background:var(--heading);border-color:var(--heading);color:#fff}
.pill[data-cat="ai"]{display:inline-flex;align-items:center;gap:7px}
.pill[data-cat="ai"]::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--plasma);box-shadow:0 0 0 3px rgba(0,94,84,.14)}
.pill[data-cat="ai"].on{background:var(--plasma);border-color:var(--plasma)}
.pill[data-cat="ai"].on::before{background:var(--green-x);box-shadow:0 0 0 3px rgba(43,232,166,.25)}

/* ===================== FEED / CARDS ==================================== */
.feed{padding:40px 0 24px}
.feed-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.feed-head h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--heading)}
.feed-head .fh-count{font-family:var(--mono);font-size:.72rem;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid.g2{grid-template-columns:1fr 1fr}
.cat-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--green-deep);background:var(--green-tint);border:1px solid rgba(11,168,109,.2);padding:4px 9px;border-radius:6px;white-space:nowrap}
.cat-pill.ai{color:var(--plasma);background:var(--plasma-tint);border-color:rgba(0,94,84,.26)}
.cat-pill.upd{color:var(--amber-deep);background:rgba(224,138,30,.12);border-color:rgba(224,138,30,.3)}
.pmeta{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.68rem;color:var(--muted)}
.pmeta .av{width:22px;height:22px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:600;color:#042A1C;background:linear-gradient(140deg,#15C98D,#0A7A50)}
.pmeta .av.b{background:linear-gradient(140deg,#39D2E6,#0E7E9E)}
.pmeta .av.c{background:linear-gradient(140deg,#A9B4C4,#6B7686);color:#0E1726}
.pmeta .sep{opacity:.5}
.thumb{position:relative;overflow:hidden;background:#0C1A14}
.thumb .mk{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:18px 18px;opacity:.6}
.thumb .gl{position:absolute;width:180px;height:180px;border-radius:50%;filter:blur(36px);right:-40px;bottom:-50px;background:radial-gradient(circle,rgba(43,232,166,.32),transparent 70%)}
.thumb .ico{position:absolute;left:18px;bottom:16px;color:rgba(255,255,255,.9)}
.thumb .ico svg{width:28px;height:28px}
.thumb .pc-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
.th-a{background:linear-gradient(135deg,#0C1A14,#10342A)}
.th-b{background:linear-gradient(135deg,#0E2230,#123A4A)}
.th-c{background:linear-gradient(135deg,#14241C,#0A7A50)}
.th-d{background:linear-gradient(135deg,#101C2C,#1B2E54)}
.th-ai{background:linear-gradient(135deg,#06231F,#005E54)}
.th-ai .gl{background:radial-gradient(circle,rgba(0,94,84,.5),transparent 70%)}
.th-upd{background:linear-gradient(135deg,#241B0E,#3A2A12)}
.th-upd .gl{background:radial-gradient(circle,rgba(224,138,30,.34),transparent 70%)}
.pcard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 30px 64px -44px rgba(16,23,38,.4);border-color:#DCE3EB}
.pcard .thumb{height:168px}
.pcard .pc-bd{padding:18px 19px 20px;display:flex;flex-direction:column;flex:1}
.pcard .pc-tags{margin-bottom:12px}
.pcard h3{font-size:1.1rem;font-weight:700;letter-spacing:-.015em;color:var(--heading);line-height:1.28}
.pcard p{font-size:.93rem;color:var(--body);margin-top:9px;line-height:1.5}
.pcard .pc-foot{margin-top:auto;padding-top:16px}
.empty{padding:60px 20px;text-align:center;color:var(--muted);font-family:var(--mono);font-size:.9rem}

/* pagination */
.pager{display:flex;align-items:center;justify-content:center;gap:7px;margin:30px 0 0}
.pager a,.pager span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border);background:var(--white);font-family:var(--mono);font-size:.82rem;color:var(--body);padding:0 12px;cursor:pointer;transition:all .15s}
.pager a:hover{border-color:#CFD8E2;color:var(--heading)}
.pager .cur{background:var(--heading);border-color:var(--heading);color:#fff}
.pager .gap{border:0;background:none;cursor:default}
.pager .nx{font-weight:600}

/* ===================== NEWSLETTER ===================================== */
.news{background:linear-gradient(180deg,#FFFFFF,#F4FAF7);border:1px solid var(--border);border-radius:20px;padding:36px 34px;margin:48px 0 8px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;box-shadow:0 26px 64px -48px rgba(16,23,38,.34)}
.news .nw-tx h3{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:var(--heading);line-height:1.2}
.news .nw-tx p{font-size:1rem;color:var(--body);margin-top:8px;max-width:46ch}
.news .nw-form{display:flex;gap:10px;flex-wrap:wrap}
.news .nw-form input{font-family:var(--font);font-size:.96rem;padding:13px 16px;border-radius:11px;border:1px solid var(--border);background:var(--white);color:var(--heading);min-width:230px;outline:none;transition:border-color .15s,box-shadow .15s}
.news .nw-form input:focus{border-color:var(--green-bright);box-shadow:0 0 0 4px rgba(17,191,133,.14)}
.news .nw-note{font-family:var(--mono);font-size:.66rem;color:var(--muted);margin-top:10px;grid-column:1/-1}
@media(max-width:760px){.news{grid-template-columns:1fr}}

/* ===================== 404 ============================================ */
.nf{min-height:78vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:140px 24px 90px}
.nf-code{font-family:var(--mono);font-size:clamp(4.5rem,14vw,8rem);font-weight:600;line-height:1;letter-spacing:-.04em;background:linear-gradient(180deg,#F4F8F7,rgba(43,232,166,.85));-webkit-background-clip:text;background-clip:text;color:transparent}
.nf-h{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-.02em;color:#F4F8F7;margin-top:14px}
.nf-p{font-size:1.1rem;color:var(--dark-body);max-width:46ch;margin:14px auto 0}
.nf-cta{display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.nf-links{margin-top:40px;font-family:var(--mono);font-size:.74rem;color:rgba(234,242,238,.5)}
.nf-links a{color:var(--green-x);margin:0 8px}

/* ===================== FOOTER (injected by chrome.js) ================== */
.site-foot{background:var(--dark);color:rgba(234,242,238,.6);padding:64px 0 28px;position:relative;overflow:hidden}
.site-foot::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(43,232,166,.4),transparent)}
.foot-glow{position:absolute;width:680px;height:300px;left:50%;top:-200px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(43,232,166,.08),transparent 70%);pointer-events:none}
.foot-main{position:relative;display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:30px}
.foot-brand{max-width:280px}
.foot-brand .logo img{height:24px;width:auto;display:block}
.foot-brand p{font-size:.92rem;color:rgba(234,242,238,.5);line-height:1.6;margin:16px 0 18px}
.foot-social{display:flex;gap:9px}
.foot-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:9px;border:1px solid rgba(255,255,255,.1);color:rgba(234,242,238,.6);transition:all .15s}
.foot-social a:hover{color:var(--green-x);border-color:rgba(43,232,166,.4);transform:translateY(-2px)}
.foot-social svg{width:16px;height:16px}
.foot-col h3{font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(234,242,238,.6);margin-bottom:15px}
.foot-col a{display:flex;align-items:center;gap:7px;font-size:.92rem;color:rgba(234,242,238,.62);padding:9px 0;transition:color .15s;width:fit-content}
.foot-col a:hover{color:var(--green-x)}
.foot-col .tag{font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--green-deep);background:var(--green-tint);border:1px solid rgba(11,168,109,.28);padding:2px 6px;border-radius:5px}
.foot-bot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-family:var(--mono);font-size:.74rem;color:rgba(234,242,238,.6)}
.foot-legal{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.foot-legal a:hover{color:rgba(234,242,238,.8)}
.foot-legal .dot{opacity:.4}
.foot-hosted{display:inline-flex;align-items:center;gap:7px}
.foot-hosted .d{width:7px;height:7px;border-radius:50%;background:var(--green-bright);box-shadow:0 0 8px rgba(17,191,133,.7)}
@media(max-width:900px){.foot-main{grid-template-columns:1fr 1fr;gap:32px}.foot-brand{grid-column:1/-1;max-width:none}}
@media(max-width:520px){.foot-main{grid-template-columns:1fr 1fr;gap:24px}.foot-bot{flex-direction:column;align-items:flex-start;gap:12px}}

/* ===================== RESPONSIVE FEED ================================ */
@media(max-width:920px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid,.grid.g2{grid-template-columns:1fr}}

/* ===================== BLOG-LIST specific ============================== */
.bl-h1{font-family:var(--font);color:#F4F8F7;font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.08;font-weight:800;letter-spacing:-.03em}
.bl-sub{font-size:1.14rem;line-height:1.55;color:var(--dark-body);max-width:54ch;margin:16px auto 0}
.featured{display:grid;grid-template-columns:1.15fr 1fr;background:var(--white);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 30px 70px -50px rgba(16,23,38,.4);transition:transform .18s,box-shadow .18s,border-color .18s;margin-bottom:40px}
.featured:hover{transform:translateY(-3px);box-shadow:0 38px 80px -50px rgba(16,23,38,.45);border-color:#DCE3EB}
.featured .thumb{min-height:320px}
.featured .thumb .pc-thumb-img{object-fit:contain;object-position:center;padding:20px;background:linear-gradient(135deg,#0C1A14,#10342A)}
.featured .thumb .ico svg{width:42px;height:42px}
.featured .ft-bd{padding:36px 38px;display:flex;flex-direction:column;justify-content:center}
.featured .ft-tags{display:flex;align-items:center;gap:9px;margin-bottom:16px}
.featured .ft-flag{font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--green-deep)}
.featured h2{font-size:clamp(1.6rem,2.8vw,2.15rem);font-weight:800;letter-spacing:-.025em;color:var(--heading);line-height:1.14}
.featured p{font-size:1.06rem;color:var(--body);margin-top:14px;max-width:48ch}
.featured .ft-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px;flex-wrap:wrap}
.featured .ft-read{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--green-deep)}
.featured .ft-read .arr{transition:transform .18s}.featured:hover .ft-read .arr{transform:translateX(3px)}
@media(max-width:820px){.featured{grid-template-columns:1fr}.featured .thumb{min-height:200px}}

.feed-cols{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:40px;align-items:start}
.feed-cols .grid{grid-template-columns:1fr 1fr}
.rail{position:sticky;top:88px;display:flex;flex-direction:column;gap:24px}
.rail-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:22px}
.rail-card h4{font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.pop{display:flex;gap:13px;padding:11px 0;border-top:1px solid var(--border-2)}
.pop:first-of-type{border-top:0;padding-top:0}
.pop .n{flex:none;font-family:var(--mono);font-size:1.1rem;font-weight:600;color:#CBD5E1;width:22px;line-height:1.2}
.pop a{font-size:.95rem;font-weight:600;color:var(--heading);line-height:1.3}
.pop a:hover{color:var(--green-deep)}
.pop .pp-meta{font-family:var(--mono);font-size:.64rem;color:var(--muted);margin-top:4px}
.pa{display:flex;align-items:center;gap:11px;padding:10px 0;border-top:1px solid var(--border-2)}
.pa:first-of-type{border-top:0;padding-top:0}
.pa .av{width:30px;height:30px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.62rem;font-weight:600;color:#042A1C;background:linear-gradient(140deg,#15C98D,#0A7A50)}
.pa .av.b{background:linear-gradient(140deg,#39D2E6,#0E7E9E)}
.pa .pa-bd b{display:block;font-size:.9rem;color:var(--heading);font-weight:600}
.pa .pa-bd span{font-family:var(--mono);font-size:.62rem;color:var(--muted)}
.rail-cta{background:linear-gradient(165deg,#0C1A14,#0B1410);border:1px solid rgba(43,232,166,.2);border-radius:16px;padding:22px;position:relative;overflow:hidden}
.rail-cta::before{content:'';position:absolute;width:240px;height:160px;top:-80px;right:-60px;background:radial-gradient(ellipse at center,rgba(43,232,166,.2),transparent 68%)}
.rail-cta h4{position:relative;font-size:1.08rem;font-weight:800;letter-spacing:-.01em;color:#F4F8F7;margin-bottom:7px;text-transform:none;font-family:var(--font)}
.rail-cta p{position:relative;font-size:.9rem;color:rgba(234,242,238,.62);line-height:1.5;margin-bottom:15px}
.rail-cta .btn{position:relative;width:100%;justify-content:center}
@media(max-width:920px){.feed-cols{grid-template-columns:1fr}.rail{position:static;flex-direction:row;flex-wrap:wrap}.rail-card,.rail-cta{flex:1;min-width:240px}}
@media(max-width:600px){.feed-cols .grid{grid-template-columns:1fr}.rail{flex-direction:column}}

.loadmore{display:flex;justify-content:center;margin-top:30px}
.review-strip{margin:40px 0 0;padding:13px 18px;border:1px dashed #CBD7E0;border-radius:12px;background:#fff;font-family:var(--mono);font-size:.74rem;color:var(--muted);text-align:center}
.review-strip b{color:var(--heading)}
.review-strip a{color:var(--green-deep);font-weight:600;margin:0 5px}
.review-strip a:hover{text-decoration:underline}


/* ===================== CTA (injected by chrome.js -> #site-cta) ========== */
.btn-ghost{background:rgba(255,255,255,.06);color:#EAF2EE;border:1px solid rgba(255,255,255,.18)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.34)}
.site-cta{position:relative;background:linear-gradient(180deg,#0B1410 0%,#0B1410 55%,#0B1410 100%);overflow:hidden;padding:104px 0 92px;text-align:center}
.site-cta .grid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 30%,#000,transparent 72%);mask-image:radial-gradient(ellipse 80% 80% at 50% 30%,#000,transparent 72%)}
.site-cta .glow{position:absolute;width:780px;height:460px;top:-150px;left:50%;transform:translateX(-50%);border-radius:50%;filter:blur(72px);background:radial-gradient(ellipse at center,rgba(43,232,166,.22),rgba(52,207,227,.06) 48%,transparent 72%);pointer-events:none}
.site-cta .wrap{position:relative;z-index:1}
.site-cta .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-x);margin-bottom:18px}
.site-cta .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-x);box-shadow:0 0 0 0 rgba(43,232,166,.6);animation:ctapulse 2.4s ease-out infinite}
@keyframes ctapulse{0%{box-shadow:0 0 0 0 rgba(43,232,166,.5)}70%{box-shadow:0 0 0 7px rgba(43,232,166,0)}100%{box-shadow:0 0 0 0 rgba(43,232,166,0)}}
.site-cta h2{font-family:var(--font);font-weight:800;letter-spacing:-.025em;color:#F4F8F7;font-size:clamp(2.1rem,4.6vw,3.2rem);line-height:1.07;text-wrap:balance}
.site-cta h2 .ac{color:var(--green-x)}
.site-cta .sub{font-size:1.14rem;color:var(--dark-body);max-width:56ch;margin:17px auto 0;text-wrap:balance}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.cta-reassure{margin-top:24px;display:inline-flex;flex-wrap:wrap;justify-content:center;gap:9px 22px;font-family:var(--mono);font-size:.78rem}
.cta-reassure span{display:inline-flex;align-items:center;gap:7px;color:rgba(234,242,238,.72)}
.cta-reassure svg{width:13px;height:13px;flex:none;color:var(--green-x)}

/* ===================== POLISH (shared) — selection, focus, button finish, CTA grain ===================== */
::selection{background:var(--green-bright);color:#042A1C}
a:focus-visible,button:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px;border-radius:6px}
.on-dark :is(a,button):focus-visible,.nav-header :is(a,button):focus-visible,.drawer :is(a,button):focus-visible,.site-foot :is(a,button):focus-visible,.site-cta :is(a,button):focus-visible,.phero :is(a,button):focus-visible,.fhero :is(a,button):focus-visible,.hero :is(a,button):focus-visible,.sec07 :is(a,button):focus-visible{outline-color:var(--green-bright)}
.btn-primary:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 2px 5px rgba(11,168,109,.3),0 14px 30px -8px rgba(17,191,133,.65)}
.site-cta::after{content:'';position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}

/* Consistent CTA button sizing across feature-page CTAs (feedback 22023/22027/22028):
   paired primary/ghost buttons share a minimum width + centred label so the secondary
   button never reads smaller than the primary. */
.ctas .btn-lg,.pr-cta-actions .btn-lg,.fhero-ctas .btn-lg,.pr-hero-ctas .btn-lg,.pv-hero-ctas .btn-lg,.ap-ctas .btn-lg{min-width:200px;justify-content:center}

/* ===========================================================================
   Accessibility guard: author-written colour boxes inside .prose
   Posts hand-write callouts as <div style="background:#0E1A15;color:#fff">
   with plain paragraphs inside. The .prose element rules (p/li/strong/h2...)
   are more specific than that inherited inline colour, so the text rendered
   dark-on-dark: measured 1.59:1 against a 4.5:1 requirement.
     Rule 1: inside any inline-background box, the box's own colour wins.
     Rule 2: a box with a DARK background and no colour gets a light one.
   A child with its own inline colour still wins (inline beats a selector).
   Light code chips and links keep their colours: they are not in the list.
   Audited 2026-09-03: 93 published posts hit rule 2. The hex list is every
   dark background actually present in post_content on that date.
   =========================================================================== */
.prose [style*="background"] :is(p,li,strong,b,em,h2,h3,h4,h5,h6,td,th,blockquote,figcaption){color:inherit}
.prose [style*="background:#282A36" i],.prose [style*="background: #282A36" i],.prose [style*="background-color:#282A36" i],.prose [style*="background-color: #282A36" i],.prose [style*="background:#005E54" i],.prose [style*="background: #005E54" i],.prose [style*="background-color:#005E54" i],.prose [style*="background-color: #005E54" i],.prose [style*="background:#00231F" i],.prose [style*="background: #00231F" i],.prose [style*="background-color:#00231F" i],.prose [style*="background-color: #00231F" i],.prose [style*="background:#1E1E1E" i],.prose [style*="background: #1E1E1E" i],.prose [style*="background-color:#1E1E1E" i],.prose [style*="background-color: #1E1E1E" i],.prose [style*="background:#2E3440" i],.prose [style*="background: #2E3440" i],.prose [style*="background-color:#2E3440" i],.prose [style*="background-color: #2E3440" i],.prose [style*="background:#212121" i],.prose [style*="background: #212121" i],.prose [style*="background-color:#212121" i],.prose [style*="background-color: #212121" i],.prose [style*="background:#22272E" i],.prose [style*="background: #22272E" i],.prose [style*="background-color:#22272E" i],.prose [style*="background-color: #22272E" i],.prose [style*="background:#0A7A68" i],.prose [style*="background: #0A7A68" i],.prose [style*="background-color:#0A7A68" i],.prose [style*="background-color: #0A7A68" i],.prose [style*="background:#0B1220" i],.prose [style*="background: #0B1220" i],.prose [style*="background-color:#0B1220" i],.prose [style*="background-color: #0B1220" i],.prose [style*="background:#000000" i],.prose [style*="background: #000000" i],.prose [style*="background-color:#000000" i],.prose [style*="background-color: #000000" i],.prose [style*="background:#24292E" i],.prose [style*="background: #24292E" i],.prose [style*="background-color:#24292E" i],.prose [style*="background-color: #24292E" i],.prose [style*="background:#263238" i],.prose [style*="background: #263238" i],.prose [style*="background-color:#263238" i],.prose [style*="background-color: #263238" i]{color:#F4F8F7}

/* home.css */
*{box-sizing:border-box;margin:0;padding:0}
  :root{
    --bg:#F7F9FC;--white:#FFFFFF;--tint:#EEF7F3;
    --heading:#0E1726;--body:#3A4557;--muted:#5A6478;--border:#E6EBF1;--border-2:#EFF2F6;
    --green:#0BA86D;--green-bright:#11BF85;--green-deep:#0A7A50;--green-tint:#E7F8F0;--green-x:#2BE8A6;
    --amber:#E08A1E;--cyan:#34CFE3;
    --dark:#0B1410;--dark-2:#112019;--dark-ink:#EAF2EE;--dark-body:rgba(234,242,238,.62);--dark-border:rgba(255,255,255,.1);--plasma:#005E54;--plasma-tint:#E2F1ED; /* --pain family + --plasma-deep live in kit.css :root */
    --font:'Hanken Grotesk',system-ui,-apple-system,sans-serif;--mono:'Public Sans',system-ui,-apple-system,sans-serif;--code:'IBM Plex Mono',ui-monospace,monospace;
    --lh-display:1.06;--lh-head:1.16;--lh-snug:1.3;--lh-body:1.6;--maxw:1180px;
  }
  html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
  body{font-family:var(--font);background:var(--bg);color:var(--body);font-size:17px;line-height:var(--lh-body)}
  a{color:inherit;text-decoration:none}svg{display:block}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .accent{color:var(--green-x)}
  .btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.96rem;padding:12px 22px;border-radius:11px;transition:all .18s ease;white-space:nowrap;border:0;cursor:pointer;font-family:var(--font)}
  .btn .arr{transition:transform .18s}.btn:hover .arr{transform:translateX(3px)}
  .btn-primary{background:var(--green);color:#042A1C;box-shadow:0 1px 2px rgba(11,168,109,.25),0 10px 24px -8px rgba(17,191,133,.55)}
  .btn-primary:hover{background:var(--green-deep);transform:translateY(-1px)}
  .btn-ghost{background:rgba(255,255,255,.06);color:#EAF2EE;border:1px solid rgba(255,255,255,.16)}
  .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
  .btn-lg{padding:14px 26px;font-size:1.02rem}

  /* header — transparent over the dark hero */
  .header{position:absolute;top:0;left:0;right:0;z-index:60}
  .header .wrap{display:flex;align-items:center;gap:30px;height:66px}
  .logo{font-size:1.4rem;font-weight:800;letter-spacing:-.03em;color:#F2F7F4;display:inline-flex;align-items:center;gap:9px}
  .logo svg{height:21px;width:auto;color:var(--green-bright)}
  .nav{display:flex;gap:2px;margin-left:6px}
  .nav a{font-size:.94rem;font-weight:500;color:rgba(242,247,244,.8);padding:8px 12px;border-radius:9px}
  .nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
  .nav .chev{display:inline-block;margin-left:4px;opacity:.5}
  .head-right{margin-left:auto;display:flex;align-items:center;gap:16px}
  .head-right .login{font-size:.94rem;font-weight:500;color:rgba(242,247,244,.8)}
  @media(max-width:880px){.nav,.head-right .login{display:none}}

  /* hero */
  .hero{position:relative;background:linear-gradient(180deg,var(--dark) 0%,var(--dark) calc(100% - 90px),var(--bg) 100%);overflow:hidden;padding:0 0 80px;text-align:center}
  .hero-open{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:96px 0 44px}
  .hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
  .hero-bg .grid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 25%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 90% 70% at 50% 25%,#000 10%,transparent 75%)}
  .hero-bg .g{position:absolute;border-radius:50%;filter:blur(60px)}
  .hero-bg .g1{width:780px;height:560px;top:-200px;left:50%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(43,232,166,.22),rgba(52,207,227,.07) 45%,transparent 72%)}
  .hero-bg .g2{width:520px;height:520px;top:80px;right:-160px;background:radial-gradient(circle,rgba(140,124,255,.14),transparent 64%)}
  .hero-bg .g3{width:520px;height:520px;bottom:-180px;left:-140px;background:radial-gradient(circle,rgba(43,232,166,.1),transparent 64%)}
  .hero .wrap{position:relative;z-index:1}

  .announce{display:inline-flex;align-items:center;gap:9px;padding:6px 14px 6px 12px;border-radius:100px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font-size:.84rem;color:#EAF2EE;margin-bottom:38px;transition:border-color .2s,transform .2s}
  .announce:hover{border-color:rgba(43,232,166,.45);transform:translateY(-1px)}
  /* The ring is a scaling pseudo-element, not an animated box-shadow: transform
     and opacity run on the compositor, box-shadow repaints on the main thread
     every frame. ::before carries the dot so the ring can sit behind it. */
  .announce .dot{position:relative;width:7px;height:7px;border-radius:50%;background:none}
  .announce .dot::before{content:"";position:absolute;inset:0;z-index:1;border-radius:50%;background:var(--green-x)}
  .announce .dot::after{content:"";position:absolute;inset:0;z-index:0;border-radius:50%;background:rgba(43,232,166,.5);pointer-events:none;animation:pdot-ring 2.4s ease-out infinite;will-change:transform,opacity}
  .announce .arr{color:var(--green-x)}
  @keyframes pdot{0%{box-shadow:0 0 0 0 rgba(43,232,166,.5)}70%{box-shadow:0 0 0 7px rgba(43,232,166,0)}100%{box-shadow:0 0 0 0 rgba(43,232,166,0)}}
  /* 7px dot + 7px shadow spread = 21px outer, i.e. scale(3). */
  @keyframes pdot-ring{0%{transform:scale(1);opacity:.5}70%{transform:scale(3);opacity:0}100%{transform:scale(3);opacity:0}}

  h1{font-family:var(--font);color:#F4F8F7;font-size:clamp(2.7rem,6vw,4.6rem);line-height:1.05;font-weight:800;letter-spacing:-.035em;max-width:none;margin:0 auto}
  .sub{font-size:1.2rem;line-height:1.6;color:var(--dark-body);max-width:52ch;margin:28px auto 0}
  .sub strong{color:#F4F8F7;font-weight:600}
  .ctas{display:inline-flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:42px}
  .trust{font-family:var(--mono);font-size:.78rem;color:rgba(234,242,238,.45);margin-top:18px}
  .trust .ok{color:var(--green-x)}
  .hero-badges{display:flex;flex-wrap:wrap;gap:7px 24px;justify-content:center;margin-top:28px}
  .hero-badges span{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:400;color:rgba(234,242,238,.55)}
  .hero-badges b{color:rgba(234,242,238,.82);font-weight:600}
  .hero-badges .ok{color:var(--green-x)}
  /* hero pillars: speed / security / support - passive feature strip, not buttons */
  .hero-pillars{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 30px;margin-top:26px}
  .hero-pillars .hp{display:flex;align-items:center;gap:11px;padding:0;border:0;border-radius:0;background:none;position:relative;cursor:default}
  /* faint hairline divider between items only - keeps markup identical, no box */
  .hero-pillars .hp+.hp::before{content:"";position:absolute;left:-15px;top:50%;transform:translateY(-50%);width:1px;height:26px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.14),rgba(255,255,255,0))}
  /* bare green glyph, no tile / no border / no fill */
  .hero-pillars .hp-ic{flex:none;width:auto;height:auto;border:0;border-radius:0;background:none;display:inline-flex;align-items:center;justify-content:center;color:var(--green-x);filter:drop-shadow(0 0 6px rgba(43,232,166,.28))}
  .hero-pillars .hp-ic svg{width:20px;height:20px}
  .hero-pillars .hp-tx{display:flex;flex-direction:column;line-height:1.2;text-align:left}
  .hero-pillars .hp-tx b{font-family:var(--font);font-weight:600;font-size:.92rem;color:#EAF2EE;letter-spacing:-.01em}
  .hero-pillars .hp-tx span{font-family:var(--mono);font-size:.7rem;color:rgba(234,242,238,.5);margin-top:2px}
  @media(max-width:680px){
    .hero-pillars{flex-direction:column;align-items:flex-start;gap:14px;margin-top:22px;max-width:300px;margin-left:auto;margin-right:auto}
    .hero-pillars .hp{width:100%}
    /* switch dividers to horizontal rules when stacked */
    .hero-pillars .hp+.hp::before{left:31px;right:0;top:-7px;bottom:auto;width:auto;height:1px;transform:none;background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,0))}
  }

  /* proof band — stats + customer/partner logos (sits on the dark hero, above the fold-out) */
  .hero-proof{margin-top:88px;padding-top:38px;border-top:1px solid rgba(255,255,255,.08);text-align:center}
  .hero-proof .proof-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;font-family:var(--mono);font-size:.85rem;color:rgba(234,242,238,.5)}
  .hero-proof .proof-stats b{color:#F4F8F7;font-weight:600}
  .hero-proof .proof-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 38px;margin-top:26px}
  /* real partner logos: forced solid-white on the dark hero, understated opacity */
  .hero-proof .proof-logos img{height:25px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.72;transition:opacity .2s}
  .hero-proof .proof-logos img:hover{opacity:1}
  /* optical normalization: stacked-text logos a touch taller, very-wide wordmark a touch shorter */
  .hero-proof .proof-logos img[alt="Newfold Digital"]{height:28px}
  .hero-proof .proof-logos img[alt="A2 Hosting"]{height:30px}
  .hero-proof .proof-logos img[alt="YourHosting"]{height:17px}
  @media(max-width:680px){.hero-proof .proof-stats{gap:10px 20px;font-size:.76rem}.hero-proof .proof-logos{gap:13px 24px}}
  .flow-spine{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;margin-top:76px}
  .flow-spine .fs-step{display:flex;align-items:center;gap:11px;padding:10px 16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.025)}
  .flow-spine .fs-n{flex:none;width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.74rem;font-weight:700;color:var(--dark);background:var(--green-x)}
  .flow-spine .fs-tx{display:flex;flex-direction:column;line-height:1.16;text-align:left}
  .flow-spine .fs-tx b{font-family:var(--font);font-weight:600;font-size:.95rem;color:#F4F8F7}
  .flow-spine .fs-tx span{font-family:var(--mono);font-size:.71rem;color:rgba(234,242,238,.55)}
  .flow-spine .fs-arr{font-family:var(--mono);color:rgba(43,232,166,.55);font-size:1rem}
  @media(max-width:760px){.flow-spine .fs-arr{display:none}.flow-spine{gap:8px}.flow-spine .fs-step{flex:1 1 42%}}

  /* ===== create → live demo (swap for <video> later) ===== */
  .demo{max-width:940px;margin:0 auto;background:#0E1A15;border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;box-shadow:0 50px 100px -40px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.04);text-align:left}
  .demo-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.07)}
  .demo-bar .d{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.16)}
  .demo-url{margin-left:12px;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:8px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.07);font-family:var(--code);font-size:.78rem;color:rgba(234,242,238,.8);min-width:340px;transition:border-color .4s}
  .demo-url.live{border-color:rgba(43,232,166,.35)}
  .demo-url .lock{width:12px;height:12px;color:rgba(234,242,238,.4)}
  .demo-url.live .lock{color:var(--green-x)}
  .chrome-plan{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:100px;background:rgba(224,138,30,.13);border:1px solid rgba(224,138,30,.36);color:var(--amber);opacity:0;transition:opacity .4s,background .45s,border-color .45s,color .45s}
  .chrome-plan.show{opacity:1}
  .chrome-plan i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
  .chrome-plan.prod{background:rgba(43,232,166,.14);border-color:rgba(43,232,166,.42);color:var(--green-x)}
  .chrome-plan.prod i{animation:pdot 2s infinite}
  .demo-view{position:relative;height:420px;background:radial-gradient(ellipse 90% 60% at 50% 0%,rgba(43,232,166,.05),transparent 60%),#0B1410}

  .scene{position:absolute;inset:0;opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease;pointer-events:none;padding:30px 34px}
  .scene.on{opacity:1;transform:none}

  /* flying cursor — drives the demo like a real user */
  .cursor{position:absolute;left:0;top:0;z-index:40;width:22px;height:22px;pointer-events:none;opacity:0;transform:translate(40px,360px);transition:transform .85s cubic-bezier(.45,.05,.2,1),opacity .3s;filter:drop-shadow(0 3px 7px rgba(0,0,0,.55))}
  .cursor.show{opacity:1}
  .cursor .ring{position:absolute;left:-6px;top:-6px;width:30px;height:30px;border-radius:50%;border:2px solid var(--green-x);opacity:0;pointer-events:none}
  .cursor.click .ring{animation:clickr .55s ease-out}
  @keyframes clickr{0%{opacity:.85;transform:scale(.2)}100%{opacity:0;transform:scale(1.5)}}

  /* scene 1 — create */
  .sc-create{display:flex;align-items:center;justify-content:center}
  .crd{width:380px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:24px}
  .crd .lbl{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(234,242,238,.5);margin-bottom:10px}
  .crd .field{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:11px 14px;font-family:var(--mono);font-size:.92rem;color:#F4F8F7}
  .crd .field .typed::after{content:'';display:inline-block;width:7px;height:1.05em;background:var(--green-x);vertical-align:-2px;margin-left:1px;animation:blink 1s step-end infinite}
  .crd .chips{display:flex;gap:7px;margin:14px 0 18px;flex-wrap:wrap}
  .crd .chips span{font-family:var(--mono);font-size:.66rem;color:rgba(234,242,238,.7);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:5px 9px;border-radius:6px}
  .crd .go{width:100%;justify-content:center;transition:transform .12s ease}
  .btn.pressed{transform:scale(.95)}
  .crd-foot{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:13px;font-family:var(--mono);font-size:.66rem;color:rgba(234,242,238,.5)}
  .crd-foot .cf-dot{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 6px rgba(224,138,30,.6)}
  .crd-foot b{color:var(--amber);font-weight:600}
  @keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}

  /* scene 2 — console (sandbox build → promote → production) */
  @keyframes spin{to{transform:rotate(360deg)}}
  .sc-console{display:flex;flex-direction:column;justify-content:center;padding:24px 30px;font-family:var(--font)}
  .con-head{display:flex;align-items:center;gap:11px;margin-bottom:14px}
  .con-head .spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.16);border-top-color:var(--green-x);animation:spin .8s linear infinite;flex:none;transition:opacity .3s,width .3s}
  .con-head.done .spin{opacity:0;width:0;border-width:0;margin:0}
  .con-head .ct{font-size:.95rem;color:#F4F8F7;font-weight:600}
  .con-pct{margin-left:auto;font-family:var(--mono);font-size:.68rem;font-weight:600;color:rgba(234,242,238,.5);font-variant-numeric:tabular-nums}
  .con-bar{height:4px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:20px}
  .con-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green-bright),var(--cyan));border-radius:3px;transition:width .7s cubic-bezier(.4,0,.2,1)}

  .csteps{display:flex;flex-direction:column;gap:14px}
  .cstep{display:flex;align-items:center;gap:14px;opacity:.25;transform:translateY(5px);transition:opacity .5s ease,transform .5s ease}
  .cstep.in{opacity:1;transform:none}
  .ic-tile{position:relative;flex:none;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(234,242,238,.5);transition:background .45s,border-color .45s,color .45s}
  .cstep.in .ic-tile{background:rgba(43,232,166,.14);border-color:rgba(43,232,166,.32);color:var(--green-x)}
  .ic-tile>svg{width:19px;height:19px}
  .ic-tile .chk{position:absolute;right:-5px;bottom:-5px;width:17px;height:17px;border-radius:50%;background:var(--green-bright);color:#042A1C;display:flex;align-items:center;justify-content:center;border:2px solid #0B1410;opacity:0;transform:scale(.3);transition:opacity .35s ease .15s,transform .35s cubic-bezier(.34,1.56,.64,1) .15s}
  .cstep.in .ic-tile .chk{opacity:1;transform:none}
  .ic-tile .chk svg{width:9px;height:9px}
  .cstep .step-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
  .cstep .step-title{font-size:.95rem;color:#EAF2EE;font-weight:500;line-height:1.25}
  .cstep .step-sub{font-family:var(--mono);font-size:.68rem;color:rgba(234,242,238,.42)}
  .cstep.live .ic-tile{background:rgba(43,232,166,.16);border-color:rgba(43,232,166,.4)}
  .cstep.live .step-title{color:#F4F8F7;font-weight:600}
  .magic{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:600;color:#042A1C;background:var(--green-bright);padding:6px 12px;border-radius:8px;white-space:nowrap;flex:none}

  /* scene 3 — live site + plan toggle + production rings */
  .sc-live{padding:0}
  .site{height:100%;background:#fff;display:flex;flex-direction:column}
  .site-nav{display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid #ECEFF3}
  .site-nav .b{font-weight:800;color:#15202B;font-size:.95rem}
  .site-nav .m{margin-left:auto;display:flex;gap:16px}.site-nav .m span{height:8px;width:42px;border-radius:4px;background:#E7EBF0}
  .site-nav .cta{height:26px;width:80px;border-radius:6px;background:var(--green-bright)}
  .site-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:24px;background:radial-gradient(ellipse at top,#F0FBF6,#fff 70%)}
  .site-hero .h{height:18px;width:280px;border-radius:6px;background:#1B2733}
  .site-hero .h2{height:11px;width:200px;border-radius:5px;background:#C9D3DE}
  .site-hero .pill{height:34px;width:130px;border-radius:8px;background:var(--green-bright);margin-top:6px}
  .site-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 22px 22px}
  .site-cards div{height:74px;border-radius:9px;border:1px solid #ECEFF3;background:#FAFBFD}
  .sc-live.on .site>*{animation:rise .5s ease both}
  .sc-live.on .site-nav{animation-delay:.05s}.sc-live.on .site-hero{animation-delay:.18s}.sc-live.on .site-cards{animation-delay:.32s}
  @keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

  /* plan toggle — floating control, top-right of the live site */
  .plan-ctl{position:absolute;top:14px;right:14px;z-index:20;display:inline-flex;align-items:center;gap:10px;padding:6px 9px 6px 13px;border-radius:100px;background:rgba(12,20,16,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 26px -10px rgba(0,0,0,.55)}
  .pc-lbl{font-family:var(--mono);font-size:.64rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--amber);transition:color .4s;white-space:nowrap}
  .plan-ctl.prod .pc-lbl{color:var(--green-x)}
  .pc-sw{width:36px;height:20px;border-radius:11px;background:rgba(224,138,30,.55);position:relative;transition:background .4s;flex:none}
  .pc-sw i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .4s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
  .plan-ctl.prod .pc-sw{background:var(--green-bright)}
  .plan-ctl.prod .pc-sw i{transform:translateX(16px)}

  /* production rings — float in one by one after the toggle; each fills then ticks */
  .rings{position:absolute;left:0;right:0;bottom:30px;z-index:20;display:flex;justify-content:center;gap:22px;pointer-events:none}
  .cring{display:flex;flex-direction:column;align-items:center;gap:9px;opacity:0;transform:translateY(10px) scale(.92);transition:opacity .4s ease,transform .4s ease}
  .cring.in{opacity:1;transform:none}
  .ring-wrap{position:relative;width:58px;height:58px;border-radius:50%;background:rgba(12,20,16,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 30px -10px rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center}
  .ring-wrap .prog{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
  .ring-wrap .prog .bg{fill:none;stroke:rgba(255,255,255,.13);stroke-width:3}
  .ring-wrap .prog .fg{fill:none;stroke:var(--green-bright);stroke-width:3;stroke-linecap:round;stroke-dasharray:157;stroke-dashoffset:157;transition:stroke-dashoffset .85s ease}
  .cring.fill .prog .fg{stroke-dashoffset:0}
  .ring-wrap .ic{position:absolute;color:rgba(234,242,238,.6);transition:opacity .3s}
  .ring-wrap .ic svg{width:21px;height:21px}
  .ring-wrap .tick{position:absolute;color:var(--green-x);opacity:0;transform:scale(.4);transition:opacity .3s ease,transform .3s ease}
  .ring-wrap .tick svg{width:24px;height:24px}
  .cring.done .ic{opacity:0}
  .cring.done .tick{opacity:1;transform:none}
  .cr-label{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.02em;color:#0E1726}

  /* success state — one "fat" confirmation after all three rings tick */
  .success{position:absolute;left:0;right:0;top:42%;transform:translateY(-50%);z-index:25;display:flex;flex-direction:column;align-items:center;gap:13px;opacity:0;pointer-events:none;transition:opacity .45s ease}
  .success.in{opacity:1}
  .success::before{content:'';position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,255,255,.66) 42%,transparent 70%);z-index:-1}
  .succ-badge{width:74px;height:74px;border-radius:50%;background:var(--green-bright);display:flex;align-items:center;justify-content:center;color:#042A1C;box-shadow:0 16px 40px -10px rgba(17,191,133,.75);transform:scale(.5)}
  .success.in .succ-badge{animation:succin .5s cubic-bezier(.34,1.56,.64,1) forwards,succpulse 1.8s ease-out .45s}
  .succ-badge svg{width:38px;height:38px}
  @keyframes succin{to{transform:scale(1)}}
  @keyframes succpulse{0%{box-shadow:0 0 0 0 rgba(43,232,166,.55),0 16px 40px -10px rgba(17,191,133,.75)}100%{box-shadow:0 0 0 30px rgba(43,232,166,0),0 16px 40px -10px rgba(17,191,133,.75)}}
  .succ-tx{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
  .succ-tx b{font-family:var(--font);font-weight:700;font-size:1.1rem;color:#0E1726;letter-spacing:-.01em}
  .succ-tx span{font-family:var(--mono);font-size:.72rem;color:#5A6675}

  @media(max-width:680px){
    .demo-view{height:440px}.crd{width:100%}.demo-url{min-width:0}
    .rings{gap:14px;bottom:20px}.ring-wrap{width:50px;height:50px}.ring-wrap .ic svg{width:18px;height:18px}.cr-label{font-size:.62rem}
    .plan-ctl{top:10px;right:10px;padding:5px 8px 5px 11px}
    .cursor{display:none}
  }
  @media(prefers-reduced-motion:reduce){
    .scene{transition:none}.announce .dot,.con-head .spin{animation:none}
    .cursor{display:none}
    .cstep{opacity:1;transform:none}.cstep .ic-tile{background:rgba(43,232,166,.14);border-color:rgba(43,232,166,.32);color:var(--green-x)}.cstep .ic-tile .chk{opacity:1;transform:none}
    .cring{opacity:1;transform:none}.cring .prog .fg{stroke-dashoffset:0;transition:none}.cring .ic{opacity:0}.cring .tick{opacity:1;transform:none}
    .success.in .succ-badge{animation:none;transform:scale(1)}
    .plan-ctl.prod .pc-sw{background:var(--green-bright)}
  }

  /* ===== stitched light-band sections ===== */
  .s01,.s02{padding:120px 0}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep);margin-bottom:16px}
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-bright)}
  .s01 h2,.s02 h2{font-family:var(--font);font-weight:800;letter-spacing:-.025em;color:var(--heading);font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12}
  .lede{font-size:1.12rem;color:var(--body);max-width:60ch;margin-top:14px}

  /* 01.B — the add-on trap */
  .vb-head{max-width:680px}
  /* clean: circular ✓/✕ badges + green InstaWP labels + subtle row hover (no column band) */
  .vb-foot{margin-top:24px;text-align:center;font-size:1.04rem;color:var(--body)}
  .vb-foot b{color:var(--green-deep);font-weight:700}
  /* 01.B enhanced — "pieces vs whole" split */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:46px;align-items:stretch}
  .col{border-radius:20px;padding:26px 24px;display:flex;flex-direction:column}
  .col-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-2)}
  .col-h .ch-t{font-size:1.18rem;font-weight:800;color:var(--heading);letter-spacing:-.02em}
  .col-h .ch-s{font-family:var(--mono);font-size:.64rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
  .col-rival{background:var(--white);border:1px solid var(--border)}
  .frags{display:flex;flex-direction:column;gap:10px}
  .frag{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px dashed #D6DEE7;border-radius:11px;background:#FBFCFE}
  .frag .fl{display:flex;align-items:center;gap:11px;color:var(--body);font-weight:500;font-size:.96rem}
  .frag .plus{width:22px;height:22px;border-radius:7px;background:#EEF1F5;color:var(--muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex:none}
  .frag .ft{font-family:var(--mono);font-size:.62rem;color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
  .col-rival .col-f{margin-top:auto;padding-top:18px;font-family:var(--mono);font-size:.74rem;color:var(--pain)}
  .col-us{background:linear-gradient(180deg,#EFFBF5,#FFFFFF 62%);border:1.5px solid rgba(17,191,133,.42);box-shadow:0 34px 74px -38px rgba(17,191,133,.45)}
  .col-us .chip{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#042A1C;background:var(--green-bright);padding:4px 10px;border-radius:100px}
  .incls{display:flex;flex-direction:column;gap:10px}
  .incl{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:11px;background:rgba(255,255,255,.66);border:1px solid rgba(17,191,133,.18);color:var(--heading);font-weight:600;font-size:.96rem}
  .incl .ck{width:22px;height:22px;border-radius:7px;background:var(--green-bright);color:#042A1C;display:flex;align-items:center;justify-content:center;flex:none}
  .incl .ck svg{width:13px;height:13px}
  .col-us .col-f{margin-top:auto;padding-top:18px;font-family:var(--mono);font-size:.74rem;color:var(--green-deep);font-weight:600;line-height:1.5}
  @media(max-width:760px){.split{grid-template-columns:1fr}}

  /* 02.A — humans & agents */
  .s02{background:#fff;border-top:1px solid var(--border)}
  .s02-head{text-align:center;max-width:720px;margin:0 auto}
  .s02 .lede{max-width:60ch;margin:14px auto 0}
  .panels{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:68px;align-items:start}
  .panel{position:relative;background:var(--white);border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:0 18px 46px -30px rgba(16,23,38,.3)}
  .panel.humans{background:linear-gradient(180deg,#FFFFFF,#F1FAF6);border-color:#D7E7E0;box-shadow:0 30px 70px -40px rgba(10,58,44,.42)}
  .panel.agents{background:linear-gradient(180deg,#F1F8F6,#FFFFFF);border-color:#D6E9E4}
  .panel-head{display:flex;align-items:center;gap:14px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--border-2)}
  .panel-ic{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex:none}
  .panel.humans .panel-ic{background:var(--green-tint);color:var(--green-deep)}
  .panel.agents .panel-ic{background:var(--plasma-tint);color:var(--plasma-deep)}
  .panel-ic svg{width:24px;height:24px}
  .panel-head h3{font-size:1.28rem;font-weight:800;letter-spacing:-.02em;color:var(--heading);line-height:1.1}
  .panel-head .ph-cap{font-family:var(--mono);font-size:.67rem;color:var(--muted);letter-spacing:.02em;margin-top:3px}
  .tools{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}
  .tool{display:flex;align-items:flex-start;gap:11px}
  .tool .ti{width:35px;height:35px;border-radius:9px;background:#F4F6F9;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex:none}
  .panel.humans .tool .ti{background:var(--green-tint);border-color:#D6EFE4;color:var(--green-deep)}
  .panel.agents .tool .ti{color:var(--plasma-deep);background:#ECF5F2;border-color:#D9EBE6}
  .tool .ti svg{width:17px;height:17px}
  .tool .tt{min-width:0;padding-top:1px}
  .tool .tt b{display:flex;align-items:center;gap:6px;font-size:.95rem;font-weight:600;color:var(--heading);letter-spacing:-.01em;line-height:1.2}
  .tool .tt span{font-family:var(--mono);font-size:.66rem;color:var(--muted)}
  .tool.soon{opacity:.66}
  .badge{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--plasma-deep);background:var(--plasma-tint);border:1px solid #CCE3DD;padding:1px 6px;border-radius:5px;white-space:nowrap}
  .badge.live{color:var(--green-deep);background:var(--green-tint);border-color:rgba(11,168,109,.22)}
  .panel-foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--border-2);font-family:var(--mono);font-size:.72rem;color:var(--muted)}
  .panel.agents .panel-foot{color:var(--plasma-deep)}
  /* agents panel — DARK (brand Dark #00231F) for a strong, on-brand humans/agents split */
  .panel.agents{background:linear-gradient(180deg,#012E27,#00231F);border:1px solid rgba(43,232,166,.18);box-shadow:0 30px 72px -42px rgba(0,35,31,.7)}
  .panel.agents .panel-head{border-bottom-color:rgba(255,255,255,.1)}
  .panel.agents .panel-head h3{color:#F4F8F7}
  .panel.agents .panel-head .ph-cap{color:rgba(234,242,238,.5)}
  .panel.agents .panel-ic{background:rgba(43,232,166,.14);color:var(--green-x)}
  .panel.agents .tool .ti{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:var(--green-x)}
  .panel.agents .tool .tt b{color:#EAF2EE}
  .panel.agents .tool .tt span{color:rgba(234,242,238,.45)}
  .panel.agents .panel-foot{color:rgba(234,242,238,.52);border-top-color:rgba(255,255,255,.1)}
  .panel.agents .badge{color:#F3E98D;background:rgba(243,233,141,.12);border-color:rgba(243,233,141,.32)}
  .panel.agents .badge.live{color:var(--green-x);background:rgba(43,232,166,.14);border-color:rgba(43,232,166,.35)}
  /* header icon stacks — faces (humans) vs AI-tool logos (agents) */
  .face-stack{display:inline-flex;flex:none}
  .face{width:36px;height:36px;border-radius:50%;border:2.5px solid var(--white);display:flex;align-items:center;justify-content:center;margin-left:-11px;box-shadow:0 2px 7px rgba(16,23,38,.16);overflow:hidden}
  .face:first-child{margin-left:0}
  .face svg{width:21px;height:21px;color:#fff}
  .face img{width:100%;height:100%;object-fit:cover;display:block}
  .face.f1{background:linear-gradient(140deg,#15C98D,#0A7A50)}
  .face.f2{background:linear-gradient(140deg,#39D2E6,#0E7E9E)}
  .face.f3{background:linear-gradient(140deg,#F4B459,#E0742A)}
  .logo-stack{display:inline-flex;flex:none}
  .lg{width:36px;height:36px;border-radius:50%;border:2.5px solid #00231F;display:flex;align-items:center;justify-content:center;flex:none;margin-left:-11px;box-shadow:0 3px 9px rgba(0,0,0,.4)}
  .lg:first-child{margin-left:0}
  .lg svg{width:19px;height:19px}
  .lg.claude{background:#D97757}
  .lg.gpt{background:#0E8F6F}
  .lg.vscode{background:#2293E8}
  .lg.more{background:rgba(255,255,255,.1);color:rgba(234,242,238,.72);font-family:var(--mono);font-weight:600;font-size:.82rem}
  .s02-foot{text-align:center;margin-top:34px;font-size:1.06rem;color:var(--body)}
  .s02-foot b{color:var(--heading);font-weight:700}
  @media(max-width:860px){.panels{grid-template-columns:1fr}}
  @media(max-width:440px){.tools{grid-template-columns:1fr}}

  /* ===== SECTION 04 · USE CASES (scoped under .uc-sec) ===== */
.uc-sec{padding:150px 0;background:var(--white)}.uc-sec .uc-head{text-align:center;max-width:740px;margin:0 auto}.uc-sec .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep);margin-bottom:16px}.uc-sec .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-bright)}.uc-sec .uc-head h2{font-family:var(--font);font-weight:800;letter-spacing:-.025em;color:var(--heading);font-size:clamp(1.95rem,3.7vw,2.7rem);line-height:1.12;text-wrap:balance}.uc-sec .uc-head .lede{font-size:1.12rem;color:var(--body);max-width:52ch;margin:14px auto 0;text-wrap:balance}.uc-sec .uc-head .lede b{color:var(--heading);font-weight:700}.uc-sec .badge-brand{font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.03em;color:var(--green-deep);background:var(--green-tint);border:1px solid rgba(11,168,109,.2);padding:3px 9px;border-radius:6px;white-space:nowrap}.uc-sec .badge-soon{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--amber-deep);background:rgba(224,138,30,.12);border:1px solid rgba(224,138,30,.32);padding:3px 8px;border-radius:6px}.uc-sec .ckb{flex:none;width:18px;height:18px;border-radius:6px;background:var(--green-bright);color:#042A1C;display:flex;align-items:center;justify-content:center}.uc-sec .ckb svg{width:11px;height:11px}/* spotlights */.uc-sec .spotlights{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:70px;align-items:stretch}.uc-sec .spot{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:0 28px 66px -46px rgba(16,23,38,.32)}.uc-sec .spot-tags{display:flex;align-items:center;gap:8px;margin-bottom:15px}.uc-sec .spot h3{font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:800;letter-spacing:-.02em;color:var(--heading);line-height:1.14}.uc-sec .spot>p{font-size:1.02rem;color:var(--body);margin-top:11px}.uc-sec .spot-cta{align-self:flex-start;margin-top:18px;display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.92rem;color:var(--green-deep);text-decoration:none;transition:gap .18s,color .18s}.uc-sec .spot-cta .arr{transition:transform .18s}.uc-sec .spot-cta:hover{color:#042A1C}.uc-sec .spot-cta:hover .arr{transform:translateX(3px)}.uc-sec .spot-vis{margin-top:22px;border:1px solid var(--border);border-radius:14px;padding:18px;background:#FBFCFE;flex:1;display:flex;flex-direction:column;justify-content:center;min-height:160px}/* templates fan-out */.uc-sec .tpl-bp{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--border);border-radius:11px;padding:12px 14px;box-shadow:0 10px 26px -18px rgba(16,23,38,.22)}.uc-sec .tpl-bp .ic{width:34px;height:34px;border-radius:9px;background:var(--green-tint);color:var(--green-deep);display:flex;align-items:center;justify-content:center;flex:none}.uc-sec .tpl-bp .ic svg{width:18px;height:18px}.uc-sec .tpl-bp b{font-size:.9rem;color:var(--heading)}.uc-sec .tpl-bp .tpl-meta span{font-family:var(--mono);font-size:.62rem;color:var(--muted);display:block}.uc-sec .tpl-chips{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto;justify-content:flex-end;max-width:46%}.uc-sec .tpl-chips span{font-family:var(--mono);font-size:.62rem;color:var(--green-deep);background:var(--green-tint);padding:2px 7px;border-radius:5px;white-space:nowrap}.uc-sec .tpl-fan{display:flex;justify-content:center;gap:5px;color:#C7D0DB;font-size:1rem;margin:8px 0}.uc-sec .tpl-sites{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.uc-sec .tpl-sites span{height:42px;border-radius:8px;border:1px solid var(--border);background:#fff;position:relative}.uc-sec .tpl-sites span::after{content:'';position:absolute;top:8px;left:8px;width:40%;height:5px;border-radius:3px;background:#DDE4EC}.uc-sec .tpl-proof{margin-top:13px;font-family:var(--mono);font-size:.7rem;color:var(--muted)}/* AI chat window — human + agent each in their own bubble */.uc-sec .chat{display:flex;flex-direction:column;gap:12px;justify-content:center}.uc-sec .msg{display:flex;align-items:flex-end;gap:9px;max-width:90%}.uc-sec .msg.user{align-self:flex-end}.uc-sec .msg.bot{align-self:flex-start}.uc-sec .av{width:28px;height:28px;border-radius:50%;flex:none;overflow:hidden;display:flex;align-items:center;justify-content:center}.uc-sec .av img{width:100%;height:100%;object-fit:cover}.uc-sec .av.claude{background:#D97757}.uc-sec .av.claude svg{width:16px;height:16px}.uc-sec .bub{border-radius:14px;padding:9px 13px;font-size:.9rem;line-height:1.45;color:var(--heading)}.uc-sec .bub.user{background:var(--green-tint);border:1px solid rgba(11,168,109,.18);border-bottom-right-radius:5px}.uc-sec .bub.bot{background:#fff;border:1px solid var(--border);border-bottom-left-radius:5px}.uc-sec .bub.bot .bl{margin-bottom:9px}.uc-sec .bub.bot .act{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.78rem;color:rgba(14,23,38,.8);padding:1px 0}.uc-sec .bub.bot .act .ck{width:16px;height:16px;border-radius:50%;background:var(--green-bright);color:#042A1C;display:flex;align-items:center;justify-content:center;flex:none}.uc-sec .bub.bot .act .ck svg{width:9px;height:9px}.uc-sec .chat-foot{align-self:center;margin-top:3px;font-family:var(--mono);font-size:.68rem;color:var(--muted)}.uc-sec .spot{transition:transform .18s,box-shadow .18s,border-color .18s}.uc-sec .spot:hover{transform:translateY(-3px);box-shadow:0 34px 70px -44px rgba(16,23,38,.34);border-color:#DCE3EB}/* migrate visual */.uc-sec .mig{display:flex;flex-direction:column;justify-content:center;gap:14px}.uc-sec .mig-row{display:flex;align-items:center;gap:11px}.uc-sec .mig-from, .uc-sec .mig-to{flex:1;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-family:var(--mono);font-size:.76rem;font-weight:500}.uc-sec .mig-from{color:var(--muted)}.uc-sec .mig-to{color:var(--green-deep);border-color:rgba(17,191,133,.3);background:#F4FCF8}.uc-sec .mig-from small, .uc-sec .mig-to small{display:block;font-size:.62rem;color:var(--muted);font-weight:400;margin-top:2px}.uc-sec .mig-arr{color:var(--green-deep);font-weight:700;flex:none}.uc-sec .mig-steps{display:flex;flex-direction:column;gap:9px}.uc-sec .mig-step{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.72rem;color:rgba(14,23,38,.78)}.uc-sec .mig-step .ck{width:16px;height:16px;border-radius:50%;background:var(--green-bright);color:#042A1C;display:flex;align-items:center;justify-content:center;flex:none}.uc-sec .mig-step .ck svg{width:9px;height:9px}.uc-sec .mig-done{font-family:var(--mono);font-size:.72rem;color:var(--green-deep);font-weight:600}.uc-sec .mig-compare{display:flex;align-items:stretch;gap:9px}.uc-sec .mig-shot{flex:1;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-height:50px}.uc-sec .mig-shot .bar{height:13px;background:#F4F7FA;border-bottom:1px solid var(--border)}.uc-sec .mig-shot .bd{flex:1;padding:7px 8px;display:flex;flex-direction:column;gap:4px}.uc-sec .mig-shot .bd span{height:4px;border-radius:2px;background:#E2E8F0}.uc-sec .mig-shot .bd .t{width:58%;height:6px;background:#CBD5E1}.uc-sec .mig-shot.new{border-color:rgba(17,191,133,.3);background:#F4FCF8}.uc-sec .mig-shot.new .bd span{background:#C9EFDD}.uc-sec .mig-shot.new .bd .t{background:#7FD9B0}.uc-sec .mig-eq{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:none;width:48px}.uc-sec .mig-eq b{font-size:.95rem;color:var(--green-deep);line-height:1}.uc-sec .mig-eq span{font-family:var(--mono);font-size:.62rem;color:var(--muted);text-align:center;line-height:1.15}.uc-sec .mig-step .spk{width:16px;height:16px;border-radius:50%;background:var(--green-tint);color:var(--green-deep);display:flex;align-items:center;justify-content:center;flex:none}.uc-sec .mig-step .spk svg{width:10px;height:10px}/* manage visual — mini monitoring dashboard */.uc-sec .mng{display:flex;flex-direction:column;gap:7px;justify-content:center}.uc-sec .mng-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1px}.uc-sec .mng-top .ct{font-family:var(--mono);font-size:.68rem;color:var(--muted)}.uc-sec .mng-btn{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.62rem;font-weight:600;color:#042A1C;background:var(--green-bright);border:none;border-radius:7px;padding:5px 10px;cursor:pointer}.uc-sec .mng-btn svg{width:11px;height:11px}.uc-sec .mng-head, .uc-sec .mng-r{display:grid;grid-template-columns:1fr 30px 30px 30px 66px;align-items:center;gap:6px}.uc-sec .mng-head{padding:0 12px 1px;font-family:var(--mono);font-size:.62rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.uc-sec .mng-head .c{justify-self:center;color:#A8B2BF}.uc-sec .mng-head .c svg{width:13px;height:13px;display:block}.uc-sec .mng-r{background:#fff;border:1px solid var(--border);border-radius:9px;padding:9px 12px;font-family:var(--mono);font-size:.74rem;color:var(--heading)}.uc-sec .mng-r .nm{display:flex;align-items:center;gap:8px;min-width:0}.uc-sec .mng-r .nm::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green-bright);flex:none}.uc-sec .mng-r .d{width:8px;height:8px;border-radius:50%;justify-self:center}.uc-sec .mng-r .d.ok{background:var(--green-bright)}.uc-sec .mng-r .d.warn{background:var(--amber)}.uc-sec .mng-r .d.bad{background:#E5484D}.uc-sec .mng-r .tag{justify-self:end;font-size:.62rem;color:var(--amber-deep);background:rgba(224,138,30,.12);padding:2px 7px;border-radius:6px;white-space:nowrap}.uc-sec .mng-r .tag.ok{color:var(--green-deep);background:var(--green-tint)}/* sync visual */.uc-sec .syn{display:flex;flex-direction:column;gap:12px}.uc-sec .syn-flow{display:flex;flex-direction:row;align-items:stretch;gap:12px;flex:1}.uc-sec .syn-box{flex:1;background:#fff;border:1px solid var(--border);border-radius:11px;padding:14px 13px;display:flex;flex-direction:column;gap:11px}.uc-sec .syn-box.live{border-color:rgba(17,191,133,.3);background:#F4FCF8}.uc-sec .syn-lbl{font-family:var(--mono);font-size:.74rem;font-weight:600;color:var(--heading)}.uc-sec .syn-box.live .syn-lbl{color:var(--green-deep)}.uc-sec .syn-page{flex:1;display:flex;flex-direction:column;gap:7px}.uc-sec .syn-page span{border-radius:4px;background:#E2E8F0}.uc-sec .syn-page .nb{height:8px;width:52%}.uc-sec .syn-page .big{flex:1;min-height:26px;background:#EBEFF4}.uc-sec .syn-page .ln{height:7px}.uc-sec .syn-page .ln.s{width:64%}.uc-sec .syn-box.live .syn-page span{background:#C9EFDD}.uc-sec .syn-box.live .syn-page .big{background:#DBF6E9}.uc-sec .syn-sub{font-family:var(--mono);font-size:.62rem;color:var(--muted)}.uc-sec .syn-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:none}.uc-sec .syn-mid .ar{font-size:1.4rem;font-weight:700;color:var(--green-deep);line-height:1}.uc-sec .syn-mid span{font-family:var(--mono);font-size:.62rem;color:var(--muted);white-space:nowrap}.uc-sec .syn-diff{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid rgba(17,191,133,.3);border-radius:9px;padding:8px 11px}.uc-sec .syn-diff .ic{width:19px;height:19px;border-radius:6px;background:var(--green-tint);color:var(--green-deep);display:flex;align-items:center;justify-content:center;flex:none}.uc-sec .syn-diff .ic svg{width:11px;height:11px}.uc-sec .syn-diff b{font-family:var(--mono);font-size:.72rem;color:var(--green-deep);white-space:nowrap}.uc-sec .syn-diff .br{font-family:var(--mono);font-size:.6rem;color:var(--muted);margin-left:auto;white-space:nowrap}/* demos visual — shareable live link */.uc-sec .dmo{display:flex;flex-direction:column;justify-content:center;gap:11px}.uc-sec .dmo-card{border:1px solid var(--border);border-radius:11px;background:#fff;padding:13px;display:flex;flex-direction:column;gap:10px}.uc-sec .dmo-ttl{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:700;color:var(--heading)}.uc-sec .dmo-ttl svg{width:14px;height:14px;color:var(--green-deep);flex:none}.uc-sec .dmo-row{display:flex;align-items:center;gap:8px;background:#F4F7FA;border:1px solid var(--border);border-radius:8px;padding:7px 9px}.uc-sec .dmo-row .lb{flex:none;font-family:var(--mono);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--green-deep);background:var(--green-tint);padding:2px 6px;border-radius:5px}.uc-sec .dmo-row .u{flex:1;min-width:0;font-family:var(--code);font-size:.66rem;color:var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uc-sec .dmo-row .cp{flex:none;font-size:.6rem;font-weight:600;color:#042A1C;background:var(--green-bright);padding:4px 9px;border-radius:6px}.uc-sec .dmo-note{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.66rem;color:var(--muted)}.uc-sec .dmo-note svg{width:13px;height:13px;color:var(--green-deep);flex:none}.uc-sec .dmo-recipient{display:flex;align-items:center;gap:9px;background:var(--green-tint);border-radius:10px;padding:9px 12px}.uc-sec .dmo-recipient .av{width:26px;height:26px;border-radius:50%;overflow:hidden;flex:none}.uc-sec .dmo-recipient .av img{width:100%;height:100%;object-fit:cover}.uc-sec .dmo-recipient span{font-size:.73rem;color:var(--green-deep);font-weight:500;line-height:1.3}/* closing */.uc-sec .uc-foot{text-align:center;margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:16px}.uc-sec .uc-foot .ft{font-size:1.15rem;font-weight:600;color:var(--heading)}.uc-sec .uc-foot .ft b{color:var(--green-deep)}.uc-sec .uc-foot a{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:1rem;color:#042A1C;background:var(--green-bright);padding:13px 24px;border-radius:11px;box-shadow:0 12px 26px -10px rgba(17,191,133,.5);text-decoration:none}/* B2B2C partner note — secondary audience, routes to a partners page */.uc-sec .uc-partner{max-width:780px;margin:30px auto 0;display:flex;align-items:center;gap:16px;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:16px 20px}.uc-sec .uc-partner .ic{width:38px;height:38px;border-radius:10px;background:var(--green-tint);color:var(--green-deep);display:flex;align-items:center;justify-content:center;flex:none}.uc-sec .uc-partner .ic svg{width:20px;height:20px}.uc-sec .uc-partner p{flex:1;font-size:.92rem;color:var(--body);line-height:1.5;text-align:left}.uc-sec .uc-partner p b{color:var(--heading);font-weight:600}.uc-sec .uc-partner a{flex:none;font-weight:600;font-size:.9rem;color:var(--green-deep);white-space:nowrap;display:inline-flex;align-items:center;gap:5px;text-decoration:none}@media(max-width:680px){.uc-sec .uc-partner{flex-direction:column;align-items:flex-start}}@media(max-width:880px){.uc-sec .spotlights{grid-template-columns:minmax(0,1fr)}}

  /* SEC03 */
.sec03 .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep)}.sec03 .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-bright)}/* ===== dark opener ===== */@keyframes pdot_s3{0%{box-shadow:0 0 0 0 rgba(43,232,166,.5)}70%{box-shadow:0 0 0 8px rgba(43,232,166,0)}100%{box-shadow:0 0 0 0 rgba(43,232,166,0)}}.sec03 .po{position:relative;background:var(--bg);overflow:hidden;padding:52px 0 44px;text-align:center}.sec03 .po-bg{display:none}.sec03 .po-bg .grid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000,transparent 72%);mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000,transparent 72%)}.sec03 .po-bg .g{position:absolute;border-radius:50%;filter:blur(64px)}.sec03 .po-bg .g1{width:680px;height:420px;top:-160px;left:50%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(43,232,166,.2),rgba(52,207,227,.06) 50%,transparent 72%)}.sec03 .po .wrap{position:relative;z-index:1}.sec03 .po .eyebrow{color:var(--green-deep);justify-content:center;margin-bottom:16px}.sec03 .po h2{font-family:var(--font);font-weight:800;letter-spacing:-.025em;color:var(--heading);font-size:clamp(2rem,4vw,2.9rem);line-height:1.1;text-wrap:balance}.sec03 .po .sub{font-size:1.12rem;color:var(--body);max-width:58ch;margin:16px auto 0;text-wrap:balance}.sec03 .po-pills{display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:34px}.sec03 .po-pill{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:13px;background:var(--white);border:1px solid var(--border);color:var(--heading);font-weight:600;font-size:.96rem;box-shadow:0 12px 26px -18px rgba(16,23,38,.4)}.sec03 .po-pill .pi{width:30px;height:30px;border-radius:9px;background:var(--green-tint);color:var(--green-deep);display:flex;align-items:center;justify-content:center;flex:none}.sec03 .po-pill .pi svg{width:16px;height:16px}.sec03 .po-pill .on{margin-left:4px;font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--green-deep);display:inline-flex;align-items:center;gap:5px}.sec03 .po-pill .on i{width:6px;height:6px;border-radius:50%;background:var(--green-bright);animation:pdot_s3 2.2s infinite}.sec03 .po-note{margin-top:22px;font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;color:rgba(234,242,238,.5)}/* ===== big feature sections ===== */.sec03 .feat{padding:48px 0}.sec03 .feat.alt{background:transparent}.sec03 .feat-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}.sec03 .feat.rev .feat-tx{order:2}.sec03 .feat-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--green-deep);margin-bottom:16px}.sec03 .feat-eyebrow .fi{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--green-tint);color:var(--green-deep)}.sec03 .feat-eyebrow .fi svg{width:17px;height:17px}.sec03 .feat-tx h3{font-family:var(--font);font-weight:800;letter-spacing:-.025em;color:var(--heading);font-size:clamp(1.7rem,3.1vw,2.3rem);line-height:1.12}.sec03 .feat-tx p{font-size:1.1rem;color:var(--body);margin-top:14px;max-width:46ch}.sec03 .feat-pts{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:13px}.sec03 .feat-pts li{display:flex;align-items:flex-start;gap:12px;font-size:1rem;color:var(--heading);font-weight:500}.sec03 .feat-pts .ck{width:21px;height:21px;border-radius:7px;background:var(--green-tint);color:var(--green-deep);display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px;border:1px solid rgba(11,168,109,.2)}.sec03 .feat-pts .ck svg{width:13px;height:13px}.sec03 .feat-pts b{font-weight:700}.sec03 .feat-pts span{color:var(--body);font-weight:400}/* stat chips under the bullets */.sec03 .feat-figs{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.sec03 .fig{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--green-tint);border:1px solid rgba(11,168,109,.18)}.sec03 .fig .fv{font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--green-deep);letter-spacing:.01em}.sec03 .fig .fl{font-size:.78rem;color:var(--body)}.sec03 .feat-src{margin-top:14px;font-family:var(--mono);font-size:.68rem;color:var(--muted);letter-spacing:.01em}/* visual frame */.sec03 .vis{position:relative;border-radius:20px;padding:26px;min-height:330px;background:linear-gradient(180deg,#0E1A15,#0B1410);border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 90px -50px rgba(0,0,0,.6);overflow:hidden;display:flex;flex-direction:column}.sec03 .vis-cap{font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(234,242,238,.6);margin-bottom:18px;display:flex;align-items:center;gap:9px}.sec03 .vis-cap b{color:var(--green-x);font-weight:700}.sec03 .vis-cap .d{width:6px;height:6px;border-radius:50%;background:var(--green-x);animation:pdot_s3 2.2s infinite}.sec03 .vis-cap .badge{margin-left:auto;font-family:var(--mono);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:var(--green-x);background:rgba(43,232,166,.12);border:1px solid rgba(43,232,166,.28);padding:3px 8px;border-radius:6px}/* CDN map */.sec03 .map{position:relative;flex:1;min-height:248px;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse 70% 60% at 50% 45%,rgba(43,232,166,.06),transparent 70%);background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px}.sec03 .worldmap{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.2;pointer-events:none}.sec03 .worldmap path{fill:#2BE8A6}.sec03 .map svg.arcs{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.sec03 .map svg.arcs path{fill:none;stroke:rgba(43,232,166,.3);stroke-width:1;stroke-dasharray:3 4}@keyframes flow_s3{to{stroke-dashoffset:-14}}.sec03 .map svg.arcs path.live{stroke:rgba(43,232,166,.55);stroke-dasharray:3 4;animation:flow_s3 1.1s linear infinite}.sec03 .node{position:absolute;width:9px;height:9px;border-radius:50%;background:rgba(43,232,166,.5);box-shadow:0 0 0 4px rgba(43,232,166,.08);transform:translate(-50%,-50%)}.sec03 .node.lit{background:var(--green-x);box-shadow:0 0 8px rgba(43,232,166,.7),0 0 0 4px rgba(43,232,166,.12)}.sec03 .node.hub{width:16px;height:16px;background:var(--green-x);box-shadow:0 0 16px var(--green-x);animation:pdot_s3 2s infinite}.sec03 .map .hub{top:46%;left:30%}.sec03 .map .n1{top:20%;left:12%}.sec03 .map .n2{top:13%;left:46%}.sec03 .map .n3{top:18%;left:74%}.sec03 .map .n4{top:36%;left:60%}.sec03 .map .n5{top:33%;left:88%}.sec03 .map .n6{top:58%;left:16%}.sec03 .map .n7{top:64%;left:48%}.sec03 .map .n8{top:72%;left:78%}.sec03 .map .n9{top:80%;left:34%}.sec03 .map .n10{top:50%;left:46%}.sec03 .map .n11{top:26%;left:30%}.sec03 .map .n12{top:70%;left:62%}.sec03 .map-tag{position:absolute;font-family:var(--mono);font-size:.62rem;color:var(--green-x);background:rgba(11,20,16,.7);border:1px solid rgba(43,232,166,.28);padding:2px 6px;border-radius:5px;white-space:nowrap;transform:translate(-50%,calc(-100% - 8px))}.sec03 .vis-chips{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start}.sec03 .vis-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:9px;background:rgba(43,232,166,.1);border:1px solid rgba(43,232,166,.28);font-family:var(--mono);font-size:.7rem;color:var(--green-x)}.sec03 .vis-rows{margin-top:18px;display:flex;flex-direction:column;gap:8px}.sec03 .vis-row{display:flex;align-items:center;gap:10px;padding:9px 13px;border-radius:9px;background:rgba(43,232,166,.07);border:1px solid rgba(43,232,166,.2);font-family:var(--mono);font-size:.74rem;color:rgba(234,242,238,.82)}.sec03 .vis-row svg{width:14px;height:14px;color:var(--green-x);flex:none}.sec03 .vis-row b{color:var(--green-x);font-weight:600}.sec03 .vis-row .vl{margin-left:auto;color:rgba(234,242,238,.5);font-size:.68rem}.sec03 .vis-chip svg{width:12px;height:12px;flex:none}/* Shield rows */.sec03 .sh-rows{display:flex;flex-direction:column;gap:9px;flex:1;justify-content:center}.sec03 .sh-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-family:var(--mono);font-size:.8rem;color:rgba(234,242,238,.82)}.sec03 .sh-row .req{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sec03 .sh-row b{font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.sec03 .sh-row.ok b{color:var(--green-x)}.sec03 .sh-row.bad{background:rgba(224,88,76,.08);border-color:rgba(224,88,76,.32)}.sec03 .sh-row.bad .req{color:#F0A89F}.sec03 .sh-row.bad b{color:#F08177}.sec03 .sh-row .rule{font-family:var(--mono);font-size:.62rem;letter-spacing:.03em;text-transform:uppercase;color:rgba(240,129,119,.85);background:rgba(224,88,76,.14);border:1px solid rgba(224,88,76,.3);padding:2px 6px;border-radius:5px;white-space:nowrap}.sec03 .sh-layers{margin-top:16px;display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start}.sec03 .sh-layer{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.62rem;letter-spacing:.02em;color:var(--green-x);background:rgba(43,232,166,.1);border:1px solid rgba(43,232,166,.26);padding:4px 9px;border-radius:7px}.sec03 .sh-layer svg{width:11px;height:11px;flex:none}.sec03 .sh-foot{margin-top:14px;display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-family:var(--mono);font-size:.72rem;color:rgba(234,242,238,.6)}.sec03 .sh-foot .si{width:26px;height:26px;border-radius:8px;background:rgba(43,232,166,.14);color:var(--green-x);display:flex;align-items:center;justify-content:center}.sec03 .sh-foot .si svg{width:15px;height:15px}/* Backups timeline */.sec03 .bk{flex:1;display:flex;flex-direction:column;justify-content:center}.sec03 .bk-line{position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:0 6px}.sec03 .bk-line::before{content:'';position:absolute;left:6px;right:6px;bottom:26px;height:2px;background:rgba(255,255,255,.1)}.sec03 .bk-day{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px}.sec03 .bk-day .bd{width:13px;height:13px;border-radius:50%;background:#1B2A23;border:2px solid rgba(255,255,255,.18)}.sec03 .bk-day.done .bd{background:var(--green-bright);border-color:var(--green-bright)}.sec03 .bk-day.sel .bd{background:var(--green-x);border-color:var(--green-x);box-shadow:0 0 12px var(--green-x);width:16px;height:16px}.sec03 .bk-day .bl{font-family:var(--mono);font-size:.62rem;color:rgba(234,242,238,.45)}.sec03 .bk-day.sel .bl{color:var(--green-x)}.sec03 .bk-restore{margin-top:24px;align-self:flex-start;display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:10px;background:var(--green-bright);color:#042A1C;font-weight:700;font-size:.84rem}.sec03 .bk-restore svg{width:15px;height:15px}.sec03 .bk-note{margin-top:13px;font-family:var(--mono);font-size:.72rem;color:rgba(234,242,238,.5)}.sec03 .bk-point{margin-top:20px;border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:13px 15px;background:rgba(255,255,255,.03)}.sec03 .bk-pt-top{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.74rem;color:var(--green-x)}.sec03 .bk-pt-dot{width:7px;height:7px;border-radius:50%;background:var(--green-x);box-shadow:0 0 8px var(--green-x);flex:none}.sec03 .bk-pt-tag{margin-left:auto;font-family:var(--mono);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(234,242,238,.45)}.sec03 .bk-pt-meta{display:flex;flex-wrap:wrap;gap:9px 16px;margin-top:12px}.sec03 .bk-pt-meta span{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.68rem;color:rgba(234,242,238,.72)}.sec03 .bk-pt-meta svg{width:12px;height:12px;color:var(--green-x);flex:none}/* ===== included spec strip ===== */.sec03 .incl{padding:0 0 64px}.sec03 .incl-card{background:transparent;border:0;border-radius:0;padding:8px 0 0;box-shadow:none;margin-top:34px}.sec03 .incl-top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:22px}.sec03 .incl-top h4{font-family:var(--font);font-weight:800;letter-spacing:-.02em;color:var(--heading);font-size:1.25rem}.sec03 .incl-top .meta{font-family:var(--mono);font-size:.7rem;letter-spacing:.03em;text-transform:uppercase;color:var(--green-deep);background:var(--green-tint);border:1px solid rgba(11,168,109,.2);padding:4px 10px;border-radius:7px}.sec03 .incl-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.sec03 .incl-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:18px 12px;border:1px solid var(--border);border-radius:14px;background:var(--white)}.sec03 .incl-tile .ti{width:38px;height:38px;border-radius:11px;background:var(--green-tint);color:var(--green-deep);display:flex;align-items:center;justify-content:center}.sec03 .incl-tile .ti svg{width:20px;height:20px}.sec03 .incl-tile .tl{font-size:.86rem;font-weight:600;color:var(--heading);line-height:1.25}.sec03 .incl-tile .ts{font-family:var(--mono);font-size:.6rem;color:var(--muted)}@media(max-width:980px){.sec03 .incl-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:880px){.sec03 .feat-grid{grid-template-columns:1fr;gap:30px}.sec03 .feat.rev .feat-tx{order:0}.sec03 .vis{min-height:280px}}@media(max-width:560px){.sec03 .incl-grid{grid-template-columns:repeat(2,1fr)}}
  /* SEC05 */
.sec05 .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep)}.sec05 .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-bright)}@keyframes pdot_s5{0%{box-shadow:0 0 0 0 rgba(43,232,166,.5)}70%{box-shadow:0 0 0 8px rgba(43,232,166,0)}100%{box-shadow:0 0 0 0 rgba(43,232,166,0)}}/* ===== section shell ===== */.sec05 .sup{padding:150px 0}.sec05 .sup-head{text-align:center;max-width:760px;margin:0 auto}.sec05 .sup-head .eyebrow{margin-bottom:16px}.sec05 .sup-head h2{font-family:var(--font);font-weight:800;letter-spacing:-.025em;color:var(--heading);font-size:clamp(1.95rem,3.7vw,2.7rem);line-height:1.12;text-wrap:balance}.sec05 .sup-head .lede{font-size:1.12rem;color:var(--body);max-width:54ch;margin:14px auto 0;text-wrap:balance}.sec05 .sup-head .lede b{color:var(--heading);font-weight:700}/* ===== two-beat grid ===== */.sec05 .beats{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:70px;grid-auto-rows:1fr;align-items:stretch}.sec05 .beat{display:flex;flex-direction:column;border-radius:22px;padding:30px;position:relative;overflow:hidden}.sec05 .beat-tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:7px;align-self:flex-start;margin-bottom:15px}.sec05 .beat h3{font-size:clamp(1.4rem,2.3vw,1.78rem);font-weight:800;letter-spacing:-.02em;line-height:1.14}.sec05 .beat>p{font-size:1.02rem;margin-top:11px;max-width:42ch}/* reactive (light) beat */.sec05 .beat.react{background:#fff;border:1px solid var(--border);box-shadow:0 28px 66px -46px rgba(16,23,38,.32)}.sec05 .beat.react .beat-tag{color:var(--green-deep);background:var(--green-tint);border:1px solid rgba(11,168,109,.2)}.sec05 .beat.react h3{color:var(--heading)}.sec05 .beat.react>p{color:var(--body)}/* proactive (dark) beat — echoes dark-panel treatment */.sec05 .beat.proact{background:linear-gradient(180deg,#0E1A15,#0B1410);border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 90px -50px rgba(0,0,0,.6)}.sec05 .beat.proact::before{content:'';position:absolute;inset:0;z-index:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 90% 60% at 70% 0%,#000,transparent 72%);mask-image:radial-gradient(ellipse 90% 60% at 70% 0%,#000,transparent 72%)}.sec05 .beat.proact::after{content:'';position:absolute;top:-120px;right:-80px;width:360px;height:300px;border-radius:50%;filter:blur(72px);background:radial-gradient(ellipse at center,rgba(43,232,166,.18),transparent 70%);z-index:0;pointer-events:none}.sec05 .beat.proact>*{position:relative;z-index:1}.sec05 .beat.proact .beat-tag{color:var(--green-x);background:rgba(43,232,166,.1);border:1px solid rgba(43,232,166,.28)}.sec05 .beat.proact h3{color:#F4F8F7}.sec05 .beat.proact>p{color:var(--dark-body)}/* ===== email thread (reactive visual) ===== */.sec05 .mail{margin-top:24px;flex:1;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:16px;background:#FBFCFE;overflow:hidden}.sec05 .mail-bar{display:flex;align-items:center;gap:8px;padding:11px 15px;background:#fff;border-bottom:1px solid var(--border)}.sec05 .mail-bar .dots{display:flex;gap:6px}.sec05 .mail-bar .dots i{width:10px;height:10px;border-radius:50%;background:#E2E8F0}.sec05 .mail-bar .subj{font-family:var(--mono);font-size:.68rem;color:var(--muted);margin-left:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sec05 .mail-bar .ch{margin-left:auto;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--green-deep);background:var(--green-tint);border:1px solid rgba(11,168,109,.2);padding:3px 8px;border-radius:6px;white-space:nowrap}.sec05 .mail-body{flex:1;display:flex;flex-direction:column;gap:14px;padding:16px 15px}.sec05 .mmsg{display:flex;gap:11px;align-items:flex-start}.sec05 .mmsg .av{width:34px;height:34px;border-radius:50%;flex:none;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--green-tint)}.sec05 .mmsg .av img{width:100%;height:100%;object-fit:cover}.sec05 .mmsg .mc{flex:1;min-width:0}.sec05 .mmsg .who{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.sec05 .mmsg .who b{font-size:.84rem;font-weight:700;color:var(--heading)}.sec05 .mmsg .who .role{font-family:var(--mono);font-size:.6rem;color:var(--muted)}.sec05 .mmsg .who .when{margin-left:auto;font-family:var(--mono);font-size:.6rem;color:var(--muted)}.sec05 .mmsg .txt{font-size:.9rem;line-height:1.5;color:var(--body);margin-top:5px}.sec05 .mmsg.from-user .av{background:#EEF2F7}.sec05 .mmsg.reply{background:#fff;border:1px solid var(--border);border-radius:13px;padding:13px;box-shadow:0 14px 30px -22px rgba(16,23,38,.4)}.sec05 .mmsg.reply .txt b{color:var(--heading);font-weight:700}.sec05 .mmsg.reply .fix{font-family:var(--mono);font-size:.72rem;color:var(--green-deep);background:var(--green-tint);border-radius:8px;padding:7px 10px;margin-top:9px;display:inline-flex;align-items:center;gap:7px}.sec05 .mmsg.reply .fix svg{width:12px;height:12px;flex:none}.sec05 .mail-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 15px;background:#fff;border-top:1px solid var(--border)}.sec05 .mchip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.66rem;font-weight:500;color:var(--green-deep);background:var(--green-tint);border:1px solid rgba(11,168,109,.18);padding:5px 10px;border-radius:8px}.sec05 .mchip.speed{color:#042A1C;background:var(--green-bright);border-color:var(--green-bright);font-weight:600}.sec05 .mchip i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.sec05 .mchip svg{width:12px;height:12px;flex:none}/* ===== sentinel monitor (proactive visual) ===== */.sec05 .sent{margin-top:24px;flex:1;display:flex;flex-direction:column}.sec05 .sent-cap{font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(234,242,238,.45);margin-bottom:14px;display:flex;align-items:center;gap:8px}.sec05 .sent-cap .d{width:6px;height:6px;border-radius:50%;background:var(--green-x);animation:pdot_s5 2.2s infinite}.sec05 .sent-cap .live{margin-left:auto;color:var(--green-x);letter-spacing:.06em}.sec05 .sent-rows{display:flex;flex-direction:column;gap:10px;flex:1;justify-content:center}.sec05 .sent-row{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.sec05 .sent-row .si{width:32px;height:32px;border-radius:9px;background:rgba(43,232,166,.14);color:var(--green-x);display:flex;align-items:center;justify-content:center;flex:none}.sec05 .sent-row .si svg{width:17px;height:17px}.sec05 .sent-row .sx{flex:1;min-width:0}.sec05 .sent-row .dim{font-size:.82rem;font-weight:700;color:#EAF2EE}.sec05 .sent-row .det{font-family:var(--mono);font-size:.68rem;color:rgba(234,242,238,.6);margin-top:2px;line-height:1.4}.sec05 .sent-row .stat{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 9px;min-height:24px;box-sizing:border-box;border-radius:8px;white-space:nowrap;flex:none}.sec05 .sent-row .stat svg{width:12px;height:12px;flex:none}.sec05 .sent-row .stat.fixed{color:#042A1C;background:var(--green-x)}.sec05 .sent-row .stat.green{color:var(--green-x);background:rgba(43,232,166,.12);border:1px solid rgba(43,232,166,.28)}.sec05 .sent-row .stat.sent{color:rgba(234,242,238,.85);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2)}.sec05 .sent-row .stat svg{width:11px;height:11px}.sec05 .sent-row.acted{background:rgba(43,232,166,.07);border-color:rgba(43,232,166,.3)}.sec05 .sent-foot{margin-top:16px;display:inline-flex;align-items:center;gap:9px;align-self:flex-start;font-family:var(--mono);font-size:.74rem;color:rgba(234,242,238,.7)}.sec05 .sent-foot .fi{width:26px;height:26px;border-radius:8px;background:rgba(43,232,166,.14);color:var(--green-x);display:flex;align-items:center;justify-content:center;flex:none}.sec05 .sent-foot .fi svg{width:15px;height:15px}.sec05 .sent-foot b{color:var(--green-x);font-weight:600}/* ===== proof bar ===== */.sec05 .proof{margin-top:34px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;text-align:center;padding-top:30px}.sec05 .proof .stars{display:inline-flex;align-items:center;gap:9px;font-weight:700;color:var(--heading);font-size:1.02rem}.sec05 .proof .stars .s{display:inline-flex;gap:2px;color:#16B981}.sec05 .proof .stars .s svg{width:16px;height:16px}.sec05 .proof .stars .tp{font-family:var(--mono);font-size:.72rem;font-weight:500;color:var(--muted)}.sec05 .proof .sep{width:1px;height:18px;background:var(--border)}.sec05 .proof .real{font-family:var(--mono);font-size:.78rem;font-weight:500;color:var(--green-deep)}.sec05 .proof .real b{color:var(--heading);font-weight:700}@media(max-width:880px){.sec05 .beats{grid-template-columns:1fr;gap:18px}.sec05 .proof .sep{display:none}}@media(max-width:520px){.sec05 .sent-row{flex-wrap:wrap}.sec05 .sent-row .stat{margin-left:43px}.sec05 .mmsg .who .when{margin-left:0;width:100%}}
  /* flow v2: support grey band */
  .sec05{background:var(--bg)}

  /* ===== SECTION 06 · WAAS (scoped .sec06) ===== */
.sec06 .rsl{padding:150px 0;background:var(--white)}.sec06 .rsl-head{text-align:center;max-width:780px;margin:0 auto}.sec06 .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep);margin-bottom:16px}.sec06 .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-bright)}.sec06 .rsl-head h2{font-family:var(--font);font-weight:800;letter-spacing:-.025em;color:var(--heading);font-size:clamp(1.95rem,3.7vw,2.7rem);line-height:1.12;text-wrap:balance}.sec06 .rsl-head .lede{font-size:1.12rem;color:var(--body);max-width:60ch;margin:14px auto 0;text-wrap:balance}.sec06 .rsl-head .lede b{color:var(--heading);font-weight:700}/* ===== the big combined stage ===== */.sec06 .stage{margin-top:46px;position:relative;border:1px solid var(--border);border-radius:24px;padding:30px 26px 26px;background:
      radial-gradient(120% 90% at 18% 0%,rgba(91,91,214,.07),transparent 55%),
      radial-gradient(120% 90% at 86% 4%,rgba(17,191,133,.08),transparent 55%),
      linear-gradient(180deg,#FBFCFE,#F4F7FB);
    box-shadow:0 50px 110px -60px rgba(16,23,38,.4)}.sec06 .stage-row{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr;align-items:stretch;gap:0}.sec06 .arrowcol{display:flex;align-items:center;justify-content:center}.sec06 .arrowcol svg{width:22px;height:22px;color:var(--brand);opacity:.6}.sec06 .step{display:flex;flex-direction:column}.sec06 .step-cap{display:flex;align-items:center;gap:9px;margin-bottom:11px}.sec06 .step-cap .num{width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--mono);font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.sec06 .step-cap b{font-size:.96rem;color:var(--heading);font-weight:700;letter-spacing:-.01em}.sec06 .step-cap span{font-family:var(--mono);font-size:.6rem;color:var(--muted);display:block;font-weight:400}/* mini browser window */.sec06 .win{flex:1;border-radius:13px;overflow:hidden;background:var(--white);border:1px solid var(--border);box-shadow:0 26px 54px -34px rgba(16,23,38,.45);display:flex;flex-direction:column}.sec06 .win-bar{display:flex;align-items:center;gap:6px;padding:8px 11px;background:#F4F7FA;border-bottom:1px solid var(--border)}.sec06 .win-bar .dots{display:inline-flex;gap:4px}.sec06 .win-bar .dots i{width:6px;height:6px;border-radius:50%;background:#D8E0E8}.sec06 .win-bar .u{margin-left:5px;flex:1;min-width:0;font-family:var(--code);font-size:.6rem;color:var(--body);display:inline-flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sec06 .win-bar .u svg{width:9px;height:9px;color:var(--green-deep);flex:none}.sec06 .win-body{padding:13px 13px 14px;flex:1;display:flex;flex-direction:column}.sec06 .brandlogo{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:.86rem;letter-spacing:-.02em;color:var(--heading)}.sec06 .brandlogo .mk{width:20px;height:20px;border-radius:6px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:flex;align-items:center;justify-content:center}.sec06 .brandlogo .mk svg{width:12px;height:12px;color:#fff}.sec06 .wt{font-family:var(--mono);font-size:.62rem;color:var(--muted)}/* win1 — buy */.sec06 .b1-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.sec06 .planrow{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:9px;padding:9px 11px;margin-bottom:7px}.sec06 .planrow .r{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);flex:none}.sec06 .planrow .pn{font-weight:600;font-size:.82rem;color:var(--heading)}.sec06 .planrow .pp{margin-left:auto;font-family:var(--mono);font-size:.74rem;color:var(--body)}.sec06 .planrow .pp b{color:var(--heading)}.sec06 .planrow.sel{border-color:var(--brand);background:linear-gradient(180deg,var(--brand-tint),#fff 70%)}.sec06 .planrow.sel .r{border-color:var(--brand);background:var(--brand);box-shadow:inset 0 0 0 3px #fff}.sec06 .b1-cta{margin-top:auto;border:0;cursor:pointer;font-family:var(--font);font-weight:700;font-size:.82rem;color:#fff;background:var(--brand);padding:10px;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 10px 22px -10px rgba(91,91,214,.6)}/* win2 — manage (portal) */.sec06 .p2-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sec06 .site{border:1px solid var(--border);border-radius:9px;margin-bottom:7px;overflow:hidden}.sec06 .site.open{border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,91,214,.1)}.sec06 .site-row{display:flex;align-items:center;gap:8px;padding:8px 10px}.sec06 .site-row .nm{font-weight:600;font-size:.78rem;color:var(--heading)}.sec06 .site-row .act{margin-left:auto;font-family:var(--mono);font-size:.62rem;font-weight:600;text-transform:uppercase;color:var(--green-deep);background:var(--green-tint);padding:2px 8px;border-radius:20px;display:inline-flex;align-items:center;gap:4px}.sec06 .site-row .act i{width:5px;height:5px;border-radius:50%;background:var(--green-bright)}.sec06 .site-det{border-top:1px solid var(--border-2);background:#FBFCFE;padding:9px 10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.sec06 .dc .k{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2px;display:flex;align-items:center;gap:4px}.sec06 .dc .k svg{width:9px;height:9px;color:var(--brand)}.sec06 .dc .v{font-size:.7rem;color:var(--heading);font-weight:600}/* win3 — run (admin) */.sec06 .a3-stats{display:flex;gap:16px;margin-bottom:11px}.sec06 .a3-stat b{display:block;font-size:1.1rem;font-weight:800;color:var(--heading);letter-spacing:-.02em;line-height:1.05}.sec06 .a3-stat b em{font-style:normal;color:var(--green-deep)}.sec06 .a3-stat span{font-family:var(--mono);font-size:.62rem;color:var(--muted)}.sec06 .crow{display:flex;align-items:center;gap:8px;padding:7px 2px;border-bottom:1px solid var(--border-2)}.sec06 .crow:last-child{border-bottom:0}.sec06 .crow .av{width:22px;height:22px;border-radius:50%;background:var(--brand-tint);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.62rem;flex:none}.sec06 .crow .em{font-size:.72rem;color:var(--heading);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sec06 .crow .mrr{font-family:var(--mono);font-size:.72rem;font-weight:700;color:var(--heading)}.sec06 .stage-foot{margin-top:22px;display:flex;align-items:center;justify-content:center;gap:9px;font-family:var(--mono);font-size:.74rem;color:var(--body)}.sec06 .stage-foot .pin{width:7px;height:7px;border-radius:50%;background:var(--brand)}.sec06 .stage-foot b{color:var(--brand-deep);font-weight:600}/* sell-methods note */.sec06 .sell-ways{margin-top:28px;display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap}.sec06 .sell-ways .sw-lbl{font-family:var(--mono);font-size:.72rem;color:var(--muted)}.sec06 .way{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.78rem;font-weight:600;color:var(--heading);background:var(--white);border:1px solid var(--border);border-radius:10px;padding:8px 14px;box-shadow:0 8px 20px -16px rgba(16,23,38,.3)}.sec06 .way svg{width:15px;height:15px;color:var(--brand);flex:none}/* offer points — horizontal band */.sec06 .rsl-pts{list-style:none;margin-top:40px;border-top:1px solid var(--border-2);padding-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.sec06 .rsl-pt{display:flex;flex-direction:column;gap:10px}.sec06 .rsl-pt .ck{width:36px;height:36px;border-radius:10px;background:var(--green-tint);color:var(--green-deep);border:1px solid rgba(11,168,109,.2);display:flex;align-items:center;justify-content:center}.sec06 .rsl-pt .ck svg{width:18px;height:18px}.sec06 .rsl-pt b{font-size:1.04rem;font-weight:700;color:var(--heading);letter-spacing:-.01em}.sec06 .rsl-pt span{font-size:.92rem;color:var(--body)}/* cta + proof */.sec06 .rsl-foot{margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:15px;text-align:center}.sec06 .rsl-cta{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:1rem;color:#042A1C;background:var(--green-bright);padding:13px 26px;border-radius:11px;text-decoration:none;box-shadow:0 12px 26px -10px rgba(17,191,133,.5)}.sec06 .rsl-cta .arr{transition:transform .18s}.sec06 .rsl-cta:hover .arr{transform:translateX(3px)}.sec06 .rsl-foot .proofline{font-family:var(--mono);font-size:.84rem;color:var(--body)}.sec06 .rsl-foot .proofline b{color:var(--heading);font-weight:700}.sec06 .rsl-ultimo{width:100%;text-align:center;margin-top:2px;font-family:var(--mono);font-size:.8rem;color:var(--body)}.sec06 .rsl-ultimo b{color:var(--green-deep);font-weight:600}@media(max-width:920px){.sec06 .stage-row{grid-template-columns:1fr;gap:16px}.sec06 .arrowcol{display:none}.sec06 .rsl-pts{grid-template-columns:1fr 1fr;gap:24px}}

  /* ===== SECTION 07 · CLOSE + FOOTER (scoped .sec07) ===== */
.sec07 .btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:1.02rem;padding:14px 26px;border-radius:12px;border:0;cursor:pointer;font-family:var(--font);transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}.sec07 .btn .arr{transition:transform .18s}.sec07 .btn:hover .arr{transform:translateX(3px)}.sec07 .btn-primary{background:var(--green);color:#042A1C;box-shadow:0 14px 30px -10px rgba(17,191,133,.55)}.sec07 .btn-primary:hover{background:var(--green-deep);transform:translateY(-2px)}.sec07 .btn-ghost{background:rgba(255,255,255,.06);color:#EAF2EE;border:1px solid rgba(255,255,255,.18)}.sec07 .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.34)}/* ===== close (dark bookend) ===== */.sec07 .close{position:relative;background:linear-gradient(180deg,#0B1410 0%,#0B1410 55%,#091108 100%);overflow:hidden;padding:104px 0 92px;text-align:center}.sec07 .close .grid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 30%,#000,transparent 72%);mask-image:radial-gradient(ellipse 80% 80% at 50% 30%,#000,transparent 72%)}.sec07 .close .glow{position:absolute;width:780px;height:460px;top:-150px;left:50%;transform:translateX(-50%);border-radius:50%;filter:blur(72px);background:radial-gradient(ellipse at center,rgba(43,232,166,.22),rgba(52,207,227,.06) 48%,transparent 72%);pointer-events:none}.sec07 .close .wrap{position:relative;z-index:1}.sec07 .close .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-x);margin-bottom:18px}.sec07 .close .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-x);box-shadow:0 0 0 0 rgba(43,232,166,.6);animation:pdot_s7 2.4s ease-out infinite}@keyframes pdot_s7{0%{box-shadow:0 0 0 0 rgba(43,232,166,.5)}70%{box-shadow:0 0 0 7px rgba(43,232,166,0)}100%{box-shadow:0 0 0 0 rgba(43,232,166,0)}}.sec07 .close h2{font-family:var(--font);font-weight:800;letter-spacing:-.025em;color:#F4F8F7;font-size:clamp(2.1rem,4.6vw,3.2rem);line-height:1.07;text-wrap:balance}.sec07 .close h2 .ac{color:var(--green-x)}.sec07 .close .sub{font-size:1.14rem;color:var(--dark-body);max-width:56ch;margin:17px auto 0;text-wrap:balance}.sec07 .close-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}.sec07 .close-reassure{margin-top:24px;display:inline-flex;flex-wrap:wrap;justify-content:center;gap:9px 22px;font-family:var(--mono);font-size:.78rem}.sec07 .close-reassure span{display:inline-flex;align-items:center;gap:7px;color:rgba(234,242,238,.72)}.sec07 .close-reassure svg{width:13px;height:13px;flex:none;color:var(--green-x)}/* ===== footer ===== */.sec07 .footer{background:linear-gradient(180deg,#091108,#060D08);border-top:1px solid rgba(43,232,166,.09);box-shadow:inset 0 16px 30px -16px rgba(0,0,0,.6);padding:60px 0 30px;color:var(--dark-body)}.sec07 .foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px}.sec07 .foot-brand .logo{display:inline-flex;align-items:center;gap:9px;font-size:1.35rem;font-weight:800;letter-spacing:-.03em;color:#F2F7F4}.sec07 .foot-brand .logo svg{height:20px;width:auto;color:var(--green-bright)}.sec07 .foot-brand p{font-size:.92rem;color:var(--dark-body);margin-top:13px;max-width:30ch}.sec07 .foot-social{display:flex;gap:10px;margin-top:18px}.sec07 .foot-social a{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.05);border:1px solid var(--dark-border);display:flex;align-items:center;justify-content:center;color:rgba(234,242,238,.7);transition:.18s}.sec07 .foot-social a:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.28)}.sec07 .foot-social svg{width:16px;height:16px}.sec07 .foot-col h5{font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(234,242,238,.5);margin-bottom:14px}.sec07 .foot-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}.sec07 .foot-col a{font-size:.92rem;color:rgba(234,242,238,.74);transition:color .15s}.sec07 .foot-col a:hover{color:#fff}.sec07 .foot-col a .new{font-family:var(--mono);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--green-x);background:rgba(43,232,166,.12);border:1px solid rgba(43,232,166,.28);padding:1px 6px;border-radius:5px;margin-left:7px;vertical-align:middle}.sec07 .foot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--dark-border);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.sec07 .foot-bottom .copy{font-family:var(--mono);font-size:.76rem;color:rgba(234,242,238,.5)}.sec07 .foot-bottom .copy b{color:rgba(234,242,238,.8);font-weight:600}.sec07 .foot-legal{display:flex;gap:20px;flex-wrap:wrap}.sec07 .foot-legal a{font-family:var(--mono);font-size:.74rem;color:rgba(234,242,238,.55)}.sec07 .foot-legal a:hover{color:#fff}@media(max-width:880px){.sec07 .foot-top{grid-template-columns:1fr 1fr;gap:30px}.sec07 .foot-brand{grid-column:1/-1}.sec07 .foot-bottom{flex-direction:column;align-items:flex-start}}

/* ============================================================
   POLISH PASS (2026-06) — motion, atmosphere, micro-interactions
   Additive only; no structural/copy changes.
   ============================================================ */

/* --- type finish --- */
.hero h1,.s01 h2,.s02 h2,.sec03 h2,.uc-sec h2,.sec05 h2,.sec06 h2{text-wrap:balance}
.lede,.hero .sub,.sec03 .sub{text-wrap:pretty}
.hero-proof .proof-stats,.flow-spine .fs-n{font-variant-numeric:tabular-nums}

/* --- FIX: .po-note was light-on-light (leftover from the dark opener) --- */
.sec03 .po-note{color:#5E6B7C!important}

/* --- hero atmosphere: film grain + slow aurora drift --- */
.hero-bg::after{content:'';position:absolute;inset:0;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}

/* --- hero entrance choreography (CSS-only, runs once on load) --- */


/* --- demo frame: edge light + green ambient --- */
.demo{box-shadow:0 50px 100px -40px rgba(0,0,0,.65),0 30px 90px -36px rgba(17,191,133,.18),0 0 0 1px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.06)}

/* --- flow-spine: hover glow --- */
.flow-spine .fs-step{transition:border-color .22s,background .22s,transform .22s}
.flow-spine .fs-step:hover{border-color:rgba(43,232,166,.4);background:rgba(43,232,166,.05);transform:translateY(-2px)}

/* --- scroll-reveal primitives (tagged by home.js; no-JS/reduced-motion safe) --- */
.rv,.rv.rv-in{opacity:1;transform:none}

/* --- card micro-interactions (light bands) --- */
.spot,.sec05 .beat,.sec06 .win,.panel{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.spot:hover,.sec05 .beat:hover{transform:translateY(-3px);border-color:rgba(17,191,133,.35);box-shadow:0 26px 56px -34px rgba(8,15,30,.35)}
.sec06 .win:hover{transform:translateY(-3px);border-color:rgba(17,191,133,.35);box-shadow:0 30px 60px -34px rgba(16,23,38,.5)}
.panel:hover{transform:translateY(-3px);box-shadow:0 26px 60px -34px rgba(16,23,38,.38)}
@media(prefers-reduced-motion:reduce){
  .hero-bg .g1,.hero-bg .g2,.hero-bg .g3{animation:none}
  .hero .announce,.hero h1,.hero .sub,.hero .ctas,.hero .hero-badges,.hero .demo,.hero .flow-spine,.hero .hero-proof{animation:none}
  .announce::after{display:none}
  .rv{opacity:1;transform:none;transition:none}
  .spot,.sec05 .beat,.sec06 .win,.panel,.flow-spine .fs-step{transition:none}
  .spot:hover,.sec05 .beat:hover,.sec06 .win:hover,.panel:hover,.flow-spine .fs-step:hover{transform:none}
}

/* ============ DEFINITIVE PASS — compression, rhythm, mid-CTA ============ */
/* sec03 compression */
.sec03 .feat{padding:78px 0}
.sec03 .po{padding:122px 0 72px}
/* included -> one chip strip */
.sec03 .incl-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px 10px;margin-top:64px;padding-top:36px;border-top:1px solid var(--border)}
.sec03 .incl-strip .is-h{font-family:var(--font);font-weight:700;font-size:.96rem;color:var(--heading);margin-right:6px}
.sec03 .is-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--border);border-radius:100px;background:var(--white);font-family:var(--mono);font-size:.74rem;color:var(--body);cursor:default;transition:border-color .2s,color .2s,transform .2s}
.sec03 .is-chip:hover{border-color:rgba(17,191,133,.4);color:var(--heading);transform:translateY(-1px)}
.sec03 .is-chip svg{width:14px;height:14px;color:var(--green-deep);flex:none}
/* mid-page CTA: dark punctuation inside the grey band */
.sec03 .mid-cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:56px;padding:24px 28px;border-radius:18px;background:linear-gradient(120deg,var(--dark),var(--dark-2))}
.sec03 .mid-cta::before{content:'';position:absolute;width:460px;height:240px;top:-120px;right:-70px;border-radius:50%;filter:blur(64px);background:radial-gradient(circle,rgba(43,232,166,.26),transparent 70%);pointer-events:none}
.sec03 .mc-tx{position:relative;display:flex;flex-direction:column;gap:4px}
.sec03 .mc-tx b{font-family:var(--font);font-weight:800;font-size:1.2rem;letter-spacing:-.02em;color:#F4F8F7}
.sec03 .mc-tx span{font-family:var(--mono);font-size:.76rem;color:var(--dark-body)}
.sec03 .mc-act{position:relative;display:flex;align-items:center;gap:18px}
.sec03 .mc-link{font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--green-x);transition:color .2s}
.sec03 .mc-link:hover{color:#fff}
@media(max-width:680px){.sec03 .mid-cta{flex-direction:column;align-items:flex-start}}
/* rhythm break: alternate head alignment (s01 left · s02 center · uc left · sec05 center · sec06 left) */
.uc-sec .uc-head{text-align:left;margin:0;max-width:700px}
.uc-sec .uc-head .lede{margin-left:0;margin-right:0}
.sec06 .rsl-head{text-align:left;margin:0;max-width:700px}
.sec06 .rsl-head .lede{margin-left:0;margin-right:0}
/* rhythm break: asymmetric support beats — the dark sentinel panel gets the stage */
@media(min-width:881px){.sec05 .beats{grid-template-columns:1fr 1fr}}

/* uc spot-vis tiles: real surface (was white-on-white) — dot-grid product canvas */
.uc-sec .spot-vis{position:relative;overflow:hidden;background:radial-gradient(rgba(14,23,38,.05) 1px,transparent 1px) 0 0/18px 18px,linear-gradient(180deg,#F1F6F3,#F8FBFA);border-color:#E0E8E4}
.uc-sec .spot-vis::before{content:'';position:absolute;width:240px;height:140px;top:-70px;right:-40px;border-radius:50%;filter:blur(42px);background:radial-gradient(circle,rgba(17,191,133,.09),transparent 70%);pointer-events:none}
/* the AI/MCP card (2nd spot) reads plasma — agents dimension, matching s02 */
.uc-sec .spotlights .spot:nth-child(2) .spot-vis{background:radial-gradient(rgba(0,94,84,.06) 1px,transparent 1px) 0 0/18px 18px,linear-gradient(180deg,#EBF4F1,#F6FAF9);border-color:#DCE9E5}
.uc-sec .spotlights .spot:nth-child(2) .spot-vis::before{background:radial-gradient(circle,rgba(0,94,84,.1),transparent 70%)}

/* spacious-rhythm mobile guard */
@media(max-width:680px){
  .hero-open{min-height:92vh;padding:88px 0 30px}
  .s01,.s02,.uc-sec,.sec05 .sup,.sec06 .rsl{padding:96px 0}
  .sec03 .po{padding:88px 0 54px}.sec03 .feat{padding:56px 0}
  .flow-spine{margin-top:52px}.hero-proof{margin-top:60px}
}

/* ===== SECTION 04 · USE CASES · Sell / WaaS spotlight mock ===== */
.uc-sec .spot-vis.sell{flex:1;display:flex;flex-direction:column;justify-content:center;margin-top:18px}
.uc-sec .sell-win{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 40px -28px rgba(16,23,38,.42);overflow:hidden}
.uc-sec .sell-bar{display:flex;align-items:center;gap:6px;padding:7px 13px;background:#F7F9FC;border-bottom:1px solid var(--border-2)}
.uc-sec .sell-bar .sd{width:8px;height:8px;border-radius:50%;background:#D5DCE6}
.uc-sec .sell-url{margin-left:10px;font-family:var(--code);font-size:.66rem;color:var(--muted)}
.uc-sec .sell-body{padding:13px 16px 14px}
.uc-sec .sell-brand{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--heading);font-size:.94rem;margin-bottom:10px}
.uc-sec .sell-mark{flex:none;width:24px;height:24px;border-radius:7px;background:var(--green-bright);color:#042A1C;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem}
.uc-sec .sell-plans{display:grid;gap:6px}
.uc-sec .sell-plan{display:flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid var(--border);border-radius:11px;background:#fff}
.uc-sec .sell-plan>div{display:flex;flex-direction:column;line-height:1.2}
.uc-sec .sell-plan>div b{font-size:.9rem;color:var(--heading)}
.uc-sec .sell-plan>div span{font-family:var(--mono);font-size:.64rem;color:var(--muted);margin-top:2px}
.uc-sec .sell-plan .sp-p{margin-left:auto;font-weight:700;color:var(--heading);font-size:.96rem}
.uc-sec .sell-plan .sp-p small{font-family:var(--mono);font-size:.6rem;font-weight:500;color:var(--muted)}
.uc-sec .sell-plan.on{border-color:rgba(17,191,133,.5);background:var(--green-tint);box-shadow:0 0 0 3px rgba(17,191,133,.12)}
.uc-sec .sell-cta{margin-top:10px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:.86rem;color:#042A1C;background:var(--green-bright);border:0;border-radius:10px;padding:9px;font-family:var(--font);cursor:default;box-shadow:0 1px 2px rgba(11,168,109,.25),0 10px 22px -10px rgba(17,191,133,.55)}
.uc-sec .sell-cta span{font-family:var(--mono)}
.uc-sec .sell-foot{padding:9px 18px;border-top:1px solid var(--border-2);font-family:var(--mono);font-size:.67rem;color:var(--muted);text-align:center}
.uc-sec .sell-foot b{color:var(--green-deep);font-weight:600}
/* Hero demo: real product recording replaced the scripted cursor/scene mock
   (2026-08-04). The frame was a fixed 440px band; the clip is 16:9, so the view
   takes the clip's ratio instead of cropping the recording. */
.demo-view.demo-view-vid{height:auto;aspect-ratio:16/9;padding:0;background:#0B1410}
.demo-view.demo-view-vid .demo-vid{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0}

/* Section headers (2026-08-04)
   The tension section's head was left-aligned at 680px while the use-case head
   was already centered at 740px, so two sibling sections read as different
   systems. Both now use the same centred eyebrow -> headline -> lede stack. */
.s01 .vb-head{max-width:740px;margin:0 auto;text-align:center}
.s01 .vb-head .lede{max-width:56ch;margin-left:auto;margin-right:auto}
.uc-sec .uc-head .lede{max-width:56ch}
.s01 .vb-head h2,.uc-sec .uc-head h2{text-wrap:balance}
.s01 .vb-head .lede,.uc-sec .uc-head .lede{text-wrap:pretty}
/* The comparison table below the head keeps its own top spacing. */
.s01 .vb-head{margin-bottom:44px}

/* tighten the gap between the hero proof strip and the section below it */
.hero{padding-bottom:52px}
.s01{padding-top:76px}
@media(max-width:680px){.hero{padding-bottom:40px}.s01{padding-top:60px}}

/* Hero video: brand gradient rail, same treatment as /hosting-companies/.
   Scoped to the front-page hero so no other .demo card inherits it. The card
   is border-box, so widening the left border keeps its 940px footprint. */
body.home .hero .demo{border-left:18px solid transparent;background-image:linear-gradient(#0e1a15,#0e1a15),linear-gradient(180deg,#2BD8D8 0%,#22C55E 42%,#EAF7F0 100%);background-origin:border-box;background-clip:padding-box,border-box}

/* Featured case-study card (Carbon Edge), under the pricing pull-quote.
   Ring width and colours sampled directly from the reference: 9px, running
   cyan #2BB7DA at top-left, turquoise #1DE4C7 across the top, green #0DC591
   at top-right, then fading through to dark teal #014840 at bottom-right. */
body.home .cs-feature{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);max-width:1000px;margin:0 auto;border:9px solid transparent;border-radius:26px;overflow:hidden;text-align:left;background-image:linear-gradient(160deg,#00221E 0%,#002C24 52%,#00221E 100%),linear-gradient(135deg,#2BB7DA 0%,#1DE4C7 20%,#0DC591 40%,#1C8A57 57%,#065044 78%,#014840 100%);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 34px 80px -44px rgba(0,40,32,.55)}
body.home .cs-feature .cs-shot{background:#0d0d0d}
body.home .cs-feature .cs-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
body.home .cs-feature .cs-body{padding:28px 30px;display:flex;flex-direction:column;gap:15px}
body.home .cs-feature .cs-logo{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;font-weight:600;font-size:.9rem;color:#EAF2EE;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 14px 6px 7px}
body.home .cs-feature .cs-logo img{width:26px;height:26px;border-radius:50%;object-fit:cover}
body.home .cs-feature .cs-quote{margin:0;font-size:1.04rem;line-height:1.62;color:rgba(234,242,238,.88)}
body.home .cs-feature .cs-quote::before{content:"\201C"}
body.home .cs-feature .cs-quote::after{content:"\201D"}
body.home .cs-feature .cs-person{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
body.home .cs-feature .cs-av{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
body.home .cs-feature .cs-who{display:flex;flex-direction:column;line-height:1.34}
body.home .cs-feature .cs-who b{font-size:.97rem;color:#F4F8F7}
body.home .cs-feature .cs-who i{font-style:normal;font-size:.79rem;color:rgba(234,242,238,.62)}
body.home .cs-feature .cs-who s{text-decoration:none;color:rgba(234,242,238,.3);margin:0 5px}
body.home .cs-feature .cs-metric{margin-left:auto;text-align:right;font-size:.76rem;color:rgba(234,242,238,.6);line-height:1.3}
body.home .cs-feature .cs-metric b{display:block;font-size:1.1rem;color:#1DE4C7}
body.home .cs-feature .cs-link{align-self:flex-end;font-size:.85rem;font-weight:600;color:#1DE4C7;text-decoration:none}
body.home .cs-feature .cs-link:hover{text-decoration:underline}
@media(max-width:860px){body.home .cs-feature{grid-template-columns:1fr;max-width:560px;border-width:7px;border-radius:22px}body.home .cs-feature .cs-shot{aspect-ratio:16/10}body.home .cs-feature .cs-body{padding:24px}}

/* Closing mid-page CTA gets the same 9px sampled gradient ring as the
   featured case-study card, over its existing dark gradient body. */
body.home .mid-cta{border:9px solid transparent;border-radius:24px;background-image:linear-gradient(120deg,var(--dark),var(--dark-2)),linear-gradient(135deg,#2BB7DA 0%,#1DE4C7 20%,#0DC591 40%,#1C8A57 57%,#065044 78%,#014840 100%);background-origin:border-box;background-clip:padding-box,border-box}
@media(max-width:860px){body.home .mid-cta{border-width:7px;border-radius:20px}}

/* kit.css */
/* ===========================================================================
   InstaWP UI KIT — single source of component truth (green-skin)
   Load AFTER page styles. Two parts:
     1) tokens + canonical .k- classes (for new builds + ui-kit.html)
     2) NORMALIZATION LAYER — re-skins existing selectors to kit values,
        zero markup churn. One radius scale, one shadow family, one chip.
   =========================================================================== */

:root{
  /* ---- radius scale (the only rect radii allowed) ---- */
  --r-xs:8px;      /* rows · fields · micro-tiles · small chips-rect */
  --r-ic:10px;     /* icon tiles */
  --r-md:12px;     /* inner tiles · visual canvases · windows-in-windows */
  --r-lg:16px;     /* cards (the default surface) */
  --r-xl:20px;     /* large feature surfaces / stages */
  --r-pill:100px;  /* chips · badges · toggles */

  /* ---- elevation (one family, cool ink) ---- */
  --e1:0 1px 2px rgba(14,23,38,.04),0 10px 26px -16px rgba(14,23,38,.14);
  --e2:0 2px 4px rgba(14,23,38,.05),0 20px 48px -28px rgba(14,23,38,.24);
  --e3:0 4px 8px rgba(14,23,38,.06),0 34px 76px -34px rgba(14,23,38,.34);
  --ed2:0 24px 60px -28px rgba(0,0,0,.5);
  --ed3:0 50px 100px -40px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.06);
  --glow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(11,168,109,.25),0 10px 24px -8px rgba(17,191,133,.55);

  /* ---- surfaces ---- */
  --surf-card:#FFFFFF;
  --surf-canvas:radial-gradient(rgba(14,23,38,.05) 1px,transparent 1px) 0 0/18px 18px,linear-gradient(180deg,#F1F6F3,#F8FBFA);
  --surf-canvas-br:#E0E8E4;
  --surf-dark:#0E1A15;
  --surf-dark-br:rgba(255,255,255,.12);

  /* ---- icon tiles ---- */
  --ic-sm:28px;--ic-md:38px;

  /* ---- semantic accents (kit owns these; pages inherit) ---- */
  --pain:#E0584C;--pain-tint:#FBF4F2;--pain-border:#F0DAD4;--plasma-deep:#005E54;
}

/* ============================ 1 · CANONICAL KIT ============================ */
/* card — the default container */
.k-card{background:var(--surf-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:26px;box-shadow:var(--e1)}
.k-card.hoverable{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.k-card.hoverable:hover{transform:translateY(-2px);border-color:rgba(17,191,133,.35);box-shadow:var(--e2)}
/* large feature surface */
.k-surface{background:var(--surf-card);border:1px solid var(--border);border-radius:var(--r-xl);padding:30px;box-shadow:var(--e2)}
/* dark panel */
.k-card-dark{background:var(--surf-dark);border:1px solid var(--surf-dark-br);border-radius:var(--r-lg);padding:26px;box-shadow:var(--ed2);color:var(--dark-ink)}
/* inner illustration canvas (the dotted product surface) */
.k-canvas{background:var(--surf-canvas);border:1px solid var(--surf-canvas-br);border-radius:var(--r-md);padding:18px}
/* chip — mono pill (categories, specs) */
.k-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surf-card);font-family:var(--mono);font-size:.72rem;font-weight:500;color:var(--body)}
.k-chip svg{width:13px;height:13px;color:var(--green-deep)}
/* status badge — the only status treatment */
.k-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.k-badge.live{background:var(--green-tint);color:var(--green-deep)}
.k-badge.soon{background:#FBF3E6;color:var(--amber-deep)}
.k-badge.brand{background:var(--green-tint);color:var(--green-deep)}
/* icon tile */
.k-ic{flex:none;width:var(--ic-md);height:var(--ic-md);border-radius:var(--r-ic);background:var(--green-tint);color:var(--green-deep);display:inline-flex;align-items:center;justify-content:center}
.k-ic svg{width:19px;height:19px}
.k-ic.sm{width:var(--ic-sm);height:var(--ic-sm);border-radius:var(--r-xs)}
.k-ic.sm svg{width:14px;height:14px}
.k-ic.plasma{background:var(--plasma-tint);color:var(--plasma)}
/* field */
.k-field{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-xs);padding:11px 14px;font-family:var(--mono);font-size:.9rem;color:var(--heading)}


/* ---- type utilities (see typography.html — the type law) ---- */
.k-display{font-family:var(--font);font-weight:800;font-size:clamp(2.7rem,6vw,4.6rem);line-height:1.05;letter-spacing:-.035em;color:var(--heading);text-wrap:balance}
.k-h2{font-family:var(--font);font-weight:800;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12;letter-spacing:-.025em;color:var(--heading);text-wrap:balance}
.k-h3{font-family:var(--font);font-weight:800;font-size:1.22rem;line-height:1.25;letter-spacing:-.02em;color:var(--heading)}
.k-lede{font-size:1.12rem;line-height:1.6;color:var(--body);text-wrap:pretty}
.k-mono-md{font-family:var(--mono);font-size:.8rem;font-weight:500;color:var(--body)}
.k-mono-sm{font-family:var(--mono);font-size:.72rem;font-weight:500;color:var(--muted)}
.k-mono-xs{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.k-num{font-variant-numeric:tabular-nums}
.on-dark .k-display,.on-dark .k-h2,.on-dark .k-h3{color:#F4F8F7}
.on-dark .k-lede{color:var(--dark-body)}


/* ==================== 1b · EXTENDED COMPONENTS (full element vocabulary) ====================
   Canonical versions of every element family used on index/pricing/blog.
   Legacy mapping noted per component on ui-kit.html. */
/* announce pill — hero news (dot pulse lives in page CSS, kit is static) */
.k-announce{display:inline-flex;align-items:center;gap:9px;padding:6px 14px 6px 12px;border-radius:var(--r-pill);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font-size:.84rem;color:#EAF2EE}
.k-announce .dot{width:7px;height:7px;border-radius:50%;background:var(--green-x)}
.k-announce .arr{color:var(--green-x)}
/* workflow step — numbered chip + two-line label (flow-spine) */
.k-step{display:inline-flex;align-items:center;gap:11px;padding:10px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surf-card)}
.k-step .n{flex:none;width:24px;height:24px;border-radius:var(--r-xs);display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.74rem;font-weight:700;color:#042A1C;background:var(--green-bright)}
.k-step .tx{display:flex;flex-direction:column;line-height:1.16;text-align:left}
.k-step .tx b{font-weight:600;font-size:.95rem;color:var(--heading)}
.k-step .tx span{font-family:var(--mono);font-size:.71rem;color:var(--muted)}
/* status pill — live / sandbox / neutral (po-pill, st-live/park/test, plan chips) */
.k-status{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill);white-space:nowrap}
.k-status i{width:6px;height:6px;border-radius:50%;background:currentColor}
.k-status.live{background:rgba(17,191,133,.12);color:var(--green-deep)}
.k-status.sandbox{background:rgba(224,138,30,.13);color:var(--amber-deep,#9C5304)}
.k-status.neutral{background:#EEF1F5;color:var(--muted)}
.on-dark .k-status.live,.k-status.dark-live{background:rgba(43,232,166,.14);color:var(--green-x);border:1px solid rgba(43,232,166,.4)}
/* tooltip — info icon + dark popover (pricing matrix) */
.k-tip{position:relative;display:inline-flex;cursor:help}
.k-tip>i{font-style:normal;font-family:var(--font);font-size:.6rem;font-weight:700;line-height:1;color:var(--muted);width:14px;height:14px;border:1px solid var(--border);border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.k-tip:hover>i{color:var(--green-deep);border-color:var(--green)}
.k-tipbox{position:absolute;bottom:calc(100% + 10px);left:50%;width:214px;background:var(--dark);color:var(--dark-ink);font-family:var(--font);font-size:.76rem;font-weight:400;line-height:1.4;padding:10px 13px;border-radius:var(--r-md);box-shadow:var(--ed2);opacity:0;visibility:hidden;transform:translateX(-50%) translateY(5px);transition:opacity .16s,transform .16s,visibility .16s;z-index:40;pointer-events:none;text-transform:none;letter-spacing:0}
.k-tipbox::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--dark)}
.k-tip:hover .k-tipbox{opacity:1;visibility:visible;transform:translateX(-50%)}
/* toggle — sandbox→production switch */
.k-toggle{display:inline-flex;align-items:center;gap:10px;padding:6px 9px 6px 13px;border-radius:var(--r-pill);background:rgba(12,20,16,.88);border:1px solid rgba(255,255,255,.12)}
.k-toggle .lb{font-family:var(--mono);font-size:.64rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--amber-x,#F2B25A)}
.k-toggle .sw{width:36px;height:20px;border-radius:11px;background:rgba(224,138,30,.55);position:relative;flex:none}
.k-toggle .sw i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .3s}
.k-toggle.prod .lb{color:var(--green-x)}
.k-toggle.prod .sw{background:var(--green-bright)}
.k-toggle.prod .sw i{transform:translateX(16px)}
/* browser bar + window (demo frame, WaaS windows) */
.k-window{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);background:var(--surf-card);box-shadow:var(--e1)}
.k-winbar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#FBFCFE;border-bottom:1px solid var(--border-2)}
.k-winbar .d{width:9px;height:9px;border-radius:50%;background:#E2E8F0}
.k-url{margin-left:6px;flex:1;display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px;border-radius:var(--r-xs);background:var(--bg);border:1px solid var(--border-2);font-family:var(--mono);font-size:.72rem;color:var(--muted)}
.k-url.live{border-color:rgba(17,191,133,.45);color:var(--heading)}
.k-url .lock{width:11px;height:11px;flex:none;color:var(--green)}
.k-window.dark{background:var(--surf-dark);border-color:var(--surf-dark-br);box-shadow:var(--ed2)}
.k-window.dark .k-winbar{background:rgba(255,255,255,.03);border-bottom-color:rgba(255,255,255,.07)}
.k-window.dark .k-winbar .d{background:rgba(255,255,255,.16)}
.k-window.dark .k-url{background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.07);color:rgba(234,242,238,.8)}
/* terminal block */
.k-term{border-radius:var(--r-md);background:#0A1110;border:1px solid var(--surf-dark-br);box-shadow:var(--ed2);font-family:var(--mono);font-size:.76rem;line-height:1.9;padding:16px 18px;color:rgba(234,242,238,.62)}
.k-term .ln b{color:var(--green-x);font-weight:600}
.k-term .ln .c{color:rgba(234,242,238,.34)}
.k-term .ok{color:var(--green-x)}
/* chat bubble — agent conversation (InstaMCP card) */
.k-chat{border-radius:var(--r-md);background:var(--surf-card);border:1px solid var(--border);padding:14px 16px;box-shadow:var(--e1)}
.k-chat .q{color:var(--heading);background:var(--green-tint);border-radius:var(--r-xs);padding:9px 12px;font-size:.84rem}
.k-chat .a{margin-top:10px;color:var(--body);font-family:var(--mono);font-size:.72rem;line-height:1.7}
.k-chat .a .ok{color:var(--green-deep)}
/* list/bill row — name · status · value (meter, manage rows) */
.k-listrow{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 16px;border:1px solid var(--border-2);border-radius:var(--r-xs);background:var(--surf-card)}
.k-listrow .nm{font-family:var(--mono);font-size:.78rem;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-listrow .val{font-family:var(--mono);font-weight:700;font-size:.8rem;color:var(--heading);font-variant-numeric:tabular-nums}
/* checklist item (every-plan grid) */
.k-check{display:flex;gap:12px;align-items:flex-start}
.k-check .ck{flex:none;width:22px;height:22px;border-radius:var(--r-xs);background:var(--green-tint);color:var(--green-deep);display:flex;align-items:center;justify-content:center;margin-top:1px}
.k-check .ck svg{width:13px;height:13px}
.k-check .t{font-size:.9rem;color:var(--heading);font-weight:600;line-height:1.3}
.k-check .d{font-size:.82rem;color:var(--muted);margin-top:3px;line-height:1.4}
/* callouts (blog) */
.k-callout{border-radius:var(--r-md);padding:14px 18px;font-size:.92rem;line-height:1.6;border:1px solid;display:flex;gap:11px;align-items:flex-start}
.k-callout b{font-weight:700}
.k-callout.tip{background:var(--green-tint);border-color:rgba(17,191,133,.25);color:var(--green-deep)}
.k-callout.warn{background:#FBF3E6;border-color:rgba(224,138,30,.3);color:var(--amber-deep,#9C5304)}
.k-callout.ai{background:var(--plasma-tint);border-color:rgba(0,94,84,.22);color:var(--plasma)}
/* faq accordion */
.k-faq{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:4px 0}
.k-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;font-weight:600;color:var(--heading);font-size:.98rem}
.k-faq summary::after{content:"+";font-family:var(--mono);color:var(--muted);font-size:1rem}
.k-faq[open] summary::after{content:"−"}
.k-faq .bd{padding:0 20px 16px;font-size:.88rem;color:var(--body);line-height:1.6}
/* filter pill (blog) */
.k-pill{display:inline-flex;align-items:center;padding:7px 15px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surf-card);font-size:.84rem;font-weight:500;color:var(--body);cursor:pointer;transition:border-color .15s,color .15s}
.k-pill:hover{border-color:rgba(17,191,133,.4);color:var(--heading)}
.k-pill.on{background:var(--dark);border-color:var(--dark);color:#EAF2EE}
/* pager */
.k-pager{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.78rem}
.k-pager a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:var(--r-xs);border:1px solid var(--border);background:var(--surf-card);color:var(--body)}
.k-pager a:hover{border-color:rgba(17,191,133,.4);color:var(--heading)}
.k-pager a.on{background:var(--green-bright);border-color:var(--green-bright);color:#042A1C;font-weight:700}
/* breadcrumb */
.k-crumb{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.74rem;color:var(--muted)}
.k-crumb a:hover{color:var(--green-deep)}
.k-crumb .sep{opacity:.5}
.k-crumb .here{color:var(--heading)}
/* proof stat */
.k-stat{font-family:var(--mono);font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}
.k-stat b{color:var(--heading);font-weight:600}
/* arrow link */
.k-link{font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--green-deep)}
.k-link:hover{color:var(--green)}
/* dark CTA banner (mid-cta) */
.k-banner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:24px 28px;border-radius:var(--r-lg);background:linear-gradient(120deg,var(--dark),var(--dark-2,#112019))}
.k-banner::before{content:'';position:absolute;width:460px;height:240px;top:-120px;right:-70px;border-radius:50%;filter:blur(64px);background:radial-gradient(circle,rgba(43,232,166,.26),transparent 70%);pointer-events:none}
.k-banner .tx{position:relative;display:flex;flex-direction:column;gap:4px}
.k-banner .tx b{font-weight:800;font-size:1.2rem;letter-spacing:-.02em;color:#F4F8F7}
.k-banner .tx span{font-family:var(--mono);font-size:.76rem;color:var(--dark-body,rgba(234,242,238,.62))}
.k-banner .act{position:relative;display:flex;align-items:center;gap:18px}
/* tinted accent band (sandbox bar) */
.k-band{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:linear-gradient(100deg,rgba(224,138,30,.06),var(--surf-card) 60%);border:1px solid rgba(224,138,30,.26);border-radius:var(--r-lg);padding:22px 26px}
/* amber action (sandbox CTA) */
.btn-amber{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:var(--r-md);border:0;background:#F5921A;color:#2A1705;font-weight:700;font-size:.94rem;white-space:nowrap;font-family:var(--font);cursor:pointer;box-shadow:0 1px 2px rgba(245,146,26,.32),0 10px 24px -8px rgba(245,146,26,.55);transition:background .2s,transform .18s}
.btn-amber:hover{background:#FFA02A;transform:translateY(-1px)}

/* ========================= 2 · NORMALIZATION LAYER ========================= */
/* ---- cards → r-lg + e1 (hover e2, lift −2px) ---- */
.uc-sec .spot,.sec05 .beat,.sec03 .mid-cta,.cmp,.sec05 .mail,.uc-sec .uc-partner{border-radius:var(--r-lg)}
.uc-sec .spot,.sec05 .beat.react{box-shadow:var(--e1)}
.sec05 .beat.proact{box-shadow:var(--ed2)}
.sec05 .beat.proact:hover{box-shadow:var(--ed2)}
.cmp{box-shadow:var(--e2)}
.uc-sec .spot:hover,.sec05 .beat:hover{transform:translateY(-2px);border-color:rgba(17,191,133,.35);box-shadow:var(--e2)}
/* dark cards */
.demo,.crd{border-radius:var(--r-lg)}
.demo{box-shadow:var(--ed3)}
/* ---- large surfaces → r-xl + e2 (panel === stage; agents panel is the dark one → ed2) ---- */
.panel,.sec06 .stage{border-radius:var(--r-xl)}
.panel,.panel.humans,.sec06 .stage{box-shadow:var(--e2)}
.panel.agents{box-shadow:var(--ed2)}
.panel:hover,.panel.humans:hover{transform:translateY(-2px);box-shadow:var(--e3)}
.panel.agents:hover{box-shadow:var(--ed2)}
.sec06 .win{box-shadow:var(--e1)}
.sec06 .win:hover{transform:translateY(-2px);border-color:rgba(17,191,133,.35);box-shadow:var(--e2)}
/* ---- inner tiles & windows → r-md ---- */
.uc-sec .spot-vis,.uc-sec .syn-box,.uc-sec .mig-from,.uc-sec .mig-to,.uc-sec .tpl-bp,.sec05 .sent-row,.sec06 .win,.panel-ic,.sec03 .po-pill,.sec05 .mmsg.reply,.uc-sec .bub{border-radius:var(--r-md)}
.uc-sec .bub.user{border-bottom-right-radius:var(--r-xs)}
.uc-sec .bub.bot{border-bottom-left-radius:var(--r-xs)}
.uc-sec .tpl-bp{box-shadow:var(--e1)}
/* ---- micro rows / fields / shots → r-xs ---- */
.crd .field,.crd .chips span,.uc-sec .mng-r,.uc-sec .syn-diff,.sec05 .mail-bar .ch,.sec05 .sent-row .si,.uc-sec .mng-btn,.uc-sec .syn-diff .ic,.sec03 .po-pill .pi,.flow-spine .fs-n,.sec03 .feat-pts .ck,.incl .ck{border-radius:var(--r-xs)}
/* ---- legacy sweep: demo/hero internals on-scale ---- */
.ic-tile,.dmo-card,.bk-point,.sh-row,.mega-rail{border-radius:var(--r-md)}
.navlink,.acc-bd a{border-radius:var(--r-xs)}
/* ---- icon tiles → r-ic ---- */
.tool .ti,.uc-sec .tpl-bp .ic{border-radius:var(--r-ic)}
/* ---- tags & badges → one pill language ---- */
.badge,.sec03 .vis-cap .badge,.uc-sec .badge-brand,.uc-sec .badge-soon,.sec05 .beat-tag,.uc-sec .mng-r .tag,.uc-sec .tpl-chips span,.uc-sec .spot-tags span{border-radius:var(--r-pill);letter-spacing:.08em;font-weight:600}
/* ---- buttons → r-md (12, matches sec07) ---- */
.btn,.drawer-cta .login,.sec06 .rsl-cta,.uc-sec .uc-foot a{border-radius:var(--r-md)}
/* ---- primary CTA glow consolidated ---- */
.btn-primary{box-shadow:var(--glow)}

/* dark-band guard: hovers stay calm (no decorative motion beyond lift) */
@media(prefers-reduced-motion:reduce){
  .k-card.hoverable:hover,.uc-sec .spot:hover,.sec05 .beat:hover,.panel:hover,.panel.humans:hover,.sec06 .win:hover{transform:none}
}

/* ===== cross-page normalization: pricing · platform · feature · blog ===== */
/* cards → r-lg (+ e1 for floating cards; bands stay flat) */
.uc-card,.door,.cloud-card,.sandbox-bar{border-radius:var(--r-lg)}
.uc-card,.door,.cloud-card{box-shadow:var(--e1)}
/* big surface → r-xl + e2 */
.pmtx{border-radius:var(--r-xl);box-shadow:var(--e2)}
/* windows · stages · terminals · faq item · tooltip · search → r-md */
.pm-stage,.mig-strip,.proofline .pf,.term,.demo-succ,.wf-box .cmp,.pmtx .tipbox,.faq-i,.search{border-radius:var(--r-md)}
/* icon tiles → r-ic */
.incl2 .it .ico,.uc-ic,.bprow .bi{border-radius:var(--r-ic)}
/* micro · fields · check tiles · social → r-xs */
.incl-grid .ic .ck,.wf-tag .n,.news .nw-form input,.search .clear,.author-social a,.foot-social a{border-radius:var(--r-xs)}
/* tags & badges → pill */
.cloud-card .cc-tag,.ov-new,.ov-soon,.ml-live,.ml-soon,.foot-col .tag,.cat-pill{border-radius:var(--r-pill)}

/* ===== blog article components (blog-detail inline) ===== */
.recap{border-radius:var(--r-lg)}
.callout,.toc{border-radius:var(--r-md)}
.rcard .thumb{border-radius:var(--r-md)}
.code-bar .lang,.callout.ai .co-badge{border-radius:var(--r-pill)}
.callout .co-ic{border-radius:var(--r-ic)}
.copy,details.faq summary .q-ic{border-radius:var(--r-xs)}

/* ===== #7 · canonical mobile section-padding guard =====
   Standard marketing pages keep their full 132px desktop section rhythm on
   phones today (no guard), leaving ~264px dead gaps. This single rule tightens
   the section rhythm under 600px. The `body ` prefix lifts specificity to 0,0,1,1
   so it beats each page's inline `.pr-sec{padding:132px 0}` regardless of source
   order. Targets ONLY the standard section classes — the bespoke editorial pages
   (.ap-hero/.cv-page/.pv-page, agency-program/reselling/about/platform) use none
   of these, so their intentional clamp rhythm is untouched. */
@media(max-width:600px){
  body .fhero{padding:96px 0 56px}
  body .ahero{padding:96px 0 56px}
  body .pr-sec{padding:78px 0}
  body .pr-cta{padding:88px 0 80px}
}

/* ============ Agency proof wall (uniform monochrome logo board, 2 balanced rows) ============ */
.ag-strip{background:var(--dark,#0B1410);padding:64px 0;position:relative}
.ag-strip .wrap{max-width:1200px}
.ag-board{background:#F5F8F6;border-radius:22px;padding:44px 46px;box-shadow:0 24px 60px -28px rgba(0,0,0,.55)}
.ag-strip-label{display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#5d6e65;margin:0 0 30px}
.ag-strip-label .dot{width:6px;height:6px;border-radius:50%;background:var(--green-bright,#11BF85);flex:none}
.ag-row{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:22px 30px;margin-bottom:30px}
.ag-row:last-child{margin-bottom:0}
.ag-row img{height:23px;width:auto;display:block;filter:brightness(0);opacity:.5;transition:opacity .2s,filter .2s}
.ag-row img:hover{opacity:1;filter:none}
.ag-row img[data-wide]{height:18px}
.ag-row img[data-chip]{height:31px;filter:grayscale(1);opacity:.74}
@media(max-width:980px){.ag-row{flex-wrap:wrap;gap:20px 26px}}
@media(max-width:680px){.ag-strip{padding:46px 0}.ag-board{padding:30px 20px;border-radius:16px}.ag-row{gap:18px 22px;margin-bottom:22px}.ag-row img{height:20px}.ag-row img[data-chip]{height:27px}}

/* ===== proofstrip — shared proof / number band =====================================
   Promoted from per-page <style> blocks (17 pages) 2026-07-01. Default = 4-col, 36px
   cells, 1.85rem value. Modifiers (add to the .proofstrip element): .cols-5 (5-col),
   .v17 (1.7rem value), .v15 (1.5rem value), .l6 (label margin-top 6px), .llh (label
   line-height 1.4). See DESIGN.md §5 + DESIGN-DRIFT-REPORT.md. */
.proofstrip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--white)}
.proofstrip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:var(--maxw)}
.proofstrip .ps{padding:36px 18px;text-align:center;border-left:1px solid var(--border-2)}
.proofstrip .ps:first-child{border-left:none}
.proofstrip .v{font-size:1.85rem;font-weight:800;letter-spacing:-.02em;color:var(--heading)}
.proofstrip .v small{font-family:var(--mono);font-size:.6rem;font-weight:500;color:var(--muted)}
.proofstrip .l{font-family:var(--mono);font-size:.66rem;color:var(--muted);margin-top:4px}
.proofstrip.cols-5 .wrap{grid-template-columns:repeat(5,1fr)}
.proofstrip.v17 .v{font-size:1.7rem}
.proofstrip.v15 .v{font-size:1.5rem;line-height:1.15}
.proofstrip.l6 .l{margin-top:6px}
.proofstrip.llh .l{line-height:1.4}
@media(max-width:700px){.proofstrip .wrap,.proofstrip.cols-5 .wrap{grid-template-columns:repeat(2,1fr)}.proofstrip .ps:nth-child(odd){border-left:none}.proofstrip.cols-5 .ps:nth-child(5){grid-column:1/-1}}

/* ===== explore grid — "Explore the platform" cards + whole-platform / AI band =======
   Promoted from per-page <style> (13 feature pages) 2026-07-01. Modifier: .mt7 on the
   .fgrid bumps card-paragraph margin-top to 7px (snapshots/templates/waas). ai-features
   keeps a local copy (divergent 14px radius + hover shadow — revisit in normalize pass).
   See DESIGN-DRIFT-REPORT.md. */
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:14px;max-width:var(--maxw);margin:0 auto}
.fcard{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;background:var(--white);box-shadow:var(--e1);transition:border-color .15s,transform .15s,box-shadow .15s}
.fcard:hover{border-color:rgba(17,191,133,.45);transform:translateY(-2px);box-shadow:var(--e2)}
.fcard .fi{width:38px;height:38px;border-radius:10px;background:var(--tint);border:1px solid var(--border);color:var(--green-deep);display:flex;align-items:center;justify-content:center;flex:none}
.fcard .fi svg{width:20px;height:20px}
.fcard h4{font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--heading);display:flex;align-items:center;gap:7px}
.fcard h4 .ar{color:var(--green-deep);font-family:var(--mono);transition:transform .15s}
.fcard:hover h4 .ar{transform:translateX(3px)}
.fcard p{font-size:.83rem;color:var(--body);margin-top:4px;line-height:1.45}
.fcard.all{border-style:dashed}
.fgrid.mt7 .fcard p{margin-top:7px}
.fall{display:flex;align-items:center;gap:18px;margin-top:14px;padding:22px 26px;border:1px solid rgba(17,191,133,.3);border-radius:var(--r-lg);background:linear-gradient(120deg,var(--green-tint),var(--white) 70%);box-shadow:var(--e1);text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.fall:hover{border-color:rgba(17,191,133,.55);transform:translateY(-2px);box-shadow:var(--e2)}
.fall .fi{flex:none;width:46px;height:46px;border-radius:var(--r-md);background:var(--white);border:1px solid var(--border);color:var(--green-deep);display:flex;align-items:center;justify-content:center}
.fall .fi svg{width:24px;height:24px}
.fall .fall-tx{flex:1;min-width:0}
.fall .fall-tx h4{font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:var(--heading)}
.fall .fall-tx p{font-size:.9rem;color:var(--muted);margin-top:2px}
.fall .fall-go{flex:none;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.92rem;color:var(--green-deep);background:var(--white);border:1px solid rgba(17,191,133,.4);border-radius:var(--r-pill);padding:9px 16px;transition:gap .15s ease}
.fall:hover .fall-go{gap:12px}
.fall-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.fall-row .fall{margin-top:0}
.fall-ai{background:linear-gradient(120deg,rgba(17,191,133,.16),rgba(17,191,133,.04) 58%,var(--white))}
.fall-ai .fi{background:linear-gradient(135deg,var(--green-bright),var(--green-deep));border-color:transparent;color:#fff}
@media(max-width:760px){.fall-row{grid-template-columns:1fr}}
@media(max-width:620px){.fall{flex-direction:column;align-items:flex-start}.fall .fall-go{align-self:stretch;justify-content:center}}

/* ===== fr-row — alternating text / art section rows (core) ==========================
   Promoted from per-page <style> (9 feature pages) 2026-07-01. Page-specific extras stay
   inline where used: .fr-art .dv-term (terminal), .fr-k .live (badge), .fr-tx p code,
   .fr-art.dm-art-dark. portal.html keeps its own copy (bare .fr-art). See DRIFT-REPORT. */
.fr-row{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.fr-row:nth-child(even) .fr-tx{order:2}
.fr-row:nth-child(even) .fr-art{order:1}
.fr-k{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green-deep);font-weight:600;margin-bottom:16px}
.fr-k .ki{width:30px;height:30px;border-radius:var(--r-ic);background:var(--green-tint);color:var(--green-deep);display:flex;align-items:center;justify-content:center;flex:none}
.fr-k .ki svg{width:16px;height:16px}
.fr-k .kn{color:var(--muted)}
.fr-tx h3{font-size:1.62rem;font-weight:800;letter-spacing:-.025em;color:var(--heading);line-height:1.12}
.fr-tx p{font-size:1.02rem;color:var(--body);line-height:1.62;margin-top:14px;max-width:48ch}
.fr-specs{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.fr-specs span{font-family:var(--mono);font-size:.69rem;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-pill);padding:5px 11px}
.fr-art{position:relative;background:var(--surf-canvas);border:1px solid var(--surf-canvas-br);border-radius:var(--r-xl);box-shadow:var(--e1);min-height:300px;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.fr-tail{margin-top:70px;border-top:1px solid var(--border);padding-top:40px}
.fr-tail .tl-h{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
@media(max-width:860px){.fr-row{grid-template-columns:minmax(0,1fr);gap:28px}.fr-row>*{min-width:0}.fr-row:nth-child(even) .fr-tx{order:0}.fr-row:nth-child(even) .fr-art{order:0}}

/* ===== cmp — comparison / vs-table (NORMALIZED 2026-07-01) =========================
   Unified on the homepage's ✓/✗ dual-marker: green ✓ circle on the InstaWP column
   (.cmp-col.good), grey ✕ circle on each competitor cell (.cmp-col:not(.cmp-us)).
   Used by all marketing tables (feature pages, homepage, tastewp, integrations).
   Homepage keeps its 64px top gap via a 1-line inline override; blog.css .cmp is
   scoped to .post-body so blog posts keep their own table. See DESIGN.md §5.9. */
.cmp{margin-top:8px;background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--e2);max-width:980px;margin-left:auto;margin-right:auto}
.cmp-row{display:grid;grid-template-columns:1.7fr 1fr 1fr;align-items:center;padding:15px 24px;border-top:1px solid var(--border-2)}
.cmp-row:first-child{border-top:0}
.cmp-head{background:#FBFCFE;font-family:var(--mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.cmp-head .cmp-us{color:var(--green-deep)}
.cmp-feat{display:flex;align-items:center;gap:11px;font-weight:600;color:var(--heading);font-size:1rem}
.cmp-feat svg{width:18px;height:18px;color:var(--muted);flex:none}
.cmp-col{font-size:.94rem;color:var(--muted)}
.cmp-us{padding-left:18px;border-left:1px solid var(--border-2)}
.cmp-row:not(.cmp-head):hover{background:#FAFCFE}
.cmp-col.good{color:var(--green-deep);font-weight:600;display:flex;align-items:center;gap:8px}
.cmp-col.good::before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--green-bright);color:#042A1C;font-weight:700;font-size:.62rem;flex:none}
.cmp-row:not(.cmp-head) .cmp-col:not(.cmp-us):not(.good){display:flex;align-items:center;gap:8px}
.cmp-row:not(.cmp-head) .cmp-col:not(.cmp-us):not(.good)::before{content:'✕';display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#EEF1F5;color:#A6B0BC;font-weight:700;font-size:.6rem;flex:none}
@media(max-width:620px){.cmp-row{grid-template-columns:1.5fr .9fr .9fr;padding:13px 16px;font-size:.88rem}.cmp-feat{font-size:.9rem;gap:8px}.cmp-feat svg{display:none}}

/* ===== ahero — use-case LIGHT hero (canonical; was 4× inline copies) ================
   Agencies / AI Builders / Hosting Cos / Plugin-Theme Cos. Light green-tint→white
   hero, 2-col (copy + product-UI panel). Reads per-page accent tokens (--mp/--mbg).
   Normalized from 4 near-identical copies to one block (grid 1.02/.98, h1 max 3.7rem,
   sub 54ch — deltas were sub-perceptual). Mobile: single-col at 920px; the <600px
   padding guard lives in the #7 block above. Dark migration is a separate track. */
.ahero{background:linear-gradient(170deg,var(--mbg),#fff 78%);padding:144px 0 116px;position:relative;overflow:hidden}
.ahero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;max-width:var(--maxw)}
.ahero .crumb{font-family:var(--mono);font-size:.7rem;color:var(--muted);margin-bottom:16px}
.ahero .crumb a{color:var(--mp)}
.ahero h1{font-size:clamp(2.4rem,4.8vw,3.7rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;color:var(--heading)}
.ahero h1 .ac{color:var(--mp)}
.ahero .sub{font-size:1.16rem;color:var(--body);line-height:1.6;margin-top:24px;max-width:54ch}
.ahero .sub b{color:var(--heading);font-weight:700}
.ahero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
@media(max-width:920px){.ahero .wrap{grid-template-columns:1fr;gap:36px}}

/* hero-anim-aurora-drift.css */
/* ============================================================
   Hero — Aurora Drift ambient background motion
   Loaded after home.css; all selectors namespaced under .hero-bg,
   animating transform/opacity only. Re-colours and animates the
   three existing glow blobs (.g1/.g2/.g3) + dot-grid as a slow,
   wandering aurora. Honours prefers-reduced-motion (freezes flat).

   Tuning knobs:
     - brightness  -> gradient alphas in the "3-light aurora" block
     - travel      -> px values in the @keyframes paths
     - speed       -> animation durations on .g1/.g2/.g3 (22/26/30s)
   ============================================================ */

/* --- 3-light aurora: mint KEY (top) · cool indigo ACCENT (right) ·
   mint FLOOR (bottom-left). Multi-stop falloffs so the light fades
   like atmosphere instead of capping as solid blobs. All in one
   green->cyan family with a single restrained cool accent. --- */
.hero-bg .g{will-change:transform,opacity;filter:blur(54px)}

/* KEY — mint core melting through cyan into a long soft tail */
.hero-bg .g1{background:radial-gradient(ellipse at center,
  rgba(43,232,166,.55) 0%,
  rgba(52,207,227,.24) 38%,
  rgba(43,232,166,.08) 60%,
  transparent 78%)}

/* ACCENT — restrained cool indigo (was a loud isolated violet);
   low alpha so it reads as depth on the right, not a purple cloud */
.hero-bg .g2{background:radial-gradient(circle,
  rgba(99,132,255,.24) 0%,
  rgba(76,150,235,.08) 48%,
  transparent 72%)}

/* FLOOR — softer mint+cyan wash that lights the lower hero
   (demo / flow / proof) without flooding the left edge */
.hero-bg .g3{width:660px;height:560px;left:-150px;background:radial-gradient(circle,
  rgba(43,232,166,.24) 0%,
  rgba(52,207,227,.08) 50%,
  transparent 72%)}

/* g1 — mint/cyan KEY light. Keeps translateX(-50%) centering, then
   sweeps a wide horizontal arc across the top (left -> right) so the
   bright crown visibly travels above the headline, not just pulses. */
.hero-bg .g1{
  animation:ha-g1 22s ease-in-out infinite;
  transform-origin:50% 35%;
}
@keyframes ha-g1{
  0%   {transform:translateX(-50%) translate(0,-8px) scale(1.02);     opacity:.72}
  25%  {transform:translateX(-50%) translate(-150px,34px) scale(1.16);opacity:.9}
  50%  {transform:translateX(-50%) translate(40px,60px) scale(1.26);  opacity:1}
  75%  {transform:translateX(-50%) translate(165px,26px) scale(1.12); opacity:.86}
  100% {transform:translateX(-50%) translate(0,-8px) scale(1.02);     opacity:.72}
}

/* g2 — cool ACCENT, upper-right. Slides down the right flank and back
   on its own clock, so the cool light clearly drifts across the side. */
.hero-bg .g2{
  animation:ha-g2 26s ease-in-out infinite;
  transform-origin:70% 40%;
}
@keyframes ha-g2{
  0%   {transform:translate(0,0) scale(1);            opacity:.5}
  30%  {transform:translate(-130px,110px) scale(1.2); opacity:.95}
  55%  {transform:translate(-40px,210px) scale(1.08); opacity:1}
  80%  {transform:translate(80px,70px) scale(.9);     opacity:.6}
  100% {transform:translate(0,0) scale(1);            opacity:.5}
}

/* g3 — mint FLOOR, bottom-left. Travels along the bottom toward the
   centre and back, lighting different parts of the lower hero over time. */
.hero-bg .g3{
  animation:ha-g3 30s ease-in-out infinite;
  transform-origin:30% 70%;
}
@keyframes ha-g3{
  0%   {transform:translate(0,0) scale(1);            opacity:.58}
  30%  {transform:translate(180px,-70px) scale(1.18); opacity:.95}
  60%  {transform:translate(360px,-34px) scale(1.08); opacity:1}
  85%  {transform:translate(140px,22px) scale(.94);   opacity:.66}
  100% {transform:translate(0,0) scale(1);            opacity:.58}
}

/* Dot grid — visible parallax sway + shimmer. */
.hero-bg .grid{
  will-change:transform,opacity;
  animation:ha-grid 11s ease-in-out infinite;
}
@keyframes ha-grid{
  0%   {transform:translate3d(0,0,0) scale(1);            opacity:1}
  50%  {transform:translate3d(24px,-16px,0) scale(1.045); opacity:.5}
  100% {transform:translate3d(0,0,0) scale(1);            opacity:1}
}

@media (prefers-reduced-motion: reduce){
  .hero-bg .g1,
  .hero-bg .g2,
  .hero-bg .g3,
  .hero-bg .grid{animation:none}
  .hero-bg .g1{transform:translateX(-50%);opacity:.95}
  .hero-bg .g2{transform:none;opacity:.85}
  .hero-bg .g3{transform:none;opacity:.85}
  .hero-bg .grid{transform:none;opacity:1}
}

/* testimonials.css */
/* ============================================================
   testimonials.css - layouts for the testimonial component.
   Rendered by testimonials.js from testimonials.json into [data-tm] mounts.
   Uses the shared design tokens defined in style.css / kit.css.
   ============================================================ */

/* shared bits */
.tm-q{font-family:var(--font);font-size:.98rem;line-height:1.5;color:var(--heading);font-weight:500}
.tm-stars{display:inline-flex;gap:2px;color:var(--green-bright)}
.tm-stars svg{width:15px;height:15px;display:block}
.tm-mg{flex:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font);font-weight:700;font-size:.9rem}
.tm-av{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;display:block;background:var(--green-tint)}
/* brand-logo stand-in when a reviewer has no headshot: contain the mark, don't crop it */
.tm-lg{display:flex;align-items:center;justify-content:center;padding:5px;background:var(--white);box-shadow:inset 0 0 0 1px var(--border)}
.tm-lg img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.tm-mg-green{background:var(--green-tint);color:var(--green-deep)}
.tm-mg-amber{background:#FBEBD7;color:var(--amber-deep)}
.tm-mg-slate{background:#EEF1F5;color:#46566B}
.tm-chip,.tm-chiprow .tm-chip{display:inline-flex;align-items:center;font-family:var(--mono);font-size:.68rem;font-weight:600;color:var(--green-deep);background:var(--green-tint);border:1px solid rgba(11,168,109,.18);padding:4px 9px;border-radius:7px}
.tm-nm{font-family:var(--font);font-weight:700;font-size:.9rem;color:var(--heading);line-height:1.2}
.tm-rl{font-size:.78rem;color:var(--muted)}
.tm-story{display:inline-flex;align-items:center;gap:5px;margin-top:13px;font-size:.82rem;font-weight:600;color:var(--green-deep);text-decoration:none}
.tm-story span{transition:transform .15s}.tm-story:hover span{transform:translateX(3px)}
.tm-src{font-family:var(--mono);font-size:.58rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}

/* A - quote cards (3-col grid) */
.tm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tm-cards .tm-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:22px}
.tm-cards .tm-q{flex:1}
.tm-cards .tm-chiprow{margin:16px 0 14px}
.tm-cards .tm-who{display:flex;align-items:center;gap:11px;border-top:1px solid var(--border-2);padding-top:14px;margin-top:14px}
.tm-cards .tm-card:has(.tm-chiprow) .tm-who{margin-top:0}

/* B - featured flagship (self-dark split) */
.tm-flagship{display:grid;grid-template-columns:1.4fr .9fr;gap:30px;align-items:center;background:linear-gradient(120deg,#0B1410,#13211b);border-radius:18px;padding:38px 36px;color:var(--dark-ink)}
.tm-flagship:not(:has(.tm-flag-metric)){grid-template-columns:1fr}
.tm-flag-main{min-width:0}
.tm-flag-q{font-family:var(--font);font-size:1.5rem;line-height:1.32;font-weight:600;letter-spacing:-.01em;text-wrap:balance;color:var(--dark-ink)}
.tm-flag-who{display:flex;align-items:center;gap:12px;margin-top:22px}
.tm-flagship .tm-nm{color:#fff}.tm-flagship .tm-rl{color:var(--dark-body)}
.tm-flagship .tm-mg-green{background:rgba(43,232,166,.16);color:var(--green-x)}
.tm-flag-metric{text-align:center;background:rgba(43,232,166,.08);border:1px solid rgba(43,232,166,.22);border-radius:16px;padding:26px 18px}
.tm-flag-big{font-family:var(--font);font-size:2.9rem;font-weight:800;letter-spacing:-.03em;color:var(--green-x);line-height:1}
.tm-flag-cap{font-family:var(--mono);font-size:.7rem;color:var(--dark-body);margin-top:8px;text-transform:uppercase;letter-spacing:.06em}

/* C - metric-led cards */
.tm-metric{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tm-mcard{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:24px;border-top:3px solid var(--green-bright)}
.tm-big{font-family:var(--font);font-size:2.3rem;font-weight:800;letter-spacing:-.03em;color:var(--heading);line-height:1}
.tm-cap{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--green-deep);margin:7px 0 15px}
.tm-who2{margin-top:14px;font-size:.8rem;color:var(--muted)}.tm-who2 b{color:var(--heading)}

/* D - wall of love (masonry columns) */
.tm-wall{column-count:3;column-gap:16px}
.tm-wall .tm-wcard{break-inside:avoid;margin-bottom:16px;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:18px}
.tm-wall .tm-wcard.tp{background:#F4FBF7;border-color:rgba(17,191,133,.2)}
.tm-wall .tm-q{font-size:.9rem;margin:0 0 13px}
.tm-wall .tm-chiprow{margin-bottom:11px}
.tm-wall .tm-who{display:flex;align-items:center;gap:9px}

/* E - compact strip */
.tm-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--white)}
.tm-strip .tm-scard{padding:20px 22px}
.tm-strip .tm-scard + .tm-scard{border-left:1px solid var(--border-2)}
.tm-strip .tm-stars{margin-bottom:9px}
.tm-strip .tm-q{font-size:.92rem;line-height:1.45}
.tm-who3{margin-top:11px;font-size:.76rem;color:var(--muted)}.tm-who3 b{color:var(--heading)}
/* strip polish: initials avatar + decorative quote mark so cards are not flat (feedback 21816 / 21875) */
.tm-strip .tm-who3{display:flex;align-items:center;gap:10px;margin-top:14px}
.tm-strip .tm-who3 > div{min-width:0}
.tm-strip .tm-who3 b{display:block;line-height:1.25}
.tm-who3-l{display:block;font-size:.72rem;color:var(--muted)}
.tm-strip .tm-mg,.tm-strip .tm-av{width:36px;height:36px;font-size:.8rem}
.tm-strip .tm-scard{position:relative}
.tm-strip .tm-scard .tm-q{padding-top:16px}
.tm-strip .tm-scard .tm-q::before{content:'\201C';position:absolute;margin-top:-24px;margin-left:-2px;font-family:Georgia,serif;font-size:2.2rem;line-height:1;color:var(--green-x);opacity:.32}

/* F - inline pull-quote (editorial: big quote + hairline-rule attribution, no bar/avatar) */
.tm-inline{max-width:880px}
.tm-iq{font-family:var(--font);font-size:clamp(1.5rem,2.7vw,2rem);line-height:1.3;font-weight:600;letter-spacing:-.022em;color:var(--heading);text-wrap:balance}
.tm-hl{color:var(--green-deep)}
.tm-iat{display:flex;align-items:center;gap:11px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border);flex-wrap:wrap}
.tm-iat b{color:var(--heading);font-weight:700;font-size:.95rem}
.tm-idot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--green-bright)}
.tm-iav{width:42px;height:42px;box-shadow:0 0 0 2px var(--white),0 0 0 3px rgba(11,168,109,.22)}
.tm-irole{color:var(--muted);font-size:.86rem}
.tm-i-metric{margin-left:auto;font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--green-deep);background:var(--green-tint);border:1px solid rgba(11,168,109,.18);padding:5px 10px;border-radius:7px;white-space:nowrap}
.tm-inline.tm-on-dark .tm-iq{color:var(--dark-ink)}
.tm-inline.tm-on-dark .tm-hl{color:var(--green-x)}
.tm-inline.tm-on-dark .tm-iat{border-top-color:rgba(255,255,255,.14)}
.tm-inline.tm-on-dark .tm-iat b{color:#fff}
.tm-inline.tm-on-dark .tm-irole{color:var(--dark-body)}
.tm-inline.tm-on-dark .tm-idot{background:var(--green-x)}
.tm-inline.tm-on-dark .tm-iav{box-shadow:0 0 0 2px rgba(255,255,255,.14),0 0 0 3px rgba(43,232,166,.28)}
.tm-inline.tm-on-dark .tm-i-metric{color:var(--green-x);background:rgba(43,232,166,.1);border-color:rgba(43,232,166,.25)}

/* H - auto-advancing slider (N equal tiles per slide + dot controls) */
.tm-slider{position:relative}
.tm-sl-vp{overflow:hidden}
.tm-sl-track{display:flex;will-change:transform;transition:transform .55s cubic-bezier(.4,.02,.2,1)}
.tm-sl-slide{flex:0 0 100%;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
/* gradient boundary: the fill paints to the padding box, the gradient ring to the border box.
   Wide dark-to-bright sweep so it reads as a gradient, not as a flat teal border. */
.tm-sl-card{position:relative;display:flex;flex-direction:column;min-height:236px;padding:24px 22px 20px;border:3px solid transparent;border-radius:18px;
  background:linear-gradient(160deg,var(--white) 0%,var(--white) 46%,#EDFAF4 100%) padding-box,
             linear-gradient(135deg,var(--green-deep) 0%,var(--green-bright) 26%,var(--green-x) 50%,var(--cyan) 74%,var(--green-deep) 100%) border-box;
  box-shadow:0 2px 4px rgba(14,23,38,.05),0 16px 32px -22px rgba(10,122,80,.55)}
.tm-sl-card .tm-q{flex:1;font-size:.94rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.tm-qm{color:var(--green-bright);font-family:Georgia,serif;font-size:1.15em;line-height:0;vertical-align:-.14em}
.tm-sl-card .tm-chiprow{display:flex;align-items:center;min-height:26px;margin:14px 0 0}  /* always present so every tile is identical */
.tm-sl-card .tm-who3{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-2)}
.tm-sl-card .tm-who3 > div{min-width:0}
.tm-sl-card .tm-who3 b{display:block;line-height:1.25}
.tm-sl-card .tm-mg,.tm-sl-card .tm-av{width:38px;height:38px;font-size:.82rem}
.tm-sl-card .tm-story{margin-top:13px;font-size:.8rem}
.tm-sl-dots{display:flex;justify-content:center;gap:9px;margin-top:22px}
.tm-sl-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(10,122,80,.22);cursor:pointer;transition:width .25s,background .25s}
.tm-sl-dot:hover{background:rgba(10,122,80,.42)}
.tm-sl-dot.is-on{width:26px;border-radius:5px;background:linear-gradient(90deg,var(--green),var(--green-bright))}
.tm-sl-dot:focus-visible{outline:2px solid var(--green-deep);outline-offset:3px}

/* G - trustpilot review cards */
.tm-trustpilot{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tm-tpcard{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:18px}
.tm-tptop{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.tm-tpbadge{font-family:var(--mono);font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.tm-tpcard .tm-q{font-size:.92rem;margin-bottom:12px}

/* homepage testimonial bands (section wrappers) */
.tm-band{padding:38px 0;background:var(--bg)}
.tm-band-soft{background:var(--green-tint)}
.tm-band .tm-inline{margin:0 auto}
.tm-bandh{text-align:center;font-family:var(--font);font-weight:800;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.02em;color:var(--heading);margin-bottom:28px;text-wrap:balance}
.tm-bandsub{text-align:center;margin-top:22px}
.tm-bandsub a{color:var(--green-deep);font-weight:600;text-decoration:none}

@media(prefers-reduced-motion:reduce){
  .tm-sl-track{transition:none}
  .tm-sl-dot{transition:none}
}

@media(max-width:980px){ .tm-sl-slide{grid-template-columns:repeat(2,1fr)} }
@media(max-width:640px){
  .tm-sl-slide{grid-template-columns:1fr}
  .tm-sl-card{min-height:0}
  /* one card per slide means many more dots, so shrink and let them wrap */
  .tm-sl-dots{flex-wrap:wrap;gap:7px}
  .tm-sl-dot{width:7px;height:7px}
  .tm-sl-dot.is-on{width:20px}
}

@media(max-width:820px){
  .tm-cards,.tm-metric,.tm-trustpilot{grid-template-columns:1fr}
  .tm-strip{grid-template-columns:1fr}
  .tm-strip .tm-scard + .tm-scard{border-left:0;border-top:1px solid var(--border-2)}
  .tm-wall{column-count:1}
  .tm-flagship{grid-template-columns:1fr;padding:28px 24px}
  .tm-flag-q{font-size:1.28rem}
}

/* reviews-deck.css */
/* reviews-deck.css - stacked, clickable review deck (see assets/reviews-deck.js) */
.rvdeck{position:relative;max-width:var(--maxw);margin:0 auto;padding:0 44px}
.rvstage{position:relative;height:238px;overflow:hidden}
.rvcard{position:absolute;left:50%;top:50%;width:34%;box-sizing:border-box;padding:26px 24px;border:1px solid var(--border);border-radius:18px;background:var(--white);cursor:pointer;outline:none;transform:translate(-50%,-50%);transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .35s ease,box-shadow .35s ease,border-color .3s ease;will-change:transform}
.rvstars{display:flex;gap:3px;margin-bottom:12px}
.rvstars svg{width:15px;height:15px;fill:#11bf85}
.rvq{margin:0;font-size:1.02rem;line-height:1.5;color:var(--heading);font-weight:600;letter-spacing:-.01em}
.rvwho{display:flex;align-items:center;gap:11px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.rvav{width:42px;height:42px;flex:none;border-radius:50%;overflow:hidden;display:block;background:#eef2f0}
.rvav img{width:100%;height:100%;object-fit:cover;display:block}
.rvav-gen{display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,hsl(calc(160deg + var(--h)/9) 62% 52%),hsl(calc(186deg + var(--h)/7) 58% 42%));background-size:200% 200%;animation:rvshift 9s ease-in-out infinite}
.rvav-gen i{font-style:normal;font-weight:800;font-size:.86rem;letter-spacing:.02em;color:#fff}
@keyframes rvshift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.rvid{display:flex;flex-direction:column;min-width:0}
.rvid b{font-size:.94rem;color:var(--heading);line-height:1.25}
.rvid span{font-size:.78rem;color:#4f5966;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rvcard[data-off="0"]{transform:translate(-50%,-50%) scale(1);z-index:30;opacity:1;border-color:rgba(17,191,133,.85);box-shadow:0 34px 64px -30px rgba(8,15,30,.5)}
.rvcard[data-off="-1"]{transform:translate(-112%,-50%) scale(.88);z-index:20;opacity:.94;box-shadow:0 20px 40px -28px rgba(8,15,30,.45)}
.rvcard[data-off="1"]{transform:translate(12%,-50%) scale(.88);z-index:20;opacity:.94;box-shadow:0 20px 40px -28px rgba(8,15,30,.45)}
.rvcard[data-off="-2"]{transform:translate(-162%,-50%) scale(.78);z-index:10;opacity:.85}
.rvcard[data-off="2"]{transform:translate(62%,-50%) scale(.78);z-index:10;opacity:.85}
.rvcard[data-off="-3"]{transform:translate(-190%,-50%) scale(.7);z-index:1;opacity:0;pointer-events:none}
.rvcard[data-off="3"]{transform:translate(90%,-50%) scale(.7);z-index:1;opacity:0;pointer-events:none}
.rvcard:not([data-off="0"]):hover{opacity:1}
.rvcard:focus-visible{box-shadow:0 0 0 3px rgba(17,191,133,.3)}
.rvnav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--white);color:var(--heading);font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:40;transition:border-color .2s,box-shadow .2s,opacity .2s}
.rvnav:hover{border-color:rgba(17,191,133,.6);box-shadow:0 14px 30px -18px rgba(8,15,30,.5)}
.rvnav:disabled{opacity:.3;cursor:default;box-shadow:none}
.rvprev{left:0}.rvnext{right:0}
/* The dot stays 8px, but the BUTTON is a full 24x24 pointer target: the visible
   dot is drawn by ::before, so we meet WCAG 2.2 target-size without the row
   looking any heavier. Adjacent buttons are exactly 24px apart, so they do not
   overlap and do not need extra spacing. */
.rvdots{display:flex;justify-content:center;gap:0;margin-top:10px;flex-wrap:wrap}
.rvdot{width:24px;height:24px;padding:0;border:0;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;-webkit-appearance:none;appearance:none}
.rvdot::before{content:"";display:block;width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .25s,width .25s}
.rvdot.is-on::before{width:20px;border-radius:5px;background:rgba(17,191,133,.85)}
@media(max-width:960px){.rvstage{height:262px}.rvcard{width:46%}.rvcard[data-off="-1"]{transform:translate(-108%,-50%) scale(.86)}.rvcard[data-off="1"]{transform:translate(8%,-50%) scale(.86)}.rvcard[data-off="-2"],.rvcard[data-off="2"]{opacity:0;pointer-events:none}}
@media(max-width:640px){.rvdeck{padding:0 6px}.rvstage{height:290px}.rvcard{width:76%}.rvcard[data-off="-1"]{transform:translate(-96%,-50%) scale(.84)}.rvcard[data-off="1"]{transform:translate(-4%,-50%) scale(.84)}.rvnav{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.rvcard{transition:none}.rvav-gen{animation:none}}

/* rich variant - opt-in metric chip + case-study link (data-rv-metric / data-rv-story) */
.rvdeck.rv-rich .rvstage{height:344px}
.rvchiprow{display:flex;align-items:center;min-height:26px;margin:14px 0 0}
.rvchip{display:inline-flex;align-items:center;font-family:var(--mono);font-size:.68rem;font-weight:600;color:#0A6B45;background:var(--green-tint);border:1px solid rgba(11,168,109,.18);padding:4px 9px;border-radius:7px}
.rvstory{display:inline-flex;align-items:center;gap:5px;margin-top:13px;font-size:.8rem;font-weight:600;color:var(--green-deep);text-decoration:none}
.rvstory span{transition:transform .15s}
.rvstory:hover span{transform:translateX(3px)}
.rvcard:not([data-off="0"]) .rvstory{pointer-events:none}
@media(max-width:960px){.rvdeck.rv-rich .rvstage{height:400px}}
@media(max-width:640px){.rvdeck.rv-rich .rvstage{height:392px}}

