@font-face{font-family:Geist;src:url('assets/geist.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/instrument.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/instrument-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Mono;src:url('assets/geist-mono.woff2') format('woff2');font-display:swap}

:root{
  --paper:#f7f6f2;--paper-2:#efeee8;--card:#fdfdfb;
  --ink:#14171f;--ink-2:#2b303b;--muted:#5b616d;--faint:#8a8f99;
  --line:#e2e0d8;--line-2:#d5d3ca;
  --accent:#2453d6;--accent-hover:#1b44b8;--accent-soft:#e9eefb;--accent-ring:#9db4f2;
  --night:#10141d;--night-2:#171e2c;--night-line:#ffffff17;--night-text:#a9b3c5;--night-accent:#93acf5;
  --serif:Instrument,Georgia,serif;--sans:Geist,system-ui,Arial,sans-serif;--mono:Mono,ui-monospace,monospace;
  --r-sm:8px;--r:14px;--r-lg:20px;
  --shadow:0 1px 2px #1a24400a,0 12px 32px -8px #1a244024;
  --shadow-lg:0 2px 4px #1a24400d,0 32px 64px -16px #1a244040;
  --ease:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);
  --z-header:30;--z-wa:35;--z-skip:40
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.modal-open{overflow:hidden}
button,input,select{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer;padding:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;height:auto}
svg{display:block}
h1,h2,h3,h4,p{margin:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}
h2{font-size:clamp(40px,5vw,68px)}
h3{font-size:20px;line-height:1.3;letter-spacing:-.02em;font-weight:600;text-wrap:balance}
p{color:var(--muted);text-wrap:pretty}
em{font-style:italic;color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
::selection{background:#d4defa;color:#122e7a}
.icon-defs{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.icon.flip{transform:scaleX(-1)}
.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.section{padding:128px 0 136px}
.eyebrow{font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--accent);display:flex;align-items:center;gap:10px;margin-bottom:22px}
.eyebrow:before{content:'';width:18px;height:1px;background:currentColor;opacity:.6}
.eyebrow .icon{width:16px;height:16px}
.eyebrow:has(.icon):before,.eyebrow:has(.status-dot):before{display:none}
.lede{font-size:18px;line-height:1.65;max-width:34em}
.micro{font-size:13px;line-height:1.6;color:var(--faint)}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #2453d61f;animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{50%{box-shadow:0 0 0 7px #2453d600}}
.skip{position:absolute;top:-100px;left:12px;z-index:var(--z-skip);background:var(--card);padding:12px 16px;border-radius:var(--r-sm);box-shadow:var(--shadow)}
.skip:focus{top:12px}

/* Header */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:#f7f6f2d9;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.site-header.scrolled{border-color:var(--line);background:#f7f6f2f0}
.nav{display:flex;align-items:center;gap:32px;height:76px}
.brand{font-family:var(--serif);font-size:38px;font-style:italic;letter-spacing:-.04em;line-height:1;display:inline-flex;align-items:flex-start;white-space:nowrap}
.brand-dot{color:var(--accent)}
.brand sup{font-family:var(--mono);font-size:10px;color:var(--accent);font-style:normal;letter-spacing:.02em;margin:4px 0 0 5px}
.nav-links{display:flex;gap:4px;margin-left:auto;font-size:14px}
.nav-links a{color:var(--muted);padding:8px 12px;border-radius:999px;transition:color .2s,background .2s}
.nav-links a:hover{color:var(--ink);background:#14171f0a}
.nav-links a[aria-current=true]{color:var(--ink);background:#14171f0d}
.menu-button{display:none}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;min-height:52px;border-radius:999px;font-size:15px;font-weight:500;line-height:1.2;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .16s var(--ease),box-shadow .2s;white-space:nowrap}
.button .icon{width:18px;height:18px;transition:transform .25s var(--ease)}
.button:hover .icon:last-child{transform:translateX(3px)}
.button:active{transform:scale(.97)}
.primary{background:var(--accent);color:#fff;box-shadow:0 1px 0 #ffffff33 inset,0 6px 16px -6px #2453d680}
.primary:hover{background:var(--accent-hover)}
.secondary{border-color:var(--line-2);background:var(--card)}
.secondary:hover{background:var(--accent-soft)}
.ghost{color:var(--ink);padding-left:8px}
.ghost:hover{background:#14171f0a}
.button.small{min-height:42px;padding:0 18px;font-size:14px}
.button.small .icon{width:16px;height:16px}
.text-link{font-size:15px;font-weight:500;color:var(--accent);display:inline-flex;align-items:center;gap:8px;line-height:1.4}
.text-link .icon{width:17px;height:17px;transition:transform .25s var(--ease)}
.text-link:hover .icon{transform:translateX(4px)}
.play-circle{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--card);border:1px solid var(--line-2);color:var(--accent)}
.play-circle .icon{width:13px;height:13px;fill:currentColor;stroke:none;margin-left:2px}

/* Product windows */
.product-window{border:1px solid #d9dce2;border-radius:var(--r);background:#fff;overflow:hidden;box-shadow:var(--shadow)}
.window-bar{height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eceef1;padding:0 14px;color:#6b7280;font-size:12px}
.window-dots{display:flex;gap:5px}
.window-dots i{width:8px;height:8px;border-radius:50%;background:#dcdfe5}
.window-live{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:999px}
.screen-button{display:block;width:100%;cursor:zoom-in;text-align:left;position:relative}
.screen-button img{width:100%;transition:transform .6s var(--ease)}
.screen-button:hover img{transform:scale(1.015)}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero:before{content:'';position:absolute;inset:-20% -10% auto 40%;height:900px;background:radial-gradient(closest-side,#dfe6fa 0,#ecf0fa66 55%,transparent 100%);pointer-events:none}
.hero:after{content:'';position:absolute;inset:0;background-image:linear-gradient(#14171f08 1px,transparent 1px),linear-gradient(90deg,#14171f08 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 60% 70% at 72% 40%,#000 0,transparent 70%);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center;padding:88px 0 72px;min-height:min(760px,calc(100dvh - 76px))}
.hero h1{font-size:clamp(56px,6.6vw,96px);letter-spacing:-.035em;line-height:.98}
.hero-lede{font-size:18px;line-height:1.65;max-width:30em;margin-top:28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:36px}
.hero-visual{position:relative;padding-bottom:56px;margin-right:-24px}
.hero-window{box-shadow:var(--shadow-lg);transform:perspective(2000px) rotateY(-7deg) rotateX(2deg);transform-origin:left center}
.hero-secondary{position:absolute;width:46%;right:16px;bottom:8px;transform:rotate(2deg);box-shadow:var(--shadow-lg);z-index:2}
.mini-window-label{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:500;color:var(--ink-2);border-bottom:1px solid #eceef1}
.mini-window-label .icon{width:15px;height:15px;color:var(--accent)}
.hero-secondary .screen-button{height:150px;overflow:hidden}
.hero-secondary .screen-button img{width:125%;max-width:none;transform:translate(-18%,-13%)}
.hero-secondary .screen-button:hover img{transform:translate(-18%,-13%) scale(1.015)}
.hero-caption{position:absolute;left:4px;bottom:0;font-size:12px;color:var(--faint);max-width:220px;line-height:1.5}

/* Problems */
.problems{background:var(--paper-2);border-top:1px solid var(--line)}
.problems-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}
.problems-intro{position:sticky;top:120px}
.problems-intro .lede{margin-top:26px}
.outcomes{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.outcome{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:32px 36px 34px 28px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .25s,box-shadow .25s,transform .35s var(--ease)}
.outcome:hover{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-2px)}
.outcome-num{font-family:var(--serif);font-size:44px;line-height:1;color:var(--accent);opacity:.9}
.outcome-pain{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--faint);text-decoration:line-through;text-decoration-color:#c9502f99;text-decoration-thickness:1.5px;margin-bottom:12px}
.outcome-pain .icon{width:16px;height:16px}
.outcome h3{font-size:24px;line-height:1.25}
.outcome p:not(.outcome-pain){font-size:16px;margin-top:10px;max-width:34em}
.outcome .text-link{margin-top:18px}

/* Section heading */
.section-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:end;margin-bottom:56px}
.section-heading>p{font-size:18px;line-height:1.65;max-width:26em;justify-self:end}

/* Tour */
.tour-section{background:var(--paper)}
.tour-tabs{display:flex;gap:4px;padding:5px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;margin-bottom:40px}
.tour-tabs::-webkit-scrollbar{display:none}
.tour-tabs button{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:10px 16px;font-size:14px;color:var(--muted);border-radius:999px;transition:color .2s,background .2s,box-shadow .2s}
.tour-tabs button:hover{color:var(--ink)}
.tour-tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px #14171f14,0 2px 8px -2px #14171f1a}
.tour-tabs button[aria-selected=true] .icon{color:var(--accent)}
.tour-tabs .icon{width:16px;height:16px}
.tour-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px;align-items:start}
.tour-layout:focus-visible{outline-offset:8px}
.tour-description{padding-top:8px}
.tour-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--faint)}
.tour-description h3{font-family:var(--serif);font-size:40px;font-weight:400;line-height:1.05;letter-spacing:-.02em;margin:16px 0}
.tour-description>p{font-size:16px;line-height:1.7}
.checklist{list-style:none;padding:0;margin:24px 0 28px;display:grid;gap:10px}
.checklist li{display:flex;gap:10px;align-items:baseline;font-size:15px;color:var(--ink-2)}
.checklist li:before{content:'';width:14px;height:8px;border-left:1.6px solid var(--accent);border-bottom:1.6px solid var(--accent);transform:rotate(-45deg) translateY(-3px);flex-shrink:0}
.tour-counter{display:flex;align-items:center;justify-content:space-between;margin-top:36px;padding-top:20px;border-top:1px solid var(--line)}
.tour-counter>span{font-family:var(--mono);font-size:13px;color:var(--faint)}
.tour-counter>div{display:flex;gap:8px}
.tour-counter button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:50%;background:var(--card);transition:background .2s,color .2s,border-color .2s,transform .16s var(--ease)}
.tour-counter button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.tour-counter button:active{transform:scale(.94)}
.tour-counter .icon{width:17px;height:17px}
.tour-stage{min-width:0}
.tour-stage .product-window{box-shadow:var(--shadow-lg)}
.tour-stage .screen-button{aspect-ratio:874/496;background:#f4f5f2}
.tour-stage .screen-button img{height:100%;object-fit:contain}
#tour-image{transition:opacity .25s,transform .6s var(--ease)}
#tour-image.swapping{opacity:0}
.expand-button{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;color:var(--muted)}
.expand-button:hover{background:#14171f0d;color:var(--ink)}
.expand-button .icon{width:15px;height:15px}
.screen-selectors{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;min-height:38px}
.screen-selectors button{padding:8px 14px;border-radius:999px;font-size:13px;color:var(--muted);border:1px solid var(--line);background:transparent;transition:all .2s}
.screen-selectors button:hover{border-color:var(--line-2);color:var(--ink)}
.screen-selectors button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.tour-stage>.micro{margin-top:14px}

/* Geraldo (dark) */
.ai-section{background:var(--night);color:#fff;position:relative;overflow:hidden}
.ai-section:before{content:'';position:absolute;top:-200px;right:-200px;width:700px;height:700px;background:radial-gradient(closest-side,#2453d633,transparent);pointer-events:none}
.ai-section .eyebrow,.demo-section .eyebrow{color:var(--night-accent)}
.ai-section em,.demo-section em{color:var(--night-accent)}
.ai-section .section-heading>p,.ai-section .lede{color:var(--night-text)}
.geraldo-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}
.geraldo-benefits{display:grid;gap:32px}
.geraldo-item{display:grid;grid-template-columns:44px 1fr;gap:8px;padding-bottom:30px;border-bottom:1px solid var(--night-line)}
.geraldo-item>span{font-family:var(--mono);font-size:13px;color:var(--night-accent);padding-top:4px}
.geraldo-item h3{font-size:22px;font-weight:500;color:#f3f5fa}
.geraldo-item p{font-size:16px;line-height:1.7;color:var(--night-text);margin-top:10px}
.geraldo-actions{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:center;padding-left:52px}
.geraldo-proof{color:#c3d1fb}
.geraldo-conversation{position:sticky;top:110px;background:#f5f6f2;border-radius:var(--r-lg);overflow:hidden;color:#22302a;box-shadow:0 40px 80px -24px #000a,0 0 0 1px #ffffff1a}
.geraldo-chat-head{display:flex;align-items:center;gap:12px;padding:16px 22px;background:#fff;border-bottom:1px solid #e3e7e1}
.geraldo-chat-head>div{flex:1}
.geraldo-chat-head strong{display:block;font-size:17px;font-weight:600}
.geraldo-chat-head>div>span{display:block;font-size:13px;color:#77837a}
.online{font-size:12px;color:#3f7a57;display:flex;align-items:center;gap:6px}
.online:before{content:'';width:7px;height:7px;border-radius:50%;background:#46a36b}
.geraldo-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--accent);color:#fff;font-family:var(--serif);font-size:26px;font-style:italic}
.chat-body{padding:20px 22px 24px;background-image:radial-gradient(#22302a0d 1px,transparent 1px);background-size:16px 16px}
.example-label{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:#87918a;text-align:center;margin-bottom:16px}
.chat-bubble{font-size:15px;line-height:1.55;padding:11px 15px;border-radius:16px;max-width:86%;margin-bottom:10px;width:fit-content}
.chat-bubble.customer{background:#fff;border:1px solid #e3e7e1;border-bottom-left-radius:4px}
.chat-bubble.assistant{background:#dcefdc;margin-left:auto;border-bottom-right-radius:4px}
.customer-context{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px dashed #c3cdc5;border-radius:10px;font-size:13px;color:#76817a;margin:4px 0 14px;background:#ffffffa6}
.customer-context strong{display:block;font-size:13px;color:#3b4a41;font-weight:600}
.customer-context .icon{width:18px;height:18px;color:var(--accent)}
.margin-example{background:#fff;border:1px solid #dfe4dd;border-radius:12px;margin-top:16px}
.margin-example summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:500;color:var(--accent);cursor:pointer}
.margin-example summary::-webkit-details-marker{display:none}
.margin-example summary>span{font-size:22px;font-weight:300;transition:transform .25s var(--ease)}
.margin-example[open] summary>span{transform:rotate(45deg)}
.margin-example-content{padding:0 16px 16px}
.margin-example-content>.example-label{text-align:left;display:block;margin-bottom:8px}
.margin-example-content>div{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:#66716a;padding:7px 0}
.margin-example-content strong{color:#22302a;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.margin-total{border-top:1px solid #e3e7e1;margin-top:4px;padding-top:12px!important}
.margin-total strong{font-size:18px;color:var(--accent)}
.margin-total small{font-size:13px}
.margin-example-content>p{font-size:12px;line-height:1.6;color:#8a948d;margin-top:8px}

.followup{position:relative;margin-top:112px;padding-top:56px;border-top:1px solid var(--night-line)}
.followup-heading h3{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.6vw,48px);line-height:1.05;letter-spacing:-.02em;color:#f3f5fa}
.followup-timeline{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.5fr);gap:16px;counter-reset:step}
.followup-timeline li{position:relative;padding:24px;background:var(--night-2);border:1px solid var(--night-line);border-radius:var(--r)}
.followup-timeline li:not(:last-child):after{content:'';position:absolute;top:36px;right:-17px;width:18px;height:1px;background:#ffffff33}
.followup-timeline .when{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--night-accent)}
.followup-timeline strong{display:block;font-size:18px;font-weight:500;color:#f3f5fa;margin:14px 0 8px}
.followup-timeline p{font-size:15px;line-height:1.6;color:var(--night-text)}
.followup-client{background:linear-gradient(160deg,#1f2a44,var(--night-2) 70%)!important;border-color:#93acf540!important}
.cadence-control{display:flex;gap:6px;margin:4px 0 14px}
.cadence-button{padding:7px 13px;border-radius:999px;font-size:13px;color:var(--night-text);border:1px solid #ffffff26;transition:all .2s}
.cadence-button:hover{color:#fff;border-color:#ffffff4d}
.cadence-button.active{background:#fff;border-color:#fff;color:var(--night)}
.followup-message{padding:12px 14px;background:#ffffff0d;border-left:2px solid var(--night-accent);border-radius:6px;color:#dbe3f3!important}
.followup-note{font-size:13px;color:#7c879b;margin-top:20px}


/* Integrations */
.integrations-section{background:var(--paper-2);border-block:1px solid var(--line)}
.integration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.integration-card{display:flex;flex-direction:column;padding:28px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .25s,transform .35s var(--ease),box-shadow .25s}
.integration-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-2)}
.integration-card>.icon{width:44px;height:44px;padding:11px;border-radius:12px;background:var(--accent-soft);color:var(--accent);margin-bottom:28px}
.integration-card h3{font-size:20px}
.integration-card p{font-size:15px;line-height:1.65;margin-top:12px}
.integration-label{margin-top:auto;padding-top:20px;font-size:13px;color:var(--faint)}
.integration-card p+.integration-label{border-top:0}
.mobile-card{background:var(--night);border-color:var(--night);color:#fff}
.mobile-card h3{color:#fff}
.mobile-card p{color:var(--night-text)}
.mobile-card>.icon{background:#ffffff14;color:var(--night-accent)}
.mobile-card .integration-label{color:#8994a8}
.integration-bottom{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:32px}
.integration-bottom p{font-size:15px;max-width:40em}
.integration-bottom .text-link{white-space:nowrap}

/* Calculator */
.calculator-section{background:var(--paper)}
.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:96px;align-items:center}
.calculator-layout h2{font-size:clamp(38px,4.4vw,60px)}
.calculator-layout .lede{margin-top:24px}
.calc-note{margin-top:28px;max-width:30em}
.calculator{padding:36px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.calculator-inputs{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;align-items:end}
.calculator label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;color:var(--ink-2)}
.label-hint{font-size:12px;font-weight:400;color:var(--faint);margin-top:-8px}
.input-wrap{position:relative;display:block}
.calculator input[type=number]{width:100%;height:56px;padding:0 16px;font-size:22px;font-variant-numeric:tabular-nums;border:1px solid var(--line-2);border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s}
.calculator input[type=number]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #2453d61f}
.calculator input[type=number]:invalid{border-color:#c9502f}
.input-wrap input{padding-right:84px!important}
.input-unit{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:400;color:var(--faint);pointer-events:none}
.calculator .range-label{flex-direction:row;justify-content:space-between;flex-wrap:wrap;margin-top:28px}
.range-label output{color:var(--accent);font-weight:600}
.calculator input[type=range]{width:100%;margin:16px 0 8px;accent-color:var(--accent);cursor:pointer;height:24px}
.range-marks{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--faint)}
.calculator-result{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.calculator-result>span{font-size:14px;color:var(--muted)}
.calculator-result>div{display:flex;align-items:baseline;gap:8px;margin-top:4px}
.calculator-result strong{font-family:var(--serif);font-weight:400;font-size:clamp(52px,6vw,72px);line-height:1.05;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.calculator-result>div>span{font-size:16px;color:var(--faint)}
.calculator-result p{font-family:var(--mono);font-size:13px;color:var(--faint);margin-top:6px}
.calc-cta{margin-top:28px;width:100%}

/* FAQ */
.faq-section{background:var(--paper-2);border-top:1px solid var(--line)}
.faq-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}
.faq-intro{position:sticky;top:120px}
.faq-intro .lede{margin:24px 0 28px}
.faqs{display:grid;gap:10px}
.faqs details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s,box-shadow .2s}
.faqs details[open]{border-color:var(--line-2);box-shadow:var(--shadow)}
.faqs summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;font-size:17px;font-weight:500;line-height:1.4;color:var(--ink)}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary:hover{color:var(--accent)}
.faqs summary>span{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--paper-2);font-size:20px;font-weight:300;color:var(--muted);transition:transform .3s var(--ease),background .2s,color .2s}
.faqs details[open] summary>span{transform:rotate(45deg);background:var(--accent);color:#fff}
.faqs details>p{padding:0 72px 22px 24px;font-size:16px;line-height:1.7}

/* Demo */
.demo-section{background:var(--night);color:#fff;position:relative;overflow:hidden}
.demo-section:before{content:'';position:absolute;bottom:-300px;left:-200px;width:800px;height:800px;background:radial-gradient(closest-side,#2453d62e,transparent);pointer-events:none}
.demo-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:96px;align-items:center}
.demo-section h2{font-size:clamp(42px,5vw,68px)}
.demo-section .lede{color:var(--night-text);margin-top:24px}
.demo-steps{list-style:none;padding:0;margin:40px 0 0;display:grid;gap:20px}
.demo-steps li{display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:start}
.demo-steps li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #ffffff33;font-size:13px;color:var(--night-accent);font-family:var(--mono)}
.demo-steps strong{display:block;font-size:16px;font-weight:500;color:#f3f5fa}
.demo-steps li>div{font-size:15px;line-height:1.6;color:var(--night-text)}
.lead-card{background:var(--card);color:var(--ink);border-radius:var(--r-lg);padding:36px;box-shadow:0 40px 80px -24px #000c}
.lead-heading{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.lead-heading h3{font-size:20px}
.lead-heading p{font-size:14px;margin-top:2px}
.lead-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);flex-shrink:0}
form{display:grid;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;color:var(--ink-2)}
form input,form select{width:100%;min-width:0;height:50px;padding:0 14px;font-size:16px;font-weight:400;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:10px;transition:border-color .2s,box-shadow .2s}
form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%235b616d' stroke-width='1.6'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
form input::placeholder{color:#a3a7ae}
form input:focus,form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #2453d61f}
form input:user-invalid,form select:user-invalid{border-color:#c9502f}
.form-submit{width:100%;margin-top:6px;min-height:54px}
.form-notice{font-size:13px;color:var(--faint);text-align:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-submit:disabled{opacity:.7;cursor:progress}
#lead-form[hidden]{display:none}
#lead-sent{border-top:0;margin-top:0;padding-top:0}
#lead-sent:focus{outline:none}
.lead-result{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}
.lead-result h4{font-size:17px;font-weight:600}
.lead-result>p{font-size:15px;margin-top:8px}
.lead-result a{color:var(--accent);overflow-wrap:anywhere}
.lead-result .button{margin-top:16px;min-height:44px;font-size:14px}
#copy-status{margin-top:8px}

/* Footer */
footer{background:var(--paper);border-top:1px solid var(--line)}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding:56px 0 40px}
.footer-top p{font-size:14px;margin-top:12px;max-width:16em}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:14px;color:var(--muted);padding-top:12px}
.footer-links a:hover,.footer-links button:hover{color:var(--accent)}
.footer-links button{color:var(--muted);font-size:14px}
.back-top{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;color:var(--muted);transition:background .2s,color .2s}
.back-top .icon{transform:rotate(-90deg);width:18px;height:18px}
.back-top:hover{background:var(--ink);color:#fff}
.footer-contact{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px;padding-bottom:32px;font-style:normal;font-size:14px;color:var(--muted)}
.footer-contact strong{color:var(--ink);font-weight:500}
.footer-contact a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding:20px 0 28px;border-top:1px solid var(--line);font-size:13px;color:var(--faint)}

/* Dialogs */
dialog{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 40px 120px #0006;background:var(--paper);color:var(--ink);padding:24px;max-height:94dvh}
dialog::backdrop{background:#0d1118c7;backdrop-filter:blur(6px)}
dialog[open]{animation:dialog-in .3s var(--ease)}
@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.98)}}
.lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.lightbox-top .eyebrow{margin-bottom:4px}
.lightbox-top h2{font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:-.02em}
.dialog-close{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid var(--line-2);border-radius:50%;background:#fff;font-size:24px;line-height:1;color:var(--muted)}
.dialog-close:hover{background:var(--ink);color:#fff}
#lightbox{width:fit-content;max-width:calc(100vw - 24px);overflow:auto;margin:auto}
#lightbox .lightbox-top{max-width:901px}
.image-view-controls{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.image-view-controls button{padding:8px 14px;border-radius:999px;font-size:13px;border:1px solid var(--line-2);background:#fff}
.image-view-controls button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
#lightbox .lightbox-image-wrap{max-width:901px;max-height:65dvh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
#lightbox .lightbox-image-wrap img{width:auto;max-width:100%;margin-inline:auto}
#lightbox.native-size .lightbox-image-wrap img{max-width:none}
#lightbox>.micro{margin-top:14px;max-width:901px}
#privacy-dialog{width:min(580px,92vw);padding:30px}
#privacy-dialog p{font-size:15px;line-height:1.75;margin-top:16px}
#privacy-dialog a{color:var(--accent)}


/* Responsive */
@media(max-width:1180px){
  .wrap{width:calc(100% - 64px)}
  .nav{gap:20px}
  .nav-links a{padding:8px 9px}
  .hero-grid{gap:40px}
  .hero-visual{margin-right:-32px}
  .integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .followup-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
  .followup-timeline .followup-client{grid-column:1/-1}
  .followup-timeline li:nth-child(3):after{display:none}
  .geraldo-grid,.calculator-layout,.demo-layout,.problems-layout,.faq-layout,.journey-layout{gap:56px}
}
@media(max-width:980px){
  .section{padding:96px 0 104px}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:2px;padding:12px 20px 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 20px 40px -20px #14171f33;font-size:17px}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px}
  .nav-cta{margin-left:auto}
  .menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;border-radius:50%}
  .menu-button span{width:20px;height:1.6px;background:var(--ink);transition:transform .25s var(--ease)}
  .menu-button[aria-expanded=true] span:first-child{transform:translateY(3.8px) rotate(45deg)}
  .menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.8px) rotate(-45deg)}
  .hero-grid{grid-template-columns:1fr;min-height:0;padding:64px 0 48px}
  .hero-visual{margin-right:0;max-width:760px}
  .hero-window{transform:none}
  .problems-layout,.faq-layout,.geraldo-grid,.calculator-layout,.demo-layout,.tour-layout{grid-template-columns:minmax(0,1fr)}
  .problems-intro,.faq-intro,.geraldo-conversation{position:static}
  .section-heading{grid-template-columns:1fr;gap:20px}
  .section-heading>p{justify-self:start}
  .tour-description{max-width:640px}
  .tour-description>p{min-height:0}
}
@media(max-width:720px){
  html{scroll-padding-top:72px}
  body{font-size:16px}
  .wrap{width:calc(100% - 32px)}
  .section{padding:80px 0 88px}
  .nav{height:64px;gap:8px}
  .brand{font-size:32px}
  .nav-cta{min-height:38px;padding:0 14px;font-size:13px}
  .nav-cta .icon{display:none}
  .hero-grid{padding:48px 0 40px;gap:40px}
  .hero h1{font-size:clamp(48px,14vw,64px)}
  .hero-lede,.lede,.section-heading>p{font-size:17px}
  .hero-actions .button{flex:1 1 auto}
  .hero-visual{padding-bottom:64px}
  .hero-secondary{width:58%;right:-4px;bottom:28px}
  .hero-secondary .screen-button{height:96px}
  .hero-caption{max-width:150px;font-size:11px}
  .window-bar{height:32px;font-size:11px}
  .outcome{grid-template-columns:1fr;padding:24px}
  .outcome-num{font-size:34px;margin-bottom:8px}
  .outcome h3{font-size:21px}
  .outcome-pain{font-size:13px}
  .tour-tabs{border-radius:14px;width:100%;margin-left:0}
  .tour-tabs button{padding:9px 13px;font-size:13px}
  .tour-description h3{font-size:32px}
  .tour-counter{margin-top:24px}
  .geraldo-item{grid-template-columns:32px 1fr}
  .geraldo-item h3{font-size:19px}
  .geraldo-actions{padding-left:0}
  .chat-body,.geraldo-chat-head{padding-inline:16px}
  .chat-bubble{font-size:14px;max-width:92%}
  .followup{margin-top:80px;padding-top:44px}
  .followup-timeline{grid-template-columns:1fr;gap:12px}
  .followup-timeline li:after{display:none}
  .integration-grid{grid-template-columns:1fr}
  .integration-bottom{flex-direction:column;align-items:flex-start;gap:16px}
  .calculator{padding:22px}
  .calculator-inputs{grid-template-columns:1fr}
  .label-hint{margin-top:-6px}
  .faqs summary{font-size:16px;padding:18px}
  .faqs details>p{padding:0 18px 20px;font-size:15px}
  .lead-card{padding:24px}
  .form-row{grid-template-columns:1fr}
  .footer-top{flex-wrap:wrap;position:relative}
  .back-top{position:absolute;top:56px;right:0}
  .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;width:100%}
  .footer-links button{text-align:left}
  .footer-bottom{flex-direction:column;gap:6px}
  dialog{padding:16px}
  #lightbox{width:calc(100vw - 24px)}
  .lightbox-top h2{font-size:17px}
}
@media(max-width:380px){
  .nav-cta{font-size:12px;padding:0 11px}
  .brand sup{display:none}
}
/* ---------- Motion ---------- */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:calc(var(--z-header) + 1);pointer-events:none}
.scroll-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}

/* Words rise out of a mask */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .08em .12em 0;margin:0 -.08em -.12em 0}
.js .split .wi{display:inline-block;transform:translateY(110%) rotate(4deg);transform-origin:left bottom;transition:transform 1s var(--ease) calc(var(--d) * 45ms)}
.js .split.in .wi{transform:none}
.hero h1.split .wi{transition-duration:1.1s;transition-delay:calc(var(--d) * 70ms + 150ms)}

/* Hero load sequence (CSS animation: stays smooth while the page is still loading) */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rise-big{from{opacity:0;transform:translateY(80px) scale(.94)}to{opacity:1;transform:none}}
.js .intro{opacity:0;animation:rise .9s var(--ease) calc(var(--i) * 90ms + 120ms) forwards}
.js .intro-visual{opacity:0;animation:rise-big 1.4s var(--ease) .45s forwards}
.hero-window,.hero-secondary{will-change:transform}

/* Generic reveal */
.js .reveal{opacity:0;transform:translateY(40px) scale(.985);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .wipe{clip-path:inset(12% 6% 12% 6% round 24px);transform:scale(.96);transition:clip-path 1.2s var(--ease-in-out),transform 1.2s var(--ease)}
.js .wipe.in{clip-path:inset(0 0 0 0 round 14px);transform:none}

/* Marquee */
.marquee{position:relative;z-index:1;overflow:hidden;border-block:1px solid var(--line);padding:22px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;align-items:center;gap:36px;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{font-family:var(--serif);font-size:clamp(34px,4.4vw,60px);line-height:1;letter-spacing:-.02em;white-space:nowrap;color:var(--ink)}
.marquee i{font-style:normal;font-size:20px;color:var(--accent)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Expanding dark sections */
.expand{background:transparent!important;isolation:isolate}
.expand-bg{position:absolute;inset:0;z-index:-1;background:var(--night);clip-path:inset(0 0 round 0)}
.demo-section.expand{background:var(--paper-2)!important}

/* Journey (sticky scrollytelling) */
.journey{background:var(--paper)}
.journey-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}
.journey-steps{list-style:none;margin:0;padding:0}
.journey-step{min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding:40px 0;opacity:.28;transform:translateX(-6px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.journey-step:first-child{min-height:48vh;justify-content:flex-start;padding-top:12px}
.journey-step:last-child{min-height:56vh}
.journey-step.active{opacity:1;transform:none}
.journey-num{font-family:var(--serif);font-size:64px;line-height:1;color:var(--accent)}
.journey-tag{display:inline-flex;align-items:center;gap:8px;margin:18px 0 10px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.journey-tag .icon{width:16px;height:16px;color:var(--accent)}
.journey-step h3{font-size:clamp(24px,2.3vw,32px);line-height:1.2}
.journey-step>p:not(.journey-tag){font-size:17px;line-height:1.65;margin-top:12px;max-width:30em}
.journey-inline{display:none}
.journey-stage{position:sticky;top:max(96px,calc(50vh - 260px));display:grid;grid-template-columns:1fr 3px;gap:24px;align-items:stretch}
.journey-frame{position:relative;border:1px solid #d9dce2;border-radius:var(--r-lg);background:#fff;overflow:hidden;box-shadow:var(--shadow-lg)}
.journey-count{font-family:var(--mono);font-size:12px;color:var(--faint)}
.journey-count b{color:var(--accent);font-weight:500}
.journey-screens{position:relative;aspect-ratio:874/496;background:#f4f5f2;overflow:hidden}
.journey-screens img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(1.06) translateY(14px);transition:opacity .55s var(--ease),transform .9s var(--ease)}
.journey-screens img.active{opacity:1;transform:none}
.journey-rail{background:var(--line);border-radius:3px;overflow:hidden}
.journey-rail span{display:block;height:100%;background:var(--accent);transform:scaleY(0);transform-origin:top}

/* Stats band */
.stats{padding:0 0 16px;background:var(--paper)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stat{position:relative;padding:32px 28px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);overflow:hidden}
.stat strong{display:flex;align-items:baseline;gap:6px;font-family:var(--serif);font-weight:400;font-size:clamp(64px,7vw,104px);line-height:.9;letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}
.stat strong small{font-family:var(--sans);font-size:16px;letter-spacing:0;color:var(--accent);font-weight:500}
.stat p{font-size:15px;margin-top:18px;max-width:14em}
.stat:first-child{background:var(--accent);border-color:var(--accent)}
.stat:first-child strong,.stat:first-child p{color:#fff}

/* Cursor spotlight (pointer devices only, set from JS) */
.spot{position:relative}
.spot:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),#2453d614,transparent 60%)}
.spot:hover:after{opacity:1}
.mobile-card.spot:after,.stat:first-child.spot:after{background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),#ffffff1f,transparent 60%)}
.hero-actions .primary,.calc-cta,.form-submit,.nav-cta{transition:background .2s,transform .35s var(--ease),box-shadow .2s}

/* Footer wordmark */
.footer-word{overflow:hidden;padding-top:24px}
.footer-word span{display:block;width:max-content;font-family:var(--serif);font-style:italic;font-size:clamp(96px,22vw,340px);line-height:.8;letter-spacing:-.04em;color:#e3e1d8;transform:translateY(60%);padding:0 0 .04em;margin-left:-.03em}
.footer-word em{color:var(--accent)}

@media(max-width:980px){
  .journey-layout{grid-template-columns:minmax(0,1fr)}
  .journey-stage{display:none}
  .journey-step,.journey-step:first-child,.journey-step:last-child{min-height:0;opacity:1;transform:none;padding:0 0 56px}
  .journey-inline{display:block;margin-top:24px;border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--shadow)}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .journey-num{font-size:48px}
  .stats{padding-bottom:8px}
  .stat{padding:24px 20px}
  .stat p{font-size:14px}
  .marquee{padding:16px 0}
  .marquee-track{gap:24px;animation-duration:28s}
}
@media(prefers-reduced-motion:reduce){
  .js .split .wi,.js .intro,.js .intro-visual,.js .wipe{transform:none;opacity:1;clip-path:none;animation:none}
  .marquee-track{animation:none}
  .footer-word span{transform:none}
  .journey-screens img{transform:none}
  .js .reveal{opacity:1;transform:none}
}
/* Floating WhatsApp */
.wa{position:fixed;right:24px;bottom:24px;z-index:var(--z-wa);display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.wa-button{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 8px 24px -6px #128c4a99,0 2px 6px #0000001f;transition:transform .2s var(--ease),box-shadow .2s;animation:wa-in .5s var(--ease) 1.2s both}
.wa-button svg{width:30px;height:30px;fill:currentColor}
.wa-button:before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:wa-ring 2.8s var(--ease) 2s infinite;pointer-events:none}
.wa-button{position:relative}
.wa-button:active{transform:scale(.94)}
.wa-button:focus-visible{outline-color:#25d366}
@media(hover:hover) and (pointer:fine){.wa-button:hover{transform:scale(1.06);box-shadow:0 12px 30px -6px #128c4aaa,0 2px 6px #0000001f}}
@keyframes wa-in{from{opacity:0;transform:translateY(16px) scale(.9)}}
@keyframes wa-ring{0%{opacity:.7;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.45)}}
.wa-bubble{position:relative;max-width:250px;padding:14px 36px 14px 16px;background:var(--card);border:1px solid var(--line);border-radius:16px 16px 4px 16px;box-shadow:var(--shadow-lg);font-size:14px;line-height:1.45;opacity:0;transform:translateY(8px) scale(.97);transform-origin:bottom right;transition:opacity .25s var(--ease),transform .25s var(--ease)}
.wa-bubble.show{opacity:1;transform:none}
.wa-bubble strong{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}
.wa-bubble span{color:var(--muted)}
.wa-bubble-close{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;font-size:18px;line-height:1;color:var(--faint)}
.wa-bubble-close:hover{background:var(--paper-2);color:var(--ink)}
@media(max-width:720px){.wa{right:16px;bottom:16px}.wa-button{width:56px;height:56px}.wa-button svg{width:28px;height:28px}.wa-bubble{max-width:220px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.wa-button:before{display:none}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}
