/* =========================================================================
   home.css — the marketing home page ("the only data warehouse that's live
   in 48 hours"). Long-scroll, all-dark: every section is a scene, white
   exists only as the product cards. Reuses styles.css for tokens, fonts,
   buttons, footer, and product-card internals (deck__bar/app/body, mini-*).
   All home-specific classes are prefixed hm-.
   ========================================================================= */

.hm-body{background:#ffffff;overflow-x:hidden;}
.hm{display:block;}

/* ---------------- paging scroll ----------------
   Native CSS snap felt either too sticky (mandatory) or too slow to settle
   (proximity's browser-controlled glide), so home.js implements a snap
   assist instead: scrolling is fully free, and on scroll-end a ~300ms glide
   aligns the nearest scene when you land close to its boundary. */
.hm-section__inner{max-width:1200px;margin:0 auto;padding:0 clamp(24px,5vw,72px);}

/* ---------------- headings + eyebrow ---------------- */
.hm-h2{
  margin:0;color:var(--text-primary);font-weight:300;letter-spacing:-.02em;
  font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.08;
}
.hm-accent{color:#a9a7ff;}

/* =========================================================================
   SCENE FRAMEWORK — every section is a dark scene.
   Glows are gradient-only (no filter:blur — nine scenes composite on one
   long-scroll page). Rhythm = poster scenes vs luminous-card scenes.
   ========================================================================= */
.hm-scene{position:relative;overflow:hidden;background:#ffffff;padding:clamp(88px,13vh,140px) 0;}
.hm-scene::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(720px 420px at 78% -8%, rgba(102,99,253,.13), transparent 62%),
    radial-gradient(560px 380px at 8% 108%, rgba(102,99,253,.07), transparent 60%);
}
.hm-scene--tint{background:#f6f6fa;}
.hm-scene--tint::before{
  background:
    radial-gradient(820px 480px at 50% -14%, rgba(129,96,255,.22), transparent 64%),
    radial-gradient(620px 420px at 92% 114%, rgba(102,99,253,.10), transparent 60%);
}
.hm-scene--grid::after{
  content:"";position:absolute;inset:-2px;pointer-events:none;
  background-image:
    linear-gradient(rgba(17,24,39,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,24,39,.05) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(120% 90% at 50% 40%, #000 0%, transparent 78%);
  -webkit-mask-image:radial-gradient(120% 90% at 50% 40%, #000 0%, transparent 78%);
}
.hm-scene > .hm-section__inner{position:relative;z-index:1;width:100%;}
/* poster + argument scenes get real presence; explore/CTA stay padding-driven */
.hm-scene--tall{min-height:100svh;display:flex;align-items:center;}

/* ---------------- choreography primitives ----------------
   .hm-beat        — hero load cascade (var(--beat) steps of 120ms)
   .hm-deal        — hero quote cards deal in (starts ≤900ms, done ≤1.6s)
   [data-cascade]  — scene children cascade once the scene .is-live       */
.hm-beat{
  opacity:0;transform:translateY(14px);
  transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1);
  transition-delay:calc(var(--beat) * .12s + .05s);
}
.hm-hero.is-live .hm-beat{opacity:1;transform:none;}
.hm-deal{
  opacity:0;transform:translateY(30px) scale(.97);
  transition:opacity .7s ease,transform .7s cubic-bezier(.16,.84,.3,1);
  transition-delay:calc(.62s + var(--deal) * .09s);
}
.hm-hero.is-live .hm-deal{opacity:1;transform:none;}

[data-cascade] > *{
  opacity:0;transform:translateY(16px);
  transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1);
}
.is-live [data-cascade] > *{opacity:1;transform:none;}
[data-cascade] > *:nth-child(2){transition-delay:.07s;}
[data-cascade] > *:nth-child(3){transition-delay:.14s;}
[data-cascade] > *:nth-child(4){transition-delay:.21s;}
[data-cascade] > *:nth-child(5){transition-delay:.28s;}
[data-cascade] > *:nth-child(6){transition-delay:.35s;}
[data-cascade] > *:nth-child(7){transition-delay:.42s;}
/* the copy lists inside cascaded blocks stagger too */
.is-live .hm-problem__list li{opacity:1;transform:none;}
.hm-problem__list li{
  opacity:0;transform:translateX(-14px);
  transition:opacity .55s ease,transform .55s cubic-bezier(.22,.61,.36,1);
}
.hm-problem__list li:nth-child(1){transition-delay:.15s;}
.hm-problem__list li:nth-child(2){transition-delay:.25s;}
.hm-problem__list li:nth-child(3){transition-delay:.35s;}
.hm-problem__list li:nth-child(4){transition-delay:.45s;}

/* generic reveal (kept for single blocks like the solution H2) */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1);}
[data-reveal].is-in,.is-live [data-reveal]{opacity:1;transform:none;}

/* ============================ TOP NAV state ============================ */
/* (hnav styles are shared in styles.css; home only toggles .is-scrolled) */

/* ============================ HERO ============================ */
.hm-hero{
  position:relative;overflow:hidden;background:#ffffff;
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  /* top padding clears the fixed nav; content centers in the remaining space */
  padding:88px 0 44px;
}
.hm-hero__bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(1100px 620px at 78% -10%, rgba(102,99,253,.30), transparent 60%),
    radial-gradient(900px 720px at 6% 112%, rgba(102,99,253,.14), transparent 55%),
    linear-gradient(180deg,#ffffff 0%,#f4f4fa 55%,#ffffff 100%);
}
.hm-hero__gridlayer{
  position:absolute;inset:-2px;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(17,24,39,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,24,39,.05) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(110% 80% at 50% 30%, #000 0%, transparent 75%);
  -webkit-mask-image:radial-gradient(110% 80% at 50% 30%, #000 0%, transparent 75%);
}
.hm-hero__inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 clamp(24px,5vw,72px);text-align:center;}
.hm-hero__h1{
  margin:0 auto 18px;max-width:18ch;color:var(--text-primary);font-weight:300;
  font-size:clamp(2.5rem,6vw,4.6rem);line-height:1.04;letter-spacing:-.028em;
}
.hm-hero__accent{position:relative;display:inline-block;color:var(--text-primary);white-space:nowrap;}
.hm-hero__swoosh{
  position:absolute;left:-2%;right:-2%;bottom:-.14em;width:104%;height:.22em;
  color:var(--purple);opacity:.9;overflow:visible;
}
.hm-swoosh__path{
  stroke-dasharray:100;stroke-dashoffset:100;
  transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1) .35s;
}
.hm-hero.is-live .hm-swoosh__path{stroke-dashoffset:0;}
.hm-swoosh__head{
  opacity:0;
  filter:drop-shadow(0 0 5px rgba(169,167,255,.95));
}
.hm-swoosh__head.is-on{opacity:1;}
.hm-hero__sub{
  margin:0 auto 28px;max-width:52ch;color:var(--text-secondary);
  font-size:clamp(1.02rem,1.6vw,1.22rem);font-weight:300;line-height:1.55;
}
.hm-hero__cta{display:flex;gap:14px;justify-content:center;margin-bottom:clamp(44px,7vh,72px);}

/* social proof — the hero's set-piece */
.hm-proof__label{
  margin:0 0 18px;color:#7c7c88;
  font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
}
.hm-proof__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left;}
.hm-quote{
  margin:0;display:flex;flex-direction:column;gap:10px;
  background:#ffffff;border:1px solid #e5e7eb;
  border-radius:14px;padding:22px 22px 18px;
  box-shadow:0 2px 6px rgba(16,17,20,.05), 0 24px 60px -32px rgba(16,17,20,.16);
  transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
.hm-quote:hover{
  transform:translateY(-4px);border-color:rgba(102,99,253,.5);background:rgba(102,99,253,.08);
  box-shadow:0 30px 70px -32px rgba(16,17,20,.2), 0 0 40px -18px rgba(102,99,253,.28);
}
.hm-quote__text{margin:0;color:#26262c;font-size:.95rem;font-weight:300;line-height:1.55;}
.hm-quote__attr{color:#8b8b96;font-size:.8rem;}

/* ============================ PROBLEM (tinted poster scene) ============================ */
.hm-problem__grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,84px);align-items:center;
}
.hm-problem__list{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:16px;}
.hm-problem__list li{
  display:flex;align-items:flex-start;gap:13px;
  color:#26262c;font-size:clamp(1rem,1.5vw,1.12rem);font-weight:300;line-height:1.45;
}
.hm-x{
  position:relative;flex-shrink:0;width:24px;height:24px;margin-top:1px;
  border-radius:8px;background:rgba(216,109,99,.13);
}
.hm-x::before,.hm-x::after{
  content:"";position:absolute;left:7px;right:7px;top:11px;height:2px;border-radius:2px;
  background:#d98a82;
}
.hm-x::before{transform:rotate(45deg);}
.hm-x::after{transform:rotate(-45deg);}

.hm-problem__stat{display:flex;flex-direction:column;align-items:center;text-align:center;}
.hm-problem__num{
  color:var(--text-primary);font-weight:500;letter-spacing:-.04em;
  font-size:clamp(4.2rem,8.5vw,7rem);line-height:1;font-variant-numeric:tabular-nums;
}
.hm-problem__caption{color:#26262c;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:300;margin-top:6px;}
/* 100 projects, 86 struck out — the same rose X-tile motif as the list */
.hm-waffle{
  display:grid;grid-template-columns:repeat(10,1fr);gap:6px;
  width:min(300px,100%);margin-top:28px;
}
.hm-waffle i{
  position:relative;display:block;aspect-ratio:1;border-radius:5px;
  border:1px solid rgba(17,24,39,.22);background:transparent;
  transition:background .3s ease,border-color .3s ease;
}
.hm-waffle i.is-fail{
  background:rgba(216,109,99,.16);border-color:rgba(216,109,99,.35);
}
.hm-waffle i.is-fail::before,
.hm-waffle i.is-fail::after{
  content:"";position:absolute;left:26%;right:26%;top:calc(50% - 1px);height:2px;border-radius:1px;
  background:#d98a82;
}
.hm-waffle i.is-fail::before{transform:rotate(45deg);}
.hm-waffle i.is-fail::after{transform:rotate(-45deg);}
.hm-problem__footnote{color:#9ca3af;font-size:.78rem;margin-top:16px;max-width:28ch;}

/* ============================ SOLUTION (near-black poster scene) ============================ */
.hm-solution{text-align:center;}
.hm-solution__h2{margin-bottom:clamp(36px,6vh,56px);}
.hm-solution__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.hm-kpi{
  position:relative;display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;
  background:#ffffff;border:1px solid #e5e7eb;
  border-radius:14px;padding:28px 26px;overflow:hidden;
  box-shadow:0 2px 6px rgba(16,17,20,.05), 0 24px 60px -32px rgba(16,17,20,.16);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
/* receipt garnish: purple top edge + mono corner ticks */
.hm-kpi::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg, rgba(102,99,253,.75), rgba(102,99,253,0) 70%);
}
.hm-kpi::after{
  content:"";position:absolute;right:12px;top:12px;width:14px;height:14px;
  border-top:1.5px solid rgba(17,24,39,.28);border-right:1.5px solid rgba(17,24,39,.28);
}
.hm-kpi__value{
  color:var(--text-primary);font-weight:500;letter-spacing:-.02em;
  font-size:clamp(1.7rem,2.8vw,2.3rem);line-height:1.1;
  font-variant-numeric:tabular-nums;
}
.hm-kpi__label{color:var(--text-secondary);font-size:.95rem;font-weight:300;}
.hm-kpi__who{margin-top:14px;font-family:var(--mono);font-size:.72rem;color:#9ca3af;letter-spacing:.04em;}
.hm-kpi--link:hover{transform:translateY(-4px);border-color:rgba(102,99,253,.5);background:rgba(102,99,253,.08);}
.hm-kpi--link:hover .hm-kpi__who{color:#c9c8ff;}

/* ============================ ARGUMENT SCENES ============================ */
.hm-arg__grid{
  display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(36px,5.5vw,80px);align-items:center;
}
.hm-arg__grid--flip{grid-template-columns:1.05fr 1fr;}
.hm-arg__grid--flip .hm-arg__copy{order:2;}
.hm-arg__grid--flip .hm-arg__visual{order:1;}
.hm-arg__body{
  margin:18px 0 0;max-width:48ch;font-weight:300;line-height:1.6;
  font-size:clamp(1rem,1.5vw,1.14rem);color:var(--text-secondary);
}
.hm-arg__more{
  display:inline-block;margin-top:22px;color:#c9c8ff;font-size:.95rem;
  transition:color .12s ease;
}
.hm-arg__more:hover{color:var(--text-primary);}

.hm-argquote{margin:26px 0 0;padding:0 0 0 18px;border-left:2.5px solid var(--purple);}
.hm-argquote blockquote{margin:0;font-size:.98rem;font-weight:300;line-height:1.55;color:#33333b;}
.hm-argquote figcaption{margin-top:8px;font-size:.8rem;color:#9ca3af;}

/* a soft aurora sits behind every argument visual so the dark scenes
   never read as empty black around a lone card */
.hm-arg__visual{position:relative;}
.hm-arg__visual::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(680px,130%);height:120%;pointer-events:none;
  background:radial-gradient(closest-side, rgba(102,99,253,.17), transparent 72%);
}
.hm-arg__visual > *{position:relative;}

/* ---------------- home-scoped product-card chrome ----------------
   Layout + entrance are owned here; styles.css only styles internals
   (deck__bar, deck__app, deck__body, mini-chat/mini-dash). */
.hm-card{
  border-radius:13px;overflow:hidden;border:1px solid rgba(17,24,39,.12);
  background:#1c1c22;
  box-shadow:
    0 40px 100px -36px rgba(16,17,20,.28),
    0 0 90px -34px rgba(102,99,253,.35);
}
.hm-card .deck__app img{display:inline-block;margin-right:2px;}

/* --- Argument 1: the everything-included stack (a panel, not a window) --- */
.hm-arg__visual .hm-stack{max-width:560px;margin:0 auto;width:100%;}
.hm-stack{
  border-radius:16px;overflow:hidden;border:1px solid rgba(17,24,39,.14);
  background:var(--paper);
  box-shadow:
    0 40px 100px -36px rgba(16,17,20,.28),
    0 0 90px -30px rgba(102,99,253,.4);
}
.hm-stack__head{
  display:flex;align-items:center;gap:10px;
  padding:16px 22px;border-bottom:1px solid var(--divider);
  font-size:.92rem;font-weight:600;color:var(--text-primary);
}
.hm-stack__body{background:var(--canvas-bg);}
.hm-stack__rows{padding:8px 0;background:var(--paper);}
.hm-stack__row{display:flex;align-items:center;gap:14px;padding:15px 22px;}
.hm-stack__row + .hm-stack__row{border-top:1px solid rgba(0,0,0,.05);}
.hm-stack__ico{
  flex-shrink:0;width:34px;height:34px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, var(--c) 14%, #fff);color:var(--c);
}
.hm-stack__ico svg{width:18px;height:18px;}
.hm-stack__lbl{flex:1;font-size:1rem;color:var(--text-primary);font-weight:400;}
.hm-stack__lbl i{font-style:normal;color:var(--text-disabled);font-size:.84rem;}
.hm-stack__check{flex-shrink:0;width:20px;height:20px;color:var(--success);}
.hm-stack__check svg{width:100%;height:100%;}
.hm-stack__check path{
  stroke-dasharray:100;stroke-dashoffset:100;
  transition:stroke-dashoffset .5s cubic-bezier(.4,0,.2,1);
}
.is-live .hm-stack__check path{stroke-dashoffset:0;}
.hm-stack__row:nth-child(1) .hm-stack__check path{transition-delay:.35s;}
.hm-stack__row:nth-child(2) .hm-stack__check path{transition-delay:.47s;}
.hm-stack__row:nth-child(3) .hm-stack__check path{transition-delay:.59s;}
.hm-stack__row:nth-child(4) .hm-stack__check path{transition-delay:.71s;}
.hm-stack__row:nth-child(5) .hm-stack__check path{transition-delay:.83s;}
.hm-stack__foot{
  padding:14px 22px;border-top:1px solid var(--divider);background:var(--paper);
  font-family:var(--mono);font-size:.72rem;color:var(--text-secondary);letter-spacing:.03em;
}

/* --- Argument 2: the 48-hour timeline --- */
.hm-timeline{max-width:520px;margin:0 auto;width:100%;}
.hm-clock{
  display:inline-block;margin:0 0 26px 38px;
  font-family:var(--mono);font-size:.86rem;font-weight:500;letter-spacing:.1em;
  color:#c9c8ff;font-variant-numeric:tabular-nums;
  background:rgba(102,99,253,.12);border:1px solid rgba(102,99,253,.35);
  border-radius:8px;padding:8px 14px;
}
.hm-timeline__stage{position:relative;display:flex;flex-direction:column;gap:34px;padding-left:8px;}
.hm-timeline__rail{
  position:absolute;left:15px;top:12px;bottom:12px;width:2px;
  background:rgba(102,99,253,.18);overflow:hidden;border-radius:1px;
}
.hm-timeline__fill{
  position:absolute;inset:0;background:linear-gradient(180deg, rgba(169,167,255,.9), var(--purple));
  transform:scaleY(0);transform-origin:top;
}
.hm-timeline__token{
  position:absolute;left:16px;top:12px;width:12px;height:12px;margin-left:-6px;border-radius:50%;
  background:#c9c8ff;box-shadow:0 0 12px 3px rgba(140,137,255,.75);
  opacity:0;
}
.hm-timeline__token.is-on{opacity:1;}
.hm-timeline__step{position:relative;padding-left:38px;display:flex;flex-direction:column;gap:3px;}
.hm-timeline__dot{
  position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;
  background:#ffffff;border:2.5px solid rgba(102,99,253,.5);
  transition:border-color .3s ease,background .3s ease,box-shadow .3s ease;
}
.hm-timeline__step.is-on .hm-timeline__dot{border-color:var(--purple);}
.hm-timeline__step.is-done .hm-timeline__dot{
  background:var(--purple);border-color:var(--purple);
  box-shadow:0 0 0 6px rgba(102,99,253,.22);
}
.hm-timeline__hour{
  font-family:var(--mono);font-size:.72rem;color:rgba(201,200,255,.55);letter-spacing:.08em;text-transform:uppercase;
  transition:color .3s ease;
}
.hm-timeline__step.is-on .hm-timeline__hour{color:#c9c8ff;}
.hm-timeline__title{color:#3f3f46;font-size:1.12rem;font-weight:500;letter-spacing:-.01em;transition:color .3s ease;}
.hm-timeline__step.is-on .hm-timeline__title{color:var(--text-primary);}
.hm-timeline__sub{color:#8b8b96;font-size:.9rem;font-weight:300;line-height:1.5;}

/* --- Argument 3: the notebook card --- */
.hm-arg__visual .hm-nb{max-width:560px;margin:0 auto;width:100%;}
.hm-nb__body{position:relative;background:var(--paper);}
.hm-nb__code{
  margin:0;padding:18px 22px;font-family:var(--mono);font-size:.8rem;line-height:1.7;
  color:var(--text-primary);white-space:pre;overflow-x:auto;
}
.hm-nb__kw{color:var(--purple);}
.hm-nb__str{color:#2e7d32;}
.hm-nb__num{color:#ed6c02;}
.hm-nb__out{border-top:1px solid var(--divider);padding:16px 18px 12px;}
.hm-nb__chart{display:block;width:100%;height:auto;}
.hm-nb__hist{
  stroke-dasharray:100;stroke-dashoffset:100;
  transition:stroke-dashoffset .9s cubic-bezier(.4,0,.2,1) .25s;
}
.is-live .hm-nb__hist{stroke-dashoffset:0;}
.hm-nb__fc{
  clip-path:inset(0 100% 0 0);
  transition:clip-path .7s cubic-bezier(.4,0,.2,1) 1.05s;
}
.is-live .hm-nb__fc{clip-path:inset(-10% -10% -10% 0);}
.hm-nb__band{opacity:0;transition:opacity .6s ease 1.5s;}
.is-live .hm-nb__band{opacity:1;}
.hm-nb__node{opacity:0;transition:opacity .3s ease 1s;}
.is-live .hm-nb__node{opacity:1;}
.hm-nb__foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin-top:10px;
}
.hm-nb__legend{
  display:flex;gap:16px;
  font-size:.68rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;
}
.hm-nb__legend-fc{color:var(--purple);}
.hm-nb__badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(102,99,253,.1);border:1px solid rgba(102,99,253,.3);color:var(--purple);
  border-radius:999px;padding:5px 11px;font-size:.7rem;font-weight:600;white-space:nowrap;
  opacity:0;transform:scale(.8);
  transition:opacity .35s ease 1.9s,transform .35s cubic-bezier(.34,1.56,.64,1) 1.9s;
}
.is-live .hm-nb__badge{opacity:1;transform:scale(1);}

/* --- Argument 4: chat + dashboard duo --- */
.hm-duo{position:relative;max-width:580px;margin:0 auto;width:100%;min-height:460px;}
.hm-duo__dash{
  position:absolute;right:-6%;top:0;width:74%;margin:0;
  transform:rotate(3deg) translateY(26px);opacity:0;
  transition:opacity .7s ease .1s,transform .7s cubic-bezier(.16,.84,.3,1) .1s;
}
.is-live .hm-duo__dash{transform:rotate(3deg) translateY(0);opacity:.92;}
.hm-duo__chat{
  position:relative;z-index:2;width:78%;margin:34px 0 0;
  transform:translateY(30px);opacity:0;
  transition:opacity .7s ease .25s,transform .7s cubic-bezier(.16,.84,.3,1) .25s;
}
.is-live .hm-duo__chat{transform:none;opacity:1;}
/* the dashboard behind is settled: bars standing, no animation */
.hm-duo__dash .mini-bar{transform:scaleY(1);}

/* ============================ EXPLORE — DEEP-DIVE CARDS ============================ */
.hm-explore{min-height:100svh;display:flex;align-items:center;}
.hm-explore__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.hm-explore__card{
  position:relative;display:flex;flex-direction:column;gap:12px;
  background:#ffffff;border:1px solid #e5e7eb;
  border-radius:16px;padding:clamp(28px,3.5vw,42px);
  overflow:hidden;
  box-shadow:0 2px 6px rgba(16,17,20,.05), 0 24px 60px -32px rgba(16,17,20,.16);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.hm-explore__card::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(420px 260px at 85% -10%, rgba(102,99,253,.22), transparent 65%);
  transition:opacity .25s ease;
}
.hm-explore__card:hover{transform:translateY(-3px);border-color:rgba(102,99,253,.5);background:rgba(102,99,253,.06);}
.hm-explore__card:hover::after{opacity:1;}
.hm-explore__eyebrow{
  color:#c9c8ff;font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
}
.hm-explore__title{
  margin:0;color:var(--text-primary);font-weight:300;letter-spacing:-.02em;
  font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.1;
}
.hm-explore__body{
  margin:0;color:var(--text-secondary);font-size:.97rem;font-weight:300;line-height:1.6;max-width:46ch;
}
.hm-explore__link{
  margin-top:auto;padding-top:10px;color:#c9c8ff;font-size:.95rem;
  display:inline-flex;align-items:center;gap:7px;
}
.hm-explore__arrow{transition:transform .2s ease;}
.hm-explore__card:hover .hm-explore__link{color:var(--text-primary);}
.hm-explore__card:hover .hm-explore__arrow{transform:translateX(4px);}

/* destination miniatures — light up when the scene goes live */
.hm-explore__mini{position:absolute;top:26px;right:28px;}
.hm-minifan{width:58px;height:38px;display:block;}
.hm-minifan i{
  position:absolute;left:50%;top:50%;width:30px;height:22px;margin:-11px 0 0 -15px;
  border-radius:4px;border:1.5px solid rgba(201,200,255,.65);background:rgba(20,20,42,.9);
  transition:transform .6s cubic-bezier(.22,.61,.36,1) .3s;
}
.hm-minifan i:nth-child(1){transform:rotate(0deg);}
.hm-minifan i:nth-child(2){transform:rotate(0deg);}
.hm-minifan i:nth-child(3){transform:rotate(0deg);background:rgba(102,99,253,.35);}
.is-live .hm-minifan i:nth-child(1){transform:translateX(-14px) rotate(-9deg);}
.is-live .hm-minifan i:nth-child(2){transform:translateX(14px) rotate(9deg);}
.is-live .hm-minifan i:nth-child(3){transform:translateY(-3px);}
.hm-minirail{display:flex;align-items:center;gap:7px;height:38px;}
.hm-minirail i{
  width:9px;height:9px;border-radius:50%;
  border:1.5px solid rgba(201,200,255,.5);background:transparent;
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.is-live .hm-minirail i{background:var(--purple);border-color:var(--purple);box-shadow:0 0 8px rgba(102,99,253,.6);}
.is-live .hm-minirail i:nth-child(1){transition-delay:.30s;}
.is-live .hm-minirail i:nth-child(2){transition-delay:.42s;}
.is-live .hm-minirail i:nth-child(3){transition-delay:.54s;}
.is-live .hm-minirail i:nth-child(4){transition-delay:.66s;}
.is-live .hm-minirail i:nth-child(5){transition-delay:.78s;}

/* ============================ CTA + FAQ ============================ */
.hm-cta{padding-top:clamp(96px,14vh,150px);}
.hm-cta__glow{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(760px 420px at 50% 0%, rgba(102,99,253,.24), transparent 65%);
  transform-origin:50% 0;
}
@keyframes hm-breathe{
  0%,100%{opacity:.85;transform:scale(1);}
  50%{opacity:1;transform:scale(1.06);}
}
.is-live .hm-cta__glow{animation:hm-breathe 6s ease-in-out infinite;}
.hm-cta__inner{position:relative;z-index:1;text-align:center;}
.hm-cta__h2{margin-bottom:28px;}
.hm-cta__actions{display:flex;gap:14px;justify-content:center;margin-bottom:clamp(48px,8vh,80px);}

.hm-faq{max-width:720px;margin:0 auto;text-align:left;display:flex;flex-direction:column;gap:10px;}
.hm-faq__item{
  background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;
  transition:border-color .2s ease;
}
.hm-faq__item[open]{border-color:rgba(102,99,253,.4);}
.hm-faq__item summary{
  list-style:none;cursor:pointer;position:relative;
  padding:17px 52px 17px 20px;color:#26262c;font-size:.98rem;font-weight:400;
}
.hm-faq__item summary::-webkit-details-marker{display:none;}
.hm-faq__item summary::before,
.hm-faq__item summary::after{
  content:"";position:absolute;right:22px;top:50%;width:12px;height:2px;border-radius:1px;
  background:rgba(17,24,39,.5);transition:transform .2s ease;
}
.hm-faq__item summary::after{transform:rotate(90deg);}
.hm-faq__item[open] summary::after{transform:rotate(0deg);}
.hm-faq__item p{
  margin:0;padding:0 20px 18px;color:var(--text-secondary);
  font-size:.92rem;font-weight:300;line-height:1.6;
}
.hm-faq__item p em{color:#33333b;}

/* ============================ RESPONSIVE ============================ */
@media (max-width: 960px){
  .hm-proof__cards,.hm-solution__cards{grid-template-columns:1fr;max-width:520px;margin:0 auto;}
  .hm-problem__grid,.hm-arg__grid,.hm-explore__grid{grid-template-columns:1fr;gap:44px;}
  .hm-arg__grid--flip .hm-arg__copy{order:1;}
  .hm-arg__grid--flip .hm-arg__visual{order:2;}
  .hm-problem__stat{order:2;}
  .hm-scene--tall,.hm-explore,.hm-hero{min-height:0;}
  .hm-scene--tall,.hm-explore{display:block;}
  .hm-duo{min-height:0;}
  .hm-duo__dash{display:none;}
  .hm-duo__chat{width:100%;max-width:460px;margin:0 auto;}
}
@media (max-width: 760px){
  .hm-nb__code{font-size:.7rem;padding:14px 16px;}
  .hnav{padding:12px 16px;gap:12px;}
  .hnav__links{display:none;}
  .hnav__talk{display:none;}
  .hnav__cta{gap:8px;}
  .hnav__cta .btn{padding:8px 12px;font-size:.85rem;}
  .hm-hero{padding-top:104px;}
  .hm-hero__cta,.hm-cta__actions{flex-direction:column;align-items:center;}
  .hm-hero__cta .btn,.hm-cta__actions .btn{width:100%;max-width:320px;}
  .hm-clock{margin-left:0;}
  .hm-explore__mini{display:none;}
}

/* ============================ REDUCED MOTION — end states ============================ */
@media (prefers-reduced-motion: reduce){
  .hm-beat,.hm-deal,[data-cascade] > *,[data-reveal],.hm-problem__list li{
    opacity:1;transform:none;transition:none;
  }
  .hm-swoosh__path{stroke-dashoffset:0;transition:none;}
  .hm-swoosh__head{display:none;}
  .is-live .hm-cta__glow{animation:none;}
  .hm-waffle i{transition:none;}
  .hm-stack__check path{stroke-dashoffset:0;transition:none;}
  .hm-nb__hist{stroke-dashoffset:0;transition:none;}
  .hm-nb__fc{clip-path:none;transition:none;}
  .hm-nb__band,.hm-nb__node,.hm-nb__badge{opacity:1;transform:none;transition:none;}
  .hm-timeline__fill{transform:scaleY(1);}
  .hm-timeline__token{opacity:0;}
  .hm-duo__dash{transform:rotate(3deg);opacity:.92;transition:none;}
  .hm-duo__chat{transform:none;opacity:1;transition:none;}
  .hm-minifan i,.hm-minirail i{transition:none;}
  .hm-minifan i:nth-child(1){transform:translateX(-14px) rotate(-9deg);}
  .hm-minifan i:nth-child(2){transform:translateX(14px) rotate(9deg);}
  .hm-minifan i:nth-child(3){transform:translateY(-3px);}
  .hm-minirail i{background:var(--purple);border-color:var(--purple);}
}

/* Hero badge pill — links to the industry editions */
.hm-hero__pill{
  display:inline-flex;align-items:center;gap:8px;margin:0 auto 22px;
  padding:7px 16px;border-radius:999px;
  background:rgba(102,99,253,.08);border:1px solid rgba(102,99,253,.28);
  color:#4340c9;font-size:.82rem;font-weight:500;letter-spacing:.01em;
  transition:background .15s ease,border-color .15s ease;
}
.hm-hero__pill:hover{background:rgba(102,99,253,.14);border-color:rgba(102,99,253,.5);}

/* Quote carousel: one visible quote, cross-fading, with dots */
.hm-proof__carousel{position:relative;max-width:640px;margin:0 auto;min-height:150px}
.hm-proof__carousel .hm-quote{position:absolute;inset:0 0 auto 0;opacity:0;pointer-events:none;transition:opacity .5s ease;margin:0 auto}
.hm-proof__carousel .hm-quote.is-active{position:relative;opacity:1;pointer-events:auto}
.hm-proof__dots{display:flex;justify-content:center;gap:8px;margin-top:16px}
.hm-proof__dots button{width:8px;height:8px;border-radius:50%;background:rgba(17,24,39,.18);border:0;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease}
.hm-proof__dots button.is-on{background:#6663fd;transform:scale(1.25)}
