.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
  body { font-family: 'Inter', sans-serif; background: #ffffff; }

  .step-panel { display: none; }
  .step-panel.active { display: block; animation: stepRise 0.34s ease; }
  @keyframes stepRise { from { transform: translateY(8px); opacity:0; } to { transform: translateY(0); opacity:1; } }
  @media (min-width: 640px) { .step-panel.active { min-height: 420px; } }

  .app-card { background:#fff; border-radius:18px; border:1px solid rgba(191,201,191,0.5); box-shadow:0 1px 2px rgba(0,52,28,0.05), 0 18px 40px -20px rgba(0,52,28,0.16); }
  .qhead { font-size: clamp(1.5rem, 3.5vw, 1.85rem); font-weight:700; color:#1a1a1a; line-height:1.25; letter-spacing:-0.01em; }

  .apply-form input[type=text], .apply-form input[type=email], .apply-form input[type=tel],
  .apply-form input[type=number], .apply-form select {
    padding:12px 14px; border-radius:10px; border:1px solid #bfc9bf; font-size:16px; width:100%;
    background:#f6f8fb; color:#1a1a1a; transition:border-color .15s, box-shadow .15s, background .15s;
  }
  .apply-form .relative input { padding-left:30px; }
  .apply-form input:focus, .apply-form select:focus { outline:none; border-color:#00341c; background:#fff; box-shadow:0 0 0 3px rgba(0,52,28,.12); }
  .apply-form input.err, .apply-form select.err { border-color:#ba1a1a; box-shadow:0 0 0 3px rgba(186,26,26,.10); }
  .field-label { display:block; font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#404942; margin-bottom:8px; }
  .prefix { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:#7a857c; font-weight:600; pointer-events:none; }

  .q-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%;
    padding:15px 24px; border-radius:10px; background:#f5b820; color:#3d2b0f; font-weight:800; font-size:15px;
    cursor:pointer; border:0; transition:background .15s ease, transform .13s ease, box-shadow .15s ease;
    box-shadow:0 10px 24px -10px rgba(0,0,0,0.5); }
  .q-btn:hover { background:#f8c84d; transform:translateY(-1px); }
  .q-btn-primary { background:#00341c; color:#fff; box-shadow:0 14px 30px -14px rgba(0,52,28,0.6); }
  .q-btn-primary:hover { background:#004d2c; }
  .q-back { display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:#404942; background:none; border:0; cursor:pointer; transition:color .13s; }
  .q-back:hover { color:#00341c; }
  .q-ghost { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:13px 16px; border-radius:10px; border:1.5px solid #bfc9bf; background:#fff; color:#00341c; font-weight:700; font-size:14px; text-decoration:none; transition:all .15s ease; }
  .q-ghost:hover { border-color:#00341c; }

  .progress-fill { transition: width 0.45s cubic-bezier(0.4,0,0.2,1); }

  /* Result cards */
  .est-card { background:#fff; border:1px solid rgba(191,201,191,0.55); border-radius:14px; padding:20px 22px; }
  .est-amount { font-weight:900; letter-spacing:-0.02em; color:#00341c; font-variant-numeric:tabular-nums; font-size:clamp(1.6rem,5vw,2rem); line-height:1; }
  ::-webkit-scrollbar { width:6px; } ::-webkit-scrollbar-track { background:#f8fafc; } ::-webkit-scrollbar-thumb { background:#bfc9bf; border-radius:3px; }

::selection { background: #00341c; color: #fff; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
