    :root {
      --primary: #f5d97e;
      --secondary: #daac60;
      --accent: #ecc794;
    }

    body { 
      font-family: 'Montserrat', sans-serif; 
      letter-spacing: 0.5px; 
    }
    h1,h2,h3 { font-family: 'Playfair Display', serif; }

    

    /* Wizard - More spacious */
    .wizard {
        padding: 1.5rem 0;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 1rem;
      margin-bottom: 3rem;
    }

    .wizard-step {
      display: flex; 
      flex-direction: column;
      align-items: center; 
      gap: .75rem;
      padding: 1.5rem 1rem;
      border-radius: 1rem;
      border: 2px solid rgba(75,75,75,1);
      background: linear-gradient(135deg, rgba(31,31,31,1), rgba(0,0,0,1));
      cursor: pointer;
      transition: all .3s ease;
      position: relative;
    }

    .wizard-step:focus-visible { 
      outline: 2px solid var(--primary); 
      outline-offset: 3px; 
    }
    .wizard-step .wizard-index {
      width: 44px; 
      height: 44px; 
      border-radius: 50%;
      display: grid; 
      place-items: center; 
      font-weight: 700;
      font-size: 1.1rem;
      border: 2px solid rgba(245,217,126,.4);
      background: linear-gradient(135deg, rgba(245,217,126,.14), transparent);
      color: var(--primary);
      transition: all .3s ease;
    }
    .wizard-step .wizard-label { 
      font-weight: 600; 
      letter-spacing: .3px;
      text-align: center;
      font-size: 0.95rem;
    }

    .wizard-step.is-active {
      border-color: var(--primary);
      box-shadow: 0 0 0 3px rgba(245,217,126,.2), 0 10px 30px rgba(245,217,126,.25);
      transform: translateY(-3px);
    }
    .wizard-step.is-active .wizard-index {
      background: var(--primary);
      color: #000;
      border-color: var(--primary);
    }

    .wizard-step.is-completed::after {
      content: '✓';
      position: absolute;
      top: 0.5rem;
      right: 0.5rem;
      width: 20px;
      height: 20px;
      background: #22c55e;
      color: white;
      border-radius: 50%;
      display: grid;
      place-items: center;
      font-size: 0.75rem;
      font-weight: bold;
    }

    /* Cards - More breathing room */
    .card {
      background: linear-gradient(135deg, rgba(31,31,31,1), rgba(0,0,0,1));
      border: 1px solid rgba(75,75,75,1);
      border-radius: 1.25rem;
      padding: 2.5rem;
      box-shadow: 0 4px 20px rgba(0,0,0,.3);
    }
    @media (max-width: 768px) {
      .card { padding: 1.5rem; }
    }
    
    .card-h { 
      margin-bottom: 2rem;
      padding-bottom: 1rem;
      border-bottom: 1px solid rgba(245,217,126,.15);
    }
    .card-title { 
      font-size: 1.75rem; 
      font-weight: 700; 
      letter-spacing: .3px;
      margin-bottom: 0.5rem;
    }
    .card-sub { 
      color: #bdbdbd; 
      font-size: 1rem; 
    }

    /* Fields - Better spacing */
    .field { 
      display: block;
      margin-bottom: 0.5rem;
    }
    .label { 
      display: block; 
      margin-bottom: .6rem; 
      font-weight: 600; 
      color: #fff;
      font-size: 0.95rem;
    }
    .hint { 
      margin-top: .4rem; 
      color: #a8a8a8; 
      font-size: .88rem; 
    }

    .control {
      width: 100%;
      padding: 1rem 1.25rem;
      border-radius: .75rem;
      border: 2px solid rgba(120,120,120,.35);
      background: rgba(12,12,12,.85);
      color: #eaeaea;
      font-size: 0.95rem;
      transition: all .25s ease;
    }
    .control::placeholder { color: #8b8b8b; }
    .control:focus {
      outline: none; 
      border-color: var(--primary);
      box-shadow: 0 0 0 4px rgba(245,217,126,.15);
      background: rgba(18,18,18,.95);
    }
    .control:invalid:not(:placeholder-shown) {
      border-color: #1290ff;
    }
    .control.error {
      border-color: #ef4444;
    }

    .error-message {
      color: #ef4444;
      font-size: 0.85rem;
      margin-top: 0.4rem;
      display: none;
    }
    .error-message.show {
      display: block;
    }

    .choices { 
      display: flex; 
      flex-wrap: wrap; 
      gap: .75rem; 
    }
    .choice {
      display: inline-flex; 
      align-items: center; 
      gap: .65rem;
      padding: .75rem 1.1rem;
      border: 2px solid rgba(120,120,120,.35);
      border-radius: .75rem;
      cursor: pointer;
      user-select: none;
      background: rgba(12,12,12,.7);
      transition: all .25s ease;
    }
    .choice:hover {
      border-color: var(--primary);
      background: rgba(245,217,126,.08);
    }
    .choice:has(input:checked) {
      border-color: var(--primary);
      background: rgba(245,217,126,.12);
    }
    .choice input { accent-color: var(--primary); }
    .choice span { font-weight: 600; }

    .check {
      display: flex; 
      align-items: center; 
      gap: .65rem;
      margin-bottom: .85rem;
      padding: 0.5rem;
      border-radius: 0.5rem;
      transition: background .2s ease;
    }
    .check:hover {
      background: rgba(245,217,126,.05);
    }
    .check input { 
      accent-color: var(--primary);
      width: 18px;
      height: 18px;
    }
    .check em { 
      color: #bfbfbf; 
      font-style: normal; 
      font-size: .9rem; 
    }

    /* Buttons */
    .card-actions { 
      display: flex; 
      justify-content: flex-end; 
      gap: .75rem; 
      margin-top: 2rem;
      padding-top: 1.5rem;
      border-top: 1px solid rgba(255,255,255,.08);
    }

    .btn {
      display: inline-flex; 
      align-items: center; 
      justify-content: center;
      padding: 1rem 2rem; 
      border-radius: .75rem;
      font-weight: 700; 
      letter-spacing: .4px;
      font-size: 0.95rem;
      border: 2px solid var(--primary);
      background: var(--primary); 
      color: #000;
      transition: all .3s ease;
      cursor: pointer;
    }
    .btn:hover:not(:disabled) { 
      transform: translateY(-2px); 
      box-shadow: 0 8px 28px rgba(245,217,126,.5); 
    }
    .btn:disabled {
      opacity: 0.5;
      cursor: not-allowed;
      transform: none;
    }
    .btn.ghost {
      background: transparent; 
      color: #fff;
      border: 2px solid rgba(255,255,255,.3);
    }
    .btn.ghost:hover:not(:disabled) { 
      background: rgba(255,255,255,.1);
      border-color: var(--primary);
    }

    /* Summary */
    .summary .sum-grid { 
      display: grid; 
      gap: .75rem; 
      margin-bottom: 1.5rem; 
    }
    .sum-row { 
      display: flex; 
      justify-content: space-between; 
      gap: 1rem; 
      padding: .75rem 0; 
      border-bottom: 1px dashed rgba(255,255,255,.1); 
    }
    .sum-row dt { 
      color: #bdbdbd;
      font-size: 0.95rem;
    }
    .sum-row dd { 
      color: #fff; 
      font-weight: 600;
      font-size: 0.95rem;
      text-align: right;
    }

    .totals {
      margin-top: 1.5rem;
      padding: 1.5rem;
      border-top: 2px solid rgba(255,255,255,.1);
      background: rgba(245,217,126,.05);
      border-radius: 0.75rem;
    }
    .total-line { 
      display: flex; 
      justify-content: space-between; 
      font-weight: 800; 
      font-size: 1.25rem; 
    }
    .total-amount { color: var(--primary); }
    .disclaimer { 
      color: #bcbcbc; 
      font-size: .88rem; 
      margin-top: .75rem;
      line-height: 1.5;
    }


    /* Grid improvements */
    .form-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 1.5rem;
    }
    .form-grid-full {
      grid-column: 1 / -1;
    }

    @media (prefers-reduced-motion: reduce) {
      * { transition: none !important; }
    }