/* Wallahs Academy — Module 1: Admissions Information */
:root{
  --wa-primary:#614A96;
  --wa-primary-dark:#4a3776;
  --wa-tint:#f0ecf7;
  --wa-tint-2:#e3dcf0;
  --wa-bg:#faf9fc;
  --wa-text:#25232b;
  --wa-muted:#5f5b6b;
  --wa-gold:#c9a24b; /* small accent, used sparingly */
  --bs-primary:#614A96;
  --bs-primary-rgb:97,74,150;
  --bs-body-color:var(--wa-text);
  --bs-body-font-family:'Figtree',system-ui,sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{color:var(--wa-text);font-size:1.025rem;line-height:1.65}
h1,h2,h3,.brand-name{font-family:'Newsreader',Georgia,serif;font-weight:600;letter-spacing:-.01em;color:var(--wa-text)}
h2{font-size:clamp(1.8rem,3.5vw,2.5rem);line-height:1.15}
.lead-narrow{max-width:38rem}
.section-pad{padding:5rem 0}
.bg-soft{background:var(--wa-bg)}
:focus-visible{outline:3px solid var(--wa-gold);outline-offset:2px}

/* Buttons */
.btn{border-radius:.6rem;font-weight:600;padding:.7rem 1.4rem;min-height:46px}
.btn-primary{--bs-btn-bg:var(--wa-primary);--bs-btn-border-color:var(--wa-primary);--bs-btn-hover-bg:var(--wa-primary-dark);--bs-btn-hover-border-color:var(--wa-primary-dark);--bs-btn-active-bg:var(--wa-primary-dark);--bs-btn-active-border-color:var(--wa-primary-dark)}
.btn-outline-primary{--bs-btn-color:var(--wa-primary);--bs-btn-border-color:var(--wa-primary);--bs-btn-hover-bg:var(--wa-primary);--bs-btn-hover-border-color:var(--wa-primary);--bs-btn-active-bg:var(--wa-primary-dark)}
.btn-apply{box-shadow:0 6px 18px rgba(97,74,150,.28)}
.btn-white{background:#fff;color:var(--wa-primary);border-color:#fff}
.btn-white:hover{background:var(--wa-tint);color:var(--wa-primary-dark)}

/* Navbar */
.site-nav{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--wa-tint-2)}
.brand-mark{width:42px;height:42px;border-radius:.6rem;background:var(--wa-primary);color:#fff;display:inline-grid;place-items:center;font-family:'Newsreader',serif;font-weight:700;font-size:1.4rem}
.brand-name{font-size:1.3rem;color:var(--wa-primary)}
.site-nav .nav-link{color:var(--wa-text);font-weight:500;padding:.6rem 1rem}
.site-nav .nav-link:hover,.site-nav .nav-link.active{color:var(--wa-primary)}
.site-nav .nav-link.active{box-shadow:inset 0 -2px 0 var(--wa-primary)}

/* Hero */
.hero{padding:4.5rem 0 5rem;background:linear-gradient(180deg,var(--wa-tint) 0,#fff 100%)}
.hero-label{display:inline-block;font-weight:700;font-size:.8rem;letter-spacing:.12em;color:var(--wa-primary);background:#fff;border:1px solid var(--wa-tint-2);padding:.35rem .8rem;border-radius:2rem}
.hero h1{font-size:clamp(2.4rem,5.5vw,3.9rem);line-height:1.05;margin:1.1rem 0}
.hero p.lead{color:var(--wa-muted);max-width:33rem}
.hero-visual{position:relative;min-height:400px}
.letter{position:absolute;background:#fff;border:1px solid var(--wa-tint-2);border-radius:.9rem;box-shadow:0 18px 40px rgba(97,74,150,.14)}
.letter-back{inset:20px 40px 60px 70px;transform:rotate(4deg);background:var(--wa-tint)}
.letter-front{inset:0 70px 40px 20px;padding:1.8rem;transform:rotate(-2deg)}
.letter-front .seal{width:56px;height:56px;border-radius:50%;background:var(--wa-primary);color:#fff;display:grid;place-items:center;font-size:1.6rem;box-shadow:0 0 0 5px var(--wa-tint-2)}
.line{height:9px;border-radius:5px;background:var(--wa-tint-2);margin-top:.7rem}
.line.w60{width:60%}.line.w80{width:80%}.line.w40{width:40%}
.stamp{position:absolute;right:1.4rem;bottom:1.2rem;border:2px solid var(--wa-gold);color:#9a7626;border-radius:.5rem;padding:.2rem .7rem;font-weight:700;transform:rotate(-8deg);font-size:.85rem}
.info-card{position:absolute;background:#fff;border:1px solid var(--wa-tint-2);border-left:4px solid var(--wa-primary);border-radius:.7rem;padding:.7rem 1rem;box-shadow:0 10px 26px rgba(37,35,43,.1);min-width:150px}
.info-card small{color:var(--wa-muted);display:block;line-height:1.2}
.info-card strong{font-size:1.05rem;color:var(--wa-primary)}
.ic-1{right:0;top:20px}.ic-2{left:0;bottom:70px}.ic-3{right:20px;bottom:0}

/* Process */
.process{position:relative}
.step{text-align:center;position:relative;padding:0 .75rem}
.step-num{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:#fff;border:2px solid var(--wa-primary);color:var(--wa-primary);display:grid;place-items:center;font-family:'Newsreader',serif;font-size:1.4rem;font-weight:700;position:relative;z-index:1}
.step:first-child .step-num{background:var(--wa-primary);color:#fff}
.step h3{font-size:1.15rem;font-family:'Figtree',sans-serif;font-weight:700}
.step p{color:var(--wa-muted);font-size:.95rem;margin:0}
@media(min-width:992px){
  .process::before{content:"";position:absolute;top:32px;left:10%;right:10%;border-top:2px dashed var(--wa-tint-2);}
}
@media(max-width:991.98px){
  .step{display:flex;gap:1rem;text-align:left;padding:0 0 1.5rem;position:relative}
  .step .step-num{margin:0;flex:0 0 52px;width:52px;height:52px;font-size:1.15rem}
  .step:not(:last-child)::after{content:"";position:absolute;left:25px;top:52px;bottom:0;border-left:2px dashed var(--wa-tint-2)}
}

/* Requirements */
.req-list{list-style:none;padding:0;margin:0}
.req-list li{display:flex;gap:.8rem;align-items:flex-start;padding:.85rem 0;border-bottom:1px solid var(--wa-tint-2)}
.req-list i{color:var(--wa-primary);font-size:1.2rem;line-height:1.5}
.info-panel{background:var(--wa-tint);border:1px solid var(--wa-tint-2);border-radius:1rem;padding:2rem}
.info-panel dt{font-size:.85rem;color:var(--wa-muted);font-weight:600}
.info-panel dd{font-weight:600;margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--wa-tint-2)}
.info-panel dd:last-of-type{border:0;margin-bottom:1.4rem;padding-bottom:0}

/* Programmes */
.prog-card{height:100%;background:#fff;border:1px solid var(--wa-tint-2);border-radius:1rem;padding:1.6rem;transition:border-color .2s,box-shadow .2s}
.prog-card:hover{border-color:var(--wa-primary);box-shadow:0 12px 28px rgba(97,74,150,.12)}
.prog-icon{width:52px;height:52px;border-radius:.8rem;background:var(--wa-tint);color:var(--wa-primary);display:grid;place-items:center;font-size:1.5rem;margin-bottom:1rem}
.prog-card h3{font-size:1.3rem}
.prog-card p{color:var(--wa-muted);font-size:.97rem}
.prog-card a{font-weight:600;color:var(--wa-primary);text-decoration:none}
.prog-card a:hover{text-decoration:underline}

/* FAQ */
.accordion{--bs-accordion-border-color:var(--wa-tint-2);--bs-accordion-active-bg:var(--wa-tint);--bs-accordion-active-color:var(--wa-primary-dark);--bs-accordion-btn-focus-box-shadow:0 0 0 3px rgba(97,74,150,.3)}
.accordion-button{font-weight:600;padding:1.1rem 1.25rem}
.customize{display:inline-block;font-size:.8rem;background:#fff6dd;color:#7a5c12;border:1px dashed var(--wa-gold);border-radius:.4rem;padding:.1rem .5rem;margin-top:.5rem}

/* CTA + footer */
.cta{background:var(--wa-primary);color:#fff;padding:4.5rem 0;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;border:50px solid rgba(255,255,255,.07)}
.cta h2{color:#fff}
.cta p{color:#e8e2f4;font-size:1.15rem}
.site-footer{background:#2a2136;color:#cfc8dc;padding:3.5rem 0 1.5rem}
.site-footer h3{font-family:'Figtree',sans-serif;font-size:.95rem;font-weight:700;color:#fff;margin-bottom:1rem}
.site-footer a{color:#cfc8dc;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:.45rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1.2rem;font-size:.9rem}

@media(max-width:767.98px){
  .section-pad{padding:3.5rem 0}
  .hero{padding:2.5rem 0 3.5rem}
  .hero-visual{min-height:330px;margin-top:1.5rem}
  .letter-front{inset:0 40px 40px 0}.letter-back{inset:20px 10px 60px 50px}
  .ic-1{right:0}.ic-3{right:0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
