/*
Theme Name: Stewards.ONE V17
Theme URI: https://stewards.one/
Author: OpenAI
Description: Premium Stewards.ONE theme with polished homepage and responsive layout.
Version: 17.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: stewards-v17
*/

/* =========================================================
   STEWARDS.ONE — COMPLETE CLEAN STYLE.CSS
   Includes updated homepage formation lane.
   Replace your current style.css with this file.
   ========================================================= */

/* -----------------------------
   1. Design Tokens / Reset
----------------------------- */

:root{
  --navy:#0d2238;
  --navy2:#123151;
  --navy3:#071728;
  --ink:#0f1726;
  --muted:#62748a;
  --soft:#f7fbff;
  --soft2:#eef4fa;
  --gold:#caa55c;
  --gold2:#e1c27a;
  --line:#d8e1eb;
  --wrap:1240px;
  --radius:28px;
  --radius-sm:20px;
  --shadow:0 18px 50px rgba(13,34,56,.08);
  --shadow-sm:0 10px 30px rgba(13,34,56,.06);
  --shadow-dark:0 18px 60px rgba(0,0,0,.18);
}
.copyright{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}

.footer-credit{
  margin-left:auto;
  text-align:right;
}

.footer-credit a{
  font-weight:700;
}
*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:linear-gradient(180deg,#fbfdff 0%,#f3f7fb 100%);
  color:var(--ink);
  font-family:"Inter",Arial,sans-serif;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{
  max-width:100%;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
}

p{
  margin:0 0 1rem;
}

ul{
  margin:.2rem 0 1rem 1.15rem;
}

li{
  margin:.35rem 0;
}

iframe{
  max-width:100%;
}

h1,h2,h3,h4,h5{
  font-family:"Philosopher",Georgia,serif;
  letter-spacing:-.035em;
  line-height:1.03;
  margin:0 0 .7rem;
  color:var(--ink);
}

.container{
  width:min(calc(100% - 40px),var(--wrap));
  margin:auto;
}

/* -----------------------------
   2. Buttons
----------------------------- */

.btn,
.header-cta,
.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 22px;
  border-radius:999px;
  font-weight:800;
  line-height:1.2;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.btn:hover,
.header-cta:hover{
  transform:translateY(-1px);
}

.header-cta,
.btn-primary{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#102136;
  box-shadow:0 10px 22px rgba(202,165,92,.22);
}

.btn-secondary{
  color:#fff;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.06);
}

.btn-secondary-dark{
  color:var(--navy);
  border:1px solid rgba(13,34,56,.12);
  background:#fff;
}

.btn-link{
  color:var(--navy);
  font-weight:800;
}

/* -----------------------------
   3. Header / Navigation
----------------------------- */

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(13,34,56,.94);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.admin-bar .site-header{
  top:32px;
}

.header-inner{
  min-height:82px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
}

.brand{
  display:inline-flex;
  align-items:center;
  min-width:190px;
}

.brand img{
  height:40px;
  width:auto;
  display:block;
}

.brand-fallback{
  color:#fff;
  font-weight:800;
  font-size:1.2rem;
}

.desktop-nav{
  display:block;
  justify-self:center;
}

.site-nav ul,
.primary-menu{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  list-style:none;
  padding:0;
  margin:0;
}

.site-nav li{
  margin:0;
}

.site-nav a{
  color:rgba(255,255,255,.94);
  font-size:.97rem;
  font-weight:700;
  position:relative;
  padding:8px 0;
  display:inline-block;
}

.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:0;
  height:2px;
  background:var(--gold);
  transition:width .2s ease;
}

.site-nav a:hover::after,
.site-nav .current-menu-item > a::after,
.site-nav .current_page_item > a::after,
.site-nav .current-menu-ancestor > a::after{
  width:100%;
}

.header-actions{
  display:flex;
  align-items:center;
  justify-self:end;
  gap:12px;
}

/* WooCommerce mini cart icon */
.header-cart{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  color:#fff;
  transition:background .18s ease, transform .18s ease;
}
.header-cart:hover{
  background:rgba(255,255,255,.1);
  transform:translateY(-1px);
}
.header-cart svg{
  display:block;
  flex-shrink:0;
}
.cart-count{
  position:absolute;
  top:2px;
  right:2px;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border-radius:999px;
  background:var(--gold,#ca9f38);
  color:#102136;
  font-size:11px;
  font-weight:700;
  line-height:18px;
  text-align:center;
  pointer-events:none;
}
.cart-count[data-count="0"]{
  display:none;
}

/* Mobile nav */

.mobile-nav-toggle,
.mobile-nav-drawer,
.mobile-nav-overlay{
  display:none;
}

.mobile-nav-toggle{
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.06);
  cursor:pointer;
  position:relative;
  padding:0;
  flex:0 0 auto;
}

.mobile-nav-toggle span{
  position:absolute;
  left:15px;
  right:15px;
  height:2px;
  background:#fff;
  border-radius:999px;
  transition:transform .24s ease, opacity .24s ease, top .24s ease;
}

.mobile-nav-toggle span:nth-child(1){top:18px}
.mobile-nav-toggle span:nth-child(2){top:26px}
.mobile-nav-toggle span:nth-child(3){top:34px}

body.mobile-nav-open{
  overflow:hidden;
}

body.mobile-nav-open .mobile-nav-toggle span:nth-child(1){
  top:26px;
  transform:rotate(45deg);
}

body.mobile-nav-open .mobile-nav-toggle span:nth-child(2){
  opacity:0;
}

body.mobile-nav-open .mobile-nav-toggle span:nth-child(3){
  top:26px;
  transform:rotate(-45deg);
}

.mobile-nav-overlay{
  position:fixed;
  inset:0;
  background:rgba(4,12,22,.52);
  backdrop-filter:blur(3px);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
  z-index:1200;
}

.mobile-nav-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(88vw,380px);
  height:100vh;
  background:linear-gradient(180deg,#112a45 0%,#0b1f34 100%);
  border-left:1px solid rgba(255,255,255,.08);
  box-shadow:-24px 0 60px rgba(0,0,0,.24);
  transform:translateX(100%);
  transition:transform .28s ease;
  z-index:1300;
  overflow-y:auto;
  padding:22px 20px 28px;
}

.mobile-nav-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
  font-size:1.05rem;
  font-weight:800;
  padding:4px 0 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:12px;
}

.mobile-nav-close{
  appearance:none;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
  padding:0;
}

.mobile-menu{
  list-style:none;
  margin:0;
  padding:0;
}

.mobile-menu li{
  margin:0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.mobile-menu li:last-child{
  border-bottom:none;
}

.mobile-menu a{
  display:block;
  color:#fff;
  font-weight:700;
  padding:15px 4px;
}

.mobile-menu .current-menu-item > a,
.mobile-menu .current_page_item > a,
.mobile-menu .current-menu-ancestor > a{
  color:var(--gold2);
}

.mobile-nav-footer{
  margin-top:20px;
}

.mobile-apply-link{
  width:100%;
  justify-content:center;
}

body.mobile-nav-open .mobile-nav-overlay{
  opacity:1;
  pointer-events:auto;
}

body.mobile-nav-open .mobile-nav-drawer{
  transform:translateX(0);
}

/* -----------------------------
   4. Homepage Hero
----------------------------- */

.hero-home{
  padding:86px 0 54px;
  background:
    radial-gradient(circle at 86% 18%, rgba(255,255,255,.16), rgba(255,255,255,0) 22%),
    radial-gradient(circle at 10% 14%, rgba(202,165,92,.11), rgba(202,165,92,0) 18%),
    linear-gradient(120deg,#071728 0%,#0b2340 46%,#1d436c 100%);
  color:#fff;
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  grid-template-areas:"copy stack";
  gap:30px 42px;
  align-items:start;
}

.hero-copy{
  grid-area:copy;
  min-width:0;
  align-self:start;
}

.hero-stack{
  grid-area:stack;
  display:grid;
  gap:16px;
  align-content:start;
  min-width:0;
  align-self:start;
}

.hero-lower{
  display:none;
}

.hero-home h1{
  color:#fff;
  font-size:clamp(3.05rem,4.2vw,4.45rem);
  line-height:.96;
  letter-spacing:-.04em;
  max-width:10.4ch;
  margin:0 0 18px;
}

.hero-sub{
  max-width:640px;
  font-size:1.02rem;
  line-height:1.52;
  color:rgba(255,255,255,.9);
  margin:0 0 20px;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0;
}

.hero-video{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  padding:14px;
  box-shadow:var(--shadow-dark);
}

.video-wrap{
  position:relative;
  padding-top:56.25%;
  border-radius:20px;
  overflow:hidden;
  background:var(--navy);
}

.video-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.hero-home .glass-card{
  min-height:128px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  padding:22px 24px;
  box-shadow:var(--shadow-dark);
}

.hero-home .glass-card h3{
  color:#fff;
  font-size:1.08rem;
  line-height:1.15;
  margin:0 0 8px;
}

.hero-home .glass-card p{
  color:rgba(255,255,255,.88);
  font-size:.98rem;
  line-height:1.48;
  margin:0;
}

/* Stat components reused in Formation lane */

.stat-trigger{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  border-radius:20px;
  padding:16px 12px;
  text-align:center;
  color:#fff;
  cursor:pointer;
  min-height:102px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.stat-trigger:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.1);
}

.stat-trigger.is-active{
  border-color:rgba(226,196,127,.55);
  box-shadow:0 0 0 1px rgba(226,196,127,.18) inset;
}

.stat-trigger strong{
  display:block;
  color:#fff;
  font-family:"Philosopher",Georgia,serif;
  font-size:1.95rem;
  line-height:1;
  margin-bottom:8px;
}

.stat-trigger span{
  display:block;
  color:rgba(255,255,255,.94);
  font-weight:700;
  font-size:.95rem;
  line-height:1.25;
}

.hero-stat-detail{
  min-height:78px;
}

.hero-stat-detail-panel{
  display:none;
  min-height:78px;
  align-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding:16px 18px;
  color:rgba(255,255,255,.9);
  line-height:1.52;
}

.hero-stat-detail-panel.is-active{
  display:flex;
}

.hero-stat-detail-panel strong{
  color:#e2c47f;
  font-weight:800;
  margin-right:.35rem;
}

.home-intro-strip{
  display:none;
}

/* -----------------------------
   5. Head Welcome Homepage Lane
----------------------------- */

.head-welcome-band{
  padding:72px 0;
  background:#f5f8fc;
  border-top:1px solid rgba(13,34,56,.06);
  border-bottom:1px solid rgba(13,34,56,.06);
}

.head-welcome-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
  gap:32px;
  align-items:stretch;
}

.head-welcome-copy,
.head-welcome-quote-card{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:var(--shadow-sm);
  padding:36px;
}

.head-welcome-kicker{
  display:inline-block;
  margin:0 0 12px;
  color:var(--gold);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.head-welcome-copy h2{
  font-size:clamp(2.2rem,3.5vw,3.5rem);
  line-height:1.03;
  margin:0 0 18px;
}

.head-welcome-copy p{
  color:#5d7086;
  font-size:1.05rem;
  line-height:1.75;
  max-width:760px;
  margin:0 0 16px;
}

.head-welcome-copy p:last-of-type{
  margin-bottom:0;
}

.head-welcome-actions{
  margin-top:24px;
}

.head-welcome-quote-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.head-welcome-quote-mark{
  font-family:"Philosopher",Georgia,serif;
  font-size:4.2rem;
  line-height:1;
  color:rgba(202,165,92,.45);
  margin-bottom:10px;
}

.head-welcome-quote-card blockquote{
  margin:0 0 24px;
  color:#17283d;
  font-family:"Philosopher",Georgia,serif;
  font-size:1.35rem;
  line-height:1.55;
}

.head-welcome-signoff{
  padding-top:18px;
  border-top:1px solid rgba(13,34,56,.08);
}

.head-welcome-signoff strong{
  display:block;
  color:var(--ink);
  font-weight:800;
  font-size:1.05rem;
}

.head-welcome-signoff span{
  display:block;
  margin-top:4px;
  color:var(--gold);
  font-weight:700;
}

.head-welcome-signoff-with-photo{
  display:flex;
  align-items:center;
  gap:14px;
}

.head-welcome-photo{
  width:58px;
  height:58px;
  border-radius:999px;
  object-fit:cover;
  object-position:center;
  border:2px solid rgba(202,165,92,.45);
  box-shadow:0 8px 18px rgba(13,34,56,.12);
  flex:0 0 58px;
}

/* -----------------------------
   6. New Formation Model Lane
----------------------------- */

.formation-model-lane{
  padding:72px 0;
  background:
    radial-gradient(circle at 8% 18%, rgba(202,165,92,.12), rgba(202,165,92,0) 26%),
    radial-gradient(circle at 92% 16%, rgba(255,255,255,.10), rgba(255,255,255,0) 24%),
    linear-gradient(120deg,#071728 0%,#0b2340 48%,#1d436c 100%);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.formation-model-grid{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:28px;
  align-items:stretch;
}

.formation-model-copy,
.formation-model-main{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  box-shadow:var(--shadow-dark);
}

.formation-model-copy{
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.formation-model-main{
  padding:24px;
}

.formation-model-kicker{
  display:inline-block;
  margin:0 0 14px;
  color:#e2c47f;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.formation-model-copy h2{
  color:#fff;
  font-size:clamp(2.25rem,4vw,3.7rem);
  line-height:1.02;
  margin:0 0 18px;
}

.formation-model-copy p{
  color:rgba(255,255,255,.88);
  font-size:1.03rem;
  line-height:1.65;
  margin:0;
}

.formation-stats-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0 0 16px;
}

.formation-stats-row .stat-trigger{
  min-height:112px;
}

.formation-stat-detail{
  min-height:88px;
}

.formation-stat-detail .hero-stat-detail-panel{
  min-height:88px;
}

/* -----------------------------
   7. Inner Pages / Media
----------------------------- */

.inner-hero{
  background:linear-gradient(180deg,#f1f6fb 0%,#f8fbfe 100%);
  border-bottom:1px solid rgba(13,34,56,.08);
  padding:52px 0 38px;
}

.inner-hero h1{
  font-size:clamp(2.7rem,5vw,4.8rem);
  max-width:12ch;
}

.inner-hero p{
  max-width:760px;
  font-size:1.08rem;
  color:var(--muted);
}

.inner-hero .eyebrow{
  display:none !important;
}

.hero-meta{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:10px 14px;
  background:#eef4fb;
  border:1px solid rgba(13,34,56,.08);
  color:var(--navy);
  font-weight:700;
  font-size:.92rem;
}

.page-media{
  padding:28px 0 0;
}

.page-media-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:26px;
  align-items:stretch;
}

.page-media-card{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:var(--shadow-sm);
}

.image-card{
  padding:18px;
  overflow:hidden;
  min-height:auto;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

.image-fill{
  width:100%;
  height:100%;
  min-height:240px;
  border-radius:20px;
  background:linear-gradient(135deg,#dee8f4,#cfdae8);
}

.note-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:38px;
}

.note-card p{
  color:var(--muted);
}

.page-media-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}

.featured-article-card{
  min-height:240px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.faculty-media-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  padding:12px;
  min-height:240px;
}

.faculty-shot{
  min-height:150px;
  border-radius:20px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.page-feature-image{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  border-radius:22px;
  display:block;
}

/* -----------------------------
   8. Content Blocks / Cards
----------------------------- */

.content-prose{
  width:min(calc(100% - 40px),1120px);
  margin:auto;
  padding:38px 0 88px;
}

.content-prose h2{
  font-size:clamp(2.15rem,4vw,3.5rem);
}

.content-prose h3{
  font-size:clamp(1.5rem,3vw,2.2rem);
  margin-top:28px;
}

.content-prose > h2:first-of-type,
.content-prose > h3:first-of-type,
.content-prose > .panel + h2,
.content-prose > .panel + h3,
.content-prose > .highlight + h2,
.content-prose > .highlight + h3{
  margin-top:34px;
}

.panel,
.highlight,
.cards-2 > div,
.cards-3 > div,
.cards-4 > div,
.flow > div,
.journey > div,
.blog-grid > article,
.subject-grid > div,
.timetable-grid > div,
.faq-grid > div,
.cta-row > div{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:24px;
}

.highlight{
  border-left:4px solid var(--gold);
  background:linear-gradient(180deg,#fff 0%,#fffdfa 100%);
}

.cards-2,
.cards-3,
.cards-4,
.flow,
.journey,
.blog-grid,
.subject-grid,
.timetable-grid,
.faq-grid,
.cta-row{
  display:grid;
  gap:18px;
  margin:22px 0;
}

.cards-2{grid-template-columns:repeat(2,1fr)}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-4{grid-template-columns:repeat(4,1fr)}
.flow{grid-template-columns:repeat(4,1fr)}
.journey{grid-template-columns:repeat(5,1fr)}
.blog-grid,
.subject-grid{grid-template-columns:repeat(3,1fr)}
.timetable-grid,
.faq-grid{grid-template-columns:repeat(2,1fr)}
.cta-row{grid-template-columns:repeat(3,1fr)}

.flow b,
.journey b{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--navy),var(--navy2));
  color:#fff;
  font-weight:800;
  margin-bottom:10px;
}

/* -----------------------------
   9. Blog / Faculty
----------------------------- */

.blog-editorial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin:22px 0 0;
}

.blog-editorial-card{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:var(--shadow-sm);
  padding:22px;
  display:flex;
  flex-direction:column;
  height:100%;
}

.blog-editorial-featured{
  border:1px solid rgba(202,165,92,.28);
}

.blog-card-image{
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border-radius:18px;
  margin:0 0 16px;
  border:1px solid rgba(13,34,56,.06);
  display:block;
  background:#dde7f1;
}

.blog-editorial-card .kicker{
  display:inline-block;
  font-size:.82rem;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.18em;
  color:var(--gold);
  margin:2px 0 10px;
}

.blog-editorial-card h4{
  margin:0 0 10px;
  font-size:1.5rem;
  line-height:1.15;
}

.blog-editorial-card p{
  color:var(--ink);
  margin:0 0 12px;
}

.blog-editorial-card p:last-child{
  margin-bottom:0;
}

.faculty-cards .person-card img{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:18px;
  margin:0 0 16px;
}

.faculty-cards .person-card h4{
  margin:0 0 8px;
}

.faculty-cards .person-card p{
  margin:0 0 10px;
}

/* -----------------------------
   10. About Page
----------------------------- */

body:not(.home):not(.front-page) .about-video-card{
  padding:18px;
  min-height:auto;
}

body:not(.home):not(.front-page) .about-video-card .video-wrap{
  position:relative;
  width:100%;
  padding-top:56.25%;
  border-radius:20px;
  overflow:hidden;
  background:var(--navy);
}

body:not(.home):not(.front-page) .about-video-card .video-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.about-welcome-section{
  padding:44px 0 18px;
}

.about-welcome-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:24px;
  align-items:start;
}

.about-welcome-panel,
.about-welcome-card{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:var(--shadow-sm);
  padding:30px;
}

.about-welcome-panel h2{
  font-size:clamp(2.1rem,3.2vw,3.1rem);
  line-height:1.05;
  max-width:100%;
  margin-bottom:18px;
}

.about-welcome-panel p{
  color:#4e6177;
  line-height:1.75;
}

.about-welcome-signature{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(13,34,56,.08);
}

.about-welcome-signature strong{
  display:block;
  color:var(--ink);
  font-weight:800;
}

.about-welcome-signature span{
  color:var(--gold);
  font-weight:700;
}

.about-partners-mini{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(13,34,56,.08);
}

.about-partners-mini p{
  margin:0 0 12px;
  font-size:.9rem;
  font-weight:700;
  color:#6a7c91;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.about-partner-logos,
.about-trusted-logos{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  align-items:center;
}

.about-partner-logos img{
  max-width:100%;
  max-height:48px;
  object-fit:contain;
  filter:grayscale(100%);
  opacity:.9;
}

.about-trusted-strip{
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(13,34,56,.08);
}

.about-trusted-kicker{
  margin-bottom:16px;
  color:var(--gold);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.about-trusted-logos img{
  width:100%;
  height:64px;
  object-fit:contain;
  padding:12px 14px;
  background:#f7fafc;
  border:1px solid rgba(13,34,56,.08);
  border-radius:16px;
  filter:grayscale(100%);
  opacity:.88;
  transition:filter .18s ease, opacity .18s ease, transform .18s ease;
}

.about-trusted-logos img:hover{
  filter:none;
  opacity:1;
  transform:translateY(-1px);
}
.about-page .about-main-title{
  font-size:clamp(2.85rem,4vw,4.3rem);
  line-height:.94;
  letter-spacing:-.045em;
  width:100%;
  max-width:none;
  white-space:nowrap;
  margin:0 0 24px;
}

.about-page .about-main-title br{
  display:block;
}

/* -----------------------------
   11. Mailing List
----------------------------- */

.mailing-list-band{
  padding:56px 0;
  background:#eef4fa;
  border-top:1px solid rgba(13,34,56,.06);
}

.mailing-list-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:34px;
  align-items:start;
}

.mailing-list-band .eyebrow{
  display:inline-block;
  margin-bottom:12px;
  font-size:.82rem;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.18em;
  color:var(--gold);
}

.mailing-list-band h2{
  font-size:clamp(2rem,3.2vw,3rem);
  line-height:1.05;
  margin:0 0 12px;
  color:var(--ink);
}

.mailing-list-band p{
  margin:0;
  max-width:560px;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.6;
}

.mailing-list-card{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:var(--shadow-sm);
  padding:28px;
}

.mailing-list-form .form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px;
}

.mailing-list-form .form-row.single{
  grid-template-columns:1fr;
}

.mailing-list-form input,
.mailing-list-form select{
  width:100%;
  min-height:54px;
  border:1px solid rgba(13,34,56,.12);
  border-radius:18px;
  padding:14px 16px;
  font:inherit;
  font-size:1rem;
  background:#fff;
  color:var(--ink);
  box-shadow:none;
}

.mailing-list-form input:focus,
.mailing-list-form select:focus{
  outline:none;
  border-color:rgba(202,165,92,.8);
  box-shadow:0 0 0 4px rgba(202,165,92,.12);
}

.consent-row{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:12px;
  align-items:start;
  margin:8px 0 18px;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.5;
}

.consent-row input{
  width:18px;
  height:18px;
  margin-top:4px;
}

/* -----------------------------
   12. Timetable Page
----------------------------- */

.timetable-intro.panel{
  padding:30px;
  margin-bottom:24px;
}

.timetable-intro .kicker,
.timetable-card-head .kicker{
  display:inline-block;
  margin:0 0 10px;
  color:var(--gold);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.timetable-intro h2{
  margin:0 0 12px;
}

.timetable-intro p{
  max-width:920px;
  color:var(--muted);
  font-size:1.04rem;
  line-height:1.72;
}

.timetable-tabs{
  display:grid;
  gap:20px;
  margin:28px 0;
}

.timetable-tab-list,
.timetable-tab-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
}

.timetable-tab,
.timetable-tab-buttons button{
  appearance:none;
  border:1px solid rgba(13,34,56,.12);
  background:#fff;
  color:var(--navy);
  border-radius:999px;
  min-height:50px;
  padding:12px 20px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(13,34,56,.04);
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

.timetable-tab:hover,
.timetable-tab-buttons button:hover{
  transform:translateY(-1px);
}

.timetable-tab.is-active,
.timetable-tab-buttons button.is-active{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  border-color:rgba(202,165,92,.65);
  color:#102136;
}

.timetable-panel,
.timetable-tab-panel{
  display:none;
}

.timetable-panel.is-active{
  display:grid;
  gap:20px;
}

.timetable-tab-panel.is-active{
  display:block;
}

.timetable-card,
.curriculum-balance,
.timetable-tab-panel{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}

.timetable-tab-panel{
  padding:28px;
}

.timetable-card-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:24px;
  align-items:end;
  padding:26px 28px 20px;
  border-bottom:1px solid rgba(13,34,56,.08);
}

.timetable-card-head h3{
  margin:0;
  font-size:clamp(1.7rem,3vw,2.4rem);
}

.timetable-card-head p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.timetable-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.weekly-timetable,
.abc-timetable{
  width:100%;
  min-width:980px;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
}

.weekly-timetable th,
.weekly-timetable td,
.abc-timetable th,
.abc-timetable td{
  border-right:1px solid rgba(13,34,56,.08);
  border-bottom:1px solid rgba(13,34,56,.08);
  padding:12px 14px;
  vertical-align:middle;
  line-height:1.35;
}

.weekly-timetable th,
.abc-timetable thead th{
  background:#061a2e;
  color:#fff;
  font-family:"Inter",Arial,sans-serif;
  font-size:.86rem;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-align:center;
  font-weight:800;
}

.weekly-timetable td:first-child,
.abc-timetable tbody th{
  background:#fbfdff;
  color:#2f435b;
  font-family:"Inter",Arial,sans-serif;
  font-size:.92rem;
  font-weight:700;
  white-space:nowrap;
  text-align:left;
}

.weekly-timetable th:last-child,
.weekly-timetable td:last-child,
.abc-timetable th:last-child,
.abc-timetable td:last-child{
  border-right:0;
}

.weekly-timetable tr:last-child td,
.abc-timetable tr:last-child td{
  border-bottom:0;
}

.abc-timetable td{
  font-weight:700;
  color:#142235;
}

.abc-timetable td.head{
  background:#e8f1ff;
  border-color:#c9dcfb;
}

.abc-timetable td.hand{
  background:#e7f5e5;
  border-color:#cbe8c6;
}

.abc-timetable td.heart{
  background:#ffe8e6;
  border-color:#f4cac6;
}

.abc-timetable td.neutral{
  background:#fff7df;
  border-color:#efe0ad;
  color:#4e5562;
}

.abc-legend{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.abc-legend-item{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:20px;
  padding:14px 16px;
  display:grid;
  grid-template-columns:14px 1fr;
  column-gap:10px;
  align-items:center;
  box-shadow:var(--shadow-sm);
}

.abc-legend-item span{
  width:12px;
  height:12px;
  border-radius:999px;
}

.abc-legend-item strong{
  display:block;
  color:var(--ink);
  font-size:.98rem;
  line-height:1.2;
}

.abc-legend-item em{
  grid-column:2;
  color:var(--muted);
  font-style:normal;
  font-size:.86rem;
  line-height:1.2;
}

.abc-head span{background:#4f8fe8}
.abc-hand span{background:#64ad57}
.abc-heart span{background:#ee625c}
.abc-neutral span{background:#d5b46a}

.curriculum-balance{
  display:grid;
  grid-template-columns:minmax(0,.65fr) minmax(0,1fr);
  gap:20px;
  padding:28px;
  align-items:center;
}

.balance-copy h3{
  margin:0 0 10px;
  font-size:clamp(1.6rem,2.5vw,2.2rem);
}

.balance-copy p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.balance-bars{
  display:grid;
  gap:16px;
}

.balance-row{
  display:grid;
  grid-template-columns:minmax(150px,.7fr) 58px minmax(0,1fr);
  gap:12px;
  align-items:center;
}

.balance-row span{
  color:#25364b;
  font-weight:800;
}

.balance-row strong{
  color:var(--ink);
  font-size:1.15rem;
}

.balance-row i{
  display:block;
  height:10px;
  border-radius:999px;
  background:#eef4fa;
  position:relative;
  overflow:hidden;
}

.balance-row i::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:var(--w);
  border-radius:inherit;
}

.balance-row .bar-head::before{background:#4f8fe8}
.balance-row .bar-hand::before{background:#64ad57}
.balance-row .bar-heart::before{background:#ee625c}

/* -----------------------------
   13. Apply / Embed Fixes
----------------------------- */

.apply-video-card .video-wrap{
  position:relative;
  width:100%;
  padding-top:56.25%;
  border-radius:20px;
  overflow:hidden;
  background:var(--navy);
}

.apply-video-card .video-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.embed-shell,
.wpforms-shell{
  width:100%;
  overflow:hidden;
}

/* -----------------------------
   14. Footer
----------------------------- */

.site-footer{
  margin-top:0;
  background:linear-gradient(180deg,#0d2238 0%,#091a2c 100%);
  color:#fff;
  padding:64px 0 24px;
}

.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(180px,.8fr) minmax(180px,.8fr);
  gap:42px;
  align-items:start;
}

.footer-brand{
  min-width:0;
}

.footer-logo{
  height:42px;
  width:auto;
  margin-bottom:16px;
  display:block;
}

.footer-brand p{
  max-width:440px;
  color:rgba(255,255,255,.82);
  font-size:1.02rem;
  line-height:1.65;
  margin:0;
}

.site-footer h4{
  color:#fff;
  font-size:1.15rem;
  line-height:1.2;
  margin:0 0 14px;
}

.footer-links{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-links li{
  margin:10px 0;
}

.footer-links a{
  color:rgba(255,255,255,.9);
  font-size:1rem;
  line-height:1.5;
  transition:color .18s ease;
}

.footer-links a:hover{
  color:#fff;
}

.footer-socials{
  margin-top:22px;
}

.footer-socials h4{
  margin:0 0 12px;
  color:#fff;
  font-size:1rem;
  line-height:1.2;
}

.social-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.social-link{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-weight:800;
  font-size:1rem;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.social-link:hover{
  transform:translateY(-1px);
  border-color:rgba(202,165,92,.6);
  background:rgba(202,165,92,.12);
  color:#fff;
}

.social-link.is-disabled{
  opacity:.45;
  pointer-events:none;
}

.copyright{
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.72);
  font-size:.98rem;
  line-height:1.5;
}

.copyright a{
  color:#fff;
  font-weight:700;
}

/* -----------------------------
   15. Accessibility / Utility
----------------------------- */

.screen-reader-text{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

/* -----------------------------
   16. Responsive
----------------------------- */

@media (max-width:1100px){
  .hero-home{
    padding:78px 0 42px;
  }

  .hero-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "copy"
      "stack";
    gap:24px;
  }

  .page-media-grid,
  .mailing-list-grid,
  .head-welcome-grid,
  .formation-model-grid,
  .about-welcome-grid{
    grid-template-columns:1fr;
  }

  .cards-3,
  .subject-grid,
  .cta-row{
    grid-template-columns:repeat(2,1fr);
  }

  .cards-4,
  .flow,
  .journey,
  .blog-grid,
  .timetable-grid,
  .faq-grid,
  .footer-grid,
  .blog-editorial-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .blog-editorial-featured{
    grid-column:1 / -1;
  }
}

@media (max-width:980px){
  .desktop-nav{
    display:none !important;
  }

  .mobile-nav-toggle,
  .mobile-nav-drawer,
  .mobile-nav-overlay{
    display:block;
  }

  .header-inner{
    grid-template-columns:auto 1fr auto;
    gap:12px;
    min-height:78px;
  }

  .brand{
    min-width:0;
  }

  .brand img{
    height:34px;
    max-width:180px;
  }

  .header-cta{
    min-height:48px;
    padding:12px 18px;
    font-size:.95rem;
    white-space:nowrap;
  }

  .formation-stats-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .abc-legend,
  .timetable-card-head,
  .curriculum-balance{
    grid-template-columns:1fr;
  }

  .image-card iframe{
    min-height:240px;
  }

  .note-card{
    padding:26px;
  }
}

@media (max-width:760px){
  .container,
  .content-prose{
    width:min(calc(100% - 28px),var(--wrap));
  }

  .admin-bar .site-header{
    top:46px;
  }

  .header-inner{
    grid-template-columns:1fr auto auto;
    gap:8px;
    min-height:68px;
  }

  .brand img{
    max-width:145px;
    height:auto;
  }

  .header-actions{
    gap:8px;
  }

  .header-cta,
  .btn-primary,
  .btn{
    min-height:46px;
    padding:11px 16px;
    font-size:.92rem;
  }

  .header-cta{
    min-height:42px;
    padding:9px 13px;
    font-size:.84rem;
  }

  .mobile-nav-toggle{
    width:42px;
    height:42px;
    border-radius:14px;
  }

  .mobile-nav-toggle span{
    left:13px;
    right:13px;
  }

  .mobile-nav-toggle span:nth-child(1){top:15px}
  .mobile-nav-toggle span:nth-child(2){top:22px}
  .mobile-nav-toggle span:nth-child(3){top:29px}

  body.mobile-nav-open .mobile-nav-toggle span:nth-child(1),
  body.mobile-nav-open .mobile-nav-toggle span:nth-child(3){
    top:22px;
  }

  .mobile-nav-drawer{
    width:min(84vw,340px);
    padding:18px 18px 24px;
  }

  .mobile-menu a{
    padding:13px 4px;
    font-size:1rem;
  }

  .hero-home{
    padding:52px 0 32px;
  }

  .hero-grid{
    gap:20px;
  }

  .hero-home h1{
    font-size:clamp(2.15rem,10vw,3.05rem);
    line-height:1.02;
    letter-spacing:-.04em;
    max-width:11ch;
    margin-bottom:14px;
  }

  .hero-sub{
    font-size:.96rem;
    line-height:1.55;
    margin-bottom:18px;
  }

  .hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  .hero-actions .btn,
  .hero-actions .btn-primary,
  .hero-actions .btn-secondary{
    width:100%;
    min-height:46px;
    justify-content:center;
    text-align:center;
  }

  .hero-stack{
    margin-top:4px;
    gap:14px;
  }

  .hero-video{
    padding:10px;
    border-radius:22px;
  }

  .hero-video .video-wrap,
  .video-wrap{
    border-radius:16px;
  }

  .hero-home .glass-card{
    min-height:auto;
    padding:18px;
    border-radius:20px;
  }

  .head-welcome-band{
    padding:42px 0 46px;
  }

  .head-welcome-grid{
    gap:18px;
  }

  .head-welcome-copy,
  .head-welcome-quote-card{
    padding:24px;
    border-radius:22px;
  }

  .head-welcome-copy h2{
    font-size:clamp(2rem,9vw,2.75rem);
    line-height:1.04;
  }

  .head-welcome-copy p{
    font-size:.98rem;
    line-height:1.68;
  }

  .head-welcome-quote-card blockquote{
    font-size:1.08rem;
    line-height:1.62;
  }

  .head-welcome-photo{
    width:50px;
    height:50px;
    flex-basis:50px;
  }

  .formation-model-lane{
    padding:46px 0;
  }

  .formation-model-copy,
  .formation-model-main{
    border-radius:22px;
  }

  .formation-model-copy{
    padding:24px;
  }

  .formation-model-main{
    padding:18px;
  }

  .formation-model-copy h2{
    font-size:clamp(2rem,9vw,2.9rem);
  }

  .formation-model-copy p{
    font-size:.98rem;
    line-height:1.62;
  }

  .formation-stats-row{
    gap:10px;
  }

  .formation-stats-row .stat-trigger,
  .stat-trigger{
    min-height:92px;
    padding:13px 10px;
  }

  .stat-trigger strong{
    font-size:1.65rem;
  }

  .stat-trigger span{
    font-size:.86rem;
  }

  .hero-stat-detail{
    min-height:auto;
  }

  .hero-stat-detail-panel{
    min-height:auto;
    padding:14px;
    font-size:.94rem;
    line-height:1.55;
  }

  .inner-hero{
    padding:34px 0 24px;
  }

  .inner-hero h1{
    font-size:clamp(2.35rem,12vw,3.4rem);
    line-height:1.02;
  }

  .inner-hero p{
    font-size:1rem;
    line-height:1.55;
  }

  .hero-meta{
    gap:8px;
  }

  .badge{
    padding:9px 12px;
    font-size:.84rem;
  }

  .page-media{
    padding:24px 0 0;
  }

  .page-media-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .page-media-card,
  .image-card,
  .note-card,
  .timetable-card,
  .curriculum-balance{
    border-radius:22px;
  }

  .image-card{
    padding:12px;
  }

  .note-card{
    padding:22px;
  }

  .page-media-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .page-media-actions .btn{
    width:100%;
    justify-content:center;
  }

  .content-prose{
    padding:28px 0 46px;
  }

  .content-prose h2{
    font-size:clamp(2rem,9vw,2.85rem);
    line-height:1.05;
  }

  .content-prose h3{
    font-size:clamp(1.45rem,7vw,2.1rem);
  }

  .content-prose > h2:first-of-type,
  .content-prose > h3:first-of-type,
  .content-prose > .panel + h2,
  .content-prose > .panel + h3,
  .content-prose > .highlight + h2,
  .content-prose > .highlight + h3{
    margin-top:26px;
  }

  .panel,
  .highlight,
  .cards-2 > div,
  .cards-3 > div,
  .cards-4 > div,
  .flow > div,
  .journey > div,
  .blog-grid > article,
  .subject-grid > div,
  .timetable-grid > div,
  .faq-grid > div,
  .cta-row > div{
    padding:20px;
    border-radius:22px;
  }

  .cards-2,
  .cards-3,
  .cards-4,
  .flow,
  .journey,
  .blog-grid,
  .subject-grid,
  .timetable-grid,
  .faq-grid,
  .cta-row,
  .footer-grid,
  .mailing-list-grid,
  .blog-editorial-grid{
    grid-template-columns:1fr;
  }

  .blog-editorial-featured{
    grid-column:auto;
  }

  .faculty-media-grid{
    grid-template-columns:1fr 1fr;
  }

  .about-trusted-logos,
  .about-partner-logos{
    grid-template-columns:1fr;
  }

  .mailing-list-band{
    padding:42px 0;
  }

  .mailing-list-grid{
    gap:22px;
  }

  .mailing-list-band h2{
    font-size:clamp(2rem,9vw,2.8rem);
  }

  .mailing-list-card{
    padding:20px;
    border-radius:22px;
  }

  .mailing-list-form .form-row{
    grid-template-columns:1fr;
  }

  .timetable-intro.panel,
  .timetable-card-head,
  .curriculum-balance,
  .timetable-tab-panel{
    padding:22px;
    border-radius:22px;
  }

  .timetable-tab-list,
  .timetable-tab-buttons{
    display:flex;
    gap:10px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:8px;
    flex-wrap:nowrap;
  }

  .timetable-tab,
  .timetable-tab-buttons button{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .abc-legend{
    grid-template-columns:1fr;
    gap:10px;
  }

  .abc-timetable,
  .weekly-timetable{
    min-width:760px;
  }

  .abc-timetable th,
  .abc-timetable td,
  .weekly-timetable th,
  .weekly-timetable td{
    font-size:.88rem;
    line-height:1.35;
    padding:12px;
  }

  .balance-row{
    grid-template-columns:1fr 54px;
  }

  .balance-row i{
    grid-column:1 / -1;
  }

  .wpforms-container,
  .wpforms-form,
  .wpforms-field,
  .wpforms-field input,
  .wpforms-field textarea,
  .wpforms-field select{
    max-width:100% !important;
  }

  .site-footer{
    padding:42px 0 22px;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:26px 20px;
  }

  .footer-brand{
    grid-column:1 / -1;
  }

  .footer-logo{
    height:34px;
  }

  .footer-brand p{
    font-size:.95rem;
    line-height:1.55;
  }

  .footer-links li{
    margin:8px 0;
  }

  .footer-links a{
    font-size:.95rem;
  }

  .footer-socials{
    margin-top:18px;
  }

  .social-link{
    width:40px;
    height:40px;
  }

  .copyright{
    font-size:.88rem;
    line-height:1.45;
  }
}

@media (max-width:600px){
  .brand img{
    max-width:145px;
  }

  .header-cta{
    padding:9px 12px;
    font-size:.86rem;
  }

  .mobile-nav-toggle{
    width:42px;
    height:42px;
  }
}

@media (max-width:430px){
  .formation-stats-row{
    grid-template-columns:1fr;
  }
}

@media (max-width:390px){
  .brand img{
    max-width:132px;
  }

  .header-cta{
    padding:8px 11px;
    font-size:.8rem;
  }

  .hero-home h1{
    font-size:2.35rem;
  }

  .hero-actions .btn{
    font-size:.9rem;
  }

  .footer-grid{
    grid-template-columns:1fr;
  }
}
/* Formation model lane — polished layout */

.formation-model-lane{
  padding:78px 0;
  background:
    radial-gradient(circle at 8% 18%, rgba(202,165,92,.12), rgba(202,165,92,0) 26%),
    radial-gradient(circle at 92% 16%, rgba(255,255,255,.10), rgba(255,255,255,0) 24%),
    linear-gradient(120deg,#071728 0%,#0b2340 48%,#1d436c 100%);
  color:#fff;
}

.formation-model-grid{
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  gap:28px;
  align-items:stretch;
}

.formation-model-copy,
.formation-model-main{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  box-shadow:0 18px 60px rgba(0,0,0,.18);
}

.formation-model-copy{
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.formation-model-main{
  padding:28px;
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:18px;
}

.formation-model-kicker{
  display:inline-block;
  margin:0 0 14px;
  color:#e2c47f;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.formation-model-copy h2{
  color:#fff;
  font-size:clamp(2.4rem,4vw,3.7rem);
  line-height:1.02;
  margin:0 0 20px;
}

.formation-model-copy p{
  color:rgba(255,255,255,.9);
  font-size:1.03rem;
  line-height:1.65;
  margin:0;
}

.formation-stats-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0;
}

.formation-stats-row .stat-trigger{
  min-height:112px;
}

.formation-stat-detail{
  min-height:auto;
}

.formation-stat-detail .hero-stat-detail-panel{
  min-height:88px;
  background:rgba(255,255,255,.08);
}

.formation-awaken-action{
  display:flex;
  align-items:end;
  justify-content:center;
  padding-top:22px;
}

.formation-awaken-btn{
  width:min(100%,420px);
  min-height:66px;
  font-size:1.1rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  border-radius:999px;
  box-shadow:0 18px 36px rgba(202,165,92,.22);
}

/* Mobile */

@media(max-width:980px){
  .formation-model-grid{
    grid-template-columns:1fr;
  }

  .formation-stats-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .formation-model-lane{
    padding:48px 0;
  }

  .formation-model-copy,
  .formation-model-main{
    border-radius:22px;
  }

  .formation-model-copy,
  .formation-model-main{
    padding:24px;
  }

  .formation-model-copy h2{
    font-size:clamp(2rem,9vw,2.9rem);
  }

  .formation-stats-row{
    gap:10px;
  }

  .formation-awaken-action{
    padding-top:10px;
  }

  .formation-awaken-btn{
    width:100%;
    min-height:58px;
  }
}

@media(max-width:430px){
  .formation-stats-row{
    grid-template-columns:1fr;
  }
}
.formation-awaken-btn{
  font-family:"Philosopher", Georgia, serif;
  font-size:1.55rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
/* Premium Testimonials Lane */

.testimonials-lane{
  padding:86px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(202,165,92,.10), transparent 26%),
    linear-gradient(180deg,#f7fafc 0%,#eef4fa 100%);
  border-top:1px solid rgba(13,34,56,.06);
}

.testimonials-head{
  max-width:820px;
  margin:0 auto 38px;
  text-align:center;
}

.testimonials-kicker{
  display:inline-block;
  margin-bottom:12px;
  color:var(--gold);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.testimonials-head h2{
  font-size:clamp(2.25rem,4vw,3.7rem);
  line-height:1.02;
  margin:0 0 14px;
}

.testimonials-head p{
  max-width:640px;
  margin:0 auto;
  color:var(--muted);
  font-size:1.06rem;
  line-height:1.65;
}

.testimonial-grid{
  display:grid;
  grid-template-columns:1.15fr .925fr .925fr;
  gap:22px;
  align-items:stretch;
}

.testimonial-card{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(13,34,56,.08);
  border-radius:30px;
  box-shadow:
    0 22px 60px rgba(13,34,56,.08),
    inset 0 1px 0 rgba(255,255,255,.85);
  padding:32px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:310px;
}

.testimonial-card::before{
  content:"“";
  position:absolute;
  top:10px;
  right:26px;
  font-family:"Philosopher",Georgia,serif;
  font-size:7rem;
  line-height:1;
  color:rgba(202,165,92,.13);
  pointer-events:none;
}

.testimonial-card::after{
  content:"";
  position:absolute;
  inset:auto -80px -90px auto;
  width:190px;
  height:190px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(202,165,92,.12), transparent 70%);
  pointer-events:none;
}

.testimonial-featured{
  background:
    linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,253,247,.94) 100%);
  border-color:rgba(202,165,92,.28);
}

.testimonial-card p{
  position:relative;
  z-index:1;
  margin:0 0 26px;
  color:#25364b;
  font-size:1.04rem;
  line-height:1.78;
}

.testimonial-featured p{
  font-size:1.12rem;
}

.testimonial-person{
  position:relative;
  z-index:1;
  padding-top:18px;
  border-top:1px solid rgba(13,34,56,.08);
}

.testimonial-person strong{
  display:block;
  color:var(--ink);
  font-weight:900;
  line-height:1.2;
}

.testimonial-person span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.35;
}

.testimonials-action{
  margin-top:34px;
  display:flex;
  justify-content:center;
}

.testimonials-action .btn{
  min-width:240px;
}

/* Subtle premium hover */

.testimonial-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.testimonial-card:hover{
  transform:translateY(-4px);
  border-color:rgba(202,165,92,.34);
  box-shadow:
    0 28px 70px rgba(13,34,56,.12),
    inset 0 1px 0 rgba(255,255,255,.9);
}

/* Mobile */

@media(max-width:980px){
  .testimonial-grid{
    grid-template-columns:1fr;
  }

  .testimonial-card{
    min-height:auto;
  }
}

@media(max-width:760px){
  .testimonials-lane{
    padding:56px 0;
  }

  .testimonials-head{
    margin-bottom:26px;
  }

  .testimonial-card{
    padding:24px;
    border-radius:24px;
  }

  .testimonial-card p,
  .testimonial-featured p{
    font-size:.98rem;
    line-height:1.68;
  }

  .testimonials-action .btn{
    width:100%;
  }
}
/* Testimonials page */

.testimonials-hero{
  background:
    radial-gradient(circle at 85% 20%, rgba(202,165,92,.12), transparent 24%),
    linear-gradient(120deg,#071728 0%,#0b2340 48%,#1d436c 100%);
  color:#fff;
  border-bottom:none;
}

.testimonials-hero h1,
.testimonials-hero p{
  color:#fff;
}

.testimonials-hero p{
  color:rgba(255,255,255,.86);
}

.testimonials-page{
  padding:72px 0;
  background:linear-gradient(180deg,#f7fafc 0%,#eef4fa 100%);
}

.testimonials-page-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.testimonial-full-card{
  position:relative;
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:30px;
  box-shadow:0 18px 50px rgba(13,34,56,.08);
  padding:34px;
  overflow:hidden;
}

.testimonial-full-card::before{
  content:"“";
  position:absolute;
  top:12px;
  right:28px;
  font-family:"Philosopher",Georgia,serif;
  font-size:7rem;
  line-height:1;
  color:rgba(202,165,92,.12);
}

.testimonial-full-card p{
  position:relative;
  z-index:1;
  margin:0 0 26px;
  color:#26384e;
  font-size:1.03rem;
  line-height:1.78;
  font-style:italic;
}

.testimonial-full-featured{
  grid-column:1 / -1;
  background:linear-gradient(180deg,#fff 0%,#fffdfa 100%);
  border-color:rgba(202,165,92,.28);
}

.testimonial-full-featured p{
  font-size:1.08rem;
}

.testimonial-full-person{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:14px;
  padding-top:18px;
  border-top:1px solid rgba(13,34,56,.08);
}

.testimonial-flag{
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#f4f7fb;
  box-shadow:0 8px 20px rgba(13,34,56,.10);
  font-size:1.65rem;
  flex:0 0 46px;
}

.testimonial-full-person strong{
  display:block;
  color:var(--ink);
  font-weight:900;
  line-height:1.2;
}

.testimonial-full-person span:last-child{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.95rem;
}

.testimonials-page-cta{
  padding:0 0 78px;
  background:#eef4fa;
}

.testimonials-page-cta-card{
  background:
    radial-gradient(circle at 12% 20%, rgba(202,165,92,.16), transparent 24%),
    linear-gradient(120deg,#071728 0%,#0b2340 48%,#1d436c 100%);
  border-radius:32px;
  padding:46px;
  color:#fff;
  text-align:center;
  box-shadow:0 24px 70px rgba(13,34,56,.18);
}

.testimonials-page-cta-card h2{
  color:#fff;
  font-size:clamp(2.1rem,4vw,3.4rem);
  margin:0 0 12px;
}

.testimonials-page-cta-card p{
  max-width:650px;
  margin:0 auto 24px;
  color:rgba(255,255,255,.86);
  font-size:1.05rem;
  line-height:1.65;
}

.testimonials-page-cta-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

@media(max-width:900px){
  .testimonials-page-grid{
    grid-template-columns:1fr;
  }

  .testimonial-full-featured{
    grid-column:auto;
  }
}

@media(max-width:760px){
  .testimonials-page{
    padding:48px 0;
  }

  .testimonial-full-card{
    padding:24px;
    border-radius:24px;
  }

  .testimonial-full-card p,
  .testimonial-full-featured p{
    font-size:.98rem;
    line-height:1.68;
  }

  .testimonials-page-cta{
    padding:0 0 52px;
  }

  .testimonials-page-cta-card{
    padding:30px 22px;
    border-radius:24px;
  }

  .testimonials-page-cta-actions{
    flex-direction:column;
  }

  .testimonials-page-cta-actions .btn{
    width:100%;
  }
}
.page-media-card.about-video-card{
  padding:14px;
  overflow:hidden;
}

.page-media-card.about-video-card .video-wrap{
  width:100%;
  border-radius:20px;
  overflow:hidden;
  background:#0d2238;
}

.page-media-card.about-video-card iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
/* =========================================================
   ABOUT PAGE — FINAL POLISH
   ========================================================= */

.about-page .about-hero-panel{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  gap:28px;
  align-items:stretch;
  margin:0 auto 42px;
}

.about-page .about-side-stack{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:18px;
  align-self:stretch;
}

.about-page .about-video-card{
  overflow:hidden;
  background:var(--navy);
  border:10px solid var(--navy);
  border-radius:28px;
  box-shadow:0 20px 50px rgba(7,27,51,.12);
  align-self:start;
}

.about-page .about-video-card .video-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  min-height:0;
  padding-top:0;
  border-radius:16px;
  overflow:hidden;
  background:var(--navy);
}

.about-page .about-video-card .video-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  border-radius:16px;
}

.about-page .about-snapshot-card{
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(202,165,92,.16), transparent 38%),
    linear-gradient(180deg,#fff,#fbf8f1);
  box-shadow:0 18px 50px rgba(13,34,56,.08);
  padding:26px;
}

.about-page .about-snapshot-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:1.65rem;
}

.about-page .about-snapshot-card p{
  margin:0;
  color:#32465d;
  line-height:1.65;
}

@media(max-width:900px){
  .about-page .about-hero-panel{
    grid-template-columns:1fr;
  }

  .about-page .about-side-stack{
    grid-template-rows:auto;
  }
}
.video-welcome-card{
  position:relative;
  overflow:hidden;
  min-height:680px;
  padding:0;
  border-radius:30px;
}

.welcome-bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}

.welcome-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    115deg,
    rgba(7,27,51,.92),
    rgba(7,27,51,.76)
  );
}

.welcome-content{
  position:relative;
  z-index:2;
  padding:46px;
  max-width:920px;
}

.welcome-content h3,
.welcome-content p{
  color:#fff;
}

.welcome-content a{
  color:#f6d68b;
  font-weight:800;
  text-decoration:underline;
}

.welcome-content .signature{
  margin-top:24px;
  color:#f6d68b !important;
  font-weight:900;
}

@media(max-width:760px){
  .video-welcome-card{
    min-height:auto;
  }

  .welcome-content{
    padding:28px;
  }
}
/* =========================================================
   PROGRAMMES PAGE
   ========================================================= */

.programmes-page{
  background:linear-gradient(180deg,#f8fbfe 0%,#eef4fa 100%);
  overflow:hidden;
}

.programmes-page .container{
  width:min(calc(100% - 40px),1240px);
  margin:auto;
}

.programmes-hero{
  padding:72px 0 56px;
  background:
    radial-gradient(circle at 12% 20%,rgba(202,165,92,.13),transparent 28%),
    linear-gradient(135deg,#f8fbfe 0%,#eef4fa 100%);
}

.programmes-hero-grid,
.edexcel-grid,
.final-cta-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:center;
}

.programmes-kicker{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
  font-size:.8rem;
  margin-bottom:12px;
}

.programmes-hero h1,
.programmes-page h2{
  color:var(--navy);
  font-size:clamp(2.7rem,5vw,4.8rem);
}

.programmes-hero-copy p{
  font-size:1.12rem;
  color:#30475f;
  max-width:680px;
}

.programmes-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.programmes-hero-visual{
  position:relative;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(13,34,56,.16);
}

.programmes-hero-visual img{
  width:100%;
  height:520px;
  object-fit:cover;
}

.programmes-hero-quote{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  background:rgba(13,34,56,.9);
  color:#fff;
  border-radius:24px;
  padding:24px;
  backdrop-filter:blur(10px);
}

.programmes-hero-quote p,
.programmes-hero-quote strong{
  color:#fff;
}

.programmes-section,
.programmes-band{
  padding:64px 0;
}

.programmes-abc-band{
  background:#fff;
}

.programmes-section-head{
  max-width:820px;
  margin-bottom:28px;
}

.split-head{
  display:grid;
  grid-template-columns:.8fr 1fr;
  gap:28px;
  max-width:none;
  align-items:end;
}

.programmes-section-head p{
  color:#4b6078;
  font-size:1.05rem;
}

.programmes-model-grid,
.programmes-study-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.programmes-offer-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
}

.programmes-model-card,
.programmes-offer-card,
.programmes-study-card,
.flagship-card{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(13,34,56,.08);
  border-radius:30px;
  padding:30px;
  box-shadow:0 20px 60px rgba(13,34,56,.08);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.programmes-model-card:hover,
.flagship-card:hover{
  transform:translateY(-4px);
  border-color:rgba(202,165,92,.45);
  box-shadow:0 28px 76px rgba(13,34,56,.13);
}

.programmes-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:900;
  margin-bottom:16px;
}

.navy-icon{background:var(--navy);}
.gold-icon{background:linear-gradient(135deg,var(--gold),var(--gold2)); color:#102136;}
.green-icon{background:#426f5a;}
.purple-icon{background:#61527a;}

.small-label{
  color:var(--gold);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.86rem;
}

.featured-offer{
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.16),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
}

.programmes-edexcel{
  padding:70px 0;
  background:
    radial-gradient(circle at 88% 15%,rgba(202,165,92,.16),transparent 28%),
    linear-gradient(120deg,#071728 0%,#0d2238 55%,#1d436c 100%);
  color:#fff;
}

.programmes-edexcel h2,
.programmes-edexcel p,
.programmes-edexcel strong,
.programmes-edexcel span{
  color:#fff;
}

.edexcel-benefits{
  display:grid;
  gap:12px;
  margin:24px 0;
}

.edexcel-benefits div{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:16px;
}

.edexcel-benefits strong,
.edexcel-benefits span{
  display:block;
}

.edexcel-benefits span{
  color:rgba(255,255,255,.82);
}

.edexcel-badge-card{
  display:grid;
  place-items:center;
}

.edexcel-badge-inner{
  width:min(100%,360px);
  min-height:360px;
  border-radius:36px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:34px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.18);
}

.edexcel-badge-inner span{
  width:96px;
  height:96px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#102136;
  font-size:3rem;
  font-weight:900;
  margin-bottom:18px;
}

.programmes-note{
  margin-top:24px;
  border-left:5px solid var(--gold);
  background:#fff;
  border-radius:24px;
  padding:22px 26px;
  box-shadow:0 18px 48px rgba(13,34,56,.07);
}

.flagship-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.programmes-curriculum-cta{
  padding:68px 0;
}

.curriculum-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:26px;
  align-items:center;
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.18),transparent 30%),
    linear-gradient(145deg,#fff,#fbf7ef);
  border:1px solid rgba(13,34,56,.08);
  border-radius:34px;
  padding:42px;
  box-shadow:0 24px 70px rgba(13,34,56,.1);
}

.programmes-final-cta{
  padding:70px 0;
  background:linear-gradient(120deg,#071728 0%,#0d2238 55%,#1d436c 100%);
  color:#fff;
}

.programmes-final-cta h2,
.programmes-final-cta p{
  color:#fff;
}

@media(max-width:980px){
  .programmes-hero-grid,
  .edexcel-grid,
  .final-cta-grid,
  .split-head,
  .programmes-offer-grid{
    grid-template-columns:1fr;
  }

  .programmes-model-grid,
  .programmes-study-grid,
  .flagship-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:700px){
  .programmes-model-grid,
  .programmes-study-grid,
  .flagship-grid,
  .curriculum-card{
    grid-template-columns:1fr;
  }

  .programmes-hero{
    padding:46px 0;
  }

  .programmes-hero-visual img{
    height:360px;
  }

  .programmes-actions .btn{
    width:100%;
  }

  .programmes-model-card,
  .programmes-offer-card,
  .programmes-study-card,
  .flagship-card,
  .curriculum-card{
    padding:24px;
    border-radius:24px;
  }
}
/* =========================================================
   FACULTY PAGE
   ========================================================= */

/* FACULTY PAGE — SOFT VERSION */

/* FACULTY PAGE — HORIZONTAL CAROUSEL */

.faculty-page{
  position:relative;
}

.faculty-carousel-intro{
  max-width:920px;
  margin:0 0 34px;
  padding:34px;
  border-radius:30px;
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.14),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
  border:1px solid rgba(13,34,56,.08);
  box-shadow:0 20px 55px rgba(13,34,56,.07);
}

.faculty-kicker{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
  font-size:.78rem;
  margin-bottom:12px;
}

.faculty-carousel-intro h2{
  color:var(--navy);
  font-size:clamp(2.2rem,4vw,3.7rem);
  line-height:1.02;
}

.faculty-carousel-intro p{
  color:#40556d;
  font-size:1.08rem;
  line-height:1.7;
  max-width:760px;
}

.faculty-carousel-shell{
  position:relative;
  margin:0 0 34px;
  padding:26px;
  border-radius:34px;
  background:
    linear-gradient(120deg,#071728 0%,#0d2238 56%,#1d436c 100%);
  box-shadow:0 28px 80px rgba(13,34,56,.18);
  overflow:hidden;
}

.faculty-carousel-shell:before{
  content:"";
  position:absolute;
  inset:-120px -120px auto auto;
  width:320px;
  height:320px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(202,165,92,.22),transparent 68%);
  pointer-events:none;
}

.faculty-carousel-head{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}

.faculty-carousel-head h3{
  color:#fff;
  font-size:clamp(1.7rem,3vw,2.6rem);
  margin:0;
}

.faculty-carousel-controls{
  display:flex;
  gap:10px;
}

.faculty-carousel-btn{
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .2s ease, transform .2s ease;
}

.faculty-carousel-btn:hover{
  background:rgba(202,165,92,.22);
  transform:translateY(-1px);
}

.faculty-carousel-track{
  position:relative;
  z-index:2;
  display:flex;
  gap:22px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:4px 4px 18px;
  -webkit-overflow-scrolling:touch;
}

.faculty-carousel-track::-webkit-scrollbar{
  height:10px;
}

.faculty-carousel-track::-webkit-scrollbar-track{
  background:rgba(255,255,255,.08);
  border-radius:999px;
}

.faculty-carousel-track::-webkit-scrollbar-thumb{
  background:rgba(202,165,92,.65);
  border-radius:999px;
}

.faculty-carousel-card{
  flex:0 0 min(330px,82vw);
  scroll-snap-align:start;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  padding:26px;
  box-shadow:0 18px 50px rgba(0,0,0,.16);
  display:flex;
  flex-direction:column;
  min-height:430px;
}

.faculty-head-card{
  flex-basis:min(390px,86vw);
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.18),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
}

.faculty-carousel-card img{
  width:112px;
  height:112px;
  border-radius:999px;
  object-fit:cover;
  border:4px solid rgba(202,165,92,.34);
  box-shadow:0 12px 26px rgba(13,34,56,.12);
  margin:0 0 22px;
}

.faculty-card-copy span{
  display:block;
  color:var(--gold);
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.faculty-card-copy h3{
  color:var(--navy);
  font-size:1.75rem;
  margin:0 0 12px;
}

.faculty-card-copy p{
  color:#40556d;
  line-height:1.65;
  margin:0;
}

.faculty-carousel-note{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  padding:34px;
  border-radius:30px;
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.14),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
  border:1px solid rgba(13,34,56,.08);
  box-shadow:0 20px 55px rgba(13,34,56,.07);
}

.faculty-carousel-note h3{
  color:var(--navy);
  font-size:clamp(1.7rem,3vw,2.5rem);
}

.faculty-carousel-note p{
  color:#40556d;
  max-width:760px;
  margin:0;
}

@media(max-width:760px){
  .faculty-carousel-intro,
  .faculty-carousel-shell,
  .faculty-carousel-note{
    padding:24px;
    border-radius:24px;
  }

  .faculty-carousel-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .faculty-carousel-note{
    grid-template-columns:1fr;
  }

  .faculty-carousel-note .btn{
    width:100%;
  }

  .faculty-carousel-card{
    min-height:auto;
  }
}
/* ADMISSIONS PAGE */

.admissions-page{
  position:relative;
}

.admissions-lead,
.admissions-fit,
.admissions-final{
  border-radius:34px;
  border:1px solid rgba(13,34,56,.08);
  box-shadow:0 24px 70px rgba(13,34,56,.08);
}

.admissions-lead{
  padding:46px;
  margin-bottom:44px;
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.18),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
}

.admissions-kicker{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
  font-size:.78rem;
  margin-bottom:12px;
}

.admissions-lead h2,
.admissions-section-head h2,
.admissions-fit h2,
.admissions-final h2{
  color:var(--navy);
  font-size:clamp(2.2rem,4vw,3.8rem);
  line-height:1.02;
}

.admissions-lead p,
.admissions-fit p,
.admissions-final p{
  color:#40556d;
  font-size:1.08rem;
  line-height:1.72;
  max-width:820px;
}

.admissions-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.admissions-section-head{
  max-width:820px;
  margin:0 0 24px;
}

.admissions-pathways,
.admissions-journey{
  margin-bottom:50px;
}

.admissions-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.admissions-card{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:0 18px 50px rgba(13,34,56,.07);
  padding:28px;
}

.admissions-card span{
  display:inline-grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#102136;
  font-weight:900;
  margin-bottom:16px;
}

.admissions-card h3,
.admissions-steps h3{
  color:var(--navy);
  font-size:1.55rem;
}

.admissions-card p,
.admissions-steps p{
  color:#40556d;
  line-height:1.65;
  margin:0;
}

.admissions-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.admissions-steps > div{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:0 18px 50px rgba(13,34,56,.07);
  padding:26px;
}

.admissions-steps b{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:var(--navy);
  color:#fff;
  margin-bottom:14px;
}

.admissions-fit{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:34px;
  padding:42px;
  margin-bottom:46px;
  background:
    linear-gradient(120deg,#071728 0%,#0d2238 56%,#1d436c 100%);
}

.admissions-fit h2,
.admissions-fit p{
  color:#fff;
}

.admissions-fit-list{
  display:grid;
  gap:14px;
}

.admissions-fit-list div{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  padding:18px;
}

.admissions-fit-list strong{
  display:block;
  color:#fff;
  margin-bottom:4px;
}

.admissions-fit-list span{
  color:rgba(255,255,255,.82);
}

.admissions-final{
  text-align:center;
  padding:42px;
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.18),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
}

.admissions-final p{
  margin-left:auto;
  margin-right:auto;
}

.admissions-final .admissions-actions{
  justify-content:center;
}

@media(max-width:980px){
  .admissions-card-grid,
  .admissions-steps,
  .admissions-fit{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .admissions-lead,
  .admissions-fit,
  .admissions-final{
    padding:26px;
    border-radius:24px;
  }

  .admissions-card,
  .admissions-steps > div{
    border-radius:24px;
  }

  .admissions-actions .btn{
    width:100%;
  }
}
/* BLOG PAGE */

.blog-page{
  position:relative;
}

.blog-lead,
.blog-feature,
.blog-live-link{
  border-radius:34px;
  border:1px solid rgba(13,34,56,.08);
  box-shadow:0 24px 70px rgba(13,34,56,.08);
}

.blog-lead{
  padding:46px;
  margin-bottom:44px;
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.18),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
}

.blog-kicker{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
  font-size:.78rem;
  margin-bottom:12px;
}

.blog-lead h2,
.blog-section-head h2,
.blog-live-link h2{
  color:var(--navy);
  font-size:clamp(2.2rem,4vw,3.8rem);
  line-height:1.02;
}

.blog-lead p,
.blog-live-link p{
  color:#40556d;
  font-size:1.08rem;
  line-height:1.72;
  max-width:820px;
}

.blog-actions{
  display:flex;
  gap:12px;
  margin-top:24px;
}

.blog-feature{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:28px;
  padding:42px;
  margin-bottom:50px;
  background:
    linear-gradient(120deg,#071728 0%,#0d2238 56%,#1d436c 100%);
}

.blog-feature h3,
.blog-feature p{
  color:#fff;
}

.blog-feature-copy h3{
  font-size:clamp(2rem,3vw,3.2rem);
}

.blog-feature-copy p{
  color:rgba(255,255,255,.86);
  line-height:1.72;
}

.blog-feature-card{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.15);
  border-radius:28px;
  padding:30px;
}

.blog-feature-card span{
  display:inline-block;
  color:#f6d68b;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:900;
  margin-bottom:12px;
}

.blog-feature-card p{
  color:rgba(255,255,255,.86);
}

.blog-feature-card a{
  color:#f6d68b;
  font-weight:900;
  text-decoration:underline;
}

.blog-themes{
  margin-bottom:50px;
}

.blog-section-head{
  max-width:820px;
  margin-bottom:24px;
}

.blog-theme-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.blog-theme-grid article{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:0 18px 50px rgba(13,34,56,.07);
  padding:28px;
}

.blog-theme-grid h3{
  color:var(--navy);
  font-size:1.55rem;
}

.blog-theme-grid p{
  color:#40556d;
  line-height:1.65;
  margin:0;
}

.blog-live-link{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  padding:42px;
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.18),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
}

@media(max-width:980px){
  .blog-feature,
  .blog-theme-grid,
  .blog-live-link{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .blog-lead,
  .blog-feature,
  .blog-live-link{
    padding:26px;
    border-radius:24px;
  }

  .blog-actions .btn,
  .blog-live-link .btn{
    width:100%;
  }
}
/* APPLY NOW PAGE — PREMIUM POLISH */

body.page-id-25 .content-prose,
.apply-page{
  max-width:1180px;
}

body.page-id-25 .content-prose > h2:first-child,
.apply-page > h2:first-child{
  font-size:clamp(2.4rem,4vw,4rem);
  color:var(--navy);
  margin-bottom:10px;
}

body.page-id-25 .content-prose > h2:first-child + p,
.apply-page > h2:first-child + p{
  max-width:760px;
  color:#40556d;
  font-size:1.08rem;
  line-height:1.7;
  margin-bottom:30px;
}

body.page-id-25 .cards-3 > div,
body.page-id-25 .cards-2 > div,
body.page-id-25 .faq-grid > div{
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.10),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:0 18px 50px rgba(13,34,56,.07);
  padding:28px;
}

body.page-id-25 .cards-3 > div h4,
body.page-id-25 .cards-2 > div h4,
body.page-id-25 .faq-grid > div h4{
  color:var(--navy);
  font-size:1.45rem;
  margin-bottom:12px;
}

body.page-id-25 .cards-3 > div p,
body.page-id-25 .cards-2 > div p,
body.page-id-25 .faq-grid > div p{
  color:#40556d;
  line-height:1.65;
}

body.page-id-25 .btn-link{
  color:var(--gold);
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:4px;
}

body.page-id-25 .cards-3,
body.page-id-25 .cards-2,
body.page-id-25 .faq-grid{
  gap:20px;
  margin:28px 0;
}

body.page-id-25 #live-admissions-form{
  margin-top:58px;
  color:var(--navy);
  font-size:clamp(2rem,3.4vw,3.2rem);
}

body.page-id-25 #live-admissions-form + p{
  color:#40556d;
  font-size:1.05rem;
  margin-bottom:26px;
}

body.page-id-25 .wpforms-shell,
body.page-id-25 .embed-shell{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:34px;
  box-shadow:0 24px 70px rgba(13,34,56,.09);
  padding:34px;
  overflow:hidden;
}

body.page-id-25 .wpforms-container{
  max-width:100% !important;
  margin:0 !important;
}

body.page-id-25 .wpforms-form{
  font-family:"Inter",Arial,sans-serif !important;
}

body.page-id-25 .wpforms-form input,
body.page-id-25 .wpforms-form textarea,
body.page-id-25 .wpforms-form select{
  border-radius:14px !important;
  border:1px solid rgba(13,34,56,.14) !important;
  min-height:50px;
}

body.page-id-25 .wpforms-form button,
body.page-id-25 .wpforms-submit{
  border-radius:999px !important;
  background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
  color:#102136 !important;
  font-weight:900 !important;
  padding:14px 24px !important;
  border:0 !important;
}

body.page-id-25 .wpforms-page-indicator{
  margin-bottom:34px !important;
}

body.page-id-25 .wpforms-page-indicator-page-title{
  color:var(--navy) !important;
  font-weight:700 !important;
}

body.page-id-25 .wpforms-page-indicator-page-progress{
  background:var(--gold) !important;
}

@media(max-width:760px){
  body.page-id-25 .wpforms-shell,
  body.page-id-25 .embed-shell{
    padding:20px;
    border-radius:24px;
  }
}
/* FOOTER CONSISTENCY FIX */

.site-footer{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

.site-footer .container{
  width:min(calc(100% - 40px),var(--wrap));
  margin:auto;
}

.content-prose + .site-footer,
.mailing-list-band + .site-footer{
  margin-top:0;
}
/* FULL-WIDTH LANES FIX */

.mailing-list-band,
.site-footer{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

.mailing-list-band .container,
.site-footer .container{
  width:min(calc(100% - 40px),var(--wrap));
  margin:auto;
}
/* REMOVE GAP BELOW FOOTER */

html,
body{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.site-footer{
  margin-bottom:0 !important;
}

body::after,
.site-footer::after{
  display:none !important;
}

.site-footer + *{
  margin-top:0 !important;
  padding-top:0 !important;
}
/* SPACE ABOVE MAILING LIST SECTION */

.mailing-list-band{
  margin-top:70px !important;
  padding-top:70px !important;
  border-top:1px solid rgba(13,34,56,.08);
}
/* Footer spacing fix — safe version */

html,
body{
  margin:0;
  padding:0;
  background:#f3f7fb;
}

.site-footer{
  margin-bottom:0 !important;
}

body{
  min-height:100vh;
}

body::after{
  content:none !important;
}
/* Remove white gap under footer on Apply Now page */

.site-footer{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

body,
html{
  margin:0 !important;
  padding:0 !important;
}

main,
.site-content,
#content,
.page-content,
.entry-content{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

/* Last block before footer */
main > *:last-child,
.site-content > *:last-child,
.entry-content > *:last-child{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
/* HOW IT WORKS PAGE */

.how-page{
  position:relative;
}

.how-lead,
.how-model,
.how-expectations,
.how-final{
  border-radius:34px;
  border:1px solid rgba(13,34,56,.08);
  box-shadow:0 24px 70px rgba(13,34,56,.08);
}

.how-lead{
  padding:46px;
  margin-bottom:44px;
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.18),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
}

.how-kicker{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
  font-size:.78rem;
  margin-bottom:12px;
}

.how-lead h2,
.how-section-head h2,
.how-model h2,
.how-expectations h2,
.how-final h2{
  color:var(--navy);
  font-size:clamp(2.2rem,4vw,3.8rem);
  line-height:1.02;
}

.how-lead p,
.how-model p,
.how-expectations p,
.how-final p{
  color:#40556d;
  font-size:1.08rem;
  line-height:1.72;
  max-width:820px;
}

.how-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.how-section-head{
  max-width:860px;
  margin:0 0 24px;
}

.how-flow,
.how-systems,
.how-parent{
  margin-bottom:50px;
}

.how-step-grid,
.how-card-grid,
.how-parent-grid{
  display:grid;
  gap:20px;
}

.how-step-grid{
  grid-template-columns:repeat(4,1fr);
}

.how-card-grid,
.how-parent-grid{
  grid-template-columns:repeat(2,1fr);
}

.how-step-grid article,
.how-card-grid article,
.how-parent-grid article{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:0 18px 50px rgba(13,34,56,.07);
  padding:28px;
}

.how-step-grid b{
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:15px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#102136;
  font-weight:900;
  margin-bottom:16px;
}

.how-step-grid h3,
.how-card-grid h3,
.how-parent-grid h3{
  color:var(--navy);
  font-size:1.55rem;
}

.how-step-grid p,
.how-card-grid p,
.how-parent-grid p{
  color:#40556d;
  line-height:1.65;
  margin:0;
}

.how-model{
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:34px;
  padding:42px;
  margin-bottom:50px;
  background:
    linear-gradient(120deg,#071728 0%,#0d2238 56%,#1d436c 100%);
}

.how-model h2,
.how-model p{
  color:#fff;
}

.how-model-cards{
  display:grid;
  gap:14px;
}

.how-model-cards div{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:20px;
}

.how-model-cards span{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#102136;
  font-weight:900;
  margin-bottom:12px;
}

.how-model-cards h3{
  color:#fff;
  font-size:1.5rem;
}

.how-model-cards p{
  color:rgba(255,255,255,.84);
  margin:0;
}

.how-expectations{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:34px;
  padding:42px;
  margin-bottom:50px;
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.18),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
}

.how-expectation-list{
  display:grid;
  gap:14px;
}

.how-expectation-list div{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:20px;
  padding:18px;
  box-shadow:0 12px 34px rgba(13,34,56,.06);
}

.how-expectation-list strong{
  display:block;
  color:var(--navy);
  margin-bottom:4px;
}

.how-expectation-list span{
  color:#40556d;
}

.how-final{
  text-align:center;
  padding:42px;
  background:
    radial-gradient(circle at top right,rgba(202,165,92,.18),transparent 34%),
    linear-gradient(145deg,#fff,#fbf7ef);
}

.how-final p{
  margin-left:auto;
  margin-right:auto;
}

.how-final .how-actions{
  justify-content:center;
}

@media(max-width:980px){
  .how-step-grid,
  .how-card-grid,
  .how-parent-grid,
  .how-model,
  .how-expectations{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .how-lead,
  .how-model,
  .how-expectations,
  .how-final{
    padding:26px;
    border-radius:24px;
  }

  .how-step-grid article,
  .how-card-grid article,
  .how-parent-grid article{
    border-radius:24px;
  }

  .how-actions .btn{
    width:100%;
  }
}
.how-card-grid h3 a{
  color:var(--navy);
  text-decoration:none;
}

.how-card-grid h3 a:hover{
  color:var(--gold);
}
/* PROGRAMMES PAGE — VIDEO SECTION */

.programmes-video-section{
  padding:70px 0;
  background:
    radial-gradient(circle at 88% 10%,rgba(202,165,92,.10),transparent 26%),
    linear-gradient(180deg,#f7fafc 0%,#eef4fa 100%);
}

.programmes-video-grid{
  display:grid;
  grid-template-columns:1.15fr .925fr .925fr;
  gap:22px;
  align-items:stretch;
}

.programmes-video-card{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:28px;
  box-shadow:0 18px 50px rgba(13,34,56,.08);
  overflow:hidden;
}

.programmes-video-card .video-wrap{
  border-radius:0;
}

.programmes-video-copy{
  padding:24px;
}

.programmes-video-copy h3{
  color:var(--navy);
  font-size:1.55rem;
  margin-bottom:10px;
}

.programmes-video-copy p{
  color:#40556d;
  line-height:1.65;
  margin:0;
}

.featured-video{
  border-color:rgba(202,165,92,.28);
}

@media(max-width:980px){
  .programmes-video-grid{
    grid-template-columns:1fr;
  }
}
/* PROGRAMMES HERO VIDEO REPLACEMENT */

.programmes-hero-visual{
  position:relative;
  display:grid;
  gap:18px;
}

.programmes-hero-video{
  position:relative;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 28px 70px rgba(13,34,56,.14);
  border:1px solid rgba(13,34,56,.08);
  background:#0d2238;
}

.programmes-hero-video::before{
  content:"";
  display:block;
  padding-top:56.25%;
}

.programmes-hero-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.programmes-hero-quote{
  position:absolute;
  left:22px;
  right:22px;
  bottom:110px;
  background:linear-gradient(135deg,rgba(7,27,51,.94),rgba(13,34,56,.90));
  color:#fff;
  padding:24px 26px;
  border-radius:22px;
  box-shadow:0 22px 60px rgba(13,34,56,.20);
}

.programmes-hero-quote span{
  font-size:2rem;
  line-height:1;
  opacity:.65;
}

.programmes-hero-quote p{
  margin:6px 0 12px;
  color:#fff;
  line-height:1.65;
}

.programmes-hero-quote strong{
  color:#fff;
}

.programmes-hero-note{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:24px;
  padding:22px 24px;
  box-shadow:0 18px 50px rgba(13,34,56,.08);
}

.programmes-hero-note h4{
  margin:0 0 8px;
  color:var(--navy);
  font-size:1.1rem;
}

.programmes-hero-note p{
  margin:0;
  color:#425870;
  line-height:1.65;
}

@media(max-width:980px){

  .programmes-hero-quote{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:-8px;
  }
}
/* MOBILE HEADER LOGO FIX */

@media (max-width: 768px){

  .site-header .custom-logo,
  .site-header .custom-logo-link img,
  .site-header .site-logo img,
  .site-header .logo img,
  .site-header .navbar-brand img{
    max-width: 60px !important;
    width: 60px !important;
    height: auto !important;
    object-fit: contain;
  }

  .site-header .container,
  .header-inner,
  .nav-wrap{
    align-items: center;
  }

}
/* Mobile logo fix */
@media (max-width: 768px){

  .brand{
    min-width:auto;
  }

  .brand img{
    height:58px;
    width:auto;
    max-width:58px;
    display:block;
  }

  .header-inner{
    min-height:72px;
    gap:14px;
  }

}
/* Homepage hero heading — force clean 4-line layout on desktop */
@media (min-width:1100px){

  .hero-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:42px;
  }

  .hero-home h1{
    font-size:clamp(4.1rem,5.2vw,5.35rem);
    line-height:.94;
    letter-spacing:-.045em;
    max-width:12ch;
  }
.faculty-more{
  display:none;
}

.faculty-card.is-open .faculty-more{
  display:inline;
}

.faculty-toggle{
  margin-top:14px;
  border:0;
  background:transparent;
  color:var(--gold);
  font-weight:900;
  cursor:pointer;
  padding:0;
  font:inherit;
}
	.faculty-more{
  display:none;
  margin-top:14px;
}

.faculty-more p{
  margin:0 0 14px;
  color:#30475f;
  font-size:1rem;
  line-height:1.7;
  text-transform:none;
  letter-spacing:0;
  font-weight:400;
}

.faculty-carousel-card.is-open .faculty-more{
  display:block;
}

.faculty-toggle{
  margin-top:12px;
  background:none;
  border:none;
  color:#caa55c;
  font-weight:800;
  cursor:pointer;
  padding:0;
}
}
/* Hitting the Target lane */

.target-lane-dark{
  padding:78px 0;
  background:
    radial-gradient(circle at 88% 20%, rgba(202,165,92,.14), transparent 28%),
    linear-gradient(120deg,#071728 0%,#0d2238 55%,#163a60 100%);
}

.target-dark-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) 320px 330px;
  gap:46px;
  align-items:center;
  max-width:1240px;
}

.target-copy-dark{
  color:#fff;
}

.target-kicker{
  color:#e2c47f;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.82rem;
  font-weight:900;
  margin-bottom:14px;
}

.target-copy-dark h2{
  color:#fff;
  font-size:clamp(3.2rem,5vw,5.4rem);
  line-height:.92;
  letter-spacing:-.04em;
  margin:0 0 24px;
}

.target-copy-dark p{
  color:rgba(255,255,255,.86);
  font-size:1.08rem;
  line-height:1.7;
  margin:0 0 18px;
  max-width:560px;
}

.target-bold-dark{
  color:#fff !important;
  font-weight:900;
  font-size:1.12rem !important;
}

/* Bullseye */

.target-board-svg-wrap{
  width:320px;
  height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.target-board-svg{
  width:100%;
  height:auto;
  overflow:visible;
}

.target-svg-label{
  font-family:Arial, sans-serif;
  font-weight:900;
  font-size:18px;
  line-height:1;
}

.target-svg-label.small{
  font-size:15px;
}

.target-svg-white{
  fill:#ffffff;
}

.target-svg-center{
  font-family:Arial, sans-serif;
  font-weight:900;
  font-size:12px;
  fill:#071728;
}

/* Portrait video */

.target-video-portrait{
  position:relative;
  width:100%;
  max-width:330px;
  aspect-ratio:9 / 16;
  border-radius:28px;
  overflow:hidden;
  background:#000;
  border:10px solid rgba(0,0,0,.45);
  box-shadow:0 28px 80px rgba(0,0,0,.38);
}

.target-video-portrait iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

@media(max-width:1050px){
  .target-dark-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .target-copy-dark p{
    margin-left:auto;
    margin-right:auto;
  }

  .target-board-svg-wrap,
  .target-video-portrait{
    margin:auto;
  }
}

@media(max-width:760px){
  .target-lane-dark{
    padding:52px 0;
  }

  .target-board-svg-wrap{
    width:260px;
    height:260px;
  }

  .target-copy-dark h2{
    font-size:clamp(2.6rem,12vw,3.6rem);
  }
}
	/* TARGET STRIP */
.target-strip{
    background: linear-gradient(135deg,#041a35,#12355f);
    padding: 90px 0;
    color: white;
}

.target-strip-grid{
    display:grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap:70px;
    align-items:center;
}

.target-strip-copy .eyebrow{
    color:#d8b15a;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:18px;
}

.target-strip-copy h2{
    font-size:68px;
    line-height:0.95;
    margin-bottom:28px;
    font-weight:700;
    color:white;
}

.target-strip-copy p{
    font-size:22px;
    line-height:1.7;
    color:rgba(255,255,255,.92);
    margin-bottom:24px;
}

.target-strip-copy .target-bold{
    font-weight:700;
    color:white;
}

.target-btn{
    display:inline-block;
    margin-top:12px;
    background:#d8b15a;
    color:#08192e;
    padding:18px 34px;
    border-radius:999px;
    font-weight:700;
    text-decoration:none;
    transition:0.3s;
}

.target-btn:hover{
    transform:translateY(-2px);
}

.target-strip-video{
    display:flex;
    justify-content:center;
}

.phone-frame{
    width:340px;
    height:690px;
    border:8px solid #000;
    border-radius:38px;
    overflow:hidden;
    background:#000;
    box-shadow:0 30px 60px rgba(0,0,0,.35);
}

.phone-frame iframe{
    width:100%;
    height:100%;
    border:0;
}

/* MOBILE */
@media(max-width:991px){

.target-strip-grid{
    grid-template-columns:1fr;
    gap:50px;
}

.target-strip-copy h2{
    font-size:52px;
}

.target-strip-copy p{
    font-size:20px;
}

.phone-frame{
    width:300px;
    height:610px;
}

}

@media(max-width:600px){

.target-strip{
    padding:70px 0;
}

.target-strip-copy h2{
    font-size:42px;
}

.target-strip-copy p{
    font-size:18px;
}

.phone-frame{
    width:260px;
    height:530px;
}

}
	/* Family Services Page */

.family-services-page{
  background:#eef4fa;
}

.family-hero{
  padding:96px 0;
  background:
    radial-gradient(circle at 88% 18%, rgba(202,165,92,.16), transparent 28%),
    linear-gradient(120deg,#071728 0%,#0d2238 55%,#163a60 100%);
  color:#fff;
}

.family-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:48px;
  align-items:center;
}

.family-kicker{
  color:#d9b76f;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.82rem;
  font-weight:900;
  margin-bottom:14px;
}

.family-hero h1{
  color:#fff;
  font-size:clamp(3rem,6vw,6rem);
  line-height:.94;
  letter-spacing:-.045em;
  max-width:850px;
  margin:0 0 24px;
}

.family-hero p{
  color:rgba(255,255,255,.84);
  font-size:1.12rem;
  line-height:1.75;
  max-width:660px;
}

.family-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.family-hero-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:32px;
  padding:34px;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
}

.family-hero-card h3{
  color:#fff;
  font-size:2rem;
  line-height:1.05;
  margin-bottom:16px;
}

.family-card-label{
  color:#d9b76f;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.76rem;
  margin-bottom:14px;
}

.family-intro{
  padding:58px 0;
}

.family-intro-card{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:center;
  background:#fff;
  border-radius:32px;
  padding:42px;
  box-shadow:0 24px 70px rgba(13,34,56,.08);
  border:1px solid rgba(13,34,56,.08);
}

.family-intro h2,
.family-section-head h2,
.family-target-band h2,
.family-final-card h2{
  color:var(--navy);
  font-size:clamp(2.4rem,4vw,4.4rem);
  line-height:.98;
  letter-spacing:-.04em;
  margin:0 0 18px;
}

.family-intro p,
.family-section-head p,
.family-service-card p,
.family-target-band p,
.family-final-card p{
  color:#30475f;
  font-size:1.06rem;
  line-height:1.75;
}

.family-services-list{
  padding:50px 0 76px;
}

.family-section-head{
  margin-bottom:34px;
}

.family-service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.family-service-card{
  background:linear-gradient(145deg,#fff,#fffaf0);
  border:1px solid rgba(13,34,56,.08);
  border-radius:30px;
  padding:30px;
  box-shadow:0 20px 60px rgba(13,34,56,.07);
}

.family-service-card span{
  display:inline-flex;
  width:42px;
  height:42px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  background:var(--navy);
  color:#fff;
  font-weight:900;
  margin-bottom:20px;
}

.family-service-card h3{
  color:var(--navy);
  font-size:1.55rem;
  line-height:1.1;
  margin-bottom:12px;
}

.family-target-band{
  padding:84px 0;
  background:
    radial-gradient(circle at 85% 18%, rgba(202,165,92,.16), transparent 30%),
    linear-gradient(120deg,#071728 0%,#0d2238 55%,#163a60 100%);
}

.family-target-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:42px;
  align-items:center;
}

.family-target-band h2,
.family-target-band p{
  color:#fff;
}

.family-target-band p{
  color:rgba(255,255,255,.84);
}

.family-target-card{
  background:#fff;
  border-radius:30px;
  padding:34px;
  box-shadow:0 28px 80px rgba(0,0,0,.18);
}

.family-target-card h3{
  color:var(--navy);
  font-size:2rem;
  margin-bottom:18px;
}

.family-target-card ul{
  margin:0;
  padding-left:20px;
}

.family-target-card li{
  color:#30475f;
  margin-bottom:14px;
  line-height:1.6;
}

.family-events{
  padding:84px 0;
}

.family-section-head.center{
  text-align:center;
  max-width:820px;
  margin:0 auto 34px;
}

.family-calendar-wrap{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:30px;
  padding:28px;
  box-shadow:0 24px 70px rgba(13,34,56,.08);
}

.family-final-cta{
  padding:40px 0 90px;
}

.family-final-card{
  text-align:center;
  background:linear-gradient(145deg,#fff,#fff7e8);
  border:1px solid rgba(202,165,92,.22);
  border-radius:34px;
  padding:54px;
  box-shadow:0 24px 70px rgba(13,34,56,.08);
}

.family-final-card .family-actions{
  justify-content:center;
}

@media(max-width:1000px){
  .family-hero-grid,
  .family-intro-card,
  .family-target-grid{
    grid-template-columns:1fr;
  }

  .family-service-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .family-hero,
  .family-target-band,
  .family-events{
    padding:58px 0;
  }

  .family-service-grid{
    grid-template-columns:1fr;
  }

  .family-intro-card,
  .family-final-card{
    padding:30px;
  }

  .family-actions{
    flex-direction:column;
  }

  .family-actions .btn{
    width:100%;
  }
}
/* Business & Career Development Page */

.business-career-page{
  background:#eef4fa;
}

.career-hero{
  padding:96px 0;
  background:
    radial-gradient(circle at 88% 18%, rgba(202,165,92,.16), transparent 28%),
    linear-gradient(120deg,#071728 0%,#0d2238 55%,#163a60 100%);
  color:#fff;
}

.career-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:48px;
  align-items:center;
}

.career-kicker{
  color:#d9b76f;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.82rem;
  font-weight:900;
  margin-bottom:14px;
}

.career-hero h1{
  color:#fff;
  font-size:clamp(3rem,6vw,6rem);
  line-height:.94;
  letter-spacing:-.045em;
  max-width:880px;
  margin:0 0 24px;
}

.career-hero p{
  color:rgba(255,255,255,.84);
  font-size:1.12rem;
  line-height:1.75;
  max-width:680px;
}

.career-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.career-hero-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:32px;
  padding:34px;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
}

.career-hero-card h3{
  color:#fff;
  font-size:2rem;
  line-height:1.05;
  margin-bottom:16px;
}

.career-card-label{
  color:#d9b76f;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.76rem;
  margin-bottom:14px;
}

.career-intro{
  padding:58px 0;
}

.career-intro-card{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:center;
  background:#fff;
  border-radius:32px;
  padding:42px;
  box-shadow:0 24px 70px rgba(13,34,56,.08);
  border:1px solid rgba(13,34,56,.08);
}

.career-intro h2,
.career-section-head h2,
.career-rwr-band h2,
.career-final-card h2{
  color:var(--navy);
  font-size:clamp(2.4rem,4vw,4.4rem);
  line-height:.98;
  letter-spacing:-.04em;
  margin:0 0 18px;
}

.career-intro p,
.career-section-head p,
.career-service-card p,
.career-rwr-band p,
.career-final-card p{
  color:#30475f;
  font-size:1.06rem;
  line-height:1.75;
}

.career-services-list{
  padding:50px 0 76px;
}

.career-section-head{
  margin-bottom:34px;
}

.career-service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.career-service-card{
  background:linear-gradient(145deg,#fff,#fffaf0);
  border:1px solid rgba(13,34,56,.08);
  border-radius:30px;
  padding:30px;
  box-shadow:0 20px 60px rgba(13,34,56,.07);
}

.career-service-card span{
  display:inline-flex;
  width:42px;
  height:42px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  background:var(--navy);
  color:#fff;
  font-weight:900;
  margin-bottom:20px;
}

.career-service-card h3{
  color:var(--navy);
  font-size:1.55rem;
  line-height:1.1;
  margin-bottom:12px;
}

.career-rwr-band{
  padding:84px 0;
  background:
    radial-gradient(circle at 85% 18%, rgba(202,165,92,.16), transparent 30%),
    linear-gradient(120deg,#071728 0%,#0d2238 55%,#163a60 100%);
}

.career-rwr-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:42px;
  align-items:center;
}

.career-rwr-band h2,
.career-rwr-band p{
  color:#fff;
}

.career-rwr-band p{
  color:rgba(255,255,255,.84);
}

.career-rwr-card{
  background:#fff;
  border-radius:30px;
  padding:34px;
  box-shadow:0 28px 80px rgba(0,0,0,.18);
}

.career-rwr-card h3{
  color:var(--navy);
  font-size:2rem;
  margin-bottom:18px;
}

.career-rwr-card ul{
  margin:0;
  padding-left:20px;
}

.career-rwr-card li{
  color:#30475f;
  margin-bottom:14px;
  line-height:1.6;
}

.career-events{
  padding:84px 0;
}

.career-section-head.center{
  text-align:center;
  max-width:820px;
  margin:0 auto 34px;
}

.career-calendar-wrap{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:30px;
  padding:28px;
  box-shadow:0 24px 70px rgba(13,34,56,.08);
}

.career-final-cta{
  padding:40px 0 90px;
}

.career-final-card{
  text-align:center;
  background:linear-gradient(145deg,#fff,#fff7e8);
  border:1px solid rgba(202,165,92,.22);
  border-radius:34px;
  padding:54px;
  box-shadow:0 24px 70px rgba(13,34,56,.08);
}

.career-final-card .career-actions{
  justify-content:center;
}

@media(max-width:1000px){
  .career-hero-grid,
  .career-intro-card,
  .career-rwr-grid{
    grid-template-columns:1fr;
  }

  .career-service-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .career-hero,
  .career-rwr-band,
  .career-events{
    padding:58px 0;
  }

  .career-service-grid{
    grid-template-columns:1fr;
  }

  .career-intro-card,
  .career-final-card{
    padding:30px;
  }

  .career-actions{
    flex-direction:column;
  }

  .career-actions .btn{
    width:100%;
  }
}
/* Community Courses Page */

.community-courses-page{
  background:#eef4fa;
}

.community-hero{
  padding:96px 0;
  background:
    radial-gradient(circle at 88% 18%, rgba(202,165,92,.16), transparent 28%),
    linear-gradient(120deg,#071728 0%,#0d2238 55%,#163a60 100%);
  color:#fff;
}

.community-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:48px;
  align-items:center;
}

.community-kicker{
  color:#d9b76f;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.82rem;
  font-weight:900;
  margin-bottom:14px;
}

.community-hero h1{
  color:#fff;
  font-size:clamp(3rem,6vw,6rem);
  line-height:.94;
  letter-spacing:-.045em;
  max-width:900px;
  margin:0 0 24px;
}

.community-hero p{
  color:rgba(255,255,255,.84);
  font-size:1.12rem;
  line-height:1.75;
  max-width:680px;
}

.community-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.community-hero-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:32px;
  padding:34px;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
}

.community-hero-card h3{
  color:#fff;
  font-size:2rem;
  line-height:1.05;
  margin-bottom:16px;
}

.community-card-label{
  color:#d9b76f;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.76rem;
  margin-bottom:14px;
}

.community-intro{
  padding:58px 0;
}

.community-intro-card{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:center;
  background:#fff;
  border-radius:32px;
  padding:42px;
  box-shadow:0 24px 70px rgba(13,34,56,.08);
  border:1px solid rgba(13,34,56,.08);
}

.community-intro h2,
.community-section-head h2,
.community-impact-band h2,
.community-final-card h2{
  color:var(--navy);
  font-size:clamp(2.4rem,4vw,4.4rem);
  line-height:.98;
  letter-spacing:-.04em;
  margin:0 0 18px;
}

.community-intro p,
.community-section-head p,
.community-service-card p,
.community-impact-band p,
.community-final-card p{
  color:#30475f;
  font-size:1.06rem;
  line-height:1.75;
}

.community-services-list{
  padding:50px 0 76px;
}

.community-section-head{
  margin-bottom:34px;
}

.community-service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.community-service-card{
  background:linear-gradient(145deg,#fff,#fffaf0);
  border:1px solid rgba(13,34,56,.08);
  border-radius:30px;
  padding:30px;
  box-shadow:0 20px 60px rgba(13,34,56,.07);
}

.community-service-card span{
  display:inline-flex;
  width:42px;
  height:42px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  background:var(--navy);
  color:#fff;
  font-weight:900;
  margin-bottom:20px;
}

.community-service-card h3{
  color:var(--navy);
  font-size:1.55rem;
  line-height:1.1;
  margin-bottom:12px;
}

.community-impact-band{
  padding:84px 0;
  background:
    radial-gradient(circle at 85% 18%, rgba(202,165,92,.16), transparent 30%),
    linear-gradient(120deg,#071728 0%,#0d2238 55%,#163a60 100%);
}

.community-impact-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:42px;
  align-items:center;
}

.community-impact-band h2,
.community-impact-band p{
  color:#fff;
}

.community-impact-band p{
  color:rgba(255,255,255,.84);
}

.community-impact-card{
  background:#fff;
  border-radius:30px;
  padding:34px;
  box-shadow:0 28px 80px rgba(0,0,0,.18);
}

.community-impact-card h3{
  color:var(--navy);
  font-size:2rem;
  margin-bottom:18px;
}

.community-impact-card ul{
  margin:0;
  padding-left:20px;
}

.community-impact-card li{
  color:#30475f;
  margin-bottom:14px;
  line-height:1.6;
}

.community-events{
  padding:84px 0;
}

.community-section-head.center{
  text-align:center;
  max-width:820px;
  margin:0 auto 34px;
}

.community-calendar-wrap{
  background:#fff;
  border:1px solid rgba(13,34,56,.08);
  border-radius:30px;
  padding:28px;
  box-shadow:0 24px 70px rgba(13,34,56,.08);
}

.community-final-cta{
  padding:40px 0 90px;
}

.community-final-card{
  text-align:center;
  background:linear-gradient(145deg,#fff,#fff7e8);
  border:1px solid rgba(202,165,92,.22);
  border-radius:34px;
  padding:54px;
  box-shadow:0 24px 70px rgba(13,34,56,.08);
}

.community-final-card .community-actions{
  justify-content:center;
}

@media(max-width:1000px){
  .community-hero-grid,
  .community-intro-card,
  .community-impact-grid{
    grid-template-columns:1fr;
  }

  .community-service-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .community-hero,
  .community-impact-band,
  .community-events{
    padding:58px 0;
  }

  .community-service-grid{
    grid-template-columns:1fr;
  }

  .community-intro-card,
  .community-final-card{
    padding:30px;
  }

  .community-actions{
    flex-direction:column;
  }

  .community-actions .btn{
    width:100%;
  }
}
/* Mobile-only fix: Hitting the Target lane */
@media (max-width:760px){

  .target-lane,
  .target-strip,
  .target-lane-dark{
    margin:0 !important;
    padding:56px 18px !important;
    background:linear-gradient(135deg,#071728 0%,#0d2238 55%,#163a60 100%) !important;
    color:#fff !important;
    overflow:hidden !important;
  }

  .target-lane .container,
  .target-strip .container,
  .target-lane-dark .container{
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
    margin:0 auto !important;
  }

  .target-grid,
  .target-dark-grid,
  .target-strip-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:34px !important;
    align-items:center !important;
  }

  .target-copy,
  .target-copy-dark,
  .target-strip-copy{
    text-align:left !important;
    max-width:none !important;
    width:100% !important;
  }

  .target-kicker,
  .target-strip-copy .eyebrow,
  .target-copy-dark .target-kicker{
    display:block !important;
    color:#d9b76f !important;
    font-size:.76rem !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.16em !important;
    margin:0 0 12px !important;
  }

  .target-copy h2,
  .target-copy-dark h2,
  .target-strip-copy h2{
    color:#fff !important;
    font-size:clamp(3rem,15vw,4.1rem) !important;
    line-height:.9 !important;
    letter-spacing:-.045em !important;
    margin:0 0 24px !important;
  }

  .target-copy p,
  .target-copy-dark p,
  .target-strip-copy p{
    color:rgba(255,255,255,.86) !important;
    font-size:1.02rem !important;
    line-height:1.65 !important;
    margin:0 0 18px !important;
  }

  .target-bold,
  .target-bold-dark{
    color:#fff !important;
    font-weight:900 !important;
  }

  .target-board-svg-wrap,
  .target-board-wrap{
    width:260px !important;
    height:260px !important;
    margin:8px auto 0 !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }

  .target-board-svg{
    width:260px !important;
    height:260px !important;
  }

  .target-video-portrait,
  .target-strip-video,
  .target-video{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
  }

  .target-video-portrait,
  .phone-frame{
    max-width:270px !important;
    width:270px !important;
    height:auto !important;
    aspect-ratio:9 / 16 !important;
    margin:0 auto !important;
    border-radius:28px !important;
    overflow:hidden !important;
    background:#000 !important;
    border:8px solid rgba(0,0,0,.55) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.35) !important;
  }

  .target-video-portrait iframe,
  .phone-frame iframe{
    width:100% !important;
    height:100% !important;
    border:0 !important;
  }

  .target-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:48px !important;
    padding:0 22px !important;
    border-radius:999px !important;
    background:#d9b76f !important;
    color:#071728 !important;
    font-weight:900 !important;
    text-decoration:none !important;
    margin-top:8px !important;
  }
}

/* Homepage version: hide dartboard only on homepage */
@media (max-width:760px){
  body.home .target-board-svg-wrap,
  body.home .target-board-wrap{
    display:none !important;
  }
}
	/* Homepage Hitting the Target — isolated safe version */

.home-target-mobile-safe{
  background:
    radial-gradient(circle at 86% 18%, rgba(202,165,92,.16), transparent 30%),
    linear-gradient(120deg,#071728 0%,#0d2238 55%,#163a60 100%);
  color:#fff;
  padding:84px 0;
}

.home-target-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:64px;
  align-items:center;
  max-width:1120px;
}

.home-target-kicker{
  color:#d9b76f;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.82rem;
  font-weight:900;
  margin-bottom:14px;
}

.home-target-copy h2{
  color:#fff;
  font-size:clamp(3.2rem,5vw,5.4rem);
  line-height:.92;
  letter-spacing:-.045em;
  margin:0 0 24px;
}

.home-target-copy p{
  color:rgba(255,255,255,.86);
  font-size:1.08rem;
  line-height:1.7;
  margin:0 0 18px;
  max-width:620px;
}

.home-target-bold{
  color:#fff !important;
  font-weight:900;
}

.home-target-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 24px;
  border-radius:999px;
  background:#d9b76f;
  color:#071728;
  font-weight:900;
  text-decoration:none;
  margin-top:10px;
}

.home-target-video{
  position:relative;
  width:100%;
  max-width:330px;
  aspect-ratio:9 / 16;
  border-radius:28px;
  overflow:hidden;
  background:#000;
  border:10px solid rgba(0,0,0,.55);
  box-shadow:0 28px 80px rgba(0,0,0,.38);
}

.home-target-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Mobile */
@media(max-width:760px){

  .home-target-mobile-safe{
    padding:58px 20px;
  }

  .home-target-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:34px;
    padding:0;
  }

  .home-target-copy{
    text-align:left;
  }

  .home-target-kicker{
    font-size:.76rem;
    margin-bottom:12px;
  }

  .home-target-copy h2{
    font-size:clamp(3rem,15vw,4rem);
    line-height:.9;
    margin-bottom:22px;
  }

  .home-target-copy p{
    font-size:1.02rem;
    line-height:1.65;
    margin-bottom:18px;
  }

  .home-target-video{
    width:270px;
    max-width:270px;
    margin:0 auto;
    border-radius:26px;
    border-width:8px;
  }

  .home-target-btn{
    width:100%;
  }
}