/* Local Growth Partner design system. Tokens and components documented in DESIGN.md. */
  /* Apple chassis (one sans family, product on a surface, no chrome) with Google tonal containers. One accent. */
  @font-face { font-family:'Manrope'; src:url('/fonts/Manrope[wght].ttf') format('truetype'); font-weight:200 800; font-display:swap; }
  :root {
    --canvas:#FFFFFF; --surface:#F5F5F7; --surface-2:#E8E8ED; --tonal:#FBEDE4; --tonal-2:#F6DDCB;
    --ink:#1D1D1F; --ink-2:#6E6E73; --ink-3:#757579; --hairline:rgba(0,0,0,0.08);
    --tile:#0B1524; --tile-2:#132038; --on-dark:#F5F5F7; --on-dark-2:#B8BEC9; --on-dark-3:#8A93A3;
    --accent:#E8632B; --accent-fill:#C94F17; --accent-press:#B03E0A; --accent-ink:#B03E0A; --accent-on-dark:#FFA36B; --good:#1E9E5A;
    --sans:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
    --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:128px;
    --r-sm:12px; --r-md:20px; --r-lg:28px; --r-xl:36px; --pill:9999px;
    --shadow-product:0 30px 80px rgba(29,29,31,0.18), 0 2px 8px rgba(29,29,31,0.06);
    --ease:cubic-bezier(0.25,0.1,0.25,1); --ease-out:cubic-bezier(0,0,0.58,1);
  }
  * { box-sizing:border-box; margin:0; padding:0; }
  html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
  body { font-family:var(--sans); font-size:17px; line-height:1.47; letter-spacing:-0.01em; color:var(--ink); background:var(--canvas); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
  img, svg { display:block; max-width:100%; }
  a { color:inherit; } ol, ul { list-style:none; }
  ::selection { background:var(--accent); color:#fff; }
  :focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; border-radius:var(--r-sm); }
  .on-dark :focus-visible { outline-color:var(--accent-on-dark); }
  .wrap { width:100%; max-width:1200px; margin:0 auto; padding:0 var(--s6); }
  .narrow { max-width:820px; margin-left:auto; margin-right:auto; }

  /* Type: Apple hierarchy, Manrope at display weights with tight tracking */
  .hero-display { font-weight:800; font-size:clamp(46px,7vw,92px); line-height:0.98; letter-spacing:-0.04em; text-wrap:balance; }
  .display { font-weight:800; font-size:clamp(34px,4.6vw,60px); line-height:1.02; letter-spacing:-0.035em; text-wrap:balance; }
  .display-sm { font-weight:800; font-size:clamp(28px,3.4vw,44px); line-height:1.05; letter-spacing:-0.03em; text-wrap:balance; }
  .hero-display em, .display em, .display-sm em { font-style:normal; color:var(--accent); }
  .on-dark .display em, .on-dark .display-sm em { color:var(--accent-on-dark); }
  .lead { font-size:clamp(19px,2.1vw,24px); line-height:1.35; letter-spacing:-0.015em; font-weight:500; color:var(--ink-2); text-wrap:pretty; }
  .on-dark .lead { color:var(--on-dark-2); }
  .title { font-size:21px; font-weight:700; line-height:1.24; letter-spacing:-0.02em; }
  .body { font-size:17px; color:var(--ink-2); }
  .on-dark .body { color:var(--on-dark-2); }
  .caption { font-size:14px; line-height:1.43; color:var(--ink-2); }
  .on-dark .caption { color:var(--on-dark-3); }
  .fine { font-size:12px; line-height:1.5; color:var(--ink-3); }
  .eyebrow { display:block; font-size:15px; font-weight:700; letter-spacing:-0.01em; color:var(--accent-ink); margin-bottom:var(--s3); }
  .on-dark .eyebrow { color:var(--accent-on-dark); }
  .num { font-variant-numeric:tabular-nums; }
  .center { text-align:center; }

  /* Buttons: Apple pill grammar, 48px targets */
  .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 24px; border-radius:var(--pill); border:0; font:inherit; font-size:17px; font-weight:600; letter-spacing:-0.01em; text-decoration:none; cursor:pointer; white-space:nowrap; transition:background-color 200ms var(--ease), color 200ms var(--ease), transform 100ms var(--ease); }
  .btn:active { transform:scale(0.97); }
  .btn-primary { background:var(--accent-fill); color:#fff; }
  .btn-primary:hover { background:var(--accent-press); }
  .btn-dark { background:var(--ink); color:#fff; }
  .btn-dark:hover { background:#000; }
  .btn-light { background:#fff; color:var(--ink); }
  .btn-light:hover { background:var(--surface); }
  .btn-sm { min-height:40px; padding:8px 18px; font-size:15px; }
  .btn .sm-t { display:none; }
  .link { color:var(--accent-ink); text-decoration:none; font-weight:600; font-size:17px; display:inline-flex; align-items:center; gap:4px; min-height:48px; }
  .link::after { content:"\203A"; font-size:22px; line-height:1; margin-top:-2px; }
  .link:hover { text-decoration:underline; text-underline-offset:4px; }
  .on-dark .link { color:var(--accent-on-dark); }

  /* Nav: Apple global nav, frosted, one CTA */
  .promo { background:var(--surface); text-align:center; font-size:14px; padding:10px var(--s4); color:var(--ink-2); }
  .promo b { color:var(--ink); font-weight:700; }
  .nav { position:sticky; top:0; z-index:20; background:rgba(255,255,255,0.78); -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px); border-bottom:1px solid var(--hairline); }
  .nav .wrap { display:flex; align-items:center; gap:var(--s5); min-height:56px; }
  .brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-weight:700; font-size:16px; letter-spacing:-0.02em; min-height:44px; white-space:nowrap; }
  .brand svg { width:28px; height:28px; flex:0 0 auto; }
  .nav-links { margin-left:auto; display:flex; align-items:center; gap:var(--s5); }
  .nav-links a:not(.btn) { text-decoration:none; font-size:15px; font-weight:500; color:var(--ink-2); min-height:44px; display:inline-flex; align-items:center; }
  .nav-links a:not(.btn):hover { color:var(--ink); }

  .tile { padding:var(--s10) 0; }
  .tile.white { background:var(--canvas); }
  .tile.gray { background:var(--surface); }
  .tile.tonal { background:var(--tonal); }
  .tile.on-dark { background:var(--tile); color:var(--on-dark); }
  .tile-head { text-align:center; max-width:760px; margin:0 auto var(--s8); }
  .tile-head .lead { margin-top:var(--s4); }

  /* Hero: centered stack, product on a surface */
  .hero { padding:var(--s9) 0 0; text-align:center; }
  .hero-in { max-width:900px; margin:0 auto; animation:rise 500ms var(--ease-out) both; }
  @keyframes rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
  .trust { display:inline-block; font-size:14px; font-weight:600; color:var(--ink-2); background:var(--surface); border-radius:var(--pill); padding:8px 14px 8px 12px; margin-bottom:var(--s6); line-height:1.4; }
  .trust i { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--good); margin-right:8px; vertical-align:1px; }
  .trust b { color:var(--ink); font-weight:700; }
  .hero .lead { max-width:640px; margin:var(--s5) auto 0; }
  .hero-cta { display:flex; justify-content:center; align-items:center; gap:var(--s5); margin-top:var(--s6); flex-wrap:wrap; }
  .hero-note { margin-top:var(--s4); font-size:14px; color:var(--ink-2); }
  .hero-note b { color:var(--ink); font-weight:700; }
  .stage { margin-top:var(--s8); background:var(--surface); border-radius:var(--r-xl) var(--r-xl) 0 0; padding:var(--s8) var(--s6) 0; animation:rise 600ms var(--ease-out) 120ms both; }
  .deck { max-width:1040px; margin:0 auto; display:grid; grid-template-columns:1.2fr 1fr; gap:var(--s5); align-items:end; }
  .mock { border-radius:var(--r-md) var(--r-md) 0 0; overflow:hidden; box-shadow:var(--shadow-product); background:#fff; text-align:left; }
  .mock.mapc { border-radius:var(--r-md) var(--r-md) 0 0; }
  .gpt { font-family:var(--sans); color:#0D0D0D; font-size:15px; padding:18px 22px 18px; }
  .gpt-top { display:flex; align-items:center; gap:6px; padding-bottom:12px; border-bottom:1px solid #ECECEC; margin-bottom:16px; }
  .gpt-top .lbl { font-weight:700; font-size:14px; } .gpt-top .chev { color:#8E8E93; font-size:11px; }
  .gpt-top .dots { margin-left:auto; display:flex; gap:3px; } .gpt-top .dots i { width:4px; height:4px; border-radius:50%; background:#C7C7CC; }
  .u-msg { display:flex; justify-content:flex-end; margin-bottom:16px; }
  .u-msg span { background:#F4F4F4; border-radius:18px; padding:10px 16px; font-size:15px; max-width:85%; }
  .a-body { line-height:1.55; font-size:15px; min-height:150px; }
  .a-body .row { display:flex; gap:8px; margin-top:8px; }
  .a-body .hl { font-weight:700; background:rgba(232,99,43,0.16); border-radius:4px; padding:0 4px; }
  .a-body .why { color:#5D5D5D; font-size:14px; }
  .src-row { display:flex; gap:6px; margin-top:12px; }
  .src-row span { font-size:12px; color:#5D5D5D; background:#F4F4F4; border-radius:999px; padding:4px 10px; }
  .gpt-input { margin-top:16px; border:1px solid #E5E5E5; border-radius:999px; padding:10px 12px; display:flex; align-items:center; gap:8px; color:#8E8E93; font-size:14px; }
  .gpt-input svg { width:16px; height:16px; stroke:#8E8E93; fill:none; stroke-width:2; } .gpt-input .ph { flex:1; }
  .gpt-input .send { margin-left:auto; width:28px; height:28px; border-radius:50%; background:#0D0D0D; display:flex; align-items:center; justify-content:center; } .gpt-input .send svg { stroke:#fff; width:14px; height:14px; }
  .t { animation:appear 360ms var(--ease-out) both; }
  .t0 { animation-delay:400ms; } .t1 { animation-delay:1400ms; } .t2 { animation-delay:1800ms; } .t3 { animation-delay:2200ms; } .t4 { animation-delay:2500ms; }
  @keyframes appear { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
  .typed { display:inline-block; white-space:nowrap; overflow:hidden; animation:type 800ms steps(22,end) 500ms both; }
  @keyframes type { from { max-width:0; } to { max-width:100%; } }
  .a-body .hl { animation:mark 600ms var(--ease) 2600ms both; }
  @keyframes mark { from { background-color:rgba(232,99,43,0); } to { background-color:rgba(232,99,43,0.16); } }
  .mapc { font-family:var(--sans); color:#202124; }
  .mapc .canvas { position:relative; height:140px; overflow:hidden; } .mapc .canvas svg { width:100%; height:100%; }
  .map-search { position:absolute; top:12px; left:12px; right:12px; background:#fff; border-radius:999px; padding:9px 12px; font-size:13px; display:flex; align-items:center; gap:8px; box-shadow:0 1px 4px rgba(0,0,0,0.12); }
  .map-search img { width:16px; height:16px; } .map-search .x { margin-left:auto; color:#70757A; font-size:12px; }
  .results { padding:6px 14px 10px; }
  .res { display:flex; gap:12px; padding:12px 0; border-top:1px solid #EEE; align-items:flex-start; }
  .res.top { background:rgba(232,99,43,0.06); margin:0 -14px; padding:12px 14px; border-top:0; }
  .rk { width:22px; height:22px; border-radius:50%; background:#E8EAED; color:#3C4043; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; flex:0 0 auto; margin-top:2px; }
  .res.top .rk { background:var(--accent); color:#fff; }
  .res .nm { font-weight:700; font-size:14px; } .res .rt { font-size:12px; color:#70757A; display:flex; gap:4px; margin-top:2px; }
  .res .stars { color:#F9AB00; letter-spacing:-1px; } .res .meta { font-size:12px; color:#70757A; margin-top:2px; } .res .open { color:#188038; }
  .res .acts { display:flex; gap:6px; margin-top:8px; } .res .acts span { font-size:12px; color:#1A73E8; border:1px solid #DADCE0; border-radius:999px; padding:4px 10px; }
  .res .yours { margin-left:auto; background:var(--accent); color:#fff; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; border-radius:999px; padding:4px 8px; align-self:flex-start; }
  .res.more { justify-content:center; color:#1A73E8; font-size:13px; padding:12px 0 2px; }
  .found { background:var(--surface); padding:var(--s6) 0 var(--s8); }
  .found .wrap { display:flex; flex-direction:column; align-items:center; gap:var(--s4); }
  .found ul { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 32px; font-size:15px; font-weight:600; color:var(--ink-2); }
  .found li { display:inline-flex; align-items:center; gap:8px; }

  /* Proof: Apple dark tile with big numbers */
  .stats { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s5); }
  .stat { background:var(--tile-2); border-radius:var(--r-lg); padding:var(--s6); }
  .stat .big { font-weight:800; font-size:clamp(56px,7vw,96px); line-height:0.95; letter-spacing:-0.05em; color:var(--on-dark); }
  .stat .big small { font-size:0.42em; font-weight:700; color:var(--accent-on-dark); letter-spacing:-0.02em; margin-left:6px; }
  .stat .ladder { width:100%; height:auto; margin-top:var(--s4); }
  .stat .was { margin-top:var(--s3); font-size:17px; font-weight:600; color:var(--on-dark); }
  .stat .who { margin-top:4px; font-size:14px; color:var(--on-dark-3); }
  .stat .note { margin-top:var(--s4); font-size:15px; color:var(--on-dark-2); }
  .cases { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s5); margin-top:var(--s5); }
  .pcard { background:var(--tile-2); border-radius:var(--r-md); overflow:hidden; display:flex; flex-direction:column; }
  .pc-head { display:flex; align-items:center; gap:6px; padding:12px 16px; font-size:13px; font-weight:700; color:var(--on-dark-2); border-bottom:1px solid rgba(255,255,255,0.08); }
  .pc-head img { width:16px; height:16px; } .pc-head img.dark { filter:invert(1) brightness(1.4); }
  .pc-head .chev { color:var(--on-dark-3); font-size:10px; }
  .pc-head .dots { margin-left:auto; display:flex; gap:3px; } .pc-head .dots i { width:4px; height:4px; border-radius:50%; background:var(--on-dark-3); }
  .pc-chat { padding:16px; font-size:14px; line-height:1.5; color:var(--on-dark-2); flex:1; }
  .pc-user { display:flex; justify-content:flex-end; margin-bottom:12px; }
  .pc-user span { background:var(--tile); color:var(--on-dark); border-radius:16px; padding:8px 12px; max-width:85%; }
  .pc-ans .hl { color:var(--on-dark); font-weight:700; } .pc-ans .sub { color:var(--on-dark-3); font-size:13px; }
  .pc-srch { background:var(--tile); border-radius:999px; padding:8px 12px; display:flex; align-items:center; gap:8px; color:var(--on-dark); margin-bottom:12px; font-size:13px; }
  .pc-srch img { width:14px; height:14px; }
  .pc-res { display:flex; gap:10px; align-items:flex-start; } .pc-res svg { width:16px; height:22px; flex:0 0 auto; margin-top:2px; }
  .pc-res .nm { color:var(--on-dark); font-weight:700; } .pc-res .sub { color:var(--on-dark-3); font-size:13px; }
  .pc-foot { display:none; }
  .quotes { display:grid; grid-template-columns:1fr 1fr; gap:var(--s5); margin-top:var(--s5); }
  .quote { background:var(--tile-2); border-radius:var(--r-md); padding:var(--s6); }
  .quote p { font-size:clamp(20px,2vw,26px); font-weight:600; line-height:1.3; letter-spacing:-0.02em; color:var(--on-dark); text-wrap:pretty; }
  .quote .who { display:flex; align-items:center; gap:12px; margin-top:var(--s5); }
  .quote .av { width:36px; height:36px; border-radius:50%; background:var(--tile); color:var(--on-dark-2); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex:0 0 auto; }
  .quote .who b { display:block; font-size:15px; color:var(--on-dark); } .quote .who span { font-size:13px; color:var(--on-dark-3); }
  .proof-foot { margin-top:var(--s6); display:flex; justify-content:space-between; gap:var(--s5); flex-wrap:wrap; align-items:center; }
  .wall { display:flex; flex-wrap:wrap; gap:8px 28px; font-size:14px; font-weight:700; letter-spacing:0.01em; color:var(--on-dark-2); }

  /* Google feature rows: text and framed product, alternating */
  .feature { display:grid; grid-template-columns:1fr 1fr; gap:var(--s8); align-items:center; padding:var(--s8) 0; }
  .feature + .feature { border-top:1px solid var(--hairline); }
  .feature.flip .f-text { order:2; } .feature.flip .f-vis { order:1; }
  .f-text .display-sm { margin-top:var(--s2); }
  .f-text .body { margin-top:var(--s4); max-width:460px; font-size:19px; line-height:1.45; }
  .f-vis { background:var(--tonal); border-radius:var(--r-lg); aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; padding:var(--s6); }
  .f-vis svg { width:100%; height:100%; max-width:460px; }
  .who-row { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s5); }
  .trade { background:var(--canvas); border-radius:var(--r-lg); overflow:hidden; }
  .trade .ph { aspect-ratio:4/3; background:var(--surface-2); position:relative; } .trade .ph img, .trade .ph svg, .trade .ph .fb { width:100%; height:100%; object-fit:cover; } .trade .ph .fb[hidden] { display:none; } .trade .ph img[hidden] { display:none; }
  .trade .bd { padding:var(--s5); } .trade .bd p { margin-top:6px; color:var(--ink-2); font-size:15px; }

  /* Guarantee: tonal tile, real face */
  .guar-grid { display:grid; grid-template-columns:0.8fr 1.2fr; gap:var(--s8); align-items:center; }
  .portrait { border-radius:var(--r-xl); overflow:hidden; aspect-ratio:4/5; background:var(--tonal-2); }
  .portrait img { width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
  .guar-copy .lead { margin-top:var(--s4); max-width:560px; color:var(--ink); font-weight:500; }
  .guar-copy .body { margin-top:var(--s4); max-width:560px; }
  .sig { margin-top:var(--s5); display:flex; align-items:center; gap:12px; }
  .sig b { display:block; font-size:16px; } .sig span { font-size:14px; color:var(--ink-2); }
  .guar-copy .btn { margin-top:var(--s6); }

  /* Pricing: Apple/Stripe card on gray */
  .pricing { display:grid; grid-template-columns:1fr 480px; gap:var(--s8); align-items:center; }
  .pricing > * { min-width:0; }
  .pricing .lead { margin-top:var(--s4); max-width:520px; }
  .incl { margin-top:var(--s6); display:grid; gap:var(--s3); max-width:460px; }
  .incl li { display:flex; gap:12px; align-items:flex-start; font-size:17px; color:var(--ink); }
  .incl li::before { content:""; flex:0 0 auto; width:22px; height:22px; border-radius:50%; background:var(--tonal); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B03E0A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); background-size:12px; background-repeat:no-repeat; background-position:center; margin-top:2px; }
  .pr { background:var(--canvas); border-radius:var(--r-lg); padding:var(--s6); }
  .toggle { display:inline-flex; background:var(--surface); border-radius:var(--pill); padding:4px; gap:2px; margin-bottom:var(--s5); }
  .toggle button { border:0; background:transparent; font:inherit; font-size:15px; font-weight:600; color:var(--ink-2); padding:8px 16px; min-height:40px; border-radius:var(--pill); cursor:pointer; display:inline-flex; align-items:center; gap:8px; transition:background-color 200ms var(--ease), color 200ms var(--ease); }
  .toggle button.on { background:var(--ink); color:#fff; }
  .toggle button em { font-style:normal; font-size:12px; font-weight:700; color:var(--accent-ink); } .toggle button.on em { color:var(--accent-on-dark); }
  .pr .lbl { font-size:15px; font-weight:700; color:var(--ink-2); }
  .pr .amt { font-weight:800; font-size:64px; line-height:1; letter-spacing:-0.05em; margin-top:var(--s2); }
  .pr .amt small { font-size:17px; font-weight:600; letter-spacing:-0.01em; color:var(--ink-2); }
  .pr .bill { margin-top:var(--s2); font-size:14px; color:var(--ink-2); min-height:20px; }
  .pr ul { margin-top:var(--s5); display:grid; gap:10px; }
  .pr li { font-size:15px; color:var(--ink); padding-left:24px; position:relative; }
  .pr li::before { content:""; position:absolute; left:2px; top:9px; width:12px; height:7px; border-left:2px solid var(--accent-ink); border-bottom:2px solid var(--accent-ink); transform:rotate(-45deg); }
  .pr .btn { width:100%; margin-top:var(--s5); }
  .pr .pay-alt { display:flex; align-items:center; justify-content:center; min-height:44px; margin-top:var(--s1); font-size:14px; font-weight:600; color:var(--accent-ink); text-decoration:none; }
  .pr .pay-alt:hover { text-decoration:underline; }

  /* FAQ */
  .qs-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 var(--s8); max-width:1040px; margin:0 auto; }
  .qs { border-top:1px solid var(--hairline); }
  details { border-bottom:1px solid var(--hairline); }
  summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:var(--s4); align-items:center; padding:20px 0; font-weight:600; font-size:19px; line-height:1.3; letter-spacing:-0.015em; min-height:48px; }
  summary::-webkit-details-marker { display:none; }
  summary::after { content:"+"; font-size:24px; font-weight:400; color:var(--accent-ink); flex:0 0 auto; }
  details[open] summary::after { content:"\2212"; }
  details p { padding:0 0 20px; color:var(--ink-2); font-size:16px; max-width:520px; }

  /* Closing tile + footer */
  .close .display { max-width:760px; margin:0 auto; }
  .close .lead { max-width:560px; margin:var(--s4) auto 0; }
  .close .hero-cta { margin-top:var(--s6); }
  footer { background:var(--surface); padding:var(--s7) 0 var(--s6); }
  .f-top { display:flex; justify-content:space-between; gap:var(--s5); flex-wrap:wrap; align-items:center; }
  .f-links { display:flex; gap:var(--s5); flex-wrap:wrap; }
  .f-links a { text-decoration:none; font-size:14px; font-weight:500; color:var(--ink-2); min-height:44px; display:inline-flex; align-items:center; }
  .f-links a:hover { color:var(--ink); }
  .f-fine { border-top:1px solid var(--hairline); margin-top:var(--s5); padding-top:var(--s5); }

  /* Apple floating sticky bar, used as the conversion bar on phones */
  .sticky { position:fixed; left:0; right:0; bottom:0; z-index:30; display:none; align-items:center; justify-content:space-between; gap:var(--s3); padding:10px var(--s4) calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,0.86); -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px); border-top:1px solid var(--hairline); transform:translateY(100%); transition:transform 300ms var(--ease); }
  .sticky.show { transform:none; }
  .sticky .txt { font-size:13px; line-height:1.3; color:var(--ink-2); } .sticky .txt b { display:block; color:var(--ink); font-weight:700; font-size:14px; }

  @media (max-width:1040px) {
    .tile { padding:var(--s9) 0; }
    .deck, .stats, .cases, .quotes, .feature, .who-row, .guar-grid, .pricing, .qs-grid { grid-template-columns:1fr; }
    .feature.flip .f-text { order:1; } .feature.flip .f-vis { order:2; }
    .feature { gap:var(--s6); padding:var(--s7) 0; }
    .deck .mapc { display:none; }
    .portrait { max-width:420px; aspect-ratio:1; }
    .nav-links a:not(.btn):not(.keep) { display:none; }
    .qs-grid .qs + .qs { border-top:0; }
    .f-vis { aspect-ratio:16/10; }
  }
  @media (max-width:600px) {
    .tile { padding:var(--s8) 0; }
    .wrap { padding:0 var(--s4); }
    .hero { padding-top:var(--s7); }
    .hero-cta { flex-direction:column; gap:var(--s3); }
    .hero-cta .btn, .pr .btn, .guar-copy .btn, .close .btn { width:100%; }
    .stage { padding:var(--s6) var(--s4) 0; border-radius:var(--r-lg) var(--r-lg) 0 0; }
    .brand span { display:none; }
    .nav-links { gap:var(--s4); } .nav-links a.keep { font-size:14px; }
    .btn .lg-t { display:none; } .btn .sm-t { display:inline; }
    .sticky { display:flex; }
    body { padding-bottom:72px; }
    summary { font-size:17px; }
    .pr { padding:var(--s5); }
    .toggle { display:grid; grid-template-columns:repeat(3,1fr); width:100%; }
    .toggle button { padding:8px 4px; font-size:14px; justify-content:center; gap:4px; }
    .toggle button em { font-size:11px; }
  }
  @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation:none !important; transition:none !important; } html { scroll-behavior:auto; } }

  /* Forms and stages (scan, onboard, thanks): Apple field grammar, 48px targets */
  .field { width:100%; min-height:48px; padding:12px 16px; border:1px solid var(--surface-2); border-radius:var(--r-sm); background:var(--canvas); font:inherit; font-size:17px; color:var(--ink); transition:border-color 150ms var(--ease), box-shadow 150ms var(--ease); -webkit-appearance:none; appearance:none; }
  .field::placeholder { color:var(--ink-3); }
  .field:focus { outline:none; border-color:var(--ink); box-shadow:0 0 0 3px rgba(29,29,31,0.08); }
  .field:disabled { background:var(--surface); color:var(--ink-3); }
  select.field { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E6E73' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px; padding-right:42px; }
  select.field:invalid, select.field option[value=""] { color:var(--ink-3); }
  textarea.field { min-height:88px; resize:vertical; line-height:1.4; }
  .label { display:block; font-size:14px; font-weight:600; color:var(--ink); margin:var(--s4) 0 6px; line-height:1.4; }
  .label span { font-weight:500; color:var(--ink-2); }
  .f-grid { display:grid; gap:10px; }
  .f-2 { grid-template-columns:1fr 1fr; }
  .check { display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--ink-2); font-weight:500; margin-top:var(--s3); line-height:1.4; cursor:pointer; }
  .check input { width:18px; height:18px; margin-top:1px; accent-color:var(--accent); flex:0 0 auto; }
  .check a { color:var(--accent-ink); }
  .help { font-size:13px; color:var(--ink-3); margin-top:6px; line-height:1.4; }
  .warn { font-size:13px; color:var(--accent-ink); margin-top:6px; }
  .legal { font-size:12px; color:var(--ink-3); line-height:1.5; margin-top:var(--s4); }
  .form-card { background:var(--canvas); border-radius:var(--r-lg); padding:var(--s6); box-shadow:var(--shadow-product); }
  .form-card h2 { font-size:24px; font-weight:800; letter-spacing:-0.03em; line-height:1.1; }
  .form-card .btn { width:100%; margin-top:var(--s4); }
  .dots { display:flex; gap:6px; margin:var(--s3) 0 var(--s5); }
  .dots i { width:20px; height:4px; border-radius:2px; background:var(--surface-2); transition:background-color 200ms var(--ease); }
  .dots i.on { background:var(--accent); }
  .f-step { display:none; } .f-step.on { display:block; }
  .callout { background:var(--tonal); border-radius:var(--r-md); padding:var(--s4) var(--s5); font-size:15px; line-height:1.5; color:var(--ink); margin-top:var(--s5); }
  .callout b { font-weight:700; }
  .video { position:relative; aspect-ratio:16/9; border-radius:var(--r-md); overflow:hidden; background:var(--tile); box-shadow:var(--shadow-product); }
  .video iframe, .video video { position:absolute; inset:0; width:100%; height:100%; border:0; background:#000; }
  .btn-outline { background:transparent; color:var(--accent-ink); box-shadow:inset 0 0 0 2px var(--accent-fill); }
  .btn-outline:hover { background:var(--tonal); }
  /* Google Places lookup and the qualification gate on the lander */
  .ac-wrap { position:relative; }
  .ac-list { position:absolute; top:100%; left:0; right:0; background:var(--canvas); border-radius:var(--r-sm); margin-top:6px; box-shadow:var(--shadow-product); z-index:30; max-height:280px; overflow:auto; display:none; }
  .ac-list.on { display:block; }
  .ac-item { padding:12px 16px; cursor:pointer; border-bottom:1px solid var(--hairline); font-size:15px; line-height:1.35; }
  .ac-item b { display:block; font-weight:600; color:var(--ink); }
  .ac-item span { font-size:13px; color:var(--ink-2); }
  .ac-item.hi, .ac-item[data-i]:hover { background:var(--tonal); }
  .ac-foot { padding:10px 16px; font-size:13px; color:var(--ink-2); display:flex; justify-content:space-between; align-items:center; gap:10px; }
  .ac-foot button { background:none; border:none; padding:0; min-height:24px; color:var(--accent-ink); font:inherit; font-size:13px; font-weight:600; cursor:pointer; text-decoration:underline; }
  .ac-hint { display:none; } .ac-hint.on { display:block; }
  .biz-ok { display:none; text-align:left; background:#E9F6EE; border-radius:var(--r-sm); padding:12px 16px; font-size:14px; color:var(--ink); line-height:1.45; }
  .biz-ok.on { display:block; }
  .biz-ok b { font-weight:700; } .biz-ok .stars { color:var(--accent-ink); font-weight:700; }
  .biz-ok .again { background:none; border:none; padding:0; font:inherit; font-size:13px; color:var(--ink-2); text-decoration:underline; cursor:pointer; margin-top:4px; }
  .exit { display:none; text-align:left; margin-top:var(--s5); } .exit.on { display:block; }
  .exit h3 { font-size:22px; font-weight:700; letter-spacing:-0.02em; line-height:1.25; }
  .exit p { font-size:15px; color:var(--ink-2); margin-top:10px; line-height:1.5; }
  .exit ol { list-style:decimal; margin:12px 0 0 20px; font-size:15px; color:var(--ink); }
  .exit ol li { margin-top:6px; }
  .exit .rl { display:block; margin-top:10px; font-size:14px; color:var(--accent-ink); word-break:break-all; }
  .exit .back { background:none; border:none; padding:0; margin-top:18px; min-height:44px; font:inherit; font-size:14px; font-weight:600; color:var(--ink-2); text-decoration:underline; cursor:pointer; }
  #gmb-manual { display:none; gap:10px; }
  .stage-2 { margin-top:var(--s8); background:var(--surface); border-radius:var(--r-xl); padding:var(--s7) var(--s6); animation:rise 600ms var(--ease-out) 120ms both; }
  .stage-2 .deck2 { max-width:1040px; margin:0 auto; display:grid; grid-template-columns:1.15fr 1fr; gap:var(--s6); align-items:start; }
  .steps3 { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s5); }
  .step-card { background:var(--surface); border-radius:var(--r-lg); padding:var(--s6); }
  .step-card .title { margin-top:var(--s2); } .step-card p { margin-top:var(--s3); color:var(--ink-2); font-size:16px; }
  .outcomes { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s5); }
  .outcome { background:var(--surface); border-radius:var(--r-lg); padding:var(--s6); }
  .outcome .big { font-weight:800; font-size:clamp(48px,6vw,80px); line-height:0.95; letter-spacing:-0.05em; color:var(--accent-ink); margin-top:var(--s3); }
  .outcome .lbl { font-size:19px; font-weight:600; margin-top:var(--s2); }
  .outcome .extra { font-size:15px; color:var(--ink-2); margin-top:6px; }
  .outcome .fine { margin-top:var(--s4); }
  .steps-list { display:grid; gap:12px; max-width:720px; margin:var(--s5) auto 0; text-align:left; }
  .stp { display:flex; gap:14px; align-items:flex-start; background:var(--surface); border-radius:var(--r-md); padding:16px 18px; }
  .stp .n { flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:var(--accent-fill); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; }
  .stp b { display:block; font-size:17px; font-weight:700; color:var(--ink); line-height:1.3; }
  .stp b + div { color:var(--ink-2); font-size:15px; margin-top:3px; line-height:1.45; }
  .vsl-box { max-width:820px; margin:var(--s5) auto 0; }
  .cal-frame { background:var(--canvas); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-product); }
  .steps-row { display:flex; gap:var(--s5); justify-content:center; flex-wrap:wrap; margin-top:var(--s5); font-size:14px; color:var(--ink-2); }
  .steps-row b { color:var(--ink); font-weight:700; }
  .booked { background:#E9F6EE; border:1px solid rgba(30,158,90,0.3); border-radius:var(--r-sm); padding:16px 18px; margin:0 0 16px; color:var(--ink); font-size:15px; line-height:1.5; text-align:left; }
  .booked b { color:#157A45; } .booked a { color:var(--accent-ink); } .booked span { color:var(--ink-2); font-size:13px; }
  @media (max-width:1040px) { .stage-2 .deck2, .steps3, .outcomes { grid-template-columns:1fr; } .stage-2 { padding:var(--s6) var(--s5); } }
  @media (max-width:600px) { .f-2 { grid-template-columns:1fr; } .stage-2 { margin-top:var(--s7); padding:var(--s5) var(--s4); border-radius:var(--r-lg); } .form-card { padding:var(--s5); } }

  /* Legal pages: one prose column */
  .prose { max-width:720px; margin:0 auto; }
  .prose h1 { margin-top:var(--s4); }
  .prose .date { margin-top:var(--s3); font-size:15px; color:var(--ink-2); }
  .prose h2 { font-size:22px; font-weight:700; letter-spacing:-0.02em; line-height:1.25; margin-top:var(--s7); }
  .prose p, .prose li { font-size:17px; line-height:1.55; color:var(--ink-2); margin-top:var(--s3); }
  .prose ul { list-style:disc; padding-left:22px; margin-top:var(--s3); }
  .prose li { margin-top:6px; }
  .prose a { color:var(--accent-ink); }
  .prose b { color:var(--ink); }
