
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      /* Dark palette */
      --dark-bg:       #0e0c1a;
      --dark-surface:  #17132b;
      --dark-card:     #1e1835;
      --dark-border:   #2d2550;
      --dark-border2:  #3a3060;

      /* Accent – warm amber/gold */
      --gold:          #f0b429;
      --gold-soft:     #f5c84a;
      --gold-dim:      rgba(240,180,41,.15);
      --gold-glow:     rgba(240,180,41,.25);
      --amber:         #e8863a;

      /* Text */
      --white:         #ffffff;
      --muted:         #8b80ab;
      --muted2:        #c2b8d8;

      /* Light palette */
      --light-bg:      #faf8f5;
      --light-card:    #ffffff;
      --light-border:  #e8e0d8;
      --light-border2: #d0c8be;
      --text-dark:     #1a1526;
      --text-mid:      #4a3f60;
      --text-light:    #7a6e8a;

      /* Neurogenic accent on light */
      --neu-purple:    #5c3d9e;
      --neu-purple-lt: rgba(92,61,158,.08);
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'DM Sans', sans-serif;
      background: var(--dark-bg);
      min-height: 100vh;
      color: var(--white);
    }

    /* ═══════════════════════════════
       HERO – DARK
    ═══════════════════════════════ */
    .hero {
      background: var(--dark-bg);
      padding: 52px 24px 72px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    /* Radial glows */
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 55% 45% at 50% -5%,  rgba(240,180,41,.14) 0%, transparent 65%),
        radial-gradient(ellipse 35% 30% at 15% 90%,  rgba(92,61,158,.18) 0%,  transparent 60%),
        radial-gradient(ellipse 30% 25% at 88% 75%,  rgba(232,134,58,.10) 0%,  transparent 55%);
      pointer-events: none;
    }

    /* Subtle neural-network dot grid */
    .hero::after {
      content: '';
      position: absolute;
      inset: 0;
      background-image: radial-gradient(rgba(240,180,41,.08) 1px, transparent 1px);
      background-size: 36px 36px;
      pointer-events: none;
      mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 80%);
    }

    .badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(240,180,41,.12);
      border: 1px solid rgba(240,180,41,.32);
      border-radius: 999px;
      padding: 7px 20px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .13em;
      color: #fff;
      text-transform: uppercase;
      margin-bottom: 32px;
      position: relative;
    }
    .badge-dot {
      width: 7px; height: 7px;
      border-radius: 50%;
      background: var(--gold);
      animation: pulse-dot 2s infinite;
    }
    @keyframes pulse-dot {
      0%,100% { opacity:1; transform:scale(1); }
      50%      { opacity:.5; transform:scale(.7); }
    }

    .hero h1 {
      /*font-family: 'DM Serif Display', serif;*/
      font-size: clamp(30px, 5.2vw, 54px);
      font-weight: 400;
      line-height: 1.15;
      color: var(--white);
      max-width: 820px;
      margin: 0 auto 18px;
      position: relative;
    }
    .hero h1 em {
      font-style: italic;
      background: linear-gradient(to right, var(--primary), var(--tertiary));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .hero-sub {
      font-size: 16px;
      color: var(--muted2);
      max-width: 500px;
      margin: 0 auto;
      line-height: 1.65;
      position: relative;
    }

    /* Trust strip */
    .trust-strip {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 28px;
      margin-top: 32px;
      flex-wrap: wrap;
      position: relative;
    }
    .trust-item {
      display: flex;
      align-items: center;
      gap: 7px;
      font-size: 13px;
      color: #fff;
      font-weight: 500;
    }
    .trust-item svg { color: #fff; flex-shrink:0; }

    /* ═══════════════════════════════
       FORM WRAPPER
    ═══════════════════════════════ */
    .form-wrapper {
      max-width: 840px;
      margin: 0 auto;
      padding: 0 16px 80px;
    }

    /* ── Dark card (Q1) ── */
    .card-dark {
      background: var(--dark-card);
      border: 1.5px solid var(--dark-border);
      border-radius: 22px;
      padding: 44px 40px 36px;
      margin-top: -12px;
      position: relative;
      z-index: 2;
      box-shadow: 0 24px 80px rgba(0,0,0,.45), 0 0 0 1px var(--dark-border);
    }
    .card-dark::before {
      content: '';
      position: absolute;
      top: 0; left: 50%;
      transform: translateX(-50%);
      width: 60%;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold-soft), transparent);
    }

    /* Transition strip */
    .transition-strip {
      height: 72px;
      background: linear-gradient(to bottom, var(--dark-bg) 0%, var(--light-bg) 100%);
      margin: 0 -16px;
    }

    /* ── Light card (Q2–Q8) ── */
    .card-light {
      background: var(--light-card);
      border: 1.5px solid var(--light-border);
      border-radius: 22px;
      padding: 44px 40px 36px;
      color: var(--text-dark);
      box-shadow: 0 8px 48px rgba(26,21,38,.07);
      position: relative;
    }
    .card-light::before {
      content: '';
      position: absolute;
      top: 0; left: 50%;
      transform: translateX(-50%);
      width: 50%;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--neu-purple), transparent);
      border-radius: 999px;
    }

    /* ═══════════════════════════════
       STEP DOTS
    ═══════════════════════════════ */
    .step-dots {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 32px;
      gap: 0;
    }
    .dot {
      width: 30px; height: 30px;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 11px; font-weight: 700;
      transition: all .3s ease;
      flex-shrink: 0;
    }
    .dot.active   { background: var(--neu-purple); color: #fff; border: 2.5px solid var(--neu-purple); }
    .dot.done     { background: var(--gold); color: var(--text-dark); border: 2.5px solid var(--gold); font-size:13px; }
    .dot.inactive { background: transparent; color: #bbb; border: 2px solid #ddd; }
    .dot-line {
      width: 30px; height: 2px;
      background: var(--light-border);
      transition: background .3s;
      flex-shrink: 0;
    }
    .dot-line.done { background: var(--gold); }

    /* ═══════════════════════════════
       QUESTION LABELS & TEXT
    ═══════════════════════════════ */
    .q-label {
      text-align: center;
      margin-bottom: 14px;
    }
    .q-label span {
      display: inline-block;
      border-radius: 999px;
      padding: 5px 16px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .card-dark .q-label span {
      background: var(--gold-dim);
      border: 1px solid rgba(240,180,41,.28);
      color: #fff;
    }
    .card-light .q-label span {
      background: var(--neu-purple-lt);
      border: 1px solid rgba(92,61,158,.2);
      color: var(--neu-purple);
    }

    .q-text {
      font-family: 'DM Serif Display', serif;
      font-size: clamp(20px, 3.2vw, 29px);
      font-weight: 400;
      text-align: center;
      margin-bottom: 10px;
      line-height: 1.28;
    }
    .card-dark .q-text  { color: var(--white); }
    .card-light .q-text { color: var(--text-dark); }

    .q-sub {
      text-align: center;
      font-size: 13px;
      color: var(--text-light);
      margin-bottom: 28px;
    }

    /* ═══════════════════════════════
       OPTION BUTTONS
    ═══════════════════════════════ */
    .options-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-bottom: 28px;
    }
    .options-grid.single-col { grid-template-columns: 1fr; }

    .option-btn {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 17px 22px;
      border-radius: 14px;
      border: 1.5px solid;
      background: transparent;
      font-family: 'DM Sans', sans-serif;
      font-size: 15px;
      font-weight: 600;
      cursor: pointer;
      transition: all .22s ease;
      text-align: left;
      width: 100%;
      gap: 10px;
    }

    /* Dark variant */
    .card-dark .option-btn {
      border-color: var(--dark-border2);
      background: rgba(255,255,255,.03);
      color: var(--muted2);
    }
    .card-dark .option-btn:hover {
      border-color: #fff;
      background: var(--gold-dim);
      color: var(--white);
    }
    .card-dark .option-btn.selected {
      border-color: var(--gold);
      background: var(--gold-dim);
      color: var(--white);
    }

    /* Light variant */
    .card-light .option-btn {
      border-color: var(--light-border);
      background: #faf8f5;
      color: var(--text-mid);
    }
    .card-light .option-btn:hover {
      border-color: var(--neu-purple);
      background: var(--neu-purple-lt);
      color: var(--text-dark);
    }
    .card-light .option-btn.selected {
      border-color: var(--neu-purple);
      background: var(--neu-purple-lt);
      color: var(--text-dark);
    }

    .arrow-icon {
      width: 26px; height: 26px;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 13px;
      flex-shrink: 0;
      transition: all .2s;
    }
    .card-dark .arrow-icon  { background: rgba(240,180,41,.18); color: #fff;}
    .card-light .arrow-icon { background: rgba(92,61,158,.12);  color: var(--neu-purple); }
    .option-btn:hover .arrow-icon,
    .option-btn.selected .arrow-icon { transform: translateX(2px); }

    /* ═══════════════════════════════
       MULTI-SELECT (checkboxes)
    ═══════════════════════════════ */
    .option-check {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 15px 20px;
      border-radius: 14px;
      border: 1.5px solid var(--light-border);
      background: #faf8f5;
      font-family: 'DM Sans', sans-serif;
      font-size: 15px;
      font-weight: 500;
      cursor: pointer;
      transition: all .2s;
      color: var(--text-mid);
      user-select: none;
    }
    .option-check:hover  {
      border-color: var(--neu-purple);
      background: var(--neu-purple-lt);
      color: var(--text-dark);
    }
    .option-check.selected {
      border-color: var(--gold);
      background: rgba(240,180,41,.07);
      color: var(--text-dark);
    }
    .check-box {
      width: 22px; height: 22px;
      border-radius: 7px;
      border: 2px solid #ccc;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      font-size: 12px;
      transition: all .2s;
      color: transparent;
    }
    .option-check.selected .check-box {
      background: var(--gold);
      border-color: var(--gold);
      color: var(--text-dark);
    }

    /* ═══════════════════════════════
       TEXTAREA
    ═══════════════════════════════ */
    .q-textarea {
      width: 100%;
      border: 1.5px solid var(--light-border);
      border-radius: 14px;
      background: #faf8f5;
      font-family: 'DM Sans', sans-serif;
      font-size: 15px;
      color: var(--text-dark);
      padding: 16px 20px;
      resize: vertical;
      min-height: 110px;
      outline: none;
      transition: border .2s, box-shadow .2s;
      margin-bottom: 14px;
      line-height: 1.6;
    }
    .q-textarea:focus {
      border-color: var(--neu-purple);
      box-shadow: 0 0 0 3px rgba(92,61,158,.1);
    }

    /* ═══════════════════════════════
       NAV BUTTONS
    ═══════════════════════════════ */
    .nav-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }

    .btn-back {
      background: transparent;
      border: 1.5px solid;
      border-radius: 12px;
      padding: 12px 22px;
      font-family: 'DM Sans', sans-serif;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: all .2s;
    }
    .card-dark .btn-back {
      border-color: var(--dark-border2);
      color: var(--muted);
    }
    .card-dark .btn-back:hover { border-color: var(--gold); color: var(--gold); }
    .card-light .btn-back {
      border-color: var(--light-border2);
      color: var(--text-light);
    }
    .card-light .btn-back:hover { border-color: var(--neu-purple); color: var(--neu-purple); }

    .btn-next {
      background: linear-gradient(135deg, var(--gold), var(--amber));
      color: #1a1526;
      border: none;
      border-radius: 12px;
      padding: 14px 34px;
      font-family: 'DM Sans', sans-serif;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      transition: all .22s;
      box-shadow: 0 4px 22px rgba(240,180,41,.35);
      letter-spacing: .01em;
    }
    .btn-next:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 32px rgba(240,180,41,.45);
    }
    .btn-next:disabled { opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; }

    /* ═══════════════════════════════
       PROGRESS
    ═══════════════════════════════ */
    .progress-section {
      margin-top: 30px;
      padding-top: 22px;
      border-top: 1px solid;
    }
    .card-dark .progress-section  { border-color: var(--dark-border); }
    .card-light .progress-section { border-color: var(--light-border); }

    .progress-header {
      display: flex;
      justify-content: space-between;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: .04em;
      margin-bottom: 10px;
    }
    .card-dark .progress-header  { color: var(--muted); }
    .card-light .progress-header { color: var(--text-light); }

    .progress-track {
      width: 100%;
      height: 6px;
      border-radius: 999px;
      overflow: hidden;
    }
    .card-dark .progress-track  { background: rgba(255,255,255,.08); }
    .card-light .progress-track { background: var(--light-border); }

    .progress-fill {
      height: 100%;
      border-radius: 999px;
      background: #fff;
      transition: width .5s cubic-bezier(.4,0,.2,1);
    }

    /* ═══════════════════════════════
       STEP VISIBILITY
    ═══════════════════════════════ */
    .step { display: none; }
    .step.active { display: block; animation: fadeUp .38s cubic-bezier(.22,.68,0,1.2); }
    @keyframes fadeUp {
      from { opacity:0; transform:translateY(14px); }
      to   { opacity:1; transform:none; }
    }

    /* ═══════════════════════════════
       LEAD CAPTURE
    ═══════════════════════════════ */
    .lead-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      margin-bottom: 14px;
    }
    .lead-grid.full { grid-template-columns: 1fr; }

    .input-wrap { display: flex; flex-direction: column; }
    .input-label {
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--text-light);
      margin-bottom: 7px;
    }
    .input-field {
      width: 100%;
      border: 1.5px solid var(--light-border);
      border-radius: 12px;
      background: #faf8f5;
      font-family: 'DM Sans', sans-serif;
      font-size: 15px;
      color: var(--text-dark);
      padding: 14px 16px;
      outline: none;
      transition: border .2s, box-shadow .2s;
    }
    .input-field:focus {
      border-color: var(--neu-purple);
      box-shadow: 0 0 0 3px rgba(92,61,158,.1);
    }

    /* ═══════════════════════════════
       SUCCESS
    ═══════════════════════════════ */
    .success-box { text-align: center; padding: 16px 0 8px; }

    .success-icon {
      width: 80px; height: 80px;
      background: linear-gradient(135deg, var(--gold), var(--amber));
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 26px;
      font-size: 36px;
      box-shadow: 0 12px 40px rgba(240,180,41,.4);
    }
    .success-box h2 {
      font-family: 'DM Serif Display', serif;
      font-size: 28px;
      font-weight: 400;
      color: var(--text-dark);
      margin-bottom: 14px;
    }
    .success-box p {
      font-size: 15px;
      color: var(--text-mid);
      max-width: 440px;
      margin: 0 auto;
      line-height: 1.68;
    }
    .success-badge {
      display: inline-block;
      margin-top: 26px;
      background: rgba(240,180,41,.1);
      border: 1px solid rgba(240,180,41,.35);
      border-radius: 999px;
      padding: 9px 24px;
      font-size: 13px;
      font-weight: 700;
      color: #a06a00;
    }

    /* Error box */
    #form-error {
      background: #fff1f0;
      border: 1px solid #fca5a5;
      color: #b91c1c;
      border-radius: 10px;
      padding: 12px 16px;
      margin-bottom: 16px;
      font-size: 14px;
      display: none;
    }

    /* ═══════════════════════════════
       LIGHT SECTION WRAP
    ═══════════════════════════════ */
    .light-section {
      /* background: var(--light-bg); */
      padding-bottom: 60px;
    }

    /* ═══════════════════════════════
       RESPONSIVE
    ═══════════════════════════════ */
    @media(max-width:620px) {
      .card-dark, .card-light { padding: 28px 18px 24px; }
      .options-grid           { grid-template-columns: 1fr; }
      .lead-grid              { grid-template-columns: 1fr; }
      .trust-strip            { gap: 16px; }
      .hero h1                { font-size: 26px; }
    }