  :root{
    --bg:#000000; --text:#ffffff; --muted:#8e8e8e; --nav-text:#2e2e2e;
    --pill-dark:#28282a; --sign-in-text:#c8c8c8;
    --nav-shadow: 0 4px 14px rgba(0,0,0,0.16);
    --trust-bg:#28282a; --trust-border: rgba(255,255,255,0.4); --trust-text:#c4c2c3;
    --accent:#0ea5e9; --accent-glow: rgba(14,165,233,0.34); --accent-glow-2: rgba(14,165,233,0.14);
    --font-sans: "Inter","Segoe UI",system-ui,sans-serif;
    --font-display: "Doto","Geist Pixel Circle",monospace;
  }
  *,*::before,*::after{ box-sizing:border-box; }
  html{ height:100%; scroll-behavior:smooth; }
  body{
    margin:0; background:var(--bg); color:var(--text); overflow-x:hidden;
    min-height:100%; font-family: var(--font-sans); -webkit-font-smoothing:antialiased;
  }
  a{ color:inherit; text-decoration:none; }
  button{ font-family:inherit; cursor:pointer; }
  :focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
  @media (prefers-reduced-motion: reduce){
    .anim{ animation:none !important; opacity:1 !important; transform:none !important; filter:none !important; }
    * { animation-duration:0.001ms !important; }
  }

  .bg{ position:fixed; inset:0; background:#000; overflow:hidden; z-index:0; }
  .bg::after{ content:""; position:absolute; inset:0; background: radial-gradient(ellipse at 50% 30%, rgba(0,0,0,0) 0%, rgba(0,0,0,0.55) 100%); pointer-events:none; z-index:1; }
  .star{ position:absolute; border-radius:50%; background:#fff; will-change: transform, opacity; animation: star-float linear infinite alternate; }
  @keyframes star-float{
    0%{ transform: translate(0,0); opacity: var(--o1); }
    100%{ transform: translate(var(--dx), var(--dy)); opacity: var(--o2); }
  }
  @media (prefers-reduced-motion: reduce){ .star{ animation:none; opacity: var(--o1); } }

  .page{
    position:relative; z-index:1; display:flex; flex-direction:column; align-items:center;
    height:100vh; height:100dvh; overflow:hidden;
    padding: clamp(16px,2.4vh,28px) clamp(14px,3vw,32px);
  }

  /* ============================= REVEAL ============================= */
  .anim{ opacity:0; transform: translateY(22px) scale(0.98); filter: blur(6px); animation: reveal 0.85s cubic-bezier(0.22,1,0.36,1) forwards; animation-delay: var(--d,0s); }
  @keyframes reveal{ to{ opacity:1; transform:none; filter:none; } }
  .header.anim{ transform: translateY(-18px); filter:none; animation: slideDown 0.7s cubic-bezier(0.22,1,0.36,1) both; }
  @keyframes slideDown{ from{ opacity:0; transform:translateY(-18px); } to{ opacity:1; transform:translateY(0); } }
  .cta.anim{ animation: revealPulse 0.9s cubic-bezier(0.22,1,0.36,1) forwards; animation-delay: var(--d,0s); }
  @keyframes revealPulse{ 0%{ opacity:0; transform:translateY(22px) scale(0.9); filter:blur(6px); } 70%{ opacity:1; transform:translateY(0) scale(1.03); filter:none; } 100%{ transform:scale(1); } }
  .headline-line{ display:block; opacity:0; transform: translateY(14px); animation: headlineFade 0.85s cubic-bezier(0.22,1,0.36,1) forwards; }
  @keyframes headlineFade{ to{ opacity:1; transform:translateY(0); } }

  /* ============================= HEADER ============================= */
  .header{ position:relative; z-index:1; flex-shrink:0; width:100%; display:flex; justify-content:center; }
  body > .header{ padding-top: clamp(16px,2.4vh,28px); }
  .header-row{ display:grid; grid-template-columns: 1fr 430px 1fr; align-items:center; width:100%; max-width:720px; column-gap: clamp(18px,2.8vw,28px); }
  .logo-btn{
    justify-self:end; flex:none; display:flex; align-items:center; padding:6px; margin:-6px; border-radius:12px;
    transition: filter 0.25s;
  }
  .logo-btn:hover{ filter: drop-shadow(0 6px 14px rgba(0,0,0,0.35)) drop-shadow(0 0 18px var(--accent-glow)); }
  .logo-btn img{ height: clamp(30px,3.6vw,36px); width:auto; display:block; object-fit:contain; }

  .nav-pill{
    background:#fff; height: clamp(44px,5.2vw,48px); width:100%; padding:4px 8px; border-radius:999px;
    box-shadow: var(--nav-shadow); display:flex; align-items:center; justify-content:space-evenly;
  }
  .nav-pill a{
    position:relative; font-family:var(--font-sans); font-weight:500; font-size: clamp(13px,1.4vw,15px);
    letter-spacing:-0.01em; color:var(--nav-text); opacity:0.5; padding:8px 10px; transition: opacity 0.15s;
  }
  .nav-pill a:hover{ opacity:0.75; }
  .nav-pill a.active{ opacity:1; }
  .nav-pill a.active::after{
    content:""; position:absolute; left:50%; bottom:5px; width:3px; height:3px; border-radius:50%;
    background:var(--accent); box-shadow: -5px 0 0 var(--accent), 5px 0 0 var(--accent); transform:translateX(-1.5px);
  }

  .signin-btn{
    justify-self:start; flex:none; height: clamp(44px,5.2vw,48px); padding:0 22px; border-radius:999px; background:var(--pill-dark);
    color:var(--sign-in-text); font-weight:500; font-size: clamp(13px,1.4vw,14px); box-shadow: var(--nav-shadow);
    display:flex; align-items:center; transition: background 0.2s, color 0.2s, transform 0.2s;
  }
  .signin-btn:hover{ background:#323234; color:#fff; transform: translateY(-1px); }

  .nav-hamburger{ display:none; }
  @media (max-width:720px){
    .nav-pill, .signin-btn{ display:none; }
    .header-row{ display:flex; justify-content:space-between; }
    .nav-hamburger{
      display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4.5px;
      width:48px; height:48px; border-radius:50%; background:var(--pill-dark); border:none; flex:none; transition: background 0.25s;
    }
    .nav-hamburger span{ width:18px; height:1.5px; background:#fff; display:block; transition: transform 0.25s, opacity 0.2s, background 0.25s; }
    .nav-hamburger.open{ background:#fff; }
    .nav-hamburger.open span{ background:#000; }
    .nav-hamburger.open span:nth-child(1){ transform: translateY(6.5px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2){ opacity:0; }
    .nav-hamburger.open span:nth-child(3){ transform: translateY(-6.5px) rotate(-45deg); }
  }

  /* ============================= MOBILE MENU ============================= */
  .menu-overlay{ position:fixed; inset:0; background: rgba(0,0,0,0.62); backdrop-filter: blur(6px); z-index:2; opacity:0; pointer-events:none; transition: opacity 0.28s; }
  body.menu-open .menu-overlay{ opacity:1; pointer-events:auto; animation: overlayIn 0.28s ease; }
  @keyframes overlayIn{ from{ opacity:0; } to{ opacity:1; } }
  .menu-sheet{
    position:fixed; top: clamp(74px,12vh,96px); left:50%; transform: translateX(-50%) translateY(-10px); width:min(320px,84vw);
    background:#fff; border-radius:28px; padding:22px 18px 20px; box-shadow: 0 20px 60px rgba(0,0,0,0.45);
    z-index:3; opacity:0; pointer-events:none; transition: opacity 0.3s, transform 0.3s;
  }
  body.menu-open .menu-sheet{ opacity:1; pointer-events:auto; transform: translateX(-50%) translateY(0); animation: menuIn 0.38s cubic-bezier(0.22,1,0.36,1); }
  @keyframes menuIn{ from{ opacity:0; transform:translateX(-50%) translateY(-10px) scale(0.96); } to{ opacity:1; transform:translateX(-50%) translateY(0) scale(1); } }
  .menu-sheet a{
    position:relative; display:block; text-align:center; padding:13px 0; font-weight:500; color:var(--nav-text);
    opacity:0; transform:translateY(8px); animation: linkIn 0.4s ease forwards;
  }
  @keyframes linkIn{ to{ opacity:1; transform:translateY(0); } }
  .menu-sheet a.active::after{
    content:""; position:absolute; left:50%; bottom:8px; width:3px; height:3px; border-radius:50%;
    background:var(--accent); box-shadow: -5px 0 0 var(--accent), 5px 0 0 var(--accent); transform:translateX(-1.5px);
  }
  .menu-sheet .menu-signin{
    margin-top:8px; display:block; text-align:center; background:var(--pill-dark); color:#fff; border-radius:999px;
    padding:13px 0; font-weight:600; opacity:0; transform:translateY(8px); animation: linkIn 0.4s ease forwards;
  }

  /* ============================= HERO ============================= */
  .hero{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; max-width:900px; margin:0 auto; width:100%; }

  .trust-row{ display:inline-flex; align-items:center; --trust-size: clamp(36px,4.5vw,42px); margin-bottom: clamp(16px,2.5vh,26px); }
  @media (max-width:420px){ .trust-row{ --trust-size:34px; } }
  .avatar{
    width:var(--trust-size); height:var(--trust-size); border-radius:50%; background:var(--trust-bg);
    border:1px solid var(--trust-border); padding:5px; transition: transform 0.35s;
  }
  .avatar .inner{ width:100%; height:100%; border-radius:50%; background:#fff; display:grid; place-items:center; }
  .avatar .inner svg{ width: calc(var(--trust-size) * 0.36); height: calc(var(--trust-size) * 0.36); color:#111; }
  .avatar.a2{ margin-left: calc(var(--trust-size) * -0.42); z-index:2; }
  .avatar.a3{ margin-left: calc(var(--trust-size) * -0.42); z-index:4; }
  .avatar.a1{ z-index:1; }
  .trust-row:hover .a1{ transform: translateY(-2px); }
  .trust-row:hover .a2{ transform: translateY(-4px); }
  .trust-row:hover .a3{ transform: translateY(-2px); }
  .trust-pill{
    height:var(--trust-size); display:flex; align-items:center; background:var(--trust-bg); border:1px solid var(--trust-border);
    border-radius:999px; margin-left: calc(var(--trust-size) * -0.42); padding-left: calc(var(--trust-size) * 0.58); padding-right:16px;
    font-size: clamp(12px,1.4vw,13.5px); color:var(--trust-text); font-weight:500; white-space:nowrap;
  }
  @media (max-width:420px){ .trust-pill{ font-size:12px; } }

  .headline{
    font-family: var(--font-display); font-weight:700; color:#fff; text-align:center;
    font-size: clamp(28px,6.2vw,80px); letter-spacing:-0.04em; line-height:1.12; white-space:nowrap; overflow:hidden;
  }
  @media (max-width:720px){ .headline{ letter-spacing:-0.08em; line-height:1.05; } }
  @media (max-width:420px){ .headline{ letter-spacing:-0.09em; line-height:1.04; } }
  .headline-line:nth-child(1){ animation-delay:0.12s; }
  .headline-line:nth-child(2){ animation-delay:0.3s; }

  .subhead{
    max-width:min(500px,92%); margin: clamp(16px,2.4vh,22px) 0 0; font-size: clamp(calc(13.5px + 2pt), calc(1.55vw + 2pt), calc(16.5px + 2pt));
    color:#d0d0d0; opacity:0.8; line-height:1.55; font-weight:400;
  }

  .cta{
    margin-top: clamp(22px,3.4vh,32px); display:inline-flex; align-items:center; background:#fff; color:#0a0a0a;
    font-family:var(--font-sans); font-weight:600; font-size: clamp(13.5px,1.5vw,14.5px); border-radius:999px; border:none;
    padding: clamp(11px,1.6vh,13px) clamp(22px,3vw,28px);
    box-shadow: 0 0 0 1px rgba(255,255,255,0.15), 0 0 22px var(--accent-glow), 0 0 44px var(--accent-glow-2);
    transition: transform 0.2s, box-shadow 0.25s;
  }
  .cta:hover{ transform: translateY(-2px) scale(1.02); box-shadow: 0 0 0 1px rgba(255,255,255,0.22), 0 0 30px var(--accent-glow), 0 0 60px var(--accent-glow-2); }

  /* ============================= STATS ============================= */
  .stats{ flex-shrink:0; width:100%; display:grid; grid-template-columns: repeat(4,1fr); gap: clamp(10px,2vw,22px); max-width:920px; margin: clamp(18px,3vh,30px) auto 0; }
  @media (max-width:720px){ .stats{ grid-template-columns: repeat(2,1fr); row-gap:20px; } }
  .stat{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; }
  .stat .icon{ font-family:var(--font-display); font-weight:700; color:var(--accent); font-size: clamp(22px,3vw,33px); line-height:1; }
  .stat .value{ font-family:var(--font-sans); color:#fff; font-weight:600; font-size: clamp(18px,2.2vw,26px); letter-spacing:-0.025em; font-variant-numeric: tabular-nums; }
  .stat .label{ color:var(--muted); font-size: clamp(11px,1.2vw,12.5px); }
  .stat:nth-child(1){ --d:0.5s; } .stat:nth-child(2){ --d:0.58s; } .stat:nth-child(3){ --d:0.66s; } .stat:nth-child(4){ --d:0.74s; }

  /* ============================= CONTROL (problems vs. benefits) ============================= */
  .control{ position:relative; z-index:1; background:#000; border-top:1px solid rgba(255,255,255,0.08); padding: clamp(56px,9vh,96px) clamp(14px,3vw,32px); }
  .control-inner{ max-width:1080px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap: clamp(28px,4vh,44px); }
  .control-head{ display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center; }
  .control-head h2{ font-family:var(--font-display); font-weight:700; font-size: clamp(26px,4.2vw,44px); color:#fff; line-height:1.15; margin:0; letter-spacing:-0.01em; }
  .control-grad{ background-image: linear-gradient(90deg, var(--accent) 0%, #7dd3fc 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; display:inline-block; }

  .control-grid{ width:100%; display:flex; flex-direction:column; gap:24px; align-items:center; }
  @media (min-width:1024px){ .control-grid{ display:grid; grid-template-columns: 1fr 0.7fr 1fr; column-gap:32px; row-gap:24px; align-items:center; } }
  .control-col{ display:flex; flex-direction:column; gap:12px; width:100%; font-family:var(--font-sans); font-size:14px; }
  .control-card{
    display:flex; align-items:flex-start; gap:12px; width:100%; padding:14px 18px; border-radius:18px;
    background:var(--pill-dark); border:1px solid rgba(255,255,255,0.08);
    transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
  }
  .control-card:hover{ border-color:var(--accent); transform:translateY(-2px); box-shadow: 0 14px 34px -20px var(--accent-glow); }
  .control-card svg{ width:19px; height:19px; flex-shrink:0; margin-top:1px; }
  .control-card .text{ color:#fff; }

  .control-video{ display:flex; align-items:center; justify-content:center; order:-1; }
  @media (min-width:1024px){ .control-video{ order:0; } }
  .control-circle{ position:relative; width:clamp(180px,20vw,320px); height:clamp(180px,20vw,320px); flex-shrink:0; }
  .globe{
    position:absolute; top:50%; left:50%; width:46%; height:46%; margin:-23% 0 0 -23%;
    border-radius:50%; background: radial-gradient(circle at 34% 30%, #e7ebf1 0%, #7a828f 42%, #14161a 88%);
    box-shadow: 0 0 30px -6px rgba(14,165,233,0.25);
  }
  .orbit-tilt{ position:absolute; top:50%; left:50%; transform: scaleY(0.42); }
  .orbit-tilt.r1{ width:64%; height:64%; margin:-32% 0 0 -32%; }
  .orbit-tilt.r2{ width:82%; height:82%; margin:-41% 0 0 -41%; }
  .orbit-tilt.r3{ width:100%; height:100%; margin:-50% 0 0 -50%; }
  .orbit-tilt::before{ content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,0.14); border-radius:50%; }
  .orbit-spin{ position:absolute; inset:0; animation: orbit-spin linear infinite; }
  @keyframes orbit-spin{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
  .orbit-dot{ position:absolute; top:0; left:50%; width:7px; height:7px; margin:-3.5px 0 0 -3.5px; border-radius:50%; background:#fff; box-shadow:0 0 6px rgba(255,255,255,0.5); }
  @media (prefers-reduced-motion: reduce){ .orbit-spin{ animation:none; } }

  /* ============================= HOW IT WORKS ============================= */
  .how{ position:relative; z-index:1; background:#000; border-top:1px solid rgba(255,255,255,0.08); padding: clamp(56px,9vh,96px) clamp(14px,3vw,32px); }
  .how-inner{ max-width:760px; margin:0 auto; }
  .how-head{ margin-bottom: clamp(32px,5vh,48px); text-align:center; }
  .how-head h2{ font-family:var(--font-display); font-weight:700; color:#fff; font-size: clamp(26px,4.2vw,40px); margin:0; text-transform:uppercase; letter-spacing:-0.01em; }
  .how-head p{ font-family:var(--font-sans); color:var(--muted); font-size:15px; margin:12px 0 0; }
  .how-steps{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
  .how-step{ display:flex; gap:18px; padding:20px 22px; border-radius:18px; background:var(--pill-dark); border:1px solid rgba(255,255,255,0.08); }
  .how-num{
    flex:none; width:34px; height:34px; border-radius:50%; display:grid; place-items:center;
    background:rgba(14,165,233,0.12); border:1px solid rgba(14,165,233,0.4); color:var(--accent);
    font-family:var(--font-sans); font-weight:700; font-size:14px;
  }
  .how-step-body h3{ font-family:var(--font-sans); font-weight:600; color:#fff; font-size:15.5px; margin:2px 0 6px; }
  .how-step-body p{ font-family:var(--font-sans); color:var(--muted); font-size:14px; line-height:1.6; margin:0; }
  @media (max-width:480px){ .how-step{ flex-direction:column; gap:10px; } }

  /* ============================= FOOTER ============================= */
  /* ============================= FAQ ============================= */
  .faq{ position:relative; z-index:1; background:#000; border-top:1px solid rgba(255,255,255,0.08); padding: clamp(56px,9vh,96px) clamp(14px,3vw,32px); }
  .faq-inner{ max-width:760px; margin:0 auto; }
  .faq-head{ margin-bottom: clamp(32px,5vh,48px); }
  .faq-head h2{ font-family:var(--font-display); font-weight:700; color:#fff; font-size: clamp(26px,4.2vw,40px); margin:0; text-transform:uppercase; letter-spacing:-0.01em; }
  .faq-head p{ font-family:var(--font-sans); color:var(--muted); font-size:15px; margin:12px 0 0; }
  .faq-list{ display:flex; flex-direction:column; gap:2px; background:rgba(255,255,255,0.08); border-radius:16px; overflow:hidden; }
  .faq-item{ background:#000; }
  .faq-item summary{
    list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:20px 22px; font-family:var(--font-sans); font-weight:600; font-size:15.5px; color:#fff;
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary .plus{ flex:none; width:20px; height:20px; position:relative; }
  .faq-item summary .plus::before, .faq-item summary .plus::after{ content:""; position:absolute; background:var(--accent); border-radius:1px; }
  .faq-item summary .plus::before{ left:0; top:9px; width:20px; height:2px; }
  .faq-item summary .plus::after{ left:9px; top:0; width:2px; height:20px; transition: opacity 0.15s; }
  .faq-item[open] summary .plus::after{ opacity:0; }
  .faq-item .faq-a{ padding:0 22px 20px; font-family:var(--font-sans); color:var(--muted); font-size:14.5px; line-height:1.6; }

  /* ============================= LEGAL PAGES ============================= */
  .legal{ position:relative; z-index:1; background:#000; min-height:100vh; padding: clamp(96px,13vh,132px) clamp(14px,3vw,32px) clamp(64px,9vh,96px); }
  .legal-inner{ max-width:720px; margin:0 auto; }
  .legal-back{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-sans); font-size:13px; font-weight:500; color:var(--muted); transition: color 0.2s; }
  .legal-back:hover{ color:#fff; }
  .legal h1{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; color:#fff; font-size: clamp(26px,4.2vw,40px); margin:22px 0 8px; letter-spacing:-0.01em; }
  .legal-updated{ font-family:var(--font-sans); font-size:13px; color:var(--muted); margin:0 0 40px; }
  .legal-body{ font-family:var(--font-sans); color:#d0d0d0; font-size:15px; line-height:1.7; }
  .legal-body h2{ font-family:var(--font-sans); font-weight:600; color:#fff; font-size:19px; margin:36px 0 12px; }
  .legal-body h2:first-child{ margin-top:0; }
  .legal-body p{ margin:0 0 16px; }
  .legal-body ul{ margin:0 0 16px; padding-left:22px; }
  .legal-body li{ margin-bottom:8px; }
  .legal-body a{ color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
  .legal-body strong{ color:#fff; }
  .legal-body h3{ font-family:var(--font-sans); font-weight:600; color:#fff; font-size:16px; margin:24px 0 10px; }
  .legal-body .legal-table-wrap{ overflow-x:auto; margin:0 0 20px; }
  .legal-body table{ width:100%; border-collapse:collapse; font-size:13.5px; min-width:480px; }
  .legal-body th, .legal-body td{ text-align:left; padding:10px 12px; border-bottom:1px solid rgba(255,255,255,0.1); vertical-align:top; }
  .legal-body th{ color:#fff; font-weight:600; white-space:nowrap; }

  /* ============================= FINAL CTA ============================= */
  .final-cta{ position:relative; z-index:1; background:var(--accent); color:#04101c; padding: clamp(48px,8vh,80px) clamp(14px,3vw,32px); text-align:center; }
  .final-cta-inner{ max-width:640px; margin:0 auto; }
  .final-cta h2{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size: clamp(26px,4vw,40px); margin:0; }
  .final-cta p{ font-family:var(--font-sans); font-size:15.5px; margin:16px 0 0; color:rgba(4,16,28,0.75); }
  .final-cta .cta{ background:var(--pill-dark); color:var(--sign-in-text); box-shadow:var(--nav-shadow); }
  .final-cta .cta:hover{ background:#323234; color:#fff; }

  /* ---- lead capture modal ---- */
  .lead-overlay{ position:fixed; inset:0; background: rgba(0,0,0,0.62); backdrop-filter: blur(6px); z-index:4; opacity:0; pointer-events:none; transition: opacity 0.28s; }
  body.lead-open .lead-overlay{ opacity:1; pointer-events:auto; animation: overlayIn 0.28s ease; }
  .lead-modal{
    position:fixed; top:50%; left:50%; transform: translate(-50%,-50%) scale(0.96); width:min(440px,90vw);
    background:#fff; border-radius:26px; padding: clamp(24px,4vw,32px) clamp(22px,4vw,30px) clamp(22px,3.6vw,28px);
    box-shadow: 0 24px 70px rgba(0,0,0,0.5); z-index:5; opacity:0; pointer-events:none;
    transition: opacity 0.3s, transform 0.3s; color:var(--nav-text); max-height:88vh; overflow-y:auto;
  }
  body.lead-open .lead-modal{ opacity:1; pointer-events:auto; transform: translate(-50%,-50%) scale(1); animation: menuIn 0.38s cubic-bezier(0.22,1,0.36,1); }
  .lead-modal-close{
    position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:50%; background:rgba(4,16,28,0.06);
    border:none; display:grid; place-items:center; font-size:19px; line-height:1; color:var(--nav-text); transition: background 0.2s;
  }
  .lead-modal-close:hover{ background:rgba(4,16,28,0.12); }
  .lead-modal-logo{ height:20px; width:auto; display:block; margin:0 0 16px; }
  .lead-modal h3{ font-family:var(--font-display); font-weight:700; font-size: clamp(20px,3vw,23px); margin:0 6px 6px 0; text-transform:uppercase; letter-spacing:-0.01em; }
  .lead-modal-sub{ font-family:var(--font-sans); font-size:13.5px; color:#5a5a5a; margin:0 0 20px; line-height:1.5; }
  .lead-modal-form{ display:flex; flex-direction:column; gap:14px; }
  .lead-field-row{ display:flex; gap:12px; }
  .lead-field-row .lead-field{ flex:1; min-width:0; }
  .lead-field{ display:flex; flex-direction:column; gap:6px; text-align:left; }
  .lead-field label, .lead-field-label{ font-family:var(--font-sans); font-size:12px; font-weight:600; color:#5a5a5a; }
  .lead-field input[type=text], .lead-field input[type=email]{
    font-family:var(--font-sans); font-size:14px; padding:11px 14px; border-radius:12px; width:100%;
    border:1px solid rgba(4,16,28,0.16); background:#faf9f5; color:#141413; outline:none; transition: border-color 0.2s;
  }
  .lead-field input:focus{ border-color: var(--accent); }
  .lead-radio-group{ display:flex; gap:10px; }
  .lead-radio{
    flex:1; display:flex; align-items:center; justify-content:center; gap:8px; padding:10px 12px; border-radius:12px;
    border:1px solid rgba(4,16,28,0.16); font-family:var(--font-sans); font-size:13.5px; font-weight:500; cursor:pointer;
    transition: border-color 0.2s, background 0.2s;
  }
  .lead-radio input{ accent-color: var(--accent); }
  .lead-radio:has(input:checked){ border-color:var(--accent); background: rgba(14,165,233,0.08); }
  .lead-modal-submit{
    margin-top:4px; width:100%; justify-content:center;
    background:var(--pill-dark); color:#fff; box-shadow:none;
  }
  .lead-modal-submit:hover{ background:#323234; transform:translateY(-1px); box-shadow:none; }
  .lead-modal-submit:disabled{ opacity:0.6; cursor:not-allowed; transform:none; }
  .lead-honeypot{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; overflow:hidden; }
  .lead-modal-status{ font-family:var(--font-sans); font-size:13px; margin:2px 0 0; text-align:center; min-height:0; }
  .lead-modal-status.is-error{ color:#c0392b; }
  .lead-modal-status.is-success{ color:#1a7f4b; }
  @media (max-width:480px){ .lead-field-row{ flex-direction:column; gap:14px; } }

  footer.site-footer{ position:relative; z-index:1; background:#000; border-top:1px solid rgba(255,255,255,0.08); padding: clamp(48px,8vh,72px) clamp(14px,3vw,32px) 28px; }
  .footer-inner{ max-width:1080px; margin:0 auto; }
  .footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:36px; }
  @media (max-width:780px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ .footer-grid{ grid-template-columns:1fr; } }
  .footer-brand{ display:block; }
  .footer-brand img{ height:24px; width:auto; display:block; }
  .footer-tag{ font-family:var(--font-sans); font-size:13px; color:var(--muted); margin-top:14px; max-width:42ch; line-height:1.6; }
  .footer-col h3{ font-family:var(--font-sans); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.1em; color:var(--accent); margin:0 0 14px; }
  .footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
  .footer-col a{ font-family:var(--font-sans); font-size:13.5px; color:var(--muted); transition: color 0.15s; }
  .footer-col a:hover{ color:#fff; }
  .footer-bottom{ margin-top:48px; padding-top:22px; border-top:1px solid rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
  .footer-bottom p{ font-family:var(--font-sans); font-size:12px; color:var(--muted); margin:0; }
  .social-link{
    width:32px; height:32px; border-radius:50%; display:grid; place-items:center; color:var(--muted);
    background:rgba(255,255,255,0.06); transition: color 0.2s, background 0.2s, transform 0.2s;
  }
  .social-link svg{ width:16px; height:16px; }
  .social-link:hover{ color:#fff; background:rgba(255,255,255,0.14); transform:translateY(-1px); }

  /* ============================= COOKIE BANNER ============================= */
  .cookie-banner{
    position:fixed; left:50%; bottom:20px; transform: translate(-50%,16px); z-index:6;
    width:min(640px,calc(100% - 28px)); display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px;
    background:var(--pill-dark); border:1px solid rgba(255,255,255,0.1); border-radius:20px;
    padding:18px 20px; box-shadow: 0 20px 50px rgba(0,0,0,0.45);
    opacity:0; pointer-events:none; transition: opacity 0.3s, transform 0.3s;
  }
  .cookie-banner.show{ opacity:1; pointer-events:auto; transform: translate(-50%,0); }
  .cookie-banner p{ flex:1 1 320px; margin:0; font-family:var(--font-sans); font-size:13.5px; line-height:1.55; color:#d0d0d0; }
  .cookie-banner a{ color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
  .cookie-banner-actions{ display:flex; gap:10px; flex:none; }
  .cookie-btn{
    font-family:var(--font-sans); font-weight:600; font-size:13px; border-radius:999px; border:none;
    padding:10px 18px; transition: transform 0.2s, background 0.2s, color 0.2s;
  }
  .cookie-btn-reject{ background:transparent; color:var(--sign-in-text); border:1px solid rgba(255,255,255,0.18); }
  .cookie-btn-reject:hover{ background:rgba(255,255,255,0.08); color:#fff; }
  .cookie-btn-accept{ background:#fff; color:#0a0a0a; }
  .cookie-btn-accept:hover{ transform:translateY(-1px); }
  @media (max-width:480px){
    .cookie-banner{ flex-direction:column; align-items:stretch; }
    .cookie-banner-actions{ justify-content:flex-end; }
  }

  .legal-cookie-manage{
    font-family:var(--font-sans); font-weight:600; font-size:13.5px; color:#0a0a0a; background:#fff;
    border:none; border-radius:999px; padding:10px 20px; margin-top:4px; transition: transform 0.2s;
  }
  .legal-cookie-manage:hover{ transform:translateY(-1px); }
