/* Med Spa Audit v2 preview: shared styles for the homepage and the growth review page.
   Lifted from storyboard/tools/storyboard-es.css (the approved Eight Sleep layout storyboard), storyboard chrome removed.
   Floors: body 18px, nothing under 16px, touch targets 44px, AA contrast. Fonts are local OFL files. */
@font-face{font-family:"Hanken Grotesk";src:url(/assets/v2/fonts/hanken-grotesk-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/assets/v2/fonts/barlow-condensed-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{color-scheme:light;--white:#FFFFFF;--mist:#F7F7F7;--mist2:#F6F6F6;--warm:#F9F8F7;--ink:#151514;--black:#000;--grey:#696765;--grey2:#8E8E8E;
--rule:rgba(21,21,20,.12);--tile:rgba(204,204,204,.4);--glass:rgba(34,38,45,.75);--pill-glass:rgba(255,255,255,.30);--chip:rgba(0,0,0,.08);
--blue:#1D5BF0;--navy:#14284A;--blush-a:#F7EAE1;--blush-b:#E9CDBE;--panel:#151513;
--font:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;--num:"Barlow Condensed","Arial Narrow",sans-serif;
--glass-shadow:inset 0 0 0 1.17px rgba(255,255,255,.14),1.3px 1.3px 41.8px rgba(0,0,0,.55)}
*{box-sizing:border-box}
html{scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font:400 18px/1.5 var(--font);letter-spacing:.16px;overflow-x:hidden}
img{max-width:100%;display:block}
.wrap{max-width:1440px;margin:0 auto;padding-inline:64px}
.caps{font:500 16px/1.3 var(--font);letter-spacing:1.6px;text-transform:uppercase}
.grey{color:var(--grey)}.small{font-size:16px;line-height:1.45;color:var(--grey);margin:12px 0 0}
.slot{color:var(--grey);font-style:italic}
.center{text-align:center}
h1,h2,h3{font-weight:500;margin:0}
.h72{font-size:72px;line-height:74px;letter-spacing:.72px}
.h64{font-size:64px;line-height:1.1;font-weight:400;letter-spacing:.64px}
.h56{font-size:56px;line-height:61.6px;font-weight:400;letter-spacing:.45px}
.h44{font-size:44px;line-height:48.4px;letter-spacing:.44px}
.h36{font-size:36px;line-height:39.6px;letter-spacing:.36px}
.h36q{font-size:36px;line-height:1.15;font-weight:400}
.h28{font-size:28px;line-height:30.8px;letter-spacing:.28px}
.body{font-size:18px;line-height:1.5;margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.on-dark a:focus-visible,.on-dark button:focus-visible,.on-dark input:focus-visible,.hero a:focus-visible,.hero button:focus-visible,.hero input:focus-visible,.closing a:focus-visible,.closing button:focus-visible,.closing input:focus-visible,.site-foot a:focus-visible{outline-color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-80px;z-index:50;background:var(--black);color:var(--white);padding:12px 20px;border-radius:8px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.skip:focus{top:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:8px;padding:16px 32px;font:400 17px/1 var(--font);text-decoration:none;border:0;cursor:pointer;
transition:background-color .2s ease-out,color .2s ease-out;white-space:nowrap}
.btn-black{background:var(--black);color:var(--white)}.btn-black:hover{background:linear-gradient(100deg,#1D5BF0,#5B8CFF);color:#fff}.btn-white:hover{background:linear-gradient(100deg,#1D5BF0,#5B8CFF);color:#fff}
.btn-white{background:var(--white);color:#0C0C14}.btn-white:hover{background:linear-gradient(100deg,#1D5BF0,#5B8CFF);color:#fff}
.btn.sm{padding:12px 24px;min-height:44px}.btn.wide{width:100%}
.ulink{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.ulink.light{color:var(--white)}
.caplink{display:inline-flex;align-items:center;min-height:44px;font:600 16px/1.3 var(--font);letter-spacing:1.6px;text-transform:uppercase;color:var(--blue);text-decoration:none}
.caplink:hover{text-decoration:underline;text-underline-offset:4px}
.pill{display:inline-block;background:var(--chip);border-radius:999px;padding:6px 14px;font-size:16px;line-height:1.2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.num{font:500 40px/1 var(--num);font-variant-numeric:tabular-nums}
.num small{font-size:18px;opacity:.78;margin-left:2px}
.num.empty::before{content:"\2013\2013"}

/* header: glass pill that docks to a white bar on scroll (0.3s ease-in-out) */
.site-head{position:fixed;inset:0 0 auto 0;z-index:20;pointer-events:none}
.site-head nav.pill{pointer-events:auto;margin:16px 32px 0;min-height:69px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px 0 24px;border-radius:10px;
background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(21,21,20,.06);
transition:margin .3s ease-in-out,border-radius .3s ease-in-out,background-color .3s ease-in-out}
.docked nav.pill{margin:0;border-radius:0;background:var(--white);box-shadow:0 1px 0 var(--rule)}
.links{display:flex;gap:8px;list-style:none;margin:0;padding:0}
.nav-phone{display:inline-flex;align-items:center;min-height:44px;padding-inline:10px;font:500 16px/1 var(--font);letter-spacing:1.6px;text-transform:uppercase;text-decoration:none;color:var(--ink);white-space:nowrap}
.nav-phone:hover{text-decoration:none}
.nav-phone{gap:8px}.np-ico{flex:none}
/* G 2026-10-28: the call link is a blue button beside the black Get audit button. */
.nav-phone{background:#1D5BF0;color:#fff;border-radius:8px;padding:12px 20px;letter-spacing:.4px;text-transform:none;font-weight:500;transition:background-color .2s ease-out,transform .2s ease-out}
.nav-phone:hover{background:#123A9C;color:#fff}.nav-phone .np-ico{stroke:currentColor}
/* G 2026-10-28: the phone number sits beside Get audit at every width. Tablet drops the word Call; phones keep a tap-to-call icon. */
@media (max-width:1279px){.np-call{display:none}.nav-phone{letter-spacing:.2px;padding-inline:14px}}
@media (max-width:1040px){.nav-right{gap:6px}.nav-right .links{display:none}.nav-phone{font-size:15px}}
@media (max-width:760px){.np-num{display:none}.nav-phone{min-width:44px;justify-content:center;padding-inline:0}.nav-phone .np-ico{width:20px;height:20px}}
.links a{display:inline-flex;align-items:center;min-height:44px;padding-inline:10px;font:500 16px/1 var(--font);letter-spacing:1.6px;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.links a:hover{text-decoration:underline;text-underline-offset:6px}
.mark{display:inline-flex;align-items:center;min-height:44px;font:600 18px/1 var(--font);letter-spacing:2px;text-decoration:none;color:var(--ink);justify-self:center}
.site-head nav.pill .btn{justify-self:end}
.menu{all:unset;display:none;box-sizing:border-box;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.menu i{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.menu[aria-expanded=true] i:first-child{transform:translateY(4px) rotate(45deg)}.menu[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu-panel{pointer-events:auto;display:none;margin:8px 12px 0;background:var(--white);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:8px 16px}
.menu-panel[hidden]{display:none}
.menu-panel ul{list-style:none;margin:0;padding:0}
.menu-panel a{display:flex;align-items:center;min-height:48px;font:500 16px/1 var(--font);letter-spacing:1.6px;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.menu-panel li+li{border-top:1px solid var(--rule)}
.docked .menu-panel{margin:0;border-radius:0 0 10px 10px}

/* bands */
.band{position:relative;overflow:hidden}
.t-light{background:var(--white)}.t-mist{background:var(--mist)}.t-warm{background:var(--warm)}
.t-dark{background:var(--panel);color:var(--white)}.t-grad{background:linear-gradient(180deg,var(--blush-a) 0%,#F0D9CB 55%,var(--blush-b) 100%)}
#s6{background:var(--mist2)}

/* draft image slots: tinted, art-directed gradient blocks, each one different */
.draft-chip{position:absolute;left:16px;bottom:16px;z-index:1;font-size:16px;line-height:1.2;color:var(--white);background:rgba(20,20,20,.72);border-radius:999px;padding:6px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}
.ph{position:relative;border-radius:16px;min-height:240px;overflow:hidden}
.g0{background:radial-gradient(70% 50% at 78% 14%,rgba(255,240,214,.5),transparent 70%),linear-gradient(170deg,#C9B8A6 0%,#9C8470 50%,#4E3E33 100%)}
.g1{background:radial-gradient(60% 40% at 20% 20%,rgba(235,244,255,.45),transparent 70%),linear-gradient(170deg,#9FB2C6 0%,#5F7893 55%,#25374C 100%)}
.g2{background:radial-gradient(50% 40% at 70% 30%,rgba(242,250,236,.5),transparent 70%),linear-gradient(170deg,#BFCDB9 0%,#7F9479 50%,#33432F 100%)}
.g3{background:radial-gradient(55% 45% at 82% 12%,rgba(255,244,214,.6),transparent 70%),linear-gradient(165deg,#E6D6B0 0%,#C4A66A 55%,#7C6330 100%)}
.g4{background:radial-gradient(50% 40% at 15% 22%,rgba(236,246,255,.5),transparent 70%),linear-gradient(165deg,#C7D3DF 0%,#8DA2B8 55%,#3E556E 100%)}
.g5{background:radial-gradient(60% 40% at 60% 8%,rgba(255,226,226,.55),transparent 70%),linear-gradient(165deg,#EBCFCB 0%,#C9908E 55%,#7E4A4C 100%)}
.g6{background:radial-gradient(55% 45% at 25% 15%,rgba(244,250,238,.5),transparent 70%),linear-gradient(165deg,#D2D6D1 0%,#A3AA9F 55%,#59614F 100%)}
.g7{background:radial-gradient(70% 50% at 50% 0%,rgba(255,252,244,.6),transparent 70%),linear-gradient(160deg,#E4DDD0 0%,#C2B8A6 55%,#8B8068 100%)}
.g8{background:radial-gradient(60% 40% at 80% 20%,rgba(255,244,230,.55),transparent 70%),linear-gradient(160deg,#E7D7CC 0%,#C8AE9C 55%,#8D6E5B 100%)}
.g9{background:radial-gradient(60% 40% at 20% 15%,rgba(238,246,252,.55),transparent 70%),linear-gradient(160deg,#CFDBE4 0%,#98AEC0 55%,#566F86 100%)}
.g10{background:radial-gradient(60% 40% at 50% 12%,rgba(246,250,240,.55),transparent 70%),linear-gradient(160deg,#D9DDD2 0%,#AAB29E 55%,#66705A 100%)}

/* 1 hero: sky gradient, giant soft headline, scorecard in front of it */
.hero{position:relative;min-height:960px;color:var(--white);display:flex;flex-direction:column;align-items:center;overflow:hidden}
.hero-photo{position:absolute;inset:0;background:linear-gradient(180deg,#4C77A0 0%,#476F99 28%,#3F6690 52%,#345A83 76%,#274A6E 100%)}
.ph img,.hero-photo img,.cl-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.hero-loop.is-on{opacity:1}
.cl-photo:has(.hero-loop)::after{background:linear-gradient(180deg,rgba(10,22,38,.5),rgba(10,22,38,.58))}
.hero-photo:has(.hero-loop)::after{background:linear-gradient(180deg,rgba(10,22,38,.34) 0%,rgba(10,22,38,.26) 45%,rgba(10,22,38,.28) 72%,rgba(10,22,38,.4) 100%)}
.hero-photo::after,.cl-photo::after{/*replaced below*/content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,22,38,.7) 0%,rgba(10,22,38,.64) 45%,rgba(10,22,38,.62) 72%,rgba(10,22,38,.7) 100%)}
.hero-photo img{object-position:50% 55%}
.hero-in{position:relative;z-index:1;width:100%;max-width:1312px;padding:200px 64px 128px;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-h{font-size:120px;line-height:.86;letter-spacing:-2.4px;font-weight:500;max-width:15ch;text-wrap:balance;color:var(--white);padding-bottom:.08em}

.glass{background:var(--glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);color:var(--white);border-radius:10px;box-shadow:var(--glass-shadow)}
.scorecard{width:min(520px,100%);padding:20px 22px;text-align:left;display:flex;flex-direction:column;gap:12px}
.hero-card{margin-top:20px;position:relative;z-index:2}
.sc-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.chip-ex{font-size:16px;line-height:1;border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.16)}
.sc-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:14px}
.sc-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden}.sc-bar i{display:block;height:100%;width:0}
.hero-line{font-size:22px;line-height:1.35;max-width:34ch;margin:48px 0 28px;color:var(--white)}
.hero-cta{margin:0 0 10px}
.quiet{display:inline-flex;align-items:center;min-height:44px;color:var(--white);font-size:18px;text-underline-offset:4px}

/* 2 icon row */
.iconrow{padding-block:96px}
.iconrow ul{list-style:none;margin:0 auto;padding:0;display:flex;justify-content:center;gap:56px;flex-wrap:wrap}
.iconrow li{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:120px;font-size:18px;text-align:center}
.ic{width:32px;height:32px;color:var(--ink)}

/* 3 phrase list beside a photo, the photo is the before/after */
.tabs-split{display:grid;grid-template-columns:430px minmax(0,640px);justify-content:space-between;gap:64px;align-items:center;padding-block:80px}
.phrases{list-style:none;margin:20px 0 8px;padding:0}
.phrase{all:unset;box-sizing:border-box;cursor:pointer;display:block;min-height:48px;font-size:44px;line-height:1.08;font-weight:500;color:var(--grey2);transition:color .52s cubic-bezier(0,0,.2,1)}
.phrase.on{color:var(--ink)}
.ring{width:22px;height:22px;margin:6px 0 36px;fill:none;stroke-width:2}.ring circle{stroke:rgba(0,0,0,.12)}.ring path{stroke:var(--ink)}
.ts-text .h28{margin-bottom:10px}.ts-text .body{margin-bottom:28px}
.ba{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#ddd;touch-action:pan-y}
.ba:focus-within{outline:2px solid var(--blue);outline-offset:3px}
.ba-before,.ba-after{position:absolute;inset:0;width:100%;height:100%}
.ba-after{clip-path:inset(0 0 0 var(--pos))}
.ba-tag{position:absolute;top:16px;z-index:1;font-size:16px;line-height:1.2;color:var(--ink);background:rgba(255,255,255,.9);border-radius:999px;padding:6px 12px}.ba-tag.l{left:16px}.ba-tag.r{right:16px}
.glass-chip{position:absolute;left:16px;bottom:16px;z-index:1;font-size:16px;line-height:1.3;color:var(--white);background:rgba(20,20,20,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:8px 14px;max-width:calc(100% - 32px)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:var(--white);box-shadow:0 0 0 1px rgba(0,0,0,.15);pointer-events:none}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--white);box-shadow:0 2px 12px rgba(0,0,0,.25)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}

/* 4 stat tiles */
.stat{padding-block:120px 104px;text-align:center}
.stat .h64{max-width:16ch;margin:0 auto 56px;text-wrap:balance}
.stat .stat-line{max-width:52ch;margin:-28px auto 48px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,228px));gap:16px;justify-content:center}
.tile{background:var(--tile);box-shadow:0 0 0 rgba(21,21,20,0);border-radius:18px;padding:24px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;min-height:156px}
.tile-n{font-size:56px;line-height:1;color:var(--blue);font-weight:400}
.tile-l{font-size:20px;line-height:1.3}
.cap{margin:28px 0 6px;font-size:16px;color:var(--grey)}.cite{margin:0;font-size:16px;color:var(--ink)}
.stat .cite{max-width:60ch;margin-inline:auto}

/* 5 tall cards that expand */
.expand{padding-block:120px 104px}
.expand .h44{margin-bottom:56px}
.xcards{display:grid;grid-template-columns:1.85fr 1fr 1fr;gap:12px;transition:grid-template-columns .5s cubic-bezier(.4,0,.2,1)}
.xcards:has(.xc[data-i='1'].open){grid-template-columns:1fr 1.85fr 1fr}.xcards:has(.xc[data-i='2'].open){grid-template-columns:1fr 1fr 1.85fr}
.xc{position:relative;height:454px;border-radius:24px;overflow:hidden;color:var(--white)}
.xc-photo{position:absolute;inset:0}
.xc::after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.76));pointer-events:none}
.pill-glass{position:absolute;z-index:2;top:16px;left:16px;font-size:16px;line-height:1.2;color:var(--white);background:rgba(20,20,20,.62);
-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:6px 12px;max-width:calc(100% - 80px)}
.xc-plus{all:unset;box-sizing:border-box;position:absolute;z-index:3;top:8px;right:8px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:26px;line-height:1;cursor:pointer;transition:transform .3s ease;background:rgba(20,20,20,.62);color:var(--white);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.xc.open .xc-plus{transform:rotate(45deg)}
.xc-text{position:absolute;z-index:2;left:24px;right:24px;bottom:24px}
.xc-text h3{font-size:22px;line-height:1.15}
.xc-link{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-size:16px;font-weight:600;color:var(--white);text-underline-offset:4px}
.xc:not(.open) .xc-link{display:none}
.xc .draft-chip{top:64px;bottom:auto}

/* 6 zig-zag story on a dotted arc */
.arc{padding-block:96px 120px}
.arc-row{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:56px 96px}
.arc-row.flip .arc-photo{order:2}
.arc-photo{position:relative;max-width:440px;justify-self:center;width:100%}
.arc-ph{aspect-ratio:11/12;border-radius:20px;position:relative;overflow:hidden}
.arc-photo .draft-chip{bottom:auto;top:16px}
.readout{position:absolute;left:24px;bottom:24px;min-width:242px;padding:14px 18px;display:flex;flex-direction:column;gap:6px;border-radius:10.4px}
.ro-v{font:500 28px/1.1 var(--num)}
.arc-text{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:440px;justify-self:center}

/* 7 glass card carousel on the warm band */
.car{padding:112px 0 104px;position:relative}
.car::before{content:"";position:absolute;width:520px;height:300px;left:12%;top:30%;border-radius:50%;background:#9DB8FF;filter:blur(90px);opacity:.35;pointer-events:none}
.car .h44{position:relative;margin:0 auto 56px;padding-inline:16px}
.car-view{position:relative;overflow:hidden;padding-block:12px}
.car-track{display:flex;gap:24px;transition:transform .5s cubic-bezier(0,0,.2,1);width:max-content}
.cp{width:380px;flex:none;border-radius:20px;padding:28px 24px;text-align:center;background:rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .5s cubic-bezier(0,0,.2,1),background-color .5s;transform:scale(.94)}
.cp.on{transform:scale(1);background:rgba(255,255,255,.42)}
.cp:not(.on) h3,.cp:not(.on) p{color:#4F4D4B}
.cp-card{display:flex;justify-content:center;margin-bottom:22px}
.scorecard.mini{width:260px;padding:16px 18px}
.scorecard.mini .sc-row{grid-template-columns:minmax(0,1fr) auto}.scorecard.mini .num{font-size:56px}
.cp h3{font-size:22px;line-height:24px;margin-bottom:8px}.cp p{font-size:16px;line-height:1.45;margin:0 auto;max-width:30ch}
.cp .cite{margin-top:10px;color:var(--ink)}
.car-ctl{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:28px;position:relative}
.arrow{all:unset;box-sizing:border-box;cursor:pointer;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:20px;box-shadow:inset 0 0 0 1px rgba(21,21,20,.55)}
.dots{display:flex;gap:0}.dot{all:unset;box-sizing:border-box;cursor:pointer;width:44px;height:44px;display:grid;place-items:center}
.dot::after{content:"";width:9px;height:9px;border-radius:50%;background:rgba(21,21,20,.35)}.dot.on::after{background:var(--ink)}
.car-foot{position:relative;max-width:640px;margin:64px auto 0;padding-inline:16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.car-foot .small{margin-top:0;color:#4F4D4B}

/* 8 chart panel with situation pills, near-black */
.chartpanel{padding-block:112px}
.chartpanel .h44{margin-bottom:32px}
.ptabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.ptab{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;font-size:16px;line-height:1.2;padding:10px 18px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);color:var(--white);transition:background-color .2s,color .2s}
.ptab[aria-selected=true]{background:var(--white);color:var(--ink)}
.tp{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:56px;align-items:start}
.tp[hidden]{display:none}
.tp-text{display:flex;flex-direction:column;gap:16px}
.chart{position:relative;margin:0}
.chart svg{display:block;width:100%;height:auto}
.chart .ax{stroke:rgba(255,255,255,.4)}.chart .grid{stroke:rgba(255,255,255,.12)}
.chart .ln{fill:none;stroke:var(--white);stroke-width:2.4}
.chart .nd{fill:var(--panel);stroke:var(--white);stroke-width:2}.chart .nd.b{fill:var(--white)}
.chart .mk{stroke:#5B8CFF;stroke-width:1.4}.chart .mk.b{stroke:#FF6F91}
.ch-lab{position:absolute;top:0;font-size:16px;color:rgba(255,255,255,.88);letter-spacing:1px;text-transform:uppercase}
.ch-lab.l{left:calc(80/600*100% + 8px)}.ch-lab.r{right:calc(60/600*100% + 8px)}
.chart figcaption{display:flex;gap:18px;align-items:flex-end;justify-content:flex-end;margin-top:14px;text-align:right}
.chart figcaption .big{font:500 64px/1 var(--num);color:var(--white)}
.chart figcaption span:last-child{font-size:16px;max-width:36ch;color:rgba(255,255,255,.88)}
.nextstep{padding:22px 24px;display:flex;flex-direction:column;gap:10px;max-width:360px}

/* 9 photo beside stacked stat tiles */
.sstack{padding-block:120px}
.sstack .h56{margin-bottom:48px}
.ss-grid{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:24px;max-width:1120px;margin:0 auto;align-items:start}
.ss-left{display:flex;flex-direction:column;gap:12px}
.ss-ph{aspect-ratio:828/496;margin-top:12px}
.ss-tiles{display:flex;flex-direction:column;gap:16px}
.stile{background:var(--tile);border-radius:24px;padding:28px 24px;min-height:194px;display:flex;flex-direction:column;justify-content:space-between}
.stile-n{font-size:56px;line-height:1;font-weight:400}.stile-l{font-size:18px;line-height:1.35}

/* 10 gallery beside the plan column */
.tiers{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:48px;padding-block:96px;align-items:stretch}
.gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.gallery .ph{min-height:0;height:100%;border-radius:12px}
.buycol{display:flex;flex-direction:column;gap:14px;align-self:start;position:sticky;top:96px}
.tier{border-radius:8px;box-shadow:inset 0 0 0 1px #D6D3CF,0 0 0 rgba(21,21,20,0);padding:20px 22px}
.tier.hi{box-shadow:inset 0 0 0 2px var(--blue),0 0 0 rgba(21,21,20,0)}
.tier-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--rule);margin-bottom:12px}
.tier-name{font-size:22px;font-weight:500}.tier-price{font-size:18px;text-align:right}
.tier p{margin:0;font-size:16px;line-height:1.45;color:var(--grey)}

/* 11 FAQ split */
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;padding-block:120px}
.qa{border-top:1px solid #E2E0DC;padding:22px 0}
.qa:last-child{border-bottom:1px solid #E2E0DC}
.qa h3{display:flex;justify-content:space-between;gap:16px;font-size:18px;font-weight:400;line-height:1.4}
.qa svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--ink);stroke-width:1.6}
.qa p{margin:10px 0 0;font-size:18px;color:var(--grey);max-width:60ch}

/* 12 promise cards */
.promise{padding-block:96px}
.pcs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pc{background:#F4F4F4;border-radius:10px;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.pc p{margin:0;font-size:22px;line-height:28px}

/* 13 closing photo with one call */
.closing{position:relative;min-height:780px;color:var(--white);overflow:hidden;display:flex;align-items:center;justify-content:center}
.cl-photo{position:absolute;inset:0;background:
 radial-gradient(22% 46% at 50% 100%,rgba(255,196,140,.34),transparent 72%),
 linear-gradient(180deg,#221914 0%,#2E231C 40%,#3E2F25 75%,#2A1F19 100%)}
.cl-in{position:relative;z-index:1;width:100%;max-width:760px;margin:0 auto;padding:120px 24px 140px;text-align:center;display:flex;flex-direction:column;align-items:center}
.cl-line{font-size:22px;line-height:28px;margin:18px 0 40px;max-width:36ch}
.cl-form{width:100%;max-width:560px;text-align:left}
.cl-form label{display:block;font-size:16px;margin-bottom:6px}
.cl-row{display:flex;gap:16px;align-items:flex-end}
.cl-row input{flex:1;min-width:0;min-height:48px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.85);border-radius:0;color:var(--white);font:400 18px/1.4 var(--font);padding:12px 0}
.cl-row input::placeholder{color:rgba(255,255,255,.78);opacity:1}
.cl-note{font-size:16px;margin:16px 0 0;color:rgba(255,255,255,.9)}
.cl-form .cl-row+label{margin-top:20px}
.cl-go{width:100%;margin-top:24px}
.cl-status{min-height:1.4em;margin:10px 0 0;font-size:16px;color:var(--white)}
.cl-form .honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* footer: es-footer-dark */
.site-foot{background:#000;color:var(--white);padding:72px 0 56px}
.foot-in{display:grid;grid-template-columns:1fr auto;gap:40px 48px;align-items:start}
.site-foot .mark{justify-self:start;color:var(--white);font-size:20px}
.site-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 28px;justify-content:flex-end}
.site-foot li a{display:inline-flex;align-items:center;min-height:44px;font:500 16px/1 var(--font);letter-spacing:1.6px;text-transform:uppercase;text-decoration:none;color:var(--white)}
.site-foot li a:hover{text-decoration:underline;text-underline-offset:6px}
.foot-note,.foot-copy{margin:0;font-size:16px;line-height:1.5;color:#C9C6C1}
.foot-note{grid-column:1/2;max-width:60ch}.foot-copy{grid-column:2/3;text-align:right}

/* growth review: short hero with the check, gated report, FAQ */
.hero.short{min-height:700px}.hero.short .hero-in{padding:176px 64px 110px}.hero.short .hero-h{font-size:96px;line-height:.92;max-width:16ch}.hero.short .hero-line{margin:28px 0 0}
.chk-wrap{width:min(640px,100%);margin-top:36px;text-align:left}
.chk-label{display:block;font-size:16px;margin:0 0 8px 4px;color:var(--white)}
.chk{display:flex;gap:12px;width:100%;background:rgba(10,24,44,.42);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;padding:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.chk input{flex:1;min-width:0;min-height:52px;background:transparent;border:0;border-radius:0;color:var(--white);font:400 20px/1.3 var(--font);padding:0 14px}
.chk input::placeholder{color:rgba(255,255,255,.92);opacity:1}.chk input:focus{outline:0}.chk:focus-within{box-shadow:inset 0 0 0 2px #fff}
.chk-note{font-size:16px;margin:16px 0 0 4px;color:rgba(255,255,255,.95)}
.gr-wrap .small{margin-top:32px;color:#4F4D4B}
.gr-wrap{padding-block:112px}.gr-wrap .h44{margin-bottom:40px}
.gr{width:min(720px,100%);margin:0 auto;padding:28px;display:flex;flex-direction:column;gap:14px;text-align:left}
.gr:focus{outline:0}
.gr-row{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid rgba(255,255,255,.14);font-size:18px;line-height:1.4}
.gr-row.first{border-top:0}.tickm{flex:none;width:26px;height:26px;border-radius:50%;background:#2F6BFF;display:grid;place-items:center;font-size:16px}
.lock{flex:none;width:26px;height:26px;display:grid;place-items:center;opacity:.85}
.lock svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gr-locked{display:grid}
.gr-locked>*{grid-area:1/1}
.gr-blur{filter:blur(7px);opacity:.7;pointer-events:none;user-select:none;-webkit-user-select:none;align-self:stretch;min-height:400px}
.gr-gate{align-self:start;justify-self:center;margin-top:8px;width:min(440px,100%);background:rgba(18,20,24,.94);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--glass-shadow);z-index:1}
.gr-gate .gate-title{font-size:22px;line-height:1.2;font-weight:500}
.gr-gate p{margin:0;font-size:16px;line-height:1.5;color:rgba(255,255,255,.88)}
.gr-gate input[type=email]{min-height:48px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.85);border-radius:0;color:#fff;font:400 18px/1.4 var(--font);padding:10px 0}
.gr-gate input::placeholder{color:rgba(255,255,255,.78);opacity:1}.gr-gate input:focus{outline:0;border-bottom-width:2px}
.ck{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45;cursor:pointer}
.ck input{flex:none;margin:0;width:24px;height:24px;accent-color:#2F6BFF}
.ck span{padding-top:0}
.ck.light{color:rgba(255,255,255,.95)}
.gr-full[hidden],.gr-locked[hidden]{display:none}
.gr-done{margin:12px 0 0;font-size:16px;color:rgba(255,255,255,.92)}.gr-done:focus{outline:0}

/* tablet */
@media (max-width:1180px){
 .wrap{padding-inline:40px}.hero-in,.hero.short .hero-in{padding-inline:40px}
 .hero-h{font-size:96px}.hero.short .hero-h{font-size:80px}.tabs-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .tiles{grid-template-columns:repeat(2,minmax(0,228px))}
 .tiers{grid-template-columns:minmax(0,1fr) 380px}
 .links{gap:0}.links a{padding-inline:8px;letter-spacing:1.2px}
}
/* phone */
@media (max-width:760px){
 body{letter-spacing:.1px}
 .wrap{padding-inline:16px}
 .site-head nav.pill{margin:8px 8px 0;min-height:56px;padding:0 6px 0 4px;grid-template-columns:auto 1fr auto;gap:4px}
 .links{display:none}.menu{display:flex}.mark{font-size:16px;letter-spacing:.6px;justify-self:center}
 .site-head nav.pill .btn.sm{padding:10px 12px;font-size:15px;white-space:nowrap}
 .site-head .mark .lg{width:96px;height:auto}.site-head .mark{min-width:0}.nav-right{gap:2px}
 .menu-panel{display:block}.menu-panel[hidden]{display:none}
 .h72{font-size:40px;line-height:42px}.h64{font-size:40px;line-height:44px}.h56{font-size:40px;line-height:44px}
 .h44{font-size:32px;line-height:35.2px}.h36{font-size:28px;line-height:32px}.h36q{font-size:30px}
 .hero{min-height:0}
 .hero-in,.hero.short .hero-in{padding:128px 16px 96px}
 .hero-h,.hero.short .hero-h{font-size:56px;line-height:.9;letter-spacing:-1.1px;max-width:none}
 .hero-card{margin-top:12px}
 .sc-row{grid-template-columns:86px minmax(0,1fr) auto;gap:10px}
 .hero-line{font-size:18px;margin:32px 0 22px}
 .iconrow{padding-block:64px}.iconrow ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.iconrow li{min-width:0}
 .tabs-split{grid-template-columns:1fr;gap:32px;padding-block:64px}
 .tabs-split .ba{order:-1}
 .phrases{display:flex;gap:24px;margin:8px 0 4px}.phrase{font-size:18px;min-width:44px;display:flex;align-items:center;min-height:44px;color:var(--grey)}.phrase.on{box-shadow:inset 0 -2px 0 var(--ink)}
 .ring{display:none}
 .stat{padding-block:72px}.stat .h64{margin-bottom:32px}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{min-height:128px;padding:18px 16px}.tile-n{font-size:44px}.tile-l{font-size:18px}
 .expand{padding-block:72px}.expand .h44{margin-bottom:32px}
 .xcards,.xcards:has(.xc[data-i='1'].open),.xcards:has(.xc[data-i='2'].open){grid-template-columns:1fr;gap:28px}
 .xc{height:auto;border-radius:0;overflow:visible;color:var(--ink)}
 .xc-photo{position:relative;height:240px;border-radius:16px;overflow:hidden}.xc::after{display:none}
 .xc-plus{display:none}.xc-text{position:static;padding-top:14px}.xc-text h3{font-size:22px}
 .xc .xc-link,.xc:not(.open) .xc-link{display:inline-flex;color:var(--ink)}
 .xc .draft-chip{top:auto;bottom:12px;left:12px}
 .arc{padding-block:0 56px}
 .arc-row{grid-template-columns:1fr;gap:28px;padding-block:24px 56px}
 .arc-row.flip .arc-photo{order:0}
 .readout{left:12px;bottom:12px;min-width:0;right:12px}
 .car{padding:72px 0}.car .h44{margin-bottom:32px}
 .cp{width:300px;padding:22px 16px}.scorecard.mini{width:220px}
 .car-foot{margin-top:40px}
 .chartpanel{padding-block:72px}
 .tp{grid-template-columns:1fr;gap:28px}
 .chart figcaption{flex-direction:column;align-items:flex-end;gap:6px}
 .sstack{padding-block:64px 48px}.sstack .h56{margin-bottom:28px}
 .ss-grid{grid-template-columns:minmax(0,1fr)}.ss-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .stile{min-height:150px;padding:20px 16px;border-radius:18px}.stile-n{font-size:44px}.stile-l{font-size:16px}
 .tiers{grid-template-columns:1fr;gap:32px;padding-block:64px}.buycol{position:static}
 .gallery .ph{aspect-ratio:4/3;height:auto}
 .tier-top{flex-direction:column;align-items:flex-start;gap:4px}.tier-price{text-align:left}
 .faq{grid-template-columns:1fr;gap:16px;padding-block:72px}
 .promise{padding-block:64px}.pcs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pc{padding:28px 12px}
 .closing{min-height:0}.cl-in{padding:96px 16px 120px}.cl-line{font-size:18px;line-height:1.45;margin:14px 0 28px}
 .cl-row{flex-direction:column;align-items:stretch}.cl-row .btn{width:100%}
 .site-foot{padding:56px 0 40px}.foot-in{grid-template-columns:1fr;gap:20px}.site-foot ul{justify-content:flex-start;flex-direction:column;gap:0}
 .foot-note,.foot-copy{grid-column:1;text-align:left}
 .chk{flex-direction:column}.chk input{padding:0 14px}.gr{padding:20px 16px}.gr-wrap{padding-block:64px}
}
@media (max-width:359px){.mark{display:none}.site-head nav.pill{grid-template-columns:auto 1fr auto}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}}


/* ================= polish pass (2026-10-05) ================= */
:root{--sp:112px}
@media (max-width:760px){:root{--sp:64px}}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.06)}}
@keyframes sweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes lockglow{0%,100%{opacity:.45}50%{opacity:1}}

/* 1 hero: lighter shaped overlay, soft type shadow, one slow push-in */
/* overlay tuned to the lightest that passes AA behind every text run (measured from rendered pixels) */
.hero-photo::after{background:linear-gradient(180deg,rgba(18,42,78,.68) 0%,rgba(18,42,78,.56) 34%,rgba(18,42,78,.34) 62%,rgba(18,42,78,.22) 100%)}
.hero-line,.quiet,.chk-label,.chk-note,.cl-line,.cl-note,.cl-form label{position:relative}

.cl-photo::after{background:linear-gradient(180deg,rgba(18,26,40,.46) 0%,rgba(18,26,40,.40) 100%)}
.hero-photo{overflow:hidden}
.hero-photo img{transform-origin:50% 40%;animation:kb 24s ease-in-out 1 both}
.hero-h,.hero-line,.quiet,.chk-note,.chk-label,.hero .caps{text-shadow:0 1px 20px rgba(8,22,44,.5),0 0 2px rgba(8,22,44,.25)}

.hero-card{width:min(600px,100%);padding:26px 30px;gap:14px}
.hero-card .sc-row{grid-template-columns:130px minmax(0,1fr) auto;gap:18px}
.hero-card .num{font-size:64px}.hero-card .num small{font-size:20px}
.hero-card .sc-bar{height:8px;border-radius:4px}
.hero-card .sc-bar i{width:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translateX(-100%);animation:sweep 1.8s .6s ease-out 1 forwards}
.hero.short .hero-h{max-width:18ch}
.chk-wrap{width:min(720px,100%)}
.chk{padding:8px;border-radius:14px}
.chk input{min-height:64px;font-size:20px}
.chk .btn{min-height:64px;padding-inline:36px;font-size:18px}
.chk-label{font-size:18px}

/* 2 before / after: browser-window mocks */
.ba{aspect-ratio:5/4;border-radius:20px;background:linear-gradient(160deg,#ECE7DE,#D6CEC1)}
.mock{position:absolute;inset:8% 6%;border-radius:12px;background:#fff;box-shadow:0 22px 44px rgba(40,30,20,.24),0 0 0 1px rgba(0,0,0,.07);overflow:hidden;display:flex;flex-direction:column}
.mock i,.mock u,.mock b{display:block;text-decoration:none;font-weight:400}
.mk-bar{display:flex;gap:6px;align-items:center;height:28px;padding:0 12px;background:#F1EFEB;flex:none}
.mk-bar i{width:9px;height:9px;border-radius:50%;background:#D3CEC6}
.mock.after .mk-nav{display:flex;align-items:center;gap:14px;height:50px;padding:0 16px;flex:none}
.mk-logo{width:22px;height:22px;border-radius:7px;background:#151514}
.mk-links{display:flex;gap:10px;margin-left:auto}.mk-links i{width:30px;height:6px;border-radius:3px;background:#CFCBC4}
.mk-btn{width:58px;height:22px;border-radius:7px;background:#151514}
.mk-hero{position:relative;flex:1;min-height:0;margin:0 14px;border-radius:12px;overflow:hidden}
.mk-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mk-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.55),rgba(255,255,255,0) 70%)}
.mk-h{position:absolute;z-index:1;left:20px;bottom:20px;width:60%}
.mk-h i{height:16px;border-radius:8px;background:#151514;opacity:.86;margin-bottom:9px}.mk-h i:nth-child(2){width:68%}
.mk-h .mk-btn{margin-top:14px;width:84px;height:26px}
.mk-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;flex:none}
.mk-cards>div{background:#F6F4F1;border-radius:10px;padding:9px}
.mk-cards u{height:30px;border-radius:7px;background:#E5D8CC;margin-bottom:8px}
.mk-cards>div:nth-child(2) u{background:#D2DEE8}.mk-cards>div:nth-child(3) u{background:#D9E0D2}
.mk-cards i{height:5px;border-radius:3px;background:#CFCBC4;margin-top:5px}.mk-cards i+i{width:60%}
.mock.before{background:#EFE9D8}
.mock.before .mk-bar{background:#E3DCC8}
.mk-top{height:44px;background:#5A3F2B;flex:none;display:flex;align-items:flex-end;padding:0 10px 6px}
.mk-nav-tiny{display:flex;gap:4px}.mk-nav-tiny i{width:20px;height:4px;background:#CDBBA0}
.mk-banner{position:relative;height:42%;margin:10px 10px 0;background:repeating-linear-gradient(45deg,#CFC6B0 0 10px,#D9D1BC 10px 20px);flex:none;overflow:hidden}
.mk-banner u{position:absolute;background:#6FA7A6}.mk-banner u:nth-child(1){left:8%;top:14%;width:36%;height:60%}
.mk-banner u:nth-child(2){left:30%;top:36%;width:34%;height:54%;background:#D99A5B}
.mk-clutter{position:absolute;right:8px;top:8px;width:30%}.mk-clutter i{height:6px;background:#8A6F4E;margin-bottom:4px}.mk-clutter i:nth-child(odd){width:70%}
.mk-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:10px;flex:1}
.mk-cols i{height:5px;background:#B9AE98;margin-bottom:4px}.mk-cols i:nth-child(odd){width:85%}
.mk-cols>div{background:#E4DCC6;padding:6px;min-height:70px}

/* 3 story arc */
.h40{font-size:40px;line-height:1.1;letter-spacing:.3px}
.lead{font-size:20px;line-height:1.5;margin:0}
.arc{padding-block:56px var(--sp);position:relative}
.arc-row{grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:72px;padding-block:0;margin-bottom:112px;align-items:center}
.arc-row:last-child{margin-bottom:0}
.arc-row.flip{grid-template-columns:minmax(0,1fr) minmax(0,520px)}
.arc-photo{max-width:520px;justify-self:start}
.arc-row.flip .arc-photo{justify-self:end}
.arc-ph{aspect-ratio:11/12}
.arc-text{align-items:flex-start;text-align:left;max-width:500px;gap:18px;justify-self:start}
.arc-row.flip .arc-text{justify-self:end}
.arc-con{position:absolute;left:260px;width:calc(100% - 520px);top:100%;height:112px;z-index:0;pointer-events:none;overflow:visible}
.arc-con.rev{transform:scaleX(-1)}
.arc-con path{fill:none;stroke:rgba(29,91,240,.25);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.js-rv .arc-con path{stroke-dashoffset:1;transition:stroke-dashoffset 1.4s ease-in-out}
.js-rv .arc-con.in path{stroke-dashoffset:0}
.arc-photo,.arc-text{position:relative;z-index:1}
.readout{left:16px;bottom:16px;right:auto;min-width:0;padding:10px 14px;gap:2px;border-radius:10px}
.readout .num{font-size:28px}.ro-v{font-size:24px}

/* 4 rhythm */
.iconrow{padding-block:80px 40px}
.tabs-split{padding-block:40px 56px}
.stat{padding-block:56px var(--sp)}
.tiles{grid-template-columns:repeat(4,minmax(0,276px));gap:20px}
.tile{min-height:208px;padding:28px 26px;justify-content:space-between}
.tile-n{font-size:72px}.tile-l{font-size:22px}
.expand{padding-block:var(--sp) 56px}.expand .h44{margin-bottom:48px}
.car{padding-block:var(--sp)}
.chartpanel{padding-block:var(--sp)}
.tp{grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:64px}
.tp-text .body{font-size:22px;line-height:1.45}
.chart svg{width:100%}
.chart figcaption{position:absolute;left:15%;top:16%;margin:0;padding:16px 22px;display:flex;gap:16px;align-items:center;text-align:left;max-width:min(400px,62%)}
.chart figcaption .big{font-size:64px}
.sstack{padding-block:var(--sp) 56px}
.tiers{padding-block:56px var(--sp)}
.faq{padding-block:var(--sp)}
.promise{padding-block:var(--sp)}
.closing{min-height:720px}

/* 5 reveals (progressive: only when JS adds .js-rv; never under reduced motion) */
.js-rv .rv{opacity:0;transform:translateY(24px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1),box-shadow .25s ease-out}
.js-rv .rv.in{opacity:1;transform:none}

/* 6 hover and polish */
.btn{transition:background-color .2s ease-out,color .2s ease-out,transform .2s ease-out,box-shadow .2s ease-out}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.18)}
.btn-black:hover{background:linear-gradient(100deg,#1D5BF0,#5B8CFF)}
.tile,.stile,.tier,.pc,.cp{transition:transform .25s ease-out,box-shadow .25s ease-out}
.tile:hover,.stile:hover,.pc:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(21,21,20,.10)}
.tier:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #D6D3CF,0 12px 28px rgba(21,21,20,.09)}
.tier.hi:hover{box-shadow:inset 0 0 0 2px var(--blue),0 12px 28px rgba(21,21,20,.09)}
.ph,.xc,.ba,.gallery .ph{border-radius:20px}
.xc-photo{border-radius:0}
.ph img{transition:transform .5s ease}
.ph:hover img,.xc:hover .xc-photo img{transform:scale(1.04)}
.ph::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(21,21,20,.12);pointer-events:none}
.ulink,.quiet,.xc-link,.caplink,.links a,.site-foot li a{text-underline-offset:4px;transition:text-underline-offset .2s ease-out,color .2s}
.ulink:hover,.quiet:hover,.xc-link:hover,.caplink:hover{text-underline-offset:7px}
.links a:hover,.site-foot li a:hover{text-underline-offset:9px}
.site-foot{padding:104px 0 80px}
.foot-in{grid-template-columns:auto 1fr;gap:56px 48px}
.foot-nav{display:flex;justify-content:flex-end;gap:0}
.foot-nav ul{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;gap:0;padding-inline:44px}
.foot-nav ul:first-child{padding-left:0}.foot-nav ul:last-child{padding-right:0}
.foot-nav ul+ul{border-left:1px solid rgba(255,255,255,.2)}
.foot-base{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:32px;border-top:1px solid rgba(255,255,255,.16)}
.foot-note,.foot-copy{margin:0;text-align:left}

/* 7 growth review: shimmer on locks, soft unblur */
.lock svg{animation:lockglow 2.6s ease-in-out infinite}
.gr-blur{transition:filter .6s ease,opacity .6s ease}
.gr-gate{transition:opacity .4s ease,transform .4s ease}
.gr-locked.unlocking .gr-blur{filter:blur(0);opacity:1}
.gr-locked.unlocking .gr-gate{opacity:0;transform:translateY(-10px);pointer-events:none}
.gr-full{animation:fadein .5s ease both}
@keyframes fadein{from{opacity:0}to{opacity:1}}

@media (max-width:1180px){
 .arc-row,.arc-row.flip{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
 .arc-con{left:25%;width:50%}
 .tiles{grid-template-columns:repeat(2,minmax(0,276px))}
 .foot-nav ul{padding-inline:28px}
}
@media (max-width:760px){
 .hero-card{padding:20px 18px}.hero-card .num{font-size:48px}.hero-card .sc-row{grid-template-columns:80px minmax(0,1fr) auto;gap:10px}
 .chk input{min-height:60px}.chk .btn{min-height:60px}
 .h40{font-size:28px}.lead{font-size:20px}
 .arc{padding-block:24px var(--sp)}
 .arc-row,.arc-row.flip{grid-template-columns:1fr;gap:24px;margin-bottom:56px}
 .arc-row.flip .arc-photo,.arc-row .arc-photo{justify-self:stretch}
 .arc-row.flip .arc-text,.arc-row .arc-text{justify-self:start;max-width:none}
 .arc-row.flip .arc-photo{order:0}
 .arc-con{display:none}
 .iconrow{padding-block:56px 24px}.tabs-split{padding-block:24px 32px}.stat{padding-block:32px var(--sp)}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{min-height:160px;padding:20px 16px}.tile-n{font-size:56px}.tile-l{font-size:18px}
 .expand{padding-block:var(--sp) 32px}.sstack{padding-block:var(--sp) 32px}.tiers{padding-block:32px var(--sp)}
 .tp,.tp[hidden]{grid-template-columns:1fr;gap:28px}.tp[hidden]{display:none}
 .tp-text .body{font-size:20px}
 .chart figcaption{position:static;margin-top:14px;max-width:none}
 .chart figcaption .big{font-size:56px}
 .mock{inset:8% 5%}.mk-hero{margin:0 10px}.mk-nav{padding:0 10px!important;gap:8px!important}
 .site-foot{padding:64px 0 48px}.foot-in{grid-template-columns:1fr;gap:32px}
 .foot-nav{flex-direction:column;justify-content:flex-start}
 .foot-nav ul,.foot-nav ul:first-child,.foot-nav ul:last-child{padding:8px 0}
 .foot-nav ul+ul{border-left:0;border-top:1px solid rgba(255,255,255,.2)}
 .foot-base{grid-column:1}
 .closing{min-height:0}
}
@media (prefers-reduced-motion:reduce){.hero-photo img,.sc-bar i,.lock svg,.gr-full{animation:none!important}.hero-card .sc-bar i{transform:none;background:none}.js-rv .arc-con path{stroke-dashoffset:0}}


/* ================= round 3 (2026-10-05) ================= */
.t-ink{background:#0A0A0B;color:#fff}
/* 1 real drop shadows on hero and closing type, no local shapes */
.hero-h,.hero-line,.quiet,.chk-note,.chk-label,.hero-capt,.hero .caps,.cl-in h2,.cl-line,.cl-note,.cl-form label{text-shadow:0 2px 24px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.4)}
.hero-photo::after{background:linear-gradient(180deg,rgba(14,32,60,.66) 0%,rgba(14,32,60,.56) 36%,rgba(14,32,60,.46) 64%,rgba(14,32,60,.42) 100%)}
.cl-photo::after{background:linear-gradient(180deg,rgba(14,22,36,.5) 0%,rgba(14,22,36,.46) 100%)}
/* hero scorecard before/after */
.hc-tools{display:inline-flex;align-items:center;gap:8px}
.replay{all:unset;box-sizing:border-box;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);transition:background-color .2s,transform .3s}
.replay:hover{background:rgba(255,255,255,.16);transform:rotate(-40deg)}
.replay svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-card .sc-bar i{position:relative;display:block;height:100%;background:linear-gradient(90deg,#1BB58C,#35A6DE);transform:none;animation:none;transition:width 1.6s cubic-bezier(.16,.84,.3,1)}
.hero-card .sc-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#E8683A,#EBA13A);opacity:0;transition:opacity 1.6s ease-out}
.hero-card[data-state=before] .sc-bar i::after{opacity:1;transition:none}
.hero-card.noanim .sc-bar i,.hero-card.noanim .sc-bar i::after{transition:none}
.hero-capt{margin:14px 0 0;font-size:16px;line-height:1.4;max-width:46ch}
.hero-line{margin-top:36px}
/* 2 icon row */
.iconrow ul{gap:40px 56px}
.ri{padding:12px 14px;border-radius:12px;transition:transform .25s ease-out;cursor:default}
.ri .ic{width:44px;height:44px;overflow:visible}
.ri span{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .25s ease-out;padding-bottom:3px}
.ri:hover{transform:translateY(-4px)}.ri:hover span{background-size:100% 2px}
.ri .scr{opacity:0;transition:opacity .3s}.ri:hover .scr{opacity:.2}
.ri:hover .mag{animation:magsweep .9s ease-in-out}
.ri:hover .spk{transform-origin:16px 14px;animation:spin .9s ease-in-out}
.ri .tw{opacity:.4;transform-origin:26px 23.500px}.ri:hover .tw{animation:twinkle .9s ease-in-out}
.ri .chk{stroke-dasharray:1;stroke-dashoffset:0}.ri:hover .chk{animation:drawchk .8s ease-out}
.ri .fold{transform-origin:20px 10px;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}.ri:hover .fold{transform:scale(1.6) rotate(-8deg)}
@keyframes magsweep{0%,100%{transform:translate(0,0)}25%{transform:translate(4px,-3px)}60%{transform:translate(-3px,3px)}}
@keyframes spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(90deg) scale(1.15)}100%{transform:rotate(180deg) scale(1)}}
@keyframes twinkle{0%,100%{opacity:.4;transform:scale(1)}40%{opacity:1;transform:scale(1.5)}}
@keyframes drawchk{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
/* 3 before/after pairs */
.ba3{padding-block:40px 56px}
.ba3-head{text-align:center;max-width:62ch;margin:0 auto 32px}.ba3-head .h56{margin:10px 0 14px}
.ptabs.light{justify-content:center;margin-bottom:36px}
.ptab.dark-on-light{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(21,21,20,.4)}
.ptab.dark-on-light[aria-selected=true]{background:var(--black);color:#fff;box-shadow:none}
.ex:not([hidden]){animation:fadein .45s ease both}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pw{margin:0;display:flex;flex-direction:column;gap:12px}
.pw>figcaption{color:var(--grey)}
.pair .mock{position:relative;inset:auto;min-height:100%;flex:1}
.mock.before{background:#EFE9D8}
.mk-vis{flex:none}
.mk-txt{padding:14px 16px 18px;display:flex;flex-direction:column;gap:12px}
.mk-txt p{margin:0;display:flex;gap:10px;align-items:flex-start;font-size:18px;line-height:1.45;color:var(--ink)}
.mk-txt.dated p{font-family:Georgia,"Times New Roman",serif;line-height:1.25;letter-spacing:-.2px;color:#4A3B2A}
.pin{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font:700 16px/1 var(--font);color:#fff;background:#C8302A;margin-top:1px}
.pin.ok{background:#1D5BF0}.pin svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mock.before .mk-banner{height:96px;margin:10px 10px 0}
.mk-tel{position:absolute;right:10px;bottom:8px;display:flex;gap:3px;align-items:center}.mk-tel b{display:block;height:3px;width:22px;background:#8A6F4E}.mk-tel b+b{width:14px}
.mk-list{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;padding:10px 14px}.mk-list i{height:5px;background:#B9AE98}
.mk-form{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px 14px}.mk-form i{height:9px;background:#D2C8B3;border:1px solid #B9AE98}
.mock.before .mk-vis{min-height:104px}
.mock.after .mk-hero{flex:none;height:170px;margin:0 14px}
.mk-tp{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;padding:0 14px;height:170px}
.tp-img{border-radius:12px;background:radial-gradient(60% 50% at 70% 25%,rgba(255,244,230,.7),transparent),linear-gradient(160deg,#E7D7CC,#C8AE9C)}
.tp-side{display:flex;flex-direction:column;gap:9px;padding-top:10px}.tp-side i{display:block;height:12px;border-radius:6px;background:#151514;opacity:.85}.tp-side i+i{width:60%;height:8px;opacity:.25}
.tp-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.tp-chips em{width:60px;height:22px;border-radius:11px;background:#E8EDF5}
.mk-bk{padding:4px 14px 0;height:170px;display:flex;flex-direction:column;gap:12px}
.bk-days,.bk-times{display:flex;gap:8px}.bk-days em{flex:1;height:38px;border-radius:10px;background:#F0EEEA}.bk-times em{flex:1;height:30px;border-radius:15px;background:#F0EEEA}
.bk-days em.on,.bk-times em.on{background:#151514}
.mk-btn.wide{width:100%;height:34px;border-radius:10px;margin-top:auto}
.ba3-foot{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin-top:44px}
.glass-chip.static{position:static}
.chip-ex.light{background:rgba(0,0,0,.08);color:var(--ink)}
/* 4 speed tiles */
.tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;max-width:1312px}
.tile{align-items:center;text-align:center;min-height:0;padding:28px 12px 24px;gap:14px}
.ringw{position:relative;width:128px;height:128px;display:grid;place-items:center}
.ring2{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:6;stroke-linecap:round}
.ring2 .trk{stroke:rgba(10,143,79,.18)}.ring2 .prg{stroke:#0A8F4F;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--v))}
.js-rv .tile:not(.go) .prg{stroke-dashoffset:100}.js-rv .tile.go .prg{transition:stroke-dashoffset 1.4s cubic-bezier(.16,.84,.3,1)}
.tile-n{font-size:52px;line-height:1;color:#0A8F4F;font-weight:500;font-variant-numeric:tabular-nums}
.tile-l{font-size:20px;line-height:1.25}
.js-rv .rv.pop{transform:scale(.92)}.js-rv .rv.pop.in{transform:none}
.stat .stat-line{margin:-28px auto 48px}
/* 5 what we do */
.expand-line{max-width:56ch;margin:-24px auto 48px;color:var(--grey)}
/* 6 arc demo cards */
.arc-photo{max-width:520px}
.demo{position:absolute;z-index:2;width:330px;padding:18px 20px 20px;display:flex;flex-direction:column;gap:12px;font-size:16px;line-height:1.35;text-align:left}
.demo .sc-head{margin-bottom:2px}
.d1{right:-52px;bottom:-34px}.d3{right:-90px;bottom:-72px}.d2,.d4{left:-52px;bottom:-34px}
.d-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid rgba(255,255,255,.14)}.d-row:first-of-type{border-top:0}
.d-row .tickm{width:24px;height:24px;font-size:14px;margin-top:0}
.d-row b,.d-svc b{font-weight:600}
.d-svc{font-size:18px}.d-date{color:rgba(255,255,255,.88)}
.tchips{display:flex;gap:8px;flex-wrap:wrap}
.tchip{min-height:40px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);transition:background-color .35s,color .35s}
.tchip.sel{background:#fff;color:#0C0C14;box-shadow:none}
.dbtn{pointer-events:none;min-height:46px}
.bub{padding:12px 14px;border-radius:14px;max-width:92%;font-size:16px;line-height:1.4}
.bub.q{align-self:flex-end;background:#2F6BFF;color:#fff;border-bottom-right-radius:4px}
.bub.a{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.12);border-bottom-left-radius:4px}
.spk2{flex:none;width:22px;height:22px;fill:#8FB2FF;margin-top:1px}
.sbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.14);min-height:44px}
.sbar svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round}
.reslist{display:flex;flex-direction:column;gap:8px}
.res{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.06)}
.res.hi{background:rgba(47,107,255,.34);box-shadow:inset 0 0 0 1.5px #8FB2FF}
.rk{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:600;background:rgba(255,255,255,.16)}
.rt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.rt b{font-weight:600}
.stars{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.star{width:14px;height:14px;fill:#F5C04A}
.rate{margin-left:6px;font-size:16px}
.mpin{flex:none;width:22px;height:22px;fill:#fff;opacity:.85}.mpin circle{fill:#22262D}.res.hi .mpin{fill:#8FB2FF}
.chip-up{align-self:flex-start;font-size:16px;line-height:1;padding:7px 12px;border-radius:999px;background:#2FB879;color:#05231A;font-weight:600}
.js-rv .demo{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}
.js-rv .demo.in{opacity:1;transform:none}
.js-rv .demo .d-item,.js-rv .demo .res,.js-rv .demo .chip-up{opacity:0;transform:translateY(10px)}
.js-rv .demo.in .d-item{opacity:1;transform:none;transition:opacity .45s ease,transform .45s ease;transition-delay:calc(var(--n,0)*130ms + 350ms)}
.js-rv .demo.in .d-item.tchip{transition:opacity .45s ease,transform .45s ease,background-color .35s,color .35s;transition-delay:calc(var(--n,0)*130ms + 350ms),calc(var(--n,0)*130ms + 350ms),0s,0s}
.js-rv .demo .res{transform:translateY(calc(var(--d)*68px));opacity:1}
.js-rv .demo.in .res{transform:none;transition:transform .9s cubic-bezier(.4,0,.2,1) 1s}
.js-rv .demo.in .chip-up{opacity:1;transform:none;transition:opacity .5s ease 1.7s,transform .5s ease 1.7s}
/* 7 carousel mini scores */
.scorecard.mini{width:270px;padding:16px 18px 18px;gap:8px}
.mini-n{font-size:64px;line-height:1;display:flex;align-items:baseline;gap:4px}.mini-n small{font-size:20px;opacity:.8}
.sc-bar.big{height:10px;border-radius:5px}.sc-bar.big i{background:linear-gradient(90deg,#E8683A,#EBA13A)}
.rankdots{display:flex;gap:8px;padding-top:6px}.rankdots i{width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.22)}.rankdots i.on{background:#EBA13A;box-shadow:0 0 0 3px rgba(235,161,58,.35)}
.cp .cp-card .sc-row{display:none}
/* 8 situation visuals */
.viz{padding:22px 24px 24px;display:flex;flex-direction:column;gap:14px;max-width:640px;width:100%}
.v0-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v0-pair figure{margin:0;display:flex;flex-direction:column;gap:8px}
.mw{border-radius:8px;background:#fff;overflow:hidden;height:150px;display:flex;flex-direction:column;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.mw .mk-bar{height:18px;padding:0 8px}.mw .mk-bar i{width:6px;height:6px}
.mw.before{background:#EFE9D8}.mw-top{height:16px;background:#5A3F2B}
.mw-ban{display:flex;gap:6px;padding:8px;height:52px}.mw-ban u{flex:1;background:#6FA7A6}.mw-ban u+u{background:#D99A5B}
.mw-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:0 8px}.mw-cols i{height:34px;background:#D2C8B3}
.mw.after .mw-body{padding:8px;display:flex;flex-direction:column;gap:7px}.mw-hero{height:62px;border-radius:7px;background:radial-gradient(60% 50% at 70% 25%,rgba(255,244,230,.7),transparent),linear-gradient(160deg,#E7D7CC,#B9A28D)}
.mw-row{display:flex;gap:6px}.mw-row i{flex:1;height:22px;border-radius:5px;background:#F0EEEA}
.mw .mk-btn{width:42px;height:14px;border-radius:5px}
.fn-row{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center}
.fn-l{font-size:16px}.fn-b{height:22px;border-radius:11px;background:rgba(255,255,255,.1);overflow:hidden;display:block}
.fn-b i{display:block;height:100%;width:var(--w);border-radius:11px;background:linear-gradient(90deg,#35A6DE,#1BB58C)}
.fn-row.bad .fn-b i{background:linear-gradient(90deg,#E8683A,#EBA13A)}
.drop{margin:0;font-size:18px;color:#fff;padding-top:4px}
.map{position:relative;height:230px;border-radius:12px;overflow:hidden;background:#1B2430}
.map svg{position:absolute;inset:0;width:100%;height:100%}.map path{fill:none;stroke:rgba(255,255,255,.14);stroke-width:5;stroke-linecap:round}
.mp{position:absolute;left:var(--x);top:var(--y);width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;display:grid;place-items:center;font:600 16px/1 var(--font);background:#fff;color:#151514}
.mp.me{background:#2F6BFF;color:#fff;box-shadow:0 0 0 6px rgba(47,107,255,.35);width:34px;height:34px;margin:-17px 0 0 -17px}
.v4 .btn{align-self:flex-start}
.tp:not([hidden]) .viz .fn-b i{animation:grow .9s cubic-bezier(.16,.84,.3,1) both;animation-delay:calc(var(--n,0)*140ms)}
.tp:not([hidden]) .viz .mp{animation:popin .45s ease both;animation-delay:calc(var(--n,0)*90ms)}
.tp:not([hidden]) .viz .mw,.tp:not([hidden]) .viz .bub,.tp:not([hidden]) .viz .drop{animation:rise .55s ease both}
.tp:not([hidden]) .viz .mw.after,.tp:not([hidden]) .viz .bub.a+.btn{animation-delay:.25s}
@keyframes grow{from{width:0}}
@keyframes popin{from{opacity:0;transform:scale(.4)}}
@keyframes rise{from{opacity:0;transform:translateY(10px)}}
/* 9 Grey Aesthetics */
.gaband{padding-block:var(--sp) 56px}
.gaband .h72{text-align:center;margin-bottom:56px}
.ga-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.ga-text{display:flex;flex-direction:column;gap:36px;align-items:flex-start}
.gaband .lead{color:rgba(255,255,255,.92);max-width:44ch}
.gstats{display:flex;gap:48px;flex-wrap:wrap}
.gs{display:flex;flex-direction:column;gap:6px}
.gs-n{font:500 120px/.9 var(--num);font-variant-numeric:tabular-nums;color:#fff;display:flex;align-items:baseline}.gs-n i{font-style:normal;font-size:.7em;color:#8FB2FF;margin-left:4px}
.gs-l{font-size:18px;color:rgba(255,255,255,.88);max-width:14ch}
.ga-ph{aspect-ratio:5/4;border-radius:20px}
.ga-ph::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 120% at 50% 45%,transparent 55%,rgba(0,0,0,.55) 100%)}
.ga-ph::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.tiers{padding-top:var(--sp)}
/* 12 journey */
.journey{padding-block:var(--sp)}.journey .h44{margin-bottom:56px}
.jn-wrap{position:relative}
.jn-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.jn-track{position:absolute;top:35px;left:12.5%;right:12.5%;height:2px;background:var(--rule)}
.jn-fill{display:block;height:100%;background:var(--ink);transform-origin:0 50%;transform:scaleX(var(--p,1))}
.jn{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;position:relative}
.jn-ic{width:72px;height:72px;border-radius:50%;background:#F4F4F4;box-shadow:0 0 0 8px #fff;display:grid;place-items:center;transition:transform .25s}
.jn:hover .jn-ic{transform:translateY(-3px)}
.jn-ic svg{width:32px;height:32px}
.jn h3{font-size:22px;font-weight:500}.jn p{margin:0;font-size:18px;color:var(--grey);max-width:22ch}
.jn.last .jn-ic{background:#000;color:#fff}.jn.last h3{font-weight:600}
@media (max-width:1180px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.ga-grid{grid-template-columns:1fr}.gaband .h72{font-size:56px;line-height:1.05}.demo{width:300px}}
@media (max-width:760px){
 .pair{grid-template-columns:1fr}.ba3{padding-block:24px 32px}.ba3-head .h56{font-size:40px;line-height:44px}
 .ptabs.light{margin-bottom:24px}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile:last-child{grid-column:1/-1;max-width:calc(50% - 6px);justify-self:center;width:100%}
 .ringw{width:112px;height:112px}.tile-n{font-size:44px}
 .expand-line{margin:-12px auto 28px}
 .demo{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;margin:-40px 12px 0}.d1,.d2,.d3,.d4{left:auto;right:auto;top:auto;bottom:auto}
 .v0-pair{grid-template-columns:1fr}.mw{height:130px}
 .fn-row{grid-template-columns:100px 1fr;gap:10px}
 .gs-n{font-size:88px}.gstats{gap:28px}.gaband .h72{font-size:40px;line-height:42px;margin-bottom:32px}
 .ga-grid{gap:32px}
 .jn-list{grid-template-columns:1fr;gap:28px;padding-left:0}
 .jn{display:grid;grid-template-columns:64px 1fr;column-gap:18px;row-gap:2px;text-align:left;align-items:start;justify-items:start}
 .jn-ic{grid-row:1/3;width:64px;height:64px}.jn h3{align-self:end}.jn p{max-width:none;margin:0}
 .jn-track{left:31px;right:auto;top:32px;bottom:60px;width:2px;height:auto}
 .jn-fill{width:100%;height:100%;transform-origin:50% 0;transform:scaleY(var(--p,1))}
}
@media (prefers-reduced-motion:reduce){
 .ri *,.tile *,.viz *,.demo *,.ex{animation:none!important}
 .js-rv .demo .res{transform:none}
}
/* round 3 fix round: deeper general gradient on the growth hero, firmer shadow on small hero text, AA fixes */
.hero.short .hero-photo::after{background:linear-gradient(180deg,rgba(18,42,78,.7) 0%,rgba(18,42,78,.6) 34%,rgba(18,42,78,.5) 62%,rgba(18,42,78,.46) 100%)}
.chk-label,.chk-note,.hero-capt{text-shadow:0 1px 3px rgba(0,0,0,.6),0 2px 18px rgba(0,0,0,.55)}
.bub.q{background:#2456DB}
.chk-label,.chk-note{text-shadow:0 0 4px rgba(0,0,0,.8),0 0 10px rgba(0,0,0,.65),0 1px 18px rgba(0,0,0,.55)}
.demo.glass{background:rgba(16,20,30,.82)}
.d3{right:-52px}
.pw>figcaption.caps{color:#4a4a4a}
.hero.short .hero-photo::after{background:linear-gradient(180deg,rgba(18,42,78,.72) 0%,rgba(18,42,78,.64) 34%,rgba(16,36,68,.62) 62%,rgba(16,36,68,.62) 100%)}
.d-row .tickm{width:26px;height:26px;font-size:16px;background:#2456DB}


/* ================= round 4 (2026-10-05): real-looking mocks, auto-advance, devices ================= */
/* shared bits */
.star{width:16px;height:16px;fill:#F5C04A;flex:none}
.stars{display:inline-flex;gap:2px;align-items:center}
.tz{white-space:pre-wrap}
.tickm,.d-row .tickm{width:26px;height:26px;border-radius:50%;background:#2456DB;display:grid;place-items:center;font-size:16px;color:#fff;flex:none}
/* 1 hero: two scorecards */
.hero-h{font-size:96px;line-height:.94;letter-spacing:-1.9px;max-width:18ch;padding-bottom:.06em}
.hero-cards{display:grid;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);align-items:center;width:min(1180px,100%);margin-top:36px;text-align:left}
.sc2{width:auto;padding:22px 28px 26px;gap:18px;position:relative;z-index:2}
.sc2 .sc-head{min-height:44px}
.sc2-t{font:500 20px/1 var(--font);letter-spacing:2px;text-transform:uppercase;margin:0}
.r2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:end}
.r2-l{display:flex;flex-direction:column;gap:3px}
.r2-d{font-size:16px;line-height:1.35;color:rgba(255,255,255,.92)}
.r2 .num{font-size:58px;line-height:.9}.r2 .num small{font-size:20px}
.r2 .sc-bar{grid-column:1/-1;height:8px;border-radius:4px}
.sc2.before .sc-bar i{background:linear-gradient(90deg,#E8683A,#EBA13A)}
.sc2.after .sc-bar i{background:linear-gradient(90deg,#1BB58C,#35A6DE);transition:width 1.6s cubic-bezier(.16,.84,.3,1)}
.sc2.after .sc-bar i.noanim{transition:none}
.hc-arrow{display:grid;place-items:center;color:#fff}
.hc-arrow svg{width:64px;height:28px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 6px rgba(0,0,0,.5))}
.hc-arrow .al{stroke-dasharray:6 8;animation:dashmove 1s linear infinite}
.hc-arrow .ah{animation:nudge 1.4s ease-in-out infinite}
@keyframes dashmove{to{stroke-dashoffset:-14}}
@keyframes nudge{50%{transform:translateX(4px)}}
.hero-capt{margin:18px 0 0;font-size:18px;max-width:52ch}
.replay{margin-left:auto}
/* rotators: progress under the pill, pause button */
.rot-bar{display:flex;align-items:flex-start;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:36px}
.rot-bar .ptabs{margin-bottom:0}
.chartpanel .rot-bar{justify-content:flex-start;margin-bottom:44px}
.ptab{position:relative}
.ptab .pbar{position:absolute;left:14px;right:14px;bottom:-9px;height:3px;border-radius:2px;background:#fff;transform:scaleX(0);transform-origin:0 50%;opacity:0}
.ptab.dark-on-light .pbar{background:var(--ink)}
.rot.run .ptab[aria-selected=true] .pbar{opacity:1;animation:pbar var(--ms,7s) linear forwards}
.rot.paused .ptab .pbar{animation-play-state:paused}
@keyframes pbar{to{transform:scaleX(1)}}
.rot-pause{all:unset;box-sizing:border-box;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--white);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);transition:background-color .2s}
.rot-pause:hover{background:rgba(255,255,255,.14)}
.ba3 .rot-pause{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(21,21,20,.4)}.ba3 .rot-pause:hover{background:rgba(21,21,20,.07)}
.rot-pause svg{width:20px;height:20px;fill:currentColor}
.rot-pause .i-play{display:none}.rot-pause[aria-pressed=true] .i-play{display:block}.rot-pause[aria-pressed=true] .i-pause{display:none}
.rot-pause:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.rot-pause{display:none}}
/* 3 before and after: browser windows */
.ba3{padding-block:40px 64px}
.ex-stack{display:grid}
.ex{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s .6s}
.ex.on{opacity:1;visibility:visible;transition:opacity .6s ease,visibility 0s}
.ex[hidden]{display:block}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.pw{margin:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.pw>figcaption.caps{color:#4a4a4a}
.pw .mk-txt{padding:4px 0 0}
.bw{border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 18px 44px rgba(40,30,20,.18),0 0 0 1px rgba(0,0,0,.09);display:flex;flex-direction:column;min-width:0}
.bw-bar{display:flex;align-items:center;gap:12px;height:42px;padding:0 14px;background:#ECEAE6;flex:none}
.bw.before .bw-bar{background:#DDD6C2}
.bw-dots{display:flex;gap:6px}.bw-dots i{width:10px;height:10px;border-radius:50%;background:#C4BFB6}
.bw-url{flex:1;min-width:0;background:#fff;border-radius:999px;font-size:16px;line-height:28px;padding:0 14px;color:#4a4845;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bw-page{position:relative;height:470px;overflow:hidden;container-type:inline-size;background:#fff}
.site{height:100%;display:flex;flex-direction:column;min-width:0}
.pn{position:absolute;z-index:4;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:700 16px/1 Arial,sans-serif;color:#fff;background:#C8302A;right:-6px;top:-14px;box-shadow:0 0 0 3px #fff,0 4px 10px rgba(0,0,0,.3)}
.pn.ok{background:#1D5BF0}.pn svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pn.tl{left:-8px;right:auto;top:-10px}.pn.tr{right:-8px;top:-10px}
/* before: dated */
.s-before{background:#EFE9D8;color:#3B2D1E;font:400 16px/1.25 Georgia,"Times New Roman",serif}
.b-top{background:#5A3F2B;color:#F6EBCF;padding:8px 12px 6px;display:flex;justify-content:space-between;gap:8px 14px;align-items:flex-end;flex-wrap:wrap;flex:none}
.b-logo{font:700 18px/1.1 Georgia,serif;letter-spacing:.4px}
.b-hit{font-size:16px;color:#EBD9B2}
.b-nav{background:#7A5A3C;color:#F6EBCF;display:flex;flex-wrap:wrap;gap:2px 14px;padding:6px 12px;flex:none}
.b-nav span{text-decoration:underline}
.b-main{display:grid;grid-template-columns:150px minmax(0,1fr) 128px;gap:10px;padding:10px 12px;flex:1;min-height:0;overflow:hidden}
.b-photo{position:relative;height:150px;border:3px ridge #A58B63;background:linear-gradient(#F6B26B,#F2845C 55%,#2C6E8A 55%);overflow:hidden}
.b-photo svg{width:100%;height:100%;display:block}
.b-copy{position:relative;min-width:0}
.b-h{position:relative;display:inline-block;font:italic 700 27px/1.05 Georgia,serif;color:#8A2B1B;margin:0 0 6px;text-decoration:underline}
.b-copy p{position:relative;margin:0 0 7px;font-size:16px;line-height:1.2;text-align:justify}
.b-btns{display:flex;gap:6px}
.b-b{border:2px outset #C9BBA0;background:#D8CCB0;padding:0 6px;font:400 16px/20px Arial,sans-serif;color:#3B2D1E}
.b-side{position:relative;border:1px dashed #8A6F4E;background:#F7E7A4;padding:6px;display:flex;flex-direction:column;gap:6px;font-size:16px;line-height:1.15;color:#6B1F12;text-align:center;align-self:start}
.b-foot{flex:none;background:#E3DCC8;border-top:2px solid #8A6F4E;padding:6px 12px;display:flex;flex-wrap:wrap;gap:2px 14px;font-size:16px;color:#6B5A40;justify-content:space-between}
.b-tel{position:relative}
.b-svc{grid-template-columns:minmax(0,1fr) 128px}
.b-list{position:relative;list-style:square;margin:0;padding-left:20px;columns:2;column-gap:16px;font-size:16px;line-height:1.3}
.b-list li{break-inside:avoid;position:relative}.b-list em{font-style:normal;color:#8A2B1B;font-size:16px}
.b-contact{grid-template-columns:minmax(0,1fr)}
.b-form{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:4px 8px;margin:6px 0}
.b-form label{display:flex;flex-direction:column;font-size:16px;line-height:1.05}
.b-form i{display:block;height:14px;background:#fff;border:1px solid #8A6F4E;margin-top:1px}
/* after: modern */
.s-after{background:#fff;color:#151514;font:400 16px/1.4 var(--font);letter-spacing:0}
.a-nav{display:flex;align-items:center;gap:18px;padding:14px 22px;flex:none;border-bottom:1px solid #EEE9E3}
.a-logo{display:inline-flex;align-items:center;gap:8px;font:600 18px/1 var(--font);white-space:nowrap}.a-logo i{width:22px;height:22px;border-radius:7px;background:#151514}
.a-links{display:flex;gap:20px;margin-left:auto}
.a-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border-radius:8px;background:#151514;color:#fff;font:500 16px/1 var(--font);white-space:nowrap}
.a-btn.big{min-height:48px;padding:0 24px}.a-btn.wide{width:100%;margin-top:auto}
.a-hero{position:relative;margin:14px 22px 0;border-radius:14px;overflow:hidden;height:212px;flex:none;display:flex;align-items:flex-end}
.a-hero img,.a-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.a-art{background:radial-gradient(60% 70% at 82% 18%,#FFF1DE,transparent 65%),radial-gradient(40% 50% at 70% 85%,rgba(214,180,160,.8),transparent 70%),linear-gradient(135deg,#F3E4D8,#E3C9B7 60%,#CFAF9C)}
.a-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.74) 46%,rgba(255,255,255,0) 82%)}
.a-hc{position:relative;z-index:1;padding:18px 24px;max-width:64%}
.a-eyebrow{margin:0 0 4px;font:600 16px/1.2 var(--font);letter-spacing:1.4px;text-transform:uppercase;color:#4A4845}
.a-h{position:relative;display:inline-block;margin:0;font:600 30px/1.08 var(--font);letter-spacing:-.4px}
.a-sub{margin:8px 0 12px;font-size:16px;line-height:1.35;color:#2E2C2A}
.a-trust{display:flex;gap:6px 18px;flex-wrap:wrap;padding:14px 22px 0;font-size:16px;color:#2E2C2A;align-items:center}
.a-trust span{display:inline-flex;gap:6px;align-items:center}
.a-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 22px 0}
.a-cards>div{background:#F6F2EE;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:2px}.a-cards span{color:#4A4845}
.a-tp{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;padding:18px 22px;flex:1;min-height:0}
.a-tpm{display:flex;flex-direction:column;gap:10px;min-width:0}
.a-crumb{margin:0;font-size:16px;color:#4A4845}
.a-facts{position:relative;display:flex;flex-wrap:wrap;gap:8px}
.a-facts span{background:#EEF2FA;border-radius:999px;padding:6px 12px;font-size:16px}
.a-price{margin:0;font-size:18px}.a-price b{font:600 26px/1 var(--font)}
.a-who{margin:0;font-size:16px;line-height:1.4;color:#2E2C2A}
.a-faq{position:relative;border-top:1px solid #E6E2DC;padding-top:10px;display:flex;flex-direction:column;gap:2px}.a-faq span{color:#4A4845}
.a-side{background:#F6F2EE;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;align-self:start}
.a-rev{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.a-rev b{font-size:20px}
.a-note{font-size:16px;color:#4A4845;text-align:center}
.a-bk{padding:22px;display:flex;flex-direction:column;gap:16px;flex:1}
.a-bk .a-h{font-size:30px}
.a-step{position:relative;display:flex;flex-direction:column;gap:8px}.a-step b{font-weight:600}
.a-chips{display:flex;gap:8px;flex-wrap:wrap}
.a-chips em{font-style:normal;min-height:40px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1px #CFCAC3}
.a-chips em.on{background:#151514;color:#fff;box-shadow:none}
/* narrow window (phone): single column */
@container (max-width:540px){
 .a-links{display:none}.a-nav{padding:12px 14px}.a-btn{padding:0 14px}.a-nav .a-btn{margin-left:auto}
 .a-hero{margin:12px 14px 0;height:230px}.a-hc{max-width:100%;padding:16px 18px}.a-hero::after{background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.62))}
 .a-h{font-size:25px}.a-trust{padding:12px 14px 0}.a-cards{display:none}
 .a-tp{grid-template-columns:1fr;padding:14px;gap:12px}.a-side{display:none}.a-facts span{padding:4px 10px}
 .a-bk{padding:16px 14px;gap:12px}.a-bk .a-h{font-size:26px}
 .b-main{grid-template-columns:1fr;gap:8px}.b-side{display:none}.b-photo{height:96px}.b-svc{grid-template-columns:1fr}.b-list{columns:1}
 .b-form{grid-template-columns:repeat(2,1fr)}
 .b-top{padding:8px 10px 6px}.b-logo{font-size:16px}.b-hit{display:none}
}
/* 4 speed tiles: instrument rings */
.tiles{gap:16px}
.ringw{--rw:132;position:relative;width:132px;height:132px;display:grid;place-items:center}
.ring2{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:calc(200 / var(--rw));stroke-linecap:round}
.ring2 .trk{stroke:#0CCE6B;opacity:.15}
.ring2 .prg{stroke:#0CCE6B;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--v));filter:drop-shadow(0 0 2.5px rgba(12,206,107,.75))}
.tdot{position:absolute;inset:0;pointer-events:none;transform:rotate(calc(var(--v) * 3.6deg))}
.tdot::after{content:"";position:absolute;left:50%;top:4%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #0CCE6B,0 0 10px 3px rgba(12,206,107,.7)}
.tile-n{font-size:52px}
.js-rv .tile:not(.go):not(.done){opacity:0;transform:scale(.92)}
.js-rv .tile:not(.go):not(.done) .prg{stroke-dashoffset:100}
.js-rv .tile:not(.go):not(.done) .tdot{transform:rotate(0deg)}
.js-rv .tile.go{transition:opacity .5s ease,transform .5s cubic-bezier(.3,1.3,.5,1),box-shadow .25s ease-out}
.js-rv .tile.go .prg{transition:stroke-dashoffset 1.3s cubic-bezier(.16,.84,.3,1)}
.js-rv .tile.go .tdot{transition:transform 1.3s cubic-bezier(.16,.84,.3,1)}
.stat-mine{margin:44px auto 0;font-size:22px;line-height:1.35;max-width:36ch;font-weight:500}
.stat .cap{margin-top:18px}
/* 5 what we do: devices over soft backdrops */
.bd img{filter:blur(14px) saturate(.85);transform:scale(1.14)}
.ph.bd:hover img,.xc:hover .bd img{transform:scale(1.14)}
.bd-tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,30,56,.34),rgba(14,30,56,.6))}
.dev{position:absolute;z-index:2}
.dv{position:absolute;left:0;right:0;top:56px;height:290px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 80%,transparent);mask-image:linear-gradient(#000 80%,transparent)}
.xc .dev{left:50%;top:14px;transform:translateX(-50%)}
.xc .dev.paper{top:8px;transform:translateX(-50%) rotate(-2deg)}
.laptop{width:470px}
.lp-screen{height:268px;border:8px solid #1B1B1D;border-bottom-width:10px;border-radius:14px 14px 0 0;background:#fff;overflow:hidden;container-type:inline-size;box-shadow:0 0 0 1px #3a3a3d}
.lp-base{height:12px;width:108%;margin-left:-4%;background:linear-gradient(#DCDCDF,#B6B6BB);border-radius:0 0 14px 14px;box-shadow:0 14px 26px rgba(0,0,0,.35)}
.phone{width:250px;height:430px;border-radius:36px;background:#101012;padding:9px;box-shadow:0 0 0 2px #2c2c30,0 22px 44px rgba(0,0,0,.4)}
.ph-notch{position:absolute;z-index:3;top:9px;left:50%;width:88px;height:24px;margin-left:-44px;background:#101012;border-radius:0 0 16px 16px}
.ph-scr{height:100%;border-radius:28px;background:#F3F4F8;overflow:hidden;color:#151514;position:relative}
.ph-head{padding:34px 14px 10px;font:600 16px/1.2 var(--font);text-align:center;background:#fff;border-bottom:1px solid #E3E5EA}
.chat{display:flex;flex-direction:column;gap:10px;padding:14px 12px}
.bub2{padding:10px 13px;border-radius:16px;font-size:16px;line-height:1.35;max-width:90%}
.bub2.q{align-self:flex-end;background:#2456DB;color:#fff;border-bottom-right-radius:4px}
.bub2.a{display:flex;gap:8px;align-items:flex-start;background:#fff;color:#151514;box-shadow:0 0 0 1px #E3E5EA;border-bottom-left-radius:4px}
.glass .bub2.a,.sv .bub2.a{background:rgba(255,255,255,.13);color:#fff;box-shadow:none}
.typing{display:none;align-self:flex-start;gap:5px;padding:13px 15px;background:#fff;border-radius:16px;border-bottom-left-radius:4px;box-shadow:0 0 0 1px #E3E5EA}
.glass .typing,.sv .typing{background:rgba(255,255,255,.13);box-shadow:none}
.typing.show{display:flex}
.typing i{width:8px;height:8px;border-radius:50%;background:#8E94A2;animation:blink 1s ease-in-out infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
.glass .typing i,.sv .typing i{background:#C9D6FF}
@keyframes blink{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.spk2{flex:none;width:22px;height:22px;fill:#5B8CFF;margin-top:1px}.glass .spk2,.sv .spk2{fill:#8FB2FF}
.paper{width:272px;background:#fff;color:#1D1D1B;padding:18px 18px 20px;border-radius:4px;box-shadow:0 20px 44px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:8px}
.pp-head{display:flex;flex-direction:column;gap:2px;border-bottom:2px solid #1D5BF0;padding-bottom:8px;margin-bottom:2px}.pp-head b{font-size:18px}.pp-head span{font-size:16px;color:#4A4845;letter-spacing:1.2px;text-transform:uppercase}
.paper p{margin:0;font-size:16px;line-height:1.4}
.paper mark{background:#FFE56A;color:#151514;font-weight:600;padding:0 3px}
@media (max-width:760px){
 .xc-photo.bd{height:340px}.dv{top:20px;height:310px}
}
/* 6 story arc: devices and glass cards */
.arc-ph.bd .dev{top:36px}
.arc-ph.bd .dev.phone.big{width:262px;height:440px}
.arc-row:nth-child(2) .arc-ph .dev{right:34px}
.arc-row:nth-child(3) .arc-ph .dev{left:34px}
.arc-row:nth-child(4) .arc-ph .dev{left:50%;transform:translateX(-50%);top:84px}
.laptop.big{width:440px}
.cal{display:flex;flex-direction:column}
.cal-t{margin:0;padding:12px 14px 4px;font:600 18px/1.2 var(--font);background:#fff}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px 0;padding:6px 10px 10px;background:#fff;text-align:center;font-size:16px}
.cal-h{color:#6A6D76;font-size:16px}.cal-d{display:grid;place-items:center;height:32px;border-radius:50%}
.cal-d.sel{background:#2456DB;color:#fff;font-weight:600}
.cal-b{margin:auto 14px 18px;display:grid;place-items:center;min-height:46px;border-radius:10px;background:#151514;color:#fff;font:500 16px/1 var(--font)}
.mapscr{background:#E9EEF2}
.mapsvg{position:absolute;inset:0;width:100%;height:100%}
.m-bg{fill:#E7ECEF}.m-water{fill:#BCD8EA}.m-park{fill:#CFE5C6}.m-road path{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round}.m-road .m-main{stroke:#F6DFA4;stroke-width:9}
.mapsvg.dark .m-bg{fill:#18202B}.mapsvg.dark .m-water{fill:#142B3F}.mapsvg.dark .m-park{fill:#1C3026}.mapsvg.dark .m-road path{stroke:#2A3646;stroke-width:6}.mapsvg.dark .m-road .m-main{stroke:#3A4A5E;stroke-width:8}
.mpl{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#7C8696;box-shadow:0 0 0 3px #fff}
.mpl.me{width:26px;height:26px;margin:-13px 0 0 -13px;background:#2456DB;box-shadow:0 0 0 4px #fff,0 0 0 9px rgba(36,86,219,.3)}
.mpl.me b{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);white-space:nowrap;background:#fff;color:#151514;font:600 16px/1 var(--font);padding:7px 10px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.map-card{position:absolute;left:10px;right:10px;bottom:12px;background:#fff;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;box-shadow:0 6px 18px rgba(0,0,0,.2);font-size:16px}
.map-card span{display:flex;align-items:center;gap:6px;color:#3A3D45}
.dash{padding:14px 16px;background:#F7F8FB;color:#151514;display:flex;flex-direction:column;gap:10px}
.ds-t{margin:0;font:600 16px/1 var(--font);letter-spacing:1.4px;text-transform:uppercase;color:#4A4D56}
.ds-k{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}.ds-k span{display:flex;flex-direction:column;font-size:16px;color:#4A4D56}.ds-k b{font:500 40px/1 var(--num);color:#151514}
.dash svg{width:100%;height:96px;display:block;margin-top:auto}
.ds-a{fill:rgba(36,86,219,.14)}.ds-l{fill:none;stroke:#2456DB;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:0;vector-effect:non-scaling-stroke}
.demo.glass{background:rgba(16,20,30,.86)}
.d1{right:-52px;bottom:-34px}.d2{left:-52px;bottom:-34px}.d3{right:-52px;bottom:-72px}.d4{left:-52px;bottom:-34px}
.demo .d-svc b{font-size:18px}
.tchip{position:relative}
.dbtn{position:relative;overflow:hidden;transition:transform .15s ease,background-color .3s ease,color .3s ease}
.dbtn .b2{display:none;align-items:center;gap:8px}.dbtn .b2 svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.dbtn.done{background:#2FB879;color:#05231A}.dbtn.done .b1{display:none}.dbtn.done .b2{display:inline-flex}
.dbtn.press{transform:scale(.95)}
.stars2{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stars2 .rate{margin-left:0}
/* arc demo animation (only with JS and motion) */
.js-rv .demo{opacity:0;transform:translateY(26px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}
.js-rv .demo.in{opacity:1;transform:none}
.js-rv .demo>*:not(.sc-head){opacity:0;transform:translateY(10px)}
.js-rv .demo.in>*:not(.sc-head){opacity:1;transform:none;transition:opacity .45s ease,transform .45s ease;transition-delay:calc(var(--k,0) * 170ms + 350ms)}
.demo>:nth-child(2){--k:0}.demo>:nth-child(3){--k:1}.demo>:nth-child(4){--k:2}.demo>:nth-child(5){--k:3}.demo>:nth-child(6){--k:4}
.js-rv .demo .d-item,.js-rv .demo .chip-up{opacity:0;transform:translateY(10px)}
.js-rv .demo.in .d-row{opacity:1;transform:none;transition:opacity .4s ease,transform .4s ease;transition-delay:calc(var(--n,0) * 480ms + 350ms)}
.js-rv .demo .tickm{transform:scale(0)}
.js-rv .demo.in .tickm{transform:scale(1);transition:transform .4s cubic-bezier(.3,1.7,.5,1);transition-delay:calc(var(--n,0) * 480ms + 750ms)}
.js-rv .demo .res{transform:translateY(calc(var(--d) * 68px));opacity:1}
.js-rv .demo.in .res{transform:none;transition:transform .9s cubic-bezier(.4,0,.2,1) 1.1s}
.js-rv .demo.in .chip-up{opacity:1;transform:none;transition:opacity .5s ease 1.9s,transform .5s ease 1.9s}
.js-rv .demo .reslist,.js-rv .demo .chat{opacity:1;transform:none}
/* 7 the whole path */
#s7 .wp{max-width:1312px;margin:0 auto;padding:112px 64px 104px}
.wp-head{margin-bottom:56px}.wp-line{max-width:52ch;margin:14px auto 0;color:#4F4D4B}
.wp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:72px;align-items:center;padding-block:40px}
.wp-row+.wp-row{border-top:1px solid rgba(21,21,20,.14)}
.wp-text{display:flex;flex-direction:column;gap:12px;max-width:500px;position:relative}
.wp-n{width:44px;height:44px;border-radius:50%;background:#151514;color:#fff;display:grid;place-items:center;font:500 20px/1 var(--font)}

.wp-text .body{font-size:20px;line-height:1.5}
.wp-bl{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.wp-bl li{position:relative;padding-left:32px;font-size:18px;line-height:1.35}
.wp-bl li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:#1D5BF0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l3 3 5-6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.wp-text .cite{margin:4px 0 0;font-size:16px;color:#4F4D4B}
.wp-v{background:#151513;color:#fff;border-radius:20px;padding:26px;min-height:330px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 24px 50px rgba(40,24,16,.2);overflow:hidden;position:relative}
.wf-search{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border-radius:999px;padding:0 18px;min-height:48px;font-size:18px}
.wf-search svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;flex:none}
.caret{width:2px;height:22px;background:#fff;animation:blink2 1s steps(1) infinite}
@keyframes blink2{50%{opacity:0}}
.wf-body{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;flex:1;min-height:0}
.wf-list{position:relative;display:flex;flex-direction:column;gap:6px}
.wf-r{display:flex;align-items:center;gap:12px;height:46px;padding:0 12px;border-radius:10px;background:rgba(255,255,255,.07);font-size:16px;position:relative;z-index:1}
.wf-r.me{background:rgba(47,107,255,.34);box-shadow:inset 0 0 0 1.5px #8FB2FF;font-weight:600}
.rk{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:600;background:rgba(255,255,255,.16);font-size:16px}
.wf-scan{position:absolute;left:0;right:0;top:0;height:46px;border-radius:10px;border:2px solid #8FB2FF;box-shadow:0 0 18px rgba(143,178,255,.55);opacity:0;pointer-events:none;z-index:2}
.wf-map{position:relative;border-radius:14px;overflow:hidden;min-height:230px}
.wf-map .mapsvg{position:absolute;inset:0}
.wf-pin{position:absolute;left:52%;top:46%;width:34px;height:34px;margin:-34px 0 0 -17px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.wf-pin svg{width:100%;height:100%;fill:#2F6BFF}.wf-pin svg circle{fill:#fff}
.wf-pin::after{content:"";position:absolute;left:50%;bottom:-4px;width:30px;height:12px;margin-left:-15px;border-radius:50%;background:rgba(47,107,255,.4)}
.wc-t{margin:0 0 4px;font:600 22px/1.2 var(--font)}
.wc-r{display:grid;grid-template-columns:30px 132px minmax(0,1fr);gap:12px;align-items:center;min-height:46px;border-top:1px solid rgba(255,255,255,.12);font-size:18px;line-height:1.3}
.wc-r b{font-weight:600}.wc-r span:last-child{color:rgba(255,255,255,.88)}
.wc-b{width:26px;height:26px;border-radius:7px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5);display:grid;place-items:center}
.wc-b svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.wc-r.on .wc-b,.wp-row .wc-b{background:#2FB879;box-shadow:none}
.wc-b{background:#2FB879;box-shadow:none}
.wv-book{flex-direction:row;gap:28px;align-items:center}
.wb-n{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:150px}
.wb-c{font:500 150px/.9 var(--num);font-variant-numeric:tabular-nums;color:#fff}.wb-n span{font-size:20px;color:rgba(255,255,255,.9)}
.wb-steps{display:grid;flex:1;min-width:0}
.wb-old,.wb-new{grid-area:1/1;display:flex;flex-direction:column;gap:8px}
.wb-s{display:flex;align-items:center;gap:12px;min-height:40px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.1);font-size:16px}
.wb-s em{font-style:normal;flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);font-weight:600}
.wb-new{opacity:0;justify-content:center}.wb-new .wb-s{background:rgba(47,184,121,.22);box-shadow:inset 0 0 0 1.5px #2FB879}.wb-new .wb-s em{background:#2FB879;color:#05231A}
.wk-list{position:relative;height:310px;padding-left:40px}
.wk-nums{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:6px}.wk-nums span{height:46px;width:28px;display:grid;place-items:center;font-size:16px;font-weight:600;color:rgba(255,255,255,.8)}
.wk-r{position:absolute;left:40px;right:0;top:0;height:46px;display:flex;align-items:center;padding:0 16px;border-radius:10px;background:rgba(255,255,255,.07);font-size:18px;transform:translateY(calc(var(--y) * 52px))}
.wk-r.me{background:rgba(235,161,58,.28);box-shadow:inset 0 0 0 1.5px #EBA13A;font-weight:600;z-index:2}
.wv-comp{flex-direction:column}
.wk-chip{position:absolute;right:26px;top:22px;display:grid;font-size:16px;font-weight:600}
.wk-chip b{grid-area:1/1;justify-self:end;padding:7px 12px;border-radius:999px;background:#EBA13A;color:#241A06;white-space:nowrap}
.wk-chip .c2{background:#2FB879;color:#05231A;opacity:0}
/* the whole path: motion (only with JS and motion) */
.js-rv .wp-row:not(.in) .wf-pin{opacity:0;transform:translateY(-30px)}
.js-rv .wp-row.in .wf-pin{animation:pindrop .6s cubic-bezier(.3,1.4,.5,1) 3.3s both}
.js-rv .wp-row:not(.in) .wf-r.me{background:rgba(255,255,255,.07);box-shadow:none}
.js-rv .wp-row.in .wf-r.me{animation:mehi .01s 3.2s both}
.js-rv .wp-row.in .wf-scan{animation:scan 2.2s 1.5s ease-in-out both}
.js-rv .wp-row:not(.in) .wf-r{opacity:.0}
.js-rv .wp-row.in .wf-r{opacity:1;transition:opacity .4s ease;transition-delay:calc(var(--i) * 90ms + 1000ms)}
@keyframes scan{0%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(calc(3 * 52px))}100%{opacity:0;transform:translateY(calc(3 * 52px))}}
@keyframes pindrop{from{opacity:0;transform:translateY(-34px)}}
@keyframes mehi{from{background:rgba(255,255,255,.07);box-shadow:none}to{background:rgba(47,107,255,.34);box-shadow:inset 0 0 0 1.5px #8FB2FF}}
.js-rv .wp-row:not(.in) .wc-b svg{stroke-dashoffset:1}
.js-rv .wp-row:not(.in) .wc-b{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.js-rv .wp-row.in .wc-b svg{animation:tick .45s ease-out both;animation-delay:calc(var(--i) * .65s + .5s)}
.js-rv .wp-row.in .wc-b{animation:chkbg .01s both;animation-delay:calc(var(--i) * .65s + .55s)}
@keyframes tick{from{stroke-dashoffset:1}}
@keyframes chkbg{from{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}to{background:#2FB879;box-shadow:none}}
.js-rv .wp-row:not(.in) .wc-r span:last-child,.js-rv .wp-row:not(.in) .wc-r b{opacity:.75}
.js-rv .wp-row.in .wc-r span:last-child,.js-rv .wp-row.in .wc-r b{opacity:1;transition:opacity .4s ease;transition-delay:calc(var(--i) * .65s + .5s)}
.js-rv .wp-row.in .wb-old .wb-s{animation:collapse .5s ease both;animation-delay:calc((5 - var(--i)) * .38s + 1s)}
.js-rv .wp-row.in .wb-old .wb-s:nth-child(-n+3){animation:none}
.js-rv .wp-row.in .wb-old{animation:fadeold .6s ease 3.5s both}
.js-rv .wp-row.in .wb-new{animation:fadenew .6s ease 3.6s both}
@keyframes collapse{to{opacity:.12;transform:translateX(24px)}}
@keyframes fadeold{to{opacity:0}}
@keyframes fadenew{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.js-rv .wp-row:not(.in) .wk-r{transform:translateY(calc(var(--y) * 52px))}
.js-rv .wp-row.in .wk-r{animation:slide 1.1s cubic-bezier(.4,0,.2,1) 1.6s both}
@keyframes slide{from{transform:translateY(calc(var(--y) * 52px))}to{transform:translateY(calc((var(--y) + var(--m,0)) * 52px))}}
.js-rv .wp-row.in .wk-chip .c4{animation:chipout .4s ease 2.5s both}.js-rv .wp-row.in .wk-chip .c2{animation:chipin .4s ease 2.6s both}
@keyframes chipout{to{opacity:0}}@keyframes chipin{to{opacity:1}}
/* 8 situation tabs: one dark layout, height fixed to the tallest */
.tp-stack{display:grid}
.tp,.tp[hidden]{display:grid;grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s .5s}
.tp.on{opacity:1;visibility:visible;transition:opacity .5s ease,visibility 0s}
.sv{background:#1A1A18;border-radius:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 24px 50px rgba(0,0,0,.35);padding:30px;min-height:440px;display:flex;flex-direction:column;justify-content:center;color:#fff;min-width:0}
.sv .chart{width:100%}
.sv-t{margin:0 0 4px;font:600 16px/1.2 var(--font);letter-spacing:1.6px;text-transform:uppercase;color:rgba(255,255,255,.88)}
.sv-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.sv-pair figure{margin:0;display:flex;flex-direction:column;gap:10px}
.mw{border-radius:10px;overflow:hidden;background:#fff;height:300px;display:flex;flex-direction:column;box-shadow:0 12px 28px rgba(0,0,0,.45);color:#151514}
.mw-bar{height:24px;flex:none;background:#ECEAE6;display:flex;align-items:center;gap:5px;padding:0 10px}.mw-bar i{width:8px;height:8px;border-radius:50%;background:#C4BFB6}
.mw.before{background:#EFE9D8;font-family:Georgia,"Times New Roman",serif}.mw.before .mw-bar{background:#DDD6C2}
.mw-top{background:#5A3F2B;color:#F6EBCF;padding:8px 10px;font:700 16px/1.15 Georgia,serif;letter-spacing:.3px}
.mw-c{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:12px 10px}
.mw-ph{height:84px;border:2px ridge #A58B63;background:linear-gradient(#F6B26B,#F2845C 55%,#2C6E8A 55%)}
.mw-h{margin:0 0 6px;font:italic 700 20px/1.05 Georgia,serif;color:#8A2B1B;text-decoration:underline}.mw-p{margin:0;font-size:16px;line-height:1.2}
.mw.after{font-family:var(--font)}
.mw-nv{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #EEE9E3;font-size:16px}.mw-nv b{font-weight:600}
.mw-nv span,.mw-bt{background:#151514;color:#fff;border-radius:7px;padding:7px 12px;font-size:16px;line-height:1.1;white-space:nowrap}
.mw-c2{flex:1;padding:16px 14px;background:linear-gradient(135deg,#F7ECE2,#E4CDBD);display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.mw-h2{margin:0;font:600 24px/1.1 var(--font);letter-spacing:-.3px}.mw-p2{margin:0;font-size:16px;color:#2E2C2A}
.fu-r{display:grid;grid-template-columns:210px minmax(0,1fr) 78px;gap:14px;align-items:center;min-height:50px}
.fu-l{font-size:18px;line-height:1.2}
.fu-b{height:26px;border-radius:13px;background:rgba(255,255,255,.1);overflow:hidden;display:block}
.fu-b i{display:block;height:100%;width:var(--w);border-radius:13px;background:linear-gradient(90deg,#35A6DE,#1BB58C)}
.fu-r.bad .fu-b i{background:linear-gradient(90deg,#E8683A,#EBA13A)}
.fu-n{text-align:right;font:500 34px/1 var(--num);font-variant-numeric:tabular-nums}
.fu-call{margin:10px 0 0;padding:14px 16px;border-radius:12px;background:rgba(232,104,58,.16);box-shadow:inset 0 0 0 1px rgba(235,161,58,.6);font-size:18px;line-height:1.4}
.sv-map{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:stretch}
.sm-map{position:relative;border-radius:14px;overflow:hidden;min-height:340px}
.sm-map .mapsvg{position:absolute;inset:0}
.mp2{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;display:grid;place-items:center;font:600 16px/1 var(--font);background:#fff;color:#151514}
.mp2.me{width:38px;height:38px;margin:-19px 0 0 -19px;background:#2F6BFF;color:#fff;box-shadow:0 0 0 7px rgba(47,107,255,.35)}
.sm-list{display:flex;flex-direction:column;gap:6px}
.sm-r{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:10px;background:rgba(255,255,255,.07);font-size:16px}
.sm-r.me{background:rgba(47,107,255,.34);box-shadow:inset 0 0 0 1.5px #8FB2FF;font-weight:600}
.sv-ai{display:flex;flex-direction:column;gap:16px;max-width:560px;width:100%;margin:0 auto}
.sv-ai .bub2{font-size:20px;line-height:1.4;padding:14px 18px}.sv-ai .spk2{width:26px;height:26px}
.sv-ai .btn{align-self:flex-start}
/* situation motion (replays each time a tab opens) */
.tp.on .sv-pair .mw{animation:rise2 .6s ease both}.tp.on .sv-pair figure:last-child .mw{animation-delay:.5s}
.tp.on .sv-pair .mw.after .mw-c2{animation:wipe .9s ease .9s both}
.tp.on .fu-b i{animation:grow2 1s cubic-bezier(.16,.84,.3,1) both;animation-delay:calc(var(--i) * .3s + .2s)}
.tp.on .fu-r{animation:rise2 .5s ease both;animation-delay:calc(var(--i) * .3s)}
.tp.on .fu-call{animation:rise2 .6s ease 1.5s both}
.tp.on .mp2{animation:popin2 .45s cubic-bezier(.3,1.5,.5,1) both;animation-delay:calc(var(--n) * .22s + .2s)}
.tp.on .mp2.me{animation:popin2 .6s cubic-bezier(.3,1.5,.5,1) 1.9s both}
.tp.on .sm-r{animation:slidein .5s ease both;animation-delay:calc(var(--i) * .22s + .2s)}
.tp.on .sm-r.me{animation:slidein .5s ease 1.8s both,pulse 1.6s ease-in-out 2.5s 2}
.tp.on .chart .ln{stroke-dasharray:1;animation:linedraw 1.6s ease-out .2s both}
@keyframes rise2{from{opacity:0;transform:translateY(16px)}}
@keyframes wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes grow2{from{width:0}}
@keyframes popin2{from{opacity:0;transform:scale(.3)}}
@keyframes slidein{from{opacity:0;transform:translateX(18px)}}
@keyframes pulse{50%{box-shadow:inset 0 0 0 1.5px #8FB2FF,0 0 0 6px rgba(47,107,255,.35)}}
@keyframes linedraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.chart .ln{stroke-dasharray:none}
/* 12 journey: steps light up one after another */
.jn-fill{transition:transform .7s linear}
.jn-ic,.jn h3,.jn p{transition:background-color .4s ease,color .4s ease,opacity .4s ease,transform .4s ease}
.js-rv .jn:not(.on) .jn-ic{opacity:.4}
.js-rv .jn:not(.on) .jn-ic{background:#F4F4F4;color:var(--ink)}
.jn.on .jn-ic{transform:scale(1.08)}
.js-rv .jn.last.on .jn-ic{background:#000;color:#fff}
.jn-wrap{--p:1}
/* footer: single note, once */
.foot-ex{flex-basis:100%;margin:0;font-size:16px;line-height:1.5;color:#C9C6C1}
/* tablet */
@media (max-width:1180px){
 .hero-h{font-size:80px}.hero-cards{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr)}.r2 .num{font-size:48px}
 .arc-row:nth-child(n) .arc-ph .dev{top:30px}
 .wp-row{gap:40px}.wp-text .body{font-size:18px}
 .sv-pair{grid-template-columns:1fr 1fr}.fu-r{grid-template-columns:150px minmax(0,1fr) 70px}.sv-map{grid-template-columns:1fr 1fr}
 #s7 .wp{padding-inline:40px}
}
/* phone */
@media (max-width:760px){
 .hero-h{font-size:48px;line-height:.98;letter-spacing:-1px}
 .hero-cards{grid-template-columns:1fr;gap:6px;margin-top:22px}
 .hc-arrow{transform:rotate(90deg);height:40px}
 .sc2{padding:16px 16px 20px;gap:14px}.r2 .num{font-size:48px}
 .hero-capt{font-size:16px}
 .rot-bar{justify-content:flex-start;margin-bottom:30px}
 .ba3 .rot-bar{justify-content:center}
 .pair{grid-template-columns:1fr;gap:24px}
 .bw-page{height:440px}
 .stat-mine{font-size:20px;margin-top:32px}
 .ringw{--rw:112;width:112px;height:112px}
 #s7 .wp{padding:64px 16px}.wp-head{margin-bottom:32px}
 .wp-row{grid-template-columns:1fr;gap:24px;padding-block:32px}
 .wp-v{padding:18px;min-height:0}
 .wf-body{grid-template-columns:1fr}.wf-map{min-height:200px}
 .wc-r{grid-template-columns:28px 108px minmax(0,1fr);gap:10px;font-size:16px}
 .wv-book{flex-direction:column;align-items:flex-start}.wb-c{font-size:110px}.wb-steps{width:100%}
 .wk-list{height:310px}
 .sv{padding:18px;min-height:0}
 .tp{gap:24px}
 .sv-pair{grid-template-columns:1fr}.mw{height:250px}
 .fu-r{grid-template-columns:1fr auto;gap:6px 10px}.fu-l{grid-column:1/-1;font-size:16px}.fu-b{grid-column:1}.fu-n{font-size:30px}
 .sv-map{grid-template-columns:1fr}.sm-map{min-height:240px}
 .sv-ai .bub2{font-size:18px}
 .arc-row:nth-child(n) .arc-ph .dev{top:26px}
 .arc-row:nth-child(2) .arc-ph .dev{right:50%;margin-right:-131px}.arc-row:nth-child(3) .arc-ph .dev{left:50%;margin-left:-131px}
 .arc-ph.bd .dev.phone.big{height:420px}
 .laptop.big{width:min(420px,calc(100% - 28px))}
 .laptop{width:min(440px,100%)}
 .jn-fill{transition:transform .7s linear}
}
@media (prefers-reduced-motion:reduce){
 .hc-arrow .al,.hc-arrow .ah{animation:none!important}
}
.hero-line{max-width:46ch}
.hero-in{padding-bottom:96px}
.b-photo .pn{left:4px;top:4px}
.b-tel{padding-left:36px}.b-tel .pn{left:0;top:-5px}
.a-hero{height:238px}.a-hero .pn{top:10px;right:10px}
.bw-page{height:460px}
.b-news{margin:8px 0 0!important;padding:4px 6px;background:#F7E7A4;border:1px dashed #8A2B1B;color:#6B1F12;text-align:left!important}
.pn.hl{left:-24px;right:auto;top:-8px}.pn.cr{right:-14px;top:-14px}
@container (max-width:540px){.pn.hl{left:-18px}}
.pn.in{position:relative;display:inline-grid;right:auto;left:auto;top:auto;margin-left:8px;vertical-align:middle;width:24px;height:24px;font-size:16px;box-shadow:0 0 0 2px #fff}
.pn.in svg{width:14px;height:14px}
.pn.hr{right:-36px;left:auto;top:-4px}
.b-small{margin:8px 0 0!important;font-size:16px;line-height:1.2!important;color:#6B5A40;text-align:left!important}
.a-h{align-self:flex-start}

.tz{position:relative;display:inline-block;white-space:normal}
.tzf{visibility:hidden}.tzt{position:absolute;left:0;top:0;width:100%}
.chat{position:relative}.typing{position:absolute;left:12px}
.lp-screen .a-eyebrow{display:none}.lp-screen .a-hero{height:190px;margin-top:10px}.lp-screen .a-nav{padding:10px 14px}
.js-rv .tile.done .prg{stroke-dashoffset:calc(100 - var(--v))}
.js-rv .tile.done .tdot{transform:rotate(calc(var(--v) * 3.6deg))}
.dv{height:314px;-webkit-mask-image:linear-gradient(#000 86%,transparent);mask-image:linear-gradient(#000 86%,transparent)}
.xc .ph-head{padding:30px 14px 8px}.xc .chat{gap:8px;padding:12px 10px}.xc .bub2{padding:8px 12px}
.lp-screen .a-hero{height:178px}
.arc-row:nth-child(4) .arc-ph .dev{left:auto;right:18px;transform:none;top:30px}
@media (max-width:760px){.arc-row:nth-child(4) .arc-ph .dev{right:auto;left:50%;transform:translateX(-50%)}}
.wk-chip{position:relative;right:auto;top:auto;align-self:flex-end}
.mw>*{flex:none}.mw-c2{flex:1 1 auto}
.mw-nav{margin:0;padding:6px 10px;background:#7A5A3C;color:#F6EBCF;font-size:16px;line-height:1.2;text-decoration:underline}
.mw-news{margin:2px 10px 0;padding:4px 6px;background:#F7E7A4;border:1px dashed #8A2B1B;color:#6B1F12;font-size:16px;line-height:1.2}
.mw-tr{margin:0;padding:8px 14px;font-size:16px;color:#2E2C2A;background:#fff}
@container (max-width:540px){.b-copy>p:first-of-type,.b-contact .b-copy>p:first-of-type{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.b-news,.b-btns{display:none}.b-svc .b-small{display:none}}
@media (max-width:760px){.demo.d1,.demo.d2,.demo.d3,.demo.d4{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;margin:-40px 12px 0}}
.mw-top{height:auto}
@media (max-width:760px){.mw{height:auto}.wb-new{justify-content:flex-start}.wb-steps{min-height:0}}
.rot.run.paused .ptab[aria-selected=true] .pbar{animation-play-state:paused}
.sc2{background:rgba(22,26,34,.84)}
.r2{row-gap:12px}.r2 .num{margin-bottom:2px}
.hero-photo::after{background:linear-gradient(180deg,rgba(14,32,60,.68) 0%,rgba(14,32,60,.6) 36%,rgba(14,32,60,.56) 64%,rgba(14,32,60,.54) 100%)}
.b-foot{color:#54452C}
.sc2{display:flex;flex-direction:column}
.r2{row-gap:8px}.r2 .num{line-height:.78}
.wb-s em{line-height:1}
@media (max-width:760px){.tile-n{font-size:42px}}
.r2 .num{margin-bottom:6px}
.wb-s em{width:28px;height:28px}.wb-s{min-height:44px}

/* hero scorecards: Before then After, plus a short key */
.sc2.before .sc-bar i{transition:width 1.6s cubic-bezier(.16,.84,.3,1)}.sc2.before .sc-bar i.noanim{transition:none}
.hc-arrow{opacity:1}
.hero-key{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px;font-size:16px;line-height:1.4;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.4)}
.hero-key b{font-weight:600}
@media (max-width:760px){.hero-key{flex-direction:column;align-items:center;gap:4px;margin-top:14px}}
@media (prefers-reduced-motion:no-preference){
.sc2.before,.sc2.after{transition:opacity .5s ease,transform .6s cubic-bezier(.16,.84,.3,1)}
.sc2.after:not(.shown){opacity:.35;transform:translateY(8px)}
.sc2.before:not(.shown){opacity:.35;transform:translateY(8px)}
.sc2.shown{opacity:1;transform:none}}

/* round 5: one scoreboard story. The Lighthouse band is the continuation of the Website row */
.r2-link{position:relative}
.r2-link::after{content:"";position:absolute;left:calc(100% + 22px);top:50%;width:24px;height:1400px;border-top:2px solid rgba(255,255,255,.8);border-right:2px solid rgba(255,255,255,.8);border-top-right-radius:14px;pointer-events:none;filter:drop-shadow(0 1px 4px rgba(0,0,0,.45))}
.r2-link::before{content:"";position:absolute;left:calc(100% + 22px);top:50%;width:8px;height:8px;margin:-5px 0 0 -4px;border-radius:50%;background:#fff;z-index:1}
.hero-in{padding-bottom:96px}
.hero-band{background:transparent;position:relative;z-index:5;margin-top:-40px;padding:0 24px}
.hero-band .wrap{padding-inline:0;max-width:1312px}
.hb-panel{background:#fff;border-radius:24px;box-shadow:0 28px 70px rgba(10,22,38,.28),0 0 0 1px rgba(10,22,38,.06);padding:48px 40px 36px;text-align:center}
.hb-panel .h44{margin:0 auto 12px;max-width:none}
.hb-panel .stat-line{max-width:60ch;margin:0 auto 32px}
.hb-panel .cap{margin-top:22px}
.hb-panel .tile{background:var(--tile)}
.tile-l{font-size:20px;line-height:1.25;font-weight:500}
.tile-o{font-size:16px;line-height:1.3;color:#4A4F57;margin-top:-8px}
.stat.hb-panel{padding-block:48px 36px}
.iconrow{padding-block:72px 40px}
@media (max-width:760px){
 .hero-band{padding:0 12px;margin-top:-32px}
 .hb-panel{padding:32px 14px 28px;border-radius:20px}
 .r2-link::after,.r2-link::before{display:none}
 .hero-in{padding-bottom:80px}
}



/* round 6: Botric-reported scoreboard. Before card | shared label column | After card; each label appears once */
.hs{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.95fr) minmax(0,1fr);grid-template-rows:auto repeat(3,auto) auto;column-gap:0;align-items:stretch;width:min(1180px,100%);margin-top:36px;text-align:left;position:relative}
.hs .sc2,.hs .hs-mid{display:contents}
.hs .sc2{padding:0;background:none}
.hs-bg{grid-row:1/6;z-index:0;border-radius:18px;background:rgba(22,26,34,.84)}
.sc2.before .hs-bg{grid-column:1;grid-row:1/5}
.sc2.after .hs-bg{grid-column:3}
.hs-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 28px 6px;z-index:1;min-height:44px}
.sc2.before .hs-h{grid-column:1;grid-row:1}.sc2.after .hs-h{grid-column:3;grid-row:1}
.hs-w{display:block;margin-top:6px;font-size:16px;line-height:1.3;color:rgba(255,255,255,.92)}
.hs-c{z-index:1;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:14px 28px}
.hs-l{z-index:1;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:14px 22px;text-shadow:0 1px 3px rgba(0,0,0,.6),0 2px 18px rgba(0,0,0,.55);color:#fff}
.hs-l .r2-d{color:#fff}
/* G 2026-10-28: the three labels sit centred between Before and After. */
.hs-mid .hs-l{align-items:center;text-align:center}
.hs-mid .hs-l:nth-child(1){grid-column:2;grid-row:2}.hs-mid .hs-l:nth-child(2){grid-column:2;grid-row:3}.hs-mid .hs-l:nth-child(3){grid-column:2;grid-row:4}
.sc2.before .hs-c.k1{grid-column:1;grid-row:2}.sc2.before .hs-c.k2{grid-column:1;grid-row:3}.sc2.before .hs-c.k3{grid-column:1;grid-row:4;padding-bottom:26px}
.sc2.after .hs-c.k1{grid-column:3;grid-row:2}.sc2.after .hs-c.k2{grid-column:3;grid-row:3}.sc2.after .hs-c.k3{grid-column:3;grid-row:4}
.hs-c .num{font-size:58px;line-height:.95}
.hs-c .sc-bar{height:8px;border-radius:4px;background:rgba(255,255,255,.18);overflow:hidden}
.hs-hl{grid-column:3;grid-row:5;z-index:1;list-style:none;margin:0;padding:6px 28px 24px;display:flex;flex-direction:column;gap:6px;font-size:18px;line-height:1.35;color:#fff}
.hs-hl li{padding-left:16px;position:relative}.hs-hl li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:#1BB58C}
.hs-hl b{font-weight:600;font-size:22px}
.hs-src{margin:12px 0 0;font-size:16px;line-height:1.4;color:#fff;max-width:70ch;text-shadow:0 1px 3px rgba(0,0,0,.6),0 2px 18px rgba(0,0,0,.55)}
.hs-src a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion:no-preference){
.sc2.before .hs-c,.sc2.after .hs-c,.sc2.before .hs-h,.sc2.after .hs-h,.sc2 .hs-hl,.sc2 .hs-bg{transition:opacity .5s ease,transform .6s cubic-bezier(.16,.84,.3,1)}
.sc2:not(.shown) .hs-c,.sc2:not(.shown) .hs-h,.sc2:not(.shown) .hs-hl,.sc2:not(.shown) .hs-bg{opacity:.35;transform:translateY(8px)}}
@media (max-width:1100px){.hs-c .num{font-size:46px}.hs-c,.hs-h{padding-inline:20px}.hs{grid-template-columns:minmax(0,1fr) minmax(190px,.9fr) minmax(0,1fr)}.hs-l{padding-inline:14px}}
@media (max-width:760px){
.hs{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;background:rgba(22,26,34,.84);border-radius:20px;padding:6px 0 14px;margin-top:22px}
.hs-bg{display:none}
.sc2.before .hs-h,.sc2.after .hs-h{grid-row:1;padding:16px 16px 4px}.sc2.before .hs-h{grid-column:1}.sc2.after .hs-h{grid-column:2}
.hs-mid .hs-l:nth-child(1){grid-column:1/-1;grid-row:2}.hs-mid .hs-l:nth-child(2){grid-column:1/-1;grid-row:4}.hs-mid .hs-l:nth-child(3){grid-column:1/-1;grid-row:6}
.hs-l{padding:14px 16px 0;text-shadow:none}
.sc2.before .hs-c.k1,.sc2.after .hs-c.k1{grid-row:3}
.sc2.before .hs-c.k2,.sc2.after .hs-c.k2{grid-row:5}
.sc2.before .hs-c.k3,.sc2.after .hs-c.k3{grid-row:7;padding-bottom:14px}
.sc2.before .hs-c{grid-column:1}.sc2.after .hs-c{grid-column:2}
.hs-c{padding:6px 16px 4px}.hs-c .num{font-size:40px}
.hs-hl{grid-column:1/-1;grid-row:8;padding:8px 16px 4px}
.hs-h .replay{width:44px;height:44px}
}

/* round 6: real screenshots of BOTRIC demo sites on the After side */
.bw-page.shot{height:auto;aspect-ratio:1440/900;background:#f4f4f2}
.bw-page.shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.bw-page.ph2{display:flex;justify-content:center;align-items:flex-start;gap:18px;padding:18px 16px 0;background:#E9E7E2;container-type:normal}
.shot-phone{display:block;height:auto;width:auto;padding:0;flex:0 1 230px;min-width:0;border:6px solid #1c1c1c;border-bottom:0;border-radius:28px 28px 0 0;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.shot-phone img{display:block;width:100%;height:auto}
.mk-txt strong{font-weight:600}
@media (max-width:760px){.bw-page.ph2{height:420px;gap:12px;padding-inline:10px}.shot-phone{flex-basis:46%}}
.hs-c .num{align-self:flex-start}
@media (max-width:760px){
.sc2-t{font-size:17px;letter-spacing:1.5px;line-height:1.15}
.hs .replay{position:absolute;right:6px;top:6px;margin:0;z-index:2}
.sc2.after .hs-h{padding-right:44px}
}
@media (max-width:760px){
.sc2.before .hs-c.k1,.sc2.before .hs-c.k2,.sc2.before .hs-c.k3{grid-column:1}
.sc2.after .hs-c.k1,.sc2.after .hs-c.k2,.sc2.after .hs-c.k3{grid-column:2}
}

/* Our sites strip */
#sites{padding-block:96px}#sites .h44{margin:8px 0 16px}.sc-intro{max-width:60ch;margin:0 0 40px}
.sitegrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.sitecard{position:relative;background:var(--white);box-shadow:0 0 0 rgba(21,21,20,0);border:1px solid var(--rule);border-radius:18px;padding:24px 20px;display:flex;flex-direction:column;gap:12px;transition:transform .25s ease,box-shadow .25s ease}
.sitecard:hover,.sitecard:focus-within{transform:translateY(-3px);box-shadow:0 12px 28px rgba(21,21,20,.10)}
.sitecard .caps{margin:0}.sc-url{font-size:20px;line-height:1.25;color:var(--ink);text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.sc-scores{margin:8px 0 0;display:grid;gap:10px}.sc-scores div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--rule);padding-top:10px}
.sc-scores dt{font-size:16px;color:var(--grey)}.sc-scores dd{margin:0;font-size:28px;line-height:1;color:var(--ink)}
.sr-only{position:absolute;top:0;left:0;margin:-1px;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:1100px){.sitegrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){#sites{padding-block:64px}.sitegrid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sitecard{transition:none}.sitecard:hover,.sitecard:focus-within{transform:none}}

/* Entry forms: website + email only */
.chk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px}
.chk .fld label{display:block;font-size:16px;line-height:1.3;color:var(--white);padding:6px 14px 0}
.chk .fld+.fld{border-left:1px solid rgba(255,255,255,.35)}
.chk input{min-height:52px}.chk .btn{align-self:stretch}
.cl-form .cl-row+label{margin-top:18px}
@media(max-width:720px){.chk{grid-template-columns:1fr}.chk .fld+.fld{border-left:0;border-top:1px solid rgba(255,255,255,.35)}.chk .btn{min-height:56px}}

/* Approved preview inline geometry, externalized for production CSP. */
.v2-local-0{object-position:50% 55%}
.v2-local-1{width:40%}
.v2-local-2{width:67%}
.v2-local-3{width:20%}
.v2-local-4{width:100%}
.v2-local-5{--v:97}
.v2-local-6{--v:100}
.v2-local-7{object-position:58% 50%}
.v2-local-8{--n:0}
.v2-local-9{--n:1}
.v2-local-10{--n:2}
.v2-local-11{object-position:68% 62%}
.v2-local-12{object-position:50% 50%}
.v2-local-13{left:50%;top:38%}
.v2-local-14{left:24%;top:24%}
.v2-local-15{left:76%;top:58%}
.v2-local-16{left:30%;top:70%}
.v2-local-17{object-position:42% 50%}
.v2-local-18{--d:2}
.v2-local-19{--d:-1}
.v2-local-20{display:block;width:100%;height:auto;margin-bottom:32px}
.v2-local-21{--i:0}
.v2-local-22{--i:1}
.v2-local-23{--i:2}
.v2-local-24{--i:3}
.v2-local-25{--i:4}
.v2-local-26{--i:5}
.v2-local-27{--y:0;--m:0}
.v2-local-28{--y:1;--m:1}
.v2-local-29{--y:2;--m:1}
.v2-local-30{--y:3;--m:-2}
.v2-local-31{--y:4;--m:0}
.v2-local-32{--y:5;--m:0}
.v2-local-33{--w:100%}
.v2-local-34{--w:62%}
.v2-local-35{--w:23%}
.v2-local-36{--w:3%}
.v2-local-37{left:22%;top:28%;--n:0}
.v2-local-38{left:58%;top:20%;--n:1}
.v2-local-39{left:40%;top:52%;--n:2}
.v2-local-40{left:76%;top:44%;--n:3}
.v2-local-41{left:18%;top:66%;--n:4}
.v2-local-42{left:64%;top:76%;--n:5}
.v2-local-43{left:46%;top:36%;--n:6}
.v2-local-44{--i:6}
.v2-local-45{object-position:62% 50%}

.site.s-after .a-eyebrow{display:inline-block;background:#fff;color:#12202f;padding:4px 8px;border-radius:4px}.hero-line{line-height:1.5}

[hidden]{display:none!important}

.fictional-quote{margin:0;padding:0;border:0}

/* before and after panels: one height, one caption voice */
.pair .bw-page,.pair .bw-page.shot,.pair .bw-page.ph2{height:470px;aspect-ratio:auto}
.pair .bw-page.shot img{height:100%}
.pw .mk-txt.dated p,.pw .mk-txt p{font-family:var(--font);font-size:18px;line-height:1.45;letter-spacing:0;color:var(--ink)}
@media (max-width:760px){.pair .bw-page,.pair .bw-page.shot,.pair .bw-page.ph2{height:420px}}

/* tab buttons: blue, the gradient wipes in on hover */
.ptab{background-color:rgba(29,91,240,.28);background-image:linear-gradient(135deg,#1D5BF0,#7FA6FF);background-repeat:no-repeat;background-size:0% 100%;color:var(--white);box-shadow:inset 0 0 0 1px rgba(127,166,255,.6);transition:background-size .45s cubic-bezier(.2,.7,.2,1),transform .3s,box-shadow .4s,color .3s}
.ptab:hover{background-size:100% 100%;transform:translateY(-2px);box-shadow:0 10px 26px rgba(29,91,240,.4)}
.ptab[aria-selected=true]{background-size:100% 100%;background-color:var(--blue);color:var(--white);box-shadow:0 10px 28px rgba(29,91,240,.42)}
.ptab.dark-on-light{background-color:#EAF0FF;color:#1D3F8F;box-shadow:inset 0 0 0 1px rgba(29,91,240,.35)}
.ptab.dark-on-light:hover,.ptab.dark-on-light[aria-selected=true]{color:var(--white)}
.ptab.dark-on-light[aria-selected=true]{background-color:var(--blue);box-shadow:0 10px 28px rgba(29,91,240,.42)}
.ptab .pbar,.ptab.dark-on-light .pbar{background:var(--blue)}.ptab:not(.dark-on-light) .pbar{background:#fff}


/* round 2c: one soft, organic motion language. Buttons rest dark or blue; a blue gradient glides across on hover and glides back, and the base colour never changes, so nothing flashes. */
:root{--soft:cubic-bezier(.4,0,.2,1)}
body .btn{--b:#0C0C14;background-color:var(--b);background-image:linear-gradient(100deg,var(--b) 0%,var(--b) 30%,#1D5BF0 62%,#6B96FF 100%);background-repeat:no-repeat;background-size:300% 100%;background-position:0 0;transition:background-position .9s var(--soft),color .6s var(--soft),transform .6s var(--soft),box-shadow .7s var(--soft)}
body .btn.btn-white,body .btn.btn-blue,.chk .btn{--b:#1D5BF0;color:#fff;background-color:#1D5BF0;background-image:linear-gradient(100deg,#163FB0 0%,#1D5BF0 35%,#6B96FF 65%,#163FB0 100%);background-size:200% 100%}
body .btn.btn-ghost{background-image:none;background-color:rgba(20,20,20,.5)}
body .btn:hover,body .btn:focus-visible{background-position:100% 0;color:#fff;transform:translateY(-1px);box-shadow:0 12px 30px rgba(29,91,240,.32)}
body .btn.btn-ghost:hover{background-color:rgba(29,91,240,.55)}
body .btn.btn-ghost{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 0 0 0 rgba(29,91,240,0)}
body .btn.btn-ghost:hover,body .btn.btn-ghost:focus-visible{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 14px 34px 0 rgba(29,91,240,.35)}
/* the little "Book consult" button in the hero card: light, then it fills blue when pressed */
body .btn.dbtn{color:#0C0C14;background-color:#fff;background-image:linear-gradient(100deg,#fff 0%,#fff 30%,#1D5BF0 62%,#6B96FF 100%);background-size:300% 100%;background-position:0 0;transition:background-position 1s var(--soft),color .7s var(--soft),transform .5s var(--soft)}
body .btn.dbtn.press,body .btn.dbtn.done{background-position:100% 0;color:#fff;box-shadow:none}
.dbtn.done .b2{animation:fadenew .7s var(--soft) both}
/* room between a paragraph and the button under it */
p+.btn,p+a.btn,h2+.btn,h3+.btn,.k-close .btn,.k-fb .btn,.k-film .btn,.k-filmcap .btn{margin-top:32px}
.hero-cta .btn,.k-btns .btn{margin-top:0}
/* every hover and rollover uses the same slow, even curve */
body :is(.tile,.stile,.tier,.pc,.cp,.glass,.ptab,.ulink,.tchip,.xc,.res,.wf-r,.chip,[class*="k-"]):not(.f):not(.k-bar):not(.k-marq){transition-duration:.7s!important;transition-timing-function:var(--soft)!important}

/* hero search card: the rows are a fixed height so the sliding row lines up exactly, and it starts at the bottom and climbs to the top */
.reslist .res{min-height:0;height:88px;box-sizing:border-box}
.reslist .res .rt b{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:17px}
.js-rv .demo .res{transform:translateY(calc(var(--d) * 96px))}
.js-rv .demo.in .res{transform:none;transition:transform 1.5s var(--soft) 1.2s!important}
.reslist .res.hi{position:relative;z-index:2}

/* "what shows up" card: scan, highlight yours at 4th, then it glides to the top while the others make room */
.wf-list{padding-left:34px}
.wf-nums{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:6px}.wf-nums span{height:46px;width:26px;display:grid;place-items:center;font-size:16px;font-weight:600;color:rgba(255,255,255,.8)}
.wf-r .rk{display:none}
.wf-scan{left:34px}
.wf-r.me{z-index:3}
@keyframes wfdn{to{transform:translateY(52px)}}
@keyframes wfup{to{transform:translateY(-156px)}}
.js-rv .wp-row.in .wf-r:nth-of-type(-n+3){animation:wfdn 1.4s var(--soft) 4.8s both}
.js-rv .wp-row.in .wf-r.me{animation:mehi .01s 3.2s both,wfup 1.4s var(--soft) 4.8s both}

/* rank card: not a list this time, a position marker travelling along a track */
.wc2{position:relative;display:flex;flex-direction:column;gap:22px;padding:34px 30px 30px;border-radius:24px;background:linear-gradient(160deg,#161B2E,#0E1220);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.wc2 .caps{color:#9DB8FF}
.wc2-n{position:relative;height:96px}.wc2-n b{position:absolute;left:0;top:0;font:700 88px/1 "Barlow Condensed","Hanken Grotesk",sans-serif;color:#fff;letter-spacing:-1px}
.wc2-n .b{background:linear-gradient(100deg,#7FA6FF,#2FB879);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0}
.wc2-track{position:relative;height:14px;margin:8px 10px 0;border-radius:99px;background:rgba(255,255,255,.1)}
.wc2-track .s{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#2A3250}
.wc2-fill{position:absolute;left:60%;right:40%;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,#2FB879,#1D5BF0)}
.wc2-me{position:absolute;left:60%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(29,91,240,.5),0 0 28px rgba(47,107,255,.8)}
.wc2-lab{display:flex;justify-content:space-between;margin:0 4px;color:rgba(255,255,255,.7);font-size:16px}
.wc2-chip{align-self:flex-start;padding:8px 16px;border-radius:99px;background:#2FB879;color:#05231A;font-weight:600;font-size:16px;opacity:0}
@keyframes wcme{to{left:20%}}
@keyframes wcfill{to{left:20%;right:40%}}
@keyframes wca{to{opacity:0;transform:translateY(-14px)}}
@keyframes wcb{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes wcchip{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
.js-rv .wp-row.in .wc2-me{animation:wcme 1.6s var(--soft) 1.4s both}
.js-rv .wp-row.in .wc2-fill{animation:wcfill 1.6s var(--soft) 1.4s both}
.js-rv .wp-row.in .wc2-n .a{animation:wca .6s var(--soft) 2.4s both}
.js-rv .wp-row.in .wc2-n .b{animation:wcb .7s var(--soft) 2.6s both}
.js-rv .wp-row.in .wc2-chip{animation:wcchip .6s var(--soft) 3.1s both}
html:not(.js-rv) .wc2-n .a{opacity:0}html:not(.js-rv) .wc2-n .b{opacity:1}html:not(.js-rv) .wc2-chip{opacity:1}html:not(.js-rv) .wc2-me{left:20%}html:not(.js-rv) .wc2-fill{left:20%}
@media(prefers-reduced-motion:reduce){.js-rv .wp-row.in .wc2-me,.js-rv .wp-row.in .wc2-fill,.js-rv .wp-row.in .wc2-n .a,.js-rv .wp-row.in .wc2-n .b,.js-rv .wp-row.in .wc2-chip,.js-rv .wp-row.in .wf-r{animation:none}}

/* before-site: a dated 2014 template, not a 1990s page */
.s-before{background:#fff;color:#4A4F55;font:400 16px/1.45 "Helvetica Neue",Arial,sans-serif}
.b-top{background:#fff;color:#2B5F7E;border-bottom:5px solid #7FB7B2;padding:12px 16px 10px}
.b-logo{font:700 20px/1.1 Arial,sans-serif;letter-spacing:.2px;text-transform:uppercase;color:#2B5F7E}
.b-nav{background:linear-gradient(#5E9FA0,#4A8A8C);color:#fff;gap:2px 18px;padding:8px 16px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.2)}
.b-nav span{text-decoration:none;text-shadow:0 1px 0 rgba(0,0,0,.25)}
.b-main{gap:14px;padding:14px 16px}
.b-photo{border:0;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.b-h{font:700 26px/1.15 Arial,sans-serif;font-style:normal;color:#2B5F7E;text-decoration:none}
.b-copy p{text-align:left;line-height:1.4;color:#555}
.b-b{border:1px solid #3E7F5C;border-radius:4px;background:linear-gradient(#7CCB9D,#4FA878);color:#fff;padding:0 12px;font:700 16px/30px Arial,sans-serif;text-shadow:0 1px 0 rgba(0,0,0,.25)}
.b-news{background:#FFF8DC!important;border:1px solid #E9D98F!important;color:#6B5A1A!important}
.b-side{border:1px solid #D5DADD;background:#F2F4F5;color:#2B5F7E;border-radius:3px}
.b-foot{background:#3C4A52;border-top:0;color:#CBD5DA!important}
.b-list em{color:#2B5F7E}
.b-form i{border-color:#B9C2C7}
.mk-txt.dated p{font-family:var(--font)}

/* before and after show the whole page, not a crop */
@media(min-width:761px){.pair .bw-page.shot{height:auto;aspect-ratio:1440/900}.pair .bw-page.shot img{object-fit:contain;object-position:center}.pair .bw.before .bw-page{height:auto;aspect-ratio:1440/900;min-height:470px}}
.pair .bw-page.shot img{object-fit:contain;background:#F4F4F2}

/* ===== fade system (G 2026-10-18): colours cross-fade, nothing slides or snaps ===== */
@property --ga{syntax:"<color>";inherits:false;initial-value:transparent}
@property --gb{syntax:"<color>";inherits:false;initial-value:transparent}
:root{--soft:cubic-bezier(.4,0,.2,1)}
:is(body .btn,.ptab,.k-formcard .btn.btn-black,.k-modal .btn.btn-black,.k-marq li,.k-checks li,.k-selgrid li){background-image:linear-gradient(100deg,var(--ga),var(--gb))!important;background-size:100% 100%!important;background-position:0 0!important;background-repeat:no-repeat!important;transition:--ga .8s var(--soft),--gb .8s var(--soft),color .7s var(--soft),transform .7s var(--soft),box-shadow .8s var(--soft),border-color .7s var(--soft)!important}
/* buttons: dark rest -> blue */
body .btn,.k-formcard .btn.btn-black,.k-modal .btn.btn-black{--ga:#0C0C14;--gb:#0C0C14;background-color:transparent!important;color:#fff}
body .btn:hover,.k-formcard .btn.btn-black:hover,.k-modal .btn.btn-black:hover{--ga:#1D5BF0;--gb:#6B96FF;color:#fff;box-shadow:0 14px 34px rgba(29,91,240,.35)}
/* blue rest -> lighter blue */
body .btn.btn-white,body .btn.btn-blue,.chk .btn{--ga:#1D5BF0;--gb:#1D5BF0;color:#fff}
body .btn.btn-white:hover,body .btn.btn-blue:hover,.chk .btn:hover{--ga:#2A6BFF;--gb:#7FA6FF}
/* demo buttons: white rest, blue on press/done */
body .btn.dbtn{--ga:#fff;--gb:#fff;color:#0C0C14}
body .btn.dbtn.press,body .btn.dbtn.done{--ga:#1D5BF0;--gb:#6B96FF;color:#fff}
body .btn.dbtn.done{--ga:#2FB879;--gb:#2FB879;color:#05231A}
/* tabs */
.ptab{--ga:rgba(29,91,240,.28);--gb:rgba(29,91,240,.28);background-color:transparent!important;color:#fff}
.ptab:hover{--ga:#1D5BF0;--gb:#7FA6FF;transform:none}
.ptab[aria-selected=true]{--ga:#1D5BF0;--gb:#3E78FF;color:#fff}
.ptab.dark-on-light{--ga:#EAF0FF;--gb:#EAF0FF;color:#1D3F8F}
.ptab.dark-on-light:hover,.ptab.dark-on-light[aria-selected=true]{--ga:#1D5BF0;--gb:#6B96FF;color:#fff}
/* kit chips and rows */
.k-marq li{--ga:rgba(29,91,240,0);--gb:rgba(29,91,240,0);background-color:transparent!important}
.k-marq li:hover{--ga:#1D5BF0;--gb:#7FA6FF;transform:translateY(-2px)}
.k-checks li{--ga:rgba(255,255,255,.72);--gb:rgba(255,255,255,.72);background-color:transparent!important}
.k-checks li:hover{--ga:#1D5BF0;--gb:#6B96FF;color:#fff;transform:none}
.k-selgrid li{--ga:#fff;--gb:#fff;background-color:transparent!important}
.k-selgrid li:hover{--ga:#1D5BF0;--gb:#7FA6FF;color:#fff;transform:translateY(-2px)}
.k-selgrid li.on,.k-selgrid li.on:hover{--ga:#163FB0;--gb:#3E78FF;color:#fff}
/* rank card row bug: only the rows above "me" make room */
.js-rv .wp-row.in .wf-r:nth-of-type(-n+3){animation:none}
.js-rv .wp-row.in .wf-r:not(.me):has(~ .wf-r.me){animation:wfdn 1.4s var(--soft) 4.8s both}
/* before phone image sits whole on a grey ground */
.pair .bw.before .bw-page.ph-b{aspect-ratio:auto;height:470px;background:#E9E7E2}
.pair .bw.before .bw-page.ph-b img{object-fit:contain;width:100%;height:100%}
/* tile rail: full-height images, centred */
.k-rail figure{height:auto}.k-rail img{height:100%!important}
.k-rail figure:first-child{margin-left:auto}.k-rail figure:last-child{margin-right:auto}
.k-rail{justify-content:flex-start}
/* climbing rank graph */
.wv-comp .wc2{gap:14px;padding:28px 26px 24px}
.wc2-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.wc2-top .wc2-n{height:80px;min-width:120px;text-align:right}.wc2-top .wc2-n b{left:auto;right:0;font-size:76px}
.wc2-plot{display:grid;grid-template-columns:34px 1fr;gap:8px}
.wc2-y{display:flex;flex-direction:column;justify-content:space-between;height:186px;color:rgba(255,255,255,.7);font-size:16px;line-height:1}
.wc2-area{position:relative;height:186px}
.wc2-grid{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between}.wc2-grid i{display:block;height:1px;background:rgba(255,255,255,.1)}
.wc2-area svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wc2-line{fill:none;stroke:url(#wcg);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.wc2-fillp{opacity:0}
.wc2-dot{position:absolute;left:100%;top:calc(46/186*100%);width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(47,184,121,.5),0 0 26px rgba(47,184,121,.8);opacity:0;transform:scale(.4)}
.wc2-x{display:flex;justify-content:space-between;margin-left:42px;color:rgba(255,255,255,.7);font-size:16px}
@keyframes wcdraw{to{stroke-dashoffset:0}}
@keyframes wcfade{to{opacity:1}}
@keyframes wcdot{to{opacity:1;transform:scale(1)}}
.js-rv .wp-row.in .wc2-line{animation:wcdraw 2.4s var(--soft) 1.2s both}
.js-rv .wp-row.in .wc2-fillp{animation:wcfade 1.6s var(--soft) 2.4s both}
.js-rv .wp-row.in .wc2-dot{animation:wcdot .8s var(--soft) 3.4s both}
.js-rv .wp-row.in .wc2-n .a{animation:wcfade-out .8s var(--soft) 3.2s both}
.js-rv .wp-row.in .wc2-n .b{animation:wcb .9s var(--soft) 3.4s both}
.js-rv .wp-row.in .wc2-chip{animation:wcchip .8s var(--soft) 3.9s both}
@keyframes wcfade-out{to{opacity:0}}
html:not(.js-rv) .wc2-line{stroke-dashoffset:0}html:not(.js-rv) .wc2-fillp,html:not(.js-rv) .wc2-dot{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js-rv .wp-row.in .wc2-line{animation:none;stroke-dashoffset:0}.js-rv .wp-row.in .wc2-fillp,.js-rv .wp-row.in .wc2-dot{animation:none;opacity:1;transform:none}}

.sm-r .rk{display:none}

/* brand logo in the pill and footer */
.mark img{display:block;height:44px;width:auto}
.site-foot .mark img{height:56px}
/* header: large logo at the top of the page, settles to the compact size once the bar docks on scroll */
.site-head:not(.docked) nav.pill{min-height:92px}
.site-head:not(.docked) .mark img{height:68px}
.site-head nav.pill{transition:margin .3s ease-in-out,border-radius .3s ease-in-out,background-color .3s ease-in-out,min-height .3s ease-in-out}
.site-head .mark img{transition:height .3s ease-in-out}
@media (max-width:980px){.mark img{height:38px}.site-foot .mark img{height:48px}.site-head:not(.docked) nav.pill{min-height:72px}.site-head:not(.docked) .mark img{height:54px}}
@media (prefers-reduced-motion:reduce){.site-head nav.pill,.site-head .mark img{transition:none}}

.nav-right{justify-self:end;display:flex;align-items:center;gap:16px}

.sl-1{left:21%;top:17%;right:auto}
.sl-2{left:41%;top:58%;right:auto}
.sl-3{left:29%;top:92%;right:auto}
.sl-4{left:36%;top:30%;right:auto}
.sl-5{left:66%;top:52%;right:auto}
.sl-6{left:33%;top:92%;right:auto}
.sl-7{left:72%;top:68%;right:auto}
.sl-8{width:100%}
.sl-9{width:72%}
.sl-10{width:33%}
.sl-11{position:static}
.sl-12{margin-top:-42.0px}
.sl-13{top:13.82%}
.sl-14{top:34.87%}
.sl-15{top:65.79%}
.sl-16{top:27.96%}
.sl-17{max-width:760px;margin-inline:auto;text-align:center}
.sl-18{background:#E9EAEE}
.sl-19{background:#E9EAEE;padding:2px 18px 14px;font-size:13px;color:#6b6f7b}
.sl-20{display:flex;align-items:center;gap:9px;margin-top:8px;font-size:19px}
.sl-21{font-size:16px}
.sl-22{margin:22px 20px 0}
.sl-23{padding:14px 24px;font-size:17px}
.sl-24{background:#d2ecff}
.sl-25{margin:16px 20px 0}
.sl-26{padding:14px 24px;font-size:17px;background:#147bd1}
.sl-27{max-width:720px;margin-inline:auto}
.sl-28{text-align:center}
.sl-29{--m:url(/assets/v2/logos/googlesearchconsole.svg);--c:#458CF5}
.sl-30{--m:url(/assets/v2/logos/google.svg);--c:#4285F4}
.sl-31{--m:url(/assets/v2/logos/openai.svg);--c:#10A37F}
.sl-32{--m:url(/assets/v2/logos/perplexity.svg);--c:#22B8CD}
.sl-33{--m:url(/assets/v2/logos/googlegemini.svg);--c:#8E75B2}
.sl-34{--m:url(/assets/v2/logos/claude.svg);--c:#D97757}
.sl-35{--i:0}
.sl-36{--i:1}
.sl-37{--i:2}
.sl-38{--i:3}
.sl-39{position:absolute;left:176px;top:112px;width:96px;height:70px;border-radius:14px;background:#CFE5C0}
.sl-40{position:absolute;left:-20px;top:206px;width:150px;height:96px;border-radius:50%;background:#BFD9F2}
.sl-41{left:0;top:96px;width:100%;height:11px}
.sl-42{left:150px;top:0;width:11px;height:100%}
.sl-43{left:0;top:190px;width:100%;height:7px;transform:rotate(-6deg)}
.sl-44{left:272px;top:0;width:7px;height:100%}
.sl-45{left:-30px;top:50px;width:420px;height:6px;transform:rotate(24deg);background:#F7F4EA}
.sl-46{left:0;top:250px;width:100%;height:5px;background:#F7F4EA}
.sl-47{left:60px;top:0;width:5px;height:100%;background:#F7F4EA}
.sl-48{position:absolute;left:12px;top:70px;width:34px;height:20px;background:#D9D5C6;border-radius:3px}
.sl-49{position:absolute;left:84px;top:118px;width:50px;height:26px;background:#D9D5C6;border-radius:3px}
.sl-50{position:absolute;left:286px;top:206px;width:50px;height:30px;background:#D9D5C6;border-radius:3px}
.sl-51{position:absolute;left:170px;top:206px;width:84px;height:30px;background:#D9D5C6;border-radius:3px}
.sl-52{position:absolute;left:8px;top:79px;font-size:10px;color:#6D6B63;font-weight:600}
.sl-53{position:absolute;left:166px;top:262px;font-size:10px;color:#6D6B63;font-weight:600}
.sl-54{position:absolute;left:204px;top:136px;font-size:10px;color:#4F7A3E;font-weight:600}
.sl-55{left:52px;top:150px}
.sl-56{left:230px;top:34px}
.sl-57{left:296px;top:150px}
.sl-58{left:72px;top:40px}
.sl-59{position:absolute;left:112px;top:78px;width:44px;height:44px}
.sl-60{left:0;top:0}
.sl-61{left:4px;top:-8px}
.sl-62{left:158px;top:84px}
.sl-63{left:104px;top:132px;background:#2F6BFF;color:#fff;font-size:11px}
.sl-64{color:#E7711B}
.sl-65{width:55%;height:13px;margin:0}
.sl-66{width:48%;height:13px;margin:0}
.sl-67{width:60%}
.sl-68{background:#DDE7FF}
.sl-69{display:grid}
.sl-70{mix-blend-mode:multiply}