/* ============================================================
   THE FRENCH ATELIER by Acadomia — Design System
   Editorial luxury: ivory + navy/black, gold accents.
   Cormorant Garamond (display, ital emphasis) + Inter (UI/body)
   ============================================================ */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ---------- Tokens ---------- */
:root{
  /* ===== OFFICIAL BRAND PALETTE (locked to brand deck) ===== */
  /* Deep Navy Blue — anchor, dark bg, headlines/body */
  --navy:#000034;            /* primary anchor */
  --navy-deep:#00001F;       /* deepest, for gradient base */
  --navy-soft:#1C2238;       /* lifted navy */
  --navy-mid:#00003E;
  --navy-line:#000049;
  --ink:#000034;
  --ink-soft:#3A3F5C;
  /* Gold Accent — premium highlights, fillings & dividers */
  --gold:#C8A96B;
  --gold-soft:#D8BC85;
  --gold-deep:#A98D52;
  --gold-line:rgba(200,169,107,.45);
  --gold-line-soft:rgba(200,169,107,.22);
  /* Warm Beige / Taupe — main light bg, overlays, subtle backgrounds */
  --ivory:#F3EFE9;           /* main light beige (brand) */
  --paper:#FAF7F1;           /* lifted beige */
  --cream:#E9E1D2;
  --cream-deep:#D8CAB5;      /* taupe (brand supportive) */
  /* Light Parisian Pink — headlines, bullets, backgrounds, icons, fillers */
  --pink:#F3D3D9;            /* primary pink (brand) */
  --pink-soft:#FBEFF2;       /* lightest pink bg (brand) */
  --pink-mid:#E498A6;
  --pink-deep:#C77E94;
  --pink-line:rgba(228,152,166,.40);
  /* Muted Terracotta — decorative headings/texts, quotes */
  --terra:#C76F50;           /* brand terracotta */
  --terra-soft:#E2B5A5;
  --terra-deep:#A95436;
  --terra-line:rgba(199,111,80,.38);

  /* Misc */
  --burgundy:#6B1E2C;
  --white:#FFFFFF;

  /* On-dark text */
  --on-dark:#F3EEE3;
  --on-dark-soft:rgba(243,238,227,.66);
  --on-dark-faint:rgba(243,238,227,.40);
  --dark-line:rgba(243,238,227,.18);
  --dark-line-soft:rgba(243,238,227,.10);

  /* On-light text */
  --on-light:#1A1E33;
  --on-light-soft:rgba(26,30,51,.66);
  --on-light-faint:rgba(26,30,51,.42);
  --light-line:rgba(26,30,51,.14);

  /* Type */
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Spacing scale */
  --sp-1:.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2rem; --sp-5:3rem;
  --sp-6:4rem; --sp-7:6rem; --sp-8:8rem; --sp-9:11rem;

  --maxw:1240px;
  --maxw-narrow:880px;
  --radius:3px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--on-light);
  line-height:1.7;
  font-weight:400;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ---------- Type ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.04;letter-spacing:-.01em}
.serif{font-family:var(--serif)}
.ital{font-style:italic}
.gold-ital{font-style:italic;color:var(--gold-deep);font-weight:500}
.on-dark .gold-ital{color:var(--gold-soft)}

.display-xl{font-size:clamp(3.8rem,9.6vw,8.8rem);line-height:.95;font-weight:600;letter-spacing:-.015em}
.display-lg{font-size:clamp(3.1rem,7vw,6.2rem);line-height:1.0;font-weight:600;letter-spacing:-.012em}
.display-md{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.03;font-weight:600}
.display-sm{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.07;font-weight:600}

.eyebrow{
  font-family:var(--sans);font-size:.72rem;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-deep);
}
.on-dark .eyebrow{color:var(--gold-soft)}
.eyebrow-line{display:inline-flex;align-items:center;gap:.9rem}
.eyebrow-line::before{content:"";width:34px;height:1px;background:var(--gold-line);display:inline-block}

.lede{font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.6;color:var(--on-light-soft);font-weight:300}
.on-dark .lede{color:var(--on-dark-soft)}

p{margin-bottom:1.1rem}
.muted{color:var(--on-light-soft)}
.on-dark .muted{color:var(--on-dark-soft)}

/* numerals */
.numeral{font-family:var(--serif);font-weight:500;color:var(--gold-deep);font-variant-numeric:lining-nums;line-height:1}
.on-dark .numeral{color:var(--gold-soft)}

/* ---------- Layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 2rem}
.wrap-narrow{max-width:var(--maxw-narrow);margin:0 auto;padding:0 2rem}
section{position:relative}
.section-pad{padding:var(--sp-8) 0}
.section-pad-sm{padding:var(--sp-6) 0}

.bg-navy{background:var(--navy);color:var(--on-dark)}
.bg-navy-deep{background:var(--navy-deep);color:var(--on-dark)}
.cta-band{background:var(--navy-deep);text-align:center;position:relative;overflow:hidden}
.cta-band .frame-border{inset:30px}
.hero-sub{font-size:clamp(1.05rem,1.5vw,1.3rem);color:var(--on-dark-soft);max-width:46ch;margin-bottom:2.4rem;font-weight:300;line-height:1.55}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
.live-dot{width:9px;height:9px;border-radius:50%;background:#e0413f;box-shadow:0 0 0 0 rgba(224,65,63,.6);animation:fa-pulse 2s infinite}
@keyframes fa-pulse{0%{box-shadow:0 0 0 0 rgba(224,65,63,.6)}70%{box-shadow:0 0 0 10px rgba(224,65,63,0)}100%{box-shadow:0 0 0 0 rgba(224,65,63,0)}}
.bg-ivory{background:var(--ivory)}
.bg-paper{background:var(--paper)}
.bg-cream{background:var(--cream)}
.on-dark{color:var(--on-dark)}

.grid{display:grid;gap:2.5rem}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.split-wide{grid-template-columns:1.1fr .9fr}

/* ---------- Editorial frame (hairline border + corner ticks) ---------- */
.framed{position:relative}
.frame-border{
  position:absolute;inset:22px;border:1px solid var(--gold-line-soft);
  pointer-events:none;z-index:2;
}
.on-dark .frame-border{border-color:var(--dark-line)}
.frame-tick{position:absolute;width:14px;height:14px;z-index:3;pointer-events:none}
.frame-tick::before,.frame-tick::after{content:"";position:absolute;background:var(--gold-line)}
.on-dark .frame-tick::before,.on-dark .frame-tick::after{background:rgba(200,165,96,.5)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--sans);font-size:.8rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  padding:1.05rem 2.1rem;border-radius:var(--radius);
  transition:all .4s var(--ease);cursor:pointer;
}
.btn-gold{background:var(--gold);color:var(--navy-deep)}
.btn-gold:hover{background:var(--gold-soft);transform:translateY(-2px);box-shadow:0 12px 30px rgba(200,165,96,.28)}
.btn-outline{border:1px solid var(--gold-line);color:var(--gold-deep);background:transparent}
.on-dark .btn-outline{color:var(--gold-soft);border-color:rgba(200,165,96,.5)}
.btn-outline:hover{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
.btn-ghost-dark{border:1px solid var(--dark-line);color:var(--on-dark)}
.btn-ghost-dark:hover{border-color:var(--gold-soft);color:var(--gold-soft)}
.btn-lg{padding:1.2rem 2.6rem;font-size:.82rem}

.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);transition:gap .3s var(--ease)}
.on-dark .link-arrow{color:var(--gold-soft)}
.link-arrow:hover{gap:.9rem}
.link-arrow svg{width:18px;height:10px}

/* ---------- Header / Nav ---------- */
/* ============================================================
   NAVIGATION — redesigned v3 (spacious, crisp, premium)
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .45s var(--ease),padding .45s var(--ease),box-shadow .45s var(--ease);
  padding:1.5rem 0;
}
.site-header.scrolled{
  background:rgba(0,0,31,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  padding:.95rem 0;box-shadow:0 1px 0 var(--dark-line-soft),0 18px 40px -28px rgba(0,0,0,.6);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.nav-logo{display:flex;align-items:center;gap:.85rem;color:var(--on-dark);flex-shrink:0}
.nav-logo-img{height:44px;width:auto;display:block;transition:height .45s var(--ease)}
.site-header.scrolled .nav-logo-img{height:38px}
.logo-mark{display:none!important}
.nav-logo .logo-text{display:flex;flex-direction:column;line-height:1.05}
.nav-logo .logo-text .lt-main{font-family:var(--serif);font-size:1.42rem;font-weight:600;letter-spacing:.012em;color:var(--on-dark)}
.nav-logo .logo-text .lt-sub{font-family:var(--sans);font-size:.58rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-soft);margin-top:4px}

.nav-menu{display:flex;align-items:center;gap:.35rem}
.nav-item{position:relative;display:flex;align-items:center}
.nav-link{
  font-family:var(--sans);font-size:.8rem;font-weight:500;
  letter-spacing:.06em;color:var(--on-dark);
  padding:.7rem .95rem;border-radius:8px;
  transition:color .28s var(--ease),background .28s var(--ease);
  display:inline-flex;align-items:center;gap:.42rem;white-space:nowrap;position:relative;
}
.nav-link::after{
  content:"";position:absolute;left:.95rem;right:.95rem;bottom:.42rem;height:1.5px;
  background:var(--gold-soft);transform:scaleX(0);transform-origin:left center;
  transition:transform .32s var(--ease);border-radius:2px;
}
.nav-link:hover{color:var(--gold-soft);background:rgba(243,238,227,.05)}
.nav-link:hover::after,.nav-item:hover>.nav-link::after,.nav-link.active::after{transform:scaleX(1)}
.nav-link.active{color:var(--gold-soft)}
.nav-caret{width:10px;height:6px;opacity:.65;transition:transform .3s var(--ease),opacity .3s}
.nav-item:hover .nav-caret{opacity:1;transform:rotate(180deg)}

.nav-dropdown{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(14px);
  background:rgba(0,0,31,.98);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid var(--gold-line-soft);border-radius:14px;
  min-width:248px;padding:.8rem;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
  box-shadow:0 30px 64px -24px rgba(0,0,0,.7);
}
/* hover bridge so the menu doesn't close when moving cursor down */
.nav-item::after{content:"";position:absolute;top:100%;left:0;right:0;height:18px}
.nav-item:hover .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(8px)}
.nav-dropdown a{display:block;padding:.8rem 1.05rem;font-size:.84rem;letter-spacing:.01em;font-weight:500;color:var(--on-dark-soft);transition:color .22s var(--ease),background .22s var(--ease),padding-left .22s var(--ease);border-radius:9px}
.nav-dropdown a:hover{background:rgba(200,165,96,.12);color:var(--gold-soft);padding-left:1.35rem}
/* wide two-track courses dropdown */
.nav-dropdown-wide{min-width:600px;display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.6rem;padding:1.3rem 1.4rem}
.nav-dd-col{display:flex;flex-direction:column}
.nav-dd-head{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);font-weight:700;padding:.2rem .5rem .8rem;border-bottom:1px solid var(--gold-line-soft);margin-bottom:.5rem;line-height:1.5}
.nav-dropdown-wide a{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.nav-dropdown-wide a em{font-style:normal;font-size:.66rem;letter-spacing:.08em;color:var(--gold-soft);opacity:.75;text-transform:uppercase;white-space:nowrap}
.nav-dropdown-wide a:hover{padding-left:1.05rem}
.nav-dd-divide{display:block;height:1px;background:var(--gold-line-soft);margin:.55rem .5rem}
@media(max-width:1040px){.nav-dropdown-wide{min-width:0;grid-template-columns:1fr;gap:.2rem}}
.nav-cta{margin-left:.9rem;padding:.78rem 1.5rem;font-size:.76rem;letter-spacing:.1em}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:10px;border-radius:8px;transition:background .25s}
.nav-toggle:hover{background:rgba(243,238,227,.06)}
.nav-toggle span{width:26px;height:2px;background:var(--on-dark);border-radius:2px;transition:.3s}

/* mobile drawer — clean, premium */
.nav-drawer{
  position:fixed;inset:0;background:var(--navy-deep);z-index:200;
  transform:translateX(100%);transition:transform .5s var(--ease);
  padding:5.5rem 1.8rem 2.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.nav-drawer.open{transform:translateX(0)}
.nav-drawer-close{position:absolute;top:1.5rem;right:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--on-dark);font-size:2rem;line-height:1;border-radius:10px;transition:background .25s}
.nav-drawer-close:hover{background:rgba(243,238,227,.07);color:var(--gold-soft)}
.nav-drawer>a{display:flex;align-items:center;color:var(--on-dark);font-family:var(--serif);font-size:1.55rem;font-weight:500;padding:.85rem .4rem;border-bottom:1px solid var(--dark-line-soft);transition:color .25s,padding-left .25s}
.nav-drawer>a:hover{color:var(--gold-soft);padding-left:.9rem}
.nav-drawer .drawer-sub{display:flex;flex-direction:column;padding:.3rem 0 .4rem}
.nav-drawer .drawer-sub a{display:block;font-family:var(--sans);font-size:1rem;font-weight:500;padding:.55rem 0 .55rem 1.1rem;color:var(--on-dark-soft);border:none;transition:color .25s,padding-left .25s}
.nav-drawer .drawer-sub a:hover{color:var(--gold-soft);padding-left:1.5rem}
.nav-drawer .drawer-group-label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);font-weight:700;margin-top:1.6rem;margin-bottom:.3rem;display:block}
.nav-drawer .btn{display:block;text-align:center;width:100%;margin-top:1.8rem;padding:1rem}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-deep);color:var(--on-dark);padding:5rem 0 2.5rem;position:relative}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid var(--dark-line-soft)}
.footer-brand .logo-mark{width:48px;height:48px;margin-bottom:1.2rem}
.footer-brand p{color:var(--on-dark-soft);font-size:.92rem;max-width:32ch}
.footer-col h4{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:1.2rem}
.footer-col a{display:block;color:var(--on-dark-soft);font-size:.92rem;padding:.34rem 0;transition:color .25s}
.footer-col a:hover{color:var(--gold-soft)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:2rem}
.footer-bottom p{color:var(--on-dark-faint);font-size:.8rem;margin:0}
.footer-social{display:flex;gap:1rem}
.footer-social a{width:38px;height:38px;border:1px solid var(--dark-line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--on-dark-soft);transition:all .3s}
.footer-social a:hover{border-color:var(--gold-soft);color:var(--gold-soft);transform:translateY(-2px)}
.footer-social svg{width:17px;height:17px}

/* ---------- Cards ---------- */
.card{background:var(--white);border:1px solid var(--light-line);transition:all .45s var(--ease);overflow:hidden}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(11,19,64,.12)}
.card-img{aspect-ratio:4/3;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .card-img img{transform:scale(1.05)}
.card-body{padding:1.8rem}

/* ---------- Hero overlay text ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:var(--on-dark);overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(8,14,43,.86) 0%,rgba(8,14,43,.62) 42%,rgba(8,14,43,.28) 100%)}
.hero-content{position:relative;z-index:3}

/* ---------- Image treatments ---------- */
.img-tag{position:absolute;top:0;left:0;background:var(--paper);color:var(--on-light);font-family:var(--serif);font-style:italic;font-size:1.1rem;padding:.4rem 1rem;z-index:2}
.img-caption{font-family:var(--serif);font-style:italic;font-size:.92rem;color:var(--on-light-soft);margin-top:.7rem}
.on-dark .img-caption{color:var(--on-dark-soft)}
.duotone{filter:grayscale(1) contrast(1.02)}

/* ---------- Pull quote ---------- */
.pullquote{position:relative;padding:2rem 0 2rem 3.5rem}
.pullquote::before{content:"\201C";position:absolute;left:-.3rem;top:-1.5rem;font-family:var(--serif);font-size:7rem;color:var(--gold-line);line-height:1}
.pullquote p{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem);font-style:italic;line-height:1.3;color:var(--on-light)}
.on-dark .pullquote p{color:var(--on-dark)}
.pullquote cite{display:block;margin-top:1.2rem;font-family:var(--sans);font-style:normal;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.on-dark .pullquote cite{color:var(--gold-soft)}

/* ---------- Timeline ---------- */
.timeline{position:relative;padding:2rem 0}
.timeline-line{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gold-line-soft)}
.timeline-row{display:flex;justify-content:space-between;position:relative}
.tl-node{text-align:center;flex:1}
.tl-node .tl-dot{width:10px;height:10px;background:var(--gold);margin:0 auto .9rem;transform:rotate(45deg)}
.tl-node .tl-year{font-family:var(--serif);font-size:1.5rem;color:var(--gold-deep)}
.on-dark .tl-node .tl-year{color:var(--gold-soft)}
.tl-node .tl-label{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-light-soft);margin-top:.3rem}
.on-dark .tl-node .tl-label{color:var(--on-dark-soft)}

/* ---------- Stat / pledge ---------- */
.stat{text-align:center}
.stat .stat-num{font-family:var(--serif);font-size:clamp(2.8rem,5vw,4.4rem);font-weight:600;color:var(--gold-deep);line-height:1}
.on-dark .stat .stat-num{color:var(--gold-soft)}
.stat .stat-label{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-light-soft);margin-top:.6rem}
.on-dark .stat .stat-label{color:var(--on-dark-soft)}

/* ---------- Page header (interior pages) ---------- */
.page-hero{position:relative;padding:11rem 0 5rem;background:var(--navy);color:var(--on-dark);overflow:hidden}
.page-hero-bg{position:absolute;inset:0;z-index:0;opacity:.34}
.page-hero-bg img{width:100%;height:100%;object-fit:cover}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,43,.7),rgba(8,14,43,.92));z-index:1}
.page-hero .wrap{position:relative;z-index:3}
.page-hero .lede{color:var(--on-dark-soft)}
.page-hero h1,.page-hero h2{color:var(--on-dark);-webkit-text-fill-color:var(--on-dark)}
.page-hero .breadcrumb,.page-hero .breadcrumb a,.page-hero .breadcrumb span{color:var(--on-dark-soft)}
.breadcrumb{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-faint);margin-bottom:1.4rem}
.breadcrumb a:hover{color:var(--gold-soft)}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}.reveal-d4{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ---------- Divider ---------- */
.gold-rule{width:60px;height:1px;background:var(--gold);margin:1.6rem 0}
.gold-rule.center{margin:1.6rem auto}
.diamond-rule{display:flex;align-items:center;gap:1rem;justify-content:center;color:var(--gold-line)}
.diamond-rule::before,.diamond-rule::after{content:"";height:1px;width:80px;background:var(--gold-line-soft)}
.diamond-rule .d{width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .nav-menu{display:none}
  .nav-toggle{display:flex}
  .nav-cta{display:none}
}
@media (max-width:980px){
  .split,.split-wide{grid-template-columns:1fr;gap:2.5rem}
  .g3,.g4{grid-template-columns:repeat(2,1fr)}
  .footer-top{grid-template-columns:1fr 1fr}
  .timeline-row{flex-wrap:wrap;gap:1.5rem}
  .tl-node{flex:0 0 45%}
  .timeline-line{display:none}
}
@media (max-width:600px){
  body{font-size:16px}
  .wrap,.wrap-narrow{padding:0 1.3rem}
  .section-pad{padding:var(--sp-6) 0}
  .g2,.g3,.g4{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .frame-border{inset:12px}
  .pullquote{padding-left:1.5rem}
  .pullquote::before{font-size:4rem;left:-.5rem;top:-1rem}
}

/* ============================================================
   VIDEO SYSTEM (shared across all pages)
   Three patterns:
   1. .video-bg   — full-bleed ambient bg inside any .hero/.page-hero/.video-section
   2. .video-frame — a bordered editorial video block (in splits/cards)
   3. .sound-video — click-to-unmute (for FA class footage with real audio)
   All ambient videos: autoplay muted loop playsinline (handled in fa.js).
   ============================================================ */

/* 1. Ambient full-bleed background video (replaces .hero-bg img) */
.video-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.video-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,43,.55),rgba(8,14,43,.78))}
.video-bg.tint-soft::after{background:linear-gradient(180deg,rgba(8,14,43,.35),rgba(8,14,43,.6))}

/* A standalone cinematic band: caption left, ambient video fills section */
.video-band{position:relative;overflow:hidden;min-height:64vh;display:flex;align-items:center;color:var(--on-dark);padding:5rem 0}
.video-band .video-bg::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(8,14,43,.42)}
.video-band .video-bg::after{z-index:1;background:linear-gradient(90deg,rgba(8,14,43,.9) 0%,rgba(8,14,43,.78) 45%,rgba(8,14,43,.5) 72%,rgba(8,14,43,.25) 100%)}
.video-band .vb-inner{position:relative;z-index:2;max-width:42rem}
.video-band .vb-inner .lede{color:var(--on-dark)}

/* 2. Editorial bordered video (use inside .split, cards, course pages) */
.video-frame{position:relative;border:1px solid var(--gold-line-soft);overflow:hidden;background:var(--navy-deep)}
.video-frame video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.video-frame.portrait video{aspect-ratio:3/4}
.video-frame figcaption{position:absolute;left:0;bottom:0;right:0;padding:1.1rem 1.2rem;background:linear-gradient(0deg,rgba(8,14,43,.85),transparent);color:var(--on-dark);font-size:.8rem;letter-spacing:.04em;z-index:2}

/* 3. Click-to-unmute (FA class footage with speech) */
.sound-video{position:relative;border:1px solid var(--gold-line-soft);overflow:hidden;background:var(--navy-deep)}
.sound-video video{width:100%;display:block}
.sound-toggle{position:absolute;bottom:1rem;right:1rem;background:rgba(8,14,43,.82);color:var(--gold-soft);border:1px solid var(--gold-line);padding:.6rem 1.1rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;border-radius:2px;backdrop-filter:blur(6px);cursor:pointer}
.sound-toggle:hover{color:var(--gold);border-color:var(--gold)}
.sound-video .si-on{display:none}
.sound-video.unmuted .si-on{display:inline}
.sound-video.unmuted .si-muted{display:none}

@media (max-width:600px){.video-band{min-height:52vh}}

/* Light-hero pages: give the fixed header a solid navy bar so light nav text stays legible from the top */
body.light-hero .site-header{background:rgba(8,14,43,.95);backdrop-filter:blur(14px);padding:.95rem 0;box-shadow:0 1px 0 var(--dark-line-soft)}
body.light-hero .site-header.scrolled{padding:.85rem 0}

/* ============================================================
   INTERACTIVE COURSE WORLDS (longevity-style expandable panels)
   ============================================================ */
.worlds-track{display:flex;flex-direction:column;gap:2.2rem;margin-top:3rem;max-width:1080px;margin-left:auto;margin-right:auto}
.world{
  border:1px solid color-mix(in srgb,var(--w-accent2) 50%, rgba(255,255,255,.2));
  border-radius:28px;
  overflow:hidden;
  /* full colored gradient background, one per course via --w-accent/--w-accent2 — BRAND palette + glass 3D */
  background:
    radial-gradient(125% 150% at 10% 4%, color-mix(in srgb,var(--w-accent) 34%, transparent), transparent 52%),
    radial-gradient(120% 130% at 92% 100%, color-mix(in srgb,var(--w-accent2) 40%, transparent), transparent 56%),
    linear-gradient(152deg, var(--w-accent) 0%, var(--w-accent2) 100%);
  color:#fff;
  box-shadow:
    0 44px 90px -34px color-mix(in srgb,var(--w-accent2) 78%, transparent),
    0 8px 22px -8px rgba(0,0,52,.40),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 0 0 1px rgba(255,255,255,.05);
  transition:transform .55s var(--ease),box-shadow .55s var(--ease);
  position:relative;
  transform:translateZ(0);
  backdrop-filter:saturate(1.05);
}
.world::after{
  /* glassy see-through top sheen for the 3D look */
  content:"";position:absolute;left:0;right:0;top:0;height:52%;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.04) 60%,rgba(255,255,255,0));
  mix-blend-mode:screen;
}
@media(hover:hover){
  .world:hover{transform:translateY(-5px);
    box-shadow:0 42px 80px -30px color-mix(in srgb,var(--w-accent2) 80%, transparent),0 6px 18px -6px rgba(8,14,43,.34),inset 0 1px 0 rgba(255,255,255,.18);}
}
.world.is-open{
  box-shadow:0 44px 90px -30px color-mix(in srgb,var(--w-accent2) 85%, transparent),0 6px 18px -6px rgba(8,14,43,.34),inset 0 1px 0 rgba(255,255,255,.18);
}
.world-head{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;
  padding:2.3rem 2.6rem;background:transparent;border:0;cursor:pointer;
  text-align:left;font-family:inherit;color:#fff;position:relative;z-index:1;
}
.world-head-l{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.world-eyebrow{
  font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.world-title{font-family:var(--serif);font-size:2.5rem;font-weight:600;line-height:1.03;color:#fff;letter-spacing:-.01em}
.world-region{font-size:.92rem;color:rgba(255,255,255,.72);letter-spacing:.02em}
.world-head-r{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.world-level{
  font-size:.82rem;font-weight:600;letter-spacing:.04em;color:#fff;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(6px);
  padding:.42rem .85rem;border-radius:999px;white-space:nowrap;
}
.world-toggle{
  width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.12);
  position:relative;flex-shrink:0;transition:transform .5s var(--ease),background .4s var(--ease)
}
.world-toggle::before,.world-toggle::after{
  content:"";position:absolute;left:50%;top:50%;background:#fff;
  transform:translate(-50%,-50%);transition:opacity .4s var(--ease)
}
.world-toggle::before{width:12px;height:2px}
.world-toggle::after{width:2px;height:12px}
.world.is-open .world-toggle{background:rgba(255,255,255,.22)}
.world.is-open .world-toggle::after{opacity:0}
.world-body{
  display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)
}
.world.is-open .world-body{grid-template-rows:1fr}
.world-body-inner{overflow:hidden;padding:0 2.6rem;position:relative;z-index:1}
.world.is-open .world-body-inner{padding:0 2.6rem 2.7rem}
.world-tagline{
  font-family:var(--serif);font-size:1.3rem;font-style:italic;color:rgba(255,255,255,.92);
  margin:.2rem 0 1.5rem;max-width:60ch
}
.world-scenes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.8rem}
.world-scene{margin:0;border-radius:14px;overflow:hidden;position:relative;background:rgba(0,0,0,.18);box-shadow:0 14px 30px -16px rgba(0,0,0,.5)}
.world-scene img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.world-scene:hover img{transform:scale(1.045)}
.world-scene figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:.7rem .85rem .6rem;
  font-size:.8rem;font-weight:600;letter-spacing:.01em;color:#fff;
  background:linear-gradient(0deg,rgba(8,14,43,.82),rgba(8,14,43,0));
}
.world-units-label{
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.8);margin-bottom:.9rem
}
.world-units{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;flex-direction:column;gap:.7rem}
.world-unit{
  display:grid;grid-template-columns:auto 1fr;gap:.3rem 1.1rem;align-items:baseline;
  padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.2)
}
.world-unit:last-child{border-bottom:0;padding-bottom:0}
.wu-num{font-size:.74rem;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.78);white-space:nowrap}
.wu-fr{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:#fff}
.wu-en{grid-column:2;font-size:.92rem;line-height:1.5;color:rgba(255,255,255,.82)}
.world-meta{
  display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.85rem;color:rgba(255,255,255,.85);
  margin-bottom:1.5rem;font-weight:500
}
.world-meta span{position:relative;padding-left:1.1rem}
.world-meta span::before{content:"";position:absolute;left:0;top:.45em;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.7)}
.world-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.world .btn-gold{background:#fff;color:var(--navy);border:0}
.world .btn-gold:hover{filter:brightness(.96)}
.world .btn-outline{border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08)}
.world .btn-outline:hover{background:rgba(255,255,255,.18)}

/* ============================================================
   SIX-PILLAR CULTURE MOTION VIDEO GRID
   ============================================================ */
.pillars-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.8rem
}
.pillar{
  position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/5;
  display:block;color:#fff;text-decoration:none;
  box-shadow:0 18px 48px -24px rgba(8,14,43,.55)
}
.pillar video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;
  transition:transform 1.1s var(--ease)
}
.pillar:hover video{transform:scale(1.06)}
.pillar::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(0deg,rgba(8,14,43,.78) 0%,rgba(8,14,43,.18) 45%,rgba(8,14,43,.05) 100%)
}
.pillar-body{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:1.6rem 1.5rem 1.5rem}
.pillar-num{
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-soft);margin-bottom:.5rem;display:block
}
.pillar-title{font-family:var(--serif);font-size:1.7rem;font-weight:600;line-height:1.08;margin-bottom:.45rem}
.pillar-desc{font-size:.88rem;line-height:1.5;opacity:.86;max-width:32ch}

/* ---------- CULTURE FOLD — DARK IMMERSIVE (Longevity-style) ---------- */
.culture-dark{
  position:relative;
  background:
    radial-gradient(130% 90% at 18% 0%, rgba(196,122,78,.16) 0%, transparent 46%),
    radial-gradient(120% 90% at 88% 14%, rgba(228,166,184,.14) 0%, transparent 44%),
    radial-gradient(140% 120% at 50% 120%, rgba(200,165,96,.10) 0%, transparent 55%),
    linear-gradient(180deg, #0A1030 0%, #0B1340 48%, #080C26 100%);
  color:#F4EEE2;
  border-top:1px solid rgba(200,165,96,.14);
  border-bottom:1px solid rgba(200,165,96,.14);
  overflow:hidden;
}
.culture-dark::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:42px 42px;opacity:.5;mix-blend-mode:screen;
}
.culture-dark .wrap{position:relative;z-index:1}
.culture-head{text-align:center;margin-bottom:1rem}
.culture-dark .eyebrow{color:var(--gold)}
.culture-dark .display-md{color:#fff}
.culture-dark .gold-ital{color:var(--gold)}
.culture-dark .lede{color:rgba(244,238,226,.78)}
.culture-dark .pillar{box-shadow:0 26px 70px -30px rgba(0,0,0,.8);border:1px solid rgba(200,165,96,.16)}
.culture-dark .pillar::after{background:linear-gradient(0deg,rgba(5,9,28,.88) 0%,rgba(8,14,43,.30) 48%,rgba(8,14,43,.04) 100%)}
.culture-dark .pillar-title{color:#fff}
.culture-dark .pillar-desc{color:rgba(244,238,226,.84)}

/* ---------- FAQ ACCORDION (global — used on homepage + faq.html) ---------- */
.faq-list{max-width:780px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--gold-line-soft)}
.faq-item:first-child{border-top:1px solid var(--gold-line-soft)}
.faq-btn{width:100%;background:none;border:none;padding:1.6rem 0.4rem;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.6rem;font-family:var(--serif);font-size:1.28rem;color:var(--on-light);line-height:1.3}
.faq-btn:hover{color:var(--gold-deep)}
.faq-icon{flex-shrink:0;width:28px;height:28px;border:1px solid var(--gold-line);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s,background .3s,border-color .3s}
.faq-icon svg{width:12px;height:12px;transition:transform .3s}
.faq-btn[aria-expanded="true"] .faq-icon{background:var(--gold-deep);border-color:var(--gold-deep)}
.faq-btn[aria-expanded="true"] .faq-icon svg{transform:rotate(180deg)}
.faq-btn[aria-expanded="true"] .faq-icon svg path{stroke:#fff}
.faq-body{display:none;padding-bottom:1.8rem}
.faq-body.open{display:block}
.faq-body p{font-size:1.02rem;line-height:1.7;color:var(--on-light-soft);max-width:68ch}
.faq-num{font-family:var(--serif);font-size:.88rem;color:var(--gold-deep);margin-right:.6rem;font-style:italic}

/* ============================================================
   MEET OUR TEACHERS — VIDEO GRID
   ============================================================ */
.teacher-vids{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin-top:2.6rem}
.tvid{background:var(--white);border:1px solid var(--gold-line-soft);border-radius:16px;overflow:hidden;
  box-shadow:0 14px 40px -26px rgba(8,14,43,.4)}
.tvid-frame{position:relative;aspect-ratio:16/9;background:#000}
.tvid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tvid-body{padding:1.1rem 1.3rem 1.25rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.tvid-name{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--on-light)}
.tvid-region{font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}

/* ============================================================
   PARTNER TRUST STRIP
   ============================================================ */
.trust-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2.6rem 3.4rem;margin-top:1.8rem}
.trust-strip img{height:38px;width:auto;opacity:.62;filter:grayscale(1);transition:opacity .4s var(--ease),filter .4s var(--ease)}
.trust-strip img:hover{opacity:.95;filter:grayscale(0)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:860px){
  .pillars-grid{grid-template-columns:repeat(2,1fr)}
  .teacher-vids{grid-template-columns:1fr}
  .world-scenes{grid-template-columns:1fr;gap:.8rem}
  .world-title{font-size:1.55rem}
  .world-head{padding:1.3rem 1.3rem 1.3rem 1.6rem;gap:1rem}
  .world-body-inner,.world.is-open .world-body-inner{padding-left:1.6rem;padding-right:1.6rem}
  .world-head-r{gap:.8rem}
  .world-level{font-size:.72rem;padding:.34rem .6rem}
}
@media(max-width:520px){
  /* Pillars become a horizontal SWIPE slider instead of 6 huge stacked cards */
  .pillars-grid{
    display:flex;grid-template-columns:none;gap:.9rem;
    overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;
    padding-bottom:1rem;scrollbar-width:none;margin-top:2rem;
  }
  .pillars-grid::-webkit-scrollbar{display:none}
  .pillar{flex:0 0 80%;scroll-snap-align:center;aspect-ratio:4/5;}
  .pillar-title{font-size:1.42rem}
  .pillar-desc{font-size:.84rem;max-width:30ch}
  .trust-strip{gap:1.6rem 2rem}
  .trust-strip img{height:30px}
  .world-region{display:none}
}
/* Stronger legibility scrim + text-shadow so overlaid text never smears on the photo */
.pillar::after{
  background:linear-gradient(0deg,rgba(8,14,43,.92) 0%,rgba(8,14,43,.55) 38%,rgba(8,14,43,.12) 70%,rgba(8,14,43,0) 100%) !important;
}
.pillar-title{text-shadow:0 2px 14px rgba(0,0,16,.7)}
.pillar-desc{text-shadow:0 1px 10px rgba(0,0,16,.65);opacity:.92}

/* ============================================================
   ACCESSIBILITY: focus + reduced motion (award-spec mandate)
   ============================================================ */
.world-head:focus-visible,.pillar:focus-visible,.tvid a:focus-visible,.btn:focus-visible,
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important
  }
  .pillar video{display:none}
  .pillar{background:var(--navy-deep)}
}

/* ============================================================
   HOW IT WORKS — 5-step LMS journey (elevated, 3D depth)
   ============================================================ */
.hiw-track{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;position:relative}
.hiw-track::before{
  content:"";position:absolute;top:30px;left:10%;right:10%;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold-line),var(--gold-line),transparent);z-index:0
}
.hiw-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.hiw-rail{display:flex;justify-content:center;margin-bottom:1.1rem}
.hiw-num{
  width:60px;height:60px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--serif);font-size:1.5rem;font-weight:600;color:#fff;
  background:radial-gradient(120% 120% at 30% 25%,#1A2456,var(--navy) 60%,var(--navy-deep));
  box-shadow:0 10px 24px -10px rgba(11,19,64,.5),inset 0 1px 0 rgba(255,255,255,.18),0 0 0 5px var(--paper),0 0 0 6px var(--gold-line-soft);
  position:relative
}
.hiw-num::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold-line);opacity:.5}
.hiw-card{
  background:linear-gradient(180deg,#fff,var(--paper));
  border:1px solid var(--gold-line-soft);border-radius:16px;padding:1.7rem 1.3rem 1.6rem;
  text-align:center;height:100%;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 18px 40px -28px rgba(11,19,64,.32);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease)
}
.hiw-step:hover .hiw-card{transform:translateY(-6px);border-color:var(--gold-line);
  box-shadow:0 28px 56px -28px rgba(11,19,64,.4)}
.hiw-icon{
  display:grid;place-items:center;width:54px;height:54px;margin:0 auto 1rem;border-radius:14px;
  background:linear-gradient(135deg,rgba(200,165,96,.16),rgba(200,165,96,.04));
  border:1px solid var(--gold-line-soft);color:var(--gold-deep)
}
.hiw-icon svg{width:28px;height:28px}
.hiw-title{font-family:var(--serif);font-size:1.28rem;font-weight:600;color:var(--on-light);margin-bottom:.55rem;line-height:1.15}
.hiw-desc{font-size:.9rem;line-height:1.55;color:var(--on-light);opacity:.72}

/* ============================================================
   ELEVATED BUTTONS (depth, sheen, motion)
   ============================================================ */
.btn-gold{
  background:linear-gradient(135deg,var(--gold-soft),var(--gold) 55%,var(--gold-deep));
  color:var(--navy-deep);border:0;position:relative;overflow:hidden;
  box-shadow:0 8px 22px -10px rgba(170,140,85,.7),inset 0 1px 0 rgba(255,255,255,.45)
}
.btn-gold::after{
  content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);transition:left .7s var(--ease)
}
.btn-gold:hover::after{left:130%}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(170,140,85,.85),inset 0 1px 0 rgba(255,255,255,.55)}
.world .btn-gold,.world .btn-outline{transition:transform .4s var(--ease),box-shadow .4s var(--ease)}

/* ============================================================
   PARTNER TRUST STRIP
   ============================================================ */
.trust-wrap{text-align:center}
.trust-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);opacity:.85;margin-bottom:1.4rem}
.trust-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2.4rem 3.2rem}
.trust-strip img{height:40px;width:auto;opacity:.6;filter:grayscale(1) contrast(.9);transition:opacity .45s var(--ease),filter .45s var(--ease)}
.trust-strip img:hover{opacity:1;filter:grayscale(0) contrast(1)}

@media(max-width:860px){
  .hiw-track{grid-template-columns:repeat(2,1fr)}
  .hiw-track::before{display:none}
}
@media(max-width:520px){
  .hiw-track{grid-template-columns:1fr}
  .trust-strip{gap:1.6rem 2rem}
  .trust-strip img{height:30px}
}

/* ============================================================
   AGENT 5 — GLOBAL DESIGN SYSTEM EXTENSIONS (2026 award-grade)
   3D tactile buttons · black power-strips (infinite marquee) ·
   lead-gen form (inline + modal) · refined motion · icon sprite
   Self-contained. Color LOCK: navy/gold/ivory. NEVER gold bg.
   ============================================================ */

/* ---------- Refined easing curves (additive) ---------- */
:root{
  --ease-out:cubic-bezier(.22,.61,.36,1);          /* default smooth deceleration */
  --ease-in-out:cubic-bezier(.65,.05,.36,1);       /* balanced */
  --ease-spring:cubic-bezier(.34,1.56,.64,1);      /* gentle overshoot for tactile */
  --ease-press:cubic-bezier(.4,0,.2,1);            /* crisp press */
  --near-black:#080A14;                            /* power-strip band */
  --near-black-2:#05060D;
  --shadow-sm:0 2px 8px -4px rgba(8,14,43,.28);
  --shadow-md:0 18px 44px -24px rgba(8,14,43,.42);
  --shadow-lg:0 36px 80px -36px rgba(8,14,43,.55);
}

/* ============================================================
   3D TACTILE BUTTONS — .btn-3d  (reusable depth button system)
   Variants:  .btn-3d.btn-3d-primary  (gold sheen on navy depth)
              .btn-3d.btn-3d-secondary (outline)
   Sizes:     add .btn-lg (inherits)
   Markup:    <button class="btn btn-3d btn-3d-primary">Talk to an Advisor</button>
   ============================================================ */
.btn-3d{
  display:inline-flex;align-items:center;justify-content:center;gap:.62rem;
  font-family:var(--sans);font-size:.8rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;line-height:1;
  padding:1.05rem 2.2rem;border:0;border-radius:8px;cursor:pointer;
  position:relative;isolation:isolate;overflow:hidden;
  transform:translateZ(0);
  transition:transform .26s var(--ease-spring),box-shadow .26s var(--ease-out),filter .26s var(--ease-out);
  will-change:transform;
}
.btn-3d svg{width:17px;height:17px;flex-shrink:0}
.btn-3d:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* sheen sweep (shared) */
.btn-3d::after{
  content:"";position:absolute;top:0;left:-65%;width:45%;height:100%;z-index:2;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-18deg);transition:left .75s var(--ease-out);pointer-events:none;
}
.btn-3d:hover::after{left:140%}

/* --- PRIMARY: gold face, layered depth, navy text --- */
.btn-3d-primary{
  color:var(--navy-deep);
  background:linear-gradient(176deg,var(--gold-soft) 0%,var(--gold) 52%,var(--gold-deep) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    inset 0 -2px 4px rgba(120,95,45,.45),
    0 2px 0 #8E7445,            /* edge */
    0 6px 0 #7A6238,            /* deep edge (the "3D" stack) */
    0 14px 26px -8px rgba(120,95,45,.6);
}
.btn-3d-primary:hover{
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    inset 0 -2px 4px rgba(120,95,45,.45),
    0 3px 0 #8E7445,
    0 9px 0 #7A6238,
    0 22px 38px -10px rgba(120,95,45,.7);
}
.btn-3d-primary:active{
  transform:translateY(5px);
  transition-duration:.07s;
  box-shadow:
    inset 0 2px 5px rgba(120,95,45,.55),
    inset 0 1px 0 rgba(255,255,255,.35),
    0 1px 0 #7A6238,
    0 2px 6px -2px rgba(120,95,45,.5);
}

/* --- SECONDARY: outline, glassy depth, gold ink --- */
.btn-3d-secondary{
  color:var(--gold-deep);
  background:linear-gradient(176deg,rgba(255,255,255,.9),var(--paper));
  border:1px solid var(--gold-line);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 2px 0 var(--cream-deep),
    0 6px 0 #d6cbb2,
    0 14px 24px -12px rgba(11,19,64,.28);
}
.btn-3d-secondary:hover{
  transform:translateY(-2px);color:var(--navy-deep);border-color:var(--gold);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 3px 0 var(--cream-deep),
    0 9px 0 #d6cbb2,
    0 22px 34px -14px rgba(11,19,64,.34);
}
.btn-3d-secondary:active{
  transform:translateY(5px);transition-duration:.07s;
  box-shadow:inset 0 2px 5px rgba(11,19,64,.18),0 1px 0 #d6cbb2;
}
/* secondary on a dark band */
.on-dark .btn-3d-secondary,.bg-navy .btn-3d-secondary,.power-strip .btn-3d-secondary{
  color:var(--gold-soft);background:linear-gradient(176deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  border-color:rgba(200,165,96,.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 2px 0 rgba(0,0,0,.5),0 6px 0 rgba(0,0,0,.4),0 14px 24px -12px rgba(0,0,0,.6);
}
.on-dark .btn-3d-secondary:hover,.power-strip .btn-3d-secondary:hover{color:var(--gold);border-color:var(--gold)}

@media (prefers-reduced-motion:reduce){
  .btn-3d,.btn-3d:hover,.btn-3d:active{transition:none;transform:none}
  .btn-3d::after{display:none}
}

/* ============================================================
   BLACK POWER-STRIP — full-bleed near-black band + infinite marquee
   .power-strip                 the band
   .power-strip.power-strip-claim  variant w/ headline beside marquee
   .marquee / .marquee-track / .marquee-group   the slider
   Pauses on hover (CSS + JS safeguard). Seamless: track duplicated.
   ============================================================ */
.power-strip{
  background:linear-gradient(180deg,var(--near-black),var(--near-black-2));
  color:var(--on-dark);position:relative;overflow:hidden;
  padding:2.6rem 0;
  border-top:1px solid rgba(200,165,96,.16);
  border-bottom:1px solid rgba(200,165,96,.16);
}
/* subtle gold glow seam */
.power-strip::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-line),transparent);
}
.power-strip-eyebrow{
  text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold-soft);opacity:.85;margin-bottom:1.6rem;
}

/* --- the marquee slider --- */
.marquee{
  width:100%;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.marquee-track{
  display:flex;width:max-content;
  animation:marquee-scroll 34s linear infinite;
  will-change:transform;
}
.marquee:hover .marquee-track,
.marquee.is-paused .marquee-track{animation-play-state:paused}
.marquee-group{
  display:flex;align-items:center;gap:4.5rem;padding-right:4.5rem;flex-shrink:0;
}
.marquee-group img{
  height:42px;width:auto;display:block;
  /* logos in assets/partners/white/ are pre-tinted to ivory on transparent */
  opacity:.72;
  transition:opacity .4s var(--ease-out),transform .4s var(--ease-out);
}
.marquee-group img:hover{opacity:1;transform:scale(1.06)}
@keyframes marquee-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}   /* exactly one duplicated track width */
}

/* --- claim variant: headline beside marquee --- */
.power-strip-claim .power-claim-inner{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:2.5rem;align-items:center;
}
.power-claim-text .pc-eyebrow{font-size:.66rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft);display:block;margin-bottom:.7rem}
.power-claim-text h2{font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.06;color:var(--on-dark);font-weight:600}
.power-claim-text h2 em{font-style:italic;color:var(--gold-soft)}
.power-strip-claim .marquee{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 100%);
          mask-image:linear-gradient(90deg,transparent,#000 14%,#000 100%);
}
@media(max-width:860px){
  .power-strip-claim .power-claim-inner{grid-template-columns:1fr;gap:1.8rem;text-align:center}
  .power-strip-claim .marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
}
@media(max-width:520px){
  .marquee-group{gap:3rem;padding-right:3rem}
  .marquee-group img{height:32px}
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none;flex-wrap:wrap;justify-content:center}
  .marquee{-webkit-mask-image:none;mask-image:none}
  .marquee-group{flex-wrap:wrap;justify-content:center;gap:2.4rem}
}

/* ============================================================
   LEAD-GEN FORM — "Talk to an Advisor"
   .advisor-form              the form element (inline OR inside modal)
   .advisor-section           inline section wrapper (ivory card)
   .advisor-modal             full-screen modal overlay
   Triggered by any [data-advisor] element (JS).
   ============================================================ */
.advisor-card{
  background:linear-gradient(180deg,#fff,var(--paper));
  border:1px solid var(--gold-line-soft);border-radius:20px;
  padding:2.6rem 2.4rem;
  box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,.9);
  position:relative;overflow:hidden;
}
.advisor-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-deep))}
.advisor-head{margin-bottom:1.8rem}
.advisor-head .eyebrow{margin-bottom:.6rem;display:inline-block}
.advisor-head h3{font-family:var(--serif);font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:600;line-height:1.08;color:var(--on-light)}
.advisor-head p{color:var(--on-light-soft);font-size:.96rem;margin:.6rem 0 0;font-weight:300}

.advisor-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.advisor-form .field{display:flex;flex-direction:column;gap:.45rem}
.advisor-form .field.full{grid-column:1 / -1}
.advisor-form label{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-light-soft)}
.advisor-form input,.advisor-form select{
  font-family:var(--sans);font-size:.96rem;color:var(--on-light);
  padding:.92rem 1rem;border:1px solid var(--light-line);border-radius:9px;
  background:#fff;transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out);
  width:100%;
}
.advisor-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23AA8C55' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem}
.advisor-form input:focus,.advisor-form select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,165,96,.18)}
.advisor-form input:focus-visible,.advisor-form select:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.advisor-form input::placeholder{color:var(--on-light-faint)}
.advisor-form .field.has-error input,.advisor-form .field.has-error select{border-color:var(--burgundy);box-shadow:0 0 0 3px rgba(107,30,44,.12)}
.advisor-form .err-msg{font-size:.74rem;color:var(--burgundy);font-weight:500;min-height:1em;display:none}
.advisor-form .field.has-error .err-msg{display:block}
.advisor-form .form-submit{grid-column:1 / -1;margin-top:.5rem}
.advisor-form .form-submit .btn-3d{width:100%}
.advisor-fineprint{grid-column:1/-1;font-size:.74rem;color:var(--on-light-faint);text-align:center;margin-top:.2rem}

/* success state */
.advisor-success{display:none;text-align:center;padding:1.5rem .5rem}
.advisor-form.is-success{display:none}
.advisor-card.is-success .advisor-success{display:block;animation:fade-rise .6s var(--ease-out)}
.advisor-success .success-mark{
  width:62px;height:62px;border-radius:50%;margin:0 auto 1.2rem;display:grid;place-items:center;
  background:radial-gradient(120% 120% at 30% 25%,#1A2456,var(--navy) 60%,var(--navy-deep));
  box-shadow:0 12px 28px -10px rgba(11,19,64,.5),0 0 0 5px var(--paper),0 0 0 6px var(--gold-line-soft);
}
.advisor-success .success-mark svg{width:28px;height:28px;color:var(--gold-soft)}
.advisor-success h3{font-family:var(--serif);font-size:1.8rem;color:var(--on-light);margin-bottom:.4rem}
.advisor-success p{color:var(--on-light-soft);max-width:34ch;margin:0 auto;font-size:.96rem}
@keyframes fade-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* inline section variant: pairs a copy column with the card */
.advisor-section .advisor-split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}

/* --- modal variant --- */
.advisor-modal{
  position:fixed;inset:0;z-index:300;display:none;
  align-items:center;justify-content:center;padding:1.5rem;
  background:rgba(5,7,18,.66);backdrop-filter:blur(8px);
}
.advisor-modal.open{display:flex;animation:modal-fade .35s var(--ease-out)}
.advisor-modal .advisor-card{
  max-width:560px;width:100%;max-height:92vh;overflow-y:auto;
  animation:modal-rise .45s var(--ease-spring);box-shadow:var(--shadow-lg);
}
.advisor-modal-close{
  position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;color:var(--on-light-soft);
  background:var(--cream);border:1px solid var(--light-line);transition:all .25s var(--ease-out);
}
.advisor-modal-close:hover{color:var(--navy);background:var(--cream-deep);transform:rotate(90deg)}
.advisor-modal-close svg{width:16px;height:16px}
@keyframes modal-fade{from{opacity:0}to{opacity:1}}
@keyframes modal-rise{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}
body.modal-open{overflow:hidden}

@media(max-width:680px){
  .advisor-form{grid-template-columns:1fr}
  .advisor-section .advisor-split{grid-template-columns:1fr;gap:2.2rem}
  .advisor-card{padding:2rem 1.5rem}
}
@media (prefers-reduced-motion:reduce){
  .advisor-modal.open,.advisor-modal .advisor-card,.advisor-card.is-success .advisor-success{animation:none}
}

/* ============================================================
   BESPOKE SVG ICON SPRITE — hide the <svg> sprite holder
   Use:  <svg class="fa-icon"><use href="#i-arrow"/></svg>
   ============================================================ */
.fa-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.fa-icon{width:1em;height:1em;display:inline-block;vertical-align:-.125em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   2026 REBUILD ADDITIONS
   Per-course sub-brand colors + neon-splash lighting
   (corrections: reduce gold, add pink+terracotta, per-course color,
    subtle non-white neon splash in backgrounds)
   ============================================================ */

/* ---------- Per-course sub-brand tokens ----------
   Each course owns its color (like the Longevity 4-phase fold).
   Set data-course on a section/card; children read var(--c-accent). */
[data-course="fa-foundation"]  { --c-bg:#10193A; --c-accent:#C8A560; --c-tint:#E7D9B8; --c-glow:rgba(200,165,96,.35); }
[data-course="fa-beginner"]    { --c-bg:#1A2740; --c-accent:#D98C7A; --c-tint:#F0D2C8; --c-glow:rgba(217,140,122,.34); }
[data-course="fa-elementary"]  { --c-bg:#241A30; --c-accent:#9A5560; --c-tint:#E3C9CE; --c-glow:rgba(154,85,96,.34); }
[data-course="fa-intermediate"]{ --c-bg:#2A1E18; --c-accent:#C97A4E; --c-tint:#EFD3BE; --c-glow:rgba(201,122,78,.36); }
[data-course="lsf-foundation"] { --c-bg:#1C1730; --c-accent:#E4A6B8; --c-tint:#F5DCE4; --c-glow:rgba(228,166,184,.36); }
[data-course="lsf-beginner"]   { --c-bg:#221A2E; --c-accent:#D98C9E; --c-tint:#F1D6DD; --c-glow:rgba(217,140,158,.34); }
[data-course="lsf-elementary"] { --c-bg:#2A1F1A; --c-accent:#CE8458; --c-tint:#EED5C2; --c-glow:rgba(206,132,88,.34); }

/* default course vars (fallback to gold) */
:root{ --c-bg:var(--navy); --c-accent:var(--gold); --c-tint:var(--cream); --c-glow:rgba(200,165,96,.30); }

/* course accent helpers */
.c-accent       { color:var(--c-accent); }
.c-accent-bg    { background:var(--c-accent); }
.c-accent-line  { border-color:var(--c-accent); }
.c-rule::before { content:""; display:inline-block; width:34px; height:1px; background:var(--c-accent); margin-right:.7rem; vertical-align:middle; }

/* ---------- Neon-splash lighting ----------
   A subtle, beautiful, non-white colored glow that drifts in backgrounds.
   Use .neon-splash on a positioned (relative/overflow-hidden) container.
   Color comes from --c-glow (per-course) or override with --splash-a/--splash-b. */
.neon-splash{ position:relative; isolation:isolate; overflow:clip; }
.neon-splash::before,
.neon-splash::after{
  content:""; position:absolute; z-index:-1; border-radius:50%;
  filter:blur(70px); opacity:.55; pointer-events:none;
  will-change:transform,opacity;
}
.neon-splash::before{
  width:46vw; max-width:620px; aspect-ratio:1;
  top:-12%; left:-8%;
  background:radial-gradient(circle at 40% 40%, var(--splash-a, var(--c-glow, rgba(228,166,184,.40))), transparent 70%);
  animation:splashDrift 22s var(--ease) infinite alternate;
}
.neon-splash::after{
  width:40vw; max-width:540px; aspect-ratio:1;
  bottom:-14%; right:-10%;
  background:radial-gradient(circle at 60% 60%, var(--splash-b, var(--terra-line, rgba(201,122,78,.34))), transparent 70%);
  animation:splashDrift2 28s var(--ease) infinite alternate;
}
.on-dark .neon-splash::before,
.bg-navy .neon-splash::before,
.neon-splash.on-dark::before{ opacity:.42; filter:blur(80px); }

@keyframes splashDrift{
  0%  { transform:translate3d(0,0,0) scale(1); }
  100%{ transform:translate3d(7%,9%,0) scale(1.12); }
}
@keyframes splashDrift2{
  0%  { transform:translate3d(0,0,0) scale(1.05); }
  100%{ transform:translate3d(-8%,-6%,0) scale(1); }
}
@media (prefers-reduced-motion: reduce){
  .neon-splash::before,.neon-splash::after{ animation:none; }
}

/* On-light sections: keep splash gentle so beige stays clean */
.bg-ivory .neon-splash::before,
.bg-paper .neon-splash::before{ opacity:.30; }
.bg-ivory .neon-splash::after,
.bg-paper .neon-splash::after{ opacity:.24; }

/* ============================================================
   INTERNAL-PAGES POLISH PASS (luxury hardening)
   - prevent nav link / CTA wrapping
   - editorial blog, faq accordion, juliane, pricing helpers
   ============================================================ */
.nav-link{white-space:nowrap}
.nav-cta{white-space:nowrap}
.btn,.btn-3d{white-space:nowrap}
/* keep the redesigned nav airy but tidy on the narrow desktop range */
@media(max-width:1180px) and (min-width:1025px){
  .nav-menu{gap:.1rem}
  .nav-link{font-size:.76rem;padding:.65rem .68rem;letter-spacing:.04em}
  .nav-link::after{left:.68rem;right:.68rem}
  .nav-cta{margin-left:.5rem;padding:.7rem 1.1rem}
}

/* Refined section rhythm helper */
.lede-narrow{max-width:54ch}
.center{text-align:center}
.mx-auto{margin-left:auto;margin-right:auto}

/* ---------- FAQ accordion (elegant — homepage uses .faq-btn variant) ---------- */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:0}
.faq-item{border:none;border-bottom:1px solid var(--gold-line-soft);border-radius:0;background:transparent;overflow:hidden;transition:border-color .4s var(--ease-out)}
.faq-item:first-child{border-top:1px solid var(--gold-line-soft)}
.faq-item.is-open{border-color:var(--gold-line);box-shadow:none}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:1.5rem 1.8rem;background:transparent;border:0;cursor:pointer;text-align:left;font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--on-light);line-height:1.25}
.faq-icon{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid var(--gold-line);position:relative;transition:transform .45s var(--ease-spring),background .35s}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;left:50%;top:50%;background:var(--gold-deep);transform:translate(-50%,-50%);transition:opacity .35s var(--ease-out)}
.faq-icon::before{width:12px;height:2px}.faq-icon::after{width:2px;height:12px}
.faq-item.is-open .faq-icon{background:rgba(200,165,96,.10)}
.faq-item.is-open .faq-icon::after{opacity:0}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-out)}
.faq-item.is-open .faq-a{grid-template-rows:1fr}
.faq-a-inner{overflow:hidden}
.faq-a-inner > div{padding:0 1.8rem 1.6rem;color:var(--on-light-soft);font-size:1rem;line-height:1.75}
.faq-a-inner p{margin-bottom:.9rem}
.faq-a-inner p:last-child{margin-bottom:0}
@media(max-width:600px){.faq-q{font-size:1.12rem;padding:1.2rem 1.3rem}.faq-a-inner > div{padding:0 1.3rem 1.3rem}}

/* ---------- Blog editorial magazine ---------- */
.blog-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border:1px solid var(--gold-line-soft);border-radius:18px;overflow:hidden;background:var(--white);box-shadow:0 26px 60px -38px rgba(11,19,64,.3)}
.blog-feature .bf-img{position:relative;overflow:hidden;min-height:420px}
.blog-feature .bf-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1s var(--ease)}
.blog-feature:hover .bf-img img{transform:scale(1.04)}
.blog-feature .bf-body{padding:3rem 3rem 2.6rem;display:flex;flex-direction:column;justify-content:center}
.blog-cat{font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--terra-deep)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.6rem}
.bcard{background:var(--white);border:1px solid var(--gold-line-soft);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease)}
.bcard:hover{transform:translateY(-6px);box-shadow:0 28px 56px -34px rgba(11,19,64,.36);border-color:var(--gold-line)}
.bcard-img{aspect-ratio:16/10;overflow:hidden}
.bcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.bcard:hover .bcard-img img{transform:scale(1.05)}
.bcard-body{padding:1.5rem 1.6rem 1.7rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.bcard-title{font-family:var(--serif);font-size:1.42rem;font-weight:600;line-height:1.16;color:var(--on-light)}
.bcard-excerpt{font-size:.92rem;color:var(--on-light-soft);line-height:1.6;flex:1}
.bcard .link-arrow{margin-top:.4rem}
@media(max-width:900px){.blog-feature{grid-template-columns:1fr}.blog-feature .bf-img{min-height:300px}.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}.blog-feature .bf-body{padding:2rem 1.5rem}}

/* ---------- Blog post article body ---------- */
.article-body{max-width:720px;margin:0 auto}
.article-body h2{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.3rem);margin:2.6rem 0 1rem;color:var(--on-light)}
.article-body h3{font-family:var(--serif);font-size:1.5rem;margin:2rem 0 .8rem;color:var(--on-light)}
.article-body p{font-size:1.08rem;line-height:1.85;color:var(--ink-soft);margin-bottom:1.3rem}
.article-body p:first-of-type{font-size:1.22rem;line-height:1.7;color:var(--on-light)}
.article-body img{border-radius:14px;margin:2rem 0}
.article-body blockquote{margin:2.2rem 0;padding-left:1.6rem;border-left:3px solid var(--gold);font-family:var(--serif);font-style:italic;font-size:1.45rem;line-height:1.4;color:var(--on-light)}
.article-body ul,.article-body ol{margin:0 0 1.4rem 1.2rem}
.article-body li{margin-bottom:.6rem;color:var(--ink-soft);line-height:1.7;list-style:disc}
.article-meta{display:flex;gap:1.4rem;flex-wrap:wrap;align-items:center;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-soft)}

/* ---------- Julien premium chat mock ---------- */
.jul-chat{background:linear-gradient(180deg,#fff,var(--paper));border:1px solid var(--gold-line-soft);border-radius:22px;padding:1.6rem;box-shadow:var(--shadow-md);max-width:440px}
.jul-bubble{padding:.85rem 1.15rem;border-radius:16px;margin-bottom:.8rem;font-size:.96rem;line-height:1.5;max-width:85%}
.jul-bubble.j-ai{background:var(--ivory);border:1px solid var(--gold-line-soft);border-bottom-left-radius:4px;color:var(--on-light)}
.jul-bubble.j-me{background:linear-gradient(135deg,var(--navy),var(--navy-soft));color:var(--on-dark);margin-left:auto;border-bottom-right-radius:4px}
.jul-bubble .fr{font-family:var(--serif);font-style:italic;font-size:1.08rem}
.jul-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.6rem}
.jul-feat .jf{background:var(--white);border:1px solid var(--gold-line-soft);border-radius:16px;padding:1.8rem 1.5rem;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.jul-feat .jf:hover{transform:translateY(-5px);box-shadow:0 24px 50px -32px rgba(11,19,64,.3)}
.jul-feat .jf-ic{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(228,166,184,.20),rgba(228,166,184,.05));border:1px solid var(--pink-line);color:var(--pink-deep);margin-bottom:1.1rem}
.jul-feat .jf h3{font-family:var(--serif);font-size:1.4rem;margin-bottom:.5rem}
.jul-feat .jf p{font-size:.92rem;color:var(--on-light-soft);line-height:1.6;margin:0}
@media(max-width:860px){.jul-feat{grid-template-columns:1fr}}

/* ---------- Pricing premium ---------- */
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:920px;margin:0 auto;align-items:stretch}
.price-card{position:relative;background:linear-gradient(180deg,#fff,var(--paper));border:1px solid var(--gold-line-soft);border-radius:20px;padding:2.6rem 2.4rem;display:flex;flex-direction:column;box-shadow:0 22px 54px -36px rgba(11,19,64,.28)}
.price-card.featured{border-color:var(--gold-line);box-shadow:0 30px 70px -36px rgba(11,19,64,.4)}
.price-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold-soft),var(--gold-deep));color:var(--navy-deep);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:.45rem 1.1rem;border-radius:999px;white-space:nowrap}
.price-plan{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--terra-deep);margin-bottom:1rem}
.price-amt{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.3rem}
.price-amt .pa-num{font-family:var(--serif);font-size:4rem;font-weight:600;line-height:1;color:var(--on-light)}
.price-amt .pa-per{font-size:.95rem;color:var(--on-light-soft)}
.price-sub{font-size:.95rem;color:var(--on-light-soft);margin-bottom:1.6rem}
.price-feats{display:flex;flex-direction:column;gap:.85rem;margin:1.4rem 0 2rem;flex:1}
.price-feats li{display:flex;gap:.7rem;align-items:flex-start;font-size:.96rem;color:var(--on-light);line-height:1.5}
.price-feats li svg{flex-shrink:0;color:var(--gold-deep);margin-top:.15rem}
.price-card .btn-3d{width:100%}
@media(max-width:760px){.price-grid{grid-template-columns:1fr}}

/* ---------- generic feature/value cards ---------- */
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2.6rem}
.val-card{background:var(--white);border:1px solid var(--gold-line-soft);border-radius:16px;padding:2rem 1.8rem;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.val-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px -32px rgba(11,19,64,.28)}
.val-ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(200,165,96,.16),rgba(200,165,96,.04));border:1px solid var(--gold-line-soft);color:var(--gold-deep);margin-bottom:1.1rem}
.val-card h3{font-family:var(--serif);font-size:1.4rem;margin-bottom:.5rem}
.val-card p{font-size:.94rem;color:var(--on-light-soft);line-height:1.62;margin:0}
@media(max-width:860px){.val-grid{grid-template-columns:1fr}}

/* ============================================================
   COURSE PAGES — IIBS-level rebuild  (.cp-* namespace)
   Rich, almost-homepage course pages. Per-course accent via
   data-course on <body>: var(--c-accent) / --c-bg / --c-tint / --c-glow.
   Mobile-first. Glass buttons over photos. Scrims for legibility.
   ============================================================ */

/* ---- glass button (legible over photos) ---- */
.btn-glass{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--sans);font-size:.78rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;
  padding:1.02rem 2rem;border-radius:8px;cursor:pointer;
  color:#fff;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.42);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease);
}
.btn-glass:hover{background:rgba(255,255,255,.2);border-color:#fff;transform:translateY(-2px)}
.btn-glass svg{width:16px;height:16px}

/* accent-filled CTA (uses per-course accent, dark legible ink) */
.btn-accent{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--sans);font-size:.8rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  padding:1.05rem 2.2rem;border-radius:9px;cursor:pointer;color:#16110b;
  background:linear-gradient(135deg,var(--c-tint),var(--c-accent));
  border:0;box-shadow:0 10px 26px -12px var(--c-glow),inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease);
}
.btn-accent:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 18px 36px -14px var(--c-glow)}
.btn-accent svg{width:16px;height:16px}

/* ---- sticky course sub-nav (Request Info) ---- */
.cp-subnav{
  position:sticky;top:0;z-index:80;background:rgba(8,14,43,.94);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--dark-line-soft);
}
.cp-subnav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
.cp-subnav-title{display:flex;align-items:center;gap:.7rem;min-width:0}
.cp-subnav-title .cp-dot{width:9px;height:9px;border-radius:50%;background:var(--c-accent);flex-shrink:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--c-accent) 22%,transparent)}
.cp-subnav-title strong{font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-subnav-title span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent);white-space:nowrap}
.cp-subnav-links{display:flex;align-items:center;gap:1.6rem}
.cp-subnav-links a{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-soft);transition:color .25s}
.cp-subnav-links a:hover{color:var(--c-accent)}
.cp-subnav .btn-accent{padding:.7rem 1.4rem;font-size:.7rem}
@media(max-width:780px){.cp-subnav-links a{display:none}.cp-subnav-title span{display:none}}

/* ---- HERO (2-col + scrim over photo) ---- */
.cp-hero{position:relative;overflow:hidden;background:var(--c-bg);color:var(--on-dark);padding:4.5rem 0 4rem}
.cp-hero-bg{position:absolute;inset:0;z-index:0}
.cp-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.30}
.cp-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(110deg,color-mix(in srgb,var(--c-bg) 92%,#000) 0%,color-mix(in srgb,var(--c-bg) 80%,transparent) 55%,color-mix(in srgb,var(--c-bg) 55%,transparent) 100%)}
.cp-hero .wrap{position:relative;z-index:3}
.cp-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.cp-breadcrumb{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-faint);margin-bottom:1.3rem}
.cp-breadcrumb a:hover{color:var(--c-accent)}
.cp-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--c-accent);display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.cp-eyebrow::before{content:"";width:30px;height:1px;background:var(--c-accent)}
.cp-hero h1{font-size:clamp(2.6rem,6vw,4.8rem);line-height:1.0;color:var(--on-dark);margin-bottom:1.1rem}
.cp-hero h1 em{font-style:italic;color:var(--c-accent);font-weight:500}
.cp-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.3rem}
.cp-badge{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);padding:.42rem .85rem;border-radius:999px}
.cp-badge .bdot{width:6px;height:6px;border-radius:50%;background:var(--c-accent)}
.cp-badge.is-new{background:color-mix(in srgb,var(--c-accent) 22%,transparent);border-color:var(--c-accent);color:var(--c-tint)}
.cp-hero-pitch{font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.6;color:var(--on-dark-soft);max-width:48ch;font-weight:300;margin-bottom:1.7rem}
.cp-hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:1.5rem}
.cp-trustline{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--on-dark-soft)}
.cp-trustline svg{width:16px;height:16px;color:var(--c-accent);flex-shrink:0}

/* ---- AT-A-GLANCE SPEC PANEL (top-right) ---- */
.cp-spec{
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:1.7rem 1.7rem 1.5rem;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 30px 70px -40px rgba(0,0,0,.7);position:relative;overflow:hidden;
}
.cp-spec::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--c-accent),transparent)}
.cp-spec-h{font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--c-accent);margin-bottom:1.1rem}
.cp-spec-row{display:flex;align-items:flex-start;gap:.8rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
.cp-spec-row:last-of-type{border-bottom:0}
.cp-spec-check{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c-accent) 22%,transparent);margin-top:1px}
.cp-spec-check svg{width:12px;height:12px;color:var(--c-accent)}
.cp-spec-row .k{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-faint);display:block;line-height:1.4}
.cp-spec-row .v{font-size:.96rem;color:var(--on-dark);font-weight:500;line-height:1.35}
.cp-spec .btn-accent{width:100%;margin-top:1.2rem}

/* ---- INFO ROW: benefits checklist + schedule panel ---- */
.cp-inforow{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.cp-bene-list{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.9rem}
.cp-bene-list li{display:flex;gap:.8rem;align-items:flex-start;font-size:1rem;line-height:1.5;color:var(--on-light)}
.cp-bene-list li svg{flex-shrink:0;width:22px;height:22px;color:var(--c-accent);margin-top:1px}
.cp-sched{border:1px solid var(--gold-line-soft);border-radius:16px;background:var(--white);overflow:hidden;box-shadow:0 20px 50px -34px rgba(11,19,64,.3)}
.cp-sched-h{padding:1.2rem 1.5rem;background:var(--c-bg);color:var(--on-dark);display:flex;align-items:center;justify-content:space-between}
.cp-sched-h strong{font-family:var(--serif);font-size:1.25rem;font-weight:600}
.cp-sched-h span{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent)}
.cp-sched-scroll{max-height:340px;overflow-y:auto}
.cp-sched-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.5rem;border-bottom:1px solid var(--gold-line-soft)}
.cp-sched-item:last-child{border-bottom:0}
.cp-sched-date{font-family:var(--serif);font-size:1.15rem;color:var(--on-light)}
.cp-sched-date small{display:block;font-family:var(--sans);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-light-soft);margin-top:.15rem}
.cp-sched-status{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.32rem .7rem;border-radius:999px;white-space:nowrap;background:color-mix(in srgb,var(--c-accent) 16%,transparent);color:var(--c-bg);border:1px solid color-mix(in srgb,var(--c-accent) 45%,transparent)}
.cp-sched-status.few{background:rgba(168,95,56,.14);color:var(--terra-deep);border-color:rgba(168,95,56,.4)}
.cp-sched-foot{padding:1.1rem 1.5rem;background:var(--ivory)}

/* ---- TESTIMONIALS auto-scroll ---- */
.cp-testi{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.cp-testi-track{display:flex;gap:1.4rem;width:max-content;animation:cp-testi-scroll 60s linear infinite}
.cp-testi:hover .cp-testi-track,.cp-testi-track.is-paused{animation-play-state:paused}
@keyframes cp-testi-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cp-quote{flex-shrink:0;width:360px;background:var(--white);border:1px solid var(--gold-line-soft);border-radius:16px;padding:1.7rem 1.8rem;display:flex;flex-direction:column;gap:.9rem}
.cp-stars{display:flex;gap:.2rem;color:var(--c-accent)}
.cp-stars svg{width:16px;height:16px}
.cp-quote p{font-family:var(--serif);font-size:1.12rem;font-style:italic;line-height:1.45;color:var(--on-light);margin:0}
.cp-quote-who{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--on-light-soft);margin-top:auto}
.cp-quote-who strong{color:var(--on-light);font-weight:600;letter-spacing:.02em}
.cp-quote-who .flag{font-size:1.1rem}
@media(prefers-reduced-motion:reduce){.cp-testi-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}.cp-testi{mask-image:none;-webkit-mask-image:none}}

/* ---- BENEFIT CARDS (5, incl. Certificate) ---- */
.cp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.6rem}
.cp-card{background:var(--white);border:1px solid var(--gold-line-soft);border-radius:18px;padding:2rem 1.8rem;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);position:relative;overflow:hidden}
.cp-card:hover{transform:translateY(-6px);box-shadow:0 28px 60px -34px rgba(11,19,64,.3);border-color:color-mix(in srgb,var(--c-accent) 40%,var(--gold-line-soft))}
.cp-card-ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--c-accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--c-accent) 30%,transparent);color:var(--c-bg);margin-bottom:1.1rem}
.cp-card-ic svg{width:26px;height:26px}
.cp-card h3{font-family:var(--serif);font-size:1.42rem;font-weight:600;color:var(--on-light);margin-bottom:.5rem;line-height:1.15}
.cp-card p{font-size:.94rem;color:var(--on-light-soft);line-height:1.6;margin:0}
.cp-card.is-cert{background:linear-gradient(170deg,var(--c-bg),color-mix(in srgb,var(--c-bg) 86%,#000));color:var(--on-dark);border-color:color-mix(in srgb,var(--c-accent) 38%,transparent)}
.cp-card.is-cert h3{color:var(--on-dark)}
.cp-card.is-cert p{color:var(--on-dark-soft)}
.cp-card.is-cert .cp-card-ic{background:color-mix(in srgb,var(--c-accent) 24%,transparent);border-color:var(--c-accent);color:var(--c-accent)}
@media(max-width:900px){.cp-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cp-cards{grid-template-columns:1fr}}

/* ---- CTA BANNER ---- */
.cp-ctaband{position:relative;overflow:hidden;background:var(--c-bg);color:var(--on-dark);text-align:center;padding:5rem 0}
.cp-ctaband h2{font-size:clamp(1.9rem,3.6vw,3rem);color:var(--on-dark);margin-bottom:1rem;line-height:1.08}
.cp-ctaband h2 em{font-style:italic;color:var(--c-accent);font-weight:500}
.cp-ctaband p{color:var(--on-dark-soft);max-width:54ch;margin:0 auto 1.8rem;font-weight:300}
.cp-ctaband .cp-cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ---- WHY (3 icon row) ---- */
.cp-why{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;margin-top:2.8rem}
.cp-why-item{text-align:center}
.cp-why-ic{width:64px;height:64px;border-radius:18px;margin:0 auto 1.2rem;display:grid;place-items:center;background:color-mix(in srgb,var(--c-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--c-accent) 28%,transparent);color:var(--c-bg)}
.cp-why-ic svg{width:30px;height:30px}
.cp-why-item h3{font-family:var(--serif);font-size:1.5rem;margin-bottom:.5rem;color:var(--on-light)}
.cp-why-item p{font-size:.95rem;color:var(--on-light-soft);line-height:1.6;max-width:34ch;margin:0 auto}
@media(max-width:780px){.cp-why{grid-template-columns:1fr;gap:2rem}}

/* ---- TRUST BANNER (Acadomia / eTeacher) ---- */
.cp-trust{background:linear-gradient(180deg,var(--near-black),var(--near-black-2));color:var(--on-dark);padding:3.4rem 0;border-top:1px solid rgba(200,165,96,.14);border-bottom:1px solid rgba(200,165,96,.14)}
.cp-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;align-items:center}
.cp-trust-item{text-align:center}
.cp-trust-item .tnum{font-family:var(--serif);font-size:2.6rem;font-weight:600;color:var(--c-accent);line-height:1}
.cp-trust-item .tlabel{font-size:.84rem;color:var(--on-dark-soft);margin-top:.5rem;line-height:1.5;max-width:30ch;margin-left:auto;margin-right:auto}
.cp-trust-item .tlabel strong{color:var(--on-dark);font-weight:600}
@media(max-width:780px){.cp-trust-grid{grid-template-columns:1fr;gap:1.8rem}}

/* ---- FACULTY carousel ---- */
.cp-carousel{position:relative}
.cp-carousel-track{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.4rem .2rem 1.4rem;-ms-overflow-style:none;scrollbar-width:none}
.cp-carousel-track::-webkit-scrollbar{display:none}
.cp-faculty{flex:0 0 260px;scroll-snap-align:start;background:var(--white);border:1px solid var(--gold-line-soft);border-radius:18px;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.cp-faculty:hover{transform:translateY(-5px);box-shadow:0 26px 56px -34px rgba(11,19,64,.32)}
.cp-faculty-img{aspect-ratio:4/5;overflow:hidden;background:var(--ivory)}
.cp-faculty-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cp-faculty:hover .cp-faculty-img img{transform:scale(1.05)}
.cp-faculty-body{padding:1.2rem 1.3rem 1.4rem}
.cp-faculty-body .fn{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--on-light);line-height:1.1}
.cp-faculty-body .fc{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-bg);margin:.35rem 0 .5rem;display:flex;align-items:center;gap:.4rem}
.cp-faculty-body .fc svg{width:13px;height:13px;color:var(--c-accent)}
.cp-faculty-body .fb{font-size:.86rem;color:var(--on-light-soft);line-height:1.5;margin:0}
.cp-head{background:linear-gradient(170deg,var(--c-bg),color-mix(in srgb,var(--c-bg) 84%,#000));color:var(--on-dark);border-radius:18px;padding:2rem 2rem;display:flex;flex-direction:column;justify-content:center;gap:.8rem}
.cp-head .eyebrow-c{font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--c-accent)}
.cp-head h3{font-family:var(--serif);font-size:1.7rem;color:var(--on-dark)}
.cp-head p{font-size:.92rem;color:var(--on-dark-soft);line-height:1.6;margin:0}
.cp-carousel-nav{display:flex;gap:.7rem;justify-content:flex-end;margin-bottom:1rem}
.cp-cbtn{width:46px;height:46px;border-radius:50%;border:1px solid var(--gold-line);background:var(--white);color:var(--c-bg);display:grid;place-items:center;transition:all .3s var(--ease)}
.cp-cbtn:hover{background:var(--c-bg);color:#fff;border-color:var(--c-bg);transform:translateY(-2px)}
.cp-cbtn svg{width:18px;height:18px}
.on-dark .cp-cbtn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3);color:var(--c-accent)}
.on-dark .cp-cbtn:hover{background:var(--c-accent);color:var(--c-bg)}

/* ---- SYLLABUS lesson-card carousel ---- */
.cp-lesson{flex:0 0 340px;scroll-snap-align:start;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:1.8rem 1.8rem 1.6rem;display:flex;flex-direction:column;gap:.7rem;position:relative;overflow:hidden}
.cp-lesson::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c-accent);opacity:.8}
.cp-lesson .ln{font-family:var(--serif);font-size:2.6rem;font-weight:600;color:var(--c-accent);line-height:1;opacity:.85}
.cp-lesson .lt{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--on-dark);line-height:1.2}
.cp-lesson .lp{font-size:.9rem;color:var(--on-dark-soft);line-height:1.6;margin:0}
.cp-lesson .lp em{color:var(--c-tint);font-style:italic}
.cp-lesson .lloc{margin-top:auto;display:flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-accent);padding-top:.6rem}
.cp-lesson .lloc svg{width:13px;height:13px;flex-shrink:0}
.cp-syllabus-foot{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:2.4rem}

/* ---- FAQ uses existing .faq-* ; price-burying helper ---- */
.cp-faq-note{font-size:.92rem;color:var(--on-light-soft);text-align:center;max-width:50ch;margin:1rem auto 0}

/* ---- responsive hero ---- */
@media(max-width:900px){
  .cp-hero-grid{grid-template-columns:1fr;gap:2.2rem}
  .cp-inforow{grid-template-columns:1fr;gap:2.4rem}
  .cp-hero{padding:3rem 0 3rem}
}
@media(max-width:600px){
  .cp-quote{width:280px}
  .cp-lesson{flex-basis:280px}
  .cp-faculty{flex-basis:220px}
  .cp-hero-cta .btn-glass,.cp-hero-cta .btn-accent{width:100%;justify-content:center}
}

/* ============================================================
   HOMEPAGE POWER FOLDS — 2026 (Homepage agent)
   Added classes:
   .ac-cred (Acadomia power-numbers strip)
   .sorb (BLACK Sorbonne methodology fold) + pillar accordion
   .lead-magnet (placement-test strip)
   .etg (eTeacher Group platform/LMS features block)
   ============================================================ */

/* ---------- ACADOMIA BLACK POWER STRIP (numbers + partner logos) ---------- */
.ac-power{
  background:radial-gradient(120% 120% at 50% 0%, #15151B 0%, #0A0A0C 60%);
  color:#fff;padding:clamp(3.4rem,7vw,5.6rem) 0;text-align:center;
  border-top:1px solid rgba(200,165,96,.18);border-bottom:1px solid rgba(200,165,96,.18);
}
.ac-power-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.ac-power-eyebrow span{color:var(--gold)}
.ac-power-head{font-family:var(--serif);font-size:clamp(1.9rem,4.4vw,3rem);font-weight:600;line-height:1.08;margin:.9rem auto 0;max-width:18ch;color:#fff}
.ac-power-head em{font-style:italic;color:var(--gold)}
.ac-power-figs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;
  max-width:820px;margin:clamp(2.4rem,5vw,3.4rem) auto 0;
}
.apf{padding:0 .6rem;position:relative}
.apf:not(:last-child)::after{content:"";position:absolute;right:0;top:18%;bottom:18%;width:1px;background:rgba(255,255,255,.12)}
.apf-num{font-family:var(--serif);font-size:clamp(2.4rem,5.4vw,3.9rem);font-weight:600;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.apf-lab{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:.85rem;line-height:1.4}
/* moving partner-logo marquee */
.ac-power-marquee{margin:clamp(2.8rem,5vw,3.8rem) auto 0;max-width:920px;overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.ac-marquee-track{display:flex;align-items:center;gap:clamp(2.4rem,5vw,4rem);width:max-content;animation:ac-marquee 26s linear infinite}
.ac-power-marquee:hover .ac-marquee-track{animation-play-state:paused}
.ac-marquee-track img{height:38px;width:auto;opacity:.6;filter:brightness(0) invert(1);transition:opacity .4s var(--ease);flex:0 0 auto}
.ac-marquee-track img:hover{opacity:1}
@keyframes ac-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ac-marquee-track{animation:none}}
@media(max-width:680px){
  .ac-power-figs{grid-template-columns:1fr;gap:1.9rem;max-width:280px}
  .apf:not(:last-child)::after{display:none}
  .ac-marquee-track img{height:28px}
}

/* ---------- 1. ACADOMIA POWER-NUMBERS / CREDIBILITY STRIP (legacy) ---------- */
.ac-cred{padding:var(--sp-5) 0}
.ac-cred-inner{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border:1px solid var(--gold-line);border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,#fff,var(--paper));
  box-shadow:0 22px 54px -38px rgba(11,19,64,.30);
}
.ac-cred-eyebrow{justify-content:center;margin-bottom:1.4rem}
.ac-cell{padding:2.2rem 1.6rem;text-align:center;border-right:1px solid var(--gold-line-soft)}
.ac-cell:last-child{border-right:none}
.ac-cell .ac-fig{font-family:var(--serif);font-size:clamp(1.9rem,3vw,2.7rem);line-height:1;color:var(--navy);font-weight:600}
.ac-cell .ac-fig em{font-style:italic;color:var(--gold-deep)}
.ac-cell .ac-lab{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--on-light-soft);margin-top:.6rem;line-height:1.45}
@media(max-width:760px){
  .ac-cred-inner{grid-template-columns:1fr}
  .ac-cell{border-right:none;border-bottom:1px solid var(--gold-line-soft)}
  .ac-cell:last-child{border-bottom:none}
}

/* ---------- 2. BLACK SORBONNE METHODOLOGY FOLD ---------- */
/* === SORBONNE FOLD — V3 rebuild: LIGHT, on-brand, matches site === */
/* ---- DARK premium Sorbonne fold (restored — navy + gold, consistent
        with the Julien / Acadomia dark folds; user: "not dull") ---- */
.sorb{
  position:relative;overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(200,169,107,.16), transparent 58%),
    radial-gradient(90% 70% at 82% 110%, rgba(228,152,166,.10), transparent 60%),
    linear-gradient(165deg, var(--navy-deep) 0%, var(--navy) 52%, var(--navy-soft) 100%);
  color:var(--on-dark);
  padding:var(--sp-8) 0;
  isolation:isolate;
  border-top:1px solid rgba(200,169,107,.22);
  border-bottom:1px solid rgba(200,169,107,.22);
}
.sorb::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(200,169,107,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(200,169,107,.07) 1px,transparent 1px);
  background-size:68px 68px;
  -webkit-mask-image:radial-gradient(80% 72% at 50% 34%,#000,transparent 100%);
  mask-image:radial-gradient(80% 72% at 50% 34%,#000,transparent 100%);
}
.sorb .wrap{position:relative;z-index:2}
.sorb-head{max-width:64ch;margin:0 auto 3.4rem;text-align:center}
.sorb-title{font-family:var(--serif);font-weight:600;font-size:clamp(2.5rem,4.8vw,3.9rem);line-height:1.06;letter-spacing:-.01em;margin:1.1rem 0 0;color:var(--on-dark)}
.sorb-title .gold-ital{font-style:italic;color:var(--gold-soft);font-weight:500}
.sorb-sub{font-family:var(--sans);font-size:clamp(1.05rem,1.4vw,1.22rem);line-height:1.62;color:var(--on-dark-soft);font-weight:300;margin:1.3rem auto 0;max-width:64ch}
.sorb-sub .sorb-line{font-family:var(--serif);font-style:italic;color:var(--gold-soft);font-weight:500;font-size:1.08em}
/* ---- 3-column numbered principle cards (dark glass, premium) ---- */
.sorb-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.2vw,1.8rem);max-width:1080px;margin:0 auto}
.sorb-pr{
  position:relative;padding:clamp(2rem,2.9vw,2.6rem) clamp(1.7rem,2.3vw,2.1rem) clamp(1.8rem,2.5vw,2.3rem);
  /* premium gradient-neon glass: deep navy core with a luminous blue edge */
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(47,164,255,.16), rgba(47,164,255,0) 60%),
    linear-gradient(165deg, rgba(15,22,56,.92), rgba(6,10,33,.96));
  border-radius:20px;
  box-shadow:0 30px 70px -36px rgba(0,0,16,.78), 0 0 0 1px rgba(47,164,255,.10) inset, 0 0 26px -10px rgba(47,164,255,.35);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .5s var(--ease);
  overflow:hidden;
}
/* gradient-neon border ring (masked so only the 1.5px edge is painted) */
.sorb-pr::before{
  content:"";position:absolute;inset:0;border-radius:20px;padding:1.5px;
  background:linear-gradient(150deg,#9FD4FF,#2FA4FF 40%,#0A6BD6 70%,#6FC4FF);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;opacity:.75;transition:opacity .5s var(--ease);pointer-events:none;
}
/* soft top sheen */
.sorb-pr::after{content:"";position:absolute;left:0;right:0;top:0;height:42%;border-radius:20px 20px 0 0;background:linear-gradient(180deg,rgba(159,212,255,.10),rgba(159,212,255,0));pointer-events:none}
.sorb-pr:hover{transform:translateY(-7px);box-shadow:0 44px 92px -40px rgba(0,0,16,.85), 0 0 0 1px rgba(47,164,255,.18) inset, 0 0 44px -8px rgba(47,164,255,.6)}
.sorb-pr:hover::before{opacity:1}
.sorb-pr-no{display:block;font-family:var(--serif);font-size:1.7rem;font-weight:700;line-height:1;margin-bottom:.7rem;font-variant-numeric:lining-nums;
  background:linear-gradient(120deg,#EAF6FF,#6FC4FF 55%,#2FA4FF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#6FC4FF;
  text-shadow:0 0 18px rgba(47,164,255,.35)}
.sorb-pr-fr{display:block;font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--pink);margin-bottom:.55rem;letter-spacing:.01em}
.sorb-pr-tt{font-family:var(--serif);font-weight:600;font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.15;color:var(--on-dark);margin:0 0 .7rem}
.sorb-pr-tx{font-family:var(--sans);font-size:.98rem;line-height:1.62;color:var(--on-dark-soft);font-weight:300;margin:0}
@media(max-width:860px){.sorb-principles{grid-template-columns:1fr;gap:1.1rem;max-width:520px}}

.sorb-pillars{display:flex;flex-direction:column;gap:1rem;max-width:980px;margin:0 auto}
.sorb-pillar{
  border:1px solid rgba(243,238,227,.13);border-radius:16px;
  background:linear-gradient(180deg,rgba(243,238,227,.045),rgba(243,238,227,.015));
  backdrop-filter:blur(6px);
  overflow:hidden;transition:border-color .45s var(--ease-out),box-shadow .45s var(--ease-out);
}
.sorb-pillar.is-open{
  border-color:rgba(200,165,96,.4);
  box-shadow:0 30px 70px -38px rgba(0,0,0,.8),inset 0 1px 0 rgba(243,238,227,.08);
}
.sorb-ph{
  width:100%;display:flex;align-items:center;gap:1.3rem;text-align:left;cursor:pointer;
  background:transparent;border:0;color:inherit;
  padding:1.7rem 1.9rem;font-family:var(--sans);
}
.sorb-ph-idx{
  font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--gold-soft);
  flex-shrink:0;width:2.2rem;line-height:1;
}
.sorb-ph-tt{flex:1;min-width:0}
.sorb-ph-name{display:block;font-family:var(--serif);font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:600;line-height:1.18;color:var(--on-dark)}
.sorb-ph-fr{display:block;font-family:var(--serif);font-style:italic;font-size:.98rem;color:var(--pink);margin-top:.25rem}
.sorb-ph-ico{
  flex-shrink:0;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(200,165,96,.4);position:relative;transition:transform .5s var(--ease-spring),background .35s;
}
.sorb-ph-ico::before,.sorb-ph-ico::after{content:"";position:absolute;left:50%;top:50%;background:var(--gold-soft);transform:translate(-50%,-50%);transition:opacity .35s var(--ease-out)}
.sorb-ph-ico::before{width:13px;height:1.5px}.sorb-ph-ico::after{width:1.5px;height:13px}
.sorb-pillar.is-open .sorb-ph-ico{background:rgba(200,165,96,.12);transform:rotate(90deg)}
.sorb-pillar.is-open .sorb-ph-ico::after{opacity:0}
.sorb-ph:focus-visible{outline:2px solid var(--gold-soft);outline-offset:-3px;border-radius:16px}

.sorb-pbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease-out)}
.sorb-pillar.is-open .sorb-pbody{grid-template-rows:1fr}
.sorb-pbody-in{overflow:hidden}
.sorb-pcard{
  margin:0 1.9rem 1.9rem;padding:1.7rem 1.8rem;border-radius:13px;
  background:linear-gradient(180deg,rgba(10,10,12,.6),rgba(243,238,227,.03));
  border:1px solid rgba(243,238,227,.1);
  border-left:2px solid var(--pcard-accent,var(--gold));
}
.sorb-pcard p{font-size:1rem;line-height:1.72;color:var(--on-dark-soft);margin:0 0 1rem;font-weight:300}
.sorb-pcard p:last-of-type{margin-bottom:0}
.sorb-pcard .sorb-pull{font-family:var(--serif);font-style:italic;font-size:1.18rem;line-height:1.45;color:var(--on-dark);margin:0 0 1.1rem}
.sorb-pcard .sorb-src{
  display:block;font-size:.78rem;letter-spacing:.04em;color:var(--on-dark-faint);
  border-top:1px solid rgba(243,238,227,.1);padding-top:.9rem;margin-top:1.1rem;line-height:1.5;
}
.sorb-pcard .sorb-src a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(200,165,96,.5)}
.sorb-pcard .sorb-src a:hover{color:var(--pink)}

.sorb-cred{
  margin:3.4rem auto 0;max-width:920px;text-align:center;
  border-top:1px solid var(--gold-line-soft);padding-top:1.9rem;
}
.sorb-cred-lab{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:1.1rem}
.sorb-cred-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.8rem}
.sorb-cred-links a{font-family:var(--sans);font-size:.86rem;color:var(--on-dark-soft);text-decoration:none;border-bottom:1px solid rgba(200,169,107,.32);padding-bottom:1px;transition:color .3s,border-color .3s}
.sorb-cred-links a:hover{color:var(--gold-soft);border-color:var(--gold-soft)}
.sorb-cred-note{font-family:var(--sans);font-size:.82rem;color:rgba(243,239,233,.5);margin-top:1.3rem;max-width:56ch;margin-left:auto;margin-right:auto;line-height:1.55}
@media(max-width:600px){
  .sorb-ph{padding:1.3rem 1.2rem;gap:.9rem}
  .sorb-ph-idx{width:1.6rem;font-size:1.2rem}
  .sorb-pcard{margin:0 1.2rem 1.4rem;padding:1.3rem 1.3rem}
}

/* ---------- 3. PLACEMENT-TEST LEAD MAGNET STRIP ---------- */
.lead-magnet{padding:var(--sp-6) 0}
.lm-card{
  position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:0;
  border-radius:22px;overflow:hidden;
  border:1px solid var(--gold-line);
  box-shadow:0 34px 80px -42px rgba(11,19,64,.45);
  background:var(--navy-deep);
}
.lm-cover{position:relative;min-height:340px;overflow:hidden;
  background:
    radial-gradient(120% 120% at 20% 15%, rgba(228,166,184,.55), transparent 60%),
    radial-gradient(120% 130% at 95% 90%, rgba(201,122,78,.5), transparent 62%),
    linear-gradient(135deg,#1A2456,var(--navy) 55%,#2A1E2C);
}
.lm-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.lm-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(8,14,43,.4))}
.lm-cover-badge{
  position:absolute;top:1.3rem;left:1.3rem;z-index:2;
  font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--navy-deep);background:linear-gradient(135deg,var(--gold-soft),var(--gold-deep));
  padding:.5rem 1rem;border-radius:999px;
}
.lm-body{padding:3rem 3rem 2.8rem;display:flex;flex-direction:column;justify-content:center;color:var(--on-dark)}
.lm-eyebrow{color:var(--pink-soft)!important}
.lm-eyebrow::before{background:var(--pink-line)}
.lm-body h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.06;margin:1.1rem 0 0;color:var(--on-dark)}
.lm-body h2 em{font-style:italic;color:var(--gold-soft)}
.lm-body p{font-size:1.02rem;line-height:1.62;color:var(--on-dark-soft);font-weight:300;margin:1rem 0 0;max-width:42ch}
.lm-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin:1.4rem 0 0;font-size:.78rem;letter-spacing:.06em;color:var(--on-dark-faint)}
.lm-meta span{display:inline-flex;align-items:center;gap:.45rem}
.lm-meta span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold-soft)}
.lm-actions{margin-top:1.8rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
@media(max-width:820px){
  .lm-card{grid-template-columns:1fr}
  .lm-cover{min-height:220px}
  .lm-cover::after{background:linear-gradient(180deg,transparent 50%,rgba(8,14,43,.5))}
  .lm-body{padding:2.2rem 1.8rem 2.4rem}
}

/* ---------- 4. eTEACHER GROUP PLATFORM / LMS BLOCK ---------- */
.etg{padding:var(--sp-7) 0}
.etg-head{text-align:center;max-width:60ch;margin:0 auto 3rem}
.etg-head .eyebrow{justify-content:center}
.etg-head h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.06;margin:1.1rem 0 0}
.etg-head h2 em{font-style:italic;color:var(--gold-deep)}
.etg-head p{font-size:1.05rem;line-height:1.62;color:var(--on-light-soft);font-weight:300;margin:1rem auto 0;max-width:56ch}
/* trust band (Longevity-style) */
.etg-trust{max-width:880px;margin:0 auto 3rem;text-align:center}
.etg-trust-lab{display:block;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:1.6rem;font-weight:600}
.etg-trust-figs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;max-width:680px;margin:0 auto}
.etg-tf{position:relative;padding:0 1rem}
.etg-tf:not(:last-child)::after{content:"";position:absolute;right:0;top:20%;bottom:20%;width:1px;background:var(--gold-line)}
.etg-tf-num{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(2rem,4.4vw,3rem);color:var(--navy);line-height:1;font-variant-numeric:tabular-nums}
.etg-tf-lab{display:block;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--on-light-soft);margin-top:.7rem;line-height:1.4}
@media(max-width:600px){.etg-trust-figs{grid-template-columns:1fr;gap:1.6rem;max-width:240px}.etg-tf:not(:last-child)::after{display:none}}
.etg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.etg-feat{
  background:var(--white);border:1px solid var(--gold-line-soft);border-radius:16px;
  padding:1.8rem 1.7rem;display:flex;flex-direction:column;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
}
.etg-feat:hover{transform:translateY(-5px);box-shadow:0 26px 54px -34px rgba(11,19,64,.3);border-color:var(--gold-line)}
.etg-ic{
  width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin-bottom:1.1rem;
  background:linear-gradient(135deg,rgba(200,165,96,.16),rgba(200,165,96,.04));
  border:1px solid var(--gold-line-soft);color:var(--gold-deep);
}
.etg-ic svg{width:24px;height:24px}
.etg-feat h3{font-family:var(--serif);font-size:1.4rem;margin-bottom:.45rem;line-height:1.15}
.etg-feat p{font-size:.92rem;color:var(--on-light-soft);line-height:1.6;margin:0}
.etg-foot{text-align:center;margin-top:2.6rem;font-size:.86rem;color:var(--on-light-soft)}
@media(max-width:900px){.etg-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.etg-grid{grid-template-columns:1fr}}

/* ---- course journey image band (uses -2 / -3 course images) ---- */
.cp-journey{display:grid;grid-template-columns:1fr 1fr;gap:0}
.cp-journey-img{position:relative;overflow:hidden;min-height:320px}
.cp-journey-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.cp-journey-img:hover img{transform:scale(1.04)}
.cp-journey-img figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.4rem 1.5rem;color:#fff;font-family:var(--serif);font-style:italic;font-size:1.1rem;background:linear-gradient(0deg,rgba(8,14,43,.82),transparent)}
@media(max-width:780px){.cp-journey{grid-template-columns:1fr}.cp-journey-img{min-height:240px}}

/* ===== INTERNAL COURSE PAGES ===== */
/* Board-ready 2026 enhancements. New .cpx- namespace ONLY — never clobbers existing .cp- classes. */

/* --- Shared section helpers for gradient folds --- */
.cpx-fold{position:relative;overflow:hidden}
.cpx-fold-pink{background:linear-gradient(165deg,var(--pink-soft) 0%,#FCF4F0 48%,var(--paper) 100%)}
.cpx-fold-beige{background:linear-gradient(170deg,var(--paper) 0%,var(--ivory) 100%)}
.cpx-fold-navy{background:radial-gradient(120% 140% at 12% 0%,var(--navy-soft) 0%,var(--navy) 42%,var(--navy-deep) 100%);color:var(--on-dark)}
.cpx-fold-navy h2,.cpx-fold-navy h3{color:var(--on-dark)}
.cpx-pad{padding:clamp(3.4rem,6vw,5.6rem) 0}
.cpx-center{text-align:center;max-width:62ch;margin-inline:auto}
.cpx-kicker{font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.cpx-kicker::before{content:"";width:30px;height:1px;background:var(--gold-line)}
.cpx-fold-navy .cpx-kicker{color:var(--gold-soft)}
.cpx-fold-navy .cpx-kicker::before{background:var(--gold)}
.cpx-ital{font-style:italic;color:var(--gold-deep);font-weight:500}
.cpx-fold-navy .cpx-ital{color:var(--gold-soft)}

/* --- (b) AT-A-GLANCE FACTS STRIP (horizontal) --- */
.cpx-facts{position:relative;overflow:hidden;background:linear-gradient(110deg,var(--navy-deep) 0%,var(--navy) 50%,var(--navy-soft) 100%);color:var(--on-dark)}
.cpx-facts::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.cpx-facts-inner{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(200,169,107,.16)}
.cpx-fact{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);padding:1.7rem 1.25rem;display:flex;flex-direction:column;gap:.55rem;min-width:0}
.cpx-fact-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(200,169,107,.22),rgba(200,169,107,.05));border:1px solid var(--gold-line-soft);color:var(--gold-soft)}
.cpx-fact-ic svg{width:18px;height:18px}
.cpx-fact-v{font-family:var(--serif);font-size:1.5rem;font-weight:600;line-height:1.05;color:var(--on-dark)}
.cpx-fact-k{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-soft);line-height:1.4}
@media(max-width:900px){.cpx-facts-inner{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.cpx-facts-inner{grid-template-columns:repeat(2,1fr)}.cpx-fact{padding:1.3rem 1rem}.cpx-fact-v{font-size:1.3rem}}

/* --- (e) OUTCOMES "By the end you will" — pink accent fold --- */
.cpx-outcomes-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,3.4rem);align-items:center;margin-top:2.4rem}
.cpx-out-list{list-style:none;margin:0;padding:0;display:grid;gap:.95rem}
.cpx-out-list li{display:flex;gap:.9rem;align-items:flex-start;font-size:1.02rem;line-height:1.5;color:var(--on-light)}
.cpx-out-num{flex-shrink:0;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:.95rem;color:var(--navy);background:linear-gradient(135deg,var(--gold-soft),var(--gold-deep));box-shadow:0 6px 16px -8px rgba(168,141,82,.7)}
.cpx-out-card{position:relative;border-radius:20px;overflow:hidden;min-height:340px;box-shadow:0 30px 70px -40px rgba(11,19,64,.45);border:1px solid var(--pink-line)}
.cpx-out-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cpx-out-card figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.5rem 1.6rem;color:#fff;font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1.3;background:linear-gradient(0deg,rgba(8,10,30,.85),transparent)}
.cpx-cert-badge{position:absolute;z-index:3;top:1rem;right:1rem;display:inline-flex;align-items:center;gap:.45rem;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);background:linear-gradient(135deg,var(--gold-soft),var(--gold));padding:.45rem .8rem;border-radius:999px}
@media(max-width:820px){.cpx-outcomes-grid{grid-template-columns:1fr}.cpx-out-card{min-height:260px}}

/* --- (g) PRICING + final CTA band --- */
.cpx-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin-top:2.6rem;align-items:stretch}
.cpx-plan{position:relative;display:flex;flex-direction:column;border-radius:20px;padding:2.1rem 2rem 2.2rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);overflow:hidden}
.cpx-plan.is-feature{background:linear-gradient(165deg,rgba(200,169,107,.16),rgba(200,169,107,.03));border-color:var(--gold-line)}
.cpx-plan-tag{position:absolute;top:1.3rem;right:1.3rem;font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:linear-gradient(135deg,var(--gold-soft),var(--gold));padding:.34rem .7rem;border-radius:999px}
.cpx-plan-name{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:.9rem}
.cpx-plan-price{font-family:var(--serif);font-size:clamp(2.6rem,5vw,3.4rem);line-height:1;color:var(--on-dark);display:flex;align-items:baseline;gap:.4rem}
.cpx-plan-price span{font-size:1rem;font-weight:400;color:var(--on-dark-soft);font-family:var(--sans,'Inter',sans-serif)}
.cpx-plan-sub{font-size:.92rem;color:var(--on-dark-soft);margin:.55rem 0 1.3rem}
.cpx-plan-list{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.7rem}
.cpx-plan-list li{display:flex;gap:.65rem;align-items:flex-start;font-size:.94rem;line-height:1.45;color:var(--on-dark)}
.cpx-plan-list svg{flex-shrink:0;width:18px;height:18px;color:var(--gold-soft);margin-top:2px}
.cpx-plan .btn-accent,.cpx-plan .btn-glass{width:100%;margin-top:auto;justify-content:center}
.cpx-price-note{margin-top:1.7rem;font-size:.82rem;color:var(--on-dark-soft);text-align:center}
.cpx-price-disc{margin-top:.6rem;font-size:.72rem;color:var(--on-dark-faint);text-align:center;max-width:64ch;margin-inline:auto}
@media(max-width:760px){.cpx-price-grid{grid-template-columns:1fr}}

/* --- region/teacher note strip --- */
.cpx-region{display:grid;grid-template-columns:.42fr .58fr;gap:0;border-radius:22px;overflow:hidden;border:1px solid var(--gold-line-soft);box-shadow:0 30px 70px -46px rgba(11,19,64,.4);margin-top:2.4rem}
.cpx-region-img{position:relative;min-height:300px}
.cpx-region-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cpx-region-body{background:var(--white);padding:clamp(1.8rem,3vw,2.8rem);display:flex;flex-direction:column;justify-content:center;gap:.7rem}
.cpx-region-body h3{font-size:clamp(1.5rem,2.6vw,2rem);color:var(--on-light);margin:0}
.cpx-region-body p{font-size:1rem;line-height:1.6;color:var(--on-light-soft);margin:0}
.cpx-region-loc{display:inline-flex;align-items:center;gap:.45rem;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra-deep)}
.cpx-region-loc svg{width:15px;height:15px}
@media(max-width:760px){.cpx-region{grid-template-columns:1fr}.cpx-region-img{min-height:220px}}
/* ===== END INTERNAL COURSE PAGES ===== */

/* ============================================================
   HOMEPAGE FIXES — All 6 fixes (CEO/Board presentation)
   ============================================================ */

/* ============================================================
   CPH — COURSE PHASE CARDS (columnar grid, accordion expand)
   Brand: navy/gold/white/pink — NO teal/magenta/mustard
   ============================================================ */

/* Track header */
.cph-track-label{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem 1.4rem;
  padding:1.6rem 0;margin:3rem 0 1.4rem;
  border-bottom:1px solid rgba(200,169,107,.25);
}
.cph-track-eyebrow{
  font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);white-space:nowrap;
}
.cph-track-name{
  font-family:var(--serif);font-size:clamp(1.05rem,2vw,1.45rem);font-weight:600;
  color:var(--on-light);flex:1;min-width:180px;
}
.cph-track-name em{font-style:italic;color:var(--gold-deep)}
.cph-track-meta{
  font-size:.76rem;letter-spacing:.06em;color:var(--on-light-soft);white-space:nowrap;
}

/* ---- Grid container ---- */
.cph-panels{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
  margin-top:0;
  align-items:start;
}
.cph-panels-lsf{
  grid-template-columns:repeat(3,1fr);
}

/* ---- Individual card ---- */
.cph-panel{
  display:flex;
  flex-direction:column;
  border-radius:20px;
  background:
    radial-gradient(130% 90% at 50% -15%, color-mix(in srgb, var(--ph-accent,var(--gold)) 55%, transparent) 0%, transparent 58%),
    linear-gradient(165deg, color-mix(in srgb, var(--ph-accent,var(--gold)) 30%, var(--navy)) 0%, color-mix(in srgb, var(--ph-accent,var(--gold)) 8%, var(--navy-deep)) 100%);
  border:1px solid color-mix(in srgb, var(--ph-accent,var(--gold)) 55%, transparent);
  box-shadow:0 24px 60px -28px rgba(0,0,52,.55),inset 0 1px 0 rgba(255,255,255,.09);
  color:#fff;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:transform .38s cubic-bezier(.22,.68,0,1.2),box-shadow .38s ease,border-color .28s ease;
}
.cph-panel::before{
  /* top accent bar */
  content:"";
  display:block;height:5px;width:100%;
  background:linear-gradient(90deg,var(--ph-accent,var(--gold)),var(--ph-accent2,var(--gold-deep)));
  flex-shrink:0;
}
.cph-panel::after{
  /* glass sheen */
  content:"";position:absolute;left:0;right:0;top:0;height:45%;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0));
  mix-blend-mode:screen;
}
@media(hover:hover){
  .cph-panel:hover{
    transform:translateY(-6px);
    box-shadow:0 36px 80px -28px rgba(0,0,52,.65),
               0 0 0 1px color-mix(in srgb, var(--ph-accent,var(--gold)) 70%, transparent),
               inset 0 1px 0 rgba(255,255,255,.15);
    border-color:color-mix(in srgb, var(--ph-accent,var(--gold)) 80%, transparent);
  }
}

/* Big number */
.cph-num{
  font-family:var(--serif);
  font-size:clamp(3rem,5vw,4.5rem);
  font-weight:700;
  color:var(--ph-accent,var(--gold));
  line-height:1;
  padding:1.8rem 1.8rem .6rem;
  opacity:.9;
  position:relative;z-index:1;
  letter-spacing:-.02em;
}

/* Static card body (always visible) */
.cph-body{
  padding:.4rem 1.8rem 1.4rem;
  position:relative;z-index:1;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.cph-eyebrow{
  font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.cph-title{
  font-family:var(--serif);
  font-size:clamp(1.25rem,2vw,1.6rem);
  font-weight:600;
  color:#fff;
  line-height:1.1;
  margin:0;
}
.cph-level-badge{
  display:inline-flex;align-items:center;
  font-size:.7rem;font-weight:700;letter-spacing:.06em;
  background:rgba(200,169,107,.2);
  border:1px solid rgba(200,169,107,.5);
  padding:.3rem .8rem;border-radius:999px;
  color:var(--gold);
  white-space:nowrap;
  width:fit-content;
}
.cph-tagline{
  font-family:var(--serif);
  font-size:clamp(.88rem,1.2vw,.98rem);
  font-style:italic;
  color:rgba(255,255,255,.78);
  margin:0;
  line-height:1.45;
}

/* Expand drawer (hidden by default) */
.cph-expand{
  overflow:hidden;
  max-height:0;
  transition:max-height .45s cubic-bezier(.4,0,.2,1), opacity .35s ease, padding .3s ease;
  opacity:0;
  padding:0 1.8rem;
  position:relative;z-index:1;
}
.cph-panel.is-open .cph-expand{
  max-height:400px;
  opacity:1;
  padding:.2rem 1.8rem 0;
}
.cph-outcome{
  font-size:.86rem;color:rgba(255,255,255,.72);line-height:1.55;margin:.4rem 0 .8rem;
}
.cph-meta{
  display:flex;flex-direction:column;gap:.32rem;
  font-size:.74rem;color:rgba(255,255,255,.55);font-weight:500;
  margin-bottom:1rem;
}
.cph-meta span{
  display:flex;align-items:center;gap:.45rem;
}
.cph-meta span::before{
  content:"";width:4px;height:4px;border-radius:50%;
  background:var(--gold);flex-shrink:0;
  opacity:.8;
}
.cph-cta{
  display:flex;flex-direction:column;gap:.6rem;
  padding-bottom:1.4rem;
  position:relative;z-index:1;
}
.cph-cta .btn{
  font-size:.72rem;padding:.72rem 1.2rem;text-align:center;
  border-radius:10px;
}
.cph-cta .btn-gold{
  background:var(--gold);
  color:var(--navy);
  border:0;
  font-weight:700;
}
.cph-cta .btn-gold:hover{background:#d4b87a;}
.cph-cta .btn-outline{
  border:1px solid rgba(255,255,255,.35);
  color:rgba(255,255,255,.85);
  background:transparent;
}
.cph-cta .btn-outline:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
  border-color:rgba(255,255,255,.7);
}

/* Expand toggle chevron */
.cph-toggle{
  display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 1.8rem;
  font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.45);
  position:relative;z-index:1;
  user-select:none;
  border-top:1px solid rgba(255,255,255,.07);
  margin-top:auto;
}
.cph-toggle .cph-chevron{
  width:18px;height:18px;flex-shrink:0;
  display:grid;place-items:center;
  transition:transform .35s ease;
}
.cph-toggle .cph-chevron svg{
  width:14px;height:14px;
  stroke:rgba(200,169,107,.7);stroke-width:2.2;
  fill:none;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .25s;
}
.cph-panel.is-open .cph-toggle .cph-chevron{
  transform:rotate(180deg);
}
.cph-panel.is-open .cph-toggle{
  color:rgba(200,169,107,.8);
}
.cph-panel.is-open .cph-toggle .cph-chevron svg{
  stroke:var(--gold);
}

/* LSF evening cards inherit the same per-card accent tint as FA cards */

/* ---- Responsive ---- */
@media(max-width:1100px){
  .cph-panels{grid-template-columns:repeat(2,1fr);}
  .cph-panels-lsf{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:860px){
  .cph-panels,.cph-panels-lsf{grid-template-columns:repeat(2,1fr);gap:.9rem;}
}
@media(max-width:520px){
  .cph-panels,.cph-panels-lsf{grid-template-columns:1fr;gap:.8rem;}
  .cph-num{font-size:2.6rem;padding:1.4rem 1.4rem .5rem;}
  .cph-body{padding:.3rem 1.4rem 1.1rem;}
  .cph-toggle{padding:.8rem 1.4rem;}
  .cph-expand,.cph-panel.is-open .cph-expand{padding-left:1.4rem;padding-right:1.4rem;}
  .cph-cta{padding-bottom:1.2rem;}
  .cph-track-label{margin:2rem 0 1rem;}
}

/* ============================================================
   CLS — COURSE CLUSTERS (two clickable header cards -> reveal
   horizontal slider of course cards). FA = deep navy + white neon,
   LSF = terracotta. NO daytime/evening wording.
   ============================================================ */

/* ---- Two cluster header cards ---- */
.cls-cards{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.6rem;
  align-items:stretch;
}
.cls-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.55rem;
  text-align:left;
  padding:2.4rem 2.2rem 2rem;
  min-height:230px;
  border-radius:22px;
  border:1px solid transparent;
  cursor:pointer;
  overflow:hidden;
  color:#fff;
  font-family:inherit;
  isolation:isolate;
  transition:transform .4s cubic-bezier(.22,.68,0,1.2),box-shadow .4s ease,border-color .3s ease;
}
.cls-card>*{position:relative;z-index:2;}
.cls-card::after{
  /* glass sheen */
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 55%);
  mix-blend-mode:screen;
}
@media(hover:hover){
  .cls-card:hover{transform:translateY(-5px);}
}
.cls-card:focus-visible{outline:3px solid var(--gold-soft);outline-offset:3px;}

/* FA = deep navy gradient + white neon glow */
.cls-card-fa{
  background:
    radial-gradient(60% 70% at 78% 12%, rgba(255,255,255,.42) 0%, rgba(255,255,255,.10) 32%, transparent 60%),
    radial-gradient(40% 55% at 18% 90%, rgba(156,166,200,.30) 0%, transparent 60%),
    linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 26px 64px -30px rgba(0,0,52,.7), inset 0 1px 0 rgba(255,255,255,.14);
}
@media(hover:hover){
  .cls-card-fa:hover{
    box-shadow:0 0 0 1px rgba(255,255,255,.5),0 0 38px -4px rgba(255,255,255,.45),0 36px 80px -30px rgba(0,0,52,.8);
    border-color:rgba(255,255,255,.55);
  }
}
.cls-card-fa.is-active{
  border-color:rgba(255,255,255,.7);
  box-shadow:0 0 0 1px rgba(255,255,255,.6),0 0 46px -2px rgba(255,255,255,.55),0 36px 80px -30px rgba(0,0,52,.85);
}

/* LSF = terracotta gradient */
.cls-card-lsf{
  background:
    radial-gradient(60% 70% at 78% 12%, rgba(255,225,210,.40) 0%, transparent 58%),
    linear-gradient(160deg, #D98264 0%, var(--terra) 45%, var(--terra-deep) 100%);
  border-color:rgba(255,235,225,.30);
  box-shadow:0 26px 64px -30px rgba(120,52,30,.6), inset 0 1px 0 rgba(255,255,255,.18);
}
@media(hover:hover){
  .cls-card-lsf:hover{
    box-shadow:0 0 0 1px rgba(255,235,225,.55),0 36px 80px -30px rgba(120,52,30,.75);
    border-color:rgba(255,235,225,.7);
  }
}
.cls-card-lsf.is-active{
  border-color:rgba(255,240,232,.85);
  box-shadow:0 0 0 1px rgba(255,240,232,.7),0 0 40px -6px rgba(231,150,110,.6),0 36px 80px -30px rgba(120,52,30,.8);
}

.cls-card-eyebrow{
  font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.cls-card-lsf .cls-card-eyebrow{color:rgba(255,245,240,.85);}
.cls-card-title{
  font-family:var(--serif);
  font-size:clamp(1.7rem,3.4vw,2.45rem);
  font-weight:600;line-height:1.05;letter-spacing:-.01em;
  color:#fff;
}
.cls-card-sub{
  font-family:var(--serif);font-style:italic;
  font-size:1rem;color:rgba(255,255,255,.86);line-height:1.45;margin-top:.15rem;
}
/* refined stat row — replaces the old cramped middot meta line */
.cls-card-meta{
  display:flex;flex-wrap:wrap;gap:0;
  margin-top:1.1rem;padding-top:1.1rem;width:100%;
  border-top:1px solid rgba(255,255,255,.16);
}
.cls-card-lsf .cls-card-meta{border-top-color:rgba(255,240,232,.22);}
.cls-meta-item{
  display:flex;flex-direction:column;gap:.18rem;
  padding:0 1.05rem;position:relative;
}
.cls-meta-item:first-child{padding-left:0;}
.cls-meta-item+.cls-meta-item::before{
  content:"";position:absolute;left:0;top:12%;bottom:12%;width:1px;
  background:rgba(255,255,255,.18);
}
.cls-card-lsf .cls-meta-item+.cls-meta-item::before{background:rgba(255,240,232,.24);}
.cls-meta-val{
  font-family:var(--serif);font-weight:600;font-size:1.18rem;line-height:1;
  color:#fff;letter-spacing:-.01em;font-variant-numeric:lining-nums;
}
.cls-card-fa .cls-meta-val{color:var(--gold-soft);}
.cls-meta-key{
  font-family:var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:rgba(255,255,255,.62);white-space:nowrap;
}
.cls-card-lsf .cls-meta-key{color:rgba(255,245,240,.72);}
@media(max-width:520px){
  .cls-card-meta{gap:.7rem 0;}
  .cls-meta-item{padding:0 .85rem;}
  .cls-meta-val{font-size:1.05rem;}
}
.cls-card-action{
  margin-top:auto;padding-top:1.1rem;
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;
}
.cls-card-fa .cls-card-action{color:var(--gold-soft);}
.cls-card-chevron{
  width:20px;height:20px;display:grid;place-items:center;
  border-radius:50%;border:1px solid rgba(255,255,255,.4);
  transition:transform .35s ease,background .25s ease;
}
.cls-card-chevron svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.cls-card.is-active .cls-card-chevron{transform:rotate(180deg);background:rgba(255,255,255,.18);}

/* ---- Default hint ---- */
.cls-hint{
  text-align:center;margin:1.8rem 0 0;
  font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--on-light-soft);font-weight:600;
  transition:opacity .3s ease;
}
.cls-hint.is-hidden{display:none;}

/* ---- Reveal container (animated open/close) ---- */
.cls-reveal{
  margin-top:2rem;
  opacity:0;
  transform:translateY(14px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.22,.68,0,1.2);
}
.cls-reveal[hidden]{display:none;}
.cls-reveal.is-open{opacity:1;transform:none;}

/* ---- Slider shell ---- */
.cls-slider{position:relative;display:flex;align-items:center;gap:.6rem;}
.cls-rail{
  display:flex;
  gap:1.4rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:.5rem .2rem 1.2rem;
  flex:1;
  scrollbar-width:none;
  cursor:grab;
}
.cls-rail::-webkit-scrollbar{display:none;}
.cls-rail.is-dragging{cursor:grabbing;scroll-behavior:auto;}
.cls-rail.is-dragging .cls-course{pointer-events:none;}

/* ---- Arrows ---- */
.cls-arrow{
  flex-shrink:0;
  width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;
  cursor:pointer;
  border:1px solid var(--gold-line);
  background:#fff;
  color:var(--navy);
  box-shadow:0 8px 22px -12px rgba(0,0,52,.4);
  transition:transform .25s ease,background .25s ease,color .25s ease,opacity .25s ease;
}
.cls-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.cls-arrow:hover{transform:scale(1.08);background:var(--navy);color:#fff;border-color:var(--navy);}
.cls-arrow:disabled{opacity:.3;cursor:default;transform:none;background:#fff;color:var(--navy);}
.cls-reveal-lsf .cls-arrow:hover{background:var(--terra);border-color:var(--terra);color:#fff;}

/* ---- Course card (within slider) ---- */
.cls-course{
  flex:0 0 300px;
  width:300px;
  scroll-snap-align:start;
  display:flex;flex-direction:column;
  border-radius:18px;
  overflow:hidden;
  color:#fff;
  box-shadow:0 24px 56px -30px rgba(0,0,52,.6),inset 0 1px 0 rgba(255,255,255,.1);
  transition:transform .35s ease,box-shadow .35s ease;
}
@media(hover:hover){.cls-course:hover{transform:translateY(-5px);}}

/* FA course cards = deep navy / white neon */
.cls-course-fa{
  background:linear-gradient(165deg, var(--navy) 0%, var(--navy-deep) 100%);
  border:1px solid rgba(255,255,255,.16);
}
@media(hover:hover){.cls-course-fa:hover{box-shadow:0 0 0 1px rgba(255,255,255,.4),0 0 26px -6px rgba(255,255,255,.35),0 30px 64px -30px rgba(0,0,52,.7);}}

/* LSF course cards = terracotta */
.cls-course-lsf{
  background:linear-gradient(165deg, #D98264 0%, var(--terra) 50%, var(--terra-deep) 100%);
  border:1px solid rgba(255,235,225,.28);
}
@media(hover:hover){.cls-course-lsf:hover{box-shadow:0 0 0 1px rgba(255,235,225,.5),0 30px 64px -30px rgba(120,52,30,.7);}}

.cls-course-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--navy-deep);}
.cls-course-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease,ease);}
@media(hover:hover){.cls-course:hover .cls-course-media img{transform:scale(1.06);}}
.cls-course-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,20,.55));pointer-events:none;}
.cls-course-lsf .cls-course-media::after{background:linear-gradient(180deg,transparent 55%,rgba(120,52,30,.55));}

.cls-course-body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.cls-course-level{
  align-self:flex-start;
  font-size:.68rem;font-weight:700;letter-spacing:.06em;
  padding:.28rem .7rem;border-radius:999px;white-space:nowrap;
}
.cls-course-fa .cls-course-level{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);color:#fff;}
.cls-course-lsf .cls-course-level{background:rgba(255,255,255,.18);border:1px solid rgba(255,240,232,.55);color:#fff;}
.cls-course-name{font-family:var(--serif);font-size:1.35rem;font-weight:600;line-height:1.1;margin:0;color:#fff;}
.cls-course-region{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.cls-course-fa .cls-course-region{color:var(--gold-soft);}
.cls-course-lsf .cls-course-region{color:rgba(255,240,232,.92);}
.cls-course-hook{font-family:var(--serif);font-style:italic;font-size:.92rem;line-height:1.45;color:rgba(255,255,255,.82);margin:0;flex:1;}
.cls-course-link{
  margin-top:.6rem;align-self:flex-start;
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.6rem 1.1rem;border-radius:10px;
  transition:gap .25s ease,background .25s ease;
}
.cls-course-fa .cls-course-link{background:var(--gold);color:var(--navy);}
.cls-course-fa .cls-course-link:hover{background:#d4b87a;gap:.7rem;}
.cls-course-lsf .cls-course-link{background:#fff;color:var(--terra-deep);}
.cls-course-lsf .cls-course-link:hover{background:var(--paper);gap:.7rem;}

/* ---- Responsive ---- */
@media(max-width:760px){
  .cls-cards{grid-template-columns:1fr;gap:1rem;}
  .cls-card{min-height:170px;padding:1.8rem 1.6rem 1.5rem;}
  .cls-course{flex:0 0 78vw;width:78vw;}
  .cls-arrow{width:40px;height:40px;}
}
@media(max-width:430px){
  .cls-course{flex:0 0 84vw;width:84vw;}
  .cls-slider{gap:.3rem;}
  .cls-arrow{position:absolute;top:38%;z-index:5;}
  .cls-arrow-prev{left:4px;}
  .cls-arrow-next{right:4px;}
  .cls-rail{padding-left:0;padding-right:0;}
}

/* ============================================================
   FIX 2 — TEACHERS SECTION — Premium faculty gallery
   ============================================================ */
.tctr-head{text-align:center;margin-bottom:2rem}

.tctr-badges{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1.4rem;
  margin-bottom:2.6rem;
}
.tctr-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--sans);
  font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-deep);background:linear-gradient(135deg,rgba(200,169,107,.10),rgba(200,169,107,.03));
  border:1px solid var(--gold-line-soft);border-radius:999px;padding:.55rem 1.15rem;
}
.tctr-badge svg{flex-shrink:0;color:var(--gold-deep)}

/* 2×2 video grid */
.tctr-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;
}
.tctr-card{
  background:var(--white);border:1px solid var(--gold-line-soft);border-radius:18px;
  overflow:hidden;box-shadow:0 18px 50px -30px rgba(11,19,64,.32);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
}
.tctr-card:hover{transform:translateY(-6px);border-color:var(--gold-line);box-shadow:0 28px 64px -32px rgba(11,19,64,.4)}
.tctr-frame{position:relative;aspect-ratio:16/9;background:#000}
.tctr-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tctr-meta{
  padding:1.2rem 1.4rem 1.4rem;
  background:linear-gradient(180deg,#fff,var(--paper));
}
.tctr-namerow{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;margin-bottom:.35rem}
.tctr-name{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--on-light)}
.tctr-region-pill{
  font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--navy);background:linear-gradient(135deg,var(--gold-soft),var(--gold-deep));
  padding:.34rem .75rem;border-radius:999px;white-space:nowrap;
  /* BRAND: gold/navy only — no teal/magenta */
}
.tctr-desc{font-size:.82rem;color:var(--on-light-soft);letter-spacing:.04em}

/* "and many more" section */
.tctr-more-wrap{margin-top:3rem;text-align:center}
.tctr-more-label{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--on-light-soft);margin-bottom:1.6rem}
.tctr-more-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;max-width:700px;margin:0 auto;
}
.tctr-mini{
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
  text-decoration:none;padding:1.2rem;
  background:var(--white);border:1px solid var(--gold-line-soft);border-radius:16px;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.tctr-mini:hover{transform:translateY(-4px);box-shadow:0 20px 44px -28px rgba(11,19,64,.28)}
.tctr-mini-img{
  width:80px;height:80px;border-radius:50%;overflow:hidden;
  border:2px solid var(--gold-line);flex-shrink:0;
}
.tctr-mini-img img{width:100%;height:100%;object-fit:cover}
.tctr-mini-name{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--on-light);text-align:center}
.tctr-mini-region{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);text-align:center}

@media(max-width:860px){.tctr-grid{grid-template-columns:1fr}}
@media(max-width:580px){
  .tctr-more-grid{grid-template-columns:repeat(2,1fr);max-width:380px}
  .tctr-mini-img{width:64px;height:64px}
}

/* ============================================================
   FIX 3 — SORBONNE FOLD — V3 rebuilt LIGHT & on-brand
   (old dark/compressed overrides removed; disclaimer restored)
   ============================================================ */
.sorb{padding:clamp(3.4rem,6vw,5.6rem) 0}
.sorb-cred-note{display:block}

/* ============================================================
   FIX 4 — ACADOMIA LOGOS — Enlarge marquee images
   ============================================================ */
.ac-marquee-track img{
  height:72px!important;opacity:.92!important;
  /* brighter white logos with a soft luminous glow */
  filter:brightness(0) invert(1) drop-shadow(0 0 14px rgba(255,255,255,.45)) drop-shadow(0 0 30px rgba(200,169,107,.28))!important;
  transition:opacity .4s var(--ease), filter .4s var(--ease), transform .4s var(--ease)!important;
}
.ac-marquee-track img:hover{
  opacity:1!important;transform:translateY(-2px) scale(1.04);
  filter:brightness(0) invert(1) drop-shadow(0 0 20px rgba(255,255,255,.7)) drop-shadow(0 0 42px rgba(200,169,107,.5))!important;
}
@media(max-width:680px){.ac-marquee-track img{height:52px!important}}
@media(max-width:400px){.ac-marquee-track img{height:44px!important}}
/* Also widen the gap so larger logos breathe */
.ac-marquee-track{gap:clamp(3rem,6vw,5.5rem)!important}

/* ============================================================
   FIX 5A — HOW IT WORKS — Sleek high-tech numbered journey
   ============================================================ */
.hiw2-section{
  padding:var(--sp-8) 0;
  background:linear-gradient(180deg,var(--paper) 0%,var(--ivory) 100%);
  position:relative;overflow:hidden;
}
.hiw2-section::before{
  content:"";position:absolute;left:-10%;right:-10%;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-line-soft),transparent);
}
.hiw2-head{text-align:center;margin-bottom:3.4rem}

/* Journey wrapper — desktop: horizontal rail */
.hiw2-journey{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1.4rem;
  align-items:start;
}

/* Gold connective rail */
.hiw2-rail{
  position:absolute;top:38px;left:calc(10% + 28px);right:calc(10% + 28px);height:2px;
  background:linear-gradient(90deg,var(--gold-line-soft),var(--gold-line),var(--gold-line-soft));
  z-index:0;pointer-events:none;
}

/* Each step */
.hiw2-step{
  position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.1rem;
}

/* Node circle */
.hiw2-node{
  width:76px;height:76px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;
  background:radial-gradient(120% 120% at 30% 25%,#1A2456,var(--navy) 60%,var(--navy-deep));
  box-shadow:0 12px 28px -12px rgba(11,19,64,.55),0 0 0 5px var(--ivory),0 0 0 7px var(--gold-line-soft);
  position:relative;
}
.hiw2-node-final{
  background:radial-gradient(120% 120% at 30% 25%,#2A1E2C,#8E3A52 60%,#6B1E2C);
  box-shadow:0 12px 28px -12px rgba(107,30,44,.55),0 0 0 5px var(--ivory),0 0 0 7px rgba(228,166,184,.4);
}
.hiw2-n{
  font-family:var(--serif);font-size:1.42rem;font-weight:600;color:var(--gold-soft);line-height:1;
}

/* Card */
.hiw2-card{
  background:linear-gradient(180deg,#fff,var(--paper));
  border:1px solid var(--gold-line-soft);border-radius:16px;
  padding:1.5rem 1.3rem 1.4rem;text-align:center;width:100%;
  box-shadow:0 2px 0 rgba(255,255,255,.9) inset,0 16px 38px -26px rgba(11,19,64,.28);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
}
.hiw2-step:hover .hiw2-card{
  transform:translateY(-6px);border-color:var(--gold-line);
  box-shadow:0 26px 54px -26px rgba(11,19,64,.38);
}
.hiw2-card-final{
  border-color:rgba(228,166,184,.4);
  background:linear-gradient(170deg,rgba(251,239,242,.6),#fff,var(--paper));
}
.hiw2-ic{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  margin:0 auto .9rem;
  background:linear-gradient(135deg,rgba(200,169,107,.18),rgba(200,169,107,.04));
  border:1px solid var(--gold-line-soft);color:var(--gold-deep);
}
.hiw2-ic svg{width:26px;height:26px}
.hiw2-title{
  font-family:var(--serif);font-size:1.18rem;font-weight:600;
  color:var(--on-light);margin-bottom:.45rem;line-height:1.15;
}
.hiw2-desc{font-size:.86rem;line-height:1.55;color:var(--on-light-soft);margin-bottom:.7rem}
.hiw2-tag{
  display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold-deep);background:linear-gradient(135deg,rgba(200,169,107,.14),rgba(200,169,107,.04));
  border:1px solid var(--gold-line-soft);border-radius:999px;padding:.3rem .75rem;
}

@media(max-width:1000px){
  .hiw2-journey{grid-template-columns:repeat(3,1fr);gap:1.2rem}
  .hiw2-rail{display:none}
}
@media(max-width:640px){
  .hiw2-journey{grid-template-columns:1fr}
  .hiw2-step{flex-direction:row;align-items:flex-start;gap:1rem}
  .hiw2-node{width:54px;height:54px;flex-shrink:0}
  .hiw2-n{font-size:1.1rem}
  .hiw2-card{text-align:left;padding:1.1rem 1.1rem}
  .hiw2-ic{margin:0 0 .7rem}
}

/* ============================================================
   FIX 5B — LMS/PLATFORM — High-tech dashboard aesthetic
   ============================================================ */
.etg2-section{
  padding:var(--sp-7) 0;
  background:
    radial-gradient(80% 60% at 8% 10%, rgba(200,169,107,.07), transparent 55%),
    radial-gradient(70% 55% at 95% 90%, rgba(228,166,184,.06), transparent 55%),
    linear-gradient(180deg,var(--navy-deep) 0%,#080C26 100%);
  color:var(--on-dark);
  position:relative;overflow:hidden;
  border-top:1px solid rgba(200,169,107,.16);
  border-bottom:1px solid rgba(200,169,107,.16);
}
.etg2-section::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:60px 60px;
}
.etg2-section .wrap{position:relative;z-index:1}
.etg2-head{text-align:center;margin-bottom:2.8rem}
.etg2-head h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.06;margin:1rem 0 0;color:var(--on-dark)}
.etg2-head .lede{color:var(--on-dark-soft)}

/* Trust counter band */
.etg2-trust{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:0;max-width:780px;margin:0 auto 3rem;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(200,169,107,.22);border-radius:16px;overflow:hidden;
}
.etg2-tf{
  flex:1;padding:1.6rem 1.4rem;text-align:center;min-width:160px;
}
.etg2-sep{
  width:1px;background:rgba(200,169,107,.22);align-self:stretch;
}
.etg2-tf-num{
  display:block;font-family:var(--serif);font-weight:600;font-size:clamp(2rem,4.2vw,3rem);
  color:var(--gold);line-height:1;font-variant-numeric:tabular-nums;
}
.etg2-tf-lab{
  display:block;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--on-dark-soft);margin-top:.7rem;line-height:1.4;
}

/* 6 feature glass cards */
.etg2-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;
}
.etg2-feat{
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(200,169,107,.18);border-radius:18px;
  padding:1.8rem 1.6rem;display:flex;flex-direction:column;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
  position:relative;overflow:hidden;
}
.etg2-feat::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,169,107,.4),transparent);
}
.etg2-feat:hover{
  transform:translateY(-6px);border-color:rgba(200,169,107,.4);
  box-shadow:0 28px 58px -34px rgba(0,0,0,.7);
}
.etg2-ic{
  width:52px;height:52px;border-radius:15px;display:grid;place-items:center;
  margin-bottom:1.1rem;
  background:linear-gradient(135deg,rgba(200,169,107,.22),rgba(200,169,107,.05));
  border:1px solid rgba(200,169,107,.3);color:var(--gold-soft);
}
.etg2-ic-special{
  background:linear-gradient(135deg,rgba(228,166,184,.22),rgba(228,166,184,.05));
  border-color:rgba(228,166,184,.3);color:var(--pink-mid);
}
.etg2-ic svg{width:26px;height:26px}
.etg2-feat h3{
  font-family:var(--serif);font-size:1.35rem;font-weight:600;
  color:var(--on-dark);margin-bottom:.5rem;line-height:1.15;
}
.etg2-feat p{font-size:.92rem;color:var(--on-dark-soft);line-height:1.6;margin:0}
.etg2-foot{
  text-align:center;margin-top:2.6rem;font-size:.88rem;color:var(--on-dark-soft);
}
.etg2-section .link-arrow{color:var(--gold-soft)}

@media(max-width:900px){.etg2-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){
  .etg2-grid{grid-template-columns:1fr}
  .etg2-trust{flex-direction:column}
  .etg2-sep{width:auto;height:1px;align-self:stretch}
}

/* ============================================================
   FIX 6 — JULIEN VIDEO — Premium animated character frame
   ============================================================ */
.jul-video-wrap{max-width:440px}
.jul-video-frame{
  position:relative;
  border-radius:22px;overflow:hidden;
  border:2px solid var(--gold);
  background:linear-gradient(135deg,var(--navy),var(--navy-soft));
  box-shadow:
    0 0 0 6px rgba(200,169,107,.18),
    0 32px 70px -34px rgba(0,0,52,.7),
    inset 0 1px 0 rgba(255,255,255,.2);
}
.jul-video{
  width:100%;display:block;
  aspect-ratio:1;object-fit:cover;
  background:#fff;
}
.jul-video-badge{
  position:absolute;bottom:0;left:0;right:0;
  padding:.9rem 1.2rem;
  background:linear-gradient(0deg,rgba(0,0,52,.88),rgba(0,0,52,0));
  font-family:var(--serif);font-style:italic;font-size:1rem;
  color:var(--gold-soft);letter-spacing:.04em;
  z-index:2;
}


/* ============================================================
   HOW IT WORKS — V3 CINEMATIC LEARNING JOURNEY (hiw3-)
   Replaces old .hiw2- design. Premium MasterClass-style.
   ============================================================ */
.hiw3-section{
  position:relative;overflow:hidden;
  padding:clamp(4.5rem,8vw,7rem) 0;
  background:
    radial-gradient(90% 60% at 50% -8%, rgba(200,169,107,.10), transparent 60%),
    linear-gradient(180deg,var(--paper) 0%, var(--ivory) 60%, var(--paper) 100%);
  border-top:1px solid var(--gold-line-soft);
}
.hiw3-section::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(8,14,43,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(8,14,43,.022) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(80% 70% at 50% 30%,#000,transparent 100%);
  mask-image:radial-gradient(80% 70% at 50% 30%,#000,transparent 100%);
}
.hiw3-section .wrap{position:relative;z-index:1}
.hiw3-head{text-align:center;max-width:64ch;margin:0 auto 3rem}
.hiw3-title{font-family:var(--serif);font-weight:600;font-size:clamp(2.1rem,4.2vw,3.3rem);line-height:1.08;letter-spacing:-.01em;color:var(--navy);margin:1rem 0 0}
.hiw3-title .gold-ital{font-style:italic;color:var(--gold-deep);font-weight:500}

/* ---- CEFR level arc ---- */
.hiw3-arc{
  position:relative;display:flex;justify-content:space-between;align-items:flex-start;
  max-width:880px;margin:0 auto 3.4rem;padding:0 .5rem;
}
.hiw3-arc-track{
  position:absolute;left:6%;right:6%;top:7px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold-line-soft),var(--gold),var(--gold-deep));
}
.han{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;min-width:0}
.han-dot{width:15px;height:15px;border-radius:50%;background:var(--paper);border:2px solid var(--gold-deep);box-shadow:0 0 0 4px var(--ivory)}
.han-end .han-dot{background:var(--gold);border-color:var(--gold-deep);box-shadow:0 0 0 4px var(--ivory),0 6px 16px -6px rgba(200,169,107,.8)}
.han-lvl{font-family:var(--serif);font-weight:600;font-size:1.18rem;color:var(--navy);line-height:1;margin-top:.75rem;font-variant-numeric:lining-nums}
.han-end .han-lvl{color:var(--gold-deep)}
.han-cap{font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-deep);margin-top:.35rem;line-height:1.3}

/* ---- journey steps ---- */
/* ONE calm, reader-friendly horizontal slider. No medallions, no second rail. */
.hiw3-journey{
  position:relative;display:flex;flex-wrap:nowrap;gap:1.5rem;align-items:stretch;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:6px 4px 1.5rem;margin:0 -4px;
  -ms-overflow-style:none;scrollbar-width:none;cursor:grab;
}
.hiw3-journey::-webkit-scrollbar{display:none}
.hiw3-journey.is-dragging{cursor:grabbing;scroll-snap-type:none}
.hiw3-step{position:relative;z-index:1;display:flex;flex:0 0 clamp(252px,23vw,300px);scroll-snap-align:start}

/* slider arrows */
.hiw3-slider{position:relative}
.hiw3-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:var(--white);border:1px solid var(--gold-line);color:var(--navy);cursor:pointer;
  box-shadow:0 10px 28px -12px rgba(8,14,43,.45);transition:transform .25s var(--ease),background .25s var(--ease),opacity .25s var(--ease)}
.hiw3-arrow svg{width:20px;height:20px}
.hiw3-arrow:hover{background:var(--navy);color:var(--gold-soft);transform:translateY(-50%) scale(1.06)}
.hiw3-arrow:disabled{opacity:.3;cursor:default}
.hiw3-arrow-prev{left:-12px}
.hiw3-arrow-next{right:-12px}
@media (max-width:1100px){.hiw3-arrow-prev{left:2px}.hiw3-arrow-next{right:2px}}

/* card */
.hiw3-card{
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;
  background:linear-gradient(180deg,#fff,var(--paper));
  border:1px solid var(--gold-line-soft);border-radius:20px;
  padding:1.9rem 1.6rem 1.7rem;
  box-shadow:0 2px 0 rgba(255,255,255,.9) inset,0 20px 44px -30px rgba(8,14,43,.32);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
}
.hiw3-step:hover .hiw3-card{transform:translateY(-7px);border-color:var(--gold-line);box-shadow:0 30px 60px -30px rgba(8,14,43,.4)}
.hiw3-card-final{
  border-color:var(--gold-line);
  background:linear-gradient(170deg,rgba(247,238,214,.7),#fff,var(--paper));
}

/* top row: step number + icon */
.hiw3-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:1.25rem}
.hiw3-num{
  font-family:var(--serif);font-weight:600;font-size:2.4rem;line-height:1;
  color:var(--gold-deep);font-variant-numeric:lining-nums;letter-spacing:-.01em;
}
.hiw3-num-final{color:var(--terra-deep)}
.hiw3-ic{
  width:50px;height:50px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;
  background:linear-gradient(135deg,rgba(200,169,107,.2),rgba(200,169,107,.05));
  border:1px solid var(--gold-line-soft);color:var(--gold-deep);
}
.hiw3-ic svg{width:25px;height:25px}
.hiw3-ic-final{background:linear-gradient(135deg,var(--gold-soft),var(--gold));border-color:var(--gold-deep);color:var(--navy-deep)}
.hiw3-kick{display:block;font-family:var(--sans);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.5rem}
.hiw3-kick-final{color:var(--terra-deep)}
.hiw3-name{font-family:var(--serif);font-size:1.62rem;font-weight:600;color:var(--navy);line-height:1.14;margin-bottom:.7rem}
.hiw3-desc{font-family:var(--sans);font-size:1.06rem;line-height:1.5;color:var(--on-light-soft);margin-bottom:1.1rem;font-weight:300;flex:1 1 auto}
.hiw3-tag{
  display:inline-block;font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-deep);background:linear-gradient(135deg,rgba(200,169,107,.16),rgba(200,169,107,.05));
  border:1px solid var(--gold-line-soft);border-radius:999px;padding:.36rem .85rem;align-self:flex-start;
}
.hiw3-tag-final{color:var(--navy-deep);background:linear-gradient(135deg,var(--gold-soft),var(--gold));border-color:var(--gold-deep)}

@media(max-width:1040px){
  .hiw3-journey{gap:1.3rem}
  .hiw3-step{flex:0 0 clamp(248px,52vw,290px)}
}
@media(max-width:760px){
  .hiw3-arc{flex-wrap:wrap;gap:1rem;justify-content:center}
  .hiw3-arc-track{display:none}
  .han{flex:0 0 28%}
}
@media(max-width:640px){
  .hiw3-journey{gap:1rem}
  .hiw3-step{flex:0 0 82vw}
  .hiw3-card{padding:1.5rem 1.4rem}
  .hiw3-num{font-size:2.1rem}
  .han{flex:0 0 44%}
}

/* ============================================================
   POWERED BY eTEACHER — V3 MULTI-COLOUR CARD SLIDER (etg3-)
   Longevity-style rich graphic cards, each a different brand
   colour, in a horizontal swipe/arrow carousel.
   ============================================================ */
.etg3-slider{position:relative;margin-top:.6rem}
.etg3-controls{display:flex;justify-content:flex-end;gap:.7rem;margin-bottom:1.2rem}
.etg3-arrow{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  border:1px solid rgba(200,169,107,.4);color:var(--gold-soft);
  transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease),opacity .3s;
}
.etg3-arrow svg{width:22px;height:22px}
.etg3-arrow:hover{background:var(--gold);color:var(--navy-deep);border-color:var(--gold);transform:translateY(-2px)}
.etg3-arrow:disabled{opacity:.32;cursor:default;transform:none;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));color:var(--gold-soft);border-color:rgba(200,169,107,.22)}

.etg3-track{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,330px);
  gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:.4rem .2rem 1.6rem;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.etg3-track::-webkit-scrollbar{display:none}
.etg3-track:focus-visible{outline:2px solid var(--gold-soft);outline-offset:4px;border-radius:18px}

.etg3-card{
  position:relative;scroll-snap-align:start;overflow:hidden;
  border-radius:22px;padding:2rem 1.8rem 1.9rem;min-height:300px;
  display:flex;flex-direction:column;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 64px -34px rgba(0,0,0,.7);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.etg3-card:hover{transform:translateY(-8px);box-shadow:0 40px 80px -34px rgba(0,0,0,.78)}
.etg3-glow{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.9}
.etg3-card > *{position:relative;z-index:1}
.etg3-no{font-family:var(--serif);font-size:1.05rem;font-weight:600;letter-spacing:.06em;opacity:.6;margin-bottom:.4rem}
.etg3-ic{
  width:58px;height:58px;border-radius:16px;display:grid;place-items:center;margin-bottom:1.1rem;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);
}
.etg3-ic svg{width:28px;height:28px}
.etg3-card h3{font-family:var(--serif);font-size:1.5rem;font-weight:600;line-height:1.14;margin:0 0 .55rem}
.etg3-card p{font-family:var(--sans);font-size:.95rem;line-height:1.56;font-weight:300;margin:0 0 1.2rem;flex:1}
.etg3-pill{
  align-self:flex-start;font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:.4rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.14);
}

/* ---- colour variants (navy / gold / terracotta / pink) ---- */
.etg3-navy{background:linear-gradient(165deg,#1B2350,var(--navy) 55%,var(--navy-deep));color:#fff}
.etg3-navy .etg3-glow{background:radial-gradient(90% 70% at 80% 0%,rgba(200,169,107,.28),transparent 60%)}
.etg3-navy .etg3-ic{color:var(--gold-soft)}
.etg3-navy .etg3-no{color:var(--gold-soft)}

.etg3-gold{background:linear-gradient(160deg,#E7CF99,var(--gold) 52%,var(--gold-deep));color:var(--navy-deep)}
.etg3-gold .etg3-glow{background:radial-gradient(90% 70% at 80% 0%,rgba(255,255,255,.4),transparent 60%)}
.etg3-gold .etg3-ic{background:rgba(0,0,31,.12);border-color:rgba(0,0,31,.2);color:var(--navy-deep)}
.etg3-gold .etg3-pill{border-color:rgba(0,0,31,.28);background:rgba(0,0,31,.1);color:var(--navy-deep)}
.etg3-gold .etg3-no{color:var(--navy-deep);opacity:.5}

.etg3-terra{background:linear-gradient(160deg,#D98C6E,var(--terra) 52%,var(--terra-deep));color:#fff}
.etg3-terra .etg3-glow{background:radial-gradient(90% 70% at 80% 0%,rgba(255,224,210,.4),transparent 60%)}
.etg3-terra .etg3-ic{color:#FFF1EA}

.etg3-pink{background:linear-gradient(160deg,#F7DEE4,var(--pink) 48%,#E9B6C2);color:var(--navy-deep)}
.etg3-pink .etg3-glow{background:radial-gradient(90% 70% at 80% 0%,rgba(255,255,255,.55),transparent 60%)}
.etg3-pink .etg3-ic{background:rgba(0,0,31,.1);border-color:rgba(0,0,31,.18);color:var(--pink-deep)}
.etg3-pink .etg3-pill{border-color:rgba(0,0,31,.2);background:rgba(0,0,31,.08);color:var(--navy-deep)}
.etg3-pink .etg3-no{color:var(--pink-deep);opacity:.7}
.etg3-pink h3{color:var(--navy)}

/* ---- dots ---- */
.etg3-dots{display:flex;justify-content:center;gap:.55rem;margin-top:.4rem}
.etg3-dot{width:9px;height:9px;border-radius:50%;border:0;cursor:pointer;padding:0;
  background:rgba(200,169,107,.3);transition:background .3s,transform .3s}
.etg3-dot.is-on{background:var(--gold);transform:scale(1.3)}

@media(max-width:600px){
  .etg3-track{grid-auto-columns:minmax(82%,86%)}
  .etg3-controls{justify-content:center}
}

/* ============================================================
   [REMOVED — Sorbonne fold V5 rebuild] Legacy neon-blue citation
   glow / breathing line removed per client feedback. The fold now
   uses scoped .s5 styles in an inline <style> above #method-fold.
   ============================================================ */

/* ============================================================
   ROUND-5 GLOBAL TEXT CONSISTENCY
   The site mixes centered and left-aligned section heads. Prior
   complaint: subheaders broke into ragged lines (short line over
   long line) with orphan one-word last lines, and line lengths
   differed fold to fold. These rules normalise line-breaking
   EVERYWHERE so every headline + subheader wraps evenly with no
   stranded single words, regardless of alignment.
   ============================================================ */

/* All display/section headings: balance lines so no line is far
   shorter than its neighbour and no last word is orphaned. */
.display-xl,.display-lg,.display-md,.display-sm,
.sorb-title,.hero h1,h1,h2,
.hiw2-head h2,.etg-head h2,.culture-head h2,.tctr-head h2,
.cp-hero h1,.cph-title,.cpx-title{
  text-wrap:balance;
}

/* All ledes / section subheaders / intro paragraphs: use `pretty`
   so the LAST line is never a lonely single word, and the measure
   is capped to a consistent comfortable reading width. */
.lede,.hero-sub,.sorb-sub,.lt-sub,.cls-card-sub,
.hiw2-head p,.etg-head p,.culture-head p,.tctr-head p,
.cpx-plan-sub,.price-sub,.cp-faq-note,.cpx-price-disc,
.lede-narrow,.cpx-center p{
  text-wrap:pretty;
}

/* CENTERED subheaders get ONE consistent PX measure so line lengths match
   fold-to-fold regardless of font-size (no super-short line next to a long
   one, no fold narrower/wider than another). 720px ≈ a comfortable measure.
   Scoped ONLY to the known centered section-head wrappers so left-aligned
   ledes in two-column folds are never force-centered. !important beats the
   per-fold inline max-width overrides still present in the HTML. */
.lede-c,.sorb-sub,
.hiw2-head p,.etg-head p,.culture-head p,.tctr-head p{
  max-width:720px!important;margin-left:auto!important;margin-right:auto!important;
  text-wrap:pretty;
}

/* Chapter scroll offset */
section[id^="chapter-"] { scroll-margin-top: 120px; }

/* ===== Site-wide sound opt-in toggle (auto-injected on every audio video) ===== */
.fa-sound-btn{
  position:absolute; bottom:14px; right:14px;
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(8,14,43,.82); color:#E9D6A8;
  border:1px solid rgba(190,163,123,.55);
  padding:.55rem .9rem;
  font-family: inherit; font-size:.72rem;
  letter-spacing:.14em; text-transform:uppercase;
  border-radius:2px;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  cursor:pointer; z-index:20;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.fa-sound-btn:hover{ color:#F5E0AC; border-color:#BEA37B; background:rgba(11,12,49,.92); }
.fa-sound-btn.is-on{ color:#0B0C31; background:#E9D6A8; border-color:#BEA37B; }
.fa-sound-ico{ font-size:1rem; line-height:1; }
.fa-sound-txt{ font-weight:600; }
@media (max-width: 600px){
  .fa-sound-btn{ bottom:10px; right:10px; padding:.45rem .7rem; font-size:.65rem; }
}

/* ============================================================
   HERO POLISH — smaller refined headline + premium CTA
   ============================================================ */
.hero h1{
  font-family:var(--serif);
  font-size:clamp(2.6rem, 5vw, 4.8rem);
  line-height:1.05;
  letter-spacing:-.012em;
  font-weight:500;
  max-width:24ch;
  margin:0 0 1.4rem;
}
.hero h1 .gold-ital{
  font-style:italic;
  font-weight:400;
  background:linear-gradient(135deg,#e6c98a 0%,#c8a560 55%,#a98545 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent;
}
.hero .hero-content{max-width:760px}
.hero-sub{
  font-size:clamp(1rem,1.2vw,1.15rem);
  line-height:1.7;
  max-width:50ch;
  margin-bottom:2rem;
  color:rgba(245,240,225,.82);
}
.hero-ctas .btn-gold.btn-lg{
  padding:1.05rem 2.4rem;
  font-size:.74rem;
  letter-spacing:.22em;
  border-radius:6px;
  background:linear-gradient(135deg,#e6c98a 0%,#c8a560 50%,#a98545 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.45) inset,
    0 -1px 0 rgba(0,0,0,.18) inset,
    0 12px 28px -10px rgba(170,140,85,.55),
    0 2px 6px -2px rgba(0,0,0,.4);
  border:1px solid rgba(230,201,138,.6);
  text-shadow:0 1px 0 rgba(255,255,255,.25);
}
.hero-ctas .btn-gold.btn-lg:hover{
  transform:translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 -1px 0 rgba(0,0,0,.18) inset,
    0 18px 36px -12px rgba(170,140,85,.7),
    0 4px 10px -2px rgba(0,0,0,.45);
}
/* Gold italic span: cleaner kerning in headline */
.hero h1 br{display:block}
@media (max-width:780px){
  .hero h1{font-size:clamp(2rem,8vw,2.8rem);max-width:16ch}
  .hero .hero-content{max-width:100%}
}

/* ============================================================
   SORB v4 — 30% tighter, prestigious, premium
   ============================================================ */
.sorb.sorb-v4{
  padding: clamp(3.5rem, 6vw, 5rem) 0;  /* was sp-8 ≈ 7-8rem */
  background:
    radial-gradient(120% 70% at 50% -10%, rgba(200,169,107,.22), transparent 55%),
    radial-gradient(80% 60% at 90% 110%, rgba(228,152,166,.10), transparent 60%),
    linear-gradient(165deg, #0a0f2e 0%, #131838 55%, #1a1e3e 100%);
  border-top: 1px solid rgba(200,169,107,.28);
  border-bottom: 1px solid rgba(200,169,107,.28);
}
.sorb-v4 .sorb-head{
  max-width: 880px;
  margin: 0 auto 2.4rem;
  text-align: center;
}
.sorb-v4 .sorb-eyebrow{
  font-family: var(--sans);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--gold-soft);
  margin: 0 0 1.1rem;
  position: relative;
  display: inline-block;
  padding: 0 1.4rem;
}
.sorb-v4 .sorb-eyebrow::before,
.sorb-v4 .sorb-eyebrow::after{
  content: "";
  position: absolute;
  top: 50%;
  width: 38px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,169,107,.6), transparent);
}
.sorb-v4 .sorb-eyebrow::before{ right: 100%; }
.sorb-v4 .sorb-eyebrow::after{ left: 100%; }
.sorb-v4 .sorb-title{
  font-family: var(--serif);
  font-size: clamp(2rem, 3.6vw, 3rem);
  line-height: 1.08;
  letter-spacing: -.012em;
  font-weight: 500;
  color: var(--on-dark);
  margin: 0;
  max-width: 22ch;
  margin-left: auto;
  margin-right: auto;
  text-wrap: balance;
}
.sorb-v4 .sorb-title .gold-ital{
  font-style: italic;
  font-weight: 400;
  background: linear-gradient(135deg, #e6c98a 0%, #d4af6f 45%, #b8924f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.sorb-v4 .sorb-sub{
  font-family: var(--sans);
  font-size: clamp(.98rem, 1.2vw, 1.08rem);
  line-height: 1.62;
  color: rgba(245,240,225,.78);
  font-weight: 300;
  margin: 1rem auto 0;
  max-width: 60ch;
}

/* Cards — tighter, premium glass with copper-gold accent */
.sorb-v4 .sorb-principles{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.3rem;
  max-width: 1080px;
  margin: 0 auto;
}
.sorb-v4 .sorb-pr{
  position: relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.02) 100%);
  border: 1px solid rgba(200,169,107,.18);
  border-radius: 14px;
  padding: 1.4rem 1.5rem 1.5rem;
  transition: transform .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease);
  overflow: hidden;
}
.sorb-v4 .sorb-pr::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #d4af6f 50%, transparent 100%);
  opacity: .55;
}
.sorb-v4 .sorb-pr::after{ display: none; }
.sorb-v4 .sorb-pr:hover{
  transform: translateY(-4px);
  border-color: rgba(200,169,107,.42);
  box-shadow:
    0 24px 50px -24px rgba(0,0,16,.7),
    0 0 0 1px rgba(200,169,107,.12) inset;
}
.sorb-v4 .sorb-pr-no{
  font-family: var(--serif);
  font-size: 1.4rem;
  font-weight: 600;
  background: linear-gradient(135deg, #e6c98a, #b8924f);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  display: block;
  margin: 0 0 .5rem;
  letter-spacing: .02em;
}
.sorb-v4 .sorb-pr-fr{
  font-family: var(--serif);
  font-style: italic;
  font-size: .92rem;
  color: var(--gold-soft);
  opacity: .82;
  display: block;
  margin: 0 0 .35rem;
}
.sorb-v4 .sorb-pr-tt{
  font-family: var(--serif);
  font-size: 1.25rem;
  line-height: 1.18;
  font-weight: 600;
  color: var(--on-dark);
  margin: 0 0 .55rem;
}
.sorb-v4 .sorb-pr-tx{
  font-family: var(--sans);
  font-size: .9rem;
  line-height: 1.55;
  color: rgba(245,240,225,.72);
  font-weight: 300;
  margin: 0;
}
@media (max-width: 860px){
  .sorb-v4 .sorb-principles{ grid-template-columns: 1fr; max-width: 520px; gap: .9rem; }
}

.sorb-v4 .sorb-disclaimer{
  margin: 2.4rem auto 0;
  max-width: 70ch;
  font-family: var(--sans);
  font-size: .72rem;
  line-height: 1.5;
  text-align: center;
  color: rgba(245,240,225,.42);
  font-weight: 300;
  font-style: italic;
}

/* ============================================================
   SORB v5 — IVORY ACADEMIC PRESTIGE (palette overhaul)
   Cream paper background + deep burgundy ink + antique gold rule
   Replaces v4 navy. Same structural classes.
   ============================================================ */
.sorb.sorb-v4{
  padding: clamp(3.8rem, 6vw, 5.2rem) 0;
  color: #1a1410;
  background:
    /* subtle paper texture */
    radial-gradient(110% 80% at 50% 0%, rgba(193,154,107,.18), transparent 55%),
    radial-gradient(80% 70% at 100% 100%, rgba(140,30,40,.06), transparent 60%),
    linear-gradient(180deg, #f9f3e7 0%, #f4ecd8 100%);
  border-top: 1px solid rgba(140,30,40,.18);
  border-bottom: 1px solid rgba(140,30,40,.18);
  position: relative;
  overflow: hidden;
}
/* Subtle engraved-paper grid */
.sorb.sorb-v4::before{
  content: "";
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(140,30,40,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140,30,40,.05) 1px, transparent 1px);
  background-size: 88px 88px;
  -webkit-mask-image: radial-gradient(70% 60% at 50% 40%, #000 0%, transparent 100%);
          mask-image: radial-gradient(70% 60% at 50% 40%, #000 0%, transparent 100%);
  opacity: .55;
}
/* Decorative corner ornaments — copper-gold flourish */
.sorb.sorb-v4::after{
  content: "";
  position: absolute;
  top: 24px; left: 24px; right: 24px; bottom: 24px;
  border: 1px solid rgba(140,30,40,.16);
  pointer-events: none;
  z-index: 1;
}
.sorb-v4 .wrap{ position: relative; z-index: 2; }

.sorb-v4 .sorb-head{
  max-width: 920px;
  margin: 0 auto 2.6rem;
  text-align: center;
}

.sorb-v4 .sorb-eyebrow{
  font-family: var(--sans);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: #8c1e28;
  margin: 0 0 1.2rem;
  position: relative;
  display: inline-block;
  padding: 0 1.6rem;
}
.sorb-v4 .sorb-eyebrow::before,
.sorb-v4 .sorb-eyebrow::after{
  content: "";
  position: absolute;
  top: 50%;
  width: 56px; height: 1px;
  background: linear-gradient(90deg, transparent, #b8924f 50%, transparent);
}
.sorb-v4 .sorb-eyebrow::before{ right: 100%; }
.sorb-v4 .sorb-eyebrow::after{ left: 100%; }

.sorb-v4 .sorb-title{
  font-family: var(--serif);
  font-size: clamp(2rem, 3.4vw, 2.85rem);
  line-height: 1.14;
  letter-spacing: -.012em;
  font-weight: 500;
  color: #1a1410;
  margin: 0;
  max-width: 28ch;
  margin-left: auto;
  margin-right: auto;
  text-wrap: balance;
  -webkit-text-fill-color: currentColor;
}
.sorb-v4 .sorb-title .gold-ital{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
  background: linear-gradient(135deg, #b8924f 0%, #8b6b2f 50%, #6b4f1d 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.sorb-v4 .sorb-sub{
  font-family: var(--sans);
  font-size: clamp(.98rem, 1.15vw, 1.1rem);
  line-height: 1.66;
  color: rgba(26,20,16,.72);
  font-weight: 400;
  margin: 1.1rem auto 0;
  max-width: 62ch;
}

/* Premium ivory cards with burgundy hairline + antique-gold accents */
.sorb-v4 .sorb-principles{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.sorb-v4 .sorb-pr{
  position: relative;
  background:
    linear-gradient(180deg, #fffaef 0%, #f6ecd6 100%);
  border: 1px solid rgba(140,30,40,.22);
  border-radius: 4px;  /* sharper, more academic */
  padding: 1.7rem 1.6rem 1.7rem;
  transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
  overflow: hidden;
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 -1px 0 rgba(140,30,40,.06) inset,
    0 12px 28px -16px rgba(85,40,20,.22);
}
.sorb-v4 .sorb-pr::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #b8924f 25%, #8c1e28 50%, #b8924f 75%, transparent 100%);
  opacity: .9;
}
.sorb-v4 .sorb-pr::after{ display: none; }
.sorb-v4 .sorb-pr:hover{
  transform: translateY(-5px);
  border-color: rgba(140,30,40,.42);
  box-shadow:
    0 1px 0 rgba(255,255,255,.85) inset,
    0 22px 44px -18px rgba(85,40,20,.32),
    0 0 0 1px rgba(184,146,79,.25) inset;
}
.sorb-v4 .sorb-pr-no{
  font-family: var(--serif);
  font-size: 1.7rem;
  font-weight: 600;
  background: linear-gradient(135deg, #b8924f 0%, #8c1e28 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  display: block;
  margin: 0 0 .5rem;
  letter-spacing: .02em;
  font-variant-numeric: lining-nums;
}
.sorb-v4 .sorb-pr-fr{
  font-family: var(--serif);
  font-style: italic;
  font-size: .96rem;
  color: #8c1e28;
  opacity: .85;
  display: block;
  margin: 0 0 .45rem;
  letter-spacing: .01em;
}
.sorb-v4 .sorb-pr-tt{
  font-family: var(--serif);
  font-size: 1.3rem;
  line-height: 1.18;
  font-weight: 600;
  color: #1a1410;
  margin: 0 0 .65rem;
  letter-spacing: -.005em;
}
.sorb-v4 .sorb-pr-tx{
  font-family: var(--sans);
  font-size: .92rem;
  line-height: 1.58;
  color: rgba(26,20,16,.7);
  font-weight: 400;
  margin: 0;
}
@media (max-width: 860px){
  .sorb-v4 .sorb-principles{ grid-template-columns: 1fr; max-width: 520px; gap: 1rem; }
  .sorb.sorb-v4::after{ top: 14px; left: 14px; right: 14px; bottom: 14px; }
}

.sorb-v4 .sorb-disclaimer{
  margin: 2.4rem auto 0;
  max-width: 72ch;
  font-family: var(--sans);
  font-size: .72rem;
  line-height: 1.55;
  text-align: center;
  color: rgba(26,20,16,.46);
  font-weight: 400;
  font-style: italic;
  position: relative;
  z-index: 2;
}

/* ============================================================
   COURSES CTA — PREMIUM NEON PILL (drop-in upgrade)
   Wraps the existing .cls-card-action so the "Explore the X courses"
   label is impossible to miss and signals interactivity.
   ============================================================ */
.cls-card-action{
  margin-top: 1.4rem;
  padding-top: 0;
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  align-self: flex-start;
  padding: .85rem 1.5rem .85rem 1.7rem;
  border-radius: 999px;
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border: 1.5px solid rgba(255,255,255,.55);
  position: relative;
  overflow: visible;
  transition: transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease), background .4s var(--ease);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 0 18px rgba(255,255,255,.18),
    0 0 36px -8px rgba(255,255,255,.32);
  backdrop-filter: blur(6px);
}
/* FA card → antique gold neon */
.cls-card-fa .cls-card-action{
  color: #f8e8c4;
  border-color: rgba(232,200,140,.7);
  background: linear-gradient(135deg, rgba(232,200,140,.14), rgba(232,200,140,.02));
  box-shadow:
    0 0 0 1px rgba(232,200,140,.16) inset,
    0 0 22px rgba(232,200,140,.5),
    0 0 48px -6px rgba(232,200,140,.55),
    0 0 70px -14px rgba(232,200,140,.4);
  text-shadow: 0 0 8px rgba(232,200,140,.5);
}
/* LSF card → magenta-pink neon (matches LSF accent) */
.cls-card-lsf .cls-card-action{
  color: #ffeaf0;
  border-color: rgba(255,138,168,.7);
  background: linear-gradient(135deg, rgba(255,138,168,.14), rgba(255,138,168,.02));
  box-shadow:
    0 0 0 1px rgba(255,138,168,.16) inset,
    0 0 22px rgba(255,138,168,.5),
    0 0 48px -6px rgba(255,138,168,.55),
    0 0 70px -14px rgba(255,138,168,.4);
  text-shadow: 0 0 8px rgba(255,138,168,.5);
}
/* Hover: amplify glow + pulse */
.cls-card:hover .cls-card-action,
.cls-card.is-active .cls-card-action{
  transform: translateY(-2px);
}
.cls-card-fa:hover .cls-card-action,
.cls-card-fa.is-active .cls-card-action{
  border-color: rgba(232,200,140,1);
  background: linear-gradient(135deg, rgba(232,200,140,.28), rgba(232,200,140,.08));
  box-shadow:
    0 0 0 1px rgba(232,200,140,.3) inset,
    0 0 32px rgba(232,200,140,.7),
    0 0 60px -4px rgba(232,200,140,.75),
    0 0 90px -10px rgba(232,200,140,.55);
}
.cls-card-lsf:hover .cls-card-action,
.cls-card-lsf.is-active .cls-card-action{
  border-color: rgba(255,138,168,1);
  background: linear-gradient(135deg, rgba(255,138,168,.28), rgba(255,138,168,.08));
  box-shadow:
    0 0 0 1px rgba(255,138,168,.3) inset,
    0 0 32px rgba(255,138,168,.7),
    0 0 60px -4px rgba(255,138,168,.75),
    0 0 90px -10px rgba(255,138,168,.55);
}

/* Larger chevron, brighter glow */
.cls-card-chevron{
  width: 26px; height: 26px;
  border-width: 1.5px;
  border-color: currentColor;
  opacity: .9;
}
.cls-card-fa .cls-card-chevron{ border-color: rgba(232,200,140,.85); }
.cls-card-lsf .cls-card-chevron{ border-color: rgba(255,138,168,.85); }

/* Slow ambient pulse to attract the eye */
@keyframes cls-cta-pulse-fa{
  0%, 100% { box-shadow: 0 0 0 1px rgba(232,200,140,.16) inset, 0 0 22px rgba(232,200,140,.5), 0 0 48px -6px rgba(232,200,140,.55), 0 0 70px -14px rgba(232,200,140,.4); }
  50%      { box-shadow: 0 0 0 1px rgba(232,200,140,.22) inset, 0 0 32px rgba(232,200,140,.7), 0 0 62px -4px rgba(232,200,140,.7), 0 0 95px -10px rgba(232,200,140,.55); }
}
@keyframes cls-cta-pulse-lsf{
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,138,168,.16) inset, 0 0 22px rgba(255,138,168,.5), 0 0 48px -6px rgba(255,138,168,.55), 0 0 70px -14px rgba(255,138,168,.4); }
  50%      { box-shadow: 0 0 0 1px rgba(255,138,168,.22) inset, 0 0 32px rgba(255,138,168,.7), 0 0 62px -4px rgba(255,138,168,.7), 0 0 95px -10px rgba(255,138,168,.55); }
}
.cls-card-fa .cls-card-action{ animation: cls-cta-pulse-fa 3.4s ease-in-out infinite; }
.cls-card-lsf .cls-card-action{ animation: cls-cta-pulse-lsf 3.4s ease-in-out infinite; }
.cls-card:hover .cls-card-action,
.cls-card.is-active .cls-card-action{ animation: none; }

@media (prefers-reduced-motion: reduce){
  .cls-card-action{ animation: none !important; }
}

/* Indicate hover-to-expand affordance */
.cls-card{ cursor: pointer; }

/* Make the "open" hint stronger and brighter */
.cls-hint{
  font-size: .76rem !important;
  letter-spacing: .22em !important;
  color: var(--gold-deep) !important;
  opacity: .85;
}

/* ============================================================
   SORB v5 — RESEARCH CITATION CHIPS (neon glow on ivory)
   ============================================================ */
.sorb-v4 .sorb-cred{
  margin: 2.4rem auto 0;
  text-align: center;
  position: relative;
  z-index: 2;
}
.sorb-v4 .sorb-cred-lab{
  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #0a3a6e !important;
  text-shadow: 0 0 14px rgba(47,164,255,.45), 0 0 28px rgba(47,164,255,.25);
  opacity: 1;
  margin: 0 0 1.2rem;
}
.sorb-v4 .sorb-cred-links{
  display: flex;
  flex-wrap: wrap;
  gap: .7rem .85rem;
  justify-content: center;
  max-width: 980px;
  margin: 0 auto;
}
.sorb-v4 .sorb-cite{
  display: inline-flex;
  align-items: center;
  padding: .65rem 1.2rem;
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  color: #0a3a6e !important;
  background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(232,244,255,.88) 100%) !important;
  border: 1.5px solid #2FA4FF !important;
  border-radius: 999px;
  text-decoration: none !important;
  text-shadow: 0 0 10px rgba(47,164,255,.35);
  transition: color .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease), transform .35s var(--ease);
  position: relative;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.7) inset,
    0 0 14px rgba(47,164,255,.35),
    0 0 28px -4px rgba(47,164,255,.45),
    0 0 50px -10px rgba(47,164,255,.55) !important;
}
/* removed duplicate ::after arrow; arrow is now an explicit span (.sorb-cite-arrow) */
.sorb-v4 .sorb-cite:hover{
  color: #062a55 !important;
  border-color: #6FC4FF !important;
  transform: translateY(-2px);
  text-shadow: 0 0 14px rgba(111,196,255,.75), 0 0 28px rgba(47,164,255,.55) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.85) inset,
    0 0 22px rgba(111,196,255,.7),
    0 0 44px -2px rgba(47,164,255,.7),
    0 0 80px -8px rgba(47,164,255,.7) !important;
}
.sorb-v4 .sorb-cite:focus-visible{
  outline: 2px solid #b8924f;
  outline-offset: 2px;
}

/* Slow ambient pulse to draw the eye */
@keyframes sorb-cite-pulse{
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,255,255,.7) inset, 0 0 14px rgba(47,164,255,.35), 0 0 28px -4px rgba(47,164,255,.45), 0 0 50px -10px rgba(47,164,255,.55); }
  50%      { box-shadow: 0 0 0 1px rgba(255,255,255,.8) inset, 0 0 20px rgba(47,164,255,.55), 0 0 40px -4px rgba(47,164,255,.65), 0 0 70px -8px rgba(47,164,255,.7); }
}
.sorb-v4 .sorb-cite{ animation: none; }
.sorb-v4 .sorb-cite:nth-child(2){ animation-delay: 0s; }
.sorb-v4 .sorb-cite:nth-child(3){ animation-delay: 2.2s; }
.sorb-v4 .sorb-cite:nth-child(4){ animation-delay: 3.3s; }
.sorb-v4 .sorb-cite:hover{ animation: none; }
@media (prefers-reduced-motion: reduce){
  .sorb-v4 .sorb-cite{ animation: none !important; }
}

/* ============================================================
   COURSES v6 — PREMIUM OVERHAUL of cluster header cards
   Full visual upgrade: scale, typography, hierarchy, framing.
   Adds atelier numeral watermarks, refined gold/pink hairlines,
   tighter meta separators, and section-level frame.
   ============================================================ */

/* Section framing — give the fold a richer canvas */
#courses{
  position: relative;
  background:
    radial-gradient(120% 60% at 50% -10%, rgba(200,169,107,.10), transparent 55%),
    radial-gradient(80% 50% at 90% 110%, rgba(228,152,166,.08), transparent 60%),
    linear-gradient(180deg, #f9f3e7 0%, #f4ecd8 100%);
}
#courses::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(184,146,79,.18), transparent 30%, transparent 70%, rgba(184,146,79,.18)),
    linear-gradient(180deg, rgba(184,146,79,.22), transparent 4%, transparent 96%, rgba(184,146,79,.22));
  mix-blend-mode: multiply;
  opacity: .55;
  z-index: 0;
}
#courses .wrap{ position: relative; z-index: 1; }

/* Eyebrow + headline refinement */
#courses .eyebrow{
  color: #8c1e28;
  font-weight: 700;
  letter-spacing: .32em;
  font-size: .7rem;
}
#courses .display-md{
  font-family: var(--serif);
  font-size: clamp(2.2rem, 4.2vw, 3.4rem);
  line-height: 1.05;
  letter-spacing: -.012em;
  color: #1a1410;
  font-weight: 500;
}
#courses .lede{
  color: rgba(26,20,16,.78);
  font-size: clamp(1rem, 1.1vw, 1.1rem);
  line-height: 1.65;
}

/* Cards grid: more breathing room */
#courses .cls-cards{
  gap: 2rem;
  margin-top: 1rem;
}

/* === Card shell: larger, more premium === */
#courses .cls-card{
  min-height: 320px;
  padding: 2.8rem 2.6rem 2.4rem;
  border-radius: 26px;
  gap: .7rem;
  isolation: isolate;
  transition: transform .5s cubic-bezier(.22,.68,0,1.2), box-shadow .5s ease, border-color .35s ease;
}

/* Decorative atelier numeral watermark */
#courses .cls-card::before{
  content: attr(data-num);
  position: absolute;
  right: 1.6rem;
  top: 1.2rem;
  font-family: var(--serif);
  font-size: 6.5rem;
  line-height: 1;
  font-weight: 400;
  font-style: italic;
  pointer-events: none;
  z-index: 1;
  letter-spacing: -.03em;
}
#courses .cls-card-fa::before{
  content: "01";
  color: rgba(232,200,140,.18);
  text-shadow: 0 0 24px rgba(232,200,140,.12);
}
#courses .cls-card-lsf::before{
  content: "02";
  color: rgba(255,235,225,.20);
  text-shadow: 0 0 24px rgba(255,138,168,.14);
}

/* Inner hairline frame for prestige */
#courses .cls-card > .cls-card-eyebrow{
  position: relative;
  padding-left: 1.6rem;
}
#courses .cls-card > .cls-card-eyebrow::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1.1rem;
  height: 1px;
  transform: translateY(-50%);
}
#courses .cls-card-fa > .cls-card-eyebrow::before{
  background: linear-gradient(90deg, transparent, rgba(232,200,140,.85));
}
#courses .cls-card-lsf > .cls-card-eyebrow::before{
  background: linear-gradient(90deg, transparent, rgba(255,200,210,.85));
}

#courses .cls-card-eyebrow{
  font-size: .68rem;
  letter-spacing: .26em;
}

/* === Refined FA card gradient (deeper, richer) === */
#courses .cls-card-fa{
  background:
    radial-gradient(70% 80% at 82% 8%, rgba(232,200,140,.30) 0%, rgba(232,200,140,.06) 35%, transparent 65%),
    radial-gradient(50% 70% at 12% 95%, rgba(140,160,210,.22) 0%, transparent 60%),
    linear-gradient(155deg, #0b1135 0%, #0e1640 40%, #14224f 100%);
  border: 1px solid rgba(232,200,140,.28);
  box-shadow:
    0 1px 0 rgba(232,200,140,.18) inset,
    0 -1px 0 rgba(0,0,0,.25) inset,
    0 36px 80px -32px rgba(0,0,40,.7),
    0 14px 30px -16px rgba(0,0,40,.45);
}
@media (hover:hover){
  #courses .cls-card-fa:hover{
    transform: translateY(-7px);
    border-color: rgba(232,200,140,.65);
    box-shadow:
      0 1px 0 rgba(232,200,140,.3) inset,
      0 0 0 1px rgba(232,200,140,.45),
      0 0 50px -8px rgba(232,200,140,.45),
      0 50px 100px -36px rgba(0,0,40,.85);
  }
}
#courses .cls-card-fa.is-active{
  border-color: rgba(232,200,140,.8);
  box-shadow:
    0 0 0 1px rgba(232,200,140,.55),
    0 0 60px -6px rgba(232,200,140,.55),
    0 50px 100px -36px rgba(0,0,40,.85);
}

/* === Refined LSF card gradient (richer terracotta) === */
#courses .cls-card-lsf{
  background:
    radial-gradient(70% 80% at 82% 8%, rgba(255,225,210,.38) 0%, rgba(255,225,210,.08) 35%, transparent 65%),
    radial-gradient(50% 70% at 12% 95%, rgba(140,40,30,.22) 0%, transparent 60%),
    linear-gradient(155deg, #e09276 0%, #c9633f 50%, #a04425 100%);
  border: 1px solid rgba(255,235,225,.38);
  box-shadow:
    0 1px 0 rgba(255,240,232,.25) inset,
    0 -1px 0 rgba(0,0,0,.18) inset,
    0 36px 80px -32px rgba(120,40,20,.7),
    0 14px 30px -16px rgba(120,40,20,.45);
}
@media (hover:hover){
  #courses .cls-card-lsf:hover{
    transform: translateY(-7px);
    border-color: rgba(255,235,225,.8);
    box-shadow:
      0 1px 0 rgba(255,240,232,.35) inset,
      0 0 0 1px rgba(255,200,210,.55),
      0 0 50px -8px rgba(255,150,170,.55),
      0 50px 100px -36px rgba(120,40,20,.85);
  }
}
#courses .cls-card-lsf.is-active{
  border-color: rgba(255,235,225,.9);
  box-shadow:
    0 0 0 1px rgba(255,200,210,.65),
    0 0 60px -6px rgba(255,150,170,.55),
    0 50px 100px -36px rgba(120,40,20,.85);
}

/* === Title: bigger, more luxurious === */
#courses .cls-card-title{
  font-size: clamp(2rem, 3.8vw, 2.9rem);
  line-height: 1.02;
  letter-spacing: -.018em;
  font-weight: 500;
  margin-top: .15rem;
  text-shadow: 0 1px 2px rgba(0,0,0,.18);
}
#courses .cls-card-fa .cls-card-title{
  background: linear-gradient(135deg, #fff 0%, #f8e8c4 80%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
}
#courses .cls-card-lsf .cls-card-title{
  color: #fff;
  text-shadow: 0 2px 6px rgba(80,20,10,.35);
}

/* === Subtitle: italic serif, refined === */
#courses .cls-card-sub{
  font-size: 1.06rem;
  line-height: 1.5;
  margin-top: .35rem;
  color: rgba(255,255,255,.88);
  max-width: 32ch;
}
#courses .cls-card-fa .cls-card-sub{ color: rgba(248,232,196,.86); }

/* === Meta row: gold-hairline divider, more breathing room === */
#courses .cls-card-meta{
  margin-top: 1.6rem;
  padding-top: 1.5rem;
  gap: .3rem 0;
  border-top: 1px solid rgba(232,200,140,.32);
  position: relative;
}
#courses .cls-card-fa .cls-card-meta{
  border-top: 1px solid rgba(232,200,140,.4);
}
#courses .cls-card-lsf .cls-card-meta{
  border-top: 1px solid rgba(255,235,225,.42);
}
#courses .cls-card-meta::before{
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 50px;
  height: 1px;
}
#courses .cls-card-fa .cls-card-meta::before{
  background: linear-gradient(90deg, #e8c88c, transparent);
  box-shadow: 0 0 12px rgba(232,200,140,.7);
}
#courses .cls-card-lsf .cls-card-meta::before{
  background: linear-gradient(90deg, #ffcadc, transparent);
  box-shadow: 0 0 12px rgba(255,200,210,.7);
}
#courses .cls-meta-item{
  padding: 0 1.2rem;
}
#courses .cls-meta-item:first-child{ padding-left: 0; }
#courses .cls-meta-val{
  font-size: 1.35rem;
  letter-spacing: -.012em;
  font-weight: 600;
}
#courses .cls-card-fa .cls-meta-val{
  color: #f8e8c4;
  text-shadow: 0 0 12px rgba(232,200,140,.35);
}
#courses .cls-card-lsf .cls-meta-val{
  color: #fff;
  text-shadow: 0 1px 3px rgba(80,20,10,.3);
}
#courses .cls-meta-key{
  font-size: .58rem;
  letter-spacing: .18em;
  color: rgba(255,255,255,.62);
  margin-top: .25rem;
}
#courses .cls-card-fa .cls-meta-key{ color: rgba(232,200,140,.72); }
#courses .cls-card-lsf .cls-meta-key{ color: rgba(255,240,232,.72); }

/* === CTA: more breathing room above === */
#courses .cls-card-action{
  margin-top: 1.7rem;
  padding: .95rem 1.7rem .95rem 1.9rem;
  font-size: .76rem;
  letter-spacing: .2em;
}

/* Centerpiece hint refinement */
#courses .cls-hint{
  margin-top: 2.4rem;
  padding: .85rem 1.6rem;
  display: inline-block;
  width: auto;
  background: linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,250,239,.4));
  border: 1px solid rgba(184,146,79,.35);
  border-radius: 999px;
  color: #8c1e28 !important;
  font-weight: 700 !important;
}
#courses .cls-hint-wrap{
  text-align: center;
  margin-top: 1.4rem;
}

/* Mobile: keep premium feel */
@media (max-width: 780px){
  #courses .cls-cards{ gap: 1.4rem; grid-template-columns: 1fr; }
  #courses .cls-card{ min-height: 280px; padding: 2.2rem 1.8rem 2rem; }
  #courses .cls-card::before{ font-size: 4.5rem; right: 1rem; top: .8rem; }
  #courses .cls-card-title{ font-size: clamp(1.7rem, 7vw, 2.2rem); }
  #courses .cls-meta-val{ font-size: 1.15rem; }
}

/* ============================================================
   HOMEPAGE CORRECTIONS (June 2026)
   - Courses LSF title: pure white, drop tint
   - Journey cards (hiw3): subtle per-card colour variants
   - Last journey card: full GOLD treatment
   - Mapstr caption: white elegant text (handled in mapstr.css)
   - Acadomia fold: Acadomia logo, one-line headline
   - Platform fold: replace eyebrow text with eTeacher logo
   ============================================================ */

/* --- Courses LSF title: pure white, no tint --- */
#courses .cls-card-lsf .cls-card-title{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:none !important;
  text-shadow:0 2px 10px rgba(80,20,10,.45), 0 0 1px rgba(255,255,255,.6);
}
/* Strengthen sub & meta legibility on both course cards */
#courses .cls-card-lsf .cls-card-sub{color:rgba(255,255,255,.96);text-shadow:0 1px 6px rgba(80,20,10,.35);}
#courses .cls-card-fa  .cls-card-sub{color:#fff;text-shadow:0 1px 6px rgba(8,14,43,.55);}
#courses .cls-card-fa  .cls-meta-val{color:#fff8e0;}
#courses .cls-card-fa  .cls-meta-key{color:rgba(255,248,224,.86);}
#courses .cls-card-lsf .cls-meta-key{color:rgba(255,250,245,.88);}

/* --- Journey (hiw3): subtle per-card colour variations --- */
/* Card 1 – cool ice-blue tint */
.hiw3-journey .hiw3-step:nth-child(1) .hiw3-card{background:linear-gradient(180deg,#fbfdff,#eef4fb)}
.hiw3-journey .hiw3-step:nth-child(1) .hiw3-ic{background:linear-gradient(135deg,rgba(120,160,210,.22),rgba(120,160,210,.06));border-color:rgba(120,160,210,.35);color:#3a5d8a}
.hiw3-journey .hiw3-step:nth-child(1) .hiw3-kick{color:#3a5d8a}
.hiw3-journey .hiw3-step:nth-child(1) .hiw3-num{color:#3a5d8a}
.hiw3-journey .hiw3-step:nth-child(1) .hiw3-tag{color:#3a5d8a;background:linear-gradient(135deg,rgba(120,160,210,.18),rgba(120,160,210,.05));border-color:rgba(120,160,210,.35)}

/* Card 2 – soft rose */
.hiw3-journey .hiw3-step:nth-child(2) .hiw3-card{background:linear-gradient(180deg,#fffaf9,#fbeeed)}
.hiw3-journey .hiw3-step:nth-child(2) .hiw3-ic{background:linear-gradient(135deg,rgba(210,130,140,.22),rgba(210,130,140,.06));border-color:rgba(210,130,140,.35);color:#a85360}
.hiw3-journey .hiw3-step:nth-child(2) .hiw3-kick{color:#a85360}
.hiw3-journey .hiw3-step:nth-child(2) .hiw3-num{color:#a85360}
.hiw3-journey .hiw3-step:nth-child(2) .hiw3-tag{color:#a85360;background:linear-gradient(135deg,rgba(210,130,140,.18),rgba(210,130,140,.05));border-color:rgba(210,130,140,.35)}

/* Card 3 – sage green */
.hiw3-journey .hiw3-step:nth-child(3) .hiw3-card{background:linear-gradient(180deg,#fafdfa,#eef4ec)}
.hiw3-journey .hiw3-step:nth-child(3) .hiw3-ic{background:linear-gradient(135deg,rgba(130,170,130,.22),rgba(130,170,130,.06));border-color:rgba(130,170,130,.4);color:#4a7a4e}
.hiw3-journey .hiw3-step:nth-child(3) .hiw3-kick{color:#4a7a4e}
.hiw3-journey .hiw3-step:nth-child(3) .hiw3-num{color:#4a7a4e}
.hiw3-journey .hiw3-step:nth-child(3) .hiw3-tag{color:#4a7a4e;background:linear-gradient(135deg,rgba(130,170,130,.18),rgba(130,170,130,.05));border-color:rgba(130,170,130,.4)}

/* Card 4 – lavender */
.hiw3-journey .hiw3-step:nth-child(4) .hiw3-card{background:linear-gradient(180deg,#fcfbfd,#f1edf5)}
.hiw3-journey .hiw3-step:nth-child(4) .hiw3-ic{background:linear-gradient(135deg,rgba(160,140,200,.22),rgba(160,140,200,.06));border-color:rgba(160,140,200,.4);color:#6a4f96}
.hiw3-journey .hiw3-step:nth-child(4) .hiw3-kick{color:#6a4f96}
.hiw3-journey .hiw3-step:nth-child(4) .hiw3-num{color:#6a4f96}
.hiw3-journey .hiw3-step:nth-child(4) .hiw3-tag{color:#6a4f96;background:linear-gradient(135deg,rgba(160,140,200,.18),rgba(160,140,200,.05));border-color:rgba(160,140,200,.4)}

/* Card 5 (FINAL) – full GOLD treatment */
.hiw3-journey .hiw3-step-final .hiw3-card,
.hiw3-card.hiw3-card-final{
  background:linear-gradient(155deg,#f7e3a8 0%,#e8c88c 45%,#d8b376 100%) !important;
  border:1px solid #c79f5c !important;
  box-shadow:0 18px 44px -22px rgba(176,128,40,.55), 0 2px 0 rgba(255,255,255,.55) inset !important;
}
.hiw3-card.hiw3-card-final .hiw3-num,
.hiw3-card.hiw3-card-final .hiw3-num-final{color:#5b3a0e !important}
.hiw3-card.hiw3-card-final .hiw3-ic,
.hiw3-card.hiw3-card-final .hiw3-ic-final{
  background:linear-gradient(135deg,#fff5d0,#f1cc70) !important;
  border:1px solid #b88c34 !important;
  color:#5b3a0e !important;
  box-shadow:0 4px 14px rgba(120,80,10,.25);
}
.hiw3-card.hiw3-card-final .hiw3-kick,
.hiw3-card.hiw3-card-final .hiw3-kick-final{color:#5b3a0e !important}
.hiw3-card.hiw3-card-final .hiw3-name{color:#3a2406 !important}
.hiw3-card.hiw3-card-final .hiw3-desc{color:#4a330d !important}
.hiw3-card.hiw3-card-final .hiw3-tag,
.hiw3-card.hiw3-card-final .hiw3-tag-final{
  background:linear-gradient(135deg,#fff5d0,#f1cc70) !important;
  border:1px solid #b88c34 !important;
  color:#5b3a0e !important;
}

/* --- Acadomia fold: logo on top + one-line head --- */
.ac-power-logo{
  display:block;margin:0 auto 1.6rem;width:auto;height:70px;
  filter:none !important;
  border-radius:6px;
  image-rendering:auto;
  opacity:1 !important;
}
.ac-power-head-oneline{
  white-space:nowrap;max-width:none !important;
  font-size:clamp(2.0rem,4.2vw,3.6rem);
  font-family:var(--serif);font-weight:600;
}
@media (max-width:760px){
  .ac-power-head-oneline{white-space:normal;font-size:clamp(2.0rem,7.5vw,2.7rem)}
  .ac-power-logo{height:52px}
}

/* --- Platform fold: eTeacher Group logo replaces gold eyebrow (transparent, white, clean) --- */
.etg2-brand-logo{
  display:block;margin:0 auto 1.6rem;height:64px;width:auto;
  background:transparent !important;
  padding:0 !important;border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  box-sizing:content-box;
  object-fit:contain;
  filter:none !important;
  opacity:.96;
}
@media (max-width:760px){.etg2-brand-logo{height:46px}}

/* --- Pillar video performance: GPU hint + offscreen pause helper --- */
.pillar video{will-change:transform;transform:translateZ(0);backface-visibility:hidden}
.pillar video[data-paused-offscreen="1"]{filter:brightness(.92)}

/* =================================================================== */
/* GLOBAL FONT-SIZE BUMP (user request: increase all headlines/subs)   */
/* Bumps display sizes ~15-20% and lede ~12% across the whole site.    */
/* =================================================================== */
.display-xl{font-size:clamp(4.4rem,11vw,10.2rem) !important;line-height:1.02 !important}
.display-lg{font-size:clamp(3.6rem,8vw,7.2rem) !important;line-height:1.08 !important}
.display-md{font-size:clamp(2.9rem,5.8vw,5.1rem) !important;line-height:1.1 !important}
.display-sm{font-size:clamp(2.3rem,3.9vw,3.6rem) !important;line-height:1.12 !important}
.lede{font-size:clamp(1.28rem,1.8vw,1.58rem) !important;line-height:1.6}
.eyebrow{font-size:.92rem !important;letter-spacing:.16em !important}
/* Hero spacing fix: give large two-line headlines room so descenders don't
   collide with the subtitle (prevents the "smeared header" look). */
.page-hero h1.display-lg,.page-hero h1.display-xl{margin-bottom:1.6rem !important}
.page-hero .lede{margin-top:.4rem !important}
.page-hero h1 br{line-height:inherit}
/* Generic content h2/h3 inside sections */
section h2{font-size:clamp(2.4rem,4.4vw,3.9rem)}
section h3{font-size:clamp(1.5rem,2.4vw,2.1rem)}

/* Placement (lead-magnet) image fold: horizontal layout, image left at native res */
.lead-magnet{padding:var(--sp-7) 0 !important}
.lead-magnet .lm-card{grid-template-columns:1.4fr 1fr !important;max-width:1280px !important;margin:0 auto !important}
.lead-magnet .lm-cover{min-height:480px !important;aspect-ratio:auto}
.lead-magnet .lm-cover img{object-fit:cover !important;object-position:center 30% !important;image-rendering:auto}
.lead-magnet .lm-body{padding:3rem 2.8rem 2.8rem !important}
.lead-magnet .lm-body h2{font-size:clamp(2.1rem,3.4vw,3rem) !important}
.lead-magnet .lm-body p{font-size:1.05rem !important;line-height:1.6}
.lead-magnet .lm-cover-badge{font-size:.76rem !important;padding:.58rem 1.15rem !important}
@media(max-width:820px){
  .lead-magnet .lm-card{grid-template-columns:1fr !important}
  .lead-magnet .lm-cover{min-height:320px !important}
  .lead-magnet .lm-body{padding:2.2rem 1.6rem 2.4rem !important}
}

/* Mapstr: bigger, more contrasted captions on photo pop-up; bigger dots */
.ms-photo-pop-step{
  color:#fff !important;
  font-family:var(--serif) !important;
  font-style:italic;
  font-size:.95rem !important;
  letter-spacing:.04em !important;
  text-transform:none !important;
  text-shadow:0 2px 6px rgba(0,0,0,.85), 0 0 12px rgba(0,0,0,.7) !important;
  font-weight:500 !important;
}
.ms-photo-pop-city{
  color:#fff !important;
  font-size:1.5rem !important;
  font-weight:600 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.9), 0 0 14px rgba(0,0,0,.75) !important;
  letter-spacing:.005em !important;
}
.ms-photo-pop-credit{
  color:rgba(255,255,255,.92) !important;
  font-size:.78rem !important;
  text-shadow:0 1px 4px rgba(0,0,0,.85) !important;
}
.ms-photo-pop-cap{
  background:linear-gradient(180deg, rgba(0,0,20,0) 0%, rgba(0,0,20,.45) 40%, rgba(0,0,20,.82) 100%) !important;
  padding:1.6rem 1.2rem 1.1rem !important;
}
/* Make every dot bigger so they're easy to click (single-course mode too) */
.ms-marker-pin{width:18px !important;height:18px !important}
.ms-marker:not(.ms-marker-dot) .ms-marker-pin{width:18px !important;height:18px !important}
.ms-marker::after{
  content:"";position:absolute;left:50%;top:50%;
  width:44px;height:44px;transform:translate(-50%,-50%);
  border-radius:50%;
  /* Invisible larger hit target around small dot for easier clicking */
  background:transparent;cursor:pointer;
}
.ms-marker:hover .ms-marker-pin,.ms-marker.active .ms-marker-pin{
  transform:scale(1.8) !important;
}

/* --- Make Julien sound button extra-prominent so users find it --- */
.jul-cutout-wrap .fa-sound-btn{
  bottom:auto !important; top:50% !important; right:auto !important; left:50% !important;
  transform:translate(-50%, -50%) !important;
  background:linear-gradient(135deg, #F0D58A, #C8A24A) !important;
  color:#1a1430 !important;
  border:2px solid #fff !important;
  padding:.95rem 1.6rem !important;
  font-size:.95rem !important;
  letter-spacing:.18em !important;
  border-radius:999px !important;
  box-shadow:0 12px 32px rgba(0,0,0,.6), 0 0 28px rgba(240,213,138,.55), 0 0 0 6px rgba(240,213,138,.12) !important;
  animation:jul-sound-pulse 2.4s ease-in-out infinite;
  z-index:30 !important;
}
.jul-cutout-wrap .fa-sound-btn.is-on{
  background:linear-gradient(135deg, #fff, #f1cc70) !important;
  animation:none;
}
.jul-cutout-wrap .fa-sound-btn:hover{
  transform:translate(-50%, -50%) scale(1.06) !important;
}
.jul-cutout-wrap .fa-sound-btn .fa-sound-ico{font-size:1.25rem !important}
@keyframes jul-sound-pulse{
  0%,100%{box-shadow:0 12px 32px rgba(0,0,0,.6), 0 0 28px rgba(240,213,138,.55), 0 0 0 6px rgba(240,213,138,.12)}
  50%{box-shadow:0 12px 32px rgba(0,0,0,.6), 0 0 44px rgba(240,213,138,.85), 0 0 0 12px rgba(240,213,138,.05)}
}

/* ===== Card 02 "Learning Platform" — elegant light blue (replaces gold) ===== */
.etg3-card.etg3-skyblue{
  background:linear-gradient(160deg,#E8F1FB 0%,#BDD7F2 38%,#8FB8E0 100%) !important;
  color:#0F2447 !important;
  box-shadow:0 14px 40px -18px rgba(60,110,180,.55), inset 0 1px 0 rgba(255,255,255,.6) !important;
}
.etg3-card.etg3-skyblue .etg3-glow{
  background:radial-gradient(90% 70% at 80% 0%,rgba(255,255,255,.55),transparent 60%) !important;
}
.etg3-card.etg3-skyblue .etg3-ic{
  background:rgba(15,36,71,.10) !important;
  border-color:rgba(15,36,71,.22) !important;
  color:#0F2447 !important;
}
.etg3-card.etg3-skyblue .etg3-pill{
  border-color:rgba(15,36,71,.28) !important;
  background:rgba(15,36,71,.10) !important;
  color:#0F2447 !important;
}
.etg3-card.etg3-skyblue .etg3-no{ color:#0F2447 !important; opacity:.5 !important; }
.etg3-card.etg3-skyblue h3{ color:#0F2447 !important; }
.etg3-card.etg3-skyblue p{ color:rgba(15,36,71,.85) !important; }

/* ===== HERO CTA — neon LIGHT BLUE (homepage only) — refined proportion ===== */
body.home .hero .btn-gold,
body.home .hero-ctas .btn-gold{
  background:linear-gradient(135deg,#5EC8FF 0%,#3FA8F0 50%,#1F86D6 100%) !important;
  color:#FFFFFF !important;
  font-size:.84rem !important;
  padding:1.05rem 2.2rem !important;
  letter-spacing:.18em !important;
  font-weight:700 !important;
  border:1px solid rgba(220,240,255,.7) !important;
  box-shadow:
    0 0 0 1px rgba(170,220,255,.35),
    0 0 22px rgba(95,200,255,.65),
    0 0 48px rgba(95,200,255,.45),
    0 0 90px rgba(63,168,240,.35),
    inset 0 1px 0 rgba(255,255,255,.55) !important;
  text-shadow:0 1px 2px rgba(10,30,60,.55), 0 0 12px rgba(95,200,255,.4) !important;
  animation:neonPulse 2.6s ease-in-out infinite !important;
}
body.home .hero .btn-gold:hover,
body.home .hero-ctas .btn-gold:hover{
  background:linear-gradient(135deg,#7AD4FF 0%,#4FB3F4 50%,#2C95E2 100%) !important;
  transform:translateY(-2px) !important;
  box-shadow:
    0 0 0 1px rgba(200,235,255,.55),
    0 0 30px rgba(95,200,255,.85),
    0 0 65px rgba(95,200,255,.6),
    0 0 120px rgba(63,168,240,.45),
    inset 0 1px 0 rgba(255,255,255,.6) !important;
}
@keyframes neonPulse{
  0%,100%{
    box-shadow:
      0 0 0 1px rgba(170,220,255,.35),
      0 0 22px rgba(95,200,255,.55),
      0 0 48px rgba(95,200,255,.4),
      0 0 90px rgba(63,168,240,.3),
      inset 0 1px 0 rgba(255,255,255,.55);
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(200,235,255,.55),
      0 0 32px rgba(95,200,255,.85),
      0 0 70px rgba(95,200,255,.65),
      0 0 130px rgba(63,168,240,.45),
      inset 0 1px 0 rgba(255,255,255,.65);
  }
}
/* Trustpilot block: transparent, larger, right of CTA — order: Logo > Stars > Excellent */
.hero-ctas{align-items:center !important;gap:1.4rem !important}
.hero-trustpilot{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.55rem;
  padding:.4rem 0 .4rem 1.3rem;
  background:transparent;
  border-left:1px solid rgba(255,255,255,.22);
}
.hero-trustpilot .tp-logo{ display:inline-flex; }
.hero-trustpilot .tp-logo img{
  height:22px; width:auto; display:block;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.55));
}
.hero-trustpilot .tp-stars{ display:inline-flex; align-items:center; }
.hero-trustpilot .tp-stars img{
  height:24px; width:auto; display:block;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));
}
.hero-trustpilot .tp-rating{
  font-family:var(--sans);
  font-size:.64rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.88);
  font-weight:700;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
}
@media(max-width:820px){
  .hero-ctas{gap:.9rem !important;flex-direction:column;align-items:flex-start !important}
  .hero-trustpilot{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.22);
    padding:.9rem 0 0;
    width:100%;
    max-width:340px;
  }
  .hero-trustpilot .tp-logo img{height:26px}
  .hero-trustpilot .tp-stars img{height:30px}
  .hero .btn-gold,.hero-ctas .btn-gold{font-size:.92rem !important;padding:1.1rem 1.6rem !important}
}

/* ===== Sorbonne section: wider+larger title (2 lines), wider sub, larger citation chips ===== */
.sorb-v4 .sorb-head{ max-width:1280px !important; }
.sorb-v4 .sorb-title{
  font-size:clamp(2.4rem,4.2vw,3.7rem) !important;
  max-width:1200px !important;
  line-height:1.14 !important;
  text-wrap:balance;
}
.sorb-v4 .sorb-sub{
  font-size:clamp(1.1rem,1.35vw,1.32rem) !important;
  max-width:78ch !important;
  line-height:1.62 !important;
}
/* sorbonne cite legacy block superseded by v2 polish below */
@media(max-width:820px){
  .sorb-v4 .sorb-title{ font-size:clamp(1.9rem,7vw,2.8rem) !important; max-width:none !important; }
  .sorb-v4 .sorb-sub{ font-size:1.02rem !important; }
}

/* ===== "Coming Soon" tag for Culture Capsules in Courses nav ===== */
.cs-tag{
  display:inline-block;
  margin-left:.5rem;
  padding:.18rem .55rem;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-deep,#8b6b2f);
  background:rgba(184,146,79,.14);
  border:1px solid rgba(184,146,79,.45);
  border-radius:999px;
  vertical-align:middle;
  line-height:1;
}
.nav-dd-comingsoon{ opacity:.85; }
.nav-dd-comingsoon:hover{ opacity:1; }
.drawer-comingsoon{ opacity:.85; }

/* Courses dropdown layout: keep elegant when extra item added */
.nav-dropdown-wide .nav-dd-col{ min-width:240px; }

/* ===== BEST SELLER badge on FA (blue) card + LSF card to WHITE ===== */
.cls-card{position:relative;}
.cls-bestseller{
  position:absolute;top:1.1rem;right:1.1rem;z-index:5;
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.55rem 1.05rem .5rem;
  font-family:var(--serif);
  font-style:italic;
  font-size:1.05rem;
  font-weight:600;
  letter-spacing:.02em;
  color:#0a1a3a;
  background:linear-gradient(180deg,#FFD777 0%,#E8B85A 55%,#C99232 100%);
  border:1px solid rgba(255,220,150,.85);
  border-radius:999px;
  text-transform:none;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.25) inset,
    0 6px 18px -6px rgba(202,150,60,.65),
    0 14px 38px -16px rgba(0,0,0,.55);
  text-shadow:0 1px 0 rgba(255,255,255,.35);
  white-space:nowrap;
}
.cls-bestseller::before{
  content:"★";
  font-style:normal;
  font-size:.95em;
  color:#5b3a0e;
  line-height:1;
}

/* LSF card: WHITE (ivory) variant overriding terracotta */
.cls-card-lsf{
  background:
    radial-gradient(70% 80% at 82% 8%, rgba(232,200,140,.16) 0%, transparent 60%),
    linear-gradient(165deg, #FFFFFF 0%, #FBF7EF 55%, #F4ECDE 100%) !important;
  border-color:rgba(180,150,90,.32) !important;
  color:#1a1f3a !important;
  box-shadow:0 26px 64px -30px rgba(140,110,60,.28), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
@media(hover:hover){
  .cls-card-lsf:hover{
    box-shadow:0 0 0 1px rgba(180,150,90,.55),0 36px 80px -30px rgba(140,110,60,.4) !important;
    border-color:rgba(180,150,90,.7) !important;
  }
}
.cls-card-lsf.is-active{
  border-color:rgba(180,150,90,.85) !important;
  box-shadow:0 0 0 1px rgba(180,150,90,.7),0 0 40px -6px rgba(232,200,140,.45),0 36px 80px -30px rgba(140,110,60,.5) !important;
}
.cls-card-lsf .cls-card-eyebrow{color:#8B6B2F !important;}
.cls-card-lsf .cls-card-title{color:#0a1a3a !important;}
.cls-card-lsf .cls-card-sub{color:rgba(20,28,60,.74) !important;}
.cls-card-lsf .cls-meta-val{color:#0a1a3a !important;}
.cls-card-lsf .cls-meta-key{color:rgba(20,28,60,.62) !important;}
.cls-card-lsf .cls-card-meta{border-top-color:rgba(180,150,90,.32) !important;}
.cls-card-lsf .cls-meta-item+.cls-meta-item::before{background:rgba(180,150,90,.32) !important;}
.cls-card-lsf .cls-card-action{color:#1a1f3a !important;}
.cls-card-lsf .cls-card-action-text{color:#1a1f3a !important;}
.cls-card-lsf .cls-card-chevron{background:rgba(20,28,60,.08) !important;border-color:rgba(20,28,60,.18) !important;}

@media(max-width:680px){
  .cls-bestseller{font-size:.92rem;padding:.42rem .85rem .4rem;top:.85rem;right:.85rem;}
}

/* ===== Acadomia fold: bigger logo height + bigger one-line headline ===== */
.ac-power-logo{height:88px !important;margin-bottom:1.9rem !important;}
.ac-power-head-oneline{
  font-size:clamp(2.3rem,4.85vw,4.05rem) !important;
}
@media(max-width:760px){
  .ac-power-logo{height:62px !important;}
  .ac-power-head-oneline{font-size:clamp(2.0rem,7.5vw,2.7rem) !important;}
}

/* Force LSF white-card text overrides higher than #courses scope */
#courses .cls-card-lsf .cls-card-title,
section#courses .cls-card-lsf .cls-card-title{
  color:#0a1a3a !important;
  -webkit-text-fill-color:#0a1a3a !important;
  text-shadow:none !important;
}
#courses .cls-card-lsf .cls-card-sub,
section#courses .cls-card-lsf .cls-card-sub{
  color:rgba(20,28,60,.74) !important;
  -webkit-text-fill-color:rgba(20,28,60,.74) !important;
}
#courses .cls-card-lsf .cls-card-eyebrow,
section#courses .cls-card-lsf .cls-card-eyebrow{
  color:#8B6B2F !important;
  -webkit-text-fill-color:#8B6B2F !important;
}
#courses .cls-card-lsf .cls-meta-val{color:#0a1a3a !important; -webkit-text-fill-color:#0a1a3a !important;}
#courses .cls-card-lsf .cls-meta-key{color:rgba(20,28,60,.62) !important; -webkit-text-fill-color:rgba(20,28,60,.62) !important;}
#courses .cls-card-lsf .cls-card-action,
#courses .cls-card-lsf .cls-card-action-text{color:#1a1f3a !important; -webkit-text-fill-color:#1a1f3a !important;}
#courses .cls-card-lsf .cls-card-meta{border-top-color:rgba(180,150,90,.32) !important;}
#courses .cls-card-lsf .cls-meta-item+.cls-meta-item::before{background:rgba(180,150,90,.32) !important;}
#courses .cls-card-lsf .cls-card-chevron{background:rgba(20,28,60,.08) !important; color:#1a1f3a !important;}

/* ============================================================
   ADDITIONS (homepage rebuild) — neon CTA, Sorbonne v2 polish,
   eTeacher neon backdrop, placement test premium card v2.
   ============================================================ */

/* neon CTA removed per user request */

/* --- Sorbonne fold v2 polish (DARK on LIGHT beige bg) --- */
.sorb.sorb-v4 > .wrap{max-width:1440px !important;}
.sorb.sorb-v4 .sorb-cred{max-width:1380px !important;}
.sorb.sorb-v4 .sorb-cred-lab-hi{display:block;text-align:center;font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;
  color:#8C1E28 !important;margin:0 auto 1.6rem !important;font-weight:700;}
.sorb.sorb-v4 .sorb-cred-lab-hi strong{color:#1a1410;letter-spacing:.08em;font-weight:800;}
.sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2{display:flex;flex-wrap:nowrap;justify-content:center;gap:.85rem;max-width:1480px;margin:0 auto;padding:0 1.2rem;align-items:stretch;}
.sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2 .sorb-cite{display:inline-flex !important;align-items:center;gap:.7rem;
  background:linear-gradient(135deg,#FFFFFF 0%,#FBF4E6 100%) !important;
  border:1.5px solid rgba(140,30,40,.4) !important;border-radius:14px !important;padding:.85rem 1.2rem !important;
  color:#1a1410 !important;font-size:.92rem !important;font-weight:600 !important;text-decoration:none !important;letter-spacing:.005em !important;
  box-shadow:0 4px 14px rgba(140,30,40,.10) !important;
  transition:all .3s ease;flex:1 1 0;min-width:0;max-width:none;white-space:normal !important;-webkit-text-fill-color:#1a1410 !important;}
.sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2 .sorb-cite:hover{transform:translateY(-2px);
  border-color:#8C1E28 !important;box-shadow:0 10px 24px rgba(140,30,40,.22) !important;
  background:linear-gradient(135deg,#FFFFFF 0%,#F4E6CC 100%) !important;}
.sorb.sorb-v4 .sorb-cite-yr{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:.34rem .55rem;border-radius:8px;
  background:#8C1E28 !important;color:#FBF4E6 !important;-webkit-text-fill-color:#FBF4E6 !important;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-family:var(--sans);white-space:nowrap;flex-shrink:0;}
.sorb.sorb-v4 .sorb-cite-tx{flex:1;color:#1a1410 !important;-webkit-text-fill-color:#1a1410 !important;line-height:1.32;font-weight:600;}
.sorb.sorb-v4 .sorb-cite-arrow{color:#8C1E28 !important;-webkit-text-fill-color:#8C1E28 !important;font-size:1.15em;opacity:.9;flex-shrink:0;}
.sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2 .sorb-cite:hover .sorb-cite-arrow{opacity:1;}
@media (max-width:1100px){
  .sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2{flex-wrap:wrap;}
  .sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2 .sorb-cite{flex:1 1 calc(50% - 1rem);min-width:280px;}
}
@media (max-width:640px){
  .sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2{flex-direction:column;align-items:stretch;}
  .sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2 .sorb-cite{justify-content:flex-start;flex:1 1 auto;}
}

/* --- eTeacher fold: neon soft lighting backdrop --- */
.etg2-section{position:relative;isolation:isolate;overflow:hidden;}
.etg2-section::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(45% 50% at 12% 18%,rgba(159,212,255,.16) 0%,rgba(0,0,0,0) 60%),
    radial-gradient(40% 45% at 88% 30%,rgba(216,188,133,.14) 0%,rgba(0,0,0,0) 60%),
    radial-gradient(50% 55% at 50% 90%,rgba(108,160,255,.13) 0%,rgba(0,0,0,0) 65%),
    radial-gradient(35% 40% at 80% 80%,rgba(216,188,133,.10) 0%,rgba(0,0,0,0) 60%);}
.etg2-section::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,20,0) 0%,rgba(0,0,20,.4) 100%);}
.etg2-section > *{position:relative;z-index:1;}

/* --- Placement test fold v2 (champagne + Eiffel — matches user image-5) --- */
.lead-magnet#placement .lm-card{
  display:grid;grid-template-columns:1.05fr 1fr;gap:0;align-items:stretch;
  border-radius:28px;overflow:hidden;background:#00001F;
  box-shadow:0 40px 90px rgba(0,0,20,.25),0 0 0 1px rgba(216,188,133,.18);}
.lead-magnet#placement .lm-cover{position:relative;min-height:560px;}
.lead-magnet#placement .lm-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.lead-magnet#placement .lm-cover-badge{position:absolute;top:1.4rem;left:1.4rem;z-index:2;
  background:rgba(216,188,133,.95);color:#00001F;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:.55rem 1.1rem;border-radius:999px;border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 22px rgba(0,0,20,.35);}
.lead-magnet#placement .lm-body{background:#00001F;color:#F3EEE3;padding:clamp(2.4rem,4vw,3.6rem);display:flex;flex-direction:column;justify-content:center;}
.lead-magnet#placement .lm-eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#D8BC85;display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.4rem;}
.lead-magnet#placement .lm-eyebrow::before{content:'';width:34px;height:1px;background:#D8BC85;}
.lead-magnet#placement .lm-body h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(2.2rem,3.6vw,3.4rem);line-height:1.08;color:#F3EEE3;margin:0 0 1.2rem;}
.lead-magnet#placement .lm-body h2 em{color:#D8BC85;font-style:italic;}
.lead-magnet#placement .lm-body > p{font-size:1.02rem;line-height:1.6;color:rgba(243,238,227,.82);margin:0 0 1.4rem;}
.lead-magnet#placement .lm-body > p em{color:#D8BC85;font-style:italic;}
.lead-magnet#placement .lm-meta{display:flex;flex-wrap:wrap;gap:1.6rem;margin:.4rem 0 1.8rem;}
.lead-magnet#placement .lm-meta span{display:inline-flex;align-items:center;gap:.5rem;color:rgba(243,238,227,.75);font-size:.85rem;font-weight:500;}
.lead-magnet#placement .lm-meta span::before{content:'•';color:#D8BC85;font-size:1.4em;line-height:.5;}
.lead-magnet#placement .lm-actions{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap;margin-top:.2rem;}
.lead-magnet#placement .lm-actions .btn-3d{background:linear-gradient(135deg,#D8BC85,#B7965D);color:#00001F;border:0;padding:1rem 1.8rem;border-radius:999px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;display:inline-flex;align-items:center;gap:.6rem;box-shadow:0 14px 30px rgba(216,188,133,.3);cursor:pointer;}
.lead-magnet#placement .lm-actions .btn-3d:hover{filter:brightness(1.08);}
.lead-magnet#placement .lm-actions .link-arrow{color:rgba(243,238,227,.85);font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;}
.lead-magnet#placement .lm-actions .link-arrow:hover{color:#D8BC85;}
@media (max-width:900px){
  .lead-magnet#placement .lm-card{grid-template-columns:1fr;}
  .lead-magnet#placement .lm-cover{min-height:340px;}
}

/* ============================================================
   SORBONNE DESKTOP REFRESH — larger cards, bigger text,
   premium citation rail, kill stray neon decorations
   (overrides previous v4 styles above)
   ============================================================ */
@media (min-width: 861px){
  .sorb-v4 .sorb-principles{
    max-width: 1280px !important;
    gap: 2rem !important;
  }
  .sorb-v4 .sorb-pr{
    padding: 3rem 2.6rem 2.8rem !important;
    border-radius: 18px !important;
    min-height: 360px !important;
    background: linear-gradient(180deg, #FFFBF0 0%, #F4E6CC 100%) !important;
    border: 1px solid rgba(140,30,40,.18) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.85) inset,
      0 -1px 0 rgba(140,30,40,.06) inset,
      0 18px 40px -22px rgba(85,40,20,.28) !important;
  }
  /* Refined top accent: single warm gold hairline, no harsh red */
  .sorb-v4 .sorb-pr::before{
    height: 2px !important;
    background: linear-gradient(90deg, transparent, #C9A24E 50%, transparent) !important;
    opacity: .85 !important;
  }
  /* Numerals: bigger, gold gradient */
  .sorb-v4 .sorb-pr-no{
    font-size: 2.6rem !important;
    margin: 0 0 .9rem !important;
    background: linear-gradient(135deg, #D8AE5E 0%, #8C1E28 100%) !important;
    -webkit-background-clip: text !important;
            background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    letter-spacing: -.005em !important;
  }
  .sorb-v4 .sorb-pr-fr{
    font-size: 1.05rem !important;
    margin: 0 0 1rem !important;
    opacity: .88 !important;
  }
  /* Headlines: significantly bigger */
  .sorb-v4 .sorb-pr-tt{
    font-size: 1.7rem !important;
    line-height: 1.18 !important;
    margin: 0 0 1rem !important;
  }
  /* Body copy: bigger, more readable */
  .sorb-v4 .sorb-pr-tx{
    font-size: 1.08rem !important;
    line-height: 1.65 !important;
    color: rgba(26,20,16,.78) !important;
  }
}

/* Kill any stray decorative neon line / separator above the Sorbonne footer */
.sorb-v4 .sorb-cred::before,
.sorb-v4 .sorb-cred::after,
.sorb-v4 .sorb-principles ~ *::before:not(.sorb-cite):not(.sorb-cite-yr){
  display: none !important;
}

/* CITATIONS — premium plaque look (desktop) */
@media (min-width: 861px){
  .sorb.sorb-v4 .sorb-cred-lab-hi{
    font-size: .85rem !important;
    margin: 0 auto 1.8rem !important;
    color: rgba(26,20,16,.62) !important;
    border: 0 !important;
    background: transparent !important;
  }
  .sorb.sorb-v4 .sorb-cred-lab-hi strong{
    color: #1a1410 !important;
  }
  .sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2{
    gap: 1rem !important;
    max-width: 1280px !important;
    padding: 0 1.2rem !important;
  }
  .sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2 .sorb-cite{
    background: linear-gradient(180deg, #FFFEF8 0%, #FBF4E6 100%) !important;
    border: 1px solid rgba(184,146,79,.45) !important;
    border-radius: 999px !important;
    padding: .8rem 1.2rem !important;
    font-size: .95rem !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.9) inset,
      0 6px 18px -10px rgba(85,40,20,.18) !important;
    color: #1a1410 !important;
  }
  .sorb.sorb-v4 .sorb-cred-links.sorb-cred-links-v2 .sorb-cite:hover{
    transform: translateY(-2px);
    border-color: #C9A24E !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 14px 28px -14px rgba(85,40,20,.30) !important;
  }
  /* Year badge: warm gold, not blood red */
  .sorb.sorb-v4 .sorb-cite-yr{
    background: linear-gradient(135deg, #D8AE5E 0%, #B8924F 100%) !important;
    color: #1a1410 !important;
    -webkit-text-fill-color: #1a1410 !important;
    font-weight: 700 !important;
    font-size: .68rem !important;
    letter-spacing: .14em !important;
    border-radius: 6px !important;
    min-width: 56px !important;
  }
  .sorb.sorb-v4 .sorb-cite-tx{
    font-size: .92rem !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: #1a1410 !important;
    -webkit-text-fill-color: #1a1410 !important;
  }
  .sorb.sorb-v4 .sorb-cite-arrow{
    color: #B8924F !important;
    -webkit-text-fill-color: #B8924F !important;
  }
}

/* ============================================================
   KILL the stray neon-blue line + glow above citations
   (was: .sorb-cred::before breathing blue halo)
   ============================================================ */
.sorb-cred::before{ display: none !important; content: none !important; }
.sorb-cred{ border-top-color: transparent !important; }
.sorb-v4 .sorb-cred{ border-top: 0 !important; }
.sorb-cred-lab{ text-shadow: none !important; color: rgba(26,20,16,.62) !important; }
.sorb-cred-links a{ text-shadow: none !important; border-bottom-color: transparent !important; }

/* ============================================================
   TESTIMONIALS DESKTOP — premium hero rail (cards 2x larger)
   ============================================================ */
@media (min-width: 861px){
  #testimonials.tst-fold{
    padding: 9rem 0 10rem !important;
    background:
      radial-gradient(140% 100% at 50% 0%, rgba(216,188,133,.10), transparent 55%),
      radial-gradient(100% 70% at 50% 100%, rgba(140,30,40,.05), transparent 60%),
      radial-gradient(80% 60% at 50% 50%, #0A0F1E 0%, #000 100%) !important;
  }
  #testimonials .tst-head h2{
    font-size: clamp(3rem, 4.4vw, 4.2rem) !important;
    line-height: 1.05 !important;
    margin-bottom: 1rem !important;
  }
  #testimonials .tst-head p{
    font-size: 1.15rem !important;
    line-height: 1.6 !important;
    color: rgba(243,238,227,.78) !important;
    max-width: 64ch;
    margin: 0 auto;
  }
  #testimonials .tst-stage{
    margin: 4rem auto 0 !important;
    max-width: 1480px !important;
    padding: 0 1rem;
    overflow: visible !important;
  }
  /* 3-up large grid instead of cramped 5-up */
  #testimonials .tst-track{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2rem !important;
    padding: 2rem 0 !important;
  }
  /* Hide 4th & 5th cards on desktop (rotate weekly via JS later if needed) */
  #testimonials .tst-track > .tst-card:nth-child(n+4){
    display: none !important;
  }
  #testimonials .tst-card{
    background: linear-gradient(180deg, #12182B 0%, #060912 100%) !important;
    border: 1px solid rgba(216,188,133,.22) !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    padding: 0 !important;
    transform-style: preserve-3d;
    box-shadow:
      0 1px 0 rgba(216,188,133,.18) inset,
      0 30px 70px -20px rgba(0,0,0,.85),
      0 0 0 1px rgba(216,188,133,.10) inset,
      0 0 80px -20px rgba(216,188,133,.18) !important;
    transition: transform .55s cubic-bezier(.2,.7,.2,1), box-shadow .55s !important;
  }
  #testimonials .tst-card:hover{
    transform: translateY(-10px) rotateX(2deg) !important;
    box-shadow:
      0 1px 0 rgba(216,188,133,.3) inset,
      0 50px 100px -24px rgba(0,0,0,.9),
      0 0 0 1px rgba(216,188,133,.28) inset,
      0 0 120px -20px rgba(216,188,133,.35) !important;
    border-color: rgba(216,188,133,.5) !important;
  }
  /* Gold corner ribbon (top) */
  #testimonials .tst-card::before{
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, transparent, #E8C77A 25%, #C9A24E 50%, #E8C77A 75%, transparent) !important;
    z-index: 2;
    pointer-events: none;
    border-radius: 0 !important;
    inset: 0 !important;
    inset: auto !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    height: 4px !important;
  }
  #testimonials .tst-card img{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 370 / 520;
    object-fit: cover;
    display: block;
    border-radius: 28px !important;
    transition: transform .8s cubic-bezier(.2,.7,.2,1);
  }
  #testimonials .tst-card:hover img{
    transform: scale(1.03);
  }
  /* Source line */
  #testimonials .tst-source{
    margin-top: 4rem !important;
    font-size: .85rem !important;
    letter-spacing: .18em !important;
    color: rgba(216,188,133,.62) !important;
  }
}

/* ============================================================
   SORBONNE — PREMIUM NAVY CARD REDESIGN (desktop)
   Override the cream cards with deep-navy editorial cards
   ============================================================ */
@media (min-width: 861px){
  .sorb-v4 .sorb-principles{
    max-width: 1320px !important;
    gap: 2rem !important;
  }
  .sorb-v4 .sorb-pr{
    padding: 3.2rem 2.6rem 2.8rem !important;
    border-radius: 22px !important;
    min-height: 420px !important;
    background:
      radial-gradient(120% 80% at 0% 0%, rgba(232,199,122,.18), transparent 55%),
      radial-gradient(90% 70% at 100% 100%, rgba(140,30,40,.10), transparent 60%),
      linear-gradient(168deg, #0E1E40 0%, #061029 60%, #04081A 100%) !important;
    border: 1px solid rgba(216,188,133,.30) !important;
    box-shadow:
      0 1px 0 rgba(232,199,122,.22) inset,
      0 -1px 0 rgba(255,255,255,.04) inset,
      0 30px 70px -22px rgba(0,0,16,.45),
      0 0 0 1px rgba(216,188,133,.10) inset !important;
    color: #F3EEE3 !important;
    overflow: hidden !important;
    transition: transform .5s, box-shadow .5s !important;
  }
  .sorb-v4 .sorb-pr:hover{
    transform: translateY(-8px) !important;
    box-shadow:
      0 1px 0 rgba(232,199,122,.35) inset,
      0 50px 100px -24px rgba(0,0,16,.65),
      0 0 0 1px rgba(216,188,133,.28) inset,
      0 0 100px -20px rgba(216,188,133,.22) !important;
    border-color: rgba(232,199,122,.55) !important;
  }
  /* Gold ribbon */
  .sorb-v4 .sorb-pr::before{
    height: 3px !important;
    background: linear-gradient(90deg, transparent, #E8C77A 25%, #C9A24E 50%, #E8C77A 75%, transparent) !important;
    opacity: 1 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
  }
  /* Decorative giant numeral in background */
  .sorb-v4 .sorb-pr::after{
    display: block !important;
    content: attr(data-bg-num) !important;
    position: absolute !important;
    right: -16px !important;
    bottom: -48px !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 16rem !important;
    font-weight: 700 !important;
    color: rgba(216,188,133,.06) !important;
    line-height: 1 !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }
  /* Foreground big gold numeral */
  .sorb-v4 .sorb-pr-no{
    position: relative !important;
    z-index: 2 !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, #FFE9B0 0%, #E8C77A 45%, #C9A24E 100%) !important;
    -webkit-background-clip: text !important;
            background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    margin: 0 0 .9rem !important;
    text-shadow: 0 2px 12px rgba(216,188,133,.25) !important;
    letter-spacing: -.01em !important;
  }
  .sorb-v4 .sorb-pr-fr{
    position: relative !important;
    z-index: 2 !important;
    font-style: italic !important;
    font-size: 1.05rem !important;
    color: rgba(232,199,122,.85) !important;
    margin: 0 0 1rem !important;
  }
  .sorb-v4 .sorb-pr-tt{
    position: relative !important;
    z-index: 2 !important;
    font-size: 1.7rem !important;
    line-height: 1.18 !important;
    color: #FFFFFF !important;
    margin: 0 0 1rem !important;
    font-weight: 600 !important;
  }
  .sorb-v4 .sorb-pr-tx{
    position: relative !important;
    z-index: 2 !important;
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    color: rgba(243,238,227,.85) !important;
  }
}

/* ============================================================
   AGENT C — Mobile Slider Fix  (max-width:720px)
   All 3+ child grid containers become horizontal swipe sliders.
   Specific selectors only — no blanket grid override.
   ============================================================ */
@media (max-width:720px) {

  /* ── Shared mixin ── */
  .pillar-grid-about,
  .lead-grid,
  .loc-grid,
  .award-grid,
  .val-grid,
  .partner-grid,
  .blog-grid,
  .related-grid,
  .coll-grid,
  .more-grid,
  .course-grid,
  .week-grid,
  .stack-grid,
  .tnet-grid,
  .cap-grid,
  .aoa-grid,
  .cando-grid,
  .trio-grid,
  .pricing-grid,
  .faculty-grid,
  .tpb-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
    gap: 16px !important;
    padding: 0 16px 8px !important;
    margin-left: -16px !important;
    margin-right: -16px !important;
    scrollbar-width: none;
  }
  .pillar-grid-about::-webkit-scrollbar,
  .lead-grid::-webkit-scrollbar,
  .loc-grid::-webkit-scrollbar,
  .award-grid::-webkit-scrollbar,
  .val-grid::-webkit-scrollbar,
  .partner-grid::-webkit-scrollbar,
  .blog-grid::-webkit-scrollbar,
  .related-grid::-webkit-scrollbar,
  .coll-grid::-webkit-scrollbar,
  .more-grid::-webkit-scrollbar,
  .course-grid::-webkit-scrollbar,
  .week-grid::-webkit-scrollbar,
  .stack-grid::-webkit-scrollbar,
  .tnet-grid::-webkit-scrollbar,
  .cap-grid::-webkit-scrollbar,
  .aoa-grid::-webkit-scrollbar,
  .cando-grid::-webkit-scrollbar,
  .trio-grid::-webkit-scrollbar,
  .pricing-grid::-webkit-scrollbar,
  .faculty-grid::-webkit-scrollbar,
  .tpb-grid::-webkit-scrollbar { display: none; }

  /* ── Children snap ── */
  .pillar-grid-about > *,
  .lead-grid > *,
  .loc-grid > *,
  .award-grid > *,
  .val-grid > *,
  .partner-grid > *,
  .blog-grid > *,
  .related-grid > *,
  .coll-grid > *,
  .more-grid > *,
  .course-grid > *,
  .week-grid > *,
  .stack-grid > *,
  .tnet-grid > *,
  .cap-grid > *,
  .aoa-grid > *,
  .cando-grid > *,
  .trio-grid > *,
  .pricing-grid > *,
  .faculty-grid > *,
  .tpb-grid > * {
    flex: 0 0 78% !important;
    min-width: 0 !important;
    max-width: 78% !important;
    scroll-snap-align: start !important;
  }

  /* ── .grid.g4 (pricing page generic grid) ── */
  .grid.g4,
  .grid.g3 {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
    gap: 16px !important;
    padding: 0 16px 8px !important;
    margin-left: -16px !important;
    margin-right: -16px !important;
    scrollbar-width: none;
  }
  .grid.g4::-webkit-scrollbar,
  .grid.g3::-webkit-scrollbar { display: none; }
  .grid.g4 > *,
  .grid.g3 > * {
    flex: 0 0 78% !important;
    min-width: 0 !important;
    max-width: 78% !important;
    scroll-snap-align: start !important;
  }

  /* ── course.css grids: pillar-grid, learn-grid, method-grid, unit-grid ── */
  .pillar-grid,
  .learn-grid,
  .method-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
    gap: 16px !important;
    padding: 0 16px 8px !important;
    margin-left: -16px !important;
    margin-right: -16px !important;
    scrollbar-width: none;
  }
  .pillar-grid::-webkit-scrollbar,
  .learn-grid::-webkit-scrollbar,
  .method-grid::-webkit-scrollbar { display: none; }
  .pillar-grid > *,
  .learn-grid > *,
  .method-grid > * {
    flex: 0 0 78% !important;
    min-width: 0 !important;
    max-width: 78% !important;
    scroll-snap-align: start !important;
  }

  /* unit-grid: 20 items — narrower cards for better scanning */
  .unit-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
    gap: 16px !important;
    padding: 0 16px 8px !important;
    margin-left: -16px !important;
    margin-right: -16px !important;
    scrollbar-width: none;
  }
  .unit-grid::-webkit-scrollbar { display: none; }
  .unit-grid > * {
    flex: 0 0 78% !important;
    min-width: 0 !important;
    max-width: 78% !important;
    scroll-snap-align: start !important;
  }
}

/* ============================================================
   JULIEN FOLD — Paris cityscape background (replaces "Live From France" fold)
   Per user spec: Julien character composited on Paris/Seine BG, no audio from this video.
   ============================================================ */
.jul-home{position:relative;isolation:isolate;}
.jul-paris-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.jul-paris-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.55);}
.jul-paris-veil{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(8,14,28,.78) 0%,rgba(8,14,28,.55) 30%,rgba(8,14,28,.72) 70%,rgba(8,14,28,.92) 100%),
  radial-gradient(60% 60% at 20% 50%,rgba(216,188,133,.12) 0%,rgba(8,14,28,0) 60%);}
.jul-home > *:not(.jul-paris-bg){position:relative;z-index:1;}
.jul-home .jul-home-glow{z-index:0;}

/* ============================================================
   MAPSTR — Larger on homepage (user: "mapstr map too small")
   ============================================================ */
.ms-compact .ms-stage{height:82vh !important;min-height:640px !important;max-height:900px !important;}
@media (max-width:900px){
  .ms-compact .ms-stage{height:72vh !important;min-height:560px !important;}
}

/* ============================================================
   TEACHERS HOMEPAGE FOLD — balanced: fold smaller, but images at proper size
   ============================================================ */
#teachers.section-pad{padding-top:5.5rem !important;padding-bottom:5.5rem !important;}
#teachers .tctr-head{margin-bottom:2.4rem !important;}
#teachers .fac-gallery{gap:1.2rem !important;}
#teachers .fac-card .fac-photo img{aspect-ratio:3/4;}
@media (min-width:1000px){
  #teachers .fac-gallery{grid-template-columns:repeat(4,1fr) !important;}
  #teachers .fac-card .fac-photo{max-height:380px;overflow:hidden;}
  #teachers .fac-card .fac-photo img{object-fit:cover;width:100%;height:100%;}
}

/* ============================================================
   TESTIMONIALS — reduce vertical scale (user: "too large, exaggerated")
   ============================================================ */
.tst-fold{padding:5rem 0 5.5rem !important;}
.tst-head{margin-bottom:2.4rem !important;}
.tst-head h2{font-size:clamp(1.9rem,3.6vw,3.1rem) !important;}
.tst-track{gap:.9rem !important;}
.tst-card{border-radius:18px !important;}
.tst-card img{border-radius:18px 18px 0 0 !important;}
@media (min-width:1181px){
  .tst-track{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
}

/* ============================================================
   CULTURE 6-THEMES — perf fix: prevent 6 simultaneous decodes from stuttering
   Browser should pace these; we hint via metadata preload + slight scale stability.
   The JS observer (below) will play only what's visible.
   ============================================================ */
#culture .pillar video{will-change:transform;backface-visibility:hidden;transform:translateZ(0);}

/* Mobile Sorbonne H2 — proper hierarchy size */
@media (max-width:720px){
  #method-fold.s5 .s5-head{max-width:100% !important;padding:0 .25rem;}
  #method-fold.s5 .s5-title{
    font-size:clamp(2.05rem, 7.6vw, 2.6rem) !important;
    line-height:1.12 !important;
    letter-spacing:-.012em !important;
    text-wrap:balance !important;
    white-space:normal !important;
  }
  #method-fold.s5 .s5-title .gold-ital{
    display:block !important;
    margin-top:.18em !important;
    font-size:clamp(2.05rem, 7.6vw, 2.6rem) !important;
    line-height:1.12 !important;
  }
}

/* ===== Tighter top margins across all folds except hero & mapstr ===== */
.section-pad:not(#mapstr):not(.hero){padding-top:4rem !important}
section[id]:not(.hero):not(#mapstr):not([id="hero"]){padding-top:4rem}
#teachers.section-pad{padding-top:3rem !important;padding-bottom:4rem !important}

/* ===== TEACHERS FOLD TYPOGRAPHY REFINEMENT (brand consistency) ===== */
#teachers .eyebrow{font-family:var(--sans) !important;font-weight:500 !important;letter-spacing:.26em !important;font-size:.74rem !important;color:var(--gold-deep) !important;text-transform:uppercase !important}
#teachers .display-md{font-family:var(--serif) !important;font-weight:500 !important;letter-spacing:-.012em !important}
#teachers .lede{font-family:var(--sans) !important;font-weight:300 !important;color:rgba(11,19,64,.72) !important;line-height:1.6 !important}
#teachers .fac-name{font-family:var(--serif) !important;font-weight:500 !important;font-style:italic;font-size:1.4rem !important;color:#F3EEE3 !important;letter-spacing:-.005em;margin:0 0 .25rem !important}
#teachers .fac-region{font-family:var(--sans) !important;font-weight:500 !important;font-size:.7rem !important;letter-spacing:.22em !important;text-transform:uppercase !important;color:#D8BC85 !important}
#teachers .fac-info{padding:.9rem 1.05rem 1.1rem !important;background:linear-gradient(180deg,transparent 0%,rgba(8,12,28,.92) 100%) !important}
#teachers .fac-card{position:relative;border-radius:14px;overflow:hidden}
#teachers .fac-card .fac-info{position:absolute;left:0;right:0;bottom:0}

/* ============================================================
   UNIFIED SUBHEADER / LEDE TYPOGRAPHY ACROSS ALL FOLDS
   One font, one size, one width — absolute consistency
   ============================================================ */
.lede,.lede-c,.s5-lede,.lg-lede,.ms-lede,
#method-fold.s5 .s5-lede,
#lead-form .lg-lede,
.jul-home .lede,
#teachers .lede,
#courses .lede,
#culture .lede,
#how-it-works .lede,
.cta-band .lede,
#acadomia-power .lede{
  font-family:var(--sans) !important;
  font-weight:300 !important;
  font-size:1.25rem !important;
  line-height:1.62 !important;
  letter-spacing:.005em !important;
  max-width:62ch !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center;
  color:inherit;
  text-wrap:pretty;
}
/* Folds where lede sits inside a copy block (non-centered split layouts) keep left alignment */
.jul-home .lede,
.split .lede,
.split-wide .lede,
#lead-form .lg-lede{
  text-align:left;
  margin-left:0 !important;
  margin-right:0 !important;
}
/* Re-apply darker color where background is light, lighter where dark */
.bg-paper .lede,.bg-ivory .lede,.bg-white .lede,#courses .lede,#teachers .lede,#how-it-works .lede{color:rgba(11,19,64,.74) !important}
.on-dark .lede,.cta-band .lede,#culture .lede,#method-fold .s5-lede,.jul-home .lede,.lg-fold .lg-lede{color:rgba(243,238,227,.78) !important}
@media(max-width:720px){
  .lede,.lede-c,.s5-lede,.lg-lede,.ms-lede{
    font-size:1.02rem !important;
    line-height:1.55 !important;
    max-width:42ch !important;
  }
}
#courses.section-pad{padding-top:4rem !important}
#culture.section-pad{padding-top:4rem !important}
#method-fold.s5{padding-top:4.2rem !important;padding-bottom:5rem !important}
#acadomia-power{padding-top:4rem !important}
.hiw3-fold,.hiw3{padding-top:4rem !important}
.jul-home{padding-top:4rem !important}
.tst-fold{padding-top:4rem !important;padding-bottom:5rem !important}
.etg{padding-top:4rem !important}
.lead-magnet{padding-top:4rem !important}
.ac-power{padding-top:4rem !important}

/* ============================================================
   CLIENT FIXES — 2026-06-17
   1) Acadomia hero badge (light-blue official mark, top-right)
   2) Hero text shifted slightly down
   3) Sticky enrollment console (light-blue like hero)
   ============================================================ */

/* 1. Acadomia hero badge — sits ABOVE the H1, inside hero content (elegant credential mark) */
.hero-acadomia-badge{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  padding:.5rem .95rem .5rem .85rem;
  margin:0 0 1.6rem 0;
  background:rgba(167,201,235,.10);
  border:1px solid rgba(167,201,235,.45);
  border-radius:999px;
  backdrop-filter:blur(8px) saturate(140%);
  -webkit-backdrop-filter:blur(8px) saturate(140%);
  box-shadow:0 4px 18px rgba(8,14,43,.32);
  transition:transform .4s ease, background .4s ease;
}
.hero-acadomia-badge:hover{background:rgba(167,201,235,.16);transform:translateY(-1px)}
.hero-acadomia-badge .hab-tag{
  font-family:var(--serif,Georgia,serif);
  font-style:italic;
  font-size:.8rem;
  letter-spacing:.04em;
  color:#cfe1f5;
  white-space:nowrap;
}
.hero-acadomia-badge img{
  height:22px;
  width:auto;
  display:block;
  filter:brightness(1.12) contrast(1.02);
}
@media (max-width:760px){
  .hero-acadomia-badge{
    padding:.42rem .8rem .42rem .72rem;
    gap:.6rem;
    margin-bottom:1.2rem;
  }
  .hero-acadomia-badge .hab-tag{font-size:.72rem}
  .hero-acadomia-badge img{height:18px}
}

/* 2. Hero text shifted slightly down (centered + extra top padding) */
.hero.hero-shift{align-items:center}
.hero.hero-shift .hero-content{padding-top:clamp(7rem, 14vh, 11rem)}
@media (max-width:760px){
  .hero.hero-shift .hero-content{padding-top:clamp(5rem, 10vh, 7rem)}
}

/* 3. Sticky always-on enrollment console (light-blue, hero-matched) */
.enroll-console{
  position:fixed;
  right:clamp(1rem, 2.4vw, 2rem);
  bottom:clamp(1rem, 2.4vw, 1.8rem);
  z-index:80;
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.85rem 1.15rem .85rem 1rem;
  background:linear-gradient(135deg,rgba(8,14,43,.92) 0%,rgba(28,52,98,.92) 60%,rgba(56,96,160,.92) 100%);
  border:1px solid rgba(167,201,235,.55);
  border-radius:18px;
  color:#fff;
  box-shadow:0 12px 36px rgba(8,14,43,.45), 0 0 0 1px rgba(167,201,235,.12) inset;
  backdrop-filter:blur(14px) saturate(150%);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  transform:translateY(0);
  transition:transform .35s ease, box-shadow .35s ease, opacity .35s ease;
  font-family:var(--sans,system-ui,sans-serif);
}
.enroll-console::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:18px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(167,201,235,.45),rgba(167,201,235,0) 55%);
  opacity:.7;
  mix-blend-mode:overlay;
}
.enroll-console .ec-dot{
  width:8px;height:8px;border-radius:50%;
  background:#7fc4ff;
  box-shadow:0 0 0 4px rgba(127,196,255,.18), 0 0 12px rgba(127,196,255,.7);
  animation:ec-pulse 2.4s ease-in-out infinite;
}
@keyframes ec-pulse{
  0%,100%{box-shadow:0 0 0 4px rgba(127,196,255,.18),0 0 10px rgba(127,196,255,.55)}
  50%{box-shadow:0 0 0 7px rgba(127,196,255,.05),0 0 18px rgba(127,196,255,.95)}
}
.enroll-console .ec-text{display:flex;flex-direction:column;line-height:1.15}
.enroll-console .ec-eyebrow{
  font-family:var(--serif,Georgia,serif);
  font-style:italic;
  font-size:.72rem;
  letter-spacing:.06em;
  color:#cfe1f5;
}
.enroll-console .ec-title{
  font-size:.95rem;
  font-weight:500;
  letter-spacing:.01em;
  color:#fff;
}
.enroll-console .ec-cta{
  margin-left:.4rem;
  padding:.6rem 1.05rem;
  border-radius:999px;
  background:linear-gradient(180deg,#a7c9eb 0%,#7fb0e0 100%);
  color:#0b1736;
  font-weight:600;
  font-size:.86rem;
  letter-spacing:.02em;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.4);
  box-shadow:0 4px 14px rgba(127,176,224,.45);
  white-space:nowrap;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.enroll-console .ec-cta:hover{
  transform:translateY(-1px);
  filter:brightness(1.05);
  box-shadow:0 6px 18px rgba(127,176,224,.7);
}
.enroll-console .ec-close{
  position:absolute;
  top:-9px;right:-9px;
  width:22px;height:22px;
  border-radius:50%;
  background:#0b1736;
  border:1px solid rgba(167,201,235,.55);
  color:#cfe1f5;
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;line-height:1;
  cursor:pointer;
  padding:0;
}
.enroll-console.is-hidden{transform:translateY(140%);opacity:0;pointer-events:none}
@media (max-width:520px){
  .enroll-console{
    left:.7rem;right:.7rem;bottom:.7rem;
    padding:.7rem .8rem;
    gap:.6rem;
  }
  .enroll-console .ec-eyebrow{font-size:.66rem}
  .enroll-console .ec-title{font-size:.85rem}
  .enroll-console .ec-cta{padding:.55rem .85rem;font-size:.8rem}
}
