:root {
  --canvas: #f4efe5;
  --canvas-soft: #f8f4ec;
  --ink: #17201b;
  --ink-soft: #506057;
  --forest: #17271f;
  --moss: #485b3e;
  --sage: #cbd2b3;
  --coral: #d8755a;
  --coral-soft: #efd0bd;
  --brass: #b28a42;
  --blue: #9bc4cc;
  --gold: #e4be69;
  --lilac: #c9badd;
  --white: #fffdf8;
  --line: rgba(23, 32, 27, 0.13);
  --shadow: 0 32px 90px rgba(46, 47, 34, 0.14), 0 5px 20px rgba(46, 47, 34, 0.08);
  --display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
  --wrap: 1180px;
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 36px;
  --hero-progress: 0;

  /* Hero vertical rhythm. The hero tracks viewport height so the landscape
     always meets the fold — on a short laptop a fixed height pushed all of
     the artwork below it. */
  --hero-h: clamp(980px, calc(880px + 24svh), 1130px);
  --hero-copy-top: clamp(92px, 13svh, 120px);
  --stage-scale: 0.53;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--canvas); }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: var(--sans); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
img, svg { display: block; max-width: 100%; }
::selection { background: rgba(216, 117, 90, 0.28); }
:focus-visible { outline: 3px solid #2070df; outline-offset: 4px; border-radius: 6px; }

.skip-link { position: fixed; z-index: 200; top: 10px; left: 10px; padding: 12px 18px; border-radius: 12px; background: var(--ink); color: var(--white); font-size: .82rem; font-weight: 700; transform: translateY(-160%); transition: transform 160ms ease; }
.skip-link:focus-visible { transform: none; }

.wrap { width: min(calc(100% - 48px), var(--wrap)); margin-inline: auto; }
.narrow { max-width: 900px; }
.centered { text-align: center; }
.section-pad { padding-block: 144px; }
.section-heading { max-width: 850px; }
.section-heading > p:last-child, .features-intro .narrow > p:last-child { color: var(--ink-soft); max-width: 710px; margin: 24px auto 0; font-size: 1.1rem; }
.section-kicker, .eyebrow, .card-kicker { margin: 0 0 18px; font-size: 0.76rem; line-height: 1.2; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2 { font-family: var(--display); font-weight: 400; letter-spacing: -0.045em; text-wrap: balance; }
h1 em, h2 em { font-weight: 400; color: var(--coral); }
h2 { margin-bottom: 0; font-size: clamp(3rem, 6vw, 5.8rem); line-height: 0.97; }

.page-progress { position: fixed; inset: 0 0 auto; height: 2px; z-index: 100; pointer-events: none; }
.page-progress span { display: block; height: 100%; width: 100%; background: var(--coral); transform: scaleX(0); transform-origin: left; }

.site-header { position: fixed; z-index: 90; top: 18px; left: 0; right: 0; pointer-events: none; }
.nav-shell { min-height: 64px; padding: 8px 10px 8px 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid transparent; border-radius: 22px; transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease; pointer-events: auto; }
.site-header.is-scrolled .nav-shell { background: rgba(255, 253, 248, 0.96); border-color: rgba(23, 32, 27, 0.09); box-shadow: 0 12px 38px rgba(32, 38, 31, 0.08); }
.brand { display: inline-flex; align-items: center; gap: 9px; font-family: var(--display); font-size: 1.45rem; font-weight: 700; letter-spacing: -0.03em; }
.brand svg { width: 25px; height: 25px; fill: var(--coral); }
.brand svg circle { fill: var(--canvas); }
.nav-links { display: flex; align-items: center; gap: 28px; font-size: 0.88rem; font-weight: 600; }
.nav-links a { color: rgba(23, 32, 27, 0.72); transition: color 160ms ease; }
.nav-links a:hover { color: var(--ink); }
.nav-end { display: flex; align-items: center; gap: 10px; }
.nav-toggle { display: none; width: 46px; height: 46px; padding: 0; align-items: center; justify-content: center; border: 1px solid rgba(23, 32, 27, 0.14); border-radius: 12px; background: rgba(255, 253, 248, 0.86); cursor: pointer; }
.nav-toggle-bars { display: grid; gap: 5px; }
.nav-toggle-bars i { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--ink); transition: transform 200ms ease, opacity 200ms ease; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars i:first-child { transform: translateY(3.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars i:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.button { min-height: 52px; padding: 0 21px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; border: 0; border-radius: var(--radius-sm); font-size: 0.88rem; font-weight: 700; letter-spacing: -0.01em; transition: transform 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease; }
.button > span { position: static; }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0) scale(0.98); }
.button-small { min-height: 46px; padding-inline: 17px; border-radius: 12px; }
.button-dark { background: var(--ink); color: var(--white); }
.button-dark > span { color: inherit; }
.button-dark:hover { background: #29372f; box-shadow: 0 8px 20px rgba(23, 32, 27, 0.18); }
.button-primary { background: var(--coral); color: var(--white); -webkit-text-fill-color: var(--white); box-shadow: 0 14px 35px rgba(174, 76, 53, 0.2); }
.button-primary > span { color: var(--white); -webkit-text-fill-color: var(--white); }
.button-primary:hover { background: #c6634c; }
.button-light { color: var(--forest); -webkit-text-fill-color: var(--forest); background: var(--white); min-width: 190px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; padding-block: 10px; border-bottom: 1px solid currentColor; font-weight: 700; font-size: 0.9rem; }

.hero { position: relative; min-height: var(--hero-h); height: var(--hero-h); overflow: clip; isolation: isolate; background: radial-gradient(circle at 50% 45%, #fff9e9 0 18%, rgba(255,249,233,0) 50%), linear-gradient(180deg, #efe7d4 0%, #f7e3c5 51%, #aeb788 100%); }
.hero-atmosphere { position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 18% 35%, rgba(255,255,255,.62), transparent 28%), radial-gradient(circle at 80% 24%, rgba(238,170,119,.27), transparent 30%); }
.hero-atmosphere::after { content: ""; position: absolute; inset: 0; opacity: .17; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.hero-copy { position: relative; z-index: 12; isolation: isolate; padding-top: var(--hero-copy-top); text-align: center; }
.hero-copy::before { content: ""; position: absolute; z-index: -1; inset: 92px 12% -8px; background: radial-gradient(ellipse at 50% 42%, rgba(248, 241, 222, .97) 0 39%, rgba(248, 241, 222, .74) 53%, rgba(248, 241, 222, 0) 74%); filter: blur(12px); pointer-events: none; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: rgba(23,32,27,.67); }
.eyebrow-mark { color: var(--coral); }
.hero h1 { margin: 14px 0 24px; font-size: clamp(4rem, 9.2vw, 8.4rem); line-height: .85; }
.hero h1 em { display: inline-block; }
.hero-lede { max-width: 680px; margin: 0 auto; color: rgba(23,32,27,.72); font-size: clamp(1.04rem, 1.5vw, 1.24rem); line-height: 1.55; text-wrap: balance; }
.hero-actions { margin-top: 31px; display: flex; justify-content: center; align-items: center; gap: 27px; }
.hero-scene { position: absolute; z-index: 2; left: 50%; bottom: 0; width: min(2172px, 152vw); height: min(724px, 51vw); min-height: 520px; transform: translateX(-50%); pointer-events: none; }
.hero-layer { position: absolute; inset: auto 0 0; width: 100%; height: auto; max-width: none; will-change: transform, opacity; transform-origin: center bottom; }
.hero-layer-horizon { z-index: 1; opacity: 0; transform: translate3d(0, calc(20% + var(--hero-progress) * 90px), 0) scale(1.02); animation: horizon-arrive 1.2s .65s cubic-bezier(.22,1,.36,1) forwards; }
.hero-layer-midground { z-index: 3; transform: translate3d(0, calc(240px + var(--hero-progress) * 55px), 0) scale(.925); }
.hero-layer-foreground { z-index: 5; transform: translate3d(0, calc(64px + var(--hero-progress) * 22px), 0) scale(1.015); }
.hero-edge-mask { position: absolute; z-index: 8; inset: 0; background: linear-gradient(90deg, #b4bd92 0%, transparent 9%, transparent 91%, #b4bd92 100%); pointer-events: none; }
.hero-proof-scrim { position: absolute; z-index: 9; inset: auto 0 0; height: 200px; background: linear-gradient(180deg, transparent, rgba(31,47,34,.7)); }
@keyframes horizon-arrive { to { opacity: .94; transform: translate3d(0, calc(var(--hero-progress) * 90px), 0) scale(1.02); } }
.hero-proof { position: absolute; z-index: 15; bottom: 22px; left: 0; right: 0; color: var(--white); display: flex; justify-content: center; align-items: end; gap: 32px; }

/* Rating pill sits above the headline so the social proof is always inside
   the first fold, at any viewport height. */
.rating-pill { width: fit-content; margin: 0 auto 22px; padding: 7px 18px 7px 8px; display: flex; align-items: center; gap: 12px; border: 1px solid rgba(23, 32, 27, 0.1); border-radius: 99px; background: rgba(255, 253, 248, 0.82); box-shadow: 0 8px 24px rgba(46, 47, 34, 0.08); }
.rating-pill p { margin: 0; font-size: .84rem; color: var(--ink-soft); }
.rating-pill strong { color: var(--ink); }
.rating-pill .avatar-stack span { width: 30px; height: 30px; border-color: var(--white); font-size: .56rem; }
.pill-star { color: var(--brass); font-size: .95rem; }
.rating-lockup { display: flex; align-items: center; gap: 14px; }
.rating-lockup strong, .rating-lockup small { display: block; }
.rating-lockup strong { font-family: var(--display); font-size: 1.36rem; }
.rating-lockup small { color: rgba(255,255,255,.72); font-size: .75rem; }
.avatar-stack { display: flex; padding-left: 10px; }
.avatar-stack span { width: 35px; height: 35px; margin-left: -10px; border: 2px solid currentColor; border-radius: 50%; display: grid; place-items: center; background: #56684f; color: white; font-size: .62rem; font-weight: 700; }
.avatar-stack span:nth-child(2) { background: #bb765c; }.avatar-stack span:nth-child(3) { background: #617a87; }.avatar-stack span:nth-child(4) { background: #a88f56; }
.press-lockup { display: flex; align-items: center; justify-content: center; gap: 22px; flex-wrap: wrap; }
.press-lockup small { color: rgba(255,255,255,.6); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.press-lockup span { font-family: var(--display); font-weight: 700; font-size: .8rem; letter-spacing: .03em; }

[data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity 780ms cubic-bezier(.22,1,.36,1), transform 780ms cubic-bezier(.22,1,.36,1); }
[data-reveal].is-visible { opacity: 1; transform: none; }
[data-reveal="hero"] { transition-delay: 120ms; }

.promise { padding-block: 108px; border-bottom: 1px solid rgba(23,32,27,.08); background: var(--canvas); }
.promise .narrow { max-width: 1060px; }
.promise h2 { max-width: 1020px; margin-inline: auto; font-size: clamp(2.8rem, 4.55vw, 4.7rem); line-height: 1.01; }
.promise h2 em { color: var(--coral); }
.founder-note { margin-top: 30px; display: inline-flex; align-items: center; gap: 12px; color: var(--ink-soft); font-size: .84rem; }
.founder-seal { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--canvas); font-family: var(--display); font-weight: 700; }

.workspace-section { background: #efeadd; padding-top: 104px; overflow: clip; }
.workspace-section .section-heading { max-width: 760px; }
.workspace-section .section-heading h2 { font-size: clamp(3rem, 4.4vw, 4.75rem); line-height: 1; }
.workspace-section .section-heading > p:last-child { max-width: 650px; margin-top: 20px; font-size: 1.02rem; }
.dashboard-shell { min-height: 720px; margin-top: 52px; display: grid; grid-template-columns: 210px 1fr; overflow: hidden; border: 1px solid rgba(23,32,27,.11); border-radius: 28px; background: #fbfaf6; box-shadow: var(--shadow); text-align: left; }
.dash-sidebar { padding: 24px 14px 16px; display: flex; flex-direction: column; border-right: 1px solid var(--line); background: #f3f1eb; }
.dash-logo { padding: 2px 8px 24px; font-family: var(--display); font-size: 1.3rem; font-weight: 700; }
.mini-star { margin-right: 7px; color: var(--coral); }
.dash-label { margin: 6px 10px 8px; color: #8a928d; font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.dash-nav { width: 100%; min-height: 42px; padding: 0 12px; display: flex; gap: 12px; align-items: center; border: 0; border-radius: 10px; background: transparent; font-size: .78rem; text-align: left; }
.dash-nav span { color: #8a928d; }.dash-nav.active { background: #dfdfd6; font-weight: 700; }
.dash-spacer { flex: 1; }
.dash-meter { margin: 12px 4px; padding: 14px; border-radius: 13px; background: white; box-shadow: 0 6px 20px rgba(23,32,27,.05); font-size: .67rem; }
.dash-meter span, .dash-meter strong { display: block; }.dash-meter strong { margin: 7px 0; font-family: var(--display); font-size: 1.7rem; }.dash-meter i { height: 4px; display: block; overflow: hidden; border-radius: 9px; background: #e9e5dd; }.dash-meter b { width: 72%; height: 100%; display: block; background: var(--coral); }
.dash-user { padding: 10px 8px 2px; display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--line); }.user-orb { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: white; font-size: .65rem; }.dash-user strong,.dash-user small { display: block; }.dash-user strong { font-size: .73rem; }.dash-user small { color: #8a928d; font-size: .62rem; }
.dash-main { padding: 38px; background: #fbfaf6; }
.dash-topline { display: flex; align-items: start; justify-content: space-between; }.dash-topline small { color: #8a928d; font-size: .72rem; }.dash-topline h3 { margin: 2px 0 26px; font-family: var(--display); font-size: 2rem; }.dash-bell { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: white; }
.dash-grid { display: grid; grid-template-columns: 1.4fr .75fr; grid-template-rows: 290px 284px; gap: 16px; }
.dash-grid article { overflow: hidden; border: 1px solid rgba(23,32,27,.08); border-radius: 21px; }
.dash-focus { padding: 32px; display: grid; grid-template-columns: 1.1fr .8fr; align-items: center; background: linear-gradient(135deg,#e4c7b4,#f1dfc9); }.dash-focus h4 { max-width: 370px; margin: 8px 0 13px; font-family: var(--display); font-size: 2rem; line-height: 1.05; }.dash-focus p:not(.card-kicker) { max-width: 360px; color: #5d534c; font-size: .76rem; }.dash-action { display: inline-block; padding: 9px 0; border-bottom: 1px solid; font-size: .72rem; font-weight: 700; }
.focus-orbit { position: relative; width: 165px; height: 165px; margin: auto; border: 1px solid rgba(92,64,53,.25); border-radius: 50%; }.focus-orbit::before,.focus-orbit::after { content:""; position:absolute; inset:22px; border:1px solid rgba(92,64,53,.2); border-radius:50%; }.focus-orbit::after{inset:46px}.focus-orbit span { position: absolute; width: 14px; height: 14px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 7px rgba(216,117,90,.15); }.focus-orbit span:nth-child(1){top:10px;left:75px}.focus-orbit span:nth-child(2){right:4px;bottom:52px;background:var(--brass)}.focus-orbit span:nth-child(3){left:17px;bottom:25px;background:var(--forest)}.focus-orbit i{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:2.3rem;font-style:normal}
.dash-pulse { padding: 25px; background: var(--forest); color: white; }.dash-pulse strong,.dash-pulse span { display:block; }.dash-pulse strong { margin-top: 30px; font-family:var(--display);font-size:3.2rem;line-height:1}.dash-pulse span{color:rgba(255,255,255,.55);font-size:.7rem}.spark-bars{height:60px;margin-top:35px;display:flex;align-items:end;gap:8px}.spark-bars i{flex:1;border-radius:6px 6px 2px 2px;background:#8ca46d}.spark-bars i:nth-child(1){height:30%}.spark-bars i:nth-child(2){height:52%}.spark-bars i:nth-child(3){height:42%}.spark-bars i:nth-child(4){height:72%}.spark-bars i:nth-child(5){height:64%}.spark-bars i:nth-child(6){height:88%;background:#e4be69}.spark-bars i:nth-child(7){height:100%;background:#d8755a}
.dash-route { padding: 27px 29px; background:white }.route-head{display:flex;justify-content:space-between}.route-head span{font-size:.7rem;color:#798078}.route-track{position:relative;height:42px;margin:20px 0}.route-track b{position:absolute;left:6px;right:6px;top:20px;height:2px;background:#e4e1d9}.route-track::after{content:"";position:absolute;left:6px;top:20px;width:55%;height:2px;background:var(--coral)}.route-track i{position:absolute;top:14px;width:14px;height:14px;border:3px solid white;border-radius:50%;background:#d9d8d0;box-shadow:0 0 0 1px #c8c6bd}.route-track .r1{left:0;background:var(--coral)}.route-track .r2{left:31%;background:var(--coral)}.route-track .r3{left:55%;background:var(--coral);box-shadow:0 0 0 7px rgba(216,117,90,.15)}.route-track .r4{right:0}.dash-route ol{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0;list-style:none;font-size:.67rem;color:#999}.dash-route li.current{color:var(--ink);font-weight:700}.dash-route li.done{color:#6b756d}
.dash-notes { padding: 27px; background:#eef0e5 }.dash-notes blockquote{margin:34px 0 18px;font-family:var(--display);font-size:1.45rem;line-height:1.16}.dash-notes small{color:#7b837c;font-size:.65rem}

.features-intro { background: var(--canvas-soft); }

/* Feature grid — six product stages in a compact 3x2 grid. Each stage keeps
   its natural authoring size (620x560) and is scaled into the card panel, so
   the artwork never has to be re-tuned per breakpoint. */
.features { background: var(--canvas-soft); }
.features .section-heading h2 { font-size: clamp(2.5rem, 3.9vw, 3.7rem); line-height: 1.03; }
.features .section-heading { max-width: 780px; }
.feature-grid { margin-top: 70px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 26px; }
.feature-card { display: flex; flex-direction: column; }
.feature-visual { position: relative; height: 300px; border-radius: var(--radius-md); overflow: hidden; }
.feature-visual .world-stage { position: absolute; top: 34px; left: 50%; width: 620px; height: 560px; min-height: 0; margin-left: -310px; border-radius: 20px; box-shadow: 0 20px 46px rgba(46, 47, 34, 0.18); transform: scale(var(--stage-scale)) ; transform-origin: top center; }
.feature-card h3 { margin: 26px 0 0; font-family: var(--sans); font-size: 1.16rem; font-weight: 700; letter-spacing: -0.02em; }
.feature-card .feature-head { margin: 6px 0 0; font-family: var(--display); font-size: 1.34rem; line-height: 1.2; letter-spacing: -0.03em; }
.feature-card > p:last-child { margin: 12px 0 0; color: var(--ink-soft); font-size: .92rem; line-height: 1.55; }

/* Panel tint frames a lighter stage surface, so each mockup reads as a
   product card floating on colour rather than a full-bleed wash. */
.tint-coral { background: #eec5ae; } .tint-coral .world-stage { background: #f7e4d8; }
.tint-sage  { background: #cfd9bd; } .tint-sage  .world-stage { background: #e7eddc; }
.tint-blue  { background: #bcd8da; } .tint-blue  .world-stage { background: #dfeced; }
.tint-gold  { background: #ebd08a; } .tint-gold  .world-stage { background: #f6e8c2; }
.tint-lilac { background: #d7c9e6; } .tint-lilac .world-stage { background: #ece5f3; }
.tint-dark  { background: #12201a; } .tint-dark  .world-stage { background: #1d3128; color: #f8f3e9; }


.world-inner.reverse { grid-template-columns: minmax(560px,1.22fr) minmax(0,.78fr); }



.world-copy > p:not(.section-kicker) { max-width: 480px; color: rgba(23,32,27,.68); font-size: 1.05rem; }
.world-stage { position: relative; overflow: hidden; }
.world-coral { background: #f1d4c2; }.world-sage{background:#d7dfc8}.world-blue{background:#c9e0e1}.world-gold{background:#efd89a}.world-lilac{background:#dfd4eb}.world-dark{background:#17271f;color:#f8f3e9}

.decision-stage{background:radial-gradient(circle at 50% 50%,#f9eadc 0 14%,transparent 15%),linear-gradient(145deg,#c66e55,#edb38e);display:grid;place-items:center}.decision-card{position:absolute;width:220px;padding:18px;border:1px solid rgba(255,255,255,.35);border-radius:18px;background:rgba(255,253,248,.82);box-shadow:0 20px 50px rgba(91,48,36,.15);backdrop-filter:blur(12px)}.decision-card small,.decision-card strong,.decision-card span{display:block}.decision-card small{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:#8e6b5f}.decision-card strong{margin:8px 0;font-family:var(--display);font-size:1.25rem;line-height:1.1}.decision-card span{font-size:.65rem;color:#7d7069}.card-a{top:48px;left:38px}.card-b{right:35px;bottom:48px}.decision-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(255,255,255,.65);stroke-width:2}.decision-lines circle{fill:#fff;stroke:rgba(116,68,49,.45);stroke-width:5}.decision-center{position:relative;z-index:2;width:250px;padding:24px;border-radius:22px;background:var(--forest);color:white;text-align:center}.decision-center span,.decision-center small{display:block;color:rgba(255,255,255,.56);font-size:.63rem}.decision-center strong{display:block;margin:10px 0;font-family:var(--display);font-size:1.45rem;line-height:1.1}
.atlas-stage{background:linear-gradient(160deg,#6b775d,#26372d)}.atlas-map{position:absolute;inset:0 30% 0 0;background:radial-gradient(circle at 35% 46%,rgba(255,255,255,.2),transparent 5%),radial-gradient(circle at 74% 32%,rgba(255,255,255,.18),transparent 5%)}.contour{position:absolute;border:1px solid rgba(223,234,203,.3);border-radius:48% 52% 42% 58%}.c1{inset:15% 8% 12% 12%;transform:rotate(13deg)}.c2{inset:25% 18% 22% 22%;transform:rotate(-18deg)}.c3{inset:38% 30% 35% 34%;transform:rotate(34deg)}.pin{position:absolute;width:52px;height:52px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.55);border-radius:50%;background:#f2e3c9;color:#293a2f;font-size:.68rem;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.18)}.p1{left:22%;top:30%}.p2{left:60%;top:19%}.p3{left:47%;bottom:20%}.atlas-list{position:absolute;right:22px;top:22px;bottom:22px;width:42%;padding:25px;border-radius:22px;background:rgba(249,247,239,.95);box-shadow:0 20px 50px rgba(0,0,0,.18)}.atlas-list>div{display:flex;align-items:center;gap:12px;padding:17px 0;border-top:1px solid var(--line)}.atlas-list p{margin:0;flex:1}.atlas-list strong,.atlas-list small{display:block}.atlas-list strong{font-size:.76rem}.atlas-list small{color:#838881;font-size:.6rem}.match-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:white;font-size:.6rem;font-weight:700}.match-icon.rust{background:#a66e50}.match-icon.blue{background:#577783}.match-icon.gold{background:#a28b51}
.constellation-stage{background:radial-gradient(circle at 45% 40%,#edf6f3,#8ebac1);color:#17333a}.constellation-stage svg{position:absolute;inset:0;width:100%;height:100%}.constellation-lines{fill:none;stroke:rgba(24,66,73,.32);stroke-width:2}.constellation-nodes{fill:#fff4db;stroke:#285863;stroke-width:3}.pattern-score{position:absolute;left:50%;top:50%;width:160px;height:160px;display:grid;place-content:center;text-align:center;transform:translate(-50%,-50%);border-radius:50%;background:rgba(255,253,248,.9);box-shadow:0 18px 45px rgba(38,79,84,.14)}.pattern-score small,.pattern-score span{font-size:.63rem}.pattern-score strong{font-family:var(--display);font-size:3.6rem;line-height:1}.pattern-tag{position:absolute;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.85);font-size:.67rem;box-shadow:0 10px 20px rgba(34,71,76,.1)}.pattern-tag b{margin-left:15px}.tag-one{left:25px;top:30%}.tag-two{right:30px;top:20%}.tag-three{right:45px;bottom:22%}
.roadmap-stage{padding:34px;display:grid;grid-template-columns:.55fr 1fr;gap:18px;background:linear-gradient(145deg,#c69a45,#f3dd9c)}.roadmap-date{align-self:stretch;padding:28px;display:flex;flex-direction:column;justify-content:end;border-radius:24px;background:#273326;color:white}.roadmap-date small{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.roadmap-date strong{margin:8px 0;font-family:var(--display);font-size:6rem;line-height:.85}.roadmap-date span{font-size:.67rem;color:rgba(255,255,255,.6)}.roadmap-column{display:grid;gap:12px}.roadmap-column article{padding:24px;border-radius:20px;background:rgba(255,253,248,.86);box-shadow:0 10px 28px rgba(91,71,31,.1)}.roadmap-column small,.roadmap-column strong,.roadmap-column span{display:block}.roadmap-column small{color:#897b58;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.roadmap-column strong{margin:11px 0;font-family:var(--display);font-size:1.28rem;line-height:1.1}.roadmap-column span{color:#7e7769;font-size:.63rem}.roadmap-column article.now{transform:translateX(-20px);background:var(--forest);color:white}.roadmap-column article.now span,.roadmap-column article.now small{color:rgba(255,255,255,.6)}.roadmap-column article.done{opacity:.7}
.dialogue-stage{padding:42px;background:radial-gradient(circle at 20% 20%,#f4eafa,transparent 34%),linear-gradient(150deg,#947baa,#d5c7e6)}.dialogue-header{display:flex;align-items:center;gap:12px;margin-bottom:60px}.thinking-orb{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:white}.dialogue-header strong,.dialogue-header small{display:block}.dialogue-header small{color:#665a70;font-size:.65rem}.bubble{max-width:78%;padding:18px 21px;border-radius:20px;font-size:.85rem}.bubble.system{background:rgba(255,253,248,.88);border-bottom-left-radius:5px}.bubble.user{margin:25px 0 0 auto;background:var(--forest);color:white;border-bottom-right-radius:5px}.choice-row{margin:16px 0 0;display:flex;gap:8px;flex-wrap:wrap}.choice-row button{padding:9px 13px;border:1px solid rgba(44,32,50,.2);border-radius:99px;background:rgba(255,255,255,.35);font-size:.67rem;cursor:pointer}.choice-row button:hover{background:white}.typing{margin-top:18px;width:60px;padding:12px;display:flex;gap:4px;border-radius:15px;background:rgba(255,255,255,.55)}.typing i{width:6px;height:6px;border-radius:50%;background:#665a70;animation:bounce 1s infinite alternate}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{to{transform:translateY(-4px);opacity:.55}}
.choice-stage{background:radial-gradient(circle at 50% 50%,#52684d,#1c2f24);box-shadow:0 32px 90px rgba(0,0,0,.28)}.choice-stage::before{content:"";position:absolute;inset:11%;border:1px solid rgba(255,255,255,.12);border-radius:50%}.choice-orbit{position:absolute;width:170px;height:170px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff;font-family:var(--display);font-size:1.2rem}.orbit-a{left:7%;top:14%}.orbit-b{right:8%;top:20%}.orbit-c{left:25%;bottom:6%}.choice-core{position:absolute;left:50%;top:50%;width:230px;height:230px;display:grid;place-content:center;padding:30px;text-align:center;transform:translate(-50%,-50%);border-radius:50%;background:#f1dfbd;color:#1d2c24;box-shadow:0 0 0 18px rgba(255,255,255,.08)}.choice-core small,.choice-core span{font-size:.62rem}.choice-core strong{margin:10px 0;font-family:var(--display);font-size:1.8rem;line-height:1}

.compare { background:#efeadd; }
.compare-table { margin-top:70px; overflow:hidden; border:1px solid var(--line); border-radius:26px; background:#f8f5ee; box-shadow:0 22px 60px rgba(33,40,34,.07); }
.compare-row { display:grid; grid-template-columns:1.45fr repeat(3,.75fr); min-height:72px; border-top:1px solid var(--line); }
.compare-row:first-child{border-top:0}.compare-row>div{padding:20px;display:grid;place-items:center;text-align:center;font-size:.78rem}.compare-row>div:first-child{place-items:center start;text-align:left;font-weight:600}.compare-head{background:#e5e1d8;font-weight:700}.compare-row .aster-col{background:rgba(216,117,90,.09);border-inline:1px solid rgba(216,117,90,.18);font-weight:700}.compare-row .yes{color:#a6523e;font-size:1rem}

.stories{background:#f8f3e9;overflow:hidden}.story-heading{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:80px}.story-heading h2{font-size:clamp(3.7rem,7vw,7.4rem)}.story-heading>p{color:var(--ink-soft);max-width:440px;margin-bottom:10px}/* Review wall - a dense masonry of short reviews rather than a four-card
   rail, so the section carries the weight of real volume. */

/* Reviews read as social posts, not pull-quotes: avatar, name with a verified
   tick, star row, plain body copy, and a date/country footer. */
.story-wall-shell{position:relative}
.story-fade{position:absolute;z-index:2;inset:auto 0 0;height:210px;background:linear-gradient(180deg,rgba(248,243,233,0),#f8f3e9 76%);pointer-events:none}
.story-head{display:flex;align-items:center;gap:11px}
.story-head>div{min-width:0}
.story-name{margin:0;display:flex;align-items:center;gap:5px;font-size:.92rem;font-weight:700;letter-spacing:-.01em}
.verified{width:15px;height:15px;flex:none;fill:#3b9ae1}
.story-stars{margin:2px 0 0;color:#e0a828;font-size:.76rem;letter-spacing:.1em}
.story-body{margin:14px 0 0;font-size:.95rem;line-height:1.5;color:var(--ink)}
.story-meta{margin:16px 0 0;display:flex;align-items:center;gap:7px;color:#8d958f;font-size:.73rem}
.story-count{position:absolute;z-index:3;left:50%;bottom:-14px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:8px 10px 8px 12px;border:1px solid rgba(23,32,27,.09);border-radius:99px;background:var(--white);box-shadow:0 14px 40px rgba(32,38,31,.14);white-space:nowrap}
.story-count strong{font-size:.86rem}
.story-count .avatar-stack span{width:30px;height:30px;border-color:var(--white);font-size:.55rem}
.story-count a{display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:99px;background:rgba(23,32,27,.05);font-size:.8rem;font-weight:700}
.story-count a:hover{background:rgba(23,32,27,.1)}
.story-wall{width:min(calc(100% - 48px),var(--wrap));margin:72px auto 0;columns:3;column-gap:20px;padding-bottom:96px}
.story-wall .story-card{width:auto;min-height:0;margin:0 0 20px;display:flex;break-inside:avoid}
.story-card{width:min(410px,82vw);padding:20px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 10px 30px rgba(33,40,34,.05)}

.story-avatar{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:50%;font-size:.66rem;font-weight:700}.story-avatar.coral{background:#cb765d}.story-avatar.sage{background:#a5b190}.story-avatar.blue{background:#93b9c5}.story-avatar.sage{background:#6d8058}.story-avatar.gold{background:#b9944b}.story-avatar.gold{background:#d8b45e}.story-person strong{font-size:.76rem}.story-dark 

.faq{background:#e4e4d6}.faq-layout{display:grid;grid-template-columns:.65fr 1fr;gap:110px;align-items:start}.faq-intro{position:sticky;top:120px}.faq-intro h2{font-size:clamp(3.4rem,5.2vw,5.8rem)}.faq-intro>p:last-child{max-width:380px;margin-top:28px;color:var(--ink-soft)}.faq-list{border-top:1px solid rgba(23,32,27,.25)}.faq details{border-bottom:1px solid rgba(23,32,27,.25)}.faq summary{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px;cursor:pointer;list-style:none;font-family:var(--display);font-size:1.35rem}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-family:var(--sans);font-weight:300;transition:transform 200ms ease}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{max-width:650px;padding:0 54px 28px 0;margin:0;color:#55625b;font-size:.91rem}

.closing{position:relative;min-height:860px;padding:150px 0 90px;overflow:hidden;background:radial-gradient(circle at 50% 32%,#334a3b,#122119 62%);color:#fff;isolation:isolate}.closing::before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(circle,rgba(255,255,255,.45) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(180deg,#000,transparent 70%);opacity:.24}.closing-copy{position:relative;z-index:4;max-width:900px}.closing-mark{width:54px;height:54px;margin:0 auto 30px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#e7bd70}.closing h2{font-size:clamp(4rem,8vw,8rem)}.closing h2 em{color:#e7bd70}.closing-copy>p:not(.section-kicker){max-width:620px;margin:28px auto;color:rgba(255,255,255,.65);font-size:1.08rem}.closing-copy>.button{margin-top:7px}.closing-copy>small{display:block;margin-top:20px;color:rgba(255,255,255,.45);font-size:.68rem}.closing-horizon{position:absolute;z-index:1;left:50%;bottom:-150px;width:1800px;max-width:none;transform:translateX(-50%);opacity:.24;filter:saturate(.55) sepia(.25)}.closing-stars i{position:absolute;width:5px;height:5px;border-radius:50%;background:#f1d49e;box-shadow:0 0 16px #f1d49e}.closing-stars i:nth-child(1){left:12%;top:22%}.closing-stars i:nth-child(2){left:25%;top:42%}.closing-stars i:nth-child(3){right:18%;top:30%}.closing-stars i:nth-child(4){right:31%;top:18%}.closing-stars i:nth-child(5){left:43%;top:13%}.closing-stars i:nth-child(6){right:8%;top:53%}
.footer{padding:70px 0 90px;background:#0f1a14;color:rgba(255,255,255,.72)}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,.55fr);gap:60px}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;align-items:start;gap:10px}.footer strong{margin-bottom:8px;color:white;font-size:.76rem}.footer a{font-size:.74rem}.footer a:hover{color:white}.footer-brand .brand{color:white}.footer-brand p{margin:18px 0 45px;font-family:var(--display);font-size:1.3rem}.footer-brand small{font-size:.65rem;color:rgba(255,255,255,.4)}

@media (max-width: 1000px) {
  .nav-toggle { display: flex; }
  .nav-shell { position: relative; }
  .nav-links { position: absolute; top: calc(100% + 8px); left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 8px; border: 1px solid rgba(23,32,27,.1); border-radius: 18px; background: rgba(255,253,248,.98); box-shadow: 0 18px 50px rgba(32,38,31,.14); font-size: 1rem; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity 180ms ease, transform 180ms ease, visibility 180ms; }
  .nav-shell.nav-open .nav-links { opacity: 1; visibility: visible; transform: none; }
  .nav-links a { padding: 13px 14px; border-radius: 12px; color: var(--ink); }
  .nav-links a:hover, .nav-links a:focus-visible { background: rgba(23,32,27,.05); }
  .site-header .nav-shell.nav-open { background: rgba(255,253,248,.96); border-color: rgba(23,32,27,.09); box-shadow: 0 12px 38px rgba(32,38,31,.08); }
  .hero{--hero-h:clamp(900px,calc(760px + 25svh),1040px);--hero-copy-top:clamp(88px,12svh,112px)}.hero-scene{bottom:0;width:175vw;height:58vw;min-height:470px}.hero-layer-midground{transform:translate3d(0,calc(174px + var(--hero-progress)*44px),0) scale(.93)}.hero-layer-foreground{transform:translate3d(0,calc(54px + var(--hero-progress)*18px),0) scale(1.015)}.hero-proof-scrim{bottom:0}.hero-proof{align-items:center}.press-lockup span:nth-of-type(n+3){display:none}
  .dashboard-shell{grid-template-columns:1fr;min-height:0}.dash-sidebar{display:none}.dash-main{padding:26px}.dash-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.dash-focus{grid-column:1/-1}.dash-grid article{min-height:260px}.dash-notes{min-height:260px}
  
  .story-wall{columns:2}.story-heading{grid-template-columns:1fr;gap:28px}.story-heading>p{margin:0}.faq-layout{grid-template-columns:1fr;gap:55px}.faq-intro{position:static;max-width:700px}.footer-grid{grid-template-columns:1.4fr repeat(3,.6fr);gap:30px}
}

@media (max-width: 680px) {
  .wrap{width:min(calc(100% - 30px),var(--wrap))}.section-pad{padding-block:92px}.site-header{top:10px}.nav-shell{min-height:56px;padding:6px 7px 6px 14px;border-radius:18px}.brand{font-size:1.25rem}.brand svg{width:22px;height:22px}.button-small{min-height:42px;padding-inline:13px;font-size:.76rem}
  .hero{--hero-h:clamp(760px,calc(650px + 27svh),960px);--hero-copy-top:clamp(88px,14svh,115px);background:radial-gradient(circle at 50% 38%,#fff8e8 0 15%,transparent 50%),linear-gradient(180deg,#efe7d4,#f3ddbc 56%,#aeb788)}.hero h1{font-size:clamp(3.75rem,18vw,5.4rem);line-height:.88}.hero-lede{font-size:.95rem;max-width:340px}.hero-actions{flex-direction:column;gap:8px;margin-top:25px}.hero-scene{bottom:0;width:260vw;height:87vw;min-height:440px}.hero-layer-horizon{transform:translate3d(0,4%,0) scale(1.04)}.hero-layer-midground{transform:translate3d(0,calc(162px + var(--hero-progress)*38px),0) scale(.93)}.hero-layer-foreground{transform:translate3d(0,calc(54px + var(--hero-progress)*15px),0) scale(1.015)}.hero-edge-mask{background:linear-gradient(90deg,#aeb788 0,transparent 12%,transparent 88%,#aeb788 100%)}.hero-proof-scrim{bottom:0}.hero-proof{bottom:18px}.rating-pill{margin-bottom:20px;padding-right:14px}.rating-pill p{font-size:.75rem}.press-lockup{display:none}
  h2{font-size:clamp(2.8rem,13vw,4.5rem)}.promise{padding-block:82px}.promise h2{font-size:clamp(2.65rem,11vw,4rem)}.founder-note{max-width:310px;text-align:left}
  .workspace-section{padding-top:70px}.workspace-section .section-heading h2{font-size:clamp(2.8rem,11vw,4rem)}.dashboard-shell{margin-top:42px;border-radius:20px}.dash-main{padding:18px}.dash-topline h3{font-size:1.55rem}.dash-grid{grid-template-columns:1fr}.dash-focus{grid-template-columns:1fr;padding:24px;min-height:440px}.dash-focus h4{font-size:1.65rem}.focus-orbit{margin-top:18px}.dash-grid article{min-height:250px}.dash-route ol{grid-template-columns:1fr 1fr}.dash-notes{min-height:240px}
  .decision-card{width:170px;padding:14px}.card-a{left:14px;top:20px}.card-b{right:14px;bottom:20px}.decision-center{width:210px}.atlas-map{inset:0 0 46%}.atlas-list{left:16px;right:16px;top:auto;bottom:16px;width:auto;height:49%;padding:18px}.atlas-list>div{padding:12px 0}.pattern-tag{font-size:.56rem}.tag-one{left:10px}.tag-two{right:10px}.tag-three{right:12px}.roadmap-stage{padding:18px;grid-template-columns:1fr}.roadmap-date{min-height:185px}.roadmap-date strong{font-size:4.7rem}.roadmap-column article.now{transform:none}.dialogue-stage{padding:25px}.bubble{max-width:92%}.choice-row{display:grid}.choice-stage{min-height:560px}.choice-orbit{width:130px;height:130px}.choice-core{width:190px;height:190px}.orbit-a{left:2%}.orbit-b{right:2%}.orbit-c{left:16%}
  .compare{overflow:hidden}.compare-table{overflow-x:auto;border-radius:18px}.compare-row{min-width:760px}.compare-row>div{padding:16px 12px}
  .story-wall{columns:1;margin-top:48px;padding-bottom:84px}.story-count{gap:8px;padding-left:10px}.story-count strong{font-size:.72rem;white-space:normal;max-width:150px}.story-card{padding:18px}.faq summary{min-height:72px;font-size:1.15rem}.faq details p{padding-right:22px}.closing{min-height:760px;padding-top:120px}.closing h2{font-size:clamp(3.7rem,17vw,5.8rem)}.closing-horizon{width:1150px;bottom:-70px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand p{margin-bottom:22px}
}

/* Short phone screens: compress the hero so the primary action always lands
   inside the first fold. */
@media (max-width: 680px) and (max-height: 660px) {
  .hero { --hero-copy-top: 72px; }
  .hero h1 { font-size: clamp(2.9rem, 13.5vw, 3.9rem); margin-bottom: 16px; }
  .hero-lede { font-size: .87rem; }
  .hero-actions { margin-top: 18px; }
  .rating-pill { margin-bottom: 14px; padding: 5px 13px 5px 6px; }
  .rating-pill .avatar-stack span { width: 25px; height: 25px; }
  .rating-pill p { font-size: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  [data-reveal] { opacity:1; transform:none; }
  .hero-layer-horizon { opacity:.94; transform:translate3d(0,20%,0) scale(1.02); }
  .hero-layer-midground { transform:translate3d(0,240px,0) scale(.925); }
  .hero-layer-foreground { transform:translate3d(0,64px,0) scale(1.015); }
  .typing i { transform:none; }
}
