/* Layout: a quiet white page, everything aligned left. Section heads sit on a two-column grid (title left, intro offset right),
   hairline rules separate sections, and product visuals bleed off one edge of the page. */
:root{
  --bg:#FFFFFF;          /* page */
  --grey:#F5F5F7;        /* alternate sections */
  --ice:#EDF3FC;         /* light blue sections */
  --black:#1D1D1F;       /* dark sections: the same very dark grey as the hero and footer */
  --ink:#1D1D1F;         /* text */
  --blue:#113C9A;        /* actions and the dial */
  --ink-2:#424245;
  --muted:#6E6E73;
  --faint:#86868B;
  --line:#D2D2D7;
  --line-soft:#E8E8ED;
  --blue-deep:#0B2E7F;
  --blue-soft:#E8F0FD;
  --sky:#86AEF5;         /* numerals on black */
  --card:#FFFFFF;
  --dark-card:#161617;
  --dark-line:#2C2C2E;
  --on-dark:#F5F5F7;
  --on-dark-2:#A1A1A6;
  --green:#1F8A5B;
  --display:"Geist","SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  --text:"Inter","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
  --w-display:450;
  --serif:"Merriweather","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --tone:#86868B; --tone-dark:#8E8E93;
  --t-hero:clamp(2.75rem,1.1rem + 5vw,5.6rem);
  --t-h2:clamp(2rem,1.3rem + 2.3vw,3.4rem);
  --t-h3:clamp(1.3rem,1.15rem + .5vw,1.6rem);
  --t-lede:clamp(1.1rem,1.02rem + .35vw,1.3rem);
  --t-body:1.0625rem;
  --t-small:.9375rem;
  --t-micro:.8125rem;
  --wide:1280px;
  --gutter:clamp(20px,4vw,56px);
  --bleed:max(var(--gutter),calc((100vw - var(--wide)) / 2));
  --sec:clamp(80px,8.5vw,136px);
  --nav-h:64px;
  --r-plate:24px;
  --r-card:18px;
  --r-btn:10px;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncR type='linear' slope='3.4' intercept='-1.2'/><feFuncG type='linear' slope='3.4' intercept='-1.2'/><feFuncB type='linear' slope='3.4' intercept='-1.2'/></feComponentTransfer></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  /* the light blue-grey plate behind every product screenshot */
  --plate-sky:radial-gradient(90% 80% at 12% 0%, #F4F8FE 0%, rgba(244,248,254,0) 60%),radial-gradient(80% 90% at 100% 100%, #9FC0EE 0%, rgba(159,192,238,0) 65%),linear-gradient(160deg,#E3ECFA 0%,#CBDCF5 50%,#B4CDF0 100%);
  color-scheme:light;
}
@font-face{font-family:"Merriweather";src:url("fonts/merriweather-latin-opsz-normal.woff2") format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:"Geist";src:url("fonts/geist-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter-latin-opsz-normal.woff2") format("woff2");font-weight:100 900;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);font-size:var(--t-body);line-height:1.55;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
main,.ftr{overflow-x:clip}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:600;text-wrap:balance;letter-spacing:-.03em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px}
.skip:focus{left:max(16px,env(safe-area-inset-left,0px))}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wrap{width:100%;max-width:calc(var(--wide) + 2*var(--gutter));margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.sec{padding-block:var(--sec);position:relative}
.sec.rule{border-top:1px solid var(--line-soft)}
.grey{background:var(--grey)}
.ice{background:var(--ice)}
.dark{background:var(--black);color:var(--on-dark)}

/* section heads: title on the left, intro offset to the right */
.head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"eb ." "h2 lede";column-gap:clamp(32px,6vw,104px);align-items:end;margin:0 0 clamp(44px,5vw,76px)}
.head > .eyebrow{grid-area:eb}
.head > .h2{grid-area:h2;max-width:15em}
.head > .lede{grid-area:lede;margin-top:0;max-width:29em;padding-bottom:.35em}
.head.solo{display:block;margin-bottom:0}
.head.solo .lede{margin-top:22px;padding:0}
.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--text);font-size:var(--t-small);font-weight:600;color:var(--blue);letter-spacing:-.005em;margin:0 0 20px}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;flex:none}
.dark .eyebrow{color:#4A8BF0}
.h2{font-family:var(--serif);font-optical-sizing:auto;font-size:calc(var(--t-h2) * .9);line-height:1.14;font-weight:400;letter-spacing:-.022em}
/* two-tone section headings: the first phrase in near-black (white on dark), the rest in a soft grey */
.h2 .tone,.hero h1 .tone,.join h1 .tone,.legal-side h1 .tone{color:var(--tone)}
.dark .h2 .tone{color:var(--tone-dark)}
.h2 .tone.br{display:block}
.h3{font-size:var(--t-h3);line-height:1.18;letter-spacing:-.02em}
.lede{font-size:var(--t-lede);line-height:1.5;color:var(--muted);margin-top:20px;letter-spacing:-.014em}
.lede-2{display:block;margin-top:.75em}
.dark .lede{color:var(--on-dark-2)}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
.nw{white-space:nowrap}

/* visuals that run off one edge of the page */
.bleed-r{margin-right:calc(-1 * var(--bleed))}
.bleed-r > .plate,.plate.bleed-r,.stack.bleed-r .plate{border-top-right-radius:0;border-bottom-right-radius:0}
.bleed-l{margin-left:calc(-1 * var(--bleed))}
.bleed-l > .plate{border-top-left-radius:0;border-bottom-left-radius:0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:var(--r-btn);font-size:1rem;font-weight:550;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;white-space:nowrap;letter-spacing:-.01em}
.btn svg{width:14px;height:14px;flex:none}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-deep)}
.btn-line{border-color:var(--line);background:#fff;color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#333336}
.btn-white{background:#fff;color:var(--ink)}
.btn-white:hover{background:#E8E8ED}
.btn.wide{width:100%}
.link{color:var(--blue-deep);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.link:hover{text-decoration:underline}
.link svg{width:13px;height:13px}
.dark .link{color:#4A8BF0}

/* ---------------- nav ---------------- */
.nav{position:fixed;left:0;right:0;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px);background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(1.8) blur(18px);backdrop-filter:saturate(1.8) blur(18px);border-bottom:1px solid var(--line-soft)}
.bar{position:relative;max-width:calc(var(--wide) + 2*var(--gutter));margin:0 auto;height:var(--nav-h);display:flex;align-items:center;gap:8px;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;color:var(--black);text-decoration:none;flex:none;margin-right:10px}
.brand svg{height:25px;width:auto}
.brand-tag{font-family:var(--serif);font-optical-sizing:auto;font-size:.71rem;line-height:1;letter-spacing:0;color:var(--muted);white-space:nowrap}
.nav.on-dark .brand-tag{color:#A1A1A6}
.bar > nav{flex:1;display:flex;justify-content:center;min-width:0}
.menu{display:flex;align-items:center;gap:2px;margin:0 auto}
.menu > li > a,.menu > li > button{display:flex;align-items:center;gap:5px;height:38px;padding:0 12px;white-space:nowrap;border-radius:8px;font-size:.9375rem;font-weight:450;text-decoration:none;background:none;border:0;cursor:pointer;color:var(--ink-2)}
.menu > li > a:hover,.menu > li > button:hover,.menu > li.open > button,.menu > li > a[aria-current]{background:var(--grey);color:var(--ink)}
.menu .chev{width:11px;height:11px;transition:transform .2s;opacity:.7}
.menu li.open .chev{transform:rotate(180deg)}
.act{display:flex;align-items:center;gap:6px}
.act .signin{font-size:.9375rem;color:var(--ink-2);text-decoration:none;padding:0 12px;height:38px;display:flex;align-items:center;border-radius:8px}
.act .signin:hover{background:var(--grey)}
.act .btn{min-height:40px;padding:0 16px;font-size:.9375rem}
.act .join-btn{margin-left:2px}
.nav.on-dark .act .btn-line{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.nav.on-dark .act .btn-line:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.mega{position:absolute;left:max(var(--gutter),env(safe-area-inset-left,0px));right:max(var(--gutter),env(safe-area-inset-right,0px));top:calc(100% + 1px);background:#fff;border:1px solid var(--line-soft);border-top:0;border-radius:0 0 16px 16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .18s,visibility .18s;overflow:hidden}
.menu > li.open .mega{opacity:1;visibility:visible;transform:none}
.mega .cols{display:grid;gap:8px 28px;padding:26px 28px 22px}
.mega .cols.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mega .cols.c4{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.15fr)}
.mega h5{margin:0 0 8px;font-family:var(--text);font-size:var(--t-micro);font-weight:600;color:var(--faint);letter-spacing:0}
.mega a{display:flex;gap:12px;align-items:flex-start;padding:8px 10px;margin:0 -10px;border-radius:10px;text-decoration:none;color:var(--ink)}
.mega a:hover{background:var(--grey)}
.mega a .mi{width:30px;height:30px;border-radius:8px;background:var(--grey);display:grid;place-items:center;flex:none;color:var(--ink-2)}
.mega a .mi svg{width:16px;height:16px}
.mega a b{display:block;font-weight:550;font-size:.9375rem;letter-spacing:-.01em}
.mega a span{display:block;font-size:var(--t-micro);color:var(--muted);line-height:1.35;margin-top:1px}
.mega .plain a{padding:6px 10px;font-size:.9375rem}
.mega .side{background:var(--grey);border-radius:14px;padding:16px 16px 14px}
.mega .side p{font-size:var(--t-micro);color:var(--muted);margin-top:10px;line-height:1.45}
.mega .foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:var(--grey);border-top:1px solid var(--line-soft)}
.mega .foot b{font-weight:600;font-size:.9375rem}
.mega .foot span{display:block;font-size:var(--t-micro);color:var(--muted)}
.mega .foot a.btn{display:inline-flex;align-items:center;margin:0;min-height:38px;padding:0 16px;font-size:.875rem;color:#fff}
.mega .foot a.btn:hover{background:var(--blue-deep)}
.burger{display:none;margin-left:auto;width:42px;height:42px;border-radius:10px;border:0;background:none;cursor:pointer;align-items:center;justify-content:center}
.burger svg{width:20px;height:20px}
.sheet{position:fixed;inset:0;z-index:70;background:#fff;padding:calc(env(safe-area-inset-top,0px) + 14px) max(22px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 24px) max(22px,env(safe-area-inset-left,0px));overflow-y:auto}
.sheet .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.sheet .top svg.logo{height:28px;width:auto;color:#000}
.sheet .close{width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:none;display:flex;align-items:center;justify-content:center;cursor:pointer}
.sheet details{border-bottom:1px solid var(--line-soft)}
.sheet summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-size:1.6rem;font-weight:var(--w-display);letter-spacing:-.025em;padding:14px 0;cursor:pointer}
.sheet summary::-webkit-details-marker{display:none}
.sheet summary .chev{width:16px;height:16px;flex:none;margin-left:16px;transition:transform .2s}
.sheet details[open]>summary .chev{transform:rotate(180deg)}
.sheet details a{display:block;padding:8px 0;text-decoration:none;color:var(--ink-2)}
.sheet details div{padding-bottom:14px}
.sheet a.big{display:block;font-family:var(--display);font-size:1.6rem;font-weight:var(--w-display);letter-spacing:-.025em;padding:14px 0;border-bottom:1px solid var(--line-soft);text-decoration:none}
.sheet .btn{width:100%;margin-top:14px}
.sheet .btn-blue{margin-top:24px}

/* ---------------- hero ---------------- */
.hero{padding-top:calc(env(safe-area-inset-top,0px) + var(--nav-h) + clamp(72px,9.5vw,144px));padding-bottom:clamp(56px,6vw,88px)}
.hero-copy{max-width:1300px}
.pill{display:inline-flex;align-items:center;gap:8px;min-height:32px;max-width:100%;padding:6px 14px;line-height:1.3;border-radius:999px;border:1px solid var(--line);font-size:.875rem;font-weight:500;color:var(--ink-2);background:#fff}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--blue);display:block;flex:none}
.hero h1{font-family:var(--serif);font-optical-sizing:auto;font-size:calc(var(--t-hero) * .92);line-height:1.08;letter-spacing:-.03em;margin-top:30px;font-weight:400}
.hero h1 .find{display:block}
.dial{display:block;height:1.2em;overflow:hidden;position:relative;color:var(--blue);margin-top:.02em}
.dial ul{display:block;transition:transform .7s cubic-bezier(.65,0,.25,1)}
.dial li{display:block;height:1.2em;line-height:1.2em;white-space:nowrap}
.hero .lede{max-width:34em;margin-top:32px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px;align-items:center}
.hero .trust{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:32px}
.hero .trust .people{display:flex;align-items:center;gap:14px;font-size:var(--t-small);color:var(--ink-2);line-height:1.4}
.hero .trust .meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;font-size:var(--t-small);color:var(--faint)}
.hero-plate{margin-top:clamp(64px,8vw,120px);margin-left:20%}
.plate{margin:0;position:relative;border-radius:var(--r-plate);overflow:hidden;background:#E3ECFA;aspect-ratio:16/10;max-width:none;isolation:isolate}
.plate img,.plate video{width:100%;height:100%;object-fit:cover}
.vid-ctl{position:absolute;right:16px;bottom:16px;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(29,29,31,.6);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.bleed-r .vid-ctl{right:calc(var(--bleed) + 16px)}
.plate:hover .vid-ctl,.vid-ctl:focus-visible,.plate.paused .vid-ctl{opacity:1}
.vid-ctl svg{width:14px;height:14px}
.sectors{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 30px;margin-top:clamp(48px,5vw,72px);padding-top:26px;border-top:1px solid var(--line-soft);color:var(--faint);font-size:var(--t-small);font-weight:500}
.sectors b{color:var(--ink);font-weight:600;margin-right:6px}

/* interviewee portraits: overlapping circles */
.faces{display:inline-flex;align-items:center;flex:none}
.faces img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-9px;box-shadow:0 1px 3px rgba(16,24,40,.16);background:#E3ECFA}
.faces img:first-child{margin-left:0}
.faces.lg img{width:44px;height:44px;margin-left:-12px}
.faces.lg img:first-child{margin-left:0}
.profiles .faces{display:flex;margin-bottom:16px}
.vs .resp{display:flex;align-items:center;gap:10px;margin:10px 0 16px;font-size:var(--t-small);color:var(--muted)}
.vs .resp img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none}
.vs .resp b{color:var(--ink);font-weight:600}

/* hero on off-black (the same near-black as the cookie buttons) */
.hero{background:var(--ink);color:#F5F5F7}
.hero h1{color:#fff}
.hero .dial{color:var(--sky)}
.hero .lede{color:#A1A1A6}
.hero .pill{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.18);color:#D2D2D7}
.hero .pill i{background:var(--sky)}
.hero .btn-line{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.hero .btn-line:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.hero .btn-blue:hover{background:#1E57D6}
.hero .trust .people{color:#D2D2D7}
.hero .trust .meta{color:#8E8E93}
.hero .faces img{border-color:var(--ink)}
.hero .link{color:var(--sky)}
.hero .sectors{border-top-color:rgba(255,255,255,.12);color:#8E8E93}
.hero .sectors b{color:#F5F5F7}
.hero :focus-visible{outline-color:var(--sky)}
/* top bar while it sits over the dark hero */
.nav.on-dark{background:rgba(29,29,31,.84);border-bottom-color:rgba(255,255,255,.08)}
.nav.on-dark .brand{color:#fff}
.nav.on-dark .menu > li > a,.nav.on-dark .menu > li > button,.nav.on-dark .act .signin,.nav.on-dark .burger{color:#D2D2D7}
.nav.on-dark .menu > li > a:hover,.nav.on-dark .menu > li > button:hover,.nav.on-dark .menu > li.open > button,.nav.on-dark .act .signin:hover{background:rgba(255,255,255,.08);color:#fff}
.nav{transition:background-color .25s,border-color .25s}

/* ---------------- intro + pillars ---------------- */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(28px,4vw,64px)}
.pillars > li{border-top:1px solid var(--line);padding-top:28px}
.pillars .n{display:block;font-family:var(--display);font-size:1rem;color:var(--faint);font-variant-numeric:tabular-nums}
.pillars h3{font-size:1.6rem;font-weight:var(--w-display);letter-spacing:-.03em;margin-top:28px}
.pillars p{color:var(--muted);margin-top:12px;max-width:26em}
.arrows{margin-top:24px;display:flex;flex-direction:column;gap:8px}
.arrows a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:var(--t-small);font-weight:500;color:var(--ink)}
.arrows a::before{content:"→";color:var(--blue);transition:transform .2s}
.arrows a:hover::before{transform:translateX(3px)}
.arrows a:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------------- demo ---------------- */
.demo-shell{position:relative;border-radius:var(--r-plate) 0 0 var(--r-plate);padding:clamp(18px,4vw,64px) var(--bleed) clamp(18px,4vw,64px) clamp(18px,4vw,64px);background:var(--plate-sky);isolation:isolate;overflow:hidden}
.demo-shell::before,.demo-shell::after,.join-art::before,.join-art::after{content:"";position:absolute;inset:0;background-image:var(--grain);pointer-events:none;z-index:0}
.demo-shell::after,.join-art::after{mix-blend-mode:overlay}
.demo-shell::before,.join-art::before{opacity:.17;background-position:150px 90px}
.join-art::before,.join-art::after{z-index:-1}
.demo{position:relative;z-index:1;max-width:1000px;background:#fff;border-radius:18px;box-shadow:0 40px 80px -30px rgba(10,30,80,.35);overflow:hidden}
.demo-tabs{display:flex;gap:6px;padding:14px 18px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.demo-tabs button{border:0;background:none;padding:8px 14px;border-radius:8px;font-size:.9375rem;font-weight:500;color:var(--muted);cursor:pointer}
.demo-tabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.demo-top{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--line-soft);font-size:var(--t-small)}
.demo-top b{font-weight:600}
.demo-top .status{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--faint);font-size:var(--t-micro)}
.demo-top .status i{width:8px;height:8px;border-radius:50%;background:#C7C7CC;display:block}
.demo-top .status.live{color:#D93025}
.demo-top .status.live i{background:#D93025;box-shadow:0 0 0 4px rgba(217,48,37,.15)}
.demo-top .rt{margin-left:auto;display:flex;gap:8px;align-items:center;color:var(--muted)}
.demo-body{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:440px}
.speakers{border-right:1px solid var(--line-soft);background:#FBFBFD;padding:18px;display:flex;flex-direction:column;gap:12px}
.spk{border:1px solid var(--line-soft);border-radius:14px;background:#fff;padding:14px;transition:border-color .2s,box-shadow .2s}
.spk.on{border-color:#B8CFF7;box-shadow:0 0 0 4px rgba(20,71,181,.10)}
.spk .hd{display:flex;align-items:center;gap:10px}
.spk .av{width:42px;height:42px;border-radius:50%;flex:none;overflow:hidden;background:#ddd}
.spk .av img{width:100%;height:100%;object-fit:cover}
.spk .av.ai{position:relative;isolation:isolate;background:#0A2A78;box-shadow:0 0 0 1px rgba(17,60,154,.18),0 4px 16px -3px rgba(42,95,207,.65)}
.spk .av.ai::before{content:"";position:absolute;inset:-35%;z-index:0;background:conic-gradient(from 0deg,#7DB4FF,#1D47B8,#7FD9F5,#0F2C8A,#BFDFFF,#2F66DD,#4FB8EE,#7DB4FF);filter:blur(5px);animation:orb-spin 7s linear infinite}
.spk .av.ai i{position:absolute;inset:-20%;z-index:1;border-radius:50%;background:radial-gradient(circle at 30% 35%,rgba(160,230,255,.9) 0%,rgba(160,230,255,0) 38%),radial-gradient(circle at 72% 62%,rgba(30,70,200,.85) 0%,rgba(30,70,200,0) 45%),radial-gradient(circle at 55% 20%,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 30%);mix-blend-mode:screen;filter:blur(3px);animation:orb-spin 5s linear infinite reverse}
.spk .av.ai::after{content:"";position:absolute;inset:0;z-index:2;border-radius:50%;background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.75) 0%,rgba(255,255,255,.18) 16%,rgba(255,255,255,0) 38%),radial-gradient(circle at 50% 50%,rgba(255,255,255,0) 58%,rgba(10,30,90,.35) 100%)}
.spk.ai.on .av.ai{box-shadow:0 0 0 1px rgba(17,60,154,.2),0 0 18px 2px rgba(80,150,255,.65)}
.spk.ai.on .av.ai::before{animation-duration:2.6s}
.spk.ai.on .av.ai i{animation-duration:2s}
@keyframes orb-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spk .av.ai::before,.spk .av.ai i{animation:none}}
.spk b{display:block;font-size:.9375rem;font-weight:600;line-height:1.2}
.spk small{display:block;font-size:var(--t-micro);color:var(--muted);line-height:1.3}
.spk .st{margin-left:auto;font-size:.75rem;font-weight:600;color:var(--faint)}
.spk.on .st{color:var(--blue)}
.wave{display:flex;align-items:flex-end;gap:3px;height:30px;margin-top:12px}
.wave i{flex:1;height:4px;border-radius:2px;background:#DADAE0;display:block;transition:height .09s}
.spk.on .wave i{background:var(--blue)}
.spk.r.on .wave i{background:#2D6581}
.speakers .note{margin-top:auto;font-size:var(--t-micro);color:var(--faint);line-height:1.45}
.transcript{padding:20px 24px;display:flex;flex-direction:column;gap:14px;max-height:520px;overflow-y:auto;scroll-behavior:smooth}
.transcript .empty{margin:auto;text-align:center;color:var(--muted);max-width:22em}
.transcript .empty b{display:block;font-family:var(--display);color:var(--ink);font-size:1.35rem;font-weight:var(--w-display);letter-spacing:-.02em;margin-bottom:6px}
.line{display:flex;flex-direction:column;gap:5px;max-width:88%}
.line .lab{font-size:var(--t-micro);font-weight:600;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.line.ai .lab{color:var(--blue)}
.line .bub{padding:12px 15px;border-radius:14px;background:var(--grey);font-size:1rem;line-height:1.5}
.line.ai .bub{background:#EEF4FE}
.line.r{align-self:flex-end}
.line.r .lab{justify-content:flex-end}
.line.r .bub{background:#fff;border:1px solid var(--line-soft)}
.line .tag{font-size:.75rem;font-weight:600;border-radius:999px;padding:2px 8px;background:#EEF0FB;color:#4848b8}
.line .tag.cf{background:#E3F4EC;color:var(--green)}
.line .tag.nx{background:var(--grey);color:var(--ink-2)}
.caret{display:inline-block;width:2px;height:1em;background:currentColor;vertical-align:-2px;margin-left:2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.demo-ctl{display:flex;align-items:center;gap:10px;padding:14px 22px;border-top:1px solid var(--line-soft);flex-wrap:wrap}
.demo-ctl .btn{min-height:42px}
.demo-ctl .sound{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:var(--r-btn);height:42px;padding:0 14px;cursor:pointer;font-size:.9375rem;color:var(--ink-2)}
.demo-ctl .sound svg{width:16px;height:16px}
.demo-ctl .fine{margin-left:auto;font-size:var(--t-micro);color:var(--faint)}
.trio{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(28px,4vw,64px);margin-top:clamp(56px,6vw,88px)}
.trio li{border-top:1px solid var(--line);padding-top:22px}
.trio h3{font-size:1.25rem;font-weight:550;letter-spacing:-.02em}
.trio p{color:var(--muted);margin-top:8px;font-size:1rem}

/* ---------------- voices ---------------- */
.voices-plate{width:calc(86% + var(--bleed))}
.profiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);margin-top:48px}
.profiles div{border-top:1px solid var(--line);padding-top:18px}
.profiles b{display:block;font-weight:600}
.profiles span{display:block;color:var(--muted);font-size:var(--t-small);margin-top:4px}

/* ---------------- how it works ---------------- */
.how{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,104px);align-items:center}
.how > *{min-width:0}
.steps{margin-top:clamp(40px,4.5vw,64px);border-top:1px solid var(--line)}
.steps li{border-bottom:1px solid var(--line)}
.steps button{display:flex;gap:18px;align-items:baseline;width:100%;text-align:left;background:none;border:0;padding:20px 0;cursor:pointer;font-family:var(--display);font-size:1.3rem;font-weight:var(--w-display);letter-spacing:-.022em;line-height:1.25;color:var(--faint);transition:color .2s}
.steps button:hover{color:var(--ink-2)}
.steps button[aria-expanded="true"]{color:var(--ink)}
.steps .n{flex:none;width:1.4em;font-size:1rem;font-variant-numeric:tabular-nums;color:var(--faint)}
.steps button[aria-expanded="true"] .n{color:var(--blue)}
.steps .copy{padding:0 0 22px calc(1.4em + 18px)}
.steps .copy p{color:var(--muted);max-width:30em}
.stack{position:relative}
.stack .plate{transition:opacity .45s ease}
.stack .plate + .plate{position:absolute;inset:0}
.stack .plate:not(.on){opacity:0;pointer-events:none}

/* ---------------- survey vs ---------------- */
.vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1080px}
.vs .card{background:#fff;border-radius:var(--r-card);padding:30px;border:1px solid var(--line-soft)}
/* left card = the old way: flat, grey and quiet; right card = Calvyn: lifted and in colour */
.vs .card{position:relative}
.vs .card.old{background:#F7F8F9;border:2px dotted #A6A9B0;box-shadow:none;color:#8A8D93;transform:scale(.97);transform-origin:center}
.vs .card.old > :not(.verdict){filter:grayscale(1);opacity:.95}
/* verdict badges, offset over the top-right corner of each card */
.vs .verdict{position:absolute;top:-18px;right:-18px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 5px var(--ice),0 6px 16px -6px rgba(20,30,50,.28)}
.vs .verdict svg{width:23px;height:23px}
.vs .verdict.no{background:#FDE2DC;color:#D2402B;border:1px solid #F3B5A8}
.vs .verdict.yes{background:#D9F2E3;color:#178A4C;border:1px solid #9FD8B7}
.vs .card.old h3{color:#45484E}
.vs .card.old .k{color:#73767C}
.vs .card.old .opt{background:#fff;border-color:#CDD0D5;color:#5F6268}
.vs .card.old .opt.on{background:#ECEDEF;border-color:#B5B8BE;color:#45484E}
.vs .card.old .opt.on i{background:#8C8F95;border-color:#8C8F95}
.vs .card.old .result{color:#5F6268}
.vs .card.new{border-color:#B8CFF7;box-shadow:0 1px 2px rgba(10,30,70,.05),0 22px 48px -22px rgba(12,54,144,.35)}
.vs .card h3{font-size:1.2rem;font-weight:550}
.vs .card .k{font-size:var(--t-micro);font-weight:600;color:var(--faint);margin-bottom:12px;display:block}
.opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:10px;margin-top:8px;color:var(--ink-2);font-size:.9375rem}
.opt i{width:18px;height:18px;border-radius:5px;border:1.5px solid #C7C7CC;flex:none;display:grid;place-items:center}
.opt.on{border-color:#B8CFF7;background:#F4F8FF}
.opt.on i{background:var(--blue);border-color:var(--blue)}
.opt.on i::after{content:"";width:8px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.vs .result{margin-top:16px;font-size:var(--t-small);color:var(--muted)}
.conv{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.conv p{font-size:.9375rem;line-height:1.5;padding:10px 13px;border-radius:12px;background:var(--grey)}
.conv p.ai{background:#EEF4FE}
.conv p b{display:block;font-size:.75rem;font-weight:600;color:var(--muted);margin-bottom:2px}
.conv p.ai b{color:var(--blue)}
.why-chip{display:inline-flex;margin-top:14px;gap:6px;align-items:center;font-size:var(--t-small);font-weight:600;color:var(--green);background:#E3F4EC;border-radius:999px;padding:6px 12px}

/* ---------------- numbers band ---------------- */
.numbers{padding-block:clamp(80px,8vw,128px)}
.numbers .eyebrow{font-size:var(--t-small);margin-bottom:clamp(36px,4vw,56px)}
.nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(24px,3vw,48px)}
.nums div{border-top:1px solid var(--dark-line);padding-top:30px}
.nums div{display:flex;flex-direction:column}
.nums b{display:flex;align-items:flex-start;min-height:2.04em;font-family:var(--display);font-size:clamp(2.6rem,1.2rem + 3.4vw,4.9rem);hyphens:manual;font-weight:300;letter-spacing:-.045em;line-height:1.02;color:var(--sky);text-wrap:balance}
.nums > div > span:not(.ni){display:block;margin-top:20px;color:var(--on-dark-2);font-size:1.0625rem;max-width:13em}
.nums .ni{display:block;width:44px;height:44px;margin-bottom:22px;color:var(--sky)}
.nums .ni svg{width:44px;height:44px;display:block}
@media (max-width:640px){.nums .ni{width:36px;height:36px;margin-bottom:16px}.nums .ni svg{width:36px;height:36px}}
.nums.five{grid-template-columns:repeat(5,minmax(0,1fr));gap:0 clamp(20px,2.4vw,40px)}
.nums.five b{font-size:clamp(2.5rem,.6rem + 3.4vw,3.7rem)}
.nums.five span{font-size:1rem}
@media (max-width:1100px){.nums.five{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}}
@media (max-width:640px){.nums.five{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px}}

/* ---------------- moments ---------------- */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,104px);align-items:center}
.split.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.split > *{min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.chips span{border:1px solid var(--line);border-radius:8px;padding:8px 13px;font-size:.9375rem;color:var(--ink-2);background:#fff}
.integr{color:var(--faint);font-size:var(--t-small);margin-top:22px;max-width:30em}

/* ---------------- use cases ---------------- */
.uc{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start}
.uc-main{border-left:1px solid var(--line);padding-left:clamp(24px,3vw,44px);min-width:0}
.uc-tabs{display:flex;flex-direction:column;gap:0;position:sticky;top:calc(var(--nav-h) + 32px)}
.uc-group{font-size:var(--t-micro);font-weight:600;color:var(--faint);margin:22px 0 6px}
.uc-group:first-child{margin-top:0}
.uc-tab{display:block;width:100%;text-align:left;border:0;border-left:2px solid transparent;background:none;cursor:pointer;padding:9px 14px;border-radius:0}
.uc-tab b{display:block;font-weight:550;font-size:1rem;line-height:1.3;color:var(--ink-2)}
.uc-tab span{display:block;font-size:var(--t-micro);color:var(--muted);line-height:1.35;margin-top:2px}
.uc-tab:hover b{color:var(--ink)}
.uc-tab[aria-selected="true"]{border-left-color:var(--blue);background:#fff}
.uc-tab[aria-selected="true"] b{color:var(--ink)}
.uc-panel .plate{margin-bottom:0;border-radius:var(--r-card)}
.uc-body{position:relative;margin-top:16px;background:transparent;border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(22px,2.6vw,36px)}
.uc-body::before{content:"";position:absolute;top:-1px;left:clamp(22px,2.6vw,36px);width:56px;height:3px;border-radius:0 0 3px 3px;background:var(--blue)}
.uc-panel:not([hidden]){animation:uc-in .38s cubic-bezier(.2,.7,.2,1)}
@keyframes uc-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.uc-panel:not([hidden]){animation:none}}
.uc-panel h3{font-size:var(--t-h3);font-weight:var(--w-display);letter-spacing:-.03em}
.uc-panel .q{color:var(--muted);margin-top:8px}
.mods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:24px}
.mods li{padding:16px 0;border-top:1px solid var(--line)}
.mods b{display:block;font-weight:600}
.mods p{color:var(--muted);font-size:.9375rem;margin-top:3px;line-height:1.5}
.uc-note{font-size:var(--t-micro);color:var(--faint);margin-top:20px}

/* ---------------- teams ---------------- */
.teams{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(24px,3vw,48px)}
.teams .team{display:block;border-top:1px solid var(--line);padding:22px 0 30px}
.teams-cta{margin-top:clamp(28px,3vw,44px)}
.teams b{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:1.2rem;font-weight:500;letter-spacing:-.02em;line-height:1.25}
.teams .ti{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);box-shadow:inset 0 0 0 1px rgba(17,60,154,.08);transition:background-color .2s,color .2s}
.teams .ti svg{width:26px;height:26px}
.teams .team > b + span{margin-top:14px}
.nw{white-space:nowrap}
.teams .team > span{display:block;color:var(--muted);font-size:var(--t-small);margin-top:8px;line-height:1.45;max-width:20em}

/* ---------------- platform ---------------- */
.bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,5vw,72px) clamp(28px,3vw,48px)}
.tile .plate{border-radius:var(--r-card)}
.tile .tx{padding-top:22px}
.tile h3{font-size:1.35rem;font-weight:550;letter-spacing:-.02em}
.tile p{color:var(--muted);margin-top:6px;font-size:1rem}
.caps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px clamp(28px,4vw,64px);margin-top:clamp(40px,5vw,72px)}
.caps h4{font-family:var(--text);font-size:var(--t-micro);font-weight:600;color:var(--faint);letter-spacing:0;margin-bottom:6px}
.caps li{padding:14px 0;border-top:1px solid var(--line-soft)}
.caps b{display:block;font-weight:600;font-size:1rem}
.caps span{display:block;color:var(--muted);font-size:var(--t-small);margin-top:2px}

/* ---------------- quality (dark) ---------------- */
.qsteps{margin-top:clamp(36px,4vw,52px);border-top:1px solid var(--dark-line)}
.qsteps li{display:grid;grid-template-columns:2.2em minmax(0,1fr);padding:18px 0;border-bottom:1px solid var(--dark-line)}
.qsteps .n{font-family:var(--display);color:#6E6E73;font-variant-numeric:tabular-nums;padding-top:2px}
.qsteps b{font-family:var(--display);font-size:1.2rem;font-weight:500;letter-spacing:-.02em;color:#fff}
.qsteps p{grid-column:2;color:var(--on-dark-2);margin-top:4px;font-size:.9375rem;line-height:1.5}
.dark .plate{background:#2A2A2D}

/* ---------------- why calvyn ---------------- */
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(28px,4vw,64px)}
.three li{border-top:1px solid var(--line);padding-top:26px}
.three .n{display:block;font-family:var(--display);color:var(--faint);font-variant-numeric:tabular-nums}
.three b{display:block;font-family:var(--display);font-size:1.45rem;font-weight:var(--w-display);letter-spacing:-.025em;line-height:1.2;margin-top:24px}
.three p{color:var(--muted);margin-top:12px;font-size:1rem;max-width:26em}
.three.nine{row-gap:clamp(40px,4.5vw,64px)}
.three.nine b{font-size:1.3rem;margin-top:18px}

/* ---------------- always on ---------------- */
.ticks{display:flex;flex-direction:column;gap:12px;margin-top:30px}
.ticks li{display:flex;gap:12px;color:var(--ink-2)}
.ticks li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--blue) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='m3 6.2 2 2 4-4.4' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat}

/* ---------------- ambition ---------------- */
.ambition p.big,.ambition .big{font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(2rem,1.2rem + 2.8vw,4rem);font-weight:400;letter-spacing:-.025em;line-height:1.12;max-width:16em;text-wrap:balance}
.ambition p.big span,.ambition .big span{color:var(--tone)}
.ambition .tagline{margin-top:32px;font-size:var(--t-lede);color:var(--muted);max-width:40em;line-height:1.5}
.ambition .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}

/* ---------------- pricing ---------------- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.plan{padding:32px clamp(20px,3vw,40px) 8px 0;display:flex;flex-direction:column}
.plan + .plan{border-left:1px solid var(--line);padding-left:clamp(20px,3vw,40px)}
.plan .k{font-size:var(--t-micro);font-weight:600;color:var(--blue)}
.plan h3{margin-top:8px;font-size:1.6rem;font-weight:var(--w-display);letter-spacing:-.03em}
.plan p{color:var(--muted);margin-top:10px;font-size:1rem}
.plan ul{margin-top:20px;display:flex;flex-direction:column;gap:10px;font-size:.9375rem;color:var(--ink-2)}
.plan ul li{display:flex;gap:10px}
.plan ul li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--ink-2);margin-top:.6em}
.plan .btn{margin-top:auto;align-self:flex-start}
.plan .sp{height:28px}
.plans-note{color:var(--muted);margin-top:36px;font-size:var(--t-small)}

/* ---------------- security ---------------- */
.secrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(24px,3vw,48px)}
.secrow li{border-top:1px solid var(--line);padding-top:20px}
.secrow b{display:block;font-weight:600}
.secrow p{color:var(--muted);font-size:.9375rem;margin-top:6px;line-height:1.5}
.certs{display:flex;flex-wrap:wrap;gap:10px;margin-top:48px}
.cert{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:7px 14px 7px 12px;font-size:var(--t-small)}
.cert i{font-style:normal;font-size:.75rem;font-weight:650;color:#9A6200;background:#FFF2D6;border-radius:999px;padding:2px 8px}
.disclaimer{font-size:var(--t-micro);color:var(--faint);margin-top:14px}

/* ---------------- faq ---------------- */
.faq-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,104px);align-items:start}
.faq-wrap > .head{position:sticky;top:calc(var(--nav-h) + 40px)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-weight:550;font-size:1.125rem;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:26px;height:26px;flex:none;position:relative}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}
.faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq details[open] summary .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq details p{color:var(--muted);padding:0 40px 24px 0}
.nlist{border-top:1px solid var(--line)}
.nlist li{display:grid;grid-template-columns:2.4em minmax(0,1fr);padding:26px 0;border-bottom:1px dashed var(--line)}
.nlist li:last-child{border-bottom-style:solid}
.nlist .n{font-family:var(--display);font-size:1.6rem;font-weight:300;color:var(--faint);line-height:1.1}
.nlist b{display:block;font-family:var(--display);font-size:1.45rem;font-weight:var(--w-display);letter-spacing:-.025em;line-height:1.2}
.nlist p{color:var(--muted);margin-top:8px;max-width:30em}

/* ---------------- booking ---------------- */
.book .split{align-items:start}
.book .h2{color:#fff}
.book .expect{margin-top:32px;display:flex;flex-direction:column;gap:14px;color:#D2D2D7}
.book .expect li{display:flex;gap:12px}
.book .expect li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:#4A8BF0;margin-top:.65em}
.book .contact{margin-top:32px;color:var(--on-dark-2);font-size:var(--t-small)}
.book .contact span{color:#fff;font-weight:600;user-select:all}
.form{background:#fff;color:var(--ink);border-radius:20px;padding:clamp(22px,3vw,36px)}
.form h3{font-size:1.5rem;font-weight:var(--w-display)}
.form .sub{color:var(--muted);font-size:var(--t-small);margin-top:4px}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.fgrid .full{grid-column:1/-1}
.field label,.field .lbl{display:block;font-size:var(--t-micro);font-weight:600;color:var(--ink-2);margin-bottom:6px}
.field input,.field select,.field textarea,.pf input{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--grey);border:1px solid transparent;border-radius:var(--r-btn);padding:12px 14px;min-height:48px;outline:none;transition:border-color .15s,background-color .15s}
.field textarea{min-height:84px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,.pf input:focus{border-color:var(--blue);background:#fff}
.field .err{display:none;color:#C0331F;font-size:var(--t-micro);margin-top:6px}
.field.bad input,.field.bad select,.pf.bad input{border-color:#D9573F;background:#FFF7F5}
.field.bad .err{display:block}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.day,.slot{flex:none;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;font:inherit;color:var(--ink)}
.day{width:64px;padding:8px 0;text-align:center}
.day small{display:block;font-size:.75rem;color:var(--muted)}
.day b{display:block;font-size:1.0625rem;font-weight:600;line-height:1.25}
.slots{display:flex;flex-wrap:wrap;gap:8px}
.slot{padding:9px 14px;font-weight:550;font-size:.9375rem}
.day[aria-pressed="true"],.slot[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.day[aria-pressed="true"] small{color:#C7C7CC}
.tzline{font-size:var(--t-micro);color:var(--muted);margin-top:8px}
.form .submit{margin-top:22px;width:100%}
.form .fine{font-size:var(--t-micro);color:var(--muted);margin-top:12px;text-align:center}
.done{display:none}
.done .tick,.pdone .tick{width:48px;height:48px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}
.done .tick svg,.pdone .tick svg{width:22px;height:22px}
.done h3{margin-top:16px}
.done p{color:var(--muted);margin-top:10px}
.done .actions,.pdone .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.form.sent .form-body{display:none}
.form.sent .done{display:block}

/* ---------------- join the panel ---------------- */
.join{padding-top:calc(env(safe-area-inset-top,0px) + var(--nav-h))}
.join-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,120px);min-height:calc(100vh - var(--nav-h))}
.join-grid > *{min-width:0}
.join-main{padding-block:clamp(56px,7vw,112px)}
.join h1{font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(2.4rem,1.5rem + 2.8vw,4rem);line-height:1.1;letter-spacing:-.025em;font-weight:400}
.join .lede{max-width:26em}
.pform{margin-top:clamp(36px,4vw,52px);max-width:540px}
.phead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.step-h{font-size:var(--t-small);font-weight:600;outline:none}
.step-h em{font-style:normal;color:var(--faint);font-weight:500}
.dots{display:flex;gap:7px}
.dots button{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--ink);background:none;padding:0;cursor:pointer}
.dots button[aria-current="step"]{background:var(--ink)}
.pstep{display:flex;flex-direction:column;gap:10px}
.pstep .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf input::placeholder{color:#8E8E93}
.pf .err{display:none;color:#C0331F;font-size:var(--t-micro);margin-top:6px}
.pf.bad .err,.err.show{display:block;color:#C0331F;font-size:var(--t-micro)}
.pstep .btn{margin-top:10px;min-height:50px}
.hint{color:var(--muted);font-size:var(--t-small);margin-bottom:6px}
.vgroups{border-top:1px solid var(--line)}
.vgroups.bad{border-top-color:#D9573F}
.vg{border-bottom:1px solid var(--line)}
.vg > button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:12px 2px;background:none;border:0;cursor:pointer;font-weight:550;font-size:.9875rem;text-align:left}
.vg > button .chev{width:12px;height:12px;flex:none;transition:transform .2s}
.vg > button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.vg .count{font-style:normal;font-size:var(--t-micro);font-weight:600;color:var(--blue);margin-left:10px}
.vg .opts{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:4px 2px 20px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.9375rem;line-height:1.35;cursor:pointer;color:var(--ink-2)}
.chk input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--blue);flex:none;cursor:pointer}
.pf.ref{margin-top:14px}
.consent-copy{font-size:var(--t-micro);color:var(--muted);margin-top:8px;line-height:1.5}
.consent{font-size:var(--t-small)}
.privacy{font-size:var(--t-micro);color:var(--muted);text-align:center;margin-top:4px}
.privacy a{color:var(--ink)}
.trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.pdone h2{margin-top:18px;font-size:clamp(1.6rem,1.2rem + 1.2vw,2.2rem);font-weight:var(--w-display);letter-spacing:-.03em;outline:none}
.pdone p{color:var(--muted);margin-top:12px;max-width:30em}
.join-art{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--nav-h));align-self:start;height:calc(100vh - var(--nav-h));height:calc(100svh - var(--nav-h));overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;padding:clamp(40px,6vw,96px) var(--bleed) clamp(40px,6vw,96px) clamp(28px,5vw,88px);background:var(--plate-sky)}
.inv{width:min(400px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 40px 80px -36px rgba(10,30,80,.55)}
.inv-top{display:flex;align-items:center;justify-content:space-between}
.chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--blue-soft);color:var(--blue-deep);font-size:.75rem;font-weight:600}
.cmark{width:30px;height:30px;border-radius:8px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:500;font-size:1rem}
.inv h3{margin-top:18px;font-size:1.35rem;font-weight:500;letter-spacing:-.025em}
.inv-q{color:var(--muted);margin-top:4px;font-size:var(--t-small)}
.inv-meta{margin:18px 0 20px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line-soft);padding-top:16px}
.inv-meta li{display:flex;gap:10px;align-items:center;font-size:var(--t-small);color:var(--ink-2)}
.inv-meta svg{width:17px;height:17px;color:var(--blue);flex:none}
.inv .btn{width:100%;min-height:44px;cursor:default}
.snip{width:min(400px,100%);margin-left:clamp(0px,6vw,88px);background:rgba(255,255,255,.92);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:0 30px 60px -36px rgba(10,30,80,.5)}
.snip p{font-size:.9375rem;line-height:1.45;padding:10px 12px;border-radius:12px;background:var(--grey)}
.snip p.ai{background:#EEF4FE}
.snip b{display:block;font-size:.75rem;font-weight:600;color:var(--muted);margin-bottom:2px}
.snip p.ai b{color:var(--blue)}
.who{display:flex;align-items:center;gap:0;margin-top:8px;color:#0B2A66;font-size:var(--t-micro);font-weight:500}
.who > span:not(.faces){margin-left:14px;max-width:18em;line-height:1.35}

/* ---------------- footer ---------------- */
.ftr{background:var(--ink);color:#A1A1A6;padding-block:80px clamp(20px,3vw,36px);font-size:var(--t-micro);border-top:1px solid #2C2C2E}
.ftr .giant{display:block;color:#fff;margin-top:clamp(48px,6vw,96px);line-height:0}
.ftr .giant svg{display:block;width:100%;height:auto}
.ftr .top{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(5,minmax(0,1fr));gap:28px}
.ftr .brand{color:#fff}
.ftr .brand svg{height:34px}
.ftr .tagline{font-family:var(--serif);font-optical-sizing:auto;font-size:1.3rem;font-weight:400;line-height:1.35;letter-spacing:-.015em;color:#fff;margin-top:18px;max-width:14em;text-wrap:balance}
.ftr .mail{margin-top:10px}
.ftr .mail a{color:#fff;text-decoration:none}
.ftr h4{font-family:var(--text);font-size:var(--t-micro);font-weight:600;color:#fff;letter-spacing:0;margin-bottom:12px}
.ftr ul{display:flex;flex-direction:column;gap:9px}
.ftr ul a{text-decoration:none}
.ftr ul a:hover{color:#fff;text-decoration:underline}
.ftr-status{margin-top:56px}
.ftr .bot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid #3A3A3C}
.ftr .bl{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.ftr .status{display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 11px;border:1px solid #3A3A3C;border-radius:999px;background:#242426;color:#F5F5F7;font-weight:400;line-height:1.2}
.ftr .status .sv{color:#A1A1A6;font-weight:400;padding-left:8px;border-left:1px solid #3A3A3C}
.ftr .status i{position:relative;width:8px;height:8px;border-radius:50%;background:#5BAF85;flex:none}
.ftr .status i::after{content:"";position:absolute;inset:-4px;border-radius:50%;background:#5BAF85;opacity:0;animation:status-glow 3.2s ease-in-out infinite}
@keyframes status-glow{0%,100%{opacity:0;transform:scale(.6)}50%{opacity:.32;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.ftr .status i::after{animation:none;opacity:.2}}
.ftr .soc{display:flex;gap:14px}
.ftr .soc a{color:#D2D2D7}
.ftr .soc a:hover{color:#fff}
.ftr .soc svg{width:16px;height:16px}

/* ---------------- cookie banner ---------------- */
.cookie{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:80;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:var(--ink);border:1px solid var(--line-soft);border-radius:16px;padding:20px;box-shadow:0 24px 60px -20px rgba(16,24,40,.35)}
.cookie h2{font-family:var(--display);font-size:1.05rem;font-weight:600;letter-spacing:-.01em}
.cookie > p{font-size:var(--t-small);color:var(--muted);margin-top:8px;line-height:1.5}
.cookie a{color:var(--ink);text-underline-offset:2px}
.ck-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.ck-actions .btn{min-height:42px;font-size:.9375rem;padding:0 12px}
.ck-more{display:flex;justify-content:center;margin-top:10px}
.ck-link{background:none;border:0;padding:6px;font-size:var(--t-micro);font-weight:550;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ck-prefs{margin-top:14px;border-top:1px solid var(--line-soft)}
.ck-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line-soft);cursor:pointer}
.ck-row b{display:block;font-size:var(--t-small);font-weight:600}
.ck-row small{display:block;font-size:var(--t-micro);color:var(--muted);line-height:1.4;margin-top:2px}
.ck-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue);flex:none}
.ftr-btn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.ftr-btn:hover{color:#fff;text-decoration:underline}

/* ---------------- legal pages ---------------- */
.legal{padding-top:calc(env(safe-area-inset-top,0px) + var(--nav-h) + clamp(56px,7vw,104px));padding-bottom:var(--sec)}
.legal-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(40px,7vw,120px);align-items:start}
.legal-side{position:sticky;top:calc(var(--nav-h) + 40px)}
.legal-side h1{font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(2.2rem,1.5rem + 2.2vw,3.3rem);line-height:1.1;letter-spacing:-.025em;font-weight:400}
.legal-side .updated{color:var(--muted);margin-top:14px;font-size:var(--t-small)}
.legal-side nav{display:flex;flex-direction:column;gap:2px;margin:28px 0;border-top:1px solid var(--line)}
.legal-side nav a{padding:9px 0;line-height:1.4;border-bottom:1px solid var(--line-soft);text-decoration:none;color:var(--ink-2);font-size:var(--t-small)}
.legal-side nav a:hover{color:var(--blue)}
.legal-body{max-width:44em}
.legal-body .lead{font-size:var(--t-lede);color:var(--ink-2);line-height:1.5}
.legal-body h2{font-family:var(--display);font-size:1.5rem;font-weight:500;letter-spacing:-.025em;margin-top:48px;scroll-margin-top:calc(var(--nav-h) + 24px)}
.legal-body p,.legal-body li{color:var(--ink-2);margin-top:14px}
.legal-body ul{list-style:disc;padding-left:1.2em}
.legal-body a{color:var(--blue);text-underline-offset:2px}
.legal-body .table{margin-top:18px;overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.legal-body table{width:100%;border-collapse:collapse;font-size:var(--t-small)}
.legal-body th,.legal-body td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--line-soft)}
.legal-body thead th{background:var(--grey);font-weight:600;color:var(--ink)}
.legal-body tbody th{font-weight:600;color:var(--ink);width:34%}
.legal-body td{color:var(--ink-2)}
.legal-body tr:last-child th,.legal-body tr:last-child td{border-bottom:0}
.legal-body .related{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:var(--t-small)}

/* ---------------- responsive ---------------- */
@media (max-width:1180px){
  .menu > li > a,.menu > li > button{padding:0 9px}
  .act .signin{display:none}
  .mega .cols.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1080px){
  .act .join-btn{display:none}
}
@media (max-width:960px){
  :root{--nav-h:60px}
  .menu,.act{display:none}
  .bar > nav{display:none}
  .burger{display:flex}
  .brand svg{height:22px}
  .brand-tag{font-size:.66rem}
  .head{display:block}
  .head > .lede{margin-top:20px;padding:0}
  .how,.split,.split.rev,.faq-wrap,.join-grid,.legal-grid{grid-template-columns:minmax(0,1fr)}
  .legal-side{position:static}
  .split.rev > .bleed-l{order:2}
  .faq-wrap > .head{position:static}
  .hero-plate{margin-left:0}
  .voices-plate{width:calc(100% + var(--bleed))}
  .uc{grid-template-columns:minmax(0,1fr)}
  .uc-main{border-left:0;padding-left:0}
  .uc-tabs{position:static;flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:6px;margin-right:calc(-1*var(--gutter));padding-right:var(--gutter);scrollbar-width:none;border-top:0}
  .uc-tabs::-webkit-scrollbar{display:none}
  .uc-group{display:none}
  .uc-tab{flex:none;width:auto;border:1px solid var(--line);border-radius:8px;padding:9px 15px;background:#fff}
  .uc-tab[aria-selected="true"]{border-color:var(--ink);background:var(--ink)}
  .uc-tab[aria-selected="true"] b{color:#fff}
  .uc-tab span{display:none}
  .pillars,.three{grid-template-columns:minmax(0,1fr);gap:40px}
  .trio{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px clamp(24px,4vw,48px)}
  .teams,.secrow,.profiles,.nums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nums{gap:40px 24px}
  .caps{grid-template-columns:minmax(0,1fr)}
  .plans{grid-template-columns:minmax(0,1fr)}
  .plan,.plan + .plan{padding:30px 0 34px;border-left:0}
  .plan + .plan{border-top:1px solid var(--line)}
  .ftr .top{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ftr .top > div:first-child{grid-column:1/-1}
  .demo-body{grid-template-columns:minmax(0,1fr)}
  .speakers{flex-direction:row;border-right:0;border-bottom:1px solid var(--line-soft);overflow-x:auto}
  .speakers .spk{flex:1 0 210px}
  .speakers .note{display:none}
  .transcript{max-height:440px;min-height:300px}
  .join-grid{min-height:0}
  .join-main{padding-bottom:clamp(48px,8vw,72px)}
  .join-art{position:relative;top:auto;height:auto;margin-left:calc(-1 * var(--bleed));padding:48px var(--bleed) 56px}
  .snip{margin-left:0}
}
@media (max-width:640px){
  .hero{padding-top:calc(env(safe-area-inset-top,0px) + var(--nav-h) + 56px)}
  .hero h1{font-size:clamp(1.8rem,8.6vw,2.8rem)}
  .dial li{white-space:normal}
  .dial,.dial li{height:2.3em;line-height:1.1}
  .dial li{display:flex;align-items:center}
  .hero .ctas .btn{flex:1 1 100%}
  .hero .trust .people{flex-direction:column;align-items:flex-start;gap:10px}
  .hero .trust .people br{display:none}
  .trio,.vs,.bento,.mods,.teams,.secrow,.profiles{grid-template-columns:minmax(0,1fr)}
  .trio{gap:28px}
  .nums b{font-size:clamp(2.1rem,9.6vw,2.9rem)}
  .plate{border-radius:18px;aspect-ratio:5/4}
  .plate img,.plate video{object-position:18% 15%}
  .hero-plate .plate{aspect-ratio:4/3}
  .demo-shell{padding:14px var(--bleed) 14px 14px}
  .fgrid{grid-template-columns:minmax(0,1fr)}
  .ftr .top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .demo-ctl .fine{margin-left:0;width:100%}
  .speakers{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}
  .speakers .spk{padding:10px}
  .spk .st,.spk small{display:none}
  .spk .av{width:34px;height:34px}
  .wave{height:22px;margin-top:8px}
  .demo-top .rt span:first-child{display:none}
  .transcript{padding:16px}
  .line{max-width:96%}
  .faq details p{padding-right:0}
  .pstep .two,.vg .opts{grid-template-columns:minmax(0,1fr)}
  .who > span:not(.faces){display:none}
}

/* ================= inner pages: legal, careers, blog ================= */
.grainy{position:relative;isolation:isolate;overflow:hidden;background:var(--plate-sky)}
.grainy::before,.grainy::after{content:"";position:absolute;inset:0;background-image:var(--grain);pointer-events:none;z-index:-1}
.grainy::after{mix-blend-mode:overlay}
.grainy::before{opacity:.17;background-position:150px 90px}
.page-top{padding-top:calc(env(safe-area-inset-top,0px) + var(--nav-h) + clamp(56px,7vw,104px))}
.page-top h1{font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(2.4rem,1.5rem + 2.8vw,4rem);line-height:1.1;letter-spacing:-.025em;font-weight:400;max-width:15em}
.page-top h1 .tone,.feat h2 .tone{color:var(--tone)}
.page-top .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:var(--t-small);color:var(--muted);margin-bottom:26px}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--blue)}
.crumbs span[aria-hidden]{color:var(--faint)}
.chip-s{display:inline-flex;align-items:center;min-height:28px;padding:3px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:var(--t-micro);font-weight:500;color:var(--ink-2);line-height:1.3}

/* legal: long contents lists */
.legal-side{max-height:calc(100vh - var(--nav-h) - 64px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:6px}
.otp{margin:28px 0}
.otp summary{display:none}
.otp nav{margin:0}
.legal-side .otp nav{margin:0}
.legal-side nav a[aria-current],.post-side nav a[aria-current]{color:var(--blue);font-weight:600}
.legal-body h3{font-family:var(--display);font-size:1.125rem;font-weight:600;letter-spacing:-.015em;margin-top:30px;color:var(--ink)}
.legal-body h2 + h3{margin-top:18px}
.legal-body ul.mk{list-style:none;padding-left:0;margin-top:10px}
.legal-body ul.mk li{display:grid;grid-template-columns:2.1em minmax(0,1fr);margin-top:10px}
.legal-body ul.mk .m{color:var(--muted);font-variant-numeric:tabular-nums}
.legal-body p b{color:var(--ink);font-weight:600}
.legal-body .table + p{margin-top:22px}

/* careers */
.careers-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,7vw,120px);align-items:start;padding-bottom:var(--sec)}
.careers-intro p{color:var(--ink-2);margin-top:18px;max-width:34em}
.careers-intro p.lede{color:var(--muted);margin-top:26px}
.roles-plate{border-radius:var(--r-plate);padding:clamp(20px,3.4vw,48px);margin-top:8px}
.rp-card{position:relative;background:#fff;border-radius:18px;box-shadow:0 0 0 1px rgba(9,25,45,.06),0 24px 60px -24px rgba(4,18,34,.35);padding:8px 8px 4px}
.rp-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;font-weight:600;font-size:var(--t-small)}
.rp-head .count{min-width:26px;height:26px;border-radius:999px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:var(--t-micro)}
.rp-card a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-top:1px solid var(--line-soft);text-decoration:none;color:var(--ink);border-radius:12px;transition:background-color .15s}
.rp-card a:hover{background:var(--grey)}
.rp-card a small{display:block;font-size:var(--t-micro);color:var(--muted);margin-bottom:2px}
.rp-card a b{font-family:var(--display);font-weight:500;font-size:1.0625rem;letter-spacing:-.015em}
.rp-card a svg{width:16px;height:16px;flex:none;color:var(--blue)}
.rp-foot{display:flex;align-items:center;gap:8px;padding:12px 16px 12px;border-top:1px solid var(--line-soft);font-size:var(--t-micro);color:var(--muted)}
.rp-foot svg{width:15px;height:15px;flex:none}
.role-list{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.role-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(16px,3vw,48px);align-items:center;padding:30px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.rr-team{display:block;font-size:var(--t-micro);font-weight:600;color:var(--blue)}
.rr-title{font-family:var(--display);font-size:clamp(1.35rem,1.2rem + .6vw,1.75rem);font-weight:var(--w-display);letter-spacing:-.025em;line-height:1.2;margin-top:6px}
.rr-sum{display:block;color:var(--muted);margin-top:8px;max-width:40em}
.rr-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.rr-go{display:inline-flex;align-items:center;gap:8px;font-weight:550;white-space:nowrap}
.rr-go svg{width:15px;height:15px;transition:transform .2s}
.role-row:hover .rr-title{color:var(--blue)}
.role-row:hover .rr-go svg{transform:translateX(3px)}
.role-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.role-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,7vw,112px);align-items:start;margin-top:clamp(48px,6vw,80px);padding-bottom:var(--sec)}
.role-body{max-width:40em}
.role-body h2{font-family:var(--display);font-size:1.5rem;font-weight:500;letter-spacing:-.025em;margin-top:48px}
.role-body h2:first-child{margin-top:0}
.role-body p{color:var(--ink-2);margin-top:14px}
.role-body .ticks{margin-top:18px}
.role-body .ticks b{color:var(--ink);font-weight:600}
.apply-wrap{position:sticky;top:calc(var(--nav-h) + 28px);border-radius:var(--r-plate);padding:clamp(14px,2vw,24px)}
.form.apply{position:relative;box-shadow:0 0 0 1px rgba(9,25,45,.06),0 24px 60px -24px rgba(4,18,34,.35)}
.form.apply .fgrid{margin-top:18px}
.form .optional{font-weight:500;color:var(--muted)}
.role-body .more{margin-top:4px}
.form .err.show{display:block;color:#C0331F;font-size:var(--t-micro);margin-top:12px}
.form .fine a{color:var(--blue)}

/* blog index */
.blog-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,104px);align-items:end}
.blog-head .lede{margin-top:0;max-width:29em;padding-bottom:.35em}
.topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(36px,4vw,52px)}
.topics li{padding:6px 14px;border-radius:999px;background:var(--grey);font-size:var(--t-small);color:var(--ink-2)}
.cat{display:inline-block;font-size:var(--t-micro);font-weight:600;color:var(--blue)}
.dek{color:var(--muted);margin-top:14px;line-height:1.5}
.pmeta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:18px;font-size:var(--t-micro);color:var(--muted)}
.pmeta > span + span::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--faint);margin:0 14px 2px 0;vertical-align:middle}
.pmeta .by{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-weight:550}
.pmeta .av{width:28px;height:28px;border-radius:50%;background:var(--blue);display:grid;place-items:center;color:#fff;flex:none}
.pmeta .av svg{width:11px;height:auto;display:block;fill:currentColor}
.feat{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:center;margin-top:clamp(28px,3vw,40px)}
.feat-img,.pc-img{display:block;border-radius:var(--r-plate);overflow:hidden;background:#E3ECFA;aspect-ratio:16/10}
.feat-img img,.pc-img img,.post-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.feat:hover .feat-img img,.pcard:hover .pc-img img{transform:scale(1.02)}
.feat h2{font-family:var(--serif);font-optical-sizing:auto;font-weight:400;font-size:clamp(1.9rem,1.3rem + 1.8vw,2.9rem);line-height:1.14;letter-spacing:-.022em;margin-top:14px}
.feat h2 a,.pcard h3 a{text-decoration:none;color:inherit}
.feat h2 a:hover,.pcard h3 a:hover{color:var(--blue)}
.feat h2 a:hover .tone{color:inherit}
.feat .dek{font-size:var(--t-lede)}
.more{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-weight:550;color:var(--blue);text-decoration:none}
.more svg{width:15px;height:15px;transition:transform .2s}
.more:hover svg{transform:translateX(3px)}
.blog-more{padding-top:clamp(72px,8vw,120px);padding-bottom:0}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,4vw,64px) clamp(28px,4vw,64px)}
.pcard .cat{margin-top:22px}
.pcard h3{font-family:var(--display);font-size:clamp(1.35rem,1.2rem + .6vw,1.75rem);font-weight:var(--w-display);letter-spacing:-.025em;line-height:1.2;margin-top:8px}

/* article */
.post-head h1{font-size:clamp(2.5rem,1.4rem + 3.3vw,4.5rem);line-height:1.08;max-width:17em}
.post-head .dek{font-size:var(--t-lede);max-width:36em;margin-top:24px}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:30px;padding-bottom:clamp(36px,4vw,56px)}
.post-meta .pmeta{margin-top:0}
.share{display:flex;align-items:center;gap:8px;font-size:var(--t-micro);color:var(--muted)}
.share span:first-child{margin-right:4px}
.share a,.share button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--ink-2);cursor:pointer;transition:border-color .15s,color .15s}
.share a:hover,.share button:hover{border-color:var(--ink);color:var(--ink)}
.share svg{width:15px;height:15px}
.share button.copied{border-color:var(--blue);color:var(--blue)}
.post-cover{margin:0;border-radius:var(--r-plate);overflow:hidden;aspect-ratio:16/10;background:#E3ECFA}
.post-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(40px,6vw,104px);align-items:start;padding-block:clamp(56px,7vw,104px) var(--sec)}
.post-side{position:sticky;top:calc(var(--nav-h) + 40px)}
.post-side nav{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.post-side nav a{padding:10px 0;border-bottom:1px solid var(--line-soft);text-decoration:none;color:var(--ink-2);font-size:var(--t-small);line-height:1.4}
.post-side nav a:hover{color:var(--blue)}
.post-side .otp{margin:0}
.post-side .otp summary{display:block;pointer-events:none;font-size:var(--t-micro);font-weight:600;color:var(--faint);padding-bottom:12px}
.post-side .otp summary .chev{display:none}
.post-body{max-width:40em;font-size:1.125rem;line-height:1.7}
.post-body > p,.post-body li{color:var(--ink-2)}
.post-body > p{margin-top:22px}
.post-body > p:first-child{margin-top:0;font-size:1.25rem;line-height:1.6;color:var(--ink)}
.post-body h2{font-family:var(--display);font-size:clamp(1.45rem,1.3rem + .5vw,1.8rem);font-weight:500;letter-spacing:-.025em;line-height:1.2;margin-top:56px;scroll-margin-top:calc(var(--nav-h) + 24px)}
.post-body ul.dots,.post-body ol.steps{margin-top:20px;display:flex;flex-direction:column;gap:14px}
.post-body ul.dots li{position:relative;padding-left:24px}
.post-body ul.dots li::before{content:"";position:absolute;left:4px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.post-body ol.steps{counter-reset:st}
.post-body ol.steps li{counter-increment:st;position:relative;padding-left:44px}
.post-body ol.steps li::before{content:counter(st);position:absolute;left:0;top:.15em;width:28px;height:28px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:.875rem;font-weight:600;display:grid;place-items:center;line-height:1}
.post-body b{color:var(--ink);font-weight:600}
.post-body a:not(.btn){color:var(--blue);text-underline-offset:2px}
sup.ref{font-size:.68em;line-height:0;margin-left:1px}
sup.ref a{text-decoration:none;font-weight:600;padding:0 1px}
.pull{margin:48px 0;padding:6px 0 6px 28px;border-left:2px solid var(--blue)}
.pull p{font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem);line-height:1.3;letter-spacing:-.02em;color:var(--ink);text-wrap:pretty}
.stat{margin:40px 0;border-radius:20px;padding:clamp(24px,3vw,36px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 28px;align-items:center}
.stat b{grid-row:span 2;font-family:var(--serif);font-optical-sizing:auto;font-weight:400;font-size:clamp(2.4rem,1.8rem + 2vw,3.6rem);line-height:1;letter-spacing:-.03em;color:var(--blue-deep);white-space:nowrap}
.stat p{font-size:1.0625rem;line-height:1.45;color:var(--ink);font-weight:500;margin:0}
.stat small{font-size:var(--t-micro);color:var(--ink-2);opacity:.8}
.cfit{margin-top:22px;background:var(--black);color:#fff;border-radius:20px;padding:clamp(24px,3vw,36px)}
.cfit .cf-logo{display:block;margin-bottom:18px;color:#fff}
.cfit .cf-logo svg{display:block;width:92px;height:auto}
.cfit p{color:#D2D2D7;font-size:1.0625rem;line-height:1.65}
.cfit .ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.cfit .btn-line{background:transparent;color:#fff;border-color:#48484A}
.cfit .btn-line:hover{border-color:#fff}
.sources{margin-top:64px;padding-top:28px;border-top:1px solid var(--line)}
.sources h2{margin-top:0;font-size:1.125rem}
.sources ol{margin-top:14px;padding-left:1.4em;list-style:decimal;font-size:var(--t-small);line-height:1.55}
.sources li{margin-top:8px;color:var(--muted);scroll-margin-top:calc(var(--nav-h) + 24px)}
.sources li::marker{color:var(--faint)}
.sources a{color:var(--ink-2);text-decoration-color:var(--line);text-underline-offset:3px}
.sources a:hover{color:var(--blue);text-decoration-color:currentColor}
.sources li:target{color:var(--ink)}
.post-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line-soft)}

@media (max-width:1100px){
  .role-row{grid-template-columns:minmax(0,1fr) auto}
  .rr-meta{display:none}
}
@media (max-width:960px){
  .careers-grid,.role-grid,.blog-head,.feat,.post-grid{grid-template-columns:minmax(0,1fr)}
  .legal-side{max-height:none;overflow:visible;padding-right:0}
  .otp,.post-side .otp{margin:24px 0;border:1px solid var(--line);border-radius:14px;padding:0 16px}
  .otp summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:14px 0;font-weight:600;font-size:var(--t-small);cursor:pointer}
  .otp summary::-webkit-details-marker{display:none}
  .otp summary .chev{width:12px;height:12px;transition:transform .2s}
  .otp[open] summary .chev{transform:rotate(180deg)}
  .post-side .otp summary{display:flex;pointer-events:auto;font-size:var(--t-small);color:var(--ink);padding:14px 0}
  .post-side .otp summary .chev{display:block}
  .otp nav,.post-side .otp nav{border-top:1px solid var(--line-soft);padding-bottom:6px}
  .otp nav a:last-child{border-bottom:0}
  .post-side{position:static}
  .post-grid{padding-top:clamp(32px,6vw,56px);gap:8px}
  .apply-wrap{position:relative;top:auto}
  .blog-head .lede{margin-top:20px;padding:0}
  .feat-txt{order:2}
}
@media (max-width:640px){
  .pgrid{grid-template-columns:minmax(0,1fr)}
  .role-row{grid-template-columns:minmax(0,1fr);gap:14px}
  .post-cover,.feat-img,.pc-img{border-radius:18px}
  .post-body{font-size:1.0625rem}
  .post-body > p:first-child{font-size:1.15rem}
  .stat{grid-template-columns:minmax(0,1fr)}
  .stat b{grid-row:auto;margin-bottom:8px}
  .post-meta{flex-direction:column;align-items:flex-start}
  .page-top .ctas .btn{flex:1 1 100%}
}
