:root{
  --asa-orange:#F26A1B;
  --asa-orange-d:#d85710;
  --asa-navy:#13294B;
  --asa-navy-2:#1c3a69;
  --asa-red:#E12228;
  --asa-yellow:#F6B21B;
  --asa-teal:#1E9AA0;
  --asa-ink:#1f2a37;
  --asa-muted:#5d6b7a;
  --asa-bg:#ffffff;
  --asa-soft:#f5f8fc;
  --asa-soft-2:#eef3f9;
  --asa-line:#e5ecf3;
  --asa-lav:#efeafc;
  --asa-peach:#fdeede;
  --asa-mint:#e3f6ef;
  --asa-pink:#fce9ef;
  --asa-sky:#e7f1fe;
  --asa-shadow:0 10px 30px rgba(19,41,75,.10);
  --asa-shadow-sm:0 4px 14px rgba(19,41,75,.08);
  --asa-radius:16px;
  --asa-radius-lg:24px;
  --asa-wrap:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:'Poppins',system-ui,Arial,sans-serif;color:var(--asa-ink);
  background:var(--asa-bg);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;color:var(--asa-navy);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.5vw,3.1rem);font-weight:800}
h2{font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:700}
h3{font-size:1.25rem;font-weight:700}
p{margin:0 0 1rem}
.asa-script{font-family:'Caveat',cursive;color:var(--asa-orange)}

#loader-wrapper,#loader{display:none !important}

.asa-wrap{max-width:var(--asa-wrap);margin:0 auto;padding:0 20px}
.asa-section{padding:64px 0}
.asa-section.tint{background:var(--asa-soft)}
.asa-section.navy{background:var(--asa-navy);color:#fff}
.asa-section.navy h2,.asa-section.navy h3{color:#fff}
.asa-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--asa-peach);color:var(--asa-orange-d);
  font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;padding:7px 14px;border-radius:999px;margin-bottom:14px}
.asa-section-head{text-align:center;max-width:720px;margin:0 auto 40px}
.asa-section-head p{color:var(--asa-muted);margin-bottom:0}
.asa-center{text-align:center}
.asa-muted{color:var(--asa-muted)}

/* buttons */
.asa-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;
  font-weight:700;font-size:.98rem;padding:13px 26px;border-radius:999px;border:2px solid transparent;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap}
.asa-btn:hover{transform:translateY(-2px)}
.asa-btn-primary{background:var(--asa-orange);color:#fff;box-shadow:0 8px 20px rgba(242,106,27,.32)}
.asa-btn-primary:hover{background:var(--asa-orange-d);color:#fff}
.asa-btn-outline{background:transparent;color:var(--asa-navy);border-color:var(--asa-navy)}
.asa-btn-outline:hover{background:var(--asa-navy);color:#fff}
.asa-btn-light{background:#fff;color:var(--asa-navy)}
.asa-btn-ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.4)}
.asa-btn-ghost:hover{background:#fff;color:var(--asa-navy)}
.asa-btn-lg{padding:15px 32px;font-size:1.05rem}

/* top bar */
.asa-topbar{background:var(--asa-navy);color:#dfe7f2;font-size:.85rem}
.asa-topbar .asa-wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.asa-topbar a{color:#dfe7f2}
.asa-topbar a:hover{color:#fff}
.asa-topbar .tb-left{display:flex;gap:18px;flex-wrap:wrap}
.asa-topbar .tb-right{display:flex;gap:16px;align-items:center}
.asa-topbar i{color:var(--asa-yellow);margin-right:6px}

/* header */
.asa-header{position:sticky;top:0;z-index:900;background:#fff;box-shadow:0 2px 14px rgba(19,41,75,.07)}
.asa-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.asa-brand{display:flex;align-items:center;gap:12px}
.asa-brand .mark{width:46px;height:46px;border-radius:12px;background:var(--asa-navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.15rem;border:2px solid var(--asa-orange)}
.asa-logo-img{height:52px;width:auto;display:block}
.asa-brand .bname{font-family:'Poppins';font-weight:800;color:var(--asa-navy);font-size:1.22rem;line-height:1}
.asa-brand .btag{display:block;font-size:.72rem;color:var(--asa-orange);font-weight:600;letter-spacing:.02em}
.asa-menu{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0}
.asa-menu a{font-weight:600;color:var(--asa-navy);font-size:.98rem;padding:6px 0;position:relative}
.asa-menu a:hover,.asa-menu a.active{color:var(--asa-orange)}
.asa-menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;border-radius:3px;background:var(--asa-orange)}
.asa-nav-cta{display:flex;align-items:center;gap:10px}
.asa-nav-phone{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--asa-navy)}
.asa-nav-phone i{color:var(--asa-orange)}
.asa-nav-login{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-weight:700;font-size:.9rem;color:var(--asa-navy);padding:9px 15px;border:1.5px solid var(--asa-line);border-radius:999px;transition:border .15s ease,color .15s ease,background .15s ease}
.asa-nav-login:hover{border-color:var(--asa-orange);color:#fff;background:var(--asa-orange)}
.asa-nav-login:hover i{color:#fff}
.asa-nav-login i{color:var(--asa-orange)}
.asa-login-mobile{display:none}
.asa-burger{display:none;background:none;border:0;font-size:1.5rem;color:var(--asa-navy);cursor:pointer}

/* hero */
.asa-hero{position:relative;background:linear-gradient(120deg,#fff 0%,#fff 46%,var(--asa-sky) 100%);overflow:hidden}
.asa-hero::before{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:rgba(242,106,27,.10)}
.asa-hero .asa-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:60px;padding-bottom:60px;position:relative}
.asa-hero .badge-years{display:inline-flex;align-items:center;gap:8px;background:var(--asa-navy);color:#fff;font-weight:700;padding:8px 16px;border-radius:999px;font-size:.85rem;margin-bottom:16px}
.asa-hero .badge-years b{color:var(--asa-yellow)}
.asa-hero h1 span{color:var(--asa-orange)}
.asa-hero .lead{font-size:1.1rem;color:var(--asa-muted);margin-bottom:22px;max-width:540px}
.asa-hero .hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}
.asa-hero .hero-tags span{background:#fff;border:1px solid var(--asa-line);color:var(--asa-navy);font-weight:600;font-size:.85rem;padding:7px 14px;border-radius:999px;box-shadow:var(--asa-shadow-sm)}
.asa-hero .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.asa-hero-card{background:#fff;border-radius:var(--asa-radius-lg);box-shadow:var(--asa-shadow);padding:26px}
.asa-hero-card h3{color:var(--asa-navy)}
.hero-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.hero-stat{background:var(--asa-soft);border-radius:14px;padding:16px;text-align:center}
.hero-stat b{display:block;font-size:1.7rem;color:var(--asa-orange);font-weight:800;line-height:1}
.hero-stat small{color:var(--asa-muted);font-size:.8rem}

/* trust strip */
.asa-trust{background:var(--asa-navy);color:#fff}
.asa-trust .asa-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:26px 20px;text-align:center}
.asa-trust .t b{display:block;font-size:1.9rem;font-weight:800;color:var(--asa-yellow);line-height:1}
.asa-trust .t small{color:#cdd8e8;font-size:.85rem}

/* generic cards grid */
.asa-grid{display:grid;gap:22px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}

.asa-card{background:#fff;border:1px solid var(--asa-line);border-radius:var(--asa-radius);padding:26px;box-shadow:var(--asa-shadow-sm);transition:transform .15s,box-shadow .15s}
.asa-card:hover{transform:translateY(-4px);box-shadow:var(--asa-shadow)}
.asa-card .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:1.3rem;margin-bottom:14px;color:#fff}
.asa-card h3{margin-bottom:8px}
.asa-card p{color:var(--asa-muted);margin-bottom:0;font-size:.95rem}
.ic-orange{background:var(--asa-orange)}.ic-navy{background:var(--asa-navy)}.ic-red{background:var(--asa-red)}
.ic-teal{background:var(--asa-teal)}.ic-yellow{background:var(--asa-yellow)}.ic-purple{background:#7a5af0}

/* program cards (pastel) */
.prog-card{border-radius:var(--asa-radius);padding:26px;border:1px solid transparent;position:relative;overflow:hidden;transition:transform .15s}
.prog-card:hover{transform:translateY(-4px)}
.prog-card .tag{font-size:.78rem;font-weight:700;color:var(--asa-orange-d);text-transform:uppercase;letter-spacing:.04em}
.prog-card h3{margin:6px 0 10px}
.prog-card ul{margin:0;padding-left:18px;color:var(--asa-muted);font-size:.92rem}
.prog-card li{margin-bottom:4px}
.prog-card .pc-link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-weight:700;color:var(--asa-navy)}
.bg-lav{background:var(--asa-lav)}.bg-peach{background:var(--asa-peach)}.bg-mint{background:var(--asa-mint)}
.bg-pink{background:var(--asa-pink)}.bg-sky{background:var(--asa-sky)}.bg-soft{background:var(--asa-soft)}

/* usp list */
.usp-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.usp-item{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--asa-line);border-radius:12px;padding:14px 16px}
.usp-item i{color:var(--asa-teal);margin-top:3px}
.usp-item b{color:var(--asa-navy);font-size:.98rem}
.usp-item span{display:block;color:var(--asa-muted);font-size:.86rem}

/* ASA system (navy) */
.sys-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--asa-radius);padding:24px;text-align:center}
.sys-card .ic{margin:0 auto 14px}
.sys-card p{color:#cdd8e8;font-size:.92rem;margin-bottom:0}

/* results / toppers */
.topper-card{background:#fff;border:1px solid var(--asa-line);border-radius:var(--asa-radius);padding:20px;text-align:center;box-shadow:var(--asa-shadow-sm)}
.topper-card .ava{width:68px;height:68px;border-radius:50%;margin:0 auto 12px;background:var(--asa-navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.4rem;border:3px solid var(--asa-orange)}
.topper-card b{display:block;color:var(--asa-navy);font-size:1rem}
.topper-card .score{display:inline-block;margin-top:6px;background:var(--asa-peach);color:var(--asa-orange-d);font-weight:700;font-size:.82rem;padding:4px 12px;border-radius:999px}
.topper-card small{display:block;color:var(--asa-muted);font-size:.82rem;margin-top:6px}
.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:6px}
.result-stat{background:#fff;border-radius:var(--asa-radius);padding:28px;text-align:center;box-shadow:var(--asa-shadow-sm);border-top:4px solid var(--asa-orange)}
.result-stat b{display:block;font-size:2.6rem;font-weight:800;color:var(--asa-orange);line-height:1}
.result-stat span{color:var(--asa-navy);font-weight:600}
.result-stat small{display:block;color:var(--asa-muted);font-size:.82rem;margin-top:4px}

/* centres */
.centre-card{background:#fff;border:1px solid var(--asa-line);border-radius:var(--asa-radius);overflow:hidden;box-shadow:var(--asa-shadow-sm);display:flex;flex-direction:column}
.centre-card .ch{background:var(--asa-navy);color:#fff;padding:16px 20px;font-weight:700;display:flex;align-items:center;gap:10px}
.centre-card .ch i{color:var(--asa-yellow)}
.centre-card .cb{padding:20px;flex:1}
.centre-card .cb p{color:var(--asa-muted);font-size:.94rem}
.centre-card .cf{padding:0 20px 20px;display:flex;gap:10px;flex-wrap:wrap}

/* page hero (inner pages) */
.asa-page-hero{background:var(--asa-navy);color:#fff;padding:52px 0;position:relative;overflow:hidden}
.asa-page-hero::after{content:"";position:absolute;right:-80px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:rgba(242,106,27,.18)}
.asa-page-hero h1{color:#fff;margin-bottom:8px}
.asa-page-hero .crumb{color:#cdd8e8;font-size:.9rem}
.asa-page-hero .crumb a:hover{color:#fff}

/* enquiry form */
.asa-form{background:#fff;border-radius:var(--asa-radius-lg);box-shadow:var(--asa-shadow);padding:28px}
.asa-field{margin-bottom:16px}
.asa-field label{display:block;font-weight:600;font-size:.9rem;color:var(--asa-navy);margin-bottom:6px}
.asa-input,.asa-field select,.asa-field textarea{width:100%;border:1.5px solid var(--asa-line);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:.96rem;color:var(--asa-ink);background:#fff;transition:border .15s}
.asa-input:focus,.asa-field select:focus,.asa-field textarea:focus{outline:none;border-color:var(--asa-orange)}
.asa-field .err{color:var(--asa-red);font-size:.82rem;margin-top:4px;display:block}

/* CTA band */
.asa-cta-band{background:linear-gradient(120deg,var(--asa-orange),var(--asa-orange-d));color:#fff;border-radius:var(--asa-radius-lg);padding:40px;text-align:center}
.asa-cta-band h2{color:#fff}
.asa-cta-band p{color:#ffe9d9;max-width:560px;margin:0 auto 20px}

/* legal pages */
.asa-legal{max-width:880px;margin:0 auto}
.asa-legal h2{font-size:1.35rem;margin-top:32px;padding-bottom:8px;border-bottom:2px solid var(--asa-line)}
.asa-legal h3{font-size:1.05rem;margin-top:20px;color:var(--asa-navy)}
.asa-legal p,.asa-legal li{color:var(--asa-ink);font-size:.97rem}
.asa-legal ul{padding-left:20px}
.asa-legal .eff{color:var(--asa-muted);font-size:.9rem}
.asa-legal .box{background:var(--asa-soft);border-left:4px solid var(--asa-orange);border-radius:10px;padding:16px 18px;margin-top:18px}

/* footer */
.asa-footer{background:var(--asa-navy);color:#c6d2e3;padding:56px 0 0;font-size:.93rem}
.asa-footer h4{color:#fff;font-size:1.05rem;margin-bottom:16px}
.asa-footer a{color:#c6d2e3}
.asa-footer a:hover{color:var(--asa-yellow)}
.asa-footer .fcols{display:grid;grid-template-columns:1.4fr 1fr 1.3fr;gap:36px}
.asa-footer ul{list-style:none;margin:0;padding:0}
.asa-footer li{margin-bottom:9px}
.asa-footer .fbrand .bname{font-size:1.3rem;font-weight:800;color:#fff}
.asa-footer .fcontact i{color:var(--asa-orange);width:18px}
.asa-footer .fsocial{display:flex;gap:10px;margin-top:16px}
.asa-footer .fsocial a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff}
.asa-footer .fsocial a:hover{background:var(--asa-orange)}
.asa-footbar{margin-top:40px;border-top:1px solid rgba(255,255,255,.1);padding:18px 0;text-align:center;font-size:.85rem;color:#9fb0c7}
.asa-footbar a{color:#c6d2e3}

/* floating buttons */
.asa-float{position:fixed;right:18px;bottom:18px;z-index:950;display:flex;flex-direction:column;gap:12px}
.asa-float a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.35rem;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:transform .15s}
.asa-float a:hover{transform:scale(1.08)}
.asa-float .wa{background:#25d366}
.asa-float .cl{background:var(--asa-orange)}

/* utilities */
.mt-6{margin-top:6px}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mt-30{margin-top:30px}
.text-c{text-align:center}

/* scroll reveal + motion polish */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.asa-hero .reveal:nth-child(2){transition-delay:.12s}
.prog-card,.asa-card,.topper-card,.centre-card,.result-stat{transition:transform .2s ease,box-shadow .2s ease}
.result-stat:hover{transform:translateY(-4px);box-shadow:var(--asa-shadow)}
.hero-tags span{transition:transform .15s ease,box-shadow .15s ease}
.hero-tags span:hover{transform:translateY(-2px);box-shadow:var(--asa-shadow)}
.asa-float a{animation:asaFloat 2.6s ease-in-out infinite}
.asa-float .cl{animation-delay:.4s}
@keyframes asaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.asa-float a{animation:none}}

/* responsive */
@media (max-width:991px){
  .asa-hero .asa-wrap{grid-template-columns:1fr;padding-top:40px}
  .asa-menu,.asa-nav-phone,.asa-nav-cta .asa-btn,.asa-nav-login{display:none}
  .asa-login-mobile{display:block}
  .asa-burger{display:block}
  .asa-header.open .asa-menu{display:flex;flex-direction:column;align-items:flex-start;gap:4px;position:absolute;top:100%;left:0;right:0;background:#fff;padding:14px 20px;box-shadow:var(--asa-shadow);border-top:1px solid var(--asa-line)}
  .asa-header{position:relative}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .asa-trust .asa-wrap{grid-template-columns:repeat(2,1fr);gap:24px}
  .asa-footer .fcols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .asa-section{padding:46px 0}
  .g-2,.g-3,.g-4,.usp-list,.hero-stat-grid,.result-stats{grid-template-columns:1fr}
  .asa-trust .asa-wrap{grid-template-columns:1fr 1fr}
  .asa-topbar .tb-left{display:none}
  .asa-footer .fcols{grid-template-columns:1fr}
  .asa-cta-band{padding:28px}
  .asa-brand .btag{display:none}
}
