/* ================================================================
   ABC THEME — Combined CSS
   Covers: Homepage + About Us (all sections)
================================================================ */

/* ── BRAND TOKENS ─────────────────────────────────────────── */
:root{
  --red:        #C8102E;
  --red-dark:   #A00D25;
  --red-light:  #E52040;
  --red-pale:   #FFF0F2;
  --blue:       #1B5580;
  --blue-dark:  #0F3556;
  --blue-mid:   #1E6699;
  --blue-light: #2578B5;
  --blue-tint:  #EDF4FA;
  --green:      #6A9428;
  --green-lt:   #7EB030;
  --green-pale: #F2F7E8;
  --white:      #FFFFFF;
  --off:        #F8F9FB;
  --border:     #E2E8F0;
  --gray:       #6B7280;
  --dark:       #111827;
  --font-h:     'Montserrat',sans-serif;
  --font-b:     'Inter',sans-serif;
  --max:        1520px;
  --r:          14px;
  --r-lg:       22px;
  --ease:       cubic-bezier(.4,0,.2,1);
  --t:          all .3s cubic-bezier(.4,0,.2,1);
  --sh-sm: 0 2px 8px rgba(15,53,86,.09);
  --sh-md: 0 8px 28px rgba(15,53,86,.13);
  --sh-lg: 0 16px 48px rgba(15,53,86,.17);
  --sh-xl: 0 24px 64px rgba(15,53,86,.22);
}

/* ── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);color:var(--dark);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:var(--font-h);font-weight:700;line-height:1.15;margin:0}
p{margin:0}
a{text-decoration:none;transition:var(--t)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none;padding:0;margin:0}

/* ── UTILITIES ──────────────────────────────────────────────── */
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.sec{padding:96px 0}
.sec--off{background:var(--off)}
.sec--blue{background:var(--blue-dark)}
.sec--dark{background:var(--blue-dark)}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:18px}
.eyebrow--red  {color:var(--red);background:var(--red-pale);border:1px solid rgba(200,16,46,.18)}
.eyebrow--blue {color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}
.eyebrow--green{color:var(--green);background:var(--green-pale);border:1px solid rgba(106,148,40,.22)}
.eyebrow--white{color:rgba(255,255,255,.9);background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22)}

.sec-title{font-size:clamp(30px,3.6vw,46px);font-weight:900;line-height:1.1;margin-bottom:16px}
.sec-sub{font-size:17px;line-height:1.75;color:var(--gray);max-width:580px}
.sec-hd{margin-bottom:56px}
.sec-hd.c{text-align:center}.sec-hd.c .sec-sub{margin:0 auto}

.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-b);font-size:15px;font-weight:600;padding:15px 30px;border-radius:10px;border:2px solid transparent;cursor:pointer;white-space:nowrap;transition:var(--t)}
.btn-red  {background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);color:#fff;border:none;box-shadow:0 4px 18px rgba(200,16,46,.38)}
.btn-red:hover{background:linear-gradient(135deg,var(--red-light) 0%,var(--red) 100%);box-shadow:0 6px 28px rgba(200,16,46,.55);transform:translateY(-2px);color:#fff}
.btn-blue {background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-blue:hover{background:var(--blue-mid);border-color:var(--blue-mid);color:#fff;transform:translateY(-2px)}
.btn-ghost,.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45)}
.btn-ghost:hover,.btn-outline:hover{background:rgba(255,255,255,.10);border-color:#fff;color:#fff}
.btn-outline-blue{background:transparent;color:var(--blue);border:2px solid var(--blue)}
.btn-outline-blue:hover{background:var(--blue);color:#fff}
.btn-white{background:#fff;color:var(--red);border:2px solid #fff}
.btn-white:hover{background:rgba(255,255,255,.90);color:var(--red-dark);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.18)}
.btn-sm{padding:10px 22px;font-size:14px;border-radius:8px}
.btns{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* ── SCROLL REVEAL ──────────────────────────────────────────── */
.reveal       {opacity:0;transform:translateY(42px);      transition:opacity .78s var(--ease),transform .78s var(--ease)}
.reveal-left  {opacity:0;transform:translateX(-54px);     transition:opacity .78s var(--ease),transform .78s var(--ease)}
.reveal-right {opacity:0;transform:translateX(54px);      transition:opacity .78s var(--ease),transform .78s var(--ease)}
.reveal-scale {opacity:0;transform:scale(.88) translateY(20px);transition:opacity .78s var(--ease),transform .78s var(--ease)}
.reveal.in,.reveal-left.in,.reveal-right.in,.reveal-scale.in{opacity:1;transform:none}
/* Elementor editor: disable scroll-reveal so all sections are visible */
.elementor-editor-active .reveal,
.elementor-editor-active .reveal-left,
.elementor-editor-active .reveal-right,
.elementor-editor-active .reveal-scale{opacity:1!important;transform:none!important;transition:none!important}
.d1{transition-delay:.10s}.d2{transition-delay:.20s}.d3{transition-delay:.30s}.d4{transition-delay:.40s}.d5{transition-delay:.52s}.d6{transition-delay:.64s}

/* ── KEYFRAMES ───────────────────────────────────────────────── */
@keyframes pulse   {0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}
@keyframes floatY  {0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes shimmer {0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes heroIn  {from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes heroInR {from{opacity:0;transform:translateX(42px)}to{opacity:1;transform:none}}
@keyframes ruleGrow{from{width:0;opacity:0}to{width:56px;opacity:1}}
@keyframes pageIn  {from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes ruleGrow64{from{width:0;opacity:0}to{width:64px;opacity:1}}

/* ================================================================
   HEADER
================================================================ */
/* ================================================================
   HOMEPAGE — S1 HERO
================================================================ */
.hero__pill{animation:heroIn .70s var(--ease) .10s both}
.hero__eyebrow{animation:heroIn .70s var(--ease) .26s both}
.hero__h1{animation:heroIn .80s var(--ease) .42s both}
.hero__rule{animation:ruleGrow .55s var(--ease) .62s both;overflow:hidden}
.hero__sub{animation:heroIn .72s var(--ease) .74s both}
.hero__copy .btns{animation:heroIn .72s var(--ease) .90s both}
.hero__badges{animation:heroIn .72s var(--ease) 1.06s both}
.hero__right{animation:heroInR 1.10s var(--ease) .12s both}

.hero{height:100vh;min-height:640px;overflow:hidden;display:flex;flex-direction:column}
.hero__left{background:linear-gradient(150deg,var(--blue-dark) 0%,var(--blue) 100%);display:flex;align-items:center;padding:100px 72px 80px 68px;position:relative;overflow:hidden}
.hero__left::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 0% 100%,rgba(200,16,46,.22) 0%,transparent 52%),radial-gradient(circle at 90% 0%,rgba(106,148,40,.08) 0%,transparent 48%)}
.hero__left::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.035) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.hero__copy{position:relative;z-index:1;max-width:510px}
.hero__pill{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.88);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.20);border-radius:100px;padding:7px 16px;margin-bottom:32px}
.hero__pill::before{content:'';width:6px;height:6px;background:var(--red-light);border-radius:50%;animation:pulse 2s ease-in-out infinite;flex-shrink:0}
.hero__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.hero__eyebrow::before{content:'';display:block;width:32px;height:3px;background:var(--red-light);border-radius:2px;flex-shrink:0}
.hero__school{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.52);margin:0;display:block}
.hero__h1{font-size:clamp(44px,5.2vw,76px);font-weight:900;line-height:1.0;letter-spacing:-0.025em;color:#fff;margin-bottom:0}
.hero__h1 em{color:var(--red-light);font-style:normal}
.hero__rule{width:56px;height:4px;background:linear-gradient(90deg,var(--red),var(--red-light));border-radius:2px;margin:26px 0}
.hero__sub{font-size:16px;line-height:1.82;color:rgba(255,255,255,.72);margin-bottom:38px;max-width:430px}
.hero__badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:0;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.hero__badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:7px;padding:8px 14px;font-size:12px;font-weight:600;color:rgba(255,255,255,.82);transition:background .2s,border-color .2s}
.hero__badge:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.28)}
.hero__badge i{font-size:13px;color:var(--red-light)}
.hero__right{position:relative;overflow:hidden}
.hero__right img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero__right::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to right,var(--blue-dark) 0%,transparent 28%),linear-gradient(to top,rgba(15,53,86,.50) 0%,transparent 40%)}
.hero__stat{position:absolute;z-index:2;background:#fff;border-radius:var(--r);padding:16px 22px;box-shadow:var(--sh-xl);border-left:4px solid var(--red);min-width:152px;animation:floatY 4s ease-in-out infinite,heroIn .72s var(--ease) .55s both}
.hero__stat:nth-child(3){animation:floatY 4s ease-in-out 1.4s infinite,heroIn .72s var(--ease) .75s both}
.hero__stat-num{font-family:var(--font-h);font-size:30px;font-weight:900;color:var(--blue-dark);line-height:1;margin-bottom:4px}
.hero__stat-label{font-size:11px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.07em}
.stat-a{top:18%;right:36px}.stat-b{bottom:22%;right:36px}

/* ── S2 STATS BAND ──────────────────────────────────────── */
.stats-band{background:var(--white);border-bottom:1px solid var(--border)}
.stats-band__row{display:flex}
.stats-band__item{flex:1;text-align:center;padding:36px 20px;border-right:1px solid var(--border)}
.stats-band__item:last-child{border-right:none}
.stats-band__icon{font-size:22px;color:var(--red);margin-bottom:8px}
.stats-band__num{font-family:var(--font-h);font-size:38px;font-weight:900;color:var(--blue-dark);line-height:1;margin-bottom:5px}
.stats-band__label{font-size:12px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.08em}

/* ── S3 ADMISSIONS NOTICE ──────────────────────────────── */
.notice-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.ncard{border-radius:var(--r-lg);padding:44px 44px 40px;border:1px solid var(--border);position:relative;overflow:hidden;transition:var(--t);display:flex;flex-direction:column;gap:22px}
.ncard:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
.ncard::before{content:'';position:absolute;top:0;left:0;right:0;height:4px}
.ncard--light{background:#fff}.ncard--light::before{background:linear-gradient(90deg,var(--red),var(--red-light))}
.ncard--dark{background:var(--blue-dark);border-color:var(--blue-dark)}.ncard--dark::before{background:linear-gradient(90deg,var(--red),var(--green-lt))}
.ncard__icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}
.ncard--light .ncard__icon{background:var(--red-pale);color:var(--red)}
.ncard--dark  .ncard__icon{background:rgba(200,16,46,.18);color:rgba(255,255,255,.90)}
.ncard__title{font-size:23px;font-weight:900}
.ncard--light .ncard__title{color:var(--blue-dark)}.ncard--dark .ncard__title{color:#fff}
.ncard__text{font-size:15px;line-height:1.75;flex-grow:1}
.ncard--light .ncard__text{color:var(--gray)}.ncard--dark .ncard__text{color:rgba(255,255,255,.68)}

/* ── S4 WHY ABC ─────────────────────────────────────────── */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat{border-radius:var(--r-lg);padding:48px 36px 44px;position:relative;overflow:hidden;transition:var(--t)}
.feat:hover{transform:translateY(-8px);box-shadow:var(--sh-xl)}
.feat--red  {background:var(--red)}.feat--blue{background:var(--blue-dark)}.feat--green{background:var(--green)}
.feat__num{font-size:80px;font-weight:900;opacity:.12;position:absolute;top:12px;right:20px;font-family:var(--font-h);line-height:1;pointer-events:none;color:#fff}
.feat__icon{width:72px;height:72px;background:rgba(255,255,255,.15);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff;margin-bottom:28px}
.feat__title{font-size:26px;font-weight:900;color:#fff;margin-bottom:14px}
.feat__text{font-size:15px;line-height:1.75;color:rgba(255,255,255,.78)}

/* ── S5 PROGRAMS ────────────────────────────────────────── */
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.prog{background:#fff;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);display:flex;flex-direction:column;box-shadow:var(--sh-sm);transition:var(--t)}
.prog:hover{transform:translateY(-8px);box-shadow:var(--sh-xl);border-color:transparent}
.prog__thumb{height:210px;position:relative;overflow:hidden}
.prog__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.prog:hover .prog__thumb img{transform:scale(1.07)}
.prog__cat{position:absolute;bottom:14px;left:14px;background:var(--red);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 13px;border-radius:100px}
.prog__body{padding:28px;flex-grow:1;display:flex;flex-direction:column}
.prog__title{font-size:20px;font-weight:800;color:var(--blue-dark);margin-bottom:10px}
.prog__desc{font-size:14px;line-height:1.7;color:var(--gray);flex-grow:1;margin-bottom:20px}
.prog__meta{display:flex;gap:16px;font-size:13px;color:var(--gray);margin-bottom:20px}
.prog__meta span{display:flex;align-items:center;gap:5px}
.prog__meta i{color:var(--red)}
.prog__foot{display:flex;gap:10px;padding-top:20px;border-top:1px solid var(--border)}

/* ── S6 JOURNEY ─────────────────────────────────────────── */
.journey{padding:96px 0;background:linear-gradient(135deg,var(--blue-dark) 0%,var(--blue) 100%);position:relative;overflow:hidden}
.journey::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 10% 90%,rgba(200,16,46,.15) 0%,transparent 45%),radial-gradient(circle at 90% 10%,rgba(106,148,40,.10) 0%,transparent 40%)}
.journey__in{position:relative;z-index:1}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:60px}
.steps::before{content:'';position:absolute;top:36px;left:calc(12.5% + 36px);right:calc(12.5% + 36px);height:2px;background:linear-gradient(90deg,var(--red) 0%,rgba(200,16,46,.2) 100%)}
.step{text-align:center;padding:0 24px;position:relative;z-index:1}
.step__num{width:72px;height:72px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;margin:0 auto 24px;box-shadow:0 0 0 10px rgba(200,16,46,.18);transition:var(--t)}
.step:hover .step__num{transform:scale(1.1);background:var(--red-light)}
.step__no{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red-light);display:block;margin-bottom:10px}
.step__title{font-size:22px;font-weight:800;color:#fff;margin-bottom:12px}
.step__text{font-size:14px;line-height:1.7;color:rgba(255,255,255,.62)}

/* ── S7 SPLIT ────────────────────────────────────────────── */
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-xl)}
.split__img{position:relative;min-height:560px}
.split__img img{width:100%;height:100%;object-fit:cover}
.split__badge{position:absolute;bottom:28px;right:28px;background:var(--red);color:#fff;border-radius:var(--r);padding:20px 24px;box-shadow:var(--sh-lg);text-align:center}
.split__badge-num{font-size:38px;font-weight:900;display:block;line-height:1}
.split__badge-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.split__content{background:var(--off);padding:64px 56px;display:flex;flex-direction:column;justify-content:center}
.split__feats{display:flex;flex-direction:column;gap:18px;margin-top:36px}
.sfeat{display:flex;gap:18px;align-items:flex-start;padding:22px;background:#fff;border-radius:var(--r);border:1px solid var(--border);transition:var(--t)}
.sfeat:hover{box-shadow:var(--sh-md);border-color:rgba(200,16,46,.25);transform:translateX(6px)}
.sfeat:hover .sfeat__icon{background:var(--red);color:#fff}
.sfeat__icon{width:52px;height:52px;background:var(--red-pale);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--red);font-size:22px;flex-shrink:0;transition:var(--t)}
.sfeat__title{font-size:17px;font-weight:700;color:var(--blue-dark);margin-bottom:5px}
.sfeat__text{font-size:14px;line-height:1.65;color:var(--gray)}

/* ── S8 CAMPUS ───────────────────────────────────────────── */
.campus{padding:96px 0;background:var(--blue-dark)}
.campus-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr;grid-template-rows:240px 240px;gap:12px;margin-top:48px}
.ctile{border-radius:var(--r);overflow:hidden;position:relative}
.ctile--tall{grid-row:1/3}
.ctile img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.ctile:hover img{transform:scale(1.06)}
.ctile__ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,53,86,.75) 0%,transparent 55%);display:flex;align-items:flex-end;padding:18px;opacity:0;transition:var(--t)}
.ctile:hover .ctile__ov{opacity:1}
.ctile__lbl{font-size:13px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.08em}

/* ── S9 TESTIMONIALS ────────────────────────────────────── */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tcard{background:#fff;border-radius:var(--r-lg);padding:38px 32px 32px;border:1px solid var(--border);box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:20px;transition:var(--t)}
.tcard:hover{transform:translateY(-7px);box-shadow:var(--sh-lg);border-color:rgba(200,16,46,.22)}
.tcard__stars{color:var(--red);font-size:16px;letter-spacing:2px}
.tcard__q{font-size:15px;line-height:1.8;color:#374151;flex-grow:1;font-style:italic;position:relative;padding-left:28px}
.tcard__q::before{content:'\201C';position:absolute;left:0;top:-6px;font-size:54px;font-family:Georgia,serif;color:var(--red);line-height:1;opacity:.45}
.tcard__author{display:flex;align-items:center;gap:14px;padding-top:16px;border-top:1px solid var(--border)}
.tcard__av{width:52px;height:52px;border-radius:50%;border:3px solid var(--blue-tint);background:var(--blue-tint);display:flex;align-items:center;justify-content:center;color:var(--blue);font-weight:800;font-size:18px;flex-shrink:0}
.tcard__name{font-size:15px;font-weight:700;color:var(--blue-dark);margin-bottom:3px}
.tcard__prog{font-size:13px;color:var(--gray)}

/* ── S10 VIDEOS ─────────────────────────────────────────── */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vrow2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px}
.vcard{border-radius:var(--r-lg);overflow:hidden;position:relative;cursor:pointer;aspect-ratio:16/9;background:var(--blue-dark)}
.vcard img{width:100%;height:100%;object-fit:cover;opacity:.72;transition:var(--t)}
.vcard:hover img{opacity:.45;transform:scale(1.04)}
.vcard__ov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.vcard__play{width:64px;height:64px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--blue-dark);box-shadow:var(--sh-lg);transition:var(--t)}
.vcard:hover .vcard__play{background:var(--red);color:#fff;transform:scale(1.12)}
.vcard__title{font-size:14px;font-weight:600;color:#fff;text-align:center;padding:0 16px;text-shadow:0 1px 5px rgba(0,0,0,.5)}

/* ── S11 CTA ─────────────────────────────────────────────── */
.cta-sec{padding:100px 0;text-align:center;position:relative;overflow:hidden;background:linear-gradient(125deg,var(--red-dark) 0%,var(--red) 50%,#e52850 100%)}
.cta-sec::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.06) 0%,transparent 55%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.04) 0%,transparent 45%)}
.cta-sec__in{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:0 24px}
.cta-sec__title{font-size:clamp(34px,5vw,56px);font-weight:900;color:#fff;margin-bottom:20px;line-height:1.08}
.cta-sec__title span{color:rgba(255,255,255,.75);text-decoration:underline;text-underline-offset:6px}
.cta-sec__text{font-size:18px;line-height:1.75;color:rgba(255,255,255,.82);margin-bottom:44px}
.cta-sec__btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* ── S12 CONTACT ─────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}
.cdet-list{display:flex;flex-direction:column;gap:20px;margin-bottom:36px}
.cdet{display:flex;align-items:flex-start;gap:16px}
.cdet__icon{width:50px;height:50px;background:var(--red-pale);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--red);font-size:18px;flex-shrink:0}
.cdet__lbl{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:3px}
.cdet__val{font-size:16px;font-weight:600;color:var(--blue-dark)}
.cdet__val a{color:var(--blue-dark)}.cdet__val a:hover{color:var(--red)}
.cform{background:var(--off);border-radius:var(--r-lg);padding:44px 40px;border:1px solid var(--border)}
.cform__title{font-size:24px;font-weight:900;color:var(--blue-dark);margin-bottom:6px}
.cform__sub{font-size:14px;color:var(--gray);margin-bottom:28px}
.fgrid{display:flex;flex-direction:column;gap:14px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.finput,.fsel{width:100%;padding:14px 18px;font-family:var(--font-b);font-size:15px;color:var(--dark);background:#fff;border:1.5px solid var(--border);border-radius:10px;outline:none;transition:var(--t);appearance:none}
.finput:focus,.fsel:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.12)}
.fsub{width:100%;background:var(--red);color:#fff;font-family:var(--font-b);font-size:16px;font-weight:600;padding:16px 32px;border:none;border-radius:10px;cursor:pointer;transition:var(--t)}
.fsub:hover{background:var(--red-light);transform:translateY(-2px);box-shadow:0 8px 28px rgba(200,16,46,.28)}

/* ── VIDEO MODAL ─────────────────────────────────────────── */
#vmodal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center}
#vbg{position:absolute;inset:0;background:rgba(10,22,45,.92)}
#vwrap{position:relative;z-index:1;width:90vw;max-width:900px}
#vclose{position:absolute;top:-46px;right:0;background:none;border:none;color:#fff;font-size:36px;cursor:pointer;line-height:1}
#vframe-wrap{position:relative;padding-top:56.25%;border-radius:12px;overflow:hidden;background:#000}
#vframe{position:absolute;inset:0;width:100%;height:100%}

/* ================================================================
   ABOUT PAGE — S1 HERO
================================================================ */
.about-hero__pill{animation:pageIn .7s var(--ease) .1s both}
.about-hero__h1{animation:pageIn .85s var(--ease) .28s both}
.about-hero__rule{animation:ruleGrow64 .6s var(--ease) .5s both;overflow:hidden}
.about-hero__sub{animation:pageIn .7s var(--ease) .62s both}
.about-hero__stats{animation:pageIn .9s var(--ease) .8s both}

.about-hero{position:relative;height:78vh;min-height:560px;display:flex;align-items:flex-end;overflow:hidden}
.about-hero__bg{position:absolute;inset:0;z-index:0}
.about-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.about-hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(10,28,52,.92) 0%,rgba(10,28,52,.82) 42%,rgba(10,28,52,.45) 70%,rgba(10,28,52,.18) 100%),linear-gradient(to top,rgba(10,28,52,.85) 0%,transparent 55%)}
.about-hero__overlay::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10% 80%,rgba(200,16,46,.18) 0%,transparent 50%)}
.about-hero__content{position:relative;z-index:2;padding:0 0 72px;width:100%}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.50);margin-bottom:28px}
.breadcrumb a{color:rgba(255,255,255,.50);transition:color .2s}.breadcrumb a:hover{color:#fff}
.breadcrumb span{color:rgba(255,255,255,.80)}
.breadcrumb i{font-size:9px;opacity:.55}
.about-hero__pill{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.88);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.20);border-radius:100px;padding:7px 16px;margin-bottom:22px}
.about-hero__pill::before{content:'';width:6px;height:6px;background:var(--red-light);border-radius:50%;animation:pulse 2s ease-in-out infinite;flex-shrink:0}
.about-hero__h1{font-size:clamp(46px,6vw,84px);font-weight:900;line-height:1.0;letter-spacing:-.03em;color:#fff;margin-bottom:0}
.about-hero__h1 em{display:block;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:normal}
.about-hero__rule{width:64px;height:4px;background:linear-gradient(90deg,var(--red),var(--red-light));border-radius:2px;margin:24px 0}
.about-hero__sub{font-size:18px;line-height:1.80;color:rgba(255,255,255,.74);max-width:560px}
.about-hero__stats{position:absolute;bottom:64px;right:0;z-index:3;display:flex;flex-direction:column;gap:14px}
.about-hero__stat{background:#fff;border-radius:var(--r);padding:16px 24px;box-shadow:var(--sh-xl);border-left:4px solid var(--red);min-width:170px;animation:floatY 4.5s ease-in-out infinite}
.about-hero__stat:nth-child(2){animation-delay:1.6s}
.about-hero__stat-num{font-family:var(--font-h);font-size:32px;font-weight:900;color:var(--blue-dark);line-height:1;margin-bottom:4px}
.about-hero__stat-lbl{font-size:11px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.07em}

/* ── S2 WHAT WE'RE ALL ABOUT ─────────────────────────────── */
.wwa-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-xl)}
.wwa__img{position:relative;min-height:580px}
.wwa__img img{width:100%;height:100%;object-fit:cover;object-position:center top}
.wwa__img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,28,52,.55) 0%,transparent 50%)}
.wwa__since{position:absolute;bottom:32px;left:32px;background:var(--red);color:#fff;border-radius:var(--r);padding:18px 24px;box-shadow:var(--sh-lg);text-align:center;animation:floatY 5s ease-in-out infinite}
.wwa__since-num{font-size:42px;font-weight:900;display:block;line-height:1;font-family:var(--font-h)}
.wwa__since-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;opacity:.85}
.wwa__content{background:var(--off);padding:72px 64px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.wwa__content::before{content:'';position:absolute;bottom:-60px;right:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(200,16,46,.06) 0%,transparent 70%);pointer-events:none}
.wwa__content .sec-title{color:var(--blue-dark);font-size:clamp(28px,3vw,40px)}
.wwa__body{font-size:17px;line-height:1.88;color:var(--gray);margin-top:22px;font-weight:400}
.wwa__tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.wwa__tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;background:var(--blue-tint);color:var(--blue);border:1px solid rgba(27,85,128,.18);border-radius:8px;padding:8px 14px}
.wwa__tag i{color:var(--red);font-size:12px}

/* ── S3 TESTIMONIAL / QUOTE ──────────────────────────────── */
.quote-sec{padding:0;position:relative;overflow:hidden;background:linear-gradient(130deg,var(--blue-dark) 0%,var(--blue) 55%,rgba(200,16,46,.15) 100%)}
.quote-sec::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 90% 10%,rgba(200,16,46,.16) 0%,transparent 45%),radial-gradient(circle at 5% 90%,rgba(106,148,40,.10) 0%,transparent 40%)}
.quote-sec::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.quote-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:80px;padding:88px 0}
.quote-mark{font-size:clamp(120px,14vw,200px);font-family:Georgia,serif;color:rgba(255,255,255,.08);line-height:.8;position:absolute;top:40px;left:-12px;pointer-events:none;font-style:normal}
.quote-text-block{position:relative}
.quote-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:28px}
.quote-eyebrow i{color:var(--red-light)}
.quote-heading{font-size:clamp(26px,3.2vw,38px);font-weight:900;color:#fff;line-height:1.18;margin-bottom:30px}
.quote-body{font-size:clamp(18px,2vw,24px);line-height:1.72;color:rgba(255,255,255,.82);font-style:italic;font-weight:300;letter-spacing:.01em;max-width:660px}
.quote-body strong{font-style:normal;font-weight:700;color:#fff}
.quote-attr{display:flex;align-items:center;gap:18px;margin-top:40px;padding-top:32px;border-top:1px solid rgba(255,255,255,.14)}
.quote-attr__av{width:58px;height:58px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff;font-family:var(--font-h);box-shadow:0 4px 18px rgba(200,16,46,.4);border:3px solid rgba(255,255,255,.2)}
.quote-attr__name{font-size:17px;font-weight:800;color:#fff;margin-bottom:4px}
.quote-attr__prog{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.50)}
.quote-attr__prog i{color:var(--red-light);font-size:10px}
.quote-side{display:flex;flex-direction:column;gap:20px;align-items:center;flex-shrink:0}
.quote-badge{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:28px 32px;text-align:center;width:180px;backdrop-filter:blur(8px)}
.quote-badge-num{font-size:44px;font-weight:900;font-family:var(--font-h);color:#fff;line-height:1;display:block;margin-bottom:6px}
.quote-badge-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.45)}
.quote-badge+.quote-badge{background:rgba(200,16,46,.12);border-color:rgba(200,16,46,.28)}
.quote-badge+.quote-badge .quote-badge-num{color:var(--red-light)}

/* ── S4 FOUNDED IN 1977 ──────────────────────────────────── */
.founded-grid{display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:start}
.founded-story .sec-title{color:var(--blue-dark)}
.founded-lead{font-size:19px;line-height:1.88;color:var(--dark);font-weight:500;margin-top:20px;margin-bottom:28px;border-left:4px solid var(--red);padding-left:22px}
.founded-para{font-size:16px;line-height:1.90;color:var(--gray);margin-bottom:22px}
.founded-para:last-child{margin-bottom:0}
.founded-para-wrap{position:relative;padding-left:28px;margin-bottom:24px}
.founded-para-wrap::before{content:'';position:absolute;left:0;top:10px;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(200,16,46,.15)}
.founded-para-wrap::after{content:'';position:absolute;left:4px;top:24px;bottom:-10px;width:2px;background:linear-gradient(to bottom,rgba(200,16,46,.3),transparent)}
.founded-stats{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px}
.fstat{background:#fff;border-radius:var(--r-lg);padding:32px 28px;border:1px solid var(--border);box-shadow:var(--sh-md);position:relative;overflow:hidden;transition:var(--t)}
.fstat:hover{transform:translateY(-6px);box-shadow:var(--sh-xl);border-color:transparent}
.fstat::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.fstat:nth-child(1)::before{background:linear-gradient(90deg,var(--red),var(--red-light))}
.fstat:nth-child(2)::before{background:linear-gradient(90deg,var(--blue),var(--blue-mid))}
.fstat:nth-child(3)::before{background:linear-gradient(90deg,var(--green),var(--green-lt))}
.fstat:nth-child(4)::before{background:linear-gradient(90deg,var(--red-dark),var(--red))}
.fstat__icon{width:52px;height:52px;border-radius:14px;margin-bottom:18px;display:flex;align-items:center;justify-content:center;font-size:22px}
.fstat:nth-child(1) .fstat__icon{background:var(--red-pale);color:var(--red)}
.fstat:nth-child(2) .fstat__icon{background:var(--blue-tint);color:var(--blue)}
.fstat:nth-child(3) .fstat__icon{background:var(--green-pale);color:var(--green)}
.fstat:nth-child(4) .fstat__icon{background:var(--red-pale);color:var(--red-dark)}
.fstat__num{font-family:var(--font-h);font-size:48px;font-weight:900;line-height:1;margin-bottom:6px;color:var(--blue-dark)}
.fstat__lbl{font-size:13px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.07em}

/* ── S5 CAREER CARDS ─────────────────────────────────────── */
.career-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}
.ccard{background:#fff;border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--sh-sm);padding:40px 28px 36px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:var(--t)}
.ccard:hover{transform:translateY(-10px);box-shadow:var(--sh-xl);border-color:transparent}
.ccard::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.ccard:hover::after{transform:scaleX(1)}
.ccard:nth-child(1)::after{background:linear-gradient(90deg,var(--red),var(--red-light))}
.ccard:nth-child(2)::after{background:linear-gradient(90deg,var(--blue),var(--blue-mid))}
.ccard:nth-child(3)::after{background:linear-gradient(90deg,var(--green),var(--green-lt))}
.ccard:nth-child(4)::after{background:linear-gradient(90deg,var(--red-dark),var(--red))}
.ccard__num{font-family:var(--font-h);font-size:72px;font-weight:900;opacity:.06;position:absolute;top:10px;right:16px;line-height:1;color:var(--dark);pointer-events:none}
.ccard__icon{width:62px;height:62px;border-radius:16px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;font-size:26px;transition:var(--t)}
.ccard:nth-child(1) .ccard__icon{background:var(--red-pale);color:var(--red)}
.ccard:nth-child(2) .ccard__icon{background:var(--blue-tint);color:var(--blue)}
.ccard:nth-child(3) .ccard__icon{background:var(--green-pale);color:var(--green)}
.ccard:nth-child(4) .ccard__icon{background:var(--red-pale);color:var(--red-dark)}
.ccard:hover .ccard__icon{transform:scale(1.1) rotate(-5deg)}
.ccard__title{font-size:20px;font-weight:800;color:var(--blue-dark);margin-bottom:12px}
.ccard__text{font-size:14.5px;line-height:1.75;color:var(--gray);flex-grow:1}

/* ── ABOUT CTA ────────────────────────────────────────────── */
.cta-about{padding:108px 0;text-align:center;position:relative;overflow:hidden;background:linear-gradient(125deg,var(--red-dark) 0%,var(--red) 50%,#e52850 100%)}
.cta-about::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.07) 0%,transparent 55%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.04) 0%,transparent 45%)}
.cta-about::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.cta-about__in{position:relative;z-index:1;max-width:780px;margin:0 auto;padding:0 28px}
.cta-about__tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:100px;padding:7px 18px;margin-bottom:28px}
.cta-about__title{font-size:clamp(34px,5vw,58px);font-weight:900;color:#fff;margin-bottom:20px;line-height:1.06}
.cta-about__title span{color:rgba(255,255,255,.70);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:3px}
.cta-about__text{font-size:18px;line-height:1.78;color:rgba(255,255,255,.80);margin-bottom:46px}
.cta-about__btns{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}

/* ================================================================
   FOOTER
================================================================ */
.footer{background:var(--blue-dark);padding:80px 0 0;position:relative}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),var(--red-light),var(--green-lt),var(--red))}
.footer__top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:48px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.10)}
.footer__logo img{height:90px;width:auto;display:block;margin-bottom:20px;filter:brightness(1.1) drop-shadow(0 2px 14px rgba(255,255,255,.15))}
.footer__tagline{font-size:14px;line-height:1.75;color:rgba(255,255,255,.50);margin-bottom:24px;max-width:270px}
.footer__social{display:flex;gap:10px}
.footer__soc{width:38px;height:38px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.65);font-size:14px;transition:var(--t)}
.footer__soc:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-3px)}
.footer__col-ttl{font-size:11.5px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;color:rgba(255,255,255,.40);margin-bottom:20px}
.footer__links{display:flex;flex-direction:column;gap:10px}
.footer__link-sub{font-size:.7rem;color:rgba(255,255,255,.38);margin-top:-6px;padding-left:20px;letter-spacing:.02em}
.footer__link{font-size:14px;color:rgba(255,255,255,.50);display:flex;align-items:center;gap:6px;transition:var(--t)}
.footer__link::before{content:'';width:4px;height:4px;background:var(--red);border-radius:50%;flex-shrink:0;opacity:0;transition:var(--t)}
.footer__link:hover{color:#fff;padding-left:8px}.footer__link:hover::before{opacity:1}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:24px 0;gap:16px}
.footer__copy{font-size:13px;color:rgba(255,255,255,.30)}
.footer__legal{display:flex;gap:20px}
.footer__legal a{font-size:13px;color:rgba(255,255,255,.30);transition:var(--t)}.footer__legal a:hover{color:rgba(255,255,255,.75)}

/* ================================================================
   ELEMENTOR WRAPPER RESETS
   (Strip extra padding from HTML widget containers)
================================================================ */
.elementor-widget-html .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-widget-html .elementor-html {
    line-height: 1.6;
    font-size: 1rem;
    font-family: var(--font-b);
}
/* Full-width section: remove Elementor container max-width constraint.
   width:100% is required for sections that set display:flex on the section
   element (e.g. prog-hero, intl-hero, sl-hero) — without it the container
   collapses to content width as a flex item and shifts left. */
.elementor-section-full_width > .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
}
.elementor-section-full_width > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
}
.elementor-widget-wrap {
    padding: 0 !important;
}

/* ================================================================
   RESPONSIVE
================================================================ */
@media(max-width:1100px){
  .founded-grid{grid-template-columns:1fr;gap:56px}
  .founded-stats{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  .career-grid{grid-template-columns:repeat(2,1fr)}
  .wwa-grid{grid-template-columns:1fr}
  .wwa__img{min-height:360px}
  .quote-inner{grid-template-columns:1fr;gap:48px}
  .quote-side{flex-direction:row;justify-content:center}
}
@media(max-width:1024px){
  .hdr__nav{display:none}
  .hdr__burger{display:flex}
  .hero{height:auto;min-height:100vh;grid-template-columns:1fr}
  .hero__right{height:420px}
  .hero__left{padding:100px 40px 64px}
  .hero__stat{display:none}
  .prog-grid{grid-template-columns:repeat(2,1fr)}
  .features{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,1fr);gap:36px}
  .steps::before{display:none}
  .footer__top{grid-template-columns:repeat(2,1fr)}
  .campus-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,200px)}
  .ctile--tall{grid-row:auto}
  .split-grid{grid-template-columns:1fr}
  .split__img{min-height:360px}
  .vgrid{grid-template-columns:repeat(2,1fr)}
  .tgrid{grid-template-columns:repeat(2,1fr)}
  .hdr__phone{display:none}
}
@media(max-width:768px){
  .hero__left{padding:80px 28px 56px}
  .hero__h1{font-size:clamp(36px,10vw,52px)}
  .hero__sub{font-size:16px}
  .hero__right{height:260px}
  .btns{justify-content:center}
  .hero__copy{text-align:center}
  .hero__badges{justify-content:center}
  .hdr__actions .btn{display:none}
  .stats-band__row{flex-wrap:wrap}
  .stats-band__item{flex:1 0 50%;border-bottom:1px solid var(--border)}
  .stats-band__item:nth-child(2n){border-right:none}
  .notice-row{grid-template-columns:1fr}
  .features{grid-template-columns:1fr}
  .prog-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;text-align:center}
  .footer__legal{flex-wrap:wrap;justify-content:center}
  .vgrid,.vrow2{grid-template-columns:1fr}
  .campus-grid{grid-template-columns:1fr;grid-template-rows:repeat(5,180px)}
  .frow{grid-template-columns:1fr}
  .cta-sec__btns,.cta-about__btns{flex-direction:column;align-items:center}
  .tgrid{grid-template-columns:1fr}
  .sec-title{font-size:clamp(28px,8vw,38px)}
  .split__content{padding:44px 28px}
  .cform{padding:32px 24px}
  .ncard{padding:32px 28px}
  .about-hero{height:auto;min-height:auto;padding-top:100px}
  .about-hero__content{padding-bottom:48px}
  .about-hero__stats{position:static;flex-direction:row;flex-wrap:wrap;margin-top:32px;gap:12px}
  .about-hero__h1{font-size:clamp(38px,11vw,56px)}
  .career-grid{grid-template-columns:1fr}
  .founded-stats{grid-template-columns:1fr}
  .quote-side{display:none}
  .wwa__content{padding:44px 28px}
}


/* ================================================
   PROGRAMS PAGE
   ================================================ */

/* Hero */
.prog-hero {
  position: relative;
  min-height: 62vh;
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue) 65%, var(--blue-mid) 100%);
  overflow: hidden;
  padding: 140px 0 80px;
}
.prog-hero__decor {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 14% 86%, rgba(200,16,46,0.18) 0%, transparent 45%),
    radial-gradient(circle at 84% 14%, rgba(255,255,255,0.04) 0%, transparent 45%);
  pointer-events: none;
}
.prog-hero__content { position: relative; z-index: 2; max-width: 840px; }
.prog-hero__pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.22);
  color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: 6px 18px; border-radius: 50px; margin-bottom: 22px;
}
.prog-hero__h1 { font-size: clamp(2.6rem,5vw,4.2rem); font-weight: 800; color: #fff; line-height: 1.08; margin: 0 0 20px; }
.prog-hero__h1 em { display: block; font-style: normal; color: rgba(255,255,255,0.62); font-size: .52em; font-weight: 400; margin-top: 10px; }
.prog-hero__rule { width: 56px; height: 4px; background: var(--red); border-radius: 2px; margin: 0 0 24px; }
.prog-hero__sub { color: rgba(255,255,255,0.82); font-size: 1.08rem; line-height: 1.72; max-width: 660px; margin: 0 0 40px; }
.prog-hero__stats { display: flex; gap: 20px; flex-wrap: wrap; }
.prog-hero__stat {
  text-align: center; background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15); border-radius: 12px; padding: 14px 28px;
}
.prog-hero__stat-num { font-size: 2rem; font-weight: 800; color: #fff; line-height: 1; }
.prog-hero__stat-lbl { font-size: .7rem; color: rgba(255,255,255,0.62); text-transform: uppercase; letter-spacing: .1em; margin-top: 5px; }

/* Programs Intro */
.prog-intro { background: #f5f7fa; padding: 72px 0; }
.prog-intro__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 72px; align-items: center; }
.prog-intro__h2 { font-size: 2.1rem; font-weight: 800; color: var(--blue-dark); margin: 0 0 18px; }
.prog-intro__body { color: #555; font-size: 1.02rem; line-height: 1.78; }
.prog-intro__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.prog-intro__fact {
  background: #fff; border: 1px solid #e5e9f0; border-radius: 14px;
  padding: 26px 20px; text-align: center; box-shadow: 0 3px 10px rgba(0,0,0,0.04);
}
.prog-intro__fact-num { font-size: 2.1rem; font-weight: 800; color: var(--blue); line-height: 1; }
.prog-intro__fact-lbl { font-size: .74rem; color: #999; text-transform: uppercase; letter-spacing: .08em; margin-top: 7px; }

/* Filter Bar */
.all-progs { padding: 80px 0; background: #fff; }
.prog-filter-bar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  background: #fff; border: 1px solid #e5e9f0; border-radius: 16px;
  padding: 18px 24px; margin: 0 0 44px; box-shadow: 0 2px 14px rgba(0,0,0,0.05);
}
.prog-filter-label { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #ccc; margin-right: 4px; }
.pf-btn {
  padding: 8px 20px; border-radius: 50px; border: 2px solid #e5e9f0;
  background: transparent; color: #666; font-size: .84rem; font-weight: 600;
  cursor: pointer; transition: all .2s ease; font-family: var(--font-body); white-space: nowrap;
}
.pf-btn:hover { border-color: var(--blue); color: var(--blue); }
.pf-btn.active { color: #fff; }
.pf-btn[data-cat="all"].active      { background: var(--blue-dark); border-color: var(--blue-dark); }
.pf-btn[data-cat="admin"].active    { background: var(--blue);      border-color: var(--blue); }
.pf-btn[data-cat="health"].active   { background: var(--red);       border-color: var(--red); }
.pf-btn[data-cat="business"].active { background: var(--green);     border-color: var(--green); }
.pf-btn[data-cat="education"].active  { background: #7c3aed; border-color: #7c3aed; }
.pf-btn[data-cat="security"].active   { background: var(--blue-dark); border-color: var(--blue-dark); }
.pf-btn[data-cat="hospitality"].active { background: #d97706; border-color: #d97706; }
.pf-count { margin-left: auto; font-size: .84rem; color: #aaa; font-weight: 600; white-space: nowrap; }
.pf-count span { color: var(--blue); }

/* Program Cards */
.pcard-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.pcard {
  background: #fff; border: 1px solid #e5e9f0; border-radius: 18px;
  overflow: hidden; display: flex; flex-direction: column;
  transition: transform .25s, box-shadow .25s;
}
.pcard:hover { transform: translateY(-7px); box-shadow: 0 24px 48px rgba(0,0,0,0.10); }
.pcard.hidden { display: none; }
.pcard__stripe { height: 5px; }
.pcard[data-cat="admin"]       .pcard__stripe { background: var(--blue); }
.pcard[data-cat="business"]    .pcard__stripe { background: var(--green); }
.pcard[data-cat="health"]      .pcard__stripe { background: var(--red); }
.pcard[data-cat="education"]   .pcard__stripe { background: #7c3aed; }
.pcard[data-cat="security"]    .pcard__stripe { background: var(--blue-dark); }
.pcard[data-cat="hospitality"] .pcard__stripe { background: #d97706; }
.pcard__body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.pcard__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.pcard__icon { width: 48px; height: 48px; border-radius: 13px; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; flex-shrink: 0; }
.pcard[data-cat="admin"]       .pcard__icon { background: rgba(27,85,128,0.09);  color: var(--blue); }
.pcard[data-cat="business"]    .pcard__icon { background: rgba(106,148,40,0.09); color: var(--green); }
.pcard[data-cat="health"]      .pcard__icon { background: rgba(200,16,46,0.09);  color: var(--red); }
.pcard[data-cat="education"]   .pcard__icon { background: rgba(124,58,237,0.09); color: #7c3aed; }
.pcard[data-cat="security"]    .pcard__icon { background: rgba(15,53,86,0.09);   color: var(--blue-dark); }
.pcard[data-cat="hospitality"] .pcard__icon { background: rgba(217,119,6,0.09);  color: #d97706; }
.pcard__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.pcard__dur { font-size: .71rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; padding: 4px 11px; border-radius: 50px; white-space: nowrap; }
.pcard[data-cat="admin"]       .pcard__dur { background: rgba(27,85,128,0.07);  color: var(--blue); }
.pcard[data-cat="business"]    .pcard__dur { background: rgba(106,148,40,0.07); color: var(--green); }
.pcard[data-cat="health"]      .pcard__dur { background: rgba(200,16,46,0.07);  color: var(--red); }
.pcard[data-cat="education"]   .pcard__dur { background: rgba(124,58,237,0.07); color: #7c3aed; }
.pcard[data-cat="security"]    .pcard__dur { background: rgba(15,53,86,0.07);   color: var(--blue-dark); }
.pcard[data-cat="hospitality"] .pcard__dur { background: rgba(217,119,6,0.07);  color: #d97706; }
.pcard__cat-badge { font-size: .69rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #bbb; }
.pcard__title { font-size: 1.02rem; font-weight: 700; color: var(--blue-dark); line-height: 1.35; margin: 0 0 10px; }
.pcard__desc { font-size: .87rem; color: #666; line-height: 1.68; flex: 1; }
.pcard__foot { padding: 16px 24px; border-top: 1px solid #f0f3f8; display: flex; align-items: center; justify-content: space-between; }
.pcard__link { font-size: .84rem; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: gap .2s; }
.pcard:hover .pcard__link { gap: 11px; }
.pcard[data-cat="admin"]       .pcard__link { color: var(--blue); }
.pcard[data-cat="business"]    .pcard__link { color: var(--green); }
.pcard[data-cat="health"]      .pcard__link { color: var(--red); }
.pcard[data-cat="education"]   .pcard__link { color: #7c3aed; }
.pcard[data-cat="security"]    .pcard__link { color: var(--blue-dark); }
.pcard[data-cat="hospitality"] .pcard__link { color: #d97706; }
.pcard__intl { font-size: .72rem; color: #ccc; }
.prog-no-results { grid-column: 1/-1; text-align: center; padding: 60px 20px; color: #bbb; font-size: 1.05rem; display: none; }
.prog-no-results.visible { display: block; }

@media(max-width:1024px) {
  .pcard-grid { grid-template-columns: repeat(2,1fr); }
  .prog-intro__grid { grid-template-columns: 1fr; gap: 40px; }
}
@media(max-width:640px) {
  .pcard-grid { grid-template-columns: 1fr; }
  .prog-filter-bar { gap: 7px; padding: 14px 16px; }
  .pf-btn { padding: 6px 13px; font-size: .78rem; }
  .prog-hero__stats { gap: 12px; }
  .prog-hero__stat { padding: 12px 18px; }
  .prog-intro__facts { grid-template-columns: 1fr 1fr; }
}


/* ================================================
   STUDENT LIFE PAGE
   ================================================ */

/* Hero */
.sl-hero {
  position: relative; min-height: 66vh; display: flex; align-items: center;
  overflow: hidden; padding: 140px 0 80px;
  background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue) 60%, #1a7abf 100%);
}
.sl-hero__bg { position: absolute; inset: 0; }
.sl-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .22; }
.sl-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(15,53,86,.92) 0%, rgba(27,85,128,.78) 100%);
}
.sl-hero__content { position: relative; z-index: 2; max-width: 820px; }
.sl-hero__pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22);
  color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: 6px 18px; border-radius: 50px; margin-bottom: 22px;
}
.sl-hero__h1 { font-size: clamp(2.8rem,5vw,4.4rem); font-weight: 800; color: #fff; line-height: 1.08; margin: 0 0 20px; }
.sl-hero__h1 em { display: block; font-style: normal; color: rgba(255,255,255,.6); font-size: .5em; font-weight: 400; margin-top: 10px; }
.sl-hero__rule { width: 56px; height: 4px; background: var(--red); border-radius: 2px; margin: 0 0 24px; }
.sl-hero__sub { color: rgba(255,255,255,.84); font-size: 1.08rem; line-height: 1.72; max-width: 620px; }

/* Gallery Sections */
.sl-gallery-sec { padding: 80px 0; }
.sl-gallery-sec.sec--off { background: #f5f7fa; }
.sl-gallery-grid {
  display: grid; grid-template-columns: repeat(4,1fr); grid-auto-rows: 220px; gap: 10px; margin-top: 44px;
}
.sl-photo { position: relative; overflow: hidden; border-radius: 10px; cursor: pointer; height: 220px; }
.sl-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; display: block; }
.sl-photo:hover img { transform: scale(1.09); }
.sl-photo__overlay {
  position: absolute; inset: 0; background: rgba(27,85,128,0);
  display: flex; align-items: center; justify-content: center;
  transition: background .3s;
}
.sl-photo:hover .sl-photo__overlay { background: rgba(27,85,128,.45); }
.sl-photo__overlay i { color: #fff; font-size: 1.6rem; opacity: 0; transform: scale(.7); transition: opacity .3s, transform .3s; }
.sl-photo:hover .sl-photo__overlay i { opacity: 1; transform: scale(1); }

/* Housing Section */
.sl-housing { padding: 80px 0; background: #fff; }
.sl-housing__card {
  background: #fff; border: 1px solid #e5e9f0; border-radius: 20px;
  padding: 52px 56px; box-shadow: 0 6px 28px rgba(0,0,0,.06);
  display: grid; grid-template-columns: 72px 1fr; gap: 36px; align-items: start;
}
.sl-housing__icon {
  width: 72px; height: 72px; border-radius: 18px;
  background: rgba(27,85,128,.08); display: flex; align-items: center;
  justify-content: center; font-size: 1.6rem; color: var(--blue); flex-shrink: 0;
}
.sl-housing__h2 { font-size: 1.8rem; font-weight: 800; color: var(--blue-dark); margin: 0 0 16px; }
.sl-housing__body { color: #555; font-size: .96rem; line-height: 1.82; margin: 0 0 18px; }
.sl-housing__link {
  display: inline-flex; align-items: center; gap: 7px;
  color: var(--blue); font-weight: 700; font-size: .9rem; text-decoration: none;
  transition: gap .2s;
}
.sl-housing__link:hover { gap: 11px; color: var(--blue-dark); }

/* Criminal Law Section */
.sl-law { padding: 80px 0; background: #f5f7fa; }
.sl-law__intro {
  background: #fff; border: 1px solid #e5e9f0; border-radius: 16px;
  padding: 36px 40px; margin-bottom: 36px;
  display: flex; gap: 22px; align-items: flex-start;
  border-left: 5px solid var(--red);
}
.sl-law__intro-icon { font-size: 1.5rem; color: var(--red); flex-shrink: 0; margin-top: 3px; }
.sl-law__intro-text { color: #444; font-size: .96rem; line-height: 1.8; }
.sl-law__intro-text a { color: var(--blue); font-weight: 600; }
.law-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-bottom: 22px; }
.law-card {
  background: #fff; border: 1px solid #e5e9f0; border-radius: 16px;
  padding: 28px 26px; border-top: 4px solid var(--red);
  transition: box-shadow .25s, transform .25s;
}
.law-card:hover { box-shadow: 0 16px 36px rgba(0,0,0,.09); transform: translateY(-4px); }
.law-card__icon {
  width: 46px; height: 46px; border-radius: 12px;
  background: rgba(200,16,46,.08); display: flex; align-items: center;
  justify-content: center; font-size: 1.1rem; color: var(--red); margin-bottom: 16px;
}
.law-card__title { font-size: 1.02rem; font-weight: 800; color: var(--blue-dark); margin: 0 0 10px; }
.law-card__text { font-size: .87rem; color: #666; line-height: 1.72; }
.law-card--full { grid-column: 1/-1; }
.law-list { margin: 14px 0 0 0; padding-left: 20px; }
.law-list li { font-size: .87rem; color: #666; line-height: 1.72; margin-bottom: 10px; }
.law-list li a { color: var(--blue); font-weight: 600; }
.law-note {
  background: rgba(200,16,46,.05); border: 1px solid rgba(200,16,46,.18);
  border-radius: 12px; padding: 20px 24px; display: flex; gap: 14px;
  align-items: flex-start; margin-top: 22px;
}
.law-note i { color: var(--red); font-size: 1.1rem; flex-shrink: 0; margin-top: 3px; }
.law-note p { font-size: .9rem; color: #555; line-height: 1.75; margin: 0; }

@media(max-width:1024px) {
  .sl-gallery-grid { grid-template-columns: repeat(3,1fr); grid-auto-rows: 200px; }
  .law-grid { grid-template-columns: repeat(2,1fr); }
  .sl-housing__card { padding: 36px 32px; }
}
@media(max-width:768px) {
  .sl-gallery-grid { grid-template-columns: repeat(2,1fr); grid-auto-rows: 180px; }
  .law-grid { grid-template-columns: 1fr; }
  .sl-housing__card { grid-template-columns: 1fr; gap: 20px; padding: 28px 24px; }
  .sl-law__intro { flex-direction: column; padding: 24px 22px; }
}


/* ================================================
   INTERNATIONAL STUDENTS PAGE
   ================================================ */

.intl-hero {
  position: relative; min-height: 68vh; display: flex; align-items: center;
  overflow: hidden; padding: 140px 0 80px;
  background: linear-gradient(135deg, var(--blue-dark) 0%, #1a6da8 55%, var(--blue-mid) 100%);
}
.intl-hero__bg { position: absolute; inset: 0; }
.intl-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .18; }
.intl-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(15,53,86,.94) 0%, rgba(27,85,128,.76) 100%);
}
.intl-hero__content { position: relative; z-index: 2; max-width: 860px; }
.intl-hero__pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22);
  color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: 6px 18px; border-radius: 50px; margin-bottom: 22px;
}
.intl-hero__h1 { font-size: clamp(2.8rem,5vw,4.4rem); font-weight: 800; color: #fff; line-height: 1.08; margin: 0 0 20px; }
.intl-hero__h1 em { display: block; font-style: normal; color: rgba(255,255,255,.62); font-size: .44em; font-weight: 400; margin-top: 12px; line-height: 1.5; }
.intl-hero__rule { width: 56px; height: 4px; background: var(--red); border-radius: 2px; margin: 0 0 24px; }
.intl-hero__btns { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 36px; }

/* Intro Split */
.intl-intro { padding: 88px 0; background: #fff; }
.intl-intro__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.intl-intro__h2 { font-size: 2rem; font-weight: 800; color: var(--blue-dark); margin: 0 0 18px; line-height: 1.25; }
.intl-intro__h2 span { color: var(--red); }
.intl-intro__body { color: #555; font-size: .98rem; line-height: 1.82; margin-bottom: 16px; }
.intl-intro__since {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(27,85,128,.07); border: 1px solid rgba(27,85,128,.15);
  border-radius: 50px; padding: 8px 20px; margin-bottom: 28px;
  font-size: .84rem; font-weight: 700; color: var(--blue);
}
.intl-intro__img { position: relative; border-radius: 20px; overflow: hidden; }
.intl-intro__img img { width: 100%; display: block; border-radius: 20px; }
.intl-intro__img-badge {
  position: absolute; bottom: 20px; left: 20px;
  background: #fff; border-radius: 14px; padding: 14px 22px;
  box-shadow: 0 8px 28px rgba(0,0,0,.15);
  display: flex; align-items: center; gap: 12px;
}
.intl-intro__img-badge-num { font-size: 1.6rem; font-weight: 800; color: var(--blue-dark); line-height: 1; }
.intl-intro__img-badge-lbl { font-size: .72rem; color: #888; text-transform: uppercase; letter-spacing: .07em; }

/* Programs Grid */
.intl-progs { padding: 80px 0; background: #f5f7fa; }
.intl-prog-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-top: 44px; }
.intl-prog-card {
  background: #fff; border: 1px solid #e5e9f0; border-radius: 16px;
  padding: 28px 22px; text-align: center; border-top: 4px solid var(--blue);
  transition: transform .25s, box-shadow .25s;
}
.intl-prog-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(0,0,0,.09); }
.intl-prog-card__icon {
  width: 52px; height: 52px; border-radius: 14px; margin: 0 auto 16px;
  background: rgba(27,85,128,.08); display: flex; align-items: center;
  justify-content: center; font-size: 1.2rem; color: var(--blue);
}
.intl-prog-card__title { font-size: .97rem; font-weight: 700; color: var(--blue-dark); line-height: 1.3; }

/* Legal Contact */
.intl-legal { padding: 80px 0; background: #fff; }
.intl-legal__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: start; }
.intl-legal__tag { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--red); margin-bottom: 14px; display: block; }
.intl-legal__h2 { font-size: 1.6rem; font-weight: 800; color: var(--blue-dark); margin: 0 0 18px; line-height: 1.3; }
.intl-legal__body { color: #555; font-size: .96rem; line-height: 1.8; margin-bottom: 24px; }
.intl-contact-card {
  background: #fff; border: 1px solid #e5e9f0; border-radius: 18px;
  padding: 32px 28px; box-shadow: 0 6px 28px rgba(0,0,0,.06);
  border-top: 5px solid var(--red);
}
.intl-contact-card__head { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.intl-contact-card__av {
  width: 52px; height: 52px; border-radius: 14px; background: rgba(200,16,46,.08);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; color: var(--red); flex-shrink: 0;
}
.intl-contact-card__name { font-size: 1.08rem; font-weight: 800; color: var(--blue-dark); }
.intl-contact-card__title { font-size: .82rem; color: #888; margin-top: 3px; }
.intl-contact-row { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; font-size: .9rem; color: #444; }
.intl-contact-row i { color: var(--blue); width: 18px; flex-shrink: 0; margin-top: 3px; }
.intl-contact-row a { color: var(--blue); font-weight: 600; text-decoration: none; }
.intl-contact-row a:hover { text-decoration: underline; }

/* Federal Links */
.intl-federal { padding: 80px 0; background: #f5f7fa; }
.intl-federal__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 44px; }
.intl-fed-card {
  background: #fff; border: 1px solid #e5e9f0; border-radius: 16px; padding: 28px 26px;
  border-left: 5px solid var(--blue);
}
.intl-fed-card--red { border-left-color: var(--red); }
.intl-fed-card__icon { font-size: 1.4rem; color: var(--blue); margin-bottom: 14px; }
.intl-fed-card--red .intl-fed-card__icon { color: var(--red); }
.intl-fed-card__title { font-size: 1rem; font-weight: 800; color: var(--blue-dark); margin-bottom: 14px; }
.intl-fed-card__links { display: flex; flex-direction: column; gap: 10px; }
.intl-fed-link {
  display: inline-flex; align-items: center; gap: 7px;
  color: var(--blue); font-size: .85rem; font-weight: 600; text-decoration: none;
  word-break: break-all; transition: color .2s;
}
.intl-fed-card--red .intl-fed-link { color: var(--red); }
.intl-fed-link:hover { text-decoration: underline; }

@media(max-width:1024px) {
  .intl-intro__grid { grid-template-columns: 1fr; gap: 40px; }
  .intl-intro__img { max-width: 520px; }
  .intl-prog-grid { grid-template-columns: repeat(3,1fr); }
  .intl-legal__grid { grid-template-columns: 1fr; gap: 36px; }
  .intl-federal__grid { grid-template-columns: 1fr; }
}
@media(max-width:640px) {
  .intl-prog-grid { grid-template-columns: repeat(2,1fr); }
}


/* ================================================
   STUDENT LOANS PAGE
   ================================================ */

.loans-hero {
  position: relative; min-height: 60vh; display: flex; align-items: center;
  overflow: hidden; padding: 140px 0 80px;
  background: linear-gradient(135deg, #0a2540 0%, var(--blue-dark) 55%, var(--blue) 100%);
}
.loans-hero__decor {
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(circle at 80% 20%, rgba(200,16,46,.15) 0%, transparent 40%),
    radial-gradient(circle at 10% 80%, rgba(255,255,255,.04) 0%, transparent 40%);
}
.loans-hero__content { position: relative; z-index: 2; max-width: 800px; }
.loans-hero__pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22);
  color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: 6px 18px; border-radius: 50px; margin-bottom: 22px;
}
.loans-hero__h1 { font-size: clamp(2.6rem,5vw,4rem); font-weight: 800; color: #fff; line-height: 1.1; margin: 0 0 20px; }
.loans-hero__rule { width: 56px; height: 4px; background: var(--red); border-radius: 2px; margin: 0 0 24px; }
.loans-hero__sub { color: rgba(255,255,255,.82); font-size: 1.04rem; line-height: 1.76; max-width: 660px; }
.loans-hero__stats { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 36px; }
.loans-hero__stat {
  text-align: center; background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15); border-radius: 12px; padding: 14px 28px;
}
.loans-hero__stat-num { font-size: 1.9rem; font-weight: 800; color: #fff; line-height: 1; }
.loans-hero__stat-lbl { font-size: .7rem; color: rgba(255,255,255,.62); text-transform: uppercase; letter-spacing: .1em; margin-top: 5px; }

/* How it works strip */
.loans-how { background: var(--red); padding: 36px 0; }
.loans-how__row { display: flex; align-items: center; justify-content: center; gap: 0; flex-wrap: wrap; }
.loans-how__step { display: flex; align-items: center; gap: 14px; padding: 10px 32px; color: #fff; }
.loans-how__step-num { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; font-size: .82rem; font-weight: 800; flex-shrink: 0; }
.loans-how__step-text { font-size: .88rem; font-weight: 600; line-height: 1.35; }
.loans-how__sep { color: rgba(255,255,255,.4); font-size: 1.2rem; padding: 0 4px; }

/* National featured card */
.loans-national { padding: 72px 0 0; background: #f5f7fa; }
.loans-national__card {
  background: linear-gradient(135deg, var(--blue-dark), var(--blue));
  border-radius: 22px; padding: 48px 52px; color: #fff;
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center;
}
.loans-national__eyebrow { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: rgba(255,255,255,.6); margin-bottom: 12px; }
.loans-national__title { font-size: 1.6rem; font-weight: 800; line-height: 1.25; margin-bottom: 14px; }
.loans-national__desc { font-size: .94rem; color: rgba(255,255,255,.8); line-height: 1.76; }
.loans-national__info { display: flex; flex-direction: column; gap: 16px; }
.loans-national__row { display: flex; align-items: center; gap: 14px; }
.loans-national__row-icon { width: 40px; height: 40px; border-radius: 11px; background: rgba(255,255,255,.15); display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; }
.loans-national__row-label { font-size: .74rem; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: .07em; }
.loans-national__row-val { font-size: .96rem; font-weight: 700; color: #fff; }
.loans-national__row-val a { color: rgba(255,255,255,.9); text-decoration: none; }
.loans-national__row-val a:hover { text-decoration: underline; }

/* Province cards */
.loans-provinces { padding: 56px 0 80px; background: #f5f7fa; }
.loans-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 44px; }
.lcard {
  background: #fff; border: 1px solid #e5e9f0; border-radius: 16px;
  overflow: hidden; display: flex; flex-direction: column;
  transition: transform .25s, box-shadow .25s;
}
.lcard:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(0,0,0,.09); }
.lcard__head { padding: 22px 22px 16px; border-bottom: 1px solid #f0f3f8; }
.lcard__province { font-size: .94rem; font-weight: 800; color: var(--blue-dark); line-height: 1.3; margin-bottom: 6px; }
.lcard__tag { display: inline-flex; align-items: center; gap: 5px; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; padding: 3px 10px; border-radius: 50px; }
.lcard__body { padding: 18px 22px; flex: 1; display: flex; flex-direction: column; gap: 11px; }
.lcard__row { display: flex; align-items: flex-start; gap: 10px; font-size: .84rem; }
.lcard__row i { color: var(--blue); width: 15px; flex-shrink: 0; margin-top: 3px; font-size: .78rem; }
.lcard__row span { color: #555; line-height: 1.5; }
.lcard__row a { color: var(--blue); font-weight: 600; text-decoration: none; word-break: break-all; }
.lcard__row a:hover { text-decoration: underline; }
.lcard__foot { padding: 14px 22px; }
.lcard__foot a { display: flex; align-items: center; gap: 7px; font-size: .83rem; font-weight: 700; color: var(--blue); text-decoration: none; transition: gap .2s; }
.lcard:hover .lcard__foot a { gap: 11px; }

@media(max-width:1200px) { .loans-grid { grid-template-columns: repeat(3,1fr); } }
@media(max-width:900px)  { .loans-grid { grid-template-columns: repeat(2,1fr); } .loans-national__card { grid-template-columns: 1fr; } }
@media(max-width:640px)  { .loans-grid { grid-template-columns: 1fr; } .loans-how__sep { display: none; } }


/* =========================================================
   Student Line of Credit
   ========================================================= */
.sloc-hero {
  position: relative;
  background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue) 60%, #1e6fa8 100%);
  padding: 90px 0 80px;
  overflow: hidden;
}
.sloc-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
.sloc-hero__content { position: relative; z-index: 1; max-width: 820px; }
.sloc-hero__pill {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.13); color: rgba(255,255,255,.92);
  font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 16px; border-radius: 50px; margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.2);
}
.sloc-hero__h1 {
  font-size: clamp(2rem,4vw,3rem); font-weight: 900; color: #fff;
  line-height: 1.15; margin: 0 0 18px;
}
.sloc-hero__rule { width: 56px; height: 4px; background: var(--red); border-radius: 2px; margin-bottom: 22px; }
.sloc-hero__sub {
  font-size: 1.05rem; color: rgba(255,255,255,.82); max-width: 680px;
  line-height: 1.7; margin: 0;
}

/* Intro note */
.sloc-intro { background: #fff; border-bottom: 1px solid #e8edf3; }
.sloc-intro__inner {
  max-width: 820px; margin: 0 auto; padding: 42px 24px;
  display: flex; align-items: flex-start; gap: 20px;
}
.sloc-intro__icon {
  flex-shrink: 0; width: 48px; height: 48px;
  background: rgba(200,16,46,.08); border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  color: var(--red); font-size: 1.3rem; margin-top: 2px;
}
.sloc-intro__text { font-size: .97rem; color: #444; line-height: 1.75; }
.sloc-intro__text strong { color: var(--blue-dark); }

/* Bank cards section */
.sloc-banks { padding: 60px 0 90px; background: #f5f7fa; }
.sloc-banks__hd { text-align: center; margin-bottom: 48px; }
.sloc-banks__hd .eyebrow { margin-bottom: 10px; }
.sloc-banks__hd h2 { font-size: clamp(1.5rem,3vw,2.2rem); font-weight: 900; color: var(--blue-dark); margin: 0 0 12px; }
.sloc-banks__hd p { font-size: .97rem; color: #666; max-width: 540px; margin: 0 auto; line-height: 1.6; }

.sloc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.bcard {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .25s, box-shadow .25s;
  position: relative;
  overflow: hidden;
}
.bcard::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--accent, var(--blue));
  border-radius: 16px 16px 0 0;
}
.bcard:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(0,0,0,.08); }
.bcard__icon {
  width: 52px; height: 52px; border-radius: 14px;
  background: var(--icon-bg, rgba(27,85,128,.08));
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; color: var(--accent, var(--blue));
}
.bcard__bank { font-size: .72rem; font-weight: 800; color: var(--accent, var(--blue)); text-transform: uppercase; letter-spacing: .1em; }
.bcard__name { font-size: 1.05rem; font-weight: 800; color: var(--blue-dark); line-height: 1.35; margin: 0; flex: 1; }
.bcard__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .84rem; font-weight: 700; color: var(--accent, var(--blue));
  text-decoration: none; transition: gap .2s;
  word-break: break-all;
}
.bcard__link i { flex-shrink: 0; font-size: .8rem; }
.bcard:hover .bcard__link { gap: 9px; }

@media(max-width:1000px) { .sloc-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:640px)  { .sloc-grid { grid-template-columns: 1fr; } }


/* =========================================================
   Student Document Verification
   ========================================================= */
.sdv-hero {
  background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue) 100%);
  padding: 80px 0 70px;
  position: relative;
  overflow: hidden;
}
.sdv-hero::before {
  content: '';
  position: absolute;
  right: -120px; top: -120px;
  width: 480px; height: 480px;
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  pointer-events: none;
}
.sdv-hero__content { position: relative; z-index: 1; max-width: 680px; }
.sdv-hero__pill {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.12); color: rgba(255,255,255,.9);
  font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 15px; border-radius: 50px; margin-bottom: 20px;
  border: 1px solid rgba(255,255,255,.18);
}
.sdv-hero__h1 { font-size: clamp(1.8rem,3.5vw,2.7rem); font-weight: 900; color: #fff; margin: 0 0 14px; line-height: 1.2; }
.sdv-hero__rule { width: 50px; height: 4px; background: var(--red); border-radius: 2px; }

/* Verification panel */
.sdv-panel { padding: 70px 0 90px; background: #f5f7fa; }
.sdv-card {
  max-width: 600px; margin: 0 auto;
  background: #fff; border-radius: 20px;
  box-shadow: 0 8px 40px rgba(15,53,86,.10);
  overflow: hidden;
}
.sdv-card__head {
  background: var(--blue-dark); padding: 28px 36px;
  display: flex; align-items: center; gap: 14px;
}
.sdv-card__head-icon {
  width: 46px; height: 46px; border-radius: 12px;
  background: rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.3rem; flex-shrink: 0;
}
.sdv-card__head-title { font-size: 1.05rem; font-weight: 800; color: #fff; margin: 0; }
.sdv-card__head-sub { font-size: .8rem; color: rgba(255,255,255,.65); margin-top: 2px; }
.sdv-card__body { padding: 36px; }
.sdv-label { font-size: .8rem; font-weight: 800; color: var(--blue-dark); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.sdv-input-wrap { position: relative; }
.sdv-input-wrap i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--blue); font-size: .9rem; pointer-events: none; }
.sdv-input {
  width: 100%; padding: 14px 16px 14px 42px;
  border: 2px solid #d8e2ef; border-radius: 10px;
  font-size: .97rem; font-family: inherit; color: var(--blue-dark);
  outline: none; transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
}
.sdv-input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(27,85,128,.12); }
.sdv-btn {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  width: 100%; margin-top: 20px;
  padding: 15px 24px;
  background: var(--red); color: #fff;
  border: none; border-radius: 10px;
  font-size: 1rem; font-weight: 800; font-family: inherit;
  cursor: pointer; transition: background .2s, transform .15s;
  text-decoration: none;
}
.sdv-btn:hover { background: #a50d24; transform: translateY(-2px); }
.sdv-divider { border: none; border-top: 1px solid #edf0f5; margin: 28px 0; }
.sdv-notice {
  display: flex; align-items: flex-start; gap: 13px;
  background: rgba(200,16,46,.05); border: 1px solid rgba(200,16,46,.15);
  border-radius: 10px; padding: 16px 18px;
}
.sdv-notice i { color: var(--red); font-size: 1rem; flex-shrink: 0; margin-top: 2px; }
.sdv-notice p { font-size: .87rem; color: #555; line-height: 1.65; margin: 0; }
.sdv-notice strong { color: var(--blue-dark); }


/* =========================================================
   Contact Us Page
   ========================================================= */
.cu-hero {
  background: linear-gradient(135deg, #0d2d4a 0%, var(--blue-dark) 45%, var(--blue) 100%);
  padding: 90px 0 80px; position: relative; overflow: hidden;
}
.cu-hero::before {
  content: ''; position: absolute; right: -80px; bottom: -80px;
  width: 500px; height: 500px; border-radius: 50%;
  background: rgba(255,255,255,.03); pointer-events: none;
}
.cu-hero::after {
  content: ''; position: absolute; left: -60px; top: -60px;
  width: 300px; height: 300px; border-radius: 50%;
  background: rgba(200,16,46,.07); pointer-events: none;
}
.cu-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.cu-hero__pill {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.12); color: rgba(255,255,255,.9);
  font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 15px; border-radius: 50px; margin-bottom: 20px;
  border: 1px solid rgba(255,255,255,.2);
}
.cu-hero__h1 { font-size: clamp(2rem,3.5vw,2.9rem); font-weight: 900; color: #fff; margin: 0 0 18px; line-height: 1.15; }
.cu-hero__rule { width: 52px; height: 4px; background: var(--red); border-radius: 2px; margin-bottom: 22px; }
.cu-hero__sub { font-size: .97rem; color: rgba(255,255,255,.78); line-height: 1.75; margin: 0; }
.cu-hero__stats { display: flex; gap: 32px; margin-top: 34px; }
.cu-hero__stat-num { font-size: 2rem; font-weight: 900; color: #fff; line-height: 1; }
.cu-hero__stat-lbl { font-size: .75rem; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: .08em; margin-top: 4px; }
.cu-hero__card {
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px; padding: 32px; backdrop-filter: blur(6px);
}
.cu-hero__card-title { font-size: .75rem; font-weight: 800; color: rgba(255,255,255,.55); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 20px; }
.cu-quick-row { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.cu-quick-row:last-child { border-bottom: none; }
.cu-quick-row__icon { width: 36px; height: 36px; border-radius: 9px; background: rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; color: #fff; font-size: .85rem; flex-shrink: 0; }
.cu-quick-row__text { font-size: .88rem; color: rgba(255,255,255,.85); line-height: 1.4; }
.cu-quick-row__text a { color: rgba(255,255,255,.85); text-decoration: none; }
.cu-quick-row__text a:hover { color: #fff; text-decoration: underline; }
.cu-quick-row__label { font-size: .7rem; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .07em; }

/* Main contact grid */
.cu-main { padding: 70px 0 90px; background: #f5f7fa; }
.cu-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 36px; align-items: start; }

/* Info card */
.cu-info { background: #fff; border-radius: 20px; box-shadow: 0 4px 24px rgba(15,53,86,.07); overflow: hidden; }
.cu-info__head { background: var(--blue-dark); padding: 26px 28px; }
.cu-info__head h2 { font-size: 1.15rem; font-weight: 900; color: #fff; margin: 0 0 4px; }
.cu-info__head p { font-size: .8rem; color: rgba(255,255,255,.6); margin: 0; line-height: 1.5; }
.cu-info__body { padding: 28px; display: flex; flex-direction: column; gap: 6px; }

.cu-entry {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 14px 0; border-bottom: 1px solid #f0f3f8;
}
.cu-entry:last-child { border-bottom: none; }
.cu-entry__icon {
  width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: .88rem; margin-top: 1px;
}
.cu-entry__icon--blue { background: rgba(27,85,128,.09); color: var(--blue); }
.cu-entry__icon--red  { background: rgba(200,16,46,.08); color: var(--red); }
.cu-entry__icon--green{ background: rgba(106,148,40,.09); color: var(--green); }
.cu-entry__label { font-size: .72rem; font-weight: 800; color: #aab; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 4px; }
.cu-entry__val { font-size: .9rem; color: var(--blue-dark); font-weight: 600; }
.cu-entry__val a { color: var(--blue-dark); text-decoration: none; }
.cu-entry__val a:hover { color: var(--blue); text-decoration: underline; }
.cu-entry__note { font-size: .76rem; color: #888; margin-top: 2px; }

/* Social strip */
.cu-social { display: flex; align-items: center; gap: 10px; padding: 18px 28px; border-top: 1px solid #f0f3f8; }
.cu-social__label { font-size: .75rem; font-weight: 700; color: #aab; text-transform: uppercase; letter-spacing: .08em; margin-right: 4px; }
.cu-social__btn {
  width: 38px; height: 38px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; text-decoration: none; transition: transform .2s, opacity .2s;
}
.cu-social__btn:hover { transform: translateY(-3px); opacity: .85; }
.cu-social__btn--fb { background: #1877f2; color: #fff; }
.cu-social__btn--ig { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color: #fff; }
.cu-social__btn--mail { background: var(--red); color: #fff; }

/* Phone strip */
.cu-phones { display: flex; flex-direction: column; gap: 0; border: 1px solid #f0f3f8; border-radius: 10px; overflow: hidden; }
.cu-phones__group { display: contents; }
.cu-phones__group-label {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 18px; background: #f7f9fc;
  font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--blue-dark); border-bottom: 1px solid #f0f3f8;
}
.cu-phones__group-label i { color: var(--blue); font-size: .8rem; }
.cu-phone {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 18px; border-bottom: 1px solid #f0f3f8;
  text-decoration: none; color: var(--blue-dark); font-size: .875rem; font-weight: 600;
  transition: background .15s;
}
.cu-phone:last-child { border-bottom: none; }
.cu-phone:hover { background: #f7f9fc; }
.cu-phone i { color: var(--blue); font-size: .9rem; flex-shrink: 0; }

/* Form card */
.cu-form-card { background: #fff; border-radius: 20px; box-shadow: 0 4px 24px rgba(15,53,86,.07); overflow: hidden; }
.cu-form-card__head { background: var(--red); padding: 26px 32px; }
.cu-form-card__head h2 { font-size: 1.15rem; font-weight: 900; color: #fff; margin: 0 0 4px; }
.cu-form-card__head p { font-size: .8rem; color: rgba(255,255,255,.7); margin: 0; }
.cu-form-card__body { padding: 32px; }
.cu-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cu-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.cu-field label { font-size: .78rem; font-weight: 800; color: var(--blue-dark); text-transform: uppercase; letter-spacing: .07em; }
.cu-field label span { color: var(--red); margin-left: 2px; }
.cu-field input, .cu-field textarea, .cu-field select {
  width: 100%; padding: 12px 15px; border: 2px solid #dde4ee; border-radius: 10px;
  font-size: .92rem; font-family: inherit; color: var(--blue-dark);
  outline: none; transition: border-color .2s, box-shadow .2s; box-sizing: border-box;
  background: #fff;
}
.cu-field input:focus, .cu-field textarea:focus {
  border-color: var(--blue); box-shadow: 0 0 0 3px rgba(27,85,128,.1);
}
.cu-field textarea { resize: vertical; min-height: 130px; }
.cu-form-submit {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  width: 100%; padding: 15px 24px;
  background: var(--blue-dark); color: #fff;
  border: none; border-radius: 10px;
  font-size: 1rem; font-weight: 800; font-family: inherit;
  cursor: pointer; transition: background .2s, transform .15s; margin-top: 4px;
}
.cu-form-submit:hover { background: var(--red); transform: translateY(-2px); }

@media(max-width:1000px) { .cu-hero__inner { grid-template-columns: 1fr; } .cu-hero__card { display: none; } }
@media(max-width:860px)  { .cu-grid { grid-template-columns: 1fr; } }
@media(max-width:600px)  { .cu-form-row { grid-template-columns: 1fr; } }


/* =========================================================
   Program Detail Pages  (.pd-*)
   ========================================================= */

/* Hero */
.pd-hero {
  background: linear-gradient(135deg, #0d2d4a 0%, var(--blue-dark) 50%, #1a5f9e 100%);
  padding: 80px 0 60px; position: relative; overflow: hidden;
}
.pd-hero::before {
  content: ''; position: absolute; right: -100px; bottom: -100px;
  width: 520px; height: 520px; border-radius: 50%;
  background: rgba(255,255,255,.03); pointer-events: none;
}
.pd-hero::after {
  content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0;
  background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='0.02'%3E%3Ccircle cx='20' cy='20' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
.pd-hero__inner { position: relative; z-index: 1; max-width: 860px; }
.pd-hero__badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.pd-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  padding: 4px 14px; border-radius: 50px;
}
.pd-badge--intl   { background: rgba(200,16,46,.2);   color: #ffaaaa; border: 1px solid rgba(200,16,46,.3); }
.pd-badge--can    { background: rgba(27,85,128,.25);  color: #90c4f8; border: 1px solid rgba(27,85,128,.4); }
.pd-badge--online { background: rgba(16,165,130,.2);  color: #6ee7c7; border: 1px solid rgba(16,165,130,.35); }
.pd-badge--area   { background: rgba(255,255,255,.1); color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.2); }
.pd-badge--dur    { background: rgba(106,148,40,.25); color: #c6f08a; border: 1px solid rgba(106,148,40,.35); }
.pd-hero__h1 {
  font-size: clamp(1.9rem,3.5vw,2.8rem); font-weight: 900; color: #fff;
  margin: 0 0 6px; line-height: 1.15;
}
.pd-hero__h1 em {
  display: block; font-style: normal; font-size: clamp(.95rem,1.6vw,1.15rem);
  font-weight: 600; color: rgba(255,255,255,.6); margin-top: 6px;
}
.pd-hero__rule { width: 52px; height: 4px; background: var(--red); border-radius: 2px; margin: 18px 0 20px; }
.pd-hero__desc { font-size: .97rem; color: rgba(255,255,255,.78); line-height: 1.75; max-width: 760px; margin: 0 0 28px; }
.pd-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* Info strip */
.pd-strip { background: #fff; border-bottom: 2px solid #edf1f8; }
.pd-strip__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.pd-strip__item {
  display: flex; align-items: center; gap: 14px;
  padding: 22px 28px; border-right: 1px solid #edf1f8;
}
.pd-strip__item:last-child { border-right: none; }
.pd-strip__icon {
  width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(27,85,128,.08); color: var(--blue); font-size: .95rem;
}
.pd-strip__label { font-size: .68rem; font-weight: 700; color: #aab; text-transform: uppercase; letter-spacing: .08em; }
.pd-strip__val   { font-size: .9rem; font-weight: 700; color: var(--blue-dark); margin-top: 2px; }

/* Two-col body */
.pd-body { padding: 60px 0 50px; background: #f5f7fa; }
.pd-body__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 36px; align-items: start; }
.pd-card { background: #fff; border-radius: 18px; padding: 32px; box-shadow: 0 2px 16px rgba(15,53,86,.06); }
.pd-section-title {
  font-size: 1.05rem; font-weight: 900; color: var(--blue-dark);
  margin: 0 0 6px; display: flex; align-items: center; gap: 10px;
}
.pd-section-title::before { content: ''; display: block; width: 4px; height: 20px; background: var(--red); border-radius: 2px; }
.pd-section-sub { font-size: .8rem; color: #999; margin-bottom: 18px; }
.pd-careers__intro { font-size: .88rem; color: #555; line-height: 1.7; margin-bottom: 18px; }
.pd-careers__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; }
.pd-careers__item {
  display: flex; align-items: center; gap: 10px;
  font-size: .88rem; color: #444; padding: 8px 14px;
  background: rgba(27,85,128,.04); border-radius: 8px;
  border-left: 3px solid var(--blue);
}
.pd-careers__item i { color: var(--blue); font-size: .78rem; flex-shrink: 0; }

.pd-course-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pd-course-tag {
  display: inline-flex; align-items: center;
  padding: 6px 14px; border-radius: 50px;
  background: rgba(27,85,128,.07); color: var(--blue-dark);
  font-size: .79rem; font-weight: 600; border: 1px solid rgba(27,85,128,.12);
  transition: background .15s;
}
.pd-course-tag:hover { background: rgba(27,85,128,.14); }

/* Year labels for 2-year programs */
.pd-year-label {
  font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em;
  color: var(--red); margin: 16px 0 8px;
}

/* Admission requirements */
.pd-admissions { padding: 56px 0 50px; background: #fff; }
.pd-adm-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: start; }
.pd-adm-list { list-style: none; padding: 0; margin: 0; counter-reset: adm; }
.pd-adm-item {
  display: flex; gap: 14px; margin-bottom: 18px; align-items: flex-start;
}
.pd-adm-num {
  min-width: 30px; height: 30px; border-radius: 50%;
  background: var(--blue-dark); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .78rem; font-weight: 800; flex-shrink: 0; margin-top: 1px;
}
.pd-adm-text { font-size: .88rem; color: #444; line-height: 1.65; }
.pd-english {
  background: rgba(27,85,128,.04); border: 1px solid rgba(27,85,128,.12);
  border-radius: 16px; padding: 26px;
}
.pd-english__title {
  font-size: .85rem; font-weight: 800; color: var(--blue-dark);
  margin: 0 0 14px; display: flex; align-items: center; gap: 8px;
}
.pd-english__title i { color: var(--blue); }
.pd-english__note { font-size: .78rem; color: #888; font-style: italic; margin-bottom: 14px; }
.pd-english__row {
  font-size: .82rem; color: #555; padding: 9px 0;
  border-bottom: 1px solid rgba(27,85,128,.08); line-height: 1.5;
}
.pd-english__row:last-child { border-bottom: none; }
.pd-english__row strong { color: var(--blue-dark); }
.pd-work-note { background: rgba(106,148,40,.07); border: 1px solid rgba(106,148,40,.2); border-radius: 10px; padding: 14px 18px; font-size: .82rem; color: #444; margin-top: 16px; }
.pd-work-note strong { color: var(--green); }

/* Fees + Apply CTA */
.pd-fees-cta { padding: 56px 0 80px; background: #f5f7fa; }
.pd-fees-cta__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.pd-fees-card { background: #fff; border-radius: 18px; box-shadow: 0 4px 24px rgba(15,53,86,.08); overflow: hidden; }
.pd-fees-card__head { background: var(--blue-dark); padding: 20px 28px; display: flex; align-items: center; gap: 10px; }
.pd-fees-card__head-icon { color: rgba(255,255,255,.6); font-size: 1.1rem; }
.pd-fees-card__head-title { font-size: 1rem; font-weight: 800; color: #fff; }
.pd-fees-card__body { padding: 24px 28px; }
.pd-fees-row { display: flex; justify-content: space-between; align-items: center; padding: 11px 0; border-bottom: 1px solid #f0f3f8; font-size: .88rem; }
.pd-fees-row:last-of-type { border-bottom: none; }
.pd-fees-row span:first-child { color: #666; }
.pd-fees-row span:last-child { font-weight: 700; color: var(--blue-dark); }
.pd-fees-yr { font-size: .7rem; font-weight: 700; color: var(--red); text-transform: uppercase; letter-spacing: .08em; background: rgba(200,16,46,.07); padding: 3px 10px; border-radius: 50px; margin: 10px 0 4px; display: inline-block; }
.pd-fees-total { display: flex; justify-content: space-between; align-items: center; padding: 16px 0 4px; border-top: 2px solid #e8edf3; margin-top: 6px; }
.pd-fees-total span:first-child { font-size: .9rem; font-weight: 800; color: var(--blue-dark); }
.pd-fees-total span:last-child { font-size: 1.35rem; font-weight: 900; color: var(--red); }
.pd-fees-note { font-size: .76rem; color: #999; margin-top: 10px; line-height: 1.5; }
.pd-apply-card {
  background: var(--blue-dark); border-radius: 18px; padding: 36px;
  display: flex; flex-direction: column; gap: 14px;
}
.pd-apply-card__icon { color: rgba(255,255,255,.4); font-size: 2.5rem; }
.pd-apply-card h2 { font-size: 1.5rem; font-weight: 900; color: #fff; margin: 0; line-height: 1.25; }
.pd-apply-card p { font-size: .88rem; color: rgba(255,255,255,.65); margin: 0; line-height: 1.6; }
.pd-apply-card .btn + .btn { margin-left: 0; }
.pd-apply-btns { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.pd-apply-btns .btn { justify-content: center; text-decoration: none; }



@media(max-width:960px) { .pd-body__grid { grid-template-columns: 1fr; } .pd-adm-grid { grid-template-columns: 1fr; } .pd-fees-cta__grid { grid-template-columns: 1fr; } }
@media(max-width:700px) { .pd-strip__grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:480px) { .pd-strip__grid { grid-template-columns: 1fr; } .pd-strip__item { border-right: none; border-bottom: 1px solid #edf1f8; } }




/* =========================================================
   MEGA MENU  (.mhdr-*)
   ========================================================= */

/* ── Top bar ─────────────────────────────────────────────── */
.mhdr {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  font-family: var(--font-b);
}
.mhdr__top {
  background: var(--blue-dark);
  border-bottom: 1px solid rgba(255,255,255,.07);
  height: 38px; display: flex; align-items: center;
}
.mhdr__top-inner {
  display: flex; align-items: center;
  justify-content: space-between; width: 100%;
}
.mhdr__top-left { display: flex; align-items: center; gap: 14px; flex-wrap: nowrap; overflow: hidden; }
.mhdr__top-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .82rem; font-weight: 700; color: rgba(255,255,255,.75);
  text-decoration: none; transition: color .2s; letter-spacing: .01em; white-space: nowrap;
}
.mhdr__top-link:hover { color: #fff; }
.mhdr__top-link i { font-size: .72rem; color: var(--red-light,#ff6b6b); }
.mhdr__top-addr { cursor: default; }
.mhdr__top-right { display: flex; align-items: center; gap: 10px; }
.mhdr__top-social {
  width: 24px; height: 24px; border-radius: 6px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.55); font-size: .62rem;
  text-decoration: none; transition: all .2s;
}
.mhdr__top-social:hover { background: var(--red); border-color: var(--red); color: #fff; }
.mhdr__top-verify {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255,255,255,.7); background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14); border-radius: 50px;
  padding: 3px 12px; text-decoration: none; transition: all .2s;
}
.mhdr__top-verify:hover { background: rgba(255,255,255,.15); color: #fff; }
.mhdr__top-verify i { font-size: .7rem; color: var(--green,#6A9428); }

/* ── Main bar ─────────────────────────────────────────────── */
.mhdr__main {
  background: linear-gradient(90deg, rgba(8,24,46,.97) 0%, rgba(15,53,86,.97) 40%, rgba(140,10,30,.95) 80%, rgba(8,24,46,.97) 100%);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 4px 40px rgba(0,0,0,.28);
  position: relative;
}
.mhdr__main::before {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--red) 0%, rgba(255,255,255,.3) 50%, var(--red) 100%);
  background-size: 200% 100%; animation: shimmer 4s linear infinite;
}
.mhdr__main-inner {
  display: flex; align-items: center; height: 74px;
  justify-content: space-between; gap: 16px;
}
.mhdr__logo { display: flex; align-items: center; flex-shrink: 0; }
.mhdr__logo img {
  height: 56px; width: auto; display: block;
  transition: height .3s, filter .3s;
  filter: drop-shadow(0 2px 12px rgba(255,255,255,.2)) brightness(1.08);
}
.mhdr__logo:hover img { filter: drop-shadow(0 4px 20px rgba(255,255,255,.35)) brightness(1.18); }

/* Nav */
.mhdr__nav { display: flex; align-items: stretch; height: 74px; }
.mhdr__item { position: relative; display: flex; align-items: center; }
.mhdr__link {
  display: flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 600; letter-spacing: .01em;
  color: rgba(255,255,255,.78); padding: 0 14px; height: 100%;
  cursor: pointer; white-space: nowrap;
  background: none; border: none; font-family: var(--font-b);
  position: relative; transition: color .2s;
}
.mhdr__link::after {
  content: ''; position: absolute; bottom: 0; left: 50%; right: 50%; height: 2px;
  background: var(--red); border-radius: 2px 2px 0 0;
  transition: left .25s ease, right .25s ease;
}
.mhdr__link:hover, .mhdr__item--open > .mhdr__link { color: #fff; }
.mhdr__link:hover::after, .mhdr__item--open > .mhdr__link::after { left: 8%; right: 8%; }
.mhdr__arr {
  font-size: 8px; opacity: .45; transition: transform .28s ease, opacity .2s;
  flex-shrink: 0; margin-top: 1px;
}
.mhdr__item--open > .mhdr__link .mhdr__arr { transform: rotate(180deg); opacity: 1; color: #ff9999; }

/* Hover = open on desktop */
@media (hover: hover) and (min-width: 1024px) {
  .mhdr__item--drop:hover > .mhdr__link,
  .mhdr__item--mega:hover > .mhdr__link { color: #fff; }
  .mhdr__item--drop:hover > .mhdr__link::after,
  .mhdr__item--mega:hover > .mhdr__link::after { left: 8%; right: 8%; }
  .mhdr__item--drop:hover > .mhdr__link .mhdr__arr,
  .mhdr__item--mega:hover > .mhdr__link .mhdr__arr { transform: rotate(180deg); opacity: 1; color: #ff9999; }
  .mhdr__item--drop:hover > .mhdr__drop { opacity: 1; pointer-events: all; transform: translateX(-50%) translateY(0) scale(1); }
  .mhdr__item--mega:hover > .mhdr__mega { opacity: 1; pointer-events: all; transform: translateY(0) scaleY(1); }
}

/* Actions */
.mhdr__actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.mhdr__apply-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, var(--red) 0%, #a50d24 100%);
  color: #fff; font-size: .8rem; font-weight: 800; letter-spacing: .05em;
  padding: 9px 20px; border-radius: 50px; text-decoration: none;
  box-shadow: 0 4px 20px rgba(200,16,46,.4);
  transition: box-shadow .2s, transform .15s;
}
.mhdr__apply-btn:hover { box-shadow: 0 6px 28px rgba(200,16,46,.6); transform: translateY(-2px); }
.mhdr__burger {
  display: none; flex-direction: column; justify-content: center;
  align-items: center; gap: 5px; width: 42px; height: 42px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px; cursor: pointer; transition: background .2s;
}
.mhdr__burger:hover { background: rgba(255,255,255,.16); }
.mhdr__burger span { display: block; width: 19px; height: 2px; background: #fff; border-radius: 2px; transition: all .3s ease; }
.mhdr__burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mhdr__burger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.mhdr__burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Small dropdown ──────────────────────────────────────── */
.mhdr__drop {
  position: absolute; top: calc(100% + 8px); left: 50%;
  transform: translateX(-50%) translateY(-10px) scale(.97);
  background: #fff; border-radius: 18px; padding: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,.06), 0 20px 60px rgba(15,53,86,.16), 0 0 0 1px rgba(27,85,128,.08);
  border-top: 3px solid var(--red);
  opacity: 0; pointer-events: none;
  transition: opacity .24s ease, transform .24s ease;
  z-index: 200; min-width: 280px;
}
.mhdr__item--open > .mhdr__drop {
  opacity: 1; pointer-events: all;
  transform: translateX(-50%) translateY(0) scale(1);
}
.mhdr__drop-col { display: flex; flex-direction: column; gap: 2px; }
.mhdr__ditem {
  display: flex; align-items: center; gap: 13px;
  padding: 10px 12px; border-radius: 12px;
  text-decoration: none; color: #1e293b;
  transition: background .18s, transform .18s;
}
.mhdr__ditem:hover { background: rgba(27,85,128,.05); transform: translateX(3px); }
.mhdr__ditem-icon {
  width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: .95rem; transition: all .2s;
}
.mhdr__ditem:hover .mhdr__ditem-icon { filter: brightness(1.1); box-shadow: 0 4px 12px rgba(0,0,0,.1); }
.mhdr__ditem-text strong { display: block; font-size: .85rem; font-weight: 700; color: #0f1f3d; }
.mhdr__ditem-text em { display: block; font-style: normal; font-size: .73rem; color: #888; margin-top: 1px; }

/* ── MEGA MENU ───────────────────────────────────────────── */
.mhdr__mega {
  position: fixed; left: 0; right: 0;
  top: calc(38px + 74px);   /* top-bar + main-bar */
  background: #fff;
  box-shadow: 0 8px 80px rgba(0,0,0,.18), 0 0 0 1px rgba(27,85,128,.06);
  border-top: 3px solid var(--red);
  display: grid; grid-template-columns: 240px 1fr;
  transform: translateY(-14px) scaleY(.97);
  transform-origin: top center;
  opacity: 0; pointer-events: none;
  transition: opacity .28s ease, transform .28s ease;
  z-index: 200; max-height: calc(100vh - 130px); overflow-y: auto;
}
.mhdr__item--open > .mhdr__mega {
  opacity: 1; pointer-events: all;
  transform: translateY(0) scaleY(1);
}

/* Sidebar */
.mhdr__mega-sidebar {
  background: linear-gradient(160deg, var(--blue-dark) 0%, #0d2d4a 100%);
  padding: 32px 26px; display: flex; flex-direction: column; gap: 16px;
}
.mhdr__mega-sidebar-logo {
  display: flex; align-items: center; gap: 10px;
  font-size: 1rem; font-weight: 900; color: #fff;
}
.mhdr__mega-sidebar-logo i {
  width: 36px; height: 36px; border-radius: 10px;
  background: rgba(255,255,255,.12); display: flex; align-items: center;
  justify-content: center; font-size: .95rem; color: rgba(255,255,255,.8);
}
.mhdr__mega-sidebar-text {
  font-size: .8rem; color: rgba(255,255,255,.5); line-height: 1.65; margin: 0;
}
.mhdr__mega-sidebar-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--red); color: #fff;
  font-size: .78rem; font-weight: 800; letter-spacing: .05em;
  padding: 10px 18px; border-radius: 50px; text-decoration: none;
  box-shadow: 0 4px 18px rgba(200,16,46,.4); transition: box-shadow .2s, transform .15s;
  margin-top: 4px;
}
.mhdr__mega-sidebar-btn:hover { box-shadow: 0 6px 28px rgba(200,16,46,.6); transform: translateY(-2px); }
.mhdr__mega-sidebar-stats { display: flex; gap: 20px; margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
.mhdr__mega-stat-n { font-size: 1.5rem; font-weight: 900; color: #fff; line-height: 1; }
.mhdr__mega-stat-l { font-size: .68rem; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .08em; margin-top: 2px; }

/* Columns area */
.mhdr__mega-cols {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  padding: 24px 16px;
}
.mhdr__mega-col { padding: 4px 16px; }
.mhdr__mega-col + .mhdr__mega-col { border-left: 1px solid #f0f3f8; }

/* Column heading */
.mhdr__mega-col-hd {
  display: flex; align-items: center; gap: 9px;
  font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  padding: 6px 8px 10px; margin-bottom: 4px;
}
.mhdr__mega-col-hd a { text-decoration: none; }
.mhdr__mega-col-hd i { font-size: .8rem; }
.mhdr__mega-col-hd--intl { color: var(--blue); border-bottom: 2px solid rgba(27,85,128,.1); }
.mhdr__mega-col-hd--intl a { color: var(--blue); }
.mhdr__mega-col-hd--can  { color: var(--red); border-bottom: 2px solid rgba(200,16,46,.1); }
.mhdr__mega-col-hd--can a  { color: var(--red); }
.mhdr__mega-col-hd--online { color: var(--green); border-bottom: 2px solid rgba(106,148,40,.1); }

/* Sub-heading */
.mhdr__mega-col-sub-hd {
  font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em;
  color: #aab; padding: 8px 8px 4px;
}

/* Links */
.mhdr__mega-link {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 8px; border-radius: 9px;
  text-decoration: none; color: #334155;
  font-size: .82rem; font-weight: 500;
  transition: background .15s, color .15s, transform .15s;
  position: relative;
}
.mhdr__mega-link i {
  width: 26px; height: 26px; border-radius: 7px; flex-shrink: 0;
  background: #f1f5f9; display: flex; align-items: center; justify-content: center;
  font-size: .68rem; color: var(--blue); transition: all .18s;
}
.mhdr__mega-link span { display: flex; flex-direction: column; gap: 1px; }
.mhdr__mega-link em {
  font-style: normal; font-size: .68rem; color: #94a3b8;
  font-weight: 400; line-height: 1;
}
.mhdr__mega-link:hover {
  background: rgba(27,85,128,.06); color: var(--blue); transform: translateX(4px);
}
.mhdr__mega-link:hover i { background: var(--blue); color: #fff; }

/* Divider */
.mhdr__mega-divider { height: 1px; background: #f0f3f8; margin: 12px 8px; }

/* Featured card */
.mhdr__mega-featured {
  background: linear-gradient(135deg, var(--blue-dark) 0%, #1a5f9e 100%);
  border-radius: 14px; padding: 18px 20px; margin-top: 12px;
}
.mhdr__mega-featured-tag {
  font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em;
  color: rgba(255,255,255,.6); margin-bottom: 6px;
}
.mhdr__mega-featured-tag i { color: gold; }
.mhdr__mega-featured-title { font-size: .88rem; font-weight: 800; color: #fff; line-height: 1.3; margin-bottom: 12px; }
.mhdr__mega-featured-btn {
  display: inline-flex; align-items: center;
  background: var(--red); color: #fff;
  font-size: .75rem; font-weight: 800; padding: 7px 16px; border-radius: 50px;
  text-decoration: none; transition: box-shadow .2s, transform .15s;
  box-shadow: 0 4px 16px rgba(200,16,46,.4);
}
.mhdr__mega-featured-btn:hover { box-shadow: 0 6px 24px rgba(200,16,46,.6); transform: translateY(-2px); }

/* ── MOBILE DRAWER v2 ────────────────────────────────────── */
.mob2-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.6); z-index: 998; backdrop-filter: blur(4px);
}
.mob2-overlay.open { display: block; }
.mob2-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: min(360px,92vw);
  background: linear-gradient(160deg, #091829 0%, #0f3556 55%, #1a0a12 100%);
  z-index: 999; transform: translateX(100%);
  transition: transform .38s cubic-bezier(.4,0,.2,1);
  box-shadow: -16px 0 64px rgba(0,0,0,.5);
  display: flex; flex-direction: column;
  border-left: 1px solid rgba(255,255,255,.07);
}
.mob2-drawer.open { transform: none; }

.mob2-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px; border-bottom: 1px solid rgba(255,255,255,.08); flex-shrink: 0;
}
.mob2-head img { height: 36px; width: auto; }
.mob2-close {
  width: 36px; height: 36px; border-radius: 9px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.7); font-size: 20px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: all .2s;
}
.mob2-close:hover { background: var(--red); border-color: var(--red); color: #fff; }

.mob2-search {
  margin: 12px 16px; position: relative; flex-shrink: 0;
}
.mob2-search i { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: rgba(255,255,255,.3); font-size: .8rem; }
.mob2-search input {
  width: 100%; padding: 10px 14px 10px 36px; border-radius: 10px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  color: #fff; font-size: .85rem; font-family: var(--font-b); outline: none;
  box-sizing: border-box;
}
.mob2-search input::placeholder { color: rgba(255,255,255,.3); }
.mob2-search input:focus { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.1); }

.mob2-body { flex: 1; overflow-y: auto; padding: 4px 12px 16px; }
.mob2-link {
  display: flex; align-items: center; gap: 11px;
  font-size: .85rem; font-weight: 600; color: rgba(255,255,255,.72);
  padding: 13px 10px; border-bottom: 1px solid rgba(255,255,255,.06);
  text-decoration: none; transition: color .18s;
}
.mob2-link:hover { color: #fff; }
.mob2-link i { width: 20px; text-align: center; color: rgba(255,255,255,.35); font-size: .8rem; }
.mob2-link--home { border-bottom: 1px solid rgba(255,255,255,.06); }

.mob2-group { border-bottom: 1px solid rgba(255,255,255,.06); }
.mob2-toggle {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 13px 10px;
  background: none; border: none; cursor: pointer;
  font-family: var(--font-b); font-size: .85rem; font-weight: 600;
  color: rgba(255,255,255,.72); transition: color .18s;
}
.mob2-toggle:hover { color: #fff; }
.mob2-toggle span { display: flex; align-items: center; gap: 11px; }
.mob2-toggle__icon { width: 20px; text-align: center; color: rgba(255,255,255,.35); font-size: .8rem; }
.mob2-toggle__arr { font-size: 9px; opacity: .4; transition: transform .25s; flex-shrink: 0; }
.mob2-toggle.open .mob2-toggle__arr { transform: rotate(180deg); opacity: .8; }

.mob2-sub { display: none; padding: 2px 0 8px 18px; }
.mob2-sub.open { display: block; }
.mob2-sub a {
  display: flex; align-items: center; gap: 9px;
  font-size: .8rem; color: rgba(255,255,255,.5);
  padding: 8px 10px; border-radius: 8px; text-decoration: none; transition: all .18s;
}
.mob2-sub a i { width: 16px; text-align: center; font-size: .72rem; color: rgba(255,255,255,.3); }
.mob2-sub a:hover { color: #fff; background: rgba(255,255,255,.07); }
.mob2-sub-head {
  font-size: .76rem !important; font-weight: 800 !important;
  color: rgba(255,255,255,.65) !important;
  text-transform: uppercase; letter-spacing: .08em;
  padding: 10px 10px 5px !important;
}
.mob2-sub-head i { color: var(--red-light,#ff6b6b) !important; }
.mob2-sub-section {
  font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em;
  color: rgba(255,255,255,.25); padding: 6px 10px 2px;
}

.mob2-footer {
  padding: 14px 16px; border-top: 1px solid rgba(255,255,255,.08); flex-shrink: 0;
}
.mob2-apply {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: linear-gradient(135deg, var(--red) 0%, #a50d24 100%);
  color: #fff; font-size: .85rem; font-weight: 800; padding: 12px;
  border-radius: 12px; text-decoration: none; margin-bottom: 12px;
  box-shadow: 0 4px 20px rgba(200,16,46,.4); transition: box-shadow .2s, transform .15s;
}
.mob2-apply:hover { box-shadow: 0 6px 28px rgba(200,16,46,.6); transform: translateY(-2px); }
.mob2-footer-contacts { display: flex; flex-direction: column; gap: 6px; }
.mob2-footer-contacts a {
  display: flex; align-items: center; gap: 9px;
  font-size: .76rem; color: rgba(255,255,255,.45); text-decoration: none; padding: 4px 0;
}
.mob2-footer-contacts a i { font-size: .72rem; color: rgba(255,255,255,.25); width: 14px; text-align: center; }
.mob2-footer-contacts a:hover { color: rgba(255,255,255,.75); }

/* ── Responsive ──────────────────────────────────────────── */
@media(max-width:1300px) {
  /* Hide address label at medium-large screens to save space */
  .mhdr__top-addr { display: none !important; }
}
@media(max-width:1100px) {
  .mhdr__nav { display: none; }
  .mhdr__burger { display: flex; }
  /* At tablet: keep phones + email, hide WhatsApp numbers & address */
  .mhdr__top-addr { display: none !important; }
  .mhdr__top-left .mhdr__top-link:nth-child(n+4) { display: none; }
}
@media(max-width:640px) {
  .mhdr__top { display: none; }
  .mhdr__mega { top: 74px; }
}

/* ── Body offset (account for header height) ─────────────── */
body { padding-top: calc(38px + 74px); }
@media(max-width:640px) { body { padding-top: 74px; } }

/* ── Solid + hide-on-scroll states ───────────────────────── */
.mhdr__main { transition: box-shadow .3s ease; }
.mhdr--solid .mhdr__main {
  box-shadow: 0 6px 60px rgba(0,0,0,.38);
}
.mhdr--hidden { transform: translateY(-100%); transition: transform .35s ease; }
.mhdr { transition: transform .35s ease; }

/* ── 3-column mega menu override ────────────────────────── */
.mhdr__mega-cols--3 { grid-template-columns: repeat(3, 1fr); }
.mhdr__mega-cols--3 .mhdr__mega-col + .mhdr__mega-col { border-left: 1px solid #f0f3f8; }
/* Widen the mega panel for 3 cols */
.mhdr__item--mega .mhdr__mega { grid-template-columns: 220px 1fr; }

/* ── 4-column mega menu override ────────────────────────── */
.mhdr__mega-cols--4 { grid-template-columns: repeat(4, 1fr); }
.mhdr__mega-cols--4 .mhdr__mega-col { padding: 4px 12px; }

/* ══════════════════════════════════════════════════════════════
   New Program Detail Template v2
   (IT / Management / Agriculture / Transportation — IDs 33-46)
   ══════════════════════════════════════════════════════════════ */

/* ── Breadcrumb ── */
.pd-breadcrumb {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
  font-size: .78rem; color: rgba(255,255,255,.65); margin-bottom: 16px;
}
.pd-breadcrumb a { color: rgba(255,255,255,.8); text-decoration: none; transition: color .2s; }
.pd-breadcrumb a:hover { color: #fff; }
.pd-breadcrumb span { color: rgba(255,255,255,.5); }

/* ── Hero badge (newer style) ── */
.pd-hero__badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 14px; border-radius: 50px;
  background: rgba(200,16,46,.25); color: #ffcccc;
  font-size: .72rem; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; border: 1px solid rgba(200,16,46,.35);
  margin-bottom: 14px;
}

/* ── Hero title & subtitle ── */
.pd-hero__title {
  font-size: 2.2rem; font-weight: 900; color: #fff; line-height: 1.15;
  margin: 0 0 10px; letter-spacing: -.02em;
}
.pd-hero__sub {
  font-size: 1rem; color: rgba(255,255,255,.75); margin: 0 0 22px; font-weight: 500;
}

/* ── Strip v2: items as direct children ── */
.pd-strip { display: flex; flex-wrap: wrap; }
.pd-strip > .pd-strip__item { flex: 1 1 auto; min-width: 140px; }
.pd-strip > .pd-strip__item i {
  width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(27,85,128,.09); color: var(--blue); font-size: .88rem;
}
.pd-strip > .pd-strip__item div { display: flex; flex-direction: column; }
.pd-strip > .pd-strip__item strong {
  font-size: .67rem; font-weight: 700; color: #aab;
  text-transform: uppercase; letter-spacing: .07em;
}
.pd-strip > .pd-strip__item span {
  font-size: .88rem; font-weight: 700; color: var(--blue-dark); margin-top: 1px;
}

/* ── Body layout ── */
.pd-body__main { display: flex; flex-direction: column; gap: 24px; }
.pd-body__side { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 90px; }

/* ── Section block ── */
.pd-section-block {
  background: #fff; border-radius: 16px; padding: 26px 28px 22px;
  box-shadow: 0 2px 14px rgba(15,53,86,.06);
}
.pd-section-block p { font-size: .88rem; color: #445; line-height: 1.7; margin: 10px 0 0; }

/* ── Career grid ── */
.pd-career-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 14px;
}
.pd-career-card {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 10px;
  background: rgba(27,85,128,.04); border: 1px solid rgba(27,85,128,.09);
  font-size: .83rem; color: #334; font-weight: 500; transition: background .15s;
}
.pd-career-card:hover { background: rgba(27,85,128,.1); }
.pd-career-card i { color: var(--blue); font-size: .82rem; flex-shrink: 0; }

/* ── Styled list ── */
.pd-list {
  list-style: none; padding: 0; margin: 14px 0 0;
  display: flex; flex-direction: column; gap: 7px;
}
.pd-list li {
  display: flex; align-items: flex-start; gap: 10px; font-size: .87rem;
  color: #445; padding: 8px 12px; background: rgba(27,85,128,.03);
  border-radius: 8px; border-left: 3px solid var(--blue); line-height: 1.55;
}
.pd-list li::before {
  content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
  color: var(--green); font-size: .7rem; margin-top: 3px; flex-shrink: 0;
}

/* ── Sidebar card ── */
.pd-side-card { border-radius: 14px; overflow: hidden; box-shadow: 0 4px 20px rgba(15,53,86,.1); }
.pd-side-card__head {
  padding: 15px 20px; display: flex; align-items: center; gap: 10px;
  color: #fff; font-size: .87rem; font-weight: 800;
}
.pd-side-card__head i { color: rgba(255,255,255,.65); }
.pd-side-card__body { background: #fff; }
.pd-sinfo {
  display: flex; justify-content: space-between; align-items: center;
  padding: 11px 20px; border-bottom: 1px solid #f0f3f8; font-size: .83rem;
}
.pd-sinfo:last-child { border-bottom: none; }
.pd-sinfo span { color: #889; }
.pd-sinfo strong { color: var(--blue-dark); font-weight: 700; }

/* ── Sidebar buttons ── */
.pd-side-apply, .pd-side-pay {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 20px; border-radius: 12px; font-size: .87rem; font-weight: 700;
  text-decoration: none; transition: all .2s;
}
.pd-side-apply { background: var(--red); color: #fff; }
.pd-side-apply:hover { background: #a50d24; color: #fff; }
.pd-side-pay { background: #fff; color: var(--blue-dark); border: 2px solid rgba(27,85,128,.14); }
.pd-side-pay:hover { border-color: var(--blue); }

/* ── Admissions section ── */
.pd-req-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px;
}
.pd-req-card {
  display: flex; align-items: flex-start; gap: 14px;
  background: #f8fafc; border-radius: 14px; padding: 20px;
  border: 1px solid #e8edf5;
}
.pd-req-num {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--blue-dark); color: #fff;
  font-size: .78rem; font-weight: 900; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.pd-req-text { font-size: .84rem; color: #445; line-height: 1.55; font-weight: 500; }

/* ── Accepting banner ── */
.pd-accepting-banner {
  margin-top: 36px; display: flex; align-items: center; gap: 20px;
  background: linear-gradient(135deg, #0F3556, #1B5580); padding: 24px 28px;
  border-radius: 16px; flex-wrap: wrap;
}
.pd-accepting-banner > i { font-size: 2rem; color: var(--green); flex-shrink: 0; }
.pd-accepting-banner > div { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 180px; }
.pd-accepting-banner strong { font-size: 1.05rem; font-weight: 800; color: #fff; }
.pd-accepting-banner span { font-size: .83rem; color: rgba(255,255,255,.65); }

/* ── Fees / CTA grid ── */
.pd-fees-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start;
}
.pd-fees-card { background: #fff; border-radius: 18px; box-shadow: 0 4px 24px rgba(15,53,86,.08); overflow: hidden; }
.pd-fees-card h3 {
  font-size: .95rem; font-weight: 800; color: #fff; margin: 0;
  display: flex; align-items: center; gap: 10px;
  background: var(--blue-dark); padding: 18px 24px;
}
.pd-fee-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 13px 24px; border-bottom: 1px solid #f0f3f8;
  font-size: .87rem; color: #556;
}
.pd-fee-row:last-of-type { border-bottom: none; }
.pd-fee-row strong { font-weight: 800; color: var(--blue-dark); }
.pd-fee-row--note strong { color: #778; font-style: italic; }

/* ── CTA card ── */
.pd-cta-card {
  background: linear-gradient(135deg, #0F3556, #1e6aad);
  border-radius: 18px; padding: 32px 28px;
  display: flex; flex-direction: column; gap: 12px;
  box-shadow: 0 8px 32px rgba(15,53,86,.18);
}
.pd-cta-card__badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 14px; border-radius: 50px;
  background: rgba(200,16,46,.25); color: #ffcccc;
  font-size: .7rem; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; border: 1px solid rgba(200,16,46,.35);
  width: fit-content;
}
.pd-cta-card h3 { font-size: 1.4rem; font-weight: 900; color: #fff; margin: 0; line-height: 1.2; }
.pd-cta-card p { font-size: .87rem; color: rgba(255,255,255,.7); margin: 0; line-height: 1.65; }

/* ── pd-btn ── */
.pd-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 24px; border-radius: 8px; font-size: .88rem;
  font-weight: 700; text-decoration: none; cursor: pointer;
  transition: all .2s; border: 2px solid transparent;
}
.pd-btn--primary { background: var(--red); color: #fff; border-color: var(--red); }
.pd-btn--primary:hover { background: #a50d24; border-color: #a50d24; color: #fff; }
.pd-btn--outline {
  background: transparent; color: rgba(255,255,255,.9);
  border-color: rgba(255,255,255,.35);
}
.pd-btn--outline:hover { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.6); }
.pd-btn--lg { padding: 14px 30px; font-size: .95rem; }

/* ── pd-body__main ── */
@media (max-width: 900px) {
  .pd-career-grid { grid-template-columns: 1fr; }
  .pd-req-grid { grid-template-columns: 1fr 1fr; }
  .pd-fees-grid { grid-template-columns: 1fr; }
  .pd-body__side { position: static; }
}
@media (max-width: 600px) {
  .pd-hero__title { font-size: 1.7rem; }
  .pd-req-grid { grid-template-columns: 1fr; }
  .pd-career-grid { grid-template-columns: 1fr 1fr; }
  .pd-accepting-banner { flex-direction: column; align-items: flex-start; }
  .pd-section-block { padding: 20px 18px; }
}

/* ── Category cards in mega menu ────────────────────────── */
.mhdr__cat-item {
  display: flex; align-items: center; gap: 12px;
  padding: 8px 10px; border-radius: 10px; margin-bottom: 3px;
  text-decoration: none; color: #334155;
  transition: background .15s, transform .15s; border: 1px solid transparent;
}
.mhdr__cat-item:hover { background: rgba(27,85,128,.05); transform: translateX(3px); border-color: rgba(27,85,128,.08); }
.mhdr__cat-item__ic { width: 34px; height: 34px; border-radius: 9px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: .78rem; }
.mhdr__cat-item__body { flex: 1; display: flex; flex-direction: column; gap: 1px; }
.mhdr__cat-item__body span { font-size: .83rem; font-weight: 700; color: #1e293b; line-height: 1.2; }
.mhdr__cat-item__body em { font-style: normal; font-size: .68rem; color: #94a3b8; font-weight: 400; }
.mhdr__cat-item__arr { font-size: .65rem; color: #cbd5e1; }
.mhdr__cat-item:hover .mhdr__cat-item__arr { color: var(--blue); }

/* ── Program category accordions (student landing pages) ── */
.prog-section { max-width: 1200px; margin: 0 auto; padding: 40px 24px 60px; }
/* Program-category sections on landing pages: compact padding, no inter-section gap */
.prog-sec.elementor-section { padding-top: 0 !important; padding-bottom: 0 !important; }
.prog-sec.elementor-section:first-of-type .prog-section,
.prog-sec.elementor-section .prog-section { padding-top: 24px; padding-bottom: 24px; }
.prog-sec.sec { padding: 0; }
.prog-section__title { font-size: 1.55rem; font-weight: 800; color: var(--blue-dark); text-align: center; margin-bottom: 8px; }
.prog-section__sub { text-align: center; color: #64748b; margin-bottom: 36px; font-size: .95rem; }
.prog-cat { border: 1px solid #e2e8f0; border-radius: 16px; margin-bottom: 12px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.prog-cat summary { display: flex; align-items: center; gap: 14px; padding: 18px 22px; cursor: pointer; list-style: none; background: #f8fafc; transition: background .18s; user-select: none; }
.prog-cat summary::-webkit-details-marker { display: none; }
.prog-cat summary:hover { background: #f1f5f9; }
.prog-cat[open] > summary { background: var(--blue); color: #fff; }
.prog-cat__ic { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: .9rem; flex-shrink: 0; }
.prog-cat[open] > summary .prog-cat__ic { background: rgba(255,255,255,.2) !important; color: #fff !important; }
.prog-cat__name { flex: 1; font-size: 1rem; font-weight: 800; }
.prog-cat__count { font-size: .75rem; padding: 3px 12px; border-radius: 20px; background: rgba(27,85,128,.08); color: var(--blue); font-weight: 700; white-space: nowrap; }
.prog-cat[open] > summary .prog-cat__count { background: rgba(255,255,255,.2); color: #fff; }
.prog-cat__arr { font-size: .72rem; color: #94a3b8; transition: transform .25s; flex-shrink: 0; }
.prog-cat[open] > summary .prog-cat__arr { transform: rotate(180deg); color: #fff; }
.prog-cat__body { padding: 16px 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; }
.prog-cat__link { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 10px; background: #f8fafc; border: 1px solid #e8edf5; text-decoration: none; color: var(--blue-dark); font-size: .85rem; font-weight: 600; transition: all .18s; }
.prog-cat__link:hover { background: var(--blue); color: #fff; border-color: var(--blue); box-shadow: 0 4px 12px rgba(27,85,128,.2); }
.prog-cat__link i { width: 22px; text-align: center; font-size: .8rem; color: var(--blue); flex-shrink: 0; }
.prog-cat__link:hover i { color: #fff; }
.prog-cat__link__text { display: flex; flex-direction: column; gap: 1px; }
.prog-cat__link__text em { font-style: normal; font-size: .68rem; color: #94a3b8; font-weight: 400; }
.prog-cat__link:hover .prog-cat__link__text em { color: rgba(255,255,255,.7); }
.prog-cat--can summary { background: #fff8f8; }
.prog-cat--can[open] > summary { background: var(--red); }
.prog-cat--can[open] > summary .prog-cat__count { background: rgba(255,255,255,.2); color: #fff; }
.prog-cat--can[open] > summary .prog-cat__arr { color: #fff; }
.prog-cat--can .prog-cat__count { color: var(--red); background: rgba(200,16,46,.07); }
/* Full Time Online page: keep program lists visible even when details aren't open */
.intl-progs details.prog-cat > .prog-cat__body { display: grid !important; }

/* Program pages: keep Apply/Request button pairs aligned side-by-side */
/* Button alignment fix — CAN program pages.
   Uses stable Elementor element IDs from pages-data.json.
   These IDs are written on every setup run and are identical on all environments
   (local Docker, staging, live). The live page already has these IDs in its markup. */
:is(
  .elementor-element-ss1ac, .elementor-element-ss1bc,
  .elementor-element-ss1cc, .elementor-element-ss1dc,
  .elementor-element-ss2ac, .elementor-element-ss2bc,
  .elementor-element-ss2cc, .elementor-element-ss2dc,
  .elementor-element-ss3ac, .elementor-element-ss3bc,
  .elementor-element-ss3cc, .elementor-element-ss3dc,
  .elementor-element-ss4ac, .elementor-element-ss4bc,
  .elementor-element-ss4cc, .elementor-element-ss4dc,
  .elementor-element-ss5ac, .elementor-element-ss5bc,
  .elementor-element-ss5cc, .elementor-element-ss5dc,
  .elementor-element-tr1ac, .elementor-element-tr1bc,
  .elementor-element-tr1cc, .elementor-element-tr1dc,
  .elementor-element-tr2ac, .elementor-element-tr2bc,
  .elementor-element-tr2cc, .elementor-element-tr2dc
) > .elementor-widget-wrap {
  flex-flow: row wrap !important;
  gap: 12px !important;
  align-items: center !important;
}
:is(
  .elementor-element-ss1ac, .elementor-element-ss1bc,
  .elementor-element-ss1cc, .elementor-element-ss1dc,
  .elementor-element-ss2ac, .elementor-element-ss2bc,
  .elementor-element-ss2cc, .elementor-element-ss2dc,
  .elementor-element-ss3ac, .elementor-element-ss3bc,
  .elementor-element-ss3cc, .elementor-element-ss3dc,
  .elementor-element-ss4ac, .elementor-element-ss4bc,
  .elementor-element-ss4cc, .elementor-element-ss4dc,
  .elementor-element-ss5ac, .elementor-element-ss5bc,
  .elementor-element-ss5cc, .elementor-element-ss5dc,
  .elementor-element-tr1ac, .elementor-element-tr1bc,
  .elementor-element-tr1cc, .elementor-element-tr1dc,
  .elementor-element-tr2ac, .elementor-element-tr2bc,
  .elementor-element-tr2cc, .elementor-element-tr2dc
) > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget-button) {
  flex: 0 0 100% !important;
}
:is(
  .elementor-element-ss1ac, .elementor-element-ss1bc,
  .elementor-element-ss1cc, .elementor-element-ss1dc,
  .elementor-element-ss2ac, .elementor-element-ss2bc,
  .elementor-element-ss2cc, .elementor-element-ss2dc,
  .elementor-element-ss3ac, .elementor-element-ss3bc,
  .elementor-element-ss3cc, .elementor-element-ss3dc,
  .elementor-element-ss4ac, .elementor-element-ss4bc,
  .elementor-element-ss4cc, .elementor-element-ss4dc,
  .elementor-element-ss5ac, .elementor-element-ss5bc,
  .elementor-element-ss5cc, .elementor-element-ss5dc,
  .elementor-element-tr1ac, .elementor-element-tr1bc,
  .elementor-element-tr1cc, .elementor-element-tr1dc,
  .elementor-element-tr2ac, .elementor-element-tr2bc,
  .elementor-element-tr2cc, .elementor-element-tr2dc
) > .elementor-widget-wrap > .elementor-widget-button {
  width: auto !important;
  flex: 0 0 auto !important;
}
:is(
  .elementor-element-ss1ac, .elementor-element-ss1bc,
  .elementor-element-ss1cc, .elementor-element-ss1dc,
  .elementor-element-ss2ac, .elementor-element-ss2bc,
  .elementor-element-ss2cc, .elementor-element-ss2dc,
  .elementor-element-ss3ac, .elementor-element-ss3bc,
  .elementor-element-ss3cc, .elementor-element-ss3dc,
  .elementor-element-ss4ac, .elementor-element-ss4bc,
  .elementor-element-ss4cc, .elementor-element-ss4dc,
  .elementor-element-ss5ac, .elementor-element-ss5bc,
  .elementor-element-ss5cc, .elementor-element-ss5dc,
  .elementor-element-tr1ac, .elementor-element-tr1bc,
  .elementor-element-tr1cc, .elementor-element-tr1dc,
  .elementor-element-tr2ac, .elementor-element-tr2bc,
  .elementor-element-tr2cc, .elementor-element-tr2dc
) > .elementor-widget-wrap > .elementor-widget-button .elementor-button {
  min-width: 190px;
  justify-content: center;
}

/* ── Elementor native widget bridge for hero sections ──────────────────────
   Makes .elementor-container transparent so its children become direct
   children of the section — fixing width/position of absolute backgrounds.
   .hero        → homepage hero grid (52%/48%)
   .about-hero  → about page: display:flex section, absolute bg image
   .sl-hero     → student life: display:flex section, absolute bg image
   .intl-hero   → intl/can/distance/online landing pages: display:flex, absolute bg */
/* ── Hero: 2-column Elementor layout ────────────────────────────────────── */
/* Grid is placed on the elementor-container so columns are direct grid children */
.hero.elementor-section>.elementor-container{display:grid!important;grid-template-columns:52% 48%!important;height:100%!important;max-width:100%!important;padding:0!important;margin:0!important;width:100%!important}
.about-hero.elementor-section>.elementor-container,
.sl-hero.elementor-section>.elementor-container,
.intl-hero.elementor-section>.elementor-container{display:contents}
.hero.elementor-section .hero__left.elementor-column{width:auto!important}
.hero.elementor-section .hero__right.elementor-column{width:auto!important}
/* Remove Elementor default column padding so hero__left background fills edge to edge */
.hero__left.elementor-column>.elementor-widget-wrap{padding:0!important;height:100%}
.hero__right.elementor-column>.elementor-widget-wrap{height:100%;padding:0!important}
/* Image widget is absolutely positioned to fill the entire right column */
.hero__right .elementor-widget-image{position:absolute!important;inset:0!important;z-index:0!important;margin:0!important}
.hero__right .elementor-widget-image>.elementor-widget-container{height:100%!important;position:static!important}
.hero__right .elementor-widget-image img{width:100%!important;height:100%!important;display:block!important}
/* Stats HTML widget: static so hero__stat absolute coords are relative to .hero__right */
.hero__right .elementor-widget-html>.elementor-widget-container{position:static!important}
/* Elementor editor: un-absolute the image widget so it can be clicked */
.elementor-editor-active .hero__right .elementor-widget-image{position:relative!important;inset:auto!important}
/* Make the column inside flex-hero sections fill the full section width */
.about-hero.elementor-section>.elementor-container>.elementor-column,
.sl-hero.elementor-section>.elementor-container>.elementor-column,
.intl-hero.elementor-section>.elementor-container>.elementor-column{width:100%!important;align-self:stretch}
/* ─────────────────────────────────────────────────────────────────────────── */

/* ── Native Elementor widgets inside CTA / Journey sections ─────────────────
   When headings and text-editors replace the old HTML wrapper divs, they need:
   1. position:relative + z-index:1 to appear above ::before / ::after overlays
   2. White text colours matching the original CSS variables
   3. Correct font-size / weight
   ─────────────────────────────────────────────────────────────────────────── */

/* Z-index fix for all three section types */
.cta-sec .elementor-widget,
.cta-about .elementor-widget,
.journey .elementor-widget { position:relative; z-index:1; }

/* CTA-SEC: heading */
.cta-sec .elementor-heading-title {
    font-size:clamp(34px,5vw,56px); font-weight:900; color:#fff;
    line-height:1.08; margin-bottom:0; }
.cta-sec .elementor-heading-title span {
    color:rgba(255,255,255,.75); text-decoration:underline;
    text-underline-offset:6px; }
/* CTA-SEC: text-editor */
.cta-sec .elementor-widget-text-editor p {
    font-size:18px; line-height:1.75;
    color:rgba(255,255,255,.82); margin-bottom:32px; }

/* CTA-ABOUT: heading */
.cta-about .elementor-heading-title {
    font-size:clamp(34px,5vw,58px); font-weight:900; color:#fff;
    line-height:1.06; margin-bottom:0; }
.cta-about .elementor-heading-title span {
    color:rgba(255,255,255,.70); text-decoration:underline;
    text-underline-offset:7px; text-decoration-thickness:3px; }
/* CTA-ABOUT: text-editor */
.cta-about .elementor-widget-text-editor p {
    font-size:18px; line-height:1.78;
    color:rgba(255,255,255,.80); margin-bottom:36px; }

/* JOURNEY: heading */
.journey .elementor-heading-title {
    font-size:clamp(30px,3.6vw,46px); font-weight:900;
    color:#fff; line-height:1.1; margin-bottom:0; }
/* JOURNEY: text-editor */
.journey .elementor-widget-text-editor p {
    color:rgba(255,255,255,.70); }

/* Centre the content of native widgets within CTA sections */
.cta-sec .elementor-widget-container,
.cta-about .elementor-widget-container {
    text-align:center; }
/* ─────────────────────────────────────────────────────────────────────────── */

/* ── Native Elementor Button widgets inside CTA sections ────────────────── */
/* Shared base: all buttons in any CTA inner section */
.cta-sec .elementor-inner-section .elementor-button,
.cta-about .elementor-inner-section .elementor-button {
    display:inline-flex!important;align-items:center;justify-content:center;
    gap:9px;font-family:var(--font-b);font-size:15px;font-weight:600;
    padding:15px 30px;border-radius:10px;cursor:pointer;
    white-space:nowrap;transition:var(--t);text-decoration:none;width:100%}
/* First button (Apply Now) = solid white */
.cta-sec .elementor-inner-section .elementor-column:first-child .elementor-button,
.cta-about .elementor-inner-section .elementor-column:first-child .elementor-button {
    background:#fff;color:var(--red)!important;border:2px solid #fff}
.cta-sec .elementor-inner-section .elementor-column:first-child .elementor-button:hover,
.cta-about .elementor-inner-section .elementor-column:first-child .elementor-button:hover {
    background:rgba(255,255,255,.90);color:var(--red-dark)!important;
    transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.18)}
/* Second button (Request Info) = ghost outline */
.cta-sec .elementor-inner-section .elementor-column:last-child .elementor-button,
.cta-about .elementor-inner-section .elementor-column:last-child .elementor-button {
    background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.45)}
.cta-sec .elementor-inner-section .elementor-column:last-child .elementor-button:hover,
.cta-about .elementor-inner-section .elementor-column:last-child .elementor-button:hover {
    background:rgba(255,255,255,.10);border-color:#fff;color:#fff!important}
/* Also keep .cta-btn--white / .cta-btn--ghost for editor compatibility */
.cta-btn--white .elementor-button{background:#fff;color:var(--red)!important;border:2px solid #fff}
.cta-btn--ghost .elementor-button{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.45)}
/* Button row inner section: centre buttons side-by-side, not spread to edges */
.cta-sec .elementor-inner-section>.elementor-container,
.cta-about .elementor-inner-section>.elementor-container{padding:0!important;justify-content:center;gap:14px;flex-wrap:wrap}
/* Auto-width columns so buttons only take their own width, not 50% each */
.cta-sec .elementor-inner-section .elementor-column,
.cta-about .elementor-inner-section .elementor-column{width:auto!important;flex:0 0 auto!important;min-width:0!important}
/* Editor: suppress hover transforms */
.elementor-editor-active .cta-sec .elementor-inner-section .elementor-button:hover,
.elementor-editor-active .cta-about .elementor-inner-section .elementor-button:hover{transform:none!important;box-shadow:none!important}
/* Responsive: stack buttons on mobile */
@media(max-width:768px){
    .cta-sec .elementor-inner-section .elementor-column,
    .cta-about .elementor-inner-section .elementor-column{width:100%!important}
}
/* ─────────────────────────────────────────────────────────────────────────── */

/* ── Native Elementor Button widgets for program page (pd-hero / pd-fees-cta) */
.prog-btn--red .elementor-button,
.prog-btn--white .elementor-button,
.prog-btn--ghost .elementor-button{
    display:inline-flex!important;align-items:center;justify-content:center;
    gap:9px;font-family:var(--font-b);font-size:15px;font-weight:600;
    padding:12px 24px;border-radius:8px;cursor:pointer;
    white-space:nowrap;transition:var(--t);text-decoration:none;width:100%}
.prog-btn--red .elementor-button{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);color:#fff!important;border:2px solid transparent;box-shadow:0 4px 18px rgba(200,16,46,.38)}
.prog-btn--red .elementor-button:hover{background:linear-gradient(135deg,var(--red-light) 0%,var(--red) 100%);box-shadow:0 6px 28px rgba(200,16,46,.55);transform:translateY(-2px);color:#fff!important}
.prog-btn--white .elementor-button{background:#fff;color:var(--red)!important;border:2px solid #fff}
.prog-btn--white .elementor-button:hover{background:rgba(255,255,255,.90);color:var(--red-dark)!important;transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.18)}
.prog-btn--ghost .elementor-button{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.45)}
.prog-btn--ghost .elementor-button:hover{background:rgba(255,255,255,.10);border-color:#fff;color:#fff!important}
/* pd-hero row: left-aligned flex row, gap between buttons */
.pd-hero .elementor-inner-section>.elementor-container{justify-content:flex-start!important;gap:12px;padding:0!important;flex-wrap:wrap}
/* pd-fees-cta apply column: full width to stack buttons vertically */
.pd-fees-cta .elementor-inner-section .elementor-column{width:100%!important}
/* Program detail layout guard: keep hero/strip/body containers from collapsing */
.pd-hero.elementor-section>.elementor-container,
.pd-strip.elementor-section>.elementor-container,
.pd-body.elementor-section>.elementor-container{max-width:100%!important;width:100%!important}
/* pd-admissions & pd-fees-cta: centred constrained container (no display:flex on section) */
.pd-admissions.elementor-section>.elementor-container,
.pd-fees-cta.elementor-section>.elementor-container{max-width:var(--max)!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;padding:0 28px;}
/* Program strip guard: always enforce card grid layout */
.pd-strip{display:block!important}
.pd-strip .wrap.pd-strip__grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:700px){.pd-strip .wrap.pd-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.pd-strip .wrap.pd-strip__grid{grid-template-columns:1fr!important}}
/* Editor: suppress hover transforms */
.elementor-editor-active .prog-btn--red .elementor-button:hover,
.elementor-editor-active .prog-btn--white .elementor-button:hover,
.elementor-editor-active .prog-btn--ghost .elementor-button:hover{transform:none!important;box-shadow:none!important}

/* ── pd-hero: force white text & red buttons regardless of Elementor widget defaults ── */
.pd-hero .elementor-heading-title{color:#fff!important;font-size:clamp(1.8rem,3.2vw,2.6rem)!important;font-weight:900!important;line-height:1.15!important}
.pd-hero .elementor-widget-text-editor,.pd-hero .elementor-widget-text-editor p{color:rgba(255,255,255,.78)!important}
.pd-hero .elementor-button{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%)!important;color:#fff!important;border:2px solid transparent!important;font-family:var(--font-b)!important;font-weight:600!important;font-size:15px!important;padding:12px 28px!important;border-radius:8px!important;box-shadow:0 4px 18px rgba(200,16,46,.35)!important}
.pd-hero .elementor-button:hover{box-shadow:0 6px 28px rgba(200,16,46,.55)!important;transform:translateY(-2px)!important}
/* Second button in pd-hero: ghost/outline style */
.pd-hero .elementor-widget-button:nth-child(4) .elementor-button,
.pd-hero .elementor-widget-button:last-of-type .elementor-button{background:transparent!important;border:2px solid rgba(255,255,255,.55)!important;color:#fff!important;box-shadow:none!important}
.pd-hero .elementor-widget-button:nth-child(4) .elementor-button:hover,
.pd-hero .elementor-widget-button:last-of-type .elementor-button:hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important;transform:translateY(-2px)!important}

/* ── pd-body: headings and text on light bg ── */
.pd-body .elementor-heading-title{color:var(--blue-dark)!important;font-weight:700!important}
.pd-body h1.elementor-heading-title{font-size:clamp(1.4rem,2.5vw,2rem)!important}
.pd-body h2.elementor-heading-title{font-size:clamp(1.1rem,2vw,1.4rem)!important;margin-top:28px!important}
.pd-body .elementor-widget-text-editor,.pd-body .elementor-widget-text-editor p{color:#444!important;line-height:1.75!important}
.pd-body .elementor-button{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%)!important;color:#fff!important;border:none!important;font-family:var(--font-b)!important;font-weight:600!important;padding:11px 26px!important;border-radius:8px!important}

/* ── pd-admissions: same as pd-body ── */
.pd-admissions .elementor-heading-title{color:var(--blue-dark)!important;font-weight:700!important}
.pd-admissions h2.elementor-heading-title{font-size:clamp(1.1rem,2vw,1.4rem)!important}
.pd-admissions .elementor-widget-text-editor,.pd-admissions .elementor-widget-text-editor p{color:#444!important;line-height:1.75!important}
.pd-admissions .elementor-button{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%)!important;color:#fff!important;border:none!important;font-family:var(--font-b)!important;font-weight:600!important;padding:11px 26px!important;border-radius:8px!important}

/* ── pd-fees-cta: light bg, same button style ── */
.pd-fees-cta .elementor-heading-title{color:var(--blue-dark)!important;font-weight:700!important}
.pd-fees-cta h2.elementor-heading-title,.pd-fees-cta h3.elementor-heading-title{font-size:clamp(1.1rem,2vw,1.4rem)!important}
.pd-fees-cta .elementor-widget-text-editor,.pd-fees-cta .elementor-widget-text-editor p{color:#444!important;line-height:1.75!important}
.pd-fees-cta .elementor-button{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%)!important;color:#fff!important;border:none!important;font-family:var(--font-b)!important;font-weight:600!important;padding:11px 26px!important;border-radius:8px!important}

/* ── Section content max-width (centres content like other pages) ── */
.pd-hero.elementor-section>.elementor-container>.elementor-column>.elementor-widget-wrap,
.pd-body.elementor-section>.elementor-container>.elementor-column>.elementor-widget-wrap{max-width:900px;padding:0 24px!important}
/* pd-admissions & pd-fees-cta: container already has padding; widget-wrap fills it */
.pd-admissions.elementor-section>.elementor-container>.elementor-column>.elementor-widget-wrap,
.pd-fees-cta.elementor-section>.elementor-container>.elementor-column>.elementor-widget-wrap{max-width:100%;padding:0!important}

/* ─────────────────────────────────────────────────────────────────────────── */

/* ================================================================
   MOBILE LAYOUT FIXES  (≤ 1024px / 768px / 480px)
================================================================ */

/* 1. Global overflow guard — prevents any element causing horizontal scroll */
html, body { max-width:100%; overflow-x:hidden; }
* { min-width:0; }
img, video, iframe, table { max-width:100%; }

/* 2. Homepage hero: collapse 52%/48% grid → single column on mobile */
@media(max-width:1024px) {
  .hero.elementor-section>.elementor-container{
    grid-template-columns:1fr!important;
    height:auto!important;
  }
  .hero.elementor-section .hero__right.elementor-column{display:none!important;}
}

/* 3. Mega-menu: correct top offset when top-bar is hidden on mobile */
@media(max-width:640px) {
  .mhdr__mega{top:74px!important;}
}

/* 4. .wrap padding shrinks on very small screens */
@media(max-width:480px) {
  .wrap{padding-left:16px!important;padding-right:16px!important;}
}

/* 5. pd-* section widget-wrap: full width on mobile (override desktop 900px cap) */
@media(max-width:768px) {
  .pd-hero.elementor-section>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .pd-body.elementor-section>.elementor-container>.elementor-column>.elementor-widget-wrap{
    max-width:100%!important;padding:0 16px!important;
  }
  .pd-admissions.elementor-section>.elementor-container,
  .pd-fees-cta.elementor-section>.elementor-container{padding:0 16px!important;}
  .pd-hero{padding:100px 0 48px!important;}
  .pd-hero__actions{flex-direction:column;align-items:flex-start;}
  .pd-accepting-banner{flex-direction:column;align-items:flex-start;gap:14px;}
  .pd-section-title--center{text-align:left!important;}
  .pd-fees-grid{grid-template-columns:1fr!important;}
  .pd-req-grid{grid-template-columns:1fr!important;}
  /* Hero pages: reduce padding */
  .prog-hero,.intl-hero,.sl-hero,.loans-hero,.sloc-hero,.cu-hero{padding:100px 0 56px!important;}
  .prog-hero__sub,.prog-hero__h1,.intl-hero__h1{max-width:100%!important;}
}

/* 6. Programs listing: single-column cards and compact filter on phones */
@media(max-width:480px) {
  .pcard-grid{grid-template-columns:1fr!important;}
  .intl-prog-grid{grid-template-columns:1fr 1fr!important;}
  .prog-filter-bar{padding:12px 14px;gap:6px;}
  .pf-btn{padding:5px 12px;font-size:.75rem;}
}

/* 7. Stats band: full-width items on very small screens */
@media(max-width:400px) {
  .stats-band__item{flex:1 0 100%!important;}
}

/* ================================================================
   APPLY NOW PAGE  (.apply-form-sec, .apply-sidebar, CF7 form)
================================================================ */

/* ── Section layout ─────────────────────────────────────────── */
.apply-form-sec { padding: 72px 0 80px; background: #fff; }
.apply-form-sec.elementor-section>.elementor-container {
  max-width: var(--max) !important; width: 100% !important;
  margin-left: auto !important; margin-right: auto !important;
  padding: 0 28px; align-items: flex-start !important;
}
/* Force column widths */
.apply-form-sec .elementor-column:first-child { width: 62% !important; max-width: 62% !important; }
.apply-form-sec .elementor-column:last-child  { width: 35% !important; max-width: 35% !important; }
.apply-form-sec .elementor-column:first-child > .elementor-widget-wrap,
.apply-form-sec .elementor-column:last-child  > .elementor-widget-wrap {
  padding: 0 !important; width: 100% !important;
}

/* ── Form heading wrapper ───────────────────────────────────── */
.apply-form-head { padding-bottom: 4px; }

/* ── CF7 form fields ────────────────────────────────────────── */
.wpcf7 { width: 100%; }
.abc-form-grid { display: flex; flex-direction: column; gap: 18px; }
.abc-form-row { display: flex; flex-direction: column; gap: 18px; }
.abc-form-row--2 { flex-direction: row; gap: 16px; }
.abc-form-row--2 > .abc-form-field { flex: 1 1 0; min-width: 0; }
.abc-form-field { display: flex; flex-direction: column; gap: 6px; }
.abc-form-field label {
  font-size: .8rem; font-weight: 700; color: var(--blue-dark);
  text-transform: uppercase; letter-spacing: .05em;
  display: flex; flex-direction: column; gap: 6px;
}
.abc-form-field label abbr { color: var(--red); text-decoration: none; }

.abc-field {
  display: block; width: 100%;
  border: 1.5px solid #dde3ec; border-radius: 10px;
  padding: 13px 16px; font-size: .92rem;
  font-family: var(--font-b); color: var(--dark);
  background: #fff; transition: border-color .2s, box-shadow .2s;
  outline: none; appearance: none; -webkit-appearance: none;
}
.abc-field:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(27,85,128,.13);
}
textarea.abc-field { min-height: 120px; resize: vertical; line-height: 1.6; }
select.abc-field { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236B7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; cursor: pointer; }

/* Submit button */
.abc-form-submit { margin-top: 6px; }
.abc-submit { cursor: pointer; border: none; }
.abc-submit.wpcf7-submit,
input.abc-submit {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; padding: 15px 30px;
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  color: #fff; font-family: var(--font-b); font-size: 1rem; font-weight: 700;
  border: none; border-radius: 10px; cursor: pointer;
  box-shadow: 0 4px 18px rgba(200,16,46,.38);
  transition: var(--t);
}
.abc-submit.wpcf7-submit:hover,
input.abc-submit:hover {
  background: linear-gradient(135deg, var(--red-light) 0%, var(--red) 100%);
  box-shadow: 0 6px 28px rgba(200,16,46,.55); transform: translateY(-2px);
}

/* CF7 validation errors */
.wpcf7 .wpcf7-not-valid-tip { font-size: .76rem; color: var(--red); margin-top: 4px; }
.wpcf7 .abc-field.wpcf7-not-valid { border-color: var(--red); box-shadow: 0 0 0 3px rgba(200,16,46,.12); }
.wpcf7-response-output {
  margin-top: 16px; padding: 14px 20px; border-radius: 10px;
  font-size: .88rem; border: none !important;
}
.wpcf7-mail-sent-ok { background: #f0faf0; color: #2e6b2e !important; border-left: 4px solid #6A9428 !important; }
.wpcf7-mail-sent-ng, .wpcf7-spam-blocked, .wpcf7-aborted { background: #fff0f2; color: var(--red-dark) !important; border-left: 4px solid var(--red) !important; }
.wpcf7-validation-errors { background: #fff8e1; color: #7d5400 !important; border-left: 4px solid #f59e0b !important; }

/* ── Sidebar ────────────────────────────────────────────────── */
.apply-sidebar {
  background: var(--off); border: 1px solid var(--border);
  border-radius: 20px; padding: 36px 32px;
  position: sticky; top: 110px;
}
.apply-sidebar__title {
  font-size: .82rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; color: var(--blue-dark);
  display: flex; align-items: center; gap: 8px; margin-bottom: 20px;
}
.apply-sidebar__title i { color: var(--blue); }

.apply-steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 18px; }
.apply-step { display: flex; gap: 14px; align-items: flex-start; }
.apply-step__num {
  min-width: 28px; height: 28px; border-radius: 50%;
  background: var(--blue-dark); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 800; flex-shrink: 0; margin-top: 2px;
}
.apply-step__text { font-size: .85rem; color: #444; line-height: 1.6; }
.apply-step__text strong { color: var(--blue-dark); display: block; margin-bottom: 2px; }
.apply-sidebar__contact { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--border); }

/* ── Responsive ─────────────────────────────────────────────── */
@media(max-width:900px) {
  .apply-form-sec .elementor-column:first-child,
  .apply-form-sec .elementor-column:last-child { width: 100% !important; max-width: 100% !important; }
  .apply-form-sec.elementor-section>.elementor-container { flex-direction: column !important; }
  .apply-sidebar { position: static; margin-top: 40px; }
}
@media(max-width:560px) {
  .abc-form-row--2 { flex-direction: column; }
  .apply-form-sec.elementor-section>.elementor-container { padding: 0 16px; }
}
