/* ── VARIABLES ── */
:root{
  --navy:#0B1D3C;--navy2:#0F2550;
  --blue:#1E6BB5;--blue-sky:#38A9D5;--blue-dark:#1E4D8C;
  --yellow:#FDD835;--ydark:#E6BF00;
  --white:#fff;--smoke:#F3F5FF;--pale:#E8EEFF;
  --muted:#3D5278;--line:#DCE3F5;
  --fh:'Epilogue',system-ui,sans-serif;
  --fi:'Instrument Serif',Georgia,serif;
  --fb:'Plus Jakarta Sans',system-ui,sans-serif;
  --nav:70px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--fb);background:var(--white);color:var(--muted);overflow-x:hidden;-webkit-font-smoothing:antialiased;padding-top:var(--nav)}
img{display:block;max-width:100%;height:auto}
ul{list-style:none}a{text-decoration:none;transition:all .25s}
p{margin-bottom:1rem}p:last-child{margin-bottom:0}

/* ── NAV: logo left, spacer, links+CTA right, no divider ── */
#nav{position:fixed;top:0;left:0;right:0;z-index:1000}
.nav-main{background:var(--white);height: auto;display:flex;align-items:center;padding:0 4vw;box-shadow:0 2px 12px rgba(11,29,60,.08);transition:box-shadow .3s}
.nav-main.scrolled{box-shadow:0 4px 28px rgba(11,29,60,.18)}
.nav-logo{padding-right:0;display:flex;align-items:center;flex-shrink:0}
.nav-logo img{height:120px;width:auto}
.nav-spacer{flex:1}
.nav-links{display:flex;align-items:stretch;height:auto;flex-shrink:0}
.nav-links a{display:flex;align-items:center;padding:0 1.1rem 10px;font-size:1rem;font-weight:800;color:var(--navy);border-bottom:3px solid transparent;transition:all .25s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--blue);border-color:var(--yellow)}
.nav-cta{flex-shrink:0;padding-left:1rem}
.btn-apply-nav{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.6rem;background:var(--yellow);color:var(--navy);font-weight:800;font-size:1rem;border-radius:100px;box-shadow:0 4px 16px rgba(253,216,53,.4);transition:all .3s}
.btn-apply-nav:hover{background:var(--ydark);transform:translateY(-1px);color:var(--navy)}
.nav-ham{display:none;padding:.5rem;background:none;border:1.5px solid var(--line);border-radius:8px;color:var(--muted);font-size:1.2rem;cursor:pointer;margin-left:.75rem}
.mob-nav{display:none;position:fixed;top:var(--nav);left:0;right:0;z-index:999;background:var(--white);border-top:2px solid var(--blue);box-shadow:0 16px 40px rgba(11,29,60,.15)}
.mob-nav.open{display:block}
.mob-nav a{display:block;padding:.85rem 5vw;font-size:1rem;font-weight:700;color:var(--navy);border-bottom:1px solid var(--line)}
.mob-nav a:hover{color:var(--blue);background:var(--smoke)}
.mob-apply{display:block;margin:1rem 5vw;padding:.85rem;background:var(--yellow);color:var(--navy);text-align:center;font-weight:800;border-radius:100px}

/* ── HERO ── */
.hero{position:relative;height:calc(100vh - var(--nav));min-height:700px;display:flex;align-items:flex-end;background:var(--navy);overflow:hidden}
.hero-slide{position:absolute;inset:0;background-size:cover;opacity:0}
@keyframes slideShow{0%{opacity:0;transform:scale(1.06)}5%{opacity:1;transform:scale(1.03)}22%{opacity:1;transform:scale(1)}25%{opacity:0}100%{opacity:0}}

.hero-ov {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg,rgba(11,29,60,.92) 0%,rgba(11,29,60,.72) 42%,rgba(11,29,60,.38) 70%,transparent 100%);
    background: linear-gradient(to right, rgb(11 29 60) 0%, rgb(11 29 60 / 88%) 55%, #00000000 100%);
}
.hero-ov2{position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(11,29,60,.7),transparent)}

.hero-dots{position:absolute;bottom:2rem;left:5vw;z-index:4;display:flex;gap:.5rem;align-items:center}
.hdot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);animation:dotAct 20s linear infinite}
.hdot:nth-child(2){animation-delay:5s}.hdot:nth-child(3){animation-delay:10s}.hdot:nth-child(4){animation-delay:15s}
@keyframes dotAct{0%,4%,25%,100%{background:rgba(255,255,255,.3);width:8px}5%,22%{background:var(--yellow);width:24px;border-radius:4px}}

/* ── HERO CONTENT ENTRANCE ── */
@keyframes heroIn{
  0%  {opacity:0;transform:translateX(-48px)}
  100%{opacity:1;transform:translateX(0)}
}

.hero-content{position:relative;z-index:3;width:100%;padding:0 5vw 70px}

/* Each child animates in from the left, staggered after 2s */
.hero-content > *{opacity:0;animation:heroIn .65s cubic-bezier(.22,.6,.36,1) forwards}
.hero-content > .hero-tag  {animation-delay:2.0s}
.hero-content > .hero-h1   {animation-delay:2.25s}
.hero-content > .hero-sub  {animation-delay:2.5s}
.hero-content > .hero-btns {animation-delay:2.7s}
.hero-content > .hero-proof{animation-delay:2.9s}

.hero-tag{display:inline-flex;align-items:center;gap:.55rem;font-size:1rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);margin-bottom:1.4rem}
.hero-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--yellow);animation:db 2s ease-in-out infinite}
@keyframes db{0%,100%{opacity:1}50%{opacity:.3}}

.hero-h1{font-family:var(--fh);font-size:clamp(2.8rem,5vw,6rem);font-weight:900;line-height:.92;letter-spacing:-.03em;color:var(--white);margin-bottom:1.2rem;max-width:1100px}
.hero-h1 em{font-family:var(--fi);font-style:italic;color:var(--yellow)}
.hero-sub{font-size:1.2rem;color:rgba(255,255,255,.72);max-width:520px;line-height:1.8;margin-bottom:2rem}
.hero-btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.4rem}

.hero-proof{display:flex;flex-wrap:wrap;gap:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}
.hp{display:flex;align-items:center;gap:.75rem}
.hp-ic{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--yellow);flex-shrink:0}
.hp-n{font-family:var(--fh);font-size:1.9rem;font-weight:900;color:var(--white);line-height:1}
.hp-l{font-size:1rem;font-weight:600;color:rgb(255 255 255 / 78%);line-height:1.3}

/* ── HERO CONTENT LOOP — synced to 5s slide interval ── */
@keyframes heroLoop {
  0%   { opacity:0; transform:translateX(-52px) }   /* hidden, left */
  12%  { opacity:1; transform:translateX(0) }        /* slid in ~0.6s */
  78%  { opacity:1; transform:translateX(0) }        /* hold */
  90%  { opacity:0; transform:translateX(0) }        /* fade out ~0.6s */
  100% { opacity:0; transform:translateX(-52px) }    /* reset for next cycle */
}

.hero-content > * {
  opacity: 0;
  animation: heroLoop 5s cubic-bezier(.22,.6,.36,1) infinite;
}

/* stagger — cascade effect on every slide change */
.hero-content > .hero-tag   { animation-delay: 0s }
.hero-content > .hero-h1    { animation-delay: .15s }
.hero-content > .hero-sub   { animation-delay: .28s }
.hero-content > .hero-btns  { animation-delay: .38s }
.hero-content > .hero-proof { animation-delay: .46s }

/* ── BUTTONS ── */
.btn-y{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 2.4rem;background:var(--yellow);color:var(--navy);font-weight:800;font-size:1rem;border-radius:100px;border:none;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px rgba(253,216,53,.4)}
.btn-y:hover{background:var(--ydark);transform:translateY(-3px);color:var(--navy)}
.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 2.4rem;background:rgba(255,255,255,.1);color:var(--white);font-weight:700;font-size:1rem;border-radius:100px;border:2px solid rgba(255,255,255,.3);transition:all .3s}
.btn-ghost:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.7);transform:translateY(-3px);color:var(--white)}
.btn-navy{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 2.2rem;background:var(--navy);color:var(--white);font-weight:700;font-size:1rem;border-radius:100px;transition:all .3s}
.btn-navy:hover{background:var(--navy2);transform:translateY(-2px);color:var(--white)}

/* ── MARQUEE ── */
.marquee{background:var(--yellow);height:46px;overflow:hidden;white-space:nowrap;display:flex;align-items:center}
.mtrack{display:inline-flex;align-items:center;animation:ms 28s linear infinite}
.mtrack:hover{animation-play-state:paused}
.mi{display:inline-flex;align-items:center;gap:.5rem;padding:0 2rem;font-weight:800;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.mi i{font-size:1rem;opacity:.5}
@keyframes ms{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── LABELS ── */
.section-tag{font-size:1rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:.8rem;display:flex;align-items:center;gap:.6rem}
.section-tag::before{content:'';width:22px;height:2px;background:var(--yellow);flex-shrink:0}

/* ── WHY IB ── */
.why-ib{background:var(--navy);padding:5vw;position:relative;overflow:hidden}
.why-ib::before{content:'';position:absolute;top:-100px;right:-100px;width:500px;height:500px;border-radius:50%;background:rgba(30,80,226,.07);pointer-events:none}
.why-head{font-family:var(--fh);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:900;color:var(--white);line-height:.95;letter-spacing:-.025em;margin-bottom:2rem}
.why-para {
  color: rgb(255 255 255 / 78%);
  font-size: 1.2rem;
  line-height: 1.8;
  max-width: 440px;
}
.why-head em{font-family:var(--fi);font-style:italic;color:var(--yellow)}
.why-list{list-style:none;padding:0}
.why-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.why-item:last-child{border-bottom:none}
.wi-ic{width:40px;height:40px;border-radius:10px;background:rgba(253,216,53,.1);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--yellow);flex-shrink:0}
.wi-head{font-family:var(--fh);font-size:1rem;font-weight:700;color:var(--white);margin-bottom:.2rem}
.wi-sub{font-size:1rem;color:rgb(255 255 255 / 78%);line-height:1.6}

/* ── STATS ── */
.stats-band{background:var(--yellow);position:relative;overflow:hidden}
.stats-band::before{content:'';position:absolute;top:-60px;right:-60px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.15);pointer-events:none}
.stat-wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:2.4rem 2rem;text-align:center;border-right:1px solid rgba(11,29,60,.12)}
.stat-item:last-child{border-right:none}
.stat-n{font-family:var(--fh);font-size:clamp(3rem,5.5vw,5.5rem);font-weight:900;color:var(--navy);line-height:1;margin-bottom:.35rem;display:block}
.stat-l{font-size:1rem;font-weight:800;color:rgb(11 29 60 / 87%);letter-spacing:.07em;text-transform:uppercase;display:block}
.stat-s {
    font-size: 1rem;
    color: rgb(11 29 60 / 75%);
    margin-top: .2rem;
    display: block;
    font-weight: 500;
}

/* ── FULL BLEED - merged curriculum section ── */
.fbleed{position:relative;overflow:hidden;min-height:60vh;display:flex;align-items:center}
.fb-bg {
    position: absolute;
    inset: 0;
    background-size: contain;
    background-position: right;
    background-repeat: no-repeat;
}.fb-ov {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgb(11 29 60) 0%, rgb(11 29 60 / 97%) 55%, #00000000 100%);
}
.fb-in{position:relative;z-index:1;padding:5vw 0;max-width:580px}
.fbleed-para {
  color: rgb(255 255 255 / 89%);
  font-size: 1.2rem;
  line-height: 1.8;
  margin-bottom: .8rem;
  max-width: 520px;
}

/* ── EXAMINER / EXPERT ── */
.exam-sec{background:var(--yellow);padding:5vw;position:relative;overflow:hidden}
.exam-sec::before{content:'';position:absolute;bottom:-120px;left:-120px;width:600px;height:600px;border-radius:50%;background:rgba(255,255,255,.25);pointer-events:none}
.exam-head {
    font-family: var(--fh);
    font-size: clamp(2.8rem,5.5vw,3rem);
    font-weight: 900;
    color: var(--navy);
    line-height: 1.3;
    letter-spacing: -.025em;
    margin-bottom: 1.2rem;
}
.exam-head em{font-family:var(--fi);font-style:italic}
.exam-sub {
    font-size: 1.2rem;
    color: rgb(11 29 60);
    max-width: 440px;
    line-height: 1.8;
    margin-bottom: 2rem;
    font-weight: 600;
}
.exam-eyebrow{font-size:1rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgb(18 76 175);margin-bottom:.8rem;display:flex;align-items:center;gap:.6rem}
.exam-eyebrow::before{content:'';width:22px;height:2px;background:var(--navy);opacity:.3}
.ef-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ef{display:flex;align-items:center;gap:.85rem;background:rgba(11,29,60,.07);border-radius:16px;padding:.9rem 1.1rem;transition:background .3s}
.ef:hover{background:rgba(11,29,60,.12)}
.home .ef-av{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid rgba(11,29,60,.2);flex-shrink:0}
.home .ef-av {
    width: 100%;
    height: 300px;
    border-radius: 0;
    object-fit: cover;
    object-position: top;
    border: 2px solid rgba(11,29,60,.2);
    flex-shrink: 0;
}

.ef {
    display: flex;
    align-items: start;
    gap: .85rem;
    background: rgba(11,29,60,.07);
    border-radius: 16px;
    padding: .9rem 1.1rem;
    transition: background .3s;
    flex-direction: column;
}
.ef-av {
    width: 100%;
    height: 300px;
    border-radius: 0;
    object-fit: cover;
    object-position: bottom;
    border: 2px solid rgba(11,29,60,.18);
    flex-shrink: 0;
}
.ef-av.main {
    object-position: center;

}
.ef-name{font-family:var(--fh);font-size:1rem;font-weight:700;color:var(--navy);line-height:1.2}
.ef-role{font-size:1rem;color:rgb(11 29 60);line-height:1.4;margin-top:.1rem}
.ef-badge{background:var(--navy);color:var(--yellow);font-size:1rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .55rem;border-radius:4px;margin-top:.25rem;display:inline-block}

/* Issue 4+6: CAS/EE/TOK - IB brand blues, image bg, no h3 icons, 2 bullets */
.core-wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.cp{position:relative;overflow:hidden;padding:0}
.cp.cas{background:#1E4D8C}
.cp.ee{background:#1E6BB5}
.cp.tok{background:#0083b6}
.cp-img-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.05}
.cp-content{position:relative;z-index:1;padding:3.5rem 3rem}
.cp::after{content:attr(data-a);font-family:var(--fh);font-size:9rem;font-weight:900;color:rgba(255,255,255,.07);position:absolute;bottom:-2rem;right:-1rem;line-height:1;pointer-events:none;user-select:none;z-index:0}
.cp-abbr {
    font-weight: 800;
    font-family: var(--fi);
    font-style: italic;
    font-size: 3.5rem;
    color: var(--white);
    line-height: 1;
    margin-bottom: .3rem;
    text-shadow: 0 2px 2px #383838, 3px 0px 2px #383838;
}
.cp-tag {
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgb(255 255 255);
    display: block;
    margin-bottom: 1.4rem;
    text-shadow: 0 1px 2px #383838, 1px 0px 2px #383838;
}
.cp h3 {
    font-family: var(--fh);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--yellow);
    margin-bottom: .8rem;
    text-shadow: 0 1px 2px #383838, 1px 0px 2px #383838;
}
.cp p {
    font-size: 1.3rem;
    color: var(--yellow);
    line-height: 1.75;
    margin-bottom: 1.2rem;
    text-shadow: 0 1px 2px #383838, 1px 0px 2px #383838;
}
.cp-list{list-style:none;padding:0}
.cp-li {
    font-size: 1.1rem;
    color: var(--yellow);
    padding: .5rem 0;
    border-top: 1px solid rgba(255,255,255,.12);
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    line-height: 1.5;
    text-shadow: 0 1px 2px #383838, 1px 0px 2px #383838;
}
.cp-li::before{content:'\2192';color:var(--yellow);font-size:1rem;flex-shrink:0;margin-top:2px}
.cp {
    padding: 10px;
}
/* Issue 5: VS section - compact horizontal table */
.vs-sec{background:var(--navy);padding:5vw;position:relative;overflow:hidden}
.vs-sec::before{content:'"IB"';font-family:var(--fh);font-size:30rem;font-weight:900;color:rgba(255,255,255,.02);position:absolute;top:-5rem;right:-4rem;line-height:1;pointer-events:none;user-select:none}
.vs-head-text{font-family:var(--fh);font-size:clamp(2.5rem,5vw,5.5rem);font-weight:900;color:var(--white);line-height:.95;letter-spacing:-.025em;margin-bottom:.5rem}
.vs-sub{color:rgb(255 255 255 / 78%);font-size:1rem;margin-bottom:0}
.vs-table{border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}
.vs-table-head{display:grid;grid-template-columns:1fr 2fr 2fr;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.1)}
.vs-th-blank{padding:1rem 1.5rem}
.vs-th{padding:1rem 1.5rem;font-family:var(--fh);font-size:1rem;font-weight:800}
.vs-th.ib{color:var(--yellow);border-left:1px solid rgba(255,255,255,.1)}
.vs-th.not{color:rgb(255 255 255);border-left:1px solid rgba(255,255,255,.1)}
.vs-row-h{display:grid;grid-template-columns:1fr 2fr 2fr;border-top:1px solid rgba(255,255,255,.06);transition:background .2s}
.vs-row-h:hover{background:rgba(255,255,255,.03)}
.vs-label{padding:.9rem 1.5rem;font-size:1rem;font-weight:700;color:rgb(255 255 255 / 78%);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center}
.vs-ib-val{padding:.9rem 1.5rem;font-size:1rem;color:rgba(255,255,255,.82);border-left:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:.35rem}
.vs-not-val{padding:.9rem 1.5rem;font-size:1rem;color:rgb(255 255 255 / 93%);border-left:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:.35rem}

/* ── PHOTO STRIP ── */
.pstrip{background:#0F2550;overflow:hidden;height:460px}
.ptrack{display:flex;animation:ps 10s linear infinite;height:100%}
.ptrack:hover{animation-play-state:paused}
.pslide{flex:0 0 500px;height:100%;overflow:hidden;position:relative}
.pslide img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pslide:hover img{transform:scale(1.06)}
.pslide::after{content:'';position:absolute;inset:0;background:rgba(11,29,60,.25);transition:opacity .3s}
.pslide:hover::after{opacity:0}
@keyframes ps{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Issue 8: Leadership - arrow CTA, equal height, aligned */
.lq-sec{background:var(--smoke); display: none;}
.lq-wrap{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-top:3px solid #0b1d3c}
.lq{display:flex;flex-direction:column;background:var(--white);border-right:1px solid var(--line);transition:box-shadow .3s}
.lq:last-child{border-right:none}
.lq:hover{box-shadow:0 20px 56px rgba(11,29,60,.1);z-index:1}
.lq-top{background:var(--navy);padding:2rem 2.2rem;display:flex;align-items:center;gap:1.2rem}
.lq-av{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid rgba(255,255,255,.2);flex-shrink:0}
.lq-role{font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgb(255 255 255 / 78%);margin-bottom:.12rem}
.lq-name{font-family:var(--fh);font-size:1.2rem;font-weight:700;color:var(--white)}
.lq-body{padding:2rem 2.2rem;flex:1;display:flex;flex-direction:column}
.lq-q{font-family:var(--fi);font-style:italic;font-size:1.1rem;color:var(--navy);line-height:1.7;border-left:3px solid var(--yellow);padding-left:1.1rem;margin-bottom:1.2rem;flex:1}
.lq-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--line)}
.lq-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.lq-tag{background:var(--pale);color:var(--blue);padding:.2rem .6rem;border-radius:4px;font-size:1rem;font-weight:700}
.lq-cta{display:inline-flex;align-items:center;gap:.4rem;font-size:1rem;font-weight:700;color:var(--blue);transition:gap .25s,color .25s}
.lq-cta:hover{gap:.7rem;color:var(--navy)}

/* ── ENQUIRY ── */
.enq-sec{background:var(--navy);padding:5vw;position:relative;overflow:hidden}
.enq-sec::before{content:'';position:absolute;top:-150px;right:-150px;width:500px;height:500px;border-radius:50%;background:rgba(30,80,226,.1);pointer-events:none}
.enq-head{font-family:var(--fh);font-size:clamp(2.4rem,5vw,5.5rem);font-weight:900;color:var(--white);line-height:.94;letter-spacing:-.025em;margin-bottom:.8rem}
.enq-head em{font-family:var(--fi);font-style:italic;color:var(--yellow)}
.enq-label{font-size:1rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem}
.enq-label::before{content:'';width:18px;height:1px;background:var(--yellow)}
.enq-sub{font-size:1rem;color:rgb(255 255 255 / 78%);max-width:380px;line-height:1.78;margin-bottom:2rem}
.clink{display:flex;align-items:center;gap:.9rem;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.06);text-decoration:none;transition:padding .3s}
.clink:last-of-type{border-bottom:none}.clink:hover{padding-left:.5rem}
.cl-ic{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.cl-l{font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgb(255 255 255 / 47%)}
.cl-v{font-size:1rem;font-weight:600;color:rgba(255,255,255,.75)}
.cl-arr{margin-left:auto;color:rgba(255,255,255,.15);transition:all .3s;font-size:1rem}
.clink:hover .cl-arr{color:var(--yellow);transform:translateX(4px)}
.fcard{background:var(--white);border-radius:24px;padding:2.5rem;box-shadow:0 32px 80px rgba(11,29,60,.22);position:sticky;top:calc(var(--nav) + 20px)}
.fcard-eye{font-size:1rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:.3rem}
.fcard h3{font-family:var(--fh);font-size:1.75rem;font-weight:800;color:var(--navy);margin-bottom:.2rem}
.fcard-sub{font-size:1rem;color:var(--muted);margin-bottom:1.6rem}
.form-label{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.35rem;display:block}
.form-req{color:#DC2626}
.form-control,.form-select{font-family:var(--fb);font-size:1rem;padding:.75rem 1rem;border:1.5px solid var(--line);border-radius:8px;background:var(--smoke);color:var(--navy);transition:all .3s;width:100%}
.form-control:focus,.form-select:focus{outline:none;border-color:var(--blue);background:var(--white);box-shadow:0 0 0 3px rgba(30,107,181,.1)}
.fg{margin-bottom:.9rem}.frow{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:.9rem}
.btn-submit{width:100%;padding:1rem;background:var(--yellow);color:var(--navy);font-family:var(--fb);font-size:1rem;font-weight:800;border:none;border-radius:100px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 20px rgba(253,216,53,.35)}
.btn-submit:hover{background:var(--ydark);transform:translateY(-2px)}
.form-note{text-align:center;font-size:1rem;color:var(--muted);margin-top:.8rem;display:flex;align-items:center;justify-content:center;gap:.35rem}
.fmsg{display:none;padding:.9rem 1.1rem;border-radius:8px;font-size:1rem;margin-top:.9rem}
.fmsg.success{background:#F0FDF4;border:1px solid #6EE7B7;color:#065F46;display:block}
.fmsg.error{background:#FEF2F2;border:1px solid #FECACA;color:#DC2626;display:block}

/* ── CTA BAND ── */
.cta-band{background:var(--yellow);padding:5vw;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3rem;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.15);pointer-events:none}
.cta-head{font-family:var(--fh);font-size:clamp(2rem,4vw,4.5rem);font-weight:900;color:var(--navy);line-height:1.3;letter-spacing:-.025em}
.cta-sub{font-size:1.3rem;color:rgb(11 29 60 / 97%);margin-top:.6rem}
.cta-btns{display:flex;flex-direction:column;gap:.75rem;flex-shrink:0;position:relative;z-index:1}
.btn-wa{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 2.2rem;background:transparent;color:var(--navy);font-weight:700;font-size:1rem;border-radius:100px;border:2px solid rgba(11,29,60,.3);transition:all .3s}
.btn-wa:hover{background:rgba(11,29,60,.08);color:var(--navy)}

/* Issue 7: Footer logo - natural colours, no filter */
.footer{background:var(--navy);padding:5vw 5vw 0;color:rgba(255,255,255,.42)}

.f-brand img {
    height: 80px;
    filter: none;
    opacity: 1;
    object-fit: contain;
    margin-bottom: 1rem;
}
.f-brand p{font-size:1rem;line-height:1.82;margin-bottom:1.3rem;color: rgb(255 255 255 / 83%)}
.f-socials{display:flex;gap:.5rem}
.f-soc{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgb(255 255 255 / 83%);display:flex;align-items:center;justify-content:center;color:rgb(255 255 255 / 83%);font-size:1rem;text-decoration:none;transition:all .3s}
.f-soc:hover{background:rgba(253,216,53,.15);border-color:var(--yellow);color:var(--yellow)}
.f-head{font-size:1rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgb(255 255 255);margin-bottom:1rem}
.f-links {
    list-style: none;
    padding: 0;
}
.f-links a{font-size:1rem;color:rgb(255 255 255 / 83%);text-decoration:none;transition:color .25s;display:flex;align-items:center;gap:.3rem}
.f-links a:hover{color:var(--yellow)}
.f-info{
  list-style:none;
  padding: 0;
}
.f-info li{display:flex;align-items:flex-start;gap:.6rem;font-size:1rem;color:rgb(255 255 255);margin-bottom:.62rem;line-height:1.6}
.f-info li i{color:var(--yellow);margin-top:3px;flex-shrink:0;opacity:.75}
.f-info a{color:rgb(255 255 255);text-decoration:none;transition:color .25s}
.f-info a:hover{color:var(--yellow)}
.f-bot{margin-top:4vw;border-top:1px solid rgba(255,255,255,.06);padding:1.2rem 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.f-copy{font-size:1rem;color:rgb(255 255 255 / 71%);margin:0}
.f-pow{font-size:1rem;color:rgb(255 255 255 / 71%);text-decoration:none;transition:color .25s}
.f-pow:hover{color:var(--yellow)}

/* ── WA FLOAT ── */
.wa{position:fixed;bottom:24px;right:20px;z-index:9999;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,.4);animation:wap 3s ease-in-out infinite;transition:transform .3s}
.wa:hover{transform:scale(1.1);animation:none}.wa svg{width:26px;height:26px}
@keyframes wap{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.4)}50%{box-shadow:0 4px 28px rgba(37,211,102,.65),0 0 0 9px rgba(37,211,102,.07)}}

/* ── REVEAL ── */
[data-r]{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-r=l]{transform:translateX(-28px)}[data-r=r]{transform:translateX(28px)}
[data-r].in{opacity:1;transform:none}
[data-d="1"]{transition-delay:.1s}[data-d="2"]{transition-delay:.22s}[data-d="3"]{transition-delay:.34s}[data-d="4"]{transition-delay:.46s}

/* ── RESPONSIVE ── */
@media(max-width:991px){
  .nav-links,.nav-cta,.nav-spacer{display:none!important}
  .nav-ham{display:block!important}
  .stat-wrap{grid-template-columns:1fr 1fr}
  .stat-item{border-right:none;border-bottom:1px solid rgba(11,29,60,.12)}
  .core-wrap{grid-template-columns:1fr}
  .cp-content{padding:2.5rem 2rem}
  .vs-table-head,.vs-row-h{grid-template-columns:1fr 1fr}
  .vs-th-blank,.vs-label{display:none}
  .vs-ib-val,.vs-not-val{border-left:none}
  .vs-ib-val{border-right:1px solid rgba(255,255,255,.06)}
  .lq-wrap{grid-template-columns:1fr}
  .lq{border-right:none;border-bottom:1px solid var(--line)}
  .ef-grid{grid-template-columns:1fr}
  .fcard{position:static}
  .frow{grid-template-columns:1fr}
  .cta-band{grid-template-columns:1fr;gap:2rem}
  .cta-btns{flex-direction:row;flex-wrap:wrap}
}
@media(max-width:767px){
  body{font-size:15px}
  .hero-h1{font-size:clamp(2.4rem,8vw,3.8rem)}
  .hp-n{font-size:1.5rem}
  .hero-proof{gap:1.2rem}
  .vs-table-head,.vs-row-h{grid-template-columns:1fr}
  .vs-th.not,.vs-not-val{display:none}
  .pslide{flex:0 0 240px}
  .f-bot{flex-direction:column;text-align:center}
}

/* ══════════════════════════════════════════════
   CURRICULUM PAGE — VISUAL ENHANCEMENT
══════════════════════════════════════════════ */

/* Section wrapper — soft smoke background */
.sub-sec{
  background:var(--smoke);
  padding-bottom:5vw;
}

/* Section header */
.sub-head-wrap{
  padding:.5vw 5vw 3vw;
  /* max-width:700px; */
}
.sub-h{
  font-family:var(--fh);
  font-size:clamp(2.4rem,4.5vw,4.5rem);
  font-weight:900;
  color:var(--navy);
  line-height:1;
  letter-spacing:-.03em;
  margin-bottom:.6rem;
}

/* ── SUBJECT GROUP GRID ── */
/* Outer wrapper: card with border, rounded, shadow */
.sub-scroll{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:0 5vw;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 40px rgba(11,29,60,.1), 0 2px 8px rgba(11,29,60,.06);
  border:1px solid var(--line);
  background:var(--line); /* 1px gaps between cells act as borders */
  gap:1px;
}

/* Individual group card */
.sub-scroll .sg{
  background:var(--white);
  padding:2rem 1.4rem 1.6rem;
  position:relative;
  transition:background .25s, transform .25s, box-shadow .25s;
  cursor:default;
  overflow:hidden;
}
.sub-scroll .sg:hover{
  background:#F7F9FF;
  z-index:2;
  box-shadow:0 0 0 2px var(--blue) inset;
}

/* Coloured top stripe per group */
.sub-scroll .sg::before{
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
}
.sub-scroll .sg:nth-child(1)::before{background:var(--blue-dark)}
.sub-scroll .sg:nth-child(2)::before{background:#0F9D6F}
.sub-scroll .sg:nth-child(3)::before{background:#7C3AED}
.sub-scroll .sg:nth-child(4)::before{background:#EA6C00}
.sub-scroll .sg:nth-child(5)::before{background:#DC2626}
.sub-scroll .sg:nth-child(6)::before{background:#B45309}

/* Big emoji */
.sub-scroll .sg-em{
  font-size:2rem;
  margin-bottom:.7rem;
  margin-top:.3rem;
  display:block;
  line-height:1;
}

/* Group label — small caps */
.sub-scroll .sg-g{
  font-family:var(--fb);
  font-size:1rem;
  font-weight:800;
  letter-spacing:.13rem;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:.22rem;
  display:block;
}

/* Subject area name */
.sub-scroll .sg-name{
  font-family:var(--fh);
  font-size:1.5rem;
  font-weight:700;
  color:var(--navy);
  line-height:1.2;
  margin-bottom:.8rem;
}

/* Individual subject rows */
.sub-scroll .sg-s {
    font-size: 1rem;
    font-weight: 700;
    color: #052866;
    padding: .3rem 0;
    border-top: 1px solid var(--line);
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: .4rem;
}
.sub-scroll .sg-s::before{
  content:'';
  width:4px; height:4px;
  border-radius:50%;
  background:#052866;
  opacity:.35;
  flex-shrink:0;
}
.eyebrow-heading {
  font-family:var(--fh);font-size:clamp(2rem,4vw,3.5rem);font-weight:900;color:var(--navy);line-height:1.05;margin-bottom:1rem;
}

.eyebrow-para {
  font-size:1.05rem;color:var(--muted);line-height:1.8
}

/* eyebrow centered modifier */
.eyebrow.c{justify-content:center;text-align:center}
.bi-check-circle-fill {
    color: var(--yellow);
}
.what-is-para {
  font-size:1.1rem;color:var(--muted);line-height:1.8;margin-bottom:1.8rem
}
.what-is-point {
  display:inline-flex;align-items:center;gap:.5rem;background:var(--smoke);color:var(--navy);border:1px solid var(--line);border-radius:50px;padding:.55rem 1.1rem;font-size:.88rem;font-weight:700
}
.para {
  font-size:1.05rem;color:var(--muted);line-height:1.8
}
.h-t-a {
  font-family:var(--fh);font-size:1.6rem;font-weight:700;color:var(--ink);margin-bottom:1.5rem
}


:root {
    --gold-dark: #A8893A;
    --gray-600: #5A6478;
    --navy: #0D1B2A;
    --navy-mid: #152436;
    --ib-blue: #003DA5;
    --blue-mid: #1255C0;
    --gold: #C8A951;
    --gold-light: #E8D5A0;
    --gold-pale: #F9F3E3;
    --white: #FFFFFF;
    --off-white: #F6F8FC;
    --gray-50: #F4F6FA;
    --gray-100: #EDF0F7;
    --gray-200: #DDE3EE;
    --gray-400: #9AA5BB;
    --gray-800: #1E2A3A;
    --success: #065F46;
    --success-bg: #ECFDF5;
    --error: #991B1B;
    --error-bg: #FEF2F2;
    --font-body: 'DM Sans', 'Segoe UI', system-ui, sans-serif;
    --shadow-xs: 0 1px 4px rgba(13,27,42,0.06);
    --shadow-sm: 0 4px 16px rgba(13,27,42,0.08);
    --shadow-md: 0 8px 32px rgba(13,27,42,0.12);
    --shadow-lg: 0 20px 60px rgba(13,27,42,0.16);
    --shadow-xl: 0 32px 80px rgba(13,27,42,0.22);
    --shadow-gold: 0 8px 32px rgba(200,169,81,0.28);
    --shadow-blue: 0 8px 32px rgba(0,61,165,0.22);
    --ease: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
    --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 32px;
    --section-pad: 80px;
    --section-sm: 64px;
}

/* Container */
.hero-section {
  margin-top: 50px;
  background: #01264e;
}
.hero-swiper .swiper-slide {
    overflow: hidden;
}

/* Image setup */
.hero-swiper .swiper-slide .hero-slide-bg {
    width:            100%;
    height:           100%;
    object-fit:       cover;
    transform-origin: center center;
    will-change:      transform, opacity;
    animation:        none;
}

@keyframes heroKenBurns {
    0%   { opacity: 0; transform: scale(1.08); }
    8%   { opacity: 1; transform: scale(1.05); }
    85%  { opacity: 1; transform: scale(1);    }
    100% { opacity: 0; transform: scale(1);    }
}

/* Active slide वर animation */
.hero-swiper .swiper-slide-active .hero-slide-bg {
    animation: heroKenBurns 6.8s ease-in-out forwards;
    /* 6s delay + 0.8s speed transition = 6.8s */
}
.hero-section .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 1.1rem;
  background: rgba(200,169,81,0.15);
  border: 1px solid var(--yellow);
  color: var(--yellow);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: 40px;
  margin-bottom: 1.6rem;
}
.hero-section .hero-h1 {
  font-size: clamp(2.8rem,5vw,5.5rem);
  font-weight: 700;
  color: var(--error-bg);
  line-height: 1.1;
  margin-bottom: 1.4rem;
  margin-top: 1rem;
}
.hero-section .hero-h1 .accent {
  color: var(--yellow);
}
.hero-section .hero-sub {
    font-size: 1.3rem;
    color: var(--off-white);
    max-width: 520px;
    margin-bottom: 2.4rem;
    line-height: 1.8;
}
.hero-trust-pills {
    margin-top: 2rem;
}
.hero-section .trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.38rem 0.9rem;
  background: rgb(255 255 255 / 20%);
  border: 1px solid rgb(255 255 255 / 47%);
  color: var(--off-white);
  font-size: 17px;
  font-weight: 500;
  border-radius: var(--radius-sm);
  margin-bottom: 10px;
  margin-right: 10px;
}
.hero-section .hero-img-sec {
    height: 985px;
    object-fit: cover;
}
.hero-section .hero-img-sec img {
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.hero-section .hero-img-sec {
    overflow: hidden;
}

.hero-section .hero-img-sec img {
    width: 100%;
    transform: scale(1);
    transition: transform 6s ease-in-out;
}

/* Active slide image zoom effect */
.hero-section .owl-item.active .hero-img-sec img {
    transform: scale(1.1);
}

.hero-section .owl-item .hero-img-sec img {
    transform: scale(1.2);
}

.hero-section .owl-item.active .hero-img-sec img {
    transform: scale(1);
}

.hero-slide-content {
  padding: 90px 0;
}
@media (max-width: 991px){
  .hero-section .hero-img-sec {
    height: 585px;
  }
  .hero-section .hero-sub {
    max-width: max-content;
  }
}
@media (max-width: 767px){
  .hero-slide-content {
    padding: 60px 0;
  }
  
  .hero-section .hero-badge,.hero-section .trust-pill {
    font-size: 15px;
  }
  .hero-section .hero-sub {
    font-size: 1rem;
  }
}

@media (min-width: 1550px){
  .hero {
    min-height: 850px;
  }
  .nav-links a, .btn-apply-nav,.hero-tag,.btn-ghost{
    font-size: 1.5rem;
  }
  .hero-sub {
    font-size: 1.4rem;
  }
  .hp-n {
    font-size: 2.3rem;
    line-height: 1.5;
  }
  .hp-l {
    font-size: 1.2rem;
  }
  .marquee {
    height: 52px;
  }
  .mi {
    font-size: 1.3rem;
  }
  .section-tag,.exam-eyebrow,.enq-label,.eyebrow {
    font-size: 1.5rem;
    margin-bottom: 1.2rem;
  }
  .why-head {
    line-height: 1.3;
  }
  .why-para {
    font-size: 1.5rem;
  }
  .btn-y,.btn-navy,.btn-submit,.btn-wa {
    font-size: 1.5rem;
  }
  .wi-head {
    font-size: 1.5rem;
  }
  .wi-sub {
    font-size: 1.2rem;
  }
  .fbleed-para {
    font-size: 1.5rem;
  }
  .exam-head {
    font-size: clamp(2.8rem,5.5vw,4rem);
  }
  .exam-sub {
    font-size: 1.4rem;
  }
  .cp-abbr {
    font-size: 4.5rem;
  }
  .cp-tag,.cp p {
    font-size: 1.4rem;
  }
  .cp h3 {
    font-size: 1.6rem;
  }
  .cp-li {
    font-size: 1.2rem;
  }
  .enq-sub {
    font-size: 1.3rem;
  }
  .cl-ic {
    width: 50px;
    height: 50px;
  }
  .cl-ic .bi {
    font-size: 1.3rem;
  }
  .cl-l,.cl-v {
    font-size: 1.2rem;
  }
  .cl-arr {
    color: rgb(255 255 255 / 46%);
    font-size: 1.8rem;
  }
  .fcard-eye {
    font-size: 1.2rem;
  }
  .fcard h3 {
    font-size: 2rem;
    margin-bottom: .5rem;
    margin-top: .7rem;
  }
  .fcard-sub {
    font-size: 1.3rem;
  }
  .form-label {
    font-size: 1.2rem;
  }
  .form-control, .form-select {
    font-size: 1.1rem;
  }
  .frow {
    margin-bottom: .2rem;
  }
  .form-note {
    font-size: 1.2rem;
  }
  .btn-submit {
    margin-top: 2rem;
  }
  .cta-sub {
    font-size: 1.4rem;
  }
  .f-brand p {
    font-size: 1.2rem;
  }
  .f-soc {
    width: 50px;
    height: 50px;
  }
  .f-soc .bi {
    font-size: 1.4rem;
  }
  .f-head {
    font-size: 1.6rem;
  }
  .f-links a {
    font-size: 1.4rem;
    color: rgb(255 255 255 / 95%);
    margin-bottom: 5px;
  }
  .f-info li {
    font-size: 1.4rem;
  }
  .f-copy,.f-pow {
    font-size: 1.2rem;
  }
  .bc {
    font-size: 1rem;
  }
  .phero .psub {
    font-size: 1.4rem;
  }
  .eyebrow-para {
  font-size:1.4rem;
  }
  .fc-ic {
    width: 65px;
    height: 65px;
  }
  .fc-ic i {
    font-size: 1.7rem;
  }
  .fc h3 {
    font-size: 1.8rem;
  }
  .fc p {
    font-size: 1.3rem;
  }
  .what-is-para {
    font-size:1.4rem;
    line-height: 1.5;
  } 
  .what-is-point {
    font-size: 1.2rem;
  }
  .sub-h {
    margin-top: 1rem;
  }
  .sub-head-wrap {
    padding: 5vw 5vw 2vw;
  }
  .sub-scroll .sg-em {
    font-size: 3rem;
  }
  .sub-scroll .sg-g {
    font-size: 1.5rem;
  }
  .sub-scroll .sg-name {
    font-size: 1.7rem;
    margin-bottom: 1.2rem;
  }
  .sub-scroll .sg-s {
    font-size: 1.3rem;
  }
  .para {
    font-size: 1.4rem;
  }
  .ef-name,.fac-name {
    font-size: 1.5rem;
  }
  .ef-role {
    font-size: 1.2rem;
  }
  .fac-sub {
    font-size: 1.3rem;
  }
  .fac-tag {
    font-size: 1rem;
  }
  .fact-k {
    font-size: 1.1rem;
  }
  .fact-v {
    font-size: 1.2rem;
  }
  .h-t-a {
  font-size:2rem;
  }
  .step-card h4 {
    font-size: 1.6rem;
  }
  .step-card p {
    font-size: 1.1rem;
  }
  .step-num {
    width: 60px;
    height: 60px;
    font-size: 1.8rem;
  }
  .cbox-t {
    font-size: 1.3rem;
  }
  .cbox-s {
    font-size: 1.1rem;
  }
  .cbox-ic {
    width: 56px;
    height: 56px;
  }
  .cbox-ic .bi {
    font-size: 1.3rem;
  }
  .eq-eye {
    font-size: 1rem;
  }
  .eq-card h3 {
    font-size: 2rem;
  }
  .eq-sub {
    font-size: 1rem;
  }
}
@media (min-width: 1700px){
  .hero {
    min-height: 910px;
  }
}
/* ── RESPONSIVE ── */
@media(max-width:991px){
.hero{min-height:725px;}

  .sub-scroll{
    grid-template-columns:repeat(3,1fr);
    margin:0 4vw;
    border-radius:16px;
  }
  .sub-head-wrap{padding:5vw 4vw 3vw}
  .nav-main {
    justify-content: space-between;
  }
}
/* ── RESPONSIVE ── */
@media(max-width:767px){
  .sub-scroll{
    grid-template-columns:repeat(2,1fr);}
  .hero{min-height:785px;}

}
@media(max-width:575px){
  .hero {
    min-height: 850px;
  }
  .sub-scroll{
    grid-template-columns:repeat(1,1fr);}
}

