/* Kriyah.ai site styles.
   Brand: deep teal-ink (#0B2427, the app sidebar), primary teal (#0F7A78), signal cyan (#1FB5B3, the logo dot).
   Type: Familjen Grotesk. Light and dark themes share one token set; every component reads tokens only.
   Laws of UX notes are marked "LoUX" where a rule drives a choice. */

:root{
  --font:"Familjen Grotesk","Familjen Fallback",system-ui,sans-serif; --mono:ui-monospace,"SFMono-Regular",Consolas,monospace;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1);
  --ink:#0B2427; --ink-2:#0F2F33; --ink-3:#164046; --on-ink:#E8F3F3; --on-ink-2:#A8C3C6;
  --teal-900:#0A3C3B; --teal-700:#0B625F; --teal-600:#0F7A78; --teal-500:#14918E; --cyan:#1FB5B3; --cyan-300:#7FDCDA; --mint:#3CC79A; --amber:#E2A33B;

  /* light theme */
  --bg:#F4F8F8; --bg-alt:#E9F1F1; --surface:#FFFFFF; --surface-2:#F6FAFA; --surface-3:#EEF4F4;
  --text:#0D2023; --text-2:#3D5357; --text-3:#56696D; --line:#D5E2E3; --line-2:#C2D3D5;
  --primary:#0D7C83; --primary-hover:#0A646A; --on-primary:#FFFFFF; --link:#0B6E74; --focus:#0D7C83; --accent-text:#0D7C83;
  --tint:#E1F2F1; --tint-2:#CDEAE8; --tint-text:#0B5C5A;
  --hero-glow-1:rgba(31,181,179,.22); --hero-glow-2:rgba(60,199,154,.14); --hero-grid:rgba(11,36,39,.05);
  --shadow-1:0 1px 2px rgba(11,36,39,.06),0 4px 14px rgba(11,36,39,.06);
  --shadow-2:0 2px 6px rgba(11,36,39,.06),0 24px 60px rgba(11,36,39,.14);
  --header-bg:rgba(244,248,248,.78);
  --g-discover:#1FB5B3; --g-evaluate:#0F7A78; --g-run:#2FA37D; --g-scale:#4A7FD4;
  --ok:#1C8A5A; --warn:#B26A10; --bad:#C2412D;
  --r-sm:.625rem; --r-md:.875rem; --r-lg:1.25rem; --r-xl:1.75rem;
  --wrap:76rem; --gutter:clamp(1rem,4vw,2rem);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#071517; --bg-alt:#0A1C1F; --surface:#0E2427; --surface-2:#11292D; --surface-3:#153136;
  --text:#E7F1F1; --text-2:#A9C0C3; --text-3:#8EA7AA; --line:#1D383C; --line-2:#28474C;
  --primary:#3BC9D0; --primary-hover:#6BD8DD; --on-primary:#06171A; --link:#6FD6DB; --focus:#6BD8DD; --accent-text:#3BC9D0;
  --tint:#0F3235; --tint-2:#14403F; --tint-text:#8FE3E0;
  --hero-glow-1:rgba(31,181,179,.20); --hero-glow-2:rgba(60,199,154,.10); --hero-grid:rgba(231,241,241,.04);
  --shadow-1:0 1px 2px rgba(0,0,0,.35),0 6px 18px rgba(0,0,0,.25);
  --shadow-2:0 2px 8px rgba(0,0,0,.4),0 28px 70px rgba(0,0,0,.45);
  --header-bg:rgba(7,21,23,.78);
  --g-discover:#3CCFCC; --g-evaluate:#2CB3AE; --g-run:#4BC797; --g-scale:#7FA8EC;
  --ok:#4CC98F; --warn:#E8A94B; --bad:#F07A66;
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#071517; --bg-alt:#0A1C1F; --surface:#0E2427; --surface-2:#11292D; --surface-3:#153136;
    --text:#E7F1F1; --text-2:#A9C0C3; --text-3:#8EA7AA; --line:#1D383C; --line-2:#28474C;
    --primary:#3BC9D0; --primary-hover:#6BD8DD; --on-primary:#06171A; --link:#6FD6DB; --focus:#6BD8DD; --accent-text:#3BC9D0;
    --tint:#0F3235; --tint-2:#14403F; --tint-text:#8FE3E0;
    --hero-glow-1:rgba(31,181,179,.20); --hero-glow-2:rgba(60,199,154,.10); --hero-grid:rgba(231,241,241,.04);
    --shadow-1:0 1px 2px rgba(0,0,0,.35),0 6px 18px rgba(0,0,0,.25); --shadow-2:0 2px 8px rgba(0,0,0,.4),0 28px 70px rgba(0,0,0,.45);
    --header-bg:rgba(7,21,23,.78);
    --g-discover:#3CCFCC; --g-evaluate:#2CB3AE; --g-run:#4BC797; --g-scale:#7FA8EC;
    --ok:#4CC98F; --warn:#E8A94B; --bad:#F07A66; color-scheme:dark;
  }
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:5.5rem}
button,a.btn,.chip,.ptab,.nav-btn,[role="button"]{touch-action:manipulation;-webkit-user-select:none;user-select:none}
body{margin:0;font:400 1.0625rem/1.6 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{max-width:100%}
img{height:auto;display:block}
a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:1px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
::selection{background:var(--tint-2)}
.skip{position:absolute;left:1rem;top:-5rem;z-index:200;background:var(--surface);color:var(--text);padding:.75rem 1rem;border-radius:var(--r-sm);font-weight:600;box-shadow:var(--shadow-2)}
.skip:focus{top:1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{flex:none}/* ---------- type ---------- */
h1,h2,h3{margin:0;font-weight:700;color:inherit;text-wrap:balance}
h1{font-size:clamp(2.5rem,6vw,4.75rem);line-height:1;letter-spacing:-.035em}
h2{font-size:clamp(1.875rem,3.6vw,2.875rem);line-height:1.06;letter-spacing:-.028em}
h3{font-size:1.25rem;line-height:1.25;letter-spacing:-.012em;font-weight:650}
p{margin:0}
.lede{font-size:clamp(1.125rem,1.5vw,1.3125rem);line-height:1.55;color:var(--text-2);max-width:40em;text-wrap:pretty}
.small{font-size:.875rem;line-height:1.5;color:var(--text-3)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tint-text);background:var(--tint);padding:.375rem .75rem;border-radius:999px}
.eyebrow::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--eb,var(--cyan))}
.eb--discover{--eb:var(--g-discover)}.eb--evaluate{--eb:var(--g-evaluate)}.eb--run{--eb:var(--g-run)}.eb--scale{--eb:var(--g-scale)}
.eb--inv{background:rgba(255,255,255,.08);color:var(--cyan-300)}
.prose{display:flex;flex-direction:column;gap:1rem;max-width:40em;color:var(--text-2)}
.prose strong,.prose b,.prose dt{color:var(--text)}
.prose ul,.prose ol{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem}
.prose li::marker{color:var(--primary);font-weight:700}
.prose dl{margin:0;display:flex;flex-direction:column;gap:1rem}
.prose dl>div{padding-left:1rem;border-left:3px solid var(--tint-2)}
.prose dt{font-weight:650}
.prose dd{margin:.25rem 0 0}
.prose--wide{max-width:none}
.note{background:var(--tint);color:var(--text);border-radius:var(--r-md);padding:.875rem 1rem;font-size:.9375rem;border-left:3px solid var(--primary)}
.mini-cards{list-style:none;margin:0;padding:0!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));gap:.75rem!important}
.mini-cards li{display:flex;gap:.75rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.875rem 1rem}
.mini-cards li::marker{content:none}
.mini-cards svg{color:var(--primary);margin-top:.15rem}
.mini-cards b{display:block;color:var(--text);font-weight:650;line-height:1.3}
.mini-cards span{display:block;font-size:.9375rem;line-height:1.45;color:var(--text-3);margin-top:.15rem}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.ticks li{display:flex;gap:.625rem;align-items:flex-start}
.ticks svg{color:var(--primary);margin-top:.2rem}/* ---------- buttons (LoUX: Fitts - min 44px targets; von Restorff - one distinct primary style) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.875rem;padding:0 1.375rem;border-radius:999px;border:1.5px solid transparent;font:inherit;font-size:1rem;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform 140ms var(--ease-out),background-color 160ms ease,border-color 160ms ease,color 160ms ease}
.btn:active{transform:scale(.97)}
.btn--primary{background:var(--primary);color:var(--on-primary)}
.btn--ghost{border-color:var(--line-2);color:var(--text);background:transparent}
.btn--soft{background:var(--tint);color:var(--tint-text)}
.btn--inv{background:#fff;color:var(--ink)}
.btn--ghost-inv{border-color:rgba(255,255,255,.35);color:#fff}
.btn--sm{min-height:2.75rem;padding:0 1rem;font-size:.9375rem}
.btn--lg{min-height:3.25rem;padding:0 1.75rem;font-size:1.0625rem}
.btn--block{width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.btn-row.center{justify-content:center}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:background-color .2s,border-color .2s}
.link-btn{background:none;border:0;padding:.5rem 0;min-height:2.75rem;font:inherit;font-size:.875rem;color:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.arrow-link{display:inline-flex;align-items:center;gap:.375rem;font-weight:600;text-decoration:none}
.arrow-link svg,.go svg{transition:transform .2s}/* ---------- header + mega menu (LoUX: Jakob - conventional top nav; Miller/Hick - grouped, labelled columns; Tesler - progressive disclosure) ---------- */
.site-header{position:sticky;top:0;z-index:60;background:var(--header-bg);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid var(--line)}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header{background:var(--bg)}}
.bar{display:flex;align-items:center;gap:1.25rem;min-height:4.25rem}
.brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text)!important;flex:none}
.brand .mark{color:var(--text)}
.brand .word{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;line-height:1}
.brand .word span{color:var(--text-3);font-weight:500}
.nav{flex:1;display:flex;justify-content:center}
.nav-list{display:flex;gap:.25rem;list-style:none;margin:0;padding:0}
.has-mega{position:static}
.nav-btn{display:inline-flex;align-items:center;gap:.25rem;min-height:2.75rem;padding:0 .875rem;border:0;border-radius:999px;background:transparent;font:inherit;font-size:.9875rem;font-weight:550;color:var(--text-2);cursor:pointer}
.nav-btn svg{transition:transform .2s}.nav-btn[aria-expanded="true"],.nav-btn.is-current{color:var(--text);background:var(--surface-3)}
.nav-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:100%;padding:0 var(--gutter);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.985);transform-origin:top center;transition:opacity 160ms var(--ease-out),transform 180ms var(--ease-out),visibility 0s 180ms}
.mega-inner{max-width:var(--wrap);margin:.5rem auto 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:1.25rem}
.mega:not(.mega--wide) .mega-inner{max-width:30rem;margin-left:auto;margin-right:auto}
.mega--wide .mega-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,15rem);gap:.5rem 1.25rem}.has-mega.open .mega,.no-js .has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none;transition:opacity 160ms var(--ease-out),transform 180ms var(--ease-out)}
.mega-h{font-size:.75rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:.25rem .625rem .5rem}
.mega ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.125rem}
.mega a{display:flex;gap:.75rem;align-items:flex-start;padding:.625rem;border-radius:var(--r-md);text-decoration:none;color:var(--text)}.mega a[aria-current="page"]{background:var(--surface-3)}
.mega a b{display:block;font-weight:600;font-size:.9688rem;line-height:1.3}
.mega a small{display:block;font-size:.8438rem;line-height:1.4;color:var(--text-3);margin-top:.125rem}
.mi-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.625rem;background:var(--tint);color:var(--tint-text)}
.mi--discover{--c:var(--g-discover)}
.mi--evaluate{--c:var(--g-evaluate)}
.mi--run{--c:var(--g-run)}
.mi--scale{--c:var(--g-scale)}
.mega-promo{background:var(--surface-2);border-radius:var(--r-md);padding:.5rem;display:flex;flex-direction:column;gap:.25rem}
.promo-link{flex-direction:column;gap:0!important;position:relative}
.promo-link svg{position:absolute;right:.75rem;top:.875rem;color:var(--primary)}
.promo-plats{padding:.5rem .625rem}
.bar-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.theme-toggle .i-sun{display:none}
:root[data-theme="dark"] .theme-toggle .i-sun{display:block}:root[data-theme="dark"] .theme-toggle .i-moon{display:none}
.nav-toggle{display:none}
@media (max-width:64rem){
  .bar{gap:.75rem}
  .nav-toggle{display:inline-flex}
  /* absolute + explicit height: the header's backdrop-filter makes it the containing block for fixed children */
  .nav{position:absolute;top:100%;left:0;right:0;height:calc(100dvh - 4.25rem);background:var(--bg);border-top:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;display:none;padding:1rem var(--gutter) 3rem;justify-content:flex-start}
  .nav.open{display:block}
  .nav-list{flex-direction:column;gap:.25rem}
  .nav-btn{width:100%;justify-content:space-between;min-height:3.25rem;font-size:1.125rem;padding:0 .75rem;border-radius:var(--r-md)}
  .mega{position:static;padding:0;opacity:1;visibility:visible;transform:none;display:none}
  .has-mega.open .mega{display:block}
  .mega-inner,.mega:not(.mega--wide) .mega-inner{max-width:none;margin:.25rem 0 .75rem;box-shadow:none;padding:.5rem}
  .mega--wide .mega-inner{grid-template-columns:1fr}
  .bar-actions .btn--ghost{display:none}
  .no-js .nav{display:block;position:static;padding:0}.no-js .mega{display:block}
}
@media (max-width:26rem){.bar-actions>.btn--primary{padding:0 .875rem}.brand .word{font-size:1.3rem}}
@media (prefers-reduced-transparency:reduce){.site-header{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}/* ---------- breadcrumbs ---------- */
.crumbs ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.875rem;color:var(--text-3)}
.crumbs li+li::before{content:"/";margin-right:.5rem;opacity:.6}
.crumbs a{color:var(--text-2);text-decoration:none}/* ---------- hero (LoUX: aesthetic-usability - a polished first viewport carries credibility) ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(2.5rem,6vw,4.5rem) clamp(3rem,6vw,4.5rem);isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(60rem 30rem at 85% -10%,var(--hero-glow-1),transparent 60%),
  radial-gradient(40rem 26rem at -5% 20%,var(--hero-glow-2),transparent 60%);
  -webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.hero .wrap{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3rem)}
.hero-copy{display:flex;flex-direction:column;gap:1.25rem;max-width:52rem}
.hero-copy.center{align-items:center;text-align:center;margin:0 auto}
.hero-copy.center .lede{margin:0 auto}
.updated{font-size:.8125rem;color:var(--text-3)}
.hero-media{display:flex;flex-direction:column;gap:1.25rem}
.h1-eyebrow{display:block;font-size:clamp(.9375rem,1.4vw,1.125rem);letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--tint-text);margin-bottom:1rem}
.hero--home h1{font-size:clamp(2.875rem,8vw,6.25rem);line-height:.96;letter-spacing:-.045em}
.hl{color:var(--accent-text)}


.trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1rem;margin-top:.5rem;color:var(--text-3);font-size:.9375rem}
.hero-media--home{position:relative;max-width:68rem;margin:0 auto;width:100%}
.float{position:absolute;display:flex;flex-direction:column;gap:.125rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:.75rem 1rem;font-size:.8125rem;color:var(--text-3);animation:floaty 6s ease-in-out infinite}
.float b{font-size:1.5rem;letter-spacing:-.02em;color:var(--text);line-height:1.1}
.f-k{font-weight:600;color:var(--text-2)}
.f1{right:calc(100% + 1rem);top:30%}.f2{left:calc(100% + 1rem);top:12%;animation-delay:-2s}
.f3{flex-direction:row;align-items:center;gap:.5rem;right:2rem;top:calc(100% + .875rem);color:var(--text);font-weight:600;animation-delay:-4s}.f3 svg{color:var(--accent-text)}
@keyframes floaty{50%{transform:translateY(-6px)}}
@media (max-width:92rem){.f1,.f2{display:none}}@media (max-width:48rem){.f3{right:50%;transform:translateX(50%);animation:none;white-space:nowrap}}.hero-media--home{margin-bottom:2.5rem}
.hero--home .hero-copy{max-width:70rem}
.hero-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:end}
.hero-plats{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}
@media (max-width:60rem){.hero-top{grid-template-columns:1fr}}
.facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media (max-width:30rem){.facts{grid-template-columns:1fr}}
.facts div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.875rem 1rem;box-shadow:var(--shadow-1)}
.facts dt{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}
.facts dt svg{color:var(--primary)}
.facts dd{margin:.25rem 0 0;font-weight:550;color:var(--text);line-height:1.4;font-size:.9688rem}
.hero-ill{max-width:44rem}/* ---------- product screenshots ---------- */
.shot{margin:0}
.shot-frame{position:relative;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-2);overflow:hidden}
.shot-bar{display:flex;align-items:center;gap:.375rem;padding:.625rem .875rem;border-bottom:1px solid var(--line);background:var(--surface-2)}
.shot-bar i{width:.625rem;height:.625rem;border-radius:50%;background:var(--line-2)}
.shot-bar span{margin-left:.5rem;font-size:.75rem;font-weight:550;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shot-zoom{display:block;width:100%;padding:0;margin:0;border:0;background:#fff;cursor:zoom-in;position:relative}
.shot-zoom img{width:100%}
.zoom-ico{position:absolute;right:.75rem;bottom:.75rem;width:2.25rem;height:2.25rem;padding:.5rem;border-radius:999px;background:rgba(11,36,39,.72);color:#fff;opacity:0;transition:opacity .2s}.shot-zoom:focus-visible .zoom-ico{opacity:1}
dialog.zoom{max-width:min(96vw,110rem);width:auto;padding:0;border:0;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2)}
dialog.zoom img{max-height:88vh;width:auto;max-width:100%}
dialog::backdrop{background:rgba(4,14,16,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.zoom-x{position:absolute;right:.75rem;top:.75rem;z-index:2}/* ---------- sections ---------- */
.section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.section.alt{background:var(--bg-alt)}
.section.ink,.demo-sec--ink{background:radial-gradient(50rem 30rem at 90% 0%,rgba(31,181,179,.18),transparent 60%),var(--ink);color:var(--on-ink)}
.ink .lede,.ink .prose,.demo-sec--ink .lede{color:var(--on-ink-2)}
.ink .prose strong{color:#fff}
.ink a,.demo-sec--ink a{color:var(--cyan-300)}
.section-head{display:flex;flex-direction:column;gap:1rem;margin-bottom:clamp(2rem,4vw,3rem);max-width:46rem}
.section-head.center{align-items:center;text-align:center;margin-inline:auto}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.split-copy{display:flex;flex-direction:column;gap:1.25rem}
@media (max-width:56rem){.split{grid-template-columns:1fr}}
.note-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-1)}/* ---------- feature detail rows (zig-zag text + screenshot) ---------- */
.body-sec{padding-top:clamp(2.5rem,5vw,4rem)}
.rows{display:flex;flex-direction:column;gap:clamp(4rem,8vw,6.5rem)}
.row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.row--flip .row-copy{order:2}
.row-copy{display:flex;flex-direction:column;gap:1.25rem}
.row-copy h2{font-size:clamp(1.625rem,2.8vw,2.25rem)}
.row-media{display:flex;flex-direction:column;gap:1.25rem;min-width:0}
.row--stack .row-media .shot:nth-child(2){margin-left:12%;margin-top:-18%;position:relative}
.row--text,.row--full{grid-template-columns:1fr}
.row--text .row-copy{max-width:46rem}
@media (min-width:48rem){.row--text .prose>ul:has(> li:nth-child(6)){display:block;columns:2;column-gap:2.5rem;max-width:44rem}.row--text .prose>ul:has(> li:nth-child(6))>li{break-inside:avoid;margin-bottom:.5rem}}
.hero-top h1{font-size:clamp(2.5rem,5vw,4.25rem)}
.row--wide .row-copy,.row--full .row-copy{max-width:none}
.row--wide .prose,.row--full .prose{max-width:none}
@media (max-width:56rem){.row{grid-template-columns:1fr}.row--flip .row-copy{order:0}.row--stack .row-media .shot:nth-child(2){margin:0}}/* ---------- cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1rem}
.card{position:relative;display:flex;flex-direction:column;gap:.625rem;padding:1.5rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);color:var(--text);text-decoration:none;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s}
.card:active{transform:scale(.985)}
.card h3{font-size:1.1875rem}
.card p{color:var(--text-3);font-size:.9688rem;line-height:1.5}
.go{margin-top:auto;display:inline-flex;align-items:center;gap:.375rem;font-size:.9375rem;font-weight:600;color:var(--link)}
.card-ico{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:.875rem;background:var(--tint);color:var(--tint-text)}
.card--discover .card-ico{--c:var(--g-discover)}
.card--evaluate .card-ico{--c:var(--g-evaluate)}
.card--run .card-ico{--c:var(--g-run)}
.card--scale .card-ico{--c:var(--g-scale)}
.aud-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.aud{display:flex;flex-direction:column;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);overflow:hidden;text-decoration:none;color:var(--text);transition:transform .2s,box-shadow .2s}
.aud-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--surface-3);border-bottom:1px solid var(--line)}
.aud-img img{width:100%;height:100%;object-fit:cover;object-position:left top}
.aud-body{display:flex;flex-direction:column;gap:.625rem;padding:1.5rem;flex:1}
.aud-body p{color:var(--text-3)}
@media (max-width:56rem){.aud-grid{grid-template-columns:1fr}}/* ---------- platform logos ---------- */
.plat-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;list-style:none;margin:0;padding:0;align-items:center}
.plat-row li{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9375rem;color:var(--text-2)}
.ink .plat-row li{color:var(--on-ink)}
.plat{flex:none;border-radius:6px}
.mega .plat-row,.site-footer .plat-row{flex-direction:row;gap:.5rem}
.mg-card .doc-top span{display:none}/* ---------- connected platform map (LoUX: Gestalt common region + uniform connectedness) ---------- */
.pmap{display:flex;flex-direction:column;gap:1.25rem}
.pm-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;position:relative;counter-reset:s}
.pm-stage{--c:var(--g-discover);position:relative;display:flex;flex-direction:column;gap:1rem;padding:1.25rem;border-radius:var(--r-xl);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 14%,var(--surface)),var(--surface) 40%);border:1px solid color-mix(in srgb,var(--c) 30%,var(--line))}
.pm--evaluate{--c:var(--g-evaluate)}.pm--run{--c:var(--g-run)}.pm--scale{--c:var(--g-scale)}
.pm-stage:not(:last-child)::after{content:"";position:absolute;top:2.4rem;right:-1rem;width:1rem;height:2px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 30%,transparent));z-index:1}
.pm-stage:not(:last-child)::before{content:"";position:absolute;top:calc(2.4rem - 4px);right:-1.1rem;width:10px;height:10px;border-top:2px solid var(--c);border-right:2px solid var(--c);transform:rotate(45deg);z-index:1}
.pm-head{display:flex;gap:.75rem;align-items:center}
.pm-n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;background:var(--c);color:#fff;font-weight:700;font-size:.9375rem;box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 18%,transparent)}
:root[data-theme="dark"] .pm-n{color:#04201F}
.pm-head h3{font-size:1.1875rem}
.pm-head p{font-size:.875rem;color:var(--text-3);line-height:1.35}
.pm-nodes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.node{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--text);transition:transform .15s,border-color .15s,box-shadow .15s}
.node-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.625rem;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c)}
.node b{display:block;font-weight:650;line-height:1.3}
.node small{display:block;font-size:.8438rem;color:var(--text-3);line-height:1.4;margin-top:.125rem}
.pm-ai{position:relative;display:flex;gap:1rem;align-items:center;padding:1rem 1.25rem;border-radius:var(--r-xl);color:#fff;background:linear-gradient(100deg,var(--teal-700),var(--teal-500) 40%,#1FA7A5 70%,#2FA37D);overflow:hidden}
.pm-ai::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.07) 22px 24px);animation:flow 18s linear infinite}
@keyframes flow{to{background-position:240px 0}}
.pm-ai>*{position:relative}
.pm-ai-ico{flex:none;display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.16)}
.pm-ai b{display:block;font-size:1.0625rem}
.pm-ai ul{display:flex;flex-wrap:wrap;gap:.375rem;list-style:none;margin:.5rem 0 0;padding:0}
.pm-ai li{font-size:.8125rem;font-weight:600;padding:.25rem .625rem;border-radius:999px;background:rgba(255,255,255,.16)}
@media (max-width:64rem){.pm-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-stage:nth-child(2)::after,.pm-stage:nth-child(2)::before{display:none}}
@media (max-width:40rem){.pm-stages{grid-template-columns:1fr;gap:1.5rem}.pm-stage::after,.pm-stage::before{display:none!important}
  .pm-stage:not(:last-child) .pm-nodes::after{content:"";display:block;width:2px;height:1.5rem;margin:.5rem auto -2.25rem;background:var(--c)}}/* ---------- campaign steps (LoUX: goal-gradient progress + serial chunking) ---------- */
.csteps{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:clamp(2rem,5vw,4rem);position:relative}
.cs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;position:relative}
.cs-rail{position:absolute;left:1.25rem;top:1.25rem;bottom:1.25rem;width:2px;background:var(--line);transform:translateX(-1px)}
.cs-rail i{display:block;width:100%;height:calc(var(--p,0)*100%);background:linear-gradient(var(--cyan),var(--primary));transition:height .35s ease-out}
.cs-step{display:flex;gap:1.25rem;padding:1rem 0;min-height:22vh;align-items:flex-start;opacity:.5;transition:opacity 200ms ease}
.cs-step.on,.no-js .cs-step{opacity:1}
.cs-n{flex:none;position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;background:var(--surface);border:2px solid var(--line-2);font-weight:700;color:var(--text-2);transition:background-color .3s,border-color .3s,color .3s}
.cs-step.on .cs-n{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.cs-body{display:flex;flex-direction:column;gap:.5rem;padding-top:.25rem}
.cs-lab{font-size:.8125rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--tint-text)}
.cs-body h3{font-size:clamp(1.25rem,2vw,1.5rem)}
.cs-body p{color:var(--text-2)}
.cs-inline{display:none;margin-top:.75rem}
.cs-stage{position:sticky;top:calc(50vh - 13rem);height:26rem;align-self:start}
.cs-frame{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transform:translateY(12px) scale(.985);transition:opacity .35s ease-out,transform .35s ease-out;pointer-events:none}
.cs-frame.on{opacity:1;transform:none}
.cs-frame>*{width:100%}
@media (max-width:56rem){.csteps{grid-template-columns:1fr}.cs-stage{display:none}.cs-step{min-height:0;opacity:1}.cs-inline{display:block}}
.no-js .cs-stage{display:none}.no-js .csteps{grid-template-columns:1fr}.no-js .cs-inline{display:block}/* ---------- HTML illustrations of product moments ---------- */
.mock{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-2);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;color:var(--text)}
.mock-head{display:flex;align-items:center;gap:.5rem}
.mock-head svg{color:var(--cyan)}
.mock-head .pill{margin-left:auto}
.pill{font-size:.75rem;font-weight:650;padding:.25rem .625rem;border-radius:999px;background:var(--tint);color:var(--tint-text)}
.mock-k{font-size:.75rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;gap:.375rem}
.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.625rem}
.bars li{display:grid;grid-template-columns:5.5rem 1fr 3rem;align-items:center;gap:.75rem;font-size:.9375rem}
.bars i{height:.75rem;border-radius:999px;background:var(--surface-3);position:relative;overflow:hidden}
.bars i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--cyan))}
.bars b{text-align:right;font-variant-numeric:tabular-nums}
.mock-why{font-size:.9375rem;color:var(--text-2);background:var(--surface-2);border-radius:var(--r-md);padding:.75rem .875rem}
.tags{display:flex;flex-wrap:wrap;gap:.5rem}
.tags span{font-size:.875rem;padding:.375rem .75rem;border-radius:999px;border:1px solid var(--line)}
.mock-note{margin-top:.25rem}
.mock--ws{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.mock--ws .mock-note{grid-column:1/-1}
.ws-col{display:flex;flex-direction:column;gap:.75rem}
.ws-list,.perm{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.ws-list li{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--r-md);border:1px solid var(--line)}
.ws-list li.on{border-color:var(--primary);background:var(--tint)}
.ws-list li svg{margin-left:auto;color:var(--primary)}
.ws-list .av{flex:none;width:2.25rem;height:2.25rem;border-radius:.625rem;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem}
.ws-list b{display:block;font-size:.9375rem}.ws-list small{display:block;font-size:.8125rem;color:var(--text-3)}
.perm li{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.tog{width:2.5rem;height:1.5rem;border-radius:999px;background:var(--line-2);position:relative}
.tog i{position:absolute;top:3px;left:3px;width:1.125rem;height:1.125rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.tog.on{background:var(--primary)}.tog.on i{left:auto;right:3px}
@media (max-width:40rem){.mock--ws{grid-template-columns:1fr}}
.bubble{max-width:88%;padding:.75rem 1rem;border-radius:1.125rem;font-size:.9688rem;line-height:1.5}
.bubble.me{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:.375rem}
:root[data-theme="dark"] .bubble.me{background:var(--primary);color:var(--on-primary)}
.bubble.ai{align-self:flex-start;background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:.375rem}
.bubble.ai ul{margin:.5rem 0;padding-left:1.125rem}
.bubble p+p{margin-top:.5rem}/* ---------- interactive demos ---------- */
.demo-sec{background:var(--bg-alt)}
.demo-copy{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;max-width:44rem}
.demo-copy h2{font-size:clamp(1.625rem,2.8vw,2.25rem)}
.demo-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.5rem}
.demo-top>div:first-child{display:flex;flex-direction:column;gap:.75rem;max-width:40rem}
.demo-top h2{font-size:clamp(1.625rem,2.8vw,2.25rem)}
.demo-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4rem);align-items:center}
@media (max-width:56rem){.demo-split{grid-template-columns:1fr}}
.demo-caption{margin-top:.875rem}
.grab{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}.grab:active{cursor:grabbing}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.chip{min-height:2.75rem;padding:0 1rem;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:.9063rem;font-weight:500;cursor:pointer;transition:transform .12s,border-color .2s,background-color .2s;text-align:left}
.chip:active{transform:scale(.97)}
.chip[aria-pressed="true"]{background:var(--tint);border-color:var(--primary);color:var(--tint-text);font-weight:600}/* search demo (dedicated, full-width space as requested) */
.demo-search{max-width:64rem;margin:0 auto}
.sd-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-2);padding:clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column;gap:1rem}
.sd-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem}
.sd-top label{font-weight:650;color:var(--tint-text)}
.ptabs{display:inline-flex;flex-wrap:wrap;max-width:100%;gap:.25rem;padding:.25rem;border-radius:1.5rem;background:var(--surface-3)}
@media (max-width:30rem){.ptab{padding:0 .625rem;font-size:.875rem}}
.ptab{display:inline-flex;align-items:center;gap:.4rem;min-height:2.5rem;padding:0 .875rem;border:0;border-radius:999px;background:transparent;font:inherit;font-size:.9063rem;font-weight:600;color:var(--text-2);cursor:pointer}
.ptab[aria-pressed="true"]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}
.sd-row{display:flex;gap:.625rem;flex-wrap:wrap}
.sd-input{flex:1 1 18rem;display:flex;align-items:center;gap:.625rem;min-height:3.5rem;padding:0 1rem;border:1.5px solid var(--line-2);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-3)}
.sd-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--tint)}
.sd-input input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:1.0625rem;color:var(--text);outline:none;min-height:3.25rem}
.sd-row .btn{min-height:3.5rem;border-radius:var(--r-md);padding:0 1.75rem}
.fchips{display:flex;flex-wrap:wrap;gap:.375rem}
.fchip{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:550;padding:.375rem .625rem;border-radius:.5rem;border:1px solid var(--line);color:var(--text-2)}
.fchip--on{border-color:var(--primary);color:var(--tint-text);background:var(--tint)}
.sd-status{margin:1.5rem 0 .875rem;color:var(--text-2)}
.sd-results{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem}
.sd-results li{position:relative;display:flex;flex-direction:column;gap:.375rem;padding:1rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);transition:opacity .3s,transform .3s,box-shadow .3s,border-color .3s;min-width:0}
.sd-results li.dim{opacity:.38;transform:scale(.98)}
.sd-results li.match{border-color:var(--primary);box-shadow:0 0 0 3px var(--tint),var(--shadow-1)}
.sd-results .av{width:2.75rem;height:2.75rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;background:var(--tint);color:var(--tint-text)}
.sd-results li.match .av{background:var(--primary);color:var(--on-primary)}
.sd-results b{font-weight:650;overflow-wrap:anywhere;line-height:1.3}
.sd-results .meta{font-size:.875rem;color:var(--text-3)}
.sd-results .nums{display:flex;gap:.75rem;font-size:.8125rem;color:var(--text-3)}
.sd-results .nums b{color:var(--text);font-weight:650}
.sd-results .pl{display:flex;gap:.25rem}
.sd-results .fit{display:none;position:absolute;top:.75rem;right:.75rem;font-size:.75rem;font-weight:650;color:var(--tint-text);background:var(--tint);padding:.2rem .5rem;border-radius:999px}
.sd-results li.match .fit{display:inline-block}
@media (max-width:56rem){.sd-results{grid-template-columns:repeat(2,minmax(0,1fr))}}/* agent demo */
.demo-agent .mock{gap:.875rem}
.ag-pane{display:flex;flex-direction:column;gap:.875rem}
.ag-sum{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:.875rem 1rem}
.ag-sum dl{margin:.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.625rem}
.ag-sum dt{font-size:.75rem;color:var(--text-3);font-weight:600}
.ag-sum dd{margin:0;font-weight:600;font-size:.9375rem}
.ag-sum .mock-k svg{color:var(--cyan)}/* flick stack */
/* "Sound familiar?" (v3): the answer sits still in the middle, the problems drift around it and pop on tap */
.bub-sec{overflow:hidden}
.bub-sec .section-head{margin-inline:auto}
.bub-stage{position:relative;min-height:38rem;margin-top:.5rem}
.bubs{list-style:none;margin:0;padding:0}
.bub{position:absolute;left:var(--x);top:var(--y);width:max-content;max-width:15.5rem;transform:translate(-50%,-50%);z-index:1;animation:bub-drift var(--d,9s) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -1.7s)}
.bub:nth-child(1){--x:15%;--y:9%;--d:9s}.bub:nth-child(2){--x:40%;--y:5%;--d:11s}.bub:nth-child(3){--x:63%;--y:10%;--d:10s}.bub:nth-child(4){--x:85%;--y:14%;--d:12s}
.bub:nth-child(5){--x:12%;--y:36%;--d:10s}.bub:nth-child(6){--x:88%;--y:39%;--d:9s}.bub:nth-child(7){--x:13%;--y:63%;--d:12s}.bub:nth-child(8){--x:87%;--y:65%;--d:11s}
.bub:nth-child(9){--x:17%;--y:90%;--d:9s}.bub:nth-child(10){--x:40%;--y:95%;--d:12s}.bub:nth-child(11){--x:63%;--y:91%;--d:10s}.bub:nth-child(12){--x:85%;--y:86%;--d:11s}
@keyframes bub-drift{0%{translate:0 -6px}50%{translate:4px 2px}100%{translate:-3px 6px}}
.bub-b{--bub-bg:var(--surface);--bub-dot:var(--text-3);position:relative;display:block;max-width:15.5rem;padding:.75rem 1.125rem .8125rem;border-radius:1.375rem;border:1px solid var(--line);
  background:radial-gradient(130% 120% at 22% 0%,rgba(255,255,255,.75),rgba(255,255,255,0) 55%),var(--bub-bg);color:var(--text);font:inherit;font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;text-align:left;
  box-shadow:0 14px 32px -16px rgba(11,36,39,.45),0 2px 6px -2px rgba(11,36,39,.12),inset 0 1px 0 rgba(255,255,255,.8);cursor:pointer;
  transition:transform 180ms var(--ease-out),opacity 180ms var(--ease-out),box-shadow 200ms ease;-webkit-user-select:none;user-select:none}
.bub-b small{display:flex;align-items:center;gap:.375rem;margin-bottom:.25rem;font-size:.75rem;font-weight:600;letter-spacing:.01em;color:var(--text-3)}
.bub-b small::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--bub-dot)}
.bub-b[data-k="WhatsApp"]{--bub-bg:#DDF3E4;--bub-dot:#25A35A}
.bub-b[data-k="Sticky note"]{--bub-bg:#FFF1C9;--bub-dot:#D69A00}
.bub-b[data-k="Spreadsheet"]{--bub-bg:#E6EEFA;--bub-dot:#3D6FD1}
.bub-b[data-k="Message"]{--bub-dot:var(--accent-text)}
:root[data-theme="dark"] .bub-b{background:radial-gradient(130% 120% at 22% 0%,rgba(255,255,255,.08),rgba(255,255,255,0) 55%),var(--bub-bg);box-shadow:0 16px 36px -16px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.08)}
:root[data-theme="dark"] .bub-b[data-k="WhatsApp"]{--bub-bg:#123327}
:root[data-theme="dark"] .bub-b[data-k="Sticky note"]{--bub-bg:#352E17}
:root[data-theme="dark"] .bub-b[data-k="Spreadsheet"]{--bub-bg:#17263B}
:root[data-theme="dark"] .bub-b[data-k="Message"]{--bub-bg:#132C30}
.bub-b:active{transform:scale(.96)}
.bub-b.is-popping{transform:scale(1.16);opacity:0;pointer-events:none}
.bub.gone{display:none}
.spray{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
.spray i{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--accent-text);opacity:0;animation:bub-spray 460ms var(--ease-out) forwards}
@keyframes bub-spray{0%{opacity:.9;transform:rotate(var(--a)) translateX(10px) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateX(var(--r,72px)) scale(.3)}}
.bub-answer{position:absolute;inset:0;margin:auto;width:min(31rem,44%);height:fit-content;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}
.bub-h{font-size:clamp(2.25rem,4.4vw,3.75rem);font-weight:700;letter-spacing:-.045em;line-height:1;color:var(--accent-text);text-wrap:balance}
.bub-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem .75rem;color:var(--text-3);min-height:2.75rem}
@media (max-width:64rem){
  .bub-stage{min-height:0;display:flex;flex-direction:column;gap:2.5rem}
  .bubs{display:flex;flex-wrap:wrap;justify-content:center;gap:.625rem}
  .bub{position:relative;left:auto;top:auto;transform:none;width:auto}
  .bub-answer{position:static;width:auto;max-width:34rem;margin:0 auto}
}
@media (max-width:40rem){.bub-b{font-size:.9375rem;padding:.625rem .9375rem}.bub-b small{display:none}.bub:nth-child(n+7){display:none}}
@media (prefers-reduced-motion:reduce){.bub{animation:none}.bub-b.is-popping{transform:none}.spray{display:none}}/* before/after compare */
.compare-box{overflow-x:auto;border-radius:var(--r-lg);box-shadow:var(--shadow-2);background:#fff;border:1px solid var(--line)}
.compare{position:relative;min-width:47.5rem;touch-action:pan-y;user-select:none;-webkit-user-select:none;color:#0D2023}
.sheet{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr 1fr 1.2fr;font-size:.875rem}
.sheet>div{padding:.625rem .75rem;border:1px solid #D5D9CC}
.messy{background:#FBFBF7}
.messy .tabs{display:flex;gap:1.125rem;padding:.625rem .875rem;background:#ECEFE6;font-size:.8125rem;color:#56696D;border-bottom:1px solid #C9CEC0}
.messy .hi{background:#FFF2B8}.messy .err{color:#B3261E}
.clean{position:absolute;inset:0;background:#fff;clip-path:inset(0 50% 0 0)}
.clean .head{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.125rem;border-bottom:1px solid #E1EAEB;font-weight:700}
.clean .head .small{color:#56696D}
.clean .sheet>div{border:0;border-top:1px solid #E1EAEB;padding:.625rem 1.125rem}
.clean .sheet>.th{border-top:0;font-weight:650;color:#56696D}
.clean .rate{color:#0F7A78;font-weight:650}
.handle{position:absolute;top:0;bottom:0;left:50%;width:2.75rem;margin-left:-1.375rem;touch-action:none;z-index:3;cursor:grab}
.handle::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;margin-left:-1.5px;background:#0F7A78}
.handle i{position:absolute;top:50%;left:50%;width:2.25rem;height:2.25rem;margin:-1.125rem 0 0 -1.125rem;border-radius:50%;background:#0F7A78;border:3px solid #fff;box-shadow:0 4px 14px rgba(11,36,39,.3)}
.range{display:flex;flex-direction:column;gap:.5rem;min-width:16rem}
.range label{font-size:.9375rem;font-weight:650;color:var(--tint-text)}
.range input{width:100%;min-height:2.75rem;accent-color:var(--primary)}/* lens */
.demo-lens{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.demo-lens .demo-copy{margin:0}
@media (max-width:56rem){.demo-lens{grid-template-columns:1fr}}
.profile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:1.75rem;display:flex;flex-direction:column;gap:1.5rem;box-shadow:var(--shadow-2);color:var(--text)}
.who{display:flex;align-items:center;gap:.875rem}
.who>.plat{margin-left:auto}
.who .av{width:3.5rem;height:3.5rem;border-radius:50%;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-weight:700}
.tiles{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;padding:.5rem 0}
.tile{min-height:8rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);font:inherit;color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:1rem .5rem;text-align:center}
.tile b{font-size:clamp(1.375rem,2.4vw,1.875rem);font-weight:700;letter-spacing:-.025em}
.tile span{font-size:.875rem;color:var(--text-3)}
.tile .s{display:contents}.tile .t{display:none}.tile[aria-pressed="true"] .s{display:none}.tile[aria-pressed="true"] .t{display:contents}.tile[aria-pressed="true"] b{color:var(--primary)}
.lens{position:absolute;top:0;left:0;width:0;height:0;will-change:transform;z-index:2;touch-action:pan-y}
.lens .glass{position:absolute;inset:0;border-radius:1.125rem;border:3px solid var(--primary);background:color-mix(in srgb,var(--primary) 6%,transparent);will-change:transform}
.take{background:var(--tint);border-radius:var(--r-md);padding:1rem 1.125rem;color:var(--text)}/* carousel + phone */
.journey{display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start}
.journey .rail{flex:999 1 30rem;min-width:0;display:flex;flex-direction:column;gap:1.25rem}
.progress{height:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.progress i{display:block;height:100%;background:var(--cyan);transform-origin:left center;transform:scaleX(.1667);will-change:transform}
.vp{overflow:hidden;border-radius:var(--r-xl)}
.track{display:flex;gap:20px;list-style:none;margin:0;padding:0;will-change:transform}
.track li{flex:0 0 78%;max-width:35rem;background:#F4F8F8;color:#0D2023;border-radius:var(--r-xl);padding:2rem;min-height:17rem;display:flex;flex-direction:column;gap:.625rem;opacity:.4;transition:opacity .3s}
.track li.on{opacity:1}
.track .n{font-size:.875rem;font-weight:650;color:#0F7A78}
.track h3{font-size:2.125rem;letter-spacing:-.03em;line-height:1.05}
.track .lbl{font-size:.875rem;font-weight:600;color:#56696D;margin-top:.5rem}
.track p{font-size:1.3125rem;font-weight:600;letter-spacing:-.015em;line-height:1.35}
.pills{display:grid;grid-template-columns:auto 1fr auto;gap:.625rem;align-items:center}
.pill-set{display:flex;flex-wrap:wrap;gap:.5rem}
.pills button{min-height:2.75rem;padding:0 1rem;border-radius:999px;border:1.5px solid rgba(255,255,255,.22);background:transparent;color:var(--on-ink);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .12s}
.pills button:active{transform:scale(.97)}
.pills button[aria-pressed="true"]{background:var(--cyan);border-color:var(--cyan);color:#04201F}
.pills .arrow{width:2.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center}
.phone{flex:1 1 18.75rem;display:flex;justify-content:center}
.phone .frame{width:18.75rem;border-radius:2.75rem;background:#020809;padding:.75rem;box-shadow:0 30px 70px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.08)}
.phone .screen{border-radius:2.125rem;background:#F4F8F8;color:#0D2023;min-height:32rem;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:1rem}
.phone .small{color:#56696D}
.ph-top{display:flex;justify-content:space-between;font-size:.875rem;color:#56696D}.ph-top b{color:#0F7A78}
.ph-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}
.ph-live{display:flex;flex:1}
.ph-step{display:flex;flex-direction:column;gap:1rem;flex:1}
.ph-foot{text-align:center;font-size:.75rem}
.phone .dots{display:flex;gap:6px}.phone .dots i{flex:1;height:4px;border-radius:2px;background:#C5D4D6;transition:background-color .3s}.phone .dots i.on{background:#0F7A78}
.chipline{align-self:flex-start;background:#E1F2F1;color:#0B5C5A;font-size:.8125rem;font-weight:650;padding:.375rem .75rem;border-radius:999px}
.phone .msg{font-size:1.125rem;font-weight:600;line-height:1.4}
.phone .act{margin-top:auto;background:#0F7A78;color:#fff;text-align:center;font-weight:650;padding:.875rem;border-radius:.875rem}
.no-js .track{flex-direction:column}.no-js .track li{opacity:1;flex-basis:auto;max-width:none}/* receipt */
.receipt-demo{display:flex;flex-wrap:wrap;gap:3rem;align-items:flex-start}
.receipt-demo .demo-copy{flex:1 1 22rem;margin:0}
.printer{flex:0 1 25rem;min-width:0;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.slot{width:100%;height:1.75rem;border-radius:.875rem;background:var(--ink-3);position:relative;z-index:2;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.slot::after{content:"";position:absolute;left:1.25rem;right:1.25rem;top:50%;height:4px;margin-top:-2px;border-radius:2px;background:#000}
.rc-win{position:relative;width:calc(100% - 2.5rem);overflow:hidden;margin-top:-.875rem;border:2px dashed rgba(255,255,255,.14);border-top:0;border-radius:0 0 1rem 1rem}
.rc-win::before{content:"Your report prints here";position:absolute;left:0;right:0;bottom:1.5rem;text-align:center;font-size:.875rem;color:var(--on-ink-2)}
.no-js .rc-win{border:0}.no-js .rc-win::before{content:none}
.receipt{position:relative;z-index:1;will-change:transform;user-select:none;-webkit-user-select:none;cursor:grab}
.receipt .paper{background:#FBFCFC;color:#0D2023;padding:2rem 1.75rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;font-variant-numeric:tabular-nums}
.receipt .small{color:#56696D}.receipt .dim{color:#7A8C8F}
.receipt .row{display:flex;justify-content:space-between;gap:1rem}
.receipt hr{border:0;border-top:2px dashed #B9C9CB;margin:.25rem 0;width:100%}
.receipt .tot{font-weight:700;font-size:1.1875rem}.receipt .tot.teal{color:#0F7A78}
.receipt .zig{display:block;width:100%;height:14px}.receipt .zig path{fill:#FBFCFC}
.receipt .grip{display:flex;justify-content:center;padding-top:.75rem;touch-action:none}
.receipt .grip span{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;background:var(--ink-3);color:var(--on-ink);font-size:.875rem;font-weight:600}
.receipt .grip em{font-style:normal}/* ---------- solutions ---------- */
.ba-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.ba-list li{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.15fr);gap:1rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem 1.25rem}
.ba-k{display:block;font-size:.75rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:.25rem}
.ba-today p{color:var(--text-3);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--bad) 55%,transparent);text-decoration-thickness:1.5px}
.ba-with .ba-k{color:var(--tint-text)}
.ba-with p{font-weight:550}
.ba-arrow{display:inline-flex;width:2.25rem;height:2.25rem;border-radius:999px;align-items:center;justify-content:center;background:var(--tint);color:var(--tint-text)}
@media (max-width:48rem){.ba-list li{grid-template-columns:1fr}.ba-arrow{transform:rotate(90deg)}}
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.flow li{display:flex;flex-direction:column;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:1.25rem}
.flow-copy{display:grid;grid-template-columns:auto 1fr;gap:.25rem .875rem;align-items:center}
.flow-copy .cs-n{grid-row:span 2;align-self:start;background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.flow-copy p{color:var(--text-2);grid-column:2}
.flow .shot-frame{box-shadow:var(--shadow-1)}
@media (max-width:48rem){.flow{grid-template-columns:1fr}}/* ---------- lead magnets ---------- */
.magnet-sec{background:var(--bg-alt)}
.magnet{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,4rem);align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow-1)}
.magnet-copy{display:flex;flex-direction:column;gap:1rem}
.magnet-copy h2{font-size:clamp(1.625rem,2.8vw,2.25rem)}
@media (max-width:48rem){.magnet{grid-template-columns:1fr}.magnet .doc{max-width:15rem;margin:0 auto}}
.doc{position:relative;aspect-ratio:3/4;max-width:17rem;width:100%;margin:0 auto}
.doc-page{position:absolute;inset:0;background:#fff;color:#0D2023;border-radius:.75rem;box-shadow:0 18px 40px rgba(11,36,39,.18);padding:1.125rem;display:flex;flex-direction:column;gap:.75rem;overflow:hidden;border-top:6px solid #0F7A78;transform:rotate(-2deg)}
.doc-back{transform:rotate(4deg) translate(8px,6px);background:#E6EFEF;border-top-color:#1FB5B3}
.doc-top{display:flex;justify-content:space-between;align-items:center;font-size:.6rem;letter-spacing:.08em;color:#56696D}
.doc-top b{font-size:.9rem;letter-spacing:-.02em;color:#0D2023}.doc-top b span{color:#0F7A78}
.doc-title{font-size:1.125rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.doc-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem}
.doc-kpis i{height:2.25rem;border-radius:.375rem;background:#EEF5F5;border-top:3px solid #1FB5B3}
.doc-bars{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}
.doc-bars i{height:.5rem;border-radius:999px;background:linear-gradient(90deg,#0F7A78 var(--w),#E6EFEF var(--w))}
.doc-foot{margin-top:auto;font-size:.65rem;color:#56696D}
.mg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem}
.mg-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden}
.mg-card .doc{max-width:none;aspect-ratio:auto;height:12rem;background:var(--surface-3);margin:0;overflow:hidden;isolation:isolate}
.mg-card .doc-page{inset:1.25rem 2.5rem -2rem 2.5rem;transform:none}
.mg-card .doc-back{transform:rotate(5deg) translate(10px,4px)}
.mg-body{display:flex;flex-direction:column;gap:.625rem;padding:1.25rem;flex:1}
.mg-body h3{font-size:1.0625rem}
.mg-body p{font-size:.9063rem;color:var(--text-3);line-height:1.5;flex:1}
.mg-body .btn{align-self:flex-start;margin-top:.5rem}
@media (max-width:64rem){.mg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:36rem){.mg-grid{grid-template-columns:1fr}}
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.tool-card{display:flex;flex-direction:column;gap:.625rem;padding:1.75rem;border-radius:var(--r-xl);text-decoration:none;color:var(--text);background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 14%,var(--surface)),var(--surface) 60%);border:1px solid color-mix(in srgb,var(--cyan) 30%,var(--line));transition:transform .2s,box-shadow .2s}
.tool-card p{color:var(--text-2)}
.tool-ico{display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;border-radius:1rem;background:var(--primary);color:var(--on-primary)}
@media (max-width:48rem){.tool-grid{grid-template-columns:1fr}}/* ---------- forms + dialog (LoUX: Postel - ask only what's needed, tolerate input; Fitts - submit right under the last field) ---------- */
dialog.lead{width:min(32rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:clamp(1.25rem,4vw,2rem);border:0;border-radius:var(--r-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-2)}
dialog[open]{animation:pop .2s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}}
.lead-x{position:absolute;right:1rem;top:1rem;margin:0}
.lead-step{display:flex;flex-direction:column;gap:.875rem}
.lead-step h2{font-size:1.75rem;padding-right:3rem}
.lead-form{display:flex;flex-direction:column;gap:1rem;margin-top:.25rem}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
.field{display:flex;flex-direction:column;gap:.375rem;min-width:0}
.fields .field:nth-child(1),.fields .field:nth-child(2),.field--wide{grid-column:1/-1}
.form-card .fields .field:nth-child(2){grid-column:auto}
.form-card .fields .field:nth-child(1){grid-column:auto}
.field label,.flabel{font-size:.9375rem;font-weight:600;color:var(--text)}
.opt{font-weight:400;color:var(--text-3)}
.field input,.field select,.field textarea{width:100%;min-height:3rem;padding:.625rem .875rem;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface-2);font:inherit;font-size:1rem;color:var(--text)}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--tint)}
.field [aria-invalid="true"]{border-color:var(--bad)}
.field-err{color:var(--bad);font-size:.8125rem;font-weight:600}
.contact-card .field-err,.contact-card .form-error{color:var(--bad)}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.no-js .lead-form{display:none}
.hint{font-size:.8125rem;color:var(--text-3)}
.check{grid-column:1/-1;display:flex;gap:.625rem;align-items:flex-start;font-size:.9375rem;color:var(--text-2);cursor:pointer;min-height:2.75rem;padding-top:.25rem}
.check input{width:1.25rem;height:1.25rem;margin:.125rem 0 0;accent-color:var(--primary);flex:none}
.form-error{color:var(--bad);font-weight:600;font-size:.9375rem}
.form-note{margin-top:-.25rem}
.done-ico{display:inline-flex;width:3.5rem;height:3.5rem;border-radius:999px;align-items:center;justify-content:center;background:var(--tint);color:var(--primary)}
.preview-note{background:var(--surface-3);border-radius:var(--r-sm);padding:.625rem .75rem}
@media (max-width:30rem){.fields{grid-template-columns:1fr}.form-card .fields .field{grid-column:1/-1}}
.demo-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.demo-cover{display:flex;flex-direction:column;gap:1.25rem}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.25rem,4vw,2rem);box-shadow:var(--shadow-2)}
.form-card h3{font-size:1.5rem}
@media (max-width:56rem){.demo-grid{grid-template-columns:1fr}}/* ---------- calculators (LoUX: Doherty - live results <400ms; Tesler - benchmarks carry the maths; peak-end - a satisfying result) ---------- */
.tool-sec{padding-top:0}
.tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:1.25rem;align-items:start}
.tool-form,.tool-out{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.25rem,3vw,2rem);box-shadow:var(--shadow-1)}
.tool-form{display:flex;flex-direction:column;gap:1.25rem}
.tool-form fieldset{min-width:0;border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:1.125rem}
.tool-form legend{font-size:.8125rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:.25rem;padding:0}
.more summary,.how summary{cursor:pointer;font-weight:600;color:var(--link);min-height:2.75rem;display:flex;align-items:center}
.more[open] summary{margin-bottom:.75rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
.fmt-set{display:flex;flex-wrap:wrap;gap:.5rem}
.fmt-set .chip{min-height:2.5rem}
.c-range{width:100%;accent-color:var(--primary);min-height:2rem}
.tool-out{position:sticky;top:6rem;min-height:22rem;display:flex;flex-direction:column}
.out-empty{margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-3);max-width:22rem}
.out-ico{display:inline-flex;width:4rem;height:4rem;align-items:center;justify-content:center;border-radius:1.25rem;background:var(--tint);color:var(--tint-text)}
.out-res{display:flex;flex-direction:column;gap:1rem}
.out-k{font-size:.8125rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.out-big{font-size:clamp(2.75rem,6vw,4rem);font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.out-big.flash{animation:flash .5s ease-out}
@keyframes flash{from{color:var(--primary)}}
.verdict{display:inline-flex;align-self:flex-start;align-items:center;gap:.5rem;font-weight:650;padding:.375rem .875rem;border-radius:999px;background:var(--surface-3)}
.verdict .v-ico{width:.75rem;height:.75rem;border-radius:50%;background:currentColor}
.verdict[data-v="below"]{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}
.verdict[data-v="below"] .v-ico{border-radius:2px;transform:rotate(45deg)}
.verdict[data-v="avg"]{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}
.verdict[data-v="avg"] .v-ico{border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}
.verdict[data-v="ok"],.verdict[data-v="hi"]{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}
.gauge{position:relative;padding-top:.5rem}
.g-track{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;height:.625rem;border-radius:999px;overflow:hidden;gap:2px}
.g-below{background:color-mix(in srgb,var(--bad) 55%,transparent)}.g-avg{background:color-mix(in srgb,var(--warn) 60%,transparent)}.g-ok{background:color-mix(in srgb,var(--ok) 60%,transparent)}.g-hi{background:var(--ok)}
.g-pin{position:absolute;top:0;left:var(--x,0%);width:4px;height:1.625rem;margin-left:-2px;border-radius:2px;background:var(--text);transition:left .35s ease-out}
.g-lab{display:grid;grid-template-columns:repeat(4,1fr);font-size:.75rem;color:var(--text-3);margin-top:.5rem}
.g-lab span:nth-child(n+2){text-align:center}.g-lab span:last-child{text-align:right}
.out-dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.out-dl div{background:var(--surface-2);border-radius:var(--r-md);padding:.75rem .875rem}
.out-dl dt{font-size:.75rem;color:var(--text-3);font-weight:600}
.out-dl dd{margin:.125rem 0 0;font-weight:650;font-variant-numeric:tabular-nums}
.out-note{color:var(--text-2)}
.out-cta{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.75rem;font-size:.9375rem;color:var(--text-2)}
.out-cta b{color:var(--text)}
.o-steps{margin:.5rem 0;padding-left:1.25rem;color:var(--text-2);display:flex;flex-direction:column;gap:.375rem;font-size:.9375rem}
@media (max-width:56rem){.tool{grid-template-columns:1fr}.tool-out{position:static}}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.bench{width:100%;border-collapse:collapse;font-size:.9688rem;min-width:40rem}
.bench th,.bench td{text-align:left;padding:.875rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
.bench thead th{font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2)}
.bench tbody th{font-weight:650}
.bench td:nth-child(3){color:var(--ok);font-weight:600}
.bench tr:last-child>*{border-bottom:0}/* ---------- FAQ ---------- */
.faq-wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.faq-wrap .section-head{position:sticky;top:6rem}
@media (max-width:56rem){.faq-wrap{grid-template-columns:1fr}.faq-wrap .section-head{position:static;margin-bottom:0}}
.faq{display:flex;flex-direction:column;gap:.625rem}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .2s}
.faq details[open]{border-color:var(--line-2)}
.faq summary{list-style:none;cursor:pointer;padding:1.125rem 3.25rem 1.125rem 1.25rem;position:relative;font-size:1.0938rem;font-weight:650;letter-spacing:-.01em;line-height:1.35;min-height:2.75rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:1.25rem;top:50%;width:.625rem;height:.625rem;border-right:2px solid var(--primary);border-bottom:2px solid var(--primary);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .a{padding:0 1.25rem 1.25rem;color:var(--text-2);max-width:44em}/* ---------- glossary ---------- */
.jump ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 2rem;padding:0}
.jump a{display:inline-flex;min-height:2.5rem;align-items:center;padding:0 .875rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-size:.875rem;font-weight:550;color:var(--text-2)}
.terms{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1rem;margin:0}
.terms div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;scroll-margin-top:6rem}
.terms div:target{box-shadow:0 0 0 3px var(--primary)}
.terms dt{font-weight:700;font-size:1.125rem;letter-spacing:-.01em}
.terms dd{margin:.5rem 0 0;color:var(--text-2)}
.quick-links{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.quick-links a{display:inline-flex;min-height:2.75rem;align-items:center;padding:0 1rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-weight:600}/* ---------- CTA band + footer (LoUX: peak-end - every page ends on one clear, confident next step) ---------- */
.cta-band{padding-block:clamp(3rem,6vw,5rem)}
.cta-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(2rem,5vw,3.5rem);border-radius:var(--r-xl);color:#fff;background:radial-gradient(40rem 20rem at 100% 0%,rgba(127,220,218,.35),transparent 60%),radial-gradient(30rem 20rem at 0% 100%,rgba(60,199,154,.25),transparent 60%),linear-gradient(120deg,#0B2427,#0F4F4E 55%,#0F7A78)}
.cta-inner>div:first-child{display:flex;flex-direction:column;gap:.75rem;max-width:36rem}
.cta-inner .lede{color:#C6E1E2}
.site-footer{background:var(--ink);color:var(--on-ink-2);margin-top:0}
.site-footer .brand,.site-footer .brand .mark{color:#fff!important}
.site-footer .brand .word span{color:var(--on-ink-2)}
.foot-top{padding-block:4rem 2.5rem;display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:3rem}
.foot-brand{display:flex;flex-direction:column;gap:1rem}
.foot-brand .plat-row li{color:var(--on-ink)}
.foot-nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:2rem 1.5rem}
.site-footer h2{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:.75rem;font-weight:650}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.125rem;font-size:.9375rem}
.site-footer a{color:var(--on-ink-2);text-decoration:none;display:inline-block;padding:.25rem 0}
.legal{border-top:1px solid rgba(255,255,255,.1);padding-block:1rem;font-size:.875rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem}
@media (max-width:48rem){.foot-top{grid-template-columns:1fr}}/* ---------- motion preferences (LoUX: von Restorff caution - motion can harm; respect reduced motion) ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .btn:active,.chip:active,.card:active{transform:none}
}/* without JavaScript: show content statically and hide controls that need script */
.no-js .bub-status,.no-js .handle,.no-js .range,.no-js .pills,.no-js .print,.no-js .grip,.no-js .progress,.no-js [data-magnet],.no-js .theme-toggle,.no-js .shot-zoom .zoom-ico{display:none!important}
.no-js .clean{position:static;clip-path:none}
.no-js .bub{animation:none}
.no-js .ag-pane{display:flex!important}/* =====================================================================================
   Round 3: positioning, proof of work, pricing, legal, Hey! Creators, free-trial path
   ===================================================================================== *//* header: Log in (text) + Start free trial (primary). LoUX Jakob: the convention buyers expect */
.login-link{font-weight:600;font-size:.9688rem;color:var(--text-2);text-decoration:none;padding:.625rem .5rem;min-height:2.75rem;display:inline-flex;align-items:center;border-radius:.5rem}
.nav-link{text-decoration:none}
.nav-only-mobile{display:none}
@media (max-width:64rem){.login-link{display:none}.nav-only-mobile{display:block}.nav-link{width:100%;justify-content:flex-start}}
@media (max-width:26rem){.bar-actions .btn--sm{padding:0 .75rem;font-size:.875rem}}/* hero actions + trial reassurance line */
.hero-actions{display:flex;flex-direction:column;gap:.75rem}
.hero-actions.center{align-items:center}
.trial-note{display:inline-flex;align-items:center;gap:.375rem;font-size:.9063rem;color:var(--text-3);margin:0}
.trial-note svg{color:var(--accent-text)}
.trial-note--inv{color:#C6E1E2}
.cta-actions{display:flex;flex-direction:column;gap:.625rem}/* positioning: category / promise / proof, then the four proof pillars (LoUX Miller: four chunks) */
.pos{display:flex;flex-direction:column;gap:1.25rem}
.pos-strip{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.pos-strip div{padding:1rem 1.25rem}.pos-strip div+div{border-left:1px solid var(--line)}
.pos-strip dt{font-size:.75rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.pos-strip dd{margin:.25rem 0 0;font-size:1.125rem;font-weight:650;letter-spacing:-.01em}
.pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:p}
.pillar{position:relative;display:flex;flex-direction:column;gap:.625rem;padding:1.375rem;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.pillar h3{font-size:1.375rem}
.pl-line{color:var(--accent-text);font-weight:600}
.pillar ul{list-style:none;margin:.25rem 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.5rem;font-size:.9375rem;color:var(--text-2)}
.pillar ul li{display:flex;gap:.5rem;align-items:flex-start}.pillar ul svg{color:var(--accent-text);margin-top:.2rem}
.pillar .arrow-link{margin-top:auto}
.pl-n{position:absolute;left:-.875rem;top:1.4rem;width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--accent-text);color:var(--on-primary)}
.pl-n:empty{display:none}
@media (max-width:64rem){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-n{display:none}}
@media (max-width:40rem){.pillars,.pos-strip{grid-template-columns:1fr}.pos-strip div+div{border-left:0;border-top:1px solid var(--line)}}/* stakeholders: one brand story, adapted to each buyer */
.roles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.roles--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.role{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.role-t{align-self:flex-start;font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tint-text);background:var(--tint);padding:.3rem .7rem;border-radius:999px}
.role-q{font-size:1.25rem;font-weight:650;letter-spacing:-.015em;line-height:1.3;text-wrap:balance}
.role-d{color:var(--text-2)}
.role-v{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.375rem}
.role-v li{font-size:.8125rem;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--line);color:var(--text-2)}
.role .arrow-link{margin-top:auto}
.narrative{margin-top:1.5rem;text-align:center;font-size:clamp(1.375rem,2.6vw,2rem);font-weight:700;letter-spacing:-.025em;text-wrap:balance}
.narrative span{display:block;font-size:.8125rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:.5rem}
@media (max-width:64rem){.roles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:40rem){.roles,.roles--2{grid-template-columns:1fr}}/* case studies (LoUX von Restorff: the numbers are the one emphasised thing) */
/* pricing (LoUX Hick: two choices at a time; von Restorff: one highlighted plan with label + border, not colour alone) */
.pricing-sec{padding-top:0}
.price-ctrl{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}
.seg2{display:inline-flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;border-radius:999px;background:var(--surface-3);border:1px solid var(--line)}
.seg2 button{min-height:2.75rem;padding:0 1.125rem;border:0;border-radius:999px;background:transparent;font:inherit;font-size:.9375rem;font-weight:600;color:var(--text-2);cursor:pointer;transition:background-color 160ms ease,color 160ms ease}
.seg2 button[aria-pressed="true"]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}
.seg2 .save{font-size:.75rem;font-weight:700;color:var(--accent-text);margin-left:.25rem}
.price-note{text-align:center;margin:.875rem 0 1.75rem}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:.75rem;padding:1.75rem 1.5rem;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.plan--pop{border:2px solid var(--accent-text)}
.pop{position:absolute;top:-.8rem;left:1.5rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;background:var(--accent-text);color:var(--on-primary)}
.plan h3{font-size:1.375rem}
.plan-d{color:var(--text-3);font-size:.9375rem;min-height:3.2em}
.plan-price{display:flex;align-items:baseline;gap:.25rem;margin-top:.25rem}
.plan-price .amt{font-size:clamp(2.25rem,4vw,3rem);font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.plan-price .per{color:var(--text-3);font-weight:550}
.plan-eq{min-height:1.4em;margin-top:-.25rem}
.plan-list{list-style:none;margin:.5rem 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem;font-size:.9688rem;color:var(--text-2);flex:1}
.plan-list li{padding-left:1.5rem;position:relative}
.plan-list li::before{content:"";position:absolute;left:.25rem;top:.45em;width:.5rem;height:.3rem;border-left:2px solid var(--accent-text);border-bottom:2px solid var(--accent-text);transform:rotate(-45deg)}
.plan-list b{color:var(--text);font-variant-numeric:tabular-nums}
@media (max-width:56rem){.plans{grid-template-columns:1fr;max-width:28rem;margin:0 auto}}
.trial-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}
.trial-box>div{display:flex;flex-direction:column;gap:1rem}
.trial-dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem}
.trial-dl div{padding:.875rem 1rem;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line)}
.trial-dl dt{font-size:.75rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
.trial-dl dd{margin:.2rem 0 0;font-weight:650}
@media (max-width:56rem){.trial-box{grid-template-columns:1fr}.trial-dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cmp{width:100%;border-collapse:collapse;min-width:40rem;font-size:.9688rem}
.cmp th,.cmp td{padding:.75rem 1rem;border-bottom:1px solid var(--line);text-align:left}
.cmp thead th{background:var(--surface-2);font-weight:700;position:sticky;top:0}
.cmp td{text-align:center;width:18%}
.cmp tbody th{font-weight:500;color:var(--text-2)}
.cmp .grp th{background:var(--surface-3);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.yes{display:inline-flex;color:var(--accent-text)}
.ent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.ent{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.ent p{color:var(--text-2);flex:1}.ent .btn{align-self:flex-start}
@media (max-width:56rem){.ent-grid{grid-template-columns:1fr}}/* data tables inside prose (legal) */
.data-table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:34rem}
.data-table th,.data-table td{padding:.75rem .875rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.data-table thead th{background:var(--surface-2);font-weight:700;font-size:.8125rem;letter-spacing:.03em;text-transform:uppercase;color:var(--text-3)}
.data-table tbody th{font-weight:650;color:var(--text)}
.data-table td{color:var(--text-2)}
.data-table tr:last-child>*{border-bottom:0}/* legal pages: sticky contents + readable measure */
.legal-sec{padding-top:clamp(1.5rem,3vw,2.5rem)}
.legal-grid{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.legal-grid .toc{position:sticky;top:6rem;font-size:.9063rem}
.legal-grid .toc h2{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--text-3);margin:0 0 .5rem}
.legal-grid .toc h2+ol,.legal-grid .toc ol+h2{margin-top:0}
.legal-grid .toc ol,.toc-legal{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:.125rem;border-left:2px solid var(--line)}
.legal-grid .toc a{display:block;padding:.3rem 0 .3rem .875rem;margin-left:-2px;border-left:2px solid transparent;color:var(--text-2);text-decoration:none;line-height:1.35}
.legal-grid .toc a[aria-current="page"],.legal-grid .toc a.on{color:var(--accent-text);border-left-color:var(--accent-text);font-weight:600}
.legal-body{display:flex;flex-direction:column;gap:2.5rem;max-width:48rem}
.legal-body section{display:flex;flex-direction:column;gap:1rem;scroll-margin-top:6rem}
.legal-body h2{font-size:clamp(1.375rem,2.2vw,1.75rem)}
.legal-q{margin-top:1rem}
@media (max-width:56rem){.legal-grid{grid-template-columns:minmax(0,1fr)}.legal-grid .toc{position:static}}/* empty states (blog, login) */
.empty{max-width:40rem;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:clamp(1.5rem,4vw,3rem);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.empty p{color:var(--text-2)}
.empty .quick-links{justify-content:center}/* Hey! Creators */
.hc-card{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:1.5rem;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.hc-card img{width:9rem;height:9rem;border-radius:1.75rem}
.stores{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.store{display:inline-flex;align-items:center;gap:.5rem;min-height:2.875rem;padding:.375rem .875rem;border-radius:.75rem;background:#0B0F10;color:#fff;text-decoration:none;border:1px solid #2A3335}
.store span{display:flex;flex-direction:column;font-weight:650;line-height:1.1;font-size:.9375rem}.store small{font-size:.6875rem;font-weight:500;opacity:.8}
.hc-band{padding-block:clamp(2rem,5vw,4rem)}
.hc-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.5rem 2rem;align-items:center;padding:clamp(1.5rem,4vw,2.5rem);border-radius:var(--r-xl);color:#fff;background:linear-gradient(120deg,#E8364F,#F7631C)}
.hc-inner img{width:6rem;height:6rem;border-radius:1.25rem}
.hc-inner .lede{color:#FFE6DE}
.hc-actions{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}
@media (max-width:56rem){.hc-inner{grid-template-columns:1fr}}/* footer additions */
.social{display:flex;gap:.5rem;list-style:none;margin:0;padding:0}
.social a{display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:var(--on-ink)}
.foot-mail{font-size:.9375rem;color:var(--on-ink)}/* LoUX / mobile: hover effects only where a precise pointer can hover (no sticky hover after a tap) */
@media (hover:hover) and (pointer:fine){
  .login-link:hover{color:var(--text);background:var(--surface-3)}
  .social a:hover{border-color:#fff;color:#fff}
  .store:hover{border-color:#5B6668}
  .seg2 button:hover{color:var(--text)}
}

/* gated-hover */
@media (hover:hover) and (pointer:fine){
a:hover{color:var(--primary-hover)}
.btn--primary:hover{background:var(--primary-hover);color:var(--on-primary)}
.btn--ghost:hover{border-color:var(--primary);color:var(--text);background:var(--surface)}
.btn--soft:hover{background:var(--tint-2);color:var(--tint-text)}
.btn--inv:hover{background:var(--cyan-300);color:var(--ink)}
.btn--ghost-inv:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.icon-btn:hover{border-color:var(--primary)}
.arrow-link:hover svg{transform:translateX(3px)}
.nav-btn:hover{color:var(--text);background:var(--surface-3)}
.no-js .has-mega:hover .mega{opacity:1;visibility:visible;transform:none;transition:opacity 160ms var(--ease-out),transform 180ms var(--ease-out)}
.mega a:hover{background:var(--surface-3)}
.crumbs a:hover{color:var(--link);text-decoration:underline}
.shot-zoom:hover .zoom-ico{opacity:1}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:transparent;color:var(--text)}
.card:hover .go svg,.aud:hover .go svg,.tool-card:hover .go svg{transform:translateX(3px)}
.aud:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);color:var(--text)}
.node:hover{border-color:var(--c);transform:translateY(-2px);box-shadow:var(--shadow-1);color:var(--text)}
.chip:hover{border-color:var(--primary)}
.tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);color:var(--text)}
.jump a:hover{border-color:var(--primary);color:var(--text)}
.site-footer a:hover{color:#fff}
}

.contact-card{display:flex;flex-direction:column;gap:1rem}.contact-card p{color:var(--text-2)}

/* v3 icon tiles: Apple-style app-icon squircles. A gradient of the group colour, a white two-tone glyph,
   a lit top edge and a soft coloured shadow, in place of the flat tinted squares. */
.card-ico,.mi-ico,.node-ico,.tool-ico{--c:var(--primary);flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:28%;color:#fff;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 84%,#fff),color-mix(in srgb,var(--c) 82%,#000));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 0 0 .5px rgba(0,0,0,.1),0 1px 2px rgba(11,36,39,.18),0 6px 14px -6px color-mix(in srgb,var(--c) 70%,transparent)}
.card--discover .card-ico,.mi--discover,.pm--discover .node-ico{--c:var(--g-discover)}
.card--evaluate .card-ico,.mi--evaluate,.pm--evaluate .node-ico{--c:var(--g-evaluate)}
.card--run .card-ico,.mi--run,.pm--run .node-ico{--c:var(--g-run)}
.card--scale .card-ico,.mi--scale,.pm--scale .node-ico{--c:var(--g-scale)}
.mi-ico,.node-ico{width:2.25rem;height:2.25rem}.card-ico{width:2.75rem;height:2.75rem}.tool-ico{width:3rem;height:3rem}
.node-ico .glyph,.mi-ico .glyph{width:1.25rem;height:1.25rem}.card-ico .glyph{width:1.5rem;height:1.5rem}.tool-ico .glyph{width:1.625rem;height:1.625rem}

/* v3 contrast sections: a .flip section takes the opposite theme, so the page alternates.
   Light theme: a deep teal-ink band. Dark theme: a bright mint band. Components read tokens, so they follow. */
:root[data-theme="light"] .flip{
  --bg:#0B2427; --bg-alt:#0B2427; --surface:#102E32; --surface-2:#133439; --surface-3:#183C41;
  --text:#EAF4F4; --text-2:#B3CACC; --text-3:#94AFB2; --line:#21464B; --line-2:#2B5358;
  --primary:#3BC9D0; --primary-hover:#6BD8DD; --on-primary:#06171A; --link:#6FD6DB; --focus:#6BD8DD; --accent-text:#4FD3D9;
  --tint:#123A3D; --tint-2:#174745; --tint-text:#8FE3E0;
  --shadow-1:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.22); --shadow-2:0 2px 8px rgba(0,0,0,.35),0 28px 70px rgba(0,0,0,.4);
  --g-discover:#3CCFCC; --g-evaluate:#2CB3AE; --g-run:#4BC797; --g-scale:#7FA8EC;
  --flip-bg:radial-gradient(60rem 36rem at 85% -10%,rgba(31,181,179,.26),transparent 60%),radial-gradient(40rem 30rem at 0% 110%,rgba(60,199,154,.14),transparent 60%),#0B2427;
  color-scheme:dark}
:root[data-theme="dark"] .flip{
  --bg:#E4F6F4; --bg-alt:#E4F6F4; --surface:#FFFFFF; --surface-2:#F6FBFB; --surface-3:#EAF5F4;
  --text:#0B2427; --text-2:#33494D; --text-3:#4D6366; --line:#C4DEDD; --line-2:#B0D2D1;
  --primary:#0D7C83; --primary-hover:#0A646A; --on-primary:#FFFFFF; --link:#0B6E74; --focus:#0D7C83; --accent-text:#0B7177;
  --tint:#CFEFEC; --tint-2:#B8E6E2; --tint-text:#0B5C5A;
  --shadow-1:0 1px 2px rgba(11,36,39,.08),0 6px 18px rgba(11,36,39,.10); --shadow-2:0 2px 6px rgba(11,36,39,.08),0 24px 60px rgba(11,36,39,.18);
  --g-discover:#159E9C; --g-evaluate:#0F7A78; --g-run:#24946E; --g-scale:#3F72C6;
  --flip-bg:radial-gradient(60rem 36rem at 85% -10%,rgba(59,201,208,.45),transparent 60%),radial-gradient(40rem 30rem at 0% 110%,rgba(75,199,151,.30),transparent 60%),#DDF4F2;
  color-scheme:light}
@media (prefers-color-scheme:light){:root:not([data-theme]) .flip{
  --bg:#0B2427; --bg-alt:#0B2427; --surface:#102E32; --surface-2:#133439; --surface-3:#183C41;
  --text:#EAF4F4; --text-2:#B3CACC; --text-3:#94AFB2; --line:#21464B; --line-2:#2B5358;
  --primary:#3BC9D0; --primary-hover:#6BD8DD; --on-primary:#06171A; --link:#6FD6DB; --focus:#6BD8DD; --accent-text:#4FD3D9;
  --tint:#123A3D; --tint-2:#174745; --tint-text:#8FE3E0;
  --shadow-1:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.22); --shadow-2:0 2px 8px rgba(0,0,0,.35),0 28px 70px rgba(0,0,0,.4);
  --g-discover:#3CCFCC; --g-evaluate:#2CB3AE; --g-run:#4BC797; --g-scale:#7FA8EC;
  --flip-bg:radial-gradient(60rem 36rem at 85% -10%,rgba(31,181,179,.26),transparent 60%),radial-gradient(40rem 30rem at 0% 110%,rgba(60,199,154,.14),transparent 60%),#0B2427;
  color-scheme:dark}}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .flip{
  --bg:#E4F6F4; --bg-alt:#E4F6F4; --surface:#FFFFFF; --surface-2:#F6FBFB; --surface-3:#EAF5F4;
  --text:#0B2427; --text-2:#33494D; --text-3:#4D6366; --line:#C4DEDD; --line-2:#B0D2D1;
  --primary:#0D7C83; --primary-hover:#0A646A; --on-primary:#FFFFFF; --link:#0B6E74; --focus:#0D7C83; --accent-text:#0B7177;
  --tint:#CFEFEC; --tint-2:#B8E6E2; --tint-text:#0B5C5A;
  --shadow-1:0 1px 2px rgba(11,36,39,.08),0 6px 18px rgba(11,36,39,.10); --shadow-2:0 2px 6px rgba(11,36,39,.08),0 24px 60px rgba(11,36,39,.18);
  --g-discover:#159E9C; --g-evaluate:#0F7A78; --g-run:#24946E; --g-scale:#3F72C6;
  --flip-bg:radial-gradient(60rem 36rem at 85% -10%,rgba(59,201,208,.45),transparent 60%),radial-gradient(40rem 30rem at 0% 110%,rgba(75,199,151,.30),transparent 60%),#DDF4F2;
  color-scheme:light}}
.section.flip{background:var(--flip-bg);color:var(--text);border:0}
/* v3 roles: three per row on the brand page; on the homepage five as 3 + 2 */
.roles--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.roles--5{grid-template-columns:repeat(6,minmax(0,1fr))}
.roles--5>li{grid-column:span 2}.roles--5>li:nth-child(n+4){grid-column:span 3}
@media (max-width:64rem){.roles--3,.roles--5{grid-template-columns:repeat(2,minmax(0,1fr))}.roles--5>li,.roles--5>li:nth-child(n+4){grid-column:auto}.roles--5>li:last-child{grid-column:1/-1}}
@media (max-width:40rem){.roles--3,.roles--5{grid-template-columns:1fr}}
