:root {
  --ink:    #050D1F;
  --navy:   #0B1D3C;
  --blue:   #1E50E2;
  --sky:    #38BDF8;
  --yellow: #FDD835;
  --ydark:  #E6BF00;
  --white:  #FFFFFF;
  --smoke:  #F2F5FF;
  --pale:   #E8EEFF;
  --line:   #DCE3F5;
  --muted:  #5A6A8A;
  --fh: 'Epilogue', system-ui, sans-serif;
  --fi: 'Instrument Serif', Georgia, serif;
  --fb: 'Plus Jakarta Sans', system-ui, sans-serif;
  --sh1: 0 2px 8px rgba(5,13,31,.06), 0 1px 2px rgba(5,13,31,.04);
  --sh2: 0 8px 28px rgba(5,13,31,.10), 0 2px 8px rgba(5,13,31,.05);
  --sh3: 0 20px 56px rgba(5,13,31,.15), 0 6px 18px rgba(5,13,31,.07);
  --sh4: 0 32px 80px rgba(5,13,31,.20), 0 10px 26px rgba(5,13,31,.09);
  --shy: 0 4px 20px rgba(253,216,53,.35);
  --ease: cubic-bezier(.16,1,.3,1);
  --nav: 70px;
  --r: 8px; --rl: 16px; --rx: 28px; --rp: 100px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 17px; }
body { font-family: var(--fb); font-size: 1rem; font-weight: 400; line-height: 1.7;
  color: var(--muted); background: var(--white); overflow-x: hidden;
  -webkit-font-smoothing: antialiased; padding-top: var(--nav); }
img { max-width: 100%; height: auto; display: block; }
ul  { list-style: none; }
a   { color: var(--blue); text-decoration: none; transition: color .3s; }
a:hover { color: var(--navy); }
p   { margin-bottom: 1rem; }
p:last-child { margin-bottom: 0; }

/* ANNOUNCEMENT BAR */
.bar a { color: var(--yellow); font-weight: 700; }
.bar a:hover { color: var(--white); }
.bar .sep { opacity: .25; }

/* NAV — classes match includes/header.php exactly */
#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;
  transition: box-shadow .3s;
  box-shadow: 0 2px 12px rgba(11,29,60,.08);
}
.nav-main.scrolled { box-shadow: 0 4px 28px rgba(11,29,60,.18); }

/* Logo — bigger, left side */
.nav-logo { padding-right: 0; display: flex; align-items: center; flex-shrink: 0; }
.nav-logo img { height: 75px; width: auto; }

/* Spacer pushes links+CTA to the RIGHT */
.nav-spacer { flex: 1; }

/* Links — right side, bigger, bolder, grouped with Apply Now */
.nav-links { display: flex; align-items: stretch; height: var(--nav); flex-shrink: 0; }
.nav-links a {
  display: flex; align-items: center; padding: 0 1.1rem;
  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-bottom-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: var(--shy); transition: all .3s; text-decoration: none;
}
.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: var(--r);
  color: var(--muted); font-size: 1.2rem; cursor: pointer; margin-left: .75rem;
}
.nav-ham:hover { border-color: var(--blue); color: var(--blue); }

.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); text-decoration: none;
}
.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; text-decoration: none;
}

/* BUTTONS */
.btn-y { display: inline-flex; align-items: center; gap: .5rem; padding: .95rem 2.4rem;
  background: var(--yellow); color: var(--ink); font-family: var(--fb); font-size: 1rem;
  font-weight: 800; border: none; border-radius: var(--rp); cursor: pointer;
  text-decoration: none; transition: all .3s var(--ease); box-shadow: var(--shy); }
.btn-y:hover { background: var(--ydark); transform: translateY(-3px);
  box-shadow: 0 14px 40px rgba(253,216,53,.55); color: var(--ink); }
.btn-w { display: inline-flex; align-items: center; gap: .5rem; padding: .95rem 2.4rem;
  background: rgba(255,255,255,.14); color: var(--white); font-family: var(--fb);
  font-size: 1rem; font-weight: 700; border: 2px solid rgba(255,255,255,.35);
  border-radius: var(--rp); text-decoration: none; transition: all .3s var(--ease); }
.btn-w:hover { background: rgba(255,255,255,.24); border-color: rgba(255,255,255,.75);
  color: var(--white); transform: translateY(-3px); }
.btn-b { display: inline-flex; align-items: center; gap: .5rem; padding: .95rem 2.4rem;
  background: var(--blue); color: var(--white); font-family: var(--fb); font-size: 1rem;
  font-weight: 700; border: none; border-radius: var(--rp); cursor: pointer;
  text-decoration: none; transition: all .3s var(--ease); box-shadow: 0 4px 20px rgba(30,80,226,.28); }
.btn-b:hover { background: #1840c8; transform: translateY(-2px); color: var(--white);
  box-shadow: 0 10px 34px rgba(30,80,226,.45); }
.btn-n { display: inline-flex; align-items: center; gap: .5rem; padding: .95rem 2.4rem;
  background: var(--navy); color: var(--white); font-family: var(--fb); font-size: 1rem;
  font-weight: 700; border: none; border-radius: var(--rp); cursor: pointer;
  text-decoration: none; transition: all .3s var(--ease); box-shadow: var(--sh2); }
.btn-n:hover { background: var(--ink); transform: translateY(-2px); color: var(--white); }
.btn-link { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--fb);
  font-size: 1rem; font-weight: 700; color: var(--blue); background: none; border: none;
  cursor: pointer; text-decoration: none; transition: gap .3s, color .25s; padding: 0; }
.btn-link:hover { gap: .75rem; color: var(--navy); }

/* EYEBROW / LABELS */
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-family: var(--fb);
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--navy);
    margin-bottom: .9rem;
    /* text-shadow: 0 1px 4px #4a4b69, 1px 0px 4px #4a4b69; */
}.eyebrow::before { content: ''; width: 22px; height: 2px; background: var(--navy); display: inline-block; }
.eyebrow.dk::before { background: var(--yellow); }
.eyebrow.dk {
    color: var(--yellow);
}
.rule-y { display: block; width: 40px; height: 3px; background: var(--yellow);
  border-radius: 2px; margin: 1rem 0 2rem; }
.rule-y.c { margin-left: auto; margin-right: auto; }

/* MARQUEE */
.marquee { background: var(--yellow); overflow: hidden; white-space: nowrap;
  display: flex; height: 44px; }
.mtrack { display: inline-flex; align-items: center; animation: mscroll 26s linear infinite; }
.mitem { display: inline-flex; align-items: center; gap: .5rem; padding: 0 2rem;
  font-family: var(--fb); font-size: 1rem; font-weight: 800; letter-spacing: .06em;
  text-transform: uppercase; color: var(--navy); }
.mitem .dot { width: 6px; height: 6px; border-radius: 50%;
  background: rgba(11,29,60,.3); margin-left: 2rem; }
@keyframes mscroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* HERO */
.hero { position: relative; min-height: calc(100vh - var(--nav));
  display: flex; align-items: flex-end; background: var(--ink); overflow: hidden; }
.hbg { position: absolute; inset: 0; background-size: cover; background-position: center 25%;
  transform: scale(1.04); transition: transform 7s ease-out; }
.hbg.in { transform: scale(1); }
.hov { position: absolute; inset: 0;
  background: linear-gradient(105deg, rgba(5,13,31,.92) 0%,
    rgba(5,13,31,.75) 40%, rgba(11,29,60,.45) 70%, transparent 100%); }
.hcontent { position: relative; z-index: 2; width: 100%; padding: 0 0 72px; }
.htag { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--fb);
  font-size: 1rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--yellow); margin-bottom: 1.6rem; }
.htag .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--yellow);
  animation: dblink 2s ease-in-out infinite; }
@keyframes dblink { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
.hhead { font-family: var(--fh); font-size: clamp(3.2rem, 7vw, 8rem); font-weight: 900;
  line-height: .9; letter-spacing: -.03em; color: var(--white); margin-bottom: 1.6rem; }
.hhead em { font-style: normal; color: var(--yellow); }
.hsub { font-size: 1rem; color: rgba(255,255,255,.68); max-width: 460px;
  line-height: 1.8; margin-bottom: 2.2rem; }
.hbtns { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 2.8rem; }
.hproof { display: flex; flex-wrap: wrap; gap: 1rem; padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,.12); }
.hpill { display: flex; align-items: center; gap: .6rem; }
.hpill-ic { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15); display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: var(--yellow); flex-shrink: 0; }
.hpill-n { font-family: var(--fh); font-size: 1.3rem; font-weight: 900; color: var(--white); line-height: 1; }
.hpill-l { font-size: 1rem; font-weight: 600; color: rgba(255,255,255,.5); line-height: 1.3; }
.hscroll { position: absolute; bottom: 2rem; right: 2.5rem; z-index: 3;
  writing-mode: vertical-rl; transform: rotate(180deg);
  display: flex; align-items: center; gap: .5rem; font-size: 1rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.3); }
.hscroll-line { width: 1px; height: 44px;
  background: linear-gradient(to top, var(--yellow), transparent);
  animation: scrl 2s ease-in-out infinite; }
@keyframes scrl { 0%, 100% { opacity: .4; } 50% { opacity: 1; } }

/* SPLIT SECTIONS */
.split { display: grid; grid-template-columns: 1fr 1fr; min-height: 78vh; }
.split.rev .simg { order: -1; }
.stxt { display: flex; flex-direction: column; justify-content: center;
  padding: 6vw 5vw; position: relative; }
.simg { position: relative; overflow: hidden; min-height: 400px; }
.simg img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.split:hover .simg img { transform: scale(1.04); }
.simg-ov { position: absolute; inset: 0; background: rgba(5,13,31,.18); }
.sdeco { position: absolute; bottom: -1.5rem; right: -1rem; font-family: var(--fh);
  font-size: 14rem; font-weight: 900; line-height: 1; color: rgba(5,13,31,.04);
  pointer-events: none; user-select: none; z-index: 0; }
.stxt > * { position: relative; z-index: 1; }

/* TYPOGRAPHY SCALE */
.h-xl { font-family: var(--fh); font-size: clamp(2.8rem, 5.5vw, 6rem); font-weight: 900;
  line-height: .94; letter-spacing: -.025em; color: var(--ink); }
.h-lg { font-family: var(--fh); font-size: clamp(2rem, 3.8vw, 4rem); font-weight: 800;
  line-height: 1.0; letter-spacing: -.02em; color: var(--ink); }
.h-md { font-family: var(--fh); font-size: clamp(1.5rem, 2.5vw, 2.4rem); font-weight: 700;
  line-height: 1.1; color: var(--ink); }
.on-dark { color: var(--white) !important; }
.on-dim  { color: rgba(255,255,255,.65) !important; }
.yellow  { color: var(--yellow); }
.accent  { font-family: var(--fi); font-style: italic; }
.big-body { font-size: 1.05rem; line-height: 1.82; color: var(--muted); }
.pill-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 1.8rem; }
.pill { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .9rem;
  background: var(--pale); border: 1px solid var(--line); color: var(--blue);
  font-size: 1rem; font-weight: 700; border-radius: var(--rp); }
.pill i { font-size: 1rem; }

/* STATS BAND - YELLOW */
.stats-band { background: var(--yellow); position: relative; overflow: hidden; }
.stats-band::before { content: ''; position: absolute; top: -80px; right: -80px;
  width: 350px; height: 350px; border-radius: 50%; background: rgba(255,255,255,.15); pointer-events: none; }
.stat-cell { padding: 2.4rem 1.5rem; text-align: center;
  border-right: 1px solid rgba(11,29,60,.12); }
.stat-cell:last-child { border-right: none; }
.sc-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; }
.sc-l { font-size: 1rem; font-weight: 800; color: rgba(11,29,60,.55);
  letter-spacing: .07em; text-transform: uppercase; }

/* FULL BLEED */
.fbleed { position: relative; overflow: hidden; min-height: 60vh; display: flex; align-items: center; }
.fb-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.fb-ov { position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(5,13,31,.9) 0%, rgba(5,13,31,.6) 55%, transparent 100%); }
.fb-in { position: relative; z-index: 1; max-width: 560px; padding: 5vw 0; }

/* FEATURE ICONS ROW */
.feat-row { display: grid; grid-template-columns: repeat(4,1fr);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.feat-item { padding: 2.5rem 2rem; border-right: 1px solid var(--line); transition: background .3s; }
.feat-item:last-child { border-right: none; }
.feat-item:hover { background: var(--smoke); }
.fi-icon { width: 52px; height: 52px; border-radius: var(--rl); background: var(--pale);
  display: flex; align-items: center; justify-content: center; font-size: 1.3rem;
  color: var(--blue); margin-bottom: 1.2rem; transition: all .3s; }
.feat-item:hover .fi-icon { background: var(--blue); color: var(--white);
  box-shadow: 0 4px 18px rgba(30,80,226,.3); }
.feat-item h4 { font-family: var(--fh); font-size: 1.05rem; font-weight: 700; color: var(--navy); margin-bottom: .5rem; }
.feat-item p { font-size: 1rem; color: var(--muted); line-height: 1.72; margin: 0; }

/* EXAMINER YELLOW SECTION */
.exam-sec { background: var(--yellow); padding: 6vw 0; position: relative; overflow: hidden; }
.exam-sec::before { content: ''; position: absolute; bottom: -100px; left: -100px;
  width: 500px; height: 500px; border-radius: 50%; background: rgba(255,255,255,.2); pointer-events: none; }
.exam-head { font-family: var(--fh); font-size: clamp(2.5rem, 5vw, 5.5rem); font-weight: 900;
  color: var(--navy); line-height: .96; letter-spacing: -.025em; margin-bottom: 1.4rem; }
.exam-head em { font-family: var(--fi); font-style: italic; font-weight: 400; }
.exam-sub { font-size: 1.05rem; color: rgba(11,29,60,.7); line-height: 1.8; max-width: 460px; margin-bottom: 2rem; }
.exam-row { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.ef { display: flex; align-items: center; gap: .85rem; background: rgba(11,29,60,.07);
  border-radius: var(--rx); padding: 1rem 1.2rem; flex: 1; min-width: 220px; transition: background .3s; }
.ef:hover { background: rgba(11,29,60,.12); }
.ef-av { width: 90px; height: 90px; border-radius: 50%; object-fit: cover; object-position: top;border: 2px solid rgba(11,29,60,.18); flex-shrink: 0; }

.ef-name { font-family: var(--fh); font-size: 1rem; font-weight: 700; color: var(--navy); }
.ef-role { font-size: 1rem; font-weight: 500; color: rgba(11,29,60,.6); line-height: 1.4; }
.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: .3rem; display: inline-block; }

/* VS SECTION */
.vs-sec { background: var(--ink); padding: 6vw 0; position: relative; overflow: hidden; }
.vs-sec::before { content: '"IB"'; font-family: var(--fh); font-size: 28rem; font-weight: 900;
  color: rgba(255,255,255,.025); position: absolute; top: -4rem; right: -3rem;
  line-height: 1; pointer-events: none; user-select: none; }
.vs-head { text-align: center; margin-bottom: 3.5rem; }
.vs-grid { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1.5rem; align-items: start;
  max-width: 900px; margin: 0 auto; }
.vs-ct { font-family: var(--fh); font-size: 1.1rem; font-weight: 800;
  margin-bottom: 1.4rem; padding-bottom: .9rem; }
.vs-ib .vs-ct  { color: var(--yellow); border-bottom: 2px solid var(--yellow); }
.vs-not .vs-ct { color: rgba(255,255,255,.4); border-bottom: 1px solid rgba(255,255,255,.1); }
.vs-not { opacity: .6; }
.vs-vs-wrap { display: flex; align-items: center; justify-content: center; padding-top: 1.2rem; }
.vs-vs { font-family: var(--fi); font-style: italic; font-size: 1.4rem;
  color: rgba(255,255,255,.3); border: 1px solid rgba(255,255,255,.1); border-radius: 50%;
  width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; }
.vs-item { display: flex; align-items: flex-start; gap: .75rem; padding: .85rem 0;
  border-bottom: 1px solid rgba(255,255,255,.06); font-size: 1rem; }
.vs-item:last-child { border-bottom: none; }
.vs-ic { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center;
  justify-content: center; font-size: 1rem; flex-shrink: 0; margin-top: 2px; }
.vs-ib .vs-ic  { background: var(--yellow); color: var(--navy); }
.vs-not .vs-ic { background: rgba(255,255,255,.08); color: rgba(255,255,255,.3); }
.vs-ib .vs-txt  { color: rgba(255,255,255,.82); }
.vs-not .vs-txt { color: rgba(255,255,255,.45); }

/* IB CORE PANELS */
.core-wrap { display: grid; grid-template-columns: repeat(3,1fr); }
.cp { padding: 4rem 3rem; position: relative; overflow: hidden; }
.cp.cas { background: var(--navy); }
.cp.ee  { background: var(--blue); }
.cp.tok { background: var(--ink); }
.cp::after { content: attr(data-a); font-family: var(--fh); font-size: 9rem; font-weight: 900;
  color: rgba(255,255,255,.04); position: absolute; bottom: -2rem; right: -1rem;
  line-height: 1; pointer-events: none; user-select: none; }
.cp-abbr { font-family: var(--fi); font-style: italic; font-size: 3.5rem; color: var(--yellow); line-height: 1; margin-bottom: .3rem; }
.cp-tag  { font-family: var(--fb); font-size: 1rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.4); display: block; margin-bottom: 1.4rem; }
.cp h3 { font-family: var(--fh); font-size: 1.5rem; font-weight: 700; color: var(--white); margin-bottom: .9rem; }
.cp p  { font-size: 1rem; color: rgba(255,255,255,.6); line-height: 1.78; margin-bottom: 1.4rem; }
.cp-facts { list-style: none; }
.cp-fact { font-size: 1rem; color: rgba(255,255,255,.5); padding: .45rem 0;
  border-top: 1px solid rgba(255,255,255,.07); display: flex; align-items: center; gap: .5rem; }
.cp-fact::before { content: '→'; color: var(--yellow); font-size: 1rem; flex-shrink: 0; }

/* LEADERSHIP QUOTES */
.lq-pair { display: grid; grid-template-columns: 1fr 1fr; }
.lq { display: flex; flex-direction: column; background: var(--white); transition: box-shadow .3s; }
.lq:hover { box-shadow: var(--sh3); 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,.25); flex-shrink: 0; }
.lq-role { font-size: 1rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255,255,255,.5); margin-bottom: .15rem; }
.lq-name { font-family: var(--fh); font-size: 1.2rem; font-weight: 700; color: var(--white); }
.lq-body { padding: 2.2rem; flex: 1; }
.lq-quote { font-family: var(--fi); font-style: italic; font-size: 1.1rem; color: var(--navy);
  line-height: 1.72; border-left: 3px solid var(--yellow); padding-left: 1.1rem; margin-bottom: 1.2rem; }
.lq-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.lq-tag { background: var(--pale); color: var(--blue); padding: .2rem .65rem;
  border-radius: 4px; font-size: 1rem; font-weight: 700; }

/* PHOTO STRIP */
.pstrip { background: var(--ink); overflow: hidden; }
.ptrack { display: flex; animation: pscroll 36s linear infinite; }
.ptrack:hover { animation-play-state: paused; }
.pslide { flex: 0 0 300px; height: 220px; overflow: hidden; position: relative; }
.pslide img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.pslide:hover img { transform: scale(1.07); }
.pslide::after { content: ''; position: absolute; inset: 0;
  background: rgba(5,13,31,.25); transition: opacity .3s; }
.pslide:hover::after { opacity: 0; }
@keyframes pscroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* SUBJECT GRID */
.sub-grid { display: grid; grid-template-columns: repeat(6,1fr);
  border: 1px solid var(--line); border-radius: var(--rx);
  overflow: hidden; box-shadow: var(--sh2); }
.sg { padding: 1.8rem 1.4rem; border-right: 1px solid var(--line);
  transition: background .3s; cursor: default; }
.sg:last-child { border-right: none; }
.sg:hover { background: var(--smoke); }
.sg-em   { font-size: 1.8rem; margin-bottom: .65rem; display: block; }
.sg-g    { font-family: var(--fb); font-size: 1rem; font-weight: 800; letter-spacing: .1rem;
  text-transform: uppercase; color: var(--blue); margin-bottom: .2rem; }
.sg-name { font-family: var(--fh); font-size: 1rem; font-weight: 700; color: var(--navy);
  margin-bottom: .7rem; line-height: 1.2; }
.sg-s { font-size: 1rem; color: var(--muted); padding: .28rem 0; border-top: 1px solid var(--line); }

/* ENQUIRY SECTION */
.enq-sec { background: var(--navy); padding: 7vw 0; position: relative; overflow: hidden; }
.enq-sec::before { content: ''; position: absolute; top: -160px; right: -160px;
  width: 600px; height: 600px; border-radius: 50%; background: rgba(30,80,226,.12); pointer-events: none; }
.enq-label { font-family: var(--fb); 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-head { font-family: var(--fh); font-size: clamp(2.5rem, 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; font-weight: 400; color: var(--yellow); }
.enq-sub { font-size: 1rem; color: rgba(255,255,255,.55); max-width: 400px; line-height: 1.78; margin-bottom: 2.2rem; }
.clink { display: flex; align-items: center; gap: .9rem; padding: .85rem 0;
  border-bottom: 1px solid rgba(255,255,255,.07); text-decoration: none; transition: padding .3s; }
.clink:last-of-type { border-bottom: none; }
.clink:hover { padding-left: .6rem; }
.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: rgba(255,255,255,.35); }
.cl-v { font-size: 1rem; font-weight: 600; color: rgba(255,255,255,.78); }
.cl-arr { margin-left: auto; font-size: 1rem; color: rgba(255,255,255,.18); transition: all .3s; }
.clink:hover .cl-arr { color: var(--yellow); transform: translateX(4px); }

/* FORM CARD */
.fcard { background: var(--white); border-radius: var(--rx); padding: 2.6rem;
  box-shadow: var(--sh4); position: sticky; top: calc(var(--nav) + 20px); }
.fc-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.85rem; font-weight: 800; color: var(--navy); margin-bottom: .2rem; }
.fcard .fsub { font-size: 1rem; color: var(--muted); margin-bottom: 1.7rem; }
.form-control, .form-select { font-family: var(--fb); font-size: 1rem; padding: .78rem 1rem;
  border: 1.5px solid var(--line); border-radius: var(--r); background: var(--smoke);
  color: var(--ink); 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,80,226,.1); }
.form-label { font-size: 1rem; font-weight: 700; color: var(--navy); margin-bottom: .35rem; display: block; }
.form-req { color: #DC2626; }
.fg { margin-bottom: 1rem; }
.frow { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.bsub { width: 100%; padding: 1.05rem; background: var(--yellow); color: var(--navy);
  font-family: var(--fb); font-size: 1rem; font-weight: 800; border: none;
  border-radius: var(--rp); cursor: pointer; transition: all .3s var(--ease);
  display: flex; align-items: center; justify-content: center; gap: .5rem; box-shadow: var(--shy); }
.bsub:hover { background: var(--ydark); transform: translateY(-2px);
  box-shadow: 0 10px 34px rgba(253,216,53,.5); }
.fsec { 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: var(--r); 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; }
.cta-head { font-family: var(--fh); font-size: clamp(1.9rem, 3.8vw, 4rem); font-weight: 900;
  color: var(--navy); line-height: 1.04; letter-spacing: -.02em; }
.cta-sub { font-size: 1rem; color: rgba(11,29,60,.6); margin-top: .5rem; }
.cta-btns { display: flex; flex-direction: column; gap: .75rem; flex-shrink: 0; }

/* PAGE HERO */
.phero { background: var(--navy); padding: 5.5vw 0 4.5vw; position: relative; overflow: hidden; }
.phero::before { content: ''; position: absolute; top: -80px; right: -80px; width: 360px; height: 360px;
  border-radius: 50%; background: rgba(253,216,53,.06); pointer-events: none; }
.phero-in { position: relative; z-index: 1; }
.bc { display: flex; align-items: center; gap: .5rem; font-size: 1rem; font-weight: 600;
  letter-spacing: .1rem; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 1.1rem; }

  .bc i {
    color: #fff;
    opacity: 1 !important;
  }
.bc a { color: var(--yellow); text-decoration: none; }
.phero h1 { font-family: var(--fh); font-size: clamp(2.8rem, 6vw, 6.5rem); font-weight: 900;
  color: var(--white); line-height: .94; letter-spacing: -.025em; margin-bottom: .9rem; }
.phero h1 em { font-family: var(--fi); font-style: italic; color: var(--yellow); }
.phero .psub { color: rgba(255,255,255,.62); font-size: 1.05rem; max-width: 520px; line-height: 1.78; }

/* FOOTER */
.footer { background: var(--ink); padding: 5.5vw 0 0; color: rgba(255,255,255,.42); }
.footer-brand img { height: 46px; margin-bottom: 1.3rem;
  filter: brightness(0) invert(1); opacity: .82; }
.footer-brand p { font-size: 1rem; line-height: 1.82; margin-bottom: 1.3rem; }
.fsocials { display: flex; gap: .5rem; }
.fsoc { width: 36px; height: 36px; border-radius: var(--r); background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08); display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.35); font-size: 1rem; text-decoration: none; transition: all .3s; }
.fsoc:hover { background: rgba(253,216,53,.15); border-color: var(--yellow); color: var(--yellow); }
.fhead { font-family: var(--fb); font-size: 1rem; font-weight: 800; letter-spacing: .14em;
  text-transform: uppercase; color: rgba(255,255,255,.28); margin-bottom: 1.1rem; }
.flinks { list-style: none; }
.flinks li { margin-bottom: .42rem; }
.flinks a { font-size: 1rem; color: rgba(255,255,255,.38); text-decoration: none;
  transition: color .25s; display: flex; align-items: center; gap: .3rem; }
.flinks a:hover { color: var(--yellow); }
.finfo { list-style: none; }
.finfo li { display: flex; align-items: flex-start; gap: .6rem; font-size: 1rem;
  color: rgba(255,255,255,.35); margin-bottom: .65rem; line-height: 1.6; }
.finfo li i { color: var(--yellow); margin-top: 3px; flex-shrink: 0; opacity: .75; }
.finfo a { color: rgba(255,255,255,.38); text-decoration: none; transition: color .25s; }
.finfo a:hover { color: var(--yellow); }
.fbot { margin-top: 5vw; 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; }
.fcopy { font-size: 1rem; color: rgba(255,255,255,.2); margin: 0; }
.fpow  { font-size: 1rem; color: rgba(255,255,255,.18); text-decoration: none; transition: color .25s; }
.fpow:hover { color: var(--yellow); }

/* FLOATS */
.wa { position: fixed; bottom: 28px; right: 24px; z-index: 9999; width: 58px; height: 58px;
  border-radius: 50%; background: #25D366; display: flex; align-items: center; justify-content: center;
  text-decoration: none; box-shadow: 0 6px 24px rgba(37,211,102,.45);
  animation: wap 3s ease-in-out infinite; transition: transform .3s; }
.wa:hover { transform: scale(1.1); animation: none; }
.wa svg { width: 28px; height: 28px; }
@keyframes wap {
  0%, 100% { box-shadow: 0 6px 24px rgba(37,211,102,.45); }
  50%       { box-shadow: 0 6px 32px rgba(37,211,102,.7), 0 0 0 10px rgba(37,211,102,.08); }
}
.mbc { position: fixed; bottom: 0; left: 0; right: 0; z-index: 998;
  display: none; background: var(--ink); border-top: 1px solid rgba(255,255,255,.06); }
.mbc a { flex: 1; display: flex; align-items: center; justify-content: center; gap: .38rem;
  padding: .88rem; text-decoration: none; font-size: 1rem; font-weight: 700;
  border-right: 1px solid rgba(255,255,255,.06); color: rgba(255,255,255,.6); transition: all .25s; }
.mbc a:last-child { border-right: none; }
.mbc .mbca { background: var(--yellow); color: var(--navy); flex: 1.4; }
.mbc .mbca:hover { background: var(--ydark); }
.mbc .mbcw { background: #25D366; color: #fff; }

/* REVEAL */
[data-r] { opacity: 0; transform: translateY(30px);
  transition: opacity .7s var(--ease), transform .7s var(--ease); }
[data-r=l] { transform: translateX(-30px); }
[data-r=r] { transform: translateX(30px); }
[data-r=s] { transform: scale(.95); }
[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; }

/* MISC UTILS */
:target, #enquiry-form { scroll-margin-top: calc(var(--nav) + 20px); }
.spin { display: none; width: 18px; height: 18px; border: 2px solid rgba(11,29,60,.2);
  border-top-color: var(--navy); border-radius: 50%; animation: sp .7s linear infinite; }
@keyframes sp { to { transform: rotate(360deg); } }

/* EXTRA PAGE COMPONENTS */
.eq-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--rx);
  padding: 2.4rem; box-shadow: var(--sh4); position: sticky;
  top: calc(var(--nav) + 20px); }
.eq-card h3 { font-family: var(--fh); font-size: 1.75rem; font-weight: 800; color: var(--navy); margin-bottom: .2rem; }
.eq-sub { font-size: 1rem; color: var(--muted); margin-bottom: 1.7rem; }
.step-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--rl);
  padding: 1.7rem; height: 100%; box-shadow: 0 2px 8px rgba(5,13,31,.06); transition: all .3s; }
.step-card:hover { transform: translateY(-4px); box-shadow: var(--sh3); border-color: transparent; }
.step-num { width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), #0E35B2); color: var(--white);
  font-family: var(--fh); font-size: 1.1rem; font-weight: 900;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: .9rem; box-shadow: 0 4px 18px rgba(30,80,226,.28); }
.step-card h4 { font-family: var(--fh); font-size: 1rem; font-weight: 700; color: var(--navy); margin-bottom: .4rem; }
.step-card p  { font-size: 1rem; color: var(--muted); margin: 0; }
.cbox { display: flex; align-items: center; gap: 1.1rem; padding: 1.2rem 1.5rem;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--rl);
  text-decoration: none; box-shadow: 0 2px 8px rgba(5,13,31,.06); transition: all .3s; margin-bottom: .75rem; }
.cbox:hover { box-shadow: var(--sh3); transform: translateX(5px); border-color: var(--blue); }
.cbox-ic { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center;
  justify-content: center; font-size: 1.2rem; flex-shrink: 0; }
.cbox-t { color: var(--navy); font-weight: 700; font-size: 1rem; margin-bottom: .08rem; }
.cbox-s { font-size: 1rem; color: var(--muted); }
.cbox-ar { margin-left: auto; color: var(--line); font-size: 1rem; transition: all .3s; }
.cbox:hover .cbox-ar { color: var(--blue); transform: translateX(3px); }
.fac { background: var(--white); border: 1px solid var(--line); border-radius: var(--rl);
  overflow: hidden; box-shadow: 0 2px 8px rgba(5,13,31,.06); transition: all .3s; height: 100%; }
.fac:hover { transform: translateY(-5px); box-shadow: var(--sh4); border-color: transparent; }
.fac-img { height: 190px; overflow: hidden; background: var(--smoke); position: relative; }
.fac-img img { width: 100%; height: 100%; object-fit: cover; object-position: top;
  transition: transform .5s var(--ease); }
.fac:hover .fac-img img { transform: scale(1.06); }
.fac-bdg { position: absolute; bottom: .55rem; right: .55rem; background: var(--yellow);
  color: var(--navy); font-size: 1rem; font-weight: 800; letter-spacing: .05em;
  text-transform: uppercase; padding: .2rem .55rem; border-radius: 3px; }
.fac-body { padding: 1.2rem 1.4rem; }
.fac-sub  { font-size: 1rem; font-weight: 800; letter-spacing: .1rem; text-transform: uppercase;
  color: var(--blue); margin-bottom: .18rem; }
.fac-name { font-family: var(--fh); font-size: 1.05rem; font-weight: 700; color: var(--navy); }
.fac-tag  { display: inline-block; background: var(--pale); color: var(--blue);
  padding: .18rem .55rem; border-radius: 3px; font-size: 1rem; font-weight: 700; margin: .1rem; }
.fact-row { display: flex; align-items: flex-start; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.fact-row:last-child { border-bottom: none; }
.fact-k { font-size: 1rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
  color: var(--blue); min-width: 130px; flex-shrink: 0; padding-top: 2px; }
.fact-v { font-size: 1rem; color: var(--navy); }
.ibox { padding: .95rem 1.3rem; border-left: 4px solid var(--blue); background: var(--pale);
  border-radius: 0 var(--r) var(--r) 0; font-size: 1rem; color: var(--navy); }


/* ── PAGE HERO (inner pages) ── */
.phero{background:var(--navy);padding:5vw;position:relative;overflow:hidden}
.phero::before{content:'';position:absolute;top:-80px;right:-80px;width:360px;height:360px;border-radius:50%;background:rgba(253,216,53,.06);pointer-events:none}
.phero-in{position:relative;z-index:1}
.bc{display:flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:600;letter-spacing:.1rem;text-transform:uppercase;color:rgb(255 255 255);margin-bottom:1.1rem}
.bc a{color:var(--yellow);text-decoration:none}
.phero h1{font-family:var(--fh);font-size:clamp(2.6rem,5.5vw,5rem);font-weight:900;color:var(--white);line-height:.94;letter-spacing:-.025em;margin-bottom:.9rem}
.phero h1 em{font-family:var(--fi);font-style:italic;color:var(--yellow)}
.phero .psub{color:rgb(255 255 255);font-size:1.05rem;max-width:520px;line-height:1.78}

/* ── STEP CARDS ── */
.step-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rl);padding:1.7rem;height:100%;box-shadow:var(--sh1);transition:all .3s}
.step-card:hover{transform:translateY(-4px);box-shadow:var(--sh3);border-color:transparent}
.step-num{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--blue),#0E35B2);color:var(--white);font-family:var(--fh);font-size:1.1rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;box-shadow:0 4px 18px rgba(30,80,226,.28)}
.step-card h4{font-family:var(--fh);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.4rem}
.step-card p{font-size:.85rem;color:var(--muted);margin:0}

/* ── CONTACT BOX ── */
.cbox {
    display: inline-flex;
    min-width: 30%;
    margin-right: 1%;
    align-items: center;
    gap: 1.1rem;
    padding: 1.2rem 1.5rem;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--rl);
    text-decoration: none;
    box-shadow: var(--sh1);
    transition: all .3s;
    margin-bottom: .75rem;
}
.cbox:hover{box-shadow:var(--sh3);transform:translateX(5px);border-color:var(--blue)}
.cbox-ic{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.cbox-t{color:var(--navy);font-weight:700;font-size:.92rem;margin-bottom:.08rem}
.cbox-s{font-size:.89rem;color:var(--muted)}
.cbox-ar{margin-left:auto;color:var(--line);font-size:.95rem;transition:all .3s}
.cbox:hover .cbox-ar{color:var(--blue);transform:translateX(3px)}

/* ── FACULTY CARDS ── */
.fac{background:var(--white);border:1px solid var(--line);border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh1);transition:all .3s;height:100%}
.fac:hover{transform:translateY(-5px);box-shadow:var(--sh4);border-color:transparent}
.fac-img{height:385px;overflow:hidden;background:var(--smoke);position:relative}
.fac-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .5s;
    background: #e6ecea;
}
.fac:hover .fac-img img{transform:scale(1.06)}
.fac-bdg{position:absolute;bottom:.55rem;right:.55rem;background:var(--yellow);color:var(--navy);font-size:.58rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .55rem;border-radius:3px;display: none;}
.fac-body{padding:1.2rem 1.4rem}
.fac-sub{font-size:.62rem;font-weight:800;letter-spacing:.1rem;text-transform:uppercase;color:var(--blue);margin-bottom:.18rem}
.fac-name{font-family:var(--fh);font-size:1.05rem;font-weight:700;color:var(--navy)}
.fac-tag{display:inline-block;background:var(--pale);color:var(--blue);padding:.18rem .55rem;border-radius:3px;font-size:.63rem;font-weight:700;margin:.1rem}

/* ── FACT TABLE ── */
.fact-row{display:flex;align-items:flex-start;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.fact-row:last-child{border-bottom:none}
.fact-k{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--blue);min-width:130px;flex-shrink:0;padding-top:2px}
.fact-v{font-size:1rem;color:var(--navy)}
.ibox{padding:.95rem 1.3rem;border-left:4px solid var(--blue);background:var(--pale);border-radius:0 8px 8px 0;font-size:.88rem;color:var(--navy)}

/* ── MOBILE BOTTOM CTA ── */
.mbc{position:fixed;bottom:0;left:0;right:0;z-index:998;display:none;background:var(--navy);border-top:1px solid rgba(255,255,255,.06)}
.mbc a{flex:1;display:flex;align-items:center;justify-content:center;gap:.38rem;padding:.88rem;text-decoration:none;font-size:.78rem;font-weight:700;border-right:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.6);transition:all .25s}
.mbc a:last-child{border-right:none}
.mbc .mbca{background:var(--yellow);color:var(--navy);flex:1.4}
.mbc .mbca:hover{background:var(--ydark)}
.mbc .mbcw{background:#25D366;color:#fff}

/* ── ADMISSIONS FORM CARD ── */
.eq-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rx);padding:2.4rem;box-shadow:var(--sh4);position:sticky;top:calc(var(--nav) + 20px)}
.eq-card h3{font-family:var(--fh);font-size:1.75rem;font-weight:800;color:var(--navy);margin-bottom:.2rem}
.eq-sub{font-size:.82rem;color:var(--muted);margin-bottom:1.7rem}
.eq-eye{font-size:.63rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:.3rem}

/* ═══════════════════════════════════════
   ALL ISSUE FIXES — appended cleanly
   These override earlier rules correctly
═══════════════════════════════════════ */

/* Issue 1: Hero headline uses horizontal space, proof numbers bigger */
.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: 1rem; 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: rgba(255,255,255,.45); line-height: 1.3; }

/* Issue 1: Nav layout - logo left, spacer, links+CTA right */
.nav-spacer { flex: 1; }

/* Issue 4: CAS/EE/TOK - image bg, no icons in h3, 2 bullets, IB brand blues */
/* Issue 6: IB brand blues: #1E6BB5 (mid) and #38A9D5 (sky) */
.cp { position: relative; overflow: hidden; padding: 0; }
.cp.cas { background: #1E4D8C; }   /* IB brand blue */
.cp.ee  { background: #1E6BB5; }   /* IB mid blue */
.cp.tok { background: #38A9D5; }   /* IB sky blue */
.cp-img-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .12; }
.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-family: var(--fi); font-style: italic; font-size: 3.5rem; color: var(--yellow); line-height: 1; margin-bottom: .3rem; }
.cp-tag  { font-size: 1rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); display: block; margin-bottom: 1.4rem; }
.cp h3   { font-family: var(--fh); font-size: 1.4rem; font-weight: 700; color: var(--white); margin-bottom: .8rem; }
.cp p    { font-size: 1rem; color: rgba(255,255,255,.75); line-height: 1.75; margin-bottom: 1.2rem; }
.cp-list { list-style: none; padding: 0; }
.cp-li   { font-size: 1rem; color: rgba(255,255,255,.65); padding: .5rem 0; border-top: 1px solid rgba(255,255,255,.12); display: flex; align-items: flex-start; gap: .5rem; line-height: 1.5; }
.cp-li::before { content: '\2192'; color: var(--yellow); font-size: 1rem; flex-shrink: 0; margin-top: 2px; }

/* Issue 5: VS section - compact horizontal table */
.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: rgba(255,255,255,.35); 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: rgba(255,255,255,.45); 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: .3rem; }
.vs-not-val  { padding: .9rem 1.5rem; font-size: 1rem; color: rgba(255,255,255,.35); border-left: 1px solid rgba(255,255,255,.06); display: flex; align-items: center; gap: .3rem; }
/* Remove old vs-grid layout */
.vs-grid { display: none; }

/* Issue 7: Footer logo - remove invert filter, show naturally */
.f-brand img { height: 52px; margin-bottom: 1.3rem; filter: none; opacity: 1; }

/* Issue 8: Leadership - arrow CTA, aligned footer */
.lq-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-top: .75rem; }
.lq-cta { display: inline-flex; align-items: center; gap: .4rem; font-size: 1rem; font-weight: 700; color: var(--blue); transition: gap .25s, color .25s; text-decoration: none; }
.lq-cta:hover { gap: .7rem; color: var(--navy); }
.lq-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
/* Align the two lq cards evenly */
.lq-wrap { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; border-top: 3px solid var(--line); }
.lq { border-right: 1px solid var(--line); }
.lq:last-child { border-right: none; }

/* Issue 1: Nav spacer responsive */
@media (max-width: 991px) {
  .nav-spacer { display: none; }
  .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); }
}
@media (max-width: 767px) {
  .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; }
  .cbox {
    min-width: 48%;
    margin-right: 1%;
}
}
@media (max-width: 576px){
  .cbox {
    min-width: 48%;
    margin-right: 1%;
}

}
