/* ==========================================================================
   FOURWARD — website stylesheet
   Monochrome, hairline-grid system (white ground, ink type, grey panels),
   one gold accent (the logo's chevron) and the four lane colours used only
   as small markers. Display: Inter Tight 500, body: Inter, labels: JetBrains Mono.
   ========================================================================== */

:root{
  --bg:#FFFFFF; --bg-2:#F6F6F4; --bg-3:#EEEEEB; --card:#FFFFFF;
  --line:#E6E6E2; --line-2:#D6D6D1;
  --ink:#0B0B0C; --ink-2:#2E2E33; --mute:#6D6D74; --faint:#A3A3AA;
  --gold:#FBAF20;
  --d:#FF5A2B; --g:#E8177C; --s:#00B39A; --r:#6E45E8;
  --d-soft:#FFE4D9; --g-soft:#FFDCEB; --s-soft:#D3F4EC; --r-soft:#E6DFFF;
  --display:'Inter Tight',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --body:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --max:1280px; --gutter:clamp(20px,4vw,48px);
  --r-xl:28px; --r-lg:20px; --r-md:14px; --r-sm:10px; --pill:999px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --shadow-sm:0 1px 2px rgba(11,11,12,.05),0 1px 1px rgba(11,11,12,.03);
  --shadow-md:0 10px 30px -12px rgba(11,11,12,.18),0 2px 6px rgba(11,11,12,.05);
  --shadow-lg:0 30px 60px -24px rgba(11,11,12,.28),0 8px 20px -10px rgba(11,11,12,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01";}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:500;letter-spacing:-.03em;line-height:1.04;text-wrap:balance}
::selection{background:#FFE7B0;color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.section{padding-block:clamp(72px,9vw,128px)}
.section.tight{padding-block:clamp(48px,6vw,80px)}
.section + .section{padding-top:0}

/* type */
.h1{font-size:clamp(42px,6.2vw,86px);letter-spacing:-.04em;line-height:1}
.h2{font-size:clamp(32px,4.3vw,58px);letter-spacing:-.035em;line-height:1.04}
.h3{font-size:clamp(21px,1.9vw,26px);letter-spacing:-.02em;line-height:1.2}
.lead{font-size:clamp(17px,1.35vw,19px);line-height:1.55;color:var(--ink-2);max-width:52ch}
.muted{color:var(--mute)}
.faint{color:var(--faint)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.eyebrow.plain::before{display:none}
.accent{color:var(--mute)}
.gold{color:var(--gold)}

/* section header pattern: eyebrow → headline → one paragraph (never a big heading with an empty corner) */
.sec-head{display:grid;gap:18px;max-width:880px;margin-bottom:clamp(36px,4vw,56px)}
.sec-head.split{max-width:none;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:48px}
.sec-head.split .lead{justify-self:end;max-width:46ch}
@media (max-width:860px){.sec-head.split{grid-template-columns:1fr;align-items:start;gap:16px}.sec-head.split .lead{justify-self:start}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 20px;border-radius:var(--pill);font-weight:500;font-size:15px;letter-spacing:-.005em;line-height:1;border:1px solid transparent;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);white-space:nowrap}
.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-dark:hover{background:#26262B;border-color:#26262B}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{background:var(--bg-2);border-color:#C5C5BF}
.btn-light{background:#fff;color:var(--ink);border-color:#fff}
.btn-light:hover{background:#F0F0EC}
.btn-sm{height:38px;padding:0 16px;font-size:14px}
.btn-lg{height:54px;padding:0 26px;font-size:16px}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:15px;color:var(--ink);border-bottom:1px solid transparent;transition:border-color .25s}
.link:hover{border-color:var(--ink)}
.link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- top strip + nav ---------- */
.strip{background:var(--bg-2);border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
.strip .wrap{display:flex;align-items:center;justify-content:center;gap:14px;min-height:40px;text-align:center}
.strip b{font-weight:600;color:var(--ink)}
.strip a{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--pill);background:#fff;border:1px solid var(--line-2);font-weight:500;color:var(--ink);transition:border-color .2s}
.strip a:hover{border-color:var(--ink)}
.only-sm{display:none}
@media (max-width:640px){
  .strip .hide-sm{display:none}
  .strip .only-sm{display:inline}
  .strip{font-size:12.5px}
  .strip .wrap{justify-content:space-between;text-align:left;gap:10px}
  .strip a{flex:none;white-space:nowrap}
}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.is-scrolled{border-bottom-color:var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.brand img{height:22px;width:auto}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{position:relative;display:inline-flex;align-items:center;height:36px;padding:0 13px;border-radius:var(--pill);font-size:14.5px;font-weight:500;color:var(--ink-2);transition:background .2s,color .2s}
.nav-links a:hover,.nav-links a.is-active{background:var(--bg-2);color:var(--ink)}
.nav-cta{display:flex;align-items:center;gap:8px}
.nav-burger{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);align-items:center;justify-content:center}
.nav-burger span{display:block;width:16px;height:1.5px;background:var(--ink);position:relative;transition:transform .3s}
.nav-burger span::before,.nav-burger span::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--ink);transition:transform .3s,top .3s}
.nav-burger span::before{top:-5px}.nav-burger span::after{top:5px}
.nav.is-open .nav-burger span{background:transparent}
.nav.is-open .nav-burger span::before{top:0;transform:rotate(45deg)}
.nav.is-open .nav-burger span::after{top:0;transform:rotate(-45deg)}
@media (max-width:900px){
  .nav-links{display:none}
  .nav-cta .btn-ghost{display:none}
  .nav-burger{display:inline-flex}
  .nav.is-open .nav-links{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gutter) 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-md)}
  .nav.is-open .nav-links a{height:48px;border-radius:var(--r-sm);font-size:16px}
}

/* ---------- hero ---------- */
.hero{padding-top:clamp(56px,8vw,112px);padding-bottom:clamp(32px,4vw,56px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:end}
.hero .lead{margin-top:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hero-side{display:grid;gap:24px;padding-bottom:6px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}
.hero-meta svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr);align-items:start}}

/* lane showcase panel: compact, one visual, stats in a row */
.showcase{margin-top:clamp(32px,4vw,52px);background:var(--bg-2);border:1px solid var(--line);border-radius:24px;padding:6px}
.tabs{display:inline-grid;grid-template-columns:repeat(4,auto);gap:2px;padding:3px;margin:4px 4px 0;background:var(--bg-3);border-radius:999px}
.tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;font-weight:500;font-size:13.5px;color:var(--mute);white-space:nowrap;transition:background .3s var(--ease),color .3s,box-shadow .3s}
.tab svg{width:14px;height:14px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.6;transition:opacity .3s}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}
.tab[aria-selected="true"] svg{opacity:1}
.panel{display:none;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(20px,3vw,40px);align-items:center;padding:18px 18px 18px clamp(18px,2.4vw,30px)}
.panel.is-active{display:grid;animation:panel-in .5s var(--ease)}
@keyframes panel-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.panel-copy .eyebrow{font-size:10.5px}
.panel-copy h3{font-size:clamp(20px,1.75vw,25px);letter-spacing:-.025em;line-height:1.15;margin:12px 0 10px;max-width:22ch}
.panel-copy p{color:var(--ink-2);font-size:14px;line-height:1.5;max-width:46ch}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line-2)}
.facts li{display:block;padding:0;border:0;font-size:12px;line-height:1.35}
.facts li > div{display:block}
.facts b{display:block;font-family:var(--display);font-weight:500;font-size:21px;letter-spacing:-.025em;line-height:1;margin:0 0 5px}
.facts span{color:var(--ink-2)}
.facts em{display:block;margin-top:6px;font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;text-transform:none;color:var(--faint);white-space:normal}
.panel-media{position:relative;margin:0;height:330px;background:#F2F2F0;border:0;border-radius:18px;overflow:hidden;isolation:isolate;padding:16px 16px 40px;display:flex}
.panel-media .wash{--mask:linear-gradient(to top,#000 45%,rgba(0,0,0,.35) 100%)}
.panel-media .wash::before{opacity:.45}
.panel-media .wash::after{opacity:.85}
.panel-media .mock{position:relative;z-index:2;width:100%;height:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 24px 50px -22px rgba(11,11,12,.32),0 2px 8px rgba(11,11,12,.06),0 0 0 1px rgba(11,11,12,.05)}
.panel-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}
.panel-media.fit{align-items:center;justify-content:center;padding:28px 28px 48px}
.panel-media.fit .mock{height:auto;max-width:440px}
.panel-media.fit img{height:auto}
.panel-media figcaption{position:absolute;z-index:3;left:12px;bottom:11px;display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:var(--pill);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid var(--line);font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;text-transform:none;color:var(--ink-2)}
@media (max-width:900px){
  .tabs{display:grid;grid-template-columns:1fr 1fr;width:calc(100% - 8px);border-radius:18px}
  .tab{border-radius:14px}
  .panel{grid-template-columns:1fr;gap:18px;padding:14px}
  .panel-media{order:-1;height:240px;padding:12px 12px 36px}
}
@media (max-width:520px){.tab{font-size:13px;height:40px;gap:7px}.facts{gap:12px}.facts b{font-size:19px}}

/* ---------- trusted by (logo wall) ---------- */
.trusted-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;flex-wrap:wrap}
.trusted-head p{font-size:15px;color:var(--ink-2)}
.logo-wall{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px}
.logo-wall::before,.logo-wall::after,.logo-wall .mark::before,.logo-wall .mark::after{content:"";position:absolute;width:13px;height:13px;background:
  linear-gradient(var(--ink-2),var(--ink-2)) center/13px 1px no-repeat,
  linear-gradient(var(--ink-2),var(--ink-2)) center/1px 13px no-repeat;z-index:2}
.logo-wall::before{top:-7px;left:-7px}
.logo-wall::after{top:-7px;right:-7px}
.logo-wall .mark{position:absolute;inset:0;pointer-events:none}
.logo-wall .mark::before{bottom:-7px;left:-7px}
.logo-wall .mark::after{bottom:-7px;right:-7px}
.logo-cell{display:flex;align-items:center;justify-content:center;height:118px;background:#fff;padding:24px}
.logo-cell img{max-height:34px;max-width:150px;width:auto;height:auto;filter:grayscale(1) brightness(.25);opacity:.46;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.logo-cell:hover img{opacity:.95;transform:scale(1.03)}
.logo-cell .wordmark{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.02em;color:var(--ink);opacity:.5;transition:opacity .35s}
.logo-cell:hover .wordmark{opacity:.95}
.logo-cell.tall img{max-height:44px}
.logo-cell.wide img{max-width:170px}
.logo-cell.small img{max-height:26px}
@media (max-width:1100px){.logo-wall{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:720px){.logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.logo-cell{height:96px;padding:18px}.logo-cell img{max-height:28px;max-width:120px}}
@media (max-width:460px){.logo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- services (four lanes) ---------- */
.lanes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lane{position:relative;display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px 22px;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .4s}
.lane:hover{background:#fff;transform:translateY(-3px);box-shadow:var(--shadow-md)}
.lane .num{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.lane .num i{width:10px;height:10px;border-radius:50%}
.lane h3{font-size:22px;letter-spacing:-.02em;margin:46px 0 10px;max-width:12ch}
.lane .what{font-size:14.5px;color:var(--ink-2);margin-bottom:18px;min-height:3.2em}
.lane ul{border-top:1px solid var(--line-2);margin-top:auto}
.lane li{padding:9px 0;border-bottom:1px solid var(--line-2);font-size:13.5px;color:var(--ink-2);display:flex;gap:10px;align-items:flex-start}
.lane li::before{content:"";flex:none;width:4px;height:4px;border-radius:50%;background:var(--faint);margin-top:9px}
.lane[data-lane="d"] i{background:var(--d)} .lane[data-lane="g"] i{background:var(--g)}
.lane[data-lane="s"] i{background:var(--s)} .lane[data-lane="r"] i{background:var(--r)}
@media (max-width:1060px){.lanes{grid-template-columns:repeat(2,minmax(0,1fr))}.lane h3{margin-top:34px}}
@media (max-width:560px){.lanes{grid-template-columns:1fr}}
.lanes-foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:var(--pill);border:1px solid var(--line-2);background:#fff;font-size:13.5px;font-weight:500;color:var(--ink-2)}
.chip b{font-weight:600;color:var(--ink)}

/* ---------- numbers ---------- */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.stat{background:#fff;padding:30px 28px 26px;display:flex;flex-direction:column;gap:10px;min-height:190px}
.stat b{font-family:var(--display);font-weight:500;font-size:clamp(40px,3.8vw,56px);letter-spacing:-.045em;line-height:1}
.stat span{font-size:14.5px;color:var(--ink-2);max-width:26ch}
.stat em{margin-top:auto;font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--faint)}
@media (max-width:860px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.stats{grid-template-columns:1fr}.stat{min-height:0}}

/* ---------- work: three feature cards (grey box, soft colour wash, floating screenshot) ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.feat{display:flex;flex-direction:column;gap:16px;min-width:0}
.feat-card{position:relative;height:430px;border-radius:28px;background:#F2F2F0;overflow:hidden;isolation:isolate;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.feat:hover .feat-card{transform:translateY(-3px);box-shadow:0 30px 60px -36px rgba(11,11,12,.25)}
.feat-card h3{position:relative;z-index:3;margin:0;padding:26px 28px 0;font-family:var(--display);font-weight:400;font-size:clamp(24px,2vw,30px);letter-spacing:-.03em;line-height:1.1;color:var(--ink)}
.feat-mock{position:absolute;z-index:2;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 24px 50px -22px rgba(11,11,12,.32),0 2px 8px rgba(11,11,12,.06),0 0 0 1px rgba(11,11,12,.05);transition:transform .6s var(--ease)}
.feat:hover .feat-mock{transform:translateY(-6px)}
.feat-mock img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}
.feat-mock .bar{height:26px;display:flex;align-items:center;gap:5px;padding:0 10px;border-bottom:1px solid var(--line)}
.feat-mock .bar i{width:7px;height:7px;border-radius:50%;background:#E3E3E0}
.feat-mock.m1{left:30px;right:-40px;top:118px;bottom:-30px}
.feat-mock.m2{left:36px;right:-70px;top:150px;bottom:-26px}
.feat-mock.m3{left:-30px;right:34px;top:128px;bottom:-40px}
.feat-cap{font-size:15.5px;line-height:1.55;color:var(--ink-2);padding:0 4px}
.feat-cap a{display:inline-flex;align-items:center;gap:5px;margin-left:4px;color:var(--ink);font-weight:500;white-space:nowrap;border-bottom:1px solid var(--line-2);transition:border-color .2s}
.feat-cap a:hover{border-color:var(--ink)}
.feat-cap a svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:1000px){.feat-grid{grid-template-columns:1fr 1fr}.feat:last-child{grid-column:1/-1}.feat-card{height:400px}}
@media (max-width:640px){.feat-grid{grid-template-columns:1fr;gap:28px}.feat:last-child{grid-column:auto}.feat-card{height:360px}.feat-card h3{padding:22px 22px 0}.feat-mock.m1{left:22px;right:-30px;top:104px}.feat-mock.m2{left:28px;right:28px;top:124px}.feat-mock.m3{left:-20px;right:26px;top:110px}}

/* ---------- team: hanging profile cards (measured 1:1 from the reference component) ---------- */
.team{overflow:hidden;--tm-muted:rgb(154,156,171);--tm-accent:rgb(173,168,232);--tm-metal:rgb(196,201,208);--tm-ink:rgb(37,37,42);font-family:var(--body);letter-spacing:0}
.tm-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.tm-heading-left{min-width:0}
.tm-eyebrow{display:inline-flex;gap:9px;align-items:center;padding:8px 11px;border:1px solid rgba(255,255,255,.094);border-radius:100px;color:var(--tm-muted);background:rgba(255,255,255,.035);font-size:9px;letter-spacing:.02em;font-weight:400;line-height:1;text-transform:none}
.tm-dot{flex:none;width:5px;height:5px;border-radius:50%;background:#7E87FF}
.tm-title{margin:21px 0 0;display:flex;flex-direction:column;align-items:flex-start;font-family:var(--body);font-weight:400;line-height:1.05;text-wrap:initial}
.tm-title span,.tm-title em{display:block;max-width:100%}
.tm-title span{font-size:50px;letter-spacing:-.055em;color:#000}
.tm-title em{font-style:normal;font-size:54px;letter-spacing:-.045em;color:var(--tm-accent)}
.tm-heading-right{max-width:260px;padding-bottom:5px}
.tm-heading-right p{font-size:12px;line-height:1.7;color:var(--tm-muted);margin:0 0 17px}
.tm-count{display:inline-flex;align-items:center;gap:7px;color:var(--tm-muted);font-size:9px;letter-spacing:.02em;line-height:1;text-transform:none}
.tm-count .tm-dot{background:#50D5A2}
.tm-scroll-outer{width:auto;margin:48px calc(var(--gutter) * -1) 0}
.tm-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter)}
.tm-scroll::-webkit-scrollbar{display:none}
.tm-track{position:relative;width:max-content;display:flex;align-items:flex-start;justify-content:flex-start;gap:36px;margin:0 auto;padding:0 var(--gutter) 43px}
.tm-cord{position:absolute;top:0;left:150px;width:976px;height:50px;display:block;overflow:visible;pointer-events:none;opacity:.65;z-index:0}
.tm-enter{position:relative;flex:none;scroll-snap-align:start}
.tm-ready .tm-enter:not(.tm-enter-play){opacity:0}
.tm-enter-play{animation:tm-arrive 1050ms cubic-bezier(.16,1,.3,1) both}
@keyframes tm-arrive{0%{opacity:0;transform:translateY(-28px) rotate(-4deg)}36%{opacity:1;transform:translateY(6px) rotate(3deg)}58%{transform:translateY(-3px) rotate(-2deg)}78%{transform:translateY(1px) rotate(1deg)}100%{opacity:1;transform:none}}
.tm-item{position:relative;width:268px;flex:0 0 268px}
.tm-pendulum{width:100%;height:100%;position:relative;transform-origin:50% 13px;transform:rotate(calc(var(--rest,0deg) + var(--sway,0deg)))}
.tm-anchor{position:absolute;z-index:3;left:50%;top:9px;width:7px;height:7px;transform:translateX(-50%);border:1px solid var(--tm-metal);border-radius:50%;background:var(--tm-metal);box-shadow:0 0 0 2px rgba(23,24,33,.157);pointer-events:none}
.tm-wire{position:absolute;z-index:1;left:50%;top:13px;width:1.15px;transform:translateX(-50%);background:rgb(164,170,184);opacity:.85;box-shadow:0 0 1px rgba(255,255,255,.14);pointer-events:none}
.tm-hit{position:absolute;left:0;width:268px;height:376px;perspective:900px;border-radius:24px;--il:0;--px:50%;--py:50%;--rx:0deg;--ry:0deg;-webkit-tap-highlight-color:transparent}
.tm-tilt{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform-origin:50% 0;transform:rotateX(var(--rx)) rotateY(var(--ry))}
.tm-eyelet{position:absolute;z-index:8;top:-11px;left:50%;transform:translateX(-50%);width:18px;height:18px;border-radius:50%;border:3px solid var(--tm-metal);background:transparent;box-shadow:inset 0 0 0 1px rgba(0,0,0,.125),0 1px 2px rgba(0,0,0,.125);pointer-events:none}
.tm-eyelet::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(119,125,138,.44)}
.tm-eyelet span{position:absolute;z-index:1;width:23px;height:7px;left:50%;top:9px;transform:translateX(-50%);border-radius:0 0 4px 4px;background:var(--tm-metal);opacity:.92}
.tm-flipper{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 760ms cubic-bezier(.2,.82,.19,1);border-radius:24px}
.tm-flipper.is-flipped{transform:rotateY(180deg)}
.tm-face{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;border:0;border-radius:24px;padding:19px;background:rgba(0,0,0,.04);color:var(--tm-ink);text-align:left;display:flex;flex-direction:column;backface-visibility:hidden;-webkit-backface-visibility:hidden;font-family:var(--body);font-weight:400;letter-spacing:0;line-height:1.2}
.tm-front{appearance:none;-webkit-appearance:none;cursor:pointer;font:inherit;margin:0}
.tm-front:focus-visible{outline:2px solid #3D57F7;outline-offset:-3px}
.tm-back{transform:rotateY(180deg);pointer-events:none;cursor:pointer}
.is-flipped .tm-front{pointer-events:none}
.is-flipped .tm-back{pointer-events:auto}
.tm-topline,.tm-back-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;font-size:8px;font-weight:400;letter-spacing:.02em;line-height:1;color:rgb(123,123,128);text-transform:none}
.tm-portrait{margin-top:11px;height:47%;width:100%;background:rgb(216,215,213);border-radius:14px;overflow:hidden;position:relative;flex:none}
.tm-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 32%}
.tm-portrait::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.14));pointer-events:none}
.tm-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:80px;color:#fff;font-weight:500;letter-spacing:-.04em;line-height:1}
.tm-info{min-height:0;display:flex;flex-direction:column;padding-top:13px}
.tm-name{font-weight:400;font-size:24px;line-height:1.15;letter-spacing:-.055em;overflow-wrap:anywhere;color:var(--tm-ink)}
.tm-role{margin-top:4px;font-size:13.5px;line-height:1.2;color:rgb(111,111,119)}
.tm-bottomline{margin-top:auto;border-top:1px solid rgba(39,39,41,.1);padding-top:10px;display:flex;align-items:center;justify-content:space-between;font-size:8px;font-weight:400;letter-spacing:.02em;line-height:1;text-transform:none;color:var(--tm-ink)}
.tm-arrow{width:24px;height:24px;border-radius:50%;background:rgb(39,39,46);color:#fff;display:flex;justify-content:center;align-items:center;font-size:14px;font-weight:400;line-height:1}
.tm-holo,.tm-gloss{position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:var(--il)}
.tm-holo{background:radial-gradient(circle at var(--px) var(--py),rgba(255,255,255,.68) 0%,transparent 38%),linear-gradient(112deg,rgba(255,79,133,0) 4%,rgba(253,108,165,.357) 22%,rgba(111,202,255,.42) 40%,rgba(217,244,123,.282) 54%,rgba(161,107,255,.42) 71%,rgba(255,139,101,0) 95%);background-size:100% 100%,210% 210%;background-position:center,var(--px) var(--py);mix-blend-mode:color-burn}
.tm-gloss{background:radial-gradient(ellipse 72% 42% at var(--px) var(--py),rgba(255,255,255,.76) 0%,rgba(255,255,255,.176) 40%,transparent 74%);mix-blend-mode:screen}
/* back */
.tm-back-heading{margin-bottom:10px;letter-spacing:.1em;color:rgb(123,123,129)}
.tm-close{width:25px;height:25px;border:0;background:rgb(222,223,224);color:rgb(29,29,33);border-radius:50%;font-size:16px;cursor:pointer;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--body)}
.tm-close:focus-visible{outline:2px solid #3D57F7;outline-offset:-3px}
.tm-identity{display:flex;align-items:center;gap:9px}
.tm-avatar{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:17px;font-weight:500;overflow:hidden;line-height:1}
.tm-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.tm-intro{min-width:0;display:flex;flex-direction:column;gap:3px}
.tm-intro b{font-size:15px;font-weight:400;letter-spacing:-.045em;overflow-wrap:anywhere;line-height:1.06;color:var(--tm-ink)}
.tm-intro span{font-size:9px;line-height:1;color:rgb(121,121,124)}
.tm-location{margin-top:8px;font-size:9px;line-height:1;color:rgb(119,119,124)}
.tm-about{font-size:10px;line-height:1.5;color:rgb(90,90,98);margin:10px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tm-back-section{border-top:1px solid rgba(0,0,0,.09);padding-top:9px}
.tm-label{font-size:8px;letter-spacing:.02em;line-height:1;font-weight:400;color:rgb(123,123,129);margin-bottom:5px;text-transform:none}
.tm-project{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid rgba(39,39,41,.1);color:rgb(38,38,42);font-size:10px;line-height:1;font-weight:400}
.tm-back-footer{margin-top:auto;border-top:1px solid rgba(0,0,0,.09);display:flex;gap:6px;justify-content:space-between;align-items:flex-end;padding-top:9px;min-height:0}
.tm-contact{min-width:0;flex:1}
.tm-email{display:block;font-size:9px;line-height:1;color:rgb(38,38,43);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-email:hover,.tm-social a:hover{text-decoration:underline}
.tm-social{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:8px}
.tm-social a{text-decoration:none;color:rgb(105,105,112);font-size:8px;line-height:1}
.tm-qr{flex:none;display:flex;flex-direction:column;align-items:center;gap:3px}
.tm-qr img{width:64px;height:64px;background:#fff;border-radius:4px;padding:5px;display:block;image-rendering:pixelated}
.tm-qr span{font-size:6px;letter-spacing:.02em;line-height:1;color:rgb(121,121,124);text-transform:none}
.tm-footnote{display:flex;justify-content:space-between;gap:16px;color:var(--tm-muted);font-size:9px;letter-spacing:.02em;line-height:1;margin-top:5px;text-transform:none}
@media (max-width:900px){
  .tm-heading{align-items:flex-start;gap:24px}
  .tm-heading-right{max-width:240px;padding-top:22px}
  .tm-scroll-outer{margin-top:42px}
}
@media (max-width:720px){
  .tm-heading{flex-direction:column;align-items:stretch;gap:18px}
  .tm-heading-left{width:100%;max-width:100%}
  .tm-heading-right{max-width:440px;width:100%;padding-top:0}
  .tm-heading-right p{margin-bottom:12px}
  .tm-title span,.tm-title em{overflow-wrap:anywhere}
  .tm-scroll-outer{margin-top:36px}
}
@media (max-width:600px){
  .tm-heading{gap:16px}
  .tm-title{margin-top:17px}
  .tm-title span{font-size:clamp(29px,8.3vw,46px)}
  .tm-title em{font-size:clamp(30px,8.5vw,48px)}
  .tm-heading-right{max-width:100%}
  .tm-scroll-outer{margin-top:32px}
  .tm-footnote{flex-direction:column;align-items:flex-start;gap:9px;margin-top:0}
}
@media (prefers-reduced-motion:reduce){.tm-enter-play{animation:none!important}.tm-ready .tm-enter{opacity:1}.tm-flipper{transition-duration:.01ms!important}.tm-tilt{transform:none!important}.tm-holo,.tm-gloss{display:none!important}}

/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.step{background:#fff;padding:26px 24px 28px;display:flex;flex-direction:column;gap:12px;min-height:240px}
.step .when{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.step .when i{width:8px;height:8px;border-radius:50%}
.step h3{font-size:21px;letter-spacing:-.02em;margin-top:28px}
.step p{font-size:14px;color:var(--ink-2)}
.step .n{margin-top:auto;font-family:var(--display);font-size:38px;letter-spacing:-.04em;color:var(--line-2);line-height:1}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}.step{min-height:0}}
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.way{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px;display:flex;flex-direction:column;gap:10px;min-height:250px;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .4s}
.way:hover{background:#fff;transform:translateY(-3px);box-shadow:var(--shadow-md)}
.way.featured{background:var(--ink);color:#fff;border-color:var(--ink)}
.way.featured:hover{background:#17171A}
.way h3{font-size:24px;letter-spacing:-.025em}
.way .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.way.featured .k{color:rgba(255,255,255,.6)}
.way p{font-size:14.5px;color:var(--ink-2);margin-top:6px}
.way.featured p{color:rgba(255,255,255,.78)}
.way .btn{margin-top:auto;align-self:flex-start}
.way .btn-ghost{margin-top:22px}
.way.featured .btn{margin-top:22px}
@media (max-width:860px){.ways{grid-template-columns:1fr}.way{min-height:0}}

/* ---------- booking calendar ---------- */
.book-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:start}
.book-copy{position:sticky;top:96px;display:grid;gap:18px}
.book-copy .h2{max-width:14ch}
.book-copy .lead{max-width:40ch}
.book-list{display:grid;gap:12px;margin-top:6px}
.book-list li{display:flex;gap:14px;align-items:flex-start;font-size:14.5px;color:var(--ink-2)}
.book-list i{flex:none;width:24px;height:24px;border-radius:50%;border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.book-list i svg{width:12px;height:12px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.booker{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-md)}
.cal{padding:26px 26px 22px;border-right:1px solid var(--line)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-head b{font-family:var(--display);font-weight:500;font-size:19px;letter-spacing:-.02em}
.cal-nav{display:flex;gap:6px}
.cal-nav button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.cal-nav button:hover{background:var(--bg-2);border-color:#C5C5BF}
.cal-nav button:disabled{opacity:.35;cursor:not-allowed}
.cal-nav svg{width:14px;height:14px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dow,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.dow span{text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--faint);padding:6px 0}
.day{position:relative;aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;font-weight:500;color:var(--ink);transition:background .2s,color .2s,transform .2s}
.day:hover:not(:disabled){background:var(--bg-3)}
.day.is-today::after{content:"";position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--gold)}
.day.is-selected{background:var(--ink);color:#fff}
.day.is-selected::after{background:#fff}
.day:disabled{color:var(--line-2);cursor:default}
.day.is-empty{visibility:hidden}
.cal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mute)}
.cal-foot select{font:inherit;font-size:12.5px;color:var(--ink);background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--pill);padding:5px 28px 5px 10px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 3.5l3 3 3-3' fill='none' stroke='%230B0B0C' stroke-width='1.4' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;max-width:200px;text-overflow:ellipsis}
.slots{padding:26px 24px 22px;display:flex;flex-direction:column;min-height:420px;background:var(--bg-2)}
.slots-head b{display:block;font-family:var(--display);font-weight:500;font-size:19px;letter-spacing:-.02em}
.slots-head span{display:block;font-size:12.5px;color:var(--mute);margin-top:3px}
.slot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.slot{height:42px;border-radius:var(--pill);border:1px solid var(--line-2);background:#fff;font-size:14px;font-weight:500;transition:background .2s,color .2s,border-color .2s,transform .2s}
.slot:hover{border-color:var(--ink)}
.slot.is-selected{background:var(--ink);color:#fff;border-color:var(--ink)}
.slots-empty{margin-top:18px;font-size:14px;color:var(--mute);padding:18px;border:1px dashed var(--line-2);border-radius:var(--r-md);text-align:center}
.confirm{margin-top:auto;padding-top:18px;display:grid;gap:10px}
.confirm .sum{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-2);min-height:22px}
.confirm .sum i{width:8px;height:8px;border-radius:50%;background:var(--gold);flex:none}
.confirm .btn{width:100%}
.confirm .btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.confirm .alt{font-size:12.5px;color:var(--mute);text-align:center}
.confirm .alt a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){.book-grid{grid-template-columns:1fr}.book-copy{position:static}}
@media (max-width:720px){.booker{grid-template-columns:1fr}.cal{border-right:0;border-bottom:1px solid var(--line)}.slots{min-height:0}}

/* ---------- CTA band + footer ---------- */
.cta-band{background:var(--ink);color:#fff;border-radius:var(--r-xl);padding:clamp(44px,6vw,84px) clamp(28px,5vw,80px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:auto -10% -60% auto;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(251,175,32,.22),rgba(251,175,32,0) 60%);pointer-events:none}
.cta-band .h2{color:#fff}
.cta-band .lead{color:rgba(255,255,255,.72)}
.cta-band .actions{display:flex;flex-wrap:wrap;gap:10px;justify-self:end;position:relative}
.cta-band .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.cta-band .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6)}
@media (max-width:860px){.cta-band{grid-template-columns:1fr}.cta-band .actions{justify-self:start}}
.footer{padding:clamp(48px,6vw,80px) 0 32px;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:36px}
.foot-brand img{height:22px;width:auto}
.foot-brand p{margin-top:16px;font-size:14px;color:var(--mute);max-width:30ch}
.foot-col h4{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--faint);margin-bottom:14px}
.foot-col li{margin:9px 0;font-size:14.5px;color:var(--ink-2)}
.foot-col a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.foot-col .who-line b{display:block;color:var(--ink);font-weight:500}
.foot-col .who-line span{display:block;font-size:12.5px;color:var(--mute)}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:20px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mute)}
.lanebar{display:inline-grid;grid-template-columns:repeat(4,22px);gap:3px;height:4px}
.lanebar i{display:block;border-radius:2px}
.lanebar i:nth-child(1){background:var(--d)}.lanebar i:nth-child(2){background:var(--g)}.lanebar i:nth-child(3){background:var(--s)}.lanebar i:nth-child(4){background:var(--r)}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.08s}.reveal[data-delay="2"]{transition-delay:.16s}.reveal[data-delay="3"]{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
html.static{scroll-behavior:auto}
html.static .reveal{opacity:1;transform:none;transition:none}
html.static .panel.is-active{animation:none}

/* ---------- floating composer ("Talk" bar) ---------- */
.talk{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:60;width:min(480px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:stretch;gap:10px;font-family:var(--body)}
.talk-glass{background:rgba(236,236,233,.74);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 1px rgba(30,27,23,.22),0 0 32px rgba(30,27,23,.14)}
.talk-bar{display:flex;align-items:flex-end;gap:9px;padding:8px 8px 8px 18px;border-radius:999px;min-height:52px;transition:box-shadow .25s var(--ease),background .25s}
.talk-bar:focus-within{background:rgba(240,240,237,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 0 0 1px rgba(30,27,23,.12),0 0 36px rgba(30,27,23,.18)}
.talk-bar textarea{flex:1;min-width:0;resize:none;border:0;outline:0;background:transparent;font:inherit;font-size:15px;line-height:20px;color:var(--ink);padding:8px 0;height:20px;min-height:20px;max-height:120px;box-sizing:content-box;scrollbar-width:none;display:block}
.talk-bar textarea::-webkit-scrollbar{display:none}
.talk-bar textarea::placeholder{color:rgb(132,132,128)}
.talk-btn{flex:none;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,.06);color:rgb(78,78,74);transition:background .2s,color .2s,transform .2s var(--ease),opacity .2s;margin-bottom:2px}
.talk-btn:hover{background:rgba(0,0,0,.1);color:var(--ink)}
.talk-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.talk-btn.is-listening{background:var(--ink);color:#fff;animation:talk-pulse 1.2s ease-in-out infinite}
@keyframes talk-pulse{0%,100%{box-shadow:0 0 0 0 rgba(11,11,12,.25)}50%{box-shadow:0 0 0 7px rgba(11,11,12,0)}}
.talk-send{background:var(--ink);color:#fff}
.talk-send svg{stroke-width:2.5;width:16px;height:16px}
.talk-send:hover{background:#26262B;color:#fff}
.talk-send[disabled]{background:rgba(0,0,0,.18);color:#fff;cursor:default}
.talk-send[disabled]:hover{background:rgba(0,0,0,.18)}
.talk-mic[hidden]{display:none}
/* the reply sheet */
.talk-sheet{border-radius:24px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px;max-height:min(58vh,520px);overflow:auto;scrollbar-width:none;transform-origin:50% 100%;animation:talk-in .35s var(--ease)}
.talk-sheet::-webkit-scrollbar{display:none}
.talk-sheet[hidden]{display:none}
@keyframes talk-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.talk-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px 2px}
.talk-head span{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--mute);display:inline-flex;align-items:center;gap:8px}
.talk-head span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.talk-close{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 12px;border-radius:999px;background:rgba(0,0,0,.08);color:var(--ink);font-size:12.5px;font-weight:500;transition:background .2s}
.talk-close:hover{background:rgba(0,0,0,.14)}
.talk-close svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.talk-log{display:flex;flex-direction:column;gap:8px}
.talk-msg{max-width:88%;padding:10px 13px;border-radius:18px;font-size:14px;line-height:1.5;color:var(--ink)}
.talk-msg.user{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:6px}
.talk-msg.bot{align-self:flex-start;background:#fff;border-bottom-left-radius:6px;box-shadow:var(--shadow-sm)}
.talk-msg.bot a{color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.talk-msg.bot .talk-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.talk-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);background:#fff;font-size:12.5px;font-weight:500;color:var(--ink);text-decoration:none !important;transition:border-color .2s,background .2s}
.talk-chip:hover{border-color:var(--ink)}
.talk-chip.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.talk-chip.dark:hover{background:#26262B}
.talk-chip svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.talk-suggest{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 0}
.talk-suggest[hidden]{display:none}
.talk-msg.bot .talk-chip{color:var(--ink);text-decoration:none}
.talk-msg.bot .talk-chip.dark{color:#fff}
.talk-typing{display:inline-flex;gap:4px;align-items:center;height:14px}
.talk-typing i{width:5px;height:5px;border-radius:50%;background:var(--faint);animation:talk-dot 1s ease-in-out infinite}
.talk-typing i:nth-child(2){animation-delay:.15s}.talk-typing i:nth-child(3){animation-delay:.3s}
@keyframes talk-dot{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
.footer{padding-bottom:104px}
@media (max-width:640px){
  .talk{bottom:12px;width:calc(100vw - 24px)}
  .talk-bar textarea{font-size:16px}
  .talk-msg{max-width:94%}
}
@media print{.talk{display:none}}

/* ---------- colour washes with coloured halftone dots (shared by work and lane cards) ---------- */
.wash{position:absolute;inset:0;z-index:1;pointer-events:none;--mask:linear-gradient(to top,#000 58%,transparent 100%);-webkit-mask-image:var(--mask);mask-image:var(--mask)}
.wash::before,.wash::after{content:"";position:absolute;inset:0;background:var(--wash)}
.wash::before{opacity:.5}
.wash::after{opacity:1;-webkit-mask-image:radial-gradient(circle,#000 2.1px,transparent 2.6px);-webkit-mask-size:6px 6px;mask-image:radial-gradient(circle,#000 2.1px,transparent 2.6px);mask-size:6px 6px}
[data-tone="d"] .wash,[data-lane="d"] .wash{--wash:
  radial-gradient(60% 55% at 14% 92%,#FFC9A0 0%,rgba(255,201,160,0) 62%),
  radial-gradient(55% 50% at 78% 82%,#FF9F4D 0%,rgba(255,159,77,0) 60%),
  radial-gradient(50% 46% at 50% 38%,#9FDDF2 0%,rgba(159,221,242,0) 62%),
  radial-gradient(42% 42% at 96% 36%,#FFE98F 0%,rgba(255,233,143,0) 62%)}
[data-tone="g"] .wash,[data-lane="g"] .wash{--wash:
  radial-gradient(60% 55% at 12% 90%,#FFADD0 0%,rgba(255,173,208,0) 62%),
  radial-gradient(55% 50% at 82% 84%,#D6A8FF 0%,rgba(214,168,255,0) 60%),
  radial-gradient(50% 46% at 48% 40%,#FFC89A 0%,rgba(255,200,154,0) 62%),
  radial-gradient(42% 42% at 92% 34%,#FFD3E4 0%,rgba(255,211,228,0) 62%)}
[data-tone="s"] .wash,[data-lane="s"] .wash{--wash:
  radial-gradient(60% 55% at 14% 92%,#9FE7D3 0%,rgba(159,231,211,0) 62%),
  radial-gradient(55% 50% at 80% 84%,#A9C7FF 0%,rgba(169,199,255,0) 60%),
  radial-gradient(50% 46% at 50% 40%,#FFE58A 0%,rgba(255,229,138,0) 62%),
  radial-gradient(42% 42% at 94% 34%,#C6F0E4 0%,rgba(198,240,228,0) 62%)}
[data-tone="r"] .wash,[data-lane="r"] .wash{--wash:
  radial-gradient(60% 55% at 14% 92%,#C8B4FF 0%,rgba(200,180,255,0) 62%),
  radial-gradient(55% 50% at 78% 82%,#FFAEDA 0%,rgba(255,174,218,0) 60%),
  radial-gradient(50% 46% at 50% 38%,#B3D1FF 0%,rgba(179,209,255,0) 62%),
  radial-gradient(42% 42% at 96% 36%,#E6D6FF 0%,rgba(230,214,255,0) 62%)}
/* lane cards: same box as the work cards, colour at the top behind the title, plain where the list sits */
.lane{background:#F2F2F0;border:0;border-radius:28px;padding:26px 26px 22px;overflow:hidden;isolation:isolate}
.lane:hover{background:#F2F2F0;box-shadow:0 30px 60px -36px rgba(11,11,12,.25)}
.lane > *:not(.wash){position:relative;z-index:2}
.lane .wash{position:absolute;z-index:1;transform:scaleY(-1);--mask:linear-gradient(to top,#000 28%,transparent 60%)}
.lane .wash::after{opacity:.72}
.lane .wash::before{opacity:.42}
.lane h3{margin-top:54px}
.lane .what{color:var(--ink-2)}
.lane ul{border-top-color:rgba(11,11,12,.1)}
.lane li{border-bottom-color:rgba(11,11,12,.08)}
/* page frame: two hairlines down the content edges, like TestMu and Dextr */
.frame{position:fixed;inset:0;z-index:1;pointer-events:none;display:none;justify-content:center}
.frame i{display:block;height:100%;width:min(var(--max),calc(100vw - 48px));border-left:1px solid #DEDED9;border-right:1px solid #DEDED9}
@media (min-width:1180px){.frame{display:flex}}

/* ---------- markers: dashes and line icons instead of colour dots ---------- */
.eyebrow::before{width:14px;height:1px;border-radius:0;background:currentColor;opacity:.55}
.tm-ico{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;opacity:.9}
.lane .num svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--ink-2);opacity:.75}
.step .when svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.panel-media figcaption{padding:0 10px}
.talk-head span::before{display:none}
.talk-head span svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.confirm .sum svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;opacity:.8}
.day.is-today::after{background:rgba(11,11,12,.35)}

/* ---------- footer: a quiet colour wash low in the footer ---------- */
.footer{position:relative;overflow:hidden;isolation:isolate;background:#F8F8F6;border-top:1px solid var(--line)}
.footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:3;background:linear-gradient(90deg,rgba(255,90,43,.35),rgba(232,23,124,.3) 34%,rgba(0,179,154,.3) 67%,rgba(110,69,232,.35));opacity:.6}
.footer .wash{--mask:linear-gradient(to top,#000 0%,rgba(0,0,0,.6) 30%,transparent 62%);--wash:
  radial-gradient(44% 80% at 6% 100%,#FFE1CC 0%,rgba(255,225,204,0) 62%),
  radial-gradient(40% 70% at 36% 100%,#FFD9E8 0%,rgba(255,217,232,0) 62%),
  radial-gradient(40% 70% at 64% 100%,#D6F3EC 0%,rgba(214,243,236,0) 62%),
  radial-gradient(44% 80% at 94% 100%,#E4DBFF 0%,rgba(228,219,255,0) 62%)}
.footer .wash::before{opacity:.5}
.footer .wash::after{opacity:.55;-webkit-mask-image:radial-gradient(circle,#000 1.1px,transparent 1.6px);-webkit-mask-size:7px 7px;mask-image:radial-gradient(circle,#000 1.1px,transparent 1.6px);mask-size:7px 7px}
.footer > .wrap{position:relative;z-index:2}
.foot-bottom{border-top-color:rgba(11,11,12,.08)}

/* ---------- hero: AI visibility check card ---------- */
.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center}
.hero .h1{font-size:clamp(40px,5.4vw,76px)}
.hero-sub{font-size:15.5px;max-width:44ch;color:var(--mute)}
.hero-side{gap:14px}
.vis{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px 18px 16px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:14px;isolation:isolate}
.vis::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:
  radial-gradient(70% 50% at 100% 0%,rgba(255,201,160,.22),transparent 60%),
  radial-gradient(60% 50% at 0% 100%,rgba(200,180,255,.2),transparent 60%)}
.vis-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vis-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.vis-eyebrow i{width:7px;height:7px;border-radius:50%;background:#2AC18E;box-shadow:0 0 0 3px rgba(42,193,142,.18)}
.vis[data-state="scanning"] .vis-eyebrow i{animation:vis-blink 1s ease-in-out infinite}
@keyframes vis-blink{0%,100%{opacity:1}50%{opacity:.35}}
.vis-score{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.vis-score svg{position:absolute;inset:0;width:44px;height:44px;transform:rotate(-90deg)}
.vis-score .track{fill:none;stroke:var(--line);stroke-width:3}
.vis-score .ring{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.1s var(--ease),stroke .4s}
.vis[data-grade="good"] .ring{stroke:#1FA873}.vis[data-grade="mid"] .ring{stroke:#E39A1F}.vis[data-grade="low"] .ring{stroke:#E0523E}
.vis-score b{font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:-.02em}
.vis-form{display:flex;align-items:center;gap:6px;height:50px;padding:4px 4px 4px 14px;border-radius:999px;border:1px solid var(--line-2);background:#fff;transition:border-color .2s,box-shadow .2s}
.vis-form:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,11,12,.06)}
.vis-prefix{font-family:var(--mono);font-size:12px;color:var(--faint);flex:none}
.vis-form input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:var(--ink);height:100%}
.vis-form input::placeholder{color:var(--faint)}
.vis-form .btn{flex:none;height:40px}
.vis[data-state="scanning"] [data-vis-go]{pointer-events:none;opacity:.6}
.vis-intro{font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.vis-try{display:block;margin-top:6px;color:var(--mute)}
.vis-try button{font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.vis-try button:hover{text-decoration-color:var(--ink)}
.vis-result{display:flex;flex-direction:column;gap:12px;animation:panel-in .5s var(--ease)}
.vis-result[hidden]{display:none}
.vis-brand{display:flex;align-items:center;gap:10px}
.vis-brand img{width:28px;height:28px;border-radius:7px;background:var(--bg-2);object-fit:contain;flex:none}
.vis-brand b{display:block;font-family:var(--display);font-weight:500;font-size:16px;letter-spacing:-.02em;line-height:1.15}
.vis-brand span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--mute);margin-top:2px}
.vis-say{font-size:13.5px;line-height:1.5;color:var(--ink-2);padding:10px 12px;border-radius:12px;background:var(--bg-2);border-left:2px solid var(--gold);min-height:40px}
.vis-say:empty{display:none}
.vis-rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.vis-rows li{display:flex;flex-direction:column;gap:6px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.vis-k{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2)}
.vis-k svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.7;flex:none}
.vis-v{display:flex;flex-wrap:wrap;gap:4px}
.vis-skel{display:inline-block;width:72px;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg-3) 25%,#fff 50%,var(--bg-3) 75%);background-size:200% 100%;animation:vis-skel 1.1s linear infinite}
@keyframes vis-skel{from{background-position:200% 0}to{background-position:-200% 0}}
.vis-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:none;border:1px solid var(--line-2);color:var(--ink-2);background:#fff;white-space:nowrap}
.vis-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--faint)}
.vis-chip.ok{border-color:rgba(31,168,115,.35);color:#13724E;background:rgba(31,168,115,.07)}.vis-chip.ok::before{background:#1FA873}
.vis-chip.bad{border-color:rgba(224,82,62,.35);color:#9B3627;background:rgba(224,82,62,.07)}.vis-chip.bad::before{background:#E0523E}
.vis-chip.warn{border-color:rgba(227,154,31,.4);color:#8A5A0B;background:rgba(227,154,31,.08)}.vis-chip.warn::before{background:#E39A1F}
.vis-engines{display:grid;gap:8px}
.vis-engines[hidden]{display:none}
.vis-eng{padding:10px 12px;border-radius:12px;border:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--ink-2)}
.vis-eng b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--mute);margin-bottom:4px}
.vis-foot{display:flex;flex-direction:column;gap:10px}
.vis-foot p{font-size:13px;line-height:1.5;color:var(--ink-2)}
.vis-foot p:empty{display:none}
.vis-actions{display:flex;flex-wrap:wrap;gap:8px}
.vis-note{font-size:11px;line-height:1.45;color:var(--faint)}
.vis-error{font-size:13px;color:#9B3627;padding:10px 12px;border-radius:12px;background:rgba(224,82,62,.06)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;align-items:start}.hero-sub{max-width:none}.vis{margin-top:4px}}
.vis[data-state="done"] .vis-note,.vis[data-state="scanning"] .vis-note{display:none}
@media (max-width:520px){.vis{padding:14px 14px 12px}.vis-prefix{display:none}}

/* ---------- logo: four leaning strokes + Inter Tight wordmark ---------- */
.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}
.brand-mark{width:50px;height:22px;flex:none;display:block}
.brand-word{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.045em;line-height:1}
.foot-brand .brand-word{font-size:21px}

/* ---------- process: a visual monthly rhythm ---------- */
.rhythm{display:grid;gap:14px;--t-d:#FFC9A0;--t-g:#FFADD0;--t-s:#9FE7D3;--t-r:#C8B4FF}
.rh-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rh-card{position:relative;background:#F2F2F0;border-radius:22px;padding:12px 12px 18px;display:flex;flex-direction:column;gap:8px;overflow:hidden;isolation:isolate;transition:transform .5s var(--ease),box-shadow .5s var(--ease),opacity .4s}
.rh-card > *:not(.wash){position:relative;z-index:2}
.rh-card .wash{position:absolute;z-index:1;transform:scaleY(-1);--mask:linear-gradient(to top,#000 30%,transparent 62%);opacity:.55;transition:opacity .6s}
.rh-card.is-lit .wash{opacity:1}
.rh-card:hover{transform:translateY(-3px);box-shadow:0 30px 60px -36px rgba(11,11,12,.25)}
.rh-card.is-pulse .rh-vis{animation:rh-pop .6s var(--ease)}
@keyframes rh-pop{0%{transform:scale(1)}40%{transform:scale(1.025)}100%{transform:scale(1)}}
.rh-vis{height:150px;border-radius:14px;background:#fff;overflow:hidden;padding:14px;margin-bottom:6px;box-shadow:0 18px 40px -24px rgba(11,11,12,.28),0 0 0 1px rgba(11,11,12,.05);filter:saturate(.2);opacity:.72;transition:filter .6s,opacity .6s}
.rh-card.is-lit .rh-vis{filter:none;opacity:1}
.rh-when{display:inline-flex;align-items:center;gap:7px;padding:0 4px;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.rh-when svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.rh-card h3{font-size:19px;letter-spacing:-.02em;padding:0 4px}
.rh-card p{font-size:13.5px;line-height:1.5;color:var(--ink-2);padding:0 4px}
/* baseline visual */
.rh-vis-base{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;align-items:center}
.rh-ring{position:relative;width:62px;height:62px;display:flex;align-items:center;justify-content:center}
.rh-ring svg{position:absolute;inset:0;width:62px;height:62px;transform:rotate(-90deg)}
.rh-ring .track{fill:none;stroke:var(--bg-3);stroke-width:4}
.rh-ring .arc{fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.2s var(--ease)}
.rh-card.is-lit .rh-ring .arc{stroke-dashoffset:58}
.rh-ring b{font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.rh-bars{display:grid;gap:8px}
.rh-bars li{display:grid;gap:3px}
.rh-bars span{font-size:10px;color:var(--mute)}
.rh-bars i{display:block;height:5px;border-radius:3px;background:var(--bg-3);position:relative;overflow:hidden}
.rh-bars i::after{content:"";position:absolute;inset:0 auto 0 0;width:0;border-radius:3px;background:var(--ink);transition:width 1s var(--ease)}
.rh-card.is-lit .rh-bars i::after{width:var(--w)}
.rh-card.is-lit .rh-bars li:nth-child(2) i::after{transition-delay:.08s}.rh-card.is-lit .rh-bars li:nth-child(3) i::after{transition-delay:.16s}.rh-card.is-lit .rh-bars li:nth-child(4) i::after{transition-delay:.24s}
/* weekly note visual */
.rh-note-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.rh-note-head b{font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:-.01em}
.rh-note-head span{font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;text-transform:none;color:var(--faint)}
.rh-vis-note ul{display:grid;gap:11px}
.rh-vis-note li{display:grid;grid-template-columns:20px 54px minmax(0,1fr);align-items:center;gap:8px}
.rh-vis-note .ic{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-2)}
.rh-vis-note .ic svg{width:11px;height:11px;stroke:var(--ink);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rh-vis-note .ic.ok{background:rgba(31,168,115,.12)}.rh-vis-note .ic.ok svg{stroke:#13724E}
.rh-vis-note li span{font-size:11px;color:var(--ink-2)}
.rh-vis-note em{display:block;height:6px;border-radius:3px;background:var(--bg-3);width:12%;transition:width .9s var(--ease)}
.rh-card.is-lit .rh-vis-note em{width:var(--w)}
/* call visual */
.rh-vis-call{padding:6px;position:relative}
.rh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;height:100%}
.rh-grid img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:9px;background:var(--bg-3)}
.rh-live{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;background:rgba(11,11,12,.72);backdrop-filter:blur(6px);color:#fff;font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;text-transform:none}
.rh-live i{width:6px;height:6px;border-radius:50%;background:#2AC18E}
.rh-card.is-lit .rh-live i{animation:vis-blink 1.4s ease-in-out infinite}
/* monthly chart visual */
.rh-vis-chart{display:flex;flex-direction:column;gap:10px}
.rh-chart-head{display:flex;gap:10px;flex-wrap:wrap}
.rh-chart-head span{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--mute)}
.rh-chart-head span::before{content:"";width:12px;height:2px;border-radius:1px;background:var(--ink)}
.rh-chart-head span:nth-child(2)::before{background:#9A8AE6}.rh-chart-head span:nth-child(3)::before{background:#E39A1F}
.rh-vis-chart svg{flex:1;width:100%;min-height:0}
.rh-vis-chart .area{fill:rgba(200,180,255,.28);opacity:0;transition:opacity .9s .3s}
.rh-vis-chart .line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.4s var(--ease)}
.rh-card.is-lit .rh-vis-chart .area{opacity:1}
.rh-card.is-lit .rh-vis-chart .line{stroke-dashoffset:0}
/* the score: four lanes of dots across thirty days */
.rh-score{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 22px 14px}
.rh-score-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.rh-legend{color:var(--faint)}
.rh-plot{--lab:150px;position:relative}
.rh-row{display:grid;grid-template-columns:var(--lab) minmax(0,1fr);align-items:center;height:34px;transition:opacity .3s}
.rh-lab{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
.rh-lab svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
.rh-lane{position:relative;height:100%}
.rh-lane::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--line-2)}
.rh-lane i{position:absolute;top:50%;left:calc((var(--d) - .5) / 30 * 100%);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;border:1.5px solid var(--line-2);transition:background .35s,border-color .35s,box-shadow .5s,transform .35s var(--ease)}
.rh-lane i.is-lit{background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 5px var(--halo,rgba(11,11,12,.08))}
.rh-row[data-kind="base"]{--halo:rgba(255,201,160,.55)}.rh-row[data-kind="week"]{--halo:rgba(255,173,208,.5)}.rh-row[data-kind="call"]{--halo:rgba(159,231,211,.6)}.rh-row[data-kind="month"]{--halo:rgba(200,180,255,.6)}
.rh-axis{display:grid;grid-template-columns:var(--lab) minmax(0,1fr);margin-top:4px;padding-top:8px;border-top:1px solid var(--line)}
.rh-days{position:relative;height:16px}
.rh-days span{position:absolute;top:0;left:calc((var(--d) - .5) / 30 * 100%);transform:translateX(-50%);font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;text-transform:none;color:var(--faint);white-space:nowrap}
.rh-days span:first-child{transform:none}.rh-days span:last-child{transform:translateX(-100%)}
.rh-cursor{position:absolute;top:-4px;bottom:22px;left:calc(var(--lab) + (100% - var(--lab)) * var(--p,0));width:1.5px;margin-left:-.75px;background:linear-gradient(var(--ink),rgba(11,11,12,.15));border-radius:1px;opacity:var(--cur,1);transition:opacity .6s}
.rh-cursor::before{content:"";position:absolute;top:-3px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--ink)}
.rhythm.is-done .rh-cursor{--cur:0}
html.static .rh-cursor{display:none}
/* hover links a card with its lane */
.rhythm[data-focus="base"] .rh-card:not([data-kind="base"]),.rhythm[data-focus="week"] .rh-card:not([data-kind="week"]),.rhythm[data-focus="call"] .rh-card:not([data-kind="call"]),.rhythm[data-focus="month"] .rh-card:not([data-kind="month"]){opacity:.55}
.rhythm[data-focus="base"] .rh-row:not([data-kind="base"]):not(.rh-axis),.rhythm[data-focus="week"] .rh-row:not([data-kind="week"]),.rhythm[data-focus="call"] .rh-row:not([data-kind="call"]),.rhythm[data-focus="month"] .rh-row:not([data-kind="month"]){opacity:.35}
.rhythm[data-focus="base"] .rh-row[data-kind="base"] i,.rhythm[data-focus="week"] .rh-row[data-kind="week"] i,.rhythm[data-focus="call"] .rh-row[data-kind="call"] i,.rhythm[data-focus="month"] .rh-row[data-kind="month"] i{transform:scale(1.25)}
@media (max-width:1060px){.rh-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .rh-cards{grid-template-columns:1fr}
  .rh-vis{height:140px}
  .rh-score{padding:14px 14px 10px}
  .rh-plot{--lab:96px}
  .rh-lab{font-size:11.5px;gap:6px}
  .rh-lab svg{display:none}
  .rh-legend{display:none}
  .rh-days span{font-size:8.5px}
  .rh-days span:nth-child(2),.rh-days span:nth-child(4){display:none}
}
@media (prefers-reduced-motion:reduce){.rh-cursor{display:none}}

.hero-side,.vis{min-width:0;max-width:100%}

/* ---------- AI visibility check v3: categories, fixes, report form ---------- */
.vis-progress{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.vis-progress:empty{display:none}
.vis-cats{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.vis-cat{padding:10px 0;border-bottom:1px solid var(--line);display:grid;gap:7px}
.vis-cat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px}
.vis-cat-score{font-family:var(--display);font-weight:500;font-size:14px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.vis-cat-score small{font-size:11px;color:var(--faint);margin-left:1px}
.vis-meter{height:4px;border-radius:2px;background:var(--bg-3);overflow:hidden}
.vis-meter i{display:block;height:100%;width:0;border-radius:2px;background:var(--faint);transition:width .9s var(--ease)}
.vis-meter.good i{background:#1FA873}.vis-meter.mid i{background:#E39A1F}.vis-meter.low i{background:#E0523E}
.vis-fixes{padding:12px 14px;border-radius:14px;background:var(--bg-2)}
.vis-fixes[hidden]{display:none}
.vis-fixes > b{display:block;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--mute);margin-bottom:8px}
.vis-fixes ol{margin:0;padding-left:18px;display:grid;gap:7px;list-style:decimal}
.vis-fixes li{font-size:12.5px;line-height:1.45;color:var(--ink-2)}
.vis-fixes li b{color:var(--ink);font-weight:600}
.vis-actions[hidden],.vis-lead[hidden],.vis-actions [hidden]{display:none}
.vis-lead{display:grid;gap:10px;padding:14px;border-radius:16px;border:1px solid var(--line);background:#fff}
.vis-lead-title{font-family:var(--display);font-weight:500;font-size:16px;letter-spacing:-.02em;line-height:1.25}
.vis-lead-sub{font-size:12.5px;color:var(--mute);line-height:1.45}
.vis-legal{font-size:11px;color:var(--faint);line-height:1.45}
.vis-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vis-fields input{height:42px;border-radius:12px;border:1px solid var(--line-2);padding:0 12px;font:inherit;font-size:14px;color:var(--ink);background:#fff;outline:0;min-width:0;transition:border-color .2s,box-shadow .2s}
.vis-fields input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,11,12,.06)}
.vis-fields input[name="company"]{grid-column:1/-1}
.vis-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.vis-lead-actions{display:flex;gap:8px;flex-wrap:wrap}
.vis-status{font-size:12.5px;line-height:1.5;color:var(--ink-2)}
.vis-status:empty{display:none}
.vis-status.ok{color:#13724E}.vis-status.err{color:#9B3627}
.vis-status a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.vis-lead.is-sent .vis-fields,.vis-lead.is-sent .vis-lead-actions,.vis-lead.is-sent .vis-legal,.vis-lead.is-sent .vis-lead-sub{display:none}
@media (max-width:520px){.vis-fields{grid-template-columns:1fr}}

/* ---------- top strip: the offer ---------- */
.strip-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.02em;text-transform:none;flex:none}
@media (max-width:640px){.strip-badge{display:none}}

/* hero: keep the headline at the top while the check card grows */
.hero-grid{align-items:start}
.hero-grid > div:first-child{padding-top:clamp(0px,4vw,56px)}
@media (min-width:901px){.hero-grid > div:first-child{position:sticky;top:110px}}

.vis-fixes li{color:var(--ink);font-weight:500}
.vis-fixes li span{display:block;font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--faint);margin-top:2px}

/* no coloured dots: icons and glyphs instead */
.vis-eyebrow i{display:none}
.vis-eyebrow svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;color:var(--ink-2)}
.vis[data-state="scanning"] .vis-eyebrow svg{animation:vis-blink 1s ease-in-out infinite}
.vis-chip::before{content:"";width:auto;height:auto;border-radius:0;background:none!important;font-family:var(--body);font-size:11px;font-weight:600;line-height:1;letter-spacing:0}
.vis-chip.ok::before{content:"\2713"}.vis-chip.bad::before{content:"\2715"}.vis-chip.warn::before{content:"!"}
.vis-chip:not(.ok):not(.bad):not(.warn)::before{display:none}
.rh-live i{display:none}
.rh-live svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rh-card.is-lit .rh-live svg{animation:vis-blink 1.6s ease-in-out infinite}

/* ---------- tools pages ---------- */
.tool-hero{padding-bottom:clamp(24px,3vw,40px)}
.tool-head{display:grid;gap:16px;max-width:760px;margin-bottom:clamp(28px,4vw,48px)}
.tool-title{font-size:clamp(40px,5vw,68px)}
.tool-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(18px,3vw,36px);align-items:start}
.tool-aside{position:sticky;top:96px;background:var(--bg-2);border:1px solid var(--line);border-radius:24px;padding:22px 22px 18px}
.tool-aside-title{font-size:20px;letter-spacing:-.02em;margin-bottom:12px}
.tool-cats{display:grid}
.tool-cats li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.tool-cats b{font-family:var(--display);font-weight:500;font-size:15px;letter-spacing:-.01em}
.tool-pts{margin-left:8px;font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--faint)}
.tool-cats p{font-size:13px;line-height:1.5;color:var(--ink-2);margin-top:3px}
.tool-cat-ico{width:30px;height:30px;border-radius:9px;background:#fff;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;flex:none}
.tool-cat-ico svg{width:14px;height:14px;stroke:var(--ink-2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tool-note{font-size:12px;line-height:1.5;color:var(--mute);margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.vis-tool .vis-note{display:none}
@media (max-width:960px){.tool-grid{grid-template-columns:minmax(0,1fr)}.tool-aside{position:static}}
.tool-results[hidden]{display:none}
.tr-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;margin-bottom:24px}
.tr-head .lead{margin-top:12px;max-width:62ch}
.tr-score{position:relative;width:132px;height:132px;display:flex;align-items:center;justify-content:center}
.tr-score svg{position:absolute;inset:0;width:132px;height:132px;transform:rotate(-90deg)}
.tr-score .track{fill:none;stroke:var(--bg-3);stroke-width:8}
.tr-score .ring{fill:none;stroke:var(--ink);stroke-width:8;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.2s var(--ease)}
.tr-score[data-grade="good"] .ring{stroke:#1FA873}.tr-score[data-grade="mid"] .ring{stroke:#E39A1F}.tr-score[data-grade="low"] .ring{stroke:#E0523E}
.tr-score > div{text-align:center;display:grid;gap:2px}
.tr-score b{font-family:var(--display);font-weight:500;font-size:38px;letter-spacing:-.04em;line-height:1}
.tr-score span,.tr-score em{font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;text-transform:none;color:var(--mute);font-style:normal}
.tr-summary{display:grid;grid-template-columns:repeat(3,minmax(0,140px)) minmax(0,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-bottom:14px}
.tr-stat,.tr-gaps{background:#fff;padding:18px 20px}
.tr-stat b{display:block;font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:-.03em;line-height:1}
.tr-stat span,.tr-gaps-label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--mute);margin-top:6px}
.tr-gaps-label{margin:0 0 8px}
.tr-gaps ol{margin:0;padding-left:18px;list-style:decimal;display:grid;gap:4px;font-size:14px;font-weight:500;color:var(--ink)}
.tr-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tr-cat{background:var(--bg-2);border:1px solid var(--line);border-radius:20px;padding:18px 18px 10px;display:grid;gap:10px;align-content:start}
.tr-cat header{display:flex;align-items:center;gap:10px}
.tr-cat header b{font-family:var(--display);font-weight:500;font-size:16px;letter-spacing:-.015em;flex:1}
.tr-cat-score{font-family:var(--display);font-weight:500;font-size:16px}
.tr-cat-score small{font-size:12px;color:var(--faint)}
.tr-cat ul{display:grid}
.tr-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
.tr-g{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1}
.tr-row.pass .tr-g{background:rgba(31,168,115,.12);color:#13724E}
.tr-row.warn .tr-g{background:rgba(227,154,31,.14);color:#8A5A0B}
.tr-row.fail .tr-g{background:rgba(224,82,62,.12);color:#9B3627}
.tr-row.fail .tr-l,.tr-row.warn .tr-l{color:var(--ink)}
.tr-p{font-family:var(--mono);font-size:11px;color:var(--faint)}
.tr-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
@media (max-width:860px){.tr-head{grid-template-columns:1fr}.tr-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.tr-gaps{grid-column:1/-1}.tr-cats{grid-template-columns:1fr}}
/* tools index tile */
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tool-tile{color:inherit}
.tool-tile .feat-card{height:360px}
.tool-tile-mock{position:absolute;z-index:2;left:28px;right:28px;top:92px;bottom:-20px;background:#fff;border-radius:14px;box-shadow:0 24px 50px -22px rgba(11,11,12,.32),0 0 0 1px rgba(11,11,12,.05);padding:16px 18px;transition:transform .6s var(--ease)}
.tool-tile:hover .tool-tile-mock{transform:translateY(-6px)}
.ttm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.ttm-head span{display:inline-flex;align-items:center;gap:7px}
.ttm-head svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ttm-head b{font-family:var(--display);font-weight:500;font-size:20px;color:#E39A1F;letter-spacing:-.02em}
.tool-tile-mock ul{display:grid;gap:10px}
.tool-tile-mock li{display:grid;gap:4px;font-size:11.5px;color:var(--ink-2)}
.tool-tile-mock i{display:block;height:4px;border-radius:2px;background:linear-gradient(90deg,#1FA873 var(--w),var(--bg-3) var(--w))}
.tool-tile-mock i.mid{background:linear-gradient(90deg,#E39A1F var(--w),var(--bg-3) var(--w))}
.tool-tile-mock i.low{background:linear-gradient(90deg,#E0523E var(--w),var(--bg-3) var(--w))}
.tool-tile-link{display:inline-flex;align-items:center;gap:6px;margin-left:4px;color:var(--ink);font-weight:500;border-bottom:1px solid var(--line-2)}
.tool-tile-link svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:820px){.tools-grid{grid-template-columns:1fr}}

.vis-tool [data-vis-detail]{display:none}

.vis-intro b{display:block;font-family:var(--display);font-weight:500;font-size:15.5px;letter-spacing:-.01em;color:var(--ink);margin-bottom:4px}

/* ---------- AI check v5: dark console card ---------- */
.vis{--v-ink:#0B0B0C;--v-2:#2E2E33;--v-mute:#6D6D74;--v-faint:#A3A3AA;--v-line:rgba(11,11,12,.08);--v-panel:rgba(11,11,12,.03);--v-ok:#13A273;--v-mid:#D98A0B;--v-bad:#E0523E;--g1:#8C7BFF;--g2:#FF5A2B;
  background:#fff;color:var(--v-ink);border:1px solid rgba(11,11,12,.07);border-radius:28px;padding:22px 22px 18px;gap:16px;overflow:hidden;
  box-shadow:0 40px 80px -36px rgba(11,11,12,.55),0 12px 28px -14px rgba(11,11,12,.35),inset 0 1px 0 rgba(11,11,12,.06)}
.vis::before{z-index:0;background:radial-gradient(rgba(11,11,12,.07) 1px,transparent 1.2px) 0 0/14px 14px;-webkit-mask:linear-gradient(180deg,#000,transparent 70%);mask:linear-gradient(180deg,#000,transparent 70%);opacity:.7}
.vis > *{position:relative;z-index:1}
.vis-glow{position:absolute!important;z-index:0!important;inset:-40% -30% auto auto;width:420px;height:420px;pointer-events:none;filter:blur(60px);opacity:.55;
  background:radial-gradient(closest-side,rgba(110,69,232,.75),transparent 70%) 30% 40%/60% 60% no-repeat,radial-gradient(closest-side,rgba(255,90,43,.6),transparent 70%) 70% 60%/55% 55% no-repeat,radial-gradient(closest-side,rgba(0,179,154,.45),transparent 70%) 40% 80%/50% 50% no-repeat;
  animation:vis-glow 14s ease-in-out infinite alternate}
@keyframes vis-glow{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(-60px,40px) rotate(40deg)}}
.vis[data-grade="good"]{--g1:#2BD49A;--g2:#00B39A}.vis[data-grade="mid"]{--g1:#FBCB4A;--g2:#FF8A2B}.vis[data-grade="low"]{--g1:#FF8A5B;--g2:#E8177C}
.vis-eyebrow{color:var(--v-mute)}
.vis-eyebrow svg{color:var(--v-ink)}
.vis-badge{display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--v-line);background:var(--v-panel);font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--v-2)}
.vis-badge i{width:6px;height:6px;border-radius:50%;background:var(--v-ok);box-shadow:0 0 0 0 rgba(43,212,154,.6);animation:vis-ping 2s ease-out infinite}
@keyframes vis-ping{0%{box-shadow:0 0 0 0 rgba(43,212,154,.55)}80%,100%{box-shadow:0 0 0 7px rgba(43,212,154,0)}}
.vis-hello{display:grid;gap:8px}
.vis-hello[hidden]{display:none}
.vis-title{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.035em;line-height:1.02;color:var(--v-ink);background:linear-gradient(180deg,#fff 30%,rgba(11,11,12,.62));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.vis .vis-intro{font-size:14px;line-height:1.5;color:var(--v-mute);max-width:44ch}
.vis-form{height:56px;padding:5px 5px 5px 16px;gap:10px;border-radius:16px;border:1px solid rgba(11,11,12,.12);background:rgba(11,11,12,.06);box-shadow:inset 0 1px 0 rgba(11,11,12,.05)}
.vis-form:focus-within{border-color:rgba(11,11,12,.34);box-shadow:0 0 0 4px rgba(140,123,255,.18)}
.vis-globe{width:16px;height:16px;flex:none;stroke:var(--v-mute);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vis-form input{color:var(--v-ink);font-size:15.5px}
.vis-form input::placeholder{color:var(--v-faint)}
.vis-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;border:0;cursor:pointer;flex:none;font:inherit;font-size:14px;font-weight:600;letter-spacing:-.01em;color:#0D0D11;background:linear-gradient(180deg,#fff,#E7E7E3);box-shadow:0 1px 0 rgba(11,11,12,.5) inset,0 8px 20px -8px rgba(11,11,12,.35);transition:transform .2s var(--ease),box-shadow .2s}
.vis-go:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(11,11,12,.5) inset,0 12px 26px -8px rgba(11,11,12,.45)}
.vis-go svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vis-go:disabled{opacity:.5;pointer-events:none}
.vis-ghost{display:inline-flex;align-items:center;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--v-line);background:transparent;color:var(--v-2);font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .2s,color .2s}
.vis-ghost:hover{background:var(--v-panel);color:var(--v-ink)}
.vis-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px}
.vis:not([data-state="idle"]) .vis-meta{display:none}
.vis-engs{display:flex;flex-wrap:wrap;gap:6px}
.vis-engs li{height:24px;display:inline-flex;align-items:center;padding:0 9px;border-radius:999px;background:var(--v-panel);border:1px solid var(--v-line);font-size:11.5px;color:var(--v-2)}
.vis .vis-try{display:inline;margin:0;font-size:12px;color:var(--v-faint)}
.vis .vis-try button{color:var(--v-2);text-decoration-color:rgba(11,11,12,.25);margin-left:4px}
.vis .vis-try button:hover{color:var(--v-ink);text-decoration-color:var(--v-ink)}
.vis-note{color:var(--v-faint)}

/* scan panel */
.vis-scan{display:grid;gap:12px;padding:16px;border-radius:18px;background:rgba(11,11,12,.035);border:1px solid var(--v-line);animation:panel-in .4s var(--ease)}
.vis-scan[hidden]{display:none}
.vis-scan-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vis-scan-k{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--v-mute);min-width:0}
.vis-scan-k b{color:var(--v-ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vis-pulse{width:8px;height:8px;border-radius:50%;background:#8C7BFF;flex:none;animation:vis-ping-v 1.4s ease-out infinite}
@keyframes vis-ping-v{0%{box-shadow:0 0 0 0 rgba(140,123,255,.7)}80%,100%{box-shadow:0 0 0 8px rgba(140,123,255,0)}}
.vis-pct{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.vis-bar{position:relative;height:6px;border-radius:3px;background:rgba(11,11,12,.08);overflow:hidden}
.vis-bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:linear-gradient(90deg,#6E45E8,#E8177C 55%,#FF5A2B);box-shadow:0 0 16px rgba(232,23,124,.55);transition:width .25s linear}
.vis-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(11,11,12,.55),transparent);transform:translateX(-100%);animation:vis-sheen 1.3s linear infinite}
@keyframes vis-sheen{to{transform:translateX(100%)}}
.vis-steps{display:grid;gap:2px}
.vis-step{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;margin:0 -8px;border-radius:9px;font-size:13px;color:var(--v-faint);transition:color .3s,background .3s}
.vis-step-i{position:relative;width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(11,11,12,.18)}
.vis-step-d{font-family:var(--mono);font-size:11px;color:var(--v-faint);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.vis-step.is-run{color:var(--v-ink);background:rgba(140,123,255,.09)}
.vis-step.is-run .vis-step-i{border-color:rgba(140,123,255,.3);border-top-color:#B3A6FF;animation:vis-spin .8s linear infinite}
.vis-step.is-run .vis-step-d{color:#B3A6FF}
@keyframes vis-spin{to{transform:rotate(360deg)}}
.vis-step.is-done{color:var(--v-2)}
.vis-step.is-done .vis-step-i{border:0;background:rgba(43,212,154,.16);animation:vis-pop .35s var(--ease)}
.vis-step.is-done .vis-step-i::after{content:"\2713";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--v-ok)}
.vis-step.is-done.is-bad .vis-step-i{background:rgba(245,178,61,.16)}
.vis-step.is-done.is-bad .vis-step-i::after{content:"!";color:var(--v-mid)}
.vis-step.is-done .vis-step-d{color:var(--v-mute)}
.vis-step.is-done.is-good .vis-step-d{color:rgba(43,212,154,.9)}
.vis-step.is-done.is-bad .vis-step-d{color:rgba(245,178,61,.95)}
@keyframes vis-pop{0%{transform:scale(.4)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
.vis-log{display:flex;gap:8px;min-height:30px;align-items:center;padding:7px 10px;border-radius:9px;background:rgba(11,11,12,.03);border:1px solid var(--v-line);font-family:var(--mono);font-size:11px;color:var(--v-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vis-log span{color:#2BD49A;flex:none}
.vis-log::after{content:"";width:6px;height:12px;background:var(--v-mute);flex:none;animation:vis-blink 1s steps(1) infinite;margin-left:-2px}

/* results */
.vis-result{gap:14px;animation:panel-in .55s var(--ease)}
.vis-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;padding:16px;border-radius:20px;background:linear-gradient(135deg,rgba(11,11,12,.07),rgba(11,11,12,.02));border:1px solid var(--v-line)}
.vis-gauge{position:relative;width:118px;height:118px;display:flex;align-items:center;justify-content:center}
.vis-gauge svg{position:absolute;inset:0;width:118px;height:118px;transform:rotate(-90deg);overflow:visible}
.vis-gauge .track{fill:none;stroke:rgba(11,11,12,.08);stroke-width:9}
.vis-gauge .ring{fill:none;stroke:url(#vis-grad);stroke-width:9;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.3s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--g1) 55%,transparent))}
.vis-gauge > div{text-align:center;display:grid;line-height:1}
.vis-gauge b{font-family:var(--display);font-weight:500;font-size:42px;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--v-ink)}
.vis-gauge span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--v-faint);margin-top:4px}
.vis-hero-r{display:grid;gap:9px;min-width:0}
.vis .vis-brand img{background:#fff;border-radius:8px;padding:3px}
.vis .vis-brand b{color:var(--v-ink);font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vis .vis-brand span{color:var(--v-faint)}
.vis-grade{justify-self:start;display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:-.005em;color:#0D0D11;background:linear-gradient(90deg,var(--g1),var(--g2))}
.vis-grade:empty{display:none}
.vis-counts{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-size:11.5px;color:var(--v-mute)}
.vis-counts span{display:inline-flex;align-items:baseline;gap:5px}
.vis-counts b{font-family:var(--display);font-weight:500;font-size:17px;letter-spacing:-.02em}
.vis-counts .pass b{color:var(--v-ok)}.vis-counts .warn b{color:var(--v-mid)}.vis-counts .fail b{color:var(--v-bad)}
.vis-counts em{flex-basis:100%;display:inline-flex;align-items:center;gap:6px;font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--v-faint)}
.vis-counts em svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vis .vis-say{background:rgba(11,11,12,.04);color:var(--v-2);border-left:2px solid var(--g1);font-size:13px}
.vis .vis-say::before{content:"What AI reads about you";display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;text-transform:none;color:var(--v-faint);margin-bottom:4px;font-style:normal}
.vis .vis-cats{border:0;display:grid;gap:8px}
.vis .vis-cat{padding:12px 14px;border:1px solid var(--v-line);border-radius:16px;background:rgba(11,11,12,.03);gap:9px;animation:panel-in .5s var(--ease) both;animation-delay:var(--d,0ms)}
.vis .vis-cat-head{font-size:13.5px;justify-content:flex-start;gap:10px}
.vis-cat-ico{width:26px;height:26px;border-radius:8px;background:rgba(11,11,12,.07);display:inline-flex;align-items:center;justify-content:center;flex:none}
.vis-cat-ico svg{width:13px;height:13px;stroke:var(--v-2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vis-cat-l{flex:1;min-width:0;color:var(--v-ink);font-weight:500}
.vis .vis-cat-score{color:var(--v-ink);font-size:16px;font-variant-numeric:tabular-nums}
.vis .vis-cat-score small{color:var(--v-faint)}
.vis .vis-meter{height:5px;background:rgba(11,11,12,.08)}
.vis .vis-meter i{transition:width 1.1s var(--ease);transition-delay:calc(var(--d,0ms) + 200ms)}
.vis .vis-meter.good i{background:linear-gradient(90deg,#00B39A,#2BD49A)}
.vis .vis-meter.mid i{background:linear-gradient(90deg,#FF8A2B,#FBCB4A)}
.vis .vis-meter.low i{background:linear-gradient(90deg,#E8177C,#FF6B57)}
.vis-probs{display:grid;gap:5px}
.vis-probs li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;align-items:start;font-size:12.5px;line-height:1.4;color:var(--v-2)}
.vis-probs i,.vis-cat-ok i{width:16px;height:16px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:9.5px;font-weight:700;margin-top:1px}
.vis-probs .fail i{background:rgba(255,107,87,.14);color:var(--v-bad)}
.vis-probs .warn i{background:rgba(245,178,61,.14);color:var(--v-mid)}
.vis-cat-ok{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--v-2)}
.vis-cat-ok i{background:rgba(43,212,154,.14);color:var(--v-ok)}
.vis-cat-more{font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--v-faint)}
.vis .vis-fixes{padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(255,90,43,.14),rgba(232,23,124,.08) 60%,rgba(110,69,232,.08));border:1px solid rgba(255,90,43,.22)}
.vis .vis-fixes > b{color:#FFB59C}
.vis .vis-fixes ol{padding:0;list-style:none;gap:0}
.vis .vis-fixes li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid rgba(11,11,12,.07);color:var(--v-ink);font-weight:500;font-size:13.5px}
.vis .vis-fixes li:first-child{border-top:0;padding-top:2px}
.vis-gap-n{font-family:var(--mono);font-size:11px;color:var(--v-faint)}
.vis-gap-t small{display:block;font-family:var(--mono);font-size:9.5px;font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--v-faint);margin-top:2px}
.vis-gap-p{font-family:var(--mono);font-size:11px;font-weight:600;color:#FF8F7A;background:rgba(255,107,87,.12);padding:3px 8px;border-radius:999px;white-space:nowrap}
.vis .vis-foot p,.vis .vis-verdict{color:var(--v-2);font-size:13.5px}
.vis .vis-actions{gap:8px}
.vis .vis-eng{border-color:var(--v-line);color:var(--v-2)}
.vis .vis-lead{background:rgba(11,11,12,.04);border-color:var(--v-line)}
.vis .vis-lead-title{color:var(--v-ink)}
.vis .vis-lead-sub,.vis .vis-legal{color:var(--v-mute)}
.vis .vis-fields input{background:rgba(11,11,12,.06);border-color:rgba(11,11,12,.12);color:var(--v-ink)}
.vis .vis-fields input::placeholder{color:var(--v-faint)}
.vis .vis-fields input:focus{border-color:rgba(11,11,12,.4);box-shadow:0 0 0 3px rgba(140,123,255,.2)}
.vis .vis-status{color:var(--v-2)}
.vis .vis-status.ok{color:var(--v-ok)}.vis .vis-status.err{color:#FF8F7A}
@media (max-width:520px){
  .vis{padding:16px 14px 14px;border-radius:22px}
  .vis-form{height:52px;padding-left:12px}
  .vis-go{padding:0 14px}
  .vis-step-d{max-width:120px}
  .vis-hero{grid-template-columns:1fr;justify-items:center;text-align:center}
  .vis-hero-r{justify-items:center}.vis-grade{justify-self:center}.vis-counts{justify-content:center}.vis .vis-brand{justify-content:center}
}
@media (prefers-reduced-motion:reduce){.vis-glow,.vis-bar i::after{animation:none}}
.vis .vis-fixes li > span{display:block;margin:0;text-transform:none;letter-spacing:0}
.vis .vis-fixes li .vis-gap-t{font-family:var(--body);font-size:13.5px;font-weight:500;color:var(--v-ink)}
.vis .vis-fixes li .vis-gap-n{font-family:var(--mono);font-size:11px;color:var(--v-faint)}
.vis .vis-fixes li .vis-gap-p{font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:#FF8F7A}
.vis .vis-actions .vis-go{padding:0 16px;font-size:13.5px}
.vis .vis-actions .vis-ghost{padding:0 12px;font-size:13px}
/* hero card stays compact: bars only; full problem lists live on the tool page */
.vis:not(.vis-tool) .vis-probs,.vis:not(.vis-tool) .vis-cat-ok,.vis:not(.vis-tool) .vis-cat-more{display:none}
.vis:not(.vis-tool) .vis-cats{gap:6px}
.vis:not(.vis-tool) .vis-cat{padding:10px 12px;gap:8px;border-radius:14px}

/* v5 light: white card, soft lane hues */
.vis{border:1px solid var(--line);box-shadow:0 30px 60px -34px rgba(11,11,12,.22),0 8px 22px -14px rgba(11,11,12,.1)}
.vis::before{background:radial-gradient(rgba(11,11,12,.06) 1px,transparent 1.2px) 0 0/14px 14px;opacity:.6}
.vis-glow{opacity:.42;filter:blur(70px)}
.vis-title{background:linear-gradient(180deg,#0B0B0C 40%,#3a3a44);-webkit-background-clip:text;background-clip:text}
.vis-badge{background:rgba(19,162,115,.07);border-color:rgba(19,162,115,.2);color:#13724E}
.vis-form{background:#fff;border-color:var(--line-2);box-shadow:0 1px 2px rgba(11,11,12,.04)}
.vis-form:focus-within{border-color:#8C7BFF;box-shadow:0 0 0 4px rgba(140,123,255,.14)}
.vis-go{color:#fff;background:linear-gradient(180deg,#26262B,#0B0B0C);box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 8px 18px -8px rgba(11,11,12,.45)}
.vis-go:hover{box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 12px 24px -8px rgba(11,11,12,.5)}
.vis-engs li{background:#fff;border-color:var(--line)}
.vis-scan{background:linear-gradient(135deg,rgba(110,69,232,.05),rgba(232,23,124,.035) 50%,rgba(255,90,43,.04));border-color:rgba(110,69,232,.14)}
.vis-bar{background:rgba(11,11,12,.06)}
.vis-bar i{box-shadow:0 0 12px rgba(232,23,124,.3)}
.vis-bar i::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent)}
.vis-step.is-run{background:rgba(110,69,232,.07)}
.vis-step.is-run .vis-step-i{border-color:rgba(110,69,232,.2);border-top-color:#6E45E8}
.vis-step.is-run .vis-step-d{color:#6E45E8}
.vis-step.is-done .vis-step-i{background:rgba(19,162,115,.12)}
.vis-step.is-done.is-bad .vis-step-i{background:rgba(217,138,11,.13)}
.vis-step.is-done.is-good .vis-step-d{color:#13926A}
.vis-step.is-done.is-bad .vis-step-d{color:#B8740A}
.vis-log{background:#fff;color:var(--v-mute)}
.vis-log span{color:#13926A}
.vis-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--g1) 9%,#fff),#fff 60%,color-mix(in srgb,var(--g2) 7%,#fff));border-color:var(--line)}
.vis-gauge .track{stroke:rgba(11,11,12,.07)}
.vis-gauge .ring{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--g1) 40%,transparent))}
.vis .vis-brand img{background:#fff;box-shadow:0 0 0 1px var(--line)}
.vis-grade{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.12)}
.vis .vis-say{background:var(--bg-2)}
.vis .vis-cat{background:#fff;border-color:var(--line)}
.vis-cat-ico{background:var(--bg-2)}
.vis-probs .fail i{background:rgba(224,82,62,.1)}.vis-probs .warn i{background:rgba(217,138,11,.12)}.vis-cat-ok i{background:rgba(19,162,115,.1)}
.vis .vis-fixes{background:linear-gradient(135deg,#FFF1EA,#FFEAF3 60%,#F1ECFF);border-color:rgba(255,90,43,.18)}
.vis .vis-fixes > b{color:#C2410C}
.vis .vis-fixes li{border-top-color:rgba(11,11,12,.06)}
.vis .vis-fixes li .vis-gap-p,.vis-gap-p{color:#C2410C;background:rgba(255,90,43,.1)}
.vis .vis-lead{background:var(--bg-2)}
.vis .vis-fields input{background:#fff;border-color:var(--line-2)}
.vis .vis-fields input:focus{border-color:#8C7BFF}
.vis .vis-status.ok{color:#13724E}.vis .vis-status.err{color:#9B3627}
/* ---------- lanes: compact tags ---------- */
.lane{padding:22px 22px 20px}
.lane h3{margin:26px 0 8px;font-size:21px}
.lane .what{min-height:0;margin-bottom:16px;font-size:14px}
.lane ul.tags{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--line-2);padding-top:14px}
.lane ul.tags li{padding:0 10px;height:28px;border:1px solid var(--line-2);border-radius:999px;background:rgba(255,255,255,.7);font-size:12.5px;line-height:1;color:var(--ink-2);align-items:center;white-space:nowrap}
.lane ul.tags li::before{display:none}
.lane:hover ul.tags li{background:#fff}
@media (max-width:1060px){.lane h3{margin-top:22px}}
/* ---------- nav: resources menu ---------- */
.nav-drop{position:relative}
.nav-drop-btn{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 11px 0 13px;border:0;border-radius:var(--pill);background:transparent;font:inherit;font-size:14.5px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:background .2s,color .2s}
.nav-drop-btn:hover,.nav-drop.is-open .nav-drop-btn{background:var(--bg-2);color:var(--ink)}
.nav-chev{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.nav-drop.is-open .nav-chev{transform:rotate(180deg)}
.nav-menu{position:absolute;top:calc(100% + 12px);left:50%;width:340px;padding:8px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -28px rgba(11,11,12,.3),0 8px 20px -12px rgba(11,11,12,.12);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .2s,transform .25s var(--ease),visibility 0s .25s;z-index:80}
.nav-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav-drop.is-open .nav-menu{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .25s var(--ease)}
@media (hover:hover) and (pointer:fine) and (min-width:961px){.nav-drop:hover .nav-menu{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .25s var(--ease)}.nav-drop:hover .nav-chev{transform:rotate(180deg)}.nav-drop:hover .nav-drop-btn{background:var(--bg-2);color:var(--ink)}}
.nm-label{display:block;padding:10px 12px 4px;font-size:11.5px;font-weight:600;color:var(--faint)}
.nav-links .nm-item{display:flex;align-items:center;gap:12px;height:auto;padding:10px 12px;border-radius:14px;color:var(--ink);white-space:normal}
.nav-links .nm-item:hover{background:var(--bg-2)}
.nm-ico{width:38px;height:38px;flex:none;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-2);border:1px solid var(--line)}
.nm-ico svg{width:17px;height:17px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nm-ico[data-tone="r"]{background:#F1ECFF;border-color:#E2D9FF}.nm-ico[data-tone="r"] svg{stroke:#5A36C9}
.nm-ico[data-tone="s"]{background:#E6F8F4;border-color:#CDEFE7}.nm-ico[data-tone="s"] svg{stroke:#00766C}
.nm-ico[data-tone="d"]{background:#FFF0E8;border-color:#FFDCCB}.nm-ico[data-tone="d"] svg{stroke:#C2410C}
.nm-txt{display:grid;gap:1px;line-height:1.3}
.nm-txt b{font-size:14.5px;font-weight:600;color:var(--ink)}
.nm-txt small{font-size:12.5px;color:var(--mute)}
.nav-links .nm-all{display:flex;align-items:center;justify-content:space-between;height:44px;margin-top:6px;padding:0 14px;border-radius:12px;background:var(--bg-2);font-size:13.5px;font-weight:600;color:var(--ink)}
.nav-links .nm-all:hover{background:#ECECE8}
.nm-all svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:960px){
  .nav.is-open .nav-drop{display:block}
  .nav.is-open .nav-drop-btn{width:100%;justify-content:space-between;height:48px;padding:0 13px;border-radius:var(--r-sm);font-size:16px}
  .nav.is-open .nav-menu{position:static;width:auto;transform:none;box-shadow:none;border:0;padding:0 0 6px 6px;opacity:1;visibility:visible;display:none}
  .nav.is-open .nav-drop.is-open .nav-menu{display:block}
  .nav.is-open .nav-menu::before{display:none}
}
.foot-grid{grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.foot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.foot-brand{grid-column:1/-1}}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
/* ---------- doc v2: one team, centred titles ---------- */
.sec-head.center{max-width:780px;margin-left:auto;margin-right:auto;text-align:center;justify-items:center;gap:16px}
.sec-head.center .lead{max-width:60ch}
#what{margin-top:clamp(56px,7vw,96px)}
#trusted .sec-head.center{margin-bottom:28px}
#trusted .sec-head.center .h2{font-size:clamp(28px,3vw,40px)}

/* services: hover makes the card bigger and shows the detail */
.svcs{align-items:stretch}
.svc{position:relative;z-index:1;outline:none}
.svc:hover,.svc:focus-within,.svc.is-open{z-index:6}
.svc-card{height:100%;transform-origin:center top;transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .45s}
.svc.js-sized:hover .svc-card,.svc.js-sized:focus-visible .svc-card,.svc.js-sized.is-open .svc-card{position:absolute;top:0;left:0;right:0;height:auto;min-height:100%}
.svc:hover .svc-card,.svc:focus-visible .svc-card,.svc.is-open .svc-card{transform:scale(1.05);background:#fff;box-shadow:0 40px 70px -32px rgba(11,11,12,.35),0 10px 24px -14px rgba(11,11,12,.16)}
.svc:focus-visible .svc-card{outline:2px solid var(--ink);outline-offset:3px}
.svc-ico{position:relative;z-index:2;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.75);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center}
.svc-ico svg{width:16px;height:16px;stroke:var(--ink-2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.svc .lane h3,.svc-card h3{margin:18px 0 10px}
.svc-stack{position:relative;z-index:2;display:flex;flex-direction:column;flex:1}
.svc-front{display:flex;flex-direction:column;flex:1}
.svc-front ul.tags{margin-top:auto}
.svc-more{display:none;align-content:start;gap:8px}
.svc .lane .svc-more li{display:grid;gap:1px;padding:0 0 8px;border:0;border-bottom:1px solid var(--line);font-size:12.5px;line-height:1.35}
.svc .lane .svc-more li:last-child{border-bottom:0;padding-bottom:0}
.svc .lane .svc-more li::before{display:none}
.svc-more b{font-weight:600;color:var(--ink);font-size:13px}
.svc-more span{color:var(--ink-2)}
.svc:hover .svc-front,.svc:focus-visible .svc-front,.svc.is-open .svc-front{display:none}
.svc:hover .svc-more,.svc:focus-visible .svc-more,.svc.is-open .svc-more{display:grid;animation:svc-in .4s var(--ease) both}
@keyframes svc-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (hover:none){.svc .svc-card{transform:none!important}}
@media (prefers-reduced-motion:reduce){.svc-card{transition:none}.svc-more{animation:none!important}}

/* team heading, centred */
.tm-heading.center{display:grid;justify-content:center;justify-items:center;text-align:center;gap:14px;width:100%;max-width:780px;margin-left:auto;margin-right:auto}
.tm-heading.center p{max-width:54ch;font-size:15px;line-height:1.6;color:var(--ink-2);margin:0}
.tm-heading.center .tm-title{align-items:center}
.tm-footnote.center{justify-content:center}

/* email capture: section */
.sub-band{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(28px,4vw,48px);border-radius:var(--r-xl);background:var(--bg-2);border:1px solid var(--line)}
.sub-band .wash{opacity:.7}
.sub-band > :not(.wash){position:relative;z-index:2}
.sub-copy .lead{margin-top:14px;max-width:46ch}
.sub-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.sub-form input[type=email]{height:52px;border-radius:14px;border:1px solid var(--line-2);background:#fff;padding:0 16px;font:inherit;font-size:15px;color:var(--ink);outline:0;min-width:0;transition:border-color .2s,box-shadow .2s}
.sub-form input[type=email]:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,11,12,.06)}
.sub-form .btn{height:52px}
.sub-status{grid-column:1/-1;font-size:13px;color:var(--ink-2);min-height:0}
.sub-status:empty{display:none}
.sub-status.ok{color:#13724E}.sub-status.err{color:#9B3627}
.sub-form.is-done input,.sub-form.is-done .btn{display:none}
@media (max-width:820px){.sub-band{grid-template-columns:1fr}}
@media (max-width:460px){.sub-form{grid-template-columns:1fr}}

/* email capture: pop-up */
.sub-pop{position:fixed;right:20px;bottom:20px;z-index:70;width:min(360px,calc(100vw - 32px));padding:20px 20px 16px;border-radius:22px;background:radial-gradient(120% 80% at 100% 0%,rgba(140,123,255,.14),transparent 60%),radial-gradient(90% 70% at 0% 100%,rgba(255,90,43,.08),transparent 60%),#fff;box-shadow:0 0 0 1px rgba(11,11,12,.06),0 30px 70px -30px rgba(11,11,12,.4);animation:talk-in .4s var(--ease)}
.sub-pop[hidden]{display:none}
.sub-pop-title{display:block;font-family:var(--display);font-weight:500;font-size:21px;letter-spacing:-.025em;margin-right:28px}
.sub-pop p{font-size:13.5px;line-height:1.5;color:var(--ink-2);margin:6px 0 14px}
.sub-pop .sub-form{grid-template-columns:1fr}
.sub-pop .sub-form input[type=email],.sub-pop .sub-form .btn{height:46px}
.sub-pop .sub-form .btn{justify-content:center}
.sub-x{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(11,11,12,.06);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.sub-x svg{width:12px;height:12px;stroke:var(--ink);fill:none;stroke-width:2.2;stroke-linecap:round}
.sub-x:hover{background:rgba(11,11,12,.12)}
@media (max-width:700px){.sub-pop{left:16px;right:16px;bottom:84px;width:auto}}

/* contact page */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(18px,3vw,36px);align-items:start}
.contact-form{display:grid;gap:12px;padding:clamp(20px,3vw,32px);border-radius:var(--r-xl);background:var(--bg-2);border:1px solid var(--line)}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form label{display:grid;gap:6px;font-size:13px;font-weight:500;color:var(--ink-2)}
.contact-form input,.contact-form textarea{border-radius:12px;border:1px solid var(--line-2);background:#fff;padding:12px 14px;font:inherit;font-size:15px;color:var(--ink);outline:0;min-width:0;transition:border-color .2s,box-shadow .2s}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,11,12,.06)}
.contact-form .btn{justify-self:start}
.contact-form .form-status{font-size:13.5px;color:var(--ink-2)}
.contact-form .form-status:empty{display:none}
.contact-form .form-status.ok{color:#13724E}.contact-form .form-status.err{color:#9B3627}
.contact-form .form-status a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.contact-aside{display:grid;gap:12px}
.ca-item{padding:20px;border-radius:var(--r-lg);border:1px solid var(--line);background:#fff;display:grid;gap:8px;justify-items:start}
.ca-item h3{font-size:19px;letter-spacing:-.02em}
.ca-item p{font-size:14px;color:var(--ink-2);line-height:1.5}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}.contact-form .row{grid-template-columns:1fr}}
@media (max-width:900px){.panel-media{height:310px}}
@media (min-width:901px){#what.sec-head.center{max-width:none}#what .h2{white-space:nowrap}}
/* footer: soft blue */
.footer{background:linear-gradient(180deg,#FFFFFF 0%,#F6F8FF 30%,#ECF1FE 65%,#E3EBFD 100%);border-top-color:transparent}
.footer::before{opacity:0}
.footer .wash{--wash:radial-gradient(60% 90% at 12% 100%,rgba(79,124,255,.30),transparent 70%),radial-gradient(55% 85% at 50% 100%,rgba(110,69,232,.18),transparent 70%),radial-gradient(60% 90% at 90% 100%,rgba(0,163,255,.26),transparent 70%)}
.footer .foot-bottom{border-top-color:#D6E0F5}
.footer h4{color:#5B6B8C}
.footer p{color:#4A5674}
/* sign-up band: slim, below the CTA */
#subscribe{padding-top:0}
#contact + #subscribe,#subscribe{margin-top:-8px}
.sub-band{grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:24px;padding:18px 18px 18px 28px;border-radius:20px;background:#fff}
.sub-band .wash{opacity:.45}
.sub-title{margin:0;font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.025em;line-height:1.2;color:var(--ink)}
.sub-line{margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--ink-2)}
.sub-band .sub-form{gap:6px;padding:5px;border-radius:14px;background:#fff;border:1px solid var(--line-2);box-shadow:0 1px 2px rgba(11,11,12,.04)}
.sub-band .sub-form input[type=email]{height:42px;border:0;box-shadow:none;background:transparent;padding:0 12px;font-size:14.5px}
.sub-band .sub-form input[type=email]:focus{box-shadow:none}
.sub-band .sub-form:focus-within{border-color:var(--ink)}
.sub-band .sub-form .btn{height:42px;padding:0 16px;font-size:14px;border-radius:10px}
.sub-band .sub-status{padding:0 8px 4px}
@media (max-width:820px){.sub-band{grid-template-columns:1fr;padding:18px}}
@media (max-width:460px){.sub-band .sub-form{grid-template-columns:minmax(0,1fr) auto}}
#contact{padding-bottom:16px}
.hero{padding-top:clamp(20px,2.6vw,40px)}.hero-grid > div:first-child{padding-top:clamp(0px,2.4vw,36px)}
#contact{padding-bottom:clamp(28px,3vw,44px)}#subscribe{margin-top:0}
#contact + #subscribe{margin-top:0}#contact{padding-bottom:clamp(32px,3.5vw,48px)}
#what{margin-top:clamp(110px,11vw,180px)}

/* ---------- voice mode ---------- */
.talk-voice{flex:none;display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px 0 10px;border-radius:999px;border:1px solid rgba(110,69,232,.2);background:linear-gradient(135deg,#F1ECFF,#FFE9F3 55%,#FFEFE6);color:var(--ink);font:inherit;font-size:13px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s}
.talk-voice:hover{transform:translateY(-1px);box-shadow:0 8px 18px -10px rgba(110,69,232,.55)}
.talk-wave{display:inline-flex;align-items:center;gap:2px;height:14px}
.talk-wave i{width:2.5px;height:100%;border-radius:2px;background:linear-gradient(180deg,#6E45E8,#E8177C);transform-origin:center;animation:tv-bar 1.1s ease-in-out infinite}
.talk-wave i:nth-child(1){animation-delay:-.2s;height:45%}.talk-wave i:nth-child(2){animation-delay:-.5s;height:80%}.talk-wave i:nth-child(3){animation-delay:-.1s}.talk-wave i:nth-child(4){animation-delay:-.7s;height:70%}.talk-wave i:nth-child(5){animation-delay:-.35s;height:40%}
@keyframes tv-bar{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
.talk.is-voice .talk-bar,.talk.is-voice .talk-sheet{display:none}
.tv{position:relative;display:grid;justify-items:center;text-align:center;gap:10px;padding:14px 16px 16px;border-radius:30px;overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 70% at 50% 0%,rgba(140,123,255,.13),transparent 60%),radial-gradient(80% 60% at 100% 100%,rgba(255,90,43,.08),transparent 60%),radial-gradient(80% 60% at 0% 100%,rgba(0,179,154,.08),transparent 60%),rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);
  box-shadow:0 0 0 1px rgba(11,11,12,.06),0 30px 70px -30px rgba(11,11,12,.35),0 10px 24px -16px rgba(110,69,232,.3);animation:talk-in .35s var(--ease)}
.tv[hidden]{display:none}
.tv-head{justify-self:stretch;display:flex;align-items:center;justify-content:space-between}
.tv-live{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--mute)}
.tv-live i{width:7px;height:7px;border-radius:50%;background:#E0523E;box-shadow:0 0 0 0 rgba(224,82,62,.5);animation:tv-ping 1.8s ease-out infinite}
@keyframes tv-ping{0%{box-shadow:0 0 0 0 rgba(224,82,62,.5)}80%,100%{box-shadow:0 0 0 7px rgba(224,82,62,0)}}
.tv-stage{position:relative;width:220px;height:220px;margin:-4px 0 -6px}
.tv-orb{width:100%;height:100%;display:block}
.tv-hit{position:absolute;inset:22%;border-radius:50%;border:0;background:transparent;cursor:pointer}
.tv-hit:focus-visible{outline:2px solid #6E45E8;outline-offset:4px}
.tv-status{margin:0;font-size:13px;font-weight:500;letter-spacing:-.005em;color:var(--mute);min-height:18px}
.tv[data-state="listening"] .tv-status,.tv[data-state="speaking"] .tv-status,.tv[data-state="thinking"] .tv-status,.tv[data-state="connecting"] .tv-status{background:linear-gradient(90deg,var(--mute) 0%,var(--mute) 35%,#6E45E8 50%,var(--mute) 65%,var(--mute) 100%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:tv-shimmer 2.4s linear infinite}
.tv[data-state="blocked"] .tv-status,.tv[data-state="muted"] .tv-status{color:#B5432F}
@keyframes tv-shimmer{from{background-position:100% 0}to{background-position:-150% 0}}
.tv-you{min-height:18px;font-size:13px;line-height:1.45;color:var(--mute);font-style:italic;max-width:38ch}
.tv-you:empty{display:none}
.tv-say{font-family:var(--display);font-size:17.5px;line-height:1.42;letter-spacing:-.015em;color:var(--ink);max-width:36ch;max-height:7.2em;overflow:auto;scrollbar-width:none;text-wrap:pretty}
.tv-say::-webkit-scrollbar{display:none}
.tv-say:empty{display:none}
.tv-say .w{color:rgba(11,11,12,.26);transition:color .25s}
.tv-say .w.on{color:var(--ink)}
.tv-actions,.tv-suggest{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.tv-actions:empty,.tv-suggest[hidden]{display:none}
.tv-actions .talk-chip{color:var(--ink);text-decoration:none}
.tv-actions .talk-chip.dark{color:#fff}
.tv-ctrl{display:flex;align-items:center;gap:14px;margin-top:4px}
.tv-btn{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:transform .2s var(--ease),background .2s,color .2s}
.tv-btn:hover{transform:translateY(-1px)}
.tv-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tv-btn.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.tv-end{width:54px;height:54px;background:#E0523E;border-color:#E0523E;color:#fff;box-shadow:0 10px 22px -10px rgba(224,82,62,.7)}
.tv-end:hover{background:#C8432F}
.tv-note{font-size:10.5px;color:var(--faint)}
@media (max-width:520px){.tv-stage{width:180px;height:180px}.tv-say{font-size:16px}.talk-voice{padding:0 10px 0 9px}}
@media (prefers-reduced-motion:reduce){.talk-wave i,.tv-live i{animation:none}}

/* ---------- live work mocks ---------- */
.lm{position:relative;height:calc(100% - 26px);overflow:hidden;font-family:var(--body);color:#202124;background:#fff}
.lm *{box-sizing:border-box}
.lm-fav{width:18px;height:18px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;background:#3B2D8F;color:#fff;font-size:9px;font-weight:700}
.lm-toast{position:absolute;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:999px;background:#0D0D11;color:#fff;font-size:11.5px;font-weight:500;white-space:nowrap;box-shadow:0 14px 30px -12px rgba(11,11,12,.5);opacity:0;transform:translateY(10px) scale(.96);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.lm-toast svg{width:13px;height:13px;stroke:#2BD49A;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.lm-caret{display:inline-block;width:1px;height:12px;background:#1A73E8;vertical-align:-2px;margin-left:1px;animation:vis-blink 1s steps(1) infinite}

/* Google */
.lm-g{padding:12px 14px 0}
.lm-g-top{display:flex;align-items:center;gap:12px}
.lm-g-logo{font-family:'Product Sans',Arial,sans-serif;font-size:17px;font-weight:500;letter-spacing:-.02em;flex:none}
.lm-g-logo i{font-style:normal}
.lm-g-logo i:nth-child(1),.lm-g-logo i:nth-child(4){color:#4285F4}.lm-g-logo i:nth-child(2),.lm-g-logo i:nth-child(6){color:#EA4335}.lm-g-logo i:nth-child(3){color:#FBBC05}.lm-g-logo i:nth-child(5){color:#34A853}
.lm-g-q{flex:1;min-width:0;height:28px;display:flex;align-items:center;padding:0 12px;border-radius:999px;border:1px solid #DFE1E5;box-shadow:0 1px 4px rgba(32,33,36,.12);font-size:11px;white-space:nowrap;overflow:hidden}
.lm-g-tabs{display:flex;gap:12px;padding:8px 0 0 46px;border-bottom:1px solid #EBEBEB;font-size:9.5px;color:#5F6368}
.lm-g-tabs span{padding-bottom:6px}
.lm-g-tabs .on{color:#202124;border-bottom:2px solid #202124;font-weight:500}
.lm-g-ov{margin:10px 0 0 0;padding:10px 12px;border-radius:12px;background:linear-gradient(180deg,#F5F8FF,#fff);border:1px solid #E6ECFA;opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .5s var(--ease)}
.lm-g-ovh{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;color:#202124}
.lm-g-ovh svg{width:12px;height:12px;fill:#4285F4}
.lm-g-ovh em{margin-left:auto;font-style:normal;font-weight:400;font-size:9.5px;color:#5F6368;background:linear-gradient(90deg,#5F6368 30%,#B9C6F0 50%,#5F6368 70%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:vis-skel 1.2s linear infinite;transition:opacity .3s}
.lm-g-l{margin:7px 0 0;font-size:10.5px;line-height:1.55;color:#1F1F1F}
.lm-g-l span{opacity:0;transition:opacity .5s,background-color .8s;border-radius:2px}
.lm-g-cite{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;margin-left:3px;border-radius:50%;background:#1A73E8;color:#fff;font-size:8px;font-weight:700;opacity:0;transform:scale(.4);transition:opacity .3s,transform .4s var(--ease)}
.lm-g-src{display:flex;align-items:center;gap:8px;margin-top:9px;padding:7px 9px;border-radius:9px;background:#fff;border:1px solid #E3E3E3;font-size:9.5px;opacity:0;transform:translateX(14px);transition:opacity .45s var(--ease),transform .55s var(--ease),box-shadow .6s,border-color .6s}
.lm-g-src div{min-width:0;flex:1;display:grid}
.lm-g-src b{font-size:9.5px;font-weight:500}
.lm-g-src div span{color:#1A0DAB;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lm-g-src em,.lm-g-org em{flex:none;font-style:normal;font-size:9px;font-weight:600;padding:2px 7px;border-radius:999px;background:#FFE4D9;color:#B33A12}
.lm-g-org{display:flex;align-items:center;gap:8px;margin-top:12px;padding:0 2px;opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .5s var(--ease)}
.lm-g-org div{flex:1;min-width:0;display:grid}
.lm-g-org small{font-size:8.5px;color:#4D5156}
.lm-g-org b{font-size:12px;font-weight:400;color:#1A0DAB;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lm-g.s2 .lm-g-ov{opacity:1;transform:none}
.lm-g.s3 .lm-g-l span{opacity:1}
.lm-g.s3 .lm-g-l span:nth-child(2){transition-delay:.35s}.lm-g.s3 .lm-g-l span:nth-child(3){transition-delay:.7s}
.lm-g.s4 .lm-g-ovh em{opacity:0}
.lm-g.s4 .lm-g-l span{background-color:rgba(26,115,232,.12)}
.lm-g.s4 .lm-g-cite{opacity:1;transform:none}
.lm-g.s4 .lm-g-src{opacity:1;transform:none;border-color:rgba(255,90,43,.45);box-shadow:0 0 0 4px rgba(255,90,43,.12)}
.lm-g.s5 .lm-g-org{opacity:1;transform:none}

/* rating */
.lm-r{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start;padding:24px 22px 0 26px}
.lm-r-l{display:grid;gap:4px}
.lm-r-score{font-family:var(--display);font-weight:600;font-size:64px;letter-spacing:-.05em;line-height:.95;color:#0D0D11;font-variant-numeric:tabular-nums}
.lm-r-word{font-family:var(--display);font-size:19px;font-weight:500;letter-spacing:-.02em;margin-top:8px;opacity:0;transition:opacity .4s}
.lm-r-stars{display:flex;gap:2px}
.lm-r-stars i{position:relative;width:24px;height:24px;background:#DCDCE6;overflow:hidden}
.lm-r-stars i::before{content:"";position:absolute;inset:0;background:#00B67A;transform-origin:left;transform:scaleX(0);transition:transform .35s var(--ease)}
.lm-r-stars i::after{content:"";position:absolute;inset:4px;background:#fff;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.lm-r small{font-size:15px;color:#4A4A55;margin-top:6px}
.lm-r small b{font-weight:500;font-variant-numeric:tabular-nums}
.lm-r-bars{display:grid;gap:13px;padding-top:6px}
.lm-r-bars li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;font-family:var(--display);font-size:15px;color:#4A4A55}
.lm-r-bars i{position:relative;height:9px;border-radius:5px;background:#E4E4E8;overflow:hidden}
.lm-r-bars i::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w);border-radius:5px;background:#00B67A;transform-origin:left;transform:scaleX(0);transition:transform 1s var(--ease)}
.lm-r-bars i.z::before{background:#C9C9D0}.lm-r-bars i.bad::before{background:#FF3722}
.lm-r-toast{left:26px;bottom:22px}
.lm-r.s1 .lm-r-word{opacity:1}
.lm-r.s1 .lm-r-stars i::before{transform:scaleX(var(--part,1))}
.lm-r.s1 .lm-r-stars i:nth-child(2)::before{transition-delay:.12s}.lm-r.s1 .lm-r-stars i:nth-child(3)::before{transition-delay:.24s}.lm-r.s1 .lm-r-stars i:nth-child(4)::before{transition-delay:.36s}.lm-r.s1 .lm-r-stars i:nth-child(5)::before{transition-delay:.48s}
.lm-r.s1 .lm-r-bars i::before{transform:scaleX(1)}
.lm-r.s1 .lm-r-bars li:nth-child(2) i::before{transition-delay:.1s}.lm-r.s1 .lm-r-bars li:nth-child(3) i::before{transition-delay:.2s}.lm-r.s1 .lm-r-bars li:nth-child(4) i::before{transition-delay:.3s}.lm-r.s1 .lm-r-bars li:nth-child(5) i::before{transition-delay:.4s}
.lm-r.s2 .lm-r-toast{opacity:1;transform:none}

/* school site */
.lm-v{background:#FBF6EF;padding:0 0 0 40px}
.lm-v-nav{display:flex;align-items:center;gap:14px;height:42px;padding-right:16px;margin-left:-40px;padding-left:52px;background:#fff;border-bottom:1px solid #EFE7DA;font-size:9.5px;color:#3F3A33}
.lm-v-nav b{display:inline-flex;align-items:center;gap:6px;font-family:Georgia,serif;font-size:12.5px;font-weight:600;letter-spacing:-.02em;color:#1E1A15;margin-right:auto}
.lm-v-logo{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 40%,#fff 0 2px,transparent 2.5px),radial-gradient(circle at 65% 40%,#fff 0 2px,transparent 2.5px),#E8572A}
.lm-v-nav .on{color:#E8572A;font-weight:600}
.lm-v-hero{padding:22px 18px 0 12px}
.lm-v-hero h4{margin:0;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:25px;line-height:1.12;letter-spacing:-.02em;color:#1E1A15;opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.lm-v-swap{position:relative;display:inline-grid}
.lm-v-swap s,.lm-v-swap ins{grid-area:1/1;text-decoration:none;transition:opacity .35s,transform .45s var(--ease)}
.lm-v-swap s{position:relative}
.lm-v-swap s::after{content:"";position:absolute;left:0;right:0;top:55%;height:2px;background:#E8572A;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.lm-v-swap ins{color:#E8572A;opacity:0;transform:translateY(8px)}
.lm-v-hero p{margin:10px 0 0;font-size:11px;line-height:1.5;color:#6B6257;max-width:30ch;opacity:0;transition:opacity .5s .15s}
.lm-v-cta{position:relative;display:inline-flex;align-items:center;height:32px;margin-top:14px;padding:0 14px;border-radius:999px;background:#E8572A;color:#fff;font-size:11px;font-weight:600;overflow:hidden;opacity:0;transition:opacity .5s .3s,transform .15s}
.lm-ripple{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);opacity:0}
.lm-cursor{position:absolute;left:78%;top:88%;width:20px;height:20px;fill:#0D0D11;stroke:#fff;stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25));opacity:0;transition:left 1s cubic-bezier(.4,0,.2,1),top 1s cubic-bezier(.4,0,.2,1),opacity .3s,transform .15s}
.lm-v-toast{right:16px;top:54px}
.lm-v-stats{position:absolute;right:16px;bottom:18px;display:flex;align-items:baseline;gap:12px;padding:9px 13px;border-radius:12px;background:#fff;box-shadow:0 14px 30px -14px rgba(60,40,20,.35),0 0 0 1px rgba(60,40,20,.06);font-size:10px;color:#6B6257;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease),transform .5s var(--ease)}
.lm-v-stats span{display:inline-flex;align-items:baseline;gap:4px}
.lm-v-stats b{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.03em;color:#1E1A15;font-variant-numeric:tabular-nums}
.lm-v-stats em{font-style:normal;font-family:var(--mono);font-size:8.5px;letter-spacing:.02em;text-transform:none;color:#A39889}
.lm-v.s1 .lm-v-hero h4,.lm-v.s1 .lm-v-hero p,.lm-v.s1 .lm-v-cta{opacity:1;transform:none}
.lm-v.s2 .lm-v-swap s::after{transform:scaleX(1)}
.lm-v.s3 .lm-v-swap s{opacity:0;transform:translateY(-8px)}
.lm-v.s3 .lm-v-swap ins{opacity:1;transform:none}
.lm-v.s4 .lm-cursor{opacity:1}
.lm-v.s5 .lm-cursor{left:var(--cx,40%);top:var(--cy,70%)}
.lm-v.s6 .lm-cursor{transform:scale(.85)}
.lm-v.s6 .lm-v-cta{transform:scale(.96)}
.lm-v.s6 .lm-ripple{animation:lm-ripple .6s ease-out forwards}
.lm-v.s6 .lm-v-toast{opacity:1;transform:none}
.lm-v.s7 .lm-v-stats{opacity:1;transform:none}
@keyframes lm-ripple{0%{transform:scale(0);opacity:1}100%{transform:scale(14);opacity:0}}
@media (max-width:640px){.lm-r{padding:18px 16px 0 18px;gap:14px}.lm-r-score{font-size:50px}.lm-r-stars i{width:19px;height:19px}.lm-r-bars li{font-size:12.5px;grid-template-columns:44px minmax(0,1fr)}.lm-v-hero h4{font-size:21px}}
/* fit the narrow card windows */
.lm-r{padding:20px 18px 0 22px;gap:16px}
.lm-r-score{font-size:54px}
.lm-r-word{font-size:17px;margin-top:6px}
.lm-r-stars i{width:21px;height:21px}
.lm-r small{font-size:13px}
.lm-r-bars{gap:10px;padding-top:4px}
.lm-r-bars li{font-size:13px;grid-template-columns:46px minmax(0,1fr)}
.lm-r-toast{left:22px;bottom:44px}
.lm-v-nav{gap:10px;height:38px;font-size:9px}
.lm-v-nav span:last-child{display:none}
.lm-v-nav b{font-size:11.5px;white-space:nowrap}
.lm-v-hero{padding:18px 16px 0 10px}
.lm-v-hero h4{font-size:20px}
.lm-v-hero p{font-size:10.5px;margin-top:8px}
.lm-v-cta{height:28px;margin-top:11px;font-size:10.5px}
.lm-v-toast{top:48px;right:14px}
.lm-v-stats{bottom:54px;right:14px;padding:8px 11px}
.lm-v-stats b{font-size:17px}
.lm-g-org{margin-top:10px}
@media (max-width:640px){.lm-r-score{font-size:46px}.lm-v-hero h4{font-size:18px}}
.lm-g{padding-top:10px}
.lm-g-tabs{padding-top:6px}
.lm-g-ov{margin-top:8px;padding:8px 10px}
.lm-g-l{font-size:9.8px;line-height:1.5;margin-top:5px}
.lm-g-src{margin-top:7px;padding:5px 8px}
.lm-g-org{margin-top:8px}
.lm-v-toast{top:auto;bottom:118px;right:12px;height:26px;font-size:10.5px;padding:0 10px}
/* live mocks inside the "what we do" tabs */
.panel-media .mock.live{display:flex;flex-direction:column}
.panel-media .mock.live .bar{flex:none;height:26px;display:flex;align-items:center;gap:5px;padding:0 10px;border-bottom:1px solid var(--line)}
.panel-media .mock.live .bar i{width:7px;height:7px;border-radius:50%;background:#E3E3E0}
.panel-media .mock.live .lm{flex:1;height:auto}
/* workflow */
.lm-w{padding:16px 20px 0;background:#FBFBFD}
.lm-w-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#33334D;margin-bottom:12px}
.lm-w-head b{font-weight:600}
.lm-w-on{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:#13724E;background:rgba(19,162,115,.1);padding:3px 9px;border-radius:999px}
.lm-w-on::before{content:"";width:6px;height:6px;border-radius:50%;background:#13A273}
.lm-w-flow{position:relative;display:grid;gap:8px;padding-left:4px}
.lm-w-flow::before,.lm-w-flow::after{content:"";position:absolute;left:19px;top:16px;bottom:16px;width:2px;border-radius:2px;background:#E4E4EC}
.lm-w-flow::after{background:linear-gradient(#00B39A,#6E45E8);bottom:auto;height:calc(var(--wp,0%) - 16px);max-height:calc(100% - 32px);transition:height .7s var(--ease)}
.lm-w-flow li{position:relative;z-index:1;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;padding:7px 10px 7px 0;border-radius:10px;opacity:.45;transform:translateX(-4px);transition:opacity .4s,transform .5s var(--ease)}
.lm-w-flow li > i{width:32px;height:32px;border-radius:10px;background:#fff;border:1px solid #E4E4EC;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:13px;color:#8A8AA0;transition:background .4s,color .4s,border-color .4s}
.lm-w-flow li b{display:block;font-size:12.5px;font-weight:600;color:#1F1F2E}
.lm-w-flow li span{font-size:10.5px;color:#7A7A90}
.lm-w-flow li.on{opacity:1;transform:none}
.lm-w-flow li.on > i{background:#E9FBF6;border-color:rgba(0,179,154,.35);color:#00866F}
.lm-w-toast{right:16px;bottom:16px}
.lm-w.s1 .lm-w-toast{opacity:1;transform:none}
/* event */
.lm-e{padding:18px 22px 0;background:linear-gradient(160deg,#F6F2FF,#fff 55%)}
.lm-e-card{display:grid;gap:2px}
.lm-e-card small{font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;text-transform:none;color:#6E45E8}
.lm-e-card b{font-family:var(--display);font-size:21px;font-weight:500;letter-spacing:-.025em;color:#1F1F2E}
.lm-e-card span{font-size:11.5px;color:#6B6B80}
.lm-e-seats{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin-top:14px;max-width:290px}
.lm-e-seats i{aspect-ratio:1;border-radius:50%;background:#ECE8F7;transform:scale(.8);transition:background .3s,transform .35s var(--ease)}
.lm-e-seats i.on{background:linear-gradient(135deg,#8C7BFF,#E8177C);transform:scale(1)}
.lm-e-meta{margin-top:10px;font-size:11.5px;color:#4A4A5E;opacity:0;transition:opacity .4s}
.lm-e-meta b{font-family:var(--display);font-size:15px;color:#1F1F2E;font-variant-numeric:tabular-nums}
.lm-e.s1 .lm-e-meta{opacity:1}
.lm-e-toast{right:16px;bottom:16px}
.lm-e.s2 .lm-e-toast{opacity:1;transform:none}
.lm-w{padding:12px 18px 0}
.lm-w-head{margin-bottom:8px}
.lm-w-flow{gap:3px}
.lm-w-flow li{padding:4px 10px 4px 0;grid-template-columns:28px minmax(0,1fr)}
.lm-w-flow li > i{width:28px;height:28px;border-radius:9px;font-size:12px}
.lm-w-flow::before,.lm-w-flow::after{left:17px;top:14px;bottom:14px}
.lm-w-flow li b{font-size:12px}
.lm-w-toast{right:14px;bottom:12px}
.lm-e{padding:14px 20px 0}
.lm-e-seats{margin-top:10px;gap:5px;max-width:250px}
.lm-e-toast{right:14px;bottom:12px}
.lm-w{padding-top:10px}
.lm-w-head{margin-bottom:5px}
.lm-w-flow li{padding:2px 10px 2px 0}
.lm-w-flow li span{font-size:10px;line-height:1.3}
.lm{transition:opacity .4s}.lm.is-out{opacity:.25}

/* doc v3 */
.vis-proof{margin:10px 0 0;font-size:13.5px;font-weight:600;letter-spacing:-.005em;color:var(--v-ink,#0B0B0C)}
.vis-scope{margin:-6px 4px 0;font-size:12px;line-height:1.45;color:var(--v-mute,#6D6D74)}
.vis:not([data-state="idle"]) .vis-scope{display:none}
.tabs-k{display:inline-flex;align-items:center;gap:7px;margin:0 0 0 14px;vertical-align:middle;font-size:13px;color:var(--mute)}
.tabs-k svg{width:13px;height:13px;transform:rotate(180deg);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){.tabs-k{display:flex;margin:10px 6px 0}.tabs-k svg{transform:rotate(90deg)}}
.rh-vis-note li span{white-space:nowrap;margin-right:10px}
@media (max-width:640px){.facts.notes{grid-template-columns:1fr;gap:10px}}
.facts.notes li{font-size:13px;line-height:1.5;color:var(--ink-2)}
.facts.notes b{display:inline;font-family:inherit;font-size:inherit;font-weight:600;letter-spacing:0;line-height:inherit;margin:0;color:var(--ink)}
.facts.notes span{color:var(--ink-2)}
.foot-hi{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px;transition:opacity .2s}
.foot-hi:hover{opacity:.7}
.lm-rep .lm-w-flow li > i{font-size:11px;font-weight:700;font-style:normal}

/* g2: two searches in one browser window */
.mock-g2{position:relative}
.panel-media .mock.live .g2-bar{height:30px;align-items:flex-end;gap:5px;padding:0 10px;background:#EEF0F3;border-bottom:0}
.g2-bar > i{align-self:center;margin-bottom:0}
.g2-tabs{position:relative;display:flex;align-items:flex-end;gap:2px;height:100%;margin-left:8px;flex:1;min-width:0}
.g2-tab{position:relative;z-index:1;display:flex;align-items:center;gap:6px;height:22px;min-width:0;max-width:168px;padding:0 11px;font-size:9.5px;color:#5F6368;transition:color .4s}
.g2-tab > span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g2-tab.is-on{color:#202124}
.g2-g{flex:none;width:10px;height:10px;border-radius:50%;background:conic-gradient(#EA4335 0 25%,#FBBC05 0 45%,#34A853 0 70%,#4285F4 0);-webkit-mask:radial-gradient(circle,transparent 2.2px,#000 2.6px);mask:radial-gradient(circle,transparent 2.2px,#000 2.6px)}
.g2-pill{position:absolute;z-index:0;left:0;bottom:0;height:22px;width:var(--w,150px);transform:translateX(var(--x,0));background:#fff;border-radius:8px 8px 0 0;box-shadow:0 -1px 0 rgba(11,11,12,.05),0 -4px 10px -6px rgba(11,11,12,.18);transition:transform .62s cubic-bezier(.22,1.12,.36,1),width .62s cubic-bezier(.22,1,.36,1)}
.g2-load{position:absolute;z-index:4;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,#1A73E8,#4285F4 60%,#8AB4F8);transform-origin:0 50%;transform:scaleX(0);opacity:0;pointer-events:none}
.g2-load.go{animation:g2-load .95s cubic-bezier(.22,1,.36,1) forwards}
@keyframes g2-load{0%{opacity:1;transform:scaleX(0)}55%{opacity:1;transform:scaleX(.78)}100%{opacity:0;transform:scaleX(1)}}
.lm-g2 .lm-g-q{transition:transform .16s cubic-bezier(.22,1,.36,1),box-shadow .2s}
.lm-g2 .lm-g-q.press{transform:scale(.985);box-shadow:0 1px 2px rgba(32,33,36,.18)}
.g2-q{border-radius:2px;transition:background-color .15s}
.g2-q.sel{background:#C6DAFC}
.g2-stage{position:relative}
.g2-scene{position:absolute;left:0;right:0;top:0;opacity:0;visibility:hidden;pointer-events:none}
.g2-scene.is-on{position:relative;opacity:1;visibility:visible}
.g2-scene.is-leaving{visibility:visible;opacity:0;filter:blur(3px);transform:translateY(-6px);transition:opacity .3s cubic-bezier(.4,0,1,1),filter .3s,transform .3s cubic-bezier(.4,0,1,1)}
.g2-scene.s-ov .lm-g-ov{opacity:1;transform:none}
.lm-g2 .lm-g-ovh svg{transition:transform .9s cubic-bezier(.22,1,.36,1)}
.g2-scene.s-ov .lm-g-ovh svg{transform:rotate(90deg)}
.g2-scene.s-hl .lm-g-ovh em{opacity:0}
.g2-body{display:grid}
.g2-body > *{grid-area:1/1}
.g2-skel{display:grid;align-content:start;gap:6px;margin-top:9px;transition:opacity .3s}
.g2-skel i{display:block;height:7px;border-radius:4px;background:linear-gradient(90deg,#E6EBF5 25%,#F7F9FD 50%,#E6EBF5 75%) 0 0/200% 100%;animation:vis-skel 1.1s linear infinite}
.g2-skel i:nth-child(2){width:88%}.g2-skel i:nth-child(3){width:56%}
.g2-scene.s-text .g2-skel{opacity:0}
.lm-g2 .lm-g-l span{opacity:0;filter:blur(4px);background-image:linear-gradient(rgba(26,115,232,.14),rgba(26,115,232,.14));background-repeat:no-repeat;background-size:0% 100%;transition:opacity .55s cubic-bezier(.22,1,.36,1),filter .55s cubic-bezier(.22,1,.36,1),background-size .8s cubic-bezier(.65,0,.35,1)}
.g2-scene.s-text .lm-g-l span{opacity:1;filter:none}
.g2-scene.s-text .lm-g-l span:nth-child(2){transition-delay:.14s,.14s,0s}.g2-scene.s-text .lm-g-l span:nth-child(3){transition-delay:.28s,.28s,0s}
.g2-scene.s-hl .lm-g-l span{background-size:100% 100%}
.g2-scene.s-hl .lm-g-l span:nth-child(2){transition-delay:0s,0s,.12s}.g2-scene.s-hl .lm-g-l span:nth-child(3){transition-delay:0s,0s,.24s}
.lm-g2 .lm-g-cite{width:auto;height:13px;padding:0 5px;border-radius:7px;background:#E8F0FE;transition:opacity .25s .35s,transform .5s .35s cubic-bezier(.34,1.56,.64,1)}
.lm-g2 .lm-g-cite svg{width:8px;height:8px;fill:none;stroke:#1A73E8;stroke-width:2.6;stroke-linecap:round}
.g2-scene.s-hl .lm-g-cite{opacity:1;transform:none}
.g2-scene.s-src .lm-g-src{opacity:1;transform:none;border-color:rgba(255,90,43,.45);box-shadow:0 0 0 4px rgba(255,90,43,.12)}
.g2-scene.s-src .lm-g-src::after{content:"";position:absolute;inset:-1px;border-radius:9px;pointer-events:none;animation:g2-ring 1.3s .35s cubic-bezier(.22,1,.36,1) both}
.lm-g2 .lm-g-src{position:relative}
@keyframes g2-ring{from{box-shadow:0 0 0 0 rgba(255,90,43,.4)}to{box-shadow:0 0 0 12px rgba(255,90,43,0)}}
.lm-g2 .lm-g-src em,.lm-g2 .lm-g-org em{opacity:0;transform:scale(.6);transition:opacity .25s .3s,transform .55s .3s cubic-bezier(.34,1.56,.64,1)}
.g2-scene.s-src .lm-g-src em,.g2-scene.s-org .lm-g-org em{opacity:1;transform:none}
.lm-g2 .lm-g-org em{background:#E6F4EA;color:#137333}
.g2-scene.s-org .lm-g-org{opacity:1;transform:none}
.lm-g2 .lm-g-src.hover{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(255,90,43,.12),0 8px 18px -10px rgba(11,11,12,.3)}
.lm-g2 .lm-g-src.hover div span,.lm-g2 .lm-g-org.hover b{text-decoration:underline;text-underline-offset:2px}
.g2-cursor{position:absolute;z-index:6;left:0;top:0;width:15px;height:15px;pointer-events:none;opacity:0;transform:translate(var(--cx,85%),var(--cy,40px));transition:transform .9s cubic-bezier(.65,0,.35,1),opacity .35s}
.g2-cursor.on{opacity:1}
.g2-cursor svg{display:block;width:15px;height:15px;fill:#111;stroke:#fff;stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28));transform-origin:20% 15%;transition:transform .14s cubic-bezier(.22,1,.36,1)}
.g2-cursor.press svg{transform:scale(.82)}
.mock-g2.is-static .lm-caret{display:none}
@media (max-width:520px){.g2-tab{max-width:118px;padding:0 8px}}
#panel-search .panel-media{height:352px}
@media (max-width:900px){#panel-search .panel-media{height:334px}}
.lm-g2 .lm-g-l span{-webkit-box-decoration-break:clone;box-decoration-break:clone}
.lm-g2 .lm-g-l span{border-radius:0}
#panel-search .panel-media figcaption{max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:22px}
@media (max-width:520px){#panel-search .panel-media{height:372px}}
