/*
 * Thrive Academy — static site stylesheet.
 * Ported unchanged from the "thrive-academy" WordPress theme (v1.0.0) style.css;
 * only the WordPress admin-bar offsets were removed.
 */

:root{
  --navy:#14274E;
  --navy-deep:#0B1830;
  --navy-soft:#3A5488;
  --amber:#F2A93B;
  --amber-deep:#DB8E1B;
  --ink:#1B2233;
  --muted:#5B6478;
  --line:#E7E9F0;
  --paper:#FBFAF8;
  --white:#FFFFFF;

  --amber-bg:#FFF4DC; --amber-ic:#E68A1E;
  --sky-bg:#E5F0FD; --sky-ic:var(--navy-soft);
  --mint-bg:#E4F6EC; --mint-ic:#1E9A5C;
  --orchid-bg:#F8EAF7; --orchid-ic:#A73E9A;
  --orange-bg:#FDE6DC; --orange-ic:#D9622F;

  --radius:18px;
  --shadow:0 20px 40px -24px rgba(20,39,78,0.25);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Poppins', sans-serif; color:var(--navy); line-height:1.15;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:12.5px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--amber-deep);
}
.eyebrow::before{content:""; width:22px; height:2px; background:var(--amber); display:inline-block; border-radius:2px;}
.section-head{text-align:center; max-width:992px; margin:0 auto 48px;}
.section-head.underlined h1, .section-head.underlined h2{position:relative; padding-bottom:16px;}
.section-head.underlined h1::after, .section-head.underlined h2::after{content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:120px; height:4px; border-radius:4px; background:var(--amber);}
.section-head h1, .section-head h2{font-size:clamp(26px,3.4vw,36px); margin-top:10px;}
.section-head p{color:var(--muted); font-size:16px; margin-top:12px; line-height:1.6;}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:14.5px;
  padding:14px 26px; border-radius:999px; border:2px solid transparent;
  cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn i{transition:transform .18s ease;}
.btn:hover i{transform:translateX(4px);}
.btn:focus-visible{outline:3px solid var(--navy-soft); outline-offset:3px;}
.btn-amber{background:var(--amber); color:var(--navy-deep); box-shadow:0 14px 28px -12px rgba(242,169,59,0.65);}
.btn-amber:hover{background:var(--amber-deep);}
.btn-ghost-dark{background:transparent; border-color:var(--navy); color:var(--navy);}
.btn-ghost-dark:hover{background:var(--navy); color:#fff;}
.btn-ghost-light{background:transparent; border-color:rgba(255,255,255,.55); color:#fff;}
.btn-ghost-light:hover{background:rgba(255,255,255,.14);}
.btn-white{background:#fff; color:var(--navy); box-shadow:0 14px 28px -14px rgba(0,0,0,.35);}
.btn-navy{background:var(--navy); color:#fff; box-shadow:0 14px 28px -14px rgba(20,39,78,.45);}
.btn-navy:hover{background:var(--navy-deep);}
.btn-navy i{opacity:0; max-width:0; margin-left:-10px; overflow:hidden; transition:opacity .18s ease, max-width .18s ease, margin-left .18s ease;}
.btn-navy:hover i{opacity:1; max-width:20px; margin-left:0;}
.btn-sm{padding:11px 20px; font-size:13.5px;}
.btn-block{width:100%; justify-content:center;}

/* ===== HEADER ===== */
header{
  background:rgba(255,255,255,.92); backdrop-filter:blur(10px);
}
.custom-logo-link img{
  max-width:140px;
  height:auto;
  transition:max-width .25s ease;
}
body.is-scrolled .custom-logo-link img{max-width:96px;}
.nav-row{
  display:flex; align-items:center; justify-content:space-between; padding:8px 32px; max-width:1240px; margin:0 auto;
  transition:padding .25s ease;
}
.nav-row-menu{padding:10px 0 14px; transition:padding .25s ease, box-shadow .25s ease;}
.nav-row-menu > nav.primary{display:block; max-width:1240px; margin:0 auto; padding:0 32px;}
body.is-scrolled .nav-row{padding:4px 32px;}

/* Mobile/tablet: the burger lives in nav-row, so the whole header stays pinned (sticky/fixed) on
   scroll. Only the logo + CTA button fade out (opacity only — never height) so the burger never
   moves and the sticky box never changes size, which is what caused the earlier scroll jerk. */
@media (max-width:1200px){
  header{position:sticky; top:0; z-index:100; border-bottom:1px solid var(--line); transition:box-shadow .25s ease;}
  body.is-scrolled header{box-shadow:0 10px 24px -18px rgba(20,39,78,.35);}
  body.is-scrolled .nav-row-menu{padding:16px 32px 12px;}
  

  .logo{transition:opacity .2s ease;}
  .nav-cta a.btn{transition:opacity .2s ease;}
  body.is-scrolled .logo{opacity:0; pointer-events:none;}
  body.is-scrolled .nav-cta a.btn{opacity:0; pointer-events:none;}
}

/* Desktop: the logo/button row scrolls away naturally (no animation, no reflow-jerk); only the
   compact menu row stays pinned, via plain CSS sticky positioning. */
@media (min-width:1201px){
  .nav-row-menu{
    position:sticky; top:0; z-index:100;
    background:#fff;
    border-bottom:1px solid var(--line);
    transition:background .25s ease, border-color .25s ease;
  }
  body.is-scrolled .nav-row-menu{
    padding:16px 32px 12px; box-shadow:0 10px 24px -18px rgba(20,39,78,.35);
    background:var(--navy); border-color:var(--navy);
  }
  body.is-scrolled .nav-row-menu nav.primary a{color:#fff;}
  body.is-scrolled .nav-row-menu nav.primary a:hover{color:var(--amber);}
  body.is-scrolled .nav-row-menu nav.primary li.current-menu-item > a,
  body.is-scrolled .nav-row-menu nav.primary li.current_page_item > a{color:var(--amber);}
  /* The dropdown panel itself always has a white background regardless of
     header scroll state — without this, the rules above turn its text
     white too, making it invisible against that white panel. */
  body.is-scrolled .nav-row-menu nav.primary .sub-menu a{color:var(--navy);}
  body.is-scrolled .nav-row-menu nav.primary .sub-menu a:hover{color:var(--amber-deep); background:var(--paper);}
  body.is-scrolled .nav-row-menu nav.primary .sub-menu li.current-menu-item > a,
  body.is-scrolled .nav-row-menu nav.primary .sub-menu li.current_page_item > a{color:var(--amber-deep);}
}

.mobile-nav-overlay{
  display:none;
  position:fixed; top:0; left:0; width:100%; height:100vh; height:100dvh;
  background:#fff; z-index:9999;
}
.mobile-nav-close{
  position:absolute; top:18px; right:24px; z-index:1;
  width:44px; height:44px; border-radius:50%; border:none; background:var(--paper);
  color:var(--navy); font-size:18px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .18s ease, color .18s ease, transform .12s ease;
}
.mobile-nav-close:hover{background:var(--amber-bg); color:var(--amber-deep);}
.mobile-nav-close:active{transform:scale(.92);}
.logo{display:flex; align-items:center; gap:10px; font-family:'Poppins',sans-serif; font-weight:800; font-size:22px; color:var(--navy);}
.logo img{transition:max-height .25s ease;}
.logo .mark{width:34px; height:34px; border-radius:9px; background:linear-gradient(135deg,var(--amber),#F7C165); display:flex; align-items:center; justify-content:center; color:var(--navy-deep); font-size:17px; transition:width .25s ease, height .25s ease;}
.logo small{display:block; font-family:'Inter',sans-serif; font-weight:600; font-size:9px; letter-spacing:.2em; color:var(--muted); margin-top:-2px;}
body.is-scrolled .logo{font-size:19px;}
body.is-scrolled .logo .mark{width:28px; height:28px; font-size:14px;}
nav.primary ul{display:flex; align-items:center; justify-content:space-around; gap:30px; flex-wrap:wrap;}
nav.primary li{position:relative; padding-bottom:10px;}
nav.primary a{font-weight:600; font-size:14.5px; color:var(--navy); display:flex; align-items:center; gap:6px; transition:color .18s ease;}
nav.primary a:hover{color:var(--amber-deep);}
nav.primary li::after{content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--amber); border-radius:2px; transform:scaleX(0); transition:transform .18s ease;}
nav.primary li:hover::after{transform:scaleX(1);}
nav.primary li.current-menu-item > a,
nav.primary li.current_page_item > a{color:var(--amber-deep);}
nav.primary li.current-menu-item::after,
nav.primary li.current_page_item::after{transform:scaleX(1);}
.nav-cta{display:flex; align-items:center; gap:14px;}
.burger{display:none; font-size:20px; color:var(--navy); background:none; border:none; cursor:pointer; transition:color .18s ease, transform .12s ease;}
.burger:hover{color:var(--amber-deep);}
.burger:active{transform:scale(.9);}

/* ===== HERO ===== */
.promo-strip{display:flex; align-items:center; justify-content:center; gap:10px; background:var(--amber-bg); color:var(--amber-deep); font-size:14px; font-weight:600; text-align:center; padding:12px 20px; text-decoration:none; transition:background .2s ease;}
.promo-strip:hover{background:var(--amber);}
.promo-strip i{font-size:13px;}
.promo-strip b{font-weight:800;}
@media(max-width:640px){.promo-strip{font-size:12.5px; padding:10px 14px; gap:7px;}}

.hero{position:relative; overflow:hidden; padding:56px 0 0;}
.hero-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
.hero-copy h1{font-size:clamp(34px,4.6vw,54px); letter-spacing:-.01em;}
.hero-copy h1 span{color:var(--amber-deep); position:relative;}
.hero-copy p{margin-top:18px; font-size:17px; color:var(--muted); max-width:460px; line-height:1.65;}
.hero-ctas{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
.hero-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:44px; padding-bottom:28px; border-bottom:1px solid var(--line); max-width:440px;}
.hero-stat{}
.hero-stat .n{font-family:'Poppins',sans-serif; font-weight:800; font-size:22px; color:var(--navy); display:flex; align-items:baseline; gap:4px;}
.hero-stat .n i{font-size:13px; color:var(--amber-deep);}
.hero-stat .l{font-size:11.5px; color:var(--muted); margin-top:2px; line-height:1.4;}
.hero-media{position:relative; border-radius:26px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/3;}
.hero-media img{width:100%; height:100%; object-fit:cover;}
.hero-media::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(11,24,48,.35), transparent 40%);}
.hero-badge{position:absolute; left:18px; bottom:18px; background:#fff; padding:12px 16px; border-radius:14px; box-shadow:0 12px 24px -10px rgba(0,0,0,.3); display:flex; align-items:center; gap:10px; z-index:2;}
.hero-badge .dot{width:34px; height:34px; border-radius:50%; background:var(--mint-bg); color:var(--mint-ic); display:flex; align-items:center; justify-content:center; font-size:15px;}
.hero-badge b{font-family:'Poppins',sans-serif; font-size:13px; color:var(--navy); display:block;}
.hero-badge span{font-size:11px; color:var(--muted);}
.hero-blob{position:absolute; top:-120px; right:-140px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle at 30% 30%, rgba(242,169,59,.28), transparent 70%); z-index:0;}

/* ---- Hero persona grid (replaces the single hero-media photo) ---- */
.hero-persona-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.hero-persona{position:relative; border-radius:20px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:1/1;}
.hero-persona img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-persona::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(11,24,48,.72) 0%, rgba(11,24,48,.15) 46%, transparent 65%);}
.hero-persona .hp-caption{
  position:absolute; left:14px; right:14px; bottom:12px; z-index:2;
  color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:14.5px; line-height:1.3;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
@media (max-width:480px){
  .hero-persona .hp-caption{font-size:13px;}
}

/* ===== PERSONA (How can thrive help) ===== */
.personas{padding:96px 0 30px;}
.persona-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.persona-card{border-radius:var(--radius); overflow:hidden; position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:340px; padding:24px; color:var(--navy); transition:transform .25s ease, box-shadow .25s ease;}
.persona-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.persona-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.persona-card .tint{position:absolute; inset:0; z-index:1;}
.persona-card .content{position:relative; z-index:2;}
.persona-icon{width:42px; height:42px; border-radius:12px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:110px;}
.persona-card h4{font-size:19px; margin-bottom:6px;min-height: 45px;}
.persona-card p{font-size:13.5px; color:var(--muted); margin-bottom:16px; line-height:1.5;}
.p1 .tint{background:linear-gradient(180deg, rgba(255,244,220,0) 0%, rgba(255,244,220,.94) 62%);}
.p1 .persona-icon{color:var(--amber-ic);}
.p2 .tint{background:linear-gradient(180deg, rgba(229,240,253,0) 0%, rgba(229,240,253,.94) 62%);}
.p2 .persona-icon{color:var(--sky-ic);}
.p3 .tint{background:linear-gradient(180deg, rgba(228,246,236,0) 0%, rgba(228,246,236,.94) 62%);}
.p3 .persona-icon{color:var(--mint-ic);}
.p4 .tint{background:linear-gradient(180deg, rgba(248,234,247,0) 0%, rgba(248,234,247,.94) 62%);}
.p4 .persona-icon{color:var(--orchid-ic);}
.p1 .p-btn{background:var(--amber-ic); color:#fff;}
.p2 .p-btn{background:var(--sky-ic); color:#fff;}
.p3 .p-btn{background:var(--mint-ic); color:#fff;}
.p4 .p-btn{background:var(--orchid-ic); color:#fff;}
.persona-grid-2{grid-template-columns:repeat(2,1fr); max-width:820px; margin:34px auto 34px;}
@media (max-width:640px){ .persona-grid-2{grid-template-columns:1fr;} }
.p-btn{display:inline-flex; align-items:center; gap:8px; font-family:'Poppins',sans-serif; font-weight:600; font-size:12.5px; padding:10px 16px; border-radius:999px;}
.escape-hatch{background:var(--sky-bg); padding:38px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.escape-hatch-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.escape-hatch-left{display:flex; align-items:center; gap:20px;}
.escape-hatch .ic{color:var(--sky-ic); font-size:42px; flex-shrink:0; line-height:1;}
.escape-hatch .eh-title{color:var(--navy); font-weight:800; font-size:1.35rem; font-family:'Poppins',sans-serif; letter-spacing:-.01em;}
.escape-hatch .eh-sub{color:var(--muted); font-size:14.5px; margin-top:4px;}
@media (max-width:640px){ .escape-hatch-inner{justify-content:center; text-align:center;} .escape-hatch-left{flex-direction:column; gap:12px;} }

/* ===== WHY THRIVE PILLARS ===== */
.why{padding:90px 0; background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.pillars{display:grid; grid-template-columns:repeat(6,1fr); gap:14px;}
.pillar{padding:0 18px; text-align:center; position:relative;}
/* Clickable variant (homepage "Why Thrive" cards, which open the read-more modal) */
.pillar[role="button"]{
  padding:28px 16px 24px;
  border:2px solid var(--line); border-radius:16px; background:#fff;
  cursor:pointer; transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.pillar[role="button"]:hover, .pillar[role="button"]:focus-visible{box-shadow:var(--shadow); transform:translateY(-3px); border-color:var(--sky-ic);}
.pillar:nth-child(2)[role="button"]:hover, .pillar:nth-child(2)[role="button"]:focus-visible{border-color:var(--amber-ic);}
.pillar:nth-child(3)[role="button"]:hover, .pillar:nth-child(3)[role="button"]:focus-visible{border-color:var(--mint-ic);}
.pillar:nth-child(4)[role="button"]:hover, .pillar:nth-child(4)[role="button"]:focus-visible{border-color:var(--orchid-ic);}
.pillar:nth-child(5)[role="button"]:hover, .pillar:nth-child(5)[role="button"]:focus-visible{border-color:var(--sky-ic);}
.pillar:nth-child(6)[role="button"]:hover, .pillar:nth-child(6)[role="button"]:focus-visible{border-color:var(--amber-ic);}
.pillar[role="button"]:focus-visible{outline:3px solid var(--navy-soft); outline-offset:2px;}
.pillar .ic{width:52px; height:52px; border-radius:14px; background:var(--sky-bg); color:var(--sky-ic); display:flex; align-items:center; justify-content:center; font-size:21px; margin:0 auto 16px;}
.pillar:nth-child(2) .ic{background:var(--amber-bg); color:var(--amber-ic);}
.pillar:nth-child(3) .ic{background:var(--mint-bg); color:var(--mint-ic);}
.pillar:nth-child(4) .ic{background:var(--orchid-bg); color:var(--orchid-ic);}
.pillar:nth-child(5) .ic{background:var(--sky-bg); color:var(--sky-ic);}
.pillar:nth-child(6) .ic{background:var(--amber-bg); color:var(--amber-ic);}
.pillar h4{font-size:14.5px; margin-bottom:6px; letter-spacing:.01em;}
.pillar[role="button"] h4{margin-bottom:0; font-size:14.5px; font-weight:700; color:var(--navy);}
.pillar p{font-size:12.5px; color:var(--muted); line-height:1.5;}
.pillar .tap-hint{display:block; font-size:12px; color:var(--muted); margin-top:6px; font-weight:500;}
.pillar .pillar-arrow{
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%; margin:12px auto 0; font-size:12px;
  background:var(--sky-bg); color:var(--sky-ic); transition:transform .18s ease;
}
.pillar:nth-child(2) .pillar-arrow{background:var(--amber-bg); color:var(--amber-ic);}
.pillar:nth-child(3) .pillar-arrow{background:var(--mint-bg); color:var(--mint-ic);}
.pillar:nth-child(4) .pillar-arrow{background:var(--orchid-bg); color:var(--orchid-ic);}
.pillar:nth-child(5) .pillar-arrow{background:var(--sky-bg); color:var(--sky-ic);}
.pillar:nth-child(6) .pillar-arrow{background:var(--amber-bg); color:var(--amber-ic);}
.pillar[role="button"]:hover .pillar-arrow{transform:translateX(3px);}

/* 5-column variant (Schools & Colleges "placement confidence" cards) */
.pillars-5{grid-template-columns:repeat(5,1fr);}

/* Stronger CTA text block beneath a card grid */
.placement-cta{margin:36px calc(50% - 50vw) 0; padding:36px 0; background:var(--sky-bg);}
.placement-cta .wrap{max-width:900px; margin:0 auto 0 0; text-align:left;}
.placement-cta p{font-size:16px; line-height:1.75; color:var(--navy); margin:0; text-align:left;}
.placement-cta strong{color:var(--navy);}
@media (max-width:760px){ .placement-cta .wrap{max-width:none;} }

/* ===== PATHWAY + THRIVE WAY ===== */
.journey{padding:96px 0; background:var(--paper);}
.journey-grid{display:grid; grid-template-columns:1.02fr .98fr; gap:24px; align-items:stretch;}
.panel{background:#fff; border:1px solid var(--line); border-radius:24px; padding:44px; box-shadow:var(--shadow);}
.panel h3{font-size:26px; margin-bottom:12px; letter-spacing:-.01em;}
.panel > p{color:var(--muted); font-size:15px; line-height:1.65; margin-bottom:36px; max-width:420px;}

.cefr-rail{display:flex; justify-content:center; align-items:flex-start; gap:6px; margin:16px 0 44px; flex-wrap:wrap;}
.cefr-arrow{color:var(--line); font-size:14px; margin-top:19px; flex-shrink:0;}
.cefr-step{display:flex; flex-direction:column; align-items:center; gap:8px;}
.cefr-dot{
  width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:'Poppins',sans-serif; font-weight:800; font-size:12.5px;
  border:3px solid transparent; transition:transform .2s ease, box-shadow .2s ease;
}
/* Each level gets its own distinct colour rather than a plain done/upcoming
   scheme — reads more like a vibrant journey than a grey progress bar. */
.cefr-mint .cefr-dot{background:var(--mint-bg); color:var(--mint-ic); border-color:var(--mint-ic);}
.cefr-amber .cefr-dot{background:var(--amber-bg); color:var(--amber-deep); border-color:var(--amber);}
.cefr-orange .cefr-dot{background:var(--orange-bg); color:var(--orange-ic); border-color:var(--orange-ic);}
.cefr-sky .cefr-dot{background:var(--sky-bg); color:var(--sky-ic); border-color:var(--sky-ic);}
.cefr-step.current .cefr-dot{
  box-shadow:0 0 0 6px rgba(242,169,59,.22); transform:scale(1.15);
  animation:thrive-cefr-pulse 2.2s ease-in-out infinite;
}
@keyframes thrive-cefr-pulse{
  0%, 100%{box-shadow:0 0 0 6px rgba(242,169,59,.22);}
  50%{box-shadow:0 0 0 10px rgba(242,169,59,.12);}
}
@media (prefers-reduced-motion: reduce){ .cefr-step.current .cefr-dot{animation:none;} }
.cefr-step span.label{font-size:11px; color:var(--muted); font-weight:600; text-align:center; max-width:78px; line-height:1.35;}
.cefr-step.current span.label{color:var(--navy); font-weight:700;}
@media (max-width:480px){ .cefr-arrow{display:none;} }

.flow-row{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;}
.flow-step{display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:700; color:var(--navy-soft); transition:transform .18s ease;}
.flow-step:hover{transform:translateY(-2px);}
.flow-step i.fa-arrow-right-long{color:var(--line); font-size:13px;}
.flow-step .ic-sm{width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:16px; box-shadow:0 6px 14px -8px rgba(20,39,78,.25);}
.flow-mint .ic-sm{background:var(--mint-bg); color:var(--mint-ic);}
.flow-sky .ic-sm{background:var(--sky-bg); color:var(--sky-ic);}
.flow-amber .ic-sm{background:var(--amber-bg); color:var(--amber-deep);}
.flow-orchid .ic-sm{background:var(--orchid-bg); color:var(--orchid-ic);}

.orbit-wrap{position:relative; display:flex; align-items:center; justify-content:center; min-height:300px; margin-bottom:20px;margin-top:20px}
.orbit-spin{position:absolute; inset:0; animation:thrive-orbit-spin 26s linear infinite;}
.orbit-ring{position:absolute; top:50%; left:50%; width:270px; height:270px; border-radius:50%; border:2px dashed var(--line); transform:translate(-50%,-50%);}
.orbit-hub{width:100px; height:100px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; z-index:2; box-shadow:0 16px 30px -12px rgba(20,39,78,.55); padding:14px;}
.orbit-hub img{width:100%; height:auto; object-fit:contain;}
.orbit-node{position:absolute; top:50%; left:50%; width:66px; height:66px; border-radius:50%; z-index:2; box-shadow:0 10px 20px -10px rgba(0,0,0,.25); background:#fff;}
.orbit-face{width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; animation:thrive-orbit-spin-reverse 26s linear infinite;}
.orbit-face i{font-size:16px;}
.orbit-face b{font-family:'Poppins',sans-serif; font-size:9.5px; font-weight:700; margin-top:2px;}
/* Nodes sit exactly on the ring's circumference (radius 135px), centered on the wrap's own center
   point — not the wrap's edges — so they stay correctly placed regardless of the wrap's width. */
.orbit-node.n1{transform:translate(-50%,-50%) translate(0,-135px); color:var(--amber-ic);}
.orbit-node.n2{transform:translate(-50%,-50%) translate(135px,0); color:var(--mint-ic);}
.orbit-node.n3{transform:translate(-50%,-50%) translate(0,135px); color:var(--sky-ic);}
.orbit-node.n4{transform:translate(-50%,-50%) translate(-135px,0); color:var(--orchid-ic);}

@keyframes thrive-orbit-spin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
@keyframes thrive-orbit-spin-reverse{ from{transform:rotate(0deg);} to{transform:rotate(-360deg);} }
.journey-caption{text-align:center; font-size:13px; color:var(--muted); font-style:italic;}
.journey-caption b{color:var(--navy); font-style:normal;}

/* The 270px ring is fixed-size; once it's inside .panel's 38px padding it
   no longer fits phones under ~430px wide, so scale the whole diagram down
   (keeping the same ring-radius = node-translate-distance relationship). */
@media (max-width:460px){
  .panel{padding:28px 22px;}
  .orbit-wrap{min-height:230px;}
  .orbit-ring{width:200px; height:200px;}
  .orbit-hub{width:76px; height:76px; padding:11px;}
  .orbit-node{width:52px; height:52px;}
  .orbit-node i{font-size:13px;}
  .orbit-node.n1{transform:translate(-50%,-50%) translate(0,-100px);}
  .orbit-node.n2{transform:translate(-50%,-50%) translate(100px,0);}
  .orbit-node.n3{transform:translate(-50%,-50%) translate(0,100px);}
  .orbit-node.n4{transform:translate(-50%,-50%) translate(-100px,0);}
}

/* ===== TESTIMONIALS ===== */
.stories{padding:90px 0; background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.stories-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:40px;}
.stories-head h2{font-size:clamp(24px,3vw,32px);}
.see-more{font-weight:600; font-size:13.5px; color:var(--navy); display:flex; align-items:center; gap:6px;}
.story-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.story-card{border-radius:20px; overflow:hidden; background:var(--paper); border:1px solid var(--line);}
.story-media{position:relative; aspect-ratio:16/10; background:var(--navy-soft);}
.story-media img{width:100%; height:100%; object-fit:cover;}
.play{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.play i{width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.92); color:var(--navy); display:flex; align-items:center; justify-content:center; font-size:18px; box-shadow:0 10px 22px -8px rgba(0,0,0,.4);}
.story-tag{position:absolute; top:14px; left:14px; background:#fff; padding:5px 12px; border-radius:999px; font-size:11px; font-weight:700; color:var(--navy); font-family:'Poppins',sans-serif;}
.story-body{padding:20px 22px 24px;}
.story-body p{font-size:14.5px; color:var(--ink); line-height:1.6; font-style:italic;}
.story-body .stars{color:var(--amber); font-size:12px; margin-top:12px;}

/* ===== ORG SECTION ===== */
.orgs{padding:96px 0;}
.org-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.org-grid-5{grid-template-columns:repeat(5,1fr);}
.org-grid-5 .org-card{padding:22px 18px;}
.org-grid-5 .org-card h4{font-size:15px;}
.org-grid-5 .org-card p{min-height:92px; font-size:12.5px;}
.org-card{background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px 24px; transition:transform .2s ease, box-shadow .2s ease; display:flex; flex-wrap:wrap; align-items:center; gap:0 14px;}
.org-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.org-card .ic{width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:19px; flex-shrink:0;}
.org-card-accent{position:relative; overflow:hidden; padding-bottom:32px;}
.org-card-accent::after{content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--ic-color, var(--sky-ic));}
.org-card-accent .ic{width:62px; height:62px; border-radius:17px; font-size:25px; margin-bottom:4px;}
.org-card h4{font-size:16px; letter-spacing:.02em; flex:1;}
.org-card-accent h4{flex:1 1 100%; width:100%; margin-top:18px;}
.org-card p{width:100%; font-size:13px; color:var(--muted); line-height:1.55; margin:14px 0 20px; min-height:58px;}
.org-mint .ic{background:var(--mint-bg); color:var(--mint-ic);} .org-mint h4{color:var(--mint-ic);} .org-mint .org-link{color:var(--mint-ic);}
.org-orchid .ic{background:var(--orchid-bg); color:var(--orchid-ic);} .org-orchid h4{color:var(--orchid-ic);} .org-orchid .org-link{color:var(--orchid-ic);}
.org-orange .ic{background:var(--orange-bg); color:var(--orange-ic);} .org-orange h4{color:var(--orange-ic);} .org-orange .org-link{color:var(--orange-ic);}
.org-sky .ic{background:var(--sky-bg); color:var(--sky-ic);} .org-sky h4{color:var(--sky-ic);} .org-sky .org-link{color:var(--sky-ic);}
.org-link{font-family:'Poppins',sans-serif; font-weight:600; font-size:12.5px; display:inline-flex; align-items:center; gap:7px;}

/* ===== CORPORATE TRAINING ===== */
.corp{padding:0 0 96px;}
.corp-panel{background:var(--navy); border-radius:28px; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; position:relative;}
.corp-copy{padding:50px; color:#fff; position:relative; z-index:1;}
.corp-copy .eyebrow{color:var(--amber);}
.corp-copy .eyebrow::before{background:var(--amber);}
.corp-copy h3{color:#fff; font-size:clamp(22px,2.6vw,28px); margin:12px 0 14px; max-width:360px;}
.corp-copy p{color:rgba(255,255,255,.72); font-size:14.5px; line-height:1.65; max-width:380px; margin-bottom:26px;}
.corp-media{position:relative;}
.corp-media img{width:100%; height:100%; object-fit:cover;}
.corp-media::before{content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--navy) 0%, transparent 24%);}
.corp-steps{display:flex; gap:0; margin-top:36px; padding-top:26px; border-top:1px solid rgba(255,255,255,.15); flex-wrap:wrap; row-gap:18px;}
.corp-step{flex:1; min-width:70px; text-align:center; color:rgba(255,255,255,.85); font-size:11px; font-weight:600; font-family:'Poppins',sans-serif;}
.corp-step .ic{width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:14px; color:var(--amber);}

/* Process timeline inside a corp-copy panel (icon + title + description per step) */
.step-line{display:flex; flex-direction:column; gap:18px; margin-top:30px; padding-top:26px; border-top:1px solid rgba(255,255,255,.15);}
.step-line-item{display:flex; gap:14px; align-items:flex-start;}
.step-line-item .sl-ic{width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.1); color:var(--amber); display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0;}
.step-line-item h5{color:#fff; font-family:'Poppins',sans-serif; font-weight:600; font-size:0.92rem; margin:0 0 3px;}
.step-line-item p{color:rgba(255,255,255,.65); font-size:0.82rem; line-height:1.55; margin:0; max-width:none;}

/* ===== THRIVE DIGITAL ===== */
.digital{padding:0 0 96px;}
.digital-panel{background:linear-gradient(120deg,#EFF4FC,#F7F1FF); border-radius:28px; padding:54px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; border:1px solid var(--line);}
.digital-copy p{color:var(--muted); font-size:15px; line-height:1.65; margin:12px 0 26px; max-width:400px;}
.digital-courses{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:28px; max-width:420px;}
.d-course{background:#fff; border-radius:14px; padding:16px 18px; border:1px solid var(--line);}
.d-course i{color:var(--sky-ic); font-size:25px; margin-bottom:10px; display:block;}
.d-course b{display:block; font-family:'Poppins',sans-serif; font-size:13px; color:var(--navy);}
.d-course span{font-size:11.5px; color:var(--muted);}
.digital-media{position:relative;}
.digital-media img{border-radius:18px; box-shadow:var(--shadow);}

/* ---- Learner carousel (replaces the single digital-media photo) ---- */
.learner-carousel-label{display:flex; align-items:center; justify-content:space-between; font-family:'Poppins',sans-serif; font-weight:700; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:12px;}
.learner-carousel-label span{font-weight:600; letter-spacing:0; text-transform:none; font-size:12px;}
.learner-carousel{display:flex; gap:14px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--amber) transparent;}
.learner-carousel::-webkit-scrollbar{height:8px;}
.learner-carousel::-webkit-scrollbar-thumb{background:#d8b787; border-radius:8px;}
.learner-carousel::-webkit-scrollbar-track{background:transparent;}
.learner-card{flex:0 0 82%; scroll-snap-align:start; background:#fff; border-radius:16px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow);}
.learner-card img{width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:0; box-shadow:none;}
.learner-card-body{padding:16px 16px 18px;}
.learner-tag{display:inline-block; font-family:'Poppins',sans-serif; font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); background:var(--sky-bg); padding:4px 10px; border-radius:20px; margin-bottom:8px;}
.learner-card-body h4{font-size:15.5px; margin-bottom:4px;}
.learner-card-body p{font-size:13px; color:var(--muted); line-height:1.5;}
.learner-dots{display:flex; gap:6px; justify-content:center; margin-top:14px;}
.learner-dots .dot{width:6px; height:6px; border-radius:50%; background:var(--line);}
.learner-dots .dot.active{background:var(--amber); width:18px; border-radius:4px; transition:width .2s;}
@media (min-width:520px){.learner-card{flex-basis:60%;}}
@media (min-width:820px){.learner-card{flex-basis:47%;}}

/* ===== TRUST LOGOS ===== */
.trust{padding:56px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff;}
.trust p.lbl{text-align:center; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:700; margin-bottom:30px;}
.trust-marquee{position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); display:flex;}
.trust-row{display:flex; align-items:center; gap:52px; flex-wrap:nowrap; opacity:.75; padding:0 26px; animation:trust-scroll 28s linear infinite;}
.trust-marquee:hover .trust-row{animation-play-state:paused;}
.trust-row span{font-family:'Poppins',sans-serif; font-weight:700; font-size:16px; color:var(--navy-soft); display:flex; align-items:center; gap:8px; white-space:nowrap;}
.trust-row span i{color:#ffbf3c;}
@keyframes trust-scroll{from{transform:translateX(0);} to{transform:translateX(-100%);}}
@media (prefers-reduced-motion:reduce){
  .trust-row{animation:none; flex-wrap:wrap; justify-content:center;}
  .trust-marquee{-webkit-mask-image:none; mask-image:none;}
  .trust-row[aria-hidden="true"]{display:none;}
}

/* ===== ASSESSMENT BANNER ===== */
.assess-banner{padding:64px 0;}
.assess-inner{background:var(--navy-deep); border-radius:24px; padding:40px 48px; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; position:relative; overflow:hidden;}
.assess-inner::before{content:""; position:absolute; width:260px; height:260px; background:radial-gradient(circle, rgba(242,169,59,.22), transparent 70%); right:-60px; top:-90px;}
.assess-left{display:flex; align-items:center; gap:22px; max-width:560px; position:relative; z-index:1;}
.assess-icon{width:58px; height:58px; border-radius:16px; background:rgba(255,255,255,.1); color:var(--amber); display:flex; align-items:center; justify-content:center; font-size:24px; flex-shrink:0;}
.assess-left h3{color:#fff; font-size:21px; margin-bottom:8px;}
.assess-left p{color:rgba(255,255,255,.68); font-size:14px; line-height:1.6;}
.assess-meta{display:flex; gap:18px; margin-top:14px;}
.assess-meta span{font-size:12px; color:rgba(255,255,255,.6); display:flex; align-items:center; gap:6px;}
.assess-meta i{color:var(--amber);}
.assess-right{position:relative; z-index:1;}

/* ===== FAQ ===== */
.faq{padding:20px 0 96px;}
.faq-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:36px;}
.faq-top h2{font-size:clamp(24px,3vw,30px);}
.faq-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px 22px; align-items:start;}
.faq-item{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.faq-item summary{list-style:none; cursor:pointer; padding:17px 20px; display:flex; align-items:center; justify-content:space-between; font-weight:600; font-size:14px; color:var(--navy);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary i{color:var(--amber-deep); transition:transform .2s ease; flex-shrink:0; margin-left:14px;}
.faq-item[open] summary i{transform:rotate(45deg);}
.faq-item .faq-a{padding:0 20px 18px; font-size:13.5px; color:var(--muted); line-height:1.6;}

/* ===== FINAL CTA ===== */
.final-cta{padding:0 0 0; margin-top:20px;}
.final-inner{background:linear-gradient(120deg,#FFF6E6,#FFEFEA); border-radius:0; padding:56px 32px; display:flex; align-items:center; gap:40px; justify-content:center; flex-wrap:wrap; text-align:left;}
.final-media{width:150px; height:150px; border-radius:20px; overflow:hidden; flex-shrink:0; box-shadow:var(--shadow);}
.final-media img{width:100%; height:100%; object-fit:cover;}
.final-copy h3{font-size:clamp(22px,2.8vw,28px); max-width:460px;}
.final-copy p{color:var(--muted); font-size:14.5px; margin:10px 0 22px; max-width:460px;}
.final-ctas{display:flex; gap:14px; flex-wrap:wrap;}

/* ===== DEMO BAND (sitewide, just above the footer) ===== */
.demo-band{background:var(--navy); padding:36px 0;}
.demo-band .wrap{display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap; text-align:center;}
.demo-band p{color:#fff; font-family:'Poppins',sans-serif; font-weight:600; font-size:1.15rem;}

/* ===== FOOTER ===== */
footer{background:var(--navy-deep); color:rgba(255,255,255,.65); padding:64px 0 26px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr; gap:28px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.1);}
.foot-brand .logo{color:#fff;}
.foot-brand .foot-logo .custom-logo-link img,
.foot-brand .foot-logo img{max-width:140px; height:auto;}
.foot-brand p{font-size:13px; line-height:1.65; margin:16px 0 20px; max-width:230px;}
.foot-social{display:flex; gap:10px;}
.foot-social a{width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; font-size:13px; color:#fff;}
footer h5{font-family:'Poppins',sans-serif; color:#fff; font-size:13px; letter-spacing:.05em; margin-bottom:18px;}
footer ul li{margin-bottom:11px; font-size:13.5px;}
footer ul li a{transition:color .18s ease;}
footer ul li a:hover{color:var(--amber);}
footer ul li.current-menu-item a{color:var(--amber);}
.foot-contact li{display:flex; align-items:flex-start; gap:10px;}
.foot-contact li i{flex-shrink:0; width:14px; margin-top:3px; text-align:center;}
.foot-contact li span{flex:1; word-break:break-word;}
.foot-bottom{padding-top:22px; font-size:12.5px;}
.foot-bottom-top{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}
.foot-bottom .legal{display:flex; gap:20px; flex-wrap:wrap;}
.foot-tagline{margin:12px 0 0; color:rgba(255,255,255,.45); font-size:12px; line-height:1.6;}

/* ===== GENERIC PAGE CONTENT (page.php / single.php / archive.php / 404.php) ===== */
.page-hero{padding:64px 0 40px; border-bottom:1px solid var(--line);}
.page-hero h1{font-size:clamp(28px,4vw,42px);}
.content-wrap{padding:56px 0 96px;}
.content-wrap article{max-width:760px; margin:0 auto;}
.content-wrap .entry-content p{margin-bottom:18px; line-height:1.7; color:var(--ink);}
.content-wrap .entry-content h2, .content-wrap .entry-content h3{margin:28px 0 12px;}
.content-wrap .entry-content img{border-radius:14px; margin:20px 0;}
.content-wrap .entry-content ul, .content-wrap .entry-content ol{margin:0 0 18px 22px; color:var(--ink); line-height:1.7;}

/* ===== RESPONSIVE ===== */
@media (max-width:1200px){
  .nav-row-menu{display:none;}
  .burger{display:block;}

  .mobile-nav-overlay{
    display:flex; align-items:center; justify-content:center;
    padding:100px 32px 40px; overflow-y:auto;
    transform:translateX(-100%);
    transition:transform .35s ease;
  }
  body.nav-open .mobile-nav-overlay{ transform:translateX(0); }
  body.nav-open-lock{overflow:hidden;}

  .mobile-nav-overlay nav.primary ul{flex-direction:column; align-items:center; gap:0; width:100%; max-width:420px;}
  .mobile-nav-overlay nav.primary li{width:100%; text-align:center; padding-bottom:0; border-bottom:1px solid var(--line);}
  .mobile-nav-overlay nav.primary li:last-child{border-bottom:none;}
  .mobile-nav-overlay nav.primary li::after{display:none;}
  .mobile-nav-overlay nav.primary a{padding:18px 0; font-size:17px; justify-content:center;}
  .pillars{grid-template-columns:repeat(3,1fr);}
  .org-grid, .persona-grid, .org-grid-5{grid-template-columns:repeat(2,1fr);}
  .story-grid{grid-template-columns:1fr; }
  .foot-grid{grid-template-columns:1fr 1fr; row-gap:34px;}
}
/* Tablet (covers iPad portrait 768-834px, where the 2-up layouts below
   would otherwise squeeze into ~330px columns): stack the wide split
   sections to full width before that happens. */
@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-media, .hero-persona-grid{order:-1;}
  .journey-grid{grid-template-columns:1fr;}
  .corp-panel{grid-template-columns:1fr;}
  .corp-media{display:none;}
  .digital-panel{grid-template-columns:1fr; padding:40px;}
  .faq-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .hero-stats{grid-template-columns:repeat(2,1fr);}
  .persona-grid, .org-grid, .org-grid-5{grid-template-columns:1fr;}
  .pillars{grid-template-columns:repeat(2,1fr);}
  .digital-panel{padding:32px;}
  .faq-grid{grid-template-columns:1fr;}
  .assess-inner, .final-inner{flex-direction:column; text-align:center;}
  .assess-left{flex-direction:column; text-align:center;}
  .foot-grid{grid-template-columns:1fr;}
}

/* ===== DROPDOWN NAV (Learn English) ===== */
@media (min-width:1201px){
  .nav-row-menu nav.primary li.menu-item-has-children{position:relative;}
  .nav-row-menu nav.primary li.menu-item-has-children > a::after{
    content:"\f078"; font-family:"Font Awesome 6 Free"; font-weight:900; font-size:10px; margin-left:6px; color:var(--muted);
  }
  .nav-row-menu nav.primary .sub-menu{
    display:none; position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%);
    background:#fff; border:1px solid var(--line); border-radius:12px; padding:8px; min-width:230px;
    box-shadow:var(--shadow); z-index:5; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0;
  }
  /* Invisible hover bridge over the 14px visual gap above — without this,
     moving the mouse straight down from the trigger into that empty gap
     exits :hover on the li (nothing occupies that space) and the menu
     closes before the cursor reaches it. */
  .nav-row-menu nav.primary .sub-menu::before{
    content:""; position:absolute; left:0; right:0; top:-14px; height:14px;
  }
  .nav-row-menu nav.primary li.menu-item-has-children:hover .sub-menu,
  .nav-row-menu nav.primary li.menu-item-has-children:focus-within .sub-menu{display:flex;}
  .nav-row-menu nav.primary .sub-menu li{padding-bottom:0; margin:0; width:100%;}
  .nav-row-menu nav.primary .sub-menu li::after{display:none;}
  .nav-row-menu nav.primary .sub-menu a{display:block; padding:10px 12px; border-radius:8px; font-size:13.5px; font-weight:500;}
  .nav-row-menu nav.primary .sub-menu a:hover{background:var(--paper);}
  .nav-row-menu nav.primary .sub-menu li.current-menu-item > a,
  .nav-row-menu nav.primary .sub-menu li.current_page_item > a{background:var(--amber-bg); color:var(--amber-deep); font-weight:700;}
  /* "Learn English" itself picks up a subtle indicator while viewing any of its child pages. */
  .nav-row-menu nav.primary li.current-menu-ancestor > a,
  .nav-row-menu nav.primary li.current_page_parent > a,
  .nav-row-menu nav.primary li.current_page_ancestor > a{color:var(--amber-deep);}
  .nav-row-menu nav.primary li.current-menu-ancestor::after,
  .nav-row-menu nav.primary li.current_page_parent::after,
  .nav-row-menu nav.primary li.current_page_ancestor::after{transform:scaleX(1);}
}

/* Mobile overlay: sub-items shown inline, indented, under their parent trigger. */
@media (max-width:1200px){
  .mobile-nav-overlay nav.primary li.menu-item-has-children > a::after{
    content:"\f078"; font-family:"Font Awesome 6 Free"; font-weight:900; font-size:11px; margin-left:8px; color:var(--muted);
  }
  .mobile-nav-overlay nav.primary .sub-menu{width:100%; padding:0 0 10px;}
  .mobile-nav-overlay nav.primary .sub-menu li{border-bottom:none;}
  .mobile-nav-overlay nav.primary .sub-menu a{padding:10px 0; font-size:14.5px; color:var(--muted); font-weight:600;}
  .mobile-nav-overlay nav.primary .sub-menu li.current-menu-item > a,
  .mobile-nav-overlay nav.primary .sub-menu li.current_page_item > a{color:var(--amber-deep); font-weight:700;}

  .mobile-nav-ctas{display:flex; flex-direction:column; gap:10px; width:100%; max-width:420px; margin-top:18px;}
}

/* ===== WHATSAPP FLOAT ===== */
.wa-float{
  position:fixed; bottom:22px; right:22px; z-index:150;
  width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:28px;
  box-shadow:0 10px 24px rgba(0,0,0,.28); transition:transform .18s ease;
}
.wa-float:hover{transform:translateY(-3px) scale(1.05); color:#fff;}

/* On mobile the floating circle is replaced by a full-width sticky bar —
   easier to tap and more visible than a small corner button on a small screen. */
.wa-sticky-bar{display:none;}
@media (max-width:640px){
  .wa-float{display:none;}
  .wa-sticky-bar{
    display:flex; align-items:center; justify-content:center; gap:10px;
    position:fixed; left:0; right:0; bottom:0; z-index:150;
    background:#25D366; color:#fff; text-decoration:none;
    font-family:'Poppins',sans-serif; font-weight:700; font-size:14.5px;
    padding:14px 20px; padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));
    box-shadow:0 -6px 16px rgba(0,0,0,.15);
  }
  .wa-sticky-bar i{font-size:18px;}
  body{padding-bottom:56px;}
}

/* ===== DEMO MODAL ===== */
.modal-overlay{position:fixed; inset:0; background:rgba(11,24,48,0.55); z-index:200; display:none; align-items:center; justify-content:center; padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:#fff; border-radius:20px; padding:34px; max-width:420px; width:100%; position:relative;}
.modal-box h3{font-size:1.3rem; margin-bottom:6px;}
.modal-box p.sub{color:var(--muted); font-size:0.9rem; margin-bottom:22px;}
.modal-box .field{margin-bottom:16px;}
.modal-box .field label{display:block; font-size:0.85rem; font-weight:600; margin-bottom:6px; color:var(--navy);}
.modal-box .field input, .modal-box .field select{width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:10px; font-size:0.95rem; font-family:'Inter',sans-serif; background:var(--paper);}
.modal-box .field input:focus, .modal-box .field select:focus{outline:2px solid var(--amber); outline-offset:1px; border-color:var(--amber);}
.modal-close{position:absolute; top:18px; right:20px; background:none; border:none; font-size:1.4rem; cursor:pointer; color:var(--muted); line-height:1;}

/* ===== SUB-PAGE SHARED COMPONENTS ===== */
.breadcrumbs{
  display:flex; align-items:center; flex-wrap:wrap;
  font-family:'Poppins',sans-serif; font-size:0.8rem; font-weight:600;
  color:var(--muted); margin-bottom:32px;
}
.breadcrumbs a{display:inline-flex; align-items:center; color:var(--muted); text-decoration:none; transition:color .18s ease;}
.breadcrumbs a i{margin-right:8px; font-size:0.85em;}
.breadcrumbs a:hover{color:var(--amber-deep);}
.breadcrumbs .sep{margin:0 14px; color:var(--amber); font-size:0.6rem;}
.breadcrumbs .current{color:var(--navy); font-weight:700;}
.tag-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.tag{display:inline-flex; align-items:center; background:var(--sky-bg); color:var(--sky-ic); font-family:'Poppins',sans-serif; font-weight:600; font-size:0.82rem; padding:8px 16px; border-radius:999px;}
.persona-hero-sec{padding:32px 0 20px;}
.persona-tag{font-size:0.85rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px;}
.persona-hero-sec h1{font-size:clamp(1.9rem,4vw,2.7rem);}
.persona-hero-sec p.lede{margin-top:16px; color:var(--muted); font-size:1.05rem; max-width:900px; line-height:1.65;}

/* Optional text+image split inside a persona-hero-sec (used on pages that have a fitting photo) */
.persona-hero-inner{display:grid; grid-template-columns:1.15fr .85fr; gap:44px; align-items:center;}
@media (max-width:920px){ .persona-hero-inner{grid-template-columns:1fr;} }
.persona-hero-inner .persona-hero-copy p.lede{max-width:none;}
.persona-hero-media{position:relative;}
.persona-hero-media img{display:block; width:100%; height:340px; object-fit:cover; border-radius:24px; box-shadow:var(--shadow);}
@media (max-width:920px){ .persona-hero-media{order:-1;} .persona-hero-media img{height:240px;} }
.persona-hero-media.grid-4{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.persona-hero-media.grid-4 img{height:auto; aspect-ratio:1/1; border-radius:16px; box-shadow:none;}

/* Horizontally scrollable photo strip variant of persona-hero-media */
.persona-hero-media.scroll-gallery{
  display:flex; gap:14px; overflow-x:auto; overflow-y:hidden; padding-bottom:6px;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent;
}
.persona-hero-media.scroll-gallery::-webkit-scrollbar{height:6px;}
.persona-hero-media.scroll-gallery::-webkit-scrollbar-thumb{background:var(--line); border-radius:6px;}
.persona-hero-media.scroll-gallery::-webkit-scrollbar-track{background:transparent;}
.persona-hero-media.scroll-gallery img{
  flex:0 0 auto; width:280px; height:340px; object-fit:cover; border-radius:20px;
  box-shadow:var(--shadow); scroll-snap-align:start;
}
@media (max-width:920px){
  .persona-hero-media.scroll-gallery img{width:72vw; max-width:320px; height:240px;}
}
.cta-row{margin-top:26px; display:flex; gap:14px; flex-wrap:wrap;}

.use-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.use-grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:920px){ .use-grid{grid-template-columns:repeat(2,1fr);} }
.use-item{background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px 18px; display:flex; flex-wrap:wrap; align-items:center; gap:0 11px;}
.use-item .ic{width:50px; height:50px; border-radius:50%; background:var(--sky-bg); color:var(--sky-ic); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;border:1px solid var(--sky-ic)}
.use-item h5{font-size:0.95rem; font-family:'Poppins',sans-serif; font-weight:600; color:var(--navy); flex:1;}
.use-item p{width:100%; font-size:0.83rem; color:var(--muted); line-height:1.5; margin-top:10px;}

/* "Lure" variant: centered icon-badge cards, alternating amber/navy, used where the
   grid should read as an enticing feature showcase rather than a plain fact list. */
.use-grid.lure{grid-template-columns:repeat(5,1fr);}
@media (max-width:980px){ .use-grid.lure{grid-template-columns:repeat(3,1fr);} }
@media (max-width:700px){ .use-grid.lure{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .use-grid.lure{grid-template-columns:1fr;} }
.use-item.lure{
  flex-direction:column; align-items:center; text-align:center; gap:0;
  padding:30px 20px; transition:transform .2s ease, box-shadow .2s ease;
}
.use-item.lure:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.use-item.lure .ic{
  width:60px; height:60px; font-size:21px; color:#fff; border:none; margin-bottom:16px;
  background:var(--amber);
}
.use-item.lure:nth-child(even) .ic{background:var(--navy);}
.use-item.lure h5{flex:none; font-size:0.98rem; font-weight:700; margin-bottom:8px;}
.use-item.lure p{margin-top:0;}

/* "Lure multicolor" variant: same card shape, each icon badge cycles through the
   brand's five accent colors instead of alternating amber/navy — used for skill
   showcases (e.g. Reading / Vocabulary / Grammar / Speaking / Communication). */
.use-item.lure.multicolor{border:1px solid var(--line); border-radius:16px;}
.use-item.lure.multicolor .ic{width:64px; height:64px; font-size:23px;}
.use-item.lure.multicolor:nth-child(5n+1) .ic{background:var(--sky-ic);}
.use-item.lure.multicolor:nth-child(5n+2) .ic{background:var(--amber);}
.use-item.lure.multicolor:nth-child(5n+3) .ic{background:var(--mint-ic);}
.use-item.lure.multicolor:nth-child(5n+4) .ic{background:var(--orchid-ic);}
.use-item.lure.multicolor:nth-child(5n+5) .ic{background:var(--orange-ic);}
.use-grid-4.lure{grid-template-columns:repeat(4,1fr);}
/* "Situations" layout: six horizontal cards in a clean 3 x 2 grid (no orphan row) */
.use-grid.lure.situations{grid-template-columns:repeat(3,1fr); gap:16px;}
.use-item.lure.row{flex-direction:row; flex-wrap:nowrap; align-items:center; text-align:left; gap:17px; padding:22px 20px; min-height:118px;}
.use-item.lure.row .ic{width:52px; height:52px; font-size:19px; margin-bottom:0; flex-shrink:0;}
.use-item.lure.row .row-text h5{margin:0 0 5px; font-size:1rem; line-height:1.3;}
.use-item.lure.row .row-text p{margin:0; width:auto; line-height:1.5;}
@media (max-width:980px){ .use-grid.lure.situations{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .use-grid.lure.situations{grid-template-columns:1fr; gap:11px;} .use-item.lure.row{min-height:0; padding:17px;} }

@media (max-width:980px){ .use-grid-4.lure{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .use-grid-4.lure{grid-template-columns:1fr;} }

.step-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:8px;}
.step-grid-5{grid-template-columns:repeat(5,1fr); max-width:1100px; margin:30px auto 0;}
@media (max-width:920px){ .step-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .step-grid{grid-template-columns:1fr;} }
.step{text-align:left; position:relative;}
.step .num{width:36px; height:36px; border-radius:50%; background:var(--amber); color:var(--navy-deep); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:'Poppins',sans-serif; margin-bottom:12px; position:relative; z-index:1;}
/* Connects each step's circle to the next one across the grid gap — only
   makes sense in a single row, so it's hidden once the grid wraps to 2+ rows. */
.step:not(:last-child)::after{
  content:""; position:absolute; top:18px; left:36px; right:-16px; height:2px;
  background:var(--line); z-index:0;
}
@media (max-width:920px){ .step:not(:last-child)::after{display:none;} }
.step h5{font-family:'Poppins',sans-serif; font-weight:600; font-size:0.98rem; margin-bottom:4px; color:var(--navy);}
.step p{font-size:0.86rem; color:var(--muted); line-height:1.5;}

.why-detail-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media (max-width:760px){ .why-detail-grid{grid-template-columns:1fr;} }
.why-detail-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px;}
.why-detail-card .n{font-family:'Poppins',sans-serif; color:var(--amber-deep); font-size:0.85rem; font-weight:700; margin-bottom:10px;}
.why-detail-card h4{font-size:1.15rem; margin-bottom:10px;}
.why-detail-card p{color:var(--muted); font-size:0.92rem; line-height:1.6;}
.why-detail-card .benefit{margin-top:12px; font-size:0.85rem; color:var(--amber-deep); font-weight:700; border-top:1px solid var(--line); padding-top:12px;}

/* ===== LEVEL CARDS (CEFR "what does your level mean" row) ===== */
.level-header{display:flex; align-items:flex-end; justify-content:space-between; gap:30px; flex-wrap:wrap; margin-bottom:36px;}
.level-header h2{font-size:1.8rem; margin-top:8px;}
.level-header-sub{color:var(--muted); font-size:0.95rem; max-width:320px; text-align:right; line-height:1.55;}
@media (max-width:760px){ .level-header-sub{text-align:left;} }

.level-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
@media (max-width:1000px){ .level-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:640px){ .level-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:420px){ .level-grid{grid-template-columns:1fr;} }

.level-card{background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:28px 22px; min-height:220px; display:flex; flex-direction:column; cursor:pointer; transition:box-shadow .18s ease, transform .18s ease, background .18s ease, border-color .18s ease; position:relative;}
.level-card:hover, .level-card:focus-visible{box-shadow:var(--shadow); transform:translateY(-3px);}
.level-card:focus-visible{outline:3px solid var(--navy-soft); outline-offset:2px;}
.level-card .lvl{
  font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem; color:var(--navy-soft); line-height:1;
  width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--sky-bg); border:2px solid var(--sky-ic); margin-bottom:18px;
}
.level-card:nth-child(2) .lvl{background:var(--mint-bg); border-color:var(--mint-ic); color:var(--mint-ic);}
.level-card:nth-child(3) .lvl{background:var(--amber-bg); border-color:var(--amber-ic); color:var(--amber-deep);}
.level-card:nth-child(5) .lvl{background:var(--orchid-bg); border-color:var(--orchid-ic); color:var(--orchid-ic);}
.level-card h4{font-size:1.02rem; margin-bottom:8px; margin-top:auto;}
.level-card p{font-size:0.85rem; color:var(--muted); line-height:1.55;}
.level-card.current{background:var(--navy); border-color:var(--navy);}
.level-card.current .lvl{background:rgba(255,255,255,.12); border-color:var(--amber); color:var(--amber);}
.level-card.current h4{color:#fff;}
.level-card.current p{color:rgba(255,255,255,.72);}
@media (min-width:1001px){
  .level-card:not(:last-child)::after{
    content:"\f054"; font-family:"Font Awesome 6 Free"; font-weight:900; font-size:12px;
    position:absolute; top:28px; right:-20px; transform:translateY(0);
    width:20px; height:20px; display:flex; align-items:center; justify-content:center;
    color:var(--muted); z-index:2;
  }
}

.level-progress{display:flex; align-items:center; gap:16px; margin-top:32px;}
.level-progress span{font-size:0.8rem; font-weight:600; color:var(--muted); white-space:nowrap;}
.level-progress-bar{position:relative; flex:1; height:6px; border-radius:6px; background:linear-gradient(90deg,var(--sky-ic),var(--amber));}
.level-progress-dot{position:absolute; top:50%; left:0%; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid var(--navy); transform:translate(-50%,-50%); transition:left .3s ease; box-shadow:0 2px 6px rgba(0,0,0,.25);}

/* ---- CEFR level ladder (How does this help you) ---- */
.cefr-ladder{display:flex; align-items:flex-end; gap:10px; max-width:920px; margin:40px auto 0;}
.cefr-step{flex:1; background:var(--paper); border:1px solid var(--line); border-radius:14px 14px 6px 6px; padding:18px 8px 16px; text-align:center;}
.cefr-step .cl-tag{display:block; font-family:'Poppins',sans-serif; font-weight:800; font-size:1.15rem; color:var(--navy-soft); margin-bottom:6px;}
.cefr-step p{font-size:0.76rem; color:var(--muted); margin:0; line-height:1.4;}
.cefr-step .cl-exam{display:block; margin-top:4px; font-size:0.7rem; font-weight:700; color:var(--sky-ic);}
.cefr-step:nth-child(6) .cl-exam{color:var(--amber);}

/* Certificate showcase: copy + CEFR ladder on the left, scrollable real-cert photos on the right */
.cert-showcase{display:grid; grid-template-columns:1fr 280px; gap:48px; align-items:start;}
.cert-gallery{
  display:flex; flex-direction:column; gap:16px; max-height:640px; overflow-y:auto; padding-right:4px;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent;
}
.cert-gallery::-webkit-scrollbar{width:6px;}
.cert-gallery::-webkit-scrollbar-thumb{background:var(--line); border-radius:6px;}
.cert-gallery::-webkit-scrollbar-track{background:transparent;}
.cert-photo{position:relative; border-radius:16px; overflow:hidden; box-shadow:var(--shadow); flex-shrink:0;}
.cert-photo img{display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover;}
.cert-photo .cert-cap{
  position:absolute; left:0; right:0; bottom:0; padding:10px 12px;
  background:linear-gradient(0deg, rgba(0,0,0,.68), transparent);
  color:#fff; font-size:0.78rem; font-weight:700; font-family:'Poppins',sans-serif;
}
@media (max-width:980px){
  .cert-showcase{grid-template-columns:1fr;}
  .cert-gallery{
    order:-1; flex-direction:row; max-height:none; overflow-x:auto; overflow-y:hidden;
    scroll-snap-type:x mandatory; padding-bottom:6px;
  }
  .cert-photo{flex:0 0 200px; scroll-snap-align:start;}
}
.cefr-step:nth-child(1){margin-top:60px;}
.cefr-step:nth-child(2){margin-top:48px;}
.cefr-step:nth-child(3){margin-top:36px;}
.cefr-step:nth-child(4){margin-top:24px;}
.cefr-step:nth-child(5){margin-top:12px;}
.cefr-step:nth-child(6){margin-top:0; background:var(--navy); border-color:var(--navy);}
.cefr-step:nth-child(6) .cl-tag{color:var(--amber);}
.cefr-step:nth-child(6) p{color:rgba(255,255,255,.75);}
@media (max-width:760px){
  .cefr-ladder{flex-wrap:wrap;}
  .cefr-step{flex:1 1 28%; margin-top:0 !important;}
}

.problem-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media (max-width:920px){ .problem-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .problem-grid{grid-template-columns:1fr;} }
.problem{background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px; display:flex; flex-wrap:wrap; align-items:center; gap:0 14px;}
.problem .ic{width:50px; height:50px; border-radius:50%; background:var(--amber-bg); color:var(--amber-ic); display:flex; align-items:center; justify-content:center; flex-shrink:0;border:1px solid var(--amber-ic)}
.problem h4{font-family:'Poppins',sans-serif; font-weight:600; font-size:1rem; color:var(--navy); flex:1;}
.problem p{width:100%; font-size:0.88rem; color:var(--muted); line-height:1.55; margin-top:12px;}

.programme-list{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:10px;}
@media (max-width:980px){ .programme-list{grid-template-columns:repeat(2,1fr);} }
@media (max-width:700px){ .programme-list{grid-template-columns:1fr;} }
.programme{border:1px solid var(--line); border-radius:14px; padding:16px 18px; background:#fff;}
.programme .ic{width:40px; height:40px; border-radius:11px; background:var(--sky-bg); color:var(--sky-ic); display:flex; align-items:center; justify-content:center; font-size:16px; margin-bottom:12px;}
.programme:nth-child(2) .ic{background:var(--amber-bg); color:var(--amber-ic);}
.programme:nth-child(3) .ic{background:var(--mint-bg); color:var(--mint-ic);}
.programme:nth-child(4) .ic{background:var(--orchid-bg); color:var(--orchid-ic);}
.programme:nth-child(5) .ic{background:var(--sky-bg); color:var(--sky-ic);}
.programme:nth-child(6) .ic{background:var(--amber-bg); color:var(--amber-ic);}
.programme h5{font-family:'Poppins',sans-serif; font-size:0.94rem; margin-bottom:5px; color:var(--navy); font-weight:600;}
.programme p{font-size:0.83rem; color:var(--muted); line-height:1.5;}
/* Clickable variant (corporate-training programme cards, which open the read-more modal) */
.programme[role="button"]{cursor:pointer; transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.programme[role="button"]:hover, .programme[role="button"]:focus-visible{box-shadow:var(--shadow); transform:translateY(-3px); border-color:transparent;}
.programme[role="button"]:focus-visible{outline:3px solid var(--navy-soft); outline-offset:2px;}
.programme .tap-hint{display:block; font-size:11px; color:var(--navy-soft); margin-top:8px; font-weight:600;}

.contact-cards{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:26px;}
@media (max-width:700px){ .contact-cards{grid-template-columns:1fr;} }
.contact-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px;}
.contact-card h5{font-family:'Poppins',sans-serif; font-weight:600; font-size:0.95rem; color:var(--navy); margin-bottom:14px;}
.contact-card .loc{margin-bottom:16px; font-size:0.9rem; color:var(--muted); line-height:1.55;}
.contact-card .loc b{color:var(--ink); display:block; margin-bottom:3px; font-weight:600;}

/* ===== BATCHES ===== */
.batch-header{margin-top:25px;display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:18px;}
.pill-badge{display:inline-flex; align-items:center; gap:8px; background:var(--amber-bg); color:var(--amber-deep); font-family:'Poppins',sans-serif; font-weight:700; font-size:11px; letter-spacing:.04em; text-transform:uppercase; padding:6px 14px; border-radius:999px; margin-bottom:10px;}
.pill-badge i{font-size:6px;}
.batch-heading{font-size:1.6rem; margin:0;}
.batch-heading span{color:var(--amber-deep);}
.batch-header-right{text-align:right;}
.batch-header-right .bh-title{font-family:'Poppins',sans-serif; font-weight:700; font-size:0.95rem; color:var(--navy);}
.batch-header-right .bh-sub{font-size:0.82rem; color:var(--muted); margin-top:2px;}
@media (max-width:600px){ .batch-header{flex-direction:column; align-items:flex-start;} .batch-header-right{text-align:left;} }

.batch-list{display:flex; flex-direction:column; gap:10px; margin-top:20px;}
.batch-row{display:flex; align-items:center; justify-content:space-between; padding:18px 24px; background:#fff; border:1px solid var(--line); border-radius:14px; flex-wrap:wrap; gap:14px;}
.batch-row.featured{background:linear-gradient(120deg,var(--navy),var(--navy-soft)); border-color:var(--navy); color:#fff; box-shadow:0 16px 30px -18px rgba(20,39,78,.55);}
.batch-row .bd{display:flex; align-items:center; gap:28px; flex-wrap:wrap;}
.batch-row .field-block .label{display:block; font-size:0.68rem; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin-bottom:3px;}
.batch-row.featured .field-block .label{color:rgba(255,255,255,.6);}
.batch-row .date{font-family:'Poppins',sans-serif; font-weight:800; font-size:1.05rem;}
.batch-row .tag-sm{font-size:0.85rem; font-weight:600; color:var(--navy); display:flex; align-items:center; gap:8px;}
.batch-row.featured .tag-sm{color:#fff;}
.batch-row .sched{font-size:0.9rem; font-weight:600;}
.batch-row .batch-actions{display:flex; gap:10px; flex-wrap:wrap;}

/* ===== Fluency callout strip (persona hero) ===== */
.fluency-callout{display:flex; align-items:center; gap:16px; margin-top:24px; padding:16px 20px; background:var(--navy); border-radius:14px; max-width:480px;}
.fluency-callout .fc-ic{width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; color:#7fd88a; font-size:16px; flex-shrink:0;}
.fluency-callout p{color:#fff; font-family:'Poppins',sans-serif; font-weight:600; font-size:0.9rem; margin:0; line-height:1.4;}
.fluency-callout p span{color:var(--amber);}

/* ===== Why-choose split (checklist + photo) ===== */
.why-choose{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
.why-choose-media{border-radius:20px; overflow:hidden;}
.why-choose-media img{width:100%; height:100%; object-fit:cover; display:block;}
.why-list{display:flex; flex-direction:column; gap:22px; margin-top:24px;}
.why-list-item{display:flex; align-items:flex-start; gap:16px;}
.why-list-item .wl-ic{width:44px; height:44px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;}
.why-list-item p{margin:0; font-size:0.98rem; color:var(--ink); line-height:1.5; padding-top:9px;}
.why-list-item p strong{color:var(--amber-deep);}
@media(max-width:900px){ .why-choose{grid-template-columns:1fr;} .why-choose-media{order:-1; max-height:320px;} }

/* ===== Checklist + CTA box (why it works) ===== */
.works-panel{display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; background:var(--paper); border:1px solid var(--line); border-radius:22px; padding:36px 40px;}
.works-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px;}
.works-list li{display:flex; align-items:center; gap:12px; font-size:0.98rem; color:var(--ink); font-weight:500;}
.works-list li i{color:#fff; background:var(--mint-ic); width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0;}
.works-cta{text-align:center; background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 30px;}
.works-cta p{margin:0 0 14px; font-size:0.88rem; color:var(--muted);}
@media(max-width:900px){ .works-panel{grid-template-columns:1fr;} }

.batch-custom{margin-top:14px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding:22px 24px; border:1.5px dashed var(--line); border-radius:14px;}
.batch-custom-left{display:flex; align-items:center; gap:16px;}
.batch-custom .ic{width:42px; height:42px; border-radius:11px; background:var(--sky-bg); color:var(--sky-ic); display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0;}
.batch-custom .bc-title{font-family:'Poppins',sans-serif; font-weight:700; font-size:0.95rem; color:var(--navy);}
.batch-custom .bc-sub{font-size:0.85rem; color:var(--muted); margin-top:2px;}
@media (max-width:600px){ .batch-custom{flex-direction:column; align-items:flex-start; text-align:left;} }

/* ===== Real testimonials (text-only cards) ===== */
.story-card.no-media .story-body{padding:24px 22px}
.story-tag.static{display:inline-block;position:static;background:var(--amber-bg);color:var(--amber-deep);margin-bottom:14px;}
.story-by{margin-top:16px;display:flex;flex-direction:column;gap:2px}
.story-by b{display:block;font-family:'Poppins',sans-serif;font-size:14.5px;color:var(--navy)}
.story-by span{display:block;font-size:13px;color:var(--muted)}

/* ===== Real photo strips (Life at Thrive / Achievements / Gallery) ===== */
.life-strip{padding:52px 0;background:#fff}
.life-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.life-grid img{width:100%;height:220px;object-fit:cover;border-radius:16px;box-shadow:var(--shadow)}
.achieve-strip{padding:52px 0}
.achieve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.achieve-grid figure{margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.achieve-grid img{width:100%;height:260px;object-fit:cover;display:block}
.achieve-grid figcaption{padding:12px 16px;font-size:13.5px;font-weight:600;color:var(--navy)}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:26px}
.gal-grid .gal-item{position:relative;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:var(--sky-bg);}
.gal-grid .gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.gal-grid .gal-item:hover img{transform:scale(1.06);}

/* ===== Institutional case study (stat band + video feature) ===== */
.case-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:32px 0 44px;}
.case-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 14px;text-align:center;}
.case-stat .n{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.9rem;color:var(--navy);}
.case-stat .l{font-size:0.78rem;color:var(--muted);margin-top:6px;line-height:1.35;}

.stat-bar{display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px 30px; box-shadow:var(--shadow); flex-wrap:wrap;}
.stat-bar-item{display:flex; align-items:center; gap:16px; flex:1; justify-content:center; min-width:190px; padding:8px 18px;}
.stat-bar-item .ic{width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:21px; flex-shrink:0; background:var(--sky-bg); color:var(--sky-ic);}
.stat-bar-item .n{font-family:'Poppins',sans-serif; font-weight:800; font-size:1.55rem; color:var(--navy); line-height:1.15;}
.stat-bar-item .l{font-size:0.82rem; color:var(--muted); margin-top:2px;}
.stat-bar-div{width:1px; align-self:stretch; background:var(--line); margin:2px 6px;}
@media(max-width:700px){
  .stat-bar{flex-direction:column; padding:10px 22px;}
  .stat-bar-div{display:none;}
  .stat-bar-item{width:100%; justify-content:flex-start; border-bottom:1px solid var(--line);}
  .stat-bar-item:last-child{border-bottom:none;}
}
@media(max-width:700px){.case-stats{grid-template-columns:repeat(2,1fr);}}

.video-feature{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;margin:0 0 8px;}
.video-feature-thumb{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:var(--navy-soft);}
.video-feature-thumb img{width:100%;height:100%;object-fit:cover;}
.video-feature-body h4{font-size:1.05rem;color:var(--navy);margin:10px 0 10px;line-height:1.4;}
.video-feature-body p{font-size:0.9rem;color:var(--muted);line-height:1.6;margin:0;}
@media(max-width:760px){.video-feature{grid-template-columns:1fr;}}

/* ===== Classroom photo marquee flanking a centered video ===== */
.class-marquee-wrap{display:grid;grid-template-columns:1fr minmax(300px,460px) 1fr;gap:24px;align-items:center;margin:26px 0 8px;}
.marquee-col{height:560px;overflow:hidden;position:relative;border-radius:16px;}
.marquee-col::before,.marquee-col::after{content:"";position:absolute;left:0;right:0;height:70px;z-index:2;pointer-events:none;}
.marquee-col::before{top:0;background:linear-gradient(#faf8f4,transparent);}
.marquee-col::after{bottom:0;background:linear-gradient(transparent,#faf8f4);}
.marquee-track{display:flex;flex-direction:column;gap:14px;animation:marqueeUp 34s linear infinite;will-change:transform;}
.marquee-col.reverse .marquee-track{animation-name:marqueeDown;}
.marquee-track img{width:100%;height:170px;object-fit:cover;border-radius:14px;display:block;box-shadow:var(--shadow);}
@keyframes marqueeUp{ from{transform:translateY(0);} to{transform:translateY(-50%);} }
@keyframes marqueeDown{ from{transform:translateY(-50%);} to{transform:translateY(0);} }
.class-marquee-center{text-align:center;}
.feature-video{width:100%;border-radius:18px;display:block;box-shadow:0 20px 44px -16px rgba(20,30,60,.35);background:#000;}
.class-marquee-center h4{font-size:1.02rem;color:var(--navy);margin:10px 0 8px;line-height:1.4;}
.class-marquee-center p{font-size:0.87rem;color:var(--muted);line-height:1.6;margin:0;}
@media(max-width:980px){
  .class-marquee-wrap{grid-template-columns:1fr;}
  .marquee-col{display:none;}
  .class-marquee-center{order:-1;}
}
@media(prefers-reduced-motion:reduce){ .marquee-track{animation:none;} }
.section-head-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap}
@media(max-width:900px){.life-grid{grid-template-columns:repeat(2,1fr)}.achieve-grid{grid-template-columns:1fr}}
@media(max-width:900px){.gal-grid{grid-template-columns:repeat(3,1fr);gap:14px;}}
@media(max-width:640px){.gal-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}

/* ---- Resource / blog articles ---- */
.article-hero{padding:44px 0 8px;}
.article-hero .eyebrow{display:inline-block;background:var(--amber-bg);color:var(--amber-deep);font-size:12.5px;font-weight:700;letter-spacing:.02em;padding:5px 14px;border-radius:999px;margin-bottom:16px;}
.article-hero h1{font-size:clamp(28px,3.4vw,40px);line-height:1.18;margin:0 0 14px;color:var(--navy);}
.article-hero .article-intro{font-size:17px;line-height:1.7;color:var(--muted);max-width:760px;}
.article-body{padding:8px 0 60px;}
.article-body-inner{max-width:760px;margin:0 auto;}
.article-body-inner h2{font-size:23px;color:var(--navy);margin:38px 0 14px;}
.article-body-inner h2:first-child{margin-top:0;}
.article-body-inner p{font-size:16px;line-height:1.75;color:#3c4657;margin-bottom:0;}
.article-body-inner ul{list-style:none;padding:0;margin:0 0 0;display:flex;flex-direction:column;gap:12px;}
.article-body-inner ul li{position:relative;padding-left:26px;font-size:16px;line-height:1.7;color:#3c4657;}
.article-body-inner ul li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--amber);}
.article-body-inner ul + h2{margin-top:38px;}
.article-related{background:#f8f6f2;padding:40px 0;margin-top:8px;}
.article-related-inner{max-width:760px;margin:0 auto;}
.article-related h3{font-size:16px;color:var(--navy);margin-bottom:14px;}
.article-related ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.article-related a{color:var(--amber-deep);font-weight:600;font-size:15px;text-decoration:none;}
.article-related a:hover{text-decoration:underline;}
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px;}
.resource-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;}
.resource-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,30,60,.12);}
.resource-card h4{font-size:15.5px;color:var(--navy);margin:0;line-height:1.4;}
@media(max-width:700px){.resource-grid{grid-template-columns:1fr;}}

/* ---- Article side image (two-column layout) ---- */
.article-body-grid{display:grid;grid-template-columns:340px 1fr;gap:48px;align-items:start;}
.article-figure{position:sticky;top:120px;margin-top:22px;}
.article-figure img{width:100%;border-radius:18px;box-shadow:var(--shadow);display:block;}
.article-figure img + img{margin-top:16px;}
.article-figure figcaption{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.5;}
.article-body-grid .article-body-inner{max-width:none;margin:0;}

/* Inline figure inside single-column articles */
.article-inline-figure{margin:30px auto;max-width:520px;text-align:center;}
.article-inline-figure img{width:100%;height:auto;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);display:block;background:#fff;}
.article-inline-figure figcaption{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.5;}

/* Chart-style sidebar cards (used instead of photos on data/explainer articles) */
.article-chart-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px 18px;}
.article-chart-card + .article-chart-card{margin-top:16px;}
.article-chart-card h6{font-family:'Poppins',sans-serif;font-size:0.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--navy-soft);margin:0 0 14px;}
.article-chart-note{font-size:12px;color:var(--muted);line-height:1.55;margin:14px 0 0;}
.cefr-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.cefr-bar-row:last-of-type{margin-bottom:0;}
.cefr-bar-row .cbr-tag{width:38px;flex-shrink:0;font-family:'Poppins',sans-serif;font-weight:700;font-size:11px;color:var(--navy);}
.cefr-bar-row .cbr-track{flex:1;height:8px;border-radius:6px;background:var(--sky-bg);overflow:hidden;}
.cefr-bar-row .cbr-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--sky-ic),var(--amber));}
.cefr-bar-row.muted .cbr-fill{background:var(--line);}
.cefr-bar-row.muted .cbr-tag{color:var(--muted);}

@media(max-width:980px){
  .article-body-grid{grid-template-columns:1fr;}
  .article-figure{position:static;max-width:420px;margin:0 auto 28px;}
  .article-figure{display:flex;gap:16px;max-width:none;}
  .article-figure img + img{margin-top:0;}
  .article-figure .article-chart-card{flex:1;}
  .article-chart-card + .article-chart-card{margin-top:0;}
}

/* ---- Pillar "Read more" popup ---- */
.read-more-btn{
  background:none;border:none;padding:0;margin-left:2px;
  color:var(--amber-deep);font-weight:700;font-size:13.5px;cursor:pointer;
  text-decoration:underline;font-family:inherit;display:inline;
}
.read-more-btn:hover{color:var(--navy);}
.pillar-modal-backdrop{
  position:fixed;inset:0;background:rgba(15,23,42,.28);
  display:none;align-items:stretch;justify-content:flex-end;
  padding:0;z-index:9999;
}
.pillar-modal-backdrop.open{display:flex;}
.pillar-modal{
  background:#fff;max-width:900px;width:100%;
  max-height:100vh;overflow-y:auto;overflow-x:hidden;
  position:relative;box-shadow:-30px 0 70px rgba(15,23,42,.25);
  transform:translateX(100%);opacity:0;transition:transform .32s ease, opacity .32s ease;
  display:flex;flex-direction:column;
}
.pillar-modal-backdrop.open .pillar-modal{transform:translateX(0);opacity:1;}
.pillar-modal-row{display:flex;flex:1 1 auto;min-height:0;}
.pillar-modal-text{flex:1 1 56%;min-width:0;padding:52px 38px 8px;}
.pillar-modal-head{display:flex;align-items:center;gap:16px;margin-bottom:22px;}
.pillar-modal-ic{
  width:54px;height:54px;border-radius:14px;flex-shrink:0;
  background:var(--sky-bg);color:var(--sky-ic);
  display:flex;align-items:center;justify-content:center;font-size:21px;
}
.pillar-modal-ic.accent-amber{background:var(--amber-bg);color:var(--amber-ic);}
.pillar-modal-ic.accent-mint{background:var(--mint-bg);color:var(--mint-ic);}
.pillar-modal-ic.accent-orchid{background:var(--orchid-bg);color:var(--orchid-ic);}
.pillar-modal-ic.accent-sky{background:var(--sky-bg);color:var(--sky-ic);}

/* Compact icon-over-label support grid (e.g. franchise "End-to-end support at every step") */
.support-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px;}
.support-item{background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 14px; text-align:center; transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.support-item:hover{box-shadow:var(--shadow); transform:translateY(-3px); border-color:transparent;}
.support-item .ic{width:48px; height:48px; border-radius:13px; background:var(--sky-bg); color:var(--sky-ic); display:flex; align-items:center; justify-content:center; font-size:19px; margin:0 auto 14px;}
.support-item:nth-child(2) .ic{background:var(--amber-bg); color:var(--amber-ic);}
.support-item:nth-child(3) .ic{background:var(--mint-bg); color:var(--mint-ic);}
.support-item:nth-child(4) .ic{background:var(--orchid-bg); color:var(--orchid-ic);}
.support-item:nth-child(5) .ic{background:var(--sky-bg); color:var(--sky-ic);}
.support-item:nth-child(6) .ic{background:var(--amber-bg); color:var(--amber-ic);}
.support-item h5{font-size:13.5px; color:var(--navy); font-weight:700; margin:0; line-height:1.35;}
@media(max-width:980px){ .support-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:560px){ .support-grid{grid-template-columns:repeat(2,1fr);} }
.pillar-modal h3{font-size:1.5rem;color:var(--navy);margin:0;}
.pillar-modal p{font-size:15px;line-height:1.75;color:#3c4657;margin-top:18px;}
.pillar-modal-media{flex:1 1 44%;min-width:0;position:relative;overflow:hidden;background:var(--sky-bg); clip-path:url(#modalWaveClip);}
@media(max-width:860px){ .pillar-modal-media{clip-path:none;} }
.pillar-modal-media img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;}
.pillar-modal-close{
  position:absolute;top:18px;right:18px;background:rgba(255,255,255,.92);border:none;
  width:34px;height:34px;border-radius:50%;font-size:20px;line-height:1;
  color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;
  z-index:2;box-shadow:0 4px 14px rgba(15,23,42,.18);
}
.pillar-modal-close:hover{background:var(--amber-bg);color:var(--amber-deep);}
@media(max-width:860px){
  .pillar-modal{max-width:640px;}
  .pillar-modal-row{flex-direction:column;}
  .pillar-modal-media{order:-1;min-height:200px;flex:none;}
  .pillar-modal-text{padding:34px 28px 8px;}
}
@media(max-width:700px){
  .pillar-modal-backdrop{justify-content:center;align-items:flex-end;}
  .pillar-modal{max-width:none;max-height:90vh;border-radius:22px 22px 0 0;transform:translateY(100%);}
  .pillar-modal-backdrop.open .pillar-modal{transform:translateY(0);}
  .pillar-modal-media{min-height:170px;}
}

/* Gist chips (e.g. "3 Levels" / "20 hrs Per Level") shown as a full-width row under the text/image */
.pillar-modal-gist{display:none; gap:14px; flex-wrap:wrap; padding:18px 38px 32px;}
.pillar-modal-chip{flex:1; min-width:150px; background:var(--sky-bg); border-radius:12px; padding:14px 16px; display:flex; align-items:center; gap:12px;}
.pillar-modal-chip .chip-ic{
  width:38px;height:38px;border-radius:10px;flex-shrink:0;background:#fff;color:var(--sky-ic);
  display:flex;align-items:center;justify-content:center;font-size:15px;
}
.pillar-modal-chip .num{display:block; font-family:'Poppins',sans-serif; font-weight:700; font-size:1.05rem; color:var(--navy); line-height:1.2;}
.pillar-modal-chip .lbl{display:block; font-size:10.5px; color:var(--muted); font-weight:600; margin-top:1px; text-transform:uppercase; letter-spacing:.03em;}
@media(max-width:860px){ .pillar-modal-gist{padding:16px 28px 30px;} }

/* ---- Subtle persona backdrop on "Who are our programmes for" cards ---- */
.use-item{position:relative; overflow:hidden; background-size:cover; background-position:center; background-blend-mode:normal;}
.use-item.use-item-student{background-image:linear-gradient(rgba(255,255,255,.90), rgba(255,255,255,.90)), url("../images/real/persona-college.jpg");}
.use-item.use-item-professional{background-image:linear-gradient(rgba(255,255,255,.90), rgba(255,255,255,.90)), url("../images/real/persona-professional.jpg");}
.use-item.use-item-adult{background-image:linear-gradient(rgba(255,255,255,.90), rgba(255,255,255,.90)), url("../images/real/persona-parent-child.jpg");}
.use-item.use-item-homemaker{background-image:linear-gradient(rgba(255,255,255,.90), rgba(255,255,255,.90)), url("../images/real/persona-homemaker.jpg");}

/* ---- Find us / Google Map + Reviews ---- */
.find-us-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:36px;}
@media(max-width:760px){.find-us-grid{grid-template-columns:1fr;}}
.map-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);}
.map-card h5{padding:16px 18px 0;font-family:'Poppins',sans-serif;font-size:14px;color:var(--navy);}
.map-card iframe{width:100%;height:260px;border:0;display:block;margin-top:12px;}
.google-reviews-card{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:var(--shadow);}
.google-reviews-card .gr-left{display:flex;align-items:center;gap:14px;}
.google-reviews-card .gr-icon{width:46px;height:46px;border-radius:12px;background:#f1f6ff;display:flex;align-items:center;justify-content:center;font-size:20px;color:#4285F4;flex-shrink:0;}
.google-reviews-card .gr-stars{color:#f5b400;font-size:14px;margin-top:2px;}
.google-reviews-card h5{font-family:'Poppins',sans-serif;font-size:15px;color:var(--navy);margin:0;}

/* ===== ABOUT PAGE REDESIGN ===== */
.section-head.underlined-left{text-align:left; margin:0;}
.section-head.underlined-left h1, .section-head.underlined-left h2{position:relative; padding-bottom:16px;}
.section-head.underlined-left h1::after, .section-head.underlined-left h2::after{content:""; position:absolute; left:0; bottom:0; transform:none; width:88px; height:4px; border-radius:4px; background:var(--amber);}
.section-head.underlined-left p{max-width:480px;}

/* -- Hero media with floating proof cards -- */
.about-hero-media{position:relative; padding:0 18px 18px 0;}
.about-hero-media img{display:block; width:100%; height:420px; object-fit:cover; border-radius:28px; box-shadow:var(--shadow);}
.about-proof-card{position:absolute; display:flex; align-items:center; gap:12px; background:#fff; border-radius:14px; padding:12px 16px; box-shadow:var(--shadow); max-width:190px;}
.about-proof-card .ic{width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; background:var(--sky-bg); color:var(--sky-ic);}
.about-proof-card.c2 .ic{background:var(--amber-bg); color:var(--amber-ic);}
.about-proof-card.c3 .ic{background:var(--mint-bg); color:var(--mint-ic);}
.about-proof-card .n{font-family:'Poppins',sans-serif; font-weight:800; font-size:15px; color:var(--navy); line-height:1.2;}
.about-proof-card .l{font-size:11px; color:var(--muted); line-height:1.3; margin-top:1px;}
.about-proof-card.card-1{top:28px; left:-8px;}
.about-proof-card.card-2{top:120px; right:2px;}
.about-proof-card.card-3{bottom:28px; left:30px;}
@media(max-width:760px){
  .about-hero-media{padding:0;}
  .about-hero-media img{height:260px;}
  .about-proof-card{padding:9px 12px; gap:9px; max-width:150px;}
  .about-proof-card .ic{width:30px; height:30px; font-size:13px;}
  .about-proof-card .n{font-size:13px;}
  .about-proof-card .l{font-size:10px;}
  .about-proof-card.card-1{top:12px; left:-6px;}
  .about-proof-card.card-2{top:auto; bottom:90px; right:-6px;}
  .about-proof-card.card-3{bottom:12px; left:10px;}
}

/* -- Belief section -- */
.belief-sec{background:var(--sky-bg); padding:64px 0;}
.belief-row{display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.belief-row .section-head.underlined-left{flex:1 1 380px;}
.belief-tags{display:flex; gap:34px; flex-wrap:wrap;}
.belief-tag{text-align:center;}
.belief-tag .ic{width:60px; height:60px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; color:var(--sky-ic); margin:0 auto 10px; box-shadow:var(--shadow);}
.belief-tag:nth-child(2) .ic{color:var(--amber-ic);}
.belief-tag:nth-child(3) .ic{color:var(--orchid-ic);}
.belief-tag:nth-child(4) .ic{color:var(--mint-ic);}
.belief-tag span{display:block; font-family:'Poppins',sans-serif; font-weight:700; font-size:13px; color:var(--navy); letter-spacing:.02em;}

/* -- People section -- */
.people-sec{padding:72px 0;}
.people-row{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center;}
.photo-collage{display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px;}
.photo-collage-main{grid-column:1 / -1; border-radius:20px; overflow:hidden; box-shadow:var(--shadow);}
.photo-collage-main img{display:block; width:100%; height:260px; object-fit:cover;}
.photo-collage-sub{border-radius:14px; overflow:hidden; box-shadow:var(--shadow);}
.photo-collage-sub img{display:block; width:100%; height:120px; object-fit:cover;}
.people-copy p{color:var(--muted); font-size:16px; line-height:1.75; margin:16px 0 28px; max-width:480px;}
.people-features{display:flex; flex-direction:column; gap:16px;}
.people-feature{display:flex; gap:14px; align-items:flex-start;}
.people-feature .ic{width:42px; height:42px; border-radius:12px; background:var(--sky-bg); color:var(--sky-ic); display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0;}
.people-feature:nth-child(2) .ic{background:var(--amber-bg); color:var(--amber-ic);}
.people-feature:nth-child(3) .ic{background:var(--mint-bg); color:var(--mint-ic);}
.people-feature h5{font-size:14.5px; color:var(--navy); margin:0 0 3px;}
.people-feature p{font-size:13.5px; color:var(--muted); margin:0; line-height:1.5;}
@media(max-width:900px){
  .people-row{grid-template-columns:1fr;}
  .photo-collage-main img{height:220px;}
}

/* -- Decade of impact / closing CTA -- */
.decade-sec{background:var(--sky-bg); padding:72px 0; overflow:hidden;}
.decade-row{display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center;}
.decade-copy p{color:var(--muted); font-size:16px; line-height:1.75; margin:16px 0 30px; max-width:460px;}
.decade-media img{display:block; width:100%; height:360px; object-fit:cover; border-radius:24px; box-shadow:var(--shadow);}
@media(max-width:900px){
  .decade-row{grid-template-columns:1fr;}
  .decade-media{order:-1;}
  .decade-media img{height:240px;}
}
.google-reviews-card p{font-size:13px;color:var(--muted);margin:2px 0 0;}

/* ===== STORIES PAGE REDESIGN ===== */
.stories-hero p.lede{max-width:680px; color:var(--muted); font-size:16px; line-height:1.7; margin:14px 0 36px;}
.stories-hero .stat-bar{max-width:760px; margin:0;}

/* -- filter pills -- */
.story-filters{display:flex; gap:10px; flex-wrap:wrap; margin:0 0 30px;}
.story-filter-pill{font-family:'Poppins',sans-serif; font-size:13px; font-weight:600; color:var(--navy); background:#fff; border:1px solid var(--line); padding:9px 18px; border-radius:999px; cursor:pointer; transition:all .18s ease;}
.story-filter-pill:hover{border-color:var(--amber);}
.story-filter-pill.active{background:var(--navy); border-color:var(--navy); color:#fff;}

/* -- story eyebrow tag (small caps, no bullet dash) -- */
.story-eyebrow{display:block; font-family:'Poppins',sans-serif; font-weight:700; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--amber-deep); margin-bottom:12px;}

/* -- featured story row -- */
.story-featured-row{display:grid; grid-template-columns:1.3fr 1fr; gap:22px; margin-bottom:22px;}
.story-featured{background:var(--sky-bg); border-radius:24px; padding:40px 40px 34px; display:flex; flex-direction:column; justify-content:center;}
.story-featured .quote-ic{font-size:30px; color:var(--sky-ic); opacity:.55; margin-bottom:10px;}
.story-featured p{font-family:'Poppins',sans-serif; font-size:21px; line-height:1.5; color:var(--navy); font-style:italic; margin:0 0 22px;}
.story-side-stack{display:flex; flex-direction:column; gap:22px;}
.story-side-card{background:#fff; border:1px solid var(--line); border-radius:20px; padding:22px 24px; flex:1;}
.story-side-card p{font-size:14px; line-height:1.6; color:var(--ink); font-style:italic; margin:10px 0 16px;}
.story-avatar-row{display:flex; align-items:center; gap:12px;}
.story-avatar{width:42px; height:42px; border-radius:50%; background:#fff; color:var(--navy); display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; flex-shrink:0; box-shadow:var(--shadow);}
.story-side-card .story-avatar{background:var(--sky-bg); color:var(--sky-ic); box-shadow:none;}
.story-avatar-row b{display:block; font-family:'Poppins',sans-serif; font-size:14px; color:var(--navy);}
.story-avatar-row span{display:block; font-size:12.5px; color:var(--muted);}
@media(max-width:900px){ .story-featured-row{grid-template-columns:1fr;} }

/* -- what families notice -- */
.notice-sec{background:var(--amber-bg); padding:56px 0; border-radius:28px; margin:0 0 56px;}
.notice-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.notice-card{background:#fff; border-radius:18px; padding:24px 22px; box-shadow:var(--shadow);}
.notice-card .ic{width:42px; height:42px; border-radius:12px; background:var(--sky-bg); color:var(--sky-ic); display:flex; align-items:center; justify-content:center; font-size:17px; margin-bottom:16px;}
.notice-card:nth-child(2) .ic{background:var(--mint-bg); color:var(--mint-ic);}
.notice-card:nth-child(3) .ic{background:var(--amber-bg); color:var(--amber-ic);}
.notice-card:nth-child(4) .ic{background:var(--orchid-bg); color:var(--orchid-ic);}
.notice-card h5{font-size:14.5px; color:var(--navy); margin:0 0 8px;}
.notice-card p{font-size:13.5px; color:var(--muted); font-style:italic; line-height:1.55; margin:0;}
@media(max-width:860px){ .notice-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .notice-grid{grid-template-columns:1fr;} }

/* -- pull quote banner -- */
.pullquote-banner{background:var(--navy); border-radius:24px; padding:46px 48px; display:grid; grid-template-columns:1.3fr 1px 1fr; gap:36px; align-items:center; margin:0 0 56px;}
.pullquote-banner .eyebrow{color:var(--amber);}
.pullquote-banner .eyebrow::before{background:var(--amber);}
.pullquote-banner blockquote{font-family:'Poppins',sans-serif; font-size:1.6rem; line-height:1.4; color:#fff; margin:14px 0 0; font-style:italic;}
.pullquote-banner blockquote cite{display:block; font-family:'Inter',sans-serif; font-style:normal; font-size:13.5px; color:rgba(255,255,255,.6); margin-top:16px;}
.pullquote-banner blockquote cite b{color:#fff; font-weight:700;}
.pullquote-div{width:1px; height:100%; background:rgba(255,255,255,.15);}
.pullquote-support p{color:rgba(255,255,255,.75); font-size:15px; line-height:1.7; margin:0;}
@media(max-width:860px){ .pullquote-banner{grid-template-columns:1fr; padding:34px 28px;} .pullquote-div{display:none;} }

/* -- redesigned story card (grid of remaining stories) -- */
.story-card.no-media{border-radius:20px; transition:box-shadow .18s ease, transform .18s ease;}
.story-card.no-media:hover{box-shadow:var(--shadow); transform:translateY(-3px);}
.story-card.no-media .story-tag.static{display:none;}
.story-card .story-by{display:flex; align-items:center; gap:12px; margin-top:18px;}
.story-card .story-by .story-avatar{background:var(--sky-bg); color:var(--sky-ic);}
.story-card.hidden{display:none;}

/* -- closing CTA -- */
.stories-cta-sec{padding:64px 0;}
.stories-cta-row{display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; background:var(--sky-bg); border-radius:24px; padding:44px 48px;}

/* ===== Homemaker page (mockup layout, Thrive tokens) ===== */
.hmx-eyebrow{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-deep);margin:0 0 12px;}
.hmx-hero{background:linear-gradient(180deg,var(--amber-bg) 0%,var(--paper) 100%);padding:28px 0 64px;}
.hmx-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;margin-top:18px;}
.hmx-hero-copy h1{font-size:clamp(34px,4.6vw,56px);line-height:1.08;color:var(--navy);margin:0 0 20px;}
.hmx-hero-copy h1 em{font-style:normal;color:var(--amber-deep);}
.hmx-lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:560px;margin:0 0 26px;}
.hmx-lead strong{color:var(--navy);}
.hmx-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px;}
.hmx-trust{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14.5px;font-weight:600;color:var(--navy);}
.hmx-trust span{display:inline-flex;align-items:center;gap:8px;}
.hmx-check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--mint-bg);color:var(--mint-ic);font-size:10px;flex-shrink:0;}
.hmx-media{position:relative;}
.hmx-media img{width:100%;height:auto;aspect-ratio:4/4.3;object-fit:cover;border-radius:24px;box-shadow:var(--shadow);display:block;}
.hmx-note{position:absolute;left:-22px;bottom:28px;background:#fff;border-radius:16px;padding:16px 20px;box-shadow:var(--shadow);max-width:250px;border:1px solid var(--line);}
.hmx-note strong{display:block;color:var(--navy);font-size:16px;margin-bottom:3px;}
.hmx-note small{color:var(--muted);font-size:13px;line-height:1.45;}
.hmx-promise{background:var(--navy);color:#fff;padding:26px 0;}
.hmx-promise-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.hmx-promise strong{font-size:clamp(19px,2.2vw,26px);}
.hmx-promise strong span{color:var(--amber);}
.hmx-promise p{margin:0;color:rgba(255,255,255,.8);font-size:15.5px;}
.hmx-section{padding:68px 0;}
.hmx-head{text-align:center;max-width:720px;margin:0 auto 38px;}
.hmx-head h2{font-size:clamp(28px,3.4vw,40px);color:var(--navy);margin:0 0 12px;line-height:1.15;}
.hmx-head p:last-child{color:var(--muted);font-size:17px;line-height:1.6;margin:0;}
.hmx-learning{background:var(--paper);}
.hmx-stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.hmx-stage{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;box-shadow:0 10px 30px -22px rgba(20,39,78,.4);}
.hmx-stage h3{font-size:21px;color:var(--navy);margin:16px 0 8px;}
.hmx-stage p{margin:0;color:var(--muted);line-height:1.6;font-size:15.5px;}
.hmx-stage p strong{color:var(--navy);}
.hmx-ic{width:54px;height:54px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;}
.hmx-ic.c1{background:var(--mint-bg);color:var(--mint-ic);}
.hmx-ic.c2{background:var(--sky-bg);color:var(--sky-ic);}
.hmx-ic.c3{background:var(--amber-bg);color:var(--amber-deep);}
.hmx-journey{text-align:center;max-width:820px;margin:34px auto 0;font-size:17px;color:var(--muted);line-height:1.7;}
.hmx-journey b{color:var(--navy);}
.hmx-story-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;}
.hmx-feature{background:var(--navy);color:#fff;border-radius:22px;padding:38px 36px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;position:relative;overflow:hidden;}
.hmx-feature .hmx-eyebrow{color:var(--amber);}
.hmx-qm{font-size:90px;line-height:.6;color:var(--amber);opacity:.5;font-family:Georgia,serif;margin-bottom:6px;}
.hmx-feature blockquote{margin:0;font-size:17px;line-height:1.7;color:rgba(255,255,255,.92);}
.hmx-attr{font-weight:700;font-size:16px;}
.hmx-attr small{display:block;font-weight:500;color:rgba(255,255,255,.7);margin-top:2px;}
.hmx-side{display:grid;gap:22px;}
.hmx-quote{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 26px;box-shadow:0 10px 30px -22px rgba(20,39,78,.4);}
.hmx-quote p{margin:10px 0 14px;color:var(--muted);line-height:1.65;font-size:15px;}
.hmx-quote strong{color:var(--navy);display:block;}
.hmx-quote small{color:var(--muted);}
.hmx-stars{color:var(--amber);font-size:13px;display:flex;gap:3px;}
.hmx-why-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;background:var(--sky-bg);border-radius:26px;padding:48px 44px;align-items:center;}
.hmx-why-panel h2{font-size:clamp(26px,3vw,36px);color:var(--navy);margin:0 0 20px;line-height:1.18;}
.hmx-why-list{list-style:none;margin:0;padding:0;display:grid;gap:13px;}
.hmx-why-list li{display:flex;gap:12px;align-items:flex-start;color:var(--navy);font-weight:500;line-height:1.5;}
.hmx-why-list .hmx-check{margin-top:2px;}
.hmx-callout{background:var(--amber-bg);border-radius:20px;padding:30px 28px;border:1px solid rgba(242,169,59,.35);}
.hmx-callout h3{font-size:22px;color:var(--navy);line-height:1.3;margin:0 0 12px;}
.hmx-callout p{color:var(--muted);line-height:1.6;margin:0 0 20px;}
.hmx-callout .hmx-eyebrow{margin-bottom:10px;}
.hmx-batches{padding-top:20px;}
.hmx-batch-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px;}
.hmx-batch-head h2{font-size:clamp(26px,3vw,36px);color:var(--navy);margin:0;}
.hmx-batch-head p{margin:0;color:var(--muted);text-align:right;line-height:1.5;font-size:15px;}
.hmx-batch-head p strong{color:var(--navy);}
.hmx-batch-card{display:grid;grid-template-columns:1fr 1fr auto;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 32px;box-shadow:var(--shadow);}
.hmx-meta small{display:block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:6px;}
.hmx-meta strong{display:block;color:var(--navy);font-size:19px;margin-bottom:4px;}
.hmx-meta p{margin:0;color:var(--muted);font-size:14.5px;}
.hmx-batch-actions{display:flex;flex-direction:column;gap:10px;}
.hmx-batch-actions .btn-white{border:1px solid var(--line);box-shadow:none;}
.hmx-batch-note{margin:14px 4px 0;font-size:13.5px;color:var(--muted);}
.hmx-cta{padding:30px 0 80px;}
.hmx-cta-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;background:var(--navy-deep);border-radius:28px;padding:54px 48px;align-items:center;color:#fff;}
.hmx-cta-copy .hmx-eyebrow{color:var(--amber);}
.hmx-cta-copy h2{font-size:clamp(28px,3.6vw,44px);line-height:1.12;margin:0 0 16px;color:#fff;}
.hmx-cta-copy>p{color:rgba(255,255,255,.8);line-height:1.65;font-size:16.5px;margin:0 0 22px;}
.hmx-trust-light{color:#fff;}
.hmx-cta-card{background:#fff;border-radius:22px;padding:32px 30px;color:var(--navy);}
.hmx-cta-card h3{font-size:24px;margin:0 0 8px;color:var(--navy);}
.hmx-cta-card p{color:var(--muted);line-height:1.55;margin:0 0 20px;}
.hmx-cta-card .hmx-form-note{font-size:13px;margin:12px 0 0;text-align:center;}
@media(max-width:980px){
  .hmx-hero-grid,.hmx-why-panel,.hmx-cta-panel,.hmx-story-grid{grid-template-columns:1fr;}
  .hmx-stage-grid{grid-template-columns:1fr;}
  .hmx-batch-card{grid-template-columns:1fr;}
  .hmx-batch-actions{flex-direction:row;flex-wrap:wrap;}
  .hmx-note{left:12px;}
  .hmx-batch-head p{text-align:left;}
}
@media(max-width:640px){
  .hmx-section{padding:48px 0;}
  .hmx-why-panel,.hmx-cta-panel{padding:32px 22px;border-radius:22px;}
  .hmx-feature{padding:28px 22px;}
  .hmx-actions .btn{width:100%;justify-content:center;}
}
.hmx-batch-head>div{text-align:left;}
.hmx-batch-head .hmx-eyebrow{display:block;text-align:left;}
.hmx-hero-grid>*,.hmx-why-panel>*,.hmx-cta-panel>*,.hmx-story-grid>*,.hmx-batch-card>*{min-width:0;}
@media(max-width:980px){
  .hmx-hero-grid,.hmx-why-panel,.hmx-cta-panel,.hmx-story-grid,.hmx-stage-grid,.hmx-batch-card{grid-template-columns:minmax(0,1fr);}
}
.hmx-cta-card .btn{white-space:normal;text-align:center;}
@media(max-width:640px){.hmx-cta-card{padding:26px 20px;}.hmx-trust{gap:8px 16px;}}
@media(max-width:640px){.nav-cta a.btn{display:none;}}
.mode-chip{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;background:#fff;color:var(--navy);font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;margin:0 0 14px;box-shadow:0 6px 16px -10px rgba(20,39,78,.5);}
.mode-chip i{color:var(--amber-deep);}
.hmx-promise-inner{flex-direction:column;justify-content:center;text-align:center;gap:8px;}
.hmx-promise strong{font-size:clamp(22px,3vw,34px);}
.hmx-promise p{font-size:clamp(16px,2vw,22px);font-weight:600;color:#fff;opacity:.95;}
@media(min-width:900px){.hmx-promise p{white-space:nowrap;}}
.hmx-stage{display:flex;flex-direction:column;}
.hmx-online{display:flex;gap:10px;align-items:flex-start;margin:18px 0 10px!important;padding:12px 14px;background:var(--sky-bg);border-radius:12px;color:var(--navy)!important;font-size:14.5px!important;line-height:1.45!important;}
.hmx-online i{color:var(--sky-ic);margin-top:3px;}
.hmx-online b{color:var(--navy);}
.hmx-slots{margin-top:auto;padding-top:6px;font-weight:700;font-size:14.5px;color:var(--amber-deep);text-decoration:none;}
.hmx-slots:hover{text-decoration:underline;}
.hmx-stage>p:not(.hmx-online){flex-grow:1;}
.hmx-sep{font-weight:500;color:var(--muted);}
.hmx-meta p i{color:var(--sky-ic);margin-right:4px;}
.hmx-who{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;text-decoration:none;box-shadow:0 10px 30px -22px rgba(20,39,78,.4);transition:transform .2s ease;}
.hmx-who:hover{transform:translateY(-4px);}
.hmx-who h3{font-size:21px;color:var(--navy);margin:16px 0 8px;}
.hmx-who p{margin:0 0 14px;color:var(--muted);line-height:1.6;}
.hmx-faq-wrap{max-width:820px;}
.hmx-faq{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin-bottom:12px;}
.hmx-faq summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:17px;}
.hmx-faq p{margin:12px 0 0;color:var(--muted);line-height:1.65;}
.hero-mode{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 20px;padding:14px 18px;background:var(--sky-bg);border-radius:14px;color:var(--navy);font-weight:600;font-size:15px;}
.hero-mode i{color:var(--sky-ic);}
.hero-mode a{color:var(--amber-deep);font-weight:700;text-decoration:none;}
.hero-mode a:hover{text-decoration:underline;}
.hero-mode{margin-top:18px;}
.persona-hero-media img.hero-collage{height:auto;aspect-ratio:3/2;}
.mode-badge{position:absolute;left:16px;bottom:16px;background:var(--navy);color:#fff;font-weight:700;font-size:14px;padding:10px 16px;border-radius:999px;box-shadow:var(--shadow);display:inline-flex;gap:8px;align-items:center;}
.mode-badge i{color:var(--amber);}
.mode-badge span{color:var(--amber);}
.mode-split-sec{padding:56px 0 20px;}
.mode-split-head{text-align:center;max-width:680px;margin:0 auto 30px;}
.mode-split-head h2{font-size:clamp(26px,3.2vw,38px);color:var(--navy);margin:8px 0 10px;line-height:1.15;}
.mode-split-head p{color:var(--muted);font-size:17px;margin:0;}
.mode-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.mode-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 34px -24px rgba(20,39,78,.45);display:flex;flex-direction:column;}
.mode-card img{width:100%;height:230px;object-fit:cover;display:block;}
.mode-body{padding:24px 26px 28px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex:1;}
.mode-body h3{font-size:22px;color:var(--navy);margin:0;}
.mode-body p{color:var(--muted);line-height:1.6;margin:0 0 6px;flex:1;}
.mode-tag{display:inline-flex;gap:7px;align-items:center;background:var(--amber-bg);color:var(--amber-deep);font-weight:800;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;}
@media(max-width:760px){.mode-split{grid-template-columns:minmax(0,1fr);}.mode-card img{height:200px;}}
.article-figure.tall img{aspect-ratio:4/5;object-fit:cover;max-height:460px;}
@media(max-width:900px){.article-figure.tall img{aspect-ratio:3/2;max-height:none;}}
@media(max-width:860px){
  .pillar-modal-media{min-height:260px;}
  .pillar-modal-media img{object-position:center 28%;}
}
/* ===== Corporate training page ===== */
.cp-hero{background:linear-gradient(180deg,var(--sky-bg) 0%,var(--paper) 100%);}
.cp-hero .hmx-hero-copy h1{font-size:clamp(32px,4.2vw,50px);}
.cp-hero .hmx-lead{margin:0 0 14px;}
.cp-hero .hero-mode{margin:6px 0 22px;}
.cp-strip{background:var(--navy);color:#fff;}
.cp-strip-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;padding:18px 0;font-size:15px;}
.cp-strip-in b{color:var(--amber);letter-spacing:.06em;margin-right:4px;}
.cp-strip-in i{color:rgba(255,255,255,.45);font-size:12px;}
.cp-pain-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start;}
.cp-pain-intro{position:sticky;top:130px;}
.cp-pain-intro h2{font-size:clamp(26px,3.2vw,38px);color:var(--navy);line-height:1.15;margin:0 0 14px;}
.cp-pain-intro>p:not(.hmx-eyebrow){color:var(--muted);line-height:1.7;margin:0 0 22px;font-size:16.5px;}
.cp-pain-list{display:grid;gap:14px;}
.cp-pain{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px;box-shadow:0 10px 30px -24px rgba(20,39,78,.4);transition:transform .2s ease,box-shadow .2s ease;}
.cp-pain:hover{transform:translateX(4px);box-shadow:var(--shadow);}
.cp-num{flex-shrink:0;width:46px;height:46px;border-radius:14px;background:var(--amber-bg);color:var(--amber-deep);font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-size:16px;}
.cp-pain:nth-child(3n+2) .cp-num{background:var(--sky-bg);color:var(--sky-ic);}
.cp-pain:nth-child(3n+3) .cp-num{background:var(--mint-bg);color:var(--mint-ic);}
.cp-pain h3{font-size:19px;color:var(--navy);margin:0 0 6px;}
.cp-pain p{margin:0;color:var(--muted);line-height:1.6;font-size:15.5px;}
.placement-cta.cp-quote{background:var(--navy);color:#fff;border-radius:24px;padding:44px 36px;margin:48px 0 0;text-align:center;}
.placement-cta.cp-quote p{color:rgba(255,255,255,.85);font-size:17px;line-height:1.7;max-width:820px;margin:0 auto;}
.placement-cta.cp-quote strong{display:block;color:#fff;font-size:clamp(22px,2.8vw,32px);line-height:1.25;margin-bottom:12px;}
.cp-pills{display:flex;flex-wrap:wrap;gap:10px;}
.cp-pills span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:13.5px;font-weight:600;padding:7px 14px;border-radius:999px;}
@media(max-width:900px){.cp-pain-grid{grid-template-columns:minmax(0,1fr);gap:28px;}.cp-pain-intro{position:static;}.cp-strip-in i{display:none;}}
.placement-cta.cp-quote .wrap{max-width:900px;}
.placement-cta.cp-quote p{text-align:center!important;}
.placement-cta.cp-quote strong br{display:none;}
.programme-list + .placement-cta.cp-quote + .cta-row{justify-content:center;margin:24px 0 64px!important;}
.placement-cta.cp-quote .wrap{padding:0 8px;margin:0 auto;width:100%;}
@media(max-width:640px){.placement-cta.cp-quote{padding:32px 20px;}.cp-strip-in{flex-direction:column;gap:6px;}}
.mode-options{display:flex;flex-wrap:wrap;gap:8px;}
.mode-opt{cursor:pointer;margin:0!important;}
.mode-opt input{position:absolute;opacity:0;pointer-events:none;}
.mode-opt span{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);font-size:14px;font-weight:600;color:var(--navy);transition:all .15s ease;}
.mode-opt span i{color:var(--amber-deep);}
.mode-opt:hover span{border-color:var(--amber);}
.mode-opt input:checked + span{background:var(--amber-bg);border-color:var(--amber);box-shadow:0 0 0 3px rgba(242,169,59,.2);}
.mode-opt input:focus-visible + span{outline:2px solid var(--navy);outline-offset:2px;}
/* ===== Thrive Digital page ===== */
.dg-hero{background:linear-gradient(180deg,var(--sky-bg) 0%,var(--paper) 100%);}
.dg-collage{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.dg-collage img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;box-shadow:var(--shadow);display:block;}
.dg-media .hmx-note{left:-22px;bottom:22px;}
.dg-course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.dg-course{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 22px;box-shadow:0 10px 30px -22px rgba(20,39,78,.4);}
.dg-course h3{font-size:20px;color:var(--navy);margin:14px 0 4px;}
.dg-level{font-size:12.5px;font-weight:700;color:var(--amber-deep);letter-spacing:.04em;}
.dg-course p{margin:10px 0 14px;color:var(--muted);line-height:1.55;font-size:15px;}
.dg-course img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin-bottom:14px;display:block;}
.dg-course .hmx-slots{margin-top:auto;}
.dg-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.dg-why{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 22px;text-align:center;}
.dg-why .hmx-ic{margin:0 auto;}
.dg-why h3{font-size:19px;color:var(--navy);margin:16px 0 8px;}
.dg-why p{margin:0;color:var(--muted);line-height:1.55;font-size:15px;}
.dg-real{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.dg-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.dg-tiles img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;display:block;}
.dg-tile-note{background:var(--amber-bg);border-radius:20px;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:20px;font-size:clamp(18px,2vw,24px);font-weight:700;color:var(--navy);line-height:1.25;}
.dg-tile-note i{color:var(--amber-deep);font-size:24px;}
.dg-h2{font-size:clamp(26px,3.2vw,38px);color:var(--navy);line-height:1.15;margin:0 0 14px;}
.dg-p{color:var(--muted);line-height:1.7;font-size:16.5px;margin:0 0 18px;}
.dg-real > *{min-width:0;}
@media(max-width:1000px){.dg-course-grid,.dg-why-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.dg-real{grid-template-columns:minmax(0,1fr);gap:30px;}.dg-media .hmx-note{left:12px;}}
@media(max-width:560px){.dg-course-grid,.dg-why-grid{grid-template-columns:minmax(0,1fr);}}
/* ===== Parent / children page ===== */
.pr-hero{background:linear-gradient(180deg,var(--amber-bg) 0%,var(--paper) 100%);}
.pr-skills{padding-bottom:30px;}
.pr-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;}
.pr-step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 20px;box-shadow:0 10px 30px -24px rgba(20,39,78,.4);position:relative;}
.pr-num{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--amber-deep);background:var(--amber-bg);padding:5px 10px;border-radius:999px;}
.pr-step h3{font-size:18px;color:var(--navy);margin:14px 0 8px;}
.pr-step p{margin:0;color:var(--muted);line-height:1.55;font-size:14.5px;}
.pr-pathway{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:var(--navy);color:#fff;border-radius:22px;padding:30px 34px;margin-top:26px;}
.pr-pathway h3{color:#fff;font-size:22px;margin:0 0 6px;}
.pr-pathway p{margin:0;color:rgba(255,255,255,.8);line-height:1.6;max-width:520px;}
.pr-levels{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.pr-levels>i{color:rgba(255,255,255,.45);font-size:12px;}
.pr-level{padding:8px 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.3);font-weight:700;font-size:14px;}
.pr-level.on{background:var(--amber);border-color:var(--amber);color:var(--navy-deep);}
.pr-levels .btn{margin-left:8px;}
@media(max-width:1100px){.pr-steps{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:900px){.pr-pathway{grid-template-columns:minmax(0,1fr);padding:26px 22px;}.pr-steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.pr-steps{grid-template-columns:minmax(0,1fr);}.pr-levels .btn{margin:6px 0 0;width:100%;justify-content:center;}}
.pr-feats{margin-top:-34px;position:relative;z-index:2;}
.pr-feats-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 22px;box-shadow:0 18px 40px -28px rgba(20,39,78,.45);}
.pr-feat{display:flex;align-items:center;gap:12px;min-width:0;}
.pr-feat strong{color:var(--navy);font-size:14.5px;line-height:1.3;}
.pr-lvhead{margin-bottom:26px;}
.pr-lvls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.pr-lv{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 18px;display:flex;flex-direction:column;gap:8px;}
.pr-lv h3{font-size:17px;color:var(--navy);margin:4px 0 0;}
.pr-lv p{margin:0;color:var(--muted);font-size:14px;line-height:1.5;flex:1;}
.pr-lv small{font-weight:700;color:var(--navy);font-size:13px;}
.pr-lv-tag{align-self:flex-start;font-weight:800;font-size:14px;color:var(--amber-deep);background:var(--amber-bg);border-radius:999px;padding:6px 12px;}
.pr-lv.on{background:var(--navy);border-color:var(--navy);}
.pr-lv.on h3,.pr-lv.on small{color:#fff;}.pr-lv.on p{color:rgba(255,255,255,.8);}
.pr-lv.on .pr-lv-tag{background:var(--amber);color:var(--navy-deep);}
.pr-lvcta{text-align:center;margin-top:26px;}
.pr-cert{background:var(--sky-bg);}
.pr-cert-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1fr);gap:32px;align-items:center;}
.pr-cert-copy h2{margin:8px 0 14px;color:var(--navy);}
.pr-cert-copy p{color:var(--muted);line-height:1.65;margin:0 0 18px;}
.pr-cert-photo{margin:0;position:relative;}
.pr-cert-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 25%;border-radius:20px;display:block;}
.pr-cert-photo figcaption{position:absolute;left:12px;bottom:12px;background:#fff;color:var(--navy);font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;}
.pr-cert-points{list-style:none;margin:0;padding:22px;background:var(--amber-bg);border-radius:20px;display:grid;gap:16px;}
.pr-cert-points li{display:flex;gap:10px;align-items:flex-start;color:var(--navy);font-weight:600;line-height:1.4;}
@media(max-width:1000px){.pr-lvls{grid-template-columns:repeat(2,minmax(0,1fr));}.pr-feats-in{grid-template-columns:repeat(2,minmax(0,1fr));}.pr-cert-grid{grid-template-columns:minmax(0,1fr);}.pr-cert-photo{max-width:340px;}}
@media(max-width:560px){.pr-lvls{grid-template-columns:minmax(0,1fr);}}
.pr-cert-copy h2{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.2;}
.announce-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;background:var(--amber-bg);color:var(--amber-deep);font-weight:700;font-size:14.5px;text-align:center;text-decoration:none;border-bottom:1px solid #f3dfb4;}
.announce-bar:hover{background:#ffeccb;}
.announce-bar i{font-size:13px;flex:none;}
@media(max-width:560px){.announce-bar{font-size:13px;padding:10px 14px;}}
@media(max-width:860px){
.corp-panel,.digital-panel{grid-template-columns:minmax(0,1fr);}
.corp-copy,.digital-copy{min-width:0;padding:34px 24px;}
.digital-panel{padding:34px 22px;}
.digital-courses{grid-template-columns:minmax(0,1fr);max-width:100%;}
.corp-copy h3,.corp-copy p,.digital-copy p{max-width:100%;}
}
@media(max-width:560px){.btn{max-width:100%;white-space:normal;text-align:center;}}
.cefr-journey{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:48px;align-items:center;margin-top:70px;}
.cefr-journey-copy h2{margin:8px 0 14px;color:var(--navy);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.2;}
.cefr-journey-copy p{color:var(--muted);line-height:1.65;margin:0 0 18px;}
.cefr-journey-list{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px;}
.cefr-journey-list li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;color:var(--navy);font-size:15px;line-height:1.4;}
.cefr-journey-list b{color:var(--amber-deep);margin-right:8px;}
.cefr-journey-fig{margin:0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:0 18px 40px -28px rgba(20,39,78,.4);}
.cefr-journey-fig img{width:100%;height:auto;display:block;border-radius:16px;}
@media(max-width:900px){.cefr-journey{grid-template-columns:minmax(0,1fr);gap:28px;}.cefr-journey-fig{max-width:460px;margin:0 auto;}}
.pr-soon{padding:10px 0 30px;}
.pr-soon-card{display:flex;align-items:center;gap:22px;background:var(--amber-bg);border:1px solid #f3dfb4;border-radius:22px;padding:26px 30px;}
.pr-soon-card h3{margin:4px 0 6px;color:var(--navy);font-size:22px;}
.pr-soon-card p{margin:0;color:var(--muted);line-height:1.6;}
.pr-soon-card .hmx-eyebrow{margin:0;color:var(--amber-deep);}
.pr-soon-card .btn{flex:none;margin-left:auto;}
@media(max-width:760px){.pr-soon-card{flex-direction:column;align-items:flex-start;padding:24px 20px;}.pr-soon-card .btn{margin-left:0;width:100%;}}
.sc-stats{display:flex;gap:34px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);}
.sc-stats strong{display:block;font-size:26px;color:var(--navy);font-family:'Poppins',sans-serif;}
.sc-stats span{font-size:13px;color:var(--muted);}
.sc-feats .pr-feats-in{grid-template-columns:repeat(5,minmax(0,1fr));}
.sc-hero .hmx-media img{aspect-ratio:4/3;object-fit:cover;}
@media(max-width:1100px){.sc-feats .pr-feats-in{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.sc-feats .pr-feats-in{grid-template-columns:minmax(0,1fr);}}
.pr-cert .placement-cta{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 30px;}
.pr-cert .placement-cta .wrap{max-width:860px;margin:0 auto;padding:0;}
.pr-cert .placement-cta p{margin:0;color:var(--navy);line-height:1.7;text-align:center;}
.st-proof{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 18px 40px -28px rgba(20,39,78,.4);}
.st-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;}
.st-proof-grid div{background:var(--amber-bg);border-radius:16px;padding:16px 10px;text-align:center;}
.st-proof-grid strong{display:block;font-family:'Poppins',sans-serif;font-size:2rem;color:var(--navy);line-height:1.1;}
.st-proof-grid span{font-size:13px;color:var(--muted);}
.st-proof p{margin:0;color:var(--muted);line-height:1.6;}.st-proof p b{color:var(--navy);display:block;margin-bottom:4px;}
@media(max-width:560px){.st-proof{padding:20px;}}
.story-card .story-by{flex-direction:row;justify-content:flex-start;align-items:center;text-align:left;}
.story-card .story-by>div:last-child{text-align:left;}
.st-hero .hmx-media{background:none;box-shadow:none;border-radius:0;overflow:visible;}
.st-hero .dg-collage img{aspect-ratio:1/1;}
.st-stats{margin-top:-28px;position:relative;z-index:2;}
.st-stats .pr-feats-in{padding:20px 24px;}
.st-n{display:block;font-family:'Poppins',sans-serif;font-size:1.5rem;line-height:1.1;color:var(--navy);}
.st-stats small{display:block;font-size:13px;color:var(--muted);margin-top:2px;}
.story-filter-pill i{margin-right:6px;color:var(--amber-deep);font-size:12px;}
.story-filter-pill.active i{color:var(--amber);}
@media(max-width:560px){.story-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;}.story-filter-pill{flex:none;}.st-stats{margin-top:-18px;}}
.story-filters{gap:8px;}.story-filter-pill{padding:9px 14px;}
@media(max-width:560px){.st-hero .hmx-note{position:static;margin-top:12px;max-width:none;}}
.fu-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:stretch;}
.fu-map{border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 40px -28px rgba(20,39,78,.4);min-height:380px;background:var(--sky-bg);}
.fu-map iframe{width:100%;height:100%;min-height:380px;border:0;display:block;}
.fu-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:16px;}
.fu-card h3{margin:0;color:var(--navy);font-size:22px;}
.fu-rating,.g-rating{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;text-decoration:none;color:var(--navy);font-weight:600;font-size:14px;}
.fu-rating{background:var(--amber-bg);border-radius:999px;padding:8px 16px;align-self:flex-start;}
.g-rating{margin-top:18px;}
.fu-score{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.2rem;}
.fu-stars{color:#f5a623;font-size:13px;letter-spacing:2px;}
.fu-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.fu-list li{display:flex;gap:12px;align-items:flex-start;color:var(--muted);line-height:1.5;}
.fu-list i{color:var(--amber-deep);margin-top:4px;width:16px;text-align:center;}
.fu-list a{color:var(--navy);font-weight:600;}
.fu-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;}
@media(max-width:860px){.fu-grid{grid-template-columns:minmax(0,1fr);}.fu-map,.fu-map iframe{min-height:300px;}.fu-card{padding:22px;}}
