    /* Warm noise overlay used on the form column */
    .grain-warm {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.14  0 0 0 0 0.14  0 0 0 0 0.14  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    }

    .lum {
      box-shadow:
        0 1px 0 rgba(255,255,255,0.6) inset,
        0 30px 80px -40px rgba(36,36,36,0.18),
        0 4px 16px -8px rgba(36,36,36,0.06);
    }

    /* Override shared site nav-scrolled with cream tint for bg-base body */
    .nav-scrolled { background: rgba(248,248,247,0.78); }
    /* Phones have no backdrop blur (mobile.css) — near-opaque so text can't bleed through */
    @media (max-width: 767.98px) {
      .nav-scrolled { background: rgba(248,248,247,0.96); }
    }

    /* Form fields */
    .field {
      width: 100%;
      background: #ffffff;
      border: 1px solid #E4E4E2;
      border-radius: 12px;
      padding: 12px 14px;
      font-size: 15px;
      color: #242424;
      transition: border-color 160ms, box-shadow 160ms, background 160ms;
    }
    .field::placeholder { color: #6B7280; font-weight: 400; }
    .field:hover { border-color: #d2d2cf; }
    .field:focus {
      outline: none;
      border-color: #0000EE;
      box-shadow: 0 0 0 3px rgba(0,87,255,0.10);
    }
    select.field {
      appearance: none;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
      background-repeat: no-repeat;
      background-position: right 14px center;
      padding-right: 40px;
      color: #6B7280;
    }
    select.field.has-value { color: #242424; }

    /* Validation error states */
    .field.invalid { border-color: #b00020; }
    .field.invalid:focus { border-color: #b00020; box-shadow: 0 0 0 3px rgba(176,0,32,0.12); }
    .field-error {
      display: none;
      color: #b00020;
      font-size: 12px;
      line-height: 1.4;
      margin-top: 6px;
    }
    .field-error.show { display: block; }

    .label {
      display: block;
      font-size: 13px;
      color: #4D4B48;
      font-weight: 400;
      margin-bottom: 6px;
    }

    .submit-btn {
      background: #E4E4E2;
      color: #9CA3AF;
      cursor: not-allowed;
      transition: background 200ms, color 200ms, transform 120ms;
    }
    .submit-btn.is-ready {
      background: #0000EE;
      color: #ffffff;
      cursor: pointer;
    }
    .submit-btn.is-ready:hover { background: #0000c4; }
    .submit-btn.is-ready:active { transform: scale(0.97); }

    .bullet-icon {
      width: 22px; height: 22px;
      display: inline-grid; place-items: center;
      color: #0000EE;
      flex-shrink: 0;
      margin-top: 2px;
    }

    /* Post-submit success view: replaces the form inside the card */
    #learn-form-view.is-hidden { display: none; }

    .form-success {
      display: none;
      text-align: center;
      padding: 36px 4px 28px;
    }
    .form-success.show {
      display: block;
      animation: success-in 480ms cubic-bezier(0.22, 0.8, 0.3, 1) both;
    }
    .form-success:focus { outline: none; }

    .success-icon {
      width: 64px; height: 64px;
      display: inline-grid; place-items: center;
      border-radius: 9999px;
      background: rgba(0,87,255,0.10);
      color: var(--c-check, #0057FF);
      box-shadow: 0 0 0 10px rgba(0,87,255,0.05);
    }

    @keyframes success-in {
      from { opacity: 0; transform: translateY(10px) scale(0.98); }
      to   { opacity: 1; transform: none; }
    }
    @media (prefers-reduced-motion: reduce) {
      .form-success.show { animation: none; }
    }
