  :root{
    --teal:#0BB5B1;--teal-dark:#099A96;--teal-deep:#0A7B77;--navy:#212934;--coral:#D8847A;--coral-dark:#c56e63;
    --ink:#212934;--muted:#5b6673;--line:#e4e8ec;--bg:#f4f8f8;--white:#fff;--gold:#f4c15e;
    --bg-teal:#eaf7f6;--radius:16px;--shadow:0 18px 44px -18px rgba(20,40,40,.28);--shadow-sm:0 6px 18px rgba(33,41,52,.08);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Poppins',system-ui,Arial,sans-serif;color:var(--ink);line-height:1.55;
    background:radial-gradient(1200px 600px at 80% -10%,#e2f4f2 0%,var(--bg) 55%);min-height:100vh}
  h1,h2,h3,h4{font-family:'Work Sans',system-ui,sans-serif;line-height:1.12;color:var(--navy);font-weight:800}
  a{color:inherit}
  img{max-width:100%;display:block}
  .wrap{max-width:760px;margin:0 auto;padding:0 18px}

  /* Top bar */
  .bar{display:flex;align-items:center;justify-content:space-between;height:66px}
  .bar .logo img{height:30px}
  .bar .call{font-weight:600;color:var(--navy);text-decoration:none;font-size:.95rem}
  .bar .call span{color:var(--teal-dark)}

  /* Progress */
  .progress{height:6px;background:#dfe9e8;border-radius:999px;overflow:hidden;margin:6px 0 26px}
  .progress .fill{height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--teal-dark));border-radius:999px;transition:width .45s cubic-bezier(.2,.7,.2,1)}

  /* Card / stage */
  .stage{background:var(--white);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:38px 34px 34px;position:relative;overflow:hidden}
  .step{display:none;animation:slidein .45s cubic-bezier(.2,.7,.2,1)}
  .step.active{display:block}
  @keyframes slidein{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

  .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--teal-dark);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:.74rem;margin-bottom:14px;background:var(--bg-teal);padding:6px 12px;border-radius:999px}
  .eyebrow svg{width:15px;height:15px}
  .qh{font-size:clamp(1.4rem,4.5vw,2rem);margin-bottom:8px}
  .qsub{color:var(--muted);font-size:.98rem;margin-bottom:26px;max-width:560px}

  /* Options */
  .opts{display:grid;gap:12px}
  .opts.two{grid-template-columns:1fr 1fr}
  .opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--white);border:2px solid var(--line);border-radius:14px;padding:18px 18px;font-family:'Poppins';font-size:1.02rem;font-weight:500;color:var(--navy);cursor:pointer;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}
  .opt:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(9,154,150,.5)}
  .opt .tick{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;transition:.18s}
  .opt .tick svg{width:14px;height:14px;opacity:0;transform:scale(.5);transition:.18s;color:#fff}
  .opt.sel{border-color:var(--teal);background:linear-gradient(180deg,#f4fcfb,#ecf9f8)}
  .opt.sel .tick{background:var(--teal);border-color:var(--teal)}
  .opt.sel .tick svg{opacity:1;transform:scale(1)}

  /* Fields */
  .field{margin-bottom:16px}
  .field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--navy)}
  .field input{width:100%;border:2px solid var(--line);border-radius:12px;padding:14px 15px;font-family:'Poppins';font-size:1rem;color:var(--navy);transition:border-color .18s}
  .field input:focus{outline:none;border-color:var(--teal)}
  .field .err{color:#c0392b;font-size:.8rem;margin-top:5px;display:none}
  .field.invalid .err{display:block}
  .field.invalid input{border-color:#e0a99f}

  .consent{display:flex;gap:12px;align-items:flex-start;background:var(--bg-teal);border-radius:12px;padding:16px;font-size:.86rem;color:var(--muted);margin-bottom:22px}
  .consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--teal)}

  /* Nav buttons */
  .navrow{display:flex;align-items:center;justify-content:space-between;margin-top:26px;gap:12px}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Poppins';font-weight:600;border-radius:999px;padding:14px 28px;font-size:1rem;cursor:pointer;border:2px solid transparent;transition:transform .18s,background .18s,box-shadow .18s;text-decoration:none}
  .btn-primary{background:var(--teal);color:#fff}
  .btn-primary:hover{background:var(--teal-dark);transform:translateY(-2px);box-shadow:0 10px 22px rgba(9,154,150,.32)}
  .btn-teal{background:var(--teal);color:#fff}
  .btn-teal:hover{background:var(--teal-dark);transform:translateY(-2px);box-shadow:0 10px 22px rgba(9,154,150,.32)}
  .btn-ghost{background:transparent;color:var(--muted);border-color:var(--line)}
  .btn-ghost:hover{color:var(--navy);border-color:var(--teal)}
  .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
  .btn svg{width:18px;height:18px;flex:none}
  .btn{white-space:nowrap}
  .back{background:none;border:none;color:var(--muted);font-family:'Poppins';font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 4px}
  .back:hover{color:var(--navy)}
  .hint{text-align:center;color:var(--muted);font-size:.8rem;margin-top:16px}

  /* Intro */
  .intro-badges{display:flex;gap:18px;flex-wrap:wrap;margin:22px 0 4px}
  .intro-badges div{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--muted);font-weight:500}
  .intro-badges .dot{width:8px;height:8px;border-radius:50%;background:var(--teal)}
  .intro-hero{width:64px;height:64px;border-radius:18px;background:var(--bg-teal);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
  .intro-hero svg{width:34px;height:34px;color:var(--teal-dark)}

  /* Result */
  .rhero{position:relative;margin:-38px -34px 30px;padding:48px 40px 40px;overflow:hidden;background:linear-gradient(160deg,#0A7B77 0%,#064F4C 100%);color:#fff;text-align:center}
  .rhero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -10%,rgba(255,255,255,.18),transparent 55%),repeating-radial-gradient(circle at 50% 8%,rgba(255,255,255,.06) 0 1px,transparent 1px 26px);pointer-events:none}
  .rhero .seal{width:68px;height:68px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;position:relative;z-index:1}
  .rhero .seal svg{width:32px;height:32px;color:var(--gold)}
  .rhero .eb{position:relative;z-index:1;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:12px}
  .rhero h1{position:relative;z-index:1;color:#fff;font-size:clamp(1.7rem,5vw,2.4rem);line-height:1.1;margin-bottom:12px}
  .rhero p{position:relative;z-index:1;color:rgba(255,255,255,.9);max-width:520px;margin:0 auto;font-size:1.02rem;line-height:1.55}
  .rhero p strong{color:var(--gold);font-weight:600}
  .nextsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 26px}
  .nstep{background:var(--bg-teal);border-radius:14px;padding:18px 16px;text-align:center}
  .nstep .n{width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-family:'Work Sans'}
  .nstep h5{font-family:'Work Sans';font-size:.9rem;color:var(--navy);margin-bottom:4px}
  .nstep p{font-size:.77rem;color:var(--muted);line-height:1.4;margin:0}
  .surgeon{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin:0;box-shadow:var(--shadow-sm)}
  .surgeon img{width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:top center;flex:none;border:3px solid var(--bg-teal)}
  .surgeon .sq{font-family:'Work Sans';font-size:1rem;color:var(--navy);line-height:1.4;margin-bottom:6px}
  .surgeon .sn{font-size:.8rem;color:var(--muted)}
  .surgeon .sn strong{color:var(--teal-dark)}

  .choose{text-align:center;margin:30px 0 8px}
  .choose .ce{font-size:.74rem;font-weight:700;letter-spacing:.09em;color:var(--teal-dark);text-transform:uppercase;margin-bottom:8px}
  .choose h3{font-size:1.4rem;margin-bottom:6px}
  .choose p{color:var(--muted);font-size:.95rem;max-width:460px;margin:0 auto}
  .paths{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
  .path{border:2px solid var(--line);border-radius:16px;padding:24px 22px;text-align:left;display:flex;flex-direction:column;position:relative;transition:.18s;cursor:pointer;background:#fff}
  .path:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:0 16px 32px -18px rgba(9,154,150,.4)}
  .path.featured{border-color:var(--teal);background:linear-gradient(180deg,#fff,#f5fbfb)}
  .path .flag{position:absolute;top:-11px;left:20px;background:var(--teal);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:5px}
  .path .pic{width:48px;height:48px;border-radius:12px;background:var(--bg-teal);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
  .path .pic svg{width:24px;height:24px}
  .path h4{font-family:'Work Sans';font-size:1.2rem;margin-bottom:4px;color:var(--navy)}
  .path .meta{color:var(--teal-dark);font-weight:600;font-size:.82rem;margin-bottom:12px}
  .path ul{list-style:none;margin-bottom:18px;flex:1}
  .path ul li{font-size:.88rem;color:var(--muted);padding:5px 0 5px 24px;position:relative}
  .path ul li::before{content:"✓";position:absolute;left:0;top:5px;color:var(--teal);font-weight:800;font-size:.8rem}
  .path .btn{width:100%}

  .reassure{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:26px 0 6px;padding-top:22px;border-top:1px solid var(--line)}
  .reassure div{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--muted);font-weight:500}
  .reassure svg{width:15px;height:15px;color:var(--teal-dark)}

  /* HealthEngine iframe panel */
  .book-panel{margin-top:24px;display:none}
  .book-panel.show{display:block;animation:slidein .4s}
  .book-panel h4{text-align:center;font-size:1.1rem;margin-bottom:6px}
  .book-panel .swap{text-align:center;color:var(--muted);font-size:.85rem;margin-bottom:14px}
  .book-panel .swap a{color:var(--teal-dark);font-weight:600;cursor:pointer;text-decoration:underline}
  .he-frame{width:100%;height:640px;border:1px solid var(--line);border-radius:14px;background:#fff}
  .he-fallback{text-align:center;font-size:.85rem;color:var(--muted);margin-top:10px}
  .he-fallback a{color:var(--teal-dark);font-weight:600}

  /* Outcome (callback / dead-end) premium */
  .outcome{text-align:center;padding:10px 0 4px}
  .outcome .oi{width:86px;height:86px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;position:relative}
  .outcome .oi::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid currentColor;opacity:.22}
  .outcome .oi svg{width:40px;height:40px}
  .oi.teal{background:var(--bg-teal);color:var(--teal-dark)}
  .oi.soft{background:#fdeeeb;color:var(--coral-dark)}
  .outcome h2{font-size:clamp(1.5rem,4.5vw,2.05rem);margin-bottom:12px}
  .outcome p{color:var(--muted);max-width:520px;margin:0 auto 10px;line-height:1.55}
  .outcome .ocard{background:var(--bg-teal);border-radius:14px;padding:16px 18px;max-width:520px;margin:22px auto 0;font-size:.86rem;color:var(--navy);text-align:left;display:flex;gap:12px;align-items:flex-start;line-height:1.5}
  .outcome .ocard svg{width:20px;height:20px;color:var(--teal-dark);flex:none;margin-top:2px}
  .outcome .cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}

  .legal{font-size:.72rem;color:var(--muted);text-align:center;margin:26px auto 40px;max-width:620px;padding:0 18px;line-height:1.6}

  @media(max-width:600px){
    .stage{padding:28px 20px 26px;border-radius:18px}
    .rhero{margin:-28px -20px 26px;padding:40px 22px 32px}
    .opts.two,.paths,.nextsteps{grid-template-columns:1fr}
    .surgeon{flex-direction:column;text-align:center}
    .he-frame{height:560px}
  }
  @media(prefers-reduced-motion:reduce){
    .step,.book-panel.show{animation:none}
    .opt:hover,.path:hover,.btn:hover{transform:none}
    .progress .fill{transition:none}
  }
