/* ============================================================
   Delva Labs — Warm Dark Theme
   Ink-black paper · Molten-orange signal · Warm neutrals
   ============================================================ */

:root {
  /* surfaces */
  --paper: #0C0A08;          /* page background */
  --charcoal: #110E0A;       /* alternating section tint — barely-there lift */
  --paper-2: #15120D;        /* alt surface */
  --paper-3: #211C15;        /* sunken */
  --card: #17130E;           /* cards on ink */
  --line: rgba(255, 244, 230, 0.09);
  --line-2: rgba(255, 244, 230, 0.16);

  /* ink */
  --ink: #F7F2E9;            /* near-white for headings */
  --ink-soft: #C5BBAC;       /* body */
  --muted: #8A8073;          /* small/meta */

  /* signal — molten orange from the logo */
  --peach: #FF9A33;          /* primary accent */
  --peach-hi: #FFB257;       /* hover */
  --peach-bright: #FFA502;   /* brightest logo orange — highlighted text only */
  --peach-soft: rgba(255,154,51,0.13); /* tinted bg */
  --peach-line: rgba(255,154,51,0.34);

  /* secondary tints */
  --sage: rgba(120,196,140,0.16);
  --sage-deep: #6FC07C;
  --butter: #F4C95A;
  --lilac: #B7A6E0;
  --sky:   #7FB6D6;
  --rose:  rgba(240,120,140,0.18);

  /* fonts */
  --display: "Familjen Grotesk", "Inter Tight", system-ui, sans-serif;
  --body: "Instrument Sans", "Inter", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;

  --maxw: 1240px;
  --gut: clamp(20px, 4vw, 56px);
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background: var(--paper);
  color: var(--ink-soft);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "ss01","ss02","kern";
  overflow-x: hidden;
}

/* paper grain */
body::before {
  content: "";
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 1;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 0.85  0 0 0 0 0.7  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
  opacity: 0.04;
  mix-blend-mode: screen;
}

body::after {
  content: "";
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(1100px 600px at 90% -10%, rgba(255,154,51,0.13), transparent 60%),
    radial-gradient(900px 520px at -5% 14%, rgba(255,154,51,0.07), transparent 60%),
    radial-gradient(760px 520px at 55% 112%, rgba(255,154,51,0.08), transparent 60%);
}

main, nav, footer, section { position: relative; z-index: 2; }

h1,h2,h3,h4 {
  font-family: var(--display);
  font-weight: 500;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--ink);
  text-wrap: balance;
}
p { margin: 0; color: var(--ink-soft); }
a { color: inherit; text-decoration: none; }

.container {
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--gut);
}

/* ---------- scroll progress ---------- */
.scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  width: 0%;
  background: var(--peach);
  z-index: 100;
  box-shadow: 0 0 8px rgba(255,154,51,0.5);
  transition: width 80ms linear;
}

/* ---------- nav ---------- */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 50;
  padding: 18px 0;
  transition: backdrop-filter 200ms ease, background 200ms ease, border-color 200ms ease;
  border-bottom: 1px solid transparent;
}
.nav.scrolled {
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  background: rgba(12,10,8,0.72);
  border-bottom: 1px solid var(--line);
}
.nav-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
}
.nav-links {
  display: flex; gap: 28px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-soft);
}
.nav-links a { position: relative; transition: color 160ms ease; }
.nav-links a:hover { color: var(--ink); }
.nav-links a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px;
  height: 1px; background: var(--peach);
  transform: scaleX(0); transform-origin: left;
  transition: transform 220ms ease;
}
.nav-links a:hover::after { transform: scaleX(1); }
.nav-links a.is-active { color: var(--peach); }
.nav-links a.is-active::after { transform: scaleX(1); background: var(--peach); }
@media (max-width: 720px) { .nav-links { display: none; } }

.logo {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--display);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.logo-mark { width: auto; height: 30px; display: inline-block; object-fit: contain; filter: drop-shadow(0 2px 10px rgba(255,154,51,0.4)); }
.logo-flow { color: var(--ink); }
.logo-assist { color: var(--peach); }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 20px;
  border-radius: 999px;
  font-family: var(--body);
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 180ms cubic-bezier(.2,.7,.2,1), background 180ms ease, box-shadow 220ms ease, border-color 180ms ease;
  white-space: nowrap;
}
.btn-primary {
  background: var(--peach);
  color: #1A0F03;
  font-weight: 600;
  box-shadow: 0 8px 24px -10px rgba(255,154,51,0.55);
}
.btn-primary:hover {
  background: var(--peach-hi);
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -12px rgba(255,154,51,0.5), 0 0 28px rgba(255,154,51,0.2);
}
.btn-ghost {
  background: transparent;
  color: var(--ink);
  border-color: var(--line-2);
}
.btn-ghost:hover {
  border-color: var(--ink);
  transform: translateY(-2px);
}
.btn-link {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--ink);
  font-size: 14.5px;
  padding: 12px 4px;
  position: relative;
}
.btn-link::after {
  content: ""; position: absolute; left: 4px; right: 4px; bottom: 8px;
  height: 1px; background: var(--ink);
  opacity: 0.3;
  transition: opacity 180ms ease, background 180ms ease;
}
.btn-link:hover::after { opacity: 1; background: var(--peach); }

.pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,154,51,0.13);
  border: 1px solid var(--peach-line);
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.pulse-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--peach);
  box-shadow: 0 0 0 0 rgba(255,154,51,0.6);
  animation: pulse 1.6s ease-out infinite;
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(255,154,51,0.55); }
  70% { box-shadow: 0 0 0 8px rgba(255,154,51,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,154,51,0); }
}

/* ---------- reveal ---------- */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity 700ms cubic-bezier(.2,.7,.2,1), transform 700ms cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity: 1; transform: translateY(0); }
.reveal-stagger > * { opacity: 0; transform: translateY(14px); transition: opacity 600ms cubic-bezier(.2,.7,.2,1), transform 600ms cubic-bezier(.2,.7,.2,1); }
.reveal-stagger.in > * { opacity: 1; transform: translateY(0); }
.reveal-stagger.in > *:nth-child(1) { transition-delay: 0ms; }
.reveal-stagger.in > *:nth-child(2) { transition-delay: 100ms; }
.reveal-stagger.in > *:nth-child(3) { transition-delay: 200ms; }
.reveal-stagger.in > *:nth-child(4) { transition-delay: 300ms; }
.reveal-stagger.in > *:nth-child(5) { transition-delay: 400ms; }
.reveal-stagger.in > *:nth-child(6) { transition-delay: 500ms; }
.reveal-stagger.in > *:nth-child(7) { transition-delay: 600ms; }
.reveal-stagger.in > *:nth-child(8) { transition-delay: 700ms; }

/* ============================================================
   HERO — minimal, no chat widget
   ============================================================ */
.hero {
  min-height: 83vh;
  padding: 124px 0 88px;
  display: flex;
  align-items: center;
  position: relative;
}
.hero-inner {
  max-width: 980px;
  text-align: left;
}
.hero h1 {
  font-size: clamp(52px, 8vw, 120px);
  line-height: 0.95;
  letter-spacing: -0.04em;
  font-weight: 500;
}
.hero h1 .row-1 {
  display: block;
  color: var(--muted);
  font-size: 0.55em;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}
.hero h1 .row-2 { display: block; font-size: 1em; }
.hero h1 .accent {
  color: var(--peach);
  font-style: italic;
  font-weight: 500;
}
.hero-sub {
  margin-top: 28px;
  font-size: clamp(17px, 1.3vw, 21px);
  color: var(--ink-soft);
  line-height: 1.55;
  max-width: 620px;
}
.hero-ctas {
  margin-top: 44px;
  display: flex; gap: 16px; align-items: center;
  flex-wrap: wrap;
}

.hero-stats {
  margin-top: clamp(80px, 14vh, 160px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
  padding-top: 36px;
}
.hero-stat {
  padding: 0 28px;
  border-left: 1px solid var(--line);
}
.hero-stat:first-child { border-left: none; padding-left: 0; }
.hero-stat-num {
  font-family: var(--display);
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 500;
  letter-spacing: -0.03em;
  color: var(--peach);
  line-height: 1;
}
.hero-stat-num small {
  font-size: 0.55em;
  color: var(--peach);
  font-weight: 500;
  margin-left: 2px;
}
.hero-stat-label {
  margin-top: 12px;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.45;
  max-width: 260px;
}
@media (max-width: 720px) {
  .hero-stats { grid-template-columns: 1fr; gap: 24px; padding-top: 28px; }
  .hero-stat { border-left: none; padding-left: 0; padding-right: 0; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
  .hero-stat:last-child { border-bottom: none; }
}

/* ============================================================
   CHAT WIDGET (still used in scrollytelling section)
   ============================================================ */
.chat-wrap {
  position: relative;
  isolation: isolate;
}
.chat-wrap::before {
  content: "";
  position: absolute;
  inset: -80px -40px -40px -40px;
  background: radial-gradient(closest-side, rgba(255,154,51,0.22), transparent 70%);
  z-index: -1;
  filter: blur(20px);
}
.chat-widget {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 0;
  box-shadow:
    0 30px 60px -28px rgba(0,0,0,0.7),
    0 0 0 1px rgba(255,154,51,0.05),
    inset 0 1px 0 rgba(255,255,255,0.04);
  overflow: hidden;
  width: 100%;
  max-width: 460px;
  margin-left: auto;
}
.chat-header {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--paper-2);
}
.chat-avatar {
  width: 34px; height: 34px;
  border-radius: 10px;
  background: var(--paper-3);
  border: 1px solid var(--peach-line);
  display: grid; place-items: center;
  overflow: hidden;
}
.chat-avatar img { width: 22px; height: 22px; object-fit: contain; }
.chat-id { display: flex; flex-direction: column; line-height: 1.2; }
.chat-id-name { font-size: 14px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
.chat-id-status {
  font-size: 12px; color: var(--muted);
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 2px;
}
.chat-id-status .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--sage-deep);
  box-shadow: 0 0 8px rgba(110,142,115,0.6);
  animation: pulse-green 1.8s ease-out infinite;
}
@keyframes pulse-green {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
.chat-close {
  margin-left: auto;
  width: 26px; height: 26px;
  border-radius: 50%;
  display: grid; place-items: center;
  color: var(--muted);
  font-size: 14px;
}

.chat-body {
  padding: 18px;
  display: flex; flex-direction: column; gap: 10px;
  min-height: 380px;
  max-height: 480px;
  overflow-y: auto;
  scroll-behavior: smooth;
  background: var(--card);
}
.chat-body::-webkit-scrollbar { width: 6px; }
.chat-body::-webkit-scrollbar-thumb {
  background: rgba(255,244,230,0.12);
  border-radius: 3px;
}

.msg {
  max-width: 88%;
  padding: 10px 14px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: -0.005em;
  animation: msg-in 360ms cubic-bezier(.2,.8,.2,1) both;
}
@keyframes msg-in {
  from { opacity: 0; transform: translateY(8px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.msg.user {
  align-self: flex-end;
  background: var(--paper-3);
  color: var(--ink);
  border-bottom-right-radius: 6px;
  border: 1px solid var(--line);
}
.msg.bot {
  align-self: flex-start;
  background: var(--peach-soft);
  color: #FFD0A0;
  border-bottom-left-radius: 6px;
  border: 1px solid var(--peach-line);
}
.msg.bot.products {
  background: transparent;
  border: none;
  padding: 0;
  max-width: 100%;
  align-self: stretch;
}

.typing {
  align-self: flex-start;
  display: inline-flex; gap: 4px;
  padding: 12px 14px;
  background: var(--peach-soft);
  border: 1px solid var(--peach-line);
  border-radius: 16px;
  border-bottom-left-radius: 6px;
  animation: msg-in 240ms cubic-bezier(.2,.8,.2,1) both;
}
.typing span {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--peach);
  opacity: 0.7;
  animation: typing 1.1s ease-in-out infinite;
}
.typing span:nth-child(2) { animation-delay: 0.18s; }
.typing span:nth-child(3) { animation-delay: 0.36s; }
@keyframes typing {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
  30% { transform: translateY(-4px); opacity: 1; }
}

.product-stack { display: flex; flex-direction: column; gap: 8px; animation: msg-in 360ms cubic-bezier(.2,.8,.2,1) both; }
.product-card {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px;
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: 12px;
  transition: border-color 180ms ease, transform 180ms ease;
}
.product-card:hover {
  border-color: var(--peach-line);
  transform: translateX(2px);
}
.product-thumb {
  width: 56px; height: 56px;
  border-radius: 8px;
  background:
    repeating-linear-gradient(135deg, var(--peach-soft) 0 6px, var(--paper-3) 6px 12px);
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
}
.product-thumb::after {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(closest-side, rgba(255,154,51,0.28), transparent 70%);
}
.product-name {
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  line-height: 1.25;
  color: var(--ink);
}
.product-meta {
  font-size: 11.5px;
  color: var(--muted);
  margin-top: 3px;
  display: flex; align-items: center; gap: 6px;
}
.product-meta .stars { color: var(--peach); letter-spacing: 1px; font-size: 10px; }
.product-price {
  font-family: var(--display);
  font-size: 15px;
  font-weight: 600;
  color: var(--peach);
  letter-spacing: -0.01em;
}

.chat-input {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px;
  border-top: 1px solid var(--line);
  background: var(--paper-2);
}
.chat-input-field {
  flex: 1;
  background: transparent;
  border: none;
  color: var(--muted);
  font-family: var(--body);
  font-size: 13.5px;
  outline: none;
  padding: 4px 0;
}
.chat-send {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--peach);
  display: grid; place-items: center;
  color: #fff;
  font-size: 14px;
}

/* ============================================================
   SECTIONS / EYEBROWS
   ============================================================ */
.section { padding: 120px 0; }
.section-tight { padding: 90px 0; }

.section-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--muted);
  margin-bottom: 20px;
}
.section-eyebrow::before {
  content: ""; width: 24px; height: 1px; background: var(--peach);
}

/* ---------- PROBLEM ---------- */
.problem {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(48px, 8vw, 120px);
  align-items: start;
}
@media (max-width: 760px) { .problem { grid-template-columns: 1fr; } }
.problem-statement {
  font-family: var(--display);
  font-size: clamp(34px, 4.4vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  font-weight: 500;
  color: var(--ink);
}
.problem-statement .line {
  display: block;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 700ms cubic-bezier(.2,.7,.2,1), transform 700ms cubic-bezier(.2,.7,.2,1);
}
.problem-statement.in .line { opacity: 1; transform: translateY(0); }
.problem-statement.in .line:nth-child(1) { transition-delay: 0ms; }
.problem-statement.in .line:nth-child(2) { transition-delay: 220ms; }
.problem-statement.in .line:nth-child(3) { transition-delay: 440ms; }
.problem-statement .quiet { color: var(--muted); }
.problem-statement .em { color: var(--peach); font-style: italic; }
.problem-after {
  margin-top: 36px;
  font-size: 16.5px;
  color: var(--ink-soft);
  max-width: 480px;
  line-height: 1.6;
}

.timeline {
  position: relative;
  padding-left: 18px;
}
.timeline::before {
  content: "";
  position: absolute;
  top: 18px; bottom: 60px;
  left: 34px;
  width: 1px;
  background-image: linear-gradient(to bottom, var(--peach-line) 0 6px, transparent 6px 12px);
  background-size: 1px 12px;
  background-repeat: repeat-y;
  z-index: 0;
}
.tl-step {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 16px;
  align-items: center;
  padding: 14px 0;
}
.tl-num {
  position: relative;
  z-index: 1;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: linear-gradient(var(--peach-soft), var(--peach-soft)), var(--charcoal);
  border: 1px solid var(--peach-line);
  display: grid; place-items: center;
  font-family: var(--display);
  font-size: 13px;
  font-weight: 600;
  color: var(--peach);
}
.tl-label { font-size: 16px; color: var(--ink); letter-spacing: -0.005em; }
.tl-end {
  margin-top: 18px;
  margin-left: 52px;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  font-style: italic;
  color: var(--peach);
  letter-spacing: -0.02em;
}

/* ============================================================
   SCROLLYTELLING — sticky chat with scrolling copy
   ============================================================ */
.scrolly {
  position: relative;
  padding: 80px 0 0;
}
.scrolly-shell { position: relative; height: calc(100vh * 8); }
@media (max-width: 900px) { .scrolly-shell { height: auto; } }
.scrolly-stage {
  position: sticky;
  top: 0;
  height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
  padding: 80px var(--gut) 60px;
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto;
}
.scrolly-text { position: relative; min-height: 360px; }
.scrolly-text-item {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; justify-content: center;
  opacity: 0; transform: translateY(12px);
  transition: opacity 500ms cubic-bezier(.2,.7,.2,1), transform 500ms cubic-bezier(.2,.7,.2,1);
  pointer-events: none;
}
.scrolly-text-item.on { opacity: 1; transform: translateY(0); pointer-events: auto; }
.scrolly-image {
  position: relative; min-height: 540px;
  display: flex; align-items: center; justify-content: center;
}
.scrolly-image-item {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) scale(0.98);
  opacity: 0;
  transition: opacity 500ms cubic-bezier(.2,.7,.2,1), transform 500ms cubic-bezier(.2,.7,.2,1);
  width: min(360px, 80%);
}
.scrolly-image-item.on { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.gif-card {
  width: 100%;
  border-radius: 28px;
  overflow: hidden;
  background: #0F0D0A;
  box-shadow:
    0 30px 60px -22px rgba(0,0,0,0.7),
    0 8px 20px -10px rgba(0,0,0,0.5),
    0 0 0 1px var(--line);
}
.gif-card { position: relative; }
.gif-card img {
  display: block;
  width: 100%;
  height: auto;
  /* gifs carry a thin white margin baked into the source frames;
     scale up slightly so the card edges crop it out cleanly */
  transform: scaleX(1.045);
  transform-origin: center;
}

/* mobile flow version (unused — sticky scrolly works on mobile too) */
.scrolly-mobile { display: none !important; }

@media (max-width: 900px) {
  .scrolly-shell { height: calc(100vh * 8) !important; }
  .scrolly-stage {
    grid-template-columns: 1fr !important;
    grid-template-rows: 46vh 1fr !important;
    gap: 18px !important;
    padding: 80px var(--gut) 20px !important;
    height: 100vh !important;
    min-height: 0 !important;
    align-items: stretch !important;
  }
  .scrolly-image { min-height: 0; order: 1; }
  .scrolly-image-item { width: min(220px, 52vw) !important; }
  .scrolly-text { min-height: 0; order: 2; }
  .scrolly-text-item { justify-content: flex-start !important; }
  .scrolly-text-item h3 { font-size: clamp(22px, 5.4vw, 30px) !important; margin-bottom: 12px !important; }
  .scrolly-text-item p { font-size: 14.5px !important; line-height: 1.5 !important; margin-bottom: 10px !important; }
  .scrolly-text-item ul { display: none !important; }
  .scrolly-step-pill { margin-bottom: 10px !important; font-size: 10px !important; padding: 5px 10px !important; }
}
@media (max-width: 720px) {
  .section { padding: 70px 0; }
  .section-tight { padding: 56px 0; }
  .pilot { padding: 70px 0; }
  .scrolly { padding: 50px 0 0; }
  .hero { padding: 100px 0 50px; min-height: auto; }
  .hero h1 { margin-top: 18px; }
  .hero-sub { margin-top: 20px; }
  .hero-ctas { margin-top: 28px; }
  .hero-stats { margin-top: 60px; }
  .nav { padding: 14px 0; }
  .nav .btn { padding: 10px 14px; font-size: 13px; }
  .form-card { padding: 24px; }
  .footer { padding: 40px 0 24px; }
  .nab-grid { margin-top: 50px; gap: 16px; }
  .nab-col { padding: 26px; }
  .nab-quote { margin-top: 40px; padding: 20px 0 20px 22px; }
  .india-grid { margin-top: 40px; }
  .ic-card { padding: 22px 20px; }
  .oc-card { padding: 30px 24px; }
  .fnd-founder { padding: 26px; }
  .fnd-stats { margin-top: 50px; padding-top: 32px; gap: 28px; }
  .pilot-head { margin-bottom: 36px; }
  .pilot-head h2 { font-size: clamp(34px, 8vw, 48px); }
  .scroll-progress { display: none; }
}
.scrolly-step-pill {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--peach); color: #1A0F03;
  font-family: var(--mono);
  font-size: 11px; letter-spacing: 0.14em;
  padding: 6px 12px; border-radius: 999px;
  font-weight: 600;
  margin-bottom: 14px;
  align-self: flex-start;
  box-shadow: 0 8px 18px -10px rgba(255,154,51,0.5);
}
.scrolly-progress {
  position: absolute; left: 0; top: 110px;
  display: flex; flex-direction: column; gap: 8px;
  z-index: 3;
}
.scrolly-progress-tick {
  width: 2px; height: 28px;
  background: var(--line-2); border-radius: 2px;
  transition: background 200ms ease, height 200ms ease;
}
.scrolly-progress-tick.on { background: var(--peach); height: 44px; }
.scrolly-sentinels { position: absolute; inset: 0; pointer-events: none; display: flex; flex-direction: column; }
.scrolly-sentinel { width: 1px; height: 100vh; flex: 0 0 100vh; }
.scrolly-head {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 30px;
  padding-top: 40px;
}
@media (max-width: 760px) { .scrolly-head { grid-template-columns: 1fr; gap: 24px; } }
.scrolly-head h2 {
  font-size: clamp(40px, 5.4vw, 72px);
  line-height: 1.0;
  letter-spacing: -0.03em;
  font-weight: 500;
  max-width: 760px;
}
.scrolly-head h2 .em { color: var(--peach); font-style: italic; }
.scrolly-head p { color: var(--ink-soft); font-size: 17px; line-height: 1.55; max-width: 380px; }

.scrolly-track {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: flex-start;
}
@media (max-width: 900px) { .scrolly-track { grid-template-columns: 1fr; } }

/* left column — narratives stacked */
.scrolly-narratives {
  display: flex;
  flex-direction: column;
  gap: 30vh; /* breathing space between */
}
.scrolly-block {
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 0;
  transition: opacity 600ms cubic-bezier(.2,.7,.2,1);
}
.scrolly-block.dim { opacity: 0.28; }
.scrolly-block.active { opacity: 1; }
.scrolly-tag {
  font-family: var(--mono);
  font-size: 11.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--peach);
  margin-bottom: 18px;
  display: inline-flex; align-items: center; gap: 12px;
}
.scrolly-tag::before {
  content: ""; width: 28px; height: 1px; background: var(--peach);
}
.scrolly-block h3 {
  font-family: var(--display);
  font-size: clamp(32px, 3.6vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 18px;
}
.scrolly-block h3 .em { color: var(--peach); font-style: italic; }
.scrolly-block p {
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: 460px;
  margin-bottom: 14px;
}
.scrolly-block p .em { color: var(--peach); font-weight: 500; }
.scrolly-block ul {
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  display: flex; flex-direction: column; gap: 10px;
}
.scrolly-block li {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 10px;
  align-items: start;
  font-size: 15px;
  color: var(--ink-soft);
}
.scrolly-block li::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--peach);
  margin-top: 9px;
}

/* right column — sticky phone */
.scrolly-sticky {
  position: sticky;
  top: 100px;
  height: min(720px, 88vh);
  display: flex; align-items: center; justify-content: center;
}
.phone-frame {
  position: relative;
  width: min(320px, 80%);
  aspect-ratio: 9 / 19.5;
  background: #1a1612;
  border-radius: 44px;
  padding: 10px;
  box-shadow:
    0 40px 80px -30px rgba(76,47,56,0.35),
    0 8px 24px -8px rgba(76,47,56,0.18),
    inset 0 1px 0 rgba(255,255,255,0.08);
}
.phone-frame::before {
  content: "";
  position: absolute;
  top: 18px; left: 50%;
  transform: translateX(-50%);
  width: 88px; height: 22px;
  background: #1a1612;
  border-radius: 14px;
  z-index: 3;
}
.phone-screen {
  position: relative;
  width: 100%; height: 100%;
  border-radius: 34px;
  overflow: hidden;
  background: #f6f3ee;
}
.phone-gif {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: top;
  opacity: 0;
  transition: opacity 500ms ease;
}
.phone-gif.on { opacity: 1; }
.phone-step-pill {
  position: absolute;
  top: -16px; left: 50%;
  transform: translateX(-50%);
  background: var(--peach);
  color: #2A140C;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 600;
  box-shadow: 0 8px 20px -8px rgba(240,138,110,0.6);
  z-index: 4;
  white-space: nowrap;
}

/* progress dots — vertical track on far left */
.scrolly-dots {
  position: absolute;
  left: -8px;
  top: 0; bottom: 0;
  width: 2px;
  display: none;
}
@media (min-width: 1100px) {
  .scrolly-dots { display: block; }
}
.scrolly-dots-track {
  position: sticky;
  top: 50vh;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.scrolly-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--line-2);
  transition: background 220ms ease, transform 220ms ease;
}
.scrolly-dot.on {
  background: var(--peach);
  transform: scale(1.4);
}

/* ============================================================
   NOT-A-CHATBOT
   ============================================================ */
.nab { text-align: center; }
.nab h2 {
  font-size: clamp(54px, 8vw, 120px);
  line-height: 0.95;
  letter-spacing: -0.045em;
  font-weight: 500;
}
.nab h2 .strike {
  text-decoration: line-through;
  text-decoration-thickness: 4px;
  text-decoration-color: var(--peach);
  color: var(--muted);
}
.nab-sub {
  margin-top: 18px;
  font-size: clamp(18px, 1.6vw, 22px);
  color: var(--ink-soft);
  letter-spacing: -0.005em;
}
.nab-sub .em { color: var(--peach); }
.nab-grid {
  margin-top: 80px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  text-align: left;
}
@media (max-width: 900px) { .nab-grid { grid-template-columns: 1fr; } }

.nab-col {
  padding: 36px;
  border-radius: 18px;
  transition: transform 220ms cubic-bezier(.2,.7,.2,1), border-color 220ms ease, box-shadow 220ms ease;
}
.nab-col.dark {
  background: var(--card);
  border: 1px solid var(--line-2);
}
.nab-col.dark:hover {
  transform: scale(1.015);
  border-color: var(--line-2);
  box-shadow: 0 24px 60px -30px rgba(0,0,0,0.6);
}
.nab-col.bright {
  background: linear-gradient(180deg, rgba(255,154,51,0.16) 0%, rgba(255,154,51,0.05) 100%);
  border: 1px solid var(--peach-line);
}
.nab-col.bright:hover {
  transform: scale(1.015);
  border-color: var(--peach);
  box-shadow: 0 24px 70px -26px rgba(255,154,51,0.32);
}
.nab-label {
  font-family: var(--mono);
  font-size: 11.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 28px;
}
.nab-col.bright .nab-label { color: var(--peach); }
.nab-items { display: flex; flex-direction: column; gap: 22px; }
.nab-item {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 14px;
  align-items: start;
}
.nab-icon {
  width: 22px; height: 22px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-size: 12px; font-weight: 700;
  margin-top: 2px;
}
.nab-icon.x {
  background: var(--rose);
  color: #F08296;
  border: 1px solid rgba(240,120,140,0.4);
}
.nab-icon.check {
  background: var(--sage);
  color: var(--sage-deep);
  border: 1px solid rgba(120,196,140,0.45);
}
.nab-item-title {
  font-family: var(--display);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.012em;
  color: var(--ink);
  margin-bottom: 4px;
}
.nab-col.dark .nab-item-title { color: var(--ink-soft); }
.nab-item-desc {
  font-size: 14.5px;
  color: var(--muted);
  line-height: 1.5;
}

.nab-quote {
  margin-top: 64px;
  padding: 28px 0 28px 32px;
  border-left: 3px solid var(--peach);
  font-family: var(--display);
  font-size: clamp(24px, 2.6vw, 36px);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.018em;
  color: var(--ink);
  line-height: 1.25;
  text-align: left;
  max-width: 1000px;
}

/* ============================================================
   FEATURES
   ============================================================ */
.features-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 760px) { .features-grid { grid-template-columns: 1fr; } }
.feat-card {
  padding: 36px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  transition: transform 220ms cubic-bezier(.2,.7,.2,1), border-color 220ms ease, box-shadow 220ms ease;
}
.feat-card:hover {
  transform: translateY(-4px);
  border-color: var(--peach-line);
  box-shadow: 0 24px 50px -28px rgba(0,0,0,0.6);
}
.feat-illus {
  width: 60px; height: 60px;
  border-radius: 14px;
  background: var(--peach-soft);
  border: 1px solid var(--peach-line);
  color: var(--peach);
  display: grid; place-items: center;
  margin-bottom: 24px;
}
.feat-title {
  font-family: var(--display);
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin-bottom: 12px;
}
.feat-desc { font-size: 16px; line-height: 1.6; color: var(--ink-soft); max-width: 460px; }

/* ============================================================
   JOURNEY  (icon flow only — chat demo removed)
   ============================================================ */
.journey-head {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 80px;
}
@media (max-width: 760px) { .journey-head { grid-template-columns: 1fr; gap: 24px; } }
.journey-head h2 {
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.0;
  letter-spacing: -0.03em;
  font-weight: 500;
}
.journey-head h2 .em { color: var(--peach); font-style: italic; }
.journey-head p { color: var(--ink-soft); font-size: 17px; line-height: 1.55; max-width: 380px; }

.journey-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
@media (max-width: 1000px) { .journey-steps { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .journey-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px) { .journey-steps { grid-template-columns: 1fr; } }

.journey-line {
  position: absolute;
  top: 36px; left: 56px; right: 56px;
  height: 1px;
  background-image: linear-gradient(to right, var(--peach-line) 0 8px, transparent 8px 14px);
  background-size: 14px 1px;
  z-index: 0;
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 800ms ease-out;
}
.journey-steps.in .journey-line { transform: scaleX(1); }
@media (max-width: 900px) { .journey-line { display: none; } }

.j-step {
  position: relative;
  z-index: 1;
  text-align: left;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 500ms ease, transform 500ms ease;
}
.journey-steps.in .j-step { opacity: 1; transform: translateY(0); }
.journey-steps.in .j-step:nth-child(2) { transition-delay: 150ms; }
.journey-steps.in .j-step:nth-child(3) { transition-delay: 300ms; }
.journey-steps.in .j-step:nth-child(4) { transition-delay: 450ms; }
.journey-steps.in .j-step:nth-child(5) { transition-delay: 600ms; }
.journey-steps.in .j-step:nth-child(6) { transition-delay: 750ms; }

.j-icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: var(--card);
  border: 1px solid var(--peach-line);
  display: grid; place-items: center;
  margin-bottom: 18px;
  position: relative;
  box-shadow: 0 6px 14px -10px rgba(0,0,0,0.6);
}
.j-icon svg { color: var(--peach); width: 22px; height: 22px; }
.j-num {
  position: absolute;
  top: -8px; right: -8px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--paper);
  border: 1px solid var(--peach-line);
  font-family: var(--mono);
  font-size: 10px;
  color: var(--peach);
  display: grid; place-items: center;
  font-weight: 600;
}
.j-title {
  font-family: var(--display);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin-bottom: 6px;
  color: var(--ink);
}
.j-desc {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.5;
  max-width: 200px;
}

/* ============================================================
   OUTCOMES
   ============================================================ */
.outcomes h2 {
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  font-weight: 500;
  margin-bottom: 60px;
  max-width: 800px;
}
.outcomes h2 .em { color: var(--peach); font-style: italic; }
.outcomes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}
@media (max-width: 700px) {
  .outcomes-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
@media (max-width: 900px) { .outcomes-grid { grid-template-columns: 1fr; gap: 16px; } }

.oc-card {
  position: relative;
  padding: 40px 32px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  transition: transform 240ms cubic-bezier(.2,.7,.2,1), border-color 240ms ease, box-shadow 240ms ease;
}
.oc-card:nth-child(1) { background: linear-gradient(180deg, rgba(255,154,51,0.12) 0%, var(--card) 60%); }
.oc-card:nth-child(2) { background: linear-gradient(180deg, rgba(120,196,140,0.10) 0%, var(--card) 60%); }
.oc-card:nth-child(3) { background: linear-gradient(180deg, rgba(183,166,224,0.11) 0%, var(--card) 60%); }
.oc-card:hover {
  transform: translateY(-6px);
  border-color: var(--peach-line);
  box-shadow: 0 30px 60px -34px rgba(0,0,0,0.6);
}
.oc-symbol {
  font-family: var(--display);
  font-size: clamp(64px, 7vw, 96px);
  font-weight: 500;
  color: var(--peach);
  letter-spacing: -0.06em;
  line-height: 1;
  margin-bottom: 18px;
  display: flex; align-items: baseline; gap: 8px;
}
.oc-symbol .arrow { font-size: 0.7em; }
.oc-card:nth-child(2) .oc-symbol { color: var(--sage-deep); }
.oc-card:nth-child(3) .oc-symbol { color: var(--lilac); }
.oc-title {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.018em;
  margin-bottom: 12px;
  color: var(--ink);
}
.oc-desc {
  font-size: 15px;
  color: var(--ink-soft);
  line-height: 1.55;
}

/* ============================================================
   PILOT
   ============================================================ */
.pilot {
  position: relative;
  padding: 120px 0;
  isolation: isolate;
}
.pilot::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(255,154,51,0.16), transparent 60%),
    radial-gradient(600px 400px at 80% 80%, rgba(255,154,51,0.08), transparent 60%);
  z-index: -1;
}
.pilot-head {
  text-align: center;
  margin-bottom: 60px;
}
.pilot-head h2 {
  margin-top: 24px;
  font-size: clamp(44px, 5.4vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.032em;
  font-weight: 500;
  max-width: 900px;
  margin-left: auto; margin-right: auto;
}
.pilot-head h2 .em { color: var(--peach); font-style: italic; }
.pilot-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: clamp(40px, 6vw, 80px);
  align-items: start;
}
@media (max-width: 900px) { .pilot-grid { grid-template-columns: 1fr; } }

.benefits { display: flex; flex-direction: column; gap: 18px; margin-bottom: 32px; }
.benefit {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 14px;
  align-items: center;
  font-size: 17px;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.benefit-check {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--sage);
  border: 1px solid rgba(120,196,140,0.45);
  color: var(--sage-deep);
  display: grid; place-items: center;
  font-size: 12px; font-weight: 700;
}
.pilot-body {
  font-size: 15.5px;
  color: var(--ink-soft);
  line-height: 1.65;
  max-width: 460px;
}

.form-card {
  padding: 36px;
  background: var(--card);
  border: 1px solid var(--peach-line);
  border-radius: 22px;
  box-shadow: 0 30px 80px -36px rgba(255,154,51,0.22), 0 1px 0 rgba(255,255,255,0.04) inset;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 14px;
}
.form-grid .full { grid-column: 1 / -1; }
@media (max-width: 600px) { .form-grid { grid-template-columns: 1fr; } }

.field { display: flex; flex-direction: column; gap: 6px; }
.field label {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--muted);
}
.field input, .field select {
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px 14px;
  font-family: var(--body);
  font-size: 15px;
  color: var(--ink);
  outline: none;
  transition: border-color 160ms ease, background 160ms ease;
}
.field input::placeholder { color: var(--muted); }
.field input:focus, .field select:focus {
  border-color: var(--peach);
  background: #1E1912;
  box-shadow: 0 0 0 3px rgba(255,154,51,0.18);
}
.field select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%238A7682' stroke-width='1.5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}
.form-submit {
  margin-top: 22px;
  width: 100%;
  justify-content: center;
  padding: 16px 24px;
  font-size: 16px;
}
.form-foot {
  margin-top: 16px;
  font-size: 12.5px;
  color: var(--muted);
  text-align: center;
  line-height: 1.5;
}
.form-success { text-align: center; padding: 40px 20px; }
.form-success-mark {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--sage);
  border: 1px solid rgba(120,196,140,0.45);
  display: grid; place-items: center;
  margin: 0 auto 20px;
  color: var(--sage-deep);
  font-size: 24px;
}

/* ============================================================
   STORES
   ============================================================ */
.stores { padding-bottom: 140px; }
.stores-stage {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
  min-height: 560px;
}
@media (max-width: 900px) { .stores-stage { grid-template-columns: 1fr; min-height: 0; } }
.stores-text { position: relative; min-height: 420px; }
@media (max-width: 900px) { .stores-text { min-height: 0; } }
.stores-text-item {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; justify-content: center;
  opacity: 0; transform: translateY(8px);
  transition: opacity 380ms cubic-bezier(.2,.7,.2,1), transform 380ms cubic-bezier(.2,.7,.2,1);
  pointer-events: none;
}
.stores-text-item.on { opacity: 1; transform: translateY(0); pointer-events: auto; }
@media (max-width: 900px) {
  .stores-text-item { position: relative; inset: auto; opacity: 1; transform: none; pointer-events: auto; display: none; }
  .stores-text-item.on { display: flex; }
}
.stores-tag {
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--peach); margin-bottom: 16px;
}
.stores-h {
  font-family: var(--display);
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.06;
  letter-spacing: -0.025em; font-weight: 500;
  color: var(--ink); margin-bottom: 18px;
}
.stores-p { font-size: 17px; line-height: 1.6; color: var(--ink-soft); max-width: 480px; margin-bottom: 18px; }
.stores-bullets { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-direction: column; gap: 10px; }
.stores-bullets li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; color: var(--ink-soft); }
.stores-bullets .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--peach); margin-top: 9px; flex-shrink: 0; }
.stores-install {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 13px; color: var(--muted);
  font-family: var(--mono); letter-spacing: 0.02em;
}
.stores-install-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--peach); opacity: 0.7; }

.stores-image {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  min-height: 660px;
}
@media (max-width: 900px) { .stores-image { min-height: 0; margin-top: 32px; } }
.stores-image-item {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) scale(0.97);
  opacity: 0;
  transition: opacity 420ms cubic-bezier(.2,.7,.2,1), transform 420ms cubic-bezier(.2,.7,.2,1);
  width: min(300px, 70%);
  max-height: 660px;
  display: flex; align-items: center; justify-content: center;
}
@media (max-width: 900px) {
  .stores-image-item { position: relative; top: auto; left: auto; transform: none; opacity: 1; display: none; }
  .stores-image-item.on { display: flex; }
}
.stores-image-item.on { opacity: 1; transform: translate(-50%,-50%) scale(1); }
@media (max-width: 900px) { .stores-image-item.on { transform: none; } }
.stores-image-item img {
  display: block;
  width: 100%;
  max-height: 660px;
  height: auto;
  object-fit: contain;
  border-radius: 24px;
  box-shadow: 0 30px 60px -28px rgba(0,0,0,0.7), 0 8px 22px -12px rgba(0,0,0,0.5);
  border: 1px solid var(--line);
  background: var(--card);
}

.stores-bar {
  margin-top: 56px;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  position: sticky;
  bottom: 24px;
  z-index: 20;
}
.stores-bar-note {
  font-family: var(--mono);
  font-size: 11.5px;
  letter-spacing: 0.02em;
  color: var(--muted);
  text-align: center;
}
.stores-bar-inner {
  display: inline-flex;
  gap: 6px;
  padding: 8px;
  background: rgba(21,18,13,0.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--line);
  border-radius: 999px;
  box-shadow: 0 18px 40px -22px rgba(0,0,0,0.7), 0 4px 12px -6px rgba(0,0,0,0.5);
  flex-wrap: wrap;
  justify-content: center;
}
.stores-chip {
  border: 0;
  background: transparent;
  font-family: var(--sans);
  font-size: 13.5px;
  letter-spacing: -0.005em;
  font-weight: 500;
  color: var(--ink-soft);
  padding: 10px 18px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease;
  white-space: nowrap;
}
.stores-chip:hover { color: var(--ink); background: rgba(255,244,230,0.06); }
.stores-chip.on { background: var(--ink); color: var(--paper); }
@media (max-width: 540px) {
  .stores-chip { padding: 9px 14px; font-size: 12.5px; }
  .stores-bar { bottom: 14px; }
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  border-top: 1px solid var(--line);
  padding: 56px 0 32px;
  background: var(--paper-2);
}
.footer-top {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: start;
  margin-bottom: 48px;
}
@media (max-width: 700px) { .footer-top { grid-template-columns: 1fr; } }
.footer-tag {
  margin-top: 12px;
  color: var(--muted);
  font-size: 14px;
  max-width: 320px;
  line-height: 1.5;
}
.footer-meta {
  display: flex; flex-direction: column; gap: 8px; align-items: flex-end;
  font-size: 14px;
  color: var(--ink-soft);
}
.footer-meta a:hover { color: var(--peach); }
@media (max-width: 700px) { .footer-meta { align-items: flex-start; } }

.footer-bottom {
  padding-top: 22px;
  border-top: 1px solid var(--line);
  display: flex; justify-content: space-between; gap: 12px;
  font-size: 12.5px;
  color: var(--muted);
  font-family: var(--mono);
  letter-spacing: 0.04em;
}
@media (max-width: 600px) { .footer-bottom { flex-direction: column; } }

/* ============================================================
   POLICIES PAGE (separate tab)
   ============================================================ */
.policies-page { padding: 150px 0 120px; min-height: 100vh; }
.pol-hero {
  max-width: 760px;
  padding-bottom: 48px;
  margin-bottom: 56px;
  border-bottom: 1px solid var(--line);
}
.pol-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--peach);
  margin-bottom: 22px;
}
.pol-eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--peach); }
.pol-hero h1 {
  font-family: var(--display);
  font-size: clamp(52px, 7vw, 92px);
  line-height: 0.96;
  letter-spacing: -0.04em;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 24px;
}
.pol-hero p { font-size: 18px; line-height: 1.6; color: var(--ink-soft); max-width: 640px; }

.pol-layout {
  display: grid;
  grid-template-columns: 256px 1fr;
  gap: clamp(40px, 7vw, 100px);
  align-items: start;
}
@media (max-width: 860px) { .pol-layout { grid-template-columns: 1fr; gap: 40px; } }

/* sidebar */
.pol-side { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 28px; }
@media (max-width: 860px) { .pol-side { position: relative; top: 0; } }
.pol-side-label {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--muted);
}
.pol-side-nav { display: flex; flex-direction: column; gap: 2px; }
.pol-side-nav a {
  position: relative;
  padding: 11px 16px;
  border-radius: 10px;
  font-size: 15px;
  color: var(--ink-soft);
  border: 1px solid transparent;
  transition: color 160ms ease, background 160ms ease, border-color 160ms ease;
}
.pol-side-nav a::before {
  content: "";
  position: absolute; left: 0; top: 50%; transform: translateY(-50%) scaleY(0);
  width: 2px; height: 18px; border-radius: 2px;
  background: var(--peach);
  transition: transform 200ms ease;
}
.pol-side-nav a:hover { color: var(--ink); background: rgba(255,244,230,0.04); }
.pol-side-nav a.on {
  color: var(--ink);
  background: var(--peach-soft);
  border-color: var(--peach-line);
}
.pol-side-nav a.on::before { transform: translateY(-50%) scaleY(1); }

.pol-side-card {
  padding: 20px;
  border-radius: 16px;
  background: var(--card);
  border: 1px solid var(--line);
}
.pol-side-card-h {
  font-family: var(--display);
  font-size: 16px; font-weight: 500;
  color: var(--ink); margin-bottom: 8px;
}
.pol-side-card p { font-size: 13.5px; line-height: 1.55; color: var(--muted); margin-bottom: 14px; }
.pol-side-card a {
  font-family: var(--mono); font-size: 12.5px;
  color: var(--peach);
  border-bottom: 1px solid var(--peach-line);
  padding-bottom: 2px;
}
.pol-side-card a:hover { color: var(--peach-hi); }

/* content */
.pol-content { display: flex; flex-direction: column; gap: 72px; max-width: 720px; }
.pol-section { scroll-margin-top: 120px; }
.pol-section-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--line);
}
.pol-section-head h2 {
  font-family: var(--display);
  font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 500;
  letter-spacing: -0.025em;
  color: var(--ink);
}
.pol-updated {
  flex-shrink: 0;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.pol-block { margin-bottom: 28px; }
.pol-block:last-child { margin-bottom: 0; }
.pol-block h3 {
  font-family: var(--display);
  font-size: 19px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin-bottom: 10px;
  display: flex; align-items: center; gap: 12px;
}
.pol-block h3::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 2px;
  background: var(--peach);
  transform: rotate(45deg);
  flex-shrink: 0;
}
.pol-block p { font-size: 16px; line-height: 1.65; color: var(--ink-soft); }
.pol-block p + p { margin-top: 14px; }
.pol-sub {
  font-family: var(--display);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.005em;
  color: var(--ink);
  margin: 4px 0 10px;
}
.pol-block h3 + .pol-sub { margin-top: 0; }
.pol-list {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.pol-list li {
  position: relative;
  padding-left: 22px;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--ink-soft);
}
.pol-list li::before {
  content: "";
  position: absolute;
  left: 4px; top: 10px;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--peach);
  opacity: 0.85;
}
.pol-block p + .pol-list { margin-top: 12px; }

.pol-disclaimer {
  margin-top: 16px;
  padding: 20px 24px;
  border-radius: 14px;
  background: var(--peach-soft);
  border: 1px solid var(--peach-line);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ink-soft);
  font-family: var(--mono);
  letter-spacing: 0.01em;
}

@media (max-width: 720px) {
  .policies-page { padding: 110px 0 80px; }
  .pol-hero { padding-bottom: 32px; margin-bottom: 40px; }
  .pol-content { gap: 56px; }
  .pol-section-head { flex-direction: column; gap: 6px; }
}

/* ============================================================
   REFINEMENT LAYER — premium polish
   ============================================================ */

/* highlighted text matches the brightest orange in the logo (#FFA502) */
.hero h1 .accent,
.problem-statement .em,
.problem-gap .q,
.scrolly-head h2 .em,
.scrolly-block h3 .em,
.scrolly-block p .em,
.nab-sub .em,
.journey-head h2 .em,
.outcomes h2 .em,
.pilot-head h2 .em,
.accent-bright { color: var(--peach-bright); }

/* subtle section separation — alternating charcoal, kept barely perceptible */
.section-alt { background: var(--charcoal); }

/* equalised vertical rhythm + more air under headlines */
.section { padding: 128px 0; }
.section-eyebrow { margin-bottom: 24px; }
.outcomes h2, .scrolly-head h2, .journey-head h2 { margin-bottom: 4px; }

/* hero intent statement (replaces the old stats row) */
.hero-statement {
  margin-top: clamp(72px, 12vh, 132px);
  border-top: 1px solid var(--line);
  padding-top: 44px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(28px, 5vw, 72px);
  align-items: start;
}
.hero-statement h2 {
  font-size: clamp(26px, 2.7vw, 38px);
  line-height: 1.12;
  letter-spacing: -0.025em;
  font-weight: 500;
  color: var(--ink);
  max-width: 14ch;
}
.hero-statement p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--ink-soft);
  max-width: 46ch;
  align-self: center;
}
@media (max-width: 760px) {
  .hero-statement { grid-template-columns: 1fr; gap: 22px; padding-top: 32px; margin-top: 60px; }
  .hero-statement h2 { max-width: none; }
}

/* problem gap example */
.problem-gap {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.problem-gap .row { display: flex; flex-direction: column; gap: 7px; }
.problem-gap .k {
  font-family: var(--mono);
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}
.problem-gap .q {
  font-family: var(--display);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-style: italic;
  font-weight: 500;
}
.problem-gap .path {
  font-family: var(--mono);
  font-size: 14.5px;
  letter-spacing: 0.02em;
  color: var(--ink-soft);
}
.problem-gap .path .sep { color: var(--muted); margin: 0 7px; }
.problem-gap .cost {
  margin-top: 6px;
  font-size: 15.5px;
  color: var(--muted);
}

/* not-a-chatbot supporting statement — core positioning, made prominent */
.nab-support {
  margin: 40px auto 0;
  max-width: 720px;
  font-family: var(--display);
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.4;
  letter-spacing: -0.015em;
  font-weight: 500;
  color: var(--ink-soft);
}
.nab-support .line { display: block; }
.nab-support .strong { color: var(--ink); }

/* comparison columns: simple bullet lists */
.nab-bullets { display: flex; flex-direction: column; gap: 16px; }
.nab-bullet {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 14px;
  align-items: center;
  font-size: 16.5px;
  line-height: 1.4;
}
.nab-col.dark .nab-bullet { color: var(--ink-soft); }
.nab-col.bright .nab-bullet { color: var(--ink); }

/* gentle parallax — transform driven by JS, capped & soft */
[data-parallax] { will-change: transform; transition: transform 120ms linear; }

/* ---------- value proposition strip (compact, what Delva does) ---------- */
.value-strip { padding: 30px 0 6px; }
.value-panel {
  background: var(--paper-2);
  border-radius: 20px;
  padding: clamp(18px, 2vw, 26px) clamp(24px, 4vw, 56px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 4vw, 60px);
  align-items: start;
}
.value-col {
  text-align: center;
  display: flex; flex-direction: column; align-items: center;
  gap: 9px;
}
.value-icon { width: 30px; height: 30px; color: var(--peach); }
.value-icon svg { width: 100%; height: 100%; display: block; }
.value-h {
  font-family: var(--display);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.012em;
  color: var(--ink);
}
.value-p {
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
  max-width: 34ch;
}
@media (max-width: 760px) {
  .value-strip { padding: 20px 0 0; }
  .value-panel { grid-template-columns: 1fr; gap: 0; padding: 8px 22px; }
  .value-col { padding: 26px 0; }
  .value-col + .value-col { border-top: 1px solid var(--line); }
}

/* ---------- trust strip (credibility bar) ---------- */
.trust-strip { padding: 22px 0 6px; }
.trust-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.trust-item { display: inline-flex; align-items: center; gap: 11px; }
.trust-icon { width: 18px; height: 18px; color: var(--peach); flex-shrink: 0; }
.trust-icon svg { width: 100%; height: 100%; display: block; }
.trust-label {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.004em;
  color: var(--ink-soft);
  white-space: nowrap;
}
@media (max-width: 720px) {
  .trust-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 24px;
    padding: 22px 0;
  }
  .trust-label { white-space: normal; }
}

/* ---------- Business Impact — elevated, outcome-focused, on-brand ---------- */
.outcomes h2 { max-width: 1000px; }
.outcomes-grid { gap: 22px; align-items: stretch; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.oc-card {
  display: flex;
  flex-direction: column;
  padding: 46px 38px;
  background: linear-gradient(180deg, rgba(255,154,51,0.10) 0%, var(--card) 56%);
  border: 1px solid var(--line);
  overflow: visible;
}
.oc-card:nth-child(2),
.oc-card:nth-child(3) {
  background: linear-gradient(180deg, rgba(255,154,51,0.10) 0%, var(--card) 56%);
}
.oc-card:nth-child(2) .oc-symbol,
.oc-card:nth-child(3) .oc-symbol { color: var(--peach); }
.oc-symbol { margin-bottom: 24px; align-items: center; }
.oc-symbol > span:last-child {
  font-family: var(--mono);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}
.oc-title {
  font-size: clamp(20px, 1.55vw, 24px);
  line-height: 1.25;
  letter-spacing: -0.016em;
  margin-bottom: 14px;
  min-height: 2.5em;
  text-wrap: balance;
}
.oc-desc { font-size: 15.5px; line-height: 1.6; }
.oc-card:hover {
  transform: translateY(-5px);
  border-color: var(--peach-line);
  box-shadow: 0 30px 60px -34px rgba(0,0,0,0.6);
}
@media (max-width: 900px) {
  .oc-title { min-height: 0; padding-bottom: 0; }
}

@keyframes fa-logo-spin {
  0%   { transform: rotate(0deg)   scale(1); }
  33%  { transform: rotate(180deg) scale(1); }
  47%  { transform: rotate(180deg) scale(1); }
  74%  { transform: rotate(360deg) scale(1); }
  87%  { transform: rotate(360deg) scale(1.13); }
  100% { transform: rotate(360deg) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001s !important;
    transition-duration: 0.001s !important;
  }
  [data-parallax] { transform: none !important; }
}
