*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

/* ============================================================================
   DESIGN TOKENS — Amplemarket-flavored, Mistflow-tuned
   Swap `--accent` to re-skin the brand. Everything else cascades from here.
   ============================================================================ */
:root{
  /* Neutral foundation — warm cream family */
  --color-midnight-ink:#111111;
  --ink:#111111;                          /* Unified near-black; nav, hero-animation, and css all share this */
  --color-canvas-white:#ffffff;            /* True white — section ground + cards/popovers */
  --color-page-bg:#ffffff;
  --color-surface-charcoal:#272625;
  --color-muted-ash:#6d6c6b;
  --color-cream-light:#FFFFFF;             /* Alias of canvas-white; kept for legacy rule cascade */
  --color-light-taupe:#ecebea;
  --surface-soft:#F8FAFC;                  /* Cool-tinted alt section ground */
  --surface-soft-deep:#F2F4F8;             /* Deeper variant for hero-stage etc */

  /* ▸▸▸ BRAND ACCENT — change this one line to swap. ◂◂◂ */
  --accent: oklch(0.62 0.16 245);
  --accent-hover: oklch(0.55 0.18 245);
  --accent-soft: oklch(0.94 0.03 245);
  --accent-tint: oklch(0.97 0.02 245);
--accent-glow: oklch(0.62 0.16 245 / 0.18);
  --accent-dark: oklch(0.55 0.18 245);
  --accent-deep: oklch(0.35 0.15 245);
  --accent-navy:#18245A;
  --accent-navy-hover:#111A42;

  /* Hero-animation cube palette — all 9 exposed so variants can re-skin the
     isometric stack without touching JS. JS fallbacks mirror these values. */
  --ha-cube-1:#F58867;  /* coral   — DB, EMAIL */
  --ha-cube-2:#DA8FA8;  /* rose    — AI, ANALYTICS */
  --ha-cube-3:#7BC9AB;  /* mint    — STORAGE, UI */
  --ha-cube-4:#EFD269;  /* butter  — AUTH, URL */
  --ha-cube-5:#5587BC;  /* sky     — API */
  --ha-cube-6:#F58867;  /* coral   — alias of --ha-cube-1 */
  --ha-cube-7:#7BC9AB;  /* mint    — alias of --ha-cube-3 */
  --ha-cube-8:#EFD269;  /* butter  — alias of --ha-cube-4 */
  --ha-cube-9:#DA8FA8;  /* rose    — alias of --ha-cube-2 */

  /* Semantic mappings (kept for legacy rule cascade) */
  --bg:var(--color-page-bg);
  --surface:var(--color-cream-light);
  --surface-alt:var(--color-light-taupe);
  --text:var(--color-midnight-ink);
  --text-muted:var(--color-muted-ash);
  --text-label:var(--color-midnight-ink);
  --text-white:var(--color-canvas-white);
  --label:var(--color-midnight-ink);
  --dim:var(--color-muted-ash);            /* Aliased; was a near-duplicate #8a8a87 */
  --border:rgba(17,17,17,.10);
  --border-light:rgba(17,17,17,.06);
  --border-accent:rgba(43,79,216,.24);     /* Accent-blue tint for hover/focus borders */
  --highlight:var(--accent);
  --highlight-light:var(--accent-soft);
  --brand-dark:var(--color-midnight-ink);
  --ok:#2c8c5b;--ok-text:#0b6a44;
  --warn:#b5842a;--warn-bg:#fff8ed;--warn-border:#f6d9a3;--warn-text:#7a5417;
  --good-bg:#ecf6f0;--good-border:#c4e4cf;
  --live-coral:#E5664A;--live-coral-shadow:rgba(229,102,74,.28);
  --danger:#dc2626;--danger-soft:#fee2e2;--danger-text:#991b1b;

  /* Typography */
  --font-saansfont:'saansFont',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-head:var(--font-saansfont);
  --font-body:var(--font-saansfont);
  --font-mono:'JetBrains Mono',ui-monospace,monospace;

  /* Type scale (Amplemarket) */
  --text-caption:10px;
  --text-body:14px;
  --text-subheading:20px;
  --text-heading-sm:24px;
  --text-heading:28px;
  --text-heading-lg:44px;
  --text-display:56px;

  /* Layout */
  --max-w:1200px;
  --max-w-hero:1200px;
  --section-gap:56px;

  /* Radii — Amplemarket uses 12 for cards/inputs, 8 for buttons */
  --radius:12px;
  --radius-card:12px;
  --radius-input:12px;
  --radius-badge:12px;
  --radius-button:8px;
  --radius-sm:6px;
  --radius-lg:12px;
  --radius-xl:16px;
  --radius-pill:999px;

  /* Shadows (Amplemarket — diluted, dark-neutral-tinted) */
  --shadow-subtle:rgba(17,17,17,.05) 0 0 0 1px inset;
  --shadow-sm:rgba(17,17,17,.04) 0 1px 2px 0,rgba(17,17,17,.04) 0 4px 8px 0,rgba(17,17,17,.04) 0 0 1px 0;
  --shadow:rgba(17,17,17,.05) 0 0 1px 0,rgba(17,17,17,.04) 1px 1px 1px 0,rgba(17,17,17,.03) 2px 3px 2px 0,rgba(17,17,17,.01) 4px 4px 2px 0;
  --shadow-card:rgba(17,17,17,.04) 0 1px 2px 0,rgba(17,17,17,.04) 0 4px 8px 0;
  --shadow-lg:rgba(17,17,17,.12) 0 26px 60px -6px,rgba(17,17,17,.02) 0 28px 28px -14px,rgba(17,17,17,.04) 0 6px 6px -3px,rgba(17,17,17,.04) 0 1px 1px -.5px;

  --ease:cubic-bezier(.16,1,.3,1);
}

html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--font-body);color:var(--text);background:var(--bg);overflow-x:clip;
  position:relative;
  font-size:14px;line-height:1.5;letter-spacing:-.005em;
  font-feature-settings:"ss01","ss02"}

::selection{background:var(--accent);color:#fff}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}

/* ============================================================================
   FOCUS
   ============================================================================ */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-button)}

/* Nav styles live in /nav.js — injected at runtime. */

/* ============================================================================
   HERO — Amplemarket-flavored: crisp canvas + soft Phoenix gradient backdrop
   ============================================================================ */
.hero{padding:0}
.hero{position:relative}

/* Full-bleed: pull the hero up under the (transparent) sticky nav so the
   gradient + aurora extend to the very top of the viewport. */
.hero--full-bleed{margin-top:-72px}
.hero--full-bleed .hero-card{padding-top:168px}
.hero-card{position:relative;width:100%;margin:0;border-radius:0;overflow:hidden;
  min-height:auto;display:flex;align-items:flex-start;justify-content:center;
  padding:96px 24px 64px;
  background:var(--color-cream-light);
  isolation:isolate;
}
.hero-shapes{display:none}
.hs-grid{display:none}
.hero-rocket{display:none}

.hero-inner{width:100%;max-width:var(--max-w-hero);display:flex;flex-direction:column;align-items:stretch;gap:16px;position:relative;z-index:3}
.hero-head-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);grid-template-areas:"content anim" "actions actions";align-items:center;gap:24px 28px;text-align:left}
.hero-actions{grid-area:actions;justify-self:center;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px;text-align:center}
.hero-actions .hero-btns{margin:0 auto;justify-content:center;width:auto}
.hero-content{grid-area:content;position:relative;z-index:3;min-width:0;text-align:left;display:flex;flex-direction:column;align-items:flex-start;max-width:none;margin:0}
.hero-content .hero-claim-pill{margin-left:0;margin-right:auto}
.hero .hero-content h1{margin-left:0;margin-right:auto;text-align:left}
.hero .hero-content .hero-sub{margin-left:0;margin-right:0;text-align:left;max-width:54ch}
.hero-content .hero-chat-row{align-self:stretch;justify-content:flex-start;margin-left:0}
.hero-content .hero-prompt-wrap{align-items:flex-start;margin-left:0;max-width:100%}
.hero-anim-col{grid-area:anim;position:relative;width:100%;display:flex;align-items:center;justify-content:flex-end}
.hero-anim-col svg{width:100%;height:auto;max-width:880px;max-height:80vh;display:block;overflow:visible;transform:translateX(72px)}
.hero-actions .hero-editors{justify-content:center;margin-top:14px}
@media(max-width:1100px){
  .hero-head-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px 24px}
  .hero-anim-col svg{max-width:720px}
}
@media(max-height:880px){
  .hero--full-bleed .hero-card{padding-top:120px}
  .hero-head-row{gap:28px 24px}
  .hero-anim-col svg{max-width:680px;max-height:68vh}
}
@media(max-height:760px){
  .hero--full-bleed .hero-card{padding-top:104px}
  .hero-head-row{gap:24px 22px}
  .hero-anim-col svg{max-width:560px;max-height:58vh}
  .hero h1{font-size:clamp(28px,3.4vw,42px)}
}
@media(max-width:720px){
  .hero-head-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"content" "anim" "actions";gap:20px;text-align:center}
  .hero-content{text-align:center;align-items:center}
  .hero-content .hero-claim-pill{margin-left:auto}
  .hero .hero-content h1{text-align:center;margin-left:auto;margin-right:auto}
  .hero .hero-content .hero-sub{margin-left:auto;margin-right:auto;text-align:center}
  .hero-content .hero-chat-row{justify-content:center}
  .hero-content .hero-prompt-wrap{align-items:center}
  .hero-actions{align-items:center;text-align:center}
  .hero-actions .hero-btns{justify-content:center}
  /* Center the cube animation under the hero text — on desktop it's pushed
     right (translateX 72px) and right-justified to sit alongside the prompt;
     once the layout stacks, both of those decenter it. */
  .hero-anim-col{justify-content:center}
  .hero-anim-col svg{transform:none;max-height:48vh;max-width:480px}
}

/* Hero claim pill — sits above the h1, links to blog methodology section */
.hero-claim-pill{
  display:inline-flex;align-items:center;gap:0;
  padding:5px 5px 5px 5px;
  margin:0 auto 22px;
  border:1px solid rgba(17,17,17,.10);
  border-radius:999px;
  background:#ffffff;
  color:var(--color-midnight-ink);
  font-size:13px;
  text-decoration:none;
  box-shadow:0 1px 2px rgba(17,17,17,.04);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  max-width:100%;
}
.hero-claim-pill:hover{
  transform:translateY(-1px);
  border-color:rgba(17,17,17,.18);
  box-shadow:0 6px 18px rgba(17,17,17,.08);
}
.hero-claim-pill .hcp-tag{
  display:inline-flex;align-items:center;
  height:22px;padding:0 10px;border-radius:999px;
  background:var(--color-midnight-ink);color:#ffffff;
  font-family:var(--font-mono,'JetBrains Mono',ui-monospace,monospace);
  font-weight:600;font-size:10px;letter-spacing:.10em;
}
.hero-claim-pill .hcp-body{
  padding:0 8px 0 12px;color:var(--color-midnight-ink);
  font-size:13px;font-weight:500;letter-spacing:-.005em;
  white-space:nowrap;
}
.hero-claim-pill .hcp-arrow{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;margin-right:4px;
  color:var(--color-muted-ash);
  transition:transform .2s ease, color .2s ease;
}
.hero-claim-pill .hcp-arrow svg{width:14px;height:14px}
.hero-claim-pill:hover .hcp-arrow{transform:translateX(2px);color:var(--color-midnight-ink)}
@media(max-width:560px){
  .hero-claim-pill{font-size:12px;margin-bottom:18px}
  .hero-claim-pill .hcp-body{font-size:12px;white-space:normal;padding:0 6px 0 10px;line-height:1.3}
  .hero-claim-pill .hcp-tag{font-size:9px;height:20px;padding:0 8px}
}

/* Headline — Amplemarket sized; tight tracking, italic emphasis on .h1-accent */
.hero h1{font-family:var(--font-head);
  font-size:clamp(32px,4vw,56px);
  font-weight:600;
  line-height:1.02;
  letter-spacing:-.04em;
  color:var(--color-midnight-ink);
  margin:0 auto 14px;
  max-width:720px;
  text-wrap:balance;
}
.hero h1 span,.hero h1 .h1-accent{color:var(--color-midnight-ink);font-weight:600;display:block}
.hero h1 em,.hero h1 .h1-italic{font-style:italic;font-weight:500;color:var(--color-midnight-ink)}
.hero h1 .h1-accent::after{display:none}
.hero-sub{font-size:17px;
  color:var(--color-muted-ash);
  line-height:1.5;
  letter-spacing:-.005em;
  max-width:560px;
  margin:0 auto 4px;
  font-weight:400;
}

/* ============================================================================
   BUTTONS — Amplemarket: solid Midnight Ink primary, ghost-light secondary
   ============================================================================ */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:var(--color-midnight-ink);color:var(--color-canvas-white);
  padding:10px 18px;border-radius:var(--radius-button);
  font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:-.005em;
  border:1px solid var(--color-midnight-ink);
  transition:transform .22s var(--ease),background .22s var(--ease),box-shadow .28s var(--ease),border-color .22s var(--ease);
  box-shadow:var(--shadow-sm);
  white-space:nowrap;
}
.btn-primary:hover{background:#000;transform:translateY(-2px);
  box-shadow:0 12px 28px -8px var(--accent-glow),0 4px 10px -2px rgba(17,17,17,.18);
  border-color:#000}
.btn-primary svg{width:14px;height:14px}

.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:var(--color-canvas-white);color:var(--color-midnight-ink);
  padding:10px 18px;border-radius:var(--radius-button);
  font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:-.005em;
  border:1px solid var(--border);
  transition:transform .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease),box-shadow .28s var(--ease),color .22s var(--ease);
  box-shadow:var(--shadow-sm);
  white-space:nowrap;
}
.btn-secondary:hover{background:var(--color-canvas-white);transform:translateY(-2px);
  border-color:color-mix(in oklch,var(--accent) 55%,transparent);color:var(--accent);
  box-shadow:0 10px 24px -8px var(--accent-glow),0 2px 6px -2px rgba(17,17,17,.08)}

.hero-btns{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:3;justify-content:center}

.hero-cta-note{margin:14px 0 0;font-size:13px;color:var(--text-muted);letter-spacing:-.005em;text-align:center}

/* ----- Magnetic pill CTA — label slides under, arrow circle reveals on hover ----- */
.btn-pill{position:relative;height:52px;padding:0 8px 0 28px;border-radius:999px;
  display:inline-flex;align-items:center;gap:14px;overflow:hidden;
  font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:-.005em;
  white-space:nowrap;border:1px solid transparent;
  transition:transform .25s var(--ease),box-shadow .3s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}
.btn-pill .btn-pill-label{position:relative;display:inline-block;
  transition:transform .32s cubic-bezier(.22,.9,.28,1),opacity .28s var(--ease);
  will-change:transform}
.btn-pill .btn-pill-label-alt{position:absolute;left:28px;top:50%;
  transform:translate(40px,-50%);opacity:0;pointer-events:none;
  transition:transform .32s cubic-bezier(.22,.9,.28,1),opacity .28s var(--ease);
  will-change:transform}
.btn-pill .btn-pill-circle{flex:0 0 auto;width:38px;height:38px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.16);
  transition:transform .32s cubic-bezier(.22,.9,.28,1),background .25s var(--ease);
  will-change:transform}
.btn-pill .btn-pill-circle svg{width:14px;height:14px;
  transition:transform .32s cubic-bezier(.22,.9,.28,1)}
.btn-pill:hover .btn-pill-label{transform:translateX(-14px) scale(.92);opacity:0}
.btn-pill:hover .btn-pill-label-alt{transform:translate(0,-50%);opacity:1}
.btn-pill:hover .btn-pill-circle{transform:scale(1.06)}
.btn-pill:hover .btn-pill-circle svg{transform:translateX(2px)}

/* Primary pill: dark background, light circle */
.btn-primary.btn-pill{background:var(--accent);color:#fff;
  border-color:var(--accent);padding:0 8px 0 28px}
.btn-primary.btn-pill:hover{background:var(--accent-hover);transform:translateY(-2px);
  box-shadow:0 14px 32px -10px var(--accent-glow),0 4px 12px -2px rgba(17,17,17,.18)}
.btn-primary.btn-pill .btn-pill-circle{background:rgba(255,255,255,.14)}
.btn-primary.btn-pill:hover .btn-pill-circle{background:rgba(255,255,255,.22)}


/* Secondary pill: white background, dark circle */
.btn-secondary.btn-pill{background:var(--color-canvas-white);color:var(--color-midnight-ink);
  border-color:var(--border);padding:0 8px 0 28px}
.btn-secondary.btn-pill:hover{transform:translateY(-2px);border-color:color-mix(in oklch,var(--accent) 55%,transparent);color:var(--accent);
  box-shadow:0 12px 28px -10px var(--accent-glow),0 2px 6px -2px rgba(17,17,17,.08)}
.btn-secondary.btn-pill .btn-pill-circle{background:var(--color-cream-light);color:var(--color-midnight-ink)}
.btn-secondary.btn-pill:hover .btn-pill-circle{background:var(--accent-soft);color:var(--accent)}

/* Pricing-card pills span the full card width */
.pricing-cta.btn-pill{display:flex;width:100%;justify-content:space-between;padding:0 8px 0 24px}
.pricing-cta.btn-pill .btn-pill-label-alt{left:24px}

@media(prefers-reduced-motion:reduce){
  .btn-pill,.btn-pill *{transition:none !important}
  .btn-pill:hover .btn-pill-label{transform:none;opacity:1}
  .btn-pill:hover .btn-pill-label-alt{display:none}
}

/* Install-command tabs (kept for shared use across other landing pages) */
.npx-cmd{display:inline-flex;align-items:center;gap:12px;background:var(--color-cream-light);
  border:1px solid var(--border);border-radius:var(--radius-input);
  padding:14px 20px;font-family:var(--font-mono);font-size:14px;color:var(--text);cursor:pointer;
  transition:background .18s var(--ease),border-color .18s var(--ease);position:relative;user-select:all}
.npx-cmd:hover{background:var(--color-light-taupe)}
.npx-cmd code{pointer-events:none}
.npx-cmd .npx-copy{display:flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:12px;
  font-weight:500;color:var(--text-muted);pointer-events:none;transition:color .18s var(--ease)}
.npx-cmd:hover .npx-copy{color:var(--text)}
.npx-cmd.copied .npx-copy{color:var(--accent)}
.install-tabs{display:inline-flex;gap:2px;font-family:var(--font-body);font-size:12px;font-weight:500;margin-bottom:6px;padding:0 4px}
.install-tab{position:relative;background:transparent;border:none;padding:6px 12px;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;transition:color .18s var(--ease)}
.install-tab:hover,.install-tab.active{color:var(--text)}
.install-tab.active::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--accent);border-radius:1px}

/* (Showcase styles defined in section override below) */

/* ============================================================================
   DISCOVER
   ============================================================================ */
    .discover-section{padding:100px 24px;background:var(--color-cream-light)}
    .discover-outer{max-width:var(--max-w);margin:0 auto}
    .discover-box{background:#fff;border:1px solid var(--border);border-radius:24px;padding:18px;box-shadow:0 12px 40px rgba(0,0,0,.06),0 2px 6px rgba(0,0,0,.03);overflow:hidden;min-height:540px}
    .discover-split{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
    .discover-left{min-width:0;display:flex;flex-direction:column;padding:10px 10px 6px}
    .discover-head{margin-bottom:18px}
    .discover-headline{font-family:var(--font-head);font-size:clamp(22px,2.4vw,30px);font-weight:500;letter-spacing:-.02em;line-height:1.1;color:var(--text);margin-bottom:8px;text-wrap:balance}
    .discover-sub{font-size:14px;color:var(--text-muted);line-height:1.5;font-weight:500}
    .discover-sub-mobile{display:none}
    @media(hover:none),(max-width:600px){.discover-sub-desktop{display:none}.discover-sub-mobile{display:inline}}
    .discover-search{position:relative;margin-bottom:12px}
    .discover-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-muted);pointer-events:none}
    .discover-search input{width:100%;padding:10px 14px 10px 36px;font-size:13px;font-family:var(--font-body);font-weight:500;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);transition:background .15s,border-color .15s,box-shadow .15s}
    .discover-search input::placeholder{color:var(--text-muted);font-weight:500}
    .discover-search input:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
    .discover-filters{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}
    .discover-filter{font-size:12px;font-weight:600;padding:5px 11px;background:transparent;border:1px solid var(--border);border-radius:9999px;color:var(--text-muted);cursor:pointer;font-family:var(--font-body);transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
    .discover-filter:hover{border-color:var(--text);color:var(--text)}
    .discover-filter.is-active{background:var(--text);border-color:var(--text);color:#fff}
    .discover-pool{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex:1;align-content:flex-start;grid-auto-rows:min-content}
    .discover-item{display:flex;align-items:center;padding:7px 11px;font-size:13px;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border-light);border-radius:6px;transition:background .15s,color .15s,border-color .15s,transform .15s,opacity .2s,box-shadow .15s;cursor:pointer;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .discover-item:hover{background:var(--text);color:#fff;border-color:var(--text);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.14)}
    .discover-item.is-selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 6px 18px var(--accent-glow)}
    .discover-item.is-selected:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
    .discover-item.is-fading{opacity:0;transform:translateY(-2px)}
    .discover-empty{font-size:13px;color:var(--text-muted);font-weight:500;padding:16px 0;margin:0}
    .discover-right{min-width:0;display:flex}
    .discover-colorbox{flex:1;position:relative;border-radius:18px;overflow:hidden;padding:28px 24px;display:flex;flex-direction:column;gap:16px;
      background:#ffffff;
      border:1px solid var(--border)}
    .discover-bg{display:none}
    .discover-colorbox::after{display:none}
    .dcb-head{position:relative;z-index:2;text-align:left}
    .dcb-eyebrow{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin:0 0 4px}
    .dcb-title{font-family:var(--font-head);font-size:22px;font-weight:500;color:var(--color-midnight-ink);margin:0;letter-spacing:-.02em;line-height:1.1}
    .discover-prompt{position:relative;z-index:2;background:var(--color-canvas-white);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(17,17,17,.06)}
    .dp-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-soft);border-bottom:1px solid var(--border)}
    .dp-dots{display:inline-flex;gap:5px}
    .dp-dots span{width:10px;height:10px;border-radius:50%;display:inline-block}
    .dp-dots span:nth-child(1){background:#ff6e50}
    .dp-dots span:nth-child(2){background:#f6d9a3}
    .dp-dots span:nth-child(3){background:#bfe5cf}
    .dp-tag{font-size:11px;font-weight:500;color:var(--text-muted);font-family:var(--font-mono)}
    .dp-body{padding:16px}
    .dp-row{display:flex;gap:12px;align-items:flex-start}
    .dp-av{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;flex-shrink:0;margin-top:1px}
    .dp-av-u{background:var(--surface-alt);color:var(--text)}
    .dp-av-a{background:var(--accent-soft);color:var(--accent);font-size:12px}
    .dp-text{font-size:14.5px;color:var(--text);line-height:1.5;font-weight:500;margin:0;transition:opacity .15s}
    .dp-divider{height:1px;background:var(--border-light);margin:12px 0}
    .dp-result{flex:1;min-width:0}
    .dp-status{font-size:10px;color:var(--text-muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:6px;margin-bottom:4px}
    .dp-pulse{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(44,140,91,.5);animation:dp-pulse 2s infinite}
    @keyframes dp-pulse{0%{box-shadow:0 0 0 0 rgba(44,140,91,.5)}70%{box-shadow:0 0 0 8px rgba(44,140,91,0)}100%{box-shadow:0 0 0 0 rgba(44,140,91,0)}}
    .dp-url{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--accent);word-break:break-all}
    .discover-cta{position:relative;z-index:2;justify-content:center;width:100%;margin-top:auto}
    .discover-sticky-foot{position:relative;z-index:2;font-size:12px;color:var(--text-muted);text-align:center;font-weight:500;margin:0;letter-spacing:-.005em}
    @media(max-width:900px){
      .discover-split{grid-template-columns:1fr;gap:14px}
      .discover-box{padding:14px}
    }
    @media(max-width:600px){
      .discover-section{padding:64px 16px 40px}
      .discover-colorbox{padding:22px 18px;border-radius:14px}
      .discover-left{padding:8px 6px}
    }

/* Nav wide dropdown */
.nav-dd-menu-wide{min-width:200px}
.nav-dd-menu-wide a{display:flex;align-items:center;gap:10px}
.nav-dd-menu-wide a svg{width:16px;height:16px;flex-shrink:0;opacity:.6}

/* ============================================================================
   SECTION COMMON
   ============================================================================ */
.section{padding:72px 24px;background:var(--color-cream-light);position:relative}
.section-alt{background:var(--surface-soft)}
.section:nth-child(odd){padding:80px 24px}
.section:last-of-type{padding:88px 24px}

/* Alternation overrides so no two consecutive sections share the same surface */
#included.section-alt{background:var(--color-cream-light)}
.section.how-section{background:var(--color-cream-light)}

/* Thin hairline divider at the top of each section after the hero */
.showcase-section,
.discover-section,
.cost-climb-sec,
.cta-section{position:relative}
.showcase-section::before,
.discover-section::before,
.section::before,
.cost-climb-sec::before,
.cta-section::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:1px;background:var(--border-light);pointer-events:none;z-index:5}

.section-title{font-family:var(--font-head);font-size:clamp(26px,3vw,40px);font-weight:600;text-wrap:balance;
  color:var(--color-midnight-ink);letter-spacing:-.03em;line-height:1.04;margin-bottom:14px}
.section-desc{font-size:15px;color:var(--color-muted-ash);line-height:1.5;max-width:520px;letter-spacing:-.005em}
.section-header{text-align:center;margin-bottom:44px;max-width:var(--max-w);margin-left:auto;margin-right:auto}
.section-header .section-desc{margin:0 auto}

/* ============================================================================
   REVEAL
   ============================================================================ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}.reveal-d4{transition-delay:.32s}
.reveal-left{opacity:0;transform:translateX(-30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal-right.visible{opacity:1;transform:translateX(0)}

/* ============================================================================
   COST CLIMB
   ============================================================================ */
    .cost-climb-sec{padding:120px 40px;background:var(--color-cream-light)}
    .cost-climb-wrap{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr minmax(320px,440px);gap:56px;align-items:center}
    .cost-climb-chart{order:-1}
    .cost-climb-head .sec-subtitle{max-width:none}
    .cost-climb-head .sec-subtitle a{color:var(--text);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px}
    .cost-climb-head .sec-subtitle a:hover{text-decoration-color:var(--accent)}
    .receipts-list{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
    .receipts-list li{display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:var(--color-canvas-white);border:1px solid var(--border-light);border-left:3px solid var(--danger);border-radius:8px;box-shadow:var(--shadow-sm)}
    .receipts-list .r-quote{font-size:14px;color:var(--text);font-weight:500;line-height:1.4}
    .receipts-list .r-src{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
    .cost-climb-chart{position:relative;border-radius:16px;overflow:hidden;padding:24px;
      background:#ffffff;
      border:1px solid var(--border)}
    .cost-shader{display:none}
    .cost-plot{position:relative;z-index:1;display:block;width:100%;height:auto;font-family:var(--font-body);overflow:visible}
    .cost-plot .grid line{stroke:rgba(17,17,17,.08);stroke-width:1;stroke-dasharray:2 4}
    .cost-plot .grid .axis-line{stroke:rgba(17,17,17,.32);stroke-dasharray:none}
    .cost-plot .y-labels text,.cost-plot .x-labels text{font-size:12px;fill:var(--text-muted);font-family:var(--font-mono);letter-spacing:.02em}
    .cost-plot .y-labels text{text-anchor:end}
    .cost-plot .x-labels text{text-anchor:middle}
    .cost-plot .gap-area{fill:url(#gap-grad);opacity:0;transition:opacity .6s var(--ease) 1.4s}
    .cost-plot .line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.25,.72,.25,1)}
    .cost-plot .line-mistflow{transition-delay:.25s;stroke:var(--color-midnight-ink) !important}
    .cost-plot .dot{fill:var(--color-canvas-white);stroke-width:2.5;opacity:0;transform-origin:center;transform-box:fill-box;transition:opacity .4s var(--ease) 1.5s,transform .4s cubic-bezier(.34,1.56,.64,1) 1.5s;transform:scale(.4)}
    .cost-plot .dot-browser{stroke:var(--danger)}
    .cost-plot .dot-mistflow{stroke:var(--color-midnight-ink)}
    .cost-plot .annot{opacity:0;transition:opacity .5s var(--ease) 1.7s}
    .cost-plot .annot-start rect{fill:var(--color-canvas-white);stroke:var(--border);stroke-width:1}
    .cost-plot .annot-start text{font-size:11px;fill:var(--color-midnight-ink);font-weight:600;font-family:var(--font-mono)}
    .cost-plot .annot-end-browser .big,.cost-plot .annot-end-mistflow .big{font-family:var(--font-head);font-size:26px;font-weight:500;letter-spacing:-.02em}
    .cost-plot .annot-end-browser .big{fill:var(--danger)}
    .cost-plot .annot-end-mistflow .big{fill:var(--color-midnight-ink)}
    .cost-plot .annot .big .unit{font-size:14px;font-weight:600;fill:var(--text-muted)}
    .cost-plot .annot .small{font-size:11px;fill:var(--text-muted);font-family:var(--font-mono);letter-spacing:.02em}
    .cost-plot .legend text{font-size:12px;fill:var(--text);font-weight:500}
    .cost-climb-chart.visible .line{stroke-dashoffset:0}
    .cost-climb-chart.visible .gap-area{opacity:1}
    .cost-climb-chart.visible .dot{opacity:1;transform:scale(1)}
    .cost-climb-chart.visible .annot{opacity:1}
    @media(prefers-reduced-motion:reduce){
      .cost-plot .line,.cost-plot .gap-area,.cost-plot .dot,.cost-plot .annot{transition:none}
      .cost-climb-chart .line{stroke-dashoffset:0}
      .cost-climb-chart .gap-area,.cost-climb-chart .dot,.cost-climb-chart .annot{opacity:1;transform:none}
    }
    @media(max-width:960px){
      .cost-climb-sec{padding:80px 20px}
      .cost-climb-wrap{grid-template-columns:1fr;gap:40px}
      .cost-plot .annot-end-browser,.cost-plot .annot-end-mistflow{display:none}
      .cost-plot .legend text{font-size:11px}
    }
    @media(max-width:480px){
      .cost-climb-sec{padding:48px 16px}
      .cost-climb-chart{padding:16px}
      .cost-plot .y-labels text,.cost-plot .x-labels text{font-size:18px}
      .cost-plot .annot-start text{font-size:16px}
      .cost-plot .annot-start rect{width:160px;height:28px;y:-20}
      .cost-plot .legend{display:none}
    }

/* Section eyebrow + title (used by .cost-climb-head and inline) */
.sec-label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--text-muted);
  display:inline-flex;align-items:center;gap:8px;letter-spacing:.12em;text-transform:uppercase}
.sec-label svg{width:14px;height:14px;color:var(--text-muted)}
.sec-title{font-family:var(--font-head);font-size:clamp(26px,3vw,40px);
  font-weight:600;line-height:1.04;letter-spacing:-.03em;margin-bottom:14px;color:var(--color-midnight-ink)}
.sec-subtitle{font-size:15px;color:var(--color-muted-ash);max-width:520px;line-height:1.5;letter-spacing:-.005em}

/* ============================================================================
   REASONS
   ============================================================================ */
    .reasons-grid{max-width:var(--max-w);margin:56px auto 0;background:var(--color-canvas-white);
      border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;
      box-shadow:var(--shadow-card)}
    .reason-card{display:grid;grid-template-columns:120px 1fr 320px;column-gap:48px;row-gap:0;
      padding:48px 56px;align-items:start;border-bottom:1px solid var(--border-light);
      transition:background .3s var(--ease)}
    .reason-card:last-child{border-bottom:0}
    .reason-card:hover{background:var(--accent-tint)}
    .reason-num{font-family:var(--font-head);font-size:88px;font-weight:300;color:var(--accent);
      letter-spacing:-.04em;line-height:.85;margin:0;align-self:start;grid-row:span 2}
    .reason-card h3{font-family:var(--font-head);font-size:30px;font-weight:500;color:var(--color-midnight-ink);
      letter-spacing:-.018em;line-height:1.15;margin:0 0 14px;grid-column:2}
    .reason-card > p{font-size:16px;color:var(--text-muted);line-height:1.6;margin:0;max-width:48ch;grid-column:2}
    .reason-receipt{border-left:2px solid var(--accent);padding:14px 0 14px 18px;margin:0;
      align-self:start;grid-column:3;grid-row:1 / span 2}
    .reason-receipt-quote{font-size:14px;color:var(--text);font-style:italic;line-height:1.55;margin:0 0 8px}
    .reason-receipt-source{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);
      text-decoration:none;letter-spacing:.02em;transition:color .15s}
    .reason-receipt-source:hover{color:var(--accent)}
    .reasons-footer{max-width:var(--max-w);margin:40px auto 0;text-align:center;font-size:14px;color:var(--text-muted)}
    .reasons-footer a{color:var(--accent);text-decoration:none;font-weight:500}
    .reasons-footer a:hover{text-decoration:underline}

    /* ─── PRICING ─────────────────────── */
    .pricing-toggle{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:3px;gap:2px}
    .pricing-toggle-btn{padding:8px 20px;border-radius:9px;border:none;background:none;font-family:var(--font-body);
      font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .2s;display:flex;align-items:center}
    .pricing-toggle-btn.active{background:#fff;color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}
    .pricing-grid{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .pricing-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);
      padding:36px 28px;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease);
      position:relative;box-shadow:var(--shadow-card)}
    .pricing-card::before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;
      background:rgba(17,17,17,.025);
      opacity:0;transition:opacity .4s var(--ease)}
    .pricing-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
    .pricing-card:hover::before{opacity:1}
    .pricing-card.featured{border-color:var(--accent);
      background:#ffffff;
      box-shadow:0 0 0 1px var(--accent),rgba(17,17,17,.20) 0 24px 50px -24px,rgba(17,17,17,.12) 0 18px 36px -18px}
    .pricing-card.featured::before{opacity:0}
    .pricing-card>*{position:relative;z-index:1}
    .pricing-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);
      background:var(--text);color:#fff;font-family:var(--font-head);font-size:12px;font-weight:500;
      padding:4px 14px;border-radius:var(--radius-pill);white-space:nowrap;letter-spacing:.02em}
    .pricing-tier{font-family:var(--font-head);font-size:16px;font-weight:500;margin-bottom:4px}
    .pricing-sub{font-size:13px;color:var(--text-muted);margin-bottom:20px}
    .pricing-price{font-family:var(--font-head);font-size:40px;font-weight:500;letter-spacing:-.03em;margin-bottom:4px}
    .pricing-price span{font-size:15px;font-weight:500;color:var(--text-muted)}
    .pricing-billed{font-size:12px;color:var(--text-muted);margin-bottom:20px;height:16px}
    .pricing-features{flex:1;margin-bottom:24px}
    .pricing-features li{font-size:13px;color:var(--text-muted);padding:7px 0;
      border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:8px}
    .pricing-features li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}
    .pricing-btn{display:flex;align-items:center;justify-content:center;
      padding:12px 20px;border-radius:var(--radius);font-size:14px;font-weight:600;
      border:1px solid var(--border);transition:all .25s var(--ease);cursor:pointer;background:#fff}
    .pricing-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);
      box-shadow:var(--shadow-sm)}
    .pricing-btn.filled{background:var(--accent);color:#fff;border-color:var(--accent);
      box-shadow:var(--shadow)}
    .pricing-btn.filled:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;
      box-shadow:var(--shadow-lg)}
    .pricing-toggle-wrap{display:flex;justify-content:center;margin-bottom:40px}
    .pricing-save{font-size:11px;color:var(--ok);font-weight:600;margin-left:4px}
    .pricing-grid-two{max-width:720px;grid-template-columns:1fr 1fr}
    .pricing-production{max-width:720px;margin:32px auto 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
    .pricing-production-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px}
    .pricing-production-title{font-family:var(--font-head);font-size:18px;font-weight:500}
    .pricing-production-price{font-weight:500;color:var(--text-muted);font-size:15px}
    .pricing-production-desc{font-size:13px;color:var(--text-muted);margin-top:4px}
    .pricing-production-btn{font-size:14px;font-weight:600;color:var(--text);border:1px solid var(--border);padding:10px 20px;border-radius:var(--radius);transition:all .2s;white-space:nowrap;flex-shrink:0}
    .pricing-production-btn:hover{border-color:var(--text)}
    .pricing-compare{text-align:center;margin-top:24px}
    .pricing-compare-link{font-size:14px;color:var(--text-muted);transition:color .2s;display:inline-flex;align-items:center;gap:6px}
    .pricing-compare-link:hover{color:var(--text)}

    /* ─── FAQ ─────────────────────────── */
    .faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
    .faq-item{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:#fff;
      transition:box-shadow .35s var(--ease),border-color .35s,background .35s}
    .faq-item:hover{border-color:var(--border-accent)}
    .faq-item.open{box-shadow:var(--shadow-card);border-color:rgba(17,17,17,.14);background:var(--color-canvas-white)}
    .faq-q{width:100%;background:none;border:none;padding:22px 26px;text-align:left;cursor:pointer;
      font-family:var(--font-head);font-size:15px;font-weight:600;color:var(--text);
      display:flex;justify-content:space-between;align-items:center;gap:20px;transition:color .2s}
    .faq-q:hover{color:var(--accent)}
    .faq-icon{width:26px;height:26px;border-radius:50%;border:1px solid var(--border);
      display:flex;align-items:center;justify-content:center;transition:all .35s var(--ease);flex-shrink:0;font-size:14px;
      background:#fff}
    .faq-item.open .faq-icon{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:#fff;
      box-shadow:0 4px 12px var(--accent-glow)}
    .faq-item.open .faq-q{color:var(--color-midnight-ink)}
    .faq-a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease),padding .35s}
    .faq-item.open .faq-a{max-height:240px;padding:0 26px 22px}
    .faq-a p{font-size:14px;color:var(--text-muted);line-height:1.7}

    /* ─── CTA ─────────────────────────── */
    .cta-section{padding:100px 24px;text-align:center}
    .cta-inner{max-width:var(--max-w);margin:0 auto;border-radius:var(--radius-xl);
      padding:72px 40px 88px;border:1px solid var(--border);position:relative;overflow:hidden;
      background:#F1F4F8;
      box-shadow:var(--shadow-lg)}
    .cta-cubes{display:block;width:100%;max-width:240px;height:auto;margin:0 auto 28px;
      filter:drop-shadow(0 4px 10px rgba(17,17,17,.08))}
    .cta-inner::before{content:'';position:absolute;inset:0;pointer-events:none;
      background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
      opacity:.08;mix-blend-mode:multiply}
    .cta-inner>*{position:relative;z-index:1}
    .cta-inner h2{font-family:var(--font-head);font-size:clamp(28px,4vw,44px);font-weight:500;
      color:var(--text);letter-spacing:-.03em;margin-bottom:16px}
    .cta-inner p{font-size:17px;color:var(--text-muted);margin-bottom:36px}
    .cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

    /* ─── FOOTER ──────────────────────── */
    footer{background:var(--surface);border-top:1px solid var(--border);padding:64px 24px 32px}
    footer .nav-logo{color:var(--text)}
    .footer-inner{max-width:var(--max-w);margin:0 auto}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
    .footer-brand-text{font-size:14px;color:var(--text-muted);line-height:1.6;max-width:280px;margin-top:12px}
    .footer-col h4{font-family:var(--font-head);font-size:13px;font-weight:500;color:var(--text);margin-bottom:16px;text-transform:uppercase;letter-spacing:.04em}
    .footer-col a{display:flex;align-items:center;font-size:14px;color:var(--text-muted);padding:4px 0;min-height:44px;transition:color .2s}
    .footer-col a:hover{color:var(--text)}
    .footer-bottom{border-top:1px solid var(--border);padding-top:24px;font-size:12px;color:var(--text-muted);
      display:flex;justify-content:space-between;align-items:center}

    /* ─── RESPONSIVE ──────────────────── */
    /* Nav (incl. mobile hamburger) lives in /nav.js */

    @media(max-width:900px){
      .features-grid,.cost-inner,.loop-section,.why-grid,.how-grid,.usecases-grid,.product-grid{grid-template-columns:1fr}
      .reason-card{grid-template-columns:80px 1fr;padding:36px 32px;column-gap:24px}
      .reason-num{font-size:64px;grid-row:auto}
      .reason-card h3{grid-column:2;font-size:24px}
      .reason-card > p{grid-column:2}
      .reason-receipt{grid-column:1 / -1;grid-row:auto;margin-top:18px}
      .why-split{grid-template-columns:1fr;gap:32px}
      .why-left{position:static}
      .vs-cards{grid-template-columns:1fr;gap:12px}
      .vs-divider{padding:4px 0;font-size:12px}
      .loop-visual{width:260px;height:260px}
      .stats-grid{grid-template-columns:repeat(2,1fr)}
      .footer-grid{grid-template-columns:1fr 1fr}
      .hero{padding:0}
      .hero-card{min-height:auto;padding:80px 20px 0;flex-direction:column;text-align:center;align-items:center;justify-content:flex-start;
        background:var(--color-cream-light)}
      .hero--full-bleed .hero-card{padding-top:104px}
      .hero-inner{flex-direction:column;text-align:center;gap:28px}
      .hero-content{text-align:center}
      .hero h1{font-size:clamp(28px,7vw,40px);margin-bottom:16px}
      .hero-sub{margin:0 auto 20px;font-size:15px}
      .hero-btns{justify-content:center;flex-direction:column;align-items:center;width:100%;gap:10px}
      .hero-btns .btn-primary,.hero-btns .btn-secondary{width:100%;max-width:320px;justify-content:center}
      .hero-install{display:flex;justify-content:center}
      .hero-logos{justify-content:center;gap:14px}
      .hero-terminal{max-width:100%;width:100%;min-height:300px;flex-shrink:0;text-align:left;position:relative;z-index:4}
      .hero-badge{display:none}
      .npx-cmd{font-size:13px;padding:12px 16px}
    }
    @media(max-width:480px){
      .hero-pill{font-size:11.5px}
      .hero-pill-tag{padding:7px 10px}
      .hero-pill-body{padding:7px 12px}
      .hero-logos{flex-direction:column;gap:12px;margin:36px 0 12px}
      .hero-logos-items{gap:12px 22px;width:100%}
      .hero-logos-items .logo-item{font-size:14px}
      .hero-logos .logo-item svg{width:20px;height:20px}
    }
    @media(max-width:640px){
      .cost-banner{padding:60px 20px}
      .loop-sec-pad{padding:80px 20px}
      .loop-visual{width:260px;height:260px}
      .loop-step{font-size:11px;padding:6px 10px}
      .loop-step.s2{right:-10px;transform:translate(0,-50%)}
      .loop-step.s4{left:-10px;transform:translate(0,-50%)}
      .stats-grid{grid-template-columns:1fr 1fr}
      .pricing-grid,.pricing-grid-two{grid-template-columns:1fr !important}
      .pricing-production{flex-direction:column;text-align:center;padding:24px 20px}
      .pricing-production-btn{width:100%}
      .footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}
      .footer-col a{min-height:36px;padding:2px 0}
      .hero h1{font-size:32px}
      .hero-card{background:var(--color-cream-light)}
      .hero-card::before{display:none}
      .term-progress-bar{width:100px}
      .terminal-body{font-size:12px;padding:16px;height:300px}
      .stack-visual{height:360px}
      .stack-inner{gap:40px}
      .footer-bottom{flex-direction:column;gap:8px;text-align:center}
      .cta-inner{padding:48px 20px}
      .section-header{margin-bottom:40px}
    }
    /* ─── WAITLIST MODE ─────────────────── */
    .waitlist-form{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}
    .waitlist-form input[type="email"]{padding:12px 16px;font-size:15px;font-family:var(--font-body);border:2px solid var(--border);border-radius:var(--radius-pill);outline:none;min-width:260px;transition:border-color .2s}
    .waitlist-form input[type="email"]:focus{border-color:var(--accent)}
    .waitlist-form input[type="email"]::placeholder{color:var(--text-muted)}
    .waitlist-form button{padding:12px 24px;font-size:15px;font-weight:600;font-family:var(--font-body);background:var(--accent);color:var(--text-white);border:none;border-radius:var(--radius-pill);cursor:pointer;transition:opacity .2s;white-space:nowrap}
    .waitlist-form button:hover{opacity:.85}
    .waitlist-form button:disabled{opacity:.5;cursor:not-allowed}
    .waitlist-msg{font-size:14px;color:var(--text-muted);margin-top:8px;min-height:20px}
    .waitlist-msg.success{color:var(--ok)}
    .waitlist-msg.error{color:var(--danger-text)}
    .waitlist-hero-sub{font-size:14px;color:var(--text-muted);margin-top:12px}

    /* ─── PER-WORD HEADLINE REVEALS ──── */
    .word-reveal{display:inline-block;opacity:0;transform:translateY(12px);filter:blur(4px);
      transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1),filter .5s cubic-bezier(.22,1,.36,1)}
    .word-reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}

    /* ─── MOUSE PARALLAX (proof cards) ── */
    .proof-card{transform-style:preserve-3d;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
    .proof-card .proof-card-body,.proof-card .proof-card-info{transition:transform .4s var(--ease)}
    .proof-card:hover .proof-card-body{transform:translateZ(20px)}
    .proof-card:hover .proof-card-info{transform:translateZ(10px)}

    /* ─── AMBIENT FLOATING SHAPES ────── */
    .ambient-shape{position:absolute;border-radius:50%;pointer-events:none;opacity:0;
      will-change:transform,opacity;z-index:0}
    .ambient-shape.visible{opacity:1}
    @keyframes ambient-float-1{
      0%,100%{transform:translate(0,0) scale(1)}
      25%{transform:translate(15px,-20px) scale(1.02)}
      50%{transform:translate(-10px,10px) scale(.98)}
      75%{transform:translate(20px,5px) scale(1.01)}
    }
    @keyframes ambient-float-2{
      0%,100%{transform:translate(0,0) rotate(0deg)}
      33%{transform:translate(-12px,18px) rotate(3deg)}
      66%{transform:translate(18px,-8px) rotate(-2deg)}
    }
    @keyframes ambient-float-3{
      0%,100%{transform:translate(0,0) scale(1)}
      40%{transform:translate(-20px,-15px) scale(1.03)}
      80%{transform:translate(10px,20px) scale(.97)}
    }

    /* ─── GRADIENT ANIMATION (hero) ───── */
    @keyframes gradient-shift{
      0%{background-position:0% 50%}
      50%{background-position:100% 50%}
      100%{background-position:0% 50%}
    }
    .hero-card.gradient-active{background:#fff;animation:none}

    /* ─── FADE-RISE (hero entrance) ──── */
    @keyframes fade-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
    .fade-rise,.fade-rise-delay,.fade-rise-delay-2{opacity:0;animation:fade-rise .8s ease-out forwards}
    .fade-rise-delay{animation-delay:.2s}
    .fade-rise-delay-2{animation-delay:.4s}
    @media(prefers-reduced-motion:reduce){
      .fade-rise,.fade-rise-delay,.fade-rise-delay-2{opacity:1;animation:none;transform:none}
    }

    /* ─── VARIED EASINGS ─────────────── */
    .reveal-spring{opacity:0;transform:translateY(30px);
      transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.34,1.56,.64,1)}
    .reveal-spring.visible{opacity:1;transform:translateY(0)}
    .reveal-elastic{opacity:0;transform:translateY(24px) scale(.97);
      transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.175,.885,.32,1.275)}
    .reveal-elastic.visible{opacity:1;transform:translateY(0) scale(1)}

    /* ─── REDUCED MOTION ─────────────── */
    @media(prefers-reduced-motion:reduce){
      *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
      .reveal,.reveal-left,.reveal-right,.stack-layer,.stack-text-item,.hero-badge,.term-fade-in,
      .word-reveal,.reveal-spring,.reveal-elastic{opacity:1 !important;transform:none !important;filter:none !important}
      .loop-ring{animation:none !important}
      .ambient-shape{display:none !important}
      .hero-card.gradient-active{animation:none !important}
    }

    /* ─── DEMO STAGE (tiles as soft halo around solid demo card) ─── */
    .hero-demo-stage{position:relative;width:100%;margin-top:32px;isolation:isolate}
    .hero-demo-stage .hero-strip-wrap{position:relative;z-index:2;margin-top:0}
    .hero-tiles{position:absolute;inset:-200px calc(50% - 50vw) -120px;z-index:1;
      display:flex;flex-direction:column;justify-content:center;gap:20px;
      pointer-events:none;
      filter:blur(20px) saturate(1.25);opacity:.55;
      -webkit-mask-image:radial-gradient(ellipse 75% 85% at 50% 50%, #000 25%, transparent 95%);
              mask-image:radial-gradient(ellipse 75% 85% at 50% 50%, #000 25%, transparent 95%)}
    .hero-tiles-row{overflow:hidden;width:100%}
    .hero-tiles-row--ltr{padding-left:160px}
    .hero-tiles-track{display:flex;gap:20px;width:max-content}
    .hero-tiles-row--rtl .hero-tiles-track{animation:heroTilesMarqueeRTL 140s linear infinite}
    .hero-tiles-row--ltr .hero-tiles-track{animation:heroTilesMarqueeLTR 110s linear infinite}
    .hero-tile{flex:0 0 auto;width:280px;aspect-ratio:4/3;border-radius:18px;overflow:hidden;
      background:var(--surface-soft-deep);position:relative}
    .hero-tile::after{display:none}
    /* Showreel palette: 8 solid decorative colors for the hero-tiles marquee.
       These represent "many apps in many colors" and are scoped to .hero-tile
       only. Do not pull into brand chrome (buttons, accents, links). */
    .hero-tile--coral{background:#ff8b6a}
    .hero-tile--teal{background:#2aa6c2}
    .hero-tile--amber{background:#f5b740}
    .hero-tile--peach{background:#fbab6e}
    .hero-tile--rose{background:#e94668}
    .hero-tile--sky{background:#5e8de8}
    .hero-tile--mint{background:#3dae7c}
    .hero-tile--emerald{background:#3a9970}
    @keyframes heroTilesMarqueeRTL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
    @keyframes heroTilesMarqueeLTR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
    @media(prefers-reduced-motion:reduce){
      .hero-tiles-row--rtl .hero-tiles-track,
      .hero-tiles-row--ltr .hero-tiles-track{animation:none}
    }
    @media(max-width:960px){
      .hero-demo-stage{margin-top:20px}
      .hero-tiles{gap:14px}
      .hero-tile{width:220px;border-radius:14px}
      .hero-tiles-track{gap:14px}
      .hero-tiles-row--ltr{padding-left:100px}
    }
    @media(max-width:640px){
      .hero-demo-stage{margin-top:12px}
      .hero-tiles{gap:10px}
      .hero-tile{width:170px;border-radius:10px}
      .hero-tiles-track{gap:10px}
      .hero-tiles-row--ltr{padding-left:60px}
    }

    /* ─── FILM STRIP HERO (editor → wire → live app) ───────────────────────── */
    /* Frosted-glass bounding box — sits over the charcoal shader strip */
    .hero-strip-wrap{position:relative;z-index:3;width:100%;margin-top:0;text-align:left;
      background:rgba(255,255,255,.94);
      backdrop-filter:blur(40px) saturate(170%);
      -webkit-backdrop-filter:blur(40px) saturate(170%);
      border:1px solid rgba(255,255,255,.75);
      border-radius:16px;padding:24px;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.85),
        inset 0 0 0 1px rgba(17,17,17,.04),
        0 30px 70px -28px rgba(17,17,17,.22),
        0 12px 36px -16px rgba(17,17,17,.10);
    }
    .hero-strip-wrap *{text-align:inherit}
    @media(max-width:960px){
      .hero-strip-wrap{padding:18px;border-radius:14px;margin-top:0}
    }
    @media(max-width:720px){
      .hero-strip-wrap{padding:14px;border-radius:12px;margin-top:0}
    }
    .strip-label-r{text-align:right !important}
    @media(max-width:960px){.strip-label-r{text-align:left !important}}
    .strip{display:grid;grid-template-columns:1fr 96px 1.1fr;gap:0;align-items:stretch;min-height:540px;transition:opacity .36s var(--ease),transform .42s var(--ease)}
    .strip.is-swapping{opacity:0;transform:translateY(10px)}
    .strip-col{position:relative;min-height:0;min-width:0;display:flex;flex-direction:column}
    .cc,.app-panel{min-width:0;max-width:100%}
    .strip-label{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
    .strip-label-r{text-align:right}
    @media(max-width:960px){
      .strip{grid-template-columns:1fr;gap:20px;min-height:0}
    }

    /* Wire connector */
    .wire{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 12px}
    .wire-line{position:absolute;left:12px;right:12px;top:50%;height:1px;background:var(--border);overflow:hidden}
    .wire-line::before{
      content:'';position:absolute;top:-1px;bottom:-1px;left:0;width:60%;
      background:color-mix(in oklch,var(--accent) 70%,transparent);
      transform:translateX(-100%);opacity:0;
      transition:opacity .35s var(--ease);
    }
    .strip.is-building .wire-line::before{opacity:1;animation:wire-flow 1.7s cubic-bezier(.5,0,.5,1) infinite}
    @keyframes wire-flow{
      0%  {transform:translateX(-100%)}
      100%{transform:translateX(200%)}
    }
    .wire-chip{position:relative;z-index:2;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--border);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;transition:border-color .3s var(--ease),box-shadow .5s var(--ease),color .3s var(--ease)}
    .strip.is-building .wire-chip{
      color:var(--accent);border-color:color-mix(in oklch,var(--accent) 40%,var(--border));
      animation:wire-chip-pulse 1.7s ease-in-out infinite;
    }
    @keyframes wire-chip-pulse{
      0%,100%{box-shadow:0 0 0 0 color-mix(in oklch,var(--accent) 0%,transparent)}
      50%    {box-shadow:0 0 0 6px color-mix(in oklch,var(--accent) 12%,transparent)}
    }
    .wire-cap{position:absolute;bottom:calc(50% - 58px);font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.05em;color:var(--text-muted);text-align:center;line-height:1.4}
    .wire-cap .faint{color:var(--dim);font-weight:400}
    @media(max-width:960px){
      .wire{padding:4px 0;min-height:40px}
      .wire-line{left:50%;right:auto;top:0;bottom:0;height:auto;width:1px}
      .wire-cap{display:none}
    }

    /* Editor panel (left) */
    /* Claude Desktop style — light editor panel */
    .cc{flex:1;min-height:0;display:flex;flex-direction:column;
      background:var(--color-canvas-white);color:var(--color-midnight-ink);
      border:1px solid var(--border);border-radius:12px;overflow:hidden;
      box-shadow:0 28px 44px -24px rgba(17,17,17,.18),0 10px 20px -12px rgba(17,17,17,.10)}
    .cc-chrome{position:relative;display:flex;align-items:center;gap:14px;padding:11px 14px;
      border-bottom:1px solid var(--border-light);background:var(--color-canvas-white);
      flex-shrink:0;font-family:var(--font-body)}
    .cc-traffic{display:flex;gap:6px;align-items:center}
    .cc-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
    .cc-dot.r{background:#ff5f57}.cc-dot.y{background:#febc2e}.cc-dot.g{background:#28c840}
    .cc-utils{display:flex;gap:6px;align-items:center;color:rgba(17,17,17,.45)}
    .cc-utils svg{width:16px;height:16px;flex-shrink:0}
    .cc-body{flex:1;display:flex;min-height:0;overflow:hidden}

    .cc-side{width:188px;flex-shrink:0;border-right:1px solid var(--border-light);
      background:var(--color-canvas-white);display:flex;flex-direction:column;min-height:0;
      padding:12px 8px 0;min-width:0}

    /* Chat / Cowork / Code segmented control */
    .cc-tabs{display:flex;align-items:stretch;gap:1px;padding:2px;margin:0 0 14px;
      border:1px solid var(--border-light);border-radius:999px;background:var(--color-cream-light);
      min-width:0;line-height:1}
    .cc-tab{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;
      height:22px;padding:0 6px;border:0;background:transparent;border-radius:999px;cursor:pointer;
      color:var(--color-muted-ash);font-family:var(--font-body);font-size:10.5px;font-weight:500;
      letter-spacing:-.005em;white-space:nowrap;line-height:1;
      overflow:hidden;text-overflow:ellipsis;
      transition:color .15s var(--ease),background .15s var(--ease)}
    .cc-tab svg{width:10px;height:10px;flex-shrink:0;opacity:.85;display:block}
    .cc-tab:hover{color:var(--color-midnight-ink)}
    .cc-tab.is-active{background:var(--color-canvas-white);color:var(--color-midnight-ink);
      box-shadow:inset 0 0 0 1px var(--border),0 1px 2px rgba(17,17,17,.05)}
    .cc-tab.is-active svg{opacity:1;color:var(--accent)}

    /* Sidebar nav */
    .cc-nav{display:flex;flex-direction:column;gap:1px;margin-bottom:14px}
    .cc-nav-item{display:flex;align-items:center;gap:9px;padding:5px 8px;border-radius:6px;
      color:var(--color-midnight-ink);font-family:var(--font-body);font-size:11.5px;font-weight:500;
      letter-spacing:-.005em;
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
      transition:background .15s var(--ease),color .15s var(--ease);
      text-decoration:none}
    .cc-nav-item:hover{background:rgba(17,17,17,.05)}
    .cc-nav-item svg{width:13px;height:13px;flex-shrink:0;color:var(--color-muted-ash)}

    /* Sections (Pinned, Recents) */
    .cc-section{margin-bottom:14px}
    .cc-section-label{font-family:var(--font-body);font-size:10.5px;font-weight:500;
      color:var(--color-muted-ash);letter-spacing:.01em;
      padding:0 8px;margin-bottom:4px}
    .cc-pinned-empty{display:flex;align-items:center;gap:9px;padding:5px 8px;
      color:rgba(17,17,17,.32);font-size:11.5px;font-weight:500;letter-spacing:-.005em;
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .cc-pinned-empty svg{width:13px;height:13px;flex-shrink:0;color:rgba(17,17,17,.32)}

    /* Recents list (populated by JS) */
    .cc-convos{display:flex;flex-direction:column;gap:1px;flex:1;overflow:hidden;min-height:0}
    .cc-convo{display:flex;align-items:center;gap:9px;padding:5px 8px;border-radius:6px;
      border:0;background:transparent;color:var(--color-midnight-ink);
      overflow:hidden;
      transition:background .15s var(--ease)}
    .cc-convo:hover{background:rgba(17,17,17,.04)}
    .cc-convo.on{background:var(--color-canvas-white);
      box-shadow:inset 0 0 0 1px var(--border),0 1px 2px rgba(17,17,17,.04)}
    .cc-convo-mark{width:14px;height:14px;border-radius:50%;flex-shrink:0;
      border:1.5px solid rgba(17,17,17,.22);background:transparent}
    /* When active, swap to a branch-like dot icon */
    .cc-convo.on .cc-convo-mark{
      border:0;background:transparent;
      width:14px;height:14px;
      background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232B4FD8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='5' cy='4' r='1.5'/><circle cx='5' cy='12' r='1.5'/><circle cx='11' cy='8' r='1.5'/><path d='M5 5.5v5'/><path d='M5 9c0-1.5 1-2.5 2-2.5h2.5'/></svg>");
      background-size:14px 14px;background-repeat:no-repeat;
    }
    .cc-convo-meta{min-width:0;flex:1}
    .cc-convo-t{font-family:var(--font-body);font-size:11.5px;font-weight:500;letter-spacing:-.005em;
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .cc-convo-s{display:none}

    .cc-chat{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--color-canvas-white)}
    .cc-chat-head{padding:11px 16px;border-bottom:1px solid var(--border-light);display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:var(--color-canvas-white)}
    .cc-chat-t{font-size:12.5px;font-weight:500;color:var(--color-midnight-ink);letter-spacing:-.005em}
    .cc-chat-s{font-size:10.5px;font-family:var(--font-mono);color:var(--color-muted-ash)}
    .cc-thread{flex:1;min-height:0;overflow:hidden;padding:14px 16px;display:flex;flex-direction:column;gap:14px}
    .cc-input{display:flex;align-items:center;gap:8px;margin:0 14px 14px;padding:8px 10px 8px 8px;
      border:1px solid var(--border);border-radius:10px;background:var(--color-cream-light);flex-shrink:0}
    .cc-input-tag{font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--accent);
      background:var(--accent-soft);padding:3px 8px;border-radius:5px}
    .cc-input-ph{flex:1;font-size:12.5px;color:var(--color-muted-ash);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .cc-send{width:24px;height:24px;border-radius:6px;background:var(--color-midnight-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex-shrink:0}

    .msg{display:flex;gap:10px;align-items:flex-start}
    .av{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:#fff}
    .av-u{background:#94a3b8}
    .av-a{background:var(--accent);font-size:13px}
    .bubble{flex:1;min-width:0}
    .role{font-size:11px;font-weight:600;color:var(--color-muted-ash);margin-bottom:4px;display:flex;align-items:center;gap:6px}
    .role-sub{font-size:10.5px;font-weight:500;color:var(--color-muted-ash)}
    .msg .text{font-size:13.5px;line-height:1.55;color:var(--color-midnight-ink);font-weight:500;letter-spacing:-.005em}
    .msg-a .text{font-weight:400;color:var(--color-midnight-ink)}

    .actions{margin-top:10px;padding:10px 12px;
      background:var(--color-cream-light);border:1px solid var(--border-light);border-radius:8px;
      display:flex;flex-direction:column;gap:5px;font-family:var(--font-mono);font-size:12px;color:var(--color-muted-ash)}
    .act{display:flex;align-items:center;gap:6px;flex-shrink:0;line-height:1.4}
    .act>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
    .act.done{color:var(--ok);font-weight:500}
    .act-mark{display:inline-block;width:12px;text-align:center}

    /* Live app panel (right) */
    .app-panel{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--color-canvas-white);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 24px 40px -28px rgba(17,17,17,.25),0 1px 0 rgba(17,17,17,.02)}
    .app-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
    .urlbar{flex:1;display:flex;align-items:center;gap:8px;margin-left:6px;background:var(--good-bg);border:1px solid var(--good-border);border-radius:999px;padding:5px 12px;font-family:var(--font-mono);font-size:12px}
    .urlbar svg{color:var(--ok)}
    .url-proto{color:var(--ok);font-weight:600}
    .url-host{color:var(--text);font-weight:600}
    .url-status{margin-left:auto;font-size:9.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--good-border);color:var(--ok-text)}
    .app-shell{flex:1;display:flex;min-height:0}

    .app-side{width:164px;flex-shrink:0;border-right:1px solid var(--border);padding:14px 10px;display:flex;flex-direction:column;gap:2px;background:var(--surface)}
    .app-brand{display:flex;align-items:center;gap:8px;padding:4px 8px;margin-bottom:12px}
    .app-brand-mark{width:24px;height:24px;border-radius:6px;color:#fff;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center}
    .app-brand-name{font-family:var(--font-head);font-size:15px;font-weight:500;letter-spacing:-.02em;color:var(--text)}
    .app-nav-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:12.5px;color:var(--text-muted);font-weight:500;border:1px solid transparent}
    .app-nav-item.on{background:var(--color-canvas-white);color:var(--text);font-weight:600;border-color:var(--border);box-shadow:0 1px 0 rgba(17,17,17,.02)}
    .app-nav-dot{width:6px;height:6px;border-radius:50%;background:#D4D0C7}
    .app-nav-item.on .app-nav-dot{background:var(--accent)}
    .app-user{margin-top:auto;padding:10px 8px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px}
    .app-user-av{width:24px;height:24px;border-radius:50%;background:#94a3b8;flex-shrink:0}
    .app-user-n{font-size:12px;font-weight:600;color:var(--text)}
    .app-user-r{font-size:10.5px;color:var(--dim)}

    .app-main{flex:1;padding:16px 18px;overflow:hidden;min-width:0;display:flex;flex-direction:column;gap:12px}
    .app-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
    .app-eyebrow{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--dim);margin-bottom:2px}
    .app-greet{font-family:var(--font-head);font-size:19px;font-weight:500;letter-spacing:-.02em;color:var(--text)}
    .app-cta{background:var(--text);color:#fff;font-size:11.5px;font-weight:600;padding:6px 12px;border-radius:6px;white-space:nowrap;flex-shrink:0}

    .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
    .kpi{padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px}
    .kpi-l{font-size:10px;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
    .kpi-row{display:flex;align-items:baseline;gap:6px;margin-top:2px}
    .kpi-v{font-family:var(--font-head);font-size:19px;font-weight:500;letter-spacing:-.02em;color:var(--text)}
    .kpi-d{font-size:11px;font-weight:600}
    .kpi-d.up{color:var(--ok)}.kpi-d.down{color:var(--danger)}

    .chart{padding:12px 14px;background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:8px}
    .chart-head{display:flex;align-items:baseline;justify-content:space-between}
    .chart-title{font-size:11.5px;font-weight:500;color:var(--text)}
    .chart-range{font-size:10.5px;font-family:var(--font-mono);color:var(--text-muted)}
    .bars{display:flex;align-items:flex-end;gap:5px;height:60px}
    .bar-wrap{flex:1;position:relative;height:100%;display:flex;align-items:flex-end}
    .bar{width:100%;background:#dde1ea;border-radius:3px 3px 0 0;transition:height .5s var(--ease)}
    .bar.hi{background:var(--accent)}
    .days{display:flex;gap:5px;font-size:9.5px;color:var(--dim);font-family:var(--font-mono)}
    .days span{flex:1;text-align:center}

    .dtable{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column}
    .thead,.trow{padding:9px 12px;display:grid;grid-template-columns:2fr 1fr 1.3fr 30px;gap:10px;align-items:center}
    .thead{font-size:10px;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--surface)}
    .trow{font-size:12px;border-bottom:1px solid var(--border-light)}
    .trow:last-child{border-bottom:none}
    .co{display:flex;align-items:center;gap:8px;min-width:0}
    .co-av{width:22px;height:22px;border-radius:6px;flex-shrink:0}
    .co-n{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .amt{font-family:var(--font-mono);font-weight:600;color:var(--text)}
    .stage{display:flex;align-items:center;gap:6px}
    .stage-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}
    .stage-bar>span{display:block;height:100%;border-radius:2px;transition:width .5s var(--ease)}
    .stage-l{font-size:10.5px;color:var(--text-muted);font-weight:500;min-width:56px}
    .owner{width:24px;height:24px;border-radius:50%;font-size:10px;font-weight:500;color:#fff;display:flex;align-items:center;justify-content:center}

    /* Rotator */
    .rotator{margin-top:18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:10px 14px;background:#fff;border:1px solid var(--border);border-radius:10px}
    .rot-label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
    .rot-dots{display:flex;align-items:center;gap:14px;flex:1;flex-wrap:wrap}
    .rot-dot{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;font-weight:500;color:var(--dim);background:none;border:none;padding:4px 0;font-family:inherit;transition:color .2s var(--ease)}
    .rot-dot .dot{width:8px;height:8px;border-radius:50%;background:#D4D0C7;transition:background .2s var(--ease),box-shadow .2s var(--ease)}
    .rot-dot.on{color:var(--text)}
    .rot-dot.on .dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
    .rot-play{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:inherit;transition:color .15s var(--ease),border-color .15s var(--ease)}
    .rot-play:hover{color:var(--text);border-color:#D4D0C7}
    .rot-play svg{width:10px;height:10px}

    /* ─── APP PANEL THEMES ─────────────────────────────────────────────────── */
    /* Each app speaks its own language — Pulse (cool tech), Glide (warm yoga),
       Fieldkit (earthy landscaping). Tokens cascade from .app-panel; overrides
       via .app-theme-* classes. Colors in OKLCH so lightness steps track evenly
       across hues and neutrals stay subtly tinted toward the brand. */

    .app-panel{
      /* Pulse CRM — default. Cool steel, Phoenix Orange accent, tight radii. */
      --t-primary:var(--accent);
      --t-primary-wash:oklch(96% 0.022 275);
      --t-text:oklch(22% 0.04 260);
      --t-text-muted:oklch(52% 0.035 260);
      --t-dim:oklch(72% 0.02 260);
      --t-surface:oklch(97.5% 0.006 270);
      --t-surface-2:#ffffff;
      --t-border:oklch(93% 0.008 270);
      --t-border-light:oklch(96.5% 0.006 270);
      --t-kpi-bg:oklch(97.5% 0.006 270);
      --t-kpi-border:oklch(93% 0.008 270);
      --t-bar:oklch(90% 0.013 270);
      --t-bar-radius:3px 3px 0 0;
      --t-radius:8px;
      --t-radius-tile:6px;
      --t-radius-cta:6px;
      --t-cta-bg:oklch(22% 0.04 260);
      --t-cta-color:#fff;
      --t-head-tracking:-.025em;
      --t-head-weight:800;
      --t-greet-style:normal;
      --t-nav-dim:oklch(82% 0.012 270);

      /* Outer window frame stays NEUTRAL — it's browser chrome, not the app */
      border:1px solid var(--border);
      background:#fff;
    }
    .app-panel.app-theme-glide{
      /* Glide Booking — calm, handmade, intimate. Slate blue, soft, pill. */
      --t-primary:#5b7a8c;
      --t-primary-wash:oklch(94% 0.018 220);
      --t-text:oklch(24% 0.025 220);
      --t-text-muted:oklch(52% 0.022 220);
      --t-dim:oklch(70% 0.018 220);
      --t-surface:oklch(96.5% 0.012 220);
      --t-surface-2:oklch(99% 0.006 220);
      --t-border:oklch(89% 0.014 220);
      --t-border-light:oklch(93% 0.011 220);
      --t-kpi-bg:oklch(98.5% 0.008 220);
      --t-kpi-border:oklch(90% 0.014 220);
      --t-bar:oklch(91% 0.018 220);
      --t-bar-radius:999px;
      --t-radius:12px;
      --t-radius-tile:10px;
      --t-radius-cta:999px;
      --t-cta-bg:oklch(26% 0.025 220);
      --t-cta-color:#fff;
      --t-head-tracking:-.01em;
      --t-head-weight:700;
      --t-greet-style:italic;
      --t-nav-dim:oklch(80% 0.016 220);
    }
    .app-panel.app-theme-fieldkit{
      /* Fieldkit Ops — hearty, practical, friendly. Sage green, clipboard-real. */
      --t-primary:#3a7a4d;
      --t-primary-wash:oklch(94% 0.035 148);
      --t-text:oklch(22% 0.035 150);
      --t-text-muted:oklch(48% 0.028 150);
      --t-dim:oklch(68% 0.02 150);
      --t-surface:oklch(96% 0.014 148);
      --t-surface-2:oklch(99% 0.008 148);
      --t-border:oklch(89% 0.02 148);
      --t-border-light:oklch(93.5% 0.015 148);
      --t-kpi-bg:oklch(98.5% 0.01 148);
      --t-kpi-border:oklch(90% 0.02 148);
      --t-bar:oklch(90% 0.021 148);
      --t-bar-radius:4px 4px 2px 2px;
      --t-radius:9px;
      --t-radius-tile:8px;
      --t-radius-cta:8px;
      --t-cta-bg:oklch(28% 0.04 150);
      --t-cta-color:#fff;
      --t-head-tracking:-.02em;
      --t-head-weight:800;
      --t-greet-style:normal;
      --t-nav-dim:oklch(80% 0.018 148);
    }

    /* Cascade theme tokens through the existing structure */
    .app-panel{border-radius:var(--t-radius,12px);color:var(--t-text)}
    /* Window chrome (traffic lights + URL bar row) stays neutral — it's browser, not app */
    .app-panel .app-head{background:var(--surface);border-bottom-color:var(--border)}
    /* Sidebar IS the app — themed */
    .app-panel .app-side{background:var(--t-surface);border-right-color:var(--t-border)}
    .app-panel .app-brand-name{color:var(--t-text);font-weight:var(--t-head-weight);letter-spacing:var(--t-head-tracking)}
    .app-panel .app-nav-item{color:var(--t-text-muted)}
    .app-panel .app-nav-item.on{color:var(--t-text);background:var(--t-surface-2);border-color:var(--t-border);border-radius:var(--t-radius-tile)}
    .app-panel .app-nav-dot{background:var(--t-nav-dim)}
    .app-panel .app-nav-item.on .app-nav-dot{background:var(--t-primary)}
    .app-panel .app-user{border-top-color:var(--t-border)}
    .app-panel .app-user-n{color:var(--t-text)}
    .app-panel .app-user-r{color:var(--t-dim)}
    .app-panel .app-eyebrow{color:var(--t-dim)}
    .app-panel .app-greet{color:var(--t-text);font-weight:var(--t-head-weight);letter-spacing:var(--t-head-tracking);font-style:var(--t-greet-style)}
    .app-panel .app-cta{background:var(--t-cta-bg);color:var(--t-cta-color);border-radius:var(--t-radius-cta);padding:7px 14px}
    .app-panel .kpi{background:var(--t-kpi-bg);border:1px solid var(--t-kpi-border);border-radius:var(--t-radius-tile)}
    .app-panel .kpi-l{color:var(--t-dim)}
    .app-panel .kpi-v{color:var(--t-text);font-weight:var(--t-head-weight);letter-spacing:var(--t-head-tracking);font-variant-numeric:tabular-nums}
    .app-panel .chart{border:1px solid var(--t-border);border-radius:var(--t-radius-tile)}
    .app-panel .chart-title{color:var(--t-text)}
    .app-panel .chart-range{color:var(--t-text-muted)}
    .app-panel .bar{background:var(--t-bar);border-radius:var(--t-bar-radius)}
    .app-panel .bar.hi{background:var(--t-primary)}
    .app-panel .days{color:var(--t-dim)}
    .app-panel .dtable{border:1px solid var(--t-border);border-radius:var(--t-radius-tile)}
    .app-panel .thead{background:var(--t-surface);color:var(--t-dim);border-bottom-color:var(--t-border)}
    .app-panel .trow{border-bottom-color:var(--t-border-light)}
    .app-panel .co-n{color:var(--t-text)}
    .app-panel .amt{color:var(--t-text)}
    .app-panel .stage-bar{background:var(--t-border)}
    .app-panel .stage-l{color:var(--t-text-muted)}
    .app-panel .urlbar{background:var(--t-surface)}
    .app-panel .url-host{color:var(--t-text)}

    /* LIVE status: coral carries the brand moment; the URL bar stays calm. */
    .app-panel .urlbar{border-color:var(--good-border);background:var(--good-bg);transition:background .4s var(--ease),border-color .4s var(--ease)}
    .app-panel .url-status-live{background:var(--live-coral);color:#fff;box-shadow:0 5px 12px -6px var(--live-coral-shadow)}

    /* ─── ANIMATION: build → deploy → live ────────────────────────────────── */
    /* Default = live (everything visible). Animation states are opt-in via
       .is-building on .strip, which hides things and lets them cascade in. */

    /* URL bar: pending vs live */
    .url-icon{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;flex-shrink:0}
    .url-icon-pending{position:relative}
    .url-icon-pending::before{
      content:'';position:absolute;inset:0;
      border:1.5px solid var(--warn);border-top-color:transparent;border-radius:50%;
      animation:wire-spin .9s linear infinite;
    }
    @keyframes wire-spin{to{transform:rotate(360deg)}}
    .url-status-pending{background:var(--warn-border);color:var(--warn-text)}

    /* Pending state on strip: show pending URL bar, hide app content */
    .strip.is-building .app-panel .urlbar{background:var(--warn-bg);border-color:var(--warn-border)}
    .strip.is-building .app-panel .url-proto{color:var(--warn)}
    .strip.is-building .app-panel .url-host{color:var(--warn)}
    .strip.is-building .app-panel .url-icon-live{display:none}
    .strip.is-building .app-panel .url-status-live{display:none}
    .strip:not(.is-building) .app-panel .url-icon-pending{display:none}
    .strip:not(.is-building) .app-panel .url-status-pending{display:none}

    /* Editor action items: hidden until .is-shown */
    #ccActions .act{opacity:0;transform:translateY(3px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
    #ccActions .act.is-shown{opacity:1;transform:translateY(0)}

    /* Prompt caret blink */
    .caret{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:-.12em;animation:caret-blink 1s step-end infinite}
    @keyframes caret-blink{50%{opacity:0}}

    /* Smoothing on JS-driven reveals so per-frame inline opacity+transform glides instead of popping.
       opacity:0 baseline prevents newly-rendered elements from flashing visible for one frame before
       applyPhases() sets their inline opacity — without it, the transition animates 1→0 on hide. */
    .app-panel .app-side,
    .app-panel .app-nav-item,
    .app-panel .app-user,
    .app-panel .app-top,
    .app-panel .kpi,
    .app-panel .chart,
    .app-panel .dtable,
    .app-panel .trow,
    .app-panel .week,
    .app-panel .week-col,
    .app-panel .class-card,
    .app-panel .crew-group,
    .app-panel .job-row{
      opacity:0;
      transition:opacity .35s var(--ease),transform .35s var(--ease);
    }
    .app-panel .bar{transition:height .28s var(--ease)}

    /* Glide flourishes — pill chart bars sit off the x-axis for an airier feel */
    .app-panel.app-theme-glide .bar-wrap{align-items:flex-end;padding-bottom:2px}
    .app-panel.app-theme-glide .bars{gap:6px}
    .app-panel.app-theme-glide .app-greet{line-height:1.25}

    /* Fieldkit flourishes — status words sit in slim pills, KPIs lean chunkier */
    .app-panel.app-theme-fieldkit .stage-l{font-weight:600;letter-spacing:.005em}
    .app-panel.app-theme-fieldkit .kpi-v{font-size:20px}

    /* ─── VIEW: Glide schedule ────────────────────────────────────────────── */
    .app-view{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow:hidden}

    .week{
      display:grid;grid-template-columns:repeat(7,1fr);gap:4px;
      padding:10px 12px;background:var(--t-kpi-bg);
      border:1px solid var(--t-border);border-radius:var(--t-radius-tile);
    }
    .week-col{
      display:flex;flex-direction:column;align-items:center;gap:6px;
      padding:6px 2px 4px;border-radius:var(--t-radius-tile);
    }
    .week-col.on{background:var(--t-primary-wash)}
    .week-d{
      font-family:var(--font-mono);font-size:9px;font-weight:600;
      letter-spacing:.08em;color:var(--t-dim);
    }
    .week-col.on .week-d{color:var(--t-text)}
    .week-density{
      width:14px;height:36px;border-radius:8px;
      background:color-mix(in oklch,var(--t-primary) 14%,transparent);
      display:flex;align-items:flex-end;overflow:hidden;
    }
    .week-density-fill{
      width:100%;background:var(--t-primary);
      border-radius:8px;transition:height .4s var(--ease);
    }
    .week-count{
      font-family:var(--font-mono);font-size:9.5px;color:var(--t-dim);font-weight:500;
    }

    .class-list{
      display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow:hidden;
    }
    .class-card{
      padding:12px 14px;background:var(--t-surface-2);
      border:1px solid var(--t-border);border-radius:var(--t-radius-tile);
      display:flex;flex-direction:column;gap:6px;
    }
    .class-top{display:flex;justify-content:space-between;align-items:baseline}
    .class-time{
      font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--t-text-muted);
      letter-spacing:.01em;
    }
    .class-cap{
      font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--t-text);
      font-variant-numeric:tabular-nums;
    }
    .class-name{
      font-family:var(--font-head);font-size:15px;font-weight:var(--t-head-weight);
      letter-spacing:var(--t-head-tracking);color:var(--t-text);line-height:1.15;
    }
    .app-panel.app-theme-glide .class-name{font-style:italic}
    .class-meta{display:flex;align-items:center;gap:10px}
    .class-inst{font-size:11.5px;color:var(--t-text-muted);flex-shrink:0;font-weight:500}
    .class-bar{
      flex:1;height:4px;border-radius:999px;overflow:hidden;
      background:color-mix(in oklch,var(--t-primary) 14%,transparent);
    }
    .class-bar-fill{
      display:block;height:100%;background:var(--t-primary);
      border-radius:999px;transition:width .5s var(--ease);
    }
    .class-bar-fill.full{background:color-mix(in oklch,var(--t-primary) 100%,#000 18%)}

    /* ─── VIEW: Fieldkit crew board ───────────────────────────────────────── */
    .board{
      display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;overflow:hidden;
    }
    .crew-group{
      border:1px solid var(--t-border);border-radius:var(--t-radius-tile);
      background:var(--t-surface-2);overflow:hidden;
    }
    .crew-head{
      display:flex;align-items:center;justify-content:space-between;
      padding:8px 12px;background:var(--t-kpi-bg);
      border-bottom:1px solid var(--t-border);
    }
    .crew-title{display:flex;align-items:center;gap:8px;min-width:0}
    .crew-swatch{
      width:10px;height:10px;border-radius:3px;flex-shrink:0;
    }
    .crew-name{
      font-family:var(--font-head);font-size:12.5px;font-weight:500;
      letter-spacing:-.015em;color:var(--t-text);
    }
    .crew-lead{font-size:11px;color:var(--t-text-muted);font-weight:500}
    .crew-count{
      font-family:var(--font-mono);font-size:10.5px;font-weight:600;
      color:var(--t-dim);letter-spacing:.05em;text-transform:uppercase;
    }
    .crew-jobs{display:flex;flex-direction:column}
    .job-row{
      display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;
      padding:8px 12px;border-bottom:1px solid var(--t-border-light);
    }
    .job-row:last-child{border-bottom:none}
    .job-time{
      font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--t-text-muted);
      font-variant-numeric:tabular-nums;letter-spacing:.01em;
    }
    .job-client{
      font-size:12.5px;font-weight:600;color:var(--t-text);
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    }
    .job-status{
      display:inline-flex;align-items:center;gap:5px;
      font-size:11px;font-weight:600;color:var(--t-text-muted);
      white-space:nowrap;
    }
    .job-dot{
      width:7px;height:7px;border-radius:50%;background:var(--t-dim);flex-shrink:0;
    }
    .job-status-on-site{color:var(--t-primary)}
    .job-status-on-site .job-dot{
      background:var(--t-primary);
      box-shadow:0 0 0 3px color-mix(in oklch,var(--t-primary) 22%,transparent);
    }
    .job-status-en-route .job-dot{background:var(--warn)}
    .job-status-en-route{color:var(--warn-text)}
    .job-status-done{color:color-mix(in oklch,var(--t-primary) 60%,#000 15%)}
    .job-status-done .job-dot{background:color-mix(in oklch,var(--t-primary) 80%,#000 10%)}
    .job-status-scheduled .job-dot{background:var(--t-dim)}

    /* Narrow-viewport overrides for the film strip (placed AFTER base rules so specificity wins) */
    @media(max-width:560px){
      .cc-side{display:none}
      .app-side{display:none}
      .cc-title{position:static;transform:none;margin-left:8px}
      .strip-label{font-size:10px}
      .app-main{padding:14px}
      .cc-thread{padding:12px}
      .cc-input{margin:0 10px 10px}
      .rotator{flex-direction:column;align-items:center;gap:10px;padding:12px 14px;margin-top:14px}
      .rot-label{text-align:center;line-height:1.3}
      .rot-dots{gap:16px;flex-wrap:wrap;justify-content:center;flex:0 1 auto}
      /* Urlbar: truncate host, allow shrinking, tighten chrome */
      .app-head{padding:8px 10px;gap:6px}
      .app-panel .urlbar{min-width:0;font-size:11px;padding:4px 10px;margin-left:4px}
      .app-panel .url-host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
      .app-panel .url-status{font-size:9px;padding:2px 6px;flex-shrink:0}
      .app-panel .url-proto{flex-shrink:0}
      /* Editor chrome: same tightening */
      .cc-chrome{padding:8px 12px;gap:6px}
    }
    @media(max-width:400px){
      .app-panel .url-proto{display:none}
    }

/* ============================================================================
   HERO COMPOSITION — prompt, chips, demo stage (reskinned to Amplemarket)
   ============================================================================ */
.hero-demo-stage{position:relative;width:100%;margin-top:0;isolation:isolate;
  animation:hero-stage-in .9s var(--ease) .25s both}
@keyframes hero-stage-in{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Demo stage container — kept simple; plume + rocket moved out of here */
.hero-ample{--hero-video-scale:1;--hero-video-y:0px;--hero-video-tilt:0deg;
  position:relative;overflow:visible;isolation:isolate}
.hero-strip-zoom{position:relative;z-index:3;
  transform:perspective(1400px) translate3d(0,var(--hero-video-y),0) scale(var(--hero-video-scale)) rotateX(var(--hero-video-tilt));
  transform-origin:center 100%;transition:transform .16s linear;will-change:transform}
.hero-ample-plume{display:none}
.hero-ample-rocket{display:none}
/* Hide the rainbow tile marquee — it was bleeding hot colors through the glass */
.hero-tiles{display:none}

.hero-stage-band{position:absolute;top:120px;bottom:80px;left:calc(50% - 50vw);width:100vw;
  z-index:1;pointer-events:none;overflow:hidden;
  background:linear-gradient(180deg,#dceaf7 0%,#bcd6ed 55%,#dceaf7 100%)}
.hero-stage-band::after{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1.4 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.55'/></svg>");
  background-size:180px 180px;mix-blend-mode:overlay;opacity:.02}
@media(max-width:960px){.hero-stage-band{top:80px;bottom:60px}}
@media(max-width:560px){.hero-stage-band{top:50px;bottom:40px}}

@keyframes hero-rocket-hover{
  from{transform:rotate(-12deg) translate3d(0,0,0)}
  to  {transform:rotate(-10deg) translate3d(-8px,-12px,0)}
}
@keyframes rocket-speed{
  0%  {stroke-dashoffset:72;opacity:0}
  20% {opacity:.85}
  72% {stroke-dashoffset:0;opacity:.7}
  100%{stroke-dashoffset:-72;opacity:0}
}
@media(max-width:960px){.hero-strip-zoom{transform-origin:center top}}
@media(max-width:560px){
  .hero-ample{overflow:hidden;margin-left:-16px;margin-right:-16px;width:calc(100% + 32px)}
  .hero-strip-zoom{padding:0 16px}
}
@media(prefers-reduced-motion:reduce){
  .hero-strip-zoom{transition:none;transform:none}
}

/* Prompt + chips — Amplemarket-scale email-input shape, lower-key */
.hero-chat-row{width:100%;display:flex;justify-content:center;margin:6px 0 0}
.hero-prompt-wrap{width:min(540px,100%);max-width:100%;display:flex;flex-direction:column;gap:12px;align-items:stretch}
.hero-prompt{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:46px;padding:5px 5px 5px 16px;
  border:1px solid var(--border);border-radius:var(--radius-button);
  background:var(--color-canvas-white);
  box-shadow:var(--shadow-sm);
  font-family:var(--font-mono);font-size:13px;color:var(--color-midnight-ink);letter-spacing:-.005em;
}
.hp-text{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hp-typed{color:var(--color-midnight-ink);font-weight:500}
.hp-caret{display:inline-block;width:7px;height:1.1em;margin-left:2px;border-radius:1px;
  background:var(--accent);vertical-align:-.18em;animation:hp-caret .9s step-end infinite}
@keyframes hp-caret{50%{opacity:0}}
.hp-build{
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:36px;padding:0 14px;border-radius:var(--radius-button);
  background:var(--color-midnight-ink);color:var(--color-canvas-white);
  font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:-.005em;
  transition:transform .22s var(--ease),background .22s var(--ease),box-shadow .28s var(--ease);
}
.hp-build:hover{transform:translateY(-1px);background:#000;
  box-shadow:0 10px 24px -8px var(--accent-glow),0 3px 8px -2px rgba(17,17,17,.16)}

/* "Works in" — label + editor chips. Static row by default. Chips can be wrapped in
   .he-marquee > .he-marquee-track when the count grows past one line. The marquee
   styles below stay in place and dormant until that wrapper returns. */
.hero-editors{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;color:var(--color-muted-ash);width:100%;min-width:0}
.he-label{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;color:var(--color-muted-ash);flex-shrink:0}
/* Desktop: marquee wrappers are transparent for layout, chips lay out as flex children
   of .hero-editors normally and duplicates are hidden. The mobile rules below take over
   at ≤560px to make this a real horizontal scrolling marquee. */
.he-marquee,.he-marquee-track{display:contents}
.he-chip.he-chip--dup{display:none}
@keyframes he-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.he-chip{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;
  font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--color-midnight-ink);
  letter-spacing:-.005em;white-space:nowrap;
  background:transparent;border:0;padding:0;
  transition:color .2s var(--ease),transform .2s var(--ease);
}
.he-chip svg{width:16px;height:16px;flex-shrink:0;color:currentColor;transition:color .2s var(--ease),transform .25s var(--ease)}
.he-chip:hover{color:var(--accent);transform:translateY(-1px)}
.he-chip:hover svg{color:var(--accent)}
@media(prefers-reduced-motion:reduce){.he-marquee-track{animation:none}}

/* ============================================================================
   SHOWCASE — "The Index" editorial spread
   Standard section header + featured pane (auto-cycle) + index list
   ============================================================================ */
.showcase-section{padding:88px 0 72px;background:var(--color-cream-light);overflow:hidden;position:relative}

/* Marquee strips — crisp edges (no edge mask) */
.mq-section{display:flex;flex-direction:column;gap:24px;background:transparent}
.mq-strip{width:100%;overflow:hidden;padding:6px 0}
.mq-track{display:flex;width:max-content;gap:24px;will-change:transform}
.mq-strip[data-mq-dir="right"] .mq-track{animation:mq-right 110s linear infinite}
.mq-strip[data-mq-dir="left"] .mq-track{animation:mq-left 130s linear infinite}
.mq-strip:hover .mq-track,.mq-strip:focus-within .mq-track{animation-play-state:paused}
@keyframes mq-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes mq-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq-card{flex:0 0 380px;color:inherit;text-decoration:none;transition:transform .24s var(--ease)}
.mq-card:hover{transform:translateY(-4px)}
.mq-img{position:relative;aspect-ratio:16/10;overflow:hidden;
  border:1px solid var(--border);border-radius:var(--radius-card);
  background:var(--color-cream-light);box-shadow:var(--shadow-sm)}
.mq-img img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s var(--ease),filter .35s var(--ease)}
.mq-img::after{content:"";position:absolute;inset:0;
  background:rgba(17,17,17,.22);
  opacity:0;transition:opacity .22s var(--ease)}
.mq-cta{position:absolute;left:50%;top:50%;z-index:2;
  transform:translate(-50%,-42%);opacity:0;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;padding:0 18px;border-radius:var(--radius-pill);
  background:var(--color-canvas-white);color:var(--color-midnight-ink);
  font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:-.005em;
  box-shadow:var(--shadow);
  transition:opacity .2s var(--ease),transform .2s var(--ease)}
.mq-card:hover .mq-img::after{opacity:1}
.mq-card:hover .mq-cta{opacity:1;transform:translate(-50%,-50%)}
.mq-card:hover .mq-img img{transform:scale(1.04);filter:saturate(1.06)}
.mq-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 4px 0}
.mq-title{font-size:16px;font-weight:500;color:var(--color-midnight-ink);letter-spacing:-.01em}
.mq-eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;
  letter-spacing:.08em;color:var(--color-muted-ash)}

.sc-end-cta{text-align:center;margin-top:44px}
.sc-end-link{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--accent);
  font-size:15px;letter-spacing:-.005em}
.sc-end-link:hover{text-decoration:underline;text-underline-offset:4px}

@media(prefers-reduced-motion:reduce){
  .mq-strip[data-mq-dir="right"] .mq-track,
  .mq-strip[data-mq-dir="left"] .mq-track{animation:none;transform:none}
}
@media(max-width:920px){
  .mq-card{flex-basis:300px}
  .mq-strip[data-mq-dir="right"] .mq-track{animation-duration:90s}
  .mq-strip[data-mq-dir="left"] .mq-track{animation-duration:106s}
  .mq-track{gap:18px}
}
@media(max-width:560px){
  .showcase-section{padding:64px 0 56px}
  .mq-card{flex-basis:268px}
}

/* ============================================================================
   INCLUDED — schematic stack: Build / Operate / Trust
   Editorial-engineering hybrid. Three vertical subsystems, twelve indexed
   items, one continuous stack. No icons, no card padding-soup.
   ============================================================================ */
#included.section-alt{background:var(--color-cream-light);position:relative;overflow:hidden}
#included.section-alt::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(circle at 1px 1px,rgba(17,17,17,.05) 1px,transparent 0);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 0%,transparent 80%);
  mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 0%,transparent 80%)}
#included > .section-header,#included > .stack-grid{position:relative;z-index:1}

.stack-grid{
  max-width:var(--max-w);margin:52px auto 0;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.stack-col{
  position:relative;padding:32px 32px 22px;
  background:var(--color-canvas-white);
  border:1px solid var(--border);
  margin-right:-1px}
.stack-col:last-child{margin-right:0}

/* Accent notch — short stripe at the top-left of each column.
   Same width across all three so they read as siblings, not a gradient. */
.stack-col::before{
  content:'';position:absolute;top:-1px;left:-1px;
  width:48px;height:2px;background:var(--accent)}

.stack-col__head{margin-bottom:22px;padding-bottom:18px;
  border-bottom:1px solid var(--border-light)}
.stack-col__index{
  font-family:var(--font-mono);font-size:11px;font-weight:500;
  letter-spacing:.14em;margin-bottom:14px;
  display:flex;align-items:baseline;gap:2px}
.stack-col__index .sci-active{color:var(--accent)}
.stack-col__index .sci-range{color:var(--text-muted);opacity:.7}
.stack-col__name{
  font-family:var(--font-head);font-size:30px;font-weight:600;
  letter-spacing:-.025em;line-height:1;color:var(--color-midnight-ink);
  margin:0 0 8px}
.stack-col__meta{
  font-family:'Instrument Serif',Georgia,serif;font-style:italic;
  font-size:17px;color:var(--text-muted);line-height:1.25;letter-spacing:.005em;
  margin:0}

.stack-col__items{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.stack-item{
  display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;
  padding:16px 0;
  border-bottom:1px solid var(--border-light);
  transition:transform .22s var(--ease)}
.stack-col__items > .stack-item:last-child{border-bottom:0}
.stack-item:hover{transform:translateX(2px)}

.stack-item__num{
  font-family:var(--font-mono);font-size:11px;font-weight:500;
  color:var(--text-muted);letter-spacing:.06em;
  padding-top:3px;
  position:relative;
  transition:color .22s var(--ease)}
.stack-item__num::after{
  content:'';position:absolute;left:24px;top:9px;
  width:0;height:1px;background:var(--accent);
  transition:width .26s var(--ease)}
.stack-item:hover .stack-item__num{color:var(--accent)}
.stack-item:hover .stack-item__num::after{width:8px}

.stack-item__body h4{
  font-family:var(--font-head);font-size:15px;font-weight:600;
  letter-spacing:-.012em;color:var(--color-midnight-ink);
  margin:0 0 4px;line-height:1.3}
.stack-item__body p{
  font-size:13px;line-height:1.5;color:var(--color-muted-ash);
  letter-spacing:-.005em;margin:0}

.stack-col--iconic .stack-item{
  grid-template-columns:40px 1fr;gap:16px;padding:18px 0}
.stack-col--iconic .stack-item__num{display:none}
.stack-item__glyph{
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border-light);border-radius:8px;
  color:var(--text-muted);background:var(--color-canvas-white);
  transition:color .26s var(--ease),border-color .26s var(--ease),background .26s var(--ease)}
.stack-item__glyph svg{width:20px;height:20px;display:block}
.stack-col--iconic .stack-item:hover .stack-item__glyph{
  color:var(--accent);border-color:var(--accent);
  background:color-mix(in oklch, var(--accent) 7%, transparent)}

@media (prefers-reduced-motion: no-preference){
  .stack-col--iconic .stack-item__glyph{
    opacity:0;transform:translateY(8px) scale(.94);
    transition:opacity .55s var(--ease),transform .55s var(--ease),
      color .26s var(--ease),border-color .26s var(--ease),background .26s var(--ease)}
  .stack-col--iconic.visible .stack-item:nth-child(1) .stack-item__glyph{
    opacity:1;transform:none;transition-delay:.32s}
  .stack-col--iconic.visible .stack-item:nth-child(2) .stack-item__glyph{
    opacity:1;transform:none;transition-delay:.42s}
  .stack-col--iconic.visible .stack-item:nth-child(3) .stack-item__glyph{
    opacity:1;transform:none;transition-delay:.52s}
  .stack-col--iconic.visible .stack-item:nth-child(4) .stack-item__glyph{
    opacity:1;transform:none;transition-delay:.62s}

  .stack-item__glyph svg .g-target,
  .stack-item__glyph svg .g-bar,
  .stack-item__glyph svg .g-newuser{
    transform-box:fill-box;transform-origin:center}
  .stack-item__glyph svg .g-bar{transform-origin:50% 100%}

  .stack-col--iconic .stack-item:hover .g-staging .g-target{
    animation:g-pulse 1.4s var(--ease) infinite;stroke:var(--accent)}
  .stack-col--iconic .stack-item:hover .g-staging .g-branch-line{
    stroke:var(--accent)}

  .g-table .g-row{stroke-dasharray:16;stroke-dashoffset:0}
  .stack-col--iconic .stack-item:hover .g-table .g-row{
    stroke:var(--accent);
    animation:g-row-sweep 1.6s var(--ease) infinite}

  .stack-col--iconic .stack-item:hover .g-bars .g-bar{
    stroke:var(--accent);
    animation:g-bar-grow 1.1s var(--ease) infinite alternate}
  .stack-col--iconic .stack-item:hover .g-bars .g-bar-2{animation-delay:.12s}
  .stack-col--iconic .stack-item:hover .g-bars .g-bar-3{animation-delay:.24s}

  .stack-col--iconic .stack-item:hover .g-people .g-newuser{
    animation:g-pulse 1.4s var(--ease) infinite;stroke:var(--accent)}
  .stack-col--iconic .stack-item:hover .g-people .g-newuser-arc{
    stroke:var(--accent)}

  @keyframes g-pulse{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.22)}
  }
  @keyframes g-row-sweep{
    0%{stroke-dashoffset:16;opacity:.4}
    50%{stroke-dashoffset:0;opacity:1}
    100%{stroke-dashoffset:-16;opacity:.4}
  }
  @keyframes g-bar-grow{
    0%{transform:scaleY(.55)}
    100%{transform:scaleY(1)}
  }

  /* Postgres — middle ellipse pulses (data writing) */
  .g-db .g-db-mid{transform-box:fill-box;transform-origin:center}
  .stack-col--iconic .stack-item:hover .g-db .g-db-mid{
    stroke:var(--accent);
    animation:g-db-scan 1.6s var(--ease) infinite}

  /* Auth key — rotates a touch as if turning */
  .g-key .g-key-body{transform-box:fill-box;transform-origin:8px 14px}
  .stack-col--iconic .stack-item:hover .g-key .g-key-body{
    animation:g-key-turn 1.4s var(--ease) infinite}

  /* Globe — meridian sweeps (rotation around y) */
  .g-globe .g-globe-meridian{transform-box:fill-box;transform-origin:center;
    stroke-dasharray:32;stroke-dashoffset:0}
  .stack-col--iconic .stack-item:hover .g-globe .g-globe-meridian{
    stroke:var(--accent);
    animation:g-globe-spin 1.8s var(--ease) infinite}

  /* Integrations — center node pulses, links highlight */
  .g-network .g-net-c{transform-box:fill-box;transform-origin:center}
  .stack-col--iconic .stack-item:hover .g-network .g-net-c{
    stroke:var(--accent);
    animation:g-pulse 1.2s var(--ease) infinite}
  .stack-col--iconic .stack-item:hover .g-network .g-net-l1,
  .stack-col--iconic .stack-item:hover .g-network .g-net-l2{
    stroke:var(--accent)}

  /* Vault — three dots fill in sequence (typing a passphrase) */
  .g-vault .g-vault-dot{transition:fill .3s var(--ease)}
  .stack-col--iconic .stack-item:hover .g-vault .g-vault-dot-1{
    animation:g-vault-fill 1.6s var(--ease) infinite}
  .stack-col--iconic .stack-item:hover .g-vault .g-vault-dot-2{
    animation:g-vault-fill 1.6s var(--ease) infinite;animation-delay:.2s}
  .stack-col--iconic .stack-item:hover .g-vault .g-vault-dot-3{
    animation:g-vault-fill 1.6s var(--ease) infinite;animation-delay:.4s}
  .stack-col--iconic .stack-item:hover .g-vault .g-vault-shackle{stroke:var(--accent)}

  /* Rollback — arc traces backward */
  .g-rollback .g-rollback-arc{stroke-dasharray:50;stroke-dashoffset:0}
  .stack-col--iconic .stack-item:hover .g-rollback .g-rollback-arc{
    stroke:var(--accent);
    animation:g-rollback-spin 1.6s var(--ease) infinite}

  /* Shield — checkmark draws in */
  .g-shield .g-shield-check{stroke-dasharray:14;stroke-dashoffset:14}
  .stack-col--iconic .stack-item:hover .g-shield .g-shield-check{
    stroke:var(--accent);
    animation:g-check-draw 1.6s var(--ease) infinite}

  /* Terminal — cursor blinks */
  .stack-col--iconic .stack-item:hover .g-terminal .g-terminal-cursor{
    stroke:var(--accent);
    animation:g-cursor-blink 1s steps(2,end) infinite}

  @keyframes g-db-scan{
    0%,100%{transform:translateY(-3px) scaleX(.95);opacity:.4}
    50%{transform:translateY(0) scaleX(1);opacity:1}
  }
  @keyframes g-key-turn{
    0%,100%{transform:rotate(0deg)}
    50%{transform:rotate(-14deg)}
  }
  @keyframes g-globe-spin{
    0%{transform:scaleX(1)}
    50%{transform:scaleX(.15)}
    100%{transform:scaleX(1)}
  }
  @keyframes g-vault-fill{
    0%,40%,100%{fill:transparent}
    50%,90%{fill:currentColor}
  }
  @keyframes g-rollback-spin{
    0%{stroke-dashoffset:50}
    60%,100%{stroke-dashoffset:0}
  }
  @keyframes g-check-draw{
    0%,15%{stroke-dashoffset:14}
    55%,100%{stroke-dashoffset:0}
  }
  @keyframes g-cursor-blink{
    0%,49%{opacity:1}
    50%,100%{opacity:.15}
  }
}

@media(max-width:960px){
  .stack-grid{grid-template-columns:1fr}
  .stack-col{margin-right:0;margin-bottom:-1px;padding:28px 24px 12px}
  .stack-col:last-child{margin-bottom:0}
}
@media(max-width:560px){
  .stack-grid{padding:0 16px;margin-top:36px}
  .stack-col{padding:24px 20px 10px}
  .stack-col__name{font-size:26px}
  .stack-col__meta{font-size:16px}
}

/* ============================================================================
   HOW IT WORKS — dark teaser
   ============================================================================ */
.how-section{background:var(--color-cream-light);color:var(--text)}
.how-section .section-title{color:var(--color-midnight-ink)}
.how-section .section-desc{color:var(--text-muted)}
.hiw-teaser-steps{max-width:920px;margin:0 auto 36px;padding:36px 24px 0;list-style:none;
  display:flex;justify-content:space-between;align-items:flex-start;gap:0;position:relative}
.hiw-teaser-steps::before{content:'';position:absolute;left:60px;right:60px;top:55px;height:1px;
  background:var(--accent);
  opacity:.32;z-index:0}
.hiw-teaser-steps li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;flex:1;min-width:0}
.hiw-num{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--color-canvas-white);border:1px solid var(--border);
  font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.04em;
  transition:all .22s var(--ease)}
.hiw-teaser-steps li:hover .hiw-num{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.08)}
.hiw-label{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--color-midnight-ink);letter-spacing:-.005em}
.hiw-cta{text-align:center}
.how-section .btn-secondary{border-color:var(--border);color:var(--color-midnight-ink);background:var(--color-canvas-white)}
.how-section .btn-secondary:hover{background:var(--color-midnight-ink);color:#fff;border-color:var(--color-midnight-ink)}

/* ============================================================================
   HERO + SHARED RESPONSIVE
   ============================================================================ */
@media(max-width:900px){
  .hero-card{padding:104px 20px 64px}
  .hero h1{font-size:clamp(36px,9vw,60px)}
  .hiw-teaser-steps{flex-wrap:wrap;justify-content:flex-start;gap:24px 0;padding-top:24px}
  .hiw-teaser-steps::before{display:none}
  .hiw-teaser-steps li{flex:0 0 25%}
}
@media(max-width:560px){
  .hero-card{padding:96px 16px 48px}
  .hero-prompt{flex-direction:column;align-items:stretch;padding:14px;min-height:0}
  .hp-text{white-space:normal;line-height:1.5}
  .hp-build{width:100%}
  /* On mobile the chips become a horizontal scrolling marquee. Label sits above. */
  .hero-editors{flex-direction:column;flex-wrap:nowrap;gap:8px;align-items:stretch}
  .he-label{width:100%;text-align:center}
  .he-marquee{display:block;width:100%;overflow:hidden;
    -webkit-mask-image:linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
            mask-image:linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%)}
  .he-marquee-track{display:flex;flex-wrap:nowrap;width:max-content;align-items:center;gap:24px;
    animation:he-scroll 24s linear infinite;will-change:transform}
  .he-marquee:hover .he-marquee-track{animation-play-state:paused}
  .he-chip.he-chip--dup{display:inline-flex}
  .hiw-teaser-steps li{flex:0 0 33.333%}
}
@media(prefers-reduced-motion:reduce){
  .hero-card::before,.hero-demo-stage,.hp-caret,.dp-pulse{animation:none !important}
}
/* ============================================================
   HOW IT WORKS — scroll-driven 7-step walkthrough
   Lives between #proof (Showcase) and Reasons. Self-contained
   dark card on the page background. Per-step hue tints the
   ambient halo + accents inside the visual frame.
   ============================================================ */
.hiw-section{
  --hiw-line: rgba(255,255,255,.10);
  --hiw-line-strong: rgba(255,255,255,.18);
  --hiw-fg: #f5f5f7;
  --hiw-fg-dim: rgba(245,245,247,.62);
  --hiw-fg-mute: rgba(245,245,247,.38);
  --hiw-card: #121214;
  --hiw-card-2: #16171a;
  --hiw-hue: 80;
  --hiw-glow: oklch(0.92 0.04 var(--hiw-hue));
  position:relative;
  background:#0a0a0c;
  color:var(--hiw-fg);
  padding:0;
}
.hiw-track{position:relative;width:100%;}
.hiw-sticky{
  position:sticky;top:0;
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:48px 24px;
}
.hiw-sticky-inner{width:100%;max-width:1180px;margin:0 auto;}
.hiw-card{
  position:relative;
  background:var(--hiw-card);
  border:1px solid var(--hiw-line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 80px 180px -60px rgba(0,0,0,.8);
}
.hiw-card-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 28px;
  border-bottom:1px solid var(--hiw-line);
}
.hiw-eyebrow{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;
  color:var(--hiw-fg-mute);text-transform:uppercase;
  display:inline-flex;align-items:center;gap:12px;
}
.hiw-eyebrow-dot{
  width:6px;height:6px;border-radius:99px;
  background:var(--hiw-glow);box-shadow:0 0 12px var(--hiw-glow);
  transition:background .5s,box-shadow .5s;
}
.hiw-counter{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.20em;
  color:var(--hiw-fg-mute);
  display:inline-flex;align-items:center;gap:12px;
}
.hiw-counter b{color:var(--hiw-fg);font-weight:500;}
.hiw-counter .hiw-counter-sep{opacity:.4;}

.hiw-card-body{
  display:grid;grid-template-columns:1fr 1.25fr;align-items:stretch;
  min-height:460px;
}
.hiw-text{
  position:relative;
  padding:56px 56px;
  display:flex;align-items:center;
  border-right:1px solid var(--hiw-line);
  overflow:hidden;
}
.hiw-text-inner{position:relative;width:100%;max-width:520px;}
.hiw-giant{
  position:absolute;top:-18px;right:0;
  font-family:var(--font-mono);font-weight:300;
  font-size:220px;line-height:1;letter-spacing:-.05em;
  color:rgba(255,255,255,.04);
  pointer-events:none;user-select:none;
  transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .7s ease;
}
.hiw-meta{
  position:relative;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;
  color:var(--hiw-fg-mute);text-transform:uppercase;
  margin-bottom:28px;
  display:flex;align-items:center;gap:12px;
}
.hiw-meta-rule{display:inline-block;width:22px;height:1px;background:var(--hiw-line-strong);}
.hiw-meta-title{margin-left:6px;color:var(--hiw-fg-dim);}
.hiw-headline{
  position:relative;margin:0;
  font-family:var(--font-body);
  font-size:clamp(28px,3.2vw,44px);
  font-weight:400;letter-spacing:-.025em;line-height:1.06;
  text-wrap:balance;color:var(--hiw-fg);
}
.hiw-desc{
  position:relative;margin:24px 0 0;
  font-size:15px;line-height:1.6;color:var(--hiw-fg-dim);
  max-width:480px;text-wrap:pretty;
}
.hiw-meta,.hiw-headline,.hiw-desc{
  transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .55s ease,filter .55s ease;
}
.hiw-text.is-entering .hiw-giant{transform:translateY(-14px);opacity:0;}
.hiw-text.is-entering .hiw-meta{transform:translateY(14px);opacity:0;filter:blur(6px);transition-delay:.06s;}
.hiw-text.is-entering .hiw-headline{transform:translateY(14px);opacity:0;filter:blur(6px);transition-delay:.14s;}
.hiw-text.is-entering .hiw-desc{transform:translateY(14px);opacity:0;filter:blur(6px);transition-delay:.22s;}

.hiw-stage{
  padding:40px 48px;
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.hiw-stage-inner{
  position:relative;width:100%;max-width:540px;height:100%;
  min-height:380px;
}
.hiw-halo{display:none}
.hiw-stage.is-entering .hiw-halo{opacity:.3;transform:scale(.9);}

.hiw-frame{
  position:absolute;inset:0;
  background:var(--hiw-card-2);
  border:1px solid var(--hiw-line);
  border-radius:8px;overflow:hidden;
  box-shadow:0 50px 120px -40px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.02) inset;
  transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .55s ease;
}
.hiw-stage.is-entering .hiw-frame{transform:translateY(18px) scale(.97);opacity:.2;}
.hiw-frame-head{
  height:30px;border-bottom:1px solid var(--hiw-line);
  display:flex;align-items:center;padding:0 14px;gap:6px;
  position:relative;z-index:2;
}
.hiw-frame-head i{
  width:6px;height:6px;border-radius:99px;background:rgba(255,255,255,.08);
  display:inline-block;
}
.hiw-frame-name{
  margin-left:auto;font-family:var(--font-mono);font-size:9px;
  color:var(--hiw-fg-mute);letter-spacing:.16em;text-transform:uppercase;
}
.hiw-frame-led{
  position:absolute;top:12px;right:12px;
  width:5px;height:5px;border-radius:99px;
  background:oklch(0.85 0.15 var(--hiw-hue));
  box-shadow:0 0 14px oklch(0.85 0.15 var(--hiw-hue));
  z-index:3;transition:background .5s,box-shadow .5s;
}
.hiw-frame-body{
  position:absolute;top:30px;left:0;right:0;bottom:0;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hiw-vis{
  position:absolute;inset:16px;
  opacity:0;visibility:hidden;
  transition:opacity .35s ease;
}
.hiw-vis.is-active{opacity:1;visibility:visible;}

/* ── footer / stepper ─────────────────────────────────────── */
.hiw-card-foot{
  padding:22px 32px 28px;
  border-top:1px solid var(--hiw-line);
  display:flex;align-items:center;gap:18px;
}
.hiw-stepper{
  display:flex;align-items:center;gap:0;flex:1;
  position:relative;padding:0 4px;
}
.hiw-step-btn{
  position:relative;background:transparent;border:0;padding:0;
  cursor:pointer;
  width:24px;height:24px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.hiw-step-dot{
  width:6px;height:6px;border-radius:99px;
  background:transparent;border:1px solid var(--hiw-line-strong);
  transition:all .35s cubic-bezier(.2,.8,.2,1);
}
.hiw-step-btn[data-reached="1"] .hiw-step-dot{
  background:var(--hiw-fg);border:0;width:6px;height:6px;
}
.hiw-step-btn[data-current="1"] .hiw-step-dot{
  background:var(--hiw-fg);border:0;width:10px;height:10px;
  box-shadow:0 0 0 5px rgba(255,255,255,.05),0 0 18px var(--hiw-glow);
}
.hiw-step-label{
  position:absolute;top:28px;left:50%;transform:translateX(-50%);
  font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;
  color:var(--hiw-fg-mute);text-transform:uppercase;white-space:nowrap;
  opacity:.5;transition:opacity .3s,color .3s;
}
.hiw-step-btn[data-current="1"] .hiw-step-label{color:var(--hiw-fg);opacity:1;}
.hiw-step-rail{flex:1;height:1px;position:relative;background:var(--hiw-line);overflow:hidden;}
.hiw-step-rail i{
  position:absolute;top:0;left:0;height:1px;width:0;
  background:var(--hiw-fg);
  transition:width .55s cubic-bezier(.2,.8,.2,1);
}
.hiw-step-rail[data-filled="1"] i{width:100%;}

.hiw-nav{display:flex;gap:8px;flex-shrink:0;}
.hiw-nav-btn{
  width:32px;height:32px;border-radius:99px;
  background:transparent;border:1px solid var(--hiw-line-strong);
  color:var(--hiw-fg-dim);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:border-color .25s,color .25s,transform .25s;
}
.hiw-nav-btn:hover{
  border-color:rgba(255,255,255,.4);color:var(--hiw-fg);
}
.hiw-nav-btn svg{width:11px;height:11px;}

/* scroll cue under the card */
.hiw-cue{
  text-align:center;margin-top:18px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;
  color:var(--hiw-fg-mute);text-transform:uppercase;
  opacity:1;transition:opacity .4s;
}
.hiw-cue[data-hidden="1"]{opacity:0;}

/* ── Visuals ─────────────────────────────────────────────── */
/* shared */
.hiw-vis-body{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;}
.hiw-mono-label{
  font-family:var(--font-mono);font-size:8px;letter-spacing:.18em;
  color:var(--hiw-fg-mute);text-transform:uppercase;
}

/* PLAN */
.hiw-plan-progress{display:flex;gap:4px;margin-bottom:2px;}
.hiw-plan-progress i{
  display:inline-block;width:14px;height:2px;background:var(--hiw-line-strong);
  opacity:.3;transition:all .3s;
}
.hiw-plan-progress i[data-state="cur"]{background:var(--hiw-fg);opacity:1;}
.hiw-plan-progress i[data-state="done"]{background:var(--hiw-fg);opacity:.6;}
.hiw-plan-q{
  font-size:13px;font-weight:500;line-height:1.3;
  letter-spacing:-.01em;color:var(--hiw-fg);
}
.hiw-plan-opts{display:flex;flex-direction:column;gap:5px;margin-top:2px;}
.hiw-plan-opt{
  display:flex;align-items:center;gap:8px;
  padding:6px 9px;
  border:1px solid var(--hiw-line-strong);border-radius:4px;
  background:transparent;
  opacity:0;transform:translateX(-8px);
  transition:opacity .3s cubic-bezier(.2,.8,.2,1),transform .3s cubic-bezier(.2,.8,.2,1),
    border-color .3s,background .3s;
}
.hiw-plan-opt[data-shown="1"]{opacity:1;transform:translateX(0);}
.hiw-plan-opt[data-dimmed="1"]{opacity:.35;}
.hiw-plan-opt[data-picked="1"]{
  border-color:var(--hiw-fg);
  background:rgba(246,244,238,.08);opacity:1;
}
.hiw-plan-radio{
  width:10px;height:10px;border-radius:99px;
  border:1.5px solid var(--hiw-line-strong);
  position:relative;flex-shrink:0;
  transition:border-color .3s;
}
.hiw-plan-opt[data-picked="1"] .hiw-plan-radio{border-color:var(--hiw-fg);}
.hiw-plan-radio::after{
  content:"";position:absolute;inset:2px;border-radius:99px;
  background:var(--hiw-fg);transform:scale(0);
  transition:transform .25s cubic-bezier(.5,1.7,.5,1);
}
.hiw-plan-opt[data-picked="1"] .hiw-plan-radio::after{transform:scale(1);}
.hiw-plan-opt-text{font-size:11px;color:var(--hiw-fg-dim);}
.hiw-plan-opt[data-picked="1"] .hiw-plan-opt-text{color:var(--hiw-fg);}

/* PREVIEW */
.hiw-prev-thumbs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:14px;}
.hiw-prev-thumb{
  position:relative;height:44px;border-radius:4px;
  border:1.5px solid var(--hiw-line-strong);
  overflow:hidden;opacity:0;transform:translateY(6px) scale(.96);
  transition:all .35s cubic-bezier(.2,.8,.2,1),border-color .2s,box-shadow .2s;
}
.hiw-prev-thumb[data-shown="1"]{opacity:1;transform:translateY(0) scale(1);}
.hiw-prev-thumb[data-dimmed="1"]{opacity:.4;}
.hiw-prev-thumb[data-picked="1"]{
  border-color:var(--hiw-fg);
  box-shadow:0 0 0 3px rgba(246,244,238,.18);opacity:1;
}
.hiw-prev-thumb b{
  position:absolute;top:6px;left:6px;right:6px;height:4px;border-radius:1px;opacity:.85;
}
.hiw-prev-thumb i{position:absolute;height:2px;border-radius:1px;opacity:.35;}
.hiw-prev-thumb i.r1{top:14px;left:6px;width:60%;}
.hiw-prev-thumb i.r2{top:20px;left:6px;width:70%;}
.hiw-prev-thumb u{position:absolute;bottom:6px;left:6px;width:14px;height:4px;border-radius:1px;text-decoration:none;}
.hiw-prev-thumb s{position:absolute;bottom:6px;right:6px;width:6px;height:6px;border-radius:99px;text-decoration:none;}
.hiw-prev-thumb-name{
  position:absolute;top:-11px;left:0;
  font-family:var(--font-mono);font-size:7px;letter-spacing:.14em;
  color:var(--hiw-fg-mute);opacity:0;transition:all .25s;text-transform:uppercase;
}
.hiw-prev-thumb[data-shown="1"] .hiw-prev-thumb-name{opacity:1;}
.hiw-prev-thumb[data-picked="1"] .hiw-prev-thumb-name{color:var(--hiw-fg);}

.hiw-prev-mock{
  position:relative;flex:1;margin-top:8px;border-radius:5px;
  border:1px solid var(--hiw-line-strong);overflow:hidden;
  background:transparent;
  transition:background .35s,opacity .25s,transform .25s;
}
.hiw-prev-mock-empty{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-size:8px;letter-spacing:.16em;
  color:var(--hiw-fg-mute);text-transform:uppercase;
}
.hiw-prev-mock-stage{position:absolute;inset:10px;display:none;}
.hiw-prev-mock-stage[data-active="1"]{display:block;}
.hiw-prev-mock-line{
  opacity:0;transform:translateY(6px);
  transition:all .3s cubic-bezier(.2,.8,.2,1);
}
.hiw-prev-mock-line[data-shown="1"]{opacity:1;transform:translateY(0);}

/* DESIGN */
.hiw-design{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;
}
.hiw-design-swatch{
  width:8px;height:56px;border-radius:3px;
  border:1px solid rgba(255,255,255,.1);
  transition:width .55s cubic-bezier(.2,.8,.2,1);
  overflow:hidden;position:relative;
}
.hiw-design-swatch[data-active="1"]{width:56px;}
.hiw-design-swatch b,.hiw-design-swatch i,.hiw-design-swatch u{
  display:none;position:absolute;text-decoration:none;
}
.hiw-design-swatch[data-active="1"] b,
.hiw-design-swatch[data-active="1"] i,
.hiw-design-swatch[data-active="1"] u{display:block;}
.hiw-design-swatch b{top:8px;left:8px;right:8px;height:3px;opacity:.9;border-radius:1px;}
.hiw-design-swatch i{top:16px;left:8px;width:60%;height:2px;opacity:.35;border-radius:1px;}
.hiw-design-swatch u{bottom:8px;left:8px;width:16px;height:4px;border-radius:1px;}

/* BUILD */
.hiw-build{
  position:absolute;inset:0;display:grid;grid-template-columns:90px 1fr;gap:12px;
}
.hiw-build-tree{
  display:flex;flex-direction:column;gap:4px;
  font-family:var(--font-mono);font-size:8.5px;color:var(--hiw-fg-mute);
}
.hiw-build-file{
  display:flex;align-items:center;gap:4px;
  color:var(--hiw-fg-mute);transition:color .3s;
}
.hiw-build-file[data-active="1"]{color:var(--hiw-fg);}
.hiw-build-file b{
  width:4px;height:4px;border-radius:99px;
  background:transparent;border:1px solid var(--hiw-line-strong);flex-shrink:0;
  display:inline-block;
}
.hiw-build-file[data-active="1"] b{
  background:var(--hiw-glow);border:0;
  box-shadow:0 0 6px var(--hiw-glow);
}
.hiw-build-file span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.03em;}
.hiw-build-code{
  background:rgba(0,0,0,.25);border:1px solid var(--hiw-line);border-radius:3px;
  padding:8px;display:flex;flex-direction:column;gap:3px;
  position:relative;overflow:hidden;
}
.hiw-build-line{
  display:flex;align-items:center;gap:4px;
  opacity:0;transform:translateX(-4px);
  transition:opacity .25s,transform .25s;
}
.hiw-build-line[data-shown="1"]{opacity:1;transform:translateX(0);}
.hiw-build-line b{
  font-family:var(--font-mono);font-size:6px;color:var(--hiw-fg-mute);width:8px;
  font-weight:400;
}
.hiw-build-line i{
  height:2px;background:var(--hiw-fg);opacity:.45;
  transition:all .3s;display:block;
}
.hiw-build-line[data-current="1"] i{
  background:var(--hiw-glow);opacity:.9;box-shadow:0 0 6px var(--hiw-glow);
}

/* DEPLOY */
.hiw-deploy{position:absolute;inset:0;display:flex;flex-direction:column;}
.hiw-deploy-status{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--font-mono);font-size:8.5px;color:var(--hiw-fg-mute);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;
}
.hiw-deploy-status b{display:inline-flex;align-items:center;gap:5px;font-weight:500;color:inherit;}
.hiw-deploy-status b i{
  width:5px;height:5px;border-radius:99px;background:var(--hiw-fg-mute);
  display:inline-block;transition:background .4s,box-shadow .4s;
}
.hiw-deploy[data-live="1"] .hiw-deploy-status b i{
  background:var(--hiw-glow);box-shadow:0 0 8px var(--hiw-glow);
  animation:hiw-tile-blink 1.4s ease-in-out infinite;
}
.hiw-deploy-map{
  flex:1;
  background:rgba(255,255,255,.025);
  border:1px solid var(--hiw-line);border-radius:3px;
  position:relative;overflow:hidden;
}
.hiw-deploy-map svg{position:absolute;inset:0;width:100%;height:100%;}
.hiw-deploy-node{
  position:absolute;transform:translate(-50%,-50%);
  width:5px;height:5px;border-radius:99px;background:transparent;
  border:1px solid var(--hiw-line-strong);
  transition:all .35s cubic-bezier(.2,.8,.2,1);
}
.hiw-deploy-node[data-lit="1"]{
  width:8px;height:8px;background:var(--hiw-glow);border:0;
  box-shadow:0 0 12px var(--hiw-glow);
}
.hiw-deploy-origin{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:6px;height:6px;border-radius:99px;background:var(--hiw-fg);
}
.hiw-deploy-url{
  margin-top:8px;font-family:var(--font-mono);font-size:8.5px;
  padding:5px 8px;border:1px solid var(--hiw-line);border-radius:2px;
  background:rgba(0,0,0,.25);color:var(--hiw-fg-mute);letter-spacing:.04em;
  display:flex;align-items:center;gap:6px;transition:all .4s;
}
.hiw-deploy[data-live="1"] .hiw-deploy-url{
  border-color:var(--hiw-line-strong);color:var(--hiw-fg);
}
.hiw-deploy-url u{opacity:.6;text-decoration:none;}
.hiw-deploy-url s{
  margin-left:auto;text-decoration:none;color:var(--hiw-glow);
  opacity:0;transition:opacity .4s;
}
.hiw-deploy[data-live="1"] .hiw-deploy-url s{opacity:1;}

/* QA */
.hiw-qa{position:absolute;inset:0;display:flex;flex-direction:column;}
.hiw-qa-head{
  display:flex;justify-content:space-between;
  font-family:var(--font-mono);font-size:8.5px;color:var(--hiw-fg-mute);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;
}
.hiw-qa-status[data-pass="1"]{color:var(--hiw-glow);}
.hiw-qa-screen{
  flex:1;border:1px solid var(--hiw-line);border-radius:3px;
  background:rgba(0,0,0,.25);position:relative;overflow:hidden;
}
.hiw-qa-screen::before{
  content:"";position:absolute;top:8px;left:8px;width:36%;height:2px;
  background:var(--hiw-fg);opacity:.3;
}
.hiw-qa-screen::after{
  content:"";position:absolute;top:14px;left:8px;width:20%;height:1.5px;
  background:var(--hiw-fg);opacity:.18;
}
.hiw-qa-rule{position:absolute;top:50%;left:8px;right:8px;height:1px;background:var(--hiw-line);}
.hiw-qa-check{
  position:absolute;transform:translate(-50%,-50%);
  width:14px;height:14px;border-radius:99px;
  border:1px solid var(--hiw-glow);background:rgba(246,244,238,.06);
  display:none;align-items:center;justify-content:center;
  font-size:9px;line-height:1;color:var(--hiw-glow);
  animation:hiw-tile-pulse .5s ease-out;
}
.hiw-qa-check[data-done="1"]{display:flex;}
.hiw-qa-cursor{
  position:absolute;transform:translate(-50%,-50%);
  pointer-events:none;z-index:3;
  transition:left .55s cubic-bezier(.4,1.4,.5,1),top .55s cubic-bezier(.4,1.4,.5,1);
}
.hiw-qa-cursor[data-hidden="1"]{display:none;}
.hiw-qa-cursor svg{filter:drop-shadow(0 0 6px var(--hiw-glow));display:block;}
.hiw-qa-cursor::before{
  content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:22px;height:22px;border-radius:99px;border:1px solid var(--hiw-fg);
  animation:hiw-qa-click 1s ease-out infinite;opacity:.6;
}

/* ITERATE */
.hiw-iter{position:absolute;inset:0;display:flex;flex-direction:column;}
.hiw-iter-head{
  display:flex;justify-content:space-between;
  font-family:var(--font-mono);font-size:8.5px;color:var(--hiw-fg-mute);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;
}
.hiw-iter-version[data-shipped="1"]{color:var(--hiw-glow);}
.hiw-iter-screen{
  flex:1;position:relative;border:1px solid var(--hiw-line);border-radius:3px;
  background:rgba(0,0,0,.25);overflow:hidden;
}
.hiw-iter-scan{
  position:absolute;left:0;right:0;height:18px;
  background:oklch(0.85 0.15 80 / 0.14);
  animation:hiw-iter-scan 1.5s linear infinite;
  pointer-events:none;display:none;
}
.hiw-iter[data-phase="0"] .hiw-iter-scan{display:block;}
.hiw-iter-item{
  position:absolute;background:var(--hiw-fg);opacity:.5;
  transition:opacity .3s,background .3s,outline .3s;
}
.hiw-iter[data-phase="1"] .hiw-iter-item[data-flagged="1"],
.hiw-iter[data-phase="2"] .hiw-iter-item[data-flagged="1"]{
  opacity:.3;outline:1px solid oklch(0.75 0.18 30);outline-offset:2px;
  animation:hiw-tile-blink .6s ease-in-out infinite;
}
.hiw-iter[data-phase="3"] .hiw-iter-item[data-flagged="1"]{
  background:var(--hiw-glow);opacity:.85;
}
.hiw-iter-flag{
  position:absolute;font-family:var(--font-mono);font-size:7.5px;letter-spacing:.1em;
  padding:2px 5px;border:1px solid oklch(0.75 0.18 30);border-radius:2px;
  color:oklch(0.85 0.18 30);background:oklch(0.4 0.1 30 / 0.3);
  white-space:nowrap;display:none;animation:hiw-iter-flag-in .25s ease-out;
}
.hiw-iter[data-phase="1"] .hiw-iter-flag{display:block;}
.hiw-iter-patch{
  position:absolute;height:1.5px;background:var(--hiw-glow);
  box-shadow:0 0 8px var(--hiw-glow);width:0;display:none;
  animation:hiw-iter-patch .6s ease-out;
}
.hiw-iter[data-phase="2"] .hiw-iter-patch{display:block;}
.hiw-iter-tick{
  position:absolute;right:8px;top:8px;
  font-size:10px;line-height:1;color:var(--hiw-glow);display:none;
  animation:hiw-tile-pulse .5s ease-out;
}
.hiw-iter[data-phase="3"] .hiw-iter-tick{display:block;}

/* keyframes */
@keyframes hiw-tile-pulse{
  0%,100%{transform:scale(1);opacity:1;}
  50%{transform:scale(1.6);opacity:.6;}
}
@keyframes hiw-tile-blink{
  0%,100%{opacity:1;}
  50%{opacity:.5;}
}
@keyframes hiw-qa-click{
  0%{transform:translate(-50%,-50%) scale(.5);opacity:.8;}
  100%{transform:translate(-50%,-50%) scale(1.6);opacity:0;}
}
@keyframes hiw-iter-scan{
  0%{transform:translateY(-20px);}
  100%{transform:translateY(140px);}
}
@keyframes hiw-iter-flag-in{
  0%{opacity:0;transform:translateX(0);}
  100%{opacity:1;transform:translateX(6px);}
}
@keyframes hiw-iter-patch{
  0%{width:0;}
  100%{width:78%;}
}

/* responsive */
@media (max-width: 920px){
  .hiw-card-body{grid-template-columns:1fr;min-height:auto;}
  .hiw-text{padding:36px 28px 20px;border-right:0;border-bottom:1px solid var(--hiw-line);}
  .hiw-stage{padding:20px 24px 32px;}
  .hiw-stage-inner{min-height:280px;}
  .hiw-giant{font-size:140px;top:-10px;right:-6px;}
  .hiw-card-foot{padding:18px 20px 20px;flex-wrap:wrap;gap:14px;}
  .hiw-step-label{display:none;}
  .hiw-sticky{padding:32px 16px;}
}
@media (max-width: 640px){
  .hiw-card-head{padding:14px 18px;}
  .hiw-text{padding:28px 22px 18px;}
  .hiw-stage{padding:16px 18px 24px;}
  .hiw-headline{font-size:24px;}
  .hiw-desc{font-size:14px;}
  .hiw-giant{font-size:96px;}
}

/* reduced motion: stop the animations, keep static state */
@media (prefers-reduced-motion: reduce){
  .hiw-text *,.hiw-stage *,.hiw-vis *,.hiw-frame{
    animation:none !important;
    transition:opacity .3s ease !important;
  }
  .hiw-iter-scan{display:none !important;}
}

.hero-stack-note{font-family:var(--font-mono);font-size:11.5px;font-weight:500;
  letter-spacing:.06em;color:var(--color-muted-ash);text-align:center;
  margin:4px auto 0;max-width:560px}

/* ---------- FEATURES PROTOTYPE — illustrated cards ----------
   Three demo cards showcasing the proposed visual language for a future
   12-feature grid. Each illustration reuses the hero's stacked-sheet
   primitives (cube tops, side faces, layer lines, rhombus sheets). Hover
   triggers a single tasteful gesture per card. */
.features-prototype{
  padding:96px 24px;
  background:#ffffff}
.features-prototype .section-header{margin-bottom:0}

.fc-grid{
  max-width:1100px;margin:52px auto 0;
  display:grid;grid-template-columns:repeat(3,320px);
  gap:24px;justify-content:center}

.fc-card{
  width:320px;
  background:var(--color-canvas-white);
  border:1px solid var(--border);
  border-radius:6px;overflow:hidden;
  transition:border-color .26s var(--ease),transform .26s var(--ease),box-shadow .26s var(--ease)}
.fc-card:hover{
  border-color:rgba(43,111,216,0.4);
  transform:translateY(-2px);
  box-shadow:0 8px 24px -12px rgba(17,17,17,0.12)}

.fc-illust{
  height:180px;
  background:#F1F4F8;
  border-bottom:1px solid var(--border-light);
  position:relative;overflow:hidden}
.fc-illust svg{width:100%;height:100%;display:block}

.fc-body{padding:20px 22px 22px}
.fc-body h4{
  font-family:var(--font-head);font-size:16px;font-weight:600;
  letter-spacing:-.012em;color:var(--color-midnight-ink);
  margin:0 0 6px;line-height:1.3}
.fc-body p{
  font-size:13px;line-height:1.5;color:var(--color-muted-ash);
  letter-spacing:-.005em;margin:0}

/* Initial states for elements GSAP will animate. CSS sets the resting frame
   so the cards render correctly even before the script loads; feature-cards.js
   takes over from there with idle bobs + hover timelines. */
.fc-branch,
.fc-arrow-dot,
.fc-version-label,
.fc-auth-check,
.fc-hosting-url,
.fc-host-ping,
.fc-int-pkt,
.fc-sql-row,
.fc-analytics-trend,
.fc-users-new,
.fc-secrets-pill,
.fc-secrets-scan,
.fc-qa-tick,
.fc-qa-runner,
.fc-editor-status-check,
.fc-editor-result{opacity:0}
.fc-arrow-line{transition:stroke .26s var(--ease)}
.fc-arrow-head{transition:fill .26s var(--ease)}
.fc-card--staging:hover .fc-arrow-line{stroke:var(--accent)}
.fc-card--staging:hover .fc-arrow-head{fill:var(--accent)}

@media (max-width: 1080px){
  .fc-grid{grid-template-columns:repeat(2,320px)}
}
@media (max-width: 720px){
  .fc-grid{grid-template-columns:320px}
  .features-prototype{padding:64px 24px}
}
