/* =========================================================
   ছাত্রবন্ধু একাডেমি — Design System
   Colors: navy #0B1E4B / #0D2357 · royal #1E5EF5 · gold #FFC42D
           green #22C55E · bg #F4F7FC · ink #16233F
   Type:   Hind Siliguri (Bengali/body) · Manrope (numbers/EN)
   ========================================================= */

:root{
  --navy:#0B1E4B;
  --navy-2:#0D2357;
  --navy-3:#122E6E;
  --blue:#1E5EF5;
  --blue-d:#1848C4;
  --gold:#FFC42D;
  --gold-d:#E9AC12;
  --green:#22C55E;
  --green-d:#189A47;
  --bg:#F4F7FC;
  --ink:#16233F;
  --muted:#5A6B8C;
  --line:#E3EAF6;
  --white:#FFFFFF;
  --r-lg:22px;
  --r-md:16px;
  --r-sm:12px;
  --shadow-sm:0 2px 10px rgba(13,35,87,.07);
  --shadow-md:0 10px 30px rgba(13,35,87,.10);
  --shadow-lg:0 18px 50px rgba(13,35,87,.16);
  --font-bn:'Hind Siliguri',sans-serif;
  --font-en:'Manrope','Hind Siliguri',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-bn);
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
.container{width:min(1200px,92%);margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-weight:700;font-size:1rem;
  padding:.85rem 1.6rem;border-radius:999px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.btn-gold{background:var(--gold);color:var(--navy);box-shadow:0 6px 18px rgba(255,196,45,.4)}
.btn-gold:hover{background:#ffd058}
.btn-green{background:var(--green);color:#fff;box-shadow:0 6px 18px rgba(34,197,94,.35)}
.btn-green:hover{background:#2ad46b}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 6px 18px rgba(30,94,245,.35)}
.btn-blue:hover{background:#2e6bff}
.btn-navy{background:var(--navy);color:#fff}
.btn-lg{padding:1rem 1.9rem;font-size:1.06rem}
.btn-block{width:100%}
.btn .ic{width:20px;height:20px}
.btn .arrow{transition:transform .18s}
.btn:hover .arrow{transform:translateX(4px)}

/* ---------- Headings ---------- */
.sec-title{font-size:clamp(1.5rem,3.2vw,2.15rem);font-weight:700;color:var(--navy)}
.sec-sub{color:var(--muted);margin-top:.35rem;font-size:1.02rem}
.hl-blue{color:var(--blue)}
.hl-gold{color:var(--gold)}
.hl-gold-d{color:var(--gold-d)}
.sec-line{display:block;width:64px;height:4px;border-radius:4px;margin-top:.6rem;
  background:linear-gradient(90deg,var(--blue),var(--gold))}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}
.sec-head.center{flex-direction:column;align-items:center;text-align:center}
.sec-head.center .sec-line{margin-inline:auto}
.link-pill{
  background:var(--white);border:1.5px solid var(--line);color:var(--blue);
  font-weight:600;padding:.5rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-sm);
  transition:.18s;
}
.link-pill:hover{border-color:var(--blue);box-shadow:var(--shadow-md)}
.section{padding:4.2rem 0}
.section-tint{background:linear-gradient(180deg,#eef3fb 0%,var(--bg) 100%)}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{animation:none!important;transition:none!important}
}

/* =========================================================
   1. HEADER
   ========================================================= */
.site-header{
  position:sticky;top:0;z-index:60;background:var(--white);
  box-shadow:var(--shadow-sm);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0}
.brand{display:flex;align-items:center;gap:.7rem;min-width:0}
.brand-logo{width:56px;height:56px;border-radius:14px;object-fit:cover;flex:none}
.brand-text{display:flex;flex-direction:column;min-width:0}
.brand-name{font-size:1.25rem;font-weight:700;color:var(--navy);line-height:1.25}
.brand-tag{font-size:.74rem;color:var(--muted);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.header-contact{display:flex;align-items:center;gap:1.1rem}
.header-phone{display:flex;align-items:center;gap:.6rem}
.phone-ring{
  width:44px;height:44px;border-radius:50%;flex:none;
  display:grid;place-items:center;color:var(--blue);
  border:2px solid var(--line);background:#f2f6ff;
}
.phone-ring svg{width:20px;height:20px}
.phone-nums{display:flex;flex-direction:column;line-height:1.25}
.phone-nums strong{font-family:var(--font-en);font-size:1.02rem;color:var(--navy)}
.phone-nums small{color:var(--muted);font-size:.76rem}

.hamburger{display:none;flex-direction:column;gap:5px;padding:.55rem;border-radius:10px;border:1.5px solid var(--line)}
.hamburger span{width:22px;height:2.5px;background:var(--navy);border-radius:2px;transition:.2s}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.main-nav{border-top:1px solid var(--line);background:var(--white)}
.nav-inner{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none}
.nav-inner::-webkit-scrollbar{display:none}
.nav-link{
  padding:.7rem 1.05rem;font-weight:600;font-size:.95rem;color:var(--ink);
  border-radius:12px;margin:.4rem 0;white-space:nowrap;transition:.15s;
}
.nav-link:hover{background:#eef3ff;color:var(--blue)}
.nav-link.active{background:var(--navy);color:#fff}

/* ---------- Mobile drawer ---------- */
.drawer-overlay{position:fixed;inset:0;background:rgba(8,18,45,.55);z-index:70;backdrop-filter:blur(2px)}
.mobile-drawer{
  position:fixed;top:0;right:0;height:100dvh;width:min(320px,86vw);z-index:80;
  background:var(--white);box-shadow:-12px 0 40px rgba(8,18,45,.25);
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .28s ease;
}
.mobile-drawer.open{transform:none}
.drawer-head{display:flex;align-items:center;gap:.7rem;padding:1rem;border-bottom:1px solid var(--line)}
.drawer-head img{border-radius:10px}
.drawer-head strong{display:block;color:var(--navy);font-size:1rem;line-height:1.2}
.drawer-head small{color:var(--muted);font-family:var(--font-en);font-size:.68rem;letter-spacing:.06em}
.drawer-close{margin-left:auto;width:38px;height:38px;border-radius:50%;background:#f1f5fd;color:var(--navy);font-size:1rem}
.drawer-links{display:flex;flex-direction:column;padding:.6rem;overflow-y:auto}
.drawer-links a{padding:.8rem 1rem;border-radius:12px;font-weight:600;color:var(--ink)}
.drawer-links a:hover{background:#eef3ff;color:var(--blue)}
.drawer-cta{margin-top:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;border-top:1px solid var(--line)}

/* =========================================================
   2. HERO
   ========================================================= */
.hero{
  position:relative;color:#fff;overflow:hidden;
  background:
    radial-gradient(900px 480px at 85% -10%,rgba(60,110,240,.55),transparent 60%),
    radial-gradient(700px 420px at -10% 110%,rgba(30,94,245,.4),transparent 60%),
    linear-gradient(135deg,#0D2357 0%,#0B1E4B 55%,#091638 100%);
  padding:3.6rem 0 0;
}
.hero-deco{position:absolute;inset:0;pointer-events:none}
.dot-grid{
  position:absolute;width:120px;height:120px;opacity:.35;
  background-image:radial-gradient(rgba(255,255,255,.6) 1.5px,transparent 1.5px);
  background-size:16px 16px;
}
.dg-1{top:40px;left:4%}
.dg-2{bottom:120px;right:6%}
.paper-plane{position:absolute;top:70px;left:46%;width:64px;opacity:.8}

.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center;position:relative}
.hero-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  padding:.42rem 1rem;border-radius:999px;font-size:.9rem;font-weight:600;
  backdrop-filter:blur(4px);
}
.hero h1{
  font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:700;line-height:1.22;
  margin:1.1rem 0 1rem;letter-spacing:.005em;
}
.hero .hl-gold{position:relative}
.hero .hl-gold::after{
  content:"";position:absolute;left:0;right:0;bottom:4px;height:10px;
  background:rgba(255,196,45,.28);border-radius:6px;z-index:-1;
}
.hero-sub{max-width:34rem;color:#cfdcf8;font-size:1.06rem;margin-bottom:1.6rem}
.hero-btns{display:flex;gap:.9rem;flex-wrap:wrap}

.hero-visual{position:relative;justify-self:center}
.hero-illus{width:min(420px,100%);filter:drop-shadow(0 24px 44px rgba(0,0,0,.35))}
.float-a,.float-b,.float-c{animation:bob 4s ease-in-out infinite}
.float-b{animation-delay:1.2s}.float-c{animation-delay:2.2s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-photo{width:min(420px,100%);border-radius:24px;object-fit:cover;box-shadow:var(--shadow-lg)}

.hero-trust-card{
  position:absolute;bottom:20px;left:-24px;
  background:var(--white);color:var(--ink);border-radius:16px;
  padding:.8rem 1.1rem;display:flex;align-items:center;gap:.7rem;
  box-shadow:var(--shadow-lg);
}
.htc-ic{width:42px;height:42px;border-radius:12px;background:#eaf1ff;display:grid;place-items:center;font-size:1.2rem}
.hero-trust-card strong{font-family:var(--font-en);font-size:1.15rem;color:var(--navy);display:block;line-height:1.15}
.hero-trust-card small{color:var(--muted);font-size:.78rem}

.hero-trust{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  margin-top:2.6rem;padding-bottom:4.4rem;position:relative;
}
.hero-trust li{display:flex;gap:.7rem;align-items:flex-start}
.ht-ic{
  width:44px;height:44px;flex:none;border-radius:12px;font-size:1.25rem;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  display:grid;place-items:center;
}
.hero-trust strong{display:block;font-size:.98rem}
.hero-trust small{color:#b9c9ec;font-size:.82rem}
.hero-wave{position:absolute;bottom:-1px;left:0;width:100%;height:70px}

/* =========================================================
   3. COURSE FINDER
   ========================================================= */
.finder-wrap{margin-top:-1.5rem;position:relative;z-index:5}
.finder-card{
  background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-md);
  padding:2.2rem clamp(1.2rem,3vw,2.4rem);text-align:center;
  border:1px solid var(--line);
}
.finder-form{
  display:grid;grid-template-columns:repeat(4,1fr) auto;gap:1rem;
  margin-top:1.8rem;text-align:left;align-items:end;
}
.ff-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem;color:var(--navy)}
.ff-field select{
  width:100%;padding:.85rem 1rem;border-radius:14px;border:1.5px solid var(--line);
  font-family:inherit;font-size:.95rem;color:var(--ink);background:#fbfcff;
  transition:border .15s, box-shadow .15s;appearance:auto;
}
.ff-field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,94,245,.15)}
.ff-field select.err{border-color:#e5484d;box-shadow:0 0 0 3px rgba(229,72,77,.12)}
.finder-btn{padding:.9rem 1.7rem;border-radius:14px}
.finder-msg{margin-top:1.1rem;font-weight:600;min-height:1.4em}
.finder-msg.ok{color:var(--green-d)}
.finder-msg.bad{color:#d33}

/* =========================================================
   4. STATS STRIP
   ========================================================= */
.stats-strip{
  margin-top:2.6rem;border-radius:var(--r-lg);color:#fff;
  background:linear-gradient(120deg,#0D2357 0%,#1848C4 100%);
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  padding:1.7rem clamp(1rem,3vw,2.4rem);box-shadow:var(--shadow-md);
  position:relative;overflow:hidden;
}
.stats-strip::after{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;
  border:30px solid rgba(255,255,255,.06);
}
.stat{display:flex;align-items:center;gap:.9rem;position:relative}
.stat + .stat::before{
  content:"";position:absolute;left:-0.6rem;top:12%;height:76%;width:1px;
  background:rgba(255,255,255,.18);
}
.stat-ic{width:52px;height:52px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:1.5rem}
.si-blue{background:rgba(90,150,255,.22)}
.si-violet{background:rgba(167,124,255,.22)}
.si-gold{background:rgba(255,196,45,.2)}
.si-green{background:rgba(62,201,126,.2)}
.stat strong{font-family:var(--font-en);font-size:clamp(1.4rem,2.4vw,1.85rem);display:block;line-height:1.15}
.stat small{color:#c4d3f2;font-size:.86rem}

/* =========================================================
   5. COURSES
   ========================================================= */
.course-scroller,.testi-scroller{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);
  gap:1.1rem;overflow-x:auto;padding:.4rem .2rem 1rem;
  scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;
}
.course-scroller::-webkit-scrollbar,.testi-scroller::-webkit-scrollbar{height:6px}
.course-scroller::-webkit-scrollbar-thumb,.testi-scroller::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
.course-card{
  scroll-snap-align:start;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);
  padding:1.6rem 1.3rem;text-align:center;box-shadow:var(--shadow-sm);
  transition:transform .2s, box-shadow .2s;
}
.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.cc-ic,.wc-ic,.step-ic{
  width:62px;height:62px;border-radius:18px;display:grid;place-items:center;
  font-size:1.7rem;margin-inline:auto;
}
.ic-blue{background:#e7efff}
.ic-red{background:#ffe9ec}
.ic-teal{background:#e2f7f1}
.ic-gold{background:#fff3d6}
.ic-violet{background:#f0e9ff}
.ic-green{background:#e4f8ec}
.course-card h3{font-family:var(--font-en);font-size:1.12rem;color:var(--navy);margin-top:.9rem}
.cc-deg{font-family:var(--font-en);font-weight:600;font-size:.88rem;color:var(--muted);margin-top:.2rem}
.cc-note{font-size:.85rem;color:var(--muted);margin:.2rem 0 1rem}
.cc-btn{
  display:inline-block;font-weight:600;font-size:.88rem;
  padding:.5rem 1.05rem;border-radius:999px;transition:.15s;
}
.cb-blue{background:#e7efff;color:var(--blue-d)}
.cb-red{background:#ffe9ec;color:#d13a4d}
.cb-teal{background:#e2f7f1;color:#0f8f6f}
.cb-gold{background:#fff3d6;color:#b07f06}
.cb-violet{background:#f0e9ff;color:#6b3fd6}
.cb-green{background:#e4f8ec;color:var(--green-d)}
.cc-btn:hover{filter:brightness(.94);transform:translateX(2px)}

.scroller-nav{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.4rem}
.sn-btn{
  width:42px;height:42px;border-radius:50%;background:var(--white);
  border:1.5px solid var(--line);color:var(--navy);font-size:1.3rem;
  box-shadow:var(--shadow-sm);transition:.15s;
}
.sn-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}

/* =========================================================
   6. WHY US
   ========================================================= */
.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem}
.why-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);
  padding:1.6rem 1.2rem;text-align:center;box-shadow:var(--shadow-sm);
  transition:transform .2s, box-shadow .2s;
}
.why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.why-card h3{font-size:1.03rem;color:var(--navy);margin-top:.9rem}
.why-card p{font-size:.88rem;color:var(--muted);margin-top:.4rem}

/* =========================================================
   7 & 11. CTA BANNERS
   ========================================================= */
.cta-banner{
  border-radius:var(--r-lg);color:#fff;box-shadow:var(--shadow-md);
  background:
    radial-gradient(500px 300px at 100% 0%,rgba(60,110,240,.5),transparent 60%),
    linear-gradient(120deg,#0D2357,#0B1E4B);
  display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;
  padding:2rem clamp(1.2rem,3vw,2.6rem);position:relative;overflow:hidden;
}
.cta-banner::before{
  content:"";position:absolute;left:-40px;bottom:-70px;width:180px;height:180px;border-radius:50%;
  border:24px solid rgba(255,196,45,.1);
}
.cta-art{width:120px;flex:none}
.cta-copy{flex:1;min-width:240px}
.cta-copy h2{font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.35}
.cta-copy p{color:#c4d3f2;margin-top:.35rem}
.cta-btns{display:flex;gap:.8rem;flex-wrap:wrap}
.cta-points{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:.7rem;color:#dbe6fb;font-weight:600;font-size:.95rem}

/* =========================================================
   8. ADMISSION PROCESS
   ========================================================= */
.steps{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem;
  position:relative;counter-reset:step;
}
.steps::before{
  content:"";position:absolute;top:86px;left:6%;right:6%;height:2px;
  background:repeating-linear-gradient(90deg,var(--line) 0 10px,transparent 10px 20px);
  z-index:0;
}
.step{
  position:relative;z-index:1;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r-md);
  padding:1.5rem 1.1rem;text-align:center;box-shadow:var(--shadow-sm);
  transition:transform .2s, box-shadow .2s;
}
.step:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.step-num{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  font-family:var(--font-en);font-weight:800;font-size:.82rem;color:#fff;
  padding:.2rem .75rem;border-radius:999px;letter-spacing:.05em;
}
.sn-blue{background:var(--blue)}
.sn-gold{background:var(--gold-d)}
.sn-violet{background:#7c4ce0}
.sn-green{background:var(--green-d)}
.sn-red{background:#e5484d}
.step-ic{margin-top:.7rem}
.step h3{font-size:1.02rem;color:var(--navy);margin-top:.8rem}
.step p{font-size:.86rem;color:var(--muted);margin-top:.4rem}

/* =========================================================
   9. TESTIMONIALS
   ========================================================= */
.testi-scroller{grid-auto-columns:minmax(280px,1fr)}
.testi-card{
  scroll-snap-align:start;position:relative;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);
  padding:1.7rem 1.4rem 1.4rem;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;gap:.8rem;
  transition:transform .2s, box-shadow .2s;
}
.testi-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.t-quote{
  position:absolute;top:.7rem;right:1.1rem;font-size:2rem;color:var(--blue);opacity:.25;
}
.testi-card > p{font-size:.94rem;color:#33415f}
.t-rate{color:var(--gold-d);letter-spacing:.15em;font-size:.95rem}
.t-person{display:flex;align-items:center;gap:.8rem;margin-top:auto}
.t-avatar{
  width:52px;height:52px;flex:none;border-radius:50%;color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:1.15rem;
  box-shadow:var(--shadow-sm);
}
.av-blue{background:linear-gradient(135deg,#3b82f6,#1e40af)}
.av-rose{background:linear-gradient(135deg,#fb7185,#be123c)}
.av-green{background:linear-gradient(135deg,#34d399,#047857)}
.av-violet{background:linear-gradient(135deg,#a78bfa,#6d28d9)}
.t-photo{width:52px;height:52px;flex:none;border-radius:50%;object-fit:cover}
.t-person strong{display:block;color:var(--navy);font-size:.98rem;line-height:1.2}
.t-person small{color:var(--muted);font-family:var(--font-en);font-size:.78rem}
.t-tag{
  display:inline-block;margin-top:.3rem;font-size:.72rem;font-weight:600;
  padding:.14rem .6rem;border-radius:999px;
}
.tg-blue{background:#e7efff;color:var(--blue-d)}
.tg-gold{background:#fff3d6;color:#b07f06}
.tg-green{background:#e4f8ec;color:var(--green-d)}
.tg-rose{background:#ffe9ec;color:#d13a4d}

/* =========================================================
   10. PARTNERS
   ========================================================= */
.partner-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.partner-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);
  padding:1.3rem .9rem;text-align:center;box-shadow:var(--shadow-sm);
  transition:transform .2s, box-shadow .2s;
}
.partner-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.p-logo{
  width:54px;height:54px;border-radius:14px;display:grid;place-items:center;
  font-size:1.5rem;margin:0 auto .6rem;
}
.pl-blue{background:#e7efff}.pl-navy{background:#e6eaf6}
.pl-red{background:#ffe9ec}.pl-green{background:#e4f8ec}.pl-gold{background:#fff3d6}
.partner-card strong{display:block;font-size:.88rem;color:var(--navy);line-height:1.35}
.partner-card small{color:var(--muted);font-size:.72rem;font-family:var(--font-en)}
.partner-card.more{background:linear-gradient(120deg,#0D2357,#1848C4);border:none}
.partner-card.more strong{color:#fff}

/* =========================================================
   11.5 spacing between CTA-2 and footer
   ========================================================= */
.cta-2{margin-top:0;margin-bottom:4rem}
.cta-banner.container{margin-top:.5rem}

/* =========================================================
   12. FOOTER
   ========================================================= */
.footer{
  background:linear-gradient(180deg,#0D2357,#081436);color:#c9d6f2;
  padding:3.4rem 0 0;
}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:2.2rem}
.f-logo-row{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.f-logo-row img{border-radius:12px;background:#fff;padding:3px}
.f-logo-row strong{display:block;color:#fff;font-size:1.15rem;line-height:1.3}
.f-logo-row small{font-size:.74rem;color:#93a7d6}
.f-brand p{font-size:.92rem;max-width:26rem}
.f-eng{
  display:inline-block;margin-top:1rem;font-family:var(--font-en);font-weight:700;
  font-size:.72rem;letter-spacing:.14em;color:var(--gold);
  border:1px solid rgba(255,196,45,.4);padding:.35rem .9rem;border-radius:999px;
}
.f-col h3{color:#fff;font-size:1.02rem;margin-bottom:.9rem;position:relative;padding-bottom:.5rem}
.f-col h3::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;border-radius:3px;background:var(--gold)}
.f-col a{display:block;padding:.32rem 0;font-size:.93rem;color:#c9d6f2;transition:.15s}
.f-col a:hover{color:#fff;transform:translateX(3px)}
.f-contact a{font-family:var(--font-en);font-weight:600}
.f-hours{display:block;margin-top:.6rem;color:#93a7d6;font-size:.82rem;font-family:var(--font-bn)}
.f-bottom{
  margin-top:2.6rem;border-top:1px solid rgba(255,255,255,.12);
  padding:1.1rem 0;text-align:center;font-size:.86rem;color:#93a7d6;
}

/* =========================================================
   13. MOBILE BOTTOM NAV
   ========================================================= */
.bottom-nav{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:65;
  background:var(--white);box-shadow:0 -6px 24px rgba(13,35,87,.12);
  border-top:1px solid var(--line);
  padding:.4rem .3rem calc(.4rem + env(safe-area-inset-bottom));
}
.bn-item{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;
  font-size:.68rem;font-weight:600;color:var(--muted);
  padding:.3rem .1rem;border-radius:12px;transition:.15s;
}
.bn-item span{font-size:1.15rem;line-height:1}
.bn-item.active,.bn-item:hover{color:var(--blue);background:#eef3ff}

/* =========================================================
   14. FLOATING ACTIONS
   ========================================================= */
.float-actions{
  position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:55;
  display:flex;flex-direction:column;gap:.55rem;
}
.fa-btn{
  width:66px;min-height:56px;border-radius:14px;color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;
  box-shadow:var(--shadow-md);transition:transform .15s;
  padding:.4rem .2rem;text-align:center;
}
.fa-btn:hover{transform:translateX(-4px)}
.fa-btn span{font-size:1.2rem;line-height:1}
.fa-btn small{font-size:.6rem;font-weight:600;line-height:1.2}
.fa-call{background:var(--navy-3)}
.fa-wa{background:var(--green)}
.fa-book{background:var(--gold);color:var(--navy)}
.fa-top{background:#33415f}

.wa-fab{
  display:none;position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:66;
  width:54px;height:54px;border-radius:50%;background:var(--green);color:#fff;
  box-shadow:0 8px 24px rgba(34,197,94,.45);
  place-items:center;
}
.wa-fab svg{width:28px;height:28px}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1080px){
  .why-grid{grid-template-columns:repeat(3,1fr)}
  .partner-grid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(3,1fr);row-gap:2rem}
  .steps::before{display:none}
  .finder-form{grid-template-columns:repeat(2,1fr)}
  .finder-btn{grid-column:1/-1}
}

@media (max-width:900px){
  .main-nav{display:none}
  .hamburger{display:flex}
  .header-cta{display:none}
  .phone-nums{display:none}
  .hero-grid{grid-template-columns:1fr;text-align:center;gap:1.8rem}
  .hero-copy{order:1}
  .hero-visual{order:0}
  .hero-illus{width:min(300px,78vw);margin-inline:auto}
  .hero-sub{margin-inline:auto}
  .hero-btns{justify-content:center}
  .hero-trust-card{left:50%;transform:translateX(-50%);bottom:-8px}
  .hero-trust{grid-template-columns:repeat(2,1fr);text-align:left}
  .stats-strip{grid-template-columns:repeat(2,1fr);row-gap:1.4rem}
  .stat + .stat::before{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .float-actions{display:none}
  .wa-fab{display:grid}
  .bottom-nav{display:flex}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .cta-banner{flex-direction:column;text-align:center}
  .cta-points{justify-content:center}
  .cta-btns{justify-content:center;width:100%}
  .cta-btns .btn{flex:1;min-width:200px}
}

@media (max-width:640px){
  .brand-logo{width:46px;height:46px}
  .brand-name{font-size:1.05rem}
  .brand-tag{font-size:.62rem}
  .phone-ring{width:40px;height:40px}
  .hero{padding-top:2.4rem}
  .hero h1{font-size:clamp(1.9rem,8.4vw,2.3rem)}
  .hero-sub{font-size:.98rem}
  .hero-btns .btn{width:100%;justify-content:center}
  .hero-trust{grid-template-columns:1fr 1fr;gap:.9rem}
  .hero-trust strong{font-size:.88rem}
  .hero-trust small{font-size:.74rem}
  .section{padding:3rem 0}
  .finder-form{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .why-card:last-child{grid-column:1/-1}
  .steps{grid-template-columns:1fr;max-width:440px;margin-inline:auto}
  .step{text-align:left;display:grid;grid-template-columns:62px 1fr;column-gap:1rem;padding:1.4rem 1.2rem}
  .step-num{left:1.1rem;transform:none}
  .step-ic{grid-row:1/3;margin:0}
  .step h3{margin-top:.2rem}
  .step p{grid-column:2}
  .partner-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr;gap:1.8rem}
  .stat strong{font-size:1.35rem}
  .course-scroller{grid-auto-columns:72%}
  .testi-scroller{grid-auto-columns:86%}
}

@media (max-width:400px){
  .hero-trust{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .why-card:last-child{grid-column:auto}
  .partner-grid{grid-template-columns:1fr 1fr}
}
