:root{
    --bg:#08080d;
    --surface:#131319;
    --surface-2:#1b1b24;
    --border:#26262f;
    --text:#f5f5f7;
    --text-muted:#a3a3b2;
    --accent:#7142fd;
    --accent-light:#b9a6ff;
    --accent-dark:#4e2bc7;
    --radius-sm:8px;
    --radius-md:16px;
    --radius-lg:24px;
    --space-1:8px;
    --space-2:16px;
    --space-3:24px;
    --space-4:32px;
    --space-5:48px;
    --space-6:64px;
    --space-7:96px;
    --container:1200px;
    --dur:220ms;
    --ease:cubic-bezier(.22,.61,.36,1);
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
  }

  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3,h4{
    font-family:'Space Grotesk','Inter',sans-serif;
    font-weight:700;
    line-height:1.15;
    margin:0 0 var(--space-2);
    letter-spacing:-0.01em;
  }
  h1{font-size:clamp(2.25rem, 5vw, 3.75rem);}
  h2{font-size:clamp(1.75rem, 3.2vw, 2.5rem);}
  h3{font-size:1.25rem;}
  p{margin:0 0 var(--space-2);color:var(--text-muted);}
  a{color:var(--accent-light);}
  img{max-width:100%;display:block;}

  .container{
    max-width:var(--container);
    margin:0 auto;
    padding:0 var(--space-3);
  }

  section{padding:var(--space-7) 0;}
  @media (max-width:768px){
    section{padding:var(--space-6) 0;}
  }

  .eyebrow{
    color:var(--accent-light);
    font-weight:600;
    font-size:0.875rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    margin-bottom:var(--space-1);
    display:block;
  }

  .section-head{max-width:640px;margin-bottom:var(--space-5);}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

  /* Buttons */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:14px 28px;
    border-radius:999px;
    font-weight:600;
    font-size:1rem;
    text-decoration:none;
    cursor:pointer;
    border:1px solid transparent;
    transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease);
    min-height:48px;
    touch-action:manipulation;
  }
  .btn:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px;}
  .btn-primary{
    background:var(--accent);
    color:#fff;
    box-shadow:0 8px 30px -8px rgba(113,66,253,0.65);
  }
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 36px -6px rgba(113,66,253,0.8);}
  .btn-primary:active{transform:translateY(0);}
  .btn-secondary{
    background:transparent;
    color:var(--text);
    border-color:var(--border);
  }
  .btn-secondary:hover{border-color:var(--accent-light);color:var(--accent-light);transform:translateY(-2px);}
  .btn-block{width:100%;}

  /* Header */
  header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:100;
    background:rgba(8,8,13,0.72);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--border);
  }
  .nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px var(--space-3);
    max-width:var(--container);
    margin:0 auto;
  }
  .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);}
  .brand img{height:26px;width:auto;}
  .brand span{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:-0.01em;}
  .brand span em{color:var(--accent-light);font-style:normal;}
  .nav-links{
    display:flex;
    align-items:center;
    gap:var(--space-4);
    list-style:none;
    margin:0;padding:0;
  }
  .nav-links a{
    color:var(--text-muted);
    text-decoration:none;
    font-size:0.95rem;
    font-weight:500;
    transition:color var(--dur) var(--ease);
  }
  .nav-links a:hover{color:var(--text);}
  .nav-cta{display:flex;align-items:center;gap:var(--space-2);}
  .nav-toggle{
    display:none;
    background:none;border:1px solid var(--border);border-radius:var(--radius-sm);
    width:44px;height:44px;
    align-items:center;justify-content:center;
    color:var(--text);
    cursor:pointer;
  }
  @media (max-width:860px){
    .nav-links{
      position:fixed;
      top:64px;left:0;right:0;
      background:var(--surface);
      border-bottom:1px solid var(--border);
      flex-direction:column;
      align-items:flex-start;
      padding:var(--space-3);
      gap:var(--space-2);
      transform:translateY(-8px);
      opacity:0;
      pointer-events:none;
      transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
    }
    .nav-links.open{opacity:1;transform:translateY(0);pointer-events:auto;}
    .nav-cta .btn-secondary{display:none;}
    .nav-toggle{display:inline-flex;}
  }

  .skip-link{
    position:absolute;left:-9999px;top:0;
    background:var(--accent);color:#fff;padding:12px 20px;border-radius:8px;z-index:200;
  }
  .skip-link:focus{left:16px;top:16px;}

  /* Hero */
  .hero{
    position:relative;
    padding-top:calc(var(--space-7) + 64px);
    overflow:hidden;
    isolation:isolate;
  }
  .hero-bg{
    position:absolute;inset:-10% -10% auto -10%;
    height:140%;
    z-index:-1;
    --mx:0;--my:0;
    background:
      radial-gradient(600px circle at 20% 20%, rgba(113,66,253,0.35), transparent 60%),
      radial-gradient(500px circle at 80% 10%, rgba(113,66,253,0.22), transparent 55%),
      radial-gradient(700px circle at 60% 60%, rgba(78,43,199,0.18), transparent 60%);
    filter:blur(10px);
    animation:drift 18s ease-in-out infinite alternate;
  }
  @keyframes drift{
    from{transform:translate3d(calc(var(--mx) * -16px), calc(var(--my) * -16px), 0) scale(1);}
    to{transform:translate3d(calc(2% + var(--mx) * 16px), calc(2% + var(--my) * 16px), 0) scale(1.04);}
  }
  .hero-inner{max-width:780px;position:relative;z-index:1;}
  .hero-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-4);}
  .hero-note{margin-top:var(--space-3);font-size:0.9rem;color:var(--text-muted);}

  .hero-3d{
    position:absolute;
    top:50%;right:2%;
    width:460px;height:460px;
    transform:translateY(-50%);
    z-index:0;
    pointer-events:none;
    opacity:0.9;
  }
  @media (max-width:1100px){
    .hero-3d{display:none;}
  }

  /* Trust bar */
  .trust-bar{padding:var(--space-4) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
  .trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:var(--space-3);
    text-align:center;
  }
  .trust-grid strong{display:block;font-family:'Space Grotesk',sans-serif;font-size:1.5rem;color:var(--text);}
  .trust-grid span{font-size:0.875rem;color:var(--text-muted);}
  .trust-icon{width:32px;height:32px;margin:0 auto 10px;display:block;mix-blend-mode:screen;}
  @media (max-width:768px){
    .trust-grid{grid-template-columns:repeat(2,1fr);}
  }

  /* Reveal animation */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity 600ms var(--ease), transform 600ms var(--ease);}
  .reveal.is-visible{opacity:1;transform:translateY(0);}

  /* Two-path cards */
  .paths{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);}
  @media (max-width:768px){.paths{grid-template-columns:1fr;}}
  .path-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:var(--space-4);
    display:flex;
    flex-direction:column;
    transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
  }
  .path-card:hover{transform:translateY(-4px);border-color:var(--accent);}
  .path-icon{
    width:56px;height:56px;
    border-radius:var(--radius-md);
    background:linear-gradient(135deg, var(--accent), var(--accent-dark));
    display:flex;align-items:center;justify-content:center;
    margin-bottom:var(--space-3);
    flex-shrink:0;
  }
  .path-icon svg{width:28px;height:28px;stroke:#fff;}
  .path-card ul{margin:var(--space-2) 0 var(--space-3);padding-left:0;list-style:none;}
  .path-card li{display:flex;gap:10px;align-items:flex-start;color:var(--text-muted);margin-bottom:8px;font-size:0.95rem;}
  .path-card li svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;stroke:var(--accent-light);}
  .path-card .btn{margin-top:auto;}

  /* Before/after slider */
  .compare-wrap{
    max-width:900px;margin:0 auto;
  }
  .compare{
    position:relative;
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid var(--border);
    aspect-ratio:16/10;
    background:var(--surface);
    touch-action:none;
    user-select:none;
  }
  .compare-pane{position:absolute;inset:0;overflow:hidden;}
  .compare-before{z-index:1;}
  .compare-after{z-index:2;clip-path:inset(0 0 0 50%);}
  .mock{width:100%;height:100%;padding:5%;overflow:hidden;box-sizing:border-box;}
  /* "before" mock: deliberately dated */
  .mock-before{
    background:#d9d6ce;
    color:#1a1a1a;
    font-family:"Times New Roman", Times, serif;
  }
  .mock-before .mock-banner{
    background:#003399;color:#fff;text-align:center;padding:10px;font-weight:bold;
    border:3px ridge #ffcc00;font-size:0.85rem;
  }
  .mock-before .mock-heading{font-family:"Times New Roman",serif;color:#003399;text-decoration:underline;margin:14px 0 6px;font-size:1.1rem;}
  .mock-before p{color:#333;font-size:0.8rem;line-height:1.3;}
  .mock-before .mock-blocks{display:flex;gap:6px;margin-top:10px;}
  .mock-before .mock-blocks div{flex:1;height:40px;background:repeating-linear-gradient(45deg,#bbb,#bbb 6px,#ccc 6px,#ccc 12px);}
  .mock-before .badge{display:inline-block;background:#ff0000;color:#fff;font-size:0.65rem;padding:2px 6px;margin-top:8px;}
  /* "after" mock: matches real design system. Content is centered so it stays
     visible no matter where the comparison divider sits, since this pane's
     coordinate system spans the full compare width, not just its revealed half. */
  .mock-after{
    background:linear-gradient(160deg,#15151d,#0c0c11);
    color:#f5f5f7;
    font-family:'Inter',sans-serif;
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    align-items:center;
    height:100%;
    position:relative;
  }
  .mock-after .mock-chrome{
    position:absolute;top:0;left:0;right:0;height:8%;
    background:rgba(255,255,255,0.04);
    border-bottom:1px solid rgba(255,255,255,0.08);
    display:flex;align-items:center;gap:5px;padding:0 4%;
  }
  .mock-after .mock-chrome span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.25);}
  .mock-after .mock-text{padding:0 6%;}
  .mock-after .mock-eyebrow{color:var(--accent-light);font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;font-weight:600;}
  .mock-after .mock-heading{font-family:'Space Grotesk',sans-serif;font-size:1.3rem;margin:6px 0;}
  .mock-after p{color:#a3a3b2;font-size:0.8rem;max-width:95%;}
  .mock-after .mock-cta{
    display:inline-block;margin-top:10px;background:var(--accent);color:#fff;
    padding:8px 16px;border-radius:999px;font-size:0.75rem;font-weight:600;width:fit-content;
  }
  .mock-after .mock-visual{
    height:70%;
    border-radius:var(--radius-md);
    background:
      radial-gradient(circle at 30% 30%, rgba(255,255,255,0.16), transparent 55%),
      linear-gradient(150deg, var(--accent), var(--accent-dark));
    box-shadow:0 20px 50px -15px rgba(113,66,253,0.5);
  }
  .compare-divider{
    position:absolute;top:0;bottom:0;left:50%;
    width:0;
    z-index:3;
    pointer-events:none;
  }
  .compare-divider::before{
    content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:#fff;box-shadow:0 0 12px rgba(255,255,255,0.6);
  }
  .compare-handle{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:44px;height:44px;
    border-radius:50%;
    background:#fff;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 16px rgba(0,0,0,0.4);
    pointer-events:none;
  }
  .compare-handle svg{width:20px;height:20px;stroke:var(--bg);}
  .compare-range{
    position:absolute;inset:0;
    width:100%;height:100%;
    margin:0;
    opacity:0;
    cursor:ew-resize;
    z-index:4;
  }
  .compare:focus-within .compare-handle{
    box-shadow:0 0 0 4px var(--accent), 0 4px 16px rgba(0,0,0,0.4);
  }
  .compare-labels{display:flex;justify-content:space-between;margin-top:var(--space-2);font-size:0.85rem;color:var(--text-muted);}
  .compare-caption{text-align:center;margin-top:var(--space-3);font-size:0.85rem;color:var(--text-muted);}

  /* Examples — horizontal scroll */
  .examples-nav{display:flex;justify-content:flex-end;gap:var(--space-1);margin-bottom:var(--space-2);}
  .examples-arrow{
    width:44px;height:44px;
    border-radius:50%;
    border:1px solid var(--border);
    background:var(--surface);
    color:var(--text);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
    transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .examples-arrow:hover{border-color:var(--accent-light);color:var(--accent-light);transform:translateY(-2px);}
  .examples-arrow svg{width:20px;height:20px;}
  @media (max-width:640px){.examples-nav{display:none;}}

  .examples-scroll{
    display:flex;
    gap:var(--space-3);
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:var(--space-1) var(--space-1) var(--space-3);
    scrollbar-width:thin;
    scrollbar-color:var(--accent) var(--surface);
  }
  .examples-scroll::-webkit-scrollbar{height:8px;}
  .examples-scroll::-webkit-scrollbar-track{background:var(--surface);border-radius:999px;}
  .examples-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;}
  .example-card{
    scroll-snap-align:start;
    flex:0 0 auto;
    width:min(320px, 78vw);
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    overflow:hidden;
    transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
  }
  .example-card:hover{transform:translateY(-4px);border-color:var(--accent);}
  .example-visual{
    height:160px;
    position:relative;
    background:linear-gradient(150deg, var(--accent), var(--accent-dark));
  }
  .example-visual::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(circle at 30% 20%, rgba(255,255,255,0.25), transparent 55%);
  }
  .example-visual.has-photo{background-size:cover;background-position:top center;}
  .example-visual.v2{background:linear-gradient(150deg,#4e2bc7,#7142fd);}
  .example-visual.v3{background:linear-gradient(150deg,#b9a6ff,#7142fd);}
  .example-visual.v4{background:linear-gradient(150deg,#7142fd,#1b1b24);}
  .example-visual.v5{background:linear-gradient(150deg,#4e2bc7,#b9a6ff);}
  .example-body{padding:var(--space-3);}
  .example-body h3{margin-bottom:6px;}
  .example-body p{font-size:0.9rem;margin-bottom:0;color:var(--text-muted);}
  .examples-caption{text-align:center;margin-top:var(--space-1);font-size:0.85rem;color:var(--text-muted);}

  /* Real references */
  .references{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);max-width:900px;margin:0 auto;}
  @media (max-width:768px){.references{grid-template-columns:1fr;}}
  .reference-card{
    display:block;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    overflow:hidden;
    text-decoration:none;
    color:inherit;
    transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
  }
  .reference-card:hover{transform:translateY(-4px);border-color:var(--accent);}
  .reference-card:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px;}
  .reference-visual{
    height:200px;
    background-size:cover;
    background-position:top center;
    border-bottom:1px solid var(--border);
  }
  .reference-body{padding:var(--space-4);}
  .reference-card h3{margin-bottom:8px;}
  .reference-card p{margin-bottom:var(--space-2);}
  .reference-link{
    display:inline-flex;align-items:center;gap:6px;
    color:var(--accent-light);font-weight:600;font-size:0.95rem;
  }
  .reference-link svg{width:16px;height:16px;transition:transform var(--dur) var(--ease);}
  .reference-card:hover .reference-link svg{transform:translate(3px,-3px);}

  /* Live Website Check */
  .sr-only{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }
  .check-box{
    max-width:720px;margin:0 auto;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:var(--space-4);
  }
  #checkForm{display:flex;gap:var(--space-2);flex-wrap:wrap;}
  #checkForm input{
    flex:1 1 260px;
    background:var(--surface-2);
    border:1px solid var(--border);
    border-radius:999px;
    padding:14px 22px;
    color:var(--text);
    font-size:1rem;
    min-height:48px;
  }
  #checkForm input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(113,66,253,0.25);}
  .check-hint{font-size:0.8rem;color:var(--text-muted);margin:var(--space-2) 0 0;text-align:center;}

  #checkResult{margin-top:var(--space-4);}
  #checkResult:empty{margin-top:0;}

  .check-loading{
    display:flex;align-items:center;justify-content:center;gap:12px;
    padding:var(--space-4) 0;color:var(--text-muted);font-size:0.95rem;
  }
  .check-spinner{
    width:22px;height:22px;border-radius:50%;
    border:3px solid var(--border);
    border-top-color:var(--accent);
    animation:spin 800ms linear infinite;
    flex-shrink:0;
  }
  @keyframes spin{to{transform:rotate(360deg);}}

  .check-error{
    background:rgba(248,113,113,0.1);
    border:1px solid rgba(248,113,113,0.35);
    border-radius:var(--radius-sm);
    padding:var(--space-3);
    color:#fca5a5;
    font-size:0.95rem;
  }
  .check-error a{color:#fca5a5;text-decoration:underline;}

  .check-gauges{
    display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);
    text-align:center;margin-bottom:var(--space-3);
  }
  @media (max-width:640px){.check-gauges{grid-template-columns:repeat(2,1fr);}}
  .gauge{display:flex;flex-direction:column;align-items:center;gap:6px;}
  .gauge svg{width:88px;height:88px;transform:rotate(-90deg);}
  .gauge-bg{fill:none;stroke:var(--border);stroke-width:9;}
  .gauge-fill{fill:none;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset 900ms var(--ease);}
  .gauge-wrap{position:relative;width:88px;height:88px;}
  .gauge-score{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.35rem;color:var(--text);
  }
  .gauge-name{font-size:0.8rem;color:var(--text-muted);font-weight:600;}
  .gauge-quality{font-size:0.72rem;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;}

  .check-metrics{
    display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;margin-bottom:var(--space-3);
  }
  .check-metric{
    background:var(--surface-2);border:1px solid var(--border);border-radius:999px;
    padding:8px 16px;font-size:0.85rem;color:var(--text-muted);
  }
  .check-metric strong{color:var(--text);font-weight:700;}

  .check-cta{
    text-align:center;padding-top:var(--space-3);border-top:1px solid var(--border);
  }
  .check-cta p{margin-bottom:var(--space-2);}
  .check-url-label{text-align:center;color:var(--text-muted);font-size:0.85rem;margin-bottom:var(--space-2);word-break:break-all;}

  /* Process */
  .process{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:var(--space-3);
    counter-reset:step;
  }
  @media (max-width:900px){.process{grid-template-columns:1fr;}}
  .step{
    position:relative;
    padding:var(--space-3);
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
  }
  .step-icon{
    width:100%;
    max-width:120px;
    height:auto;
    margin:0 auto var(--space-2);
    display:block;
    mix-blend-mode:screen;
  }
  .step-num{
    counter-increment:step;
    width:36px;height:36px;
    border-radius:50%;
    background:var(--accent);
    color:#fff;font-weight:700;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:var(--space-2);
    font-family:'Space Grotesk',sans-serif;
  }
  .step-num::before{content:counter(step);}
  .step time{display:block;margin-top:8px;font-size:0.8rem;color:var(--accent-light);font-weight:600;}

  /* Services */
  .services{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);}
  @media (max-width:900px){.services{grid-template-columns:1fr;}}
  .service-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:var(--space-4);
  }
  .service-icon{width:56px;height:56px;margin-bottom:var(--space-2);mix-blend-mode:screen;}
  .service-card ul{padding-left:20px;color:var(--text-muted);font-size:0.95rem;margin:var(--space-2) 0;}
  .service-card li{margin-bottom:6px;}
  .service-note{
    display:inline-block;margin-top:var(--space-1);font-size:0.85rem;color:var(--accent-light);
  }


  /* FAQ */
  .faq-item{
    border-bottom:1px solid var(--border);
    padding:var(--space-2) 0;
  }
  .faq-item summary{
    cursor:pointer;
    font-weight:600;
    font-size:1.05rem;
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:8px 0;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary .plus{
    width:24px;height:24px;flex-shrink:0;position:relative;
  }
  .faq-item summary .plus::before,.faq-item summary .plus::after{
    content:"";position:absolute;background:var(--accent-light);border-radius:2px;
    transition:transform var(--dur) var(--ease);
  }
  .faq-item summary .plus::before{top:11px;left:2px;right:2px;height:2px;}
  .faq-item summary .plus::after{left:11px;top:2px;bottom:2px;width:2px;}
  .faq-item[open] summary .plus::after{transform:rotate(90deg);}
  .faq-item p{margin-top:8px;}

  /* CTA + Contact */
  .cta-section{
    background:
      linear-gradient(100deg, var(--surface) 40%, rgba(19,19,25,0.55) 100%),
      url("cta-bg.jpg");
    background-size:cover;
    background-position:right center;
    border-radius:var(--radius-lg);
    padding:var(--space-5);
    border:1px solid var(--border);
  }
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start;}
  @media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
  .field{margin-bottom:var(--space-3);}
  .field label{display:block;font-weight:600;font-size:0.9rem;margin-bottom:6px;}
  .field .req{color:var(--accent-light);}
  .field input,.field textarea,.field select{
    width:100%;
    background:var(--surface-2);
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    padding:12px 14px;
    color:var(--text);
    font-size:1rem;
    font-family:inherit;
    min-height:48px;
    transition:border-color var(--dur) var(--ease);
  }
  .field textarea{min-height:120px;resize:vertical;}
  .field input:focus,.field textarea:focus,.field select:focus{
    outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(113,66,253,0.25);
  }
  .field-hint{font-size:0.8rem;color:var(--text-muted);margin-top:4px;}
  .radio-group{display:flex;gap:var(--space-2);flex-wrap:wrap;}
  .radio-option{
    display:flex;align-items:center;gap:8px;
    background:var(--surface-2);border:1px solid var(--border);border-radius:999px;
    padding:10px 16px;cursor:pointer;font-size:0.9rem;min-height:44px;
  }
  .radio-option input{width:auto;min-height:auto;}
  .form-status{margin-top:var(--space-2);font-size:0.9rem;}
  .botcheck{display:none;}
  .form-success{
    display:flex;align-items:center;gap:10px;
    background:rgba(52,211,153,0.12);
    border:1px solid rgba(52,211,153,0.35);
    border-radius:var(--radius-sm);
    padding:var(--space-2) var(--space-3);
    color:#6ee7b7;
    font-weight:600;
  }
  .form-success svg{width:22px;height:22px;flex-shrink:0;stroke:#6ee7b7;}

  /* Confetti */
  .confetti-container{position:fixed;inset:0;pointer-events:none;z-index:300;overflow:hidden;}
  .confetti-piece{
    position:absolute;top:-14px;width:8px;height:14px;border-radius:2px;opacity:0.95;
    animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;
  }
  @keyframes confetti-fall{
    0%{transform:translate3d(0,0,0) rotate(0deg);opacity:1;}
    100%{transform:translate3d(var(--drift,0px), 105vh, 0) rotate(var(--spin,360deg));opacity:0.85;}
  }

  /* Footer */
  footer{border-top:1px solid var(--border);padding:var(--space-5) 0 var(--space-4);}
  .footer-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-4);}
  .footer-links{display:flex;gap:var(--space-3);list-style:none;padding:0;margin:0;flex-wrap:wrap;}
  .footer-links a{color:var(--text-muted);text-decoration:none;font-size:0.9rem;}
  .footer-links a:hover{color:var(--text);}
  .footer-bottom{margin-top:var(--space-4);color:var(--text-muted);font-size:0.85rem;border-top:1px solid var(--border);padding-top:var(--space-3);}

  ::selection{background:var(--accent);color:#fff;}
