/* Reduce Motion: every animation runs for everyone (decided 23 Oct 2026). The old reduced-motion blocks are kept but switched off with "@media not all". */
/* Yerah marketing site: one shared stylesheet.
   Unified from the approved landing page (v2) and the Xero page.
   Calm product-page rhythm: full-bleed bands that alternate Night and White,
   one idea per band, huge type, lots of air. Dark-first, brand colours only. */

:root {
  color-scheme: dark;
  /* Brand (PROTOTYPE-SPEC.md) */
  --night: #16201B;
  --surface: #222E28;   /* charcoal box, lifted 23 Oct so cards read on Night */
  --raise: #2A3832;
  --line: #36453D;
  --white: #F2F4EF;
  --muted: #A3B3AA;
  --peach: #E8915A;
  --green: #2C6A53;
  --euc: #72B898;
  /* Supporting, from the approved pages */
  --deep: #0F1713;
  --paper: #FBFCF9;
  --ink: #16201B;
  --ink-soft: #4E5C55;
  --peach-deep: #2C6A53;      /* accent text on light: green (deep peach was dropped 20 Oct) */
  --line-light: #D9DFD8;
  --card-light: #E1E5DF;
  --bubble-light: #E4E8E2;
  /* Type */
  --display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --body: "Public Sans", -apple-system, "Helvetica Neue", Arial, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --wide: 125%;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--night); color: var(--white); font-family: var(--body); font-size: 18px; line-height: 1.55; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--display); margin: 0; text-wrap: balance; overflow-wrap: break-word; }
p { margin: 0; }
:focus-visible { outline: 2px solid var(--peach); outline-offset: 3px; }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 50; background: var(--peach); color: var(--night); padding: 8px 14px; border-radius: 999px; font-weight: 600; text-decoration: none; }
.skip:focus { left: 12px; }

/* Bands */
.band { padding-inline: 24px; padding-block: 120px; }
.band.light { background: var(--white); color: var(--ink); }
.band.dark { background: var(--night); color: var(--white); }
.band.deep { background: var(--deep); color: var(--white); }
.band.tight { padding-block: 88px; }
.band.flush-top { padding-top: 0; }
.band.rule-top { border-top: 1px solid var(--card-light); }
.inner { max-width: 1040px; margin: 0 auto; display: grid; gap: 48px; }
.inner.narrow { max-width: 960px; gap: 40px; }
.inner.slim { max-width: 760px; gap: 32px; }
.center { text-align: center; justify-items: center; }

/* Type scale. Headings use Archivo at 125% width (wdth axis). */
.eyebrow { font-family: var(--display); font-weight: 700; font-size: 1.05rem; color: var(--peach); }
.light .eyebrow { color: var(--peach-deep); }
.mega { font-weight: 900; font-stretch: var(--wide); font-size: clamp(2.3rem, 6.2vw, 4.4rem); line-height: 1.02; letter-spacing: -0.035em; }
.big { font-weight: 800; font-stretch: var(--wide); font-size: clamp(1.85rem, 4.6vw, 3.3rem); line-height: 1.05; letter-spacing: -0.03em; }
.sub { font-size: clamp(1.1rem, 2.1vw, 1.45rem); line-height: 1.4; max-width: 38ch; color: var(--muted); font-weight: 500; }
.light .sub { color: var(--ink-soft); }
.lede { color: var(--muted); max-width: 62ch; }
.light .lede { color: var(--ink-soft); }
h3 { font-stretch: 112%; }

/* Buttons and links */
.ctas { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; justify-content: center; }
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 26px; border-radius: 999px; font-weight: 600; font-size: 1.02rem; text-decoration: none; border: 0; cursor: pointer; font-family: var(--body); text-align: center; }
.btn.peach { background: var(--peach); color: var(--night); }
.btn.peach:hover { background: #EFA273; }
.btn.dark { background: var(--night); color: var(--white); border: 1px solid var(--line); }
.btn.dark:hover { border-color: var(--muted); }
.btn.ghost { background: transparent; color: var(--white); border: 1px solid var(--line); }
.link { color: var(--peach); text-decoration: none; font-weight: 600; font-size: 1.05rem; }
.link:hover { text-decoration: underline; }
.light .link { color: var(--peach-deep); }

/* Pills, tags and chips */
.pill { display: inline-block; font-size: 0.86rem; font-weight: 600; padding: 7px 14px; border-radius: 999px; background: rgba(232,145,90,.14); color: var(--peach); }
.light .pill { background: #F6E3D6; color: var(--peach-deep); }
.pill.euc { background: rgba(114,184,152,.14); color: var(--euc); }
.tagx { justify-self: start; align-self: flex-start; font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; background: rgba(232,145,90,.16); color: var(--peach); }
.light .tagx { color: var(--peach-deep); background: #F6E3D6; }
.chip { font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; white-space: nowrap; }
.chip.read { background: #DCEBE3; color: #2C6A53; }
.chip.yes { background: #F6E3D6; color: #16201B; }
.chip.later { background: #ECEFEA; color: #5A6A61; }
.chip.never { background: rgba(232,145,90,.16); color: var(--peach); }
.who { font-family: var(--mono); font-size: 0.72rem; color: var(--muted); }
.light .who { color: var(--ink-soft); }

/* Nav */
.nav { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: rgba(22,32,27,.82); backdrop-filter: saturate(160%) blur(16px); -webkit-backdrop-filter: saturate(160%) blur(16px); border-bottom: 1px solid rgba(44,58,51,.8); }
.nav-in { max-width: 1040px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; position: relative; }
.nav .home img { height: 24px; width: auto; }
.nav .menu { display: flex; align-items: center; gap: 24px; font-size: 0.88rem; margin-left: auto; }
.nav .menu a.l { color: var(--muted); text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent; }
.nav .menu a.l:hover { color: var(--white); }
.nav .menu a.l[aria-current="page"] { color: var(--white); border-bottom-color: var(--peach); }
.nav .right { display: flex; align-items: center; gap: 10px; }
.nav .btn { padding: 8px 16px; font-size: 0.86rem; white-space: nowrap; }
.nav .btn[aria-current="page"] { box-shadow: 0 0 0 2px var(--night), 0 0 0 4px var(--peach); }
.nav-toggle { display: none; font: inherit; font-size: 0.86rem; font-weight: 600; color: var(--white); background: transparent; border: 1px solid var(--line); border-radius: 999px; padding: 8px 14px; cursor: pointer; }

/* Hero */
.hero { padding-block: 96px 0; overflow: hidden; }
.hero .inner { gap: 26px; }
.page-hero { padding-block: 104px 96px; }
.page-hero .inner { gap: 24px; }
.taglines { font-family: var(--display); font-weight: 700; font-size: clamp(1rem, 2vw, 1.2rem); color: #BFCBC3; letter-spacing: -0.005em; }
.taglines span { color: var(--peach); }

/* Phone mock-up */
.phone-stage { margin-top: 40px; display: grid; justify-items: center; }
.phone-wrap { position: relative; }
.phone { width: min(380px, 88vw); border-radius: 54px; padding: 12px; background: #0B110E; box-shadow: 0 0 0 1px var(--line), 0 60px 120px -40px rgba(0,0,0,.9), 0 0 120px -30px rgba(232,145,90,.25); text-align: left; }
.screen { border-radius: 44px; background: #F4F5F2; color: var(--ink); overflow: hidden; display: flex; flex-direction: column; min-height: 620px; }
.sbar { display: flex; justify-content: space-between; padding: 14px 26px 6px; font-size: 0.78rem; font-weight: 600; }
.thread-head { display: grid; justify-items: center; gap: 4px; padding: 6px 0 12px; border-bottom: 1px solid var(--card-light); }
.avatar { width: 44px; height: 44px; border-radius: 50%; }
.thread-head small { font-size: 0.74rem; color: #5A6A61; }
.msgs { padding: 14px 14px 18px; display: flex; flex-direction: column; gap: 8px; font-size: 0.86rem; line-height: 1.4; }
.ex-tag { position: absolute; top: 18px; right: -10px; z-index: 2; font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; background: var(--peach); color: var(--night); padding: 5px 10px; border-radius: 999px; transform: rotate(4deg); }
.seq .msg { animation: pop .5s cubic-bezier(.2,.8,.2,1) both; }
@keyframes pop { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media not all /* was: prefers-reduced-motion */ { .seq .msg { animation: none; } html { scroll-behavior: auto; } }

/* Message bubbles (work in flex and grid parents) */
.in { align-self: flex-start; justify-self: start; background: var(--bubble-light); color: var(--ink); border-radius: 18px 18px 18px 6px; padding: 10px 13px; max-width: 86%; white-space: pre-line; text-align: left; }
.out { align-self: flex-end; justify-self: end; background: var(--peach); color: var(--night); font-weight: 600; border-radius: 18px 18px 6px 18px; padding: 8px 13px; max-width: 75%; white-space: pre-line; text-align: left; }
.in b { font-weight: 700; }

/* Stats */
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.stat { display: grid; gap: 10px; align-content: start; }
.stat b { font-family: var(--display); font-weight: 800; font-stretch: var(--wide); font-size: clamp(2.8rem, 6.4vw, 4.8rem); line-height: 1; letter-spacing: -0.04em; color: var(--peach-deep); font-variant-numeric: tabular-nums; }
.stat p { font-size: 1.1rem; line-height: 1.4; color: var(--ink); font-weight: 500; }
.stat small { font-size: 0.78rem; color: var(--ink-soft); }

/* Steps */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: left; width: 100%; }
.step { background: var(--surface); border: 1px solid var(--line); border-radius: 28px; padding: 32px; display: grid; gap: 12px; align-content: start; }
.step .n { font-family: var(--mono); font-weight: 500; font-size: 2.2rem; line-height: 1; color: var(--peach); }
.step h3 { font-size: 1.35rem; font-weight: 800; letter-spacing: -0.015em; }
.step p { color: var(--muted); font-size: 1rem; }

/* Feature rows */
.feature { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.feature.flip .copy { order: 2; }
.feature .copy { display: grid; gap: 18px; }
.feature .copy p.line { font-size: 1.2rem; line-height: 1.5; color: var(--muted); max-width: 32ch; }
.light .feature .copy p.line { color: var(--ink-soft); }
.bubble-card { border-radius: 32px; padding: 34px; display: grid; gap: 10px; position: relative; text-align: left; }
.dark .bubble-card, .deep .bubble-card { background: var(--surface); border: 1px solid var(--line); }
.light .bubble-card { background: var(--paper); border: 1px solid var(--card-light); }
.bubble-card .in { max-width: 100%; font-size: 1rem; }
.dark .bubble-card .in, .deep .bubble-card .in { background: var(--raise); color: var(--white); }
.bubble-card .out { font-size: 1rem; }
.bubble-card .actions-row { display: flex; gap: 8px; flex-wrap: wrap; }
.mini { display: inline-flex; padding: 6px 14px; border-radius: 999px; font-size: 0.9rem; font-weight: 600; border: 1px solid var(--line); color: var(--white); }
.mini.peach { background: var(--peach); border-color: var(--peach); color: var(--night); }
.light .mini { border-color: var(--line-light); color: var(--ink); }
.voice-note { align-self: flex-end; justify-self: end; display: inline-flex; align-items: center; gap: 10px; background: var(--peach); color: var(--night); border-radius: 18px 18px 6px 18px; padding: 9px 14px; font-weight: 600; font-size: 0.9rem; }
.voice-note .wave { display: flex; align-items: center; gap: 2px; height: 20px; }
.voice-note .wave i { display: block; width: 3px; border-radius: 2px; background: var(--night); }
.transcript { justify-self: end; align-self: flex-end; font-style: italic; color: var(--muted); font-size: 0.92rem; text-align: right; max-width: 90%; }
.light .transcript { color: var(--ink-soft); }

/* Trust and generic card grids */
.trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; text-align: left; width: 100%; }
.trust.three { grid-template-columns: repeat(3, 1fr); }
.trust > div { display: grid; gap: 10px; align-content: start; }
.trust .ic { width: 44px; height: 44px; border-radius: 12px; background: var(--green); display: grid; place-items: center; color: var(--white); font-weight: 800; font-family: var(--display); }
.trust h3 { font-size: 1.15rem; font-weight: 800; }
.trust p { color: var(--ink-soft); font-size: 1rem; }
.dark .trust p, .deep .trust p { color: var(--muted); }
.cards2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; text-align: left; width: 100%; }
.card { border-radius: 28px; padding: 32px; display: grid; gap: 12px; align-content: start; background: var(--surface); border: 1px solid var(--line); }
.light .card { background: var(--paper); border-color: var(--card-light); }
.card h3 { font-size: 1.35rem; font-weight: 800; letter-spacing: -0.015em; }
.card p { color: var(--muted); font-size: 1rem; }
.light .card p { color: var(--ink-soft); }
.card.accent { border: 2px solid var(--peach); }
.ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ticks li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; font-size: 1rem; }
.ticks li::before { content: "✓"; color: var(--euc); font-weight: 700; }
.light .ticks li::before { color: var(--green); }
.ticks.no li::before { content: "–"; color: var(--muted); }

/* Connections */
.tools { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.tool { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); font-weight: 600; font-size: 0.95rem; }
.tool::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--euc); }
.tool.soon { color: var(--muted); }
.tool.soon::before { background: transparent; border: 1px solid var(--muted); }
.light .tool { background: var(--paper); border-color: var(--card-light); }

/* Pricing */
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: left; align-items: stretch; width: 100%; }
.plan { border-radius: 30px; padding: 36px; display: grid; gap: 16px; align-content: start; background: var(--surface); border: 1px solid var(--line); }
.plan.main { border: 2px solid var(--peach); }
.plan .k { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--peach); }
.plan h3 { font-size: 1.7rem; font-weight: 800; letter-spacing: -0.02em; }
.plan .price { color: var(--white); font-family: var(--display); font-weight: 800; font-stretch: var(--wide); font-size: 2.3rem; line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.plan .price small { font-family: var(--body); font-stretch: 100%; font-size: 0.95rem; font-weight: 500; color: var(--muted); letter-spacing: 0; }
.plan .week { color: var(--euc); font-size: 0.9rem; margin-top: -6px; font-family: var(--mono); }
.plan p { color: var(--muted); font-size: 1rem; }
.plan ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.plan li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; font-size: 1rem; color: var(--white); }
.plan li::before { content: "✓"; color: var(--euc); font-weight: 700; }
.plan .btn { justify-self: start; margin-top: 6px; }
.plan.strip { width: 100%; text-align: left; grid-template-columns: 1fr auto; align-items: center; gap: 12px 28px; }
.plan.strip > div { display: grid; gap: 8px; }
.plan.strip h3 { font-size: 1.45rem; }
.fine { font-size: 0.86rem; color: var(--muted); max-width: 64ch; }
.light .fine { color: var(--ink-soft); }

/* FAQ (on light bands) */
.faq { display: grid; gap: 0; text-align: left; border-top: 1px solid var(--line-light); max-width: 760px; width: 100%; }
.faq details { border-bottom: 1px solid var(--line-light); padding: 22px 4px; }
.faq summary { cursor: pointer; list-style: none; font-family: var(--display); font-stretch: 112%; font-weight: 700; font-size: 1.2rem; display: flex; justify-content: space-between; gap: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--peach-deep); font-weight: 400; font-size: 1.6rem; line-height: 1; }
.faq details[open] summary::after { content: "–"; }
.faq details p { margin-top: 12px; color: var(--ink-soft); font-size: 1.05rem; max-width: 62ch; }

/* Xero page */
.lockup { display: flex; align-items: center; gap: 18px; justify-content: center; }
.lockup img { height: 44px; width: auto; }
.lockup .plus { font-family: var(--display); font-weight: 800; font-size: 2rem; color: var(--muted); }
.lockup .xero { font-family: var(--display); font-weight: 800; font-stretch: var(--wide); font-size: 2.4rem; letter-spacing: -0.02em; }
.summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: left; width: 100%; }
.summary > div { background: var(--surface); border: 1px solid var(--line); border-radius: 24px; padding: 26px; display: grid; gap: 6px; align-content: start; }
.summary b { font-family: var(--mono); font-size: 2.4rem; font-weight: 500; color: var(--peach); line-height: 1; }
.summary p { color: var(--muted); font-size: 0.98rem; }
.group { display: grid; gap: 18px; text-align: left; }
.group-head { display: grid; gap: 8px; }
.group-head p { color: var(--ink-soft); max-width: 60ch; }
.dark .group-head p, .deep .group-head p { color: var(--muted); }
.actions { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-light); }
.actions li { display: grid; grid-template-columns: 1fr auto; gap: 6px 18px; padding: 18px 2px; border-bottom: 1px solid var(--line-light); align-items: start; }
.actions li > div { display: grid; gap: 4px; min-width: 0; }
.actions h3 { font-size: 1.12rem; font-weight: 800; letter-spacing: -0.01em; }
.actions p { color: var(--ink-soft); font-size: 1rem; }
.dark .actions, .deep .actions { border-top-color: var(--line); }
.dark .actions li, .deep .actions li { border-bottom-color: var(--line); }
.dark .actions p, .deep .actions p { color: var(--muted); }
.example { background: var(--paper); border: 1px solid var(--card-light); border-radius: 28px; padding: 28px; display: grid; gap: 10px; max-width: 560px; justify-self: center; width: 100%; text-align: left; }
.example .tag { justify-self: start; font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; background: #F6E3D6; color: #16201B; }

/* App page */
.shot { width: 100%; border-radius: 22px; border: 1px solid var(--line); }
.app-icon { width: 88px; height: 88px; border-radius: 22px; box-shadow: 0 0 0 1px var(--line), 0 20px 60px -20px rgba(232,145,90,.35); }
.feats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; text-align: left; width: 100%; }
.feats .card { padding: 28px; }
.feats .card h3 { font-size: 1.2rem; }
.feats .n { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--peach); }
.light .feats .n { color: var(--peach-deep); }
.addon { display: grid; grid-template-columns: 1fr auto; gap: 12px 24px; align-items: center; border: 1px dashed var(--peach); border-radius: 24px; padding: 24px 28px; text-align: left; width: 100%; }
.addon h3 { font-size: 1.2rem; }
.addon p { color: var(--muted); font-size: 1rem; }
.addon .chip { border: 1px solid var(--peach); color: var(--peach); background: transparent; }

/* Forms */
.book { width: 100%; max-width: 560px; display: grid; gap: 16px; text-align: left; background: var(--surface); border: 1px solid var(--line); border-radius: 30px; padding: 32px; }
.book.wide { max-width: 680px; }
.book .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.book label, .book legend { display: grid; gap: 6px; font-size: 0.86rem; color: var(--muted); font-weight: 600; }
.book input[type=text], .book input[type=tel], .book input[type=email], .book input:not([type]), .book select, .book textarea { font: inherit; font-size: 1rem; color: var(--white); background: var(--night); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; width: 100%; }
.book textarea { min-height: 96px; resize: vertical; }
.book input::placeholder, .book textarea::placeholder { color: #6E7E75; }
.book input:focus, .book select:focus, .book textarea:focus { border-color: var(--peach); outline: none; }
.book fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 10px; min-width: 0; }
.book legend { margin-bottom: 8px; padding: 0; }
.choice { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; background: var(--night); border: 1px solid var(--line); border-radius: 16px; padding: 14px 16px; cursor: pointer; color: var(--white); font-size: 0.98rem; font-weight: 500; }
.choice input { margin: 3px 0 0; accent-color: var(--peach); width: 18px; height: 18px; }
.choice small { display: block; color: var(--muted); font-size: 0.86rem; font-weight: 400; margin-top: 2px; }
.choice:has(input:checked) { border-color: var(--peach); }
.checks { display: flex; flex-wrap: wrap; gap: 8px; }
.check { display: inline-flex; align-items: center; gap: 8px; background: var(--night); border: 1px solid var(--line); border-radius: 999px; padding: 8px 14px; font-size: 0.92rem; color: var(--white); font-weight: 500; cursor: pointer; }
.check input { accent-color: var(--peach); margin: 0; }
.book .btn { width: 100%; padding: 16px; font-size: 1.05rem; }
.consent { font-size: 0.8rem; color: var(--muted); line-height: 1.5; }
.done { background: rgba(114,184,152,.14); color: var(--euc); border-radius: 14px; padding: 14px 16px; font-size: 0.95rem; display: grid; gap: 12px; }
.done[hidden] { display: none; }
.done .btn { width: auto; justify-self: start; padding: 12px 22px; font-size: 0.98rem; }
.code-input { letter-spacing: 0.4em; font-family: var(--mono) !important; font-size: 1.3rem !important; text-align: center; }

/* Legal placeholder pages */
.draft-banner { border: 2px dashed var(--peach); border-radius: 20px; padding: 18px 22px; color: var(--peach); font-weight: 600; background: rgba(232,145,90,.08); text-align: left; width: 100%; }
.legal { text-align: left; display: grid; gap: 28px; width: 100%; }
.legal section { display: grid; gap: 10px; }
.legal h2 { font-size: 1.35rem; font-weight: 800; font-stretch: 112%; letter-spacing: -0.01em; }
.legal p, .legal li { color: var(--muted); font-size: 1rem; }
.legal ul { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
.tbc { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--peach); background: rgba(232,145,90,.12); padding: 2px 8px; border-radius: 999px; white-space: nowrap; }

/* Footer */
footer.foot { background: var(--deep); color: var(--muted); padding-inline: 24px; padding-block: 56px 72px; font-size: 0.82rem; line-height: 1.6; }
footer.foot .inner { gap: 18px; }
footer.foot img { height: 22px; width: auto; }
footer.foot p { max-width: 90ch; }
footer.foot .key { color: #C9D3CD; }
footer.foot .links { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; padding-top: 8px; border-top: 1px solid var(--line); }
footer.foot .links a { color: var(--white); text-decoration: none; }
footer.foot .links a:hover { text-decoration: underline; }
footer.foot .links span { margin-left: auto; }

/* Responsive */
@media (max-width: 920px) {
  .nav-toggle { display: inline-flex; }
  .nav .menu { display: none; position: absolute; top: calc(100% + 1px); left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: var(--night); border-bottom: 1px solid var(--line); padding: 8px 24px 16px; }
  .nav.open .menu { display: flex; }
  .nav .menu a.l { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 1rem; }
  .nav .menu a.l[aria-current="page"] { border-bottom-color: var(--line); color: var(--peach); }
  .nav .menu a.l:last-child { border-bottom: 0; }
  .feats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .stats, .steps, .plans, .summary, .cards2 { grid-template-columns: 1fr; }
  .feature { grid-template-columns: 1fr; gap: 32px; }
  .feature.flip .copy { order: 0; }
  .trust { grid-template-columns: 1fr 1fr; }
  .trust.three { grid-template-columns: 1fr; }
  .plan.strip, .addon { grid-template-columns: 1fr; }
  .plan.strip .btn { justify-self: start; }
}
@media (max-width: 520px) {
  body { font-size: 16px; }
  .band { padding-block: 80px; padding-inline: 18px; }
  .band.tight { padding-block: 64px; }
  .page-hero { padding-block: 72px 64px; }
  .hero { padding-block: 72px 0; }
  .nav-in { padding: 10px 16px; gap: 10px; }
  .nav .home img { height: 20px; }
  .nav .btn { padding: 8px 12px; font-size: 0.82rem; }
  .nav-toggle { padding: 8px 12px; font-size: 0.82rem; }
  .trust, .feats { grid-template-columns: 1fr; }
  .book .row2 { grid-template-columns: 1fr; }
  .plan, .step, .bubble-card, .book, .card { padding: 24px; }
  .screen { min-height: 560px; }
  .ex-tag { right: 0; }
  .actions li { grid-template-columns: 1fr; }
  .actions .chip { justify-self: start; }
  .lockup { gap: 12px; }
  .lockup img { height: 32px; }
  .lockup .xero { font-size: 1.8rem; }
  footer.foot { padding-inline: 18px; }
  footer.foot .links span { margin-left: 0; width: 100%; }
}

.stack { display: grid; gap: 16px; }
.stack[hidden] { display: none; }

/* The Go wordmark (text-based until a drawn logo exists) */
.wm { font-family: var(--display); font-weight: 900; font-stretch: 125%; letter-spacing: -0.045em; color: var(--white); font-size: 1.55rem; line-height: 1; white-space: nowrap; }
.wm b { color: var(--peach); font-weight: 900; }
footer.foot .wm { font-size: 1.35rem; }
/* Hero additions */
.hero .on-the-go { color: var(--peach); }
.hero .whats { font-style: italic; color: var(--muted); font-size: clamp(1.15rem, 2.4vw, 1.5rem); margin-top: 6px; }
.hero .taglines { margin-top: 2px; }
.proactive .plain { color: #8C928F; font-weight: 500; letter-spacing: -0.01em; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.proactive .sub { max-width: 46rem; margin-inline: auto; }
.nav .home, .nav .home:hover { text-decoration: none; }

/* "What's the go?" section and phone demo */
.whatsgo { padding-top: clamp(56px, 8vw, 96px); position: relative; }
.whatsgo::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(1100px, calc(100% - 32px)); height: 1px; background: rgba(242,244,239,.35); }
.wtg-head { font-family: var(--display); font-style: italic; font-weight: 800; font-stretch: 112%; color: var(--muted); font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.05; letter-spacing: -0.02em; }
.whatsgo .sub { max-width: 42rem; margin-inline: auto; }
.demo-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 22px; }
.demo-tabs button { font: 600 0.92rem var(--body); color: var(--white); background: transparent; border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; cursor: pointer; }
.demo-tabs button[aria-selected="true"] { background: var(--peach); color: var(--night); border-color: var(--peach); }
.demo-tabs button:focus-visible { outline: 2px solid var(--peach); outline-offset: 3px; }
.whatsgo .phone-stage { margin-top: 26px; }
.whatsgo .screen { height: 640px; min-height: 0; }
.demo-msgs { flex: 1; overflow-y: auto; scroll-behavior: smooth; }
.demo-composer { display: flex; align-items: center; gap: 8px; padding: 10px 12px 16px; border-top: 1px solid var(--card-light); }
.dc-plus { width: 30px; height: 30px; border-radius: 50%; border: 1px solid #C9D0CB; display: grid; place-items: center; color: #5A6A61; font-size: 1.1rem; flex: none; }
.dc-field { flex: 1; text-align: left; border: 1px solid #C9D0CB; border-radius: 999px; padding: 7px 12px; font-size: 0.8rem; color: #5A6A61; }
.dc-mic { width: 34px; height: 34px; border-radius: 50%; background: var(--peach); display: grid; place-items: center; flex: none; transition: transform .2s; }
.dc-mic.rec { transform: scale(1.18); box-shadow: 0 0 0 6px rgba(232,145,90,.25); }
.voice-note { display: flex; align-items: center; gap: 8px; }
.vn-play { width: 0; height: 0; border-left: 9px solid var(--night); border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
.vn-wave { display: flex; align-items: center; gap: 2px; height: 20px; }
.vn-wave i { display: block; width: 3px; border-radius: 2px; background: var(--night); transform-origin: center; }
.vn-wave.live i { animation: vn 1s ease-in-out 2; }
.vn-wave.live i:nth-child(odd) { animation-delay: .15s; }
@keyframes vn { 50% { transform: scaleY(.45); } }
.vn-len { font-size: 0.74rem; font-weight: 600; }
.said { align-self: flex-end; font-size: 0.74rem; font-style: italic; color: #5A6A61; max-width: 80%; text-align: right; margin-top: -4px; }
.demo-msgs .msg { animation: pop .45s cubic-bezier(.2,.8,.2,1) both; }
.typing { display: flex; gap: 4px; padding: 12px 14px; }
.typing i { width: 6px; height: 6px; border-radius: 50%; background: #8A968F; animation: dot 1s infinite; }
.typing i:nth-child(2) { animation-delay: .15s; } .typing i:nth-child(3) { animation-delay: .3s; }
@keyframes dot { 50% { opacity: .3; transform: translateY(-2px); } }
.demo-caption { margin-top: 20px; color: var(--muted); min-height: 1.6em; line-height: 1.6; white-space: nowrap; }
@media (max-width: 560px) { .demo-caption { white-space: normal; min-height: 3.2em; max-width: 22rem; margin-inline: auto; } }
@media not all /* was: prefers-reduced-motion */ { .demo-msgs .msg, .typing i, .vn-wave i { animation: none; } .dc-mic { transition: none; } }
@media (max-width: 560px) { .whatsgo .screen { height: 580px; } }

/* "the go" wordplay */
#book .on-the-go { color: var(--peach); }
.go-line { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: clamp(1.05rem, 2vw, 1.3rem); color: var(--white); margin-top: 4px; }
.go-sign { color: var(--peach); }

.on-the-go { color: var(--peach); }

.wm .wm-dot { display: inline-block; width: .19em; height: .19em; border-radius: 50%; background: currentColor; margin-left: .012em; }

/* one line per phrase in feature headings */
.feature .copy h2.big { font-size: clamp(1.7rem, 3.1vw, 2.6rem); }
.feature .copy h2 .ln { display: block; }
@media (min-width: 861px) { .feature .copy h2 .ln { white-space: nowrap; } }
.feature .copy p.hint { font-size: 1rem; color: #8A968F; font-style: italic; }
.light .feature .copy p.hint { color: #6B7770; }
/* "What's the go?" heading: "What's the" white, "go?" peach, like the logo */
.wtg-head { color: var(--white); }
.wtg-head .wtg-go { color: var(--peach); }

/* demo pagination dots: active dot stretches and fills while it plays */
.demo-dots { display: flex; justify-content: center; gap: 4px; margin-top: 10px; }
.dd { width: 28px; height: 28px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.dd i { position: relative; display: block; width: 8px; height: 8px; border-radius: 999px; background: #34433B; overflow: hidden; transition: width .35s cubic-bezier(.2,.8,.2,1), background .2s; }
.dd:hover i { background: #4A5B52; }
.dd[aria-current="true"] { width: 44px; }
.dd[aria-current="true"] i { width: 36px; }
.dd span { position: absolute; inset: 0; background: var(--peach); transform-origin: left center; transform: scaleX(0); }
.dd[aria-current="true"] span { transform: scaleX(1); }
.dd:focus-visible { outline: 2px solid var(--peach); outline-offset: 2px; border-radius: 8px; }
@keyframes ddfill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media not all /* was: prefers-reduced-motion */ { .dd i { transition: none; } }

/* hero trial note + ticks */
.trial-note { margin-top: 14px; color: #8C928F; font-size: 0.92rem; }
.trial-note .ast { color: #8C928F; text-decoration: none; margin-left: 1px; }
/* benefits band */
.benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 34px; text-align: left; }
.benefit { background: #FBFCF9; border: 1px solid #DCE2DD; border-radius: 18px; padding: 24px; display: grid; gap: 8px; }
.benefit h3 { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.25rem; color: var(--night); }
.benefit p { color: #4A5650; line-height: 1.5; }
/* integrations */
.integrations { list-style: none; padding: 0; margin: 30px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; max-width: 58rem; }
.integrations li { background: #FBFCF9; border: 1px solid #DCE2DD; border-radius: 999px; padding: 12px 22px; font-family: var(--display); font-weight: 800; font-stretch: 112%; color: var(--night); font-size: 1.05rem; }
.integrations li small { font-family: var(--body); font-weight: 500; color: #6B7770; font-size: 0.78rem; margin-left: 6px; }
.integrations li.more { padding: 0; border: 1px dashed #2C6A53; background: transparent; }
.integrations li.more a { display: block; padding: 12px 22px; color: #2C6A53; text-decoration: none; border-radius: 999px; }
.integrations li.more a:hover { background: #E6ECE7; }
.integrations li.more a:focus-visible { outline: 2px solid #2C6A53; outline-offset: 3px; }
.int-note { margin-top: 22px; color: #4A5650; font-size: 1.02rem; }
@media (max-width: 860px) { .benefits { grid-template-columns: 1fr; } }

/* outside-work strip */
.life-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 30px; text-align: left; }
.life-card { background: var(--raise, #213029); border: 1px solid var(--line); border-radius: 18px; padding: 20px 22px; display: grid; gap: 6px; }
.life-card .when { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #8C928F; }
.life-card p { color: var(--white); font-size: 1.02rem; }
.life-card b { font-family: var(--display); font-weight: 800; font-stretch: 112%; color: var(--peach); font-size: 1.12rem; }
.life .fine { margin-top: 16px; color: #8C928F; }
@media (max-width: 860px) { .life-cards { grid-template-columns: 1fr; } }

/* ---------- Scroll story ---------- */
.story { background: var(--night); color: var(--white); border-top: 1px solid var(--line); }
.story-stage { position: relative; overflow: hidden; }
.story-glow { position: absolute; inset: -20%; background: radial-gradient(40% 40% at calc(30% + var(--p, 0) * 40%) 40%, rgba(232,145,90,.16), transparent 70%); pointer-events: none; }
.story-inner { position: relative; max-width: 1100px; margin: 0 auto; padding: 72px 20px; }
.story-beats { list-style: none; margin: 0; padding: 0; display: grid; gap: 72px; }
.beat { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.beat-n { font-family: var(--mono); font-size: 0.78rem; letter-spacing: 0.12em; color: #8C928F; }
.beat h2 { font-family: var(--display); font-weight: 900; font-stretch: 125%; font-size: clamp(2.6rem, 7vw, 5.6rem); line-height: 0.98; letter-spacing: -0.035em; margin-top: 10px; }
.beat p { color: #A3B3AA; font-size: clamp(1.1rem, 2.2vw, 1.5rem); margin-top: 14px; }
.beat-visual { position: relative; display: grid; place-items: center; min-height: 220px; }
.ex-chip { position: absolute; top: -34px; right: 0; font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: #8C928F; border: 1px solid var(--line); border-radius: 999px; padding: 3px 9px; }
.lock-note { display: flex; gap: 12px; width: min(100%, 380px); background: rgba(242,244,239,.1); border: 1px solid rgba(242,244,239,.14); backdrop-filter: blur(8px); border-radius: 22px; padding: 16px; }
.lock-note b { font-size: 0.95rem; } .ln-time { float: right; color: #8C928F; font-size: 0.8rem; }
.lock-note p { margin-top: 4px; font-size: 0.95rem; color: var(--white); line-height: 1.4; }
.ln-icon { width: 40px; height: 40px; border-radius: 10px; flex: none; background: #16201B url("thego-app-icon.png") center/cover; }
.chips3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; width: min(100%, 420px); }
.chip3 { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 18px 12px; text-align: center; display: grid; gap: 4px; }
.chip3 b { font-family: var(--display); font-weight: 900; font-stretch: 112%; font-size: 1.7rem; color: var(--peach); font-variant-numeric: tabular-nums; }
.chip3 span { color: #A3B3AA; font-size: 0.85rem; }
.mini-thread { display: grid; gap: 8px; width: min(100%, 360px); font-size: 0.95rem; }
.mt-in { justify-self: start; background: #213029; border-radius: 16px 16px 16px 5px; padding: 10px 13px; max-width: 85%; }
.mt-out { justify-self: end; background: var(--peach); color: var(--night); font-weight: 700; border-radius: 16px 16px 5px 16px; padding: 8px 14px; }
.big-mark { font-family: var(--display); font-weight: 900; font-stretch: 125%; letter-spacing: -0.045em; font-size: clamp(3.4rem, 9vw, 7rem); line-height: 1; white-space: nowrap; display: inline-flex; align-items: baseline; }
.big-mark b { color: var(--peach); font-weight: 900; }
.big-mark .wm-dot { display: inline-block; width: .19em; height: .19em; border-radius: 50%; background: var(--white); margin-left: .012em; }
.story-progress { display: none; }
.story-cta { text-align: center; padding: 8px 20px 88px; display: grid; justify-items: center; gap: 10px; }

/* Live (JavaScript on, motion allowed): pin the stage and crossfade the beats */
.story-live .story-track { height: 400vh; }
.story-live .story-stage { position: sticky; top: 0; height: 100vh; height: 100svh; display: grid; align-items: center; }
.story-live .story-inner { width: 100%; padding-top: 40px; padding-bottom: 40px; }
.story-live .story-beats { display: block; position: relative; min-height: 420px; }
.story-live .beat { position: absolute; inset: 0; opacity: 0; transform: translateY(36px) scale(.98); transition: opacity .6s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.story-live .beat.past { transform: translateY(-36px) scale(.98); }
.story-live .beat.on { opacity: 1; transform: none; pointer-events: auto; }
.story-live .beat.on .mt-in, .story-live .beat.on .mt-out, .story-live .beat.on .chip3 { animation: pop .5s cubic-bezier(.2,.8,.2,1) both; }
.story-live .beat.on .mini-thread > :nth-child(2) { animation-delay: .25s; } .story-live .beat.on .mini-thread > :nth-child(3) { animation-delay: .5s; } .story-live .beat.on .mini-thread > :nth-child(4) { animation-delay: .75s; }
.story-live .beat.on .chip3:nth-child(2) { animation-delay: .15s; } .story-live .beat.on .chip3:nth-child(3) { animation-delay: .3s; }
.story-live .story-progress { display: block; position: absolute; left: 20px; right: 20px; bottom: 0; height: 3px; background: #26332C; border-radius: 3px; overflow: hidden; }
.story-live .story-progress span { display: block; height: 100%; background: var(--peach); transform-origin: left; transform: scaleX(0); }

@media (max-width: 860px) {
  .beat { grid-template-columns: 1fr; gap: 24px; text-align: center; }
  .beat-visual { min-height: 180px; text-align: left; }
  .ex-chip { top: auto; bottom: -30px; right: 50%; transform: translateX(50%); }
  .story-live .story-beats { min-height: 520px; }
}

/* Gentle reveals: only hidden once JavaScript has confirmed it can show them again */
.reveal-ready .benefit, .reveal-ready .step, .reveal-ready .integrations li, .reveal-ready .feature .copy, .reveal-ready .plan { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal-ready .shown { opacity: 1 !important; transform: none !important; }
@media not all /* was: prefers-reduced-motion */ { .story-live .beat { transition: none; } }
/* How it works: outcomes, benefit-first groups, with/without */
.outcomes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; width: 100%; max-width: 920px; margin: 8px auto 0; text-align: left; }
.outcomes > div { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 20px 22px; display: grid; gap: 4px; }
.outcomes b { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.15rem; color: var(--peach); }
.outcomes span { color: var(--muted); font-size: 0.98rem; }
.groups { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; width: 100%; text-align: left; }
.group { background: var(--paper); border: 1px solid var(--card-light); border-radius: 28px; padding: 32px; display: grid; gap: 14px; align-content: start; grid-template-rows: auto auto 1fr auto; }
.group h3 { font-size: 1.45rem; font-weight: 800; letter-spacing: -0.015em; color: var(--ink); }
.group .ticks li { color: var(--ink); }
.tier { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: #DCEBE3; color: var(--green); font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; vertical-align: 2px; }
.irl { margin-top: 6px; padding-top: 16px; border-top: 1px solid var(--card-light); color: var(--ink-soft); font-size: 0.98rem; line-height: 1.5; }
.irl span { display: block; font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green); margin-bottom: 6px; }
.compare { width: 100%; max-width: 920px; margin: 0 auto; text-align: left; border: 1px solid var(--line); border-radius: 28px; overflow: hidden; background: var(--surface); }
.cmp-row { display: grid; grid-template-columns: 0.9fr 1.2fr 1.2fr; gap: 20px; padding: 18px 26px; border-top: 1px solid var(--line); align-items: center; }
.cmp-row:first-child { border-top: 0; }
.cmp-row b { font-family: var(--display); font-weight: 800; font-size: 1.05rem; }
.cmp-row span:nth-child(2) { color: var(--muted); }
.cmp-row span:nth-child(3) { color: var(--white); font-weight: 600; }
.cmp-head { background: var(--raise); padding-block: 12px; }
.cmp-head span { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; }
.cmp-head span:nth-child(2) { color: var(--muted); }
.cmp-head span:nth-child(3) { color: var(--peach); }
.light-steps .step { background: var(--paper); border-color: var(--card-light); }
.light-steps .step p { color: var(--ink-soft); }
@media (max-width: 860px) {
  .outcomes, .groups { grid-template-columns: 1fr; }
  .cmp-head { display: none; }
  .cmp-row { grid-template-columns: 1fr; gap: 6px; padding: 18px 22px; }
  .cmp-row span[data-l]::before { content: attr(data-l) ": "; font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; }
  .cmp-row span:nth-child(3)::before { color: var(--peach); }
}
@media (max-width: 520px) { .group { padding: 24px; } }
.group .ticks li { display: block; position: relative; padding-left: 30px; }
.group .ticks li::before { position: absolute; left: 0; top: 0; }
.group .ticks { align-content: start; }
.group .irl { align-self: end; }

/* Explicit heading colours so no host or browser default can dim them */
.dark h1, .dark h2, .dark h3, .deep h1, .deep h2, .deep h3, .step h3, .card h3, .story h2 { color: var(--white); }
.light h1, .light h2, .light h3, .light .card h3, .light-steps .step h3, .group h3, .benefit h3 { color: var(--ink); }
/* Print and PDF export: show the scroll story as a plain stack and skip reveal animations */
@media print {
  .story-live .story-track { height: auto; }
  .story-live .story-stage { position: relative; height: auto; display: block; }
  .story-live .story-beats { display: grid; min-height: 0; }
  .story-live .beat { position: static; opacity: 1; transform: none; }
  .story-live .story-progress { display: none; }
  .reveal-ready .benefit, .reveal-ready .step, .reveal-ready .integrations li, .reveal-ready .feature .copy, .reveal-ready .plan { opacity: 1; transform: none; }
}
/* Sliding "what you get" banner under the hero */
.hero .inner { padding-bottom: 72px; }
.ticker { background: var(--deep); border-block: 1px solid var(--line); overflow: hidden; padding: 20px 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.ticker-track { display: flex; width: max-content; animation: ticker 36s linear infinite; }
.ticker:hover .ticker-track { animation-play-state: paused; }
.ticker-list { display: flex; justify-content: space-around; gap: 56px; min-width: 100vw; list-style: none; margin: 0; padding: 0 28px; }
.ticker-list li { display: flex; align-items: center; gap: 12px; white-space: nowrap; font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.1rem; letter-spacing: -0.005em; color: var(--white); }
.ticker-list li::before { content: ""; flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.9' fill='none' stroke='%23F2F4EF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat; }
@keyframes ticker { to { transform: translateX(-50%); } }
.ticker + .whatsgo::before { display: none; }
@media (max-width: 520px) { .hero .inner { padding-bottom: 52px; } .ticker { padding: 16px 0; } .ticker-list { gap: 40px; } .ticker-list li { font-size: 1rem; } }
/* Speed is set in site.js so it moves at the same pace on every screen; tap to pause */
.ticker.paused .ticker-track { animation-play-state: paused; }
@media print { .ticker-track { animation: none; } .ticker-list[aria-hidden="true"] { display: none; } }
/* "Connect and go." steps with a small visual each */
.go-steps { list-style: none; margin: 0; padding: 0; position: relative; }
.go-steps::before { content: ""; position: absolute; left: 0; right: 0; top: 54px; height: 2px; background: linear-gradient(90deg, var(--peach), var(--euc)); opacity: .55; }
.go-steps .step { position: relative; grid-template-rows: auto auto auto 1fr; }
.go-steps .n { width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--peach); display: grid; place-items: center; font-size: 1.15rem; background: var(--night); }
.sv { align-self: end; margin-top: 10px; border-radius: 16px; background: var(--raise); border: 1px solid var(--line); padding: 14px; position: relative; }
.sv-tools { display: flex; flex-wrap: wrap; gap: 8px; }
.sv-tools span { display: inline-flex; align-items: center; gap: 6px; font-size: 0.82rem; font-weight: 600; padding: 6px 10px 6px 7px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); color: var(--white); }
.sv-tools span::before { content: ""; width: 16px; height: 16px; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.9' fill='none' stroke='%23F2F4EF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat; }
.sv-set { display: grid; gap: 0; padding-block: 6px; }
.sv-set div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 2px; border-bottom: 1px solid var(--line); font-size: 0.9rem; }
.sv-set div:last-child { border-bottom: 0; }
.sv-set span { color: var(--muted); }
.sv-set b { font-family: var(--display); font-weight: 800; font-stretch: 112%; color: var(--peach); }
.sv-go { display: flex; align-items: center; gap: 12px; }
.sv-go p { flex: 1; font-size: 0.92rem; color: var(--white); }
.go-btn { font-family: var(--display); font-weight: 900; font-stretch: 112%; background: var(--peach); color: var(--night); padding: 9px 20px; border-radius: 999px; box-shadow: 0 0 0 0 rgba(232,145,90,.5); }
.sv-tag { position: absolute; top: -9px; right: 12px; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; background: var(--night); color: #8C928F; padding: 2px 7px; border-radius: 999px; border: 1px solid var(--line); }
@keyframes svpop { from { opacity: 0; transform: translateY(6px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes goring { 0% { box-shadow: 0 0 0 0 rgba(232,145,90,.55); } 70% { box-shadow: 0 0 0 12px rgba(232,145,90,0); } 100% { box-shadow: 0 0 0 0 rgba(232,145,90,0); } }
.reveal-ready .go-steps .shown .sv-tools span, .reveal-ready .go-steps .shown .sv-set div { animation: svpop .45s cubic-bezier(.2,.8,.2,1) both; }
.go-steps .sv-tools span:nth-child(2), .go-steps .sv-set div:nth-child(2) { animation-delay: .12s; }
.go-steps .sv-tools span:nth-child(3), .go-steps .sv-set div:nth-child(3) { animation-delay: .24s; }
.go-steps .sv-tools span:nth-child(4) { animation-delay: .36s; } .go-steps .sv-tools span:nth-child(5) { animation-delay: .48s; } .go-steps .sv-tools span:nth-child(6) { animation-delay: .6s; }
.reveal-ready .go-steps .shown .go-btn { animation: goring 2.4s ease-out .8s infinite; }
#how + .life { padding-top: 0; }
@media (max-width: 860px) { .go-steps::before { display: none; } }
@media not all /* was: prefers-reduced-motion */ { .reveal-ready .go-steps .shown .sv-tools span, .reveal-ready .go-steps .shown .sv-set div, .reveal-ready .go-steps .shown .go-btn { animation: none; } }
/* Scroll story: pin a panel the size of its content, centred, so the button follows straight after */
.story-live .story-stage { height: auto; top: max(0px, calc(50vh - 270px)); top: max(0px, calc(50svh - 270px)); }
.story-cta { padding-top: 28px; }
@media (max-width: 860px) { .story-live .story-stage { top: max(0px, calc(50vh - 320px)); top: max(0px, calc(50svh - 320px)); } }
.story + .proactive { padding-top: 48px; }
.story-cta { padding-bottom: 56px; }
.billing { margin: 4px auto 0; color: var(--white); font-weight: 600; font-size: 1.02rem; }
.billing::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--euc); margin-right: 10px; vertical-align: 2px; }
/* Story button lives inside the pinned panel, under the progress line; it fades in on the last beat */
.story-cta { position: relative; padding: 28px 20px 40px; }
.story-live .story-cta { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .6s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.story-live.at-end .story-cta { opacity: 1; transform: none; pointer-events: auto; }
.story-live .story-stage { top: max(0px, calc(50vh - 340px)); top: max(0px, calc(50svh - 340px)); }
@media (max-width: 860px) { .story-live .story-stage { top: max(0px, calc(50vh - 390px)); top: max(0px, calc(50svh - 390px)); } }
.story + .proactive { padding-top: 64px; }
@media not all /* was: prefers-reduced-motion */ { .story-live .story-cta { transition: none; } }
@media print { .story-live .story-cta { opacity: 1; transform: none; } }
.story-cta { padding-top: 60px; }
.story-live .story-stage { top: max(0px, calc(50vh - 356px)); top: max(0px, calc(50svh - 356px)); }
@media (max-width: 860px) { .story-cta { padding-top: 44px; } .story-live .story-stage { top: max(0px, calc(50vh - 398px)); top: max(0px, calc(50svh - 398px)); } }
/* Reduce Motion: keep things alive with fades, no sliding or bouncing */
@keyframes fadeonly { from { opacity: 0; } to { opacity: 1; } }
@media not all /* was: prefers-reduced-motion */ {
  .demo-msgs .msg { animation: fadeonly .35s ease both; }
  .story-calm .beat, .story-calm .beat.past, .story-calm .beat.on { transform: none; transition: opacity .45s ease; }
  .story-calm .beat.on .mt-in, .story-calm .beat.on .mt-out, .story-calm .beat.on .chip3 { animation: fadeonly .45s ease both; }
  .story-calm .story-cta { transform: none; transition: opacity .45s ease; }
}
/* Phone: demo fits on one screen with its tabs and caption */
@media (max-width: 560px) { .whatsgo .screen { height: 470px; } .whatsgo .phone-stage { margin-top: 18px; } .demo-tabs { gap: 6px; } }
/* ===== Find your go quiz ===== */
.quiz-band { padding-block: 40px 72px; min-height: calc(100vh - 64px); }
.qz { max-width: 640px; margin: 0 auto; display: grid; gap: 16px; }
.qz-card { background: var(--surface); border: 1px solid var(--line); border-radius: 28px; padding: 28px 28px 0; }
.qz-top { display: grid; grid-template-columns: 1fr auto; gap: 10px 12px; align-items: center; margin-bottom: 18px; }
.qz-count { font-size: 0.92rem; color: var(--muted); } .qz-count b { color: var(--white); }
.qz-label { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.qz-bar { grid-column: 1 / -1; height: 6px; border-radius: 6px; background: var(--raise); overflow: hidden; }
.qz-bar span { display: block; height: 100%; width: 0; background: var(--peach); border-radius: 6px; transition: width .4s ease; }
.qz-back { grid-column: 1 / -1; justify-self: start; background: none; border: 0; color: var(--muted); font: inherit; font-size: 0.95rem; padding: 6px 0; cursor: pointer; }
.qz-back:hover { color: var(--white); }
.qz-h { font-size: clamp(1.6rem, 6vw, 2.2rem); line-height: 1.08; letter-spacing: -0.02em; color: var(--white); text-align: center; }
.qz-big { font-size: clamp(2rem, 8vw, 3rem); line-height: 1.04; letter-spacing: -0.025em; color: var(--white); text-align: center; }
.qz-sub { color: var(--muted); text-align: center; margin: 12px auto 22px; max-width: 34rem; font-size: 1.02rem; }
.qz-mini, .qz-group { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: #8C928F; margin: 18px 0 10px; }
.qz-field input { width: 100%; font: inherit; font-size: 1.05rem; color: var(--white); background: var(--night); border: 1px solid var(--line); border-radius: 16px; padding: 16px 18px; }
.qz-field input:focus { outline: none; border-color: var(--peach); }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.qz-chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.qz-stack { display: grid; grid-template-columns: 1fr; gap: 8px; }
.qz-chip { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 12px 18px; border-radius: 16px; background: var(--night); border: 1px solid var(--line); color: var(--white); font: inherit; font-size: 1rem; font-weight: 600; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: border-color .2s, background .2s; }
.qz-chips:not(.qz-stack) .qz-chip { border-radius: 999px; }
.qz-chip:hover { border-color: #4B5C53; }
.qz-chip.on { border-color: var(--peach); background: rgba(232,145,90,.12); }
.qz-tick { flex: none; width: 22px; height: 22px; border-radius: 7px; border: 1.5px solid #4B5C53; display: grid; place-items: center; }
.qz-chip.on .qz-tick { background: var(--peach) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.9' fill='none' stroke='%2316201B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat; border-color: var(--peach); }
.qz-hours { text-align: center; margin: 8px 0 4px; } .qz-hours b { display: block; font-family: var(--display); font-weight: 900; font-stretch: 112%; font-size: 4rem; line-height: 1; color: var(--peach); } .qz-hours span { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.qz-range { width: 100%; margin-top: 18px; accent-color: var(--peach); height: 32px; }
.qz-range-ends { display: flex; justify-content: space-between; color: #8C928F; font-size: 0.85rem; }
.qz-note { text-align: center; color: var(--muted); margin-top: 14px; } .qz-note b { color: var(--white); }
.qz-foot { position: sticky; bottom: 0; margin: 22px -28px 0; padding: 16px 28px 24px; background: linear-gradient(180deg, rgba(34,46,40,0), var(--surface) 30%); border-radius: 0 0 28px 28px; }
.qz-next { width: 100%; min-height: 54px; font-size: 1.05rem; }
.qz-next:disabled { background: var(--raise); color: var(--muted); cursor: default; }
.qz-sofar { background: var(--deep); border: 1px solid var(--line); border-radius: 22px; padding: 16px 18px; }
.qz-sofar-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.qz-sofar-head span { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.qz-sofar-head b { font-family: var(--display); font-weight: 800; font-stretch: 112%; color: var(--peach); }
.qz-sofar-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.qz-sofar-chips span { font-size: 0.82rem; padding: 5px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--white); }
.qz-sofar-chips span.hot { border-color: rgba(232,145,90,.5); }
.qz-sofar-chips span.dim { border-style: dashed; color: #8C928F; }
.qz-intro, .qz-build, .qz-result { padding-bottom: 28px; text-align: center; display: grid; gap: 14px; justify-items: center; }
.qz-start { min-width: 220px; min-height: 54px; }
.qz-fine { font-size: 0.82rem; color: #8C928F; }
.qz-steps { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 12px; text-align: left; width: min(100%, 360px); }
.qz-steps li { display: flex; gap: 12px; align-items: center; color: #8C928F; transition: color .3s; }
.qz-steps li::before { content: ""; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid #4B5C53; flex: none; }
.qz-steps li.done { color: var(--white); }
.qz-steps li.done::before { background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.9' fill='none' stroke='%23F2F4EF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; border-color: var(--green); }
.qz-result { text-align: left; justify-items: stretch; }
.qz-result > .qz-big, .qz-result > .qz-sub, .qz-badge { justify-self: center; text-align: center; }
.qz-badge { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--euc); border: 1px solid rgba(114,184,152,.4); border-radius: 999px; padding: 6px 12px; }
.qz-worth { background: var(--night); border: 1px solid var(--line); border-radius: 20px; padding: 20px; display: grid; gap: 4px; text-align: center; }
.qz-worth span { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.qz-worth b { font-family: var(--display); font-weight: 900; font-stretch: 112%; font-size: 2.4rem; line-height: 1.1; color: var(--peach); }
.qz-worth em { font-style: normal; color: var(--white); font-weight: 600; }
.qz-worth small { color: #8C928F; font-size: 0.8rem; margin-top: 4px; }
.qz-h2 { font-size: 1.35rem; color: var(--white); margin-top: 10px; }
.qz-first { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.qz-first li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; background: var(--night); border: 1px solid var(--line); border-radius: 20px; padding: 18px; }
.qz-first .n { width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--peach); display: grid; place-items: center; font-family: var(--mono); color: var(--peach); }
.qz-first h3 { font-size: 1.12rem; color: var(--white); }
.qz-first .why { color: var(--euc); font-size: 0.88rem; margin: 2px 0 6px; }
.qz-first p { color: var(--muted); font-size: 0.95rem; }
.qz-first dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 10px 0 0; font-size: 0.88rem; }
.qz-first dt { font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: #8C928F; padding-top: 3px; }
.qz-first dd { margin: 0; color: var(--white); }
.tag-soon, .tag-tier { font-style: normal; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 2px 7px; border-radius: 999px; vertical-align: 3px; }
.tag-soon { border: 1px solid var(--line); color: var(--muted); }
.tag-tier { background: rgba(232,145,90,.16); color: var(--peach); }
.qz-pulse { position: relative; background: var(--paper); border-radius: 22px; padding: 18px; color: var(--ink); }
.qz-pulse .ex-tag { position: absolute; top: -10px; right: 14px; }
.qz-note-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 0.9rem; } .qz-note-head img { border-radius: 7px; } .qz-note-head span { margin-left: auto; color: #6B7770; font-size: 0.82rem; }
.qz-pulse .in { max-width: 100%; font-size: 0.95rem; line-height: 1.5; }
.qz-plan { background: var(--night); border: 2px solid var(--peach); border-radius: 22px; padding: 22px; display: grid; gap: 6px; }
.qz-plan .k { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--peach); }
.qz-plan h2 { font-size: 2rem; color: var(--white); } .qz-plan .price { font-weight: 700; color: var(--white); } .qz-plan p { color: var(--muted); }
.qz-plan .ctas { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; margin-top: 10px; }
.qz-extras { margin: 0; padding-left: 18px; color: var(--muted); display: grid; gap: 6px; font-size: 0.95rem; }
.qz-send { display: grid; gap: 8px; } .qz-send label { font-weight: 600; color: var(--white); }
.qz-send div { display: flex; gap: 8px; } .qz-send input { flex: 1; min-width: 0; font: inherit; color: var(--white); background: var(--night); border: 1px solid var(--line); border-radius: 999px; padding: 12px 16px; }
.qz-again { justify-self: center; background: none; border: 0; color: var(--muted); font: inherit; text-decoration: underline; cursor: pointer; padding: 8px; }
@keyframes qzin { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.qz-anim { animation: qzin .35s cubic-bezier(.2,.8,.2,1); }
@media not all /* was: prefers-reduced-motion */ { .qz-anim { animation: fadeonly .3s ease; } .qz-bar span { transition: none; } }
@media (max-width: 560px) {
  .quiz-band { padding: 16px 12px 40px; }
  .qz-card { padding: 22px 18px 0; border-radius: 24px; }
  .qz-foot { margin: 18px -18px 0; padding: 14px 18px 18px; }
  .qz-first li { grid-template-columns: 1fr; } .qz-first .n { width: 32px; height: 32px; }
  .qz-send div { flex-direction: column; }
}
.qz [hidden] { display: none !important; }
.qz-worth b { font-size: 3rem; }
.qz-worth b i { display: block; font-style: normal; font-family: var(--mono); font-weight: 500; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-top: 2px; }
.qz-big, .qz-h, .qz-h2, .qz-plan h2, .qz-first h3 { font-stretch: var(--wide); font-weight: 900; }
.qz-h2, .qz-first h3 { font-weight: 800; }
.qz-big { font-size: clamp(1.8rem, 7vw, 2.7rem); letter-spacing: -0.03em; }
.qz-h { font-size: clamp(1.45rem, 5.4vw, 2rem); letter-spacing: -0.025em; }
/* Pricing: example dashboards by plan */
.dash-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; width: 100%; text-align: left; }
.dash-card { background: var(--surface); border: 1px solid var(--line); border-radius: 24px; padding: 20px; display: grid; gap: 12px; align-content: start; grid-template-rows: auto auto 1fr auto; }
.dash-card.elite { border-color: rgba(232,145,90,.55); }
.dash-card h3 { font-size: 1.2rem; font-weight: 800; color: var(--white); }
.dash-card p { color: var(--muted); font-size: 0.92rem; }
.dash-meta { display: flex; justify-content: space-between; align-items: center; }
.dash-tier { font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.12em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; background: rgba(114,184,152,.16); color: var(--euc); }
.dash-tier.pro { background: rgba(232,145,90,.14); color: var(--peach); }
.dash-tier.elite { background: var(--peach); color: var(--night); }
.dash-status { font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; color: #8C928F; border: 1px solid var(--line); padding: 2px 7px; border-radius: 999px; }
.dash-status.on { color: var(--euc); border-color: rgba(114,184,152,.4); }
.dv-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.dv-tiles div, .dv-grid div { background: var(--night); border: 1px solid var(--line); border-radius: 14px; padding: 12px 10px; display: grid; gap: 2px; }
.dv-tiles b { font-family: var(--display); font-weight: 900; font-stretch: 112%; font-size: 1.25rem; color: var(--peach); }
.dv-tiles span, .dv-grid span { font-size: 0.74rem; color: var(--muted); line-height: 1.3; }
.dv-money { background: var(--night); border: 1px solid var(--line); border-radius: 14px; padding: 12px; display: grid; gap: 6px; }
.dv-money div { display: flex; justify-content: space-between; align-items: baseline; } .dv-money span { font-size: 0.78rem; color: var(--muted); }
.dv-money b { font-family: var(--display); font-weight: 900; font-stretch: 112%; color: var(--white); }
.dv-money svg { width: 100%; height: 60px; } .dv-money small { font-size: 0.7rem; color: #8C928F; }
.dv-bars { display: grid; gap: 10px; background: var(--night); border: 1px solid var(--line); border-radius: 14px; padding: 14px 12px; }
.dv-bars div { display: grid; grid-template-columns: 80px 1fr 20px; align-items: center; gap: 8px; font-size: 0.8rem; color: var(--muted); }
.dv-bars i { height: 10px; border-radius: 6px; background: linear-gradient(90deg, var(--peach) var(--w), var(--raise) var(--w)); }
.dv-bars i.warn { background: linear-gradient(90deg, #C9B27A var(--w), var(--raise) var(--w)); }
.dv-bars b { color: var(--white); text-align: right; }
.dv-cols { display: flex; align-items: flex-end; gap: 12px; height: 110px; background: var(--night); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px 8px; }
.dv-cols div { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; }
.dv-cols i { width: 100%; height: var(--h); border-radius: 6px 6px 3px 3px; background: var(--raise); } .dv-cols i.now { background: var(--peach); }
.dv-cols span { font-family: var(--mono); font-size: 0.62rem; color: #8C928F; }
.dv-roles { display: flex; gap: 6px; } .dv-roles span { font-size: 0.74rem; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); } .dv-roles span.on { border-color: var(--peach); color: var(--white); }
.dv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dv-grid b { font-family: var(--display); font-weight: 800; font-stretch: 112%; color: var(--white); font-size: 1rem; } .dv-grid b.warn { color: var(--peach); }
@media (max-width: 860px) {
  .dash-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-inline: -24px; padding: 4px 24px 12px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .dash-row::-webkit-scrollbar { display: none; }
  .dash-card { flex: 0 0 82%; scroll-snap-align: center; }
}
@media (max-width: 520px) { .dash-row { margin-inline: -18px; padding-inline: 18px; } }
.dash-card > div:not(.dash-meta) { align-self: start; }
.dash-card > p { align-self: end; }
.dv-tiles div, .dv-grid div { align-content: start; }
.dv-tiles { grid-template-columns: 1.25fr 1fr 1fr; }
.dash-card { grid-template-rows: auto auto auto 1fr; }
.dash-card > p { align-self: start; }
.dash-card.elite { grid-template-rows: auto auto auto auto 1fr; }
@media (max-width: 860px) { .dash-row { align-items: flex-start; } }
/* Plan prices: number first, "a month + GST" wraps as one piece */
.plan .price { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 8px; row-gap: 6px; }
.plan .price small { white-space: nowrap; }
.plan .price .from { font-size: 1.05rem; color: var(--white); font-weight: 600; margin-right: -2px; }
/* Benefits: a row you can swipe (arrows on desktop) */
.benefit-rail { width: 100%; position: relative; }
.benefits.slide { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 3); grid-template-columns: none; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px 8px; -webkit-overflow-scrolling: touch; }
.benefits.slide::-webkit-scrollbar { display: none; }
.benefits.slide .benefit { scroll-snap-align: start; }
.rail-nav { display: flex; justify-content: center; gap: 10px; margin-top: 18px; }
.rail-nav button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid #CFD6D0; background: #FBFCF9; color: var(--night); font-size: 1.4rem; line-height: 1; cursor: pointer; }
.rail-nav button:hover { border-color: var(--night); }
.rail-nav button:disabled { opacity: .35; cursor: default; }
@media (max-width: 860px) {
  .benefits.slide { grid-auto-columns: 82%; gap: 12px; margin-inline: -24px; padding-inline: 24px; scroll-padding-inline: 24px; }
  .rail-nav { display: none; }
}
@media (max-width: 520px) { .benefits.slide { margin-inline: -18px; padding-inline: 18px; scroll-padding-inline: 18px; } }
/* Prototype edit mode */
.ed-bar { position: fixed; left: 12px; bottom: 12px; z-index: 9999; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; max-width: calc(100% - 24px); font-family: var(--body); }
.ed-bar button, .ed-count { font: inherit; font-size: 0.8rem; font-weight: 600; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(242,244,239,.25); background: rgba(15,23,19,.88); color: var(--white); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); cursor: pointer; }
.ed-bar .ed-copy { background: var(--peach); color: var(--night); border-color: var(--peach); }
.ed-count { cursor: default; color: var(--euc); }
.ed-on [contenteditable="true"] { outline: 1px dashed rgba(232,145,90,.6); outline-offset: 3px; border-radius: 4px; cursor: text; }
.ed-on [contenteditable="true"]:focus { outline: 2px solid var(--peach); background: rgba(232,145,90,.08); }
.ed-on .ed-changed { box-shadow: inset 0 -2px 0 rgba(114,184,152,.8); }
.ed-out { position: fixed; left: 12px; right: 12px; bottom: 64px; height: 40vh; z-index: 10000; font: 0.85rem/1.4 var(--mono); padding: 12px; border-radius: 12px; }
@media print { .ed-bar { display: none; } }
.benefit-rail, .benefits.slide, .dash-row { min-width: 0; max-width: 100%; }
.benefits.slide .benefit { align-content: start; }
.rail-dots { display: flex; justify-content: center; gap: 8px; margin-top: 14px; }
.rail-dots button { width: 8px; height: 8px; padding: 0; border-radius: 999px; border: 0; background: #CFD6D0; cursor: pointer; transition: width .3s ease, background .3s ease; }
.rail-dots button.on { width: 22px; background: var(--green); }
@media (max-width: 860px) { .benefits.slide { grid-auto-columns: 100%; scroll-snap-type: x mandatory; } .benefits.slide .benefit { scroll-snap-align: center; } }
@media (min-width: 861px) { .rail-dots { display: none; } }
/* Pulse line and breathing G. (between the story and "Keep your finger on the pulse.") */
.pulse-line { position: relative; width: 100%; height: 120px; margin: 0 auto 10px; }
.pulse-line svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.pulse-line path { fill: none; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.pl-base { stroke: var(--line); stroke-width: 1.5; }
.pl-draw { stroke: var(--peach); stroke-width: 2.5; stroke-dasharray: 1; stroke-dashoffset: 1; filter: drop-shadow(0 0 6px rgba(232,145,90,.55)); }
.pulse-mark { position: absolute; left: 50%; top: 50%; width: 72px; height: 72px; transform: translate(-50%, -50%) scale(calc(.82 + .18 * var(--pp, 0))); }
.pulse-mark img { position: relative; z-index: 1; width: 72px; height: 72px; border-radius: 20px; box-shadow: 0 0 0 6px var(--night), 0 0 calc(40px * var(--pp, 0)) rgba(232,145,90,.45); }
.pulse-mark .ring { position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--peach); opacity: 0; }
.pulse-line.lit .ring { animation: breathe 3.3s cubic-bezier(.2,.6,.3,1) infinite; }
.pulse-line.lit .ring:nth-child(2) { animation-delay: 1.1s; } .pulse-line.lit .ring:nth-child(3) { animation-delay: 2.2s; }
.pulse-line.lit img { animation: gbreath 3.3s ease-in-out infinite; }
@keyframes breathe { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(2.8); opacity: 0; } }
@keyframes gbreath { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
.pulse-line.calm .ring { animation: none; opacity: .25; } .pulse-line.calm .ring:nth-child(2) { transform: scale(1.6); opacity: .15; } .pulse-line.calm .ring:nth-child(3) { transform: scale(2.2); opacity: .08; }
@media (max-width: 520px) { .pulse-line { height: 96px; } .pulse-mark, .pulse-mark img { width: 60px; height: 60px; } .pulse-mark img { border-radius: 16px; } }
@media print { .pl-draw { stroke-dashoffset: 0; } }
/* Billing toggle and plan alignment */
.billing-toggle { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 4px; padding: 5px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); margin: 6px auto 0; }
.billing-toggle button { font: inherit; font-size: 0.95rem; font-weight: 600; color: var(--muted); background: transparent; border: 0; border-radius: 999px; padding: 10px 18px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: background .2s, color .2s; }
.billing-toggle button em { font-style: normal; font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--euc); }
.billing-toggle button[aria-checked="true"] { background: var(--white); color: var(--night); }
.billing-toggle button[aria-checked="true"] em { color: var(--green); }
.price-note { color: #8C928F; font-size: 0.9rem; margin-top: 4px; }
.price-note .ast { color: #8C928F; text-decoration: none; }
.plan .billed { color: var(--muted); font-size: 0.85rem; margin-top: -10px; }
.plans .plan { display: flex; flex-direction: column; gap: 16px; }
.plans .plan > .btn { margin-top: auto; align-self: flex-start; }
.plans .plan > ul { margin-bottom: 10px; }
@media (max-width: 520px) { .billing-toggle { border-radius: 22px; } .billing-toggle button { padding: 9px 12px; font-size: 0.88rem; } }
/* Connect page */
.conn-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; width: 100%; text-align: left; }
.conn-card { background: var(--paper); border: 1px solid var(--card-light); border-radius: 22px; padding: 22px; display: grid; gap: 8px; align-content: start; }
.conn-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.conn-card h3 { font-size: 1.2rem; font-weight: 800; color: var(--ink); }
.conn-kind { font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: #6B7770; }
.conn-status { font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; background: #ECEFEA; color: #5A6A61; white-space: nowrap; }
.conn-status.on { background: #DCEBE3; color: var(--green); }
.conn-card dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 6px 0 0; font-size: 0.92rem; }
.conn-card dt { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; color: #6B7770; padding-top: 3px; }
.conn-card dd { margin: 0; color: var(--ink-soft); }
.conn-card .link { color: var(--green); font-size: 0.95rem; margin-top: 4px; }
.conn-ask { background: var(--night); border-color: var(--night); } .conn-ask h3 { color: var(--white); } .conn-ask p { color: var(--muted); } .conn-ask .btn { justify-self: start; margin-top: 6px; }
@media (max-width: 860px) { .conn-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .conn-grid { grid-template-columns: 1fr; } }
.billing-toggle button { transition: none; }
@media (max-width: 560px) {
  .billing-toggle { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; max-width: 360px; border-radius: 20px; padding: 4px; gap: 4px; }
  .billing-toggle button { flex-direction: column; gap: 2px; padding: 9px 4px; border-radius: 16px; font-size: 0.86rem; line-height: 1.2; }
  .billing-toggle button em { font-size: 0.55rem; }
}
/* Story headings: one line each (longest, "Your time, back.", is about 9.8x its font size wide) */
@media (min-width: 861px) {
  .beat { grid-template-columns: 1.35fr 1fr; }
  .beat h2 { font-size: clamp(2rem, 4.1vw, 3.6rem); white-space: nowrap; }
}
@media (max-width: 860px) {
  .beat h2 { font-size: min(8.6vw, 2.6rem); white-space: nowrap; }
}
/* Connections hub (homepage) */
.hub { position: relative; width: 100%; height: 540px; margin-top: 10px; }
.hub-lines { position: absolute; inset: 0; }
.hub-lines svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.hub-lines line { stroke: #CBD3CC; stroke-width: 1.5; }
.hub-lines line.soon { stroke-dasharray: 4 6; stroke: #D6DCD7; }
.hub-dot { position: absolute; left: var(--x); top: var(--y); width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--peach); box-shadow: 0 0 10px rgba(232,145,90,.75); opacity: 0; animation: hubflow var(--d) linear var(--del) infinite; }
@keyframes hubflow { 0% { left: var(--x); top: var(--y); opacity: 0; } 12% { opacity: 1; } 85% { opacity: 1; } 100% { left: var(--cx); top: var(--cy); opacity: 0; } }
.hub-core { position: absolute; left: 50%; top: 50%; width: 96px; height: 96px; transform: translate(-50%, -50%); z-index: 2; }
.hub-core img { position: relative; z-index: 1; width: 96px; height: 96px; border-radius: 26px; box-shadow: 0 0 0 8px var(--white), 0 14px 40px rgba(22,32,27,.25); }
.hub-core .ring { position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--peach); opacity: 0; animation: breathe 3.3s cubic-bezier(.2,.6,.3,1) infinite; }
.hub-core .ring:nth-child(2) { animation-delay: 1.65s; }
.hub-core em { position: absolute; top: calc(100% + 16px); left: 50%; transform: translateX(-50%); white-space: nowrap; font-style: normal; font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green); background: var(--white); padding: 2px 8px; border-radius: 999px; }
.hub-nodes { list-style: none; margin: 0; padding: 0; }
.hub-node { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1; display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-align: left; background: var(--paper); border: 1px solid var(--card-light); border-radius: 16px; padding: 9px 14px 9px 9px; box-shadow: 0 6px 18px rgba(22,32,27,.07); transition: transform .2s ease, box-shadow .2s ease; }
.hub-node:hover { transform: translate(-50%, -50%) scale(1.05); box-shadow: 0 10px 26px rgba(22,32,27,.12); }
.hub-node .hub-ic { grid-row: 1 / 3; width: 36px; height: 36px; border-radius: 11px; background: #E3EEE7; display: grid; place-items: center; }
.hub-ic svg { width: 20px; height: 20px; fill: none; stroke: var(--green); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.hub-node b { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 0.92rem; color: var(--ink); white-space: nowrap; }
.hub-node small { font-size: 0.72rem; color: #6B7770; white-space: nowrap; }
.hub-node.soon { border-style: dashed; background: rgba(251,252,249,.6); box-shadow: none; }
.hub-node.soon .hub-ic { background: #ECEFEA; } .hub-node.soon .hub-ic svg { stroke: #7C8A82; }
.hub-more { margin-top: 6px; }
@media (max-width: 699px) {
  .hub { height: 620px; }
  .hub-node { grid-template-columns: 1fr; justify-items: center; text-align: center; row-gap: 4px; padding: 8px 6px; width: 92px; border-radius: 14px; }
  .hub-node .hub-ic { grid-row: auto; width: 30px; height: 30px; border-radius: 9px; }
  .hub-ic svg { width: 17px; height: 17px; }
  .hub-node b { font-size: 0.7rem; white-space: normal; line-height: 1.15; }
  .hub-node small { display: none; }
  .hub-core, .hub-core img { width: 76px; height: 76px; } .hub-core img { border-radius: 21px; }
}
@media not all /* was: prefers-reduced-motion */ { .hub-core .ring { animation: none; opacity: .2; } .hub-core .ring:nth-child(2) { transform: scale(1.5); opacity: .1; } .hub-node { transition: none; } }
/* Hub: two-way traffic */
.hub-dot.hub-back { background: var(--green); box-shadow: 0 0 8px rgba(44,106,83,.55); width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; animation-name: hubout; }
@keyframes hubout { 0% { left: var(--cx); top: var(--cy); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { left: var(--x); top: var(--y); opacity: 0; } }
.hub-dot.hub-ping { background: #A9B5AD; box-shadow: none; width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; animation: hubping var(--d) ease-in-out var(--del) infinite alternate; }
@keyframes hubping { 0% { left: var(--x); top: var(--y); opacity: .35; } 20% { opacity: .95; } 80% { opacity: .95; } 100% { left: var(--cx); top: var(--cy); opacity: .35; } }
.hub-node.more { border-color: rgba(232,145,90,.7); }
.hub-node.more .hub-ic { background: rgba(232,145,90,.14); } .hub-node.more .hub-ic svg { stroke: #C46F3B; }
.ed-bar.hidden { display: none; }
.ed-sync { font-size: 0.72rem; color: #8C928F; padding: 0 4px; }
/* Hub core: soft glow instead of hard rings, label with no box */
.hub-core .ring { border: 0; background: radial-gradient(circle, rgba(232,145,90,.32) 0%, rgba(232,145,90,.14) 45%, rgba(232,145,90,0) 70%); animation: hubglow 3.3s ease-in-out infinite; }
.hub-core .ring:nth-child(2) { animation-delay: 1.65s; }
@keyframes hubglow { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(2.6); opacity: 0; } }
.hub-core em { background: none; padding: 0; text-shadow: 0 0 4px var(--white), 0 0 8px var(--white), 0 0 12px var(--white), 0 0 16px var(--white); }
@media not all /* was: prefers-reduced-motion */ { .hub-core .ring { animation: none; opacity: .5; transform: scale(1.5); } .hub-core .ring:nth-child(2) { opacity: .25; transform: scale(2.1); } }
.hub-core .ring { background: radial-gradient(circle, rgba(232,145,90,.55) 0%, rgba(232,145,90,.22) 42%, rgba(232,145,90,0) 70%); }
.hub-core img { box-shadow: 0 0 0 8px var(--white), 0 14px 40px rgba(22,32,27,.22), 0 0 70px 10px rgba(232,145,90,.28); }
/* Hub core: visible ripple rings on top of the soft glow (label sits above them) */
.hub-core::before, .hub-core::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(232,145,90,.75); opacity: 0; animation: hubripple 3s cubic-bezier(.2,.6,.3,1) infinite; pointer-events: none; }
.hub-core::after { animation-delay: 1.5s; }
@keyframes hubripple { 0% { transform: scale(1); opacity: .85; } 70% { opacity: .25; } 100% { transform: scale(2.5); opacity: 0; } }
.hub-core em { z-index: 3; }
.hub-core img { animation: gbreath 3s ease-in-out infinite; }
@media not all /* was: prefers-reduced-motion */ { .hub-core::before, .hub-core::after { animation: none; opacity: .25; } .hub-core::after { transform: scale(1.6); opacity: .12; } .hub-core img { animation: none; } }
/* Hub core: calmer, half speed; rings fade steadily as they travel out */
.hub-core::before, .hub-core::after { border-width: 1.5px; animation: hubripple2 6s cubic-bezier(.25,.6,.35,1) infinite; }
.hub-core::after { animation-delay: 3s; }
@keyframes hubripple2 { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(2.5); opacity: 0; } }
.hub-core .ring { animation-duration: 6.6s; }
.hub-core .ring:nth-child(2) { animation-delay: 3.3s; }
.hub-core img { animation-duration: 6s; }
@media not all /* was: prefers-reduced-motion */ { .hub-core::before, .hub-core::after { animation: none; } }
.hub-ctas { justify-content: center; align-items: center; gap: 16px 24px; flex-wrap: wrap; margin-top: 4px; }
.hub-ctas { margin-top: 10px; }
/* Benefit cards: icon tile + peach accent */
.benefit { position: relative; overflow: hidden; gap: 10px; }
.benefit::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--peach), rgba(232,145,90,0)); opacity: .9; }
.b-ic { width: 42px; height: 42px; border-radius: 12px; background: #E3EEE7; display: grid; place-items: center; margin-bottom: 4px; }
.b-ic svg { width: 22px; height: 22px; fill: none; stroke: var(--green); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
/* FAQ: brand light grey (bubble-light), two columns */
.faq-band { background: var(--bubble-light); color: var(--ink); }
.faq-wrap { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr); gap: 56px; align-items: start; max-width: 1080px; }
.faq-side { display: grid; gap: 16px; position: sticky; top: 96px; text-align: left; }
.faq-side .eyebrow { color: var(--green); }
.faq-side h2 { color: var(--ink); }
.faq-lede { color: var(--ink-soft); font-size: 1.1rem; }
.faq-help { margin-top: 10px; background: var(--night); color: var(--white); border-radius: 22px; padding: 22px; display: grid; grid-template-columns: auto 1fr; gap: 14px 14px; align-items: center; }
.faq-help img { border-radius: 12px; }
.faq-help b { display: block; font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: 1.08rem; }
.faq-help span { color: var(--muted); font-size: 0.92rem; }
.faq-help .btn { grid-column: 1 / -1; justify-self: start; }
.faq-help .link { grid-column: 1 / -1; color: var(--peach); font-size: 0.95rem; margin-top: -4px; }
.faq-band .faq { max-width: none; background: var(--paper); border: 1px solid var(--card-light); border-radius: 24px; padding: 6px 26px; border-top: 1px solid var(--card-light); }
.faq-band .faq details:last-child { border-bottom: 0; }
.faq-band .faq summary { font-size: 1.1rem; }
@media (max-width: 860px) {
  .faq-wrap { grid-template-columns: 1fr; gap: 28px; }
  .faq-side { position: static; text-align: center; justify-items: center; }
  .faq-help { text-align: left; max-width: 420px; width: 100%; }
  .faq-band .faq { padding: 4px 18px; }
}
@media (max-width: 860px) { .faq-side { display: contents; } .faq-side > .eyebrow, .faq-side > h2, .faq-side > .faq-lede { justify-self: center; text-align: center; } .faq-band .faq { order: 1; } .faq-help { order: 2; justify-self: center; } .faq-wrap { gap: 18px; } .faq-band .faq { margin-top: 10px; } }
.band.dark.hero { background: var(--deep); }
.nav { background: rgba(15,23,19,.86); }
/* Light sliding banner */
.ticker { background: var(--white); border-color: var(--card-light); }
.ticker-list li { color: var(--night); }
.ticker-list li::before { background-color: var(--green); }
/* Hub: buttons straight under the map, one quiet note below */
.hub-ctas { margin-top: 0; }
.hub-note { max-width: 62ch; margin: 2px auto 0; }
/* FAQ help card: two buttons side by side */
.faq-help-btns { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
.faq-help .btn.ghost { color: var(--white); border-color: rgba(242,244,239,.3); }
.faq-help .btn.ghost:hover { border-color: var(--white); }
/* Are you on the GO? */
.who-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; width: 100%; text-align: left; }
.who-card { background: var(--paper); border: 1px solid var(--card-light); border-radius: 22px; padding: 22px; display: grid; gap: 8px; align-content: start; position: relative; }
.who-card.first { border: 2px solid var(--peach); }
.who-card h3 { font-size: 1.2rem; font-weight: 800; color: var(--ink); }
.who-card p { color: var(--ink-soft); font-size: 0.95rem; }
.who-card .who-list { font-size: 0.86rem; color: #6B7770; }
.who-tag { position: absolute; top: 22px; right: 20px; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; background: #ECEFEA; color: #5A6A61; }
.who-card.first .who-tag { background: rgba(232,145,90,.16); color: #B5561F; }
.who-card .link { color: var(--green); font-size: 0.95rem; }
@media (max-width: 860px) { .who-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .who-grid { grid-template-columns: 1fr; } }
/* ===== A day on the GO (story timeline) ===== */
.day .inner { gap: 40px; }
.day-head { text-align: center; display: grid; gap: 14px; justify-items: center; }
.day-head .sub { margin-inline: auto; }
.day-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 64px; align-items: start; }
.day-phone-wrap { position: sticky; top: calc(50vh - 290px); top: calc(50svh - 290px); display: grid; justify-items: center; }
.day-phone { position: relative; width: 300px; height: 580px; border-radius: 44px; background: #0B110E; padding: 10px; box-shadow: 0 30px 80px rgba(0,0,0,.45), inset 0 0 0 1px #26332C; }
.day-phone .ex-tag { position: absolute; top: -12px; right: -8px; z-index: 3; }
.dp-screen { position: relative; height: 100%; border-radius: 36px; overflow: hidden; background: var(--night); }
.dp-bar { display: flex; align-items: center; gap: 10px; padding: 18px 18px 12px; border-bottom: 1px solid var(--line); }
.dp-bar img { border-radius: 8px; } .dp-bar b { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 0.95rem; }
.dp-clock { margin-left: auto; font-family: var(--mono); font-size: 0.72rem; color: var(--muted); }
.dp-scene { position: absolute; left: 0; right: 0; top: 62px; bottom: 0; padding: 16px 14px; display: flex; flex-direction: column; justify-content: flex-end; gap: 9px; opacity: 0; transform: translateY(14px); transition: opacity .45s ease, transform .55s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.dp-scene.on { opacity: 1; transform: none; }
.dp-scene.on > * { animation: dpin .45s cubic-bezier(.2,.8,.2,1) both; }
.dp-scene.on > :nth-child(2) { animation-delay: .35s; } .dp-scene.on > :nth-child(3) { animation-delay: .8s; } .dp-scene.on > :nth-child(4) { animation-delay: 1.3s; }
@keyframes dpin { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.dp-in, .dp-out, .dp-draft, .dp-done, .dp-call { font-size: 0.86rem; line-height: 1.42; border-radius: 16px; padding: 10px 12px; max-width: 92%; }
.dp-in { background: var(--raise); color: var(--white); align-self: flex-start; border-bottom-left-radius: 5px; }
.dp-in b { color: var(--peach); }
.dp-out { background: var(--peach); color: var(--night); font-weight: 600; align-self: flex-end; border-bottom-right-radius: 5px; }
.dp-draft { background: var(--paper); color: var(--ink); align-self: stretch; max-width: none; border: 1px solid var(--card-light); }
.dp-draft small { display: block; font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.06em; color: #6B7770; margin-bottom: 4px; }
.dp-act { display: flex; gap: 8px; }
.dp-act span { font-size: 0.84rem; font-weight: 600; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line); color: var(--white); }
.dp-act .dp-go { background: var(--peach); border-color: var(--peach); color: var(--night); font-family: var(--display); font-weight: 900; font-stretch: 112%; }
.dp-scene.on .dp-go { animation: dpin .45s both, gotap 1.6s ease 1.1s 1 both; }
@keyframes gotap { 0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(232,145,90,.6); } 30% { transform: scale(.92); } 60% { transform: scale(1); box-shadow: 0 0 0 12px rgba(232,145,90,0); } }
.dp-done { color: var(--euc); font-weight: 600; padding-left: 2px; padding-block: 2px; }
.dp-call { background: var(--surface); border: 1px solid var(--line); align-self: stretch; max-width: none; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; }
.dp-call b { color: var(--white); } .dp-call small { grid-column: 2; color: var(--muted); font-family: var(--mono); font-size: 0.66rem; }
.dp-ring { grid-row: 1 / 3; width: 34px; height: 34px; border-radius: 50%; background: rgba(232,145,90,.16); position: relative; }
.dp-ring::after { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: var(--peach); }
.dp-scene.on .dp-ring { animation: ringpulse 1.4s ease-out 3; }
@keyframes ringpulse { 0% { box-shadow: 0 0 0 0 rgba(232,145,90,.55); } 100% { box-shadow: 0 0 0 14px rgba(232,145,90,0); } }
.dp-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dp-tiles div { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 10px; display: grid; gap: 2px; }
.dp-tiles b { font-family: var(--display); font-weight: 900; font-stretch: 112%; font-size: 1.2rem; color: var(--peach); } .dp-tiles span { font-size: 0.72rem; color: var(--muted); }
/* timeline */
.day-line { list-style: none; margin: 0; padding: 0 0 0 34px; position: relative; }
.day-line::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 2px; background: var(--line); }
.day-line::after { content: ""; position: absolute; left: 7px; top: 10px; width: 2px; height: calc((100% - 20px) * var(--dp, 0)); background: linear-gradient(var(--peach), #F0B183); border-radius: 2px; }
.moment { position: relative; min-height: 62vh; display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 28px 0; opacity: .35; transition: opacity .4s ease; }
.moment.on { opacity: 1; }
.moment::before { content: ""; position: absolute; left: -34px; top: calc(50% - 8px); box-sizing: border-box; width: 16px; height: 16px; border-radius: 50%; background: var(--night); border: 2px solid var(--line); transition: border-color .3s, background .3s, box-shadow .3s; }
.moment.on::before, .moment.past::before { border-color: var(--peach); background: var(--peach); }
.moment.on::before { box-shadow: 0 0 0 6px rgba(232,145,90,.18); }
.m-time { font-family: var(--mono); font-size: 0.8rem; letter-spacing: 0.08em; color: var(--peach); }
.moment .eyebrow { color: #8C928F; font-size: 0.95rem; }
.moment h3 { font-family: var(--display); font-weight: 800; font-stretch: var(--wide); font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.05; letter-spacing: -0.025em; color: var(--white); }
.moment p { color: var(--muted); font-size: 1.1rem; line-height: 1.5; max-width: 38ch; }
.m-screen { display: none; }
.day-fine { text-align: center; }
@media (max-width: 860px) {
  .day-grid { grid-template-columns: 1fr; gap: 0; }
  .day-phone-wrap { display: none; }
  .moment { min-height: 0; opacity: 1; padding: 22px 0 30px; }
  .moment::before { top: 26px; }
  .m-screen { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: 22px; padding: 14px; }
}
@media not all /* was: prefers-reduced-motion */ { .dp-scene, .moment, .day-line::after { transition: opacity .3s ease; transform: none; } .dp-scene.on > *, .dp-scene.on .dp-go, .dp-scene.on .dp-ring { animation: none; } }
@media print { .moment { opacity: 1; min-height: 0; } .day-phone-wrap { display: none; } .m-screen { display: flex; flex-direction: column; gap: 8px; } }
/* ===== Mobile pass (23 Oct) ===== */
@media (max-width: 560px) {
  /* Demo phone: narrower and taller, true phone proportions */
  .whatsgo .phone { width: min(292px, 76vw); border-radius: 46px; padding: 10px; }
  .whatsgo .screen { height: calc(min(292px, 76vw) * 1.98); border-radius: 37px; }
  .whatsgo .sbar { padding: 12px 22px 4px; }
  .whatsgo .thread-head { padding: 2px 0 10px; }
  .whatsgo .thread-head .avatar { width: 38px; height: 38px; }
  .demo-msgs .msg, .demo-msgs { font-size: 0.82rem; }
  .demo-composer { padding: 8px 10px 14px; }
  .whatsgo .ex-tag { top: -12px; right: -6px; }
  .demo-caption { font-size: 0.95rem; }
  /* Scroll story: keep each beat's words and visual together */
  .story-live .beat { align-content: center; grid-template-rows: auto auto; gap: 26px; }
  .story-live .story-beats { min-height: 430px; }
  .beat-visual { min-height: 0; }
  .story-live .story-stage { top: max(0px, calc(50vh - 330px)); top: max(0px, calc(50svh - 330px)); }
  .story-cta { padding-top: 32px; }
  /* Proactive section: closer spacing */
  .proactive .inner { gap: 18px; }
  .proactive .plain { margin-top: -4px; }
  .pulse-line { margin-bottom: 0; }
}
/* Mobile rhythm: tighter heading-to-copy gaps and section padding */
@media (max-width: 560px) {
  .inner { gap: 24px; }
  .inner.narrow { gap: 24px; } .inner.slim { gap: 22px; }
  .band { padding-block: 64px; }
  .whatsgo { padding-bottom: 40px; }
  .day .inner { gap: 28px; }
  .day-line .moment { gap: 10px; }
  .hub { margin-top: 0; }
}
/* Get The Go (downloads) */
.dl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; width: 100%; }
.dl-card { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; text-align: left; background: var(--night); color: var(--white); border-radius: 18px; padding: 14px 16px; }
.dl-ic { grid-row: 1 / 3; width: 40px; height: 40px; border-radius: 11px; background: rgba(242,244,239,.08); display: grid; place-items: center; }
.dl-ic svg { width: 22px; height: 22px; fill: none; stroke: var(--white); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.dl-txt small { display: block; font-size: 0.72rem; color: var(--muted); line-height: 1.2; }
.dl-txt b { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.05rem; }
.dl-when { grid-column: 2; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--peach); margin-top: 2px; }
.get .btn.dark { background: var(--night); }
@media (max-width: 860px) { .dl-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 380px) { .dl-card { padding: 12px; } .dl-txt b { font-size: 0.95rem; } }
/* Example disclaimers: small, italic, grey, tucked under what they describe */
.note-ex { font-size: 0.8rem; font-style: italic; color: #8C928F; text-align: center; max-width: 60ch; margin: -30px auto 0; line-height: 1.5; }
.light .note-ex, .band.light .note-ex { color: #6B7770; }
.qz-fine { font-style: italic; }
figcaption.note-ex { margin-top: 0; }
@media (max-width: 560px) { .note-ex { margin-top: -12px; font-size: 0.76rem; } }
/* Animated trust icons: start when the section scrolls into view, then keep a calm loop */
.trust .ai svg { width: 24px; height: 24px; fill: none; stroke: var(--white); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.ai-tick path { stroke-dasharray: 1; stroke-dashoffset: 0; }
.ai-dots circle { fill: var(--white); stroke: none; }
.ai-g .g-stroke { stroke-dasharray: 1; stroke-dashoffset: 0; stroke-width: 2.8; }
.ai-g .g-dot { fill: var(--white); stroke: none; }
.trust.is-on .ai-tick path { animation: aitick 4.5s ease-in-out infinite; }
@keyframes aitick { 0% { stroke-dashoffset: 1; opacity: 1; } 22% { stroke-dashoffset: 0; } 84% { stroke-dashoffset: 0; opacity: 1; } 94% { opacity: 0; } 100% { stroke-dashoffset: 1; opacity: 0; } }
.trust.is-on .ai-dots circle { animation: aidots 1.5s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.trust.is-on .ai-dots circle:nth-child(2) { animation-delay: .2s; } .trust.is-on .ai-dots circle:nth-child(3) { animation-delay: .4s; }
@keyframes aidots { 0%, 60%, 100% { transform: translateY(0); opacity: .45; } 30% { transform: translateY(-3.5px); opacity: 1; } }
.trust.is-on .ai-power { animation: aipress 3.6s ease-in-out infinite; }
@keyframes aipress { 0%, 58%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(44,106,83,.5); } 64% { transform: scale(.86); } 72% { transform: scale(1.04); box-shadow: 0 0 0 10px rgba(44,106,83,0); } 80% { transform: scale(1); } }
.trust.is-on .ai-power svg { animation: aipowerglow 3.6s ease-in-out infinite; }
@keyframes aipowerglow { 0%, 60%, 100% { stroke: var(--white); } 66%, 78% { stroke: #9FE0C2; } }
.trust.is-on .ai-g .g-stroke { animation: aigdraw 5.5s cubic-bezier(.6,.1,.3,1) infinite; }
@keyframes aigdraw { 0% { stroke-dashoffset: 1; opacity: 1; } 32% { stroke-dashoffset: 0; } 88% { stroke-dashoffset: 0; opacity: 1; } 96% { opacity: 0; } 100% { stroke-dashoffset: 1; opacity: 0; } }
.trust.is-on .ai-g .g-dot { animation: aigdot 5.5s ease-out infinite; transform-box: fill-box; transform-origin: center bottom; }
@keyframes aigdot { 0%, 30% { opacity: 0; transform: translateY(-9px); } 38% { opacity: 1; transform: translateY(0) scale(1.15, .85); } 44% { transform: translateY(-4px) scale(.95, 1.05); } 50% { transform: translateY(0) scale(1.05, .95); } 55% { transform: translateY(0) scale(1); } 88% { opacity: 1; } 96%, 100% { opacity: 0; } }
@media not all /* was: prefers-reduced-motion */ { .trust.is-on .ai-tick path, .trust.is-on .ai-dots circle, .trust.is-on .ai-power, .trust.is-on .ai-power svg, .trust.is-on .ai-g .g-stroke, .trust.is-on .ai-g .g-dot { animation: none; } }
/* Hub on phones: compact ring */
@media (max-width: 699px) {
  .hub { height: min(500px, 128vw); }
  .hub-node { width: 66px; padding: 7px 4px 6px; border-radius: 12px; row-gap: 3px; box-shadow: 0 4px 12px rgba(22,32,27,.06); }
  .hub-node .hub-ic { width: 26px; height: 26px; border-radius: 8px; }
  .hub-ic svg { width: 15px; height: 15px; }
  .hub-node b { font-size: 0.6rem; line-height: 1.12; letter-spacing: -0.01em; }
  .hub-core, .hub-core img { width: 64px; height: 64px; } .hub-core img { border-radius: 18px; box-shadow: 0 0 0 5px var(--white), 0 10px 26px rgba(22,32,27,.2), 0 0 50px 6px rgba(232,145,90,.25); }
  .hub-core em { top: calc(100% + 10px); font-size: 0.55rem; }
  .hub-dot { width: 6px; height: 6px; margin: -3px 0 0 -3px; }
}
/* Gap after the day story */
.band.day { padding-bottom: 72px; }
.day + .life { padding-top: 88px; }
@media (max-width: 560px) { .band.day { padding-bottom: 36px; } .day + .life { padding-top: 56px; } .day .note-ex { margin-top: -10px; } }
/* Story beat 4 on phones: smaller wordmark sitting just above the progress line */
@media (max-width: 860px) {
  .story-live .story-beats { min-height: 380px; }
  .story-live .beat[data-beat="3"] { align-content: end; padding-bottom: 18px; }
  .beat[data-beat="3"] .big-mark { font-size: clamp(2.2rem, 11vw, 3rem); }
  .beat[data-beat="3"] .beat-visual { min-height: 0; margin-top: 4px; }
}
/* Get it first: brand peach */
.get .btn.dark { background: var(--peach); color: var(--night); border-color: var(--peach); }
.get .btn.dark:hover { background: #EFA273; }
/* Step numbers: ring draws round, number pops in */
@property --ring { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.go-steps .n { position: relative; border-color: transparent; }
.go-steps .n::before { content: ""; position: absolute; inset: -2px; border-radius: 50%; padding: 2px; background: conic-gradient(var(--peach) var(--ring), rgba(232,145,90,.18) 0); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); --ring: 360deg; }
.reveal-ready .go-steps .step .n::before { --ring: 0deg; transition: --ring 1.1s cubic-bezier(.45,.05,.25,1) .25s; }
.reveal-ready .go-steps .step.shown .n::before { --ring: 360deg; }
.reveal-ready .go-steps .step .n { color: transparent; }
.reveal-ready .go-steps .step.shown .n { animation: numpop .5s cubic-bezier(.2,.8,.2,1.3) .9s both; }
@keyframes numpop { from { color: transparent; transform: scale(.6); } to { color: var(--peach); transform: none; } }
.go-steps .step.shown:nth-child(2) .n::before { transition-delay: .45s; } .go-steps .step.shown:nth-child(2) .n { animation-delay: 1.1s; }
.go-steps .step.shown:nth-child(3) .n::before { transition-delay: .65s; } .go-steps .step.shown:nth-child(3) .n { animation-delay: 1.3s; }
/* Benefit icons: draw in when the card arrives, then a gentle float */
.b-ic svg [pathLength] { stroke-dasharray: 1; stroke-dashoffset: 0; }
.b-ic.ready svg [pathLength] { stroke-dashoffset: 1; }
.b-ic.ready.drawn svg [pathLength] { stroke-dashoffset: 0; transition: stroke-dashoffset 1.1s cubic-bezier(.45,.05,.25,1) .15s; }
.b-ic.drawn { animation: bfloat 4.5s ease-in-out 1.4s infinite; }
@keyframes bfloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); box-shadow: 0 6px 14px rgba(44,106,83,.14); } }
@media not all /* was: prefers-reduced-motion */ {
  .reveal-ready .go-steps .step .n::before { --ring: 360deg; transition: none; }
  .reveal-ready .go-steps .step .n { color: var(--peach); animation: none !important; }
  .b-ic.ready svg [pathLength] { stroke-dashoffset: 0; } .b-ic.drawn { animation: none; }
}
@media print { .go-steps .n::before { --ring: 360deg; } .reveal-ready .go-steps .step .n { color: var(--peach); } .b-ic svg [pathLength] { stroke-dashoffset: 0 !important; } }
/* Steps 1-2-3 light up in sequence, on a loop, while on screen */
.go-steps.cycling .n::before { transition: none !important; animation: ringcyc 7.5s cubic-bezier(.45,.05,.25,1) infinite; }
.go-steps.cycling .n { color: transparent; animation: numcyc 7.5s ease infinite !important; }
.go-steps.cycling .step:nth-child(2) .n, .go-steps.cycling .step:nth-child(2) .n::before { animation-delay: 1.1s !important; }
.go-steps.cycling .step:nth-child(3) .n, .go-steps.cycling .step:nth-child(3) .n::before { animation-delay: 2.2s !important; }
@keyframes ringcyc {
  0% { --ring: 0deg; background: conic-gradient(var(--peach) var(--ring), rgba(232,145,90,.18) 0); }
  15.9% { --ring: 360deg; background: conic-gradient(var(--peach) var(--ring), rgba(232,145,90,.18) 0); }
  16%, 82% { --ring: 360deg; background: var(--peach); }
  92%, 100% { --ring: 0deg; background: rgba(232,145,90,.18); }
}
@keyframes numcyc {
  0%, 8% { color: rgba(232,145,90,.25); transform: scale(.85); }
  16% { color: var(--peach); transform: scale(1.18); }
  22% { transform: scale(1); }
  82% { color: var(--peach); transform: scale(1); }
  92%, 100% { color: rgba(232,145,90,.25); transform: scale(.92); }
}
.go-steps.cycling .step .n { box-shadow: none; }
@media not all /* was: prefers-reduced-motion */ { .go-steps.cycling .n, .go-steps.cycling .n::before { animation: none !important; color: var(--peach); } .go-steps.cycling .n::before { background: var(--peach); } }
.go-steps.cycling .n, .go-steps.cycling .n::before { animation-fill-mode: backwards !important; }
/* Benefit icons: always visible; pop + float */
.b-ic svg [pathLength], .b-ic.ready svg [pathLength], .b-ic.ready.drawn svg [pathLength] { stroke-dasharray: none !important; stroke-dashoffset: 0 !important; transition: none !important; }
.b-ic.drawn { animation: none; }
.b-ic.popped { animation: bpop .6s cubic-bezier(.2,.8,.2,1.3) .1s both, bfloat 4.5s ease-in-out 1.2s infinite; }
@keyframes bpop { from { transform: scale(.6); opacity: .3; } to { transform: none; opacity: 1; } }
@media not all /* was: prefers-reduced-motion */ { .b-ic.popped { animation: none; } }
/* Connect and GO: light section fading from off-white into the FAQ grey */
.how-light { background: linear-gradient(180deg, var(--white) 0%, var(--bubble-light) 100%); color: var(--ink); }
.how-light .eyebrow { color: var(--green); }
.how-light h2 { color: var(--ink); }
.how-light .sub { color: var(--ink-soft); }
.how-light .link { color: var(--green); }
.how-light .step { background: var(--paper); border-color: var(--card-light); box-shadow: 0 10px 30px rgba(22,32,27,.06); }
.how-light .step h3 { color: var(--ink); }
.how-light .step p { color: var(--ink-soft); }
.how-light .go-steps .n { background: var(--paper); }
.how-light .sv { background: #EEF1EC; border-color: var(--card-light); }
.how-light .sv-tools span { background: var(--paper); border-color: var(--card-light); color: var(--ink); }
.how-light .sv-set div { border-color: var(--card-light); }
.how-light .sv-set span { color: var(--ink-soft); }
.how-light .sv-set b { color: #C46F3B; }
.how-light .sv-go p { color: var(--ink); }
.how-light .sv-tag { background: var(--paper); border-color: var(--card-light); color: #6B7770; }
.how-light .go-steps::before { opacity: .4; }
.how-light + .day { border-top: 0; }
.how-light { padding-top: 40px; padding-bottom: 88px; }
[aria-labelledby="calm-h"] { padding-bottom: 40px; }
@media (max-width: 560px) { .how-light { padding-top: 24px; padding-bottom: 56px; } [aria-labelledby="calm-h"] { padding-bottom: 24px; } }
/* Beat 4 (desktop): small wordmark tucked into the bottom-right corner, just above the line */
@media (min-width: 861px) {
  .beat[data-beat="3"] .beat-visual { align-self: end; place-items: end; min-height: 0; padding-bottom: 6px; }
  .beat[data-beat="3"] .big-mark { font-size: clamp(2rem, 3.4vw, 2.9rem); }
}
/* Story beat 4: The Go app home screen */
.app-home { width: 230px; height: 470px; border-radius: 36px; background: #0B110E; padding: 8px; box-shadow: 0 30px 70px rgba(0,0,0,.5), inset 0 0 0 1px #26332C, 0 0 80px -20px rgba(232,145,90,.35); }
.ap-screen { height: 100%; border-radius: 29px; background: var(--night); overflow: hidden; display: flex; flex-direction: column; gap: 8px; padding: 0 10px; text-align: left; font-family: var(--body); position: relative; }
.ap-status { display: flex; justify-content: space-between; padding: 10px 8px 0; font-size: 0.62rem; font-weight: 600; color: var(--white); }
.ap-head { display: flex; justify-content: space-between; align-items: center; padding: 2px 2px 4px; }
.ap-head b { display: block; font-family: var(--display); font-weight: 900; font-stretch: 112%; font-size: 1.15rem; color: var(--white); }
.ap-head small { font-size: 0.6rem; color: var(--muted); }
.ap-bell { width: 22px; height: 22px; border-radius: 50%; background: var(--peach); color: var(--night); font-size: 0.66rem; font-weight: 800; display: grid; place-items: center; }
.ap-pulse { display: flex; gap: 8px; align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 9px; }
.ap-av { width: 26px; height: 26px; border-radius: 8px; background: #121A16; color: var(--peach); font-family: var(--display); font-weight: 900; font-size: 0.7rem; display: grid; place-items: center; flex: none; }
.ap-pulse b { display: block; font-size: 0.72rem; color: var(--white); } .ap-pulse small { font-size: 0.62rem; color: var(--muted); }
.ap-go { display: flex; align-items: center; gap: 7px; background: rgba(232,145,90,.12); border: 1px solid rgba(232,145,90,.4); border-radius: 12px; padding: 8px 9px; }
.ap-go b { flex: 1; font-size: 0.68rem; color: var(--white); } .ap-chev { color: var(--peach); font-weight: 700; }
.ap-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--peach); }
.ap-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.ap-stats div { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 7px 6px; display: grid; gap: 1px; }
.ap-stats small { font-size: 0.52rem; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.ap-stats b { font-family: var(--display); font-weight: 900; font-stretch: 112%; font-size: 0.82rem; color: var(--peach); }
.ap-wrap { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 8px 9px; font-size: 0.62rem; color: var(--white); line-height: 1.35; }
.ap-wrap small { display: block; font-family: var(--mono); font-size: 0.5rem; color: var(--muted); margin-bottom: 2px; }
.ap-tabs { margin-top: auto; margin-inline: -10px; display: flex; justify-content: space-around; padding: 8px 4px 12px; border-top: 1px solid var(--line); background: #121A16; }
.ap-tab { display: grid; justify-items: center; gap: 2px; font-size: 0.48rem; color: #7C8A82; }
.ap-tab svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ap-tab.on { color: var(--peach); }
.story-live .beat.on .app-home { animation: apin .7s cubic-bezier(.2,.8,.2,1) both; }
.story-live .beat.on .ap-pulse, .story-live .beat.on .ap-go, .story-live .beat.on .ap-stats div, .story-live .beat.on .ap-wrap { animation: pop .5s cubic-bezier(.2,.8,.2,1) both; }
.story-live .beat.on .ap-pulse { animation-delay: .25s; } .story-live .beat.on .ap-go { animation-delay: .4s; }
.story-live .beat.on .ap-stats div:nth-child(1) { animation-delay: .55s; } .story-live .beat.on .ap-stats div:nth-child(2) { animation-delay: .65s; } .story-live .beat.on .ap-stats div:nth-child(3) { animation-delay: .75s; }
.story-live .beat.on .ap-wrap { animation-delay: .9s; }
.story-live .beat.on .ap-dot { animation: ringpulse 1.6s ease-out 1s 3; }
@keyframes apin { from { opacity: 0; transform: translateY(24px) scale(.96); } to { opacity: 1; transform: none; } }
@media (min-width: 861px) { .beat[data-beat="3"] .beat-visual { align-self: center; place-items: center; padding-bottom: 0; } .story-live .story-beats { min-height: 480px; } }
@media (max-width: 860px) {
  .beat[data-beat="3"] .app-home { zoom: .7; }
  .beat[data-beat="3"] { gap: 14px; }
  .story-live .story-beats { min-height: 520px; }
  .story-live .story-stage { top: max(0px, calc(50vh - 400px)); top: max(0px, calc(50svh - 400px)); }
}
@media not all /* was: prefers-reduced-motion */ { .story-live .beat.on .app-home, .story-live .beat.on .ap-pulse, .story-live .beat.on .ap-go, .story-live .beat.on .ap-stats div, .story-live .beat.on .ap-wrap, .story-live .beat.on .ap-dot { animation: none; } }
.ap-mark { margin-top: auto; align-self: center; font-family: var(--display); font-weight: 900; font-stretch: 125%; letter-spacing: -0.045em; font-size: 1.35rem; line-height: 1; color: var(--white); opacity: .9; padding-bottom: 6px; }
.ap-mark b { color: var(--peach); font-weight: 900; }
.ap-mark i { display: inline-block; width: .19em; height: .19em; border-radius: 50%; background: var(--white); margin-left: .012em; }
.ap-mark + .ap-tabs { margin-top: 0; }
.story-live .beat.on .ap-mark { animation: pop .6s cubic-bezier(.2,.8,.2,1) 1.1s both; }
@media not all /* was: prefers-reduced-motion */ { .story-live .beat.on .ap-mark { animation: none; } }
/* Benefit cards: slow, soft shimmer along the peach top edge */
.benefit::before { background: linear-gradient(90deg, rgba(232,145,90,.95) 0%, rgba(232,145,90,.35) 35%, rgba(240,177,131,.9) 50%, rgba(232,145,90,.35) 65%, rgba(232,145,90,0) 100%); background-size: 260% 100%; background-position: 100% 0; animation: edgeshine 9s ease-in-out infinite; }
.benefit:nth-child(3n+2)::before { animation-delay: -3s; } .benefit:nth-child(3n)::before { animation-delay: -6s; }
@keyframes edgeshine { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0% 0; } }
@media not all /* was: prefers-reduced-motion */ { .benefit::before { animation: none; background-position: 100% 0; } }
/* New order: Connect and GO (white to grey) flows into One app (grey) */
.how-light { padding-top: 120px; padding-bottom: 48px; }
[aria-labelledby="calm-h"] { background: var(--bubble-light); padding-top: 40px; padding-bottom: 120px; }
@media (max-width: 560px) { .how-light { padding-top: 64px; padding-bottom: 28px; } [aria-labelledby="calm-h"] { padding-top: 24px; padding-bottom: 64px; } }
/* Light Connect and GO: peach rings, charcoal numbers */
.how-light .go-steps .n { color: var(--night); }
.how-light .go-steps.cycling .n { animation-name: numcycdark !important; }
@keyframes numcycdark {
  0%, 8% { color: rgba(22,32,27,.35); transform: scale(.85); }
  16% { color: var(--night); transform: scale(1.18); }
  22% { transform: scale(1); }
  82% { color: var(--night); transform: scale(1); }
  92%, 100% { color: rgba(22,32,27,.35); transform: scale(.92); }
}
.how-light .go-steps.cycling .n::before { animation-name: ringcycpeach; }
@keyframes ringcycpeach {
  0% { --ring: 0deg; background: conic-gradient(var(--peach) var(--ring), rgba(232,145,90,.45) 0); }
  15.9% { --ring: 360deg; background: conic-gradient(var(--peach) var(--ring), rgba(232,145,90,.45) 0); }
  16%, 82% { background: var(--peach); }
  92%, 100% { background: rgba(232,145,90,.45); }
}
.how-light .reveal-ready .go-steps .step.shown .n, .reveal-ready .how-light .go-steps .step.shown .n { animation-name: numpopdark; }
@keyframes numpopdark { from { color: transparent; transform: scale(.6); } to { color: var(--night); transform: none; } }
@media not all /* was: prefers-reduced-motion */ { .how-light .go-steps.cycling .n { color: var(--night); } }
/* Order: story -> Connect and GO (light) -> Keep your finger on the pulse (dark) -> One app (grey) */
.how-light { padding-top: 96px; padding-bottom: 96px; }
[aria-labelledby="calm-h"] { padding-top: 112px; padding-bottom: 112px; }
.how-light + .proactive { padding-top: 72px; }
@media (max-width: 560px) { .how-light { padding-top: 56px; padding-bottom: 56px; } [aria-labelledby="calm-h"] { padding-top: 64px; padding-bottom: 64px; } .how-light + .proactive { padding-top: 48px; } }
/* Hero: a ghosted connections map behind the headline */
.hero { position: relative; overflow: hidden; }
.hero > .inner { position: relative; z-index: 1; }
.hero-net { position: absolute; inset: 0; pointer-events: none; z-index: 0; opacity: .7; -webkit-mask-image: radial-gradient(ellipse 46% 40% at 50% 46%, transparent 0%, rgba(0,0,0,.35) 55%, #000 100%); mask-image: radial-gradient(ellipse 46% 40% at 50% 46%, transparent 0%, rgba(0,0,0,.35) 55%, #000 100%); }
.hero-net svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-net line { stroke: rgba(242,244,239,.05); stroke-width: 1; }
.hero-net .glow { position: absolute; width: 520px; height: 520px; margin: -260px 0 0 -260px; border-radius: 50%; background: radial-gradient(circle, rgba(232,145,90,.07), rgba(232,145,90,0) 65%); }
.hn-node { position: absolute; left: 0; top: 0; will-change: transform; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 10px; border: 1px solid rgba(242,244,239,.05); background: rgba(242,244,239,.012); display: grid; place-items: center; }
.hn-node svg { position: static; width: 17px; height: 17px; fill: none; stroke: rgba(242,244,239,.10); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.hn-dot { position: absolute; left: 0; top: 0; will-change: transform; width: 4px; height: 4px; margin: -2px 0 0 -2px; border-radius: 50%; background: rgba(232,145,90,.4); box-shadow: 0 0 5px rgba(232,145,90,.22); opacity: 0; }
@media (max-width: 560px) { .hn-node { width: 26px; height: 26px; margin: -13px 0 0 -13px; border-radius: 8px; } .hn-node svg { width: 13px; height: 13px; } }
.founding-note { margin: 2px auto 0; max-width: 46rem; font-size: 0.95rem; color: var(--white); background: rgba(232,145,90,.1); border: 1px solid rgba(232,145,90,.35); border-radius: 999px; padding: 8px 18px; }
.founding-note b { color: var(--peach); }
@media (max-width: 560px) { .founding-note { border-radius: 16px; font-size: 0.88rem; } }

/* Mobile landing: ticker sits closer under the hero, and the demo heading closer under the ticker */
@media (max-width: 560px) {
  .band.hero { padding-bottom: 0; }
  .hero .inner { padding-bottom: 40px; }
  .ticker + .whatsgo { padding-top: 44px; }
}

/* "Start talking, let's GO." builds word by word with a voice wave, then a line runs down into the demo tabs */
.lead-talk { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 0 .3em; }
.lt-w { display: inline-block; opacity: 0; transform: translateY(10px); transition: opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1); }
.lead-talk.on .lt-w { opacity: 1; transform: none; }
.lead-talk.on .lt-w:nth-child(2) { transition-delay: .35s; }
.lead-talk.on .lt-w:nth-child(3) { transition-delay: .6s; }
.lead-talk.on .lt-w:nth-child(4) { transition-delay: .85s; }
.lead-talk.on .lt-w:nth-child(5) { transition-delay: 1.15s; }
.lead-talk .lt-w { color: inherit; }
.lead-talk .lt-go { color: var(--peach); }
.lead-talk.on .lt-go { animation: ltglow 1.6s ease 1.5s 1; }
@keyframes ltglow { 40% { text-shadow: 0 0 18px rgba(232,145,90,.65); } }
.lt-wave { display: inline-flex; align-items: center; gap: 2px; height: 18px; margin-right: .35em; opacity: 0; transition: opacity .4s ease; }
.lt-wave i { display: block; width: 3px; height: 100%; border-radius: 2px; background: var(--peach); transform: scaleY(.25); }
.lead-talk.on .lt-wave { opacity: 1; }
.lead-talk.on .lt-wave i { animation: ltwave 1s ease-in-out 3; }
.lead-talk.on .lt-wave i:nth-child(2) { animation-delay: .12s; } .lead-talk.on .lt-wave i:nth-child(3) { animation-delay: .24s; }
.lead-talk.on .lt-wave i:nth-child(4) { animation-delay: .36s; } .lead-talk.on .lt-wave i:nth-child(5) { animation-delay: .48s; }
@keyframes ltwave { 0%, 100% { transform: scaleY(.25); } 50% { transform: scaleY(1); } }
.lt-line { position: relative; display: block; width: 1px; height: 40px; margin: -10px auto -14px; background: linear-gradient(rgba(232,145,90,.7), rgba(232,145,90,0)); transform: scaleY(0); transform-origin: top; transition: transform .8s ease 1.6s; }
.lt-line.on { transform: scaleY(1); }
.lt-line::after { content: ""; position: absolute; left: -2px; top: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--peach); box-shadow: 0 0 8px rgba(232,145,90,.6); opacity: 0; }
.lt-line.on::after { animation: ltdrop 2.4s ease-in 2.2s infinite; }
@keyframes ltdrop { 0% { top: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { top: 100%; opacity: 0; } }
.demo-tabs [role="tab"].nudge { animation: ltnudge 1.2s ease 2; }
@keyframes ltnudge { 0% { box-shadow: 0 0 0 0 rgba(232,145,90,.55); } 70% { box-shadow: 0 0 0 10px rgba(232,145,90,0); } 100% { box-shadow: 0 0 0 0 rgba(232,145,90,0); } }
@media print { .lt-w { opacity: 1; transform: none; } .lt-line { display: none; } }

/* Phones: a small "Scroll" cue, bottom right, while the story is pinned; gone on the last beat */
.story-hint { display: none; }
@media (max-width: 860px) {
  .story-live .story-hint { display: flex; flex-direction: column; align-items: center; gap: 8px; position: fixed; right: 16px; bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 5; opacity: 0; transform: translateY(8px); transition: opacity .4s ease, transform .4s ease; pointer-events: none; }
  .story-live.hint-on .story-hint { opacity: 1; transform: none; }
  .story-hint span { font: 600 0.62rem/1 var(--body); letter-spacing: .16em; text-transform: uppercase; color: #8C928F; writing-mode: vertical-rl; }
  .story-hint i { position: relative; display: block; width: 1px; height: 38px; background: rgba(140,146,143,.3); overflow: hidden; }
  .story-hint i::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: #BFCBC3; animation: hintdrop 1.6s cubic-bezier(.6,0,.4,1) infinite; }
}
@keyframes hintdrop { 0% { top: -40%; } 100% { top: 100%; } }
@media print { .story-hint { display: none !important; } }

/* Pulse: same calm pace as the "Works with what you already use." hub. A beat reaches the G. every 3s (--beat),
   two beats on the line at a time, each taking about 6s to cross. The G. swells gently and sends one slow ripple
   per beat (6s each, like the hub). The glow is a wider soft stroke rather than a filter, so it stays smooth on phones. */
.pulse-line { --beat: 3s; }
.pulse-line.lit .pl-draw { filter: none; stroke-dashoffset: 0; stroke-opacity: .55; transition: stroke-dashoffset .9s cubic-bezier(.4,0,.2,1), stroke-opacity 1s ease .4s; }
.pl-run, .pl-glow { stroke-dasharray: .07 .43; stroke-dashoffset: .035; opacity: 0; transition: opacity .6s ease; }
.pl-run { stroke: #FFD9BF; stroke-width: 2.5; }
.pl-glow { stroke: var(--peach); stroke-width: 8; stroke-opacity: .24; }
@media (max-width: 560px) { .pl-glow { stroke-width: 5; stroke-opacity: .22; } .pl-run { stroke-width: 2; } }
.pulse-line.lit .pl-run, .pulse-line.lit .pl-glow { opacity: 1; animation: plrun var(--beat) linear infinite; will-change: stroke-dashoffset; }
/* One pattern (.5) per beat; a beat sits at the middle of the line at the start of each cycle */
@keyframes plrun { from { stroke-dashoffset: .035; } to { stroke-dashoffset: -.465; } }
.pulse-line.lit .ring { animation: breathe calc(var(--beat) * 2) cubic-bezier(.25,.6,.35,1) infinite; }
.pulse-line.lit .ring:nth-child(2) { animation-delay: calc(var(--beat) * -1); }
.pulse-line.lit .ring:nth-child(3) { display: none; }
.pulse-line.lit img { animation: pswell var(--beat) ease-in-out infinite; }
@keyframes pswell { 0% { transform: scale(1); } 22% { transform: scale(1.05); } 65%, 100% { transform: scale(1); } }
@media print { .pl-run, .pl-glow { display: none; } }

/* Dave's day: times start grey; when the glowing line reaches a dot, the dot fires (pop and ripple) and its time lights up */
.m-time { color: #8C928F; transition: color .35s ease, text-shadow .35s ease; }
.moment.hit .m-time { color: var(--peach); text-shadow: 0 0 12px rgba(232,145,90,.45); }
.moment.on::before, .moment.past::before { border-color: var(--line); background: var(--night); box-shadow: none; }
.moment.hit::before { border-color: var(--peach); background: var(--peach); box-shadow: 0 0 0 6px rgba(232,145,90,.18); animation: dotfire .55s cubic-bezier(.2,.8,.2,1.4) both; }
.moment::after { content: ""; position: absolute; left: -34px; top: calc(50% - 8px); width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--peach); box-sizing: border-box; opacity: 0; pointer-events: none; }
.moment.hit::after { animation: dotburst .9s ease-out both; }
@keyframes dotfire { 0% { transform: scale(.6); } 55% { transform: scale(1.3); } 100% { transform: scale(1); } }
@keyframes dotburst { 0% { transform: scale(1); opacity: .85; } 100% { transform: scale(2.8); opacity: 0; } }
@media (max-width: 860px) {
  .moment::after { top: 26px; }
  /* Cards on phones look like the app on a phone: dark screen, bezel, top bar with The Go and the time */
  .m-screen { position: relative; background: var(--night); border: 0; border-radius: 30px; padding: 0 12px 16px; margin: 16px 8px 4px; box-shadow: 0 0 0 7px #0B110E, 0 0 0 8px #26332C, 0 24px 50px rgba(0,0,0,.4); overflow: hidden; }
  .m-bar { display: flex; align-items: center; gap: 8px; margin: 0 -12px 6px; padding: 16px 18px 11px; border-bottom: 1px solid var(--line); }
  .m-bar img { border-radius: 6px; }
  .m-bar b { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 0.88rem; color: var(--white); }
  .m-bar span { margin-left: auto; font-family: var(--mono); font-size: 0.68rem; color: var(--muted); }
  /* Messages build in once the line reaches the moment, like the desktop phone */
  .day-live .m-screen > :not(.m-bar) { opacity: 0; }
  .day-live .moment.hit .m-screen > :not(.m-bar) { animation: dpin .45s cubic-bezier(.2,.8,.2,1) both; }
  .day-live .moment.hit .m-screen > :nth-child(3) { animation-delay: .35s; }
  .day-live .moment.hit .m-screen > :nth-child(4) { animation-delay: .8s; }
  .day-live .moment.hit .m-screen > :nth-child(5) { animation-delay: 1.3s; }
  .day-live .moment.hit .m-screen .dp-go { animation: gotap 1.6s ease 1.4s 1 both; }
  .day-live .moment.hit .m-screen .dp-ring { animation: ringpulse 1.4s ease-out 3; }
}
@media print { .day-live .m-screen > * { opacity: 1 !important; } .m-bar { display: none; } }

/* Soft reveal (Dave's day, after hours): each line fades up and unblurs, a beat after the one before */
.soft { opacity: 0; transform: translateY(16px); filter: blur(4px); transition: opacity .8s ease var(--sd, 0s), transform .9s cubic-bezier(.2,.8,.2,1) var(--sd, 0s), filter .8s ease var(--sd, 0s), color .35s ease, text-shadow .35s ease; }
.soft-in .soft { opacity: 1; transform: none; filter: none; }
@media print { .soft { opacity: 1 !important; transform: none !important; filter: none !important; } }

/* After hours: cards are phone notifications that drop in one after another, buzz, then show the nudge */
.lc-head { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.lc-head img { border-radius: 6px; flex: none; }
.lc-app { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 0.85rem; color: var(--white); }
.lc-head .when { margin-left: auto; }
.life-card { position: relative; overflow: hidden; box-shadow: 0 18px 40px rgba(0,0,0,.25); }
.life-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--peach); opacity: 0; }
.notify-ready .life-card { opacity: 0; transform: translateY(-22px) scale(.96); }
.notify-ready .life-card b { opacity: 0; transform: translateY(6px); }
.notify .life-card { animation: notifin .7s cubic-bezier(.2,.9,.25,1.15) both, buzz .5s ease both; }
.notify .life-card b { animation: dpin .5s cubic-bezier(.2,.8,.2,1) both; }
.notify .life-card::before { animation: edgeflash 1.6s ease both; }
.notify .life-card:nth-child(1) { animation-delay: 0s, .7s; } .notify .life-card:nth-child(1) b { animation-delay: .55s; } .notify .life-card:nth-child(1)::before { animation-delay: 0s; }
.notify .life-card:nth-child(2) { animation-delay: .9s, 1.6s; } .notify .life-card:nth-child(2) b { animation-delay: 1.45s; } .notify .life-card:nth-child(2)::before { animation-delay: .9s; }
.notify .life-card:nth-child(3) { animation-delay: 1.8s, 2.5s; } .notify .life-card:nth-child(3) b { animation-delay: 2.35s; } .notify .life-card:nth-child(3)::before { animation-delay: 1.8s; }
@keyframes notifin { from { opacity: 0; transform: translateY(-22px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes buzz { 0%, 100% { translate: 0 0; } 20% { translate: -3px 0; } 40% { translate: 3px 0; } 60% { translate: -2px 0; } 80% { translate: 1px 0; } }
@keyframes edgeflash { 0% { opacity: 0; } 25% { opacity: 1; } 100% { opacity: .55; } }
@media print { .notify-ready .life-card, .notify-ready .life-card b { opacity: 1 !important; transform: none !important; } }
/* Phones: a little more room between the pulse ripples and "Keep your finger on the pulse." */
@media (max-width: 560px) { .proactive #pro-h { margin-top: 22px; } }

/* "More than an app. It's your right hand." under One app. Nothing to learn. */
.right-hand { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: clamp(1.1rem, 2.2vw, 1.35rem); letter-spacing: -0.01em; color: var(--green); margin-top: -4px; text-wrap: balance; }

/* App icon on dark screens: give the tile a fine light edge so it reads as the app icon, not a loose "G." */
.dp-bar img, .m-bar img, .lc-head img { border-radius: 8px; box-shadow: 0 0 0 1px rgba(242,244,239,.22), 0 2px 8px rgba(0,0,0,.35); }
.dp-bar img { width: 30px; height: 30px; }

/* Footer: one short fine-print line; the full notes live on the terms page (#t-notes) */
.foot .foot-fine { font-size: 0.86rem; color: #8C928F; max-width: 52rem; }

/* Story photos: a full-screen photo sits behind each beat and cross-fades (with a slow push-in) as you scroll.
   The phones in the photos show theGO app, so the old small cards on the right are hidden. */
.story-bg { display: none; }
.story-live .story-track { position: relative; }
.story-live .story-bg { display: block; position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.sb-pin { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.story-live .story-stage { z-index: 1; }
.sb-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.08); transition: opacity 1.1s ease, transform 7s cubic-bezier(.2,.6,.2,1); }
.sb-img.on { opacity: 1; transform: scale(1); }
.sb-pin::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, var(--night) 0%, rgba(22,32,27,0) 14%, rgba(22,32,27,0) 82%, var(--night) 100%),
              linear-gradient(90deg, rgba(22,32,27,.94) 0%, rgba(22,32,27,.82) 34%, rgba(22,32,27,.25) 62%, rgba(22,32,27,.1) 100%); }
.sb-ex { position: absolute; right: 18px; bottom: 26px; z-index: 1; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(242,244,239,.7); background: rgba(22,32,27,.55); padding: 4px 9px; border-radius: 999px; }
.story-live .story-glow { opacity: .35; }
.story-live .beat-visual { visibility: hidden; }
.story-live .beat-copy h2, .story-live .beat-copy p { text-shadow: 0 2px 18px rgba(0,0,0,.45); }
@media (max-width: 860px) {
  .story-live .beat-visual { display: none; }
  .story-live .story-beats { min-height: 300px; }
  .sb-pin::after { background: linear-gradient(180deg, rgba(22,32,27,.96) 0%, rgba(22,32,27,.86) 30%, rgba(22,32,27,.35) 52%, rgba(22,32,27,.05) 70%, rgba(22,32,27,.2) 90%, var(--night) 100%); }
  .sb-img[data-beat="0"] { object-position: 70% 50%; }
  .sb-img[data-beat="1"] { object-position: 56% 50%; }
  .sb-img[data-beat="2"] { object-position: 64% 50%; }
  .sb-img[data-beat="3"] { object-position: 60% 50%; }
}
@media print { .story-bg { display: none !important; } .story-live .beat-visual { visibility: visible; } }

/* Story photos: a touch darker everywhere so the type sits on them cleanly */
.sb-img { filter: brightness(.84) saturate(.96); }
/* Phones: words, button and trial line sit together near the top; the photo's phone shows below.
   No progress bar on phones (the Scroll cue does that job), so nothing cuts across the photo. */
@media (max-width: 860px) {
  .story-live .story-stage { top: 0; top: max(0px, env(safe-area-inset-top)); }
  .story-live .story-inner { padding-top: 88px; padding-bottom: 0; }
  .story-live .story-beats { min-height: 200px; }
  .story-live .story-progress { display: none; }
  .story-live .story-cta { padding: 6px 20px 0; gap: 8px; }
  .story-live .story-cta .trial-note { color: rgba(242,244,239,.82); text-shadow: 0 1px 10px rgba(0,0,0,.55); font-size: 0.86rem; }
  .sb-pin::after { background: linear-gradient(180deg, rgba(22,32,27,.95) 0%, rgba(22,32,27,.88) 34%, rgba(22,32,27,.5) 52%, rgba(22,32,27,.12) 68%, rgba(22,32,27,.18) 88%, var(--night) 100%); }
}
@media (max-width: 560px) { .story-live .beat-copy h2 { font-size: clamp(1.8rem, 8.4vw, 2.5rem); } }

/* Demo: the message box while Dave is typing */
.dc-field.typing-in { color: var(--ink, #16201B); }

/* Story photos, zoomed out: a gentler push-in everywhere, and on phones the photo fills the lower part of the
   screen at a wider crop (about half the picture instead of a third), fading up into the words above it. */
.sb-img { transform: scale(1.03); }
.sb-img.on { transform: scale(1); }
@media (max-width: 860px) {
  .sb-img { top: auto; bottom: 0; height: 64%; -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 22%); mask-image: linear-gradient(180deg, transparent 0%, #000 22%); }
  .sb-pin::after { background: linear-gradient(180deg, rgba(22,32,27,0) 0%, rgba(22,32,27,0) 80%, var(--night) 100%); }
  .sb-pin { background: var(--night); }
  .sb-img[data-beat="0"] { object-position: 78% 50%; }
  .sb-img[data-beat="1"] { object-position: 52% 30%; }
  .sb-img[data-beat="2"] { object-position: 62% 50%; }
  .sb-img[data-beat="3"] { object-position: 64% 50%; }
}

/* Phones: the story fills the screen. Words at the top, the button in the middle, the progress bar a fifth of
   the way up from the bottom with the Example tag just under it, and the Scroll cue just above it. */
@media (max-width: 860px) {
  .story-live .story-stage { top: 0; height: 100vh; height: 100svh; display: block; }
  .story-live .story-inner { position: static; }
  .story-live .story-progress { display: block; position: absolute; left: 24px; right: 24px; top: auto; bottom: 20vh; bottom: 20svh; z-index: 2; }
  .story-live .story-cta { position: absolute; left: 0; right: 0; top: 47vh; top: 47svh; padding: 0 20px; }
  .sb-ex { bottom: calc(20vh - 34px); bottom: calc(20svh - 34px); right: 24px; }
  .story-live .story-hint { bottom: calc(20vh + 18px); bottom: calc(20svh + 18px); }
}

/* ===== /go: "See it work" landing page ===== */
.go-page .eyebrow { color: var(--peach); }
.go-page .light .eyebrow { color: var(--green); }
/* Hero */
.go-hero { padding-top: 64px; padding-bottom: 40px; }
.go-hero-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: center; }
.go-hero-copy { display: grid; gap: 22px; align-content: center; }
.go-hero-copy .mega { font-size: clamp(2.6rem, 5.4vw, 4.6rem); line-height: 1.02; }
.go-hero-sub { font-size: clamp(1.1rem, 1.8vw, 1.32rem); line-height: 1.5; color: #C9D3CD; max-width: 34rem; }
.go-hero-sub b { color: var(--peach); font-family: var(--display); font-weight: 900; font-stretch: 112%; }
.go-hero-copy .ctas { justify-content: flex-start; }
.go-hero-visual { position: relative; padding-bottom: 40px; }
.go-hero-photo { display: block; width: 100%; aspect-ratio: 4 / 3.4; object-fit: cover; object-position: 52% 40%; border-radius: 28px; filter: brightness(.9); box-shadow: 0 30px 70px rgba(0,0,0,.4); }
.go-phone { position: absolute; right: -18px; bottom: 0; width: 250px; height: 380px; background: var(--night); border-radius: 32px; padding: 0 12px 14px; box-shadow: 0 0 0 7px #0B110E, 0 0 0 8px #26332C, 0 30px 60px rgba(0,0,0,.5); display: flex; flex-direction: column; overflow: hidden; }
.go-phone .dp-bar { margin: 0 -12px; padding: 14px 16px 10px; }
.go-phone .dp-bar span { margin-left: auto; font-family: var(--mono); font-size: 0.68rem; color: var(--muted); }
.go-phone .dp-bar img { border-radius: 7px; box-shadow: 0 0 0 1px rgba(242,244,239,.22); }
.go-phone-msgs { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; padding-top: 10px; overflow: hidden; }
.go-phone .ex-tag { position: absolute; top: 46px; right: 10px; }
.go-in { animation: dpin .45s cubic-bezier(.2,.8,.2,1) both; }
.go-phone-msgs > * { font-size: 0.78rem; }
.dp-voice { display: grid; gap: 6px; max-width: 94%; }
.dp-wave { display: flex; gap: 2px; align-items: center; height: 16px; }
.dp-wave i { display: block; width: 3px; height: 100%; border-radius: 2px; background: var(--night); transform: scaleY(.3); animation: ltwave 1s ease-in-out infinite; }
.dp-wave i:nth-child(2n) { animation-delay: .15s; } .dp-wave i:nth-child(3n) { animation-delay: .3s; }
.ql { display: flex; justify-content: space-between; gap: 10px; padding: 2px 0; }
.ql b { font-weight: 700; color: var(--ink); white-space: nowrap; }
.ql.tot { border-top: 1px solid #DCE2DD; margin-top: 4px; padding-top: 5px; font-weight: 700; }
.ql.tot b { color: #B5561F; }
.dp-go.tap { animation: gotap 1.3s ease both; }
.go-strip { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; margin-top: 46px; padding-top: 26px; border-top: 1px solid var(--line); font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 0.95rem; color: #C9D3CD; }
.go-strip .go-strip-plain { font-family: var(--body); font-weight: 600; font-stretch: normal; color: var(--euc); }
/* What it does */
.go-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; text-align: left; }
.go-tile { background: #FBFCF9; border: 1px solid #DCE2DD; border-radius: 20px; padding: 24px; display: grid; gap: 10px; align-content: start; }
.go-tile h3 { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.3rem; color: var(--night); }
.go-tile p { line-height: 1.45; color: #3E4A44; }
.go-tile p span { display: block; font-family: var(--mono); font-size: 0.66rem; letter-spacing: .1em; text-transform: uppercase; color: #7C8A82; margin-bottom: 2px; }
.go-tile .gt-say { font-weight: 600; color: var(--night); }
.go-tile .gt-do { background: rgba(44,106,83,.07); border-radius: 12px; padding: 10px 12px; }
.go-tile .gt-do span { color: var(--green); }
.go-under { margin-top: 26px; font-size: 1.15rem; color: #3E4A44; }
.go-under b { color: var(--peach); font-family: var(--display); font-weight: 900; font-stretch: 112%; }
/* Pain */
.go-pains { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 16px; margin-top: 30px; text-align: left; }
.go-pain { position: relative; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 22px; display: grid; gap: 6px; align-content: end; min-height: 200px; overflow: hidden; }
.go-pain h3 { position: relative; font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.15rem; color: var(--white); line-height: 1.2; }
.go-pain p { position: relative; color: var(--muted); }
.go-pain.has-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.55); }
.go-stat { margin-top: 28px; color: #C9D3CD; font-size: 1.05rem; display: grid; gap: 4px; justify-items: center; }
.go-stat b { font-family: var(--display); font-weight: 900; font-stretch: 112%; color: var(--peach); font-size: 1.4rem; }
.go-stat small { font-size: 0.75rem; color: #8C928F; }
/* Quote to cash (reuses Dave's day) */
.q2c .q2c-close { text-align: center; font-family: var(--display); font-weight: 900; font-stretch: 112%; font-size: clamp(1.6rem, 3.4vw, 2.4rem); color: var(--white); margin-top: 26px; }
/* Hub insight */
.go-insight { position: relative; display: flex; gap: 12px; align-items: center; text-align: left; max-width: 34rem; margin: 18px auto 6px; background: var(--night); color: var(--white); border-radius: 18px; padding: 14px 18px; box-shadow: 0 18px 40px rgba(22,32,27,.18); }
.go-insight img { border-radius: 9px; flex: none; }
.go-insight p { line-height: 1.45; } .go-insight b { color: var(--peach); }
.go-insight .ex-chip { position: absolute; top: -10px; right: 12px; }
/* Before / after */
.go-ba { position: relative; margin: 30px auto 10px; max-width: 1100px; aspect-ratio: 3 / 2; border-radius: 26px; overflow: hidden; box-shadow: 0 30px 70px rgba(0,0,0,.4); user-select: none; }
.go-ba img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.go-ba-before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.go-ba-handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; margin-left: -1.5px; background: var(--white); pointer-events: none; }
.go-ba-handle i { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: var(--peach); box-shadow: 0 6px 18px rgba(0,0,0,.35); }
.go-ba-handle i::before { content: "‹ ›"; position: absolute; inset: 0; display: grid; place-items: center; font: 800 1rem var(--display); color: var(--night); letter-spacing: 2px; }
.go-ba-range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.go-ba-tag { position: absolute; top: 14px; font-family: var(--mono); font-size: 0.68rem; letter-spacing: .08em; text-transform: uppercase; background: rgba(22,32,27,.7); color: var(--white); padding: 5px 10px; border-radius: 999px; pointer-events: none; }
.go-ba-tag.l { left: 14px; } .go-ba-tag.r { right: 14px; }
/* Everything it does */
.go-tabs { display: inline-flex; gap: 6px; margin-top: 26px; background: #E3E8E4; padding: 5px; border-radius: 999px; }
.go-tabs button { font: 700 0.95rem var(--body); border: 0; background: transparent; color: var(--night); padding: 9px 18px; border-radius: 999px; cursor: pointer; }
.go-tabs button[aria-selected="true"] { background: var(--night); color: var(--white); }
.go-panel { display: none; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 26px; text-align: left; }
.go-panel.on { display: grid; animation: dpin .4s ease both; }
.go-feat { position: relative; background: #FBFCF9; border: 1px solid #DCE2DD; border-radius: 18px; padding: 22px; display: grid; gap: 8px; align-content: start; }
.go-feat h3 { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.12rem; color: var(--night); padding-right: 70px; }
.go-feat p { color: #3E4A44; line-height: 1.45; }
.go-badge { position: absolute; top: 20px; right: 18px; font-family: var(--mono); font-size: 0.6rem; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; }
.go-badge.in { background: rgba(44,106,83,.12); color: var(--green); }
.go-badge.pro { background: rgba(232,145,90,.16); color: #B5561F; }
.go-badge.soon { background: #E3E8E4; color: #5A6A61; }
/* Books */
.go-books-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.go-books-grid > div { display: grid; gap: 16px; }
.go-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.go-checks li { display: flex; gap: 12px; align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; color: var(--white); }
.go-checks li::before { content: ""; flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.9' fill='none' stroke='%23F2F4EF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat; }
.go-checks li:last-child { color: var(--muted); }
/* Offer */
.go-offer-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 340px)); justify-content: center; gap: 16px; margin-top: 28px; text-align: left; }
.go-offer-cards:has(.go-promise:not([hidden])) { grid-template-columns: repeat(3, minmax(0, 320px)); }
.go-offer-cards article { background: #FBFCF9; border: 1px solid #DCE2DD; border-radius: 18px; padding: 22px; display: grid; gap: 8px; }
.go-offer-cards h3 { font-family: var(--display); font-weight: 800; font-stretch: 112%; color: var(--night); }
.go-offer-cards p { color: #3E4A44; line-height: 1.45; }
.go-prices { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin: 26px 0 10px; }
.go-prices div { display: grid; gap: 2px; background: var(--night); color: var(--white); border-radius: 16px; padding: 14px 22px; min-width: 150px; }
.go-prices b { font-family: var(--display); font-weight: 800; font-stretch: 112%; color: var(--peach); }
.go-offer .ctas { justify-content: center; margin-top: 18px; }
/* Comparison */
.go-table-wrap { overflow-x: auto; margin-top: 28px; }
.go-table { width: 100%; max-width: 860px; margin: 0 auto; border-collapse: separate; border-spacing: 0; text-align: center; }
.go-table th, .go-table td { padding: 14px 12px; border-bottom: 1px solid var(--line); color: var(--muted); }
.go-table th { font-family: var(--display); font-weight: 800; font-stretch: 112%; color: var(--white); font-size: 0.95rem; }
.go-table td:first-child { text-align: left; color: var(--white); }
.go-table .us { color: var(--peach); font-weight: 800; background: rgba(232,145,90,.08); }
.go-table th.us { border-radius: 14px 14px 0 0; }
/* Final */
.go-final { text-align: center; padding-block: 96px; }
.go-final .ctas { justify-content: center; margin-top: 22px; }
/* Phones */
@media (max-width: 860px) {
  .go-hero { padding-top: 40px; }
  .go-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .go-hero-copy { text-align: center; justify-items: center; }
  .go-hero-copy .ctas { justify-content: center; }
  .go-hero-visual { padding-bottom: 90px; }
  .go-hero-photo { aspect-ratio: 4 / 3.6; }
  .go-phone { right: 50%; transform: translateX(50%); width: 232px; height: 300px; bottom: 0; }
  .go-tiles, .go-panel { grid-template-columns: 1fr; }
  .go-pains { grid-template-columns: 1fr 1fr; }
  .go-pain.has-photo { grid-column: 1 / -1; min-height: 220px; }
  .go-pain { min-height: 150px; padding: 18px; }
  .go-books-grid { grid-template-columns: 1fr; gap: 24px; }
  .go-offer-cards, .go-offer-cards:has(.go-promise:not([hidden])) { grid-template-columns: 1fr; }
  .go-ba { aspect-ratio: 4 / 5; border-radius: 20px; }
  .go-ba img { object-position: 60% 50%; }
  .go-tabs { flex-wrap: wrap; justify-content: center; }
  .go-table th, .go-table td { padding: 10px 6px; font-size: 0.85rem; }
}
@media print { .go-phone { display: none; } .go-panel { display: grid !important; } }
.go-promise[hidden] { display: none !important; }
.go-ba { width: 100%; }
@media (max-width: 560px) { .go-ba-tag { font-size: 0.56rem; max-width: 44%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; top: 10px; } .go-ba-tag.l { left: 10px; } .go-ba-tag.r { right: 10px; } }
/* /go hero phone: taller so the whole quote fits, Example tag sits on the frame */
.go-phone { height: 440px; overflow: visible; }
.go-phone-msgs { overflow: hidden; }
.go-phone .ex-tag { top: -12px; right: -14px; }
@media (max-width: 860px) { .go-phone { height: 380px; width: 244px; } .go-hero-visual { padding-bottom: 150px; } }

/* ===== "What you get": five outcomes (full on /go, compact strip on the homepage and How it works) ===== */
.wyg-head { text-align: center; display: grid; gap: 12px; justify-items: center; margin-bottom: 34px; }
.wyg-head .sub { margin-inline: auto; color: #4A5650; }
.wyg-list { display: grid; gap: 16px; max-width: 980px; margin: 0 auto; }
.wyg-item { display: grid; grid-template-columns: auto 1fr; gap: 20px; background: #FBFCF9; border: 1px solid #DCE2DD; border-radius: 22px; padding: 26px 28px; scroll-margin-top: 90px; }
.wyg-item .b-ic { width: 52px; height: 52px; border-radius: 15px; }
.wyg-item .b-ic svg { width: 26px; height: 26px; }
.wyg-body { display: grid; gap: 10px; }
.wyg-n { font-family: var(--mono); font-size: 0.7rem; letter-spacing: .12em; color: #7C8A82; }
.wyg-item h3 { font-family: var(--display); font-weight: 900; font-stretch: 112%; font-size: clamp(1.5rem, 2.8vw, 2.1rem); line-height: 1.05; letter-spacing: -0.02em; color: var(--night); }
.wyg-line { font-size: 1.1rem; line-height: 1.5; color: #3E4A44; max-width: 46rem; }
.wyg-notice { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.wyg-notice li { font-size: 0.88rem; font-weight: 600; color: var(--green); background: rgba(44,106,83,.09); padding: 6px 12px; border-radius: 999px; }
.wyg-how summary { cursor: pointer; font-weight: 700; color: var(--night); font-size: 0.92rem; list-style: none; display: inline-flex; gap: 6px; align-items: center; }
.wyg-how summary::-webkit-details-marker { display: none; }
.wyg-how summary::after { content: "›"; transition: transform .2s ease; color: var(--peach); font-size: 1.1rem; }
.wyg-how[open] summary::after { transform: rotate(90deg); }
.wyg-how ul { margin: 10px 0 0; padding-left: 18px; display: grid; gap: 4px; color: #3E4A44; columns: 2; }
.wyg-fine { text-align: center; margin: 22px auto 0; }
.oc-tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin: 30px 0 22px; text-align: left; }
.oc-tile { display: grid; gap: 8px; align-content: start; padding: 20px; border-radius: 18px; text-decoration: none; transition: transform .2s ease, border-color .2s ease; }
.oc-tile:hover { transform: translateY(-3px); }
.oc-tile b { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.12rem; line-height: 1.15; }
.oc-tile span { font-size: 0.9rem; line-height: 1.45; }
.light .oc-tile { background: #FBFCF9; border: 1px solid #DCE2DD; } .light .oc-tile b { color: var(--night); } .light .oc-tile span { color: #4A5650; }
.dark .oc-tile { background: var(--surface); border: 1px solid var(--line); } .dark .oc-tile b { color: var(--white); } .dark .oc-tile span { color: var(--muted); }
.dark .oc-tile .b-ic { background: rgba(114,184,152,.14); } .dark .oc-tile .b-ic svg { stroke: var(--euc); }
.oc-band .link { display: inline-block; }
@media (max-width: 980px) { .oc-tiles { grid-template-columns: repeat(2, 1fr); } .oc-tile:last-child { grid-column: 1 / -1; } }
@media (max-width: 560px) {
  .wyg-item { grid-template-columns: 1fr; padding: 22px; gap: 14px; }
  .wyg-how ul { columns: 1; }
  .oc-tiles { grid-template-columns: 1fr; }
}
.go-hero-copy .mega { font-size: clamp(2.2rem, 4.3vw, 3.7rem); line-height: 1.04; }
.oc-band .inner { max-width: 1180px; width: 100%; }
.oc-band .oc-tiles { width: 100%; }

/* Outcome icons come alive: coin flips, phone rings, mic listens, sun turns, shield glows.
   Same order everywhere: 1 paid, 2 work, 3 admin, 4 stand, 5 control (homepage, How it works and /go). */
.oc-tile .b-ic, .wyg-item .b-ic { position: relative; }
.oc-tile .b-ic svg, .wyg-item .b-ic svg { transform-origin: 50% 50%; }
.oc-tile:nth-child(1) .b-ic svg, .wyg-item:nth-child(1) .b-ic svg { animation: icflip 4.5s ease-in-out infinite; }
.oc-tile:nth-child(2) .b-ic svg, .wyg-item:nth-child(2) .b-ic svg { animation: icring 3.2s ease-in-out .6s infinite; transform-origin: 30% 30%; }
.oc-tile:nth-child(3) .b-ic svg, .wyg-item:nth-child(3) .b-ic svg { animation: iclisten 2.4s ease-in-out 1.2s infinite; }
.oc-tile:nth-child(4) .b-ic svg, .wyg-item:nth-child(4) .b-ic svg { animation: icspin 14s linear infinite; }
.oc-tile:nth-child(5) .b-ic svg, .wyg-item:nth-child(5) .b-ic svg { animation: icguard 3.6s ease-in-out 1.8s infinite; }
/* soft rings behind the phone and mic */
.oc-tile:nth-child(2) .b-ic::after, .wyg-item:nth-child(2) .b-ic::after,
.oc-tile:nth-child(3) .b-ic::after, .wyg-item:nth-child(3) .b-ic::after { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 1.5px solid var(--euc); opacity: 0; pointer-events: none; }
.oc-tile:nth-child(2) .b-ic::after, .wyg-item:nth-child(2) .b-ic::after { animation: icpulse 3.2s ease-out .6s infinite; }
.oc-tile:nth-child(3) .b-ic::after, .wyg-item:nth-child(3) .b-ic::after { animation: icpulse 2.4s ease-out 1.2s infinite; }
.light .oc-tile .b-ic::after, .wyg-item .b-ic::after { border-color: var(--green); }
@keyframes icflip { 0%, 60%, 100% { transform: rotateY(0); } 80% { transform: rotateY(180deg); } }
@keyframes icring { 0%, 55%, 100% { transform: rotate(0); } 60% { transform: rotate(-14deg); } 65% { transform: rotate(12deg); } 70% { transform: rotate(-10deg); } 75% { transform: rotate(8deg); } 80% { transform: rotate(0); } }
@keyframes iclisten { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }
@keyframes icspin { to { transform: rotate(360deg); } }
@keyframes icguard { 0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(114,184,152,0)); } 50% { transform: scale(1.08); filter: drop-shadow(0 0 6px rgba(114,184,152,.65)); } }
@keyframes icpulse { 0% { transform: scale(1); opacity: .7; } 70%, 100% { transform: scale(1.6); opacity: 0; } }
/* a little lift on hover */
.oc-tile:hover .b-ic { transform: translateY(-2px); transition: transform .2s ease; }

/* /go: dark "Get the app" band between What you get and You say it */
.go-app { padding-block: 84px; }
.go-app-grid { display: grid; grid-template-columns: auto 1fr; gap: 56px; align-items: center; max-width: 980px; margin: 0 auto; }
.go-app-icon { position: relative; width: 120px; height: 120px; margin: 0 20px; }
.go-app-icon img { position: relative; z-index: 1; border-radius: 30px; box-shadow: 0 0 0 1px rgba(242,244,239,.18), 0 24px 60px rgba(0,0,0,.45), 0 0 80px rgba(232,145,90,.25); animation: gbreath 6s ease-in-out infinite; }
.go-app-icon .ring { position: absolute; inset: 0; border-radius: 30px; border: 1.5px solid rgba(232,145,90,.6); opacity: 0; animation: hubripple2 6s cubic-bezier(.25,.6,.35,1) infinite; }
.go-app-icon .ring:nth-child(3) { animation-delay: 3s; }
.go-app-copy { display: grid; gap: 16px; }
.go-app-copy .sub { color: #C9D3CD; max-width: 36rem; }
.go-stores { display: flex; flex-wrap: wrap; gap: 12px; }
.go-store { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px 10px 14px; border-radius: 14px; background: #0B110E; border: 1px solid #2E3B35; color: var(--white); opacity: .85; }
.go-store svg { width: 24px; height: 24px; fill: var(--white); }
.go-store span { display: grid; line-height: 1.1; font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.05rem; }
.go-store small { font-family: var(--body); font-weight: 500; font-stretch: normal; font-size: 0.66rem; color: var(--muted); }
.go-app .ctas { justify-content: flex-start; }
.wyg { padding-bottom: 72px; }
@media (max-width: 760px) {
  .go-app { padding-block: 64px; }
  .go-app-grid { grid-template-columns: 1fr; gap: 30px; text-align: center; justify-items: center; }
  .go-app-copy { justify-items: center; }
  .go-app-copy .sub { margin-inline: auto; }
  .go-stores, .go-app .ctas { justify-content: center; }
  .go-app-icon { width: 96px; height: 96px; } .go-app-icon img { width: 96px; height: 96px; border-radius: 24px; } .go-app-icon .ring { border-radius: 24px; }
}

/* Outcome icons: charcoal tile with a peach icon, so the cards aren't all green */
.oc-tile .b-ic, .wyg-item .b-ic, .dark .oc-tile .b-ic { background: var(--night); box-shadow: inset 0 0 0 1px rgba(242,244,239,.08), 0 6px 16px rgba(0,0,0,.18); }
.oc-tile .b-ic svg, .wyg-item .b-ic svg, .dark .oc-tile .b-ic svg { stroke: var(--peach); }
.oc-tile .b-ic::after, .wyg-item .b-ic::after, .light .oc-tile .b-ic::after { border-color: var(--peach); }
@keyframes icguard { 0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(232,145,90,0)); } 50% { transform: scale(1.08); filter: drop-shadow(0 0 6px rgba(232,145,90,.6)); } }

/* ===== Find your GO: intro above the quiz, preview, and sections below (start screen only) ===== */
.quiz-band { min-height: 0; padding-block: 56px 72px; }
.qz-pre { max-width: 860px; margin: 0 auto 34px; text-align: center; display: grid; gap: 16px; justify-items: center; }
.qz-hero-h { font-family: var(--display); font-weight: 900; font-stretch: var(--wide); font-size: clamp(2.1rem, 5.6vw, 3.9rem); line-height: 1.03; letter-spacing: -0.03em; color: var(--white); max-width: 16ch; }
.qz-hero-sub { color: #C9D3CD; font-size: clamp(1.02rem, 1.7vw, 1.2rem); line-height: 1.5; max-width: 40rem; }
.qz-get { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; width: 100%; margin-top: 10px; text-align: left; }
.qz-get div { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; row-gap: 2px; align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 14px 16px; }
.qz-get-n { grid-row: 1 / 3; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--peach); color: var(--night); font: 900 0.9rem var(--display); }
.qz-get b { font-family: var(--display); font-weight: 800; font-stretch: 112%; color: var(--white); font-size: 0.98rem; }
.qz-get span:last-child { color: var(--muted); font-size: 0.86rem; }
.qz-ready { font-family: var(--display); font-weight: 900; font-stretch: var(--wide); font-size: clamp(1.5rem, 4vw, 2rem); color: var(--white); }
.qz-intro .qz-start { min-width: 240px; }
body.qz-going .qz-pre, body.qz-going .qz-post { display: none; }
body.qz-going .quiz-band { padding-top: 32px; }
.qz-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 30px; text-align: left; }
.qz-steps article { background: #FBFCF9; border: 1px solid #DCE2DD; border-radius: 20px; padding: 24px; display: grid; gap: 8px; align-content: start; }
.qz-step-n { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--night); color: var(--peach); font: 900 1rem var(--display); }
.qz-steps h3 { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.2rem; color: var(--night); }
.qz-steps p { color: #3E4A44; line-height: 1.45; }
.qz-sample-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; max-width: 1000px; margin: 0 auto; }
.qz-sample-copy { display: grid; gap: 16px; justify-items: start; }
.qz-sample-copy .sub { color: #C9D3CD; }
.qz-sample { position: relative; background: var(--surface); border: 1px solid var(--line); border-radius: 24px; padding: 26px; display: grid; gap: 14px; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.qz-sample small { font-family: var(--mono); font-size: 0.66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.qz-sample ol { margin: 0; padding: 0; list-style: none; counter-reset: w; display: grid; gap: 10px; }
.qz-sample li { counter-increment: w; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; background: var(--night); border-radius: 14px; padding: 12px 14px; }
.qz-sample li::before { content: counter(w); grid-row: 1 / 3; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--peach); color: var(--night); font: 900 0.85rem var(--display); }
.qz-sample li b { color: var(--white); font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 0.98rem; }
.qz-sample li span { color: var(--muted); font-size: 0.85rem; }
.qz-sample-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.qz-sample-row div { background: var(--night); border-radius: 14px; padding: 12px 14px; display: grid; gap: 2px; }
.qz-sample-row b { color: var(--peach); font-family: var(--display); font-weight: 800; font-stretch: 112%; }
.qz-faq { max-width: 760px; margin: 0 auto; display: grid; gap: 24px; }
.qz-faq h2 { text-align: center; color: var(--night); }
@media (max-width: 760px) {
  .quiz-band { padding: 36px 16px 48px; }
  .qz-pre { margin-bottom: 22px; gap: 12px; }
  .qz-get, .qz-steps { grid-template-columns: 1fr; }
  .qz-sample-grid { grid-template-columns: 1fr; gap: 28px; }
  .qz-sample-copy { justify-items: center; text-align: center; }
  .qz-intro .qz-start { width: 100%; }
}
.qz-steps { width: 100%; max-width: 1000px; }
.qz-pre .qz-get { max-width: 860px; }

/* Homepage demo phone: opens on theGO. (charcoal), then flips to the chat */
.whatsgo .phone { perspective: 1400px; }
.whatsgo .screen { position: relative; }
.demo-splash { position: absolute; inset: 0; z-index: 6; background: var(--night); border-radius: inherit; display: grid; place-content: center; justify-items: center; gap: 16px; }
.demo-splash img { border-radius: 26px; box-shadow: 0 0 0 1px rgba(242,244,239,.16), 0 0 70px rgba(232,145,90,.3); animation: gbreath 3s ease-in-out infinite; }
.demo-splash .wm { font-size: 1.9rem; color: var(--white); }
.demo-splash small { font-family: var(--mono); font-size: 0.72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.demo-splash.gone { display: none; }
.screen.flipping { animation: screenflip .8s cubic-bezier(.45,.05,.25,1) both; }
@keyframes screenflip { 0% { transform: rotateY(0); } 50% { transform: rotateY(90deg); } 100% { transform: rotateY(0); } }
.demo-msgs { scrollbar-width: none; }
.demo-msgs::-webkit-scrollbar { display: none; }
@media (max-width: 560px) { .demo-splash img { width: 84px; height: 84px; border-radius: 22px; } .demo-splash .wm { font-size: 1.5rem; } }

/* Homepage "This is the GO." start box: one-tap sign-up instead of a four-field form */
#book .inner { gap: 14px; }
.book-sub { margin-top: -4px; }
.startbox { width: 100%; max-width: 480px; margin-top: 22px; background: var(--surface); border: 1px solid var(--line); border-radius: 26px; padding: 28px; display: grid; gap: 14px; text-align: center; box-shadow: 0 30px 70px rgba(0,0,0,.35); }
.startbox-h { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.25rem; color: var(--white); }
.sso { display: grid; gap: 10px; }
.sso-btn { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 14px 18px; border-radius: 999px; background: var(--white); color: var(--night); font: 700 1rem var(--body); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.sso-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,.25); }
.sso-btn svg { width: 20px; height: 20px; flex: none; }
.sso-or { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 0.85rem; }
.sso-or::before, .sso-or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.sso-mobile { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.sso-mobile input { min-width: 0; padding: 14px 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--night); color: var(--white); font: 500 1rem var(--body); }
.sso-mobile input::placeholder { color: #7C8A82; }
.sso-mobile .done { grid-column: 1 / -1; color: var(--euc); font-size: 0.9rem; }
.startbox .consent { text-align: center; }
.startbox .link { justify-self: center; }
@media (max-width: 480px) {
  .startbox { padding: 22px 18px; border-radius: 22px; }
  .sso-mobile { grid-template-columns: 1fr; }
  .sso-mobile .btn { width: 100%; }
}
/* Demo chat: a small day-and-time divider so the four tabs read as one day with The Go */
.demo-msgs .day-pill { align-self: center; font-family: var(--mono); font-size: 0.64rem; letter-spacing: .08em; text-transform: uppercase; color: #6B7770; background: #E6E9E5; border-radius: 999px; padding: 4px 10px; margin: 4px 0 6px; }

/* /go "Sound familiar?" cards: each shows the moment it goes wrong */
.go-pain { justify-content: stretch; align-content: space-between; gap: 18px; border-color: #2E3B35; transition: transform .2s ease, border-color .2s ease; }
.go-pain:hover { transform: translateY(-3px); border-color: rgba(232,145,90,.5); }
.go-pain h3 { margin-top: auto; }
.gp-chip { position: relative; display: grid; gap: 2px; justify-self: start; background: var(--night); border: 1px solid #2E3B35; border-radius: 14px; padding: 10px 14px 10px 14px; box-shadow: 0 10px 24px rgba(0,0,0,.3); }
.gp-chip b { font-family: var(--body); font-weight: 700; font-size: 0.86rem; color: var(--white); }
.gp-chip small { font-family: var(--mono); font-size: 0.66rem; color: var(--muted); letter-spacing: .02em; }
.gp-call { padding-left: 30px; }
.gp-dot { position: absolute; left: 12px; top: 14px; width: 9px; height: 9px; border-radius: 50%; background: #E5484D; animation: ringpulse 1.6s ease-out infinite; box-shadow: 0 0 0 0 rgba(229,72,77,.5); }
.gp-lost b { color: var(--peach); text-decoration: line-through; text-decoration-color: rgba(232,145,90,.6); }
.go-pain-band { padding-bottom: 72px; }
.go-pain.has-photo { align-content: end; gap: 6px; }

/* Demo: snapping a receipt or forwarding an invoice */
.dc-plus.tap { background: var(--peach); border-color: var(--peach); color: var(--night); transform: scale(1.12); transition: all .2s ease; }
.photo-msg { display: grid; gap: 6px; justify-items: end; padding: 8px !important; background: var(--peach); }
.pm-doc { position: relative; display: grid; gap: 5px; width: 132px; padding: 12px 12px 10px; background: #FFFFFF; border-radius: 10px; box-shadow: 0 6px 14px rgba(0,0,0,.18); transform: rotate(-2deg); text-align: left; }
.pm-inv { transform: rotate(1.5deg); }
.pm-doc b { font: 800 0.55rem var(--mono); letter-spacing: .08em; color: #16201B; }
.pm-doc i { display: block; height: 4px; border-radius: 2px; background: #DCE2DD; }
.pm-doc i.s { width: 60%; }
.pm-doc em { font-style: normal; font: 800 0.8rem var(--display); font-stretch: 112%; color: #B5561F; justify-self: end; }
.pm-cap { font-size: 0.78rem; font-weight: 600; color: var(--night); }

/* Find your GO: titles sit tight on their lines */
.qz-get div { grid-template-rows: auto auto; align-content: center; row-gap: 3px; }
.qz-get b { line-height: 1.2; align-self: end; }
.qz-get span:last-child { line-height: 1.4; align-self: start; }
.qz-get-n { align-self: center; }
.qz-intro { gap: 6px; }
.qz-intro .qz-sub { margin: 0; }
.qz-intro .qz-start { margin-top: 16px; }
.qz-intro .qz-fine { margin-top: 4px; }
/* Splash leaves by fading: the charcoal melts away and the logo sinks into the white chat */
.demo-splash { transition: background-color .9s ease; }
.demo-splash img, .demo-splash .wm, .demo-splash small { transition: transform .9s cubic-bezier(.5,0,.2,1), opacity .7s ease; }
.demo-splash.leaving { background-color: rgba(22,32,27,0); pointer-events: none; }
.demo-splash.leaving img { transform: translateY(46px) scale(.55); opacity: 0; animation: none; }
.demo-splash.leaving .wm { transform: translateY(30px); opacity: 0; transition-delay: .05s; }
.demo-splash.leaving small { transform: translateY(20px); opacity: 0; }
.demo-msgs .day-pill.later { margin-top: 18px; }
/* Find your GO preview cards: titles line up across all three, number sits level with the title */
.qz-get div { align-content: start; align-items: start; padding: 16px 18px; }
.qz-get-n { align-self: start; margin-top: -2px; }
.qz-get b { align-self: start; }
/* Find your GO on phones: the three previews become single tidy rows so "Find my GO" is on the first screen */
@media (max-width: 560px) {
  .quiz-band { padding-top: 28px; }
  .qz-pre { gap: 10px; margin-bottom: 14px; }
  .qz-hero-h { font-size: clamp(1.85rem, 8.4vw, 2.3rem); }
  .qz-hero-sub { font-size: 0.96rem; line-height: 1.45; }
  .qz-get { gap: 8px; margin-top: 4px; }
  .qz-get div { grid-template-rows: auto; padding: 11px 14px; align-items: center; }
  .qz-get-n { grid-row: auto; width: 26px; height: 26px; font-size: 0.8rem; margin-top: 0; align-self: center; }
  .qz-get b { align-self: center; font-size: 0.95rem; }
  .qz-get span:last-child { display: none; }
  .qz-card { padding-top: 20px; }
  .qz-ready { font-size: 1.4rem; }
  .qz-intro .qz-start { margin-top: 12px; }
}
.go-hero-copy .mega { font-size: clamp(2.6rem, 5.6vw, 4.8rem); }

/* Find your GO start card: "What's on your plate?" picks (24 Oct 2026). Each pick pre-ticks question 2. */
.qz-plate { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; width: 100%; max-width: 620px; margin: 14px 0 6px; }
.qz-pl { position: relative; display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 12px 14px; border-radius: 16px; background: var(--night); border: 1px solid var(--line); color: var(--white); font: inherit; font-size: 0.98rem; font-weight: 600; line-height: 1.25; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: border-color .2s, background .2s, transform .2s; }
.qz-pl:hover { border-color: #4B5C53; }
.qz-pl:active { transform: scale(.97); }
.qz-pl-ic { flex: none; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: rgba(232,145,90,.12); color: var(--peach); transition: background .25s, color .25s; }
.qz-pl-ic svg { width: 21px; height: 21px; }
.qz-pl-t { flex: 1; }
.qz-pl .qz-tick { margin-left: auto; }
.qz-pl.on { border-color: var(--peach); background: rgba(232,145,90,.12); }
.qz-pl.on .qz-pl-ic { background: var(--peach); color: var(--night); }
.qz-pl.on .qz-tick { background: var(--peach) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.9' fill='none' stroke='%2316201B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat; border-color: var(--peach); animation: qzplTick .3s cubic-bezier(.3,1.6,.5,1); }
.qz-pl-else { grid-column: 1 / -1; justify-content: center; background: transparent; border-style: dashed; }
.qz-pl-else .qz-pl-t { flex: none; }
.qz-pl-else .qz-pl-ic { width: 30px; height: 30px; border-radius: 10px; background: transparent; color: var(--muted); }
.qz-pl-go { color: var(--peach); font-size: 1.3rem; line-height: 1; }
.qz-anim .qz-pl { animation: qzplIn .5s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(.15s + var(--i) * .07s); }
@keyframes qzplIn { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes qzplTick { from { transform: scale(.5); } to { transform: scale(1); } }
.qz-intro .qz-plate + .qz-start { margin-top: 12px; }
@media (max-width: 640px) {
  .qz-plate { gap: 8px; margin: 10px 0 2px; }
  .qz-pl { flex-direction: column; align-items: flex-start; gap: 8px; min-height: 0; padding: 12px; font-size: 0.92rem; }
  .qz-pl-ic { width: 34px; height: 34px; border-radius: 11px; }
  .qz-pl .qz-tick { position: absolute; top: 10px; right: 10px; width: 20px; height: 20px; }
  .qz-pl-else { flex-direction: row; align-items: center; padding: 10px 12px; }
}

/* How it works: Get the app card under the three steps (24 Oct 2026) */
.hiw-app { margin-top: 30px; padding: 34px 40px; border-radius: 26px; background: var(--surface); border: 1px solid var(--line); text-align: left; width: 100%; max-width: 1180px; }
.hiw-app-h { font-family: var(--display); font-weight: 900; font-stretch: var(--wide); font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.05; color: var(--white); }
.hiw-app .ctas { justify-content: flex-start; }
@media (max-width: 760px) { .hiw-app { padding: 28px 22px; text-align: center; } .hiw-app .ctas { justify-content: center; } }

/* Find your GO: "Imagine getting your time back" (24 Oct 2026) */
.qz-imagine .inner { max-width: 1180px; width: 100%; }
.qi-photo { position: relative; margin: 0; border-radius: 28px; overflow: hidden; aspect-ratio: 16 / 8; background: #0B110E; }
.qi-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transform-origin: 60% 50%; animation: qiDrift 22s ease-in-out infinite alternate; }
.qi-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,20,17,0) 40%, rgba(14,20,17,.55) 70%, rgba(14,20,17,.92) 100%); pointer-events: none; }
.qi-cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 34px 40px; display: grid; gap: 8px; }
.qi-cap .big { color: var(--white); max-width: 16ch; text-shadow: 0 2px 24px rgba(0,0,0,.35); }
@keyframes qiDrift { from { transform: scale(1.02); } to { transform: scale(1.1) translateX(-1.5%); } }
.qi-tiles { margin-top: 22px; }
@media (max-width: 760px) {
  .qi-photo { aspect-ratio: auto; border-radius: 0; overflow: visible; background: none; display: grid; gap: 18px; }
  .qi-photo img { aspect-ratio: 4 / 3; height: auto; border-radius: 22px; object-position: 45% 50%; animation: none; }
  .qi-photo::after { display: none; }
  .qi-cap { position: static; padding: 0 4px; text-align: center; justify-items: center; }
  .qi-cap .big { max-width: none; text-shadow: none; }
  .qi-tiles { margin-top: 18px; gap: 10px; }
  .qi-tiles .oc-tile { grid-template-columns: auto 1fr; column-gap: 14px; row-gap: 2px; padding: 16px; }
  .qi-tiles .oc-tile .b-ic { grid-row: 1 / 3; margin: 0; align-self: start; }
  .qi-tiles .oc-tile b { font-size: 1.05rem; }
}

/* Find your GO: "Let's GO" join card and the result's app step (24 Oct 2026) */
.qi-join { margin-top: 34px; padding: 40px 44px; border-radius: 26px; background: var(--surface); border: 1px solid var(--line); max-width: none; width: 100%; box-shadow: 0 0 0 1px rgba(232,145,90,.08), 0 30px 80px rgba(0,0,0,.25); }
.qi-lets { font-family: var(--display); font-weight: 900; font-stretch: var(--wide); font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: .95; letter-spacing: -0.02em; color: var(--white); }
.qi-join .ctas { justify-content: flex-start; }
.qz-imagine .qi-tiles .oc-tile:nth-child(4) .b-ic svg { animation: qiSway 4.5s ease-in-out infinite; }
@keyframes qiSway { 0%, 100% { transform: rotate(-12deg); } 50% { transform: rotate(14deg); } }
.qz-app { background: var(--night); border: 1px solid var(--line); border-radius: 22px; padding: 24px; display: grid; gap: 16px; text-align: left; }
.qz-app-top { display: flex; align-items: center; gap: 18px; }
.qz-app .go-app-icon { width: 64px; height: 64px; margin: 0 6px 0 0; flex: none; }
.qz-app .go-app-icon img { width: 64px; height: 64px; border-radius: 17px; }
.qz-app .go-app-icon .ring { border-radius: 17px; }
.qz-app .k { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--peach); }
.qz-app h2 { font-family: var(--display); font-weight: 900; font-stretch: var(--wide); font-size: 2.2rem; line-height: 1; color: var(--white); }
.qz-app-steps { list-style: none; counter-reset: qa; margin: 0; padding: 0; display: grid; gap: 10px; }
.qz-app-steps li { counter-increment: qa; display: grid; grid-template-columns: 28px 1fr; gap: 12px; color: var(--muted); line-height: 1.45; }
.qz-app-steps li::before { content: counter(qa); width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--peach); color: var(--night); font: 900 0.8rem var(--display); }
.qz-app-steps b { color: var(--white); }
.qz-app .go-stores { justify-content: flex-start; }
.qz-app .ctas { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; }
@media (max-width: 760px) {
  .qi-join { padding: 30px 22px; margin-top: 26px; }
  .qi-join .ctas { justify-content: center; }
  .qz-app { padding: 20px; }
  .qz-app h2 { font-size: 1.9rem; }
  .qz-app-top { gap: 14px; }
  .qz-app .go-stores { justify-content: flex-start; }
}

/* Find your GO: hours as tap boxes (24 Oct 2026) */
.qz-chips.qz-hrs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 100%; }
.qz-chips.qz-hrs .qz-chip { justify-content: center; border-radius: 16px; min-height: 58px; font-size: 1.02rem; }
.qz-chips.qz-hrs .qz-chip:first-child { color: var(--muted); }
.qz-chips.qz-hrs .qz-chip.on:first-child { color: var(--white); }
@media (max-width: 520px) { .qz-chips.qz-hrs { grid-template-columns: repeat(2, 1fr); } }
/* Homepage: Find your GO beside "More on how it works" */
.how-ctas { justify-content: center; margin-top: 8px; }

/* Try it free: how you get the app (24 Oct 2026) */
.bk-app { width: 100%; display: grid; gap: 16px; justify-items: center; margin-top: 18px; padding-top: 34px; border-top: 1px solid #DCE2DD; }
.bk-app-h { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.25rem; color: var(--night); }
.bk-app .fine { text-align: center; }

/* Try it free: one-tap start box, then the longer form (24 Oct 2026) */
.page-hero .startbox { margin: 8px auto 0; }
.sso-note { font-size: 0.9rem; color: var(--white); background: rgba(232,145,90,.14); border: 1px solid rgba(232,145,90,.45); border-radius: 12px; padding: 10px 14px; text-align: center; }
.bk-more { display: grid; gap: 6px; justify-items: center; text-align: center; margin: 46px auto 4px; padding-top: 34px; border-top: 1px solid var(--line); width: 100%; max-width: 720px; }
.bk-more-h { font-family: var(--display); font-weight: 900; font-stretch: var(--wide); font-size: clamp(1.4rem, 3vw, 1.9rem); color: var(--white); }
.bk-more p { color: var(--muted); }

/* Web app first (PWA), store apps coming soon */
.go-store.is-web { opacity: 1; border-color: var(--peach); }
.go-store.is-web svg { fill: none; stroke: var(--white); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.dl-card.is-web { box-shadow: inset 0 0 0 1px var(--peach); }
.bk-hs { list-style: none; margin: 16px auto 0; padding: 0; display: grid; gap: 6px; max-width: 560px; font-size: 0.9rem; text-align: left; }
.bk-hs li { padding: 10px 14px; border-radius: 12px; background: rgba(11,17,14,.05); }
