*,*::before,*::after{ box-sizing:border-box; }
  html,body{ margin:0; padding:0; }
  html{ scroll-behavior:smooth; font-size:93.75%; }

  
  :focus-visible{ outline:2px solid var(--purple); outline-offset:3px; border-radius:6px; }
  .skip-link{
    position:absolute; left:12px; top:-60px; z-index:1000;
    background: var(--purple-deep); color:#fff;
    padding:10px 18px; border-radius:0 0 10px 10px;
    font-weight:600; font-size:.9rem; text-decoration:none;
    box-shadow:0 8px 24px -8px rgba(76,29,149,.6);
    transition: top .25s ease;
  }
  .skip-link:focus{ top:0; }

  :root{
    
    --bg:        #ffffff;
    --bg-soft:   #faf8fd;
    --bg-soft-2: #f4eefb;
    --line:      rgba(76,29,149,0.10);

    
    --ink:    #1d1730;
    --body:   #4a4458;
    --muted:  #6f6582;
    --muted-2:#726889;

    
    --purple-deep:  #4c1d95;
    --purple:       #7c3aed;
    --violet:       #8b5cf6;
    --violet-blue:  #6366f1;
    --purple-light: #a78bfa;
    --magenta:      #d6286f;
    --pink:         #ec4899;

    --brand-gradient: linear-gradient(120deg, var(--purple-deep) 0%, var(--purple) 32%, var(--violet) 58%, var(--violet-blue) 88%, var(--pink) 100%);

    --shadow-sm: 0 4px 18px rgba(76,29,149,.07);
    --shadow-md: 0 16px 44px rgba(76,29,149,.12);
    --shadow-glow: 0 14px 38px -10px rgba(99,102,241,.45);

    --radius-sm: 12px;
    --radius-md: 18px;
    --radius-lg: 28px;
    --container: 1180px;
  }

  body{
    font-family:'Inter', -apple-system, sans-serif;
    background: var(--bg);
    color: var(--body);
    line-height: 1.65;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
  }

  h1,h2,h3,h4{
    font-family:'Sora', sans-serif;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 0;
  }

  p{ margin:0; }
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  ul{ margin:0; padding:0; list-style:none; }
  button{ font-family:inherit; border:none; background:none; cursor:pointer; color:inherit; }

  :focus-visible{
    outline: 2px solid var(--purple);
    outline-offset: 3px;
    border-radius: 4px;
  }

  
  .container{
    width:100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
  }
  section{
    padding: clamp(56px, 8vw, 96px) 0;
    position: relative;
  }
  .section--soft{ background: var(--bg-soft); }

  .section-head{ max-width: 640px; margin: 0 0 56px; }
  .section-head.center{ margin-inline:auto; text-align:center; }

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
    color: var(--purple-deep);
    margin-bottom: 18px;
  }
  .eyebrow::before{
    content:'';
    display:block;
    width:22px;
    height:2px;
    border-radius:2px;
    background: linear-gradient(90deg, var(--purple), var(--violet-blue));
  }
  .section-head.center .eyebrow::before,
  .eyebrow--center::before{ display:none; }
  .section-head.center .eyebrow,
  .eyebrow--center{ justify-content:center; }

  .section-head h2{ font-size: clamp(1.9rem, 4.2vw, 2.75rem); font-weight:800; letter-spacing:-.03em; line-height:1.05; margin-bottom: 16px; }
  .section-head p{ color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.1rem); }

  

  
  .divider{
    height:2px;
    width:100%;
    border-radius:2px;
    background: linear-gradient(90deg,
      transparent 0%, var(--purple) 18%, var(--violet) 38%, var(--violet-blue) 55%,
      var(--pink) 65%, var(--violet) 82%, transparent 100%);
    background-size: 220% 100%;
    opacity:.55;
    animation: divider-sweep 10s linear infinite;
  }
  @keyframes divider-sweep{
    0%{ background-position: 0% 0; }
    100%{ background-position: -220% 0; }
  }

  
  .glow-field{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
  .glow{
    position:absolute;
    border-radius:50%;
    filter: blur(70px);
    will-change: transform;
  }
  .glow--purple{ background: radial-gradient(circle, rgba(139,92,246,.40), transparent 70%); }
  .glow--violetblue{   background: radial-gradient(circle, rgba(99,102,241,.34), transparent 70%); }
  .glow--deep{   background: radial-gradient(circle, rgba(76,29,149,.32), transparent 70%); }
  .glow--white{  background: radial-gradient(circle, rgba(255,255,255,.55), transparent 70%); }

  

  @keyframes float-a{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(60px,40px) scale(1.1); } }
  @keyframes float-b{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(-50px,55px) scale(1.05); } }
  @keyframes float-c{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(45px,-50px) scale(1.08); } }

  @keyframes pulse-dot{
    0%,100%{ transform:scale(1); opacity:1; }
    50%{ transform:scale(1.35); opacity:.55; }
  }

  
  .motion-paused, .motion-paused::before, .motion-paused::after{
    animation-play-state: paused !important;
  }

  @media (prefers-reduced-motion: reduce){
    .glow, .btn--primary, .divider, .reveal, .headshot-frame, .category-track{ animation:none !important; }
    .nav, .nav::after, .nav::before{ animation:none !important; }
    .headshot-frame::before, .headshot-frame::after, .text-gradient{ animation:none !important; }
    .carrier-track{ animation:none !important; }
    .final-card::after, .btn--primary::after, .glow-field, .nav::after{ animation:none !important; }
    .trust-grid.reveal > *, .who-grid.reveal > *, .coverage-list.reveal > *, .process-grid.reveal > *{
      opacity:1 !important; transform:none !important; transition:none !important;
    }
    .quote-progress__seg.is-current .quote-progress__num,
    .quote-step.is-active,
    .quote-step[data-step="5"].is-active .quote-success__icon,
    .quote-step[data-step="5"].is-active .quote-success__icon::before{ animation:none !important; }
    .who-help-image{ transition:none !important; }
    .who-help-visual::before{ animation:none !important; }
    .journey-step.is-active .journey-step__num{ animation:none !important; }
    .journey__line-fill{ transition:none !important; }
    .hero-shape{ transition:none !important; opacity:1 !important; transform:none !important; }
    .hero-stage--video{ transition:none !important; transform:none !important; }
    .hero-stage__plane{ transition:none !important; transform:translate3d(0,0,-8px) rotateX(0deg) !important; }
  }
  
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding: 15px 30px;
    border-radius: 999px;
    font-family:'Sora', sans-serif;
    font-weight:600;
    font-size:.95rem;
    letter-spacing:-.01em;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
    white-space:nowrap;
  }
  .btn--primary{
    background: var(--brand-gradient);
    background-size:200% 200%;
    color:#fff;
    box-shadow: var(--shadow-glow);
    animation: gradient-shift 9s ease infinite;
  }
  .btn--primary:hover{ transform: translateY(-2px); box-shadow: 0 20px 50px -10px rgba(99,102,241,.55); }
  @keyframes gradient-shift{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }

  .btn--ghost{
    background: #fff;
    border:1.5px solid rgba(124,58,237,.25);
    color: var(--purple-deep);
  }
  .btn--ghost:hover{
    border-color: rgba(124,58,237,.5);
    background: var(--bg-soft-2);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
  }

  .btn--on-gradient{
    background: rgba(255,255,255,.14);
    border:1.5px solid rgba(255,255,255,.45);
    color:#fff;
  }
  .btn--on-gradient:hover{ background: rgba(255,255,255,.24); transform: translateY(-2px); }

  .btn--sm{ padding:11px 22px; font-size:.85rem; }
  .btn-row{ display:flex; flex-wrap:wrap; gap:14px; }

  
  .nav{
    position:fixed;
    top:0; left:0; right:0;
    z-index:100;
    padding: 16px 0;
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.74));
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    border-bottom:1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
    transition: border-color .3s ease, padding .3s ease, box-shadow .3s ease;
    transform: translateZ(0);
  }
  .nav.is-scrolled{
    border-bottom-color: var(--line);
    box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,.6);
    padding: 11px 0;
  }
  
  .nav::after{
    content:"";
    position:absolute; left:0; right:0; bottom:0;
    height:2px;
    background: linear-gradient(90deg,
      transparent 0%, var(--purple-deep) 22%, var(--violet) 50%, var(--violet-blue) 72%, transparent 100%);
    background-size:200% 100%;
    opacity:.42;
    transition: opacity .4s ease;
  }
  .nav.is-scrolled::after{ opacity:.7; }
  
  .nav::before{
    content:"";
    position:absolute; inset:0;
    pointer-events:none;
    background: radial-gradient(circle at 55% 50%,
      rgba(109,40,217,.10), rgba(109,40,217,.04) 32%, transparent 68%);
    opacity:.5;
  }
  @keyframes header-accent-flow{ 0%{ background-position:0% 0; } 100%{ background-position:220% 0; } }
  @keyframes header-glow-drift{ 0%,100%{ opacity:.55; } 50%{ opacity:.95; } }
  .nav__inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; position:relative; z-index:1; }

  .logo{ display:flex; align-items:center; gap:12px; }
  .logo-frame{ display:inline-flex; align-items:center; justify-content:center; }

  
  .logo__img, .header-jm-logo, .hero-full-logo, .footer-full-logo{
    display:block; object-fit:contain; background:transparent;
  }

  
  .header-jm-logo{ height:38px; width:auto; max-width:64px; }
  
  .footer-brand .logo__img{ width:auto; height:auto; max-width:200px; }
  
  .hero-full-logo{ width:min(440px,78vw); max-width:100%; height:auto; margin:0 auto 18px auto; }
  .hero .logo-frame{ display:block; text-align:center; margin:0 auto; }

  
  .footer-full-logo{ width:min(420px,86vw); max-width:100%; height:auto; margin:0 auto 18px auto; }
  .final-card__contact .logo-frame{ display:block; }
  .final-card__contact .footer-full-logo{ width:min(160px,55%); margin-bottom:14px; }

  .nav__links{ display:none; align-items:center; gap:34px; }
  .nav__links a{ font-size:.92rem; font-weight:500; color: var(--body); transition:color .2s ease; }
  .nav__links a:hover{ color: var(--purple-deep); }
  .nav__cta{ display:none; align-items:center; gap:18px; }
  
  .nav__cta .btn--primary{ background:var(--purple-deep); background-size:auto; animation:none; box-shadow:0 8px 20px -8px rgba(76,29,149,.4); }
  .nav__cta .btn--primary:hover{ background:var(--purple); }
  .nav__phone{ font-size:.9rem; font-weight:600; color: var(--ink); }
  .nav__phone svg{ vertical-align:-3px; margin-right:6px; color: var(--purple); }

  
  .nav__call{
    display:none; align-items:center; gap:8px;
    margin-left:auto;
    padding:9px 16px; border-radius:999px;
    border:1px solid var(--line);
    background: linear-gradient(180deg, #ffffff, #faf8fd);
    color: var(--ink); font-weight:600; font-size:.92rem; white-space:nowrap;
    box-shadow: 0 6px 18px -10px rgba(76,29,149,.45);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease, color .25s ease;
  }
  .nav__call svg{ color: var(--purple); flex-shrink:0; }
  .nav__call:hover{
    border-color: rgba(124,58,237,.5); color: var(--purple-deep);
    transform: translateY(-1px);
    box-shadow: 0 12px 26px -12px rgba(124,58,237,.55);
  }
  .nav__toggle{
    display:flex; align-items:center; justify-content:center;
    width:42px; height:42px;
    border:1px solid var(--line);
    border-radius:10px;
    color: var(--ink);
    background:#fff;
  }
  
  .mobile-menu{
    position:fixed; inset:0;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    z-index:101;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    gap:30px;
    opacity:0; visibility:hidden;
    transform: translateY(-12px);
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
  }
  .mobile-menu.is-open{ opacity:1; visibility:visible; transform: translateY(0); }
  .mobile-menu a{ font-family:'Sora'; font-size:1.5rem; font-weight:600; color: var(--ink); }
  .mobile-menu .btn{ margin-top:10px; }
  .mobile-menu__close{
    position:absolute; top:24px; right:24px;
    width:42px; height:42px;
    display:flex; align-items:center; justify-content:center;
    border:1px solid var(--line); border-radius:10px; color: var(--ink); background:#fff;
  }
  .mobile-menu a, .mobile-menu .btn{
    opacity:0; transform: translateY(14px);
    transition: opacity .45s ease, transform .45s ease;
  }
  .mobile-menu.is-open a, .mobile-menu.is-open .btn{ opacity:1; transform: translateY(0); }
  .mobile-menu.is-open a:nth-child(2){ transition-delay:.04s; }
  .mobile-menu.is-open a:nth-child(3){ transition-delay:.08s; }
  .mobile-menu.is-open a:nth-child(4){ transition-delay:.12s; }
  .mobile-menu.is-open a:nth-child(5){ transition-delay:.16s; }
  .mobile-menu.is-open a:nth-child(6){ transition-delay:.20s; }
  .mobile-menu.is-open .btn{ transition-delay:.24s; }

  
  .hero-cinematic{ position:relative; display:flex; flex-direction:column; padding:clamp(80px,7vw,104px) 0 18px; overflow:hidden; }
  .hero-cinematic__head{ order:1; width:100%; max-width:760px; margin:0 auto 12px; text-align:center; padding:0 24px; }
  .hero-cinematic__head .eyebrow{ font-family:'Sora',sans-serif; font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--purple); margin:0 0 14px; }
  .hero-cinematic__head h1{ font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(2.6rem,5.6vw,4rem); line-height:1.02; letter-spacing:-.03em; color:var(--ink); margin:0 0 16px; }
  .hero-cinematic__head h1 .grad-word{ background:var(--brand-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .hero-cinematic__head .lead{ font-size:1.02rem; line-height:1.55; color:var(--body); margin:0 auto 22px; max-width:560px; }
  .hero-cinematic__actions{ display:flex; gap:14px; width:100%; }
  .hero-cinematic__actions .btn{ flex:1 1 0; }

  
  .hero-cinematic__trust{ order:3; width:100%; text-align:center; font-size:.85rem; color:var(--muted); margin:16px 0 0; padding:0 24px; }

  .hero-stages{ order:2; width:100%; position:relative; z-index:1; max-width:var(--container); margin:0 auto; padding:0 24px; box-sizing:border-box; }
  .hero-stages--solo{ display:block; }
  .hero-stage{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
  .hero-stage--video{
    position:relative; background:#14101c;
    min-height:46vh; max-height:600px; aspect-ratio:16/9;
    box-shadow: 0 30px 70px -24px rgba(29,23,48,.5), 0 12px 28px -14px rgba(76,29,149,.38);
    transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease;
  }
  .hero-stage--video::after{
    content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:2;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), inset 0 0 0 1px rgba(167,139,250,.14);
  }

  
  .hero-stages--solo{ perspective:1600px; }
  .hero-stage__plane{
    position:absolute; inset:14px; border-radius:var(--radius-lg); z-index:0;
    background:var(--brand-gradient); opacity:.16;
    transform:translate3d(0,10px,-40px) rotateX(3deg);
  }
  .hero-stage__plane--a{ inset:10px; opacity:.22; }
  .hero-stage__plane--b{ inset:22px; opacity:.13; }
  .hero-cinematic.is-entered .hero-stage__plane{
    transition:transform .8s cubic-bezier(.2,.7,.2,1), opacity .8s ease;
    transform:translate3d(0,0,-8px) rotateX(0deg);
  }
  .hero-cinematic.is-entered .hero-stage__plane--b{ transition-delay:80ms; }
  .hero-cinematic.is-entered .hero-stage--video{ box-shadow: 0 34px 78px -22px rgba(29,23,48,.55), 0 14px 32px -12px rgba(76,29,149,.42); }

  
  .hero-shapes{ position:absolute; inset:-40px -10% -10% -10%; z-index:0; pointer-events:none; overflow:hidden; }
  .hero-shape{
    position:absolute; border-radius:50%; filter:blur(2px);
    opacity:0; transform:translateY(14px) scale(.96);
  }
  .hero-shape--a{ width:38%; aspect-ratio:1; left:2%; top:6%; background:radial-gradient(circle, rgba(167,139,250,.24), transparent 70%); }
  .hero-shape--b{ width:26%; aspect-ratio:1; right:8%; top:32%; background:radial-gradient(circle, rgba(76,29,149,.16), transparent 70%); }
  .hero-shape--c{ width:20%; aspect-ratio:1; left:36%; bottom:0; background:radial-gradient(circle, rgba(124,58,237,.14), transparent 70%); }
  .hero-cinematic.is-entered .hero-shape{ transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); opacity:1; transform:none; }
  .hero-cinematic.is-entered .hero-shape--a{ transition-delay:0ms; }
  .hero-cinematic.is-entered .hero-shape--b{ transition-delay:120ms; }
  .hero-cinematic.is-entered .hero-shape--c{ transition-delay:220ms; }
  @media (max-width:900px){ .hero-shapes{ display:none; } }

  
  .cinema-loop{ position:absolute; inset:0; }
  .cinema-loop .poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .cinema-loop video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1100ms ease-in-out; }
  .cinema-loop video.is-front{ opacity:1; }
  .cinema-loop:not(.is-ready) video{ opacity:0 !important; }
  .cinema-loop.is-static video{ display:none; }

  .verify-kicker{ font-family:'Sora',sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:0 0 18px; }
  .verify-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; flex:1; }
  .verify-row{ display:flex; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--bg-soft-2); font-size:.95rem; color:var(--body); transition:color .3s ease; }
  .verify-row:last-child{ border-bottom:none; }
  .verify-dot{ width:20px; height:20px; border-radius:50%; border:2px solid var(--bg-soft-2); background:var(--bg-soft); flex-shrink:0; position:relative; transition:background .3s ease,border-color .3s ease; }
  .verify-row.is-verified .verify-dot{ background:var(--purple); border-color:var(--purple); }
  .verify-row.is-verified .verify-dot::after{ content:''; position:absolute; inset:0; margin:auto; width:6px; height:10px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(40deg) translate(-1px,-2px); }
  .verify-row.is-verified{ color:var(--ink); font-weight:600; }
  .verify-row .verify-status{ margin-left:auto; font-size:.8rem; color:var(--muted); opacity:0; transition:opacity .3s ease; }
  .verify-row.is-verified .verify-status{ opacity:1; color:var(--purple); }

  .verify-result{ margin-top:16px; padding:16px 18px; border-radius:14px; background:var(--bg-soft-2); color:var(--purple-deep); font-weight:600; font-size:.92rem; text-align:center; opacity:0; transform:translateY(6px); transition:opacity .4s ease, transform .4s ease, background .4s ease, color .4s ease; }
  .verify-result.is-ready{ opacity:1; transform:none; background:var(--brand-gradient); color:#fff; }

  @media (hover:hover) and (pointer:fine){
    .hero-stage--verify{ transition:transform .3s ease, box-shadow .3s ease; }
    .hero-stage--verify:hover{ transform:translateY(-3px); box-shadow:0 22px 50px -14px rgba(76,29,149,.22); }
  }

  @media (max-width:900px){
    .hero-cinematic{ padding-top:88px; }
    
    .hero-stage--video{ aspect-ratio:16/9; min-height:0; max-height:none; border-radius:var(--radius-md); }
    .hero-cinematic__head h1{ line-height:1.15; }
  }
  @media (max-width:480px){
    
    .hero-cinematic__actions{ flex-wrap:nowrap; gap:10px; }
    .hero-cinematic__actions .btn{ flex:1 1 0; min-width:0; padding:13px 10px; font-size:.78rem; white-space:normal; text-align:center; }
  }
  
  .carrier-strip{ margin: 8px auto 0; max-width: 960px; }
  .carrier-section{ padding: clamp(14px, 2vw, 24px) 0 clamp(32px, 5vw, 48px); }
  .carrier-strip__label{
    text-align:center; font-size:.72rem; font-weight:600; letter-spacing:.2em;
    text-transform:uppercase; color: var(--muted); margin:0 0 22px;
  }
  .carrier-strip__viewport{
    position:relative; overflow:hidden;
    background:var(--bg-soft-2);
    border-radius:var(--radius-md);
    box-shadow: inset 0 1px 3px rgba(29,23,48,.06), inset 0 0 0 1px rgba(124,58,237,.06);
    padding:18px 0;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  }
  .carrier-track{
    display:flex; width:max-content; align-items:center; gap:56px;
    animation: carrier-scroll 34s linear infinite;
  }
  .carrier-track:hover{ animation-play-state: paused; }
  .carrier-item{
    flex:0 0 auto; white-space:nowrap;
    font-size:.92rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
    color: rgba(29,23,48,.30);
    transition: color .25s ease, transform .25s cubic-bezier(.2,.7,.2,1);
    display:inline-block;
  }
  .carrier-item:hover{ color: var(--purple); transform:translateY(-3px); }
  @keyframes carrier-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  
  .top-category-bar{
    background: var(--bg-soft);
    border-bottom:1px solid var(--line);
    padding: clamp(86px, 13vw, 112px) 0 14px;
    position:relative;
    overflow:hidden;
  }
  .top-category-bar::before{
    content:"";
    position:absolute; left:0; right:0; bottom:0;
    height:2px;
    background: linear-gradient(90deg,
      transparent 0%, var(--purple-deep) 16%, var(--purple) 36%,
      var(--violet) 54%, var(--violet-blue) 74%, transparent 100%);
    background-size: 220% 100%;
    opacity:.6;
    animation: header-accent-flow 16s linear infinite reverse;
  }
  .top-category-bar::after{
    content:"";
    position:absolute; inset:0;
    pointer-events:none;
    background: radial-gradient(90% 120% at 50% -10%, rgba(124,58,237,.07), transparent 60%);
    animation: header-glow-drift 20s ease-in-out infinite;
  }
  .top-category-bar__inner{
    display:flex; align-items:center; justify-content:center;
    flex-wrap:wrap; gap:10px;
    position:relative; z-index:1;
  }

  .category-pill{
    display:inline-flex; align-items:center;
    padding:9px 20px;
    border-radius:999px;
    border:1px solid var(--line);
    background:#fff;
    font-size:.85rem; font-weight:600; color: var(--ink);
    white-space:nowrap;
    transition: border-color .25s ease, color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease;
  }
  .category-pill:hover{
    border-color: rgba(124,58,237,.45);
    color: var(--purple-deep);
    background: linear-gradient(120deg, rgba(124,58,237,.08), rgba(99,102,241,.08));
    transform: translateY(-2px);
    box-shadow: 0 10px 26px -10px rgba(99,102,241,.5);
  }
  
  .trust-grid{ display:grid; grid-template-columns: 1fr; gap:20px; }
  .card{
    background: #fff;
    border:1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 32px;
    box-shadow: var(--shadow-sm);
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
    position:relative;
  }
  .card:hover{ transform: translateY(-5px); border-color: rgba(124,58,237,.25); box-shadow: var(--shadow-md); }
  .card__icon{
    width:48px; height:48px;
    border-radius: 12px;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:22px;
    transition: transform .35s ease;
  }
  .card:hover .card__icon{ transform: scale(1.08) rotate(-4deg); }
  .card__icon--purple{ background: rgba(124,58,237,.10); border:1px solid rgba(124,58,237,.18); color: var(--purple); }
  .card__icon--violetblue{ background: rgba(99,102,241,.10); border:1px solid rgba(99,102,241,.18); color: var(--violet-blue); }
  .card h3{ font-size:1.15rem; margin-bottom:10px; }
  .card p{ color: var(--muted); font-size:.95rem; }

  .credential-bar{
    margin-top:40px;
    display:flex; flex-wrap:wrap; gap:14px 28px;
    align-items:center;
    padding:20px 28px;
    border:1px solid var(--line);
    border-radius: var(--radius-md);
    background: linear-gradient(120deg, rgba(124,58,237,.06), rgba(99,102,241,.06));
  }
  .credential-bar__item{ display:flex; align-items:center; gap:10px; font-size:.88rem; color: var(--muted); font-weight:500; }
  .credential-bar__item svg{ color: var(--purple); flex-shrink:0; }
  .credential-bar__item strong{ color: var(--ink); font-weight:600; }

  
  .who-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(230px,1fr)); gap:18px; }
  .who-item{
    border:1px solid var(--line);
    border-radius: var(--radius-md);
    padding:26px;
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
  }
  .who-item:hover{ border-color: rgba(99,102,241,.28); transform: translateY(-4px); box-shadow: var(--shadow-md); }
  .who-item__icon{
    width:42px; height:42px; border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    background: rgba(124,58,237,.10); border:1px solid rgba(124,58,237,.18);
    color: var(--purple);
    margin-bottom:18px;
    transition: transform .35s ease;
  }
  .who-item:hover .who-item__icon{ transform: scale(1.08) rotate(4deg); }
  .who-item h3{ font-size:1.02rem; margin-bottom:8px; }
  .who-item p{ font-size:.9rem; color: var(--muted); }

  
  .coverage-layout{ display:grid; grid-template-columns: 1fr; gap:48px; align-items:start; }
  .coverage-intro{ position:relative; }
  .coverage-intro .eyebrow{ margin-bottom:18px; }
  .coverage-intro h2{ font-size: clamp(1.9rem,4vw,2.6rem); margin-bottom:18px; }
  .coverage-intro p{ color: var(--muted); margin-bottom:30px; }

  .coverage-list{ display:grid; grid-template-columns: 1fr; gap:14px; }
  .coverage-item{
    display:flex; gap:16px; padding:22px;
    border:1px solid var(--line); border-radius: var(--radius-sm);
    background: #fff; box-shadow: var(--shadow-sm);
    transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
  }
  .coverage-item:hover{ border-color: rgba(124,58,237,.25); box-shadow: var(--shadow-md); transform: translateY(-3px); }
  .coverage-item__icon{
    width:38px; height:38px; flex-shrink:0; border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    background: rgba(124,58,237,.10); color: var(--purple);
  }
  .coverage-item h3{ font-size:.98rem; margin-bottom:6px; }
  .coverage-item p{ font-size:.87rem; color: var(--muted); }

  
  
  .journey{ position:relative; display:flex; flex-direction:column; gap:22px; margin-top:14px; --progress:0; }
  .journey__line{
    position:absolute; left:25px; top:26px; bottom:26px; width:2px;
    background: var(--bg-soft-2); border-radius:2px; overflow:hidden; z-index:0;
  }
  .journey__line-fill{
    position:absolute; left:0; top:0; width:100%; height:calc(var(--progress) * 100%);
    background: linear-gradient(180deg, var(--purple), var(--violet), var(--violet-blue));
    transition: height 1100ms ease;
  }
  .journey-step{ position:relative; display:flex; gap:18px; align-items:flex-start; z-index:1; }
  .journey-step__num{
    flex:0 0 auto; width:52px; height:52px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:'Sora'; font-weight:800; font-size:1.15rem;
    background:#fff; border:2px solid var(--bg-soft-2); color: var(--muted);
    transition: background .6s ease, color .6s ease, border-color .6s ease, box-shadow .6s ease, transform .45s ease;
    position:relative; z-index:1;
  }
  .journey-step.is-active .journey-step__num{
    border-color:transparent; color:#fff;
    background: var(--purple);
    box-shadow: 0 10px 26px -10px rgba(124,58,237,.55), 0 0 0 6px rgba(124,58,237,.08);
  }
  .journey-step__card{
    flex:1; position:relative; border:1px solid var(--line); border-radius: var(--radius-md);
    padding:22px 24px; background: rgba(255,255,255,.88);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    box-shadow: var(--shadow-sm);
    opacity:.75; transform: translateY(6px);
    transition: opacity 400ms ease, transform 450ms ease, box-shadow 450ms ease;
    max-width:640px;
  }
  .journey-step__card::before{
    content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; pointer-events:none;
    background: var(--purple);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    opacity:0; transition: opacity 600ms ease;
  }
  .journey-step.is-active .journey-step__card{ opacity:1; transform: translateY(0); box-shadow: 0 24px 54px -26px rgba(76,29,149,.38); }
  .journey-step.is-active .journey-step__card::before{ opacity:1; }
  .journey-step.is-active .journey-step__card::after{
    content:""; position:absolute; inset:-1px; border-radius:inherit; z-index:-1; opacity:0;
    background: radial-gradient(60% 120% at 0% 50%, rgba(124,58,237,.16), transparent 70%);
    animation: journey-glow-in 900ms ease forwards;
  }
  @keyframes journey-glow-in{ to{ opacity:1; } }
  .journey-step__card h3{ font-size:1.05rem; margin-bottom:8px; }
  .journey-step__card p{ font-size:.9rem; color: var(--muted); margin:0; max-width:56ch; }

  .process-cta{ margin-top:48px; display:flex; justify-content:center; }

  
  .about-layout{ display:grid; grid-template-columns: 1fr; gap:48px; align-items:start; }
  .headshot-cutout{
    position:relative;
    max-width:380px;
    margin: 0 auto;
  }
  .headshot-cutout img{
    width:100%; height:auto; display:block;
    filter: drop-shadow(0 28px 46px rgba(76,29,149,.32));
  }

  
  .headshot-cutout::before{
    content:""; position:absolute; z-index:-1;
    left:50%; top:46%;
    width:118%; height:112%;
    border-radius:50%;
    background: radial-gradient(closest-side,
      rgba(124,58,237,.5), rgba(99,102,241,.24) 55%, transparent 78%);
    filter: blur(26px);
    transform:translate(-50%,-50%);
    pointer-events:none;
  }

  .about-content .eyebrow{ margin-bottom:16px; }
  .about-content h2{ font-size: clamp(1.9rem,4vw,2.6rem); font-weight:800; letter-spacing:-.03em; line-height:1.05; margin-bottom:20px; }
  .about-content p{ color: var(--body); margin-bottom:18px; }
  .about-content p.lede{ color: var(--body); font-size:1.05rem; }

  .about-license{
    margin-top:22px; display:inline-flex; align-items:center; gap:8px;
    font-size:.82rem; font-weight:500; color: var(--muted);
  }
  .about-license svg{ color: var(--purple); flex-shrink:0; }

  
  .review-card__stars{ display:flex; gap:4px; margin-bottom:16px; }
  .review-card__stars svg{ width:18px; height:18px; fill: url(#icon-grad); }
  .review-card__name{ font-family:'Sora'; font-weight:700; font-size:.95rem; color:var(--ink); }
  .review-card__loc{ display:block; margin-top:2px; font-size:.78rem; color:var(--muted); }

  .reviews-layout{ max-width:980px; margin:0 auto; display:flex; flex-direction:column; gap:28px; }

  .review-featured{
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: clamp(32px, 4.5vw, 52px);
    overflow:hidden;
  }
  .review-featured__mark{ position:absolute; top:28px; right:32px; color: rgba(124,58,237,.1); }
  .review-featured__quote{
    position:relative;
    font-size: clamp(1.15rem, 2.1vw, 1.42rem);
    color: var(--ink);
    line-height:1.6;
    max-width:64ch;
    margin: 0 0 26px;
  }
  .review-featured__meta{ display:flex; align-items:center; gap:14px; }
  .review-featured__avatar{
    flex-shrink:0; width:46px; height:46px; border-radius:50%;
    background: var(--brand-gradient);
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-family:'Sora'; font-weight:700; font-size:1.05rem;
  }

  .reviews-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
  .review-card-mini{
    background:#fff;
    border:1px solid var(--line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: 24px 26px;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .review-card-mini__quote{
    font-size:.92rem; line-height:1.55; color:var(--body); margin:0 0 16px;
    display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
  }
  .review-card-mini__name{ font-family:'Sora'; font-weight:700; font-size:.88rem; color:var(--ink); }

  .reviews-cta{ text-align:center; }
  .reviews-cta a{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Sora'; font-weight:600; font-size:.92rem;
    color: var(--purple); transition: color .2s ease, gap .2s ease;
  }
  .reviews-cta a:hover{ color: var(--violet-blue); gap:11px; }
  .reviews-cta a svg{ fill:none; stroke:currentColor; stroke-width:2; }

  @media (max-width:860px){
    .reviews-grid{ grid-template-columns:repeat(2, 1fr); }
  }
  @media (max-width:600px){
    .reviews-grid{
      display:flex;
      overflow-x:auto;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:none;
      gap:14px;
      margin:0 -24px;
      padding:0 24px 6px;
    }
    .reviews-grid::-webkit-scrollbar{ display:none; }
    .review-card-mini{ flex:0 0 82%; scroll-snap-align:start; }
  }

  
  .faq-list{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
  .faq-item{
    position:relative;
    border:1px solid var(--line); border-radius: var(--radius-sm);
    background: #fff; box-shadow: var(--shadow-sm);
    overflow:hidden; transition: border-color .3s ease, box-shadow .3s ease;
  }
  .faq-item::before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
    background:var(--purple); transform:scaleY(0); transform-origin:top;
    transition:transform .3s cubic-bezier(.2,.7,.2,1);
  }
  .faq-item:hover{ border-color: rgba(124,58,237,.18); }
  .faq-item.is-open{ border-color: rgba(124,58,237,.25); box-shadow: var(--shadow-md); }
  .faq-item.is-open::before{ transform:scaleY(1); }
  .faq-q{
    width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:22px 26px; text-align:left;
    font-family:'Sora'; font-weight:600; font-size:1rem; color: var(--ink);
  }
  .faq-q svg{ flex-shrink:0; transition: transform .35s ease, color .3s ease; color: var(--muted); }
  .faq-item.is-open .faq-q svg{ transform: rotate(180deg); color: var(--purple); }
  .faq-a{ max-height:0; overflow:hidden; transition: max-height .4s ease; }
  .faq-a__inner{ padding: 0 26px 22px; color: var(--muted); font-size:.95rem; max-width:640px; }

  
  .final-card{
    position:relative;
    background:#fff;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    overflow:hidden;
    display:grid;
    grid-template-columns: 1fr;
  }
  .final-card__accent{
    height:4px; width:100%;
    background: var(--brand-gradient);
  }
  .final-card__main{
    padding: clamp(32px, 5vw, 56px);
    padding-top: clamp(28px, 4vw, 48px);
  }
  .final-card__main h2{ font-size: clamp(1.7rem, 3.5vw, 2.4rem); font-weight:800; letter-spacing:-.03em; line-height:1.05; margin-bottom:16px; }
  .final-card__main p{ color: var(--muted); margin-bottom:28px; max-width:480px; }
  .final-card__main .btn-row{ flex-wrap:wrap; }
  .final-card__contact{
    background: var(--bg-soft);
    border-top:1px solid var(--line);
    padding: clamp(28px, 5vw, 40px);
    display:flex; flex-direction:column; align-items:flex-start;
  }
  .final-card__logo{ height:32px; width:auto; margin-bottom:18px; }
  .final-card__contact h3{ font-size:1.1rem; margin-bottom:4px; }
  .final-card__role{ color: var(--ink); font-weight:600; font-size:.9rem; margin-bottom:2px; }
  .final-card__npn{ color: var(--muted); font-size:.85rem; margin-bottom:20px; }
  .final-card__list{ display:flex; flex-direction:column; gap:12px; }
  .final-card__list li{ display:flex; align-items:center; gap:10px; font-size:.92rem; }
  .final-card__list svg{ color: var(--purple); flex-shrink:0; }
  .final-card__list a{ color: var(--ink); font-weight:500; transition: color .2s ease; word-break:break-word; }
  .final-card__list a:hover{ color: var(--purple-deep); }

  
  footer{
    position:relative; padding: 56px 0 36px;
    border-top:1px solid var(--line);
    box-shadow: 0 -18px 32px -28px rgba(76,29,149,.16);
  }
  footer::before{
    content:""; position:absolute; left:0; right:0; top:-1px; height:1px;
    background:linear-gradient(90deg, transparent, var(--purple) 50%, transparent);
    opacity:.35;
  }
  .footer-grid{ display:grid; grid-template-columns:1fr; gap:36px; }
  .footer-brand p{ color: var(--muted); font-size:.88rem; margin-top:14px; max-width:320px; }
  .footer-col h4{
    font-size:.78rem; letter-spacing:.18em; text-transform:uppercase;
    color: var(--muted-2); margin-bottom:16px; font-family:'Sora'; font-weight:700;
  }
  .footer-col ul{ display:flex; flex-direction:column; gap:10px; }
  .footer-col a, .footer-col span{ font-size:.92rem; color: var(--muted); }
  .footer-col a{ transition:color .2s ease; text-decoration-color:transparent; text-underline-offset:3px; }
  .footer-col a:hover{ color: var(--purple-deep); text-decoration:underline; text-decoration-color:currentColor; }
  .footer-bottom{
    margin-top:44px; padding-top:24px; border-top:1px solid var(--line);
    display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px;
    font-size:.8rem; color: var(--muted-2);
  }

  
  html.js .reveal{ opacity:0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
  html.js .reveal.is-visible{ opacity:1; transform: translateY(0); }

  
  
  .trust-grid.reveal, .who-grid.reveal, .coverage-list.reveal, .process-grid.reveal{
    opacity:1; transform:none;
  }
  .trust-grid.reveal > *, .who-grid.reveal > *, .coverage-list.reveal > *, .process-grid.reveal > *{
    opacity:0; transform: translateY(22px);
    transition: opacity .6s ease, transform .6s ease;
  }
  .trust-grid.reveal.is-visible > *, .who-grid.reveal.is-visible > *,
  .coverage-list.reveal.is-visible > *, .process-grid.reveal.is-visible > *{
    opacity:1; transform:none;
  }
  .reveal.is-visible > *:nth-child(1){ transition-delay:.04s; }
  .reveal.is-visible > *:nth-child(2){ transition-delay:.12s; }
  .reveal.is-visible > *:nth-child(3){ transition-delay:.20s; }
  .reveal.is-visible > *:nth-child(4){ transition-delay:.28s; }
  .reveal.is-visible > *:nth-child(5){ transition-delay:.36s; }
  .reveal.is-visible > *:nth-child(6){ transition-delay:.44s; }
  .reveal.is-visible > *:nth-child(7){ transition-delay:.52s; }
  .reveal.is-visible > *:nth-child(8){ transition-delay:.60s; }

  
  .btn--primary{ position:relative; overflow:hidden; }
  .btn--primary::after{
    content:""; position:absolute; top:0; left:0;
    width:55%; height:100%;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,.34), transparent);
    transform: translateX(-140%) skewX(-18deg);
    pointer-events:none; opacity:0; will-change:transform;
  }
  .btn--primary:hover::after{ animation: btn-sheen .85s ease; }
  @keyframes btn-sheen{
    0%{ transform: translateX(-140%) skewX(-18deg); opacity:1; }
    100%{ transform: translateX(240%) skewX(-18deg); opacity:1; }
  }

  
  .final-card::after{
    content:""; position:absolute; inset:0; z-index:3;
    border-radius:inherit; padding:1.5px;
    background: linear-gradient(120deg, var(--purple-deep), var(--violet), var(--violet-blue), var(--purple), var(--purple-deep));
    background-size:300% 100%;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    opacity:.45; pointer-events:none;
    animation: header-accent-flow 14s linear infinite;
  }

  
  .scroll-progress{
    position:fixed; top:0; left:0; height:3px; width:0;
    z-index:200; pointer-events:none;
    background: linear-gradient(90deg, var(--purple-deep), var(--violet) 55%, var(--violet-blue));
    box-shadow: 0 0 10px rgba(124,58,237,.55);
    transition: width .08s linear;
  }

  
  .nav__links a{ position:relative; }
  .nav__links a::after{
    content:""; position:absolute; left:0; right:0; bottom:-7px; height:2px;
    background: linear-gradient(90deg, var(--purple), var(--violet-blue));
    border-radius:2px; transform: scaleX(0); transform-origin:left;
    transition: transform .3s cubic-bezier(.2,.7,.2,1);
  }
  .nav__links a:hover::after{ transform: scaleX(1); }

  
  .tilt{ transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; transform-style:preserve-3d; }

  
  .to-top{
    position:fixed; right:22px; bottom:22px; z-index:120;
    width:46px; height:46px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background: rgba(255,255,255,.45);
    backdrop-filter: blur(12px) saturate(160%);
    -webkit-backdrop-filter: blur(12px) saturate(160%);
    color: var(--purple-deep); border:1px solid rgba(124,58,237,.28); cursor:pointer;
    box-shadow: 0 10px 26px -12px rgba(76,29,149,.35), inset 0 1px 0 rgba(255,255,255,.65);
    opacity:0; transform: translateY(16px) scale(.9); pointer-events:none;
    transition: opacity .3s ease, transform .3s ease, background .25s ease;
  }
  .to-top.is-shown{ opacity:1; transform:none; pointer-events:auto; }
  .to-top:hover{ transform: translateY(-3px); background: rgba(255,255,255,.7); box-shadow: 0 16px 36px -12px rgba(124,58,237,.45), inset 0 1px 0 rgba(255,255,255,.75); }
  
  .mobile-cta-bar{
    position:fixed; left:0; right:0; bottom:0; z-index:115;
    display:flex; align-items:center; gap:12px;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(16px) saturate(160%);
    -webkit-backdrop-filter: blur(16px) saturate(160%);
    border-top:1px solid var(--line);
    box-shadow: 0 -10px 34px -14px rgba(76,29,149,.35);
    transform: translateY(125%); transition: transform .4s cubic-bezier(.2,.7,.2,1);
  }
  .mobile-cta-bar.is-shown{ transform:none; }
  .mobile-cta-bar .vs-btn{ flex:1; justify-content:center; }
  .vs-btn--sm{ padding:11px 16px; font-size:.84rem; }
  @media (min-width:1130px){ .mobile-cta-bar{ display:none; } }
  
  .who-help-section{ position:relative; overflow:hidden; padding-top:clamp(40px, 6vw, 64px);
    background:
      radial-gradient(circle at top left, rgba(124,58,237,.08), transparent 34%),
      linear-gradient(180deg, #ffffff 0%, #faf7ff 100%);
  }
  .who-help-split{ display:grid; grid-template-columns: minmax(280px,.85fr) minmax(420px,1.25fr); gap:28px; align-items:stretch; margin-top:42px; }
  .who-help-tabs{ display:flex; flex-direction:column; gap:14px; }
  .who-help-tab{
    position:relative; width:100%; text-align:left; cursor:pointer;
    border:1px solid var(--line); background:#fff; border-radius:var(--radius-md);
    padding:20px 22px 22px; display:flex; gap:15px; align-items:flex-start;
    box-shadow: 0 14px 34px -18px rgba(36,12,84,.22);
    transition: transform .26s cubic-bezier(.2,.7,.2,1), box-shadow .26s ease, border-color .26s ease, background .26s ease;
    transform-style:preserve-3d;
  }
  .who-help-tab:hover{ transform: translateY(-3px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); border-color: rgba(124,58,237,.4); box-shadow: 0 24px 52px -22px rgba(76,29,149,.34); }
  .who-help-tab.is-active{
    transform: translateY(-3px); border-color: transparent;
    background: linear-gradient(135deg, rgba(124,58,237,.09), rgba(255,255,255,.96));
    box-shadow: 0 26px 58px -24px rgba(76,29,149,.42);
  }
  .who-help-tab.is-active::before{
    content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; pointer-events:none;
    background: linear-gradient(135deg, var(--purple-deep), var(--violet), var(--violet-blue));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
  }
  .who-help-tab__icon{
    flex:0 0 auto; width:42px; height:42px; border-radius:var(--radius-sm);
    display:flex; align-items:center; justify-content:center;
    background: linear-gradient(135deg, rgba(124,58,237,.13), rgba(99,102,241,.12));
    color: var(--purple-deep); transition: all .26s ease;
  }
  .who-help-tab.is-active .who-help-tab__icon{
    background: linear-gradient(135deg, var(--purple), var(--violet)); color:#fff;
    box-shadow: 0 8px 18px -6px rgba(124,58,237,.6);
  }
  .who-help-tab__body{ display:block; }
  .who-help-tab__body h3{ font-size:1.04rem; margin:0 0 4px; }
  .who-help-tab__body p{ font-size:.88rem; color: var(--muted); margin:0; line-height:1.5; }
  .who-help-tab__accent{
    position:absolute; left:22px; right:22px; bottom:13px; height:2px; border-radius:2px;
    background: linear-gradient(90deg, var(--purple), var(--violet-blue));
    transform: scaleX(0); transform-origin:left; transition: transform .45s cubic-bezier(.2,.7,.2,1);
  }
  .who-help-tab.is-active .who-help-tab__accent{ transform: scaleX(1); }

  .who-help-visual{ position:relative; width:100%; aspect-ratio:16/10; min-height:420px; max-height:620px;
    border-radius:28px; overflow:hidden; isolation:isolate; background:#f7f2ff;
    box-shadow: 0 34px 80px -34px rgba(44,14,94,.5); }
  .who-help-visual::before{ content:""; position:absolute; inset:-2px; z-index:-1; border-radius:inherit;
    background: var(--purple-deep); }
  .who-help-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
    filter: blur(18px) brightness(.82) saturate(1.05); transform: scale(1.12); opacity:.55;
    transition: opacity .5s ease; }
  .who-help-imgwrap{ position:absolute; inset:0; z-index:1; }
  .who-help-image{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; display:block;
    opacity:0; transform: scale(1.02); transition: opacity .45s ease, transform .8s ease; }
  .who-help-image.is-shown{ opacity:1; transform: scale(1); }
  .who-help-overlay{ position:absolute; left:20px; right:20px; bottom:20px; z-index:3; padding:20px 22px; border-radius:var(--radius-md); color:#fff;
    background: linear-gradient(135deg, rgba(17,10,34,.74), rgba(76,29,149,.66));
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border:1px solid rgba(255,255,255,.14); box-shadow: 0 18px 44px -18px rgba(0,0,0,.55); }
  .who-help-overlay h3{ font-size:1.22rem; margin:0 0 4px; color:#fff; }
  .who-help-overlay p{ font-size:.92rem; color: rgba(255,255,255,.88); margin:0 0 14px; line-height:1.45; }
  
  .who-help-overlay .btn--primary{ background: var(--purple-deep); animation:none; }

  
  .card:hover, .coverage-item:hover, .review-card-mini:hover{
    border-color: rgba(124,58,237,.4) !important;
    box-shadow: 0 22px 50px -22px rgba(76,29,149,.4), 0 0 0 1px rgba(124,58,237,.12) !important;
  }

  
  .vae{ position:relative; overflow:hidden; }
  .vae__grid{ position:relative; z-index:1; display:grid; gap:28px; align-items:start;
    grid-template-columns:1fr; grid-template-areas:"text" "advisor" "badges" "benefits"; margin-top:4px; }
  .vae__text{ grid-area:text; }
  .vae__text h2{ font-size:clamp(1.5rem,2.4vw,1.9rem); margin:6px 0 14px; }
  .vae__text p{ color:var(--muted); font-size:.95rem; line-height:1.65; }
  .vae__badges{ grid-area:badges; display:flex; flex-wrap:wrap; gap:10px; align-content:flex-start; }
  .vae-badge{ display:inline-flex; align-items:center; gap:7px; font-size:.8rem; font-weight:600;
    color:var(--purple-deep); background:rgba(124,58,237,.07); border:1px solid rgba(124,58,237,.22);
    border-radius:999px; padding:8px 14px; }
  .vae-badge svg{ color:var(--purple); }
  .vae__badges .vae-badge{ opacity:0; }
  .vae__badges.is-visible .vae-badge{ animation:vae-fade-up .55s ease forwards; }
  .vae__badges.is-visible .vae-badge:nth-child(1){ animation-delay:.06s; }
  .vae__badges.is-visible .vae-badge:nth-child(2){ animation-delay:.18s; }
  .vae__badges.is-visible .vae-badge:nth-child(3){ animation-delay:.30s; }

  .vae__advisor{ grid-area:advisor; position:relative; }
  .vae__advisor-glow{ position:absolute; inset:-14px; z-index:0; border-radius:40px;
    background:radial-gradient(circle at 50% 38%, rgba(124,58,237,.22), transparent 66%);
    filter:blur(22px); animation:vae-glow 9s ease-in-out infinite; }
  @keyframes vae-glow{ 0%,100%{ opacity:.65; transform:scale(1); } 50%{ opacity:1; transform:scale(1.05); } }
  @keyframes vae-line{ 0%,100%{ opacity:.25; } 50%{ opacity:.55; } }
  .vae__advisor-card{ position:relative; z-index:1; overflow:hidden; border-radius:30px; padding:28px 26px;
    background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(250,247,255,.97));
    box-shadow:0 30px 70px -32px rgba(76,29,149,.42);
    opacity:0; transform:scale(.97); transition:opacity .6s ease, transform .6s ease; }
  .vae__advisor.is-visible .vae__advisor-card{ opacity:1; transform:scale(1); }
  .vae__advisor-card::before{ content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; pointer-events:none;
    background:linear-gradient(135deg, var(--purple-deep), var(--violet), var(--violet-blue));
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude; opacity:.5; }
  .vae__advisor-card::after{ content:""; position:absolute; top:0; left:0; width:60%; height:100%; pointer-events:none;
    background:linear-gradient(100deg, transparent, rgba(167,139,250,.22), transparent);
    animation:vae-sweep 11s ease-in-out infinite; will-change:transform; }
  @keyframes vae-sweep{ 0%{ transform:translateX(-250%) skewX(-18deg); } 12%{ transform:translateX(283.33%) skewX(-18deg); } 100%{ transform:translateX(283.33%) skewX(-18deg); } }
  .vae__verified{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
  .vae__verified-icon{ width:42px; height:42px; border-radius:13px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, var(--purple), var(--violet)); color:#fff; box-shadow:0 8px 18px -6px rgba(124,58,237,.55); }
  .vae__verified-check{ display:inline-flex; align-items:center; gap:5px; font-size:.72rem; font-weight:700;
    color:var(--purple-deep); background:rgba(124,58,237,.09); border:1px solid rgba(124,58,237,.2);
    border-radius:999px; padding:5px 11px; }
  .vae__verified-check svg{ color:var(--purple); }
  .vae__name{ font-size:1.25rem; margin:0 0 3px; }
  .vae__role{ font-size:.88rem; color:var(--muted); margin:0 0 14px; }
  .vae__npn{ display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.03em; color:var(--purple-deep);
    background:rgba(124,58,237,.08); border:1px solid rgba(124,58,237,.28); border-radius:10px; padding:7px 13px; }
  .vae__advisor.is-visible .vae__npn{ animation:npn-glow 1.6s ease .7s 1 both; }
  @keyframes npn-glow{ 0%{ box-shadow:0 0 0 0 rgba(124,58,237,0);} 35%{ box-shadow:0 0 0 6px rgba(124,58,237,.16);} 100%{ box-shadow:0 0 0 0 rgba(124,58,237,0);} }
  .vae__status{ display:flex; align-items:center; gap:9px; font-size:.86rem; font-weight:600; color:var(--ink); margin:18px 0 20px; }
  .vae__dot{ width:9px; height:9px; border-radius:50%; background:var(--purple); flex-shrink:0; animation:vae-dot 3s ease-in-out infinite; }
  @keyframes vae-dot{ 0%,100%{ box-shadow:0 0 0 0 rgba(124,58,237,.4);} 50%{ box-shadow:0 0 0 5px rgba(124,58,237,0);} }
  .vae__contact-label{ font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
    margin-bottom:12px; padding-top:18px; border-top:1px solid var(--line); }
  .vae__contact-row{ display:flex; align-items:center; gap:13px; padding:11px 12px; border-radius:14px; text-decoration:none;
    transition:background .25s ease; margin:0 -6px; }
  .vae__contact-row:hover{ background:rgba(124,58,237,.06); }
  .vae__contact-ic{ width:38px; height:38px; border-radius:11px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
    background:rgba(124,58,237,.1); color:var(--purple-deep); }
  .vae__contact-text{ display:flex; flex-direction:column; min-width:0; }
  .vae__contact-text strong{ color:var(--ink); font-size:.92rem; overflow-wrap:anywhere; }
  .vae__contact-text em{ font-style:normal; color:var(--muted); font-size:.76rem; }
  .vae__advisor-card .vae__contact-row{ opacity:0; }
  .vae__advisor.is-visible .vae__contact-row{ animation:vae-fade-up .55s ease forwards; }
  .vae__advisor.is-visible .vae__contact-row:nth-of-type(1){ animation-delay:.4s; }
  .vae__advisor.is-visible .vae__contact-row:nth-of-type(2){ animation-delay:.55s; }

  .vae__benefits{ grid-area:benefits; }
  .vae-benefit{ display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--line); }
  .vae-benefit:last-child{ border-bottom:none; }
  .vae-benefit__ic{ width:40px; height:40px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, rgba(124,58,237,.12), rgba(99,102,241,.12)); color:var(--purple-deep); }
  .vae-benefit__body h4{ font-size:.98rem; margin:2px 0 4px; }
  .vae-benefit__body p{ font-size:.86rem; color:var(--muted); margin:0; line-height:1.5; }
  .vae__benefits .vae-benefit{ opacity:0; }
  .vae__benefits.is-visible .vae-benefit{ animation:vae-fade-up .55s ease forwards; }
  .vae__benefits.is-visible .vae-benefit:nth-child(2){ animation-delay:.12s; }
  .vae__benefits.is-visible .vae-benefit:nth-child(3){ animation-delay:.24s; }
  .vae__benefits.is-visible .vae-benefit:nth-child(4){ animation-delay:.36s; }

  @keyframes vae-fade-up{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:none;} }

  
  .cov__layout{ display:grid; grid-template-columns:1fr; gap:22px; align-items:start; margin-top:26px; position:relative; z-index:1; }
  .cov__selectors{ display:flex; flex-direction:column; gap:12px; }
  .cov-tab{ display:flex; align-items:center; gap:14px; width:100%; text-align:left; cursor:pointer; position:relative;
    padding:15px 18px; border-radius:16px; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow-sm);
    transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, border-color .3s ease, background .3s ease; }
  .cov-tab__num{ width:34px; height:34px; border-radius:10px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, rgba(124,58,237,.12), rgba(99,102,241,.12)); color:var(--purple-deep);
    font-family:'Sora'; font-weight:800; font-size:.92rem; transition:all .35s ease; }
  .cov-tab__title{ flex:1; font-weight:600; font-size:.95rem; color:var(--ink); }
  .cov-tab__arrow{ flex-shrink:0; color:var(--muted); display:flex; transition:transform .35s ease, color .35s ease; }
  .cov-tab__arrow svg{ transform:rotate(-90deg); }
  .cov-tab:hover{ transform:translateY(-2px); border-color:rgba(124,58,237,.4); box-shadow:var(--shadow-md); }
  .cov-tab.is-active{ background:linear-gradient(135deg, rgba(124,58,237,.08), rgba(255,255,255,.96)); border-color:transparent;
    transform:translateY(-2px); box-shadow:0 18px 44px -20px rgba(76,29,149,.42); }
  .cov-tab.is-active::before{ content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; pointer-events:none;
    background:linear-gradient(135deg, var(--purple-deep), var(--violet), var(--violet-blue));
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude; }
  .cov-tab.is-active .cov-tab__num{ background:linear-gradient(135deg, var(--purple), var(--violet)); color:#fff; box-shadow:0 6px 14px -5px rgba(124,58,237,.6); }
  .cov-tab.is-active .cov-tab__arrow{ color:var(--purple); transform:translateX(3px); }
  .cov__selectors .cov-tab{ opacity:0; }
  .cov__selectors.is-visible .cov-tab{ animation:vae-fade-up .5s ease forwards; }
  .cov__selectors.is-visible .cov-tab:nth-child(1){ animation-delay:.05s; }
  .cov__selectors.is-visible .cov-tab:nth-child(2){ animation-delay:.13s; }
  .cov__selectors.is-visible .cov-tab:nth-child(3){ animation-delay:.21s; }
  .cov__selectors.is-visible .cov-tab:nth-child(4){ animation-delay:.29s; }
  .cov__selectors.is-visible .cov-tab:nth-child(5){ animation-delay:.37s; }

  .cov-panel{ position:relative; overflow:hidden; border-radius:24px; padding:30px 28px;
    background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(250,247,255,.97));
    border:1px solid var(--line); box-shadow:0 24px 60px -30px rgba(76,29,149,.34);
    transition:opacity .36s ease, transform .36s ease;
    transform-style:preserve-3d; transform:perspective(900px) rotateX(0deg); }
  .cov-panel::before{ content:""; position:absolute; left:0; top:0; right:0; height:3px;
    background:linear-gradient(90deg, var(--purple-deep), var(--violet), var(--violet-blue)); opacity:.7; }
  .cov-panel.is-swapping{ opacity:0; transform:perspective(900px) rotateX(2deg) translateY(8px); }
  .cov-panel__icon{ width:52px; height:52px; border-radius:15px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, var(--purple), var(--violet)); color:#fff; margin-bottom:16px; box-shadow:0 10px 24px -8px rgba(124,58,237,.5); }
  .cov-panel h3{ font-size:1.3rem; margin-bottom:10px; }
  .cov-panel > p{ color:var(--muted); font-size:.95rem; line-height:1.6; margin-bottom:18px; }
  .cov-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
  .cov-chip{ font-size:.78rem; font-weight:600; color:var(--purple-deep); background:rgba(124,58,237,.08);
    border:1px solid rgba(124,58,237,.22); border-radius:999px; padding:7px 14px; animation:vae-fade-up .4s ease both; }
  .cov-note{ font-size:.88rem; color:var(--ink); background:var(--bg-soft); border-left:3px solid var(--purple);
    border-radius:0 10px 10px 0; padding:14px 16px; margin-bottom:20px; line-height:1.55; }

  @media (prefers-reduced-motion: reduce){
    .vae__advisor-glow, .vae__advisor-card::after, .vae__advisor::before, .vae__advisor::after,
    .vae__dot, .cov-panel{ animation:none !important; }
    .vae-badge, .vae-benefit, .vae__contact-row, .vae__advisor-card, .cov-tab, .cov-chip{ animation:none !important; opacity:1 !important; transform:none !important; }
    .cov-panel.is-swapping{ opacity:1 !important; transform:none !important; }
  }
.nav__links > a, .nav__item > a{ white-space:nowrap; }
  .nav__item{ position:relative; display:inline-flex; }
  .nav__item--drop > a{ display:inline-flex; align-items:center; gap:5px; }
  .nav__item--drop > a::before{
    content:""; order:2; width:7px; height:7px; margin-top:-3px;
    border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor;
    transform:rotate(45deg); opacity:.55; transition:transform .25s ease;
  }
  .nav__item--drop:hover > a::before,
  .nav__item--drop:focus-within > a::before{ transform:rotate(225deg) translate(-2px,-2px); }
  .nav__dropdown{
    position:absolute; top:100%; left:50%; transform:translate(-50%, 6px);
    min-width:218px; padding:10px; margin-top:12px;
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,247,255,.98));
    border:1px solid var(--line); border-radius:var(--radius-sm);
    box-shadow:var(--shadow-md);
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .22s ease, transform .22s ease, visibility .22s;
    z-index:110;
  }
  .nav__dropdown::before{ content:""; position:absolute; left:0; right:0; top:-14px; height:14px; }
  .nav__item--drop:hover .nav__dropdown,
  .nav__item--drop:focus-within .nav__dropdown{
    opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%, 0);
  }
  .nav__dropdown a{
    display:block; padding:9px 13px; border-radius:9px;
    font-size:.88rem; font-weight:500; color:var(--body); white-space:nowrap;
    transition:background .2s ease, color .2s ease;
  }
  .nav__dropdown a:hover{ background:rgba(124,58,237,.07); color:var(--purple-deep); }
  .nav__dropdown a::after{ display:none; }
  
  .vae__verify{ margin-top:18px; padding-top:16px; border-top:1px solid rgba(124,58,237,.14); }
  .vae__verify-label{
    font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
    color:var(--muted-2); font-family:'Sora'; margin-bottom:10px;
  }
  .vae__verify-btns{ display:flex; gap:8px; flex-wrap:wrap; }
  .vae__verify-btn{
    display:inline-block; padding:8px 13px; border-radius:10px;
    font-size:.8rem; font-weight:700; letter-spacing:.02em;
    color:var(--purple-deep); background:rgba(124,58,237,.08);
    border:1px solid rgba(124,58,237,.28); text-decoration:none;
    transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .vae__verify-btn:hover{ background:rgba(124,58,237,.14); transform:translateY(-1px); box-shadow:0 6px 16px -6px rgba(124,58,237,.35); }
  .vae__verify-note{ font-size:.74rem; color:var(--muted); margin:9px 0 0; line-height:1.5; }

  
  .mobile-menu.is-open a:nth-child(7){ transition-delay:.24s; }
  .mobile-menu.is-open a:nth-child(8){ transition-delay:.28s; }
  .mobile-menu.is-open a:nth-child(9){ transition-delay:.32s; }
  .mobile-menu.is-open .btn{ transition-delay:.36s; }
:root{ --container:1216px; --ink-deep:#2a1454; --gold:#f5a623; --chip:#f4eefb;
    --v4-grad: linear-gradient(120deg, #4c1d95 0%, #7c3aed 55%, #8b5cf6 100%); }
  section{ padding:96px 0; }
  @media (max-width:760px){ section{ padding:64px 0; } }
  .btn{ border-radius:12px; }
  .btn--primary{ background:var(--purple); animation:none; box-shadow:0 14px 34px -12px rgba(124,58,237,.55); }
  .btn--primary:hover{ background:var(--purple-deep); box-shadow:0 18px 42px -12px rgba(76,29,149,.55); }
  .btn--dark{ background:var(--purple-deep); color:#fff; box-shadow:0 14px 34px -14px rgba(76,29,149,.6); }
  .btn--dark:hover{ background:var(--ink-deep); transform:translateY(-2px); }
  .btn--grad{ background:var(--v4-grad); color:#fff; box-shadow:0 16px 38px -12px rgba(124,58,237,.6); }
  .btn--grad:hover{ transform:translateY(-2px); box-shadow:0 20px 46px -12px rgba(76,29,149,.6); }
  .btn--white{ background:#fff; color:var(--purple-deep); }
  .btn--white:hover{ transform:translateY(-2px); box-shadow:0 18px 40px -14px rgba(42,20,84,.5); }
  .btn--outline-w{ background:transparent; border:1.5px solid rgba(255,255,255,.65); color:#fff; }
  .btn--outline-w:hover{ background:rgba(255,255,255,.12); transform:translateY(-2px); }
  .kicker{ display:block; font-size:.78rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--purple); margin-bottom:16px; font-family:'Sora',sans-serif; }
  .kicker--light{ color:var(--purple-light); }
  .v4-head{ max-width:672px; margin-bottom:52px; }
  .v4-head.center{ margin-inline:auto; text-align:center; }
  .v4-head h2{ font-size:clamp(2rem,3.6vw,2.5rem); font-weight:800; letter-spacing:-.03em; line-height:1.08; color:var(--ink-deep); margin-bottom:14px; }
  .v4-head p{ color:var(--muted); font-size:1.06rem; line-height:1.7; }
  html:not(.js) .reveal{ opacity:1 !important; transform:none !important; }
  .scroll-progress{ background:var(--purple) !important; }

  /* Top utility bar */
  body{ padding-top:40px; }
  .nav{ top:40px; }
  .v4-utilitybar{ position:fixed; top:0; left:0; right:0; z-index:110; height:40px; background:#2a1454; color:#fff; font-size:13px; box-shadow:0 1px 0 rgba(255,255,255,.08) inset; }
  .v4-utilitybar__inner{ height:40px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
  .v4-utilitybar__license{ display:inline-flex; align-items:center; gap:8px; font-weight:600; letter-spacing:.01em; white-space:nowrap; }
  .v4-utilitybar__license svg{ color:#7c3aed; flex-shrink:0; }
  .v4-utilitybar__text--short{ display:none; }
  .v4-utilitybar__phone{ display:inline-flex; align-items:center; gap:8px; color:#fff; font-weight:700; white-space:nowrap; }
  .v4-utilitybar__phone svg{ color:#7c3aed; flex-shrink:0; }
  .v4-utilitybar__phone:hover{ color:#ddd6fe; }
  @media (max-width:720px){
    body{ padding-top:36px; }
    .nav{ top:36px; }
    .v4-utilitybar{ height:36px; }
    .v4-utilitybar__inner{ height:36px; gap:12px; }
    .v4-utilitybar__text--full{ display:none; }
    .v4-utilitybar__text--short{ display:inline; }
  }

  /* Header lockup */
  .v4-logo{ display:flex; align-items:center; gap:12px; }
  .v4-logo img{ width:44px; height:44px; object-fit:contain; }
  .v4-logo__text{ display:flex; flex-direction:column; line-height:1.15; }
  .v4-logo__name{ font-family:'Sora',sans-serif; font-weight:800; font-size:1.02rem; color:var(--ink-deep); letter-spacing:-.01em; }
  .v4-logo__tag{ font-size:.6rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); }
  .nav__callpill{ display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border:1.5px solid rgba(124,58,237,.3); border-radius:999px; font-weight:600; font-size:.9rem; color:var(--ink-deep); white-space:nowrap; transition:border-color .2s ease, background .2s ease; }
  .nav__callpill svg{ color:var(--purple); }
  .nav__callpill:hover{ border-color:rgba(124,58,237,.6); background:var(--bg-soft); }

  /* Hero */
  .v4-hero{ background:var(--bg-soft); padding:72px 0 88px; }
  .v4-hero__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:start; }
  .v4-hero h1{ font-size:clamp(2.6rem,5.2vw,3.45rem); font-weight:800; letter-spacing:-.03em; line-height:1.05; color:var(--ink-deep); margin-bottom:22px; }
  .v4-hero h1 .grad{ background:var(--v4-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .v4-hero__sub{ font-size:1.13rem; line-height:1.7; color:var(--body); max-width:560px; margin-bottom:30px; }
  .v4-trust{ display:flex; flex-wrap:wrap; gap:14px 28px; margin-bottom:34px; }
  .v4-trust li{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:.95rem; color:var(--ink-deep); }
  .v4-trust svg{ color:var(--purple); flex-shrink:0; }
  .v4-trust .star{ color:var(--gold); fill:var(--gold); }
  .v4-advisor-card{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px 20px; box-shadow:var(--shadow-sm); max-width:520px; transition:box-shadow .25s ease, transform .25s ease; }
  .v4-advisor-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px); }
  .v4-advisor-card img{ width:58px; height:58px; border-radius:50%; object-fit:cover; object-position:top center; background:var(--chip); flex-shrink:0; }
  .v4-advisor-card__name{ font-family:'Sora',sans-serif; font-weight:700; color:var(--ink-deep); font-size:.98rem; }
  .v4-advisor-card__line{ color:var(--muted); font-size:.9rem; line-height:1.5; }
  .v4-advisor-card > svg{ margin-left:auto; color:var(--purple); flex-shrink:0; }

  /* Quote form card */
  .v4-formcard{ background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 24px 60px -24px rgba(76,29,149,.28); padding:30px 30px 24px; }
  .v4-formcard h2{ font-size:1.25rem; font-weight:800; color:var(--ink-deep); letter-spacing:-.02em; margin-bottom:4px; }
  .v4-formcard__sub{ color:var(--muted); font-size:.92rem; margin-bottom:22px; }
  .v4-field{ margin-bottom:16px; }
  .v4-field label{ display:block; font-size:.85rem; font-weight:600; color:var(--ink-deep); margin-bottom:7px; }
  .v4-field input, .v4-field select, .v4-field textarea{ width:100%; padding:13px 14px; border:1px solid rgba(76,29,149,.18); border-radius:10px; font:inherit; font-size:.95rem; color:var(--ink); background:#fdfcfe; transition:border-color .2s ease, box-shadow .2s ease; }
  .v4-field textarea{ resize:vertical; min-height:74px; }
  .v4-field input:focus, .v4-field select:focus, .v4-field textarea:focus{ outline:none; border-color:var(--purple); box-shadow:0 0 0 3px rgba(124,58,237,.15); }
  .v4-formrow{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .v4-consent{ display:flex; gap:10px; align-items:flex-start; font-size:.78rem; color:var(--muted); line-height:1.55; margin:4px 0 18px; }
  .v4-consent input{ margin-top:3px; accent-color:var(--purple); width:15px; height:15px; flex-shrink:0; }
  .v4-consent a{ color:var(--purple-deep); font-weight:600; text-decoration:underline; }
  .v4-formcard .btn{ width:100%; }
  .v4-micro{ text-align:center; color:var(--muted); font-size:.82rem; margin-top:14px; }

  /* Hero entrance: CSS load animation, fires on every page load, independent of scroll */
  @keyframes v4HeroUp{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:translateY(0); } }
  html.js .v4-hero h1{ animation:v4HeroUp .55s ease backwards; }
  html.js .v4-hero__sub{ animation:v4HeroUp .55s ease .12s backwards; }
  html.js .v4-hero .v4-trust{ animation:v4HeroUp .55s ease .24s backwards; }
  html.js .v4-hero .v4-advisor-card{ animation:v4HeroUp .55s ease .36s backwards; }
  html.js .v4-hero .v4-formcard{ animation:v4HeroUp .55s ease .18s backwards; }

  /* Carrier strip: real brand logos in a slow infinite marquee */
  .v4-carriers{ padding:44px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
  .v4-carriers__label{ text-align:center; font-size:.72rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--muted-2); margin-bottom:26px; }
  .v4-carriers__mask{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
  .v4-carriers__track{ display:flex; width:max-content; animation:v4CarrierScroll 45s linear infinite; will-change:transform; }
  .v4-carriers__mask:hover .v4-carriers__track{ animation-play-state:paused; }
  @keyframes v4CarrierScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  .v4-carriers__set{ display:flex; align-items:center; gap:76px; padding-right:76px; }
  .v4-carriers__set img{ height:40px; width:auto; max-width:180px; object-fit:contain; opacity:.92; }
  @media (max-width:720px){
    .v4-carriers__set{ gap:52px; padding-right:52px; }
    .v4-carriers__set img{ height:30px; max-width:140px; }
  }

  /* Stats */
  .v4-stats{ padding:64px 0; background:#fff; border-bottom:1px solid var(--line); }
  .v4-stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; text-align:center; }
  .v4-stat__num{ font-family:'Sora',sans-serif; font-size:2.6rem; font-weight:800; letter-spacing:-.03em; color:var(--ink-deep); line-height:1; }
  .v4-stat__cap{ color:var(--muted); font-size:.95rem; margin-top:10px; }

  /* Services */
  .v4-services{ background:var(--bg-soft); }
  .v4-split{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-bottom:56px; }
  .v4-split .v4-head{ margin-bottom:0; }
  .v4-photo{ border-radius:24px; overflow:hidden; box-shadow:var(--shadow-md); }
  .v4-photo img{ width:100%; height:100%; object-fit:cover; aspect-ratio:16/10; }
  .v4-photo--slideshow{ position:relative; aspect-ratio:16/10; background:#14101c; }
  .v4-photo--slideshow .cinema-loop{ z-index:0; }
  .v4-photo--slideshow .cinema-loop .poster{ aspect-ratio:auto; }
  @media (prefers-reduced-motion: reduce){
    .v4-photo--slideshow .cinema-loop video{ display:none; }
  }
  .v4-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .v4-card{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px 26px; box-shadow:var(--shadow-sm); transition:transform .25s ease, box-shadow .25s ease; }
  .v4-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
  .v4-card__icon{ width:46px; height:46px; border-radius:12px; background:var(--chip); color:var(--purple-deep); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
  .v4-card h3{ font-size:1.08rem; font-weight:700; color:var(--ink-deep); margin-bottom:9px; }
  .v4-card p{ color:var(--muted); font-size:.94rem; line-height:1.65; margin-bottom:16px; }
  .v4-card a{ display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:.92rem; color:var(--purple); }
  .v4-card a:hover{ color:var(--purple-deep); }

  /* Steps */
  .v4-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:44px; }
  .v4-step{ background:var(--bg-soft); border-radius:18px; padding:30px 28px; }
  .v4-step__num{ width:46px; height:46px; border-radius:50%; background:var(--purple-deep); color:#fff; font-family:'Sora',sans-serif; font-weight:700; font-size:.95rem; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
  .v4-step h3{ font-size:1.08rem; color:var(--ink-deep); margin-bottom:9px; }
  .v4-step p{ color:var(--muted); font-size:.94rem; line-height:1.65; }
  .v4-center{ text-align:center; }

  /* Estimator */
  .v4-estimator{ background:var(--bg-soft); }
  .v4-est__grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
  .v4-checks{ display:flex; flex-direction:column; gap:14px; margin-top:26px; }
  .v4-checks li{ display:flex; gap:12px; align-items:flex-start; font-weight:500; color:var(--ink-deep); font-size:.98rem; }
  .v4-checks .ck{ width:22px; height:22px; border-radius:50%; background:var(--chip); color:var(--purple); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
  .v4-fineprint{ color:var(--muted-2); font-size:.8rem; line-height:1.6; margin-top:28px; max-width:480px; }
  .v4-estcard{ background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-md); padding:30px; }
  .v4-estcard .btn{ width:100%; }
  .v4-result{ display:none; margin-top:22px; border:1px solid rgba(124,58,237,.25); background:var(--bg-soft); border-radius:14px; padding:22px; }
  .v4-result.is-shown{ display:block; animation:v4fade .28s ease; }
  @keyframes v4fade{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:none;} }
  .v4-result h3{ display:flex; align-items:center; gap:9px; font-size:1.05rem; color:var(--ink-deep); margin-bottom:9px; }
  .v4-result h3 svg{ color:var(--purple); }
  .v4-result p{ color:var(--body); font-size:.94rem; line-height:1.65; margin-bottom:18px; }

  /* Why band */
  .v4-why{ position:relative; overflow:hidden; color:#fff; }
  .v4-why__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .v4-why__veil{ position:absolute; inset:0; background:linear-gradient(100deg, rgba(42,20,84,.93) 20%, rgba(76,29,149,.86) 100%); }
  .v4-why .container{ position:relative; z-index:1; }
  .v4-why h2{ color:#fff; }
  .v4-why .v4-head p{ color:rgba(255,255,255,.78); }
  .v4-feats{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
  .v4-feat__icon{ width:46px; height:46px; border-radius:12px; background:rgba(167,139,250,.22); border:1px solid rgba(255,255,255,.18); color:#e9e2ff; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
  .v4-feat h3{ color:#fff; font-size:1.05rem; margin-bottom:8px; }
  .v4-feat p{ color:rgba(255,255,255,.75); font-size:.92rem; line-height:1.65; }

  /* Advisor */
  .v4-about__grid{ display:grid; grid-template-columns:1.08fr .92fr; gap:64px; align-items:center; }
  .v4-role{ font-family:'Sora',sans-serif; font-weight:700; color:var(--purple); font-size:1.05rem; margin:-6px 0 18px; }
  .v4-about p{ color:var(--body); line-height:1.75; margin-bottom:16px; font-size:1.02rem; }
  .v4-about .v4-checks{ margin:26px 0 32px; display:grid; grid-template-columns:1fr 1fr; gap:14px 22px; }
  .v4-about__cta{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
  .v4-textlink{ display:inline-flex; align-items:center; gap:6px; font-weight:600; color:var(--purple); }
  .v4-textlink:hover{ color:var(--purple-deep); }
  .v4-framewrap{ position:relative; max-width:440px; margin-inline:auto; width:100%; }
  .v4-frame{ border-radius:24px; overflow:hidden; background:linear-gradient(165deg, #f7f3fd 0%, #e7defa 100%); border:1px solid var(--line); box-shadow:var(--shadow-md); }
  .v4-frame img{ width:100%; height:520px; object-fit:contain; object-position:bottom center; padding-top:26px; }
  .v4-npn{ position:absolute; left:50%; transform:translateX(-50%); bottom:-17px; display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:10px 20px; box-shadow:var(--shadow-md); font-family:'Sora',sans-serif; font-weight:700; color:var(--ink-deep); font-size:.92rem; white-space:nowrap; }
  .v4-npn svg{ color:var(--purple); }

  /* Reviews */
  .v4-reviews .v4-head{ margin-bottom:18px; }
  .v4-agg{ display:flex; align-items:center; justify-content:center; gap:12px; color:var(--ink-deep); font-weight:600; margin-bottom:44px; }
  .v4-agg .stars{ display:flex; gap:3px; }
  .v4-agg .stars svg{ width:19px; height:19px; fill:var(--gold); color:var(--gold); }
  .v4-stripmask{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
  .v4-strip{ display:flex; gap:20px; overflow-x:auto; padding:6px 4px 18px; scroll-snap-type:x mandatory; scrollbar-width:thin; }
  .v4-rev{ scroll-snap-align:start; flex:0 0 350px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-sm); padding:26px; display:flex; flex-direction:column; }
  .v4-rev .stars{ display:flex; gap:3px; margin-bottom:14px; }
  .v4-rev .stars svg{ width:17px; height:17px; fill:var(--gold); color:var(--gold); }
  .v4-rev__quote{ color:var(--body); font-size:.94rem; line-height:1.7; flex:1; }
  .v4-rev__meta{ display:flex; align-items:center; gap:12px; margin-top:20px; }
  .v4-rev__avatar{ width:42px; height:42px; border-radius:50%; background:var(--chip); color:var(--purple-deep); font-family:'Sora',sans-serif; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .v4-rev__name{ font-weight:700; color:var(--ink-deep); font-size:.95rem; }
  .v4-rev__loc{ color:var(--muted); font-size:.82rem; }
  .v4-reviews__link{ text-align:center; margin-top:14px; }

  /* Booking band */
  .v4-book{ background:var(--purple-deep); color:#fff; }
  .v4-book h2{ color:#fff; }
  .v4-book__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
  .v4-book .v4-head{ margin-bottom:34px; }
  .v4-book .v4-head p{ color:rgba(255,255,255,.8); }
  .v4-points{ display:flex; flex-direction:column; gap:22px; }
  .v4-points li{ display:flex; gap:14px; align-items:flex-start; }
  .v4-points .ck{ width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
  .v4-points strong{ display:block; font-family:'Sora',sans-serif; font-size:1rem; margin-bottom:3px; }
  .v4-points span{ color:rgba(255,255,255,.78); font-size:.94rem; line-height:1.6; }
  .v4-bookcard{ background:#fff; border-radius:18px; padding:32px; box-shadow:0 30px 70px -30px rgba(20,8,48,.65); color:var(--body); }
  .v4-bookcard h3{ font-size:1.2rem; color:var(--ink-deep); margin-bottom:8px; }
  .v4-bookcard p{ color:var(--muted); font-size:.95rem; line-height:1.65; margin-bottom:22px; }
  .v4-bookcard .btn{ width:100%; margin-bottom:12px; }
  .v4-bookcard__hours{ text-align:center; font-size:.83rem; color:var(--muted); margin-top:8px; line-height:1.6; }

  /* FAQ tweaks */
  #faq .v4-head{ margin-bottom:44px; }
  .faq-item.is-open .faq-q{ color:var(--purple); }
  .faq-a{ transition:max-height .3s ease; }

  /* Referral */
  .v4-referral{ background:var(--bg-soft); padding:72px 0; }
  .v4-refcard{ background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow-sm); padding:38px 42px; display:flex; align-items:center; gap:36px; }
  .v4-refcard__text{ flex:1; }
  .v4-refcard h2{ font-size:clamp(1.5rem,2.6vw,1.9rem); font-weight:800; color:var(--ink-deep); letter-spacing:-.02em; margin-bottom:10px; }
  .v4-refcard p{ color:var(--muted); line-height:1.65; }

  /* Final CTA */
  .v4-final{ background:var(--v4-grad); text-align:center; color:#fff; }
  .v4-final h2{ color:#fff; font-size:clamp(2rem,4.4vw,3rem); font-weight:800; letter-spacing:-.03em; line-height:1.1; max-width:760px; margin:0 auto 18px; }
  .v4-final p{ color:rgba(255,255,255,.85); font-size:1.08rem; line-height:1.7; max-width:620px; margin:0 auto 34px; }
  .v4-final .btn-row{ justify-content:center; }

  /* Footer on deep purple */
  footer{ background:var(--ink-deep); border-top:none; box-shadow:none; }
  footer::before{ display:none; }
  .footer-brand p{ color:rgba(255,255,255,.66) !important; }
  .footer-brand .logo{ display:inline-block; background:#fff; border-radius:14px; padding:10px 16px; }
  .footer-brand .logo__img{ max-width:190px; }
  .footer-col h4{ color:#fff; }
  .footer-col a, .footer-col span{ color:rgba(255,255,255,.66) !important; }
  .footer-col a:hover{ color:#fff !important; }
  .footer-bottom{ border-top-color:rgba(255,255,255,.14) !important; color:rgba(255,255,255,.55) !important; }
  footer p, footer span{ color:rgba(255,255,255,.55); }
  footer a{ color:rgba(255,255,255,.66) !important; }
  .footer-social a{ color:#fff !important; }
  footer .container p a{ text-decoration:underline; }

  /* Sticky bottom bar */
  .v4-bottombar{ position:fixed; left:0; right:0; bottom:0; z-index:900; background:#fff; border-top:1px solid var(--line); box-shadow:0 -12px 34px -18px rgba(76,29,149,.35); transform:translateY(110%); transition:transform .35s ease; }
  .v4-bottombar.is-shown{ transform:translateY(0); }
  .v4-bottombar__inner{ display:flex; align-items:center; gap:14px; padding-top:12px; padding-bottom:12px; }
  .v4-bottombar img{ width:30px; height:30px; object-fit:contain; }
  .v4-bottombar span{ font-family:'Sora',sans-serif; font-weight:700; color:var(--ink-deep); font-size:.98rem; }
  .v4-bottombar .btn{ margin-left:auto; }

  @media (max-width:1020px){
    .v4-hero__grid, .v4-est__grid, .v4-about__grid, .v4-book__grid{ grid-template-columns:1fr; gap:44px; }
    .v4-split{ grid-template-columns:1fr; gap:36px; }
    .v4-cards{ grid-template-columns:repeat(2,1fr); }
    .v4-feats{ grid-template-columns:repeat(2,1fr); }
    .v4-stats__grid{ grid-template-columns:repeat(2,1fr); gap:36px 20px; }
    .v4-frame img{ height:440px; }
  }
  @media (max-width:720px){
    .v4-cards, .v4-steps, .v4-feats{ grid-template-columns:1fr; }
    .v4-formrow{ grid-template-columns:1fr; }
    .v4-about .v4-checks{ grid-template-columns:1fr; }
    .v4-refcard{ flex-direction:column; align-items:flex-start; padding:30px 26px; }
    .v4-rev{ flex-basis:300px; }
    .v4-bottombar span{ font-size:.88rem; }
    .v4-hero{ padding:48px 0 64px; }
  }
  @media (prefers-reduced-motion: reduce){
    .v4-result.is-shown{ animation:none; }
    .v4-bottombar{ transition:none; }
    .v4-carriers__track{ animation:none; }
    html.js .v4-hero h1, html.js .v4-hero__sub, html.js .v4-hero .v4-trust,
    html.js .v4-hero .v4-advisor-card, html.js .v4-hero .v4-formcard{ animation:none; }
  }
