@font-face {
  font-family: "Bricolage Grotesque";
  src: url("/assets/fonts/bricolage-grotesque-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
}
@font-face {
  font-family: "Instrument Serif";
  src: url("/assets/fonts/instrument-serif-italic-latin.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Instrument Serif";
  src: url("/assets/fonts/instrument-serif-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Adjusted UI";
  src: local("Arial");
  size-adjust: 96%;
  ascent-override: 91%;
  descent-override: 23%;
  line-gap-override: 0%;
}
:root {
  --paper: #f1f3ec; --ink: #18302e; --teal: #176f68; --teal-dark: #104d49;
  --mint: #dcebe5; --amber: #efc76f; --blue: #4f7cff; --line: #c8d5ce;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.wrap { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.topbar { position: sticky; top: 0; z-index: 10; background: rgb(241 243 236 / .92); backdrop-filter: blur(16px); border-bottom: 1px solid rgb(24 48 46 / .1); }
.nav { min-height: 76px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; font-weight:760; letter-spacing:-.04em; font-size:21px; }
.brand-mark { width:32px; height:32px; display:grid; place-items:center; border-radius:11px; color:white; background:var(--blue); font-size:19px; font-weight:800; }
.nav-links { display:flex; align-items:center; gap:26px; }
.nav-links a { font-size:14px; text-decoration:none; color:#526a67; }
.nav-links a:hover { color:var(--teal); }
.nav-actions { display:flex; gap:10px; align-items:center; }
.button { display:inline-flex; min-height:46px; padding:0 20px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:8px; text-decoration:none; font-weight:700; font-size:14px; transition:transform .2s, background .2s, border-color .2s; cursor:pointer; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#f7fcfa; background:var(--teal); }
.button-primary:hover { background:var(--teal-dark); }
.button-quiet { border-color:#b9c9c2; color:var(--ink); background:transparent; }
.hero { min-height:690px; padding:80px 0 78px; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:54px; position:relative; overflow:hidden; }
.hero:before { content:""; position:absolute; width:540px; height:540px; border-radius:50%; background:radial-gradient(circle, #dfebe2 0%, #e8ede5 50%, transparent 71%); top:60px; right:0; z-index:-1; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--teal); text-transform:uppercase; letter-spacing:.16em; font-size:11px; font-weight:800; }
.eyebrow:before { content:""; width:25px; height:2px; background:var(--amber); }
h1,h2,h3,p { margin-top:0; }
h1 { margin:24px 0 22px; max-width:630px; font-size:clamp(48px, 6.2vw, 80px); line-height:.99; letter-spacing:-.07em; font-weight:680; }
.hero h1 em { color:var(--teal); font-style:normal; }
.hero-copy { max-width:480px; color:#526a67; font-size:18px; line-height:1.65; }
.hero-buttons { display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; }
.hero-note { margin-top:23px; color:#526a67; font-size:12px; display:flex; align-items:center; gap:9px; }
.hero-note:before { content:""; width:8px; height:8px; background:#24734d; border-radius:50%; }
.demo-shell { position:relative; padding:18px 18px 18px 0; }
.demo-caption { position:absolute; right:13px; top:-17px; color:#526a67; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.browser-demo { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 240px; min-height:410px; overflow:hidden; border:1px solid #294642; border-radius:14px; background:#fff; box-shadow:0 24px 70px rgb(24 48 46 / .2); }
.browser-main { background:#f7f8f4; }
.browser-bar { height:43px; display:flex; align-items:center; gap:6px; padding:0 13px; background:#e9eeea; border-bottom:1px solid #d7e0da; }
.dot { width:7px;height:7px;border-radius:50%;background:#b5c4bd; }
.address { flex:1; margin-left:8px; border-radius:4px; background:#f8faf8; padding:4px 10px; color:#72837b; font-size:9px; }
.fake-page { padding:28px 22px; }
.fake-kicker { font-size:9px; text-transform:uppercase; letter-spacing:.13em; color:#71827a; }
.fake-page h3 { margin:9px 0 18px; font-size:19px; letter-spacing:-.04em; }
.fake-progress { display:flex; gap:5px; margin-bottom:22px; }
.fake-progress span { height:3px; flex:1; background:#d9e1dc; }
.fake-progress span:first-child { background:var(--teal); }
.field-label { color:#526a67; font-size:9px; margin:11px 0 4px; }
.fake-input { height:26px; border:1px solid #d0dad4; border-radius:4px; background:#fff; padding:6px 8px; font-size:9px; color:#425851; }
.fake-input.filled { border-color:#7fb8a7; background:#f1f8f4; }
.fake-submit { width:92px; height:25px; margin-top:20px; background:#e5ebe6; border-radius:4px; }
.side-panel { position:relative; background:#f5f7f6; border-left:1px solid #d3dfd9; display:flex; flex-direction:column; }
.panel-head { height:43px; display:flex; align-items:center; gap:8px; padding:0 12px; border-bottom:1px solid #d3dfd9; font-size:11px; font-weight:700; }
.mini-g { width:18px;height:18px;border-radius:6px;background:var(--blue);color:white;display:grid;place-items:center;font-size:10px; }
.panel-chat { padding:13px 12px; font-size:10px; }
.bubble { padding:9px 10px; border-radius:9px 9px 2px 9px; background:#e1ede8; line-height:1.5; }
.assistant-line { display:flex; gap:7px; margin:13px 0; color:#526a67; line-height:1.5; }
.assistant-line:before { content:"G"; flex:none; width:17px;height:17px;border-radius:6px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:700; }
.action-pill { border:1px solid #d1ddd7; background:#fff; border-radius:6px; padding:7px; margin-top:8px; color:#42615b; }
.gate { position:absolute; z-index:2; right:251px; top:285px; display:flex; align-items:center; gap:7px; padding:7px 9px; border-radius:6px; border:1px solid #d1a941; background:#fff3cc; color:#594416; font-size:9px; box-shadow:0 4px 14px #80652d30; opacity:0; transform:translateY(4px); }
.gate:before { content:""; width:6px;height:6px;border-radius:50%;background:#d79b24; }
.ghost-cursor { position:absolute; z-index:4; left:28%; top:34%; width:16px; height:21px; opacity:0; filter:drop-shadow(0 2px 2px #142b2770); }
.ghost-cursor svg { width:100%;height:100%; }
.demo-running .ghost-cursor { animation:cursorGlide 8s ease-in-out infinite; }
.demo-running .gate { animation:gatePause 8s ease-in-out infinite; }
@keyframes cursorGlide { 0%,8%{opacity:0;transform:translate(0,0)} 12%{opacity:1} 24%{transform:translate(75px,46px)} 33%{transform:translate(90px,115px)} 43%{transform:translate(100px,174px)} 50%,68%{transform:translate(125px,236px)} 69%,84%{transform:translate(125px,236px);opacity:1} 100%{opacity:0;transform:translate(185px,236px)} }
@keyframes gatePause { 0%,46%{opacity:0;transform:translateY(4px)} 51%,70%{opacity:1;transform:translateY(0)} 78%,100%{opacity:0;transform:translateY(0)} }
.demo-foot { margin:13px 0 0; text-align:right; color:#647871; font-size:10px; }
.trust-strip { border-block:1px solid var(--line); background:#e8eee7; }
.trust-inner { padding:22px 0; display:flex; justify-content:space-between; gap:24px; align-items:center; }
.trust-label { font-size:11px; color:#667a72; text-transform:uppercase; letter-spacing:.12em; }
.trust-point { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:650; }
.trust-point b { width:24px;height:24px;display:grid;place-items:center;border:1px solid #b7c9c0;border-radius:50%;color:var(--teal);font-size:11px; }
.section { padding:112px 0; }
.section-heading { max-width:700px; margin-bottom:55px; }
.section-heading h2 { font-size:clamp(36px,4.6vw,58px); letter-spacing:-.06em; line-height:1.04; margin:18px 0; font-weight:660; }
.section-heading p { color:#526a67; font-size:17px; max-width:590px; }
.story-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.story-card { min-height:300px; position:relative; padding:32px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#e8eee8; }
.story-card:nth-child(2) { background:#dcebe5; }
.story-card:nth-child(3) { background:#e9e5d7; }
.story-card:nth-child(4) { background:#18302e; color:#eff6f1; }
.story-card h3 { max-width:330px; font-size:28px; line-height:1.12; letter-spacing:-.045em; }
.story-card p { max-width:370px; color:#526a67; font-size:14px; }
.story-card:nth-child(4) p { color:#bed0c8; }
.card-number { display:block; margin-bottom:50px; color:#71867d; font:12px ui-monospace, monospace; }
.story-card:nth-child(4) .card-number { color:#8bbdb1; }
.card-mark { position:absolute; right:20px; bottom:17px; width:114px; height:96px; opacity:.8; }
.safety-section { background:#19322f; color:#edf5f0; overflow:hidden; position:relative; }
.safety-section:after { content:""; position:absolute; right:-120px; top:-190px; width:530px;height:530px;border:1px solid #47716a;border-radius:50%; box-shadow:0 0 0 42px #1c373340,0 0 0 86px #1c373322; }
.safety-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:center; position:relative; z-index:1; }
.safety-section .eyebrow { color:#9bd1c4; }
.safety-section h2 { max-width:510px; font-size:clamp(38px,5vw,62px); line-height:1; letter-spacing:-.06em; }
.safety-section p { color:#bed0c8; }
.approval-demo { padding:23px; border:1px solid #45625b; border-radius:12px; background:#203b37; }
.approval-top { display:flex; justify-content:space-between; align-items:center; color:#f0d58a; font-size:12px; font-weight:700; }
.approval-top span:last-child { width:8px;height:8px;border-radius:50%;background:var(--amber); }
.approval-demo h3 { margin:23px 0 7px; font-size:20px; }
.approval-demo p { margin:0; font-size:13px; }
.approval-actions { display:flex; justify-content:flex-end; gap:8px; padding-top:20px; }
.approval-actions span { border:1px solid #55736b; border-radius:6px; padding:7px 13px; font-size:11px; }
.approval-actions span:last-child { background:var(--amber); color:#34290f; border-color:var(--amber); }
.approval-demo .approval-foot { margin:17px 0 0; padding-top:13px; border-top:1px solid #45625b; font-size:11px; line-height:1.65; }
.steps-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
.steps-flow:before { content:""; position:absolute; left:8%; right:8%; top:24px; border-top:1px dashed #9ab9ab; }
.flow-step { position:relative; padding:0 20px 0 0; }
.flow-dot { position:relative; z-index:1; display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid #8bb7a8;background:var(--paper);color:var(--teal);font-size:14px;font-weight:700; }
.flow-step:last-child .flow-dot { background:var(--amber);border-color:var(--amber);color:#30230a; }
.flow-step h3 { margin:20px 0 8px; font-size:17px; }
.flow-step p { color:#526a67;font-size:13px; }
.quote-band { padding:70px 0; background:#e5ede6; text-align:center; }
.quote-band p { margin:0 auto; max-width:800px; font-size:clamp(25px,3.5vw,42px); line-height:1.2; letter-spacing:-.045em; }
.quote-band strong { color:var(--teal); }
.setup-preview { display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center; }
.setup-board { min-height:310px;padding:24px;border-radius:13px;background:#dbe9e2;position:relative; }
.setup-window { background:#fbfcfa;border:1px solid #c9d7cf;border-radius:8px;overflow:hidden;box-shadow:0 15px 35px #35584b25; }
.window-head { height:28px;background:#e9efea;border-bottom:1px solid #d6dfd9;display:flex;align-items:center;gap:5px;padding:0 10px; }
.window-body { display:grid;grid-template-columns:86px 1fr;min-height:184px; }
.window-side { background:#f2f5f1;border-right:1px solid #e1e8e2;padding:12px 8px; }
.window-side i { display:block;height:5px;border-radius:3px;background:#d7e1d9;margin:0 0 11px; }
.window-content { padding:17px; }
.window-content b { font-size:13px; }
.ext-row { display:flex;align-items:center;gap:10px;border:1px solid #dfe7e0;padding:10px;margin-top:14px;border-radius:6px;font-size:10px; }
.ext-icon { width:25px;height:25px;background:var(--blue);border-radius:8px;color:white;display:grid;place-items:center; }
.ext-row small { display:block;color:#71827a; }
.mini-toggle { margin-left:auto;width:28px;height:15px;border-radius:8px;background:var(--teal);position:relative; }
.mini-toggle:after { content:"";position:absolute;right:2px;top:2px;width:11px;height:11px;background:white;border-radius:50%; }
.setup-copy h2 { font-size:clamp(35px,4vw,52px);letter-spacing:-.06em;line-height:1.03; }
.setup-copy p { color:#526a67; }
.setup-copy .button { margin-top:9px; }
.faq-section { background:#e7eee8; }
.faq-list { max-width:850px; }
.faq-list details { border-top:1px solid #c6d4cc; padding:20px 0; }
.faq-list details:last-child { border-bottom:1px solid #c6d4cc; }
.faq-list summary { cursor:pointer; list-style:none; font-size:17px; font-weight:670; display:flex;justify-content:space-between;gap:20px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary:after { content:"+";color:var(--teal);font-size:22px;font-weight:400; }
.faq-list details[open] summary:after { content:"−"; }
.faq-list p { max-width:700px; margin:14px 0 0;color:#526a67;font-size:14px; }
.final-cta { padding:96px 0 110px; text-align:center; color:#eff6f1; background:var(--teal); }
.final-cta .eyebrow { justify-content:center;color:#c2e2d8; }
.final-cta h2 { margin:20px auto 17px;max-width:700px;font-size:clamp(42px,6vw,70px);line-height:.99;letter-spacing:-.07em; }
.final-cta p { color:#d1e5dc; }
.final-cta .button { margin-top:14px;background:var(--amber);color:#30230a; }
.footer { padding:28px 0;color:#667a72;font-size:12px; }
.footer-inner { display:flex;justify-content:space-between;align-items:center;gap:18px; }
.footer-links { display:flex;gap:20px; }
.footer a { text-decoration:none; }
.reveal { opacity:1;transform:none; }
.js .reveal { opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.25,1); }
.js .reveal.in-view { opacity:1;transform:translateY(0); }
.js .delay-1 { transition-delay:.1s; }.js .delay-2 { transition-delay:.2s; }.js .delay-3 { transition-delay:.3s; }
@media(max-width:900px) {
 .hero { grid-template-columns:1fr; padding-top:62px; gap:60px; }.hero-copy { max-width:640px; }
 .demo-shell { max-width:700px;width:100%;margin:auto; }.safety-grid { grid-template-columns:1fr;gap:36px; }
 .setup-preview { gap:28px; }.story-card { min-height:270px; }.trust-inner { flex-wrap:wrap;justify-content:center; }
}
@media(max-width:640px) {
 .wrap { width:min(100% - 34px, 1180px); }.nav { min-height:64px; }.nav-links { display:none; }
 .nav-actions { gap:7px; }.button { min-height:42px;padding-inline:14px; }.nav-actions .button { min-height:38px;padding-inline:12px;font-size:12px; }
 .hero { min-height:0;padding:53px 0 58px;gap:48px; }.hero h1 { font-size:clamp(46px,13vw,68px); }.hero-copy { font-size:16px; }
 .browser-demo { grid-template-columns:minmax(0,1fr) 42%;min-height:350px; }.panel-head { padding-inline:8px;font-size:10px; }.panel-chat { padding:10px 8px;font-size:9px; }
 .fake-page { padding:23px 13px; }.gate { right:43%;top:275px;font-size:8px; }.ghost-cursor { left:25%; }
 .demo-shell { padding:13px 0; }.demo-caption { right:0;top:-15px;font-size:9px; }.trust-inner { justify-content:flex-start;gap:16px; }.trust-label { flex-basis:100%; }
 .section { padding:78px 0; }.section-heading { margin-bottom:35px; }.story-grid { grid-template-columns:1fr; }.story-card { min-height:260px;padding:26px; }
 .card-number { margin-bottom:35px; }.steps-flow { grid-template-columns:1fr 1fr;gap:28px 14px; }.steps-flow:before { display:none; }
 .setup-preview { grid-template-columns:1fr; }.setup-board { min-height:280px;padding:16px; }.safety-section:after { opacity:.4; }
 .footer-inner { align-items:flex-start;flex-direction:column; }.final-cta { padding:76px 0; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; } *,*:before,*:after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
 .ghost-cursor,.gate { display:none; }.js .reveal { opacity:1;transform:none; }
}

/* Display type + choreographed, pause-aware motion. */
body { font-family: system-ui, "Adjusted UI", -apple-system, BlinkMacSystemFont, sans-serif; }
h1,h2,h3,.brand { font-family: "Bricolage Grotesque", "Adjusted UI", system-ui, sans-serif; font-optical-sizing:auto; }
.hero h1,.section-heading h2,.safety-section h2,.setup-copy h2,.final-cta h2 { line-height:1.02; letter-spacing:-.055em; }
.hero h1 { font-size:clamp(50px,6.2vw,78px); }
h1 em,h2 em { color:var(--teal);font-family:"Instrument Serif", Georgia, serif;font-size:1.16em;font-weight:400;font-style:italic;letter-spacing:-.018em;word-spacing:.05em;white-space:normal; }
.safety-section h2 em { color:#9bd1c4; }
.card-number,.flow-dot { font-family:"Bricolage Grotesque","Adjusted UI",system-ui,sans-serif;font-optical-sizing:auto; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.js .hero-copy-block h1 .headline-line { display:block;overflow:hidden;padding-bottom:.04em; }
.js .hero-copy-block h1 .line-inner { display:inline-block;transform:translateY(110%);animation:headlineRise .8s cubic-bezier(.2,.75,.25,1) forwards; }
.js .hero-copy-block h1 .phrase-line .line-inner { animation-delay:.24s; }
@keyframes headlineRise { to { transform:translateY(0); } }
.arrow-icon { width:16px;height:16px;margin-left:9px;flex:none;transition:transform .2s ease; }
.button:hover .arrow-icon { transform:translateX(3px); }
.topbar.scrolled { box-shadow:0 8px 24px rgb(24 48 46 / .08); }
.hero-copy-block h1 em { display:inline-block; }
.demo-shell { padding-bottom:42px; }
.browser-demo { min-height:410px; grid-template-columns:minmax(0,1fr) 240px; isolation:isolate; }
.browser-main { min-width:0;position:relative;transition:opacity .45s ease; }
.fake-page { min-height:365px;padding:21px 20px;position:relative; }
.fake-page h3 { font-size:19px;margin:8px 0 14px; }
.fake-progress span { transition:background .35s ease; }
.fake-progress span.is-complete,.browser-demo[data-step="contact"] .fake-progress span:nth-child(-n+2),.browser-demo[data-step="reason"] .fake-progress span:nth-child(-n+3),.browser-demo[data-step="ready"] .fake-progress span,.browser-demo[data-step="gate"] .fake-progress span,.browser-demo[data-step="approved"] .fake-progress span,.browser-demo[data-step="final"] .fake-progress span { background:var(--teal); }
.field-label { display:flex;align-items:center;justify-content:space-between;margin:8px 0 3px; }
.fake-input { height:24px;padding:4px 7px;display:flex;align-items:center; }
.typed-value { min-height:1em; }
.field-check { visibility:hidden;color:#24734d;font-size:10px;font-weight:800; }
.browser-demo[data-step="contact"] .check-given,.browser-demo[data-step="reason"] .check-given,.browser-demo[data-step="reason"] .check-contact,.browser-demo[data-step="ready"] .field-check,.browser-demo[data-step="gate"] .field-check,.browser-demo[data-step="approved"] .field-check,.browser-demo[data-step="final"] .field-check { visibility:visible; }
.fake-submit { width:92px;height:25px;margin-top:13px;border:1px solid transparent;background:#e5ebe6;border-radius:4px;color:#4d625a;font:700 9px system-ui,sans-serif;transition:box-shadow .25s,border-color .25s,transform .2s; }
.browser-demo[data-step="gate"] .fake-submit,.browser-demo[data-step="approved"] .fake-submit { border-color:#d39d29;box-shadow:0 0 0 3px #efc76f40,0 0 19px #efc76f80;animation:amberBreath 1.2s ease-in-out infinite alternate; }
@keyframes amberBreath { to { box-shadow:0 0 0 5px #efc76f55,0 0 25px #efc76f99; } }
.browser-demo[data-step="approved"] .fake-submit { transform:scale(.95); }
.side-panel { min-width:0;overflow:hidden;transition:opacity .45s ease; }
.panel-chat { position:relative;padding:10px 11px; }
.composer-row { display:none;align-items:center;gap:8px;min-height:40px;border:1px solid #d2dfd9;border-radius:8px;padding:6px 8px;background:#fff;font-size:9px;color:#526a67; }
.composer-text { flex:1;min-width:0; }
.composer-text:after { content:"";display:inline-block;height:11px;margin-left:2px;border-right:1px solid var(--teal);vertical-align:-2px;animation:caretBlink .8s steps(2,end) infinite; }
.composer-send { width:19px;height:19px;display:grid;place-items:center;border-radius:6px;background:var(--teal);color:white;font-size:12px; }
@keyframes caretBlink { 50% { opacity:0; } }
.user-bubble { display:none;margin:2px 0 11px auto;width:max-content;max-width:96%;padding:7px 8px;border-radius:8px 8px 2px 8px;background:#e1ede8;color:#35554c;font-size:9px;line-height:1.4; }
.opening-line,.ready-line,.done-line { display:none;align-items:center; }
.opening-line { margin:7px 0; }
.progress-indicator { width:13px;height:13px;flex:none;margin-left:auto;border:2px solid #c7d8d0;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.approval-card { display:none;flex-direction:column;gap:7px;margin-top:9px;padding:9px;border:1px solid #dfbd61;border-radius:8px;background:#fff4d6;color:#4e411f;font-size:9px;transform:translateY(18px);opacity:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .35s ease; }
.approval-card b { color:#8b620a;text-transform:uppercase;letter-spacing:.07em;font-size:8px; }
.approval-buttons { display:flex;justify-content:flex-end;gap:6px;margin-top:3px; }
.approval-buttons span { padding:4px 7px;border:1px solid #d9c98f;border-radius:5px;font-size:8px; }
.approval-buttons .approve-button { border-color:#be8d25;background:var(--amber);color:#30230a;font-weight:750; }
.browser-demo[data-step="approved"] .approve-button { transform:scale(.92);background:#e2b64a; }
.done-line { color:#24734d; }
.success-view { display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#f7faf7;color:#18302e; }
.success-check { width:48px;height:48px;display:grid;place-items:center;border:1px solid #9ac9a9;border-radius:50%;background:#e5f2e8;color:#24734d; }
.success-check svg { width:31px;height:31px; }
.success-title { font:700 19px "Bricolage Grotesque",sans-serif;letter-spacing:-.04em; }
.success-copy { font-size:10px;color:#526a67; }
.browser-demo[data-step="compose"] .composer-row,.browser-demo[data-step="user"] .user-bubble,.browser-demo[data-step="opening"] .opening-line { display:flex; }
.browser-demo[data-step="opening"] .fake-input .typed-value,.browser-demo[data-step="opening"] .field-check { visibility:hidden; }
.browser-demo[data-step="given"] .field-given .typed-value,.browser-demo[data-step="contact"] .field-contact .typed-value,.browser-demo[data-step="reason"] .field-reason .typed-value { border-right:1px solid var(--teal); }
.browser-demo[data-step="given"] .field-check,.browser-demo[data-step="given"] .field-contact .typed-value,.browser-demo[data-step="given"] .field-reason .typed-value { visibility:hidden; }
.browser-demo[data-step="contact"] .field-reason .typed-value { visibility:hidden; }
.browser-demo[data-step="ready"] .ready-line,.browser-demo[data-step="gate"] .approval-card,.browser-demo[data-step="approved"] .approval-card { display:flex; }
.browser-demo[data-step="gate"] .approval-card,.browser-demo[data-step="approved"] .approval-card { transform:translateY(0);opacity:1; }
.browser-demo[data-step="gate"] .gate,.browser-demo[data-step="approved"] .gate { opacity:1;transform:translateY(0); }
.browser-demo[data-step="contact"] .field-given,.browser-demo[data-step="reason"] .field-given,.browser-demo[data-step="reason"] .field-contact,.browser-demo[data-step="ready"] .fake-input,.browser-demo[data-step="gate"] .fake-input,.browser-demo[data-step="approved"] .fake-input { border-color:#7fb8a7;background:#f1f8f4; }
.browser-demo[data-step="final"] .done-line,.browser-demo[data-step="final"] .user-bubble { display:flex; }
.browser-demo[data-step="final"] .form-view { display:none; }
.browser-demo[data-step="final"] .success-view { display:flex; }
.js .browser-demo[data-step="final"] .success-check svg path { stroke-dasharray:34;stroke-dashoffset:34;animation:successDraw .55s ease forwards .12s; }
@keyframes successDraw { to { stroke-dashoffset:0; } }
.browser-demo[data-step="fade"] .browser-main,.browser-demo[data-step="fade"] .side-panel { opacity:.15; }
.ghost-cursor,.user-cursor { position:absolute;z-index:4;left:0;top:0;width:16px;height:21px;opacity:0;pointer-events:none;transition:transform .55s cubic-bezier(.2,.75,.2,1),opacity .2s ease;filter:drop-shadow(0 2px 2px #142b2770); }
.ghost-cursor svg,.user-cursor svg { width:100%;height:100%; }
.browser-demo[data-step="given"] .ghost-cursor,.browser-demo[data-step="contact"] .ghost-cursor,.browser-demo[data-step="reason"] .ghost-cursor,.browser-demo[data-step="gate"] .ghost-cursor { opacity:1; }
.browser-demo[data-step="given"] .ghost-cursor { transform:translate(145px,180px); }
.browser-demo[data-step="contact"] .ghost-cursor { transform:translate(145px,222px); }
.browser-demo[data-step="reason"] .ghost-cursor { transform:translate(145px,264px); }
.browser-demo[data-step="gate"] .ghost-cursor { transform:translate(165px,322px); }
.browser-demo[data-step="gate"] .user-cursor,.browser-demo[data-step="approved"] .user-cursor { opacity:1; }
.browser-demo[data-step="gate"] .user-cursor { transform:translate(509px,319px);transition-delay:.7s; }
.browser-demo[data-step="approved"] .user-cursor { transform:translate(509px,319px) scale(.88);transition-delay:0s; }
.gate { z-index:3; }
.demo-toggle { position:absolute;right:0;bottom:0;min-height:30px;padding:3px 9px;border:1px solid #b9c9c2;border-radius:6px;background:#edf2ec;color:#42615b;font:600 10px system-ui,sans-serif;cursor:pointer; }
.demo-toggle:disabled { cursor:default;opacity:.7; }
html:not(.js) .demo-toggle { display:none; }
.browser-demo.demo-paused * { animation-play-state:paused!important; }
.steps-flow { position:relative; }
.flow-runner { position:absolute;left:8%;top:0;width:84%;height:48px;pointer-events:none; }
.flow-runner i { position:absolute;left:0;top:20px;width:10px;height:10px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 #176f6840;opacity:0; }
.flow-active .flow-runner i { animation:flowGlide 8s ease-in-out infinite; }
@keyframes flowGlide { 0%,12% { opacity:1;transform:translateX(0); } 72% { opacity:1;transform:translateX(calc(100% - 10px)); } 82%,100% { opacity:1;transform:translateX(calc(100% - 10px));box-shadow:0 0 0 9px #176f6820; } }
.flow-active .flow-step:last-child .flow-dot { animation:gatePulse 2.4s ease-in-out infinite;animation-delay:5.7s; }
@keyframes gatePulse { 0%,100% { box-shadow:0 0 0 0 #efc76f00; } 50% { box-shadow:0 0 0 8px #efc76f40; } }
.story-card { transition:transform .22s ease,box-shadow .22s ease; }
.story-card:hover { transform:translateY(-2px);box-shadow:0 11px 26px #18302e12; }
.route-stroke { stroke-dasharray:160;stroke-dashoffset:160; }
.story-card.in-view .route-stroke { animation:drawRoute 1s ease forwards .2s; }
@keyframes drawRoute { to { stroke-dashoffset:0; } }
.check-stroke { stroke-dasharray:44;stroke-dashoffset:44; }
.story-card.in-view .check-stroke { animation:drawCheck .65s ease forwards .5s; }
@keyframes drawCheck { to { stroke-dashoffset:0; } }
.workflow-row { opacity:0;transform:translateX(-10px); }
.story-card.in-view .row-one { animation:rowReveal .35s ease forwards .1s; }
.story-card.in-view .row-two { animation:rowReveal .35s ease forwards .3s; }
.story-card.in-view .row-three { animation:rowReveal .35s ease forwards .5s; }
@keyframes rowReveal { to { opacity:1;transform:translateX(0); } }
.chart-bar { transform-box:fill-box;transform-origin:center bottom;transform:scaleY(.12); }
.story-card.in-view .bar-one { animation:barGrow .55s ease forwards .1s; }
.story-card.in-view .bar-two { animation:barGrow .55s ease forwards .28s; }
.story-card.in-view .bar-three { animation:barGrow .55s ease forwards .46s; }
@keyframes barGrow { to { transform:scaleY(1); } }
.safety-section:after { border-style:dashed;animation:arcTurn 100s linear infinite; }
@keyframes arcTurn { to { transform:rotate(360deg); } }
.approval-top span:last-child { animation:gatePulse 2.2s ease-in-out infinite; }
.faq-section>.wrap { display:grid; }
.faq-layout { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start;gap:clamp(35px,8vw,110px); }
.faq-list { max-width:none; }
.faq-invite { padding:28px;border:1px solid #cbd8cf;border-radius:12px;background:#f3f5ed; }
.faq-invite h3 { margin:17px 0 10px;font-size:27px;letter-spacing:-.045em;line-height:1.08; }
.faq-invite p { color:#526a67;font-size:13px;max-width:330px; }
.faq-invite .button { margin-top:6px; }
.faq-signin { display:block;width:max-content;margin-top:15px;font-size:12px; }
@media(max-width:900px) {
 .hero h1 { font-size:clamp(48px,8vw,69px); }
 .browser-demo { grid-template-columns:minmax(0,1fr) 224px; }
 .faq-layout { grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);gap:32px; }
}
@media(max-width:640px) {
 .hero h1 { font-size:clamp(47px,12.6vw,62px);line-height:1.04;letter-spacing:-.055em; }
 .headline-line { white-space:nowrap; }
 h1 em,h2 em { font-size:1.12em;letter-spacing:-.07em; }
 .browser-demo { display:flex;flex-direction:column;min-height:0; }
 .browser-main { min-height:325px; }
 .fake-page { min-height:282px;padding:15px 17px; }
 .fake-page h3 { margin-bottom:10px; }
 .field-label { margin-top:6px; }
 .fake-submit { margin-top:9px; }
 .side-panel { min-height:205px;border-left:0;border-top:1px solid #d3dfd9; }
 .panel-head { height:35px;flex:none; }
 .panel-chat { padding:8px 10px; }
 .browser-demo[data-step="given"] .ghost-cursor { transform:translate(150px,139px); }
 .browser-demo[data-step="contact"] .ghost-cursor { transform:translate(150px,179px); }
 .browser-demo[data-step="reason"] .ghost-cursor { transform:translate(150px,218px); }
 .browser-demo[data-step="gate"] .ghost-cursor { transform:translate(150px,252px); }
 .browser-demo[data-step="gate"] .user-cursor,.browser-demo[data-step="approved"] .user-cursor { transform:translate(290px,430px); }
 .browser-demo[data-step="approved"] .user-cursor { transform:translate(290px,430px) scale(.88); }
 .flow-runner { display:none; }
 .safety-section:after { animation-duration:160s; }
 .story-card { min-height:310px;padding:25px 24px 118px; }
 .story-card h3,.story-card p { max-width:100%; }
 .card-mark { width:83px;height:70px;right:17px;bottom:18px; }
 .faq-layout { grid-template-columns:1fr;gap:35px; }
 .faq-invite { padding:24px; }
 .demo-shell { padding-bottom:45px; }
 .demo-caption { max-width:calc(100% - 2px); }
}
@media(max-width:370px) {
 .wrap { width:calc(100% - 30px); }
 .hero h1 { font-size:clamp(37px,11.5vw,43px); }
 .headline-line { white-space:normal; }
 .browser-main { min-height:315px; }
 .fake-page { padding-inline:13px; }
 .browser-demo[data-step="gate"] .user-cursor,.browser-demo[data-step="approved"] .user-cursor { transform:translate(245px,420px); }
 .browser-demo[data-step="approved"] .user-cursor { transform:translate(245px,420px) scale(.88); }
 .story-card { min-height:330px; }
}
@media(prefers-reduced-motion:reduce) {
 .js .hero-copy-block h1 .line-inner { animation:none;transform:none; }
 .browser-demo *, .flow-active .flow-runner i,.flow-active .flow-step:last-child .flow-dot,.approval-top span:last-child,.safety-section:after { animation:none!important; }
 .ghost-cursor,.user-cursor { display:none; }
 .browser-demo[data-step] .form-view { display:none; }
 .browser-demo[data-step] .success-view { display:flex; }
 .browser-demo[data-step] .done-line,.browser-demo[data-step] .user-bubble { display:flex; }
}