/* Qvijada Digital — shared styles for the check-up and city pages (copied from the live homepage, plus v9 additions) */
  /* Fonts are self-hosted (latin subset, SIL Open Font License): no third-party request. */
  @font-face { font-family:"Fraunces"; font-style:normal; font-weight:400 800; font-display:swap; src:url(/fonts/fraunces-latin.woff2) format("woff2"); }
  @font-face { font-family:"Fraunces"; font-style:italic; font-weight:400 800; font-display:swap; src:url(/fonts/fraunces-italic-latin.woff2) format("woff2"); }
  @font-face { font-family:"Karla"; font-style:normal; font-weight:400 800; font-display:swap; src:url(/fonts/karla-latin.woff2) format("woff2"); }
  /* Qvijada Digital v5.
     Signature: the page is a story told in full-screen chapters; a floating
     dock (EN/ES + Call + Quote) is always one thumb away.
     Every screen: Attention → Clarity → Action.
     The colors and fonts below are Qvijada's own; pick new ones per project. */
  :root {
    color-scheme: light;
    --bg:#FBF8EE; --surface:#FFFFFF; --ink:#16211C; --ink-soft:#4E5F57;
    --hair:rgba(22,33,28,.12); --hair-strong:rgba(22,33,28,.22);
    --green:#35704F; --green-deep:#173B2A; --orange:#ED8434; --orange-deep:#D96F1F; --gold:#F5C77E;
    --on-dark:#F4F1E6; --on-dark-soft:#B9CBBF;
    --r-lg:28px; --r-md:18px;
    --ease:cubic-bezier(.23,1,.32,1);
    --maxw:1280px; --gutter:clamp(20px, 4.5vw, 48px);
    --display:"Fraunces", Georgia, serif;
    --text:"Karla", system-ui, -apple-system, "Segoe UI", sans-serif;
  }
  *, *::before, *::after { box-sizing:border-box; }
  html { -webkit-text-size-adjust:100%; }
  body { margin:0; background:var(--bg); color:var(--ink); font:400 18px/1.6 var(--text); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
  h1, h2, h3, p, ul { margin:0; }
  ul { padding:0; list-style:none; }
  a { color:inherit; }
  img, svg { display:block; max-width:100%; }
  :focus-visible { outline:3px solid var(--orange); outline-offset:3px; border-radius:6px; }
  .wrap { width:100%; max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
  .eyebrow { font:700 13px/1.2 var(--text); letter-spacing:.14em; text-transform:uppercase; }

  .skip { position:absolute; left:12px; top:-60px; z-index:100; padding:10px 16px; background:var(--ink); color:#fff; border-radius:10px; font-weight:800; text-decoration:none; }
  .skip:focus { top:12px; }
  html { scroll-padding-top:24px; }
  @media (prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }

  /* ---------- header ---------- */
  .top { position:absolute; inset:0 0 auto; z-index:20; }
  .top-inner { display:flex; align-items:center; justify-content:space-between; height:84px; }
  .brand { display:flex; align-items:center; gap:10px; text-decoration:none; }
  .brand img { width:36px; height:36px; border-radius:10px; }
  .brand b { font:700 22px/1 var(--display); letter-spacing:-.01em; font-variation-settings:"SOFT" 70,"WONK" 1; }
  .brand small { font:700 11px/1 var(--text); letter-spacing:.16em; text-transform:uppercase; color:var(--green); margin-left:6px; }
  .top nav { display:none; gap:30px; }
  .top nav a { text-decoration:none; font-weight:600; font-size:16px; color:var(--ink-soft); }
  .top nav a:hover { color:var(--ink); }
  .top-call { display:none; font-weight:800; text-decoration:none; font-size:16px; }
  @media (min-width:1000px) { .top nav, .top-call { display:flex; } }

  /* ---------- 1. HERO — attention + clarity + action ---------- */
  .hero { position:relative; min-height:100svh; display:grid; align-items:center; padding:120px 0 150px; }
  .hero-grid { display:grid; gap:56px; align-items:center; }
  @media (min-width:1060px) { .hero-grid { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:40px; } }
  .hero .eyebrow { color:var(--green); display:flex; align-items:center; gap:10px; }
  .hero .eyebrow::before { content:""; width:28px; height:2px; background:currentColor; }
  .h1 { margin-top:22px; font:760 clamp(52px, 7.4vw, 124px)/.92 var(--display); letter-spacing:-.04em; font-variation-settings:"SOFT" 30,"WONK" 0,"opsz" 144; text-wrap:balance; }
  .h1 .ring { position:relative; display:inline-block; color:var(--orange); font-style:italic; font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144; }
  .h1 .ring::after { content:""; position:absolute; left:.04em; right:.02em; bottom:.02em; height:.09em; border-radius:99px; background:currentColor; transform-origin:left; animation:underline 1s .9s var(--ease) both; }
  @keyframes underline { from { transform:scaleX(0); } }
  .lede { margin-top:28px; font-size:clamp(19px, .6vw + 15px, 23px); line-height:1.5; color:var(--ink-soft); max-width:40ch; }
  .lede strong { color:var(--ink); }
  .cta-row { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; margin-top:36px; }
  .btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:60px; padding:16px 30px; border-radius:999px; border:0; font:800 18px/1 var(--text); text-decoration:none; cursor:pointer; transition:background-color .18s var(--ease), transform .14s var(--ease); }
  .btn:active { transform:scale(.97); }
  .btn-go { background:var(--orange); color:var(--ink); }
  .btn-go:hover { background:var(--orange-deep); }
  .btn .arr { transition:transform .2s var(--ease); }
  .btn:hover .arr { transform:translateX(4px); }
  .or-call { font-weight:700; color:var(--ink-soft); }
  .or-call a { color:var(--ink); font-weight:800; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; text-decoration-color:var(--orange); }
  .promise { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:30px; font-weight:700; font-size:16px; }
  .promise li { display:flex; align-items:center; gap:8px; }
  .promise li::before { content:""; width:18px; height:18px; border-radius:50%; background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }

  /* staged entrance — attention without making anyone wait */
  .rise { animation:rise .8s var(--ease) both; }
  .d1 { animation-delay:.05s } .d2 { animation-delay:.15s } .d3 { animation-delay:.3s } .d4 { animation-delay:.42s } .d5 { animation-delay:.55s }
  @keyframes rise { from { opacity:0; transform:translateY(28px); } }

  /* devices: the product, shown working */
  .devices { position:relative; width:min(100%, 600px); margin:0 auto; aspect-ratio:600/470; }
  .laptop { position:absolute; left:0; top:0; width:88%; }
  .screen { position:relative; border-radius:16px 16px 4px 4px; background:#10160F; padding:10px 10px 0; box-shadow:0 50px 90px -50px rgba(22,33,28,.7); }
  .screen-in { border-radius:8px 8px 0 0; overflow:hidden; aspect-ratio:16/10; background:#fff; }
  .base { height:16px; margin:0 -6%; border-radius:0 0 18px 18px; background:linear-gradient(#D9D5CA,#BDB8AC); }
  .phone { position:absolute; right:0; bottom:0; width:32%; padding:7px; border-radius:30px; background:#10160F; box-shadow:0 40px 70px -30px rgba(22,33,28,.75); }
  .phone-in { border-radius:24px; overflow:hidden; aspect-ratio:9/18.5; background:#fff; }
  .demo-lang { position:absolute; left:4%; bottom:4%; display:flex; align-items:center; gap:8px; padding:8px 14px 8px 10px; border-radius:999px; background:var(--surface); box-shadow:0 0 0 1px var(--hair), 0 16px 30px -18px rgba(22,33,28,.5); font:800 13px/1 var(--text); letter-spacing:.06em; }
  .demo-lang i { width:9px; height:9px; border-radius:50%; background:var(--orange); animation:blink 1.8s infinite; }
  @keyframes blink { 50% { opacity:.25; } }

  /* fake client site inside the devices */
  .cs { height:100%; display:flex; flex-direction:column; font-family:var(--text); color:#1d2430; }
  .cs-bar { display:flex; align-items:center; justify-content:space-between; padding:6% 6% 4%; }
  .cs-logo { font:800 clamp(9px, 1.25vw, 14px)/1 var(--text); letter-spacing:.02em; display:flex; align-items:center; gap:5px; }
  .cs-logo::before { content:""; width:1.1em; height:1.1em; border-radius:3px; background:#C2412D; }
  .cs-pill { font:800 clamp(6px, .8vw, 9px)/1 var(--text); padding:.8em 1.2em; border-radius:99px; background:#C2412D; color:#fff; }
  .cs-hero { flex:1; display:grid; grid-template-columns:1.1fr .9fr; gap:5%; padding:2% 6% 6%; align-items:center; }
  .cs-h { font:800 clamp(13px, 2.1vw, 26px)/1.02 var(--display); letter-spacing:-.02em; }
  .cs-p { margin-top:.7em; font-size:clamp(6px, .75vw, 10px); line-height:1.4; color:#5a6270; }
  .cs-cta { display:inline-block; margin-top:1em; font:800 clamp(6px, .8vw, 10px)/1 var(--text); padding:1em 1.4em; border-radius:99px; background:#C2412D; color:#fff; }
  .cs-art { height:100%; min-height:60%; border-radius:8px; background:linear-gradient(160deg,#F3D9B8,#E9B07A); position:relative; overflow:hidden; }
  .cs-art::before { content:""; position:absolute; left:-10%; right:-10%; bottom:18%; height:46%; background:#7D3B2A; clip-path:polygon(0 100%, 50% 8%, 100% 100%); }
  .cs-art::after { content:""; position:absolute; left:0; right:0; bottom:0; height:22%; background:#4E6B45; }
  .phone .cs-bar { padding:14% 10% 8%; }
  .phone .cs-logo { font-size:clamp(8px, 1vw, 11px); }
  .phone .cs-pill { display:none; }
  .phone .cs-hero { grid-template-columns:1fr; padding:0 10% 10%; gap:8%; align-content:start; }
  .phone .cs-art { height:auto; aspect-ratio:4/3; order:-1; }
  .phone .cs-h { font-size:clamp(12px, 1.6vw, 19px); }
  .phone .cs-p { font-size:clamp(6px, .7vw, 9px); }
  .phone .cs-call { display:block; margin-top:auto; margin:auto 8% 10%; padding:.9em; border-radius:99px; background:#C2412D; color:#fff; text-align:center; font:800 clamp(7px, .85vw, 10px)/1 var(--text); }
  .cs-call { display:none; }
  .swap { transition:opacity .35s ease, transform .45s var(--ease); }
  .swapping .swap { opacity:0; transform:translateY(6px); }

  /* ---------- 2. THE PROBLEM — chapter on cream ---------- */
  .chapter { position:relative; padding:clamp(96px, 14vw, 190px) 0; }
  .ch-num { font:700 13px/1 var(--text); letter-spacing:.14em; text-transform:uppercase; display:flex; gap:14px; align-items:center; }
  .ch-num span { display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; box-shadow:inset 0 0 0 1.5px currentColor; letter-spacing:0; }
  .big { font:740 clamp(44px, 6.6vw, 112px)/.95 var(--display); letter-spacing:-.035em; font-variation-settings:"SOFT" 40,"opsz" 144; text-wrap:balance; max-width:14ch; margin-top:28px; }
  .problem { border-top:1px solid var(--hair); }
  .leaks { margin-top:clamp(48px, 6vw, 80px); display:grid; border-top:1.5px solid var(--ink); }
  .leak { display:grid; grid-template-columns:auto 1fr; gap:6px 22px; padding:26px 0; border-bottom:1px solid var(--hair-strong); align-items:baseline; }
  .leak b { font:760 clamp(40px, 4.5vw, 64px)/1 var(--display); color:var(--orange); letter-spacing:-.03em; min-width:1.4em; }
  .leak h3 { font:700 clamp(24px, 2vw + .5rem, 34px)/1.15 var(--display); letter-spacing:-.015em; }
  .leak p { grid-column:2; color:var(--ink-soft); max-width:52ch; }
  @media (min-width:900px) {
    .leaks { grid-template-columns:repeat(3,1fr); border-top:0; gap:0 40px; }
    .leak { grid-template-columns:1fr; border-top:1.5px solid var(--ink); border-bottom:0; padding-top:28px; }
    .leak p { grid-column:1; }
  }

  /* ---------- 3. THE TURN — full-bleed green chapter ---------- */
  .turn { background:var(--green-deep); color:var(--on-dark); overflow:hidden; }
  .turn .ch-num { color:var(--gold); }
  .turn .big { max-width:16ch; }
  .aside { display:block; margin-top:.35em; font:italic 420 .42em/1.25 var(--display); letter-spacing:-.005em; color:var(--gold); font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 48; }
  .turn-body { margin-top:40px; font-size:clamp(19px, .6vw + 15px, 22px); color:var(--on-dark-soft); max-width:50ch; }
  .giant { margin-top:clamp(70px, 9vw, 130px); font:800 100px/.8 var(--display); width:max-content; letter-spacing:-.06em; font-variation-settings:"SOFT" 0,"opsz" 144; white-space:nowrap; color:var(--on-dark); margin-left:-.04em; }
  .giant em { font-style:italic; color:var(--orange); font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144; }
  .giant-sub { display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px; margin-top:26px; padding-top:22px; border-top:1px solid rgba(255,255,255,.18); color:var(--on-dark-soft); font-weight:600; }
  .giant-sub a { color:var(--on-dark); font-weight:800; text-underline-offset:5px; text-decoration-color:var(--orange); text-decoration-thickness:2px; }

  /* ---------- 4. LOCAL — slash line on orange ---------- */
  .local { background:var(--orange); color:var(--ink); }
  .local .ch-num { color:var(--ink); }
  .towns { margin-top:36px; font:700 clamp(32px, 4.4vw, 72px)/1.14 var(--display); letter-spacing:-.025em; font-variation-settings:"SOFT" 50,"opsz" 144; }
  .towns span { white-space:nowrap; }
  .towns i { font-style:normal; font-weight:300; opacity:.45; margin:0 .18em; }
  .towns .far { font-style:italic; font-weight:500; font-variation-settings:"SOFT" 100,"WONK" 1; }
  .local-foot { margin-top:44px; display:flex; flex-wrap:wrap; gap:20px 40px; align-items:center; justify-content:space-between; font-size:19px; font-weight:600; max-width:none; }
  .local-foot p { max-width:48ch; }
  .btn-ink { background:var(--ink); color:var(--bg); }
  .btn-ink:hover { background:#000; }

  /* ---------- shared chapter heads ---------- */
  .ch-head { display:grid; gap:24px; align-items:end; }
  @media (min-width:980px) { .ch-head { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:64px; } }
  .ch-lede { font-size:clamp(18px, .5vw + 15px, 21px); color:var(--ink-soft); max-width:46ch; }
  .rule { border-top:1px solid var(--hair); }
  .btn-line { background:transparent; color:var(--ink); box-shadow:inset 0 0 0 1.5px var(--ink); }
  .btn-line:hover { background:var(--ink); color:var(--bg); }

  /* ---------- 4. PRICING ---------- */
  .tiers { display:grid; gap:18px; margin-top:clamp(48px, 6vw, 80px); align-items:stretch; }
  @media (min-width:960px) { .tiers { grid-template-columns:1fr 1.12fr 1fr; gap:22px; } }
  .tier { display:flex; flex-direction:column; padding:clamp(28px, 2.6vw, 40px); border-radius:var(--r-lg); background:var(--surface); box-shadow:0 0 0 1px var(--hair), 0 24px 50px -40px rgba(22,33,28,.5); }
  .tier-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
  .tier-k { font:800 14px/1 var(--text); letter-spacing:.12em; text-transform:uppercase; color:var(--green); }
  .tier-n { font:700 15px/1 var(--display); color:var(--ink-soft); }
  .tier h3 { margin-top:18px; font:740 clamp(30px, 2.4vw + .5rem, 42px)/1.02 var(--display); letter-spacing:-.025em; font-variation-settings:"SOFT" 40,"opsz" 144; }
  .tier ul { display:grid; gap:12px; margin:26px 0 30px; padding-top:22px; border-top:1px solid var(--hair); flex:1; }
  .tier li { position:relative; padding-left:28px; }
  .tier li::before { content:""; position:absolute; left:2px; top:.5em; width:13px; height:7px; border:solid var(--green); border-width:0 0 2.5px 2.5px; transform:rotate(-45deg); }
  .tier .btn { width:100%; }
  .tier-hot { background:var(--green-deep); color:var(--on-dark); box-shadow:0 40px 80px -40px rgba(23,59,42,.8); }
  .tier-hot .tier-k { color:var(--gold); }
  .tier-hot .tier-n { color:var(--on-dark-soft); }
  .tier-hot ul { border-top-color:rgba(255,255,255,.16); }
  .tier-hot li::before { border-color:var(--gold); }
  .flag { padding:7px 13px; border-radius:999px; background:var(--gold); color:#3A2708; font:800 13px/1 var(--text); }
  @media (min-width:960px) { .tier-hot { transform:translateY(-18px); } }

  /* ---------- 5. PROCESS ---------- */
  .process { background:var(--ink); color:var(--on-dark); }
  .process .ch-num { color:var(--orange); }
  .process .ch-lede { color:var(--on-dark-soft); }
  .steps { display:grid; gap:0; margin-top:clamp(56px, 7vw, 96px); counter-reset:step; }
  .step { position:relative; display:grid; grid-template-columns:auto 1fr; gap:4px 24px; padding:30px 0; border-top:1px solid rgba(255,255,255,.16); }
  .step-n { grid-row:span 2; font:800 clamp(72px, 9vw, 150px)/.8 var(--display); letter-spacing:-.05em; color:transparent; -webkit-text-stroke:2.5px var(--orange); font-variation-settings:"SOFT" 0,"opsz" 144; }
  .step h3 { font:720 clamp(24px, 1.6vw + .6rem, 32px)/1.1 var(--display); letter-spacing:-.015em; }
  .step p { color:var(--on-dark-soft); max-width:46ch; }
  .step-when { display:inline-block; margin-bottom:10px; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.08); font:800 12px/1 var(--text); letter-spacing:.1em; text-transform:uppercase; color:var(--gold); }
  @media (min-width:960px) {
    .steps { grid-template-columns:repeat(3,1fr); gap:0 48px; }
    .step { grid-template-columns:1fr; border-top:2px solid var(--orange); padding-top:34px; }
    .step-n { grid-row:auto; margin-bottom:22px; }
  }

  /* ---------- 6. STRAIGHT ANSWER ---------- */
  .honest { background:var(--gold); color:#2A1D07; }
  .honest .ch-num { color:#2A1D07; }
  .honest-grid { display:grid; gap:48px; margin-top:28px; }
  @media (min-width:980px) { .honest-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:72px; align-items:start; } }
  .honest .big { max-width:12ch; margin-top:0; }
  .honest-note { margin-top:34px; font:430 clamp(21px, .9vw + 15px, 27px)/1.45 var(--display); font-variation-settings:"SOFT" 100,"opsz" 24; max-width:40ch; }
  .check { padding:clamp(28px, 3vw, 40px); border-radius:var(--r-lg); background:var(--bg); color:var(--ink); box-shadow:0 30px 60px -40px rgba(42,29,7,.6); }
  .check h3 { font:720 28px/1.1 var(--display); letter-spacing:-.015em; }
  .check ol { display:grid; gap:16px; margin:24px 0 26px; padding:0; list-style:none; counter-reset:c; }
  .check li { position:relative; padding-left:44px; color:var(--ink-soft); counter-increment:c; }
  .check li::before { content:counter(c); position:absolute; left:0; top:-2px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--ink); color:var(--bg); font:800 14px/1 var(--text); }
  .check .offer { font-weight:800; margin-bottom:20px; padding-top:22px; border-top:1px solid var(--hair); }
  .check .btn { width:100%; }

  /* ---------- 7. ABOUT ---------- */
  .about-grid { display:grid; gap:48px; margin-top:28px; }
  @media (min-width:980px) { .about-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:72px; align-items:start; } }
  .about .big { margin-top:0; max-width:13ch; }
  .about-copy p { margin-top:22px; font-size:clamp(18px, .4vw + 16px, 20px); color:var(--ink-soft); max-width:52ch; }
  .card { padding:clamp(28px, 3vw, 38px); border-radius:var(--r-lg); background:var(--surface); box-shadow:0 0 0 1px var(--hair), 0 30px 60px -40px rgba(22,33,28,.5); }
  .card-name { font:740 34px/1 var(--display); letter-spacing:-.02em; }
  .card-role { margin-top:8px; color:var(--ink-soft); }
  .card-links { display:grid; gap:4px; margin-top:22px; padding-top:20px; border-top:1px solid var(--hair); }
  .card-links a { display:flex; align-items:center; gap:10px; min-height:44px; font-weight:800; text-decoration:none; }
  .card-links a:hover { color:var(--green); }
  .card-links svg { width:20px; height:20px; flex:none; }
  .ico-fill { fill:currentColor; }
  .ico-line { fill:none; stroke:currentColor; stroke-width:2; }
  .ico-line .dot { fill:currentColor; stroke:none; }
  .card-hours { margin-top:18px; padding-top:18px; border-top:1px solid var(--hair); font-size:16px; color:var(--ink-soft); }
  .card-hours b { display:block; color:var(--ink); font-size:13px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:4px; }

  /* ---------- 8. FAQ ---------- */
  .faq-grid { display:grid; gap:40px; margin-top:28px; }
  @media (min-width:980px) { .faq-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:72px; align-items:start; } .faq-side { position:sticky; top:40px; } }
  .faq .big { margin-top:0; max-width:10ch; }
  .faq-more { margin-top:24px; font-size:19px; color:var(--ink-soft); }
  .faq-more a { color:var(--ink); font-weight:800; text-decoration-color:var(--orange); text-decoration-thickness:2px; text-underline-offset:5px; }
  .faq { background:#EDF3E5; }
  .qa { border-top:1.5px solid var(--ink); }
  .qa details { border-bottom:1px solid var(--hair-strong); }
  .qa summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; font:700 clamp(21px, .8vw + 16px, 26px)/1.2 var(--display); letter-spacing:-.01em; }
  .qa summary::-webkit-details-marker { display:none; }
  .plus { position:relative; flex:none; width:40px; height:40px; border-radius:50%; background:var(--orange); transition:transform .25s var(--ease), background-color .16s; }
  .plus::before, .plus::after { content:""; position:absolute; left:50%; top:50%; width:14px; height:2.5px; border-radius:2px; background:var(--ink); transform:translate(-50%,-50%); }
  .plus::after { transform:translate(-50%,-50%) rotate(90deg); }
  .qa summary:hover .plus { background:var(--orange-deep); }
  .qa details[open] .plus { transform:rotate(45deg); }
  .qa details p { padding:0 60px 26px 0; color:var(--ink-soft); max-width:60ch; }

  /* ---------- 9. QUOTE ---------- */
  .quote { background:var(--green-deep); color:var(--on-dark); }
  .quote .giant { margin-top:0; }
  .quote-grid { display:grid; gap:48px; margin-top:clamp(40px, 5vw, 72px); padding-top:clamp(32px, 4vw, 48px); border-top:1px solid rgba(255,255,255,.16); }
  @media (min-width:980px) { .quote-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:72px; align-items:start; } }
  .quote h2 { font:740 clamp(34px, 3vw + .8rem, 54px)/1 var(--display); letter-spacing:-.03em; font-variation-settings:"SOFT" 40,"opsz" 144; }
  .quote-lede { margin-top:22px; font-size:19px; color:var(--on-dark-soft); max-width:42ch; }
  .quote-phone { display:inline-block; margin-top:32px; font:760 clamp(34px, 3vw + .6rem, 48px)/1 var(--display); letter-spacing:-.02em; color:var(--on-dark); text-decoration:underline; text-decoration-color:var(--orange); text-decoration-thickness:3px; text-underline-offset:10px; }
  .quote-hours { margin-top:18px; color:var(--on-dark-soft); max-width:38ch; }
  .quote-text { display:inline-block; margin-top:12px; font-weight:800; color:var(--on-dark); text-underline-offset:5px; }
  #quote-form, .form-success { display:grid; gap:20px; padding:clamp(24px, 3vw, 40px); border-radius:var(--r-lg); background:var(--bg); color:var(--ink); box-shadow:0 50px 90px -40px rgba(0,0,0,.6); }
  .hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
  .field { display:grid; gap:8px; border:0; padding:0; margin:0; min-width:0; }
  .field label, .field legend { font-weight:800; font-size:15.5px; padding:0; }
  .field legend { margin-bottom:8px; }
  .field-row { display:grid; gap:20px; }
  @media (min-width:620px) { .field-row { grid-template-columns:1fr 1fr; } }
  input[type="text"], input[type="tel"], select, textarea { width:100%; min-height:56px; padding:12px 16px; border-radius:14px; border:1.5px solid var(--hair-strong); background:var(--surface); color:var(--ink); font:600 17px var(--text); transition:border-color .16s, box-shadow .16s; }
  textarea { min-height:96px; resize:vertical; line-height:1.45; }
  input:focus, select:focus, textarea:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 4px rgba(53,112,79,.18); }
  input[aria-invalid="true"] { border-color:#A33F12; box-shadow:0 0 0 4px rgba(163,63,18,.14); }
  .field-error { color:#A33F12; font-size:14.5px; font-weight:800; }
  .chips { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .chip { position:relative; }
  .chip input { position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
  .chip span { display:flex; align-items:center; justify-content:center; min-height:50px; padding:10px 14px; border-radius:999px; cursor:pointer; user-select:none; border:1.5px solid var(--hair-strong); background:var(--surface); font-size:15.5px; font-weight:700; text-align:center; transition:background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease); }
  .chip span:hover { border-color:var(--ink); }
  .chip input:checked + span { background:var(--ink); border-color:var(--ink); color:var(--bg); }
  .chip input:focus-visible + span { outline:3px solid var(--orange); outline-offset:3px; }
  .form-guar { display:flex; align-items:center; gap:10px; padding:14px 16px; border-radius:14px; background:rgba(53,112,79,.1); font-weight:800; font-size:16px; }
  .form-guar::before { content:""; flex:none; width:22px; height:22px; border-radius:50%; background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
  #quote-form .btn { width:100%; }
  .form-fine { font-size:14px; color:var(--ink-soft); }
  .form-fine a { color:var(--ink); font-weight:800; }
  .send-error a, .form-success a { color:inherit; font-weight:800; }
  .send-error { padding:14px 16px; border-radius:14px; background:#FBE9DF; color:#A33F12; font-weight:800; }
  .form-success h3 { font:740 36px/1.05 var(--display); letter-spacing:-.02em; }
  .form-success p { color:var(--ink-soft); }

  /* ---------- footer ---------- */
  .foot { padding:72px 0 150px; }
  .foot-grid { display:grid; gap:36px; }
  @media (min-width:860px) { .foot-grid { grid-template-columns:1.4fr 1fr 1fr; gap:56px; } }
  .foot-blurb { margin-top:18px; color:var(--ink-soft); max-width:36ch; }
  .foot h2 { font:800 13px/1 var(--text); letter-spacing:.12em; text-transform:uppercase; margin-bottom:14px; }
  .foot ul { display:grid; gap:8px; }
  .foot a { font-weight:700; text-decoration:none; }
  .foot ul a, .foot-bottom a, .or-call a, .faq-more a, .see-prices a, .quote-text { display:inline-flex; align-items:center; min-height:44px; }
  .quote-text { margin-top:4px; }
  .brand { min-height:44px; }
  .quote-phone { padding:10px 0; }
  .foot a:hover { text-decoration:underline; text-decoration-color:var(--orange); text-decoration-thickness:2px; text-underline-offset:4px; }
  .foot-links a { display:inline-flex; align-items:center; gap:8px; }
  .foot-links svg { width:18px; height:18px; }
  .foot-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; margin-top:56px; padding-top:22px; border-top:1px solid var(--hair); font-size:14px; color:var(--ink-soft); }

  /* ---------- THE DOCK — the signature, always one thumb away ---------- */
  .dock { position:fixed; z-index:60; left:50%; bottom:max(16px, env(safe-area-inset-bottom)); transform:translateX(-50%); display:flex; align-items:center; gap:6px; padding:6px; border-radius:999px; background:rgba(22,33,28,.92); -webkit-backdrop-filter:blur(14px) saturate(1.4); backdrop-filter:blur(14px) saturate(1.4); box-shadow:0 24px 50px -20px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.08); animation:dockIn .8s .9s var(--ease) both; width:max-content; max-width:calc(100% - 24px); }
  @keyframes dockIn { from { opacity:0; transform:translate(-50%, 30px); } }
  .langs { position:relative; display:flex; padding:3px; border-radius:999px; background:rgba(255,255,255,.08); }
  .langs::before { content:""; position:absolute; top:3px; bottom:3px; left:3px; width:calc(50% - 3px); border-radius:999px; background:var(--on-dark); transition:transform .38s var(--ease); }
  html[lang="es"] .langs::before { transform:translateX(100%); }
  .langs button { position:relative; min-width:52px; min-height:44px; padding:0 14px; border:0; background:none; border-radius:999px; font:800 14px/1 var(--text); letter-spacing:.08em; color:var(--on-dark-soft); cursor:pointer; transition:color .3s; }
  .langs button[aria-pressed="true"] { color:var(--ink); }
  .dock-call { display:inline-flex; align-items:center; gap:9px; min-height:50px; padding:0 18px; border-radius:999px; color:var(--on-dark); font:800 16px/1 var(--text); text-decoration:none; }
  .dock-call:hover { background:rgba(255,255,255,.08); }
  .dock-call svg { width:18px; height:18px; fill:currentColor; }
  .dock-call .num { display:none; }
  @media (min-width:700px) { .dock-call .num { display:inline; } .dock-call .word { display:none; } }
  .dock .btn { min-height:50px; padding:0 22px; font-size:16px; }
  @media (max-width:420px) { .dock { left:12px; right:12px; transform:none; width:auto; justify-content:space-between; animation-name:dockInM; } .dock .btn { padding:0 16px; } .dock-call { padding:0 12px; } }
  @keyframes dockInM { from { opacity:0; transform:translateY(30px); } }

  /* language swap choreography */
  .lang-swap [data-i18n] { animation:flip .5s var(--ease) both; }
  @keyframes flip { from { opacity:0; transform:translateY(.35em); filter:blur(4px); } }


  /* v6: quieter editorial rhythm, readable accents and compact mobile controls. */
  html { scroll-padding-bottom:112px; }
  p { text-wrap:pretty; }
  .hero { min-height:min(900px,100svh); padding-bottom:112px; }
  .h1 { font-size:clamp(48px,6.6vw,96px); line-height:1; }
  .h1 .ring { color:#A84B14; }
  .chapter { padding:clamp(72px,9vw,128px) 0; }
  .big { font-size:clamp(40px,5.4vw,80px); line-height:1.04; }
  .local { padding:64px 0; }
  .towns { font-size:clamp(28px,3.2vw,48px); }
  .towns span { white-space:normal; }
  .leak b { color:#A84B14; }
  .demo-stage { min-width:0; }
  .demo-caption { margin-top:24px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px 12px; text-align:center; color:var(--ink-soft); font-size:14px; }
  .demo-toggle { min-height:44px; padding:0 16px; border-radius:999px; border:0; background:transparent; box-shadow:inset 0 0 0 1.5px var(--hair-strong); color:var(--ink); font:800 14px/1 var(--text); cursor:pointer; }
  .demo-toggle:hover { box-shadow:inset 0 0 0 1.5px var(--ink); }
  .see-prices { margin-top:18px; font-weight:700; font-size:16px; }
  .see-prices a { color:var(--ink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; text-decoration-color:var(--green); }
  select.picked { animation:picked 1.2s var(--ease); }
  @keyframes picked { from { border-color:var(--orange); box-shadow:0 0 0 5px rgba(237,132,52,.3); } }
  .tier { box-shadow:0 0 0 1px var(--hair); }
  .tier-top { flex-wrap:wrap; }
  .flag { line-height:1.3; }
  .tier-price { display:flex; flex-direction:column; gap:6px; margin-top:16px; }
  .tier-price small { font:800 12px/1 var(--text); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
  .tier-price b { font:740 clamp(30px, 2vw + .6rem, 38px)/1 var(--display); letter-spacing:-.02em; font-variation-settings:"SOFT" 40,"opsz" 144; }
  .tier-price b span { font:700 16px/1 var(--text); letter-spacing:0; color:var(--ink-soft); margin-left:2px; }
  .tier-hot .tier-price small, .tier-hot .tier-price b span { color:var(--on-dark-soft); }
  .price-note { margin-top:22px; font-size:16px; color:var(--ink-soft); }
  .btn { line-height:1.25; }
  .btn:disabled { opacity:.65; cursor:wait; transform:none; }
  .rise, .dock, .h1 .ring::after { animation:none; }
  .demo-lang i { animation:blink 1.8s infinite; }
  .lang-swap [data-i18n] { animation:none; }
  input, select, button, a, summary { scroll-margin-bottom:112px; }
  .field-error, .send-error { animation:rise .18s var(--ease); }
  .langs::before { transition-duration:.2s; }
  .langs button { transition-duration:.2s; }
  @media (max-width:600px) {
    .hero { padding-top:112px; }
    .hero-grid { gap:48px; }
    .hero .eyebrow { font-size:11px; letter-spacing:.08em; }
    .h1 { font-size:clamp(44px,11.8vw,68px); }
    .cta-row .btn { width:100%; padding-inline:20px; }
    .promise { font-size:14px; gap:12px; }
    .quote-phone { font-size:clamp(26px,8vw,38px); }
    .dock { gap:2px; padding:4px; }
    .langs button { min-width:44px; padding-inline:8px; }
    .dock-call { padding-inline:8px; }
    .dock .btn { padding-inline:12px; font-size:14px; }
  }

  @media (prefers-reduced-motion:reduce) {
    *, *::before, *::after { animation:none !important; transition:none !important; }
  }

  /* ---------- v9 additions: check-up, sample sites, side-by-side, city pages ---------- */
  :root { --tint:#EDF3E5; }
  .sticker { position:absolute; display:block; pointer-events:none; transform:rotate(var(--r, 0deg)); filter:drop-shadow(3px 4px 0 rgba(22,33,28,.18)); }
  .sticker svg { width:100%; height:auto; overflow:visible; display:block; }
  .xnav-check { color:var(--green) !important; }
  .towns a { color:inherit; text-decoration:none; white-space:nowrap; background-image:linear-gradient(currentColor, currentColor); background-size:0 .06em; background-position:0 92%; background-repeat:no-repeat; transition:background-size .3s var(--ease); }
  .towns a:hover, .towns a:focus-visible { background-size:100% .06em; }

  /* check-up promo */
  .ck-strip { position:relative; margin-top:clamp(56px, 7vw, 96px); display:grid; gap:22px; align-items:center; padding:clamp(28px, 4vw, 48px); border-radius:var(--r-lg); background:var(--gold); color:#2A1D07; box-shadow:0 0 0 2px var(--ink), 6px 6px 0 var(--ink); }
  .ck-strip h3 { font:740 clamp(28px, 2.6vw + .5rem, 44px)/1.02 var(--display); letter-spacing:-.025em; max-width:20ch; }
  .ck-strip p { margin-top:12px; max-width:52ch; font-size:18px; }
  .ck-strip .sticker { --r:10deg; width:84px; right:22px; top:-38px; }
  @media (min-width:860px) { .ck-strip { grid-template-columns:1fr auto; gap:56px; } }
  @media (max-width:560px) { .ck-strip .btn { width:100%; } .ck-strip .sticker { width:62px; right:12px; top:-30px; } }

  /* side-by-side */
  .vs { margin-top:clamp(56px, 7vw, 96px); }
  .vs-title { font:740 clamp(28px, 2.4vw + .6rem, 44px)/1.05 var(--display); letter-spacing:-.025em; margin-bottom:22px; }
  .vs table { width:100%; border-collapse:separate; border-spacing:0; background:var(--surface); border-radius:var(--r-lg); box-shadow:0 0 0 1.5px var(--ink); overflow:hidden; font-size:17px; }
  .vs th, .vs td { padding:18px 22px; text-align:left; vertical-align:top; border-bottom:1px solid var(--hair); }
  .vs tbody tr:last-child th, .vs tbody tr:last-child td { border-bottom:0; }
  .vs thead th { font:800 13px/1.3 var(--text); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); background:var(--tint); }
  .vs thead th.vs-me { background:var(--green-deep); color:#fff; }
  .vs tbody th { font-weight:800; width:22%; }
  .vs td { color:var(--ink-soft); }
  .vs td.vs-me { background:#EEF4EA; color:var(--ink); font-weight:800; }
  .vs .lbl { display:none; }
  .vh { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .vs-note { margin-top:14px; font-size:14px; color:var(--ink-soft); max-width:72ch; }
  @media (max-width:760px) {
    .vs table, .vs tbody, .vs tr, .vs th, .vs td { display:block; width:auto; }
    .vs thead { display:none; }
    .vs table { background:transparent; box-shadow:none; border-radius:0; }
    .vs tbody tr { background:var(--surface); border-radius:var(--r-md); box-shadow:0 0 0 1.5px var(--ink); margin-bottom:12px; overflow:hidden; }
    .vs tbody th { width:auto; padding:16px 18px 6px; border:0; font:740 22px/1.2 var(--display); }
    .vs td { display:grid; grid-template-columns:44% 1fr; gap:10px; padding:8px 18px; border:0; }
    .vs td.vs-me { margin:6px 10px 10px; border-radius:12px; padding:10px 8px; }
    .vs .lbl { display:block; font-weight:800; color:var(--ink); font-size:14.5px; }
    .vs td.vs-me .lbl { color:var(--green-deep); }
  }

  /* sample sites */
  .samples-ch { background:var(--tint); }
  .samples-ch .ch-num { color:var(--green); }
  .samples { margin-top:clamp(48px, 6vw, 80px); display:grid; grid-auto-flow:column; grid-auto-columns:min(78vw, 290px); gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding:8px 4px 22px; margin-left:-4px; margin-right:-4px; -webkit-overflow-scrolling:touch; }
  .samples > * { scroll-snap-align:start; }
  @media (min-width:1100px) { .samples { grid-auto-flow:row; grid-template-columns:repeat(4, 1fr); overflow:visible; } }
  .sample { display:flex; flex-direction:column; gap:14px; min-width:0; }
  .sample-tag { align-self:flex-start; padding:5px 12px; border-radius:999px; font-size:13px; font-weight:800; background:var(--surface); box-shadow:inset 0 0 0 1.5px var(--hair-strong); color:var(--ink-soft); }
  .sphone { padding:9px; border-radius:36px; background:var(--ink); box-shadow:0 30px 60px -36px rgba(22,33,28,.6); }
  .sscreen { border-radius:28px; overflow:hidden; background:var(--s-soft); color:var(--s-ink); min-height:470px; display:flex; flex-direction:column; }
  .s-top { display:flex; align-items:center; gap:9px; padding:14px 16px; background:var(--s-bar); color:var(--s-bar-ink); font-weight:800; font-size:15px; }
  .s-top svg { width:24px; height:24px; flex:none; }
  .s-art svg { width:100%; height:auto; display:block; }
  .s-body { padding:14px 16px 18px; display:flex; flex-direction:column; gap:8px; flex:1; }
  .s-kicker { font-size:12.5px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--s-acc-ink); }
  .s-head { font:var(--s-head-font, 700 22px/1.12 var(--display)); letter-spacing:-.01em; }
  .s-list { display:grid; gap:5px; font-size:13.5px; margin:2px 0 0; padding:0; list-style:none; }
  .s-list li { position:relative; padding-left:16px; }
  .s-list li::before { content:""; position:absolute; left:2px; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--s-acc); }
  .s-call { margin-top:auto; display:flex; justify-content:center; padding:12px; border-radius:var(--s-radius, 999px); background:var(--s-acc); color:var(--s-acc-on); font-weight:800; font-size:14.5px; }
  .sample-name { font:720 24px/1.15 var(--display); letter-spacing:-.015em; }
  .sample-why { color:var(--ink-soft); font-size:16px; }
  .samples-foot { margin-top:clamp(28px, 3vw, 44px); display:flex; flex-wrap:wrap; gap:16px 28px; align-items:center; }
  .samples-foot p { color:var(--ink-soft); max-width:56ch; font-size:18px; }
  .swipe-hint { margin-top:28px; font-size:14px; font-weight:700; color:var(--ink-soft); }
  @media (min-width:1100px) { .swipe-hint { display:none; } }

  /* footer city links */
  .foot-cities { display:flex; flex-wrap:wrap; gap:0 16px; margin-top:14px; }
  .foot-cities a { font-size:15px; }

  .top { position:relative; }
  .sub-hero { min-height:0; padding:clamp(48px, 7vw, 96px) 0 clamp(64px, 8vw, 112px); }
  .sub-hero .h1 { font-size:clamp(46px, 6.4vw, 104px); max-width:14ch; }
  .sub-hero .grid { position:relative; display:grid; gap:32px; }
  .sub-hero .sticker { --r:-8deg; display:none; width:clamp(160px, 18vw, 260px); right:0; top:10px; }
  @media (min-width:1000px) { .sub-hero .sticker { display:block; } }
  .cta-row .btn-line { background:transparent; }

  /* check-up */
  .ck-start { margin-top:40px; padding:clamp(22px, 3vw, 32px); border-radius:var(--r-lg); background:var(--surface); box-shadow:0 0 0 1.5px var(--ink); max-width:660px; }
  .ck-has { font:720 clamp(22px, 1vw + 16px, 28px)/1.2 var(--display); letter-spacing:-.015em; }
  .ck-start-btns { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
  @media (max-width:520px) { .ck-start-btns .btn { width:100%; } }
  .ck-quiz { padding:0 0 clamp(80px, 10vw, 140px); }
  .ck-grid { display:grid; gap:36px; }
  @media (min-width:980px) { .ck-grid { grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr); gap:64px; align-items:start; } .ck-side { position:sticky; top:40px; } }
  .qs { display:grid; gap:14px; }
  .q { border:0; margin:0; padding:22px 22px 20px; border-radius:var(--r-md); background:var(--surface); box-shadow:0 0 0 1px var(--hair-strong); transition:box-shadow .2s var(--ease); min-width:0; }
  .q.done { box-shadow:0 0 0 2px var(--green); }
  .q legend { display:flex; gap:14px; align-items:baseline; padding:0; font:700 19px/1.35 var(--text); float:left; width:100%; }
  .q legend + * { clear:both; }
  .q-n { flex:none; font:760 30px/1 var(--display); color:var(--orange); }
  .q-opts { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; padding-top:16px; }
  .q .chip span { white-space:nowrap; padding-left:8px; padding-right:8px; }
  .ck-submit { display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; justify-content:space-between; margin-top:12px; padding:20px 22px; border-radius:var(--r-md); background:var(--tint); }
  .ck-count { font-weight:800; color:var(--ink-soft); }
  .btn[disabled] { opacity:.45; cursor:not-allowed; }
  @media (max-width:520px) { .ck-submit .btn { width:100%; } }
  .ck-side { position:relative; padding:28px; border-radius:var(--r-lg); background:var(--ink); color:var(--on-dark); }
  .ck-side-h { font:720 26px/1.1 var(--display); }
  .ck-side ul { display:grid; gap:12px; margin:16px 0 0; padding:0; list-style:none; }
  .ck-side li { position:relative; padding-left:22px; color:var(--on-dark-soft); }
  .ck-side li::before { content:""; position:absolute; left:0; top:.6em; width:8px; height:8px; border-radius:50%; background:var(--orange); }
  .ck-result { padding:clamp(48px, 6vw, 80px) 0 clamp(80px, 10vw, 140px); outline:none; }
  .res-card { display:grid; gap:28px; align-items:center; padding:clamp(26px, 4vw, 48px); border-radius:var(--r-lg); background:var(--surface); box-shadow:0 0 0 2px var(--ink), 6px 6px 0 var(--ink); }
  @media (min-width:760px) { .res-card { grid-template-columns:280px 1fr; gap:48px; } }
  .gauge { position:relative; width:min(280px, 100%); margin:0 auto; }
  .gauge svg { width:100%; height:auto; display:block; }
  #g-arc { transition:stroke-dasharray 1s var(--ease); }
  .g-num { position:absolute; left:0; right:0; bottom:0; text-align:center; font:760 64px/1 var(--display); letter-spacing:-.03em; }
  .g-num small { display:block; font:800 14px/1.4 var(--text); letter-spacing:0; color:var(--ink-soft); }
  .res-h { font:760 clamp(36px, 3vw + .6rem, 60px)/1 var(--display); letter-spacing:-.03em; }
  .res-p { margin-top:14px; color:var(--ink-soft); font-size:19px; max-width:52ch; }
  .res-lists { display:grid; gap:36px; margin-top:clamp(40px, 5vw, 64px); }
  @media (min-width:900px) { .res-lists { grid-template-columns:1.4fr 1fr; gap:64px; } }
  .res-sub { font:720 28px/1.15 var(--display); margin-bottom:14px; letter-spacing:-.015em; }
  .fix-list { counter-reset:fx; display:grid; gap:12px; padding:0; margin:0; list-style:none; }
  .fix-list li { counter-increment:fx; position:relative; padding:18px 18px 18px 62px; border-radius:var(--r-md); background:var(--surface); box-shadow:0 0 0 1px var(--hair-strong); }
  .fix-list li::before { content:counter(fx); position:absolute; left:18px; top:16px; width:30px; height:30px; border-radius:50%; background:var(--orange); color:var(--ink); font:800 15px/30px var(--text); text-align:center; box-shadow:0 0 0 2px var(--ink); }
  .fix-q { font-weight:800; }
  .fix-a { margin-top:6px; color:var(--ink-soft); }
  .fix-tag { display:inline-block; margin-left:8px; padding:2px 9px; border-radius:999px; background:var(--gold); color:#2A1D07; font-size:12.5px; font-weight:800; vertical-align:2px; }
  .fix-pts { float:right; margin-left:10px; font-size:13px; font-weight:800; color:var(--ink-soft); }
  .good-list { display:grid; gap:10px; padding:0; margin:0; list-style:none; }
  .good-list li { position:relative; padding-left:30px; color:var(--ink-soft); }
  .good-list li::before { content:""; position:absolute; left:4px; top:.45em; width:12px; height:7px; border:solid var(--green); border-width:0 0 2.5px 2.5px; transform:rotate(-45deg); }
  .res-send { margin-top:clamp(56px, 7vw, 96px); display:grid; gap:36px; padding:clamp(28px, 4vw, 56px); border-radius:var(--r-lg); background:var(--green-deep); color:var(--on-dark); }
  @media (min-width:960px) { .res-send { grid-template-columns:1fr 1fr; gap:64px; align-items:start; } }
  .res-send h2 { font:740 clamp(34px, 3vw + .8rem, 54px)/1 var(--display); letter-spacing:-.03em; }
  .res-send-p { margin-top:20px; color:var(--on-dark-soft); font-size:19px; max-width:46ch; }
  .res-send-p2 { margin-top:14px; color:var(--on-dark-soft); max-width:46ch; }
  #send-form, .send-done { background:var(--bg); color:var(--ink); border-radius:var(--r-lg); padding:clamp(22px, 3vw, 34px); display:grid; gap:18px; }
  .send-done h3 { font:720 30px/1.1 var(--display); }
  .send-done p { color:var(--ink-soft); }
  .send-error { padding:14px 16px; border-radius:12px; background:#FBE9DF; color:#A33F12; font-weight:800; }
  .res-again { margin-top:28px; }
  .res-again button { background:none; border:0; cursor:pointer; font:800 16px var(--text); padding:6px 0; color:var(--ink); text-decoration:underline; text-decoration-color:var(--orange); text-underline-offset:4px; }

  /* city pages */
  .city-stats .leak b { min-width:0; }
  .city-src { margin-top:22px; font-size:14px; color:var(--ink-soft); }
  .city-src a { color:var(--ink); font-weight:800; }
  .turn .city-note { margin-top:clamp(32px, 4vw, 48px); font:500 clamp(21px, .8vw + 16px, 26px)/1.5 var(--display); max-width:52ch; color:var(--on-dark); }
  .turn .city-angle { margin-top:20px; font-size:19px; color:var(--on-dark-soft); max-width:56ch; }
  .who { margin-top:clamp(40px, 5vw, 64px); padding-top:28px; border-top:1px solid rgba(255,255,255,.18); }
  .who h3 { font:800 13px/1 var(--text); letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
  .who ul { display:grid; gap:10px 32px; margin:20px 0 0; padding:0; list-style:none; }
  @media (min-width:700px) { .who ul { grid-template-columns:repeat(2, 1fr); } }
  @media (min-width:1100px) { .who ul { grid-template-columns:repeat(4, 1fr); } }
  .who li { position:relative; padding-left:22px; color:var(--on-dark); font-weight:600; }
  .who li::before { content:""; position:absolute; left:0; top:.55em; width:9px; height:9px; border-radius:50%; background:var(--orange); }
