
:root{
 --navy:#032465;--blue:#123A7A;--cyan:#12B8D6;--gold:#FAD80B;--warm:#FAD80B;--red:#E90A0C;
 --ink:#07123E;--muted:#5f6b86;--paper:#F7F8FA;--white:#FFFFFF;
}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}img{display:block;max-width:100%}
.container{width:min(1180px,calc(100% - 36px));margin:auto}
.section{position:relative;overflow:hidden;padding:115px 0}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:var(--blue);display:flex;align-items:center;gap:10px}
.eyebrow:before{content:"";width:30px;height:3px;border-radius:9px;background:linear-gradient(90deg,var(--cyan),var(--gold))}
h1,h2,h3,p{margin-top:0}h2{font-size:clamp(48px,7vw,96px);line-height:.9;letter-spacing:-.065em;margin:15px 0 22px}p{color:var(--muted);line-height:1.75}
.btn{display:inline-flex;align-items:center;gap:12px;padding:13px 18px;border-radius:999px;font-weight:850;font-size:13px;border:1px solid rgba(3,36,101,.12);transition:.3s}
.btn:hover{transform:translateY(-3px)}.btn-dark{background:var(--navy);color:#fff}.btn-white{background:#fff;color:var(--navy)}.btn-gold{background:var(--gold);color:var(--navy)}
.nav{position:sticky;z-index:100;top:12px;margin:12px auto 0;transform:none;width:min(1160px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;padding:8px 9px 8px 14px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(255,255,255,.76);backdrop-filter:blur(18px);box-shadow:0 14px 40px rgba(3,36,101,.09)}
.brand{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:900}.brand img{width:42px;height:42px;border-radius:50%}
.navlinks{display:flex;gap:2px;align-items:center}.navlinks a{padding:10px 11px;font-size:12px;font-weight:800;color:#425078;border-radius:99px}.navlinks a:hover{background:#F7F8FA;color:var(--blue)}.navlinks .navbtn{background:var(--navy);color:#fff;padding:10px 15px}
.menu{display:none;border:0;background:none;font-size:22px}

.hero{min-height:100svh;padding:145px 0 80px;background:
 radial-gradient(circle at 15% 15%,rgba(18,58,122,.25),transparent 25%),
 radial-gradient(circle at 88% 20%,rgba(250,216,11,.22),transparent 22%),
 radial-gradient(circle at 78% 80%,rgba(233,10,12,.12),transparent 28%),
 linear-gradient(135deg,#fff 0%,#F7F8FA 52%,#fff 100%)}
.hero-grid{min-height:78svh;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:50px}
.hero h1{font-size:clamp(72px,10.7vw,154px);line-height:.76;letter-spacing:-.09em;margin:20px 0 30px}
.hero h1 span{display:block}.hero h1 .blue{color:var(--blue)}.hero h1 .gold{color:var(--gold)}
.hero-copy p{font-size:17px;max-width:590px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero-art{min-height:540px;position:relative;display:grid;place-items:center}
.hero-art:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:conic-gradient(from 40deg,var(--cyan),var(--blue),var(--gold),var(--red),var(--cyan));filter:blur(2px);box-shadow:0 35px 100px rgba(18,58,122,.22)}
.hero-art:after{content:"";position:absolute;width:365px;height:365px;border-radius:50%;background:rgba(255,255,255,.72);backdrop-filter:blur(10px)}
.hero-logo{position:relative;z-index:3;width:250px;height:250px;border-radius:50%;box-shadow:0 28px 70px rgba(3,36,101,.17)}
.orbit{position:absolute;width:500px;height:500px;border:1px dashed rgba(3,36,101,.17);border-radius:50%;z-index:2}
.orbit-dot{position:absolute;width:15px;height:15px;border-radius:50%;z-index:4;background:var(--gold);box-shadow:0 0 0 8px rgba(250,216,11,.12)}.od1{top:7%;left:48%}.od2{right:4%;top:52%;background:var(--red)}.od3{bottom:10%;left:17%;background:var(--cyan)}
.hero-badge{position:absolute;z-index:5;right:0;bottom:38px;background:#fff;border-radius:22px;padding:17px 20px;box-shadow:0 20px 45px rgba(3,36,101,.12);font-size:12px;font-weight:900}.hero-badge strong{display:block;font-size:20px;margin-bottom:3px}
.scrollcue{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#737b95}

.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.intro-title{font-size:clamp(54px,7vw,105px);line-height:.84;letter-spacing:-.07em;margin:18px 0}.intro-title strong{color:var(--blue)}
.image-stage{height:570px;border-radius:40px;overflow:hidden;position:relative;background:linear-gradient(135deg,#123A7A,#123A7A);box-shadow:0 30px 80px rgba(3,36,101,.14)}
.image-stage img{width:100%;height:100%;object-fit:cover;mix-blend-mode:soft-light;opacity:.9}
.image-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(3,36,101,.15),rgba(18,58,122,.08))}
.image-label{position:absolute;z-index:2;left:25px;bottom:25px;color:#fff;font-weight:900;font-size:14px;letter-spacing:.04em}

.statement{background:linear-gradient(120deg,#edf9ff,#fff9e5 70%,#fff)}.statement-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px}
.statement-top>div:first-child{max-width:700px}.statement-copy{font-size:clamp(36px,5vw,72px);line-height:.96;letter-spacing:-.06em;margin:0}.statement-copy span:nth-child(1){color:var(--cyan)}.statement-copy span:nth-child(2){color:var(--blue)}.statement-copy span:nth-child(3){color:var(--gold)}.statement-copy span:nth-child(4){color:var(--red)}
.ribbon{display:flex;gap:0;overflow:hidden;border-radius:30px;box-shadow:0 20px 60px rgba(3,36,101,.1)}.ribbon-item{min-width:25%;padding:38px 28px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.ribbon-item:nth-child(1){background:var(--cyan)}.ribbon-item:nth-child(2){background:var(--blue)}.ribbon-item:nth-child(3){background:var(--gold);color:var(--navy)}.ribbon-item:nth-child(4){background:var(--red)}.ribbon-item b{font-size:30px;letter-spacing:-.05em}.ribbon-item span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;opacity:.8}

.journey{background:var(--navy);color:#fff}.journey .eyebrow{color:#FAD80B}.journey p{color:rgba(255,255,255,.68)}
.journey-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.journey-head>div:first-child{max-width:760px}
.journey-wrap{margin-top:85px;overflow:hidden}.journey-line{height:105px;position:relative;display:flex;justify-content:space-between}
.j-line{position:absolute;left:2%;right:2%;top:23px;height:3px;border-radius:99px;background:rgba(255,255,255,.15)}.j-progress{position:absolute;left:2%;top:23px;width:0;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--blue),var(--gold),var(--red),#fff)}
.j-point{position:relative;width:20%;text-align:center;z-index:2}.j-dot{width:21px;height:21px;margin:13px auto 18px;border-radius:50%;background:rgba(255,255,255,.22);border:5px solid rgba(3,36,101,.75);transition:.35s;box-shadow:0 0 0 4px rgba(255,255,255,.04)}.j-point.active .j-dot{background:var(--cyan);transform:scale(1.35);box-shadow:0 0 0 8px rgba(18,58,122,.16),0 0 25px rgba(18,58,122,.65)}.j-point:nth-child(4).active .j-dot{background:var(--gold)}.j-point:nth-child(5).active .j-dot{background:var(--red)}.j-point:nth-child(6).active .j-dot{background:#fff}
.j-title{font-size:12px;font-weight:900;letter-spacing:.15em;color:rgba(255,255,255,.45);transition:.35s}.j-point.active .j-title{color:#fff}
.j-descs{min-height:70px;display:grid;place-items:center;text-align:center}.j-desc{grid-area:1/1;max-width:680px;color:rgba(255,255,255,.72);opacity:0;transform:translateY(10px);transition:.35s;font-size:16px}.j-desc.active{opacity:1;transform:none}

.academic{background:#fff}.academic-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.academic-copy{max-width:570px}
.programs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:11px}.program{padding:15px 18px;border-radius:999px;background:#F7F8FA;border:1px solid rgba(18,58,122,.12);font-weight:850;font-size:13px;box-shadow:0 10px 25px rgba(3,36,101,.05)}.program:nth-child(2n){background:#EEF4FB}.program:nth-child(3n){background:#FFF8C7}.program:nth-child(5n){background:#FFF0F0}

.campus{background:linear-gradient(135deg,#F7F8FA,#fff)}.campus-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.campus-head>div:first-child{max-width:700px}
.campus-visual{height:580px;border-radius:42px;position:relative;overflow:hidden;background:#123A7A;box-shadow:0 30px 80px rgba(3,36,101,.14)}.campus-visual img{width:100%;height:100%;object-fit:cover;opacity:.45;mix-blend-mode:screen}.campus-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(3,36,101,.75),rgba(18,58,122,.15))}
.facility{position:absolute;z-index:3;padding:15px 17px;border-radius:18px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);font-size:12px;font-weight:900;box-shadow:0 15px 35px rgba(0,0,0,.12)}.f1{left:6%;top:16%}.f2{left:40%;top:12%}.f3{right:7%;top:26%}.f4{left:15%;bottom:17%}.f5{right:22%;bottom:12%}.f6{right:6%;bottom:29%}

.life{background:var(--navy);color:#fff}.life .eyebrow{color:#FAD80B}.life p{color:rgba(255,255,255,.7)}.life-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}
.life-grid{display:grid;grid-template-columns:1.25fr .75fr .9fr;grid-template-rows:250px 250px;gap:14px}.life-card{border-radius:28px;overflow:hidden;position:relative;background:#123A7A}.life-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.life-card:hover img{transform:scale(1.07)}.life-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,36,101,.8))}.life-card h3{position:absolute;z-index:2;left:22px;bottom:17px;margin:0;font-size:24px;letter-spacing:-.04em}.life-a{grid-row:1/3}.life-d{grid-column:2/4}

.achievements{background:#fff}.ach-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.ach-head>div:first-child{max-width:700px}.ach-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:50px}.ach{min-height:280px;border-radius:32px;padding:30px;position:relative;overflow:hidden}.ach:nth-child(1){background:#eaf9ff}.ach:nth-child(2){background:#fff6d4}.ach:nth-child(3){background:#FFF0F0}.ach:nth-child(4){background:#EEF1F7}.ach small{font-weight:900;letter-spacing:.13em;text-transform:uppercase}.ach h3{font-size:46px;line-height:.9;letter-spacing:-.06em;max-width:380px;margin:30px 0 0}.ach:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-65px;bottom:-80px;background:rgba(255,255,255,.45)}

.principal{background:linear-gradient(135deg,#E90A0C,#ee5c61 55%,#FAD80B);color:#fff}.principal-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.principal p{color:rgba(255,255,255,.87);font-size:17px}.quote{font-size:125px;line-height:.5;opacity:.35;font-weight:900}.person{justify-self:end;width:min(330px,100%);padding:20px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.13);backdrop-filter:blur(14px);border-radius:35px}.person img{height:300px;width:100%;object-fit:cover;border-radius:25px;background:#fff}.person strong{display:block;font-size:19px;margin:17px 0 3px}.person span{font-size:12px;opacity:.8}

.testimonials{background:#F7F8FA;text-align:center}.testimonial{max-width:900px;margin:45px auto 0;padding:55px 30px;border-radius:38px;background:#fff;box-shadow:0 25px 75px rgba(3,36,101,.1)}.testimonial blockquote{font-size:clamp(26px,4vw,48px);line-height:1.08;letter-spacing:-.04em;color:var(--navy);margin:0 0 20px}.testimonial cite{font-style:normal;color:var(--blue);font-weight:850}

.gallery{background:#fff}.gallery-strip{display:grid;grid-template-columns:1.4fr .7fr .9fr;grid-template-rows:230px 230px;gap:14px;margin-top:45px}.g{border-radius:27px;overflow:hidden}.g img{width:100%;height:100%;object-fit:cover;transition:.7s}.g:hover img{transform:scale(1.06)}.g1{grid-row:1/3}.g4{grid-column:2/4}

.video{background:linear-gradient(135deg,#eef9ff,#fff7dd)}.video-box{height:500px;border-radius:40px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--blue),var(--cyan));display:grid;place-items:center;box-shadow:0 30px 80px rgba(3,36,101,.15)}.video-box:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 0 50px rgba(255,255,255,.04),0 0 0 100px rgba(255,255,255,.03)}.play{position:relative;z-index:2;width:105px;height:105px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:28px;padding-left:5px;box-shadow:0 25px 60px rgba(0,0,0,.2);transition:.3s}.play:hover{transform:scale(1.08)}

.news{background:#fff}.news-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.news-list{margin-top:45px;border-top:1px solid rgba(3,36,101,.12)}.news-row{display:grid;grid-template-columns:130px 1fr auto;gap:25px;align-items:center;padding:27px 0;border-bottom:1px solid rgba(3,36,101,.12)}.news-row time{font-size:12px;color:var(--blue);font-weight:900}.news-row h3{margin:0;font-size:24px;letter-spacing:-.03em}.news-arrow{font-size:22px}

.admissions{background:radial-gradient(circle at 15% 20%,rgba(18,58,122,.25),transparent 22%),radial-gradient(circle at 85% 30%,rgba(250,216,11,.28),transparent 24%),linear-gradient(135deg,#fff,#f3f8ff 55%,#fff3d0);text-align:center}.admissions h2{font-size:clamp(68px,11vw,150px);margin:18px 0 25px}.admissions h2 span{color:var(--blue)}.admissions h2 strong{color:var(--gold)}.admissions p{max-width:650px;margin:0 auto 28px;font-size:17px}.admission-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}

.footer{background:var(--navy);color:#fff;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr .6fr .8fr;gap:50px;padding-bottom:45px}.footer .brand span{color:#fff}.footer p{color:rgba(255,255,255,.62);max-width:430px}.footer h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#FAD80B;margin:0 0 14px}.footer a{display:block;color:rgba(255,255,255,.7);font-size:13px;margin:9px 0}.footbottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;color:rgba(255,255,255,.45);font-size:11px;display:flex;justify-content:space-between}

.reveal{opacity:0;transform:translateY(38px)}
@media(max-width:900px){
 .navlinks{display:none}.menu{display:block}
 .hero-grid,.intro-grid,.academic-grid,.principal-grid{grid-template-columns:1fr}
 .hero-art{order:-1;min-height:380px}.hero-logo{width:190px;height:190px}.hero-art:before{width:330px;height:330px}.hero-art:after{width:280px;height:280px}.orbit{width:375px;height:375px}
 .hero-badge{right:4%;bottom:10px}
 .statement-top,.campus-head,.life-head,.ach-head,.news-head,.journey-head{align-items:flex-start;flex-direction:column}
 .ribbon{overflow-x:auto}.ribbon-item{min-width:260px}
 .campus-visual{height:470px}
 .life-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}.life-a{grid-row:1/3}.life-d{grid-column:1/3}
 .ach-grid{grid-template-columns:1fr}
 .person{justify-self:start}
 .gallery-strip{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}.g1{grid-row:1/3}.g4{grid-column:1/3}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .container{width:calc(100% - 28px)}.section{padding:82px 0}
 .brand span{display:none}.hero{padding-top:110px}.hero h1{font-size:clamp(62px,18vw,100px)}
 .hero-art{min-height:330px}.hero-logo{width:160px;height:160px}.hero-art:before{width:280px;height:280px}.hero-art:after{width:235px;height:235px}.orbit{width:300px;height:300px}
 .journey-wrap{margin-top:55px;overflow-x:auto;padding-bottom:8px}.journey-line{min-width:760px}.journey-line-wrap{min-width:760px}.j-desc{font-size:14px;max-width:520px}
 .life-grid{grid-template-columns:1fr;grid-template-rows:260px 210px 210px 210px}.life-a{grid-row:auto}.life-d{grid-column:auto}
 .gallery-strip{grid-template-columns:1fr;grid-template-rows:250px 190px 190px 190px}.g1{grid-row:auto}.g4{grid-column:auto}
 .news-row{grid-template-columns:75px 1fr;gap:14px}.news-arrow{display:none}
 .video-box{height:380px}.footer-grid{grid-template-columns:1fr}.footbottom{flex-direction:column;gap:8px}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* RACE HERO — INFINITE EVENT / PHOTO BANNER */
.hero{
  min-height:100svh;
  padding:125px 0 170px;
  background:
    radial-gradient(circle at 10% 20%,rgba(18,58,122,.22),transparent 28%),
    radial-gradient(circle at 86% 17%,rgba(250,216,11,.20),transparent 25%),
    linear-gradient(135deg,#fff 0%,#f1f9ff 55%,#FFFBEA 100%);
}
.hero-grid{min-height:61svh;position:relative;z-index:3}
.hero-visual{min-height:440px;position:relative;display:grid;place-items:center}
.hero-visual-glow{
  position:absolute;width:410px;height:410px;border-radius:50%;
  background:conic-gradient(from 25deg,var(--cyan),var(--blue),var(--gold),var(--red),var(--cyan));
  filter:blur(1px);opacity:.92;
  box-shadow:0 35px 90px rgba(18,58,122,.22);
}
.hero-visual-glow:after{
  content:"";position:absolute;inset:24px;border-radius:50%;
  background:rgba(255,255,255,.78);backdrop-filter:blur(12px);
}
.hero-logo-wrap{
  position:relative;z-index:4;width:250px;height:250px;border-radius:50%;
  display:grid;place-items:center;
}
.hero-logo{
  width:250px;height:250px;border-radius:50%;
  box-shadow:0 30px 80px rgba(3,36,101,.17);
}
.hero-floating-tag{
  position:absolute;z-index:7;padding:12px 17px;border-radius:999px;
  background:#fff;box-shadow:0 15px 35px rgba(3,36,101,.12);
  font-size:11px;font-weight:950;letter-spacing:.14em;
}
.tag-one{top:12%;left:8%;color:var(--cyan)}
.tag-two{right:2%;top:42%;color:var(--gold)}
.tag-three{bottom:8%;left:16%;color:var(--red)}
.hero-event-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-event-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.2}
.orb-a{width:220px;height:220px;right:-50px;bottom:22%;background:var(--cyan)}
.orb-b{width:160px;height:160px;left:-40px;top:35%;background:var(--gold)}

.hero-event-banner{
  position:absolute;z-index:20;
  left:0;right:0;bottom:0;
  padding:16px 0 20px;
  background:rgba(3,36,101,.97);
  color:#fff;
  box-shadow:0 -20px 60px rgba(3,36,101,.08);
}
.hero-event-head{
  width:min(1180px,calc(100% - 36px));margin:0 auto 11px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
}
.hero-event-head span{font-size:10px;letter-spacing:.18em;font-weight:950}
.hero-event-head small{font-size:10px;color:rgba(255,255,255,.55)}
.hero-marquee{overflow:hidden;width:100%}
.hero-marquee-track{
  display:flex;gap:12px;width:max-content;
  will-change:transform;
}
.hero-event-card{
  position:relative;flex:0 0 285px;height:135px;border-radius:20px;overflow:hidden;
  background:var(--blue);color:#fff;
  border:1px solid rgba(255,255,255,.12);
}
.hero-event-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.hero-event-card:hover img{transform:scale(1.08)}
.event-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(8,14,55,.9))}
.event-copy{position:absolute;left:16px;right:14px;bottom:13px;z-index:2}
.event-copy small{display:block;font-size:8px;letter-spacing:.16em;font-weight:900;color:#FAD80B;margin-bottom:4px}
.event-copy strong{font-size:15px;letter-spacing:-.02em}
.hero-event-card:nth-child(3n) .event-copy small{color:#FAD80B}
.hero-event-card:nth-child(4n) .event-copy small{color:#FAD80B}

@media(max-width:900px){
  .hero{padding-top:105px;padding-bottom:145px}
  .hero-grid{min-height:58svh}
  .hero-visual{min-height:330px;order:-1}
  .hero-visual-glow{width:300px;height:300px}
  .hero-logo-wrap,.hero-logo{width:185px;height:185px}
  .hero-floating-tag{font-size:9px;padding:9px 12px}
  .tag-one{left:0}.tag-two{right:0}.tag-three{bottom:0}
  .hero-event-card{flex-basis:225px;height:105px}
}
@media(max-width:620px){
  .hero{padding-top:92px;padding-bottom:128px}
  .hero-grid{min-height:58svh}
  .hero-visual{min-height:255px}
  .hero-visual-glow{width:225px;height:225px}
  .hero-logo-wrap,.hero-logo{width:145px;height:145px}
  .hero-copy{text-align:center}
  .hero-copy .eyebrow{justify-content:center}
  .hero-copy p{font-size:14px}
  .hero-actions{justify-content:center}
  .hero-event-head{width:calc(100% - 24px)}
  .hero-event-head small{display:none}
  .hero-event-card{flex-basis:195px;height:92px;border-radius:16px}
  .event-copy{left:12px;bottom:10px}.event-copy strong{font-size:13px}
}


.hero-event-card::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.16);
  border-radius:inherit;
  pointer-events:none;
}
.hero-event-card img{transform:scale(1.01)}
@keyframes raceEventFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}
.hero-event-card{animation:raceEventFloat 4s ease-in-out infinite}
.hero-event-card:nth-child(2n){animation-delay:-1.2s}
.hero-event-card:nth-child(3n){animation-delay:-2.2s}
@media(max-width:620px){
  .hero-event-head{margin-bottom:8px}
  .hero-event-banner{padding:10px 0 12px}
}


/* Autonomous Student Journey — no page scrolling required */
.journey-wrap{position:relative}
.journey-line .j-progress{transition:none}
.j-point{cursor:default}
.j-desc{will-change:opacity,transform}
@media (prefers-reduced-motion: reduce){
  .journey-wrap .j-progress{transition:none!important}
}


/* LARGE AUTONOMOUS JOURNEY */
.journey.section{padding:150px 0;min-height:720px}
.journey h2{font-size:clamp(64px,8vw,112px);line-height:.82}
.journey-head>div:first-child{max-width:900px}
.journey-head p{font-size:18px}
.journey-wrap{margin-top:105px}
.journey-line{height:135px}
.j-line,.j-progress{top:30px;height:4px}
.j-dot{width:27px;height:27px;margin:17px auto 23px;border-width:6px}
.j-point.active .j-dot{transform:scale(1.5)}
.j-title{font-size:15px;letter-spacing:.18em}
.j-descs{min-height:100px}
.j-desc{font-size:20px;max-width:900px;line-height:1.55}
@media(max-width:900px){
 .journey.section{padding:110px 0;min-height:650px}
 .journey-wrap{margin-top:70px}
 .journey-line{height:115px}
 .j-desc{font-size:17px}
}
@media(max-width:620px){
 .journey.section{padding:90px 0}
 .journey-wrap{overflow-x:auto}
 .journey-line{min-width:760px}
 .j-descs{min-width:760px}
 .j-desc{font-size:15px}
}


/* ACHIEVEMENTS — VISUAL WALL */
.achievements-new{background:#f7fbff}
.achievement-intro{
 display:grid;grid-template-columns:150px 1fr auto;gap:30px;align-items:end;margin-bottom:55px
}
.achievement-number{
 font-size:clamp(100px,15vw,190px);line-height:.65;letter-spacing:-.1em;
 color:transparent;-webkit-text-stroke:2px rgba(3,36,101,.18);font-weight:950;
}
.achievement-heading h2{font-size:clamp(58px,7vw,100px);line-height:.84;margin:12px 0 0}
.achievement-wall{display:grid;grid-template-columns:1.1fr .9fr .9fr 1.1fr;gap:14px;align-items:stretch}
.achievement-tile{
 min-height:390px;border-radius:32px;padding:27px;position:relative;overflow:hidden;
 display:flex;flex-direction:column;justify-content:space-between;
 box-shadow:0 25px 60px rgba(3,36,101,.08)
}
.tile-blue{background:var(--blue);color:#fff;transform:rotate(-1.2deg)}
.tile-gold{background:var(--gold);color:var(--navy);transform:translateY(24px) rotate(1deg)}
.tile-red{background:var(--red);color:#fff;transform:rotate(-.7deg)}
.tile-cyan{background:var(--cyan);color:var(--navy);transform:translateY(24px) rotate(1.1deg)}
.achievement-tile small{font-size:10px;letter-spacing:.16em;font-weight:950}
.achievement-tile h3{font-size:clamp(32px,4vw,52px);line-height:.9;letter-spacing:-.06em;margin:0;position:relative;z-index:2}
.tile-index{font-size:12px;font-weight:950;opacity:.7}
.tile-mark{
 position:absolute;right:-15px;bottom:-35px;font-size:170px;line-height:.8;font-weight:950;
 opacity:.12;transform:rotate(-12deg)
}
@media(max-width:1000px){
 .achievement-intro{grid-template-columns:100px 1fr}
 .achievement-intro .btn{grid-column:2;justify-self:start}
 .achievement-wall{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .achievement-intro{grid-template-columns:1fr}
 .achievement-intro .btn{grid-column:auto}
 .achievement-number{font-size:100px}
 .achievement-wall{grid-template-columns:1fr}
 .achievement-tile{min-height:280px}
 .tile-gold,.tile-cyan{transform:none}
}


/* ============================================================
   RACE STUDENT JOURNEY — ANIMATED STUDENT PROGRESSION
   The five supplied students stay mapped to the five dots,
   but each stage now visibly animates as the journey advances.
   ============================================================ */
.journey-line{height:215px;align-items:flex-start}
.j-line,.j-progress{top:80px}
.j-point{height:215px;position:relative;text-align:center}
.j-character{
  position:absolute;top:-2px;left:50%;
  width:112px;height:86px;
  transform:translateX(-50%);
  display:grid;place-items:end center;
  z-index:5;pointer-events:none;
  opacity:.45;transform-origin:center bottom;
}
.j-character img{
  width:112px;height:86px;object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.16));
  will-change:transform,opacity,filter;
}
.j-point.active .j-character{opacity:1}
.j-dot{position:relative;z-index:8;margin:70px auto 18px}
.j-title{position:relative;z-index:9}
.j-point:not(.active) .j-dot{opacity:.72}
.j-character.is-floating img{animation:raceStudentFloat 2.1s ease-in-out infinite}
@keyframes raceStudentFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-7px) rotate(-1.2deg)}
}
.j-character::after{
  content:"";position:absolute;left:50%;bottom:-2px;
  width:72px;height:15px;transform:translateX(-50%) scale(.7);
  border-radius:50%;background:rgba(18,58,122,.22);
  filter:blur(7px);opacity:0;z-index:-1;
}
.j-point.active .j-character::after{opacity:1}
@media(max-width:900px){
  .journey-line{height:195px}.j-point{height:195px}
  .j-line,.j-progress{top:72px}
  .j-character{width:92px;height:74px}
  .j-character img{width:92px;height:74px}
  .j-dot{margin-top:62px}
}
@media(max-width:620px){
  .journey-line{height:190px;min-width:760px}.j-point{height:190px}
  .j-line,.j-progress{top:70px}
  .j-character{width:88px;height:70px}
  .j-character img{width:88px;height:70px}
  .j-dot{margin-top:60px}
}

/* ============================================================
   RACE — SHARED EDITORIAL SECTION LANGUAGE
   Large outlined number + existing section title.
   Content/layout remains section-specific.
   ============================================================ */
.section[data-section-number]{
  position:relative;
  overflow:hidden;
}
.section[data-section-number]::before{
  content:attr(data-section-number);
  position:absolute;
  z-index:0;
  left:3.2%;
  top:34px;
  font-size:clamp(145px,17vw,245px);
  line-height:.72;
  font-weight:950;
  letter-spacing:-.12em;
  color:transparent;
  -webkit-text-stroke:2px rgba(3,36,101,.14);
  pointer-events:none;
}
.section[data-section-number] > .container{
  position:relative;
  z-index:1;
}

/* Existing section titles become more like the reference screenshot. */
.statement-top h2,
.journey-head h2,
.academic-copy h2,
.campus-head h2,
.life-head h2,
.achievement-heading h2,
.news-head h2{
  font-size:clamp(58px,7vw,108px);
  line-height:.82;
  letter-spacing:-.08em;
}
.intro-title{
  font-size:clamp(58px,7vw,108px);
  line-height:.80;
  letter-spacing:-.08em;
}
.testimonials h2{
  font-size:clamp(58px,7vw,108px);
  line-height:.82;
  letter-spacing:-.08em;
}
.gallery .statement-top h2{
  font-size:clamp(58px,7vw,108px);
}

/* Keep the existing heading/button relationship. */
.statement-top,
.journey-head,
.academic-grid,
.campus-head,
.life-head,
.news-head{
  position:relative;
  z-index:2;
}

/* Videos: screenshot-style sticky left column. */
.video-new .video-layout{
  position:relative;
  align-items:start;
}
.video-new .video-sticky{
  position:sticky;
  top:105px;
  z-index:5;
}
.video-new .video-sticky::before{
  content:"12";
  position:absolute;
  z-index:-1;
  left:-12px;
  top:-28px;
  font-size:clamp(130px,15vw,220px);
  line-height:.7;
  font-weight:950;
  letter-spacing:-.12em;
  color:transparent;
  -webkit-text-stroke:2px rgba(3,36,101,.13);
  pointer-events:none;
}
.video-new .video-sticky .eyebrow{
  position:relative;
  z-index:2;
}
.video-new .video-sticky h2{
  position:relative;
  z-index:2;
  font-size:clamp(58px,7vw,104px);
  line-height:.80;
  letter-spacing:-.08em;
}
.video-new .video-feature{
  position:relative;
  z-index:2;
}

/* Achievements: preserve the screenshot-inspired large statement. */
.achievements-new .achievement-intro{
  position:relative;
  z-index:2;
}
.achievements-new .achievement-heading h2{
  font-size:clamp(62px,7.8vw,116px);
  line-height:.80;
  letter-spacing:-.085em;
}

/* Mobile */
@media(max-width:900px){
  .section[data-section-number]::before{
    left:2%;
    top:28px;
    font-size:150px;
  }
  .video-new .video-sticky{
    position:relative;
    top:auto;
  }
}
@media(max-width:620px){
  .section[data-section-number]::before{
    left:1%;
    top:22px;
    font-size:105px;
    -webkit-text-stroke:1.5px rgba(3,36,101,.13);
  }
  .statement-top h2,
  .journey-head h2,
  .academic-copy h2,
  .campus-head h2,
  .life-head h2,
  .achievements-new .achievement-heading h2,
  .news-head h2,
  .testimonials h2,
  .gallery .statement-top h2,
  .video-new .video-sticky h2,
  .intro-title{
    font-size:clamp(45px,13vw,72px);
  }
}


/* ============================================================
   FLOATING BOOK MOTIF
   Subtle educational visual language across the page.
   ============================================================ */
.race-floating-books{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:4;
  overflow:hidden;
}
.floating-book{
  position:absolute;
  width:clamp(55px,7vw,115px);
  height:auto;
  object-fit:contain;
  opacity:.075;
  filter:saturate(.65) contrast(.9);
  mix-blend-mode:multiply;
  will-change:transform;
}
.book-1{left:3%;top:15%;transform:rotate(-12deg);animation:raceBookFloat1 11s ease-in-out infinite}
.book-2{right:5%;top:28%;width:clamp(50px,6vw,100px);transform:rotate(12deg);animation:raceBookFloat2 14s ease-in-out infinite}
.book-3{left:8%;top:58%;width:clamp(48px,5.5vw,90px);transform:rotate(8deg);animation:raceBookFloat3 13s ease-in-out infinite}
.book-4{right:10%;top:72%;width:clamp(58px,7vw,110px);transform:rotate(-14deg);animation:raceBookFloat4 16s ease-in-out infinite}
.book-5{left:43%;top:35%;width:clamp(40px,4.5vw,75px);opacity:.045;transform:rotate(15deg);animation:raceBookFloat5 12s ease-in-out infinite}
.book-6{right:36%;top:84%;width:clamp(42px,5vw,82px);opacity:.045;transform:rotate(-9deg);animation:raceBookFloat6 15s ease-in-out infinite}

@keyframes raceBookFloat1{
  0%,100%{transform:translate3d(0,0,0) rotate(-12deg)}
  50%{transform:translate3d(24px,-32px,0) rotate(-4deg)}
}
@keyframes raceBookFloat2{
  0%,100%{transform:translate3d(0,0,0) rotate(12deg)}
  50%{transform:translate3d(-28px,28px,0) rotate(19deg)}
}
@keyframes raceBookFloat3{
  0%,100%{transform:translate3d(0,0,0) rotate(8deg)}
  50%{transform:translate3d(35px,-24px,0) rotate(1deg)}
}
@keyframes raceBookFloat4{
  0%,100%{transform:translate3d(0,0,0) rotate(-14deg)}
  50%{transform:translate3d(-30px,-38px,0) rotate(-5deg)}
}
@keyframes raceBookFloat5{
  0%,100%{transform:translate3d(0,0,0) rotate(15deg)}
  50%{transform:translate3d(18px,26px,0) rotate(25deg)}
}
@keyframes raceBookFloat6{
  0%,100%{transform:translate3d(0,0,0) rotate(-9deg)}
  50%{transform:translate3d(-18px,-30px,0) rotate(-18deg)}
}

@media(max-width:700px){
  .race-floating-books{display:none}
}


/* ============================================================
   RACE SPECIAL PROGRAMMES — POKER ENTRANCE
   Cards begin as a compact poker hand and automatically spread
   into a clean four-card layout when the section is visited.
   ============================================================ */
.programmes-poker-section{
  position:relative;
  overflow:clip;
}
.poker-stage{
  height:650px;
  margin-top:55px;
  position:relative;
}
.poker-hand{
  position:relative;
  width:100%;
  height:620px;
  perspective:1600px;
}
.poker-card{
  position:absolute;
  top:35px;
  left:50%;
  width:320px;
  height:560px;
  margin-left:-160px;
  border-radius:30px;
  padding:30px;
  overflow:hidden;
  box-sizing:border-box;
  transform-origin:center 88%;
  box-shadow:0 25px 65px rgba(3,36,101,.14);
  will-change:transform;
}
.poker-card-1{background:#123A7A;color:#fff}
.poker-card-2{background:#FAD80B;color:#032465}
.poker-card-3{background:#E90A0C;color:#fff}
.poker-card-4{background:#123A7A;color:#fff}

.poker-card-number{
  position:absolute;
  top:28px;
  left:30px;
  font-size:12px;
  line-height:1;
  font-weight:950;
  opacity:.8;
}
.poker-card-label{
  position:absolute;
  top:188px;
  left:30px;
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.16em;
}
.poker-card h3{
  position:absolute;
  left:30px;
  bottom:36px;
  margin:0;
  font-size:clamp(37px,4vw,56px);
  line-height:.86;
  letter-spacing:-.075em;
  font-weight:950;
}
.poker-card-letter{
  position:absolute;
  right:-18px;
  bottom:-78px;
  font-size:240px;
  line-height:.8;
  font-weight:950;
  opacity:.10;
  transform:rotate(-7deg);
}

@media(max-width:1100px){
  .poker-stage{height:600px}
  .poker-hand{height:570px}
  .poker-card{width:280px;height:510px;margin-left:-140px}
}
@media(max-width:760px){
  .poker-stage{height:540px;margin-top:30px}
  .poker-hand{height:510px}
  .poker-card{width:235px;height:430px;margin-left:-117.5px;border-radius:24px;padding:23px}
  .poker-card-number{top:23px;left:23px}
  .poker-card-label{top:145px;left:23px;font-size:9px}
  .poker-card h3{left:23px;bottom:28px;font-size:34px}
  .poker-card-letter{font-size:180px;bottom:-55px}
}
@media(max-width:520px){
  .poker-stage{height:465px}
  .poker-hand{height:440px}
  .poker-card{width:190px;height:365px;margin-left:-95px}
  .poker-card-label{top:125px}
  .poker-card h3{font-size:28px}
}


/* FINAL MOBILE POKER CARD FIX */
@media (max-width:760px){
  html,body{overflow-x:hidden !important;}
  .programmes-poker-section{
    overflow:hidden !important;
  }
  .programmes-poker-section .container{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .poker-stage{
    height:565px !important;
    margin-top:28px !important;
    overflow:hidden !important;
  }
  .poker-hand{
    width:100% !important;
    height:540px !important;
    overflow:visible !important;
  }
  .poker-card{
    width:185px !important;
    height:235px !important;
    margin-left:-92.5px !important;
    top:0 !important;
    border-radius:22px !important;
    padding:19px !important;
  }
  .poker-card-number{
    top:17px !important;
    left:19px !important;
    font-size:10px !important;
  }
  .poker-card-label{
    top:78px !important;
    left:19px !important;
    font-size:8px !important;
  }
  .poker-card h3{
    left:19px !important;
    bottom:19px !important;
    font-size:25px !important;
    line-height:.88 !important;
  }
  .poker-card-letter{
    right:-10px !important;
    bottom:-48px !important;
    font-size:135px !important;
  }
}

@media (max-width:380px){
  .poker-stage{
    height:525px !important;
  }
  .poker-hand{
    height:500px !important;
  }
  .poker-card{
    width:164px !important;
    height:215px !important;
    margin-left:-82px !important;
    border-radius:19px !important;
    padding:16px !important;
  }
  .poker-card-number{
    top:15px !important;
    left:16px !important;
  }
  .poker-card-label{
    top:70px !important;
    left:16px !important;
    font-size:7px !important;
  }
  .poker-card h3{
    left:16px !important;
    bottom:16px !important;
    font-size:22px !important;
  }
  .poker-card-letter{
    font-size:120px !important;
  }
}


/* ============================================================
   RACE ACADEMICS — FLIPBOOK LEARNING JOURNEY
   Replaces the old programme-pill grid while preserving the
   existing RACE visual language and section numbering.
   ============================================================ */
.flipbook-section{background:linear-gradient(135deg,#f8fcff 0%,#fff 48%,#fff9e9 100%)}
.flipbook-head{display:grid;grid-template-columns:1.05fr .75fr;gap:60px;align-items:end;position:relative;z-index:3}
.flipbook-head h2{font-size:clamp(62px,7.8vw,116px);line-height:.80;letter-spacing:-.085em;margin:14px 0 0}
.flipbook-intro{max-width:460px;padding-bottom:8px}.flipbook-intro p{font-size:16px;margin-bottom:24px}
.flipbook{height:650px;margin-top:72px;position:relative;perspective:2200px;display:grid;grid-template-columns:1fr 1fr;filter:drop-shadow(0 35px 60px rgba(3,36,101,.13))}
.book-shadow{position:absolute;left:5%;right:5%;bottom:8px;height:60px;border-radius:50%;background:rgba(3,36,101,.16);filter:blur(22px);z-index:0}
.book-spine{position:absolute;left:50%;top:5%;bottom:6%;width:7px;transform:translateX(-50%);z-index:9;background:linear-gradient(90deg,rgba(3,36,101,.18),rgba(255,255,255,.75),rgba(3,36,101,.13));border-radius:8px;box-shadow:0 0 18px rgba(3,36,101,.08)}
.book-page{position:relative;min-width:0;overflow:hidden;padding:34px 42px 38px;background:#fff;border:1px solid rgba(3,36,101,.08);transform-style:preserve-3d}
.book-left{border-radius:34px 8px 8px 34px;transform-origin:right center;background:linear-gradient(135deg,#fff 0%,#f7fbff 100%);box-shadow:inset -18px 0 30px rgba(3,36,101,.045)}
.book-right{border-radius:8px 34px 34px 8px;background:linear-gradient(225deg,#fff 0%,#fffaf0 100%);box-shadow:inset 18px 0 30px rgba(3,36,101,.045)}
.page-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;font-weight:950;color:#77809b;padding-bottom:18px;border-bottom:1px solid rgba(3,36,101,.09)}
.page-content{padding-top:45px;position:relative;z-index:2}.page-kicker{font-size:10px;letter-spacing:.18em;font-weight:950;color:var(--blue)}
.book-right .page-kicker{color:#FAD80B}.page-content h3{font-size:clamp(42px,4.8vw,70px);line-height:.86;letter-spacing:-.075em;margin:16px 0 18px;color:var(--navy)}
.page-content p{font-size:14px;max-width:390px;line-height:1.7;margin-bottom:24px}
.page-programs{display:flex;flex-wrap:wrap;gap:8px;max-width:470px}.page-chip{appearance:none;border:1px solid rgba(3,36,101,.12);background:#F7F8FA;color:var(--navy);border-radius:999px;padding:11px 13px;font:800 11px Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:.25s;min-height:40px}.page-chip:hover,.page-chip:focus-visible{transform:translateY(-2px);outline:none;border-color:var(--blue);box-shadow:0 8px 20px rgba(18,58,122,.10)}.page-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.book-right .page-chip:nth-child(2n){background:#FFF8C7}.book-right .page-chip:nth-child(3n){background:#EEF4FB}.book-right .page-chip.active{background:var(--navy);color:#fff}
.page-mark{position:absolute;right:-5px;bottom:-42px;font-size:190px;font-weight:950;line-height:.8;letter-spacing:-.1em;color:rgba(18,58,122,.055);transform:rotate(-8deg);pointer-events:none}.book-right .page-mark{color:rgba(250,216,11,.08);transform:rotate(8deg)}
.page-no{position:absolute;bottom:28px;right:38px;font-size:10px;letter-spacing:.16em;font-weight:950;color:#8a91a8}
.book-cover{position:absolute;z-index:12;left:50%;top:5%;bottom:6%;width:50%;padding:44px 42px;border-radius:8px 34px 34px 8px;background:linear-gradient(145deg,var(--navy),#1c5fae 60%,var(--cyan));color:#fff;transform-origin:left center;transform:translateX(0) rotateY(0deg);backface-visibility:hidden;box-shadow:15px 20px 50px rgba(3,36,101,.22);cursor:pointer;display:flex;flex-direction:column;justify-content:space-between}
.book-cover:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.18);border-radius:5px 25px 25px 5px;pointer-events:none}.book-cover:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-60px;bottom:-55px;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 32px rgba(255,255,255,.04),0 0 0 64px rgba(255,255,255,.025)}
.cover-number{font-size:13px;font-weight:950;letter-spacing:.14em;position:relative;z-index:2}.cover-kicker{font-size:10px;letter-spacing:.2em;font-weight:950;position:relative;z-index:2;opacity:.75}.book-cover strong{font-size:clamp(54px,5vw,78px);line-height:.82;letter-spacing:-.08em;position:relative;z-index:2}.cover-note{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:900;position:relative;z-index:2;color:#FAD80B}
.flipbook.open .book-cover{box-shadow:5px 20px 40px rgba(3,36,101,.12)}
.flipbook-caption{margin:24px 4px 0;display:grid;grid-template-columns:55px auto 1fr;gap:14px;align-items:center;color:var(--muted);font-size:12px}.flipbook-caption .caption-index{font-size:11px;font-weight:950;color:var(--blue);letter-spacing:.12em}.flipbook-caption strong{font-size:14px;color:var(--navy)}
.flipbook-caption span:last-child{justify-self:end;text-align:right;max-width:520px}

@media(max-width:900px){
 .flipbook-head{grid-template-columns:1fr;gap:20px}.flipbook-intro{max-width:650px}.flipbook{height:570px;margin-top:50px}.book-page{padding:28px 27px}.page-content{padding-top:32px}.page-content h3{font-size:44px}.book-cover{padding:32px 28px}.book-cover strong{font-size:48px}.page-programs{gap:7px}.page-chip{font-size:10px;padding:9px 10px}.flipbook-caption{grid-template-columns:45px 1fr}.flipbook-caption span:last-child{grid-column:2;justify-self:start;text-align:left}
}
@media(max-width:620px){
 .flipbook-section{padding-bottom:70px}.flipbook-head h2{font-size:clamp(48px,13vw,72px)}.flipbook-intro p{font-size:14px}.flipbook{height:600px;margin-top:38px;display:block;filter:drop-shadow(0 25px 40px rgba(3,36,101,.13));perspective:1800px}
 .book-page{position:absolute;inset:0;padding:24px 22px;border-radius:24px;background:#fff}.book-left{transform-origin:center center;z-index:2}.book-right{z-index:1;padding-top:24px}.book-spine{left:50%;top:2%;bottom:2%;width:4px;z-index:7}.book-cover{left:0;top:0;bottom:0;width:100%;padding:30px 25px;border-radius:24px;transform-origin:left center;z-index:10}.book-cover strong{font-size:clamp(54px,15vw,78px)}.page-top{font-size:8px}.page-content{padding-top:32px}.page-content h3{font-size:clamp(42px,12vw,58px)}.page-content p{font-size:13px;max-width:100%;margin-bottom:18px}.page-programs{max-width:100%;gap:7px}.page-chip{padding:9px 11px;font-size:10px}.page-mark{font-size:150px}.page-no{right:22px;bottom:22px}.flipbook-caption{margin-top:18px;grid-template-columns:40px 1fr;gap:10px}.flipbook-caption span:last-child{grid-column:1/-1}.flipbook-caption strong{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.book-cover{transform:none!important}.flipbook.open .book-cover{transform:none!important}.j-character.is-floating img{animation:none!important}}


/* ============================================================
   RACE — INTERACTIVE FLIPBOOK + PARENT VIDEO STORIES
   ============================================================ */
.race-book-wrap{position:relative;margin-top:58px}
.race-book-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:16px;position:relative;z-index:30;flex-wrap:wrap}
.book-btn{border:1px solid rgba(3,36,101,.12);background:#fff;color:var(--navy);border-radius:999px;min-height:44px;padding:11px 15px;font:850 12px Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:.25s;box-shadow:0 8px 22px rgba(3,36,101,.05)}
.book-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px rgba(3,36,101,.09)}
.book-btn:disabled{opacity:.38;cursor:not-allowed}
.book-open-btn{background:var(--navy);color:#fff;border-color:var(--navy)}
.book-flip{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.book-page-count{font-size:10px;font-weight:950;letter-spacing:.15em;color:#78819d;margin-left:5px}
.flipbook{height:650px;margin-top:0;position:relative;perspective:2400px;display:block;filter:drop-shadow(0 35px 60px rgba(3,36,101,.13));overflow:visible}
.book-shadow{position:absolute;left:5%;right:5%;bottom:8px;height:60px;border-radius:50%;background:rgba(3,36,101,.16);filter:blur(22px);z-index:0}
.book-spread{position:absolute;inset:5% 0 6%;display:grid;grid-template-columns:1fr 1fr;perspective:2400px;transform-style:preserve-3d}
.book-page{position:relative;min-width:0;overflow:hidden;padding:34px 42px 38px;background:#fff;border:1px solid rgba(3,36,101,.08);transform-style:preserve-3d;backface-visibility:hidden}
.book-left{border-radius:34px 8px 8px 34px;transform-origin:right center;background:linear-gradient(135deg,#fff 0%,#f7fbff 100%);box-shadow:inset -18px 0 30px rgba(3,36,101,.045)}
.book-right{border-radius:8px 34px 34px 8px;background:linear-gradient(225deg,#fff 0%,#fffaf0 100%);box-shadow:inset 18px 0 30px rgba(3,36,101,.045);transform-origin:left center}
.book-page::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,36,101,.025),transparent 16%,transparent 84%,rgba(3,36,101,.025))}
.book-spine{position:absolute;left:50%;top:5%;bottom:6%;width:7px;transform:translateX(-50%);z-index:9;background:linear-gradient(90deg,rgba(3,36,101,.18),rgba(255,255,255,.8),rgba(3,36,101,.13));border-radius:8px;box-shadow:0 0 18px rgba(3,36,101,.08);pointer-events:none}
.book-page-inner{position:relative;height:100%;z-index:2}
.page-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;font-weight:950;color:#77809b;padding-bottom:18px;border-bottom:1px solid rgba(3,36,101,.09)}
.page-kicker{display:block;font-size:10px;letter-spacing:.18em;font-weight:950;color:var(--blue)}
.book-right .page-kicker{color:var(--warm)}
.page-content{padding-top:45px}
.page-content h3{font-size:clamp(42px,4.8vw,70px);line-height:.86;letter-spacing:-.075em;margin:16px 0 18px;color:var(--navy)}
.page-content p{font-size:14px;max-width:420px;line-height:1.7;margin-bottom:24px}
.page-programs{display:flex;flex-wrap:wrap;gap:8px;max-width:480px}
.page-chip{appearance:none;border:1px solid rgba(3,36,101,.12);background:#F7F8FA;color:var(--navy);border-radius:999px;padding:11px 13px;font:800 11px Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:.25s;min-height:40px}
.page-chip:hover,.page-chip:focus-visible{transform:translateY(-2px);outline:none;border-color:var(--blue);box-shadow:0 8px 20px rgba(18,58,122,.10)}
.page-mark{position:absolute;right:-5px;bottom:-42px;font-size:190px;font-weight:950;line-height:.8;letter-spacing:-.1em;color:rgba(18,58,122,.055);transform:rotate(-8deg);pointer-events:none}
.book-right .page-mark{color:rgba(250,216,11,.08);transform:rotate(8deg)}
.page-no{position:absolute;bottom:28px;right:38px;font-size:10px;letter-spacing:.16em;font-weight:950;color:#8a91a8}
.book-cover{position:absolute;z-index:20;left:50%;top:5%;bottom:6%;width:50%;padding:30px 42px;border:0;border-radius:8px 34px 34px 8px;background:linear-gradient(145deg,var(--navy),#1c5fae 60%,var(--cyan));color:#fff;transform-origin:left center;transform:translateX(0) rotateY(0deg);backface-visibility:hidden;box-shadow:15px 20px 50px rgba(3,36,101,.22);cursor:pointer;text-align:left;display:flex;flex-direction:column;justify-content:space-between;font-family:inherit}
.book-cover::before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.18);border-radius:5px 25px 25px 5px;pointer-events:none}
.cover-top,.cover-center,.cover-bottom{position:relative;z-index:2}
.cover-top{display:flex;justify-content:space-between;gap:15px;align-items:center}
.cover-number{font-size:13px;font-weight:950;letter-spacing:.14em}
.cover-kicker{font-size:9px;letter-spacing:.17em;font-weight:950;opacity:.72;text-align:right}
.cover-center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px}
.cover-logo{width:105px;height:105px;border-radius:50%;object-fit:contain;background:#fff;box-shadow:0 16px 35px rgba(0,0,0,.18)}
.book-cover strong{font-size:clamp(52px,5vw,76px);line-height:.82;letter-spacing:-.08em}
.cover-center>span{font-size:9px;letter-spacing:.18em;font-weight:900;color:#FAD80B}
.cover-bottom{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.08em;font-weight:850;color:rgba(255,255,255,.78)}
.book-cover.opened{cursor:default}
.flipbook-caption{margin:22px 4px 0;display:grid;grid-template-columns:60px auto 1fr;gap:14px;align-items:center;color:var(--muted);font-size:12px}
.flipbook-caption .caption-index{font-size:11px;font-weight:950;color:var(--blue);letter-spacing:.12em}
.flipbook-caption strong{font-size:14px;color:var(--navy)}
.flipbook-caption span:last-child{justify-self:end;text-align:right;max-width:560px}

.video-testimonials{background:#F7F8FA;text-align:left}
.video-testimonials-head{display:grid;grid-template-columns:1fr .65fr;gap:50px;align-items:end}
.video-testimonials-head h2{font-size:clamp(58px,7vw,108px);line-height:.82;letter-spacing:-.08em;margin:14px 0 0}
.video-testimonials-intro p{font-size:15px;margin-bottom:20px}
.parent-video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:48px}
.parent-video-card{background:#fff;border-radius:27px;overflow:hidden;box-shadow:0 20px 55px rgba(3,36,101,.08);border:1px solid rgba(3,36,101,.06);transition:.35s}
.parent-video-card:hover{transform:translateY(-6px);box-shadow:0 28px 70px rgba(3,36,101,.12)}
.parent-video-media{height:300px;position:relative;background:linear-gradient(135deg,var(--navy),var(--blue));overflow:hidden}
.parent-video-media video{width:100%;height:100%;display:block;object-fit:cover}
.video-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:linear-gradient(180deg,rgba(3,36,101,.06),rgba(3,36,101,.78));color:#fff;text-align:center;pointer-events:none}
.video-empty span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:20px;padding-left:3px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.video-empty b{font-size:13px}.video-empty small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.72}
.parent-video-media.has-video .video-empty{display:none}
.parent-video-copy{padding:20px 19px 22px}
.parent-video-copy strong{display:block;font-size:18px;letter-spacing:-.03em;color:var(--navy)}
.parent-video-copy span{display:block;margin-top:4px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-weight:900}
.parent-video-copy p{font-size:13px;line-height:1.6;margin:13px 0 0}
.stories-note{margin-top:20px;font-size:10px;color:#8a91a8;letter-spacing:.05em}
.story-more-card{display:none}
.parent-video-grid.show-more .story-more-card{display:block}

@media(max-width:1000px){
 .parent-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .video-testimonials-head{grid-template-columns:1fr;gap:20px}
 .flipbook{height:570px}.book-page{padding:28px 27px}.page-content{padding-top:32px}.page-content h3{font-size:44px}.book-cover{padding:28px}.book-cover strong{font-size:48px}
}
@media(max-width:620px){
 .race-book-wrap{margin-top:38px}
 .race-book-controls{justify-content:center}
 .book-page-count{width:100%;text-align:center;margin:2px 0 0}
 .flipbook{height:575px;perspective:1800px}
 .book-spread{inset:2% 0 3%}
 .book-page{padding:23px 21px;border-radius:24px}
 .book-left{border-radius:24px 5px 5px 24px}
 .book-right{border-radius:5px 24px 24px 5px}
 .book-spine{top:2%;bottom:3%;width:4px}
 .page-top{font-size:8px;padding-bottom:13px}
 .page-content{padding-top:28px}
 .page-content h3{font-size:clamp(37px,11vw,54px)}
 .page-content p{font-size:12px;margin-bottom:16px}
 .page-programs{gap:6px}.page-chip{padding:8px 9px;font-size:9px;min-height:36px}
 .page-mark{font-size:125px}.page-no{right:20px;bottom:19px}
 .book-cover{left:0;width:100%;top:2%;bottom:3%;border-radius:24px;padding:25px 22px}
 .cover-top{align-items:flex-start}.cover-kicker{max-width:180px}
 .cover-logo{width:92px;height:92px}.book-cover strong{font-size:clamp(48px,14vw,66px)}
 .cover-bottom{flex-direction:column;gap:4px}
 .flipbook-caption{grid-template-columns:45px 1fr;gap:9px}.flipbook-caption span:last-child{grid-column:1/-1;justify-self:start;text-align:left}
 .parent-video-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 3px 16px;margin-right:-3px}
 .parent-video-card{flex:0 0 82%;scroll-snap-align:start}
 .parent-video-media{height:330px}
 .video-testimonials-head h2{font-size:clamp(48px,13vw,72px)}
}
@media(prefers-reduced-motion:reduce){
 .book-cover{transition:none!important}
 .parent-video-card{transition:none}
}


/* ============================================================
   RACE CHANAKYA — STUDENT JOURNEY
   Automatic GSAP loop. No ScrollTrigger.
   ============================================================ */
.race-journey{
  --race-blue:#1eaae0;
  --race-muted:#9aa5ce;
  width:100%;
  overflow:hidden;
  background:#111e61;
  color:#fff;
  padding:88px 30px 78px;
  position:relative;
}
.race-journey__inner{max-width:1450px;margin:auto}
.race-journey__eyebrow{
  width:max-content;
  margin:0 auto 18px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  opacity:.9;
}
.race-journey__title{
  margin:0 0 95px;
  text-align:center;
  font-size:clamp(30px,4vw,56px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:900;
}
.race-timeline{position:relative}
.race-line{
  position:absolute;
  z-index:0;
  left:10%;
  right:10%;
  top:290px;
  height:4px;
  background:rgba(255,255,255,.25);
  border-radius:20px;
}
.race-line__fill{
  position:absolute;
  inset:0 auto 0 0;
  width:0;
  border-radius:20px;
  background:linear-gradient(90deg,#24b5e7,#5cc7e8);
  box-shadow:0 0 18px rgba(36,181,231,.5);
}
.race-items{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}
.race-stage{position:relative;text-align:center}
.race-imagebox{
  height:265px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.race-student{
  display:block;
  width:min(215px,92%);
  max-height:250px;
  object-fit:contain;
  object-position:center bottom;
  transform-origin:center bottom;
  filter:drop-shadow(0 15px 16px rgba(0,0,0,.22));
  will-change:transform,opacity;
}
.race-dot{
  position:relative;
  z-index:4;
  width:48px;
  height:48px;
  margin:0 auto;
  border-radius:50%;
  background:#253b8d;
  border:3px solid rgba(255,255,255,.4);
  display:grid;
  place-items:center;
}
.race-dot:after{
  content:"";
  width:10px;
  height:10px;
  background:#fff;
  opacity:.65;
  border-radius:50%;
}
.race-stage__title{
  margin:20px 0 0;
  color:var(--race-muted);
  font-size:clamp(13px,1.4vw,18px);
  letter-spacing:.16em;
  font-weight:900;
}
.race-stage.active .race-stage__title{color:#fff}
.race-stage.active .race-dot{
  background:var(--race-blue);
  border-color:#fff;
  box-shadow:0 0 0 9px rgba(30,170,224,.13),0 0 30px rgba(30,170,224,.85);
}
.race-stage.active .race-dot:after{opacity:1}

@media(max-width:767px){
  .race-journey{padding:55px 18px 65px}
  .race-journey__eyebrow{margin-bottom:14px;font-size:10px}
  .race-journey__title{margin-bottom:55px;font-size:32px}
  .race-items{display:flex;flex-direction:column;gap:20px}
  .race-line{
    left:50%;right:auto;top:0;bottom:0;
    width:4px;height:auto;transform:translateX(-50%);
  }
  .race-line__fill{
    width:100%;height:0;inset:0 0 auto 0;
  }
  .race-stage{
    min-height:235px;
    display:grid;
    grid-template-columns:1fr 54px 1fr;
    align-items:center;
  }
  .race-imagebox{
    grid-column:1;
    height:220px;
    justify-content:flex-end;
  }
  .race-student{
    width:min(175px,100%);
    max-height:210px;
  }
  .race-dot{grid-column:2;grid-row:1}
  .race-stage__title{
    grid-column:3;
    grid-row:1;
    margin:0 0 0 12px;
    text-align:left;
    font-size:13px;
  }
}
@media(max-width:430px){
  .race-journey{padding-left:14px;padding-right:14px}
  .race-stage{grid-template-columns:1fr 50px 1fr;min-height:225px}
  .race-imagebox{height:205px}
  .race-student{width:155px;max-height:195px}
  .race-stage__title{font-size:11px;letter-spacing:.12em}
}


/* Student Journey descriptions */
.race-journey-description{
  position:relative;
  min-height:76px;
  max-width:900px;
  margin:42px auto 0;
  text-align:center;
}
.race-description{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  color:rgba(255,255,255,.78);
  font-size:clamp(15px,1.35vw,21px);
  line-height:1.5;
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
}
.race-description.active{
  opacity:1;
  transform:translateY(0);
}
@media(max-width:767px){
  .race-journey-description{
    min-height:105px;
    margin-top:34px;
  }
  .race-description{
    padding:0 10px;
    font-size:15px;
    line-height:1.45;
  }
}


/* ============================================================
   RACE PANEL HERO — added without changing other sections
   ============================================================ */
.panel-hero{width:100%;height:100vh;min-height:650px;position:relative;overflow:hidden;background:#071522;color:#fff}
.panel-hero .panels{position:absolute;inset:0;display:flex;gap:4px}
.panel-hero .panel{position:relative;height:100%;flex:1;overflow:hidden;cursor:pointer}
.panel-hero .panel.active{flex:2.8}
.panel-hero .panel-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);will-change:transform}
.panel-hero .panel-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.25) 45%,rgba(0,0,0,.85))}
.panel-hero .panel:not(.active) .panel-overlay{background:rgba(0,0,0,.48)}
.panel-hero .panel-number{position:absolute;top:40px;left:35px;z-index:5;font-size:11px;letter-spacing:3px;color:#fff;opacity:.7}
.panel-hero .panel-content{position:absolute;left:35px;right:35px;bottom:45px;z-index:5;color:#fff}
.panel-hero .panel-title{font-size:22px;font-weight:700;white-space:nowrap;transform-origin:left bottom}
.panel-hero .panel.active .panel-title{font-size:clamp(42px,5vw,78px);line-height:.88;letter-spacing:-3px}
.panel-hero .panel-description{max-width:460px;font-size:16px;line-height:1.6;color:#ddd;margin-top:20px;opacity:0;transform:translateY(20px)}
.panel-hero .panel.active .panel-description{opacity:1}
.panel-hero .panel-button{display:inline-flex;margin-top:22px;padding:13px 23px;border-radius:30px;background:#fff;color:#071522;text-decoration:none;font-size:13px;font-weight:700;opacity:0;transform:translateY(20px)}
.panel-hero .panel.active .panel-button{opacity:1}
.panel-hero .hero-brand{position:absolute;z-index:20;left:40px;top:30px;color:#fff}
.panel-hero .hero-brand-main{font-size:17px;font-weight:800;letter-spacing:2px}
.panel-hero .hero-brand-sub{font-size:9px;letter-spacing:3px;opacity:.65;margin-top:4px}
.panel-hero .panel-progress{position:absolute;z-index:20;left:40px;right:40px;bottom:18px;height:2px;background:#ffffff35}
.panel-hero .panel-progress-bar{height:100%;width:0;background:#fff}
.panel-hero .panel-counter{position:absolute;z-index:20;right:40px;top:35px;color:#fff;font-size:11px;letter-spacing:3px}
@media(max-width:800px){
  .panel-hero{min-height:700px}
  .panel-hero .panels{display:block}
  .panel-hero .panel{position:absolute;inset:0;width:100%;height:100%;opacity:0;visibility:hidden}
  .panel-hero .panel.active{opacity:1;visibility:visible}
  .panel-hero .panel-content{left:25px;right:25px;bottom:70px}
  .panel-hero .panel.active .panel-title{font-size:52px}
  .panel-hero .panel-number{left:25px}.panel-hero .hero-brand{left:25px}
  .panel-hero .panel-counter{right:25px}.panel-hero .panel-progress{left:25px;right:25px}
}
@media(max-width:480px){
  .panel-hero .panel.active .panel-title{font-size:43px;letter-spacing:-2px}
  .panel-hero .panel-description{font-size:14px;max-width:340px}
}


/* =========================================================
   RACE CHANAKYA — CINEMATIC CURTAIN HERO
   Integrated without changing any section after the hero.
   ========================================================= */
.rc-curtain-slider{position:relative;width:100%;height:calc(100svh - 76px);min-height:620px;overflow:hidden;background:#071b33;color:#fff;user-select:none}
.rc-curtain-slide{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden}
.rc-curtain-slide.is-current{opacity:1;visibility:visible}
.rc-curtain-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.rc-curtain-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,19,38,.84),rgba(5,19,38,.43) 40%,rgba(5,19,38,.08) 75%),linear-gradient(0deg,rgba(5,19,38,.75),transparent 50%)}
.rc-curtain-content{position:absolute;z-index:20;left:8%;top:50%;transform:translateY(-50%);width:min(650px,80%)}
.rc-curtain-number{display:flex;align-items:center;gap:15px;margin-bottom:20px;font-size:11px;letter-spacing:4px;font-weight:800;color:var(--gold)}
.rc-curtain-number:after{content:"";width:45px;height:1px;background:var(--gold)}
.rc-curtain-content h1{font-size:clamp(55px,8vw,120px);line-height:.86;font-weight:900;letter-spacing:-5px;text-transform:uppercase;margin:0}
.rc-curtain-content h1 span{display:block}
.rc-curtain-content p{margin:28px 0 0;max-width:480px;font-size:16px;line-height:1.7;color:rgba(255,255,255,.82)}
.rc-curtain-link{display:inline-flex;align-items:center;gap:15px;margin-top:30px;color:#fff;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.rc-curtain-link i{width:38px;height:38px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;font-style:normal;transition:.3s}
.rc-curtain-link:hover i{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.rc-curtain{position:absolute;inset:0;z-index:30;display:flex;pointer-events:none;visibility:hidden;opacity:0}
.rc-curtain-panel{position:relative;height:100%;flex:1;overflow:hidden;background:#071b33;transform-origin:right center}
.rc-curtain-panel-inner{position:absolute;top:0;left:0;width:100vw;height:100%;background-size:cover;background-position:center}
.rc-curtain-progress{position:absolute;right:45px;bottom:115px;z-index:60;display:flex;gap:7px}
.rc-curtain-dot{width:30px;height:3px;background:rgba(255,255,255,.3);transition:.5s}
.rc-curtain-dot.active{width:55px;background:var(--gold)}
.rc-curtain-controls{position:absolute;z-index:60;right:45px;bottom:42px;display:flex;gap:12px}
.rc-curtain-controls button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.12);color:#fff;cursor:pointer;font-size:18px;transition:.3s}
.rc-curtain-controls button:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.rc-curtain-drag{position:absolute;z-index:40;right:45px;top:50%;transform:translateY(-50%) rotate(90deg);font-size:9px;letter-spacing:4px;opacity:.55}
@media(max-width:700px){
 .rc-curtain-slider{height:calc(100svh - 70px);min-height:620px}
 .rc-curtain-content{left:25px;width:calc(100% - 50px)}
 .rc-curtain-content h1{font-size:clamp(48px,16vw,80px);letter-spacing:-3px}
 .rc-curtain-content p{font-size:14px;max-width:90%}
 .rc-curtain-controls{right:20px;bottom:25px}
 .rc-curtain-progress{left:25px;right:auto;bottom:48px}
 .rc-curtain-drag{display:none}
}




*{
    box-sizing:border-box;
}

/* scoped reference body rule intentionally omitted */
.__unused_body_scope{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:#071b33;
    color:#fff;
}

button{
    font:inherit;
}

/* =====================================================
   SECTION
===================================================== */

.leadership-section{
    background:#071b33;
    padding:100px 6%;
    overflow:hidden;
}

/* Heading */

.leadership-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    margin-bottom:45px;
}

.leadership-label{
    color:#f2bd45;
    font-size:11px;
    letter-spacing:4px;
    margin-bottom:12px;
}

.leadership-heading{
    font-size:clamp(45px,6vw,75px);
    line-height:.9;
    letter-spacing:-4px;
    margin:0;
}

.leadership-intro{
    width:300px;
    color:#aeb9c6;
    font-size:14px;
    line-height:1.7;
}


/* =====================================================
   MEMBER WALL
===================================================== */

.member-wall{
    display:flex;
    width:100%;
    height:560px;
    gap:7px;
}


/* MEMBER */

.member{
    position:relative;
    flex:1;
    min-width:0;
    overflow:hidden;
    cursor:pointer;

    background:#102a45;

    transition:none;
}


/* IMAGE */

.member-image{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    filter:grayscale(100%);

    transform:scale(1.05);
}


/* DARK OVERLAY */

.member-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            to bottom,
            rgba(7,27,51,.05) 25%,
            rgba(7,27,51,.3) 50%,
            rgba(7,27,51,.96) 100%
        );
}


/* =====================================================
   COLLAPSED CONTENT
===================================================== */

.member-collapsed{
    position:absolute;

    left:20px;
    right:20px;
    bottom:22px;

    z-index:5;
}

.member-number{
    color:#f2bd45;
    font-size:10px;
    letter-spacing:3px;
    margin-bottom:8px;
}

.member-name{
    font-size:19px;
    font-weight:bold;
    white-space:nowrap;
}

.member-role{
    margin-top:6px;

    font-size:9px;
    letter-spacing:2px;

    color:#f2bd45;
}


/* =====================================================
   EXPANDED CONTENT
===================================================== */

.member-expanded{
    position:absolute;

    left:28px;
    right:28px;
    bottom:28px;

    z-index:10;

    opacity:0;
    transform:translateY(25px);

    pointer-events:none;
}

.member-expanded-name{
    font-size:32px;
    font-weight:800;
    line-height:1;
    margin-bottom:7px;
}

.member-expanded-role{
    color:#f2bd45;
    font-size:9px;
    letter-spacing:3px;
    margin-bottom:22px;
}

.member-message{
    max-width:410px;

    font-size:14px;
    line-height:1.65;

    color:#e0e5eb;
}

.member-message::before{
    content:"“";
    color:#f2bd45;
    font-size:45px;
    line-height:0;
    vertical-align:-15px;
    margin-right:5px;
}


/* READ MORE */

.member-read{
    margin-top:20px;

    display:inline-flex;
    align-items:center;
    gap:10px;

    color:#fff;

    font-size:10px;
    letter-spacing:2px;

    border-bottom:1px solid #f2bd45;

    padding-bottom:6px;
}


/* =====================================================
   EXPANDED STATE
===================================================== */

.member.active .member-image{
    filter:grayscale(0);
}

.member.active .member-collapsed{
    opacity:0;
}

.member.active .member-expanded{
    opacity:1;
    transform:translateY(0);
}


/* =====================================================
   INDICATOR
===================================================== */

.member-indicator{
    position:absolute;

    right:20px;
    top:20px;

    width:34px;
    height:34px;

    border:1px solid rgba(255,255,255,.5);
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:20;

    font-size:16px;

    transition:
        background .3s,
        transform .3s;
}

.member.active .member-indicator{
    background:#f2bd45;
    color:#071b33;
    border-color:#f2bd45;
    transform:rotate(45deg);
}


/* =====================================================
   BOTTOM
===================================================== */

.leadership-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-top:22px;
}

.leadership-bottom span{
    font-size:10px;
    letter-spacing:3px;
    color:#7f91a5;
}

.leadership-line{
    height:1px;
    flex:1;
    margin-left:25px;

    background:rgba(255,255,255,.15);
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:900px){

    .leadership-section{
        padding:80px 4%;
    }

    .leadership-top{
        display:block;
    }

    .leadership-intro{
        margin-top:20px;
        width:auto;
        max-width:500px;
    }

    .member-wall{
        height:500px;
    }

    .member-expanded-name{
        font-size:25px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:650px){

    .leadership-section{
        padding:65px 20px;
    }

    .leadership-heading{
        font-size:48px;
    }

    .member-wall{
        height:500px;
        gap:4px;
    }

    .member{
        flex:.7;
    }

    .member.active{
        flex:3.5;
    }

    .member-name{
        font-size:15px;
    }

    .member-expanded{
        left:20px;
        right:20px;
        bottom:20px;
    }

    .member-expanded-name{
        font-size:26px;
    }

    .member-message{
        font-size:13px;
    }

    .leadership-bottom{
        margin-top:15px;
    }

}



/* PEOPLE BEHIND THE VISION · OUR LEADERS */
.race-leaders{
  position:relative;overflow:hidden;padding:110px 0 90px;
  background:radial-gradient(circle at 8% 15%,rgba(18,58,122,.18),transparent 27%),
             radial-gradient(circle at 92% 78%,rgba(250,216,11,.15),transparent 25%),
             linear-gradient(135deg,#fff 0%,#f5f9fc 52%,#eaf8fc 100%);
  color:#032465;
}
.race-leaders__wrap{width:min(1420px,calc(100% - 60px));margin:0 auto}
.race-leaders__eyebrow{margin-bottom:18px;color:#123A7A;font-size:11px;font-weight:900;letter-spacing:3px}
.race-leaders__heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:55px}
.race-leaders h2{margin:0;font-size:clamp(58px,8vw,112px);line-height:.78;letter-spacing:-6px;font-weight:900}
.race-leaders h2 span{color:#123A7A}
.race-leaders__intro{width:min(430px,100%);padding-bottom:4px}
.race-leaders__intro p{margin:0 0 20px;color:#586780;font-size:16px;line-height:1.65}
.race-leaders__link{display:inline-flex;align-items:center;gap:10px;color:#032465;text-decoration:none;font-size:12px;font-weight:900;border-bottom:1px solid rgba(3,36,101,.25);padding-bottom:7px}
.race-leaders__link span{color:#123A7A;font-size:16px}
.race-leaders__wall{display:flex;width:100%;height:560px;gap:10px}
.race-leader{position:relative;min-width:0;overflow:hidden;border-radius:26px;background:#dfe9f1;cursor:pointer;isolation:isolate;flex:1}
.race-leader.is-active{flex:2.35}
.race-leader__image{position:absolute;inset:0;overflow:hidden}
.race-leader__image img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(100%) saturate(.5);transform:scale(1.03);transition:filter .7s ease,transform 1.1s cubic-bezier(.2,.8,.2,1)}
.race-leader.is-active .race-leader__image img{filter:grayscale(0) saturate(1);transform:scale(1.01)}
.race-leader__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,36,101,.02) 30%,rgba(3,36,101,.18) 52%,rgba(3,36,101,.92) 100%)}
.race-leader:not(.is-active) .race-leader__shade{background:linear-gradient(180deg,rgba(3,36,101,.10),rgba(3,36,101,.62))}
.race-leader__number{position:absolute;z-index:3;top:22px;left:22px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#032465;font-size:11px;font-weight:900}
.race-leader.is-active .race-leader__number{background:#FAD80B}
.race-leader__content{position:absolute;z-index:4;left:28px;right:28px;bottom:28px;color:#fff}
.race-leader__role{margin-bottom:10px;color:#FAD80B;font-size:10px;font-weight:900;letter-spacing:2.5px}
.race-leader__content h3{margin:0;font-size:clamp(28px,3vw,48px);line-height:.9;letter-spacing:-2px;white-space:nowrap}
.race-leader__content p{max-width:430px;margin:17px 0 0;color:rgba(255,255,255,.78);font-size:14px;line-height:1.55;opacity:0;transform:translateY(15px)}
.race-leader.is-active .race-leader__content p{opacity:1;transform:translateY(0);transition:opacity .5s ease .45s,transform .5s ease .45s}
.race-leader:not(.is-active) .race-leader__content{left:20px;right:20px;bottom:22px}
.race-leader:not(.is-active) .race-leader__content h3{font-size:20px;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:-.5px}
.race-leader:not(.is-active) .race-leader__role{font-size:8px;letter-spacing:1.8px}
.race-leaders__footer{display:flex;justify-content:space-between;gap:20px;margin-top:20px;color:#718098;font-size:9px;font-weight:900;letter-spacing:2px}
@media(max-width:900px){
  .race-leaders{padding:80px 0 65px}
  .race-leaders__wrap{width:min(100% - 36px,1420px)}
  .race-leaders__heading-row{align-items:flex-start;flex-direction:column;gap:25px;margin-bottom:35px}
  .race-leaders h2{font-size:65px}
  .race-leaders__wall{height:500px;gap:7px}
  .race-leader.is-active{flex:2.6}
}
@media(max-width:600px){
  .race-leaders{padding:70px 0 55px}
  .race-leaders h2{font-size:54px;letter-spacing:-4px}
  .race-leaders__intro p{font-size:14px}
  .race-leaders__wall{display:block;height:auto}
  .race-leader,.race-leader.is-active{height:360px;width:100%;display:block;margin-bottom:8px}
  .race-leader__content h3,.race-leader:not(.is-active) .race-leader__content h3{font-size:34px;line-height:.9;writing-mode:horizontal-tb;transform:none;letter-spacing:-1.5px}
  .race-leader__content p{opacity:1;transform:none;font-size:13px;margin-top:12px}
  .race-leaders__footer{flex-direction:column;gap:8px}
}



/* =========================================================
   RESET
========================================================= */

*{
    box-sizing:border-box;
}




/* =========================================================
   SECTION
========================================================= */

.school-pulse{

    padding:100px 7% 110px;

    overflow:hidden;

}


/* =========================================================
   HEADER
========================================================= */

.pulse-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    margin-bottom:55px;

}

.pulse-kicker{

    display:flex;

    align-items:center;

    gap:12px;

    color:#123A7A;

    font-size:11px;

    letter-spacing:4px;

    font-weight:700;

}

.pulse-kicker i{

    width:38px;

    height:3px;

    display:block;

    background:
        linear-gradient(
            90deg,
            #123A7A,
            #FAD80B
        );

}

.pulse-title{

    margin:15px 0 0;

    font-size:
        clamp(55px,7vw,105px);

    line-height:.82;

    letter-spacing:-6px;

    font-weight:900;

}

.pulse-title span{

    display:block;

}

.pulse-title span:last-child{

    margin-left:110px;

}

.pulse-view{

    background:#032465;

    color:white;

    padding:16px 24px;

    border-radius:30px;

    font-size:11px;

    font-weight:700;

    letter-spacing:.5px;

    transition:.3s;

}

.pulse-view:hover{

    background:#FAD80B;

    color:#032465;

}


/* =========================================================
   MAIN GRID
========================================================= */

.pulse-grid{

    display:grid;

    grid-template-columns:
        1.6fr
        .9fr;

    gap:22px;

}


/* =========================================================
   FEATURED EVENT
========================================================= */

.featured-event{

    position:relative;

    height:560px;

    overflow:hidden;

    background:#032465;

    color:white;

}

.featured-event-image{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    transform:scale(1.08);

}

.featured-event-overlay{

    position:absolute;

    inset:0;

    background:

        linear-gradient(
            to top,
            rgba(5,16,45,.96),
            rgba(5,16,45,.1) 65%
        );

}


/* DATE */

.event-date{

    position:absolute;

    z-index:5;

    top:25px;

    left:25px;

    width:75px;

    height:82px;

    background:white;

    color:#032465;

    text-align:center;

    padding-top:10px;

}

.event-date strong{

    display:block;

    font-size:28px;

    line-height:1;

}

.event-date span{

    display:block;

    margin-top:6px;

    font-size:9px;

    letter-spacing:2px;

}


/* EVENT CONTENT */

.event-content{

    position:absolute;

    z-index:5;

    left:35px;

    right:35px;

    bottom:32px;

}

.event-type{

    color:#FAD80B;

    font-size:10px;

    letter-spacing:3px;

    font-weight:bold;

}

.event-content h2{

    margin:10px 0;

    font-size:
        clamp(38px,4vw,65px);

    line-height:.9;

    letter-spacing:-3px;

}

.event-content p{

    max-width:500px;

    margin:15px 0 22px;

    color:rgba(255,255,255,.75);

    font-size:14px;

    line-height:1.6;

}

.event-link{

    display:inline-flex;

    align-items:center;

    gap:12px;

    font-size:10px;

    letter-spacing:2px;

    font-weight:bold;

}

.event-link span{

    width:35px;

    height:35px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid rgba(255,255,255,.6);

    border-radius:50%;

}


/* =========================================================
   NEWS COLUMN
========================================================= */

.news-column{

    display:flex;

    flex-direction:column;

    gap:0;

    background:white;

    border:1px solid #e0e3e9;

}

.news-heading{

    padding:25px 25px 20px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    border-bottom:1px solid #e0e3e9;

}

.news-heading span{

    color:#123A7A;

    font-size:10px;

    letter-spacing:3px;

    font-weight:bold;

}

.news-heading strong{

    font-size:12px;

}


/* NEWS ITEM */

.news-item{

    position:relative;

    padding:24px 25px;

    border-bottom:1px solid #e0e3e9;

    cursor:pointer;

    overflow:hidden;

}

.news-item:last-child{

    border-bottom:none;

}

.news-item::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    bottom:0;

    width:3px;

    background:#FAD80B;

    transform:scaleY(0);

    transform-origin:bottom;

}

.news-item:hover::before{

    transform:scaleY(1);

}

.news-meta{

    display:flex;

    justify-content:space-between;

    margin-bottom:10px;

}

.news-category{

    color:#123A7A;

    font-size:9px;

    letter-spacing:2px;

    font-weight:bold;

}

.news-date{

    color:#9299a6;

    font-size:9px;

}

.news-item h3{

    margin:0;

    font-size:20px;

    line-height:1.15;

    letter-spacing:-.5px;

}

.news-arrow{

    margin-top:16px;

    font-size:18px;

    opacity:.4;

}


/* =========================================================
   LOWER STRIP
========================================================= */

.pulse-strip{

    margin-top:22px;

    display:grid;

    grid-template-columns:
        1fr 1fr 1fr;

    gap:22px;

}


/* STRIP CARD */

.strip-card{

    position:relative;

    min-height:175px;

    padding:25px;

    overflow:hidden;

    border:1px solid #dfe2e8;

    background:white;

}

.strip-card::after{

    content:"";

    position:absolute;

    width:110px;

    height:110px;

    border-radius:50%;

    right:-40px;

    bottom:-40px;

    background:#FAD80B;

    opacity:.18;

}

.strip-number{

    color:#123A7A;

    font-size:10px;

    letter-spacing:3px;

}

.strip-card h3{

    margin:25px 0 8px;

    font-size:25px;

    letter-spacing:-1px;

}

.strip-card p{

    margin:0;

    color:#707987;

    font-size:12px;

    line-height:1.5;

}

.strip-arrow{

    position:absolute;

    right:22px;

    top:22px;

    font-size:20px;

}


/* =========================================================
   MOVING TICKER
========================================================= */

.pulse-ticker{

    margin-top:40px;

    border-top:1px solid #d9dde4;

    border-bottom:1px solid #d9dde4;

    overflow:hidden;

    white-space:nowrap;

}

.ticker-track{

    display:inline-flex;

    align-items:center;

    gap:40px;

    padding:18px 0;

    width:max-content;

}

.ticker-item{

    display:flex;

    align-items:center;

    gap:12px;

    font-size:11px;

    font-weight:bold;

    letter-spacing:1px;

}

.ticker-dot{

    width:7px;

    height:7px;

    border-radius:50%;

    background:#FAD80B;

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:900px){

    .school-pulse{

        padding:70px 25px;

    }

    .pulse-header{

        display:block;

    }

    .pulse-view{

        display:inline-block;

        margin-top:25px;

    }

    .pulse-grid{

        grid-template-columns:1fr;

    }

    .pulse-strip{

        grid-template-columns:1fr;

    }

}

@media(max-width:600px){

    .pulse-title{

        font-size:52px;

        letter-spacing:-4px;

    }

    .pulse-title span:last-child{

        margin-left:45px;

    }

    .featured-event{

        height:480px;

    }

    .event-content{

        left:22px;

        right:22px;

    }

    .event-content h2{

        font-size:40px;

    }

}


.school-pulse{
  position:relative;
  border-radius:34px;
  margin:0 auto;
  width:min(1420px,calc(100% - 48px));
}
.school-pulse .featured-event,
.school-pulse .news-column,
.school-pulse .strip-card{
  border-radius:24px;
}
.school-pulse .featured-event{box-shadow:0 25px 70px rgba(3,36,101,.14)}
.school-pulse .news-column,
.school-pulse .strip-card{box-shadow:0 15px 45px rgba(3,36,101,.07)}
.school-pulse .pulse-ticker{
  border-color:rgba(3,36,101,.14);
}
@media(max-width:600px){
  .school-pulse{width:calc(100% - 28px);border-radius:24px}
}


/* ============================================================
   RACE FINAL POLISH — navigation, section rhythm & responsive
   ============================================================ */
html{scroll-padding-top:92px}
body{min-width:0}
.nav{
  top:10px;
  min-height:64px;
  transition:background .3s,box-shadow .3s,transform .3s;
}
.nav.scrolled{
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 45px rgba(3,36,101,.14);
}
.navlinks{flex-wrap:nowrap}
.navlinks a{white-space:nowrap}
.navlinks .navbtn{margin-left:5px}
.menu{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:none;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer}
.menu span{display:block;width:17px;height:2px;background:#fff;border-radius:5px;transition:.25s}
.menu.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu.open span:nth-child(2){opacity:0}
.menu.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.race-mobile-menu{
  display:none;
  position:fixed;
  z-index:999;
  top:82px;
  left:12px;
  right:12px;
  padding:15px;
  border-radius:28px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(3,36,101,.10);
  box-shadow:0 25px 70px rgba(3,36,101,.18);
  backdrop-filter:blur(20px);
}
.race-mobile-menu__top{
  display:flex;align-items:center;justify-content:space-between;
  padding:4px 6px 12px;
  color:var(--blue);font-size:10px;letter-spacing:.18em;font-weight:950;
}
.race-mobile-menu__top button{
  width:34px;height:34px;border:0;border-radius:50%;background:#eef6ff;
  color:var(--navy);font-size:24px;line-height:1;cursor:pointer;
}
.race-mobile-menu a{
  display:grid;grid-template-columns:36px 1fr 22px;align-items:center;
  gap:8px;padding:15px 10px;border-top:1px solid rgba(3,36,101,.08);
  font-size:14px;font-weight:850;color:var(--navy);
}
.race-mobile-menu a b{font-size:10px;color:var(--blue);letter-spacing:.1em}
.race-mobile-menu a span{color:var(--gold);text-align:right}
.race-mobile-menu .race-mobile-menu__cta{
  display:flex;justify-content:space-between;margin-top:10px;
  border:0;border-radius:16px;padding:15px 16px;background:var(--navy);color:#fff;
}
.race-mobile-menu.is-open{display:block}

/* Make each section arrive as a clean, self-contained viewport experience. */
.section{padding:88px 0}
.section[data-section-number]::before{top:26px}
.intro,.statement,.academic,.campus,.life,.achievements,.principal,.testimonials,.gallery,.video,.news,.admissions{min-height:0}
.intro-grid,.academic-grid,.principal-grid{min-height:0}
.image-stage{height:min(520px,58vh)}
.campus-visual{height:min(520px,58vh)}
.life-grid{grid-template-rows:minmax(200px,27vh) minmax(200px,27vh)}
.achievement-tile{min-height:min(330px,38vh)}
.video-box{height:min(460px,55vh)}
.gallery-strip{grid-template-rows:minmax(190px,25vh) minmax(190px,25vh)}
.poker-stage{height:560px}
.poker-hand{height:535px}
.flipbook{height:570px}
.race-journey.section{min-height:0;padding:105px 0}
.school-pulse{padding:82px 0 88px}
.race-leaders{padding:90px 0}
.video-testimonials{padding:90px 0}

/* Keep headings/buttons together without creating huge blank areas. */
.statement-top,.journey-head,.campus-head,.life-head,.ach-head,.news-head{margin-bottom:36px}
.journey-wrap{margin-top:65px}
.flipbook{margin-top:48px}
.poker-stage{margin-top:38px}
.school-pulse .pulse-header{margin-bottom:35px}

/* Better anchor behavior with sticky navigation. */
section[id]{scroll-margin-top:92px}

/* Mobile: no horizontal overflow, no giant desktop canvases. */
@media(max-width:1100px){
  .navlinks a{padding:9px 8px;font-size:11px}
  .navlinks .navbtn{padding:9px 12px}
}
@media(max-width:900px){
  .nav{top:8px}
  .navlinks{display:none}
  .menu{display:flex}
  .race-mobile-menu{display:none}
  .race-mobile-menu.is-open{display:block}
  .section{padding:72px 0}
  .section[data-section-number]::before{top:18px}
  .image-stage{height:430px}
  .campus-visual{height:420px}
  .video-box{height:390px}
  .poker-stage{height:520px}
  .poker-hand{height:500px}
  .flipbook{height:540px}
}
@media(max-width:620px){
  .nav{width:calc(100% - 16px);padding:7px 8px 7px 11px}
  .brand img{width:38px;height:38px}
  .brand span{display:block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}
  .menu{width:40px;height:40px}
  .race-mobile-menu{top:70px;left:8px;right:8px;border-radius:24px;max-height:calc(100svh - 82px);overflow:auto}
  .section{padding:64px 0}
  .section[data-section-number]::before{font-size:95px;top:16px}
  .image-stage{height:330px;border-radius:28px}
  .campus-visual{height:340px;border-radius:28px}
  .video-box{height:330px;border-radius:28px}
  .achievement-tile{min-height:245px}
  .poker-stage{height:525px}
  .poker-hand{height:500px}
  .flipbook{height:570px}
  .school-pulse{padding:64px 0}
  .school-pulse .pulse-grid{gap:14px}
  .school-pulse .featured-event{height:430px}
  .school-pulse .pulse-strip{gap:12px}
  .school-pulse .strip-card{min-height:145px}
  .school-pulse .pulse-ticker{margin-top:24px}
  .race-leaders{padding:65px 0}
  .video-testimonials{padding:65px 0}
}
@media(prefers-reduced-motion:reduce){
  .nav,.menu span{transition:none}
}


/* ============================================================
   RACE MOBILE / INTERACTION REFINEMENT
   ============================================================ */

/* Hero slider: make every slide fill the mobile viewport cleanly. */
.rc-curtain-slider{touch-action:pan-y;isolation:isolate}
.rc-curtain-slide{will-change:opacity,transform;z-index:1}
.rc-curtain-slide.is-current{z-index:2}
.rc-curtain-image{will-change:transform}
.rc-curtain-content{will-change:transform,opacity}
.rc-curtain-progress{align-items:center}
.rc-curtain-dot{border:0;padding:0;cursor:pointer}
.rc-curtain-controls button{touch-action:manipulation}
@media(max-width:767px){
  .rc-curtain-slider{
    height:calc(100svh - 74px);
    min-height:600px;
  }
  .rc-curtain-content{
    left:24px;
    right:24px;
    top:50%;
    width:auto;
    transform:translateY(-50%);
  }
  .rc-curtain-content h1{
    font-size:clamp(48px,14.5vw,78px);
    line-height:.88;
    letter-spacing:-3.5px;
  }
  .rc-curtain-content p{
    max-width:100%;
    margin-top:24px;
    font-size:14px;
    line-height:1.65;
  }
  .rc-curtain-number{font-size:10px;letter-spacing:3px;margin-bottom:17px}
  .rc-curtain-link{margin-top:24px}
  .rc-curtain-controls{right:18px;bottom:20px}
  .rc-curtain-controls button{width:50px;height:50px}
  .rc-curtain-progress{left:24px;right:24px;bottom:22px;transform:translateY(-1px)}
  .rc-curtain-drag{display:none}
}

/* Academics: the descriptive textbox/caption is unnecessary on phones. */
@media(max-width:767px){
  .flipbook-caption{display:none!important}
  .flipbook-section .race-book-wrap{margin-top:8px}
  .flipbook-section .flipbook{margin-top:30px;height:390px!important}
  .flipbook-section .book-cover{padding:18px 16px!important}
  .flipbook-section .cover-logo{width:68px!important;height:68px!important}
  .flipbook-section .book-cover strong{font-size:46px!important;line-height:.86!important}
  .flipbook-section .cover-kicker{font-size:8px!important;max-width:145px!important}
  .flipbook-section .cover-bottom{font-size:8px!important}
  .flipbook-section .flipbook-head{
    display:block;
  }
  .flipbook-section .flipbook-intro{
    max-width:none;
    padding:0;
    margin-top:18px;
  }
  .flipbook-section .flipbook-intro p{
    font-size:15px;
    line-height:1.65;
    margin-bottom:0;
  }
}

/* Programmes: mobile becomes a real four-card swipeable stack. */
.mobile-poker-controls{display:none}
@media(max-width:767px){
  .programmes-poker-section{
    min-height:0!important;
    padding:72px 0 76px!important;
    background:linear-gradient(135deg,#f4fbff 0%,#fffdf2 100%);
  }
  .programmes-poker-section .statement-top{
    gap:18px;
    margin-bottom:12px;
  }
  .programmes-poker-section .statement-top h2{
    font-size:clamp(54px,15vw,76px);
    line-height:.84;
    margin:12px 0 0;
  }
  .programmes-poker-section .statement-top .btn{margin-top:2px}
  .poker-stage{
    height:355px!important;
    margin-top:26px!important;
    overflow:visible!important;
  }
  .poker-hand{
    height:300px!important;
    width:100%!important;
    position:relative!important;
    overflow:visible!important;
  }
  .poker-card{
    width:min(82vw,310px)!important;
    height:270px!important;
    left:50%!important;
    top:0!important;
    margin-left:0!important;
    border-radius:26px!important;
    padding:24px!important;
    transform-origin:50% 100%!important;
    cursor:grab;
    user-select:none;
    -webkit-user-select:none;
    touch-action:none;
    box-shadow:0 24px 50px rgba(3,36,101,.18);
  }
  .poker-card:active{cursor:grabbing}
  .poker-card-number{top:22px!important;left:24px!important;font-size:10px!important}
  .poker-card-label{top:76px!important;left:24px!important;font-size:9px!important;letter-spacing:.16em}
  .poker-card h3{
    left:24px!important;
    bottom:24px!important;
    font-size:clamp(31px,9vw,43px)!important;
    line-height:.86!important;
  }
  .poker-card-letter{
    right:-10px!important;
    bottom:-55px!important;
    font-size:175px!important;
  }
  .mobile-poker-controls{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:2px;
  }
  .mobile-poker-controls button{
    width:44px;height:44px;border-radius:50%;
    border:1px solid rgba(3,36,101,.16);
    background:#fff;color:var(--navy);
    font-size:18px;font-weight:900;
    box-shadow:0 8px 22px rgba(3,36,101,.08);
    cursor:pointer;
  }
  .mobile-poker-controls span{
    min-width:64px;text-align:center;
    color:#68708d;font-size:11px;font-weight:900;letter-spacing:.14em;
  }
  .mobile-poker-controls b{color:var(--navy)}
}

/* School Pulse: remove category cards and keep the news section compact. */
.pulse-news-note{
  margin-top:24px;
  padding:18px 0 0;
  border-top:1px solid rgba(3,36,101,.12);
  display:flex;
  align-items:center;
  gap:20px;
}
.pulse-news-note__label{
  color:var(--blue);
  font-size:10px;
  font-weight:950;
  letter-spacing:.18em;
  white-space:nowrap;
}
.pulse-news-note strong{
  font-size:14px;
  color:var(--navy);
}
.pulse-news-note__link{
  margin-left:auto;
  color:var(--navy);
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
@media(max-width:767px){
  .school-pulse{
    padding:64px 0 68px!important;
  }
  .school-pulse .pulse-header{margin-bottom:24px!important}
  .school-pulse .pulse-grid{grid-template-columns:1fr!important;gap:18px!important}
  .school-pulse .featured-event{min-height:410px}
  .school-pulse .news-column{min-height:0}
  .school-pulse .news-item{padding:20px 0}
  .school-pulse .news-item h3{font-size:18px;line-height:1.15}
  .school-pulse .pulse-news-note{
    flex-wrap:wrap;
    gap:8px 14px;
    padding-top:16px;
  }
  .school-pulse .pulse-news-note__link{margin-left:0;width:100%}
  .school-pulse .pulse-ticker{margin-top:20px}
}

/* Mobile Journey: replace the long desktop timeline with a focused story card. */
.race-mobile-journey{display:none}
@media(max-width:767px){
  .race-journey{
    padding:64px 16px 70px!important;
    background:
      radial-gradient(circle at 90% 10%,rgba(18,58,122,.18),transparent 30%),
      linear-gradient(180deg,#111e61 0%,#15256f 100%);
  }
  .race-journey__eyebrow{
    margin:0 0 14px;
    text-align:left;
    font-size:10px;
    letter-spacing:.18em;
  }
  .race-journey__title{
    text-align:left;
    font-size:clamp(34px,10vw,48px);
    line-height:.94;
    margin-bottom:24px;
    max-width:360px;
  }
  .race-timeline{display:none!important}
  .race-mobile-journey{
    display:block;
    position:relative;
    height:470px;
    overflow:hidden;
  }
  .race-mobile-card{
    position:absolute;
    inset:0;
    display:grid;
    grid-template-rows:245px 1fr;
    padding:0;
    border:1px solid rgba(255,255,255,.12);
    border-radius:28px;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
    box-shadow:0 24px 60px rgba(0,0,0,.18);
    opacity:0;
    transform:translateX(42px) scale(.97);
    pointer-events:none;
  }
  .race-mobile-card.is-active{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }
  .race-mobile-card__visual{
    position:relative;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    background:linear-gradient(180deg,rgba(18,58,122,.13),rgba(17,30,97,.2));
    overflow:hidden;
  }
  .race-mobile-card__visual:after{
    content:"";
    position:absolute;
    width:190px;height:190px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.1);
    bottom:-85px;
  }
  .race-mobile-card__visual img{
    position:relative;
    z-index:2;
    width:min(210px,70%);
    height:230px;
    object-fit:contain;
    object-position:center bottom;
    filter:drop-shadow(0 18px 20px rgba(0,0,0,.25));
  }
  .race-mobile-card__copy{
    padding:20px 22px 22px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .race-mobile-card__copy>span{
    color:#73d8f7;
    font-size:9px;
    font-weight:950;
    letter-spacing:.18em;
  }
  .race-mobile-card__copy h3{
    margin:8px 0 7px;
    font-size:35px;
    line-height:.9;
    letter-spacing:-.04em;
  }
  .race-mobile-card__copy p{
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:13px;
    line-height:1.5;
  }
  .race-mobile-controls{
    position:absolute;
    left:0;right:0;bottom:0;
    z-index:10;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    padding:0 2px;
  }
  .race-mobile-controls button{
    width:40px;height:40px;border-radius:50%;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.08);
    color:#fff;font-size:16px;cursor:pointer;
  }
  .race-mobile-count{
    min-width:60px;text-align:center;
    color:rgba(255,255,255,.55);
    font-size:9px;font-weight:900;letter-spacing:.16em;
  }
  .race-mobile-count b{color:#fff}
}

/* Mobile ticker should never start half-clipped. */
@media(max-width:767px){
  .school-pulse .pulse-ticker{overflow:hidden}
  .school-pulse .ticker-track{width:max-content;min-width:200%;display:flex}
  .school-pulse .ticker-item{white-space:nowrap}
}

/* Tablet/desktop pulse stays clean after removing the old category strip. */
@media(min-width:768px){
  .pulse-news-note{margin-top:28px}
}


/* FINAL REQUEST — Student Journey hidden on mobile only.
   No other section is changed. */
@media (max-width: 620px){
  #journey,
  section.journey,
  .journey.section{
    display:none !important;
  }
}




/* =========================================================
   RACE CHANAKYA — BEYOND BOOKS CARD LAYOUT
   Only overrides the Special Programmes section.
   ========================================================= */
.beyond-books-v2{background:linear-gradient(180deg,#f7fbff 0%,#fffdf7 100%);overflow:hidden;}
.beyond-v2-heading{max-width:980px;margin:0 auto;text-align:center;padding:8px 20px 0;position:relative;z-index:5;}
.beyond-v2-heading .eyebrow{display:inline-flex;align-items:center;gap:12px;color:#E90A0C;font-weight:950;letter-spacing:.18em;font-size:13px;}
.beyond-v2-heading .eyebrow:after{content:"";display:block;width:38px;height:3px;background:#FAD80B;border-radius:9px;}
.beyond-v2-heading h2{margin:18px 0 10px;color:#032465;font-size:clamp(40px,5.2vw,76px);line-height:.94;letter-spacing:-.055em;font-weight:950;}
.beyond-v2-heading h2 span{display:inline;color:#123A7A;}
.beyond-v2-heading p{max-width:800px;margin:0 auto;color:#66718a;font-size:16px;line-height:1.65;font-weight:600;}
.beyond-books-v2 .poker-stage{height:735px;margin-top:44px;position:relative;}
.beyond-books-v2 .poker-hand{height:650px;position:relative;perspective:1800px;}
.beyond-books-v2 .poker-card{height:610px;width:330px;margin-left:-165px;padding:0;border-radius:25px;overflow:hidden;position:absolute;top:0;left:50%;box-shadow:0 24px 55px rgba(3,36,101,.14);will-change:transform;}
.beyond-books-v2 .poker-card__image{position:absolute;right:0;top:0;width:48%;height:100%;overflow:hidden;border-radius:0 25px 25px 0;z-index:1;opacity:0;}
.beyond-books-v2 .poker-card__image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.14),transparent 45%);z-index:2;pointer-events:none;}
.beyond-books-v2 .poker-card__image img{width:100%;height:100%;object-fit:cover;display:block;}
.beyond-books-v2 .poker-card__body{position:absolute;inset:0 auto 0 0;width:60%;padding:27px 24px 24px;z-index:4;}
.beyond-books-v2 .poker-card-number{position:absolute!important;top:27px!important;left:24px!important;color:rgba(255,255,255,.9);font-size:14px;font-weight:900;letter-spacing:.04em;}
.beyond-books-v2 .poker-card-icon{position:absolute;top:72px;left:24px;font-size:35px;line-height:1;color:currentColor;opacity:.95;}
.beyond-books-v2 .poker-card-label{position:absolute!important;top:124px!important;left:24px!important;color:inherit;font-size:12px;letter-spacing:.14em;font-weight:950;}
.beyond-books-v2 .poker-card-accent{position:absolute;top:157px;left:24px;width:28px;height:3px;background:#FAD80B;border-radius:8px;}
.beyond-books-v2 .poker-card-2 .poker-card-accent{background:#E90A0C}.beyond-books-v2 .poker-card-4 .poker-card-accent{background:#fff}
.beyond-books-v2 .poker-card h3{position:absolute!important;left:24px!important;right:4px!important;top:195px!important;bottom:auto!important;margin:0!important;color:inherit;font-size:42px;line-height:.93;letter-spacing:-.055em;font-weight:950;z-index:5;}
.beyond-books-v2 .poker-card p{position:absolute!important;left:24px!important;right:10px!important;top:345px!important;bottom:auto!important;margin:0!important;font-size:12px;line-height:1.48;font-weight:600;opacity:0;z-index:5;}
.beyond-books-v2 .poker-card-list{position:absolute;left:24px;right:5px;top:402px;margin:0;padding:0;list-style:none;font-size:10px;line-height:1.8;font-weight:750;opacity:0;z-index:5;}
.beyond-books-v2 .poker-card-list li:before{content:"• ";}
.beyond-books-v2 .poker-card__cta{position:absolute!important;left:24px!important;bottom:27px!important;color:inherit;text-decoration:none;font-size:11px;font-weight:950;letter-spacing:.01em;opacity:0;z-index:6;}
.beyond-books-v2 .poker-card__cta span{font-size:17px;margin-left:6px;}
.beyond-books-v2 .poker-card-letter{position:absolute!important;right:-18px;bottom:-55px;font-size:190px;line-height:1;font-weight:950;opacity:.09;z-index:3;pointer-events:none;}
.beyond-books-v2 .poker-card-1{background:#123A7A;color:#fff}.beyond-books-v2 .poker-card-2{background:#FAD80B;color:#032465}.beyond-books-v2 .poker-card-3{background:#E90A0C;color:#fff}.beyond-books-v2 .poker-card-4{background:#123A7A;color:#032465}
.beyond-books-v2 .poker-card-2 .poker-card-number,.beyond-books-v2 .poker-card-4 .poker-card-number{color:#032465;}
.beyond-books-v2 .mobile-poker-controls{display:none;}
@media(max-width:1100px) and (min-width:768px){
 .beyond-v2-heading h2{font-size:58px}.beyond-books-v2 .poker-stage{height:650px}.beyond-books-v2 .poker-hand{height:575px}.beyond-books-v2 .poker-card{width:285px;height:525px;margin-left:-142.5px}.beyond-books-v2 .poker-card h3{font-size:36px}.beyond-books-v2 .poker-card p{top:310px}.beyond-books-v2 .poker-card-list{top:365px;font-size:9px}
}
@media(max-width:767px){
 .beyond-books-v2{overflow:hidden!important;padding-bottom:35px!important;}
 .beyond-v2-heading{padding:0 18px;}
 .beyond-v2-heading .eyebrow{font-size:10px;letter-spacing:.14em;}
 .beyond-v2-heading h2{font-size:38px;line-height:.96;margin:13px 0 10px;letter-spacing:-.055em;}
 .beyond-v2-heading p{font-size:13px;line-height:1.5;}
 .beyond-books-v2 .poker-stage{height:560px!important;margin-top:28px!important;}
 .beyond-books-v2 .poker-hand{height:475px!important;width:100%!important;}
 .beyond-books-v2 .poker-card{width:calc(100vw - 42px)!important;max-width:360px!important;height:445px!important;margin-left:calc((42px - 100vw)/2)!important;top:0!important;border-radius:24px!important;}
 .beyond-books-v2 .poker-card__image{right:0!important;top:0!important;width:42%!important;height:100%!important;opacity:1!important;transform:none!important;border-radius:0 24px 24px 0!important;}
 .beyond-books-v2 .poker-card__body{width:65%!important;padding:18px!important;}
 .beyond-books-v2 .poker-card-number{top:18px!important;left:18px!important;font-size:11px!important;}
 .beyond-books-v2 .poker-card-icon{top:52px;left:18px;font-size:27px;}
 .beyond-books-v2 .poker-card-label{top:91px!important;left:18px!important;font-size:9px!important;}
 .beyond-books-v2 .poker-card-accent{top:119px;left:18px;width:23px;height:2px;}
 .beyond-books-v2 .poker-card h3{left:18px!important;right:0!important;top:155px!important;font-size:30px!important;line-height:.9!important;}
 .beyond-books-v2 .poker-card p{left:18px!important;right:4px!important;top:260px!important;font-size:10px!important;line-height:1.38!important;opacity:1!important;}
 .beyond-books-v2 .poker-card-list{left:18px;right:0;top:325px;font-size:9px;line-height:1.65;opacity:1;}
 .beyond-books-v2 .poker-card__cta{left:18px!important;bottom:20px!important;font-size:9px!important;opacity:1!important;}
 .beyond-books-v2 .poker-card-letter{font-size:140px;bottom:-48px;right:-12px;}
 .beyond-books-v2 .mobile-poker-controls{display:flex!important;position:relative;z-index:20;margin-top:0;align-items:center;justify-content:center;gap:18px;color:#032465;font-size:12px;font-weight:900;}
 .beyond-books-v2 .mobile-poker-controls button{width:45px;height:45px;border-radius:50%;border:1px solid rgba(3,36,101,.16);background:#fff;color:#032465;font-size:21px;box-shadow:0 8px 18px rgba(3,36,101,.08);}
 .beyond-books-v2 .mobile-poker-controls b{font-size:14px;}
}



:root{
  --brand-navy:#032465;
  --brand-dark:#07123E;
  --brand-red:#E90A0C;
  --brand-red-dark:#C90709;
  --brand-gold:#FAD80B;
  --brand-white:#FFFFFF;
  --brand-bg:#F7F8FA;
  --brand-blue-light:#123A7A;
}
.btn-dark,.navlinks .navbtn{background:var(--brand-navy)!important}
.btn-gold{background:var(--brand-gold)!important;color:var(--brand-dark)!important}
.btn-white{color:var(--brand-navy)!important}



/* ===== RACE VISIBLE HEADER ===== */
.nav{
  top:0!important;margin:0!important;width:100%!important;max-width:none!important;
  min-height:82px!important;padding:10px clamp(18px,4vw,52px)!important;
  border:0!important;border-radius:0!important;background:var(--brand-navy)!important;
  box-shadow:0 10px 30px rgba(7,18,62,.18)!important;backdrop-filter:none!important;
}
.nav .brand{color:#fff!important;font-size:14px!important;gap:13px!important;min-width:250px}
.nav .brand img{width:58px!important;height:58px!important;border-radius:12px!important;object-fit:contain!important;background:#fff!important;padding:3px!important;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.navlinks{gap:4px!important}
.navlinks a{color:rgba(255,255,255,.88)!important;padding:12px 10px!important;font-size:12px!important}
.navlinks a:hover{background:rgba(255,255,255,.10)!important;color:var(--brand-gold)!important}
.navlinks .navbtn{background:var(--brand-red)!important;color:#fff!important;border-radius:999px!important;padding:12px 17px!important;box-shadow:0 7px 18px rgba(233,10,12,.22)}
.navlinks .navbtn:hover{background:var(--brand-red-dark)!important;color:#fff!important}
.menu{background:var(--brand-red)!important;color:#fff!important}
.nav.scrolled{background:var(--brand-navy)!important;box-shadow:0 14px 35px rgba(7,18,62,.24)!important}
/* keep content from hiding beneath fixed/sticky-looking header */
body{scroll-padding-top:82px!important}
/* ===== SCHOOL FOOTER ===== */
.footer{background:var(--brand-dark)!important;padding:76px 0 26px!important;border-top:4px solid var(--brand-red)}
.footer-grid{grid-template-columns:1.5fr .7fr .9fr!important;gap:55px!important;padding-bottom:50px!important}
.footer .brand img{width:58px!important;height:58px!important;border-radius:12px!important;object-fit:contain!important;background:#fff!important;padding:3px!important}
.footer .brand{font-size:14px!important;gap:13px!important}
.footer p{color:rgba(255,255,255,.68)!important;line-height:1.8!important}
.footer h4{color:var(--brand-gold)!important;font-size:11px!important;letter-spacing:.18em!important}
.footer a{color:rgba(255,255,255,.72)!important;transition:.25s!important}
.footer a:hover{color:var(--brand-gold)!important;transform:translateX(3px)}
.footbottom{border-color:rgba(255,255,255,.14)!important;color:rgba(255,255,255,.5)!important}
/* ===== BEYOND BOOKS MOBILE ===== */
@media(max-width:767px){
  .nav{min-height:72px!important;padding:7px 12px!important}
  .nav .brand{min-width:0;font-size:12px!important;gap:9px!important}
  .nav .brand img{width:50px!important;height:50px!important;border-radius:10px!important}
  .nav .brand span{display:block!important;max-width:155px;line-height:1.15}
  .navlinks{display:none!important}
  .menu{display:flex!important;flex-shrink:0}

  .beyond-books-v2 .poker-stage{height:auto!important;min-height:540px!important;margin-top:25px!important}
  .beyond-books-v2 .poker-hand{height:430px!important;min-height:430px!important;position:relative!important;perspective:none!important;overflow:visible!important}
  .beyond-books-v2 .poker-card{
    width:calc(100vw - 34px)!important;max-width:430px!important;height:400px!important;
    left:50%!important;top:0!important;margin-left:calc((34px - 100vw)/2)!important;
    transform:none!important;display:none;opacity:0;border-radius:22px!important;
  }
  .beyond-books-v2 .poker-card.mobile-active{display:block!important;opacity:1!important;z-index:10!important}
  .beyond-books-v2 .poker-card__image{width:38%!important;height:100%!important;opacity:1!important;right:0!important;display:block!important}
  .beyond-books-v2 .poker-card__body{width:68%!important;padding:18px!important}
  .beyond-books-v2 .poker-card-number{top:18px!important;left:18px!important}
  .beyond-books-v2 .poker-card-icon{top:52px!important;left:18px!important}
  .beyond-books-v2 .poker-card-label{top:91px!important;left:18px!important}
  .beyond-books-v2 .poker-card-accent{top:119px!important;left:18px!important}
  .beyond-books-v2 .poker-card h3{top:150px!important;left:18px!important;font-size:29px!important}
  .beyond-books-v2 .poker-card p{top:250px!important;left:18px!important;font-size:10.5px!important;line-height:1.42!important;max-width:185px!important}
  .beyond-books-v2 .poker-card-list{top:318px!important;left:18px!important;font-size:9px!important;line-height:1.55!important;max-width:170px!important}
  .beyond-books-v2 .poker-card__cta{bottom:17px!important;left:18px!important}
  .beyond-books-v2 .poker-card-letter{font-size:125px!important}
  .beyond-books-v2 .mobile-poker-controls{display:flex!important;margin-top:18px!important}

  .footer{padding:55px 0 22px!important}
  .footer-grid{grid-template-columns:1fr!important;gap:30px!important;padding-bottom:34px!important}
  .footer .brand span{display:block!important}
  .footbottom{gap:8px!important;text-align:center;align-items:center}
}



/* =========================================================
   FINAL MOBILE HEADER / BEYOND BOOKS / SOCIAL / TICKER / POPUP
   ========================================================= */
.race-mobile-actions{display:none;align-items:center;justify-content:center;gap:7px;margin-left:auto}
.race-mobile-contact{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);border:1px solid rgba(3,36,101,.12);font-size:17px;font-weight:900;box-shadow:0 6px 15px rgba(3,36,101,.08)}
.race-mobile-contact.race-whatsapp{color:#128c4a}
.race-mobile-icon{line-height:1}

/* Left social rail */
.race-social-rail{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:140;display:flex;align-items:center}
.race-social-toggle{width:38px;height:82px;border:0;border-radius:0 20px 20px 0;background:var(--navy);color:#fff;box-shadow:0 12px 30px rgba(3,36,101,.2);cursor:pointer;font-size:12px;font-weight:900;writing-mode:vertical-rl;letter-spacing:.12em}
.race-social-panel{width:0;overflow:hidden;background:#fff;border-radius:0 18px 18px 0;box-shadow:0 12px 30px rgba(3,36,101,.18);display:flex;align-items:center;gap:8px;padding:0;transition:width .35s ease,padding .35s ease}
.race-social-rail.is-open .race-social-panel{width:188px;padding:10px 12px}
.race-social-link{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:var(--brand-bg);border:1px solid rgba(3,36,101,.1);color:var(--navy);font-weight:950;font-size:13px}
.race-social-link:hover{background:var(--brand-gold);transform:translateY(-2px)}

/* Fixed news ticker: sits above content and never changes document flow */
.race-fixed-ticker{position:fixed;left:0;right:0;bottom:0;height:42px;z-index:130;background:var(--navy);color:#fff;display:flex;align-items:center;border-top:2px solid var(--brand-gold);box-shadow:0 -10px 28px rgba(3,36,101,.16);overflow:hidden}
.race-fixed-ticker__label{height:100%;display:flex;align-items:center;padding:0 18px;background:var(--brand-red);font-size:9px;letter-spacing:.18em;font-weight:950;flex:0 0 auto}
.race-fixed-ticker__viewport{overflow:hidden;flex:1}
.race-fixed-ticker__track{display:flex;width:max-content;gap:48px;white-space:nowrap;will-change:transform}
.race-fixed-ticker__item{font-size:10px;letter-spacing:.12em;font-weight:850;display:flex;align-items:center;gap:10px}
.race-fixed-ticker__dot{width:7px;height:7px;border-radius:50%;background:var(--brand-gold);display:inline-block}
body{padding-bottom:42px}

/* Admission popup */
.race-admission-popup{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(7,18,62,.58);backdrop-filter:blur(8px)}
.race-admission-popup.is-visible{display:flex}
.race-admission-card{width:min(520px,100%);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.3);position:relative}
.race-admission-top{height:9px;background:linear-gradient(90deg,var(--brand-navy),var(--brand-red),var(--brand-gold))}
.race-admission-content{padding:32px}
.race-admission-kicker{font-size:10px;letter-spacing:.18em;font-weight:950;color:var(--brand-red);text-transform:uppercase}
.race-admission-card h3{font-size:clamp(30px,6vw,48px);line-height:.94;letter-spacing:-.055em;color:var(--brand-navy);margin:12px 0 12px}
.race-admission-card p{margin-bottom:22px}
.race-admission-actions{display:flex;gap:10px;flex-wrap:wrap}
.race-admission-close{position:absolute;right:15px;top:17px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--navy);font-size:22px;cursor:pointer}

@media(max-width:767px){
  .nav{position:sticky!important;top:8px!important;width:calc(100% - 18px)!important;margin:8px auto 0!important;min-height:68px!important;padding:6px 7px 6px 10px!important;border-radius:28px!important;background:#fff!important;box-shadow:0 10px 28px rgba(3,36,101,.14)!important}
  .nav .brand{gap:8px!important;flex:1;min-width:0;font-size:11px!important}
  .nav .brand img{width:48px!important;height:48px!important;border-radius:10px!important}
  .nav .brand span{display:block!important;max-width:none!important;white-space:normal!important;line-height:1.12!important;color:var(--navy)!important}
  .race-mobile-actions{display:flex!important}
  .race-mobile-contact{width:34px;height:34px;font-size:15px}
  .menu{display:flex!important;width:38px;height:38px!important;border-radius:50%!important;background:var(--brand-red)!important;color:#fff!important;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0!important}
  .menu span{display:block;width:18px;height:2px;background:#fff;border-radius:2px}

  .race-social-rail{top:auto;bottom:78px;transform:none}
  .race-social-toggle{width:36px;height:70px;border-radius:0 18px 18px 0}
  .race-social-rail.is-open .race-social-panel{width:184px}
  .race-social-link{width:35px;height:35px;flex-basis:35px}

  .race-fixed-ticker{height:38px}
  .race-fixed-ticker__label{font-size:8px;padding:0 12px}
  .race-fixed-ticker__item{font-size:8px}
  body{padding-bottom:38px}

  /* Poker stack: all four cards stay visible. The front card swipes away,
     while the half-visible card behind advances into front position. */
  .beyond-books-v2 .poker-stage{height:525px!important;min-height:0!important;margin-top:28px!important;overflow:visible!important;touch-action:pan-y!important}
  .beyond-books-v2 .poker-hand{height:430px!important;position:relative!important;overflow:visible!important;perspective:1400px!important}
  .beyond-books-v2 .poker-card{
    display:block!important;position:absolute!important;left:50%!important;top:0!important;
    width:min(76vw,315px)!important;height:405px!important;margin-left:min(-38vw,-157.5px)!important;
    border-radius:22px!important;opacity:1;transition:none!important;
    box-shadow:0 22px 42px rgba(3,36,101,.20)!important;will-change:transform,opacity!important;
  }
  .beyond-books-v2 .poker-card__image{width:38%!important;height:100%!important;opacity:1!important;display:block!important;border-radius:0 22px 22px 0!important}
  .beyond-books-v2 .poker-card__body{width:68%!important;padding:18px!important}
  .beyond-books-v2 .poker-card h3{font-size:29px!important;line-height:.92!important}
  .beyond-books-v2 .poker-card p{font-size:10px!important}
  .beyond-books-v2 .poker-card-list{font-size:8.5px!important}
  .beyond-books-v2 .mobile-poker-controls{display:flex!important;margin-top:8px!important;position:relative!important;z-index:70!important}
  .beyond-books-v2 .mobile-poker-hint{display:flex!important}

  .race-admission-content{padding:27px 23px 25px}
  .race-admission-card{border-radius:24px}
}



/* MOBILE: Learning beyond the textbook becomes a swipeable page deck */
@media (max-width: 767px){
  .flipbook-section .race-book-wrap{position:relative}
  .flipbook-section .flipbook{touch-action:pan-y;cursor:grab}
  .flipbook-section .flipbook:active{cursor:grabbing}
  .flipbook-section .book-spread{pointer-events:none}
  .flipbook-section .book-page{pointer-events:none}
  .flipbook-section .race-book-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
  .flipbook-section .race-book-controls .book-open-btn{order:1}
  .flipbook-section .race-book-controls .book-prev{order:2}
  .flipbook-section .race-book-controls .book-flip{order:3}
  .flipbook-section .race-book-controls .book-next{order:4}
  .flipbook-section .book-page-count{order:5;width:100%;text-align:center}
  .flipbook-section .flipbook-caption{margin-top:16px}
  .flipbook-section .flipbook-caption span:last-child{display:block}

  /* Swipeable single-spread presentation after the book is opened */
  .flipbook-section .flipbook.is-swipe-mode .book-spread{display:grid;grid-template-columns:1fr}
  .flipbook-section .flipbook.is-swipe-mode .book-page{grid-column:1;grid-row:1;min-height:390px}
  .flipbook-section .flipbook.is-swipe-mode .book-left{display:block}
  .flipbook-section .flipbook.is-swipe-mode .book-right{display:none}
  .flipbook-section .flipbook.is-swipe-mode .book-page-inner{min-height:390px}

  /* Beyond Books: unmistakable poker-card swipe deck */
  .beyond-books-v2 .poker-stage{touch-action:pan-y}
  .beyond-books-v2 .poker-card{cursor:grab;user-select:none;-webkit-user-select:none}
  .beyond-books-v2 .poker-card:active{cursor:grabbing}
  .beyond-books-v2 .mobile-poker-hint{display:flex}
}
@media (min-width:768px){.beyond-books-v2 .mobile-poker-hint{display:none}}
.mobile-poker-hint{align-items:center;justify-content:center;gap:8px;margin:4px 0 12px;color:#718098;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.mobile-poker-hint b{color:#E90A0C;font-size:15px}



/* ============================================================
   FINAL ACADEMICS BOOK INTERACTION
   - No visible Open / Flip / arrow buttons.
   - The cover itself is the opening affordance.
   - After opening, the book behaves like a real spread.
   - Desktop: drag, swipe, click page edges.
   - Mobile: same interaction, optimized for touch.
   ============================================================ */
.race-book-controls--hidden{display:none!important}
.race-book-hint{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin:0 auto 16px;color:var(--navy);font-size:10px;
  font-weight:950;letter-spacing:.16em;text-transform:uppercase;
  text-align:center;min-height:24px;
}
.race-book-hint__icon{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:var(--gold);color:var(--navy);font-size:15px;letter-spacing:0;
  box-shadow:0 8px 18px rgba(250,216,11,.22);
}
.race-book-hint__open{display:none}
.flipbook.open + .flipbook-caption{opacity:.9}
.flipbook.open ~ .race-book-hint .race-book-hint__closed{display:none}
.flipbook.open ~ .race-book-hint .race-book-hint__open{display:inline}
/* Hint sits before the book in the markup, so use the open state on the parent. */
.race-book-wrap.is-book-open .race-book-hint__closed{display:none}
.race-book-wrap.is-book-open .race-book-hint__open{display:inline}
.cover-interaction{
  position:absolute;left:50%;bottom:16px;transform:translateX(-50%);
  z-index:4;font-size:9px;letter-spacing:.16em;font-weight:950;
  color:rgba(255,255,255,.8);white-space:nowrap;
  padding:8px 12px;border:1px solid rgba(255,255,255,.2);
  border-radius:999px;background:rgba(7,18,62,.18);backdrop-filter:blur(5px);
}
.book-cover.opened .cover-interaction{opacity:0;pointer-events:none}
.flipbook{touch-action:pan-y;cursor:grab}
.flipbook:active{cursor:grabbing}
.book-page{cursor:pointer}
@media(min-width:768px){
  .flipbook.open .book-page:hover{box-shadow:inset 0 0 0 1px rgba(250,216,11,.18),inset 18px 0 30px rgba(3,36,101,.045)}
}

@media(max-width:767px){
  /* A genuine two-page mobile spread after the cover opens. */
  .flipbook-section .flipbook.is-swipe-mode{height:470px!important;display:block!important;perspective:1800px;overflow:visible}
  .flipbook-section .flipbook.is-swipe-mode .book-spread{
    display:grid!important;grid-template-columns:1fr 1fr!important;
    position:absolute!important;inset:2% 0 3%!important;
    transform-style:preserve-3d;gap:0;
  }
  .flipbook-section .flipbook.is-swipe-mode .book-page{
    position:relative!important;inset:auto!important;display:block!important;
    min-height:0!important;height:100%!important;padding:18px 14px!important;
    border-radius:18px!important;grid-row:1!important;
  }
  .flipbook-section .flipbook.is-swipe-mode .book-left{grid-column:1!important;z-index:3!important}
  .flipbook-section .flipbook.is-swipe-mode .book-right{grid-column:2!important;z-index:2!important}
  .flipbook-section .flipbook.is-swipe-mode .book-spine{left:50%!important;top:2%!important;bottom:3%!important;width:3px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-top{font-size:6px!important;padding-bottom:9px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-content{padding-top:18px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-content h3{font-size:clamp(25px,7.5vw,38px)!important;line-height:.9!important;margin:10px 0 11px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-content p{font-size:10px!important;line-height:1.5!important;margin-bottom:10px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-programs{gap:4px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-chip{font-size:7px!important;padding:6px 7px!important;min-height:27px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-mark{font-size:80px!important;bottom:-15px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-no{font-size:7px!important;right:12px!important;bottom:12px!important}
  .flipbook-section .book-cover{z-index:20!important}
  .race-book-hint{font-size:9px;letter-spacing:.12em;margin-bottom:10px}
  .race-book-hint__icon{width:25px;height:25px;font-size:14px}
  .cover-interaction{font-size:7px;bottom:13px;padding:7px 9px;letter-spacing:.11em}
  .flipbook-caption{display:grid!important;margin-top:12px!important;grid-template-columns:42px 1fr!important}
  .flipbook-caption span:last-child{grid-column:1/-1!important;font-size:10px!important;line-height:1.5!important}
}
@media(max-width:420px){
  .flipbook-section .flipbook.is-swipe-mode{height:430px!important}
  .flipbook-section .flipbook.is-swipe-mode .book-page{padding:16px 11px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-content h3{font-size:25px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-content p{font-size:9px!important}
  .flipbook-section .flipbook.is-swipe-mode .page-chip{font-size:6.5px!important;padding:5px 6px!important}
}



@media (max-width:767px){
  /* Beyond Books: mobile-only poker stack matching the supplied reference */
  .beyond-books-v2 .poker-stage{height:545px!important;margin-top:28px!important;overflow:visible!important;touch-action:pan-y!important;}
  .beyond-books-v2 .poker-hand{height:445px!important;width:100%!important;position:relative!important;overflow:visible!important;perspective:1200px!important;}
  .beyond-books-v2 .poker-card{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:0!important;
    width:min(72vw,300px)!important;
    height:420px!important;
    margin-left:min(-36vw,-150px)!important;
    border-radius:4px!important;
    transform-origin:center center!important;
    box-shadow:0 20px 42px rgba(3,36,101,.20)!important;
    transition:none!important;
    will-change:transform,opacity!important;
  }
  .beyond-books-v2 .poker-card__image{width:46%!important;height:100%!important;opacity:1!important;display:block!important;border-radius:0 4px 4px 0!important;}
  .beyond-books-v2 .poker-card__body{width:66%!important;}
  .beyond-books-v2 .poker-card h3{font-size:28px!important;line-height:.94!important;}
  .beyond-books-v2 .poker-card p{font-size:10px!important;}
  .beyond-books-v2 .poker-card-list{font-size:8.5px!important;}
  .beyond-books-v2 .mobile-poker-controls{display:flex!important;position:relative!important;z-index:40!important;margin-top:8px!important;}
  .beyond-books-v2 .mobile-poker-hint{display:flex!important;margin-bottom:4px!important;}
}
@media (max-width:380px){
  .beyond-books-v2 .poker-card{width:76vw!important;margin-left:-38vw!important;height:405px!important;}
  .beyond-books-v2 .poker-stage{height:525px!important;}
}



@media (max-width:767px){
  .race-journey .race-timeline{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    touch-action:auto!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:auto!important;
    scrollbar-width:none!important;
    padding:0 11vw 18px!important;
    cursor:grab;
  }
  .race-journey .race-timeline:active{cursor:grabbing}
  .race-journey .race-timeline::-webkit-scrollbar{display:none!important}
  .race-journey .race-items{
    display:flex!important;
    flex-direction:row!important;
    width:max-content!important;
    min-width:0!important;
    gap:0!important;
    padding:0!important;
  }
  .race-journey .race-stage{
    flex:0 0 78vw!important;
    width:78vw!important;
    height:410px!important;
    min-height:410px!important;
    scroll-snap-align:center!important;
    scroll-snap-stop:always!important;
  }
  .race-journey .race-stage:first-child{margin-left:0!important}
  .race-journey .race-stage:last-child{margin-right:0!important}
  .race-journey .race-line{
    left:calc(11vw + 39vw)!important;
    width:calc(78vw * 4)!important;
    right:auto!important;
    top:220px!important;
    pointer-events:none!important;
  }
  .race-journey .race-line__fill{
    width:0!important;
    height:100%!important;
  }
  .race-journey .race-stage__title{position:relative;z-index:5}
  .race-journey .race-journey-description{position:relative;z-index:6}
}
@media(max-width:430px){
  .race-journey .race-stage{flex-basis:82vw!important;width:82vw!important}
  .race-journey .race-line{left:calc(9vw + 41vw)!important;width:calc(82vw * 4)!important}
}



/* ===== RACE DESKTOP NESTED MENU ===== */
@media(min-width:901px){
  .navlinks .has-sub{position:relative}
  .navlinks .has-sub>a,.navlinks>a.has-sub-link{display:inline-flex;align-items:center;gap:6px}
  .navlinks .has-sub>a::after{content:"⌄";font-size:11px;opacity:.65}
  .navlinks .submenu{position:absolute;top:calc(100% + 12px);left:0;min-width:210px;padding:9px;background:#fff;border:1px solid rgba(3,36,101,.09);border-radius:16px;box-shadow:0 18px 45px rgba(3,36,101,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s ease;z-index:300}
  .navlinks .has-sub:hover>.submenu,.navlinks .has-sub:focus-within>.submenu{opacity:1;visibility:visible;transform:none}
  .navlinks .submenu a{display:flex!important;align-items:center;justify-content:space-between!important;width:100%;padding:10px 12px!important;border-radius:10px!important;color:#26365f!important;font-size:11px!important}
  .navlinks .submenu a:hover{background:#f7f8fa!important;color:#e90a0c!important}
  .navlinks .submenu .has-sub{width:100%}
  .navlinks .submenu .submenu{top:-9px;left:calc(100% + 8px);}
}
/* ===== MOBILE NESTED MENU ===== */
@media(max-width:900px){
  .race-mobile-menu .mobile-submenu{display:none;padding:2px 0 8px 44px}
  .race-mobile-menu .mobile-submenu.open{display:block}
  .race-mobile-menu .mobile-submenu a{font-size:12px!important;padding:10px 14px!important;min-height:auto!important;border-top:0!important}
  .race-mobile-menu .mobile-parent{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;cursor:pointer}
  .race-mobile-menu .mobile-parent .chev{transition:.2s}
  .race-mobile-menu .mobile-parent.open .chev{transform:rotate(180deg)}
}
/* ===== BEYOND BOOKS: restore compact 4-card poker stack on mobile ===== */
@media(max-width:767px){
  .beyond-books-v2 .mobile-poker-hint{display:none!important}
  .beyond-books-v2 .poker-stage{height:560px!important;overflow:hidden!important;touch-action:pan-y!important}
  .beyond-books-v2 .poker-hand{height:455px!important;overflow:visible!important;position:relative!important}
  .beyond-books-v2 .poker-card{display:block!important;position:absolute!important;top:8px!important;left:50%!important;width:240px!important;height:430px!important;margin-left:-120px!important;border-radius:24px!important;padding:0!important;transform-origin:center bottom!important;transition:transform .55s cubic-bezier(.22,.75,.18,1),opacity .45s ease,filter .45s ease!important;will-change:transform!important;touch-action:pan-y!important}
  .beyond-books-v2 .poker-card:nth-child(1){z-index:4}.beyond-books-v2 .poker-card:nth-child(2){z-index:3}.beyond-books-v2 .poker-card:nth-child(3){z-index:2}.beyond-books-v2 .poker-card:nth-child(4){z-index:1}
  .beyond-books-v2 .poker-card__image{height:155px!important;border-radius:24px 24px 0 0!important;overflow:hidden!important}
  .beyond-books-v2 .poker-card__image img{width:100%!important;height:100%!important;object-fit:cover!important}
  .beyond-books-v2 .poker-card__body{padding:14px 18px!important}
  .beyond-books-v2 .poker-card h3{top:auto!important;bottom:88px!important;left:18px!important;font-size:27px!important}
  .beyond-books-v2 .poker-card p{top:auto!important;bottom:58px!important;left:18px!important;right:18px!important;max-width:none!important;font-size:9.5px!important}
  .beyond-books-v2 .poker-card-list{display:none!important}
  .beyond-books-v2 .poker-card__cta{bottom:18px!important;left:18px!important}
  .beyond-books-v2 .mobile-poker-controls{display:none!important}
  .beyond-books-v2 .poker-card.is-stack-back{opacity:.96!important}
}



/* ===== CLIENT THEME & FONT PREVIEW — 10 OPTIONS EACH ===== */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;700;800;900&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Montserrat:wght@400;500;600;700;800;900&family=Nunito+Sans:wght@400;600;700;800;900&family=Oswald:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{
  --client-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --client-heading-font:var(--client-font);
}
body{font-family:var(--client-font)}
h1,h2,h3,h4,.brand,.navlinks,.btn,.hero h1,.intro-title,.statement-copy,
.journey h2,.academic-copy h2,.campus-head h2,.life-head h2,
.achievement-heading h2,.news-head h2,.testimonials h2,.flipbook-head h2,
.admissions h2,.page-content h3{font-family:var(--client-heading-font)}

.client-style-panel{
 position:fixed;right:18px;bottom:18px;z-index:100000;width:310px;max-height:calc(100vh - 36px);
 overflow:auto;padding:17px;border-radius:18px;background:rgba(255,255,255,.98);
 backdrop-filter:blur(16px);border:1px solid rgba(3,36,101,.12);
 box-shadow:0 18px 55px rgba(3,36,101,.18);color:#07123E;
 font-family:Inter,ui-sans-serif,system-ui,sans-serif;
}
.client-style-panel[hidden]{display:none}
.client-style-panel h4{margin:0 0 13px;font-size:14px}
.client-style-panel label{display:block;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin:12px 0 6px}
.client-palettes{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.client-palette{
 border:1px solid rgba(3,36,101,.12);border-radius:10px;background:#fff;
 padding:7px 6px;cursor:pointer;font-size:10px;font-weight:800;color:#07123E;
 text-align:left;transition:.2s;
}
.client-palette:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(3,36,101,.10)}
.client-palette.active{border:2px solid #032465;padding:6px}
.client-swatch{display:flex;height:20px;border-radius:6px;overflow:hidden;margin-bottom:5px}
.client-swatch i{flex:1}
#clientFontSelect{
 width:100%;padding:10px;border-radius:10px;border:1px solid rgba(3,36,101,.14);
 background:#fff;color:#07123E;font:700 12px Inter,ui-sans-serif,system-ui,sans-serif;
}
.client-font-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.client-font-btn{
 border:1px solid rgba(3,36,101,.12);border-radius:10px;background:#fff;
 padding:10px 8px;cursor:pointer;text-align:left;color:#07123E;
 transition:.2s;
}
.client-font-btn small{display:block;font:700 9px Inter,sans-serif;color:#66708b;margin-top:3px}
.client-font-btn.active{border:2px solid #032465;padding:9px}
.client-panel-toggle{
 position:fixed;right:18px;bottom:18px;z-index:100001;border:0;border-radius:999px;
 padding:11px 15px;background:#032465;color:#fff;
 font:800 11px Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;
 box-shadow:0 12px 30px rgba(3,36,101,.2)
}
@media(max-width:700px){
 .client-style-panel{right:10px;bottom:10px;width:280px;max-height:80vh}
 .client-panel-toggle{right:10px;bottom:10px}
}

<style>
.client-palette.glass-palette{
  background:
    linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.18));
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-color:rgba(255,255,255,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 5px 16px rgba(3,36,101,.08);
}
.client-palette.glass-palette:hover{
  background:
    linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.25));
}



@media (max-width:767px){
  .beyond-books-v2{overflow:hidden!important;padding-bottom:70px!important;}
  .beyond-books-v2 .beyond-v2-heading{padding-left:18px!important;padding-right:18px!important;}
  .beyond-books-v2 .beyond-v2-heading h2{font-size:clamp(39px,11vw,54px)!important;line-height:.94!important;letter-spacing:-.055em!important;}
  .beyond-books-v2 .beyond-v2-heading p{font-size:14px!important;line-height:1.65!important;max-width:560px!important;margin-left:auto!important;margin-right:auto!important;}
  .beyond-books-v2 .poker-stage{height:610px!important;margin-top:22px!important;overflow:visible!important;touch-action:pan-y!important;}
  .beyond-books-v2 .poker-hand{height:540px!important;width:100%!important;overflow:visible!important;perspective:1400px!important;}
  .beyond-books-v2 .poker-card{
    width:min(88vw,360px)!important;
    height:500px!important;
    margin-left:min(-44vw,-180px)!important;
    top:0!important;
    border-radius:26px!important;
    overflow:hidden!important;
    box-shadow:0 22px 55px rgba(3,36,101,.20)!important;
    transform-origin:center bottom!important;
    touch-action:pan-y!important;
  }
  .beyond-books-v2 .poker-card__image{
    width:100%!important;height:190px!important;
    display:block!important;position:relative!important;
    border-radius:26px 26px 0 0!important;overflow:hidden!important;
  }
  .beyond-books-v2 .poker-card__image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
  .beyond-books-v2 .poker-card__body{
    width:100%!important;height:310px!important;padding:20px 22px!important;position:relative!important;
  }
  .beyond-books-v2 .poker-card-number{top:18px!important;left:22px!important;font-size:12px!important;}
  .beyond-books-v2 .poker-card-icon{top:16px!important;right:22px!important;position:absolute!important;font-size:22px!important;}
  .beyond-books-v2 .poker-card-label{top:48px!important;left:22px!important;font-size:10px!important;letter-spacing:.18em!important;}
  .beyond-books-v2 .poker-card-accent{top:69px!important;left:22px!important;width:34px!important;height:3px!important;position:absolute!important;}
  .beyond-books-v2 .poker-card h3{
    position:absolute!important;top:88px!important;left:22px!important;right:20px!important;bottom:auto!important;
    margin:0!important;font-size:32px!important;line-height:.95!important;letter-spacing:-.055em!important;
  }
  .beyond-books-v2 .poker-card p{
    position:absolute!important;top:170px!important;left:22px!important;right:22px!important;bottom:auto!important;
    margin:0!important;max-width:none!important;font-size:12px!important;line-height:1.55!important;opacity:1!important;
  }
  .beyond-books-v2 .poker-card-list{
    display:flex!important;position:absolute!important;top:230px!important;left:22px!important;right:18px!important;
    margin:0!important;padding:0!important;gap:5px 14px!important;flex-wrap:wrap!important;
    list-style:none!important;font-size:10px!important;line-height:1.35!important;
  }
  .beyond-books-v2 .poker-card-list li{width:calc(50% - 7px)!important;margin:0!important;}
  .beyond-books-v2 .poker-card-list li:before{content:'•';margin-right:5px;color:var(--brand-gold)!important;}
  .beyond-books-v2 .poker-card__cta{left:22px!important;bottom:18px!important;opacity:1!important;font-size:10px!important;}
  .beyond-books-v2 .poker-card-letter{right:-10px!important;bottom:-50px!important;font-size:150px!important;}
  .beyond-books-v2 .mobile-poker-controls{display:none!important;}
  .beyond-books-v2 .mobile-poker-hint{display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;margin:0 0 12px!important;font-size:10px!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#66708f!important;}
  .beyond-books-v2 .mobile-poker-hint b{font-size:18px!important;color:var(--brand-red)!important;}
}
@media (max-width:380px){
  .beyond-books-v2 .poker-card{width:88vw!important;margin-left:-44vw!important;height:500px!important;}
  .beyond-books-v2 .poker-card__image{height:175px!important;}
  .beyond-books-v2 .poker-card__body{height:325px!important;}
  .beyond-books-v2 .poker-card h3{font-size:29px!important;}
  .beyond-books-v2 .poker-card p{top:164px!important;font-size:11px!important;}
  .beyond-books-v2 .poker-card-list{top:222px!important;font-size:9px!important;}
}



/* ============================================================
   MOBILE STUDENT JOURNEY — HORIZONTAL TIMELINE
   Desktop remains unchanged.
   ============================================================ */
@media (max-width: 767px){
  .race-journey{
    padding:64px 0 70px !important;
    overflow:hidden !important;
  }
  .race-journey__inner{
    width:100%;
    max-width:none;
  }
  .race-journey__eyebrow,
  .race-journey__title{
    margin-left:20px;
    margin-right:20px;
  }
  .race-journey__eyebrow{
    text-align:left;
  }
  .race-journey__title{
    text-align:left;
    max-width:390px;
    margin-bottom:34px;
  }

  /* Hide the previous vertical mobile story-card treatment. */
  .race-mobile-journey{display:none !important;}

  /* Horizontal swipe rail. */
  .race-timeline{
    display:block !important;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:0 20px 12px;
    touch-action:pan-x !important;
    overscroll-behavior-y:none;
    user-select:none;
    -webkit-user-select:none;
  }
  .race-timeline::-webkit-scrollbar{display:none}

  .race-items{
    display:flex !important;
    flex-direction:row !important;
    width:max-content;
    gap:0 !important;
    min-width:calc(100vw - 40px);
    position:relative;
    padding:0 12px;
  }

  .race-stage{
    touch-action:pan-x !important;
    flex:0 0 78vw;
    width:78vw;
    min-height:0 !important;
    height:420px;
    display:block !important;
    text-align:center;
    scroll-snap-align:center;
    position:relative;
    padding:0 8px;
  }
  .race-stage:first-child{margin-left:2vw}
  .race-stage:last-child{margin-right:2vw}

  .race-imagebox{
    height:220px !important;
    width:100%;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    position:relative;
    z-index:2;
  }
  .race-student{
    width:min(190px,86vw) !important;
    max-height:210px !important;
    opacity:.38;
    transform:translateY(18px) scale(.88);
  }

  .race-line{
    left:calc(20px + 12px + 39vw) !important;
    right:auto !important;
    top:220px !important;
    width:calc(78vw * 5 - 78vw) !important;
    height:4px !important;
    bottom:auto !important;
    transform:none !important;
    z-index:1;
    pointer-events:none;
  }
  .race-line__fill{
    left:0 !important;
    top:0 !important;
    bottom:auto !important;
    width:0 !important;
    height:100% !important;
    background:linear-gradient(90deg,#24b5e7,#5cc7e8) !important;
  }

  .race-dot{
    width:50px !important;
    height:50px !important;
    margin:-2px auto 0 !important;
    position:relative;
    z-index:4;
  }
  .race-stage__title{
    margin:18px 0 0 !important;
    font-size:13px !important;
    letter-spacing:.16em !important;
    text-align:center !important;
  }

  .race-journey-description{
    margin:4px 24px 0 !important;
    min-height:84px !important;
  }
  .race-description{
    font-size:14px !important;
    line-height:1.5 !important;
    padding:0 4px !important;
  }

  /* Swipe hint so visitors immediately understand the interaction. */
  .race-journey-description::after{
    content:"SWIPE  ←  →";
    display:block;
    margin-top:13px;
    font-size:9px;
    letter-spacing:.2em;
    font-weight:900;
    color:rgba(255,255,255,.45);
  }
}

@media (max-width:430px){
  .race-stage{
    flex-basis:82vw;
    width:82vw;
    height:405px;
  }
  .race-line{
    width:calc(82vw * 5 - 82vw) !important;
  }
  .race-student{
    width:min(175px,82vw) !important;
    max-height:198px !important;
  }
}



@media (max-width:767px){
  /* Mobile Journey: compact vertical timeline; never capture horizontal/page scrolling. */
  .race-journey .race-timeline{
    display:block !important;
    width:100% !important;
    overflow:visible !important;
    padding:0 !important;
    margin:0 !important;
    scroll-snap-type:none !important;
    touch-action:pan-y !important;
    overscroll-behavior:visible !important;
  }
  .race-journey .race-items{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    width:100% !important;
  }
  .race-journey .race-stage{
    position:relative !important;
    display:grid !important;
    grid-template-columns:96px 38px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    align-items:center !important;
    width:100% !important;
    min-height:150px !important;
    height:auto !important;
    padding:10px 0 !important;
    scroll-snap-align:none !important;
  }
  .race-journey .race-imagebox{
    grid-column:1 !important;
    grid-row:1 !important;
    width:96px !important;
    height:125px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
  }
  .race-journey .race-student{
    width:92px !important;
    max-width:92px !important;
    max-height:125px !important;
    opacity:.65;
    transform:none !important;
  }
  .race-journey .race-dot{
    grid-column:2 !important;
    grid-row:1 !important;
    width:22px !important;
    height:22px !important;
    margin:0 auto !important;
    border-width:2px !important;
  }
  .race-journey .race-dot:after{width:6px !important;height:6px !important}
  .race-journey .race-stage__title{
    grid-column:3 !important;
    grid-row:1 !important;
    margin:0 0 0 12px !important;
    text-align:left !important;
    font-size:15px !important;
    line-height:1.1 !important;
    letter-spacing:.12em !important;
  }
  .race-journey .race-line{
    left:112px !important;
    right:auto !important;
    top:0 !important;
    bottom:0 !important;
    width:3px !important;
    height:auto !important;
    transform:none !important;
    pointer-events:none !important;
  }
  .race-journey .race-line__fill{
    left:0 !important;
    top:0 !important;
    width:100% !important;
    height:0 !important;
    max-height:100% !important;
  }
  .race-journey .race-journey-description{
    min-height:0 !important;
    height:auto !important;
    margin:18px 0 0 134px !important;
    text-align:left !important;
  }
  .race-journey .race-description{
    position:relative !important;
    inset:auto !important;
    display:none !important;
    padding:0 0 18px !important;
    font-size:13px !important;
    line-height:1.5 !important;
    text-align:left !important;
    transform:none !important;
  }
  .race-journey .race-description.active{display:block !important;opacity:1 !important}
  .race-mobile-journey{display:none !important}
}

/* ===== NESTED MENU FROM "APPEARANCE → MENUS" (fallback header) ===== */
@media(min-width:901px){
  /* keep the dropdown open while the mouse crosses the gap under the parent link */
  .navlinks .has-sub>.submenu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
  .navlinks .submenu .submenu::before{top:0;bottom:0;left:-10px;right:auto;width:10px;height:auto}
  /* touch screens / keyboard: opened by script */
  .navlinks .has-sub.is-open>.submenu{opacity:1;visibility:visible;transform:none}
  .navlinks .submenu a{white-space:nowrap;gap:14px}
  .navlinks .submenu a span{opacity:.45}
  .navlinks .submenu .has-sub>a::after{content:"›";font-size:14px;opacity:.6}
  .navlinks .submenu a[aria-current="page"]{background:#f7f8fa!important;color:#e90a0c!important}
  /* Facilities / Activities plugins add their own list — never show it inside a theme dropdown parent */
  .navlinks .has-sub>.rcf-sub,.navlinks .has-sub>.rca-sub,.navlinks .has-sub>.rcm-sub{display:none!important}
  /* a dropdown near the right edge opens towards the left */
  .navlinks .has-sub.to-left>.submenu{left:auto;right:0}
  .navlinks .submenu .has-sub.to-left>.submenu{left:auto;right:calc(100% + 8px)}
}
@media(max-width:900px){
  .race-mobile-menu .mobile-menu-group{border-top:1px solid rgba(3,36,101,.08)}
  .race-mobile-menu .mobile-menu-group>.mobile-parent{border-top:0}
  .race-mobile-menu .mobile-submenu a{display:flex!important;justify-content:space-between;align-items:center;gap:12px}
  .race-mobile-menu .mobile-submenu a span{color:inherit;text-align:left}
  .race-mobile-menu .mobile-submenu a b{color:var(--gold)}
  .race-mobile-menu .mobile-submenu a.is-deep{padding-left:30px!important;opacity:.85}
}
