    /* ============================================
       RESET & BASE
       ============================================ */
    *, *::before, *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    :root {
      --gold: #D4A017;
      --gold-light: #E8C547;
      --gold-subtle: rgba(212, 160, 23, 0.06);
      --gold-border: rgba(212, 160, 23, 0.25);
      --gold-glow: rgba(212, 160, 23, 0.12);
      --ia-black: #0A1628;
      --ia-white: #FFFFFF;
      --ia-bg: #FAFAFA;
      --ia-card-border: #E8E8E8;
      --ia-card-hover: #F5F5F5;
      --ia-text-primary: #0F1419;
      --ia-text-secondary: #374151;
      --ia-text-muted: #6B7280;
      --ia-green: #0D9668;
      --ia-green-subtle: rgba(13, 150, 104, 0.08);
      --ia-red: #DC2626;
      --ia-red-subtle: rgba(220, 38, 38, 0.06);
      --font-display: 'Cormorant Garamond', serif;
      --font-body: 'DM Sans', -apple-system, sans-serif;
      --header-bg: #0A1628;
      --header-text: #FFFFFF;
    }

    body {
      margin: 0;
      padding: 24px 16px;
      background: #FAFAFA;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-body);
      color: var(--ia-text-primary);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    /* ============================================
       FORM CONTAINER
       ============================================ */
    .ia-form-container {
      width: 100%;
      max-width: 520px;
      background: var(--ia-white);
      border-radius: 16px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 24px rgba(0,0,0,0.06);
      overflow: hidden;
    }

    .ia-form-inner {
      padding: 0 28px 28px;
    }

    /* ============================================
       HEADER
       ============================================ */
    .ia-header {
      text-align: center;
      padding: 32px 28px 24px;
      margin: 0 -28px 24px;
      background: var(--header-bg);
      border-radius: 16px 16px 0 0;
    }

    .ia-badge {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 5px 14px;
      border: 1px solid var(--gold-border);
      border-radius: 100px;
      background: var(--gold-subtle);
      color: var(--gold);
      font-family: var(--font-body);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.5px;
      margin-bottom: 14px;
    }

    .ia-badge svg {
      width: 12px;
      height: 12px;
      fill: var(--gold);
    }

    .ia-title {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 700;
      color: var(--header-text);
      margin-bottom: 6px;
      line-height: 1.3;
    }

    .ia-subtitle {
      font-size: 14px;
      color: var(--header-text);
      opacity: 0.7;
      font-weight: 400;
    }

    /* ============================================
       PROGRESS SECTION
       ============================================ */
    #iaProgressSection {
      border-top: 1px solid var(--ia-card-border);
      padding-top: 24px;
      margin-bottom: 28px;
    }

    .ia-progress-steps {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0;
      margin-bottom: 12px;
      position: relative;
    }

    .ia-step-dot-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      z-index: 2;
    }

    .ia-step-dot {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-body);
      font-size: 13px;
      font-weight: 600;
      transition: all 0.3s ease;
      border: 2px solid var(--ia-card-border);
      background: var(--ia-white);
      color: var(--ia-text-muted);
    }

    .ia-step-dot.active {
      background: var(--gold);
      border-color: var(--gold);
      color: var(--ia-white);
      box-shadow: 0 2px 8px var(--gold-glow);
    }

    .ia-step-dot.completed {
      background: var(--gold);
      border-color: var(--gold);
      color: var(--ia-white);
    }

    .ia-step-dot .checkmark {
      display: none;
    }

    .ia-step-dot.completed .dot-number {
      display: none;
    }

    .ia-step-dot.completed .checkmark {
      display: block;
    }

    .ia-step-label {
      font-size: 11px;
      font-weight: 500;
      color: var(--ia-text-muted);
      margin-top: 6px;
      transition: color 0.3s ease;
    }

    .ia-step-label.active {
      color: var(--gold);
      font-weight: 600;
    }

    .ia-step-label.completed {
      color: var(--gold);
    }

    .ia-step-line {
      width: 60px;
      height: 2px;
      background: var(--ia-card-border);
      margin: 0 8px;
      margin-bottom: 20px;
      transition: background 0.3s ease;
      z-index: 1;
    }

    .ia-step-line.active {
      background: var(--gold);
    }

    .ia-progress-bar-wrap {
      width: 100%;
      height: 3px;
      background: var(--ia-card-border);
      border-radius: 3px;
      overflow: hidden;
      margin-top: 4px;
    }

    #iaProgressFill {
      height: 100%;
      background: linear-gradient(90deg, var(--gold), var(--gold-light));
      border-radius: 3px;
      transition: width 0.4s ease;
      width: 33.33%;
    }

    /* ============================================
       STEP CONTAINERS
       ============================================ */
    .ia-step {
      display: none;
      animation: iaFadeIn 0.3s ease;
    }

    .ia-step.active {
      display: block;
    }

    @keyframes iaFadeIn {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .ia-step-title {
      font-family: var(--font-display);
      font-size: 17px;
      font-weight: 600;
      color: var(--ia-text-primary);
      text-align: center;
      margin-bottom: 20px;
      line-height: 1.4;
    }

    /* ============================================
       STEP 1: SELECTION CARDS (3x2 grid)
       ============================================ */
    .ia-selection-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-bottom: 24px;
    }

    .ia-selection-card {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 18px 8px;
      border: 1.5px solid var(--ia-card-border);
      border-radius: 12px;
      background: var(--ia-white);
      cursor: pointer;
      transition: all 0.2s ease;
      text-align: center;
    }

    .ia-selection-card:hover {
      border-color: var(--gold-border);
      background: var(--gold-subtle);
    }

    .ia-selection-card.selected {
      border-color: var(--gold);
      background: var(--gold-subtle);
      box-shadow: 0 0 0 1px var(--gold);
    }

    .ia-selection-card svg {
      width: 28px;
      height: 28px;
      color: var(--ia-text-secondary);
      transition: color 0.2s ease;
    }

    .ia-selection-card.selected svg {
      color: var(--gold);
    }

    .ia-selection-card span {
      font-size: 12.5px;
      font-weight: 500;
      color: var(--ia-text-secondary);
      line-height: 1.3;
      transition: color 0.2s ease;
    }

    .ia-selection-card.selected span {
      color: var(--ia-text-primary);
      font-weight: 600;
    }

    /* ============================================
       STEP 2: TIMING CARDS
       ============================================ */
    .ia-timing-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-bottom: 20px;
    }

    .ia-timing-card {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      padding: 14px;
      border: 1.5px solid var(--ia-card-border);
      border-radius: 12px;
      background: var(--ia-white);
      cursor: pointer;
      transition: all 0.2s ease;
      position: relative;
    }

    .ia-timing-card:hover {
      border-color: var(--gold-border);
      background: var(--gold-subtle);
    }

    .ia-timing-card.selected {
      border-color: var(--gold);
      background: var(--gold-subtle);
      box-shadow: 0 0 0 1px var(--gold);
    }

    .ia-timing-radio {
      width: 18px;
      height: 18px;
      min-width: 18px;
      border-radius: 50%;
      border: 2px solid var(--ia-card-border);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 1px;
      transition: all 0.2s ease;
    }

    .ia-timing-card.selected .ia-timing-radio {
      border-color: var(--gold);
    }

    .ia-timing-radio::after {
      content: '';
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--gold);
      transform: scale(0);
      transition: transform 0.2s ease;
    }

    .ia-timing-card.selected .ia-timing-radio::after {
      transform: scale(1);
    }

    .ia-timing-content {
      flex: 1;
      min-width: 0;
    }

    .ia-timing-title {
      font-size: 13px;
      font-weight: 600;
      color: var(--ia-text-primary);
      line-height: 1.3;
      margin-bottom: 2px;
    }

    .ia-timing-sub {
      font-size: 11.5px;
      color: var(--ia-text-muted);
      font-weight: 400;
    }

    .ia-popular-badge {
      position: absolute;
      top: -8px;
      right: 10px;
      background: var(--gold);
      color: var(--ia-white);
      font-size: 9px;
      font-weight: 700;
      padding: 2px 8px;
      border-radius: 4px;
      letter-spacing: 0.5px;
      text-transform: uppercase;
    }

    /* ============================================
       FORM FIELDS
       ============================================ */
    .ia-field-group {
      margin-bottom: 16px;
    }

    .ia-field-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .ia-field-label {
      display: block;
      font-size: 13px;
      font-weight: 500;
      color: var(--ia-text-primary);
      margin-bottom: 6px;
    }

    .ia-field-label .required {
      color: var(--ia-red);
      margin-left: 2px;
    }

    .ia-input {
      width: 100%;
      padding: 11px 14px;
      border: 1.5px solid var(--ia-card-border);
      border-radius: 10px;
      font-family: var(--font-body);
      font-size: 14px;
      color: var(--ia-text-primary);
      background: var(--ia-white);
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
      outline: none;
    }

    .ia-input::placeholder {
      color: var(--ia-text-muted);
    }

    .ia-input:focus {
      border-color: var(--gold);
      box-shadow: 0 0 0 3px var(--gold-glow);
    }

    .ia-input.error {
      border-color: var(--ia-red);
      box-shadow: 0 0 0 3px var(--ia-red-subtle);
    }

    .ia-error-msg {
      display: none;
      font-size: 12px;
      color: var(--ia-red);
      margin-top: 4px;
      font-weight: 500;
    }

    .ia-error-msg.visible {
      display: block;
    }

    /* ============================================
       CHECKBOX
       ============================================ */
    .ia-checkbox-wrap {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-top: 20px;
      margin-bottom: 4px;
    }

    .ia-checkbox-wrap input[type="checkbox"] {
      width: 18px;
      height: 18px;
      min-width: 18px;
      margin-top: 2px;
      accent-color: var(--gold);
      cursor: pointer;
    }

    .ia-checkbox-label {
      font-size: 12.5px;
      color: var(--ia-text-secondary);
      line-height: 1.5;
    }

    .ia-checkbox-label a {
      color: var(--gold);
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .ia-checkbox-label a:hover {
      color: var(--gold-light);
    }

    /* ============================================
       BUTTONS
       ============================================ */
    .ia-btn-row {
      display: flex;
      gap: 10px;
      margin-top: 24px;
    }

    .ia-btn-row.single {
      justify-content: flex-end;
    }

    .ia-btn {
      padding: 12px 24px;
      border-radius: 10px;
      font-family: var(--font-body);
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s ease;
      border: none;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .ia-btn-primary {
      background: var(--gold);
      color: var(--ia-white);
      margin-left: auto;
    }

    .ia-btn-primary:hover:not(:disabled) {
      background: var(--gold-light);
      box-shadow: 0 4px 12px var(--gold-glow);
    }

    .ia-btn-primary:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }

    .ia-btn-back {
      background: transparent;
      color: var(--ia-text-secondary);
      border: 1.5px solid var(--ia-card-border);
    }

    .ia-btn-back:hover {
      background: var(--ia-card-hover);
      border-color: var(--ia-text-muted);
    }

    .ia-btn-submit {
      background: var(--ia-black);
      color: var(--ia-white);
      margin-left: auto;
    }

    .ia-btn-submit:hover:not(:disabled) {
      background: #222;
      box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    }

    .ia-btn-submit:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }

    .ia-btn-submit .ia-spinner {
      display: none;
      width: 16px;
      height: 16px;
      border: 2px solid rgba(255,255,255,0.3);
      border-top-color: #fff;
      border-radius: 50%;
      animation: iaSpin 0.6s linear infinite;
    }

    .ia-btn-submit.loading .ia-spinner {
      display: block;
    }

    .ia-btn-submit.loading .btn-text {
      display: none;
    }

    @keyframes iaSpin {
      to { transform: rotate(360deg); }
    }

    /* ============================================
       TRUST BAR
       ============================================ */
    #iaTrustBar {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      padding: 14px 20px;
      background: var(--ia-bg);
      border-top: 1px solid var(--ia-card-border);
      flex-wrap: wrap;
    }

    .ia-trust-item {
      display: flex;
      align-items: center;
      gap: 5px;
      font-size: 12px;
      color: var(--ia-text-muted);
      font-weight: 500;
    }

    .ia-trust-item svg {
      width: 14px;
      height: 14px;
      color: var(--gold);
    }

    /* ============================================
       FOOTER
       ============================================ */
    .ia-footer {
      padding: 12px 28px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }

    .ia-footer .disclaimer {
      font-size: 10px;
      color: var(--ia-text-muted);
      line-height: 1.4;
      opacity: 0.6;
    }

    .ia-footer .disclaimer a {
      color: inherit;
      text-decoration: none;
    }

    .ia-footer .brand {
      display: flex;
      align-items: center;
      text-decoration: none;
      flex-shrink: 0;
      opacity: 0.4;
      transition: opacity 0.2s ease;
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 13px;
      letter-spacing: 1.5px;
      color: var(--ia-text-muted);
    }

    .ia-footer .brand:hover {
      opacity: 0.7;
    }

    /* ============================================
       SUCCESS STATE
       ============================================ */
    #ia-success-state {
      display: none;
      text-align: center;
      padding: 40px 20px;
      animation: iaFadeIn 0.4s ease;
    }

    #ia-success-state.active {
      display: block;
    }

    .ia-success-icon {
      width: 56px;
      height: 56px;
      background: var(--ia-green-subtle);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 16px;
    }

    .ia-success-icon svg {
      width: 28px;
      height: 28px;
      color: var(--ia-green);
    }

    .ia-success-title {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 700;
      color: var(--ia-text-primary);
      margin-bottom: 10px;
    }

    .ia-success-text {
      font-size: 14px;
      color: var(--ia-text-secondary);
      line-height: 1.6;
      max-width: 360px;
      margin: 0 auto;
    }

    /* ============================================
       ERROR STATE
       ============================================ */
    #ia-error-state {
      display: none;
      text-align: center;
      padding: 30px 20px;
      animation: iaFadeIn 0.4s ease;
    }

    #ia-error-state.active {
      display: block;
    }

    .ia-error-icon {
      width: 56px;
      height: 56px;
      background: var(--ia-red-subtle);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 16px;
    }

    .ia-error-icon svg {
      width: 28px;
      height: 28px;
      color: var(--ia-red);
    }

    .ia-error-title {
      font-family: var(--font-display);
      font-size: 20px;
      font-weight: 700;
      color: var(--ia-text-primary);
      margin-bottom: 8px;
    }

    .ia-error-text {
      font-size: 14px;
      color: var(--ia-text-secondary);
      margin-bottom: 20px;
    }

    .ia-btn-retry {
      background: var(--ia-black);
      color: var(--ia-white);
      padding: 12px 28px;
      border-radius: 10px;
      font-family: var(--font-body);
      font-size: 14px;
      font-weight: 600;
      border: none;
      cursor: pointer;
      transition: all 0.2s ease;
    }

    .ia-btn-retry:hover {
      background: #222;
    }

    /* ============================================
       RESPONSIVE
       ============================================ */
    @media (max-width: 480px) {
      body {
        padding: 12px 8px;
      }

      .ia-form-inner {
        padding: 24px 18px 22px;
      }

      .ia-title {
        font-size: 19px;
      }

      .ia-selection-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .ia-timing-grid {
        grid-template-columns: 1fr;
      }

      .ia-field-row {
        grid-template-columns: 1fr;
        gap: 0;
      }

      .ia-step-line {
        width: 40px;
      }

      #iaTrustBar {
        gap: 10px;
        padding: 12px 16px;
      }

      .ia-trust-item {
        font-size: 11px;
      }

      .ia-footer {
        padding: 10px 16px;
      }

      .ia-footer .brand {
        font-size: 11px;
      }

      .ia-btn-row {
        flex-direction: column-reverse;
      }

      .ia-btn-primary,
      .ia-btn-submit {
        margin-left: 0;
        width: 100%;
        justify-content: center;
      }

      .ia-btn-back {
        width: 100%;
        justify-content: center;
      }
    }
