    *, *::before, *::after { box-sizing: border-box; }
    body { font-family: 'DM Sans', sans-serif; background: #FFFFFF; color: #1F2937; overflow-x: hidden; }
    h1,h2,h3,h4,h5 { font-family: 'Sora', sans-serif; }

    .grad-blue   { background: linear-gradient(135deg,#2B5A8C,#3B6BA8); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .grad-yellow { background: linear-gradient(90deg,#FF8C42,#FFAA66);  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .grad-green  { background: linear-gradient(90deg,#2B5A8C,#FF8C42);  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

    .hero-bg {
      background:
        radial-gradient(ellipse 90% 70% at 60% -10%, rgba(43,90,140,.12) 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 10% 80%,  rgba(255,140,66,.08) 0%, transparent 60%),
        #FFFFFF;
    }
    .hero-badge { background: linear-gradient(90deg,rgba(43,90,140,.10),rgba(255,140,66,.08)); border:1px solid rgba(43,90,140,.25); }
    .hero-stat  { background: linear-gradient(135deg,rgba(43,90,140,.08),rgba(255,140,66,.05)); border:1px solid rgba(255,140,66,.15); }

    .card { background:#FFFFFF; border:1px solid rgba(43,90,140,.12); border-radius:1.25rem; transition:transform .25s, box-shadow .25s, border-color .25s; }
    .card:hover { transform:translateY(-4px); border-color:rgba(255,140,66,.35); box-shadow:0 12px 40px rgba(255,140,66,.12); }

    .guarantee-pill { background:linear-gradient(90deg,#FF8C4218,#2B5A8C12); border:1px solid #FF8C4240; }
    .guarantee-banner { background:linear-gradient(135deg,rgba(255,140,66,.12),rgba(43,90,140,.06)); border:1px solid rgba(255,140,66,.25); }

    .nav-blur { background:rgba(255,255,255,.95); backdrop-filter:blur(14px); border-bottom:1px solid rgba(43,90,140,.10); }
    .logo-strip { background:rgba(43,90,140,.03); border:1px solid rgba(43,90,140,.10); }

    .form-field { background:#FFFFFF; border:1px solid rgba(43,90,140,.18); color:#1F2937; font-family:'DM Sans',sans-serif; border-radius:.75rem; transition:border-color .2s; }
    .form-field:focus { outline:none; border-color:#2B5A8C; box-shadow:0 0 0 3px rgba(43,90,140,.10); }
    .form-field::placeholder { color:#9CA3AF; }
    select.form-field option { background:#131826; }

    @keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
    .float { animation:float 4s ease-in-out infinite; }

    @keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
    .fade-up { animation:fadeUp .7s ease both; }

    .price-strike { text-decoration:line-through; color:#4a5a7a; }

    .section-dark { background:#F3F4F6; }
    .section-mid  { background:#FFFFFF; }

    .curr-row { border-bottom:1px solid rgba(43,90,140,.10); }
    .curr-row:last-child { border-bottom:none; }
    .curr-detail { display:none; }
    .curr-detail.open { display:block; }

    .faq-row { border-bottom:1px solid rgba(43,90,140,.10); }
    .faq-row:last-child { border-bottom:none; }
    .faq-body { display:none; }
    .faq-body.open { display:block; }
    .faq-icon-plus  { display:block; }
    .faq-icon-minus { display:none; }
    .faq-open .faq-icon-plus  { display:none; }
    .faq-open .faq-icon-minus { display:block; }

    .tag { background:rgba(43,90,140,.12); border:1px solid rgba(43,90,140,.25); color:#2B5A8C; border-radius:999px; font-size:.72rem; padding:.28rem .8rem; white-space:nowrap; }
    .num-circle { width:2rem; height:2rem; border-radius:50%; background:linear-gradient(135deg,#2B5A8C,#FF8C42); display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:700; font-size:.75rem; color:#fff; flex-shrink:0; }

    ::-webkit-scrollbar { width:6px; }
    ::-webkit-scrollbar-track { background:#FFFFFF; }
    ::-webkit-scrollbar-thumb { background:#2B5A8C55; border-radius:3px; }

    /* Form Messages */
    #successMessage, #errorMessage { 
      animation: slideIn 0.3s ease-out;
      margin-bottom: 1.25rem;
    }
    
    @keyframes slideIn {
      from { opacity: 0; transform: translateY(-10px); }
      to { opacity: 1; transform: translateY(0); }
    }

    /* Phone Number Input */
    input[type="tel"] { 
      -moz-appearance: textfield;
    }
    input[type="tel"]::-webkit-outer-spin-button,
    input[type="tel"]::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

    /* Submit Button Loading State */
    button[type="submit"]:disabled {
      opacity: 0.7;
      cursor: not-allowed;
    }

    /* Curriculum Table Styles */
    table { width: 100%; border-collapse: collapse; }
    table tbody tr { border-bottom: 1px solid rgba(43, 90, 140, 0.10); }
    table tbody tr:hover { background-color: rgba(43, 90, 140, 0.03); }
    table th, table td { padding: 1.25rem 1.5rem; text-align: left; }
    table td:first-child { min-width: 240px; }
    table td ul { margin: 0; padding-left: 1.25rem; }
    table li { color: #94a3b8; font-size: 0.875rem; line-height: 1.5; margin-bottom: 0.5rem; }

    .module-badge { display: inline-block; padding: 0.375rem 0.875rem; border-radius: 0.5rem; font-weight: 600; font-size: 0.75rem; white-space: nowrap; }
    .module-yellow { background-color: rgba(255, 140, 0, 0.18); color: #FF8C00; border: 1px solid rgba(255, 140, 0, 0.35); }
    .module-blue { background-color: rgba(27, 94, 143, 0.18); color: #1B5E8F; border: 1px solid rgba(27, 94, 143, 0.35); }
    .module-green { background-color: rgba(27, 94, 143, 0.18); color: #1B5E8F; border: 1px solid rgba(27, 94, 143, 0.35); }
    .module-orange { background-color: rgba(255, 140, 0, 0.18); color: #FF8C00; border: 1px solid rgba(255, 140, 0, 0.35); }
    .module-cyan { background-color: rgba(27, 94, 143, 0.18); color: #1B5E8F; border: 1px solid rgba(27, 94, 143, 0.35); }

    /* Mobile Card Styles */
    .curriculum-mobile-card { 
      background: linear-gradient(135deg, rgba(27, 94, 143, 0.08), rgba(255, 140, 0, 0.04));
      border: 1px solid rgba(27, 94, 143, 0.12);
      border-radius: 1rem;
      padding: 1.25rem;
      margin-bottom: 1rem;
    }
    .curriculum-mobile-card .module-name { 
      font-weight: 600; 
      color: #6e6363; 
      font-size: 0.95rem;
      margin-bottom: 0.75rem;
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }
    .curriculum-mobile-card .module-topics { 
      list-style: disc;
      padding-left: 1.25rem;
      margin: 0;
    }
    .curriculum-mobile-card li { 
      color: #94a3b8; 
      font-size: 0.8rem;
      line-height: 1.5;
      margin-bottom: 0.35rem;
    }