:root{
    --green:#0F6B4B;--green-dark:#0A4E37;--gold:#C8A24B;--gold-light:#E4C87A;
    --cream:#F8F5EE;--white:#FFFFFF;--text:#2E2E2E;--text-soft:#666666;--border:#E6E6E6;
    --grad-green:linear-gradient(135deg,#0F6B4B,#0A4E37);
    --grad-gold:linear-gradient(135deg,#C8A24B,#E4C87A);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Poppins',sans-serif;color:var(--text);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4{font-family:'Amiri',serif;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  .container{max-width:1180px;margin:0 auto;padding:0 24px;}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--green);font-weight:600;margin-bottom:14px;}
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--gold);display:inline-block;}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;border-radius:6px;font-weight:600;font-size:.95rem;letter-spacing:.3px;transition:.3s ease;border:1.5px solid transparent;cursor:pointer;}
  .btn-primary{background:var(--grad-green);color:var(--white);}
  .btn-primary:hover{background:var(--grad-gold);color:var(--green-dark);}
  .btn-outline{border-color:var(--green);color:var(--green-dark);background:transparent;}
  .btn-outline:hover{border-color:var(--gold);background:var(--gold);color:var(--white);}

  /* HEADER */
  header{position:sticky;top:0;z-index:1000;background:var(--white);border-bottom:1px solid var(--border);}
  .navwrap{display:flex;align-items:center;justify-content:space-between;height:84px;position:relative;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand-mark{width:44px;height:44px;border-radius:50%;background:var(--grad-green);display:flex;align-items:center;justify-content:center;color:var(--gold-light);font-family:'Amiri',serif;font-size:22px;font-weight:700;flex-shrink:0;}
  .brand-text h1{font-size:1.25rem;color:var(--green-dark);line-height:1.1;}
  .brand-text span{font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-soft);}
  nav.mainnav{display:flex;align-items:center;gap:38px;}
  nav.mainnav > ul{display:flex;gap:36px;align-items:center;}
  nav.mainnav > ul > li > a{font-size:.95rem;font-weight:500;color:var(--green-dark);position:relative;padding:6px 2px;display:inline-flex;align-items:center;gap:6px;}
  nav.mainnav > ul > li > a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold);transition:width .25s ease;}
  nav.mainnav > ul > li > a:hover{color:var(--gold);}
  nav.mainnav > ul > li > a:hover::after{width:100%;}
  .caret{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .2s;}
  .has-mega:hover .caret{transform:rotate(225deg);margin-top:3px;}
  .nav-cta{display:flex;align-items:center;}
  .menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;}
  .menu-toggle span{width:26px;height:2px;background:var(--green-dark);}
  .has-mega{position:static;}
  .mega{position:absolute;left:0;right:0;top:100%;background:var(--white);border-top:1px solid var(--border);box-shadow:0 24px 40px -18px rgba(10,78,55,.18);display:grid;grid-template-columns:repeat(3,1fr) 260px;gap:0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s ease;}
  .has-mega:hover .mega{opacity:1;visibility:visible;transform:translateY(0);}
  .mega-col{padding:38px 34px;border-right:1px solid var(--border);}
  .mega-col:last-child{border-right:none;}
  .mega-col h4{font-family:'Poppins',sans-serif;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:18px;}
  .mega-col ul li{margin-bottom:12px;}
  .mega-col ul li a{font-size:.92rem;color:var(--text);display:flex;flex-direction:column;gap:2px;}
  .mega-col ul li a strong{color:var(--green-dark);font-weight:600;}
  .mega-col ul li a small{color:var(--text-soft);font-size:.78rem;}
  .mega-col ul li a:hover strong{color:var(--gold);}
  .mega-feature{background:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:38px;}
  .mega-feature h4{color:var(--green-dark);font-family:'Amiri',serif;font-size:1.25rem;margin-bottom:10px;}
  .mega-feature p{font-size:.86rem;color:var(--text-soft);margin-bottom:18px;}

  .breadcrumb{background:var(--cream);border-bottom:1px solid var(--border);padding:16px 0;}
  .breadcrumb .container{display:flex;gap:8px;align-items:center;font-size:.85rem;color:var(--text-soft);}
  .breadcrumb a{color:var(--green);font-weight:500;}
  .breadcrumb a:hover{color:var(--gold);}
  .breadcrumb span.sep{color:var(--gold);}
  .breadcrumb span.current{color:var(--text-soft);}

  /* PAGE HEAD */
  .page-head{background:var(--cream);padding:56px 0 48px;text-align:center;}
  .page-head h1{font-size:2.3rem;color:var(--green-dark);margin-bottom:12px;}
  .page-head p{color:var(--text-soft);max-width:520px;margin:0 auto;}

  /* FORM SECTION */
  .form-section{padding:70px 0 100px;}
  .form-wrap{max-width:720px;margin:0 auto;}

  .stepper{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:48px;}
  .step{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;width:180px;}
  .step .circle{
    width:42px;height:42px;border-radius:50%;background:var(--white);border:2px solid var(--border);
    display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-soft);
    font-family:'Poppins',sans-serif;transition:.3s ease;
  }
  .step.active .circle,.step.done .circle{background:var(--grad-green);border-color:transparent;color:var(--white);}
  .step span.label{font-size:.8rem;color:var(--text-soft);font-weight:600;text-align:center;}
  .step.active span.label,.step.done span.label{color:var(--green-dark);}
  .step-line{flex:1;height:2px;background:var(--border);margin:0 -1px 30px;max-width:120px;}
  .step-line.done{background:var(--grad-green);}

  .form-card{
    background:var(--white);border:1px solid var(--border);border-radius:18px;
    padding:44px 44px;box-shadow:0 30px 55px -30px rgba(10,78,55,.18);
  }
  .form-step{display:none;}
  .form-step.active{display:block;}
  .form-step h2{font-size:1.4rem;color:var(--green-dark);margin-bottom:6px;}
  .form-step .sub{color:var(--text-soft);font-size:.88rem;margin-bottom:30px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
  .field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
  .field.full{grid-column:1/-1;}
  .field label{font-size:.85rem;font-weight:600;color:var(--green-dark);}
  .field input,.field select,.field textarea{
    border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-family:'Poppins',sans-serif;
    font-size:.9rem;color:var(--text);background:var(--cream);width:100%;
  }
  .field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8A24B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;}
  .field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold-light);border-color:var(--gold);}
  .field-phone .iti{width:100%;}
  .field-phone .iti__flag-container{z-index:5;}
  .field-phone .iti--separate-dial-code .iti__selected-flag{background:rgba(15,107,75,.06);border-radius:8px 0 0 8px;}
  .field-phone .iti__country-list{
    z-index:20;border-radius:10px;border:1px solid var(--border);
    box-shadow:0 18px 36px -18px rgba(10,78,55,.35);max-height:240px;
  }
  .field-phone input#whatsapp1{padding-left:12px;letter-spacing:.2px;}
  .field-phone input#whatsapp1.is-invalid{border-color:#d6453d;outline:2px solid rgba(214,69,61,.2);}
  .field-hint{margin:0;font-size:.78rem;color:#a3271d;min-height:1.1em;}
  .field-hint[hidden]{display:none;}
  .field-help{margin:0;font-size:.78rem;color:var(--text-soft);}
  .field-error{margin:0;font-size:.78rem;color:#a3271d;min-height:1.1em;}
  .field-error[hidden]{display:none;}
  .field input.is-invalid,
  .field select.is-invalid,
  .field textarea.is-invalid{border-color:#d6453d;outline:2px solid rgba(214,69,61,.2);}

  /* Select2 — Preferred Course (and other searchable selects) */
  .field .select2-container{width:100% !important;display:block;}
  .field .select2-container .select2-selection--single{
    box-sizing:border-box;
    height:48px !important;
    min-height:48px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--cream);
    padding:0 40px 0 14px;
    display:flex !important;
    align-items:center;
    font-family:'Poppins',sans-serif;
  }
  .field .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height:1.4 !important;
    padding:0 !important;
    color:var(--text);
    font-size:.9rem;
  }
  .field .select2-container--default .select2-selection--single .select2-selection__placeholder{
    color:var(--text-soft);
  }
  .field .select2-container--default .select2-selection--single .select2-selection__arrow{
    height:46px !important;
    top:1px;
    right:8px;
  }
  .field .select2-container--default .select2-selection--single .select2-selection__clear{
    margin-right:18px;
    font-size:16px;
  }
  .field .select2-container--default.select2-container--focus .select2-selection--single,
  .field .select2-container--default.select2-container--open .select2-selection--single{
    border-color:var(--gold);
    outline:2px solid var(--gold-light);
  }
  .field .select2-container.is-invalid .select2-selection--single{
    border-color:#d6453d;outline:2px solid rgba(214,69,61,.2);
  }
  .select2-dropdown{
    border-color:var(--border);
    border-radius:10px;
    overflow:hidden;
    z-index:40;
  }
  .select2-search--dropdown .select2-search__field{
    border:1px solid var(--border);
    border-radius:8px;
    padding:8px 10px;
    font-family:'Poppins',sans-serif;
    width:100% !important;
    box-sizing:border-box;
  }
  .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
    background:var(--green);color:#fff;
  }
  .select2-results__option{font-size:.9rem;padding:8px 12px;}
  .iti__country-list{z-index:30;}
  .iti__search-input{
    width:calc(100% - 16px)!important;margin:8px!important;padding:8px 10px!important;
    border:1px solid var(--border)!important;border-radius:8px!important;
    font-family:'Poppins',sans-serif!important;box-sizing:border-box!important;
  }

  .radio-group{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;}
  .radio-option{
    border:1.5px solid var(--border);border-radius:10px;padding:16px;text-align:center;cursor:pointer;
    font-size:.88rem;font-weight:600;color:var(--text);transition:.2s ease;position:relative;
  }
  .radio-option input{position:absolute;opacity:0;inset:0;cursor:pointer;}
  .radio-option:has(input:checked){border-color:var(--gold);background:var(--cream);color:var(--green-dark);}
  .radio-option:hover{border-color:var(--gold-light);}

  .form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px;}
  .form-actions.end{justify-content:flex-end;}
  .form-error{background:#fff1f0;border:1px solid #f3c2bd;border-radius:8px;color:#a3271d;padding:12px 14px;margin-bottom:24px;font-size:.85rem;}

  .success-modal{position:fixed;inset:0;z-index:2000;background:rgba(4,34,24,.7);display:grid;place-items:center;padding:24px;}
  .success-card{width:min(500px,100%);background:var(--white);border-radius:18px;padding:40px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.3);}
  .success-icon{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--grad-green);color:var(--white);font-size:1.8rem;font-weight:700;}
  .success-card h2{color:var(--green-dark);font-size:1.7rem;margin-bottom:10px;}
  .success-card > p{color:var(--text-soft);font-size:.9rem;}
  .success-reference{margin:22px 0 8px;background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:14px;}
  .success-reference span{display:block;color:var(--text-soft);font-size:.72rem;text-transform:uppercase;letter-spacing:1px;}
  .success-reference strong{display:block;color:var(--green-dark);font-size:1.15rem;margin-top:3px;}
  .success-contact{margin-bottom:22px;}

  /* FOOTER */
  footer{background:var(--green-dark);color:var(--white);padding:70px 0 0;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:50px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.12);}
  .footer-brand .brand-text h1{color:var(--white);}
  .footer-brand p{color:rgba(255,255,255,.65);font-size:.88rem;margin:18px 0 22px;max-width:280px;}
  .social{display:flex;gap:10px;}
  .social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;transition:.3s;}
  .social a:hover{background:var(--grad-gold);border-color:transparent;}
  .social a svg{width:16px;height:16px;stroke:var(--white);}
  footer h4{font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-light);margin-bottom:22px;}
  footer ul li{margin-bottom:12px;}
  footer ul li a{color:rgba(255,255,255,.75);font-size:.9rem;}
  footer ul li a:hover{color:var(--gold-light);}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:.82rem;color:rgba(255,255,255,.55);flex-wrap:wrap;gap:12px;}
  .footer-bottom a{color:var(--gold-light);}

  @media (max-width:960px){
    .mega{grid-template-columns:1fr 1fr;}
    .mega-feature{grid-column:1/-1;}
    .footer-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:720px){
    nav.mainnav > ul{position:absolute;top:84px;left:0;right:0;background:var(--white);flex-direction:column;align-items:flex-start;gap:0;box-shadow:0 20px 30px -18px rgba(10,78,55,.2);max-height:0;overflow:hidden;transition:max-height .3s ease;}
    nav.mainnav.open > ul{max-height:600px;}
    nav.mainnav > ul > li{width:100%;border-bottom:1px solid var(--border);}
    nav.mainnav > ul > li > a{padding:16px 24px;width:100%;}
    .mega{position:static;box-shadow:none;grid-template-columns:1fr;display:none;opacity:1;visibility:visible;transform:none;}
    .has-mega.open .mega{display:grid;}
    .mega-col{border-right:none;border-top:1px solid var(--border);padding:24px;}
    .menu-toggle{display:flex;}
    .form-row,.radio-group{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .form-card{padding:30px 24px;}
    .step{width:110px;}
    .step span.label{font-size:.7rem;}
  }
