:root{
  color-scheme:light;
  --paper:#FFFFFF; --white:#FFFFFF; --ink:#22302A; --ink-muted:#5C6A60; --line:#E6ECE7; --line-strong:#7E8A81; --deep:#1F2B26;
  --edu:#2F7D5B; --edu-soft:#E1EFE4; --edu-ink:#22573F;
  --care:#EF6A4E; --care-soft:#FDE8E1; --care-ink:#A63D27; --on-care:#1B2822;
  --tech:#4F7695; --tech-soft:#E4ECF3; --tech-ink:#3E6280;
  --res:#6C6296; --res-soft:#EDEBF4; --res-ink:#5A5085;
  --sage:#A8CBB6; --sage-soft:#EEF5F0;
  --sun:#F2B544; --sun-soft:#FDF3DC; --sun-ink:#7A5200;
  --sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --script:"Signatra","Brush Script MT",cursive;
  --gutter:clamp(16px,5vw,56px);
  --r-lg:16px; --r-xl:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{text-wrap:balance}
:focus-visible{outline:2px solid var(--edu);outline-offset:2px;border-radius:4px}
.wrap{max-width:1240px;margin:0 auto;padding-inline:var(--gutter)}
section{padding-block:clamp(56px,7vw,96px)}
.tight{padding-top:0}
[data-page]{animation:pagein .45s ease backwards}
@keyframes pagein{from{opacity:.001;transform:translateY(8px)}to{opacity:1;transform:none}}

/* theme per division */
.t-edu{--c:var(--edu);--c-ink:var(--edu-ink);--soft:var(--edu-soft);--on:#fff}
.t-care{--c:var(--care);--c-ink:var(--care-ink);--soft:var(--care-soft);--on:var(--on-care)}
.t-tech{--c:var(--tech);--c-ink:var(--tech-ink);--soft:var(--tech-soft);--on:#fff}
.t-res{--c:var(--res);--c-ink:var(--res-ink);--soft:var(--res-soft);--on:#fff}
.t-com{--c:var(--sage);--c-ink:var(--edu-ink);--soft:var(--sage-soft);--on:var(--on-care)}
.t-sun{--c:var(--sun);--c-ink:var(--sun-ink);--soft:var(--sun-soft);--on:var(--on-care)}

/* type */
.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--c-ink,var(--edu-ink))}
.eyebrow::before{content:"";width:34px;height:1.5px;background:var(--c,var(--edu));opacity:.8}
.display{margin:0 0 18px;font-weight:300;font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;letter-spacing:-.015em}
.display .hl{color:var(--c-ink,var(--edu-ink))}
.lead{margin:0;max-width:34em;font-weight:300;font-size:clamp(1.08rem,1.4vw,1.28rem);line-height:1.7;color:var(--ink-muted)}
.script{font-family:var(--script);font-weight:400;letter-spacing:0;color:var(--c,var(--edu))}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-bottom:clamp(32px,4vw,48px)}
.head>div{max-width:680px}
.center{text-align:center}.center .lead{margin-inline:auto}.center .eyebrow{justify-content:center}
.link{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;text-decoration:none;color:var(--c-ink,var(--edu-ink));white-space:nowrap}
.link span{transition:transform .2s}.link:hover span{transform:translateX(4px)}
.muted{color:var(--ink-muted)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:999px;border:1.5px solid transparent;font:600 16px/1 var(--sans);text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s,border-color .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-care{background:var(--care);color:var(--on-care);box-shadow:0 16px 30px -18px rgba(239,106,78,.95)}
.btn-edu{background:var(--edu);color:#fff;box-shadow:0 16px 30px -18px rgba(47,125,91,.9)}
.btn-tech{background:var(--tech);color:#fff;box-shadow:0 16px 30px -18px rgba(79,118,149,.9)}
.btn-c{background:var(--c);color:var(--on)}
.btn-line{background:var(--white);color:var(--ink);border-color:#D5DDD7}
.btn-line:hover{border-color:var(--ink)}
.btn-sm{min-height:42px;padding:0 20px;font-size:15px;box-shadow:none}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(251,250,247,.92);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}
.brand .mk{flex:none;width:46px;height:46px;border-radius:50%;background:#fff url("mark.png") center/cover;box-shadow:0 0 0 1px var(--line)}
.brand .nm{display:block;font-size:23px;line-height:1;letter-spacing:-.005em}
.brand .nm b{font-weight:800}
.brand .nm span{font-weight:700;color:var(--edu)}
.brand small{display:block;margin-top:5px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-muted)}
.links{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.links a{font-size:16px;font-weight:500;color:#44524A;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
.links a:hover,.links a.on{color:var(--ink);border-color:var(--hc,var(--edu))}
.actions{display:flex;gap:12px;align-items:center}
.actions .gh{color:var(--edu-ink)}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid #D5DDD7;border-radius:12px;font-weight:600;background:#fff}
.menu summary::-webkit-details-marker{display:none}
.menu ul{position:absolute;right:0;top:54px;width:min(82vw,290px);margin:0;padding:10px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 50px -30px rgba(34,48,42,.5)}
.menu li a{display:block;padding:11px 12px;border-radius:10px;text-decoration:none;font-weight:500}
.menu li a:hover{background:var(--sage-soft)}
@media(max-width:1180px){.links{display:none}.menu{display:block}}
@media(max-width:600px){.actions .gh,.brand small{display:none}.brand .nm{font-size:20px}}

/* HERO (arch) */
.hero{padding-block:clamp(40px,6vw,88px) clamp(48px,6vw,88px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.hero h1{margin:0;font-weight:300;font-size:clamp(3rem,7vw,6rem);line-height:1;letter-spacing:-.03em}
.hero .sub{display:block;margin:.1em 0 .35em;font-family:var(--script);font-weight:400;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.05;color:var(--c,var(--edu));letter-spacing:0}
.hero .lead{margin-bottom:26px}
.divline{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 32px;padding:0;list-style:none;font-weight:600;font-size:15.5px;letter-spacing:.03em}
.divline li{display:flex;align-items:center;gap:8px}
.divline li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--d)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.help-link{display:inline-flex;margin-top:22px;margin-left:10px;font-weight:600;font-size:16px;color:var(--edu-ink);text-decoration:none;gap:8px}
.help-link:hover span{transform:translateX(4px)}.help-link span{transition:transform .2s}

.stage{position:relative;justify-self:center;width:100%;max-width:560px;aspect-ratio:4/5}
.arch{position:absolute;inset:0 6% 0 10%;border-radius:999px 999px 30px 30px;overflow:hidden;background:linear-gradient(170deg,#EEF5F0 0%,#DDEBE2 100%);box-shadow:0 50px 90px -50px rgba(34,48,42,.45),inset 0 0 0 1px rgba(47,125,91,.08)}
.t-care .arch{background:linear-gradient(170deg,#FFF3EE 0%,#FBDDD2 100%)}
.t-tech .arch{background:linear-gradient(170deg,#F1F5F9 0%,#DCE6EF 100%)}
.t-res .arch{background:linear-gradient(170deg,#F4F2F8 0%,#E2DDEE 100%)}
.t-sun .arch{background:linear-gradient(170deg,#FFF8EA 0%,#FBE8C2 100%)}
.arch svg.waves{position:absolute;left:0;right:0;bottom:0;width:100%;height:46%}
.arch .sun{position:absolute;left:50%;top:calc(29% + 46px);width:44%;aspect-ratio:1;margin-left:-22%;margin-top:-22%;border-radius:50%;border:3px solid var(--c,var(--care));background:rgba(255,255,255,.55);animation:float 8s ease-in-out infinite}
.arch .halo{position:absolute;left:50%;top:14%;width:70%;aspect-ratio:1;margin-left:-35%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,255,255,0) 66%);animation:halo 7s ease-in-out infinite}
.play{position:absolute;left:50%;top:29%;width:92px;height:92px;margin-left:-46px;border:0;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 18px 40px -16px rgba(34,48,42,.45);transition:transform .25s;z-index:2}
.play:hover{transform:scale(1.07)}
.play::after{content:"";margin-left:5px;border-left:18px solid var(--c-ink,var(--edu));border-top:11px solid transparent;border-bottom:11px solid transparent}
.play::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,255,255,.8);animation:ping 2.6s infinite}
.film{position:absolute;left:4%;right:0;top:calc(29% + 46px);margin-top:21%;text-align:center;z-index:2}
.film b{display:block;font-size:17px;color:var(--c-ink,var(--edu-ink));letter-spacing:.02em}
.film span{font-size:14px;color:var(--ink-muted)}
.note{position:absolute;left:0;top:7%;display:flex;align-items:center;gap:14px;padding:14px 20px 14px 14px;background:#fff;border-radius:18px;box-shadow:0 24px 48px -26px rgba(34,48,42,.5);animation:float 6s ease-in-out infinite;z-index:3}
.note i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--soft,var(--edu-soft));color:var(--c-ink,var(--edu-ink));font-style:normal;font-size:20px}
.note b{display:block;font-size:16px;line-height:1.2}
.note span{font-size:14px;color:var(--ink-muted)}
.chip-dark{position:absolute;right:0;bottom:9%;padding:16px 22px;border-radius:18px;background:var(--deep);color:#FBFAF7;box-shadow:0 26px 50px -26px rgba(34,48,42,.7);animation:float 6.6s ease-in-out infinite reverse;z-index:3}
.chip-dark b{display:block;font-size:30px;font-weight:300;line-height:1.1;letter-spacing:.02em}
.chip-dark span{display:block;margin-top:6px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#B8C4BB}
.chip-dark .dots{display:flex;gap:6px;margin-top:10px}.chip-dark .dots i{width:22px;height:5px;border-radius:3px}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes halo{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
@keyframes ping{0%{transform:scale(.9);opacity:.9}80%,100%{transform:scale(1.3);opacity:0}}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr}.stage{max-width:440px}}
@media(max-width:480px){.note{padding:10px 14px 10px 10px}.note i{width:36px;height:36px}.chip-dark b{font-size:24px}.play{width:74px;height:74px;margin-left:-37px}}

/* page hero (inner) */
.phero .hero-grid{grid-template-columns:1.1fr .9fr}
.phero h1{font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:1.04}
.phero .sub{font-size:clamp(2.4rem,4.4vw,3.8rem)}
.crumbs{display:flex;gap:8px;margin:0 0 22px;font-size:14px;color:var(--ink-muted)}
.crumbs a{text-decoration:none;color:var(--ink-muted)}.crumbs a:hover{color:var(--ink)}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.jump a{padding:9px 15px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:500;text-decoration:none}
.jump a:hover{border-color:var(--c);color:var(--c-ink)}
@media(max-width:940px){.phero .hero-grid{grid-template-columns:1fr}.phero .stage{max-width:380px;aspect-ratio:1/1}}

/* strip under hero */
.strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:clamp(40px,5vw,64px)}
.strip a{padding:26px 22px 4px 0;text-decoration:none;display:flex;flex-direction:column;gap:4px}
.strip a b{font-size:28px;font-weight:300;color:var(--d)}
.strip a span{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);font-weight:500}
.strip a:hover span{color:var(--ink)}
@media(max-width:700px){.strip{grid-template-columns:1fr 1fr}}

/* panels & cards */
.panel{background:var(--soft);border-radius:32px;padding:clamp(26px,4vw,56px)}
.panel-white{background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(24px,3.5vw,44px)}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.g5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.g3,.g5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g2,.g3,.g4,.g5{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;gap:8px;padding:24px 22px 22px;background:#fff;border-radius:var(--r-lg);text-decoration:none;transition:transform .2s,box-shadow .2s;border:1px solid rgba(34,48,42,.05)}
a.card:hover{transform:translateY(-3px);box-shadow:0 22px 40px -28px rgba(34,48,42,.5)}
.card .ic{width:44px;height:44px;border-radius:13px;background:var(--soft);display:grid;place-items:center;margin-bottom:6px}
.card .ic svg{width:22px;height:22px;stroke:var(--c-ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card h3{margin:0;font-size:1.14rem;font-weight:600;line-height:1.3}
.card p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-muted)}
.card ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:15px;color:var(--ink-muted)}
.card ul li{display:flex;gap:10px}.card ul li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--c);margin-top:.6em}
.card .more{margin-top:auto;padding-top:8px;font-size:14.5px;font-weight:600;color:var(--c-ink)}
.card.fill{background:var(--c);color:var(--on)}.card.fill p,.card.fill ul{color:inherit;opacity:.92}.card.fill .more{color:inherit}.card.fill ul li::before{background:currentColor}
.card .k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink)}

/* division cards (home) */
.div{position:relative;display:flex;flex-direction:column;gap:12px;min-height:350px;padding:30px 28px;border-radius:26px;text-decoration:none;overflow:hidden;transition:transform .25s,box-shadow .25s;isolation:isolate;background:var(--c);color:var(--on)}
.div:hover{transform:translateY(-5px);box-shadow:0 34px 56px -34px rgba(34,48,42,.8)}
.div::after{content:"";position:absolute;right:-70px;bottom:-70px;width:220px;height:220px;border-radius:50%;border:28px solid rgba(255,255,255,.16);z-index:-1;transition:transform .5s}
.div:hover::after{transform:scale(1.15)}
.div .n{font-size:13px;font-weight:600;letter-spacing:.16em;opacity:.85}
.div h3{margin:0;font-size:1.6rem;line-height:1.18;font-weight:400;letter-spacing:-.01em}
.div p{margin:0;font-size:15.5px;line-height:1.55;opacity:.92}
.div .go{margin-top:auto;font-weight:600;font-size:15px}

/* sentence + model */
.model{position:relative;padding:36px 22px 22px;border-radius:36px;border:3px solid var(--sage);background:#fff}
.model-tag{position:absolute;top:-16px;left:28px;padding:5px 15px;border-radius:999px;background:var(--sage);color:var(--on-care);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.model-core{text-align:center;margin-bottom:16px;font-size:1.35rem;font-weight:300}.model-core b{font-weight:800}
.model-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.model-grid div{padding:18px;border-radius:var(--r-lg);background:var(--c);color:var(--on)}
.model-grid b{display:block;font-size:15.5px}.model-grid span{display:block;margin-top:6px;font-size:14px;line-height:1.45}
.model-foot{margin:18px 0 0;text-align:center;font-size:15px;color:var(--ink-muted)}
.model-foot em{font-family:var(--script);font-style:normal;font-size:1.7rem;color:var(--edu);margin-right:6px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:900px){.split{grid-template-columns:1fr}}
@media(max-width:480px){.model-grid{grid-template-columns:1fr}}
.story-lines{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px}
.story-lines li{display:flex;gap:14px;align-items:baseline;font-size:1.1rem}
.story-lines li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--d)}

/* journey */
.journey{display:grid;grid-template-columns:repeat(var(--n,5),1fr);list-style:none;margin:0;padding:0;counter-reset:s}
.journey li{position:relative;padding:24px 16px 0 0;border-top:3px solid var(--c);counter-increment:s}
.journey li::before{content:"";position:absolute;left:0;top:-10px;width:17px;height:17px;border-radius:50%;background:#fff;border:3px solid var(--c)}
.journey b{display:block;font-size:1.3rem;font-weight:400}
.journey b::before{content:counter(s,decimal-leading-zero);display:block;font-size:12.5px;font-weight:600;color:var(--c-ink);letter-spacing:.14em;margin-bottom:4px}
.journey span{display:block;margin-top:4px;font-size:14.5px;color:var(--ink-muted)}
@media(max-width:900px){.journey{grid-template-columns:repeat(2,1fr);row-gap:30px}}

/* chips / tags */
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span,.tags a{padding:9px 15px;border-radius:999px;background:#fff;font-size:14.5px;font-weight:500;border:1px solid var(--line);text-decoration:none}
.tags.soft span{background:var(--soft);border-color:transparent;color:var(--c-ink);font-weight:600}

/* list rows */
.rows{display:grid;gap:12px}
.row{display:grid;grid-template-columns:auto 1fr auto;gap:4px 16px;align-items:center;background:#fff;border-radius:var(--r-lg);padding:18px 20px;text-decoration:none;border:1px solid rgba(34,48,42,.05);transition:transform .2s}
a.row:hover{transform:translateX(4px)}
.row .t{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:999px;background:var(--soft);color:var(--c-ink);white-space:nowrap}
.row b{font-weight:500;font-size:16px;line-height:1.35}
.row small{grid-column:2;font-size:13.5px;color:var(--ink-muted)}
.row .arr{grid-row:1/3;grid-column:3;color:var(--c-ink);font-weight:600}

/* feature (big coloured) */
.feature{position:relative;background:var(--c);color:var(--on);border-radius:26px;padding:clamp(26px,3.4vw,40px);display:flex;flex-direction:column;gap:14px;overflow:hidden;min-height:320px;text-decoration:none}
.feature::before{content:attr(data-glyph);position:absolute;right:-10px;bottom:-90px;font-size:340px;line-height:1;font-weight:800;opacity:.12}
.feature .k{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.feature h3{margin:0;font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:300;line-height:1.2;max-width:18em}
.feature p{margin:0;opacity:.92;max-width:36em;font-size:16px}
.feature .go{margin-top:auto;font-weight:600}

/* flow pills */
.flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.flow span{display:inline-flex;align-items:center;gap:8px;padding:11px 17px;border-radius:999px;background:#fff;font-weight:600;font-size:15px}
.flow span em{font-style:normal;font-weight:400;color:var(--ink-muted)}
.flow i{font-style:normal;color:var(--c-ink);font-weight:600}

/* booking widget */
.book{background:#fff;border-radius:26px;padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 60px -40px rgba(166,61,39,.6);border:2px solid var(--care)}
.book h3{margin:0;font-size:1.6rem;font-weight:400}
.bsteps{display:flex;gap:6px}
.bsteps i{flex:1;height:5px;border-radius:3px;background:var(--care-soft)}
.bsteps i.on{background:var(--care)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts button{font:500 15px/1 var(--sans);padding:11px 16px;border-radius:999px;border:1.5px solid #CBD4CE;background:#fff;color:var(--ink);cursor:pointer;transition:all .15s}
.opts button:hover{border-color:var(--care)}
.opts button[aria-pressed="true"]{background:var(--care);border-color:var(--care);color:var(--on-care)}
.pros{display:grid;gap:10px}
.pro{display:flex;align-items:center;gap:14px;padding:12px;border-radius:14px;border:1.5px solid var(--line);background:#fff;cursor:pointer;text-align:left;font:inherit;color:inherit}
.pro[aria-pressed="true"]{border-color:var(--care);background:var(--care-soft)}
.pro .av{flex:none;width:44px;height:44px;border-radius:50%;background:var(--av)}
.pro b{display:block;font-size:15.5px}.pro span{font-size:13.5px;color:var(--ink-muted)}
.book .note-s{margin:0;font-size:13.5px;color:var(--ink-muted)}
.book .bnav{display:flex;justify-content:space-between;gap:10px;align-items:center}
.book .back{background:none;border:0;font:600 15px var(--sans);color:var(--ink-muted);cursor:pointer;padding:8px 0}
.done{text-align:center;padding:10px 0}
.done .tick{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;background:var(--edu-soft);display:grid;place-items:center;color:var(--edu);font-size:30px}

/* products */
.prod{display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;text-decoration:none;transition:transform .2s,box-shadow .2s;border:1px solid rgba(34,48,42,.05)}
.prod:hover{transform:translateY(-3px);box-shadow:0 24px 44px -30px rgba(62,98,128,.7)}
.screen{height:180px;background:var(--c);position:relative;padding:20px 20px 0;display:flex;align-items:flex-end;overflow:hidden}
.screen::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;border:26px solid rgba(255,255,255,.14);right:-70px;top:-90px}
.screen .ui{position:relative;width:100%;background:#fff;border-radius:14px 14px 0 0;padding:14px;display:grid;gap:8px;box-shadow:0 -10px 30px -20px rgba(0,0,0,.4)}
.bar{height:8px;border-radius:4px;background:#E9EEEA}.bar.a{width:60%;background:var(--c)}.bar.b{width:85%}.bar.c{width:42%}
.minis{display:flex;gap:6px}.minis i{height:22px;flex:1;border-radius:7px;background:var(--soft)}
.prod .body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px}
.prod h3{margin:0;font-size:1.25rem;font-weight:600}
.prod p{margin:0;font-size:15px;color:var(--ink-muted);line-height:1.5}
.prod .for{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink)}
.prod ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.prod ul li{font-size:13px;padding:5px 10px;border-radius:999px;background:var(--soft);color:var(--c-ink);font-weight:600}

/* community tiles */
.init{border-radius:24px;padding:26px;min-height:200px;display:flex;flex-direction:column;gap:8px;text-decoration:none;background:var(--soft);transition:transform .2s}
.init:hover{transform:translateY(-3px)}
.init h3{margin:0;font-size:1.22rem;font-weight:600}
.init p{margin:0;font-size:15px;line-height:1.5;color:var(--ink-muted)}
.init .area{margin-top:auto;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink)}

/* people */
.person{display:flex;flex-direction:column;gap:4px}
.portrait{aspect-ratio:4/5;border-radius:22px;position:relative;overflow:hidden;margin-bottom:12px;background:var(--c)}
.portrait::before{content:"";position:absolute;left:50%;top:24%;width:34%;aspect-ratio:1;margin-left:-17%;border-radius:50%;background:rgba(255,255,255,.5)}
.portrait::after{content:"";position:absolute;left:50%;bottom:-22%;width:78%;aspect-ratio:1;margin-left:-39%;border-radius:50%;background:rgba(255,255,255,.5)}
.person b{font-size:1.08rem;font-weight:600}
.person span{font-size:14.5px;color:var(--ink-muted)}

/* network */
.net{border:1.5px dashed #BFC9C2;border-radius:var(--r-lg);padding:22px;min-height:124px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;background:#fff}
.net b{font-size:15.5px;font-weight:600}.net span{font-size:13.5px;color:var(--ink-muted)}

/* videos */
.videos{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}
.vid{position:relative;border-radius:24px;overflow:hidden;min-height:220px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;color:var(--on);background:var(--c)}
.vid.big{grid-row:span 2;min-height:460px}
.vid::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.25),transparent 55%)}
.vid .pb{position:absolute;top:22px;left:22px;width:54px;height:54px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:transform .2s}
.vid:hover .pb{transform:scale(1.08)}
.vid .pb::after{content:"";margin-left:4px;border-left:15px solid var(--c-ink);border-top:9px solid transparent;border-bottom:9px solid transparent}
.vid small{position:relative;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.9}
.vid b{position:relative;font-size:1.22rem;font-weight:500;line-height:1.3;max-width:22em}
.vid.big b{font-size:1.7rem;font-weight:300}
.vid .len{position:absolute;top:22px;right:22px;font-size:13px;font-weight:600;background:rgba(255,255,255,.3);padding:4px 11px;border-radius:999px}
@media(max-width:900px){.videos{grid-template-columns:1fr 1fr}.vid.big{grid-column:span 2;grid-row:auto;min-height:300px}}
@media(max-width:520px){.videos{grid-template-columns:1fr}.vid.big{grid-column:auto}}

/* mosaic */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;grid-auto-flow:dense;gap:12px}
.ph{border-radius:20px;background:var(--c);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:14px}
.ph span{position:relative;background:#fff;border-radius:999px;padding:6px 13px;font-size:13.5px;font-weight:600}
.ph::before{content:"";position:absolute;width:140%;aspect-ratio:1;border-radius:50%;border:24px solid rgba(255,255,255,.18);right:-70%;top:-60%}
.ph.t{grid-row:span 2}.ph.w{grid-column:span 2}
@media(max-width:760px){.mosaic{grid-template-columns:1fr 1fr}}

/* feed */
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{font:600 14.5px/1 var(--sans);padding:11px 17px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--edu);color:#fff;border-color:var(--edu)}
.post{display:flex;flex-direction:column;gap:10px;text-decoration:none}
.post .img{aspect-ratio:16/10;border-radius:20px;background:var(--soft);position:relative;overflow:hidden}
.post .img::after{content:"";position:absolute;width:60%;aspect-ratio:1;border-radius:50%;background:var(--c);opacity:.9;right:-12%;bottom:-30%;transition:transform .4s}
.post:hover .img::after{transform:scale(1.1)}
.post .meta{display:flex;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
.post .meta b{color:var(--c-ink)}
.post h3{margin:0;font-size:1.22rem;font-weight:500;line-height:1.35}
.post:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* routes */
.route{display:flex;flex-direction:column;gap:10px;min-height:210px;padding:28px;border-radius:26px;text-decoration:none;transition:transform .2s;background:var(--c);color:var(--on)}
.route:hover{transform:translateY(-4px)}
.route small{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.9}
.route b{margin-top:auto;font-size:1.5rem;font-weight:400;line-height:1.2}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:14.5px;font-weight:600}
.field input,.field select,.field textarea{width:100%;font:400 16px/1.4 var(--sans);color:var(--ink);background:#fff;border:1.5px solid #B9C3BC;border-radius:12px;padding:13px 15px}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--edu);outline-offset:1px;border-color:var(--edu)}
.field .help{font-size:13.5px;color:var(--ink-muted)}
.form .ok{grid-column:1/-1;padding:14px 16px;border-radius:12px;background:var(--edu-soft);color:var(--edu-ink);font-weight:600}
@media(max-width:600px){.form{grid-template-columns:1fr}}
/* ===== redesigned contact ===== */
.contact2{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,48px);align-items:start}
.c2-info .lead{margin-bottom:0}
.c2-mails{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 22px}
.c2-mail{display:flex;flex-direction:column;gap:3px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s}
.c2-mail:hover{border-color:var(--edu,#2F7D5B);transform:translateY(-2px);box-shadow:0 22px 40px -30px rgba(47,125,91,.6)}
.c2-mail span{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--edu,#2F7D5B)}
.c2-mail b{font-size:13.5px;font-weight:500;color:var(--ink);word-break:break-word}
.c2-meta{display:flex;flex-direction:column;gap:13px;padding-top:20px;border-top:1px solid var(--line)}
.c2-meta a{display:inline-flex;align-items:center;gap:11px;font-size:14.5px;font-weight:500;color:var(--ink);text-decoration:none;transition:color .15s;width:fit-content}
.c2-meta a:hover{color:var(--edu,#2F7D5B)}
.c2-meta svg{width:17px;height:17px;flex:none;color:var(--edu,#2F7D5B)}
.c2-meta .c2-help{font-weight:600;color:var(--edu,#2F7D5B)}
.c2-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,32px);display:grid;gap:15px;box-shadow:0 44px 84px -54px rgba(30,40,35,.45)}
.c2-form-t{font-size:1.15rem;font-weight:600;margin:0 0 2px;color:var(--ink)}
.c2-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.c2-form .btn{justify-self:start;margin-top:2px}
.c2-form .ok{padding:14px 16px;border-radius:12px;background:var(--edu-soft);color:var(--edu-ink);font-weight:600}
@media(max-width:860px){.contact2{grid-template-columns:1fr}}
@media(max-width:520px){.c2-mails{grid-template-columns:1fr}.c2-two{grid-template-columns:1fr}}

/* callout */
.callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 40px;padding:24px 28px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.callout h3{margin:0 0 4px;font-size:1.2rem;font-weight:600}
.callout p{margin:0;font-size:15px;color:var(--ink-muted);max-width:60ch}
.safety{border-left:0;background:var(--care-soft);border-color:transparent}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:300;font-size:1.5rem;line-height:1;color:var(--edu)}
.faq details[open] summary::after{content:"–"}
.faq p{margin:10px 0 0;color:var(--ink-muted);max-width:70ch}

/* footer */
footer{border-top:1px solid var(--line);padding-block:60px 32px;background:#fff}
.foot{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
.foot p{margin:16px 0 0;font-size:15px;color:var(--ink-muted);max-width:32ch}
.foot h4{margin:0 0 12px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{text-decoration:none;font-size:15px;color:var(--ink-muted)}
.foot a:hover{color:var(--ink)}
.rainbow{display:flex;height:6px;border-radius:6px;overflow:hidden;margin-top:44px}.rainbow i{flex:1}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px;font-size:14px;color:var(--ink-muted)}
@media(max-width:900px){.foot{grid-template-columns:1fr 1fr}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[hidden]{display:none!important}

/* ===== v3 additions ===== */
/* rounded-square video frame (all heroes) */
.stage{aspect-ratio:1/1}
.arch{inset:0 4% 4% 8%;border-radius:36px}
.arch .sun{top:calc(34% + 46px)}
.play{top:34%}
.film{top:calc(34% + 46px)}
.note{top:4%}
.chip-dark{bottom:0}
.arch .vtag{position:absolute;top:18px;right:18px;z-index:2;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink,var(--edu-ink));background:rgba(255,255,255,.75);padding:6px 11px;border-radius:999px}

/* app badges */
.apps{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.appb{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 16px 0 12px;border-radius:14px;background:var(--deep);color:#fff;text-decoration:none;transition:transform .2s}
.appb:hover{transform:translateY(-2px)}
.appb svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.appb span{display:flex;flex-direction:column;line-height:1.1}
.appb small{font-size:10.5px;opacity:.8;letter-spacing:.04em}
.appb b{font-size:15px;font-weight:600}
.appb.light{background:#fff;color:var(--ink);border:1px solid var(--line)}.appb.light svg{stroke:var(--ink)}
.hero-app{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:26px;padding-top:22px;border-top:1px dashed #D5DDD7;font-size:14.5px;color:var(--ink-muted)}
.hero-app .appb{height:42px;border-radius:12px}
.appband{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(120deg,var(--edu) 0%,#3C8C6A 45%,var(--tech) 100%);color:#fff;padding:clamp(28px,4vw,56px);display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center}
.appband h2{margin:0 0 12px;font-weight:300;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.1}
.appband p{margin:0 0 24px;opacity:.92;max-width:40em;font-size:1.05rem}
.appband .feats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;padding:0;list-style:none}
.appband .feats li{padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.16);font-size:14px;font-weight:600}
.appband .appb{background:#fff;color:var(--ink)}.appband .appb svg{stroke:var(--ink)}
.phone{justify-self:center;width:210px;aspect-ratio:9/18.5;border-radius:34px;background:#fff;border:8px solid #16201C;box-shadow:0 40px 70px -30px rgba(0,0,0,.6);padding:18px 12px;display:flex;flex-direction:column;gap:9px;transform:rotate(4deg)}
.phone .ph-top{height:10px;width:60px;border-radius:6px;background:#E6ECE7;margin:0 auto 6px}
.phone .ph-card{border-radius:12px;padding:10px;color:#fff;font-size:11.5px;font-weight:600}
.phone .ph-row{height:9px;border-radius:5px;background:#E6ECE7}
@media(max-width:760px){.appband{grid-template-columns:1fr}.phone{width:170px}}

/* placeholders for photos / video / logos */
.ph-slot{position:relative;border-radius:20px;border:2px dashed rgba(34,48,42,.25);background:repeating-linear-gradient(135deg,var(--soft,#EEF5F0) 0 14px,#fff 14px 28px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px;color:var(--c-ink,var(--ink-muted));min-height:140px}
.ph-slot svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.ph-slot b{font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.ph-slot span{font-size:13.5px;color:var(--ink-muted);max-width:26ch}
.mosaic .ph-slot{min-height:0}
.ph-slot.t{grid-row:span 2}.ph-slot.w{grid-column:span 2}
.logo-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:30px 22px}
.logo{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:0;border:0;background:none;text-align:center;text-decoration:none}
.logo .lm{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:15px;color:#fff;background:var(--c)}
.logo b{font-size:13.5px;font-weight:600;line-height:1.3;color:var(--ink)}
.logo small{font-size:12px;color:var(--ink-muted)}
.logo.empty{border:2px dashed #CBD4CE;background:transparent}
.logo.empty .lm{background:transparent;border:2px dashed #CBD4CE;color:var(--ink-muted)}
@media(max-width:1000px){.logo-wall{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.logo-wall{grid-template-columns:repeat(2,1fr)}}
.press{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-block:1px solid var(--line)}
.press div{display:flex;align-items:center;justify-content:center;min-height:96px;padding:12px;border-right:1px solid var(--line);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#9AA59D;text-align:center}
.press div:last-child{border-right:0}
@media(max-width:800px){.press{grid-template-columns:repeat(3,1fr)}.press div:nth-child(3n){border-right:0}}
.quote{margin:0;padding:28px;border-radius:24px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.quote p{margin:0;font-size:1.2rem;font-weight:300;line-height:1.5}
.quote cite{font-style:normal;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}

/* trust strip */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.trust div{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.trust .ic{flex:none;margin:0}
.trust b{display:block;font-size:15.5px;line-height:1.3}
.trust span{font-size:13.5px;color:var(--ink-muted)}
@media(max-width:1000px){.trust{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.trust{grid-template-columns:1fr}}
.ic{width:44px;height:44px;border-radius:13px;background:var(--soft,var(--edu-soft));display:grid;place-items:center}
.ic svg{width:22px;height:22px;stroke:var(--c-ink,var(--edu-ink));fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* tabs */
.tabs{display:inline-flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:999px;background:#fff;border:1px solid var(--line);margin-bottom:22px}
.tabs button{font:600 15px/1 var(--sans);padding:13px 20px;border-radius:999px;border:0;background:transparent;color:var(--ink-muted);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--c);color:var(--on)}
.tabnote{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin:0 0 22px;padding:16px 20px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:14.5px;color:var(--ink-muted)}
.tabnote b{color:var(--ink)}

/* programme cards */
.progs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1100px){.progs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.progs{grid-template-columns:1fr}}
.prog{display:flex;flex-direction:column;gap:10px;text-align:left;font:inherit;color:inherit;padding:22px;border-radius:20px;background:#fff;border:1px solid rgba(34,48,42,.07);cursor:pointer;transition:transform .2s,box-shadow .2s}
.prog:hover{transform:translateY(-3px);box-shadow:0 22px 40px -28px rgba(34,48,42,.55)}
.prog .lv{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink)}
.prog .lv i{font-style:normal;padding:4px 9px;border-radius:999px;background:var(--soft);letter-spacing:.06em}
.prog h3{margin:0;font-size:1.22rem;font-weight:600;line-height:1.25}
.prog p{margin:0;font-size:14.5px;color:var(--ink-muted);line-height:1.5}
.modes{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.modes span{font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-muted)}
.modes span.on{background:var(--soft);border-color:transparent;color:var(--c-ink)}
.prog .open{font-size:14px;font-weight:600;color:var(--c-ink)}

/* dialog */
dialog.dlg{border:0;border-radius:28px;padding:0;max-width:min(760px,94vw);width:100%;box-shadow:0 50px 100px -30px rgba(0,0,0,.5);color:var(--ink)}
dialog.dlg::backdrop{background:rgba(22,32,28,.45);backdrop-filter:blur(3px)}
.dlg-in{padding:clamp(22px,4vw,40px);display:grid;gap:18px;max-height:86vh;overflow:auto}
.dlg-x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:20px;cursor:pointer}
.dlg h2{margin:0;font-weight:300;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15}
.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kv div{padding:14px;border-radius:14px;background:var(--soft,var(--sage-soft))}
.kv b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink,var(--edu-ink))}
.kv span{font-size:15px;font-weight:500}
@media(max-width:560px){.kv{grid-template-columns:1fr 1fr}}

/* certificate sample */
.cert{position:relative;aspect-ratio:1.414/1;border-radius:14px;background:#fff;padding:7%;box-shadow:0 30px 60px -36px rgba(34,48,42,.6);border:10px solid var(--c);outline:1px solid var(--line);outline-offset:-22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;overflow:hidden}
.cert .sm{position:absolute;top:14px;left:14px;font-size:11px;font-weight:700;letter-spacing:.16em;padding:4px 9px;border-radius:999px;background:var(--care);color:var(--on-care)}
.cert small{font-size:clamp(9px,1vw,12px);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted)}
.cert h4{margin:0;font-family:var(--script);font-weight:400;font-size:clamp(1.6rem,3vw,2.6rem);color:var(--c-ink);line-height:1.1}
.cert .nm2{font-size:clamp(1rem,1.8vw,1.4rem);font-weight:300;border-bottom:1px solid var(--line);padding:0 30px 4px}
.cert .foot2{display:flex;justify-content:space-between;width:100%;margin-top:auto;font-size:clamp(8px,.9vw,11px);color:var(--ink-muted)}
.cert .seal{position:absolute;right:7%;bottom:18%;width:15%;aspect-ratio:1;border-radius:50%;border:3px double var(--c);display:grid;place-items:center;font-size:clamp(7px,.8vw,10px);font-weight:700;color:var(--c-ink);transform:rotate(-12deg)}

/* helpline / IVR */
.hotline{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.callcard{border-radius:28px;background:var(--care);color:var(--on-care);padding:clamp(24px,3.5vw,40px);display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.callcard::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:30px solid rgba(255,255,255,.2)}
.callcard .num{font-size:clamp(1.7rem,3.2vw,2.6rem);white-space:nowrap;font-weight:300;letter-spacing:.02em;text-decoration:none;color:inherit}
.callcard small{font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.ivr{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ivr li{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:15px}
.ivr kbd{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font:600 16px var(--sans);background:var(--care-soft);color:var(--care-ink);border:1px solid #F5C9BC}
@media(max-width:900px){.hotline{grid-template-columns:1fr}}

/* tiers */
.tier{border-radius:24px;padding:26px;background:#fff;border:2px solid var(--line);display:flex;flex-direction:column;gap:10px}
.tier.hi{border-color:var(--c);box-shadow:0 30px 60px -40px rgba(34,48,42,.6)}
.tier h3{margin:0;font-size:1.3rem;font-weight:600}
.tier .badge{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--soft);color:var(--c-ink)}
.tier ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:15px;color:var(--ink-muted)}
.tier li::before{content:"✓ ";color:var(--c-ink);font-weight:700}

/* books / patents */
.book-card{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;padding:22px;border-radius:24px;background:#fff;border:1px solid var(--line)}
.book-card .cover{aspect-ratio:2/3;min-height:0}
.book-card h3{margin:0 0 6px;font-size:1.3rem;font-weight:600}
.book-card p{margin:0 0 12px;color:var(--ink-muted);font-size:15px}
@media(max-width:520px){.book-card{grid-template-columns:1fr}.book-card .cover{max-width:160px}}
.patent{padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.patent .pn{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink)}
.patent h3{margin:0;font-size:1.12rem;font-weight:600}
.patent p{margin:0;font-size:14.5px;color:var(--ink-muted)}
.patent .st{align-self:flex-start;margin-top:auto;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--c-ink)}

/* stats (placeholders) */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat{padding:24px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.stat b{display:block;font-size:clamp(2rem,3.4vw,2.8rem);font-weight:300;color:var(--c-ink,var(--edu-ink));line-height:1.1}
.stat span{font-size:14px;color:var(--ink-muted)}
.stat em{display:block;font-style:normal;font-size:11.5px;color:var(--care-ink);margin-top:6px;font-weight:600}
@media(max-width:800px){.stats{grid-template-columns:1fr 1fr}}

/* faq section */
.faqsec .split{align-items:start}
.faq details{background:transparent}

/* blog */
.blog-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;padding:clamp(20px,3vw,32px);border-radius:28px;background:#fff;border:1px solid var(--line);text-decoration:none}
.blog-feature .ph-slot{aspect-ratio:4/3}
.blog-feature h3{margin:0 0 12px;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:300;line-height:1.15}
.blog-feature p{margin:0 0 16px;color:var(--ink-muted)}
@media(max-width:800px){.blog-feature{grid-template-columns:1fr}}
.post .ph-slot{aspect-ratio:16/10;min-height:0}
.byline{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink-muted)}
.byline i{width:36px;height:36px;border-radius:50%;background:var(--c)}
.article{max-width:760px;margin:0 auto}
.article h1{font-weight:300;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 18px}
.article .dek{font-size:1.25rem;font-weight:300;color:var(--ink-muted);margin:0 0 24px}
.article h2{font-weight:400;font-size:1.7rem;margin:44px 0 12px}
.article p,.article li{font-size:1.1rem;line-height:1.8;color:#34423A}
.article blockquote{margin:32px 0;padding:6px 0 6px 24px;border-left:3px solid var(--c);font-size:1.4rem;font-weight:300;line-height:1.5}
.article .box{padding:22px 24px;border-radius:18px;background:var(--soft);margin:28px 0}
.article .box b{display:block;margin-bottom:6px}
.toc{position:sticky;top:100px;display:grid;gap:8px;font-size:14.5px}
.toc a{text-decoration:none;color:var(--ink-muted)}.toc a:hover{color:var(--ink)}
.artgrid{display:grid;grid-template-columns:220px 1fr;gap:48px}
@media(max-width:900px){.artgrid{grid-template-columns:1fr}.toc{position:static}}

/* directory */
.dir{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.org{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line);text-decoration:none;transition:transform .2s}
.org:hover{transform:translateY(-3px)}
.org .rg{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink)}
.org h3{margin:0;font-size:1.12rem;font-weight:600;line-height:1.3}
.org p{margin:0;font-size:14.5px;color:var(--ink-muted)}
.org .url{margin-top:auto;font-size:13.5px;font-weight:600;color:var(--c-ink)}
@media(max-width:900px){.dir{grid-template-columns:1fr 1fr}}@media(max-width:560px){.dir{grid-template-columns:1fr}}
.search{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.search input{flex:1;min-width:220px;font:400 16px var(--sans);padding:14px 18px;border-radius:999px;border:1.5px solid #B9C3BC;background:#fff}

/* policies */
.pol{display:grid;grid-template-columns:240px 1fr;gap:40px}
.pol nav{position:sticky;top:100px;align-self:start;display:grid;gap:6px}
.pol nav a{padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:500;color:var(--ink-muted)}
.pol nav a:hover{background:#fff;color:var(--ink)}
.pol article{display:grid;gap:18px}
.pol section{padding:26px 28px;border-radius:22px;background:#fff;border:1px solid var(--line)}
.pol h2{margin:0 0 10px;font-size:1.5rem;font-weight:400}
.pol p,.pol li{color:#3A483F;font-size:15.5px}
@media(max-width:900px){.pol{grid-template-columns:1fr}.pol nav{position:static;grid-template-columns:1fr 1fr}}
.pay{display:flex;flex-wrap:wrap;gap:8px}
.pay span{padding:8px 13px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:13.5px;font-weight:600}

/* chat widget */
.chat-fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:12px;padding:9px 20px 9px 9px;border-radius:999px;border:0;background:var(--edu);color:#fff;font:600 15px var(--sans);cursor:pointer;box-shadow:0 20px 40px -14px rgba(47,125,91,.8);transition:transform .2s}
.chat-fab:hover{transform:translateY(-2px)}
.faces{display:flex}
.faces i{width:36px;height:36px;border-radius:50%;border:2.5px solid #fff;margin-left:-10px;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700;color:#fff}
.faces i:first-child{margin-left:0}
.chat-fab .live{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.chat-fab .live small{font-size:11.5px;font-weight:500;opacity:.9;display:flex;align-items:center;gap:6px}
.chat-fab .live small::before{content:"";width:8px;height:8px;border-radius:50%;background:#9DF0B9;box-shadow:0 0 0 3px rgba(157,240,185,.3)}
.chat{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:61;width:min(380px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 120px));display:flex;flex-direction:column;border-radius:26px;background:#fff;box-shadow:0 40px 90px -30px rgba(0,0,0,.45);overflow:hidden;transform-origin:bottom right;animation:pop .25s ease}
@keyframes pop{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:none}}
.chat-h{padding:18px 18px 16px;background:linear-gradient(120deg,var(--edu),#3C8C6A);color:#fff;position:relative}
.chat-h b{display:block;font-size:17px}
.chat-h span{font-size:13px;opacity:.9}
.chat-h .faces{margin-bottom:12px}
.chat-h .x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:18px;cursor:pointer}
.team{display:grid;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line)}
.team button{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;border:1px solid var(--line);background:#fff;font:inherit;text-align:left;cursor:pointer}
.team button[aria-pressed="true"]{border-color:var(--edu);background:var(--edu-soft)}
.team .av{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;flex:none}
.team .av::after{content:"";position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#35B26B;border:2px solid #fff}
.team b{display:block;font-size:14.5px}.team small{font-size:12.5px;color:var(--ink-muted)}
.msgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#FAFBF9;min-height:120px}
.msg{max-width:84%;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.45}
.msg.them{background:#fff;border:1px solid var(--line);border-bottom-left-radius:6px;align-self:flex-start}
.msg.me{background:var(--edu);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}
.quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px;background:#FAFBF9}
.quick button{font:500 13px var(--sans);padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer}
.chat form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.chat input{flex:1;font:400 15px var(--sans);padding:12px 14px;border-radius:999px;border:1.5px solid #CBD4CE}
.chat form button{width:46px;height:46px;border-radius:50%;border:0;background:var(--edu);color:#fff;font-size:18px;cursor:pointer}
.chat .foot3{padding:8px 14px 12px;font-size:12px;color:var(--ink-muted);text-align:center}
@media(max-width:520px){.chat-fab .live{display:none}.chat-fab{padding:8px}}

/* school of psychologists */
.school{position:relative;border-radius:32px;overflow:hidden;background:var(--edu);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:0}
.school .txt{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:16px}
.school h2{margin:0;font-weight:300;font-size:clamp(2rem,4vw,3rem);line-height:1.1}
.school p{margin:0;opacity:.92}
.school .ph-slot{border-radius:0;border:0;border-left:2px dashed rgba(255,255,255,.4);background:repeating-linear-gradient(135deg,#3C8C6A 0 14px,#2F7D5B 14px 28px);color:#fff;min-height:360px}
.school .ph-slot span{color:rgba(255,255,255,.85)}
.school .tags span{background:rgba(255,255,255,.15);border-color:transparent;color:#fff}
@media(max-width:900px){.school{grid-template-columns:1fr}.school .ph-slot{border-left:0;border-top:2px dashed rgba(255,255,255,.4);min-height:220px}}

/* v4 */
.logo .lmimg{width:56px;height:56px;border-radius:14px;object-fit:cover}
.docs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.doc{display:flex;flex-direction:column;gap:12px;padding:12px 12px 16px;border-radius:22px;background:#fff;border:1px solid var(--line);cursor:zoom-in;text-align:left;font:inherit;color:inherit;transition:transform .2s,box-shadow .2s}
.doc:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(34,48,42,.6)}
.doc img{width:100%;aspect-ratio:1/1.414;object-fit:cover;object-position:top;border-radius:12px;border:1px solid var(--line)}
.doc b{display:block;font-size:1.05rem}.doc small{font-size:13.5px;color:var(--ink-muted)}
@media(max-width:900px){.docs{grid-template-columns:1fr 1fr}}@media(max-width:560px){.docs{grid-template-columns:1fr}}
.zoomdlg{max-width:min(820px,96vw)}
.partner-strip{display:flex;gap:16px;align-items:center;margin-top:24px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.partner-strip img{flex:none;width:64px;height:64px;border-radius:14px}
.partner-strip b{display:block;font-size:16px}.partner-strip span{font-size:14px;color:var(--ink-muted)}
.offices{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;margin-top:28px;font-size:13.5px;color:var(--ink-muted)}
.offices b{color:var(--ink);margin-right:6px}
.offices a{color:var(--ink-muted)}
@media(max-width:700px){.offices{grid-template-columns:1fr}}

.foot .appb,.foot .appb:hover{color:#fff}
.offices a{white-space:nowrap}

/* ===== v5: logo, cinematic ===== */
.brandlogo{display:block;width:120px;height:61px;background:url("logo.png") left center/contain no-repeat}
footer .brandlogo{width:150px;height:76px}
.chatlogo{display:block;width:74px;height:38px;margin-bottom:10px;background:url("logo-white.png") left center/contain no-repeat}
@media(max-width:600px){.brandlogo{width:88px;height:45px}}

/* cinematic hero aurora */
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-20% -10% auto -10%;height:120%;z-index:-1;pointer-events:none;
  background:radial-gradient(40% 50% at 78% 30%,rgba(47,125,91,.16),transparent 70%),radial-gradient(30% 40% at 92% 70%,rgba(239,106,78,.14),transparent 70%),radial-gradient(35% 45% at 60% 85%,rgba(79,118,149,.13),transparent 70%),radial-gradient(30% 40% at 18% 10%,rgba(108,98,150,.10),transparent 70%);
  animation:aurora 18s ease-in-out infinite alternate}
@keyframes aurora{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-3%,2%,0) scale(1.08)}}
.hero h1{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero .sub{animation:rise .9s .15s cubic-bezier(.2,.7,.2,1) both}
.hero .lead,.hero .divline,.hero .cta-row{animation:rise .9s .3s cubic-bezier(.2,.7,.2,1) both}
.stage{animation:rise 1.1s .2s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:.001;transform:translateY(22px)}to{opacity:1;transform:none}}

/* scroll reveal (only below-the-fold items get armed by JS) */
.rv-armed{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv-in{opacity:1;transform:none}

/* marquee */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:#fff;margin-bottom:clamp(40px,5vw,64px);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;gap:28px;align-items:center;width:max-content;padding:20px 0;animation:mq 40s linear infinite}
.mq-track span{font-size:clamp(1.05rem,1.6vw,1.35rem);font-weight:300;white-space:nowrap;color:var(--ink)}
.mq-track i{font-style:normal;color:var(--care)}
.marquee:hover .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}

/* cinematic success stories */
.cine{position:relative;overflow:hidden;color:#fff;padding-block:clamp(72px,9vw,128px);isolation:isolate;margin-block:clamp(24px,4vw,48px)}
.cine-bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,#1E5C47 0%,#2F7D5B 38%,#3D6F8E 72%,#5C548A 100%)}
.cine-bg::before,.cine-bg::after{content:"";position:absolute;border-radius:50%;filter:blur(10px)}
.cine-bg::before{width:60vw;height:60vw;left:-15vw;top:-30vw;background:radial-gradient(circle,rgba(168,203,182,.35),transparent 65%);animation:aurora 16s ease-in-out infinite alternate}
.cine-bg::after{width:50vw;height:50vw;right:-10vw;bottom:-25vw;background:radial-gradient(circle,rgba(239,106,78,.3),transparent 65%);animation:aurora 20s ease-in-out infinite alternate-reverse}
.cine-head{max-width:760px;margin-bottom:clamp(32px,4vw,52px)}
.cine-head h2{margin:0 0 16px;font-weight:300;font-size:clamp(2.4rem,5.6vw,4.6rem);line-height:1.04;letter-spacing:-.025em}
.cine-head .script{color:#F7C9B9;font-size:1.05em}
.cine-head p{margin:0;font-size:1.15rem;font-weight:300;opacity:.9;max-width:38em}
.st-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,42%);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin}
.st-rail:focus-visible{outline:2px solid #fff}
@media(max-width:800px){.st-rail{grid-auto-columns:85%}}
.st{scroll-snap-align:start;border-radius:28px;overflow:hidden;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;transition:transform .3s}
.st:hover{transform:translateY(-6px)}

.st-play{width:72px;height:72px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 20px 40px -14px rgba(0,0,0,.5)}
.st-play::after{content:"";margin-left:5px;border-left:18px solid var(--c-ink);border-top:11px solid transparent;border-bottom:11px solid transparent}
.st-tag{position:absolute;left:16px;bottom:14px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.28)}
.st-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px}
.st-body .k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.st-body h3{margin:0;font-size:1.6rem;font-weight:300;line-height:1.2}
.st-body p{margin:0;opacity:.85}
.st-nav{display:flex;gap:10px;align-items:center;margin-top:24px}
.st-nav button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:18px;cursor:pointer}
.st-nav button:hover{background:rgba(255,255,255,.15)}
.cine .btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}

/* books */
.books{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.bk{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:center;padding:24px;border-radius:30px;background:#fff;border:1px solid var(--line);overflow:hidden}
.bk-stage{position:relative;border-radius:22px;padding:22px 16px 10px;background:radial-gradient(80% 70% at 50% 40%,color-mix(in srgb,var(--bc) 22%,#fff),#fff 75%);perspective:900px}
.bk-stage img{width:100%;max-width:240px;margin:0 auto;display:block;transform:rotateY(-14deg) rotateX(4deg);transition:transform .6s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(18px 26px 26px rgba(0,0,0,.28))}
.bk:hover .bk-stage img{transform:rotateY(0) rotateX(0) scale(1.03)}
.bk-txt .k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink,var(--edu-ink))}
.bk-txt h3{margin:8px 0 4px;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;line-height:1.15}
.bk-txt .sub2{margin:0 0 10px;font-style:italic;color:var(--ink)}
.bk-txt p{margin:0 0 16px;color:var(--ink-muted);font-size:15px}
@media(max-width:1000px){.books{grid-template-columns:1fr}}
@media(max-width:560px){.bk{grid-template-columns:1fr}}

/* talk band (country phones) */
.talk{position:relative;overflow:hidden;border-radius:34px;padding:clamp(28px,4.5vw,60px);background:linear-gradient(120deg,#1C8C8F,#2F9E9A 45%,#3A8FB0);color:#fff;display:grid;gap:30px;text-align:center}
.talk::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;border:40px solid rgba(255,255,255,.1)}
.talk h2{margin:0 0 10px;font-weight:300;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}
.talk .script{color:#FFE6A8;font-size:1.1em}
.talk p{margin:0 auto;max-width:40em;opacity:.92}
.ctys{display:grid;grid-template-columns:repeat(4,1fr);text-align:left}
.cty{display:flex;align-items:center;gap:14px;padding:12px 18px;text-decoration:none;color:#fff;border-left:1px solid rgba(255,255,255,.3)}
.cty:first-child{border-left:0}
.cty svg{flex:none;width:52px;height:52px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.cty small{display:block;font-size:14px;opacity:.9}.cty b{font-size:1.1rem;font-weight:600;white-space:nowrap}
.cty:hover b{text-decoration:underline;text-underline-offset:4px}
.talk .btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
@media(max-width:1000px){.ctys{grid-template-columns:1fr 1fr;row-gap:12px}.cty:nth-child(3){border-left:0}}
@media(max-width:520px){.ctys{grid-template-columns:1fr}.cty{border-left:0}}

/* social */
.socs{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.soc{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:22px;background:#fff;border:1px solid var(--line);text-decoration:none;transition:transform .2s,box-shadow .2s}
.soc:hover{transform:translateY(-4px);box-shadow:0 24px 44px -30px rgba(34,48,42,.6)}
.soc i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--sc);color:#fff;font-style:normal;font-weight:800;font-size:18px}
.soc b{display:block;font-size:1.05rem}.soc small{font-size:13.5px;color:var(--ink-muted)}
.soc em{font-style:normal;font-size:14px;font-weight:600;color:var(--sc)}
@media(max-width:1000px){.socs{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.socs{grid-template-columns:1fr 1fr}}
.fsoc{display:flex;gap:8px;margin-top:14px}
.fsoc a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sc);color:#fff!important;font-weight:800;font-size:13px;text-decoration:none}

/* map */
.mapbox{position:relative;border-radius:30px;overflow:hidden;min-height:420px;background:var(--sage-soft);border:1px solid var(--line)}
.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapcard{position:absolute;left:20px;bottom:20px;max-width:340px;padding:20px 22px;border-radius:20px;background:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.5);display:grid;gap:6px}
.mapcard .k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--edu-ink)}
.mapcard b{font-size:1.15rem}.mapcard p{margin:0 0 6px;font-size:14.5px;color:var(--ink-muted)}
@media(max-width:560px){.mapbox{min-height:520px}.mapcard{left:12px;right:12px;max-width:none}}

/* payments */
.payc{display:flex;flex-direction:column;gap:8px;padding:26px;border-radius:24px;background:#fff;border:1px solid var(--line);border-top:6px solid var(--pc);text-decoration:none;transition:transform .2s}
.payc:hover{transform:translateY(-3px)}
.payc .k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--pc)}
.payc b{font-size:1.3rem;font-weight:600}.payc p{margin:0;color:var(--ink-muted);font-size:15px}
.payc .pb{margin-top:auto;padding-top:8px;font-weight:600;color:var(--pc);font-size:14.5px;text-align:left}
footer .cta-row .btn{min-height:38px;padding:0 16px;font-size:13.5px}
footer .btn-edu{color:#fff!important}
.mapbox{background:
  radial-gradient(circle at 62% 46%,var(--care) 0 9px,#fff 9px 13px,transparent 14px),
  radial-gradient(circle at 62% 46%,rgba(239,106,78,.18) 0 60px,transparent 61px),
  linear-gradient(28deg,transparent 48%,#fff 48% 50.5%,transparent 50.5%),
  linear-gradient(-62deg,transparent 58%,#fff 58% 60%,transparent 60%),
  repeating-linear-gradient(0deg,transparent 0 58px,rgba(255,255,255,.7) 58px 60px),
  repeating-linear-gradient(90deg,transparent 0 78px,rgba(255,255,255,.7) 78px 80px),
  linear-gradient(135deg,#E3EFE6,#DCE8EF)}

/* v6: course catalogue */
.cat-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:22px}
.cat-bar input{flex:0 1 300px;font:400 15.5px var(--sans);padding:12px 18px;border-radius:999px;border:1.5px solid #B9C3BC;background:#fff}
.crs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:1000px){.crs-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.crs-grid{grid-template-columns:1fr}}
.crs{display:flex;flex-direction:column;gap:10px;text-align:left;font:inherit;color:inherit;padding:22px;border-radius:24px;background:#fff;border:1px solid var(--line);cursor:pointer;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}
.crs::before{content:"";position:absolute;right:-50px;top:-50px;width:140px;height:140px;border-radius:50%;background:var(--edu-soft);transition:transform .4s}
.crs:hover{transform:translateY(-4px);box-shadow:0 30px 50px -32px rgba(34,48,42,.55)}.crs:hover::before{transform:scale(1.3)}
.crs>*{position:relative}
.crs-top{display:flex;gap:8px;align-items:center}
.lvl{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--edu-ink)}
.pop{font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--care);color:var(--on-care)}
.crs h3{margin:0;font-size:1.25rem;font-weight:600;line-height:1.25}
.crs-meta{font-size:14px;color:var(--ink-muted)}
.crs-price,.cd-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.crs-price b{font-size:1.6rem;font-weight:600;color:var(--edu-ink)}.cd-price b{font-size:2.2rem;font-weight:600;color:var(--edu-ink)}
.crs-price s,.cd-price s{color:var(--ink-muted);font-size:15px}
.crs-price em,.cd-price em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--care-ink);background:var(--care-soft);padding:3px 8px;border-radius:999px}
.ind{font-style:normal;font-size:11px;font-weight:600;color:var(--sun-ink);background:var(--sun-soft);padding:3px 8px;border-radius:999px}
.crs-foot{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--ink-muted)}
.crs-foot .go{font-weight:600;color:var(--edu-ink)}
.cdlg{max-width:min(880px,95vw)}
.cd-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}
@media(max-width:700px){.cd-cols{grid-template-columns:1fr}}
.cd-h{display:block;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--edu-ink);margin-bottom:8px}
.cd-mods{margin:0;padding-left:22px;display:grid;gap:5px;font-size:15px}
.cd-feat{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14.5px}
.cd-feat li::before{content:"✓ ";color:var(--edu);font-weight:700}

/* universities */
.uni-h{margin:0 0 16px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}
.uni-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px 32px}
.uni{display:flex;align-items:center;gap:14px;padding:0;background:none;border:0;border-radius:0}
.uni:hover{transform:translateY(-2px)}
.seal{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--uc);color:#fff;box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),0 0 0 2px var(--uc)}
.seal b{font-size:12.5px;letter-spacing:.04em;font-weight:800}
.uni b{display:block;font-size:14px;font-weight:600;line-height:1.25;color:var(--ink)}.uni small{font-size:12px;color:var(--ink-muted)}

/* recognition */
.ipc{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:22px;background:#fff;border:1px solid var(--line)}
.ipc .k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink)}
.ipc h3{margin:0;font-size:1.12rem;font-weight:600}.ipc p{margin:0;font-size:14.5px;color:var(--ink-muted)}
.ipc .st{align-self:flex-start;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--c-ink)}

/* events */
.ev-list{display:grid;gap:12px}
.ev{display:grid;grid-template-columns:200px 1fr auto;gap:20px;align-items:center;padding:20px 22px;border-radius:22px;background:#fff;border:1px solid var(--line);transition:transform .2s}
.ev:hover{transform:translateX(4px)}
.ev-date{padding-right:18px;border-right:3px solid var(--c)}
.ev-date .k{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink)}
.ev-date b{display:block;font-size:1.1rem}.ev-date small{color:var(--ink-muted)}
.ev-body h3{margin:0 0 4px;font-size:1.25rem;font-weight:600}.ev-body p{margin:0;color:var(--ink-muted);font-size:15px}
@media(max-width:760px){.ev{grid-template-columns:1fr}.ev-date{border-right:0;border-bottom:3px solid var(--c);padding:0 0 10px}}
.cine .ph-slot span{color:rgba(255,255,255,.8)}

/* media */
.bigvid{position:relative;aspect-ratio:16/9;border-radius:32px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(0,0,0,.25)),repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 16px,transparent 16px 32px);border:1px solid rgba(255,255,255,.25);box-shadow:0 60px 120px -50px rgba(0,0,0,.6)}
.bigvid .st-play{width:108px;height:108px;border:0;cursor:pointer;--c-ink:var(--edu)}
.bigvid .st-play::after{border-left-width:26px;border-top-width:16px;border-bottom-width:16px}
.bv-cap{position:absolute;left:28px;bottom:26px;display:grid}.bv-cap b{font-size:1.6rem;font-weight:300}.bv-cap span{opacity:.8}
.mk-logos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 14px}
.mkl{display:grid;place-items:center;gap:8px;padding:20px;border-radius:18px;border:1px solid var(--line);background:#fff}
.mkl.dark{background:var(--edu)}.mkl.dark small{color:#fff}
.mkl small{font-size:12.5px;color:var(--ink-muted)}

/* stories */
.moments{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:m}
.mom{position:relative;display:flex;flex-direction:column;gap:10px}
.mom-n{position:absolute;top:14px;left:14px;z-index:2;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:var(--c);color:var(--on)}
.mom h3{margin:8px 0 0;font-size:1.5rem;font-weight:300}.mom p{margin:0;color:var(--ink-muted);font-size:1.05rem;line-height:1.7}
@media(max-width:860px){.moments{grid-template-columns:1fr}}
.bigq{position:relative;margin:0;padding:clamp(34px,5vw,64px);border-radius:36px;background:linear-gradient(135deg,var(--edu-soft),var(--care-soft));font-size:clamp(1.6rem,3.4vw,2.8rem);font-weight:300;line-height:1.3;letter-spacing:-.01em;text-align:center}
.bigq span{display:block;font-family:var(--script);font-size:5rem;line-height:.6;color:var(--care)}
.bigq cite{display:block;margin-top:18px;font-style:normal;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}
.swall{columns:3 300px;column-gap:18px}
.sw{break-inside:avoid;margin:0 0 18px;border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.sw-media{position:relative;aspect-ratio:4/3;background:linear-gradient(160deg,var(--c),rgba(0,0,0,.18));display:grid;place-items:center;color:#fff}
.sw:nth-child(2n) .sw-media{aspect-ratio:1/1}
.sw-q{margin:0;padding:20px 22px 6px;font-size:1.2rem;font-weight:300;line-height:1.5}
.sw-by{display:flex;gap:12px;align-items:center;padding:12px 22px 20px}
.sw-av{width:40px;height:40px;border-radius:50%;background:var(--soft);border:2px dashed var(--c)}
.sw-by b{display:block;font-size:15px}.sw-by small{font-size:13px;color:var(--ink-muted)}
.mkl .brandlogo,.mkl .chatlogo{max-width:100%}
@media(max-width:520px){.mk-logos{grid-template-columns:1fr}}
.cine .crumbs,.cine .crumbs a,.cine .crumbs span{color:rgba(255,255,255,.85)}
.bigvid .st-tag{top:20px;left:20px;bottom:auto}

/* ===== v7: spacious, thin handwritten script, membership, partners, fellowship ===== */
:root{--script:"Allura","Brush Script MT",cursive}
.script,.hero .sub,.model-foot em,.cert h4,.bigq span{font-family:var(--script);font-weight:400}
.script{font-size:1.4em;line-height:.9;letter-spacing:.01em}
.hero .sub{font-size:clamp(3.2rem,6vw,5.4rem);line-height:1.05;margin:.02em 0 .45em;letter-spacing:.01em}
.phero .sub{font-size:clamp(2.9rem,5.2vw,4.6rem)}
.cine-head .script{font-size:1.35em;color:#FFD9CC}
.talk .script{font-size:1.4em}

/* more air */
section{padding-block:clamp(72px,9vw,136px)}
.tight{padding-top:0}
.head{margin-bottom:clamp(40px,5vw,64px)}
.display{margin-bottom:22px;line-height:1.12}
.lead{line-height:1.75}
.grid{gap:clamp(14px,1.8vw,22px)}
.card{padding:28px 26px 26px;gap:10px}
.panel{padding:clamp(28px,5vw,72px);border-radius:36px}
.wrap{max-width:1220px}
.nav .wrap{height:82px}
.links{gap:24px}
.links a{font-size:15.5px}
.actions{gap:10px}
@media(max-width:1280px){.links{display:none}.menu{display:block}}
@media(max-width:760px){.actions .ap{display:none}}
@media(max-width:600px){.actions .gh{display:none}.nav .wrap{height:70px}}
@media(max-width:380px){.actions .btn-care{padding:0 14px}}

/* offices */
.ofcs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ofc{display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:26px;background:#fff;border:1px solid var(--line)}
.ofc svg{width:48px;height:48px;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line)}
.ofc .k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--edu-ink)}
.ofc h3{margin:4px 0 6px;font-size:1.35rem;font-weight:400}
.ofc p{margin:0 0 6px;color:var(--ink-muted);font-size:15px;line-height:1.6}
.ofc small{display:block;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--ink)}
.ofc .btn{align-self:flex-start;margin-top:4px}
@media(max-width:1100px){.ofcs{grid-template-columns:1fr 1fr}}@media(max-width:560px){.ofcs{grid-template-columns:1fr}}

/* ID card */
.idstack{position:relative;justify-self:center;width:100%;max-width:480px;aspect-ratio:1/1;display:grid;place-items:center}
.idcard{position:absolute;width:min(360px,86%);aspect-ratio:1.586/1;border-radius:22px;padding:18px 20px;background:linear-gradient(135deg,#fff 0%,#F3F8F4 60%,#E1EFE4 100%);box-shadow:0 40px 70px -34px rgba(34,48,42,.55),inset 0 0 0 1px rgba(47,125,91,.15);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transform:rotate(-6deg) translate(-8%,-10%);animation:float 7s ease-in-out infinite}
.idcard::before{content:"";position:absolute;right:-60px;bottom:-60px;width:200px;height:200px;border-radius:50%;border:26px solid rgba(47,125,91,.08)}
.idcard.org{background:linear-gradient(135deg,#2F7D5B 0%,#3D6F8E 100%);color:#fff;transform:rotate(5deg) translate(10%,14%);animation-delay:-3s}
.idcard.org .idc-logo{background-image:url("logo-white.png")}
.idc-top{display:flex;justify-content:space-between;align-items:center}
.idc-logo{width:78px!important;height:40px!important}
.idc-kind{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--care);color:var(--on-care)}
.idc-mid{display:flex;gap:14px;align-items:center}
.idc-photo{width:58px;height:70px;border-radius:12px;background:rgba(34,48,42,.08);border:2px dashed rgba(34,48,42,.25)}
.idcard.org .idc-photo{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.5)}
.idc-mid small{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.idc-mid b{display:block;font-size:15px;margin-bottom:4px}
.mono{font-variant-numeric:tabular-nums;letter-spacing:.06em}
.idc-bot{display:flex;justify-content:space-between;align-items:flex-end}
.idc-bot small{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.idc-bot b{font-size:13px}
.idc-qr{width:42px;height:42px;border-radius:6px;background:
  conic-gradient(from 90deg at 30% 30%,currentColor 25%,transparent 0) 0 0/10px 10px,#fff;opacity:.85;border:3px solid #fff}
.idc-sample{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-18deg);font-size:28px;font-weight:800;letter-spacing:.2em;color:rgba(239,106,78,.18);pointer-events:none}
@media(max-width:940px){.idstack{max-width:380px}}

/* plans */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px)}
.plan{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(28px,3.5vw,44px);border-radius:32px;background:#fff;border:1px solid var(--line)}
.plan.hi{border:2px solid var(--c,var(--care));box-shadow:0 40px 80px -50px rgba(166,61,39,.55)}
.plan .k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink,var(--care-ink))}
.plan h3{margin:0;font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:300}
.pp{display:flex;align-items:baseline;gap:8px}.pp b{font-size:clamp(2.4rem,4vw,3.2rem);font-weight:300;color:var(--ink)}.pp span{color:var(--ink-muted)}
.plan .muted{margin:0}
.badge2{position:absolute;top:-14px;right:28px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:999px;background:var(--c,var(--care));color:var(--on,var(--on-care))}
.ticks{margin:4px 0 8px;padding:0;list-style:none;display:grid;gap:10px}
.ticks li{position:relative;padding-left:30px;font-size:15.5px;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--edu-soft) no-repeat center/12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F7D5B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E")}
.plan .cta-row{margin-top:auto}
@media(max-width:860px){.plans{grid-template-columns:1fr}}

/* compare table */
.tablewrap{overflow-x:auto;border-radius:22px;background:#fff;border:1px solid var(--line)}
.cmp{width:100%;border-collapse:collapse;min-width:560px}
.cmp th,.cmp td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);font-size:15px;vertical-align:top}
.cmp thead th{font-size:14px;font-weight:600;background:var(--edu-soft)}
.cmp thead small{font-weight:400;color:var(--ink-muted)}
.cmp tbody th{font-weight:600}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}

/* fellowship */
.fel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fel{padding:22px;border-radius:22px;background:#fff;border:1px solid rgba(34,48,42,.06);transition:transform .2s}
.fel:hover{transform:translateY(-3px)}
.fel h3{margin:0 0 8px;font-size:1.08rem;font-weight:600;line-height:1.3}.fel p{margin:0;font-size:14.5px;color:var(--ink-muted)}
@media(max-width:1000px){.fel-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.fel-grid{grid-template-columns:1fr}}

/* corporate video (light cinematic) */
.corp-sec{padding-block:clamp(40px,6vw,96px) clamp(72px,9vw,136px)}
.corp-head{max-width:720px;margin:0 auto clamp(32px,4vw,52px);text-align:center}
.corp-head .eyebrow{justify-content:center}.corp-head .lead{margin-inline:auto}
.bigvid-light{background:radial-gradient(60% 80% at 30% 20%,rgba(168,203,182,.55),transparent 70%),radial-gradient(50% 70% at 80% 80%,rgba(79,118,149,.45),transparent 70%),linear-gradient(135deg,#1E5C47,#2F7D5B 45%,#3D6F8E);border:0;color:#fff;box-shadow:0 70px 140px -60px rgba(30,92,71,.7)}
.bigvid-light .st-play{--c-ink:var(--edu)}

/* join band */
.joinband{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(30px,5vw,72px);border-radius:40px;background:linear-gradient(135deg,#EF6A4E 0%,#E7806A 35%,#6C6296 100%);color:#fff;position:relative;overflow:hidden}
.joinband::after{content:"";position:absolute;left:-80px;bottom:-120px;width:320px;height:320px;border-radius:50%;border:44px solid rgba(255,255,255,.1)}
.joinband h2{margin:0 0 14px;font-weight:300;font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.08}
.joinband .script{color:#FFF1D6}
.joinband p{margin:0;opacity:.95;font-size:1.08rem;line-height:1.7;color:#1B2822}
.joinband h2,.joinband .eyebrow{color:#1B2822}
.jb-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jb-grid a{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:22px;background:rgba(255,255,255,.92);color:var(--ink);text-decoration:none;transition:transform .2s}
.jb-grid a:hover{transform:translateY(-3px)}
.jb-grid small{font-size:13px;color:var(--ink-muted)}.jb-grid b{font-size:1.1rem;font-weight:600}
@media(max-width:900px){.joinband{grid-template-columns:1fr}}@media(max-width:480px){.jb-grid{grid-template-columns:1fr}}

/* scholarship */
.scholar{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start;padding:clamp(28px,5vw,64px);border-radius:36px;background:linear-gradient(160deg,var(--sun-soft),#fff 70%);border:1px solid var(--line)}
@media(max-width:900px){.scholar{grid-template-columns:1fr}}
.sch-strip{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;padding:20px 26px;border-radius:22px;background:var(--sun-soft);border:1px solid #F4DFA8}
.sch-strip b{display:block;font-size:1.1rem}.sch-strip span{color:var(--ink-muted);font-size:15px}

/* call row */
.callrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.callrow .btn{min-height:46px;padding:0 20px;font-size:15px}

/* responsive polish */
@media(max-width:600px){
  body{font-size:15.5px}
  .hero h1{font-size:clamp(2.6rem,11vw,3.4rem)}
  .phero h1{font-size:clamp(2.3rem,9.5vw,3rem)}
  .display{font-size:clamp(1.8rem,7.6vw,2.4rem)}
  .btn{min-height:50px;padding:0 22px}
  .cta-row .btn{flex:1 1 auto}
  .panel{border-radius:26px}
  .stage{max-width:340px}
  .note{left:-2%}
  .chip-dark{right:-2%}
  .hero-app{gap:10px}
}
@media(min-width:601px) and (max-width:1024px){
  .hero-grid{gap:48px}
  .stage{max-width:420px}
}
.grid>*,.plans>*,.foot>*,.split>*,.hero-grid>*,.ofcs>*,.docs>*{min-width:0}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.g2{grid-template-columns:1fr}}
@media(max-width:600px){.btn{white-space:normal;text-align:center;line-height:1.25;padding-block:12px}}
@media(max-width:480px){.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}}
.mk-logos{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
html,body{overflow-x:clip}
@media(max-width:360px){.logo b,.uni b,.row b,.crs h3{overflow-wrap:anywhere}.row{grid-template-columns:1fr auto}.row .t{grid-row:auto;justify-self:start}.logo-wall{grid-template-columns:1fr 1fr}}
.idcard{transform:none;rotate:-6deg;translate:-12% -14%}
.idcard.org{transform:none;rotate:5deg;translate:12% 16%}
.idc-kind{white-space:nowrap}
.idc-sample{color:rgba(239,106,78,.12)}
.hero .sub{font-size:clamp(2.8rem,4.9vw,4.5rem)}.phero .sub{font-size:clamp(2.6rem,4.4vw,4rem)}
.aosband{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(30px,5vw,68px);border-radius:40px;background:linear-gradient(135deg,#1E5C47,#2F7D5B 50%,#3D6F8E);color:#fff}
.aosband h2{margin:0 0 14px;font-weight:300;font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.08}
.aosband .script{color:#FFD9CC}
.aosband p{margin:0 0 24px;opacity:.92;line-height:1.7}
.aosband .btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.aos-feats{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.aos-feats li{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.aos-feats b{display:block;font-size:1.05rem}.aos-feats span{font-size:14.5px;opacity:.85}
@media(max-width:860px){.aosband{grid-template-columns:1fr}}

/* ===== v9: smaller script, research report, index, footer, chat, lead, cookie ===== */
.script{font-size:1.1em!important;font-weight:400;letter-spacing:.01em}
.hero .sub{font-size:clamp(2.2rem,3.7vw,3.4rem)!important}
.phero .sub{font-size:clamp(2rem,3.2vw,2.9rem)!important}
.cine-head .script,.talk .script,.joinband .script,.appband .script{font-size:1.05em!important}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:10px;background:var(--ink);color:#fff;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
svg.flag{width:30px;height:20px;border-radius:4px;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 4px 10px -4px rgba(0,0,0,.25);overflow:hidden}

/* cinematic interlude */
.interlude{position:relative;overflow:hidden;padding-block:clamp(70px,10vw,140px);text-align:center;background:radial-gradient(60% 90% at 15% 20%,var(--soft),transparent 70%),radial-gradient(50% 80% at 90% 90%,var(--sun-soft),transparent 70%),#fff}
.interlude::before{content:"“";position:absolute;left:50%;top:-.12em;transform:translateX(-50%);font:300 clamp(12rem,24vw,22rem)/1 Georgia,serif;color:var(--c);opacity:.07;pointer-events:none}
.interlude p{position:relative;margin:0 auto;max-width:22ch;font-weight:300;font-size:clamp(1.9rem,4.4vw,3.6rem);line-height:1.12;letter-spacing:-.02em;color:var(--ink)}
.interlude span{position:relative;display:inline-block;margin-top:22px;font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--c-ink)}
.interlude span::before{content:"";display:inline-block;width:34px;height:1.5px;background:var(--c);vertical-align:middle;margin-right:12px}

/* research: country reports */
.rep-shell{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:start}
.rep-shell>*{min-width:0}
.rep-tabs{display:grid;gap:6px;padding:10px;border-radius:24px;background:#fff;border:1px solid var(--line);position:sticky;top:96px}
.rep-tabs button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:0;border-radius:14px;background:transparent;font:500 15px var(--sans);color:var(--ink);text-align:left;cursor:pointer;transition:background .2s,color .2s}
.rep-tabs button:hover{background:var(--soft)}
.rep-tabs button[aria-selected="true"]{background:var(--c);color:#fff;box-shadow:0 14px 28px -16px var(--c)}
.rep{padding:clamp(22px,3.4vw,40px);border-radius:28px;background:linear-gradient(160deg,#fff 40%,var(--soft));border:1px solid var(--line);animation:pagein .4s ease both}
.rep-head{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px}
.rep-head svg.flag{width:60px;height:40px;border-radius:8px}
.rep-head>div{flex:1;min-width:160px}
.rep-head .k{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink)}
.rep-head h3{margin:2px 0 0;font-weight:300;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.1}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.fact{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.fact b{display:block;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:300;letter-spacing:-.02em;color:var(--c-ink);line-height:1.1}
.fact span{display:block;margin-top:6px;font-size:13.5px;color:var(--ink-muted);line-height:1.4}
.rep-txt{margin:22px 0 8px;font-size:1.02rem;max-width:70ch}
.src{margin:0;font-size:13px;color:var(--ink-muted)}
@media(max-width:980px){.facts{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.rep-shell{grid-template-columns:1fr}.rep-tabs{position:static;display:flex;overflow-x:auto;scrollbar-width:none;border-radius:999px;padding:6px}.rep-tabs::-webkit-scrollbar{display:none}.rep-tabs button{width:auto;flex:none;border-radius:999px;padding:9px 14px}}
@media(max-width:420px){.facts{grid-template-columns:1fr}}

/* index ranking */
.rank-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(20px,3vw,40px)}
.rank-grid>*{min-width:0}
ol.rank{list-style:none;margin:0;padding:0;display:grid;gap:8px}
ol.rank li{display:grid;grid-template-columns:34px 30px minmax(90px,150px) 1fr auto;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
ol.rank li:hover{transform:translateX(4px);box-shadow:0 14px 30px -20px rgba(0,0,0,.35)}
.rk{font-weight:700;font-size:14px;color:var(--c-ink);font-variant-numeric:tabular-nums}
ol.rank li:nth-child(-n+3) .rk{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--sun),#E8963A);color:#fff}
.cn{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar{height:8px;border-radius:99px;background:var(--soft);overflow:hidden}
.bar i{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--c),var(--care));transform-origin:left;animation:barin 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes barin{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.sc{font-variant-numeric:tabular-nums;font-size:14px}
@media(max-width:900px){.rank-grid{grid-template-columns:1fr}}
@media(max-width:480px){ol.rank li{grid-template-columns:26px 30px 1fr auto;gap:10px}ol.rank .bar{display:none}}

/* bodies */
.bodies{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bodies>*{min-width:0}
.body-c{padding:22px;border-radius:22px;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.body-c:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(0,0,0,.35)}
.bc-h{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:1.1rem}
.body-c ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.body-c a{display:block;padding:7px 0;border-bottom:1px dashed var(--line);text-decoration:none;font-size:14.5px;color:var(--ink-muted)}
.body-c li:last-child a{border:0}
.body-c a:hover{color:var(--res-ink)}
@media(max-width:900px){.bodies{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bodies{grid-template-columns:1fr}}

/* home teaser */
.mhi-teaser{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding:clamp(22px,3.4vw,36px);border-radius:28px;text-decoration:none;color:#fff;background:linear-gradient(115deg,#4B4380,var(--res) 45%,var(--tech));box-shadow:0 40px 70px -40px rgba(76,67,128,.8);position:relative;overflow:hidden}
.mhi-teaser::after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%)}
.mhi-teaser .k{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.mhi-teaser h3{margin:6px 0;font-weight:300;font-size:clamp(1.4rem,2.8vw,2.1rem);line-height:1.15}
.mhi-teaser p{margin:0;opacity:.88;max-width:52ch;font-size:15px}
.mini-flags{display:flex;flex-wrap:wrap;gap:8px}
.mini-flags svg.flag{width:42px;height:28px;border-radius:6px;box-shadow:0 0 0 2px rgba(255,255,255,.7)}

/* catalogue additions */
[data-for]{display:contents}
[data-for][hidden]{display:none!important}
.crs.intl{background:linear-gradient(170deg,#fff 55%,var(--tech-soft))}

/* ===== footer ===== */
footer.ft{padding:0 0 26px;background:linear-gradient(180deg,#fff,#F6F8F5);border-top:0;position:relative}
.ft-top{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;padding:clamp(24px,3.6vw,40px)!important;margin-top:0;border-radius:32px;background:linear-gradient(120deg,var(--edu) 0%,#3C8C6A 40%,var(--tech) 100%);color:#fff;max-width:calc(1240px - 2*var(--gutter));width:calc(100% - 2*var(--gutter));transform:translateY(-40px);box-shadow:0 40px 80px -40px rgba(47,125,91,.7)}
.ft-top>*{min-width:0}
.ft-news h3{margin:0 0 6px;font-weight:300;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.15}
.ft-news p{margin:0 0 16px;opacity:.9;font-size:15px}
.ft-form{display:flex;flex-wrap:wrap;gap:8px;max-width:480px}
.ft-form input{flex:1 1 200px;min-width:0;height:48px;padding:0 18px;border-radius:999px;border:0;font:400 15px var(--sans)}
.ft-form .btn{height:48px;background:var(--ink);color:#fff!important;border:0}
.ft-form .ok{flex-basis:100%;color:#fff;font-weight:600}
.ft-app{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.ft-app>b{font-size:14px;letter-spacing:.06em;opacity:.9}
.ft-app .appb{background:#fff;color:var(--ink)!important}.ft-app .appb svg{stroke:var(--ink)}
.ft-app>div,.ft-app .apps{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ft-main{display:grid;grid-template-columns:1.6fr repeat(5,1fr);gap:32px 28px;padding-top:8px}
.ft-main>*{min-width:0}
.ft-brand p{margin:12px 0 0;font-size:14.5px;color:var(--ink-muted);max-width:34ch}
.ft-cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ft-cta .btn-care{color:#fff!important}
.fcol h4{margin:6px 0 14px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink)}
.fcol h4::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:8px;vertical-align:1px}
.fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fcol a{font-size:14.5px;color:var(--ink-muted);text-decoration:none;transition:color .2s}
.fcol a:hover{color:var(--ink)}
.ft-offices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}
.ft-offices>*{min-width:0}
.ft-of{display:flex;gap:12px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);font-size:13.5px;line-height:1.45}
.ft-of svg{flex:none;width:28px;height:20px;border-radius:4px;margin-top:2px}
.ft-of b{display:block;font-size:14px}
.ft-of span{display:block;color:var(--ink-muted)}
.ft-of a{color:var(--edu-ink);font-weight:600;text-decoration:none}
.ft-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-top:28px;padding-top:20px!important;border-top:1px solid var(--line);font-size:13px;color:var(--ink-muted)}
.ft-legal nav,.ft-pay{display:flex;flex-wrap:wrap;gap:6px 16px}
.ft-legal a{color:var(--ink-muted);text-decoration:none}
.ft-legal a:hover{color:var(--ink)}
.ft-pay a,.ft-pay span{padding:4px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px}
.ft-note{margin:14px auto 0;font-size:12.5px;color:var(--ink-muted)}
@media(max-width:1100px){.ft-main{grid-template-columns:repeat(3,1fr)}.ft-brand{grid-column:1/-1}}
@media(max-width:820px){.ft-top{grid-template-columns:1fr}.ft-app{align-items:flex-start}.ft-app>div,.ft-app .apps{justify-content:flex-start}.ft-offices{grid-template-columns:1fr}}
@media(max-width:560px){.ft-main{grid-template-columns:1fr 1fr}.ft-top{border-radius:24px}}

/* ===== chat launcher ===== */
.chat-fab{padding:7px 18px 7px 7px;background:#fff;color:var(--ink);box-shadow:0 22px 48px -18px rgba(30,40,60,.45),0 0 0 1px rgba(0,0,0,.04)}

@keyframes dotbeat{0%,100%{opacity:.35}50%{opacity:1}}
.fab-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.fab-txt b{font-size:15px}
.fab-txt small{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--ink-muted)}
.fab-txt small i,.ch-team span i{width:8px;height:8px;border-radius:50%;background:#34C27A;box-shadow:0 0 0 3px rgba(52,194,122,.25);animation:livep 2s infinite}
@keyframes livep{50%{box-shadow:0 0 0 6px rgba(52,194,122,0)}}
.chat-fab[aria-expanded="true"] .fab-txt{display:none}
.chat-fab[aria-expanded="true"]{padding:7px}
@media(max-width:520px){.chat-fab .fab-txt{display:none}.chat-fab{padding:6px}}

/* chat panel */
.chat{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
.chat-h{background:linear-gradient(125deg,#1F5C44,var(--edu) 45%,var(--tech));padding:16px 18px 18px}
.chat-h::after{content:"";position:absolute;right:-40px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);pointer-events:none}
.ch-row{display:flex;align-items:center;justify-content:space-between}
.ch-row .chatlogo{margin:0}
.chat-h .x{position:static}
.ch-team{display:flex;align-items:center;gap:14px;margin-top:12px}
.faces2{display:flex;flex:none}
.face{position:relative;width:42px;height:42px;border-radius:50%;margin-left:-12px;background:var(--fc);border:2.5px solid #fff;overflow:hidden;display:block}
.face:first-child{margin-left:0}
.face svg{width:100%;height:100%;display:block;margin-top:4px}
.faces2 .face:last-child::after{content:none}
.faces2{position:relative}
.faces2::after{content:"";position:absolute;right:-1px;bottom:1px;width:11px;height:11px;border-radius:50%;background:#34C27A;border:2px solid #fff}
.ch-team b{font-size:16px}
.ch-team span{display:flex;align-items:center;gap:7px;font-size:12.5px}
.msg.typing{display:flex;gap:4px;padding:13px 16px}
.msg.typing i{width:7px;height:7px;border-radius:50%;background:var(--line-strong);animation:tdot 1s infinite}
.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes tdot{0%,60%,100%{transform:none;opacity:.4}30%{transform:translateY(-4px);opacity:1}}
.msg-link{display:inline-block;margin-top:8px;font-weight:600;color:var(--edu-ink)}
.quick button{transition:background .2s,border-color .2s,color .2s}
.quick button:hover{background:var(--edu-soft);border-color:var(--edu);color:var(--edu-ink)}

/* lead dialog + cookie */
.leaddlg{max-width:min(620px,94vw)!important}
.leaddlg .dlg-in{background:radial-gradient(80% 50% at 100% 0,var(--edu-soft),transparent 70%),#fff}
.leaddlg .form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.leaddlg .full{grid-column:1/-1}
.leaddlg select,.leaddlg input{width:100%}
@media(max-width:520px){.leaddlg .form{grid-template-columns:1fr}}
.cookie{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:59;max-width:min(440px,calc(100vw - 110px));padding:16px 18px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.4);font-size:13.5px}
.cookie p{margin:0 0 10px;color:var(--ink-muted)}
.cookie .btn-edu{color:#fff!important}
@media(max-width:520px){.cookie{max-width:calc(100vw - 32px);bottom:calc(84px + env(safe-area-inset-bottom,0px))}}

/* cinematic polish */
.eyebrow{letter-spacing:.2em}
.display{letter-spacing:-.025em}
section .panel{box-shadow:0 30px 60px -48px rgba(30,40,35,.35)}
.trust>*{min-width:0}.trust div>span{min-width:0;overflow-wrap:anywhere}
.ft-offices{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.ft-offices{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ft-offices{grid-template-columns:1fr}}
.cookie{max-width:min(360px,calc(100vw - 110px));padding:14px 16px;font-size:13px}
.cookie .btn{min-height:36px;padding:0 14px;font-size:13px}

/* ===== footer support band (from reference) ===== */
footer.ft{padding-top:clamp(40px,5vw,64px)}
.sup{--tl:#4FB0BF;--tl-d:#1F4B55;display:grid;grid-template-columns:1.1fr 1fr .8fr;align-items:center;gap:clamp(18px,3vw,40px);padding:clamp(26px,4vw,52px) clamp(22px,5vw,72px);border-radius:28px;background:#ECEEF0;margin-bottom:clamp(40px,5vw,64px);position:relative;overflow:hidden}
.sup>*{min-width:0}
.sup-txt h2{margin:0 0 8px;font-weight:700;font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.15;letter-spacing:-.01em;color:#1B2226}
.sup-txt p{margin:0 0 22px;font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.55;color:#56606A;max-width:30ch}
.sup-btn{display:flex;align-items:center;gap:16px;width:100%;max-width:440px;padding:14px 24px;border-radius:14px;background:var(--tl);color:#fff;text-decoration:none;font-size:clamp(1.15rem,1.9vw,1.55rem);font-weight:500;box-shadow:0 18px 34px -20px #2B8C9B;transition:transform .2s,background .2s}
.sup-btn:hover{background:#3FA2B2;transform:translateY(-2px)}
.sup-btn svg{width:44px;height:44px;flex:none}
.sup .apps{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.sup .appb{background:#0B0B0B;color:#fff!important;border-radius:10px;height:46px}
.sup .appb svg{stroke:#fff}
.sup-art{position:relative;aspect-ratio:488/355;max-width:400px;width:100%;justify-self:center}
.sup-art span{position:absolute;inset:0;background:center/contain no-repeat;opacity:0;transform:translateY(10px) scale(.97);transition:opacity .8s ease,transform .8s ease}
.sup-art .a1{background-image:url("support-couple.webp")}
.sup-art .a2{background-image:url("support-video.webp");inset:8% 6%}
.sup-art span.on{opacity:1;transform:none}
.sup-radar{position:relative;width:min(100%,300px);aspect-ratio:1;justify-self:center}
.sup-radar>a{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;opacity:0;pointer-events:none;transition:opacity .7s}
.sup-radar>a.on{opacity:1;pointer-events:auto}
.sup-radar i{position:absolute;inset:0;border-radius:50%;background:rgba(79,176,191,.18)}
.sup-radar i:nth-child(2){inset:12%;background:rgba(79,176,191,.24)}
.sup-radar i:nth-child(3){inset:24%;background:#E6F6F8;box-shadow:0 0 0 10px rgba(79,176,191,.25)}
.sup-radar>a::before,.sup-radar>a::after{content:"";position:absolute;inset:30%;border-radius:50%;border:2px solid rgba(79,176,191,.55);animation:ring 3s cubic-bezier(.2,.6,.3,1) infinite}
.sup-radar>a::after{animation-delay:1.5s}
@keyframes ring{from{transform:scale(1);opacity:.9}to{transform:scale(2.3);opacity:0}}
.sup-radar b{position:relative;width:34%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--tl-d);box-shadow:0 0 0 12px #6CC2CE;transition:transform .25s}
.sup-radar>a:hover b{transform:scale(1.06)}
.sup-radar b svg{width:46%;height:46%}
.sup-lbl{position:absolute;left:0;right:0;bottom:-6px;text-align:center;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tl-d)}
.sup-lbl span{position:absolute;left:0;right:0;opacity:0;transition:opacity .6s}.sup-lbl span.on{opacity:1}
@media(max-width:980px){.sup{grid-template-columns:1fr 1fr}.sup-txt{grid-column:1/-1}.sup-txt p{max-width:none}}
@media(max-width:560px){.sup{grid-template-columns:1fr;text-align:left}.sup-radar{width:210px}.sup-art{max-width:300px}}
@media(prefers-reduced-motion:reduce){.sup-radar>a::before,.sup-radar>a::after{animation:none}}
.ft-brand .ft-form{margin-top:18px;max-width:380px}
.ft-brand .ft-form input{height:44px;border:1.5px solid var(--line);background:#fff}
.ft-brand .ft-form .btn{height:44px}
.ft-brand .ft-form .ok{color:var(--edu-ink)}
.sup{grid-template-columns:1.3fr 1fr .75fr}
.sup-txt p{max-width:36ch}
.sup-radar{margin-bottom:18px}
@media(max-width:980px){.sup{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sup{grid-template-columns:1fr}}

/* chat launcher: two-bubble icon */

@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -3px}}
.chat-fab{padding:8px 20px 8px 12px}
.chat-fab[aria-expanded="true"]{padding:8px 10px}
@media(max-width:520px){.chat-fab{padding:8px 10px}}

.bn{text-transform:none!important;letter-spacing:.01em}

/* ===== Instagram-size galleries: every mosaic becomes a swipeable, auto-moving rail ===== */
.mosaic{display:flex!important;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 18px;scrollbar-width:none;grid-template-columns:none;grid-auto-rows:auto;-webkit-overflow-scrolling:touch}
.mosaic::-webkit-scrollbar{display:none}
.mosaic>*{flex:0 0 clamp(270px,29vw,380px);aspect-ratio:4/5;min-height:0!important;height:auto;scroll-snap-align:start;grid-row:auto!important;grid-column:auto!important}
.mosaic>.w{flex-basis:clamp(300px,46vw,620px);aspect-ratio:auto}
.mosaic>.t{flex-basis:clamp(270px,29vw,380px)}
.rail-ui{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:6px}
.rail-dots{display:flex;gap:6px;flex-wrap:wrap}
.rail-dots i{width:8px;height:8px;border-radius:99px;background:var(--line-strong);opacity:.35;transition:width .3s,opacity .3s}
.rail-dots i.on{width:26px;opacity:1;background:var(--c,var(--edu))}
.rail-btns{display:flex;gap:8px}
.rail-btns button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:18px;cursor:pointer;box-shadow:0 10px 24px -16px rgba(0,0,0,.4);transition:transform .2s}
.rail-btns button:hover{transform:translateY(-2px)}
.cine .rail-btns button{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.cine .rail-dots i{background:#fff}

/* richer placeholders: each slot gets its own colour so no two look the same */
.ph-slot{min-height:340px;border:0;border-radius:24px;overflow:hidden;color:#fff;justify-content:flex-end;align-items:flex-start;text-align:left;padding:22px;
  background:radial-gradient(120% 80% at 80% 0%,rgba(255,255,255,.28),transparent 60%),linear-gradient(160deg,var(--g1,#4E9E77),var(--g2,#1F5C44))}
.ph-slot::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 16px,transparent 16px 32px);pointer-events:none}
.ph-slot::after{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;right:-18%;top:-14%;border:28px solid rgba(255,255,255,.12);pointer-events:none}
.ph-slot svg{position:absolute;left:50%;top:44%;translate:-50% -50%;width:58px;height:58px;padding:16px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(4px);opacity:1;box-sizing:content-box}
.ph-slot b{position:relative;font-size:11px;opacity:.8}
.ph-slot span{position:relative;color:#fff!important;font-size:clamp(1rem,1.4vw,1.2rem);font-weight:500;line-height:1.3;max-width:24ch}
.ph-slot[data-h="1"]{--g1:#5BAE86;--g2:#1F5C44}
.ph-slot[data-h="2"]{--g1:#F28A6B;--g2:#A63D27}
.ph-slot[data-h="3"]{--g1:#7FA3C3;--g2:#2F5675}
.ph-slot[data-h="4"]{--g1:#9A90C6;--g2:#4B4380}
.ph-slot[data-h="5"]{--g1:#F6C96E;--g2:#B7791F}
.ph-slot[data-h="0"]{--g1:#6CC2CE;--g2:#1F4B55}
.post .ph-slot,.post .img{aspect-ratio:1/1!important;min-height:0}
.post .ph-slot svg{top:40%}

.st-rail{grid-auto-columns:clamp(290px,31vw,400px)}
.person .ph-slot{aspect-ratio:4/5;min-height:0}
.school .ph-slot{min-height:420px}
@media(max-width:600px){.mosaic>*,.mosaic>.t{flex-basis:78vw}.mosaic>.w{flex-basis:88vw;aspect-ratio:4/5}.ph-slot{min-height:300px}}
.cert .seal{text-transform:none!important}
.cine-head h1{margin:0 0 16px;font-weight:300;font-size:clamp(2.4rem,5.6vw,4.6rem);line-height:1.04;letter-spacing:-.025em;color:#fff}

/* ===================== v10 AUDIT PASS ===================== */
/* default theme so icons/lines never go invisible outside a themed section */
:root{--c:var(--edu);--c-ink:var(--edu-ink);--soft:var(--edu-soft);--on:#fff}
p,li,.lead{text-wrap:pretty}
.eyebrow,.uni-h,.k{text-wrap:balance}
a[href^="tel:"],.nw{white-space:nowrap}
.bn{display:inline!important;margin:0!important;padding:0!important;background:none!important;border:0!important;position:static!important;width:auto!important;height:auto!important;font-size:inherit!important;color:inherit;white-space:nowrap}
.bn::before,.bn::after{content:none!important;display:none!important}
.interlude .wrap>span{position:relative}

/* hero film label: readable frosted pill */
.film{left:50%;right:auto;translate:-50% 0;width:max-content;max-width:88%;padding:10px 18px;border-radius:16px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);box-shadow:0 14px 30px -18px rgba(0,0,0,.35)}
.film b{font-size:15.5px}.film span{font-size:13px;color:#46544B}

/* timelines: line stops at the last step; vertical on phones */
.journey li:last-child{border-top-color:transparent}
@media(max-width:700px){
  .journey{grid-template-columns:1fr!important;row-gap:0}
  .journey li{border-top:0;border-left:3px solid var(--c);padding:0 0 26px 26px;margin-left:8px}
  .journey li:last-child{border-left-color:transparent;padding-bottom:0}
  .journey li::before{left:-10px;top:0}
}

/* research / careers rows: aligned columns, stacked on phones */
.row .t{min-width:118px;text-align:center}
@media(max-width:640px){
  .row{grid-template-columns:1fr auto;gap:6px 12px;padding:16px}
  .row .t{grid-column:1;justify-self:start;min-width:0}
  .row b{grid-column:1}
  .row small{grid-column:1}
  .row .arr{grid-column:2;grid-row:1 / span 3;align-self:center}
}

/* report tabs wrap on phones instead of hiding countries */
@media(max-width:860px){.rep-tabs{flex-wrap:wrap;overflow:visible;border-radius:22px;justify-content:center}}
/* consistent rank badges */
.rk{display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border-radius:999px;background:var(--soft);font-size:13px}
ol.rank li:nth-child(-n+3) .rk{width:auto;height:30px}
#mh-index .rank-grid>div:last-child ol.rank li .rk{background:var(--tech-soft);color:var(--tech-ink)}

/* people & socials on phones */
@media(max-width:600px){
  .grid:has(> .person){grid-template-columns:1fr 1fr!important;gap:14px}
  .socs{grid-template-columns:1fr 1fr}
  .socs>*:last-child:nth-child(odd){grid-column:1/-1}
}
/* decorative shapes never sit on top of text */
.qk::before,.qk::after,.door::before,.door::after,.div::after,.helpcard::after{opacity:.35}

/* FAQ: sticky intro with a help card */
.faqsec .split>div:first-child{position:sticky;top:110px;align-self:start}
.faq-help{margin-top:26px;padding:22px;border-radius:22px;background:#fff;border:1px solid var(--line);display:grid;gap:6px;box-shadow:0 24px 50px -40px rgba(0,0,0,.4)}
.faq-help .fh-ic svg{width:44px;height:44px}
.faq-help b{font-size:1.1rem}.faq-help span{color:var(--ink-muted);font-size:14.5px}
.faq-help .cta-row{margin-top:10px}
@media(max-width:900px){.faqsec .split>div:first-child{position:static}}

/* blog cards */
.post .ex{margin:4px 0 0;font-size:14.5px;color:var(--ink-muted);line-height:1.5}
.post .by{font-size:12.5px;color:var(--ink-muted);margin-top:6px}
.refs{margin-top:28px;padding:22px 24px;border-radius:18px;background:#fff;border:1px solid var(--line);font-size:14px}
.refs ol{margin:10px 0 0;padding-left:20px;display:grid;gap:8px;color:var(--ink-muted)}

/* stories hero visual */
.st-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.st-collage{position:relative;height:clamp(320px,34vw,440px)}
.st-collage figure{position:absolute;margin:0;width:62%;aspect-ratio:4/5;border-radius:24px;rotate:var(--r);background:radial-gradient(120% 80% at 80% 0,rgba(255,255,255,.3),transparent 60%),linear-gradient(160deg,var(--g1),var(--g2));box-shadow:0 40px 70px -30px rgba(0,0,0,.55);display:flex;align-items:flex-end;padding:18px;border:6px solid rgba(255,255,255,.9)}
.st-collage figure:nth-child(1){left:0;top:8%}.st-collage figure:nth-child(2){left:34%;top:0;z-index:2}.st-collage figure:nth-child(3){left:20%;top:30%;z-index:3}
.st-collage span{font-size:15px;font-weight:500;color:#fff;line-height:1.3}
@media(max-width:900px){.st-hero{grid-template-columns:1fr}.st-collage{height:300px;max-width:420px}}

/* footer polish */
.ft-brand .ft-form{display:flex;flex-wrap:nowrap;gap:8px;max-width:360px}
.ft-brand .ft-form input{flex:1 1 auto;min-width:0}
.ft-legal{font-size:13px}.ft-pay a,.ft-pay span{font-size:12.5px}
.ft-note{font-size:13px}
.fcol h4{white-space:nowrap}

/* membership on phones: cards inside the screen, table scrolls with a hint */
@media(max-width:600px){
  .idstack{max-width:320px;aspect-ratio:1/1.05;margin-inline:auto}
  .idcard{width:88%;font-size:13px}
  .idcard{translate:-6% -12%}
  .tablewrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px}
  .tablewrap::after{content:"Swipe to compare →";display:block;position:sticky;left:0;padding:8px 12px;font-size:12.5px;color:var(--ink-muted)}
  .tablewrap table{min-width:560px}
  select{text-overflow:ellipsis;max-width:100%}
}
/* hero script never pokes past the gutter */
.hero .sub,.cine-head .script,.phero .sub{padding-left:.06em}
@media(max-width:600px){.bigvid .bv-cap{left:18px;bottom:16px;right:18px}.bigvid .bv-cap b{font-size:1.2rem}.bigvid .st-play{width:76px;height:76px;margin-top:-30px}}
.feature>*{position:relative;z-index:1}.feature::before{opacity:.08}
.logo-wall{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
@media(max-width:600px){
  .idstack{display:grid!important;gap:16px;aspect-ratio:auto!important;max-width:340px}
  .idstack .idcard{position:relative!important;inset:auto!important;rotate:0deg!important;translate:none!important;transform:none!important;width:100%!important;animation:none!important}
}
@media(max-width:600px){
  .tabs{display:flex;flex-wrap:nowrap;width:100%}
  .tabs button{flex:1 1 0;padding:12px 8px;font-size:14px;text-align:center}
  #crs-q,.cat-bar input[type=search]{width:100%}
  .grid:has(> .card:not(:has(p))){grid-template-columns:1fr 1fr!important;gap:12px}
  .grid > .card:not(:has(p)) h3{font-size:1rem}
  .crs::before{width:90px;height:90px;right:-40px;top:-40px;opacity:.7}
}
.crs h3{position:relative;padding-right:8px}
.logo-wall{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important}
.logo-wall + *{margin-top:18px}
/* timelines inside half-width columns read top-to-bottom */
.split .journey,.panel.split .journey{grid-template-columns:1fr!important;row-gap:0}
.split .journey li{border-top:0;border-left:3px solid var(--c);padding:0 0 22px 26px;margin-left:8px}
.split .journey li:last-child{border-left-color:transparent;padding-bottom:0}
.split .journey li::before{left:-10px;top:0}
.callcard>*{position:relative;z-index:1}.callcard::after{opacity:.55;z-index:0}
.t-com .btn-c{background:var(--edu);color:#fff}
.press-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;align-items:stretch}
.press-grid>*{min-width:0}
.press-q{display:grid;gap:16px}
.press-q .quote{margin:0}
.press-grid>.ph-slot{aspect-ratio:16/10!important;min-height:0}
@media(max-width:760px){.press-grid{grid-template-columns:1fr}.press-grid>.ph-slot{aspect-ratio:4/5!important}}
.ft-brand .ft-form{flex-wrap:wrap}
.ft-brand .ft-form input{flex:1 1 100%}
.ft-brand .ft-form .btn{flex:0 0 auto}
@media(max-width:600px){#crs-q{width:100%!important;max-width:none!important;flex:1 1 100%}}

/* ===== content-reframe additions ===== */
/* "More" dropdown in main nav */
.links .ddown{position:relative}
.links .ddown>details>summary{list-style:none;cursor:pointer;font:inherit;color:inherit;display:inline-flex;align-items:center;gap:4px}
.links .ddown>details>summary::-webkit-details-marker{display:none}
.links .ddown>details>summary::after{content:"▾";font-size:.72em;opacity:.55}
.links .ddown>details[open]>summary::after{opacity:1}
.dd-panel{position:absolute;top:calc(100% + 16px);right:0;display:grid;gap:1px;min-width:236px;padding:10px;background:#fff;border:1px solid rgba(34,48,42,.1);border-radius:16px;box-shadow:0 34px 70px -34px rgba(34,48,42,.45);z-index:70}
.dd-panel a{padding:8px 12px;border-radius:10px;color:var(--ink,#22302A);text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s}
.dd-panel a:hover{background:#F1F5F1;color:var(--edu,#2F7D5B)}
@media(max-width:1080px){.links .ddown{display:none}}

/* blank, neat image placeholder */
.imgph{position:relative;border-radius:20px;background:#EDF1EE;border:1px solid rgba(34,48,42,.08);display:grid;place-items:center;overflow:hidden;color:#A4AFA8;aspect-ratio:16/9}
.imgph svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
/* shrink the big corporate "video" in the middle of the page */
.corp-sec{padding-block:clamp(30px,4vw,60px) clamp(44px,6vw,80px)}
.corp-sec .imgph-lg{max-width:660px;margin-inline:auto;border-radius:26px;box-shadow:0 40px 90px -55px rgba(34,48,42,.5)}

/* ph-slot video placeholders converted to blank image */
.ph-slot.ph-img{background:#EDF1EE!important;border:1px solid rgba(34,48,42,.08)!important;color:#A4AFA8!important;justify-content:center!important;align-items:center!important;padding:0!important}
.ph-slot.ph-img::before,.ph-slot.ph-img::after{display:none!important}
.ph-slot.ph-img svg{position:static!important;translate:none!important;inset:auto!important;width:40px!important;height:40px!important;padding:0!important;background:none!important;backdrop-filter:none!important;border-radius:0!important;opacity:.85!important;stroke:currentColor;fill:none;stroke-width:1.4}
.ph-slot.ph-img b,.ph-slot.ph-img span{display:none!important}

/* success-story video cards converted to blank image */

/* ================= institutional editorial homepage ================= */
.sec{padding-block:clamp(56px,8vw,116px)}
.sec-tight{padding-block:clamp(40px,5vw,72px)}
.head{max-width:760px;margin:0 0 clamp(30px,4vw,54px)}
.head.center{margin-inline:auto;text-align:center}
.head.center .eyebrow{justify-content:center}.head.center .lead{margin-inline:auto}

/* image placeholder variants (blank, neat, editorial) */
.imgph.tall{aspect-ratio:4/5}.imgph.wide{aspect-ratio:16/9}.imgph.sq{aspect-ratio:1}.imgph.big{aspect-ratio:3/2}
.imgph{border-radius:22px}
.imgph .cap{position:absolute;left:16px;bottom:14px;right:16px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#93A199;opacity:.9}
.imgph svg{opacity:.55}

/* HERO */
.hero .hero-h1{font-weight:300;font-size:clamp(2.3rem,4.4vw,3.5rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 20px}
.hero-areas{font-size:14px;font-weight:600;letter-spacing:.03em;color:var(--edu-ink);margin:0 0 26px}
.hero .cta-row{margin:0}
.hero-journey{margin:24px 0 0;font-size:14.5px;color:var(--ink-muted)}
.hero-journey b{color:var(--ink);font-weight:600}
.hero-photo .imgph{aspect-ratio:4/5;border-radius:26px}
@media(max-width:900px){.hero-photo{margin-top:8px}.hero-photo .imgph{aspect-ratio:16/10}}

/* 3 · DOMAINS — large alternating editorial blocks */
.domains .wrap{max-width:1180px}
.domain{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,76px);align-items:center;padding-block:clamp(30px,4.5vw,60px)}
.domain+.domain{border-top:1px solid var(--line)}
.domain:nth-child(even) .domain-media{order:2}
.domain-media .imgph{aspect-ratio:4/3;border-radius:24px}
.dnum{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink);margin:0 0 14px}
.dtitle{font-weight:300;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.01em;margin:0 0 16px;color:var(--ink)}
.domain .lead{margin:0 0 18px;font-size:1.08rem}
.dpath{margin:0 0 10px;font-weight:600;font-size:14.5px;color:var(--c-ink)}
.dflow{margin:0 0 14px;font-size:14px;color:var(--ink-muted);line-height:1.7}
.dtags{margin:0 0 8px;font-size:14px;color:var(--ink-muted)}
.dmeta{margin:0 0 10px;font-size:13.5px;color:var(--ink-muted)}
.audience-row{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0 0 16px}
.audience-row span{font-weight:600;font-size:14.5px;color:var(--c-ink);position:relative;padding-left:16px}
.audience-row span::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;border-radius:50%;background:var(--c);translate:0 -50%}
.two-sides{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 16px}
.two-sides b{display:block;font-size:15px;color:var(--ink);margin-bottom:4px}
.two-sides span{font-size:13.5px;color:var(--ink-muted);line-height:1.55}
.domain .cta-row{margin-top:20px;gap:12px}
.domain .link{color:var(--c-ink)}
@media(max-width:860px){.domain{grid-template-columns:1fr;gap:22px}.domain:nth-child(even) .domain-media{order:0}.two-sides{grid-template-columns:1fr}}

/* 6 · WHO IS THIS FOR */
.forwho-h{font-weight:300;font-size:clamp(1.3rem,2.4vw,1.9rem);letter-spacing:-.01em;margin:0 0 24px;color:var(--ink)}
.forwho{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;font-size:clamp(1.02rem,1.5vw,1.28rem);font-weight:500}
.forwho a{color:var(--ink);text-decoration:none;padding:2px 2px;border-bottom:2px solid transparent;transition:color .18s,border-color .18s}
.forwho a:hover{color:var(--edu);border-color:var(--edu)}
.forwho .sep{color:var(--line-strong);opacity:.45;font-style:normal}

/* 7 · TIMELINE */
.story-sec{background:var(--paper)}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);position:relative}
.timeline::before{content:"";position:absolute;left:6%;right:6%;top:9px;height:1.5px;background:var(--line);z-index:0}
.timeline li{position:relative;text-align:center;padding:26px 14px 0;z-index:1}
.timeline li::before{content:"";position:absolute;top:3px;left:50%;translate:-50% 0;width:13px;height:13px;border-radius:50%;background:var(--edu);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--line)}
.timeline b{display:block;font-size:1.1rem;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.timeline span{display:block;margin-top:6px;font-size:12.5px;color:var(--ink-muted);line-height:1.5}
@media(max-width:760px){.timeline{grid-auto-flow:row;grid-auto-columns:auto;gap:4px}.timeline::before{left:9px;right:auto;top:0;bottom:0;width:1.5px;height:auto}.timeline li{text-align:left;padding:14px 0 14px 34px}.timeline li::before{left:3px;top:18px}}

/* 8 · PEOPLE GRID */
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:14px}
.people-grid .imgph{aspect-ratio:1}
.people-grid .a{grid-column:span 1;grid-row:span 2;aspect-ratio:auto}
.people-grid .d{grid-column:span 2;aspect-ratio:auto}
.linkrow{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:28px}
@media(max-width:760px){.people-grid{grid-template-columns:repeat(2,1fr)}.people-grid .a,.people-grid .d{grid-column:span 1;grid-row:span 1;aspect-ratio:1}}

/* 9 · STORY FEATURE */
.story-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.story-photo .imgph{aspect-ratio:3/2;border-radius:24px}
.story-featured .k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink)}
.story-featured h3{font-weight:300;font-size:clamp(1.4rem,2.4vw,1.95rem);line-height:1.15;margin:10px 0 12px;color:var(--ink)}
.story-more{list-style:none;margin:24px 0 0;padding:22px 0 0;border-top:1px solid var(--line);display:grid;gap:0}
.story-more li a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;color:var(--ink);text-decoration:none;font-size:1.02rem;border-bottom:1px solid var(--line);transition:color .18s}
.story-more li:last-child a{border-bottom:0}
.story-more li a:hover{color:var(--c-ink)}
@media(max-width:860px){.story-feature{grid-template-columns:1fr}}

/* 10 · IMPACT */
.impact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.countries{list-style:none;margin:0 0 22px;padding:0 0 22px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 30px}
.countries b{font-weight:600;font-size:1.15rem;color:var(--ink)}
.textlinks{list-style:none;margin:0;padding:0;display:grid;gap:0}
.textlinks li a{display:block;padding:11px 0;color:var(--ink);text-decoration:none;font-size:1rem;border-bottom:1px solid var(--line);transition:color .18s,padding .18s}
.textlinks li:last-child a{border-bottom:0}
.textlinks li a:hover{color:var(--edu);padding-left:6px}
@media(max-width:860px){.impact-grid{grid-template-columns:1fr}}

/* 11 · IDEAS */
.ideas-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.idea-lead{display:block;text-decoration:none;color:var(--ink)}
.idea-lead .imgph{aspect-ratio:16/10;border-radius:22px;margin-bottom:16px}
.idea-lead .k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--edu-ink)}
.idea-lead h3{font-weight:300;font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.18;margin:8px 0 0}
.idea-links{display:grid}
.idea-links a{display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:1.1rem;font-weight:500;transition:color .18s,padding .18s}
.idea-links a:hover{color:var(--edu);padding-left:6px}
@media(max-width:860px){.ideas-grid{grid-template-columns:1fr}}

/* 12 · TRUST */
.trust-cats{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--ink-muted);margin:0 0 22px}
.logo-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:0 0 22px}
.logo-strip span{padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink-muted);background:var(--white)}

/* 13 · CAMPUS */
.campus-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.campus-media .imgph{aspect-ratio:3/2;border-radius:24px}
.campus-side .textlinks{margin-bottom:14px}
.campus-side .btn{margin-top:8px}
@media(max-width:860px){.campus-grid{grid-template-columns:1fr}.campus-media{order:2}}

/* 14 · SOCIAL PROOF */
.proof-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:0 0 22px}
.proof{display:grid;gap:2px;padding:16px 26px;border:1px solid var(--line);border-radius:16px;background:var(--white);text-decoration:none;min-width:180px}
.proof b{font-size:1rem;color:var(--ink)}.proof span{font-size:12.5px;color:var(--ink-muted)}
.socials{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;font-size:14.5px}
.socials a{color:var(--ink-muted);text-decoration:none}.socials a:hover{color:var(--edu)}
.socials .sep{color:var(--line-strong);opacity:.5}

/* 15 · FINAL CTA */
.final-sec{background:var(--deep);color:#fff}
.final-h{font-weight:300;font-size:clamp(1.7rem,3.2vw,2.6rem);letter-spacing:-.015em;margin:0 0 10px;color:#fff}
.final-choices{max-width:640px;margin:26px auto 0;display:grid}
.final-choices a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 4px;border-top:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:300;letter-spacing:-.01em;transition:padding .2s,color .2s}
.final-choices a:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.final-choices a i{color:var(--sage);font-style:normal;transition:transform .2s}
.final-choices a:hover{padding-inline:14px 0;color:var(--sage)}
.final-choices a:hover i{transform:translateX(6px)}

/* ============================================================
   INSTITUTIONAL RESTYLE — smaller type, denser sections, site-wide
   ============================================================ */
body{font-size:15.5px;line-height:1.62}
.wrap{max-width:1200px}

/* headings down */
.hero h1,.hero .hero-h1{font-weight:300;font-size:clamp(2.15rem,3.4vw,3.15rem);line-height:1.08;letter-spacing:-.02em}
.hero .sub{font-size:clamp(1.9rem,3.4vw,2.9rem)}
h2.display,.display{font-weight:300;font-size:clamp(1.7rem,2.5vw,2.4rem);line-height:1.14;letter-spacing:-.01em;margin-bottom:14px}
.dtitle{font-size:clamp(1.35rem,2vw,1.8rem)!important;line-height:1.15}
.forwho-h{font-size:clamp(1.2rem,2vw,1.6rem)}
.final-h{font-size:clamp(1.5rem,2.6vw,2.15rem)}
h3{font-size:1.12rem;line-height:1.25}
.hero-h1{margin-bottom:16px}

/* body / leads / labels down */
.lead{font-size:clamp(1rem,1.05vw,1.1rem);line-height:1.62;max-width:40em}
.eyebrow{font-size:11.5px;letter-spacing:.18em;margin-bottom:14px}
.dnum{font-size:11.5px}
p,li{font-size:.98rem}

/* nav down */
.links a{font-size:14.5px}
.links{gap:22px}

/* section heights down (denser, institutional) */
.sec{padding-block:clamp(52px,5.5vw,88px)}
.sec-tight{padding-block:clamp(34px,3.6vw,56px)}
section.tight{padding-block:clamp(40px,5vw,72px)!important}
.hero{padding-block:clamp(34px,4vw,64px) clamp(30px,4vw,54px)}
.domain{padding-block:clamp(26px,3.2vw,46px)}
.head{margin-bottom:clamp(26px,3vw,42px)}

/* buttons a touch smaller / less loud */
.btn{min-height:48px;padding:0 24px;font-size:15px}
.btn-sm{min-height:40px;padding:0 18px;font-size:14px}

/* soften oversized rounding on generic placeholders for a flatter institutional feel */
.imgph{border-radius:14px}
.domain-media .imgph,.hero-photo .imgph,.story-photo .imgph,.campus-media .imgph,.idea-lead .imgph{border-radius:16px}

/* ===== mega-menu navigation ===== */
.links .mega{position:static}
.nav .wrap{position:relative}
.mega-panel{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(100% - 8px);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 40px 80px -40px rgba(34,48,42,.4);padding:24px;z-index:80}
.links .mega:hover>.mega-panel,.links .mega:focus-within>.mega-panel{opacity:1;visibility:visible;transform:translateY(0)}
.mega-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.edu-mega .mega-cols{grid-template-columns:1fr 1fr 1.1fr}
.mega-cols.mm-2{grid-template-columns:1fr 1fr;max-width:640px}
.mega-cols.mm-3{grid-template-columns:repeat(3,1fr)}
.mega-col h4{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
.mega-col a{display:block;padding:6px 0;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;transition:color .15s,padding .15s}
.mega-col a:hover{color:var(--edu);padding-left:4px}
.mega-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.mega-note{font-size:12.5px;color:var(--ink-muted)}
.mega>a::after{content:"▾";margin-left:5px;font-size:.7em;opacity:.5}
@media(max-width:1180px){.mega-panel{display:none}}

/* ===== education course platform ===== */
.crumbs{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink-muted);margin-bottom:14px}
.crumbs a{color:var(--ink-muted);text-decoration:none}.crumbs a:hover{color:var(--edu)}
.edu-h1{font-weight:300;font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 14px}
.edu-stats{display:flex;flex-wrap:wrap;gap:14px 40px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.edu-stats div{display:flex;flex-direction:column}
.edu-stats b{font-size:1.5rem;font-weight:600;color:var(--edu-ink);letter-spacing:-.02em}
.edu-stats span{font-size:12.5px;color:var(--ink-muted)}

.browse-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.searchbox{position:relative;flex:1;min-width:260px;max-width:440px}
.searchbox svg{position:absolute;left:14px;top:50%;translate:0 -50%;width:18px;height:18px;fill:none;stroke:var(--ink-muted);stroke-width:1.8;stroke-linecap:round}
.searchbox input{width:100%;height:46px;padding:0 16px 0 42px;border:1px solid var(--line-strong);border-radius:10px;font:inherit;font-size:14.5px;background:var(--white)}
.searchbox input:focus{outline:none;border-color:var(--edu)}

.browse{display:grid;grid-template-columns:236px 1fr;gap:32px;align-items:start}
.browse .filters{position:sticky;top:92px;display:grid;gap:20px}
.fgroup h4{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}
.fopt{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:14px;color:var(--ink);cursor:pointer}
.fopt input{width:16px;height:16px;accent-color:var(--edu);cursor:pointer}
.clearf,.linkbtn{background:none;border:0;padding:0;color:var(--edu-ink);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;text-align:left}
.clearf:hover,.linkbtn:hover{text-decoration:underline}

.results-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.sortl{font-size:13px;color:var(--ink-muted);display:flex;align-items:center;gap:8px}
.sortl select{font:inherit;font-size:13.5px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--white);color:var(--ink)}
.rows{display:grid}
.crow{display:grid;grid-template-columns:112px 1fr auto;align-items:center;gap:16px;padding:16px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);position:relative;transition:background .14s}
.crow:hover{background:var(--edu-soft)}
.crow-lvl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink,var(--edu-ink));border:1px solid var(--line-strong);border-radius:999px;padding:5px 10px;justify-self:start;white-space:nowrap}
.crow-main b{display:block;font-size:1rem;font-weight:600;line-height:1.25}
.crow-meta{font-size:13px;color:var(--ink-muted)}
.crow-price{font-size:.98rem;font-weight:600;color:var(--ink);white-space:nowrap}
.crow-go{position:absolute;right:6px;bottom:8px;font-size:12px;font-weight:600;color:var(--edu);opacity:0;transition:opacity .14s}
.crow:hover .crow-go{opacity:1}
.empty{padding:30px 0;color:var(--ink-muted);font-size:15px}
@media(max-width:820px){.browse{grid-template-columns:1fr}.browse .filters{position:static;grid-template-columns:1fr 1fr;gap:18px 24px}.crow{grid-template-columns:1fr auto;gap:8px 12px}.crow-lvl{grid-column:1/-1}.crow-go{display:none}}

/* shared mini-grid / factlist */
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.factlist{list-style:none;margin:0;padding:0;display:grid;gap:0}
.factlist li{display:grid;padding:14px 0;border-top:1px solid var(--line)}
.factlist b{font-size:.98rem;color:var(--ink)}.factlist span{font-size:13.5px;color:var(--ink-muted)}
@media(max-width:820px){.mini-grid{grid-template-columns:1fr}}

/* ===== programme detail page ===== */
.pg-hero{padding-block:clamp(28px,3.5vw,52px) clamp(22px,3vw,38px);background:var(--edu-soft)}
.pg-head{display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:start}
.pg-chips{list-style:none;margin:18px 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px}
.pg-chips li{display:flex;flex-direction:column}
.pg-chips span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
.pg-chips b{font-size:14.5px;font-weight:600;color:var(--ink)}
.pg-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:10px;box-shadow:0 30px 60px -40px rgba(34,48,42,.35)}
.pg-fee{display:grid;margin-bottom:6px}
.pg-fee span{font-size:12px;color:var(--ink-muted);letter-spacing:.04em}
.pg-fee b{font-size:1.7rem;font-weight:600;color:var(--edu-ink);letter-spacing:-.01em}
.pg-fee em{font-size:12.5px;color:var(--ink-muted);font-style:normal}
.pg-facts{list-style:none;margin:8px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:8px}
.pg-facts li{display:flex;justify-content:space-between;gap:12px;font-size:13.5px}
.pg-facts span{color:var(--ink-muted)}.pg-facts b{color:var(--ink);text-align:right}

.pg-body{display:grid;grid-template-columns:1fr 230px;gap:48px;align-items:start}
.pg-content{max-width:760px}
.pg-sec{padding:22px 0;border-top:1px solid var(--line)}
.pg-sec:first-child{border-top:0;padding-top:0}
.pg-sec h2{font-weight:400;font-size:1.5rem;letter-spacing:-.01em;margin:0 0 12px}
.pg-sec p{font-size:1rem;line-height:1.7;color:var(--ink-muted);margin:0 0 10px}
.pg-sec p b{color:var(--ink)}
.pg-list{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.pg-list li{position:relative;padding-left:24px;font-size:1rem;color:var(--ink)}
.pg-list li::before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--edu)}
.pg-modules{margin:0;padding:0;list-style:none;display:grid;gap:0;counter-reset:none}
.pg-modules li{display:flex;align-items:baseline;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem;color:var(--ink)}
.pg-modules li span{font-size:12px;font-weight:700;color:var(--edu-ink);min-width:24px;letter-spacing:.04em}
.pg-faqs details{border-bottom:1px solid var(--line);padding:12px 0}
.pg-faqs summary{cursor:pointer;font-weight:600;font-size:1rem;color:var(--ink);list-style:none}
.pg-faqs summary::-webkit-details-marker{display:none}
.pg-faqs summary::after{content:"+";float:right;color:var(--ink-muted)}
.pg-faqs details[open] summary::after{content:"–"}
.pg-faqs p{margin:10px 0 0;font-size:.96rem;color:var(--ink-muted);line-height:1.6}
.pg-related{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pg-related a{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);transition:border-color .15s,background .15s}
.pg-related a:hover{border-color:var(--edu);background:var(--edu-soft)}
.pg-related b{font-size:.98rem;line-height:1.25}
.pg-toc{position:sticky;top:92px;display:grid;gap:2px}
.pg-toc h4{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}
.pg-toc a{padding:7px 0;font-size:13.5px;color:var(--ink-muted);text-decoration:none;border-bottom:1px solid transparent}
.pg-toc a:hover{color:var(--edu)}
@media(max-width:900px){.pg-head{grid-template-columns:1fr}.pg-card{order:-1;max-width:360px}.pg-body{grid-template-columns:1fr}.pg-toc{display:none}.pg-related{grid-template-columns:1fr}}

/* ============ white background + colourful domain cards + GIST footer ============ */
body{background:#FFFFFF}

/* smaller, more spacious hero image */
.hero-photo .imgph{aspect-ratio:4/3;max-width:400px;margin-left:auto;border-radius:16px}
@media(max-width:900px){.hero-photo .imgph{max-width:none;aspect-ratio:16/10}}

/* four big colourful numbered domain cards */
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.dcard{position:relative;display:block;padding:34px 34px 30px;border-radius:20px;background:var(--soft);border:1px solid rgba(34,48,42,.05);text-decoration:none;color:var(--ink);overflow:hidden;min-height:238px;transition:transform .2s,box-shadow .2s}
.dcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--c)}
.dcard-n{position:absolute;right:28px;top:22px;font-size:4rem;font-weight:700;line-height:1;color:var(--c);opacity:.85;letter-spacing:-.03em}
.dcard-k{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink);margin-bottom:12px}
.dcard h3{font-weight:500;font-size:1.3rem;line-height:1.16;margin:0 0 12px;max-width:17ch;color:var(--ink)}
.dcard p{font-size:.95rem;line-height:1.55;color:var(--ink-muted);margin:0 0 14px;max-width:36ch}
.dcard-tags{display:block;font-size:12.5px;font-weight:600;color:var(--c-ink);margin-bottom:18px}
.dcard .go{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--c-ink)}
.dcard:hover{transform:translateY(-4px);box-shadow:0 34px 66px -38px rgba(34,48,42,.42)}
@media(max-width:820px){.dgrid{grid-template-columns:1fr}.dcard{min-height:0}}

/* GIST-style footer (light) */
.ftx{background:var(--white);border-top:1px solid var(--line);padding-block:clamp(40px,5vw,72px) 26px}
.ftx-brand{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;border:1px solid var(--line);border-radius:18px;margin-bottom:44px}
.ftx-brand-l{display:flex;align-items:center;gap:18px}
.ftx-brand-l .brandlogo{width:132px;height:44px;flex:none}
.ftx-brand-t b{font-size:1.05rem;color:var(--ink)}
.ftx-brand-t p{font-size:13.5px;color:var(--ink-muted);margin:4px 0 0;max-width:56ch;line-height:1.5}
.ftx-badge{font-size:11px;font-weight:700;letter-spacing:.12em;padding:9px 18px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-muted);white-space:nowrap}
.ftx-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:34px;padding-bottom:40px}
.ftx-cols h4{font-size:14.5px;font-weight:600;margin:0 0 16px;color:var(--ink)}
.ftx-cols a{display:block;padding:6px 0;font-size:13.5px;color:var(--ink-muted);text-decoration:none;transition:color .15s}
.ftx-cols a:hover{color:var(--edu)}
.ftx-follow p{font-size:13px;color:var(--ink-muted);margin:0 0 18px;max-width:30ch;line-height:1.55}
.ftx-soc{display:flex;gap:10px}
.ftx-soc a{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;color:var(--ink-muted);text-decoration:none;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}
.ftx-soc a:hover{color:var(--edu);border-color:var(--edu)}
.ftx-rule{border:0;border-top:1px solid var(--line);margin:4px 0 30px}
.ftx-rows{display:grid;gap:22px;padding-bottom:34px}
.ftx-row h5{font-size:14px;font-weight:600;margin:0 0 9px;color:var(--ink)}
.ftx-row nav{font-size:13px;line-height:1.9;color:var(--ink-muted)}
.ftx-row nav a{color:var(--ink-muted);text-decoration:none}
.ftx-row nav a:hover{color:var(--edu)}
.ftx-row nav .pipe{opacity:.32;margin:0 9px}
.ftx-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;border-radius:18px;background:var(--edu-soft);margin:8px 0 30px;flex-wrap:wrap}
.ftx-cta-t b{font-size:1.2rem;font-weight:500;color:var(--ink)}
.ftx-cta-t p{font-size:14px;color:var(--ink-muted);margin:6px 0 0;max-width:56ch;line-height:1.5}
.ftx-legal{display:flex;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-muted);padding-top:22px;border-top:1px solid var(--line)}
.ftx-legal-links{display:flex;gap:18px}
.ftx-legal-links a{color:var(--ink-muted);text-decoration:none}
.ftx-legal-links a:hover{color:var(--edu)}
@media(max-width:1000px){.ftx-cols{grid-template-columns:1fr 1fr 1fr}.ftx-follow{grid-column:1/-1}}
@media(max-width:640px){.ftx-cols{grid-template-columns:1fr 1fr}.ftx-brand{flex-direction:column;align-items:flex-start}.ftx-cta{flex-direction:column;align-items:flex-start}}

/* fully white background: remove hero aurora wash */
.hero::before{display:none!important}
.hero{background:#FFFFFF}

/* apply page: selected-programme banner */
.apply-prog{display:grid;gap:2px;padding:16px 18px;margin:0 0 20px;border:1px solid var(--line);border-left:4px solid var(--edu);border-radius:12px;background:var(--edu-soft)}
.apply-prog span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}
.apply-prog b{font-size:1.05rem;color:var(--ink)}
.apply-prog em{font-size:13px;color:var(--ink-muted);font-style:normal}

/* ================= homepage: motion graphics + page previews ================= */
/* --- HERO motion emblem --- */

/* --- shared preview header --- */
.prev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(22px,3vw,34px)}
.prev-head .display{margin-bottom:8px}.prev-head .lead{margin:0}
.prev-head .lead b{color:var(--ink)}
.prev-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,64px);align-items:center}
@media(max-width:860px){.prev-split{grid-template-columns:1fr}}

/* --- EDUCATION preview --- */
.prev-edu{background:var(--edu-soft)}
.level-rail{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.lpill{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border:1px solid rgba(34,48,42,.12);border-radius:999px;background:var(--white);font-size:13.5px;font-weight:500;color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}
.lpill b{color:var(--edu-ink)}
.lpill:hover{border-color:var(--edu);transform:translateY(-2px)}
.prev-rows{display:grid;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.prev-rows .crow{border-bottom:1px solid var(--line);padding:15px 18px}
.prev-rows .crow:last-child{border-bottom:0}

/* --- MENTAL HEALTH preview + care motion --- */
.prev-care{background:var(--care-soft)}

.flow-3{list-style:none;margin:0 0 20px;padding:0;display:flex;gap:10px;flex-wrap:wrap;counter-reset:f}
.flow-3 li{position:relative;flex:1;min-width:120px;padding:14px 16px;background:var(--white);border:1px solid var(--line);border-radius:12px;counter-increment:f}
.flow-3 li::before{content:counter(f);position:absolute;top:10px;right:12px;font-size:11px;font-weight:700;color:var(--care)}
.flow-3 b{display:block;font-size:1rem;color:var(--ink)}.flow-3 span{font-size:12.5px;color:var(--ink-muted)}
.tagrow{font-size:13px;color:var(--ink-muted);margin:16px 0 0}
.prev-copy .display{margin-bottom:10px}

/* --- IDEAS tiles with motion node --- */
.idea-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.itile{position:relative;display:block;padding:22px;border-radius:16px;background:var(--soft);border:1px solid rgba(34,48,42,.05);text-decoration:none;color:var(--ink);overflow:hidden;transition:transform .2s,box-shadow .2s}
.itile b{display:block;font-size:1.02rem;margin:14px 0 5px;color:var(--ink)}
.itile span{font-size:12.5px;color:var(--ink-muted);line-height:1.45}
.it-viz{display:block;width:34px;height:34px;border-radius:50%;background:var(--c);position:relative}
.it-viz::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid var(--c);opacity:.4;animation:itpulse 2.8s ease-out infinite}
.itile:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(34,48,42,.4)}
@keyframes itpulse{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.15);opacity:0}}
@media(max-width:820px){.idea-tiles{grid-template-columns:1fr 1fr}}

/* --- STORIES quote cards --- */
.stories-prev{background:var(--paper)}

/* --- IMPACT globe motion --- */

/* --- LIFE marquee --- */
.life-sec{background:var(--edu-soft)}
.life-marquee{overflow:hidden;margin-top:26px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.lm-track{display:inline-flex;align-items:center;gap:22px;white-space:nowrap;animation:lmscroll 32s linear infinite;will-change:transform}
.lm-track span{font-weight:300;font-size:clamp(1.4rem,2.6vw,2.1rem);letter-spacing:-.01em;color:var(--ink)}
.lm-track i{color:var(--edu);font-size:.7rem;font-style:normal;opacity:.6}
@keyframes lmscroll{to{transform:translateX(-50%)}}

/* ================= consistency fixes ================= */
/* --- video stage -> 1:1 image placeholder (no video) --- */
.hero .stage,.phero .stage{aspect-ratio:1/1!important;max-width:460px}
.hero .arch,.phero .arch{inset:0!important;border-radius:24px!important}
.arch::after{content:"";position:absolute;left:50%;top:42%;translate:-50% -50%;width:50px;height:50px;opacity:.5;pointer-events:none;z-index:2;background:no-repeat center/contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2380897F' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='8.5' cy='9.5' r='1.6'/%3E%3Cpath d='M4 17l4.5-4.5 3 3 4-4L20 16'/%3E%3C/svg%3E")}
.film{position:absolute!important;left:50%!important;right:auto!important;top:auto!important;bottom:16px!important;margin:0!important;translate:-50% 0;text-align:center;background:rgba(255,255,255,.92);border-radius:12px;padding:10px 18px;box-shadow:0 12px 26px -14px rgba(34,48,42,.45);max-width:84%;z-index:3;backdrop-filter:blur(4px)}
.film b{display:block;font-size:1rem;color:var(--ink)}.film span{font-size:12.5px;color:var(--ink-muted)}

/* --- unified tick marks: rounded badge + matching colour --- */
.ticks li,.tier li,.cd-feat li{position:relative;padding-left:30px;list-style:none}
.ticks li::before,.tier li::before,.cd-feat li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--soft,var(--edu-soft))}
.ticks li::after,.tier li::after,.cd-feat li::after{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;background:var(--c,var(--edu));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/11px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/11px no-repeat}

/* --- script/accent font -> Baskerville italic (was Signatra/Allura) --- */
:root{--script:Baskerville,"Baskerville Old Face","Angsana New","Libre Baskerville",Georgia,serif}

.hero .sub,.phero .sub{font-size:clamp(2rem,3.6vw,3rem)!important}

/* ================= latest fixes ================= */
/* remove header green logo (for now) */
.nav .brand{display:none}

/* motion graphics -> blank 1:1 image placeholders */
.imgph.sq{aspect-ratio:1/1!important}
.hero-photo .imgph.sq{max-width:400px;margin-left:auto;border-radius:16px}
.prev-split > .imgph.sq{max-width:320px;margin:0 auto;border-radius:16px}
@media(max-width:900px){.hero-photo .imgph.sq{max-width:none;margin:8px auto 0}}
/* stop the small leftover animations */
.it-viz::after{display:none!important}
.it-viz{background:var(--c)}
.life-marquee{-webkit-mask:none!important;mask:none!important}
.lm-track{animation:none!important;flex-wrap:wrap;justify-content:center;white-space:normal;gap:14px 20px}

/* EDUCATION — institute credentials block */
.cred-sec{position:relative;overflow:hidden;background:var(--paper)}
.cred-sec::before{content:"";position:absolute;right:-8%;top:6%;width:min(600px,52vw);aspect-ratio:1;background:url("emblem-red.png") center/contain no-repeat;opacity:.055;pointer-events:none;z-index:0}
.cred-sec .wrap{position:relative;z-index:1}
.cred-brand{text-align:center;margin-bottom:clamp(26px,4vw,46px)}
.cred-logo{width:min(600px,82vw);height:auto;display:block;margin:0 auto;filter:drop-shadow(0 14px 30px rgba(34,48,42,.14))}
.cred-sub{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin:14px 0 0}
.cred-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.cred-doc{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 26px 54px -36px rgba(34,48,42,.45);transition:transform .2s,box-shadow .2s}
.cred-doc:hover{transform:translateY(-5px);box-shadow:0 40px 70px -40px rgba(34,48,42,.5)}
.cred-doc img{width:100%;height:auto;border-radius:6px;display:block;border:1px solid rgba(34,48,42,.06)}
.cred-doc figcaption{margin-top:12px;text-align:center;font-size:13px;font-weight:600;color:var(--ink)}
@media(max-width:820px){.cred-grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto}.cred-sec::before{opacity:.04;right:-20%}}

/* ================= reviews · dropdowns · fonts · motion ================= */
/* remove cursive accent -> simple small sans fonts */
:root{--script:var(--sans,"Figtree",system-ui,sans-serif)}

.hero .sub,.phero .sub{font-size:clamp(1.5rem,2.4vw,2.1rem)!important;line-height:1.1}

/* rich dropdown items (name + description) */
.mega-col a.rich{padding:9px 0;display:block}
.mega-col a.rich b{display:block;font-size:14px;font-weight:600;color:var(--ink);line-height:1.25}
.mega-col a.rich span{display:block;font-size:12px;color:var(--ink-muted);line-height:1.35;margin-top:2px}
.mega-col a.rich:hover b{color:var(--edu)}
.mega-col a.rich:hover{padding-left:4px}

/* video review cards */
.vreviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vreview{display:block;text-decoration:none;color:var(--ink)}
.vr-thumb{position:relative;aspect-ratio:16/10;border-radius:14px;background:linear-gradient(150deg,var(--soft,#EAF2EC),color-mix(in srgb,var(--c,#2F7D5B) 14%,#fff));border:1px solid rgba(34,48,42,.06);overflow:hidden;transition:transform .2s,box-shadow .2s}
.vreview:hover .vr-thumb{transform:translateY(-4px);box-shadow:0 30px 56px -34px rgba(34,48,42,.42)}
.vr-play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 14px 30px -12px rgba(34,48,42,.5);display:grid;place-items:center}
.vr-play::before{content:"";width:0;height:0;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent var(--c,#2F7D5B);margin-left:4px}
.vr-dur{position:absolute;right:10px;bottom:10px;font-size:11px;font-weight:600;color:#fff;background:rgba(34,48,42,.7);padding:3px 8px;border-radius:999px;backdrop-filter:blur(4px)}
.vr-meta{padding:12px 2px 0}
.vr-meta b{display:block;font-size:14.5px;font-weight:600;color:var(--ink)}
.vr-meta span{font-size:12px;color:var(--c-ink,var(--ink-muted));font-weight:600}
@media(max-width:820px){.vreviews{grid-template-columns:1fr;max-width:400px;margin-inline:auto}}

/* scroll-reveal motion */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important}}

/* ================= cleanup: logo, lean & spacious ================= */
.final-logo{display:block;margin:0 auto 22px;height:auto;max-width:200px;opacity:.96}
/* neat, lean, a touch more spacious */
.sec{padding-block:clamp(60px,6vw,104px)}
.sec-tight{padding-block:clamp(40px,4.4vw,66px)}
.head{margin-bottom:clamp(30px,3.4vw,48px)}
.dgrid{gap:24px}
.links{gap:20px}

/* ================= chat widget: green orb + single Ask + female avatars ================= */

/* keep the three chat dots gently beating = green motion in the sign */

/* female avatar faces fill the circle */
.face{background:#fff!important}
.face svg{width:100%!important;height:100%!important;margin:0!important}

/* ================= cinematic banner + big search (main pages) ================= */
.cine-banner{position:relative;overflow:hidden;background:var(--soft);padding-block:clamp(56px,9vw,120px) clamp(44px,6vw,80px)}
.cine-banner .wrap{position:relative;z-index:2}
.cine-banner .crumbs{margin-bottom:16px}
.cine-banner .eyebrow{color:var(--c-ink)}
.cb-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.cb-bg span{position:absolute;border-radius:50%;filter:blur(60px);will-change:transform}
.cb-bg .b1{width:44vw;height:44vw;background:var(--c);left:-10%;top:-24%;opacity:.20;animation:cbdrift 20s ease-in-out infinite}
.cb-bg .b2{width:34vw;height:34vw;background:var(--c-ink);right:-8%;top:6%;opacity:.13;animation:cbdrift 26s ease-in-out infinite reverse}
.cb-bg .b3{width:26vw;height:26vw;background:var(--sun);left:28%;bottom:-26%;opacity:.11;animation:cbdrift 30s ease-in-out infinite}
@keyframes cbdrift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(5%,7%) scale(1.06)}66%{transform:translate(-4%,3%) scale(.97)}}
.cb-title{font-weight:300;font-size:clamp(2.3rem,5vw,4rem);line-height:1.02;letter-spacing:-.025em;margin:12px 0 16px;color:var(--ink);max-width:17ch}
.cb-lead{font-size:clamp(1.02rem,1.25vw,1.18rem);line-height:1.55;color:var(--ink-muted);max-width:48ch;margin:0 0 30px}
.cb-search{display:flex;align-items:center;gap:8px;max-width:680px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 7px 7px 22px;box-shadow:0 34px 66px -32px rgba(34,48,42,.4)}
.cb-search svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--ink-muted);stroke-width:1.8;stroke-linecap:round}
.cb-search input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:16px;background:transparent;color:var(--ink);padding:13px 6px}
.cb-search button{flex:none;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:15px;color:#fff;background:var(--c-ink,var(--edu));border-radius:999px;padding:13px 28px;transition:filter .2s}
.cb-search button:hover{filter:brightness(1.06)}
.cb-tags{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px;font-size:14px;color:var(--c-ink);font-weight:600}
.cb-stats{display:flex;flex-wrap:wrap;gap:16px 44px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(34,48,42,.1);max-width:680px}
.cb-stats div{display:flex;flex-direction:column}
.cb-stats b{font-size:1.6rem;font-weight:600;color:var(--c-ink);letter-spacing:-.02em}
.cb-stats span{font-size:12.5px;color:var(--ink-muted)}
@media(max-width:640px){.cb-search{flex-wrap:wrap;border-radius:20px;padding:12px 14px}.cb-search input{width:100%;flex-basis:100%}.cb-search button{width:100%;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.cb-bg span{animation:none!important}}

/* anchor jump offset for sticky nav */
html{scroll-padding-top:96px}
.jump{display:block;height:0;visibility:hidden}

/* ================= new chat button: two-bubble icon + online pulse ================= */
.chat-fab .orb2{position:relative;width:46px;height:46px;flex:none;display:grid;place-items:center}
.chat-fab .orb2 svg{width:38px;height:38px;filter:drop-shadow(0 4px 9px rgba(47,125,91,.28))}
.chat-fab .orb2 .cd{animation:dotbeat 1.3s ease-in-out infinite}
.chat-fab .orb2 .cd2{animation-delay:.18s}.chat-fab .orb2 .cd3{animation-delay:.36s}
.online-dot{position:absolute;top:1px;right:1px;width:11px;height:11px;border-radius:50%;background:#22C55E;border:2px solid #fff}
.online-dot::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #22C55E;animation:onlinePulse 1.9s ease-out infinite}
@keyframes onlinePulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.fab-txt small{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:#1FA355}
@media(prefers-reduced-motion:reduce){.online-dot::after,.chat-fab .orb2 .cd{animation:none!important}}

/* ================= Life at emo matrix — sliding gallery ================= */
.life-gallery{overflow:hidden}
.lg-viewport{overflow:hidden;margin-top:clamp(28px,4vw,48px);-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);cursor:grab}
.lg-track{display:flex;gap:18px;width:max-content;will-change:transform}
.lg-tile{flex:none;width:clamp(170px,19vw,250px);margin:0;transform:scale(var(--f,1));opacity:var(--o,1)}
.lg-img{position:relative;aspect-ratio:4/5;border-radius:16px;background:linear-gradient(140deg,var(--a,#2F7D5B),var(--b,#7FC7A0));overflow:hidden;display:grid;place-items:center;box-shadow:0 26px 52px -32px rgba(34,48,42,.45);filter:grayscale(1)}
.lg-ic{width:40px;height:40px;fill:none;stroke:rgba(255,255,255,.9);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.lg-video .lg-img::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.14)}
.lg-play{position:relative;z-index:2;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;box-shadow:0 16px 32px -12px rgba(0,0,0,.55)}
.lg-play::before{content:"";width:0;height:0;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #22302A;margin-left:4px}
.lg-tile figcaption{margin-top:12px;text-align:center;font-size:13.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:6px}
.lg-em{font-size:16px}
@media(max-width:640px){.lg-tile{width:150px}}
@media(prefers-reduced-motion:reduce){.lg-img{filter:none!important}.lg-tile{opacity:1!important;transform:none!important}}

/* alumni feature grid */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat{padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:transform .2s,box-shadow .2s}
.feat:hover{transform:translateY(-4px);box-shadow:0 30px 60px -38px rgba(34,48,42,.4)}
.feat h3{font-size:1.1rem;margin:0 0 8px;color:var(--ink)}
.feat p{font-size:.95rem;color:var(--ink-muted);line-height:1.5;margin:0 0 14px}
.feat .ticks{margin:0}.feat .ticks li{font-size:14px}
@media(max-width:820px){.feat-grid{grid-template-columns:1fr}}
.alumni-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:clamp(28px,4vw,44px);border-radius:20px;background:var(--edu-soft);border:1px solid rgba(47,125,91,.12);text-decoration:none;color:var(--ink);transition:transform .2s}
.alumni-cta:hover{transform:translateY(-3px)}
.alumni-cta .display{margin:8px 0 10px}.alumni-cta .lead{margin:0;max-width:52ch}
.alumni-cta .btn{flex:none;pointer-events:none}

/* One-ecosystem banner section */
.ecosystem-sec{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--edu-soft),var(--care-soft) 52%,#E9F0F5)}
.eco-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.eco-card{display:block;padding:22px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(34,48,42,.06);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s,background .2s}
.eco-card:hover{transform:translateY(-4px);box-shadow:0 28px 54px -32px rgba(34,48,42,.42);background:#fff}
.eco-card b{display:block;font-size:1.02rem;margin-bottom:6px;line-height:1.2}
.eco-card span{font-size:13px;color:var(--ink-muted);line-height:1.45}
@media(max-width:980px){.eco-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.eco-grid{grid-template-columns:1fr}}

/* social experiments + good debate pages */
.exp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.exp-chip{padding:20px 18px;border-radius:14px;background:var(--soft);border:1px solid rgba(34,48,42,.05);border-left:4px solid var(--c)}
.exp-chip h3{margin:0;font-size:1rem;font-weight:600;color:var(--ink)}
@media(max-width:980px){.exp-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.exp-grid{grid-template-columns:1fr 1fr}}
.esteps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.estep{display:flex;gap:14px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px}
.estep-n{font-size:13px;font-weight:700;color:var(--c-ink);flex:none}
.estep b{display:block;font-size:1rem;margin-bottom:4px;color:var(--ink)}
.estep p{font-size:13.5px;color:var(--ink-muted);line-height:1.5;margin:0}
@media(max-width:860px){.esteps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.esteps{grid-template-columns:1fr}}
.debate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.debate-card{display:block;padding:24px;border-radius:16px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.debate-card:hover{transform:translateY(-4px);box-shadow:0 28px 54px -34px rgba(34,48,42,.4)}
.dc-tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink)}
.debate-card h3{font-weight:400;font-size:1.2rem;line-height:1.2;margin:10px 0 14px}
@media(max-width:860px){.debate-grid{grid-template-columns:1fr}}

/* homepage engagement section */
.engage-sec{background:var(--paper)}
.engage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.engage-card{position:relative;display:block;padding:30px 28px;border-radius:20px;background:var(--soft);border:1px solid rgba(34,48,42,.05);border-top:5px solid var(--c);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.engage-card:hover{transform:translateY(-5px);box-shadow:0 34px 64px -36px rgba(34,48,42,.42)}
.ec-viz{font-size:2rem;display:block;margin-bottom:14px}
.engage-card b{display:block;font-size:1.2rem;margin-bottom:8px;color:var(--ink)}
.engage-card>span:not(.ec-viz):not(.go){display:block;font-size:.95rem;color:var(--ink-muted);line-height:1.5;margin-bottom:16px}
.engage-card .go{font-size:14px;font-weight:600;color:var(--c-ink)}
@media(max-width:860px){.engage-grid{grid-template-columns:1fr}}

/* simplified nav: narrow hover dropdowns (only distinct-page links) */
.links .mega.narrow{position:relative}
.mega.narrow>.mega-panel{left:0;right:auto;width:max-content;min-width:210px;padding:12px;display:grid;gap:1px}
.mega.narrow>.mega-panel>a{display:block;padding:9px 12px;border-radius:10px;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;transition:background .14s,color .14s}
.mega.narrow>.mega-panel>a:hover{background:var(--paper,#F1F5F1);color:var(--edu)}

/* university partners: clean logo space + small name (no button look) */
.uni .seal{width:48px;height:48px;border-radius:10px;background:#F2F4F1!important;border:1px solid var(--line)!important;box-shadow:none!important;color:var(--ink-muted)!important;display:grid;place-items:center;flex:none}
.uni .seal b{font-size:12px!important;font-weight:700;color:var(--ink-muted)!important;letter-spacing:.02em}
.uni:hover{transform:none}

/* ================= professionals directory ================= */
.dir-search{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:8px}
.dir-search .cb-search{flex:1;min-width:280px;margin:0}
.dir-city{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink)}
.dir-city select{font:inherit;font-size:15px;font-weight:500;text-transform:none;letter-spacing:0;padding:13px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 20px 44px -30px rgba(34,48,42,.4)}
.pro-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}
.pchip{font:600 14px/1 var(--sans);padding:10px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:all .15s}
.pchip.on{background:var(--tech);color:#fff;border-color:var(--tech)}
.pchip:not(.on):hover{border-color:var(--tech)}
.pro-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.muted{font-size:13.5px;color:var(--ink-muted)}
/* view toggle */
.view-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff}
.vt{width:34px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--ink-muted);cursor:pointer;transition:.15s}
.vt svg{width:17px;height:17px;fill:currentColor}
.vt:hover{color:var(--tech)}
.vt.on{background:var(--tech-soft,#EAF0F5);color:var(--tech,#4F7695)}
/* card — shared */
.pro-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.pro-card:hover{transform:translateY(-4px);box-shadow:0 34px 60px -42px rgba(34,48,42,.5);border-color:transparent}
.pro-card:focus-visible{outline:2px solid var(--tech);outline-offset:3px}
.pro-photo{position:relative;background:#EEF2F0;overflow:hidden}
.pro-photo svg{width:100%;height:100%;display:block}
.pro-verified{position:absolute;top:10px;right:10px;width:27px;height:27px;border-radius:50%;background:#2F7D5B;display:grid;place-items:center;box-shadow:0 6px 16px -6px rgba(47,125,91,.8);border:2px solid #fff}
.pro-verified svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.pro-name{font-size:1.05rem;font-weight:600;margin:0;line-height:1.25;color:var(--ink)}
.pro-role{margin:2px 0 9px;font-size:13px;font-weight:600;color:var(--tech-ink,#3B5A73)}
.pro-facts{display:flex;flex-wrap:wrap;gap:3px 10px;margin-bottom:10px}
.pro-facts .pf{font-size:12px;color:var(--ink-muted);position:relative}
.pro-facts .pf:not(:first-child)::before{content:"·";margin-right:10px;color:var(--line)}
.pro-bio{font-size:13px;line-height:1.5;color:var(--ink-soft,#5b6660);margin:0 0 11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pro-tags{display:flex;flex-wrap:wrap;gap:6px}
.pro-tags span{font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--tech-soft,#EAF0F5);color:var(--tech-ink,#3B5A73)}
.pro-open{font-size:12.5px;font-weight:700;color:var(--tech,#4F7695);opacity:0;transition:opacity .18s}
.pro-card:hover .pro-open,.pro-card:focus-visible .pro-open{opacity:1}
/* GRID view */
.pro-grid.is-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.is-grid .pro-photo{aspect-ratio:16/11}
.is-grid .pro-info{padding:16px 17px 17px}
.is-grid .pro-open{display:block;margin-top:12px}
/* LIST view */
.pro-grid.is-list{display:flex;flex-direction:column;gap:12px}
.is-list .pro-card{display:grid;grid-template-columns:128px 1fr;align-items:center;gap:20px;border-radius:16px}
.is-list .pro-photo{width:128px;height:112px;border-radius:12px;margin:10px 0 10px 10px}
.is-list .pro-info{padding:14px 20px 14px 0;min-width:0}
.is-list .pro-facts{margin-bottom:8px}
.is-list .pro-bio{margin-bottom:9px;max-width:66ch}
.is-list .pro-tags{margin-bottom:0}
.is-list .pro-open{display:block;margin-top:10px;opacity:1}
.empty{text-align:center;color:var(--ink-muted);padding:40px 0}
.linkbtn{background:none;border:0;color:var(--tech);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
/* profile detail modal */
.pd-card{max-width:560px;text-align:left;padding:0;overflow:hidden}
.pd-head{display:flex;gap:20px;align-items:flex-end;padding:26px 28px 20px;background:linear-gradient(160deg,#F3F7F4,#EAF0F5)}
.pd-photo{width:104px;height:104px;border-radius:18px;overflow:hidden;flex:none;box-shadow:0 14px 30px -16px rgba(34,48,42,.5);background:#EEF2F0}
.pd-photo svg{width:100%;height:100%;display:block}
.pd-headinfo{min-width:0;padding-bottom:2px}
.pd-nrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pd-name{font-size:1.4rem;font-weight:700;margin:0;line-height:1.15;color:var(--ink)}
.pd-verified{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:#2F7D5B;background:#E7F3EC;padding:3px 9px 3px 6px;border-radius:999px}
.pd-verified svg{width:13px;height:13px;fill:none;stroke:#2F7D5B;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.pd-role{margin:6px 0 10px;font-size:14px;font-weight:600;color:var(--tech-ink,#3B5A73)}
.pd-facts{display:flex;flex-wrap:wrap;gap:4px 12px}
.pd-facts .pf{font-size:12.5px;color:var(--ink-muted);position:relative}
.pd-facts .pf:not(:first-child)::before{content:"·";margin-right:12px;color:var(--line)}
.pd-body{padding:22px 28px 6px}
.pd-bio{font-size:14.5px;line-height:1.65;color:var(--ink-soft,#4d574f);margin:0 0 20px}
.pd-block h4{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 10px}
.pd-tags{display:flex;flex-wrap:wrap;gap:8px}
.pd-tags span{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--tech-soft,#EAF0F5);color:var(--tech-ink,#3B5A73)}
.pd-actions{padding:18px 28px 26px}
.pd-actions .btn{width:100%;justify-content:center}
/* rating stars */
.ic-star{width:14px;height:14px;fill:#F2B544;flex:none}
.ic-star.off{fill:#D9E0DB}
.pro-rating{display:flex;align-items:center;gap:5px;margin:0 0 9px;font-size:12.5px;color:var(--ink-muted)}
.pro-rating b{color:var(--ink);font-weight:700}
.pro-rating span{color:var(--ink-muted)}
/* featured ribbon + card accent */
.pro-feat{position:absolute;top:10px;left:10px;z-index:2;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#7A4E00;background:linear-gradient(180deg,#FBD778,#F2B544);padding:4px 10px;border-radius:999px;box-shadow:0 6px 16px -6px rgba(210,150,30,.9)}
.pro-card.is-feat{border-color:#F2CE86;box-shadow:0 0 0 1px #F6DBA4 inset}
.pro-card.is-feat:hover{box-shadow:0 34px 60px -42px rgba(34,48,42,.5)}
/* audio/video sample chips on photo */
.pro-media{position:absolute;left:10px;bottom:10px;display:flex;gap:6px}
.pro-media .pm{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(20,34,28,.62);backdrop-filter:blur(3px)}
.pro-media .pm svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pro-media .pm-v svg{fill:#fff;stroke:none}
.is-list .pro-feat{top:8px;left:8px;font-size:9.5px;padding:3px 8px}
.is-list .pro-media{left:8px;bottom:8px}
/* featured chip */
.pchip-feat.on{background:var(--sun,#F2B544);border-color:var(--sun,#F2B544);color:#5b3d00}
.pchip-feat:not(.on){border-color:#F2CE86;color:#9a6b12}
/* ---- detail: featured + rating + meta ---- */
.pd-feat{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#7A4E00;background:linear-gradient(180deg,#FBD778,#F2B544);padding:4px 10px;border-radius:999px}
.pd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px}
.pd-rating{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--ink-muted)}
.pd-rating .ic-star{width:15px;height:15px}
.pd-rating b{margin-left:3px;color:var(--ink);font-weight:700}
.pd-rating span{color:var(--ink-muted)}
/* ---- detail: media (audio + video) ---- */
.pd-media{display:flex;flex-direction:column;gap:14px;margin:0 0 22px}
.pd-audio{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#F7FAF8}
.pa-btn{width:42px;height:42px;flex:none;border:0;border-radius:50%;background:var(--tech,#4F7695);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .12s,background .15s}
.pa-btn:hover{transform:scale(1.06)}
.pa-btn svg{width:20px;height:20px;fill:#fff}
.pa-btn .pa-pause{display:none}
.pa-btn.on .pa-play{display:none}.pa-btn.on .pa-pause{display:block}
.pa-body{flex:1;min-width:0}
.pa-label{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:8px}
.pa-label span{color:var(--ink-muted);font-weight:500}
.pa-track{height:6px;border-radius:999px;background:#DCE6E0;cursor:pointer;position:relative;overflow:hidden}
.pa-fill{position:absolute;left:0;top:0;height:100%;width:0;border-radius:999px;background:var(--tech,#4F7695)}
.pa-time{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-muted);flex:none}
.pd-video .pv-label{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:8px}
.pd-video .pv-label span{color:var(--ink-muted);font-weight:500}
.pv-el{width:100%;aspect-ratio:16/9;border-radius:14px;background:#14372B;display:block;overflow:hidden}
/* ---- detail: personality + cause ---- */
.pd-traits{display:flex;flex-wrap:wrap;gap:8px}
.pd-traits span{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:#EFEAF6;color:#5E4E86}
.pd-cause{display:flex;gap:12px;align-items:center;margin-top:20px;padding:14px 16px;border-radius:14px;background:linear-gradient(120deg,#FDECEC,#FBF1EA);border:1px solid #F6DAD2}
.pc-ic{width:34px;height:34px;flex:none;border-radius:10px;background:#fff;display:grid;place-items:center;box-shadow:0 6px 14px -8px rgba(200,80,60,.6)}
.pc-ic svg{width:18px;height:18px;fill:#E1604A}
.pd-cause .pc-lbl{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#B4553E;margin-bottom:2px}
.pd-cause b{font-size:14px;color:var(--ink);font-weight:600;line-height:1.3}
/* ===== alumni directory (simplified) ===== */
.al-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 28px}
.al-stat{padding:22px 20px;border-radius:18px;background:linear-gradient(165deg,#F2F8F4,#EAF0F5);border:1px solid var(--line);text-align:center}
.al-stat b{display:block;font-size:1.9rem;font-weight:700;letter-spacing:-.02em;color:var(--edu,#2F7D5B);line-height:1}
.al-stat span{display:block;margin-top:7px;font-size:12.5px;color:var(--ink-muted)}
.al-filters{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 4px}
.al-filters .dir-city{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 8px 6px 16px;box-shadow:0 20px 44px -34px rgba(34,48,42,.4)}
.al-filters .dir-city select{border:0;box-shadow:none;padding:7px 10px}
/* compact alumni cards */
.al-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.al-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 18px 22px;border:1px solid var(--line);border-radius:18px;background:#fff;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}
.al-card:hover{transform:translateY(-4px);box-shadow:0 32px 56px -42px rgba(34,48,42,.5);border-color:transparent}
.al-card:focus-visible{outline:2px solid var(--edu);outline-offset:3px}
.al-av{position:relative;width:78px;height:78px;border-radius:50%;overflow:hidden;background:#EEF2F0;margin-bottom:14px}
.al-av svg{width:100%;height:100%;display:block}
.al-vchk{position:absolute;right:2px;bottom:2px;width:22px;height:22px;border-radius:50%;background:#2F7D5B;border:2px solid #fff;display:grid;place-items:center;box-shadow:0 4px 10px -4px rgba(47,125,91,.9)}
.al-vchk svg{width:11px;height:11px;fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.al-name{font-size:1rem;font-weight:600;margin:0;line-height:1.25;color:var(--ink);display:flex;align-items:center;gap:5px;justify-content:center}
.al-star{color:#E7A81E;font-size:14px}
.al-sub{margin:4px 0 0;font-size:12px;font-weight:600;color:var(--edu,#2F7D5B)}
.al-role{margin:9px 0 0;font-size:13px;font-weight:500;color:var(--ink)}
.al-loc{margin:6px 0 0;font-size:12px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:5px;justify-content:center}
.al-loc svg{width:13px;height:13px;stroke:var(--ink-muted)}
.al-areas{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:13px}
.al-areas span{font-size:10.5px;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--edu-soft,#E7F3EC);color:var(--edu-ink,#2F7D5B)}
.al-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;color:#7A4E00;background:linear-gradient(180deg,#FBD778,#F2B544);padding:4px 12px;border-radius:999px;white-space:nowrap;margin-top:10px}
/* simplified alumni detail */
.ald-card{max-width:440px;text-align:center;padding:clamp(28px,4vw,40px) clamp(24px,4vw,38px) clamp(24px,4vw,34px)}
.ald-av{position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden;background:#EEF2F0;margin:0 auto 16px;box-shadow:0 14px 30px -16px rgba(34,48,42,.5)}
.ald-av svg{width:100%;height:100%;display:block}
.ald-av .al-vchk{width:26px;height:26px}
.ald-av .al-vchk svg{width:13px;height:13px}
.ald-nrow{display:flex;justify-content:center}
.ald-name{font-size:1.4rem;font-weight:700;margin:0;color:var(--ink)}
.ald-sub{margin:12px 0 0;font-size:13px;font-weight:600;color:var(--edu,#2F7D5B)}
.ald-role{margin:8px 0 0;font-size:14.5px;font-weight:600;color:var(--ink)}
.ald-role span{color:var(--ink-muted);font-weight:500}
.ald-loc{margin:6px 0 0;font-size:13px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:6px;justify-content:center}
.ald-loc svg{width:14px;height:14px;stroke:var(--ink-muted)}
.ald-short{margin:18px 0 0;font-size:14px;line-height:1.6;color:var(--ink-soft,#4d574f)}
.ald-block{margin-top:22px}
.ald-block h4{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 12px}
.ald-tags{justify-content:center}
.al-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.al-actions .btn{flex:1;justify-content:center;min-width:150px}
@media(max-width:1000px){.al-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.al-stats{grid-template-columns:1fr 1fr}.al-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.al-filters .dir-city{flex:1;min-width:140px}}
@media(max-width:430px){.al-grid{grid-template-columns:1fr}.al-actions .btn{min-width:0}}
@media(max-width:920px){.pro-grid.is-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pro-grid.is-grid{grid-template-columns:1fr}.dir-search .cb-search{min-width:0}
.is-list .pro-card{grid-template-columns:96px 1fr;gap:14px}
.is-list .pro-photo{width:96px;height:92px}
.is-list .pro-open{display:none}
.pd-head{flex-direction:column;align-items:flex-start;gap:14px}}

/* ================= premium modal (book / contact) ================= */
.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.modal[hidden]{display:none}
.modal-bg{position:absolute;inset:0;background:rgba(24,34,29,.5);backdrop-filter:blur(6px);opacity:0;transition:opacity .22s}
.modal.in .modal-bg{opacity:1}
.modal-card{position:relative;width:min(560px,100%);background:#fff;border-radius:26px;padding:clamp(28px,4vw,44px);box-shadow:0 60px 120px -40px rgba(24,34,29,.7);transform:translateY(18px) scale(.98);opacity:0;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .26s;max-height:92vh;overflow:auto}
.modal.in .modal-card{transform:none;opacity:1}
.modal-x{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:0;background:var(--paper,#F1F5F1);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;transition:background .15s}
.modal-x:hover{background:#E7ECE8}
.modal-h{font-size:clamp(1.5rem,3vw,2rem);font-weight:400;letter-spacing:-.02em;margin:10px 0 8px;color:var(--ink)}
.modal-sub{font-size:.95rem;color:var(--ink-muted);line-height:1.5;margin:0 0 24px}
.modal-form{display:grid;gap:16px}
.mf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.modal-form label{display:grid;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:.01em}
.modal-form input,.modal-form textarea{font:inherit;font-size:15px;font-weight:400;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);width:100%}
.modal-form input:focus,.modal-form textarea:focus{outline:2px solid var(--tech);outline-offset:1px;border-color:var(--tech)}
.modal-form textarea{resize:vertical}
.modal-form .btn{margin-top:6px;justify-self:start}
.modal-done{text-align:center;padding:24px 0}
.md-check{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--edu-soft);color:var(--edu);font-size:26px;margin-bottom:14px}
.modal-done b{display:block;font-size:1.2rem;margin-bottom:6px}.modal-done p{color:var(--ink-muted);margin:0}
@media(max-width:520px){.mf-row{grid-template-columns:1fr}}

/* recognition: clean logo grid + slightly larger badge */
.logo .seal{width:56px!important;height:56px!important;border-radius:14px!important}
.logo:hover b{color:var(--edu)}

/* ================= become a coach ================= */
.eyebrow.tt{--c:var(--tech);--c-ink:var(--tech-ink);color:var(--tech-ink)}
.soft-tech{background:linear-gradient(180deg,#F5F8FB,#EDF2F7)}
.coach-hero .cb-lead{max-width:62ch}
/* two levels */
.coach-levels{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.lvl-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(26px,3vw,38px);box-shadow:0 40px 80px -60px rgba(30,45,60,.5)}
.lvl-master{border-color:var(--tech)}
.lvl-master::before{content:"";position:absolute;inset:0 0 auto;height:5px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,var(--tech),#6c93b3)}
.lvl-ribbon{position:absolute;top:20px;right:20px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--tech);padding:5px 12px;border-radius:999px}
.lvl-kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tech-ink)}
.lvl-top h3{font-size:1.6rem;font-weight:600;margin:9px 0 8px;color:var(--ink)}
.lvl-top p{color:var(--ink-muted);margin:0 0 20px;line-height:1.55}
.lvl-card .ticks{margin:0 0 22px}.lvl-card .ticks li{font-size:14.5px}
.ticks-tech li::before{background-color:var(--tech-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F7695' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E")}
.lvl-hours{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;padding:18px 14px;border-radius:16px;background:var(--tech-soft)}
.lvl-hours div{text-align:center}
.lvl-hours b{display:block;font-size:1.5rem;font-weight:700;color:var(--tech-ink);line-height:1}
.lvl-hours span{display:block;margin-top:6px;font-size:11px;color:var(--ink-muted)}
.lvl-cta{align-self:flex-start;margin-top:22px}
/* academic progression path */
.path-line{list-style:none;margin:8px 0 36px;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.path-line li{position:relative;text-align:center;padding:0 10px}
.path-line li::after{content:"";position:absolute;top:23px;right:50%;width:100%;height:2px;background:var(--tech);opacity:.3;z-index:0}
.path-line li:first-child::after{display:none}
.pl-num{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;background:#fff;border:2px solid var(--tech);color:var(--tech-ink);font-weight:700;display:grid;place-items:center;margin:0 auto 13px}
.path-line b{display:block;font-size:1.05rem;font-weight:600;color:var(--ink)}
.path-line em{display:block;font-style:normal;font-size:12.5px;color:var(--ink-muted);margin-top:3px}
/* degree cards */
.deg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.deg-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px;transition:transform .18s,box-shadow .18s,border-color .18s}
.deg-card:hover{transform:translateY(-4px);box-shadow:0 34px 60px -46px rgba(30,45,60,.5);border-color:var(--tech)}
.deg-tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tech-ink);background:var(--tech-soft);padding:4px 11px;border-radius:999px;margin-bottom:14px}
.deg-card h3{font-size:1.2rem;font-weight:600;margin:0 0 10px;color:var(--ink);line-height:1.25}
.deg-card p{color:var(--ink-muted);line-height:1.55;margin:0 0 16px;font-size:14.5px}
.deg-awarded{margin-top:auto;font-size:13px;color:var(--ink);border-top:1px solid var(--line);padding-top:14px}
.edit{color:var(--tech-ink);font-weight:600;border-bottom:1.5px dashed var(--tech);padding-bottom:1px;white-space:nowrap}
.deg-note{display:flex;gap:12px;margin-top:22px;padding:16px 18px;border-radius:14px;background:#F4F8FB;border:1px solid var(--line);font-size:13.5px;color:var(--ink-muted);line-height:1.55}
.deg-note svg{width:20px;height:20px;flex:none;color:var(--tech);margin-top:1px}
/* choose your path */
.choose-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:14px}
.choose-card{display:flex;flex-direction:column;gap:16px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s}
.choose-card:hover{border-color:var(--tech);transform:translateY(-3px);box-shadow:0 30px 54px -40px rgba(79,118,149,.6)}
.choose-card b{font-size:15px;font-weight:600;color:var(--ink);line-height:1.4}
.ch-go{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--tech-ink);margin-top:auto}
.ch-go em{font-style:normal}
/* how it works */
.how-inc{margin-top:32px}
.how-inc h4{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tech-ink);margin:0 0 14px}
.how-inc .flow span{border:1px solid var(--line)}
.how-inc .flow i{color:var(--tech)}
/* credentials + id card */
.cred-grid{align-items:center}
.idcard-wrap{max-width:420px;margin:0 auto}
.coach-idcard{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 44px 84px -54px rgba(30,45,60,.55)}
.cid-top{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:linear-gradient(120deg,var(--tech),#3E6280);color:#fff}
.cid-brand{display:flex;align-items:center;gap:9px;font-weight:600}
.cid-logo{width:20px;height:20px;border-radius:6px;background:#fff}
.cid-type{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.92}
.cid-body{display:flex;gap:16px;padding:20px}
.cid-photo{width:78px;height:78px;border-radius:12px;overflow:hidden;flex:none;background:#E4ECF3}
.cid-photo svg{width:100%;height:100%;display:block}
.cid-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.cid-info b{font-size:1.05rem;color:var(--ink)}
.cid-lvl{font-size:11.5px;font-weight:700;letter-spacing:.03em;color:var(--tech-ink);text-transform:uppercase}
.cid-line{font-size:12.5px;color:var(--ink-muted);margin-top:2px}
.cid-line b{font-size:12.5px;color:var(--ink);font-weight:700}
.cid-foot{display:flex;align-items:center;gap:14px;padding:13px 20px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-muted)}
.cid-status{display:inline-flex;align-items:center;gap:6px;color:var(--edu-ink);font-weight:700}
.cid-status i{width:8px;height:8px;border-radius:50%;background:#2FA36B}
.cid-qr{margin-left:auto;width:34px;height:34px;border-radius:6px;background:#22303c;background-image:linear-gradient(90deg,#fff 2px,transparent 2px),linear-gradient(#fff 2px,transparent 2px);background-size:7px 7px;background-position:2px 2px}
.idcard-cap{text-align:center;font-size:12.5px;color:var(--ink-muted);margin:16px 0 0}
/* specializations */
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.spec-card{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .15s,box-shadow .15s,border-color .15s}
.spec-card:hover{border-color:var(--tech);transform:translateY(-2px);box-shadow:0 22px 42px -34px rgba(79,118,149,.6)}
.spec-ic{width:38px;height:38px;border-radius:10px;background:var(--tech-soft);display:grid;place-items:center;font-size:18px;flex:none}
.spec-card b{font-size:14px;font-weight:600;color:var(--ink);line-height:1.3}
/* registry */
.coach-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.coach-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 18px 14px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}
.coach-card:hover{border-color:var(--tech);transform:translateY(-3px);box-shadow:0 28px 50px -40px rgba(79,118,149,.6)}
.coach-card:focus-visible{outline:2px solid var(--tech);outline-offset:3px}
.cc-av{position:relative;width:60px;height:60px;border-radius:50%;overflow:hidden;background:#E4ECF3;flex:none}
.cc-av svg{width:100%;height:100%;display:block}
.cc-av .al-vchk{width:20px;height:20px;right:0;bottom:0}
.cc-av .al-vchk svg{width:10px;height:10px}
.cc-body{min-width:0}
.cc-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cc-top h3{font-size:1rem;font-weight:600;margin:0;color:var(--ink)}
.cc-lvl{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tech-ink);background:var(--tech-soft);padding:3px 9px;border-radius:999px;white-space:nowrap}
.cc-master{color:#7A5200;background:var(--sun-soft)}
.cc-spec{margin:5px 0 7px;font-size:13px;color:var(--ink)}
.cc-meta{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:12px;color:var(--ink-muted)}
.cc-reg{font-weight:700;color:var(--tech-ink);letter-spacing:.02em}
.cc-status{display:inline-flex;align-items:center;gap:6px;color:var(--edu-ink);font-weight:600}
.cc-status i{width:7px;height:7px;border-radius:50%;background:#2FA36B}
.cc-view{color:var(--tech);font-weight:700;font-size:20px}
/* coach detail extras */
#cdLvl{display:inline-block;margin-top:10px}
.cd-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;text-align:left}
.cd-facts div{background:var(--tech-soft);border-radius:12px;padding:12px 14px}
.cd-facts span{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tech-ink);margin-bottom:4px}
.cd-facts b{font-size:14px;color:var(--ink)}
.cd-active{color:var(--edu-ink)!important}
/* final cta */
.coach-final{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:clamp(28px,4vw,48px);border-radius:26px;background:linear-gradient(120deg,#2E4658,#3E6280);color:#fff}
.coach-final h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:300;letter-spacing:-.01em;margin:6px 0 8px}
.coach-final p{color:#cfe0ee;margin:0;max-width:52ch;line-height:1.55}
.btn-line-l{border:1.5px solid rgba(255,255,255,.55);color:#fff;background:transparent}
.btn-line-l:hover{background:rgba(255,255,255,.14)}
@media(max-width:900px){.coach-levels{grid-template-columns:1fr}.deg-grid{grid-template-columns:1fr}.path-line{grid-template-columns:1fr 1fr;row-gap:26px}.path-line li::after{display:none}.coach-grid{grid-template-columns:1fr}.coach-final{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.lvl-hours{grid-template-columns:1fr 1fr}.cd-facts{grid-template-columns:1fr 1fr}}

/* ===== become a coach — v2 additions ===== */
.coach-levels.lvl-3{grid-template-columns:repeat(3,1fr)}
.lvl-for{font-size:13px;font-weight:600;color:var(--tech-ink);margin:2px 0 18px}
.lvl-3 .lvl-top h3{font-size:1.4rem}
.lvl-3 .lvl-card .ticks li{font-size:14px}
/* two ways */
.two-ways{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.way-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:clamp(26px,3vw,38px);border:1px solid var(--line);border-radius:20px;background:#fff;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:0 40px 80px -62px rgba(30,45,60,.5)}
.way-card:hover{border-color:var(--tech);transform:translateY(-4px);box-shadow:0 44px 84px -50px rgba(79,118,149,.55)}
.way-alt{background:linear-gradient(165deg,#F5F8FB,#EDF2F7)}
.way-tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tech-ink);background:var(--tech-soft);padding:5px 12px;border-radius:999px}
.way-card h3{font-size:1.5rem;font-weight:600;margin:6px 0 0;color:var(--ink)}
.way-card p{color:var(--ink-muted);margin:0;line-height:1.55}
.way-tiers{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.way-tiers span{font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink)}
.way-go{margin-top:auto;padding-top:8px;font-size:14px;font-weight:700;color:var(--tech-ink);display:inline-flex;align-items:center;gap:8px}
.way-go em{font-style:normal}
/* eligibility */
.elig{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,3vw,40px);align-items:start;margin-top:32px;padding:clamp(26px,3vw,40px);border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 40px 80px -64px rgba(30,45,60,.5)}
.elig-h h3{font-size:1.5rem;font-weight:600;margin:0 0 10px;color:var(--ink)}
.elig-h p{color:var(--ink-muted);margin:0;line-height:1.55}
.elig-body .ticks{margin:0}
/* completion */
.complete-grid{align-items:center;margin-top:32px;gap:clamp(24px,3vw,40px)}
.complete-note{padding:24px 26px;border-radius:16px;background:var(--tech-soft);border-left:4px solid var(--tech)}
.complete-note h4{font-size:1.2rem;font-weight:600;margin:0 0 12px;color:var(--ink)}
.complete-note p{color:var(--ink-soft,#42504a);line-height:1.7;margin:0;font-size:15px}
.complete-note b{color:var(--tech-ink);font-weight:700}
@media(max-width:1000px){.coach-levels.lvl-3{grid-template-columns:1fr}}
@media(max-width:820px){.two-ways{grid-template-columns:1fr}.elig{grid-template-columns:1fr}}

/* ================= become a coach — colorful single page ================= */
.eyebrow.ey-b{--c:var(--tech);--c-ink:var(--tech-ink)}
.eyebrow.ey-g{--c:var(--edu);--c-ink:var(--edu-ink)}
.eyebrow.ey-y{--c:var(--sun);--c-ink:var(--sun-ink)}
.eyebrow.ey-c{--c:var(--care);--c-ink:var(--care-ink)}
.soft-edu{background:linear-gradient(180deg,#F4FAF6,#E9F4EE)}
.soft-care{background:linear-gradient(180deg,#FEF6F3,#FCEDE6)}
.soft-sun{background:linear-gradient(180deg,#FEFBF2,#FCF2D9)}
.tiny-note{font-size:12.5px;color:var(--ink-muted);margin:16px 0 0;line-height:1.5}
.tiny-note.center{text-align:center}
/* hero */
.coach-hero{position:relative;overflow:hidden}
.coach-hero-in{display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center}
.coach-hero-art svg{width:100%;height:auto;max-width:400px;margin-left:auto;display:block;filter:drop-shadow(0 40px 60px rgba(30,45,60,.18))}
.hl-y{color:var(--care)}
.jag{position:absolute;z-index:0;pointer-events:none}
.jag-1{top:-40px;right:6%;width:150px;height:150px;background:var(--sun);opacity:.16;border-radius:38% 62% 63% 37%/41% 44% 56% 59%;transform:rotate(14deg)}
/* trust bar */
.trust-bar{background:linear-gradient(90deg,var(--edu),#3d8f68)}
.trust-bar .wrap{display:flex;align-items:center;gap:16px;padding:16px 0}
.tb-badge{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:18px;color:#fff;flex:none}
.trust-bar p{margin:0;font-size:14px;line-height:1.5;color:#e9f5ee}
.trust-bar b{color:#fff}
/* journey */
.cjourney{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cjourney li{position:relative;text-align:center;padding:28px 12px 22px;border-radius:18px;background:#fff;border:1px solid var(--line);transition:transform .18s,box-shadow .18s}
.cjourney li:hover{transform:translateY(-5px);box-shadow:0 30px 54px -42px rgba(30,45,60,.5)}
.cjourney li::before{content:"";position:absolute;top:0;left:24px;right:24px;height:4px;border-radius:0 0 4px 4px}
.cj-i{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;margin:0 auto 12px;font-size:25px}
.cjourney b{display:block;font-size:15px;font-weight:600;color:var(--ink)}
.cjourney em{display:block;font-style:normal;font-size:12px;color:var(--ink-muted);margin-top:3px}
.cj-b::before{background:var(--tech)}.cj-g::before{background:var(--edu)}.cj-y::before{background:var(--sun)}.cj-c::before{background:var(--care)}
.cj-b .cj-i{background:var(--tech-soft)}.cj-g .cj-i{background:var(--edu-soft)}.cj-y .cj-i{background:var(--sun-soft)}.cj-c .cj-i{background:var(--care-soft)}
/* level cards */
.cl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.cl-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(24px,2.4vw,32px);box-shadow:0 40px 80px -64px rgba(30,45,60,.5);overflow:hidden}
.cl-card::before{content:"";position:absolute;inset:0 0 auto;height:6px}
.cl-b::before{background:var(--tech)}.cl-g::before{background:var(--edu)}.cl-y::before{background:var(--sun)}
.cl-pop{border-color:var(--edu);box-shadow:0 46px 92px -52px rgba(47,125,91,.5)}
.cl-pop-tag{position:absolute;top:16px;right:16px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--edu);padding:5px 12px;border-radius:999px;z-index:2}
.cl-num{font-size:26px;font-weight:800;line-height:1;margin:4px 0 6px}
.cl-b .cl-num{color:var(--tech)}.cl-g .cl-num{color:var(--edu)}.cl-y .cl-num{color:var(--sun-ink)}
.cl-name{font-size:1.4rem;font-weight:700;margin:0;color:var(--ink)}
.cl-head{font-size:14px;font-weight:600;margin:4px 0 8px}
.cl-b .cl-head{color:var(--tech-ink)}.cl-g .cl-head{color:var(--edu-ink)}.cl-y .cl-head{color:var(--sun-ink)}
.cl-for{color:var(--ink-muted);font-size:14px;line-height:1.5;margin:0 0 18px}
.cl-card .ticks{margin:0 0 16px}.cl-card .ticks li{font-size:13.5px;padding-left:28px}.cl-card .ticks li::before{width:18px;height:18px}
.cl-outcome{display:flex;flex-direction:column;gap:2px;padding:13px 16px;border-radius:14px;margin-bottom:14px}
.cl-b .cl-outcome{background:var(--tech-soft)}.cl-g .cl-outcome{background:var(--edu-soft)}.cl-y .cl-outcome{background:var(--sun-soft)}
.cl-outcome span{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted)}
.cl-outcome b{font-size:15px;color:var(--ink)}
.lvl-recv h4{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 10px}
.lvl-recv ul{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:6px}
.lvl-recv li{position:relative;padding-left:18px;font-size:12.5px;color:var(--ink-soft,#4d574f)}
.lvl-recv li::before{content:"+";position:absolute;left:0;font-weight:800;color:var(--edu)}
.cl-g .lvl-hours{background:var(--edu-soft)}.cl-y .lvl-hours{background:var(--sun-soft)}
.cl-g .lvl-hours b{color:var(--edu-ink)}.cl-y .lvl-hours b{color:var(--sun-ink)}
.cl-btn{margin-top:auto;justify-content:center;color:#fff}
.cl-b .cl-btn{background:var(--tech);box-shadow:0 16px 30px -18px rgba(79,118,149,.9)}
.cl-g .cl-btn{background:var(--edu);box-shadow:0 16px 30px -18px rgba(47,125,91,.9)}
.cl-y .cl-btn{background:var(--sun);color:var(--sun-ink);box-shadow:0 16px 30px -18px rgba(242,181,68,.9)}
/* comparison */
.cmp-wrap{overflow-x:auto;border-radius:18px;border:1px solid var(--line);box-shadow:0 34px 64px -54px rgba(30,45,60,.4)}
.cmp{width:100%;border-collapse:collapse;background:#fff;min-width:600px}
.cmp th,.cmp td{padding:14px 18px;text-align:center;border-bottom:1px solid var(--line);font-size:14px}
.cmp thead th{background:#F4F8FB;font-weight:700;color:var(--ink);font-size:13px}
.cmp thead .ct-pop{color:var(--edu-ink);background:var(--edu-soft)}
.cmp tbody th{text-align:left;font-weight:600;color:var(--ink)}
.cmp td{color:var(--ink-soft,#4d574f)}
.cmp td.ct-pop{background:#F4FAF6;font-weight:700;color:var(--edu-ink)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
/* learn blocks */
.lb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lb{padding:24px 20px;border-radius:18px;background:#fff;border:1px solid var(--line);transition:transform .18s,box-shadow .18s}
.lb:hover{transform:translateY(-5px);box-shadow:0 30px 54px -42px rgba(30,45,60,.5)}
.lb-i{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:15px;font-size:23px;margin-bottom:14px;background:var(--tech-soft)}
.lb:nth-child(4n+2) .lb-i{background:var(--edu-soft)}.lb:nth-child(4n+3) .lb-i{background:var(--sun-soft)}.lb:nth-child(4n) .lb-i{background:var(--care-soft)}
.lb h3{font-size:15px;font-weight:600;margin:0 0 6px;color:var(--ink)}
.lb p{font-size:13px;color:var(--ink-muted);line-height:1.5;margin:0}
/* competency framework */
.cf-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.cf-item{position:relative;padding:24px 14px 20px;border-radius:16px;background:#fff;border:1px solid var(--line);border-top-width:4px;text-align:center;transition:transform .16s,box-shadow .16s}
.cf-item:hover{transform:translateY(-4px);box-shadow:0 26px 48px -38px rgba(30,45,60,.5)}
.cf-0{border-top-color:var(--tech)}.cf-1{border-top-color:var(--edu)}.cf-2{border-top-color:var(--sun)}.cf-3{border-top-color:var(--care)}
.cf-n{position:absolute;top:9px;left:12px;font-size:11px;font-weight:800;color:var(--ink-muted)}
.cf-ic{display:block;font-size:25px;margin:8px 0 10px}
.cf-item b{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3}
/* experience counters */
.xp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.xp-stat{padding:30px 22px;border-radius:18px;background:#fff;border:1px solid var(--line);text-align:center}
.xp-stat b{display:block;font-size:2.5rem;font-weight:800;line-height:1;letter-spacing:-.02em}
.xp-stat span{display:block;margin-top:9px;font-size:13px;color:var(--ink-muted)}
.xp-0 b{color:var(--tech)}.xp-1 b{color:var(--edu)}.xp-2 b{color:var(--sun-ink)}.xp-3 b{color:var(--care)}
/* reviews */
.rv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.rv-card{padding:26px 26px 22px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 34px 64px -52px rgba(30,45,60,.45)}
.rv-stars{color:var(--sun);font-size:16px;letter-spacing:2px}
.rv-card blockquote{margin:14px 0 18px;font-size:15.5px;line-height:1.6;color:var(--ink)}
.rv-card figcaption{display:flex;align-items:center;gap:12px}
.rv-av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;font-size:16px;flex:none}
.rv-0 .rv-av{background:var(--tech)}.rv-1 .rv-av{background:var(--edu)}.rv-2 .rv-av{background:var(--care)}.rv-3 .rv-av{background:var(--sun);color:var(--sun-ink)}
.rv-card figcaption b{display:block;font-size:14px;color:var(--ink)}
.rv-card figcaption em{font-style:normal;font-size:12.5px;color:var(--ink-muted)}
/* identity */
.idn-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:30px;align-items:center}
.idn-card .coach-idcard{max-width:380px;margin:0 auto}
.cert-mock{position:relative;padding:28px 26px;border-radius:16px;background:linear-gradient(160deg,#fff,#F4F8FB);border:1px solid var(--line);text-align:center;box-shadow:0 30px 60px -48px rgba(30,45,60,.5);margin-bottom:18px}
.cert-seal{position:absolute;top:16px;right:18px;width:34px;height:34px;border-radius:50%;background:var(--sun);display:grid;place-items:center;color:#fff;font-size:15px}
.cert-k{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tech-ink);margin:0 0 8px}
.cert-mock h3{font-size:1.1rem;font-weight:600;margin:0 0 14px;color:var(--ink)}
.cert-nm{font-family:'Libre Baskerville',Georgia,serif;font-size:1.3rem;color:var(--ink);margin:0}
.cert-sub{font-size:13px;color:var(--ink-muted);margin:4px 0 16px}
.cert-foot{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-muted);border-top:1px solid var(--line);padding-top:12px}
.idn-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.idn-list li{position:relative;padding-left:24px;font-size:14px;color:var(--ink)}
.idn-list li::before{content:"\2713";position:absolute;left:0;color:var(--edu);font-weight:800}
.idn-list b{font-weight:700;color:var(--tech-ink)}
/* prof vs academic */
.pa-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pa-card{padding:28px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.pa-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:14px}
.pa-b{background:var(--tech-soft);color:var(--tech-ink)}.pa-y{background:var(--sun-soft);color:var(--sun-ink)}
.pa-card>p{color:var(--ink-muted);line-height:1.55;margin:0 0 16px}
.pa-ex{display:flex;flex-wrap:wrap;gap:8px}
.pa-ex span{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:#F4F8FB;border:1px solid var(--line);color:var(--ink)}
/* begin cta */
.begin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.begin-card{position:relative;display:flex;flex-direction:column;gap:5px;padding:26px 24px;border-radius:18px;text-decoration:none;color:#fff;transition:transform .18s,box-shadow .18s}
.begin-card:hover{transform:translateY(-5px);box-shadow:0 34px 60px -42px rgba(30,45,60,.6)}
.bg-b{background:linear-gradient(145deg,#5580a0,#3E6280)}.bg-g{background:linear-gradient(145deg,#37936c,#256348)}.bg-y{background:linear-gradient(145deg,#F4C05F,#e0a02f);color:var(--sun-ink)}.bg-c{background:linear-gradient(145deg,#F17C61,#d5583e)}
.bc-k{font-size:12px;font-weight:800;letter-spacing:.16em;opacity:.82}
.begin-card b{font-size:1.12rem;font-weight:700;line-height:1.3}
.begin-card em{font-style:normal;opacity:.92;font-size:14px}
.bc-go{margin-top:8px;font-weight:700;font-size:13px}
.begin-wide{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:24px 30px;border-radius:18px;color:#fff;text-decoration:none;transition:transform .18s,box-shadow .18s}
.begin-wide:hover{transform:translateY(-3px);box-shadow:0 34px 60px -42px rgba(30,45,60,.55)}
.begin-wide b{font-size:1.15rem;display:block}
.begin-wide em{font-style:normal;opacity:.92;font-size:14px}
/* registry badge extras */
.cc-assoc{color:var(--edu-ink);background:var(--edu-soft)}
#cdLvl{display:inline-block;margin-top:10px}
.cd-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;text-align:left}
.cd-facts div{background:var(--tech-soft);border-radius:12px;padding:12px 14px}
.cd-facts span{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tech-ink);margin-bottom:4px}
.cd-facts b{font-size:14px;color:var(--ink)}
.cd-active{color:var(--edu-ink)!important}
/* responsive */
@media(max-width:1000px){.cl-grid{grid-template-columns:1fr}.cf-grid{grid-template-columns:repeat(3,1fr)}.lb-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.coach-hero-in{grid-template-columns:1fr}.coach-hero-art{display:none}.cjourney{grid-template-columns:repeat(3,1fr)}.idn-grid{grid-template-columns:1fr}.pa-grid{grid-template-columns:1fr}.begin-grid{grid-template-columns:1fr}.begin-wide{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.cjourney{grid-template-columns:repeat(2,1fr)}.cf-grid{grid-template-columns:repeat(2,1fr)}.lb-grid{grid-template-columns:1fr}.xp-grid{grid-template-columns:1fr 1fr}.rv-grid{grid-template-columns:1fr}}

/* ================= become a coach — premium institutional rebuild ================= */
[data-page="coach"]{--navy:#1B2540;--ink-faint:#98a2ae}
[data-page="coach"] .eyebrow{--c:var(--care);--c-ink:var(--care-ink)}
.co-hero{position:relative;background:linear-gradient(155deg,#1B2540 0%,#233052 55%,#2c3d63 100%);color:#fff;padding:clamp(52px,7vw,104px) 0;overflow:hidden}
.co-hero-in{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,68px);align-items:center}
.co-eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#9fb1cf;margin:0 0 22px}
.co-hero h1{font-size:clamp(2.4rem,5.2vw,4.1rem);font-weight:700;line-height:1.04;letter-spacing:-.025em;margin:0 0 22px;color:#fff}
.co-accent{color:#F2C879}
.co-hero-lead{font-size:clamp(15px,1.55vw,18px);line-height:1.6;color:#c6d1e4;max-width:50ch;margin:0 0 30px}
.co-hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.co-btn-light{background:#F4EFE4;color:#1B2540;border-color:#F4EFE4}.co-btn-light:hover{background:#fff}
.co-btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}.co-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.co-hero-media{position:relative;display:grid;place-items:center;min-height:300px}
.co-seal{width:min(360px,82%);height:auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.35))}
.co-hero-ring{position:absolute;width:min(440px,94%);aspect-ratio:1;border:1px solid rgba(242,200,121,.22);border-radius:50%;pointer-events:none}
.seal-arc{fill:#c7d2e4;font:600 12.5px var(--sans);letter-spacing:3px}
.seal-mono{fill:#F2C879;font:800 38px var(--sans)}
.seal-cert{fill:#fff;font:700 14px var(--sans);letter-spacing:3px}
.co-trust{background:#fff;border-bottom:1px solid var(--line)}
.co-trust .wrap{display:flex;align-items:center;gap:14px;padding:15px 0}
.co-trust-dot{width:9px;height:9px;border-radius:50%;background:var(--care);flex:none}
.co-trust p{margin:0;font-size:13.5px;color:var(--ink-muted);line-height:1.5}.co-trust b{color:var(--ink)}
.co-cream{background:#FAF6EF}
.co-navy{background:linear-gradient(155deg,#1B2540,#26324f);color:#fff}
.co-navy .display,.co-onnavy .display{color:#fff}.co-navy .lead,.co-onnavy .lead{color:#c6d1e4}.co-onnavy .eyebrow{--c:#F2C879;--c-ink:#9fb1cf}
.co-note-light{color:#9fb1cf!important}
/* journey steps */
.co-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);position:relative}
.co-steps li{position:relative;text-align:center;padding:0 12px}
.co-steps li::before{content:"";position:absolute;top:20px;right:50%;width:100%;height:1px;background:var(--line);z-index:0}
.co-steps li:first-child::before{display:none}
.cs-n{position:relative;z-index:1;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--navy);color:var(--navy);font-weight:700;font-size:14px;background:#fff;margin-bottom:16px}
.co-steps b{display:block;font-size:16px;font-weight:600;color:var(--ink)}
.co-steps em{display:block;font-style:normal;font-size:12.5px;color:var(--ink-muted);margin-top:4px}
/* levels — typographic, no cards */
.co-levels{display:grid;grid-template-columns:repeat(3,1fr)}
.co-lvl{position:relative;padding:8px clamp(20px,2.2vw,34px)}
.co-lvl + .co-lvl{border-left:1px solid var(--line)}
.co-lvl-flag{position:absolute;top:9px;right:clamp(20px,2.2vw,34px);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--care)}
.co-lvl-n{font-size:14px;font-weight:800;letter-spacing:.02em;color:var(--care)}
.co-lvl h3{font-size:clamp(1.55rem,2.4vw,2.05rem);font-weight:700;letter-spacing:-.015em;margin:6px 0 4px;color:var(--ink);line-height:1.1}
.co-lvl-sub{font-size:14.5px;font-weight:600;color:var(--navy);margin:0 0 14px}
.co-lvl-desc{font-size:14px;color:var(--ink-muted);line-height:1.55;margin:0 0 4px}
.co-lvl-k{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:20px 0 9px}
.co-lvl-cred{font-size:16px;font-weight:700;color:var(--ink);margin:0}
.co-lvl-hrs{display:flex;flex-wrap:wrap;gap:6px 22px;margin:8px 0 22px}
.co-lvl-hrs span{font-size:12.5px;color:var(--ink-muted)}.co-lvl-hrs b{color:var(--ink);font-weight:700;font-size:15px}
.co-lvl-link{display:inline-block;font-size:14px;font-weight:700;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--care);padding-bottom:3px;transition:color .15s}
.co-lvl-link:hover{color:var(--care)}
/* shared list */
.co-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.co-list.two{grid-template-columns:1fr 1fr;gap:8px 30px}
.co-list li{position:relative;padding-left:18px;font-size:14px;color:var(--ink-soft,#4d574f);line-height:1.5}
.co-list li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--care)}
.co-list b{color:var(--ink);font-weight:700}
/* comparison */
.co-cmp-wrap{overflow-x:auto}
.co-cmp{width:100%;border-collapse:collapse;min-width:600px}
.co-cmp th,.co-cmp td{padding:15px 18px;text-align:center;border-bottom:1px solid var(--line);font-size:14.5px}
.co-cmp thead th{font-weight:700;color:var(--ink);font-size:13px;border-bottom:2px solid var(--navy)}
.co-cmp thead .ct-pop{color:var(--care)}
.co-cmp tbody th{text-align:left;font-weight:600;color:var(--ink)}
.co-cmp td{color:var(--ink-muted)}.co-cmp td.ct-pop{font-weight:700;color:var(--ink)}
.co-cmp tbody tr:last-child th,.co-cmp tbody tr:last-child td{border-bottom:0}
/* learn — editorial list */
.co-learn{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.co-learn-item{padding:24px 26px;border-bottom:1px solid var(--line)}
.co-learn-item:nth-child(odd){border-right:1px solid var(--line)}
.co-learn-item h3{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--ink)}
.co-learn-item p{font-size:13.5px;color:var(--ink-muted);line-height:1.55;margin:0}
/* split heading+list */
.co-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,56px);align-items:start}
/* framework — numbered editorial */
.co-comp{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid var(--line)}
.co-comp-item{display:flex;align-items:baseline;gap:16px;padding:16px 4px;border-bottom:1px solid var(--line)}
.co-comp-item span{font-size:15px;font-weight:800;color:var(--care);min-width:26px}
.co-comp-item b{font-size:16.5px;font-weight:600;color:var(--ink)}
/* experience */
.co-xp{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden}
.co-xp-item{padding:26px 14px;text-align:center;border-right:1px solid rgba(255,255,255,.14)}
.co-xp-item:last-child{border-right:0}
.co-xp-item b{display:block;font-size:2.2rem;font-weight:800;color:#fff;line-height:1}
.co-xp-item span{display:block;margin-top:8px;font-size:12px;color:#9fb1cf}
/* specialization chips */
.co-chips{display:flex;flex-wrap:wrap;gap:10px}
.co-chip{padding:11px 20px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:500;color:var(--ink);background:#fff;transition:border-color .15s,color .15s}
.co-chip:hover{border-color:var(--care);color:var(--care)}
/* reviews — editorial */
.co-rv-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.co-rv{padding:30px 32px;border-bottom:1px solid var(--line)}
.co-rv:nth-child(odd){border-right:1px solid var(--line)}
.co-rv-stars{color:var(--care);font-size:15px;letter-spacing:2px;margin-bottom:14px}
.co-rv blockquote{margin:0 0 16px;font-size:16px;line-height:1.6;color:var(--ink)}
.co-rv figcaption b{font-size:14px;color:var(--ink)}
.co-rv figcaption span{display:block;font-size:12.5px;color:var(--ink-muted);margin-top:2px}
/* prof vs academic */
.co-pa{display:grid;grid-template-columns:1fr 1fr}
.co-pa-col{padding:0 clamp(20px,3vw,40px)}
.co-pa-col + .co-pa-col{border-left:1px solid var(--line)}
.co-pa-k{font-size:15px;font-weight:700;color:var(--navy);margin:0 0 8px}
.co-pa-d{font-size:14px;color:var(--ink-muted);line-height:1.55;margin:0 0 16px}
/* begin */
.co-begin{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.co-begin-col{display:block;padding:28px 26px;text-decoration:none;border-bottom:1px solid var(--line);transition:background .15s}
.co-begin-col + .co-begin-col{border-left:1px solid var(--line)}
.co-begin-col:hover{background:#FAF6EF}
.cb-n{font-size:13px;font-weight:800;color:var(--care)}
.co-begin-col b{display:block;font-size:1.15rem;font-weight:700;color:var(--ink);margin:6px 0 4px}
.co-begin-col em{font-style:normal;font-size:14px;color:var(--ink-muted)}
.cb-go{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;color:var(--navy)}
.co-begin-wide{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 30px;border:1px solid var(--line);border-top:0;text-decoration:none;transition:background .15s}
.co-begin-wide:hover{background:#FAF6EF}
.co-begin-wide b{display:block;font-size:1.15rem;color:var(--ink)}.co-begin-wide em{font-style:normal;font-size:14px;color:var(--ink-muted)}
/* final */
.co-final{background:linear-gradient(155deg,#1B2540,#2c3d63);color:#fff;padding:clamp(48px,6vw,84px) 0}
.co-final-in{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.co-final h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;letter-spacing:-.02em;margin:6px 0 10px;color:#fff}
.co-final p{color:#c6d1e4;margin:0;max-width:54ch;line-height:1.55}
.co-final .co-eyebrow{color:#9fb1cf}
/* restrained registry badges */
.cc-lvl{color:var(--navy);background:#eef1f6}
.cc-master{color:var(--care-ink);background:var(--care-soft)}
.cc-assoc{color:var(--edu-ink);background:var(--edu-soft)}
.idn-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:30px;align-items:center}
/* responsive */
@media(max-width:1000px){.co-hero-in{grid-template-columns:1fr}.co-hero-media{order:-1;min-height:0}.co-seal{width:220px}.co-hero-ring{display:none}.co-levels{grid-template-columns:1fr}.co-lvl+.co-lvl{border-left:0;border-top:1px solid var(--line);padding-top:26px;margin-top:10px}.co-comp{grid-template-columns:1fr}.co-learn{grid-template-columns:1fr}.co-learn-item:nth-child(odd){border-right:0}.co-rv-grid{grid-template-columns:1fr}.co-rv:nth-child(odd){border-right:0}.co-pa{grid-template-columns:1fr}.co-pa-col+.co-pa-col{border-left:0;border-top:1px solid var(--line);padding-top:24px;margin-top:10px}.co-begin{grid-template-columns:1fr}.co-begin-col+.co-begin-col{border-left:0}.co-split{grid-template-columns:1fr}.co-steps{grid-template-columns:repeat(3,1fr);row-gap:26px}.co-steps li::before{display:none}.co-xp{grid-template-columns:repeat(3,1fr)}.co-xp-item:nth-child(3n){border-right:0}.idn-grid{grid-template-columns:1fr}}
@media(max-width:640px){.co-steps{grid-template-columns:repeat(2,1fr)}.co-xp{grid-template-columns:repeat(2,1fr)}.co-xp-item{border-right:1px solid rgba(255,255,255,.14)}.co-xp-item:nth-child(2n){border-right:0}.co-list.two{grid-template-columns:1fr}.co-final-in{flex-direction:column;align-items:flex-start}}

/* ============ become a coach — cinematic sequence ============ */
.co-hero-point{font-size:15px;color:#F2C879;font-weight:600;margin:0 0 28px;border-left:2px solid rgba(242,200,121,.5);padding-left:14px;line-height:1.5}
/* placeholders */
.ph{display:grid;place-items:center;gap:10px;background:#F1EEE7;border:1.5px dashed #cfc7b6;border-radius:16px;color:#a99f8b;min-height:180px;text-align:center;padding:20px}
.ph svg{width:30px;height:30px;opacity:.85}
.ph span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ph-hero{min-height:clamp(280px,40vw,460px);background:#1f2c49;border-color:rgba(242,200,121,.3);color:#8ea0bd}
.ph-portrait{aspect-ratio:3/4;min-height:0}
.ph-band{min-height:clamp(160px,22vw,260px)}
.ph-crn{width:60px;min-height:0;aspect-ratio:1;border-radius:12px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);color:#9fb1cf;padding:0}
.ph-crn svg{width:22px}.ph-crn span{display:none}
.ph-banner-wrap{padding:clamp(6px,1.5vw,16px) 0 clamp(30px,5vw,64px)}
/* greats */
.greats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.great{margin:0}
.great figcaption{margin-top:14px;text-align:center}
.great figcaption b{display:block;font-size:15px;color:var(--ink);font-weight:700}
.great figcaption span{display:block;font-size:12.5px;color:var(--ink-muted);margin-top:2px}
.co-cine-line{text-align:center;font-size:clamp(15px,1.7vw,18px);color:var(--navy);font-weight:600;margin:36px auto 0;max-width:46ch}
/* cinematic quote band */
.co-quote{background:linear-gradient(155deg,#1B2540,#2c3d63);color:#fff;padding:clamp(48px,6vw,84px) 0;text-align:center}
.co-quote blockquote{margin:0 auto;max-width:24ch;font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(1.4rem,3vw,2.3rem);line-height:1.35;font-style:italic;color:#fff}
.co-quote blockquote::before{content:"";display:block;width:44px;height:3px;background:#F2C879;margin:0 auto 26px}
.co-quote-alt{background:#FAF6EF}.co-quote-alt blockquote{color:var(--navy)}
/* pick path */
.pick-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pick-card{display:flex;flex-direction:column;gap:12px;padding:clamp(28px,3.4vw,44px);border:1px solid var(--line);border-radius:22px;background:#fff;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:0 40px 80px -66px rgba(30,45,60,.5)}
.pick-card:hover{transform:translateY(-4px);border-color:var(--navy);box-shadow:0 46px 92px -56px rgba(30,45,60,.55)}
.pick-alt{background:linear-gradient(155deg,#1B2540,#2c3d63);color:#fff;border-color:transparent}
.pick-k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--care)}
.pick-alt .pick-k{color:#F2C879}
.pick-card h3{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:700;margin:0;color:var(--ink)}
.pick-alt h3{color:#fff}
.pick-card>p{color:var(--ink-muted);line-height:1.55;margin:0}
.pick-alt>p{color:#c6d1e4}
.pick-go{margin-top:auto;font-weight:700;font-size:14px;color:var(--navy);display:inline-flex;gap:8px;align-items:center}
.pick-go em{font-style:normal}
.pick-alt .pick-go{color:#F2C879}
/* domains */
.dom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dom-card{padding:24px 22px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:transform .16s,box-shadow .16s,border-color .16s}
.dom-card:hover{transform:translateY(-4px);border-color:var(--care);box-shadow:0 30px 54px -42px rgba(30,45,60,.5)}
.dom-n{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--care)}
.dom-card h3{font-size:1.15rem;font-weight:700;margin:8px 0 6px;color:var(--ink)}
.dom-card p{font-size:13px;color:var(--ink-muted);line-height:1.5;margin:0}
/* pathways */
.pw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.pw-card{display:flex;flex-direction:column;padding:clamp(24px,2.6vw,34px);border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 40px 80px -66px rgba(30,45,60,.5)}
.pw-feature{background:#FAF6EF;border-color:var(--navy)}
.pw-k{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--care);margin-bottom:8px}
.pw-card h3{font-size:1.4rem;font-weight:700;margin:0 0 14px;color:var(--ink);line-height:1.15}
.pw-tiers{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:0}
.pw-tiers li{font-size:14.5px;font-weight:600;color:var(--navy);padding:9px 0;border-bottom:1px solid var(--line)}
.pw-tiers li:first-child{padding-top:0}.pw-tiers li:last-child{border-bottom:0}
.pw-card>p{font-size:14px;color:var(--ink-muted);line-height:1.55;margin:0 0 14px}
.pw-card>p b{color:var(--ink)}
.pw-sub{font-size:13px!important;margin-bottom:8px!important}
.pw-dur{font-size:13px;color:var(--ink);margin:auto 0 16px;padding-top:14px;border-top:1px solid var(--line)}
.pw-dur span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px}
.pw-card .co-list{margin-bottom:16px}
.pw-card .co-lvl-link{margin-top:auto}
/* compare 3-col */
.co-cmp-3 th,.co-cmp-3 td{text-align:left}
/* CRN */
.crn-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}
.crn-evs{display:grid;gap:14px;margin-top:4px}
.crn-ev{display:flex;gap:16px;align-items:baseline}
.crn-ev span{font-size:14px;font-weight:800;color:var(--care);min-width:26px}
.crn-ev p{margin:0;font-size:15px;color:var(--ink)}
.crn-card{position:relative;background:linear-gradient(155deg,#1B2540,#2c3d63);color:#fff;border-radius:20px;padding:26px;overflow:hidden;box-shadow:0 44px 84px -52px rgba(30,45,60,.6)}
.crn-card::after{content:"";position:absolute;top:-44px;right:-44px;width:170px;height:170px;border:1px solid rgba(242,200,121,.18);border-radius:50%}
.crn-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:relative}
.crn-org{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:#e7edf6}
.crn-seal{width:24px;height:24px;border-radius:50%;background:rgba(242,200,121,.16);color:#F2C879;display:grid;place-items:center;font-size:12px}
.crn-badge{font-size:11px;font-weight:800;letter-spacing:.14em;color:#F2C879;border:1px solid rgba(242,200,121,.4);border-radius:6px;padding:3px 8px}
.crn-photo{margin-bottom:14px}
.crn-name{font-size:1.15rem;font-weight:700;margin:0;color:#fff}
.crn-role{font-size:12.5px;color:#9fb1cf;margin:2px 0 0}
.crn-num{position:relative;margin:18px 0;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.crn-num span{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9fb1cf;margin-bottom:5px}
.crn-num b{font-size:1.3rem;font-weight:800;letter-spacing:.06em;color:#F2C879}
.crn-foot{display:flex;gap:16px;align-items:center;font-size:11.5px;color:#9fb1cf;flex-wrap:wrap}
.crn-status{display:inline-flex;align-items:center;gap:6px;color:#8ad9af;font-weight:700}
.crn-status i{width:7px;height:7px;border-radius:50%;background:#4bbd85}
.crn-cap{text-align:center;font-size:12px;color:var(--ink-muted);margin:14px 0 0}
/* timeline */
.co-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);position:relative}
.co-timeline li{position:relative;text-align:center;padding:0 8px}
.co-timeline li::before{content:"";position:absolute;top:18px;right:50%;width:100%;height:1px;background:rgba(255,255,255,.2)}
.co-timeline li:first-child::before{display:none}
.tl-n{position:relative;z-index:1;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1.5px solid #F2C879;color:#F2C879;font-weight:700;font-size:13px;background:#1f2c49;margin-bottom:14px}
.co-timeline b{display:block;font-size:13px;font-weight:600;color:#fff;line-height:1.35}
/* buttons + chips */
.co-btn-dark{background:var(--navy);color:#fff;border-color:var(--navy)}.co-btn-dark:hover{background:#2c3d63}
.co-btn-line-d{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}.co-btn-line-d:hover{background:var(--navy);color:#fff}
.co-chips-center{justify-content:center}
@media(max-width:1000px){.greats-row{grid-template-columns:repeat(3,1fr)}.pick-grid{grid-template-columns:1fr}.dom-grid{grid-template-columns:repeat(3,1fr)}.pw-grid{grid-template-columns:1fr}.crn-grid{grid-template-columns:1fr}.co-timeline{grid-template-columns:repeat(4,1fr);row-gap:28px}.co-timeline li::before{display:none}}
@media(max-width:640px){.greats-row{grid-template-columns:repeat(2,1fr)}.dom-grid{grid-template-columns:1fr 1fr}.co-timeline{grid-template-columns:repeat(2,1fr)}.co-final-in{flex-direction:column;align-items:flex-start}}

/* ============ coaching vertical — nav + 3 pages ============ */
/* nav dropdown */
.mega-desc{min-width:250px}
.mega-desc a{display:block;padding:10px 14px;border-radius:10px;text-decoration:none}
.mega-desc a b{display:block;font-weight:600;font-size:14px;color:var(--ink)}
.mega-desc a span{display:block;font-size:12px;color:var(--ink-muted);margin-top:2px}
.mega-desc a:hover{background:var(--soft)}
.menu .msub a{padding-left:30px;font-size:14px;opacity:.9}
/* full-bleed hero (home + certification) */
.co-hero-full,.ac-hero{position:relative;display:flex;align-items:center;min-height:clamp(460px,56vw,630px);background:#1B2540;overflow:hidden;padding:0}
.co-hero-photo,.ac-hero-photo{position:absolute;inset:0}
.co-hero-photo .ph,.ac-hero-photo .ph{width:100%;height:100%;min-height:100%}
.co-hero-photo::after,.ac-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,26,44,.95) 0%,rgba(18,26,44,.74) 42%,rgba(18,26,44,.3) 100%)}
.co-hero-inner,.ac-hero-in{position:relative;z-index:1;width:100%}
.co-hero-panel,.ac-hero-panel{max-width:660px;color:#fff}
.co-hero-panel h1,.ac-hero-panel h1{font-size:clamp(2.3rem,5vw,3.9rem);font-weight:700;color:#fff;letter-spacing:-.025em;line-height:1.05;margin:0 0 20px}
.ac-hero-panel h1{margin-top:14px;font-size:clamp(2.1rem,4.4vw,3.3rem)}
.ph-hero-full{height:100%;min-height:100%;border-radius:0;border:1px dashed rgba(255,255,255,.14);background:#1f2c49;color:#63768f}
.co-hero-sub{display:inline-block;margin-top:20px;color:#F2C879;font-weight:600;font-size:14px;text-decoration:none}
.co-hero-sub:hover{text-decoration:underline}
.ac-hero .crumbs a,.ac-hero .crumbs span{color:#c6d1e4}
.ac-hero .crumbs a:hover{color:#fff}
/* pick section already styled; domains 11 */
a.dom-card{text-decoration:none;display:block}
.dom-grid-11{grid-template-columns:repeat(4,1fr)}
/* study: two pathways */
.study-two{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.pw-block{padding:13px 0;border-bottom:1px solid var(--line)}
.pw-block:first-of-type{border-top:1px solid var(--line)}
.pw-block b{display:block;font-size:15px;color:var(--navy);font-weight:700}
.pw-block span{display:block;font-size:13.5px;color:var(--ink-muted);margin-top:4px;line-height:1.5}
.ac-facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin:14px 0 18px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ac-facts span{font-size:13px;color:var(--ink-muted)}.ac-facts b{color:var(--navy);font-weight:700}
.pw-card>.co-lvl-link{margin-top:auto}
.cpl-strip{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;padding:24px 28px;border:1px solid var(--line);border-radius:16px;background:#fff}
.cpl-k{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--care);margin-bottom:6px}
.cpl-strip b{font-size:1.1rem;color:var(--ink);display:block}
.cpl-strip p{margin:6px 0 0;font-size:14px;color:var(--ink-muted);max-width:64ch;line-height:1.55}
.cpl-strip .co-lvl-link{flex:none;white-space:nowrap}
/* compare edu */
.co-cmp-edu th:first-child{background:transparent;border-bottom-color:var(--line)}
.co-cmp-edu tbody th{color:var(--ink);font-weight:700}
.co-cmp-edu td,.co-cmp-edu th{text-align:left}
/* registration break + on-navy */
.reg-break{height:clamp(16px,3vw,32px);background:#fff}
.co-onnavy-k{color:#9fb1cf}
.crn-h{font-size:1.3rem;font-weight:700;color:#fff;margin:0 0 20px}
.co-navy .crn-ev p{color:#e7edf6}.co-navy .crn-ev span{color:#F2C879}
.co-timeline-dark .tl-n{border-color:var(--navy);color:var(--navy);background:#fff}
.co-timeline-dark b{color:var(--ink)}.co-timeline-dark li::before{background:var(--line)}
/* WCF card */
.wcf-card{max-width:440px;margin:0 auto;background:#EAF3EE;border-radius:14px;overflow:hidden;box-shadow:0 44px 84px -52px rgba(30,45,60,.55)}
.wcf-head{background:#2E7D6E;color:#fff;display:flex;align-items:center;gap:14px;padding:13px 20px}
.wcf-logo{font-size:30px;font-weight:800;letter-spacing:-3px;line-height:1;font-family:Georgia,serif}.wcf-logo span{opacity:.65}
.wcf-name{font-size:14.5px;font-weight:600;line-height:1.15}
.wcf-body{display:flex;gap:18px;padding:18px 20px 12px;background:radial-gradient(circle at 70% 40%,rgba(46,125,110,.06),transparent 60%)}
.wcf-photo{width:118px;flex:none}
.ph-wcf{aspect-ratio:3/3.4;min-height:0;border-radius:8px;background:#dcebe2;border-color:#a9c9ba;color:#6f9184}
.wcf-info{flex:1;min-width:0}
.wcf-nm{font-size:1.35rem;font-weight:700;color:#173a30;margin:0 0 14px}
.wcf-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 10px}
.wcf-fields span{display:block;font-size:11px;color:#4a6b60}.wcf-fields b{font-size:13px;color:#173a30;font-weight:700}
.wcf-foot{display:flex;justify-content:space-between;align-items:flex-end;padding:4px 20px 18px}
.wcf-crn b{font-size:1.45rem;font-weight:800;color:#173a30;letter-spacing:.5px}
.wcf-crn span{display:block;font-size:9px;font-weight:700;letter-spacing:.05em;color:#4a6b60;margin-top:2px}
.wcf-right{text-align:right}
.wcf-exp{display:block;font-size:12.5px;color:#173a30;margin-bottom:8px}.wcf-exp b{color:#b3261e}
.wcf-bar{display:inline-flex;align-items:flex-end;gap:2px;height:32px}
.wcf-bar i{display:block;height:32px;background:#173a30}
/* curriculum module list */
.mod-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.mod-list li{display:flex;align-items:baseline;gap:18px;padding:15px 4px;border-bottom:1px solid var(--line)}
.mod-n{font-size:12px;font-weight:800;color:var(--care);min-width:26px}
.mod-t{font-size:16px;font-weight:600;color:var(--ink)}
.ac-prog{max-width:780px;margin-inline:auto}
.ac-prog-alt{margin-top:clamp(40px,6vw,72px);padding-top:clamp(40px,6vw,72px);border-top:1px solid var(--line)}
.ac-prog-head{margin-bottom:22px}
.ac-prog .co-lvl-link{margin-top:22px;display:inline-block}
.center-cta{justify-content:center}
.reg-strip{background:#FAF6EF;border-top:1px solid var(--line)}
.reg-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;flex-wrap:wrap}
.reg-strip-t{margin:6px 0 0;font-size:14px;color:var(--ink-muted);max-width:72ch}
/* ===== masters academic page ===== */
.ac-hero-master{position:static;display:block;min-height:0;background:linear-gradient(180deg,#FAF6EF,#F2ECE1);overflow:visible;padding:clamp(38px,5vw,68px) 0}
.ac-hero-master::after{display:none}
.ac-hero-master .ac-hero-in{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(28px,4vw,56px);align-items:start}
.ac-hero-master .ac-hero-panel{max-width:none;color:var(--ink)}
.ac-hero-master h1{color:var(--ink);margin:14px 0 16px;font-size:clamp(2.1rem,4vw,3.1rem)}
.ac-hero-master .co-hero-lead{color:var(--ink-muted);max-width:60ch}
.ac-hero-master .co-eyebrow,.ac-hero-master .crumbs a,.ac-hero-master .crumbs span{color:var(--ink-muted)}
.ac-hero-master .co-hero-sub{color:var(--navy)}
.ac-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);border:1px solid var(--navy);border-radius:999px;padding:5px 13px}
.ac-meta{display:flex;flex-wrap:wrap;gap:18px 34px;margin:22px 0 26px}
.ac-meta div span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px}
.ac-meta div b{font-size:15px;color:var(--ink)}
.ac-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 40px 80px -60px rgba(30,45,60,.5);position:sticky;top:90px;display:grid;gap:12px}
.ac-card-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:6px}
.ac-card-facts b{display:block;font-size:1.5rem;font-weight:800;color:var(--navy);line-height:1}
.ac-card-facts div:nth-child(3) b,.ac-card-facts div:nth-child(4) b{font-size:1.05rem}
.ac-card-facts span{font-size:12px;color:var(--ink-muted)}
.ac-card .btn{width:100%;justify-content:center;min-height:48px}
.ac-card-photo{margin-top:6px}
.ph-card{aspect-ratio:4/3;min-height:0;border-radius:12px}
.pg-body{padding:clamp(40px,5vw,72px) 0}
.pg-body-in{display:grid;grid-template-columns:1fr 250px;gap:clamp(32px,5vw,72px);align-items:start}
.pg-main section{padding:clamp(26px,3vw,42px) 0;border-top:1px solid var(--line)}
.pg-main section:first-child{border-top:0;padding-top:0}
.pg-h{font-size:clamp(1.4rem,2.3vw,1.85rem);font-weight:700;margin:0 0 14px;color:var(--ink)}
.pg-p{font-size:15.5px;line-height:1.7;color:var(--ink-soft,#4d574f);margin:0 0 14px;max-width:66ch}
.pg-sub{font-size:14px;color:var(--ink-muted);margin:0 0 18px}
.pg-toc{position:sticky;top:90px}
.pg-toc-h{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 14px}
.pg-toc a{display:block;font-size:14px;color:var(--ink-muted);text-decoration:none;padding:7px 0 7px 14px;border-left:2px solid transparent;transition:.15s}
.pg-toc a:hover{color:var(--ink)}
.pg-toc a.on{color:var(--navy);border-left-color:var(--care);font-weight:600}
/* accordion */
.acc{border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-item summary{list-style:none;display:flex;align-items:center;gap:18px;padding:16px 4px;cursor:pointer}
.acc-item summary::-webkit-details-marker{display:none}
.acc-item .mod-t{flex:1}
.acc-x{width:14px;height:14px;position:relative;flex:none}
.acc-x::before,.acc-x::after{content:"";position:absolute;background:var(--navy);border-radius:2px}
.acc-x::before{top:6px;left:0;width:14px;height:2px}
.acc-x::after{left:6px;top:0;width:2px;height:14px;transition:transform .2s}
.acc-item[open] .acc-x::after{transform:scaleY(0)}
.acc-body{padding:0 4px 18px 48px}
.acc-body p{margin:0;font-size:14.5px;color:var(--ink-muted);line-height:1.6}
.ac-exp-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.ac-exp{padding:22px 24px;border-bottom:1px solid var(--line)}
.ac-exp:nth-child(odd){border-right:1px solid var(--line)}
.ac-exp h3{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--ink)}
.ac-exp p{font-size:13.5px;color:var(--ink-muted);line-height:1.55;margin:0}
.pg-cta h2{margin-bottom:18px}
.pg-regnote{background:#FAF6EF;border-radius:16px;padding:24px 26px}
.pg-regnote h3{font-size:1.05rem;font-weight:700;margin:0 0 8px;color:var(--ink)}
.pg-regnote p{font-size:14px;color:var(--ink-muted);line-height:1.6;margin:0 0 10px;max-width:70ch}
@media(max-width:1000px){.dom-grid-11{grid-template-columns:repeat(3,1fr)}.study-two{grid-template-columns:1fr}.cpl-strip{flex-direction:column;align-items:flex-start}.ac-hero-master .ac-hero-in{grid-template-columns:1fr}.ac-card{position:static}.pg-body-in{grid-template-columns:1fr}.pg-toc{display:none}.ac-exp-grid{grid-template-columns:1fr}.ac-exp:nth-child(odd){border-right:0}}
@media(max-width:640px){.dom-grid-11{grid-template-columns:1fr 1fr}.wcf-fields{grid-template-columns:1fr 1fr}.ac-meta{gap:14px 24px}.reg-strip .wrap{flex-direction:column;align-items:flex-start}}
/* light academic hero buttons */
.ac-hero-master .co-btn-light{background:var(--navy);color:#fff;border-color:var(--navy)}
.ac-hero-master .co-btn-light:hover{background:#2c3d63}
.ac-hero-master .co-btn-ghost{background:transparent;color:var(--navy);border-color:rgba(27,37,64,.4)}
.ac-hero-master .co-btn-ghost:hover{border-color:var(--navy);background:rgba(27,37,64,.06)}
/* ---- inline coaching programs accordion (landing) ---- */
.prog-accordion{max-width:840px;margin:0 auto}
.prog-group + .prog-group{margin-top:38px}
.prog-group-t{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--care);margin:0 0 6px}
.prog-item{border-bottom:1px solid var(--line)}
.prog-item:first-of-type{border-top:1px solid var(--line)}
.prog-item summary{list-style:none;display:flex;align-items:center;gap:16px;padding:20px 6px;cursor:pointer}
.prog-item summary::-webkit-details-marker{display:none}
.ps-t{flex:1;font-size:1.15rem;font-weight:700;color:var(--ink)}
.ps-meta{font-size:12.5px;color:var(--ink-muted)}
.prog-item[open] .ps-t{color:var(--navy)}
.prog-item[open] .acc-x::after{transform:scaleY(0)}
.prog-cur{padding:0 6px 24px}
.prog-desc{font-size:14px;color:var(--ink-muted);line-height:1.6;margin:0 0 16px;max-width:72ch}
.prog-cur .mod-list{margin-bottom:16px}
.prog-cur .co-lvl-link{display:inline-block}
/* ---- coaching programs: green education-style listing ---- */
.coach-programs{background:linear-gradient(180deg,#EAF3EC,#F5FAF6)}
[data-page="coach"] .coach-programs .eyebrow{--c:var(--edu);--c-ink:var(--edu-ink)}
.crow-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:4px 22px;box-shadow:0 40px 80px -60px rgba(30,45,60,.4);max-width:920px;margin:0 auto}
.crow-card .crow:last-child{border-bottom:0}
.coach-programs .tiny-note{max-width:820px;margin-left:auto;margin-right:auto}
/* ---- become a coach: ICF-style green cinematic hero ---- */
.co-hero-icf{position:relative;overflow:hidden;color:#fff;padding:clamp(42px,6vw,90px) 0;background:linear-gradient(155deg,#123529 0%,#1c4b38 55%,#2a6a4e 100%)}
.co-hero-icf-in{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,66px);align-items:center}
.co-hero-icf-copy{max-width:600px}
.co-hero-icf .co-eyebrow{color:#a9d6bf;letter-spacing:.16em}
.co-hero-icf h1{font-size:clamp(2.6rem,6vw,4.7rem);font-weight:700;line-height:1.02;letter-spacing:-.03em;margin:18px 0 22px;color:#fff}
.co-hero-icf .co-hero-lead{color:#d7e8dd;font-size:clamp(15px,1.6vw,18px);line-height:1.6;max-width:46ch;margin:0 0 30px}
.co-hero-icf-cta{display:flex;flex-wrap:wrap;gap:14px}
.co-hero-pill{background:var(--sun);color:#123529;border-color:var(--sun);font-weight:700;border-radius:999px;box-shadow:0 18px 34px -18px rgba(242,181,68,.7)}
.co-hero-pill:hover{background:#f6c25c}
.co-hero-out{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.42)}
.co-hero-out:hover{border-color:#fff;background:rgba(255,255,255,.09)}
.co-hero-icf .co-hero-sub{display:inline-block;margin-top:22px;color:var(--sun);font-weight:600;font-size:14px;text-decoration:none}
.co-hero-icf .co-hero-sub:hover{text-decoration:underline}
.co-hero-icf-media{position:relative}
.co-hero-icf-photo{position:relative;z-index:1;border-radius:26px;overflow:hidden;aspect-ratio:5/4;box-shadow:0 54px 96px -42px rgba(0,0,0,.55)}
.ph-icf{height:100%;min-height:100%;border-radius:26px;border:1px dashed rgba(255,255,255,.2);background:#18412f;color:#7fae95;padding:24px}
.co-hero-spark{position:absolute;top:-34px;right:-14px;width:130px;height:130px;z-index:0;opacity:.9}
@media(max-width:900px){.co-hero-icf-in{grid-template-columns:1fr}.co-hero-icf-media{order:2}.co-hero-spark{display:none}}
/* ---- coaching programmes: compact tabs ---- */
.prog-tabs{display:flex;gap:4px;width:max-content;max-width:100%;margin:0 auto 22px;padding:5px;border:1px solid var(--line);border-radius:999px;background:#fff;flex-wrap:wrap;justify-content:center}
.pt{border:0;background:none;padding:9px 20px;border-radius:999px;font:600 14px/1 var(--sans);color:var(--ink-muted);cursor:pointer;transition:background .15s,color .15s}
.pt.on{background:var(--edu);color:#fff}
.pt:hover:not(.on){color:var(--edu)}
.coach-programs .crow-card .crow{padding:13px 6px}
/* ---- great people: 8-up + one-liner ---- */
.greats-row.great8{grid-template-columns:repeat(4,1fr);gap:20px 18px}
.great-line{display:block;font-style:normal;font-size:12px;line-height:1.4;color:var(--navy);margin-top:6px;max-width:26ch;margin-inline:auto}
@media(max-width:960px){.greats-row.great8{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.greats-row.great8{grid-template-columns:repeat(2,1fr)}}

/* ================= programme template — Swiss-modern compact ================= */
.pgx-hero{background:linear-gradient(180deg,#F4FAF6,#EAF3EC);padding:clamp(32px,5vw,60px) 0 clamp(28px,4vw,48px)}
.pgx-hero .crumbs{margin-bottom:16px}
.pgx-hero .crow-lvl{display:inline-block;margin-bottom:14px}
.pgx-title{font-size:clamp(2rem,4.4vw,3.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.07;margin:0 0 14px;color:var(--ink);max-width:22ch}
.pgx-tag{font-size:clamp(15px,1.5vw,18px);color:var(--ink-muted);max-width:60ch;margin:0 0 24px;line-height:1.55}
.pgx-hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.pgx-in{max-width:1000px;padding-top:clamp(30px,4vw,52px);padding-bottom:clamp(40px,6vw,80px)}
.pgx-banner{margin-bottom:clamp(30px,4vw,48px)}
.ph-pgx{aspect-ratio:16/6;min-height:0;border-radius:22px}
.pgx-sec{margin-bottom:clamp(34px,4.5vw,56px)}
.pgx-sec>h2{font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:700;letter-spacing:-.01em;margin:0 0 18px;color:var(--ink)}
.pgx-lead{font-size:16px;line-height:1.7;color:var(--ink-soft,#4d574f);margin:0;max-width:70ch}
.pgx-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pgx-fact{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.pgx-fact span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint,#9aa39d);margin-bottom:6px}
.pgx-fact b{font-size:16px;color:var(--ink);font-weight:600}
.pgx-acc{border-top:1px solid var(--line)}
.pgx-acc-item{border-bottom:1px solid var(--line)}
.pgx-acc-item summary{list-style:none;display:flex;align-items:center;gap:16px;padding:16px 4px;cursor:pointer}
.pgx-acc-item summary::-webkit-details-marker{display:none}
.pgx-acc-n{font-size:12px;font-weight:800;color:var(--edu);min-width:26px}
.pgx-acc-t{flex:1;font-size:16px;font-weight:600;color:var(--ink)}
.pgx-acc-item[open] .pgx-acc-t{color:var(--edu-ink)}
.pgx-acc-item[open] .acc-x::after{transform:scaleY(0)}
.pgx-acc-body{padding:0 4px 16px 46px}
.pgx-acc-body p{margin:0;font-size:14px;color:var(--ink-muted);line-height:1.6}
.pgx-logos{display:flex;flex-wrap:wrap;gap:14px}
.pgx-logo{display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.pgx-logo-mark{width:38px;height:38px;border-radius:10px;background:var(--edu-soft);color:var(--edu-ink);display:grid;place-items:center;font-weight:800;font-size:13px}
.pgx-logo b{font-size:14px;font-weight:600;color:var(--ink)}
.pgx-fine{font-size:12.5px;color:var(--ink-muted);margin:14px 0 0}
.pgx-fac{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pgx-fac-card{margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;transition:transform .18s,box-shadow .18s}
.pgx-fac-card:hover{transform:translateY(-4px);box-shadow:0 30px 54px -42px rgba(30,45,60,.5)}
.pgx-fac-photo{aspect-ratio:1/1;background:#EEF2F0}
.pgx-fac-photo svg{width:100%;height:100%;display:block}
.pgx-fac-card figcaption{padding:14px 16px 16px}
.pgx-fac-card b{display:block;font-size:15px;font-weight:700;color:var(--ink);line-height:1.25}
.pgx-fac-edu{display:block;font-size:12.5px;color:var(--ink-muted);margin-top:3px}
.pgx-fac-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.pgx-fac-exp{font-size:11px;font-weight:700;color:var(--edu-ink);background:var(--edu-soft);padding:4px 9px;border-radius:999px}
.pgx-fac-dom{font-size:11px;font-weight:600;color:var(--ink);background:#F3F1EC;padding:4px 9px;border-radius:999px}
.pgx-out{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}
.pgx-out li{position:relative;padding-left:26px;font-size:15px;color:var(--ink);line-height:1.5}
.pgx-out li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--edu-soft) no-repeat center/11px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F7D5B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E")}
.pgx-apply{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:clamp(26px,3.4vw,40px);border-radius:22px;background:linear-gradient(160deg,#F4FAF6,#E9F4EE);border:1px solid var(--line);margin-top:clamp(8px,2vw,18px)}
.pgx-apply h2{font-size:1.5rem;font-weight:700;margin:0 0 6px;color:var(--ink)}
.pgx-apply p{margin:0;color:var(--ink-muted);font-size:14.5px}
.pgx-apply .pgx-cta{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:820px){.pgx-facts{grid-template-columns:1fr 1fr}.pgx-fac{grid-template-columns:repeat(2,1fr)}.pgx-out{grid-template-columns:1fr}}
@media(max-width:520px){.pgx-apply{flex-direction:column;align-items:flex-start}}
/* ---- brand logo (header + popup) ---- */
.nav .brand{display:inline-flex}
.brand-img{height:38px;width:auto;display:block}
.dlg-logo{height:30px;width:auto;display:block;margin:0 0 16px}
@media(max-width:600px){.brand-img{height:32px}}
/* ---- programme curriculum — redesigned accordion ---- */
.pg-cur{border-top:1px solid var(--line);margin-top:2px}
.pg-cur-item{border-bottom:1px solid var(--line)}
.pg-cur-item summary{list-style:none;display:flex;align-items:center;gap:16px;padding:15px 4px;cursor:pointer;transition:color .15s}
.pg-cur-item summary::-webkit-details-marker{display:none}
.pg-cur-n{font-size:12px;font-weight:800;color:var(--edu);min-width:26px;letter-spacing:.02em}
.pg-cur-t{flex:1;font-size:16px;font-weight:600;color:var(--ink)}
.pg-cur-item[open] .pg-cur-t,.pg-cur-item summary:hover .pg-cur-t{color:var(--edu-ink)}
.pg-cur-x{width:14px;height:14px;position:relative;flex:none}
.pg-cur-x::before,.pg-cur-x::after{content:"";position:absolute;background:var(--edu);border-radius:2px}
.pg-cur-x::before{top:6px;left:0;width:14px;height:2px}
.pg-cur-x::after{left:6px;top:0;width:2px;height:14px;transition:transform .2s}
.pg-cur-item[open] .pg-cur-x::after{transform:scaleY(0)}
.pg-cur-body{padding:0 4px 16px 46px}
.pg-cur-body p{margin:0;font-size:14px;color:var(--ink-muted);line-height:1.6}
/* ---- footer sellable coaching row ---- */
.ftx-row-sell{background:linear-gradient(120deg,rgba(47,125,91,.10),rgba(242,181,68,.08));border:1px solid rgba(47,125,91,.18);border-radius:14px;padding:16px 20px;margin-bottom:6px}
.ftx-row-sell h5{color:var(--edu-ink,#245c43)}
.ftx-row-sell nav a{font-weight:600}
.ftx-row-sell nav a[data-openchat]{color:var(--care,#EF6A4E)}
/* ---- search typeahead ---- */
.ta-box{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 26px 54px -26px rgba(20,30,25,.35);padding:6px;max-height:340px;overflow:auto}
.ta-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:none;border:0;border-radius:10px;padding:9px 11px;cursor:pointer;color:var(--ink)}
.ta-item:hover,.ta-item.on{background:var(--soft,#f3f5f2)}
.ta-item>svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--ink-faint,#9aa39d);stroke-width:2;opacity:.8}
.ta-txt{min-width:0}
.ta-main{display:block;font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ta-main b{font-weight:700;color:var(--edu-ink,#245c43)}
.ta-sub{display:block;font-size:11px;color:var(--ink-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ---- apply: multi-step ---- */
.apply-steps{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.apply-steps span{font-size:12px;font-weight:600;color:var(--ink-faint,#9aa39d);padding:6px 12px;border-radius:999px;background:var(--soft,#f3f5f2);transition:.2s}
.apply-steps span.on{color:var(--edu-ink,#245c43)}
.apply-steps span.cur{background:var(--edu);color:#fff}
.apply-form .apply-step{display:contents}
.apply-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.apply-consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;font-weight:400;color:var(--ink-muted);line-height:1.5;cursor:pointer}
.apply-consent input{margin-top:2px;flex:none}
.apply-consent a{color:var(--edu-ink,#245c43);font-weight:600}
/* ---- First Call Assistant + mic motion ---- */
.fca{max-width:900px;margin:0 auto;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 40px 84px -56px rgba(30,45,60,.4);overflow:hidden}
.fca-toggle{display:flex;gap:4px;padding:6px;margin:14px auto 0;width:max-content;max-width:calc(100% - 24px);border:1px solid var(--line);border-radius:999px;background:var(--soft,#f4f6f4)}
.fca-toggle button{border:0;background:none;padding:9px 18px;border-radius:999px;font:600 13.5px/1 var(--sans);color:var(--ink-muted);cursor:pointer;white-space:nowrap;transition:.15s}
.fca-toggle button.on,.fca-toggle button[aria-selected="true"]{background:var(--tech,#4F7695);color:#fff}
.fca-body{display:grid;grid-template-columns:300px 1fr;gap:clamp(20px,3vw,40px);align-items:center;padding:clamp(24px,3.5vw,44px)}
.fca-viz{display:grid;place-items:center}
.fca-copy h3{font-size:1.5rem;font-weight:700;margin:0 0 10px;color:var(--ink)}
.fca-copy p{color:var(--ink-muted);line-height:1.6;margin:0 0 18px;max-width:52ch}
.fca-copy p b{color:var(--ink)}
.fca-note{font-size:12.5px;color:var(--ink-faint,#9aa39d);margin:14px 0 0!important}
.callrow{display:flex;gap:10px;flex-wrap:wrap}
.mic-rings{position:relative;width:210px;height:210px;display:grid;place-items:center}
.mic-rings span{position:absolute;top:50%;left:50%;width:200px;height:200px;margin:-100px 0 0 -100px;border-radius:50%;background:var(--tech,#4F7695);opacity:.16;transform:scale(.42);animation:micpulse 3.4s cubic-bezier(.4,0,.2,1) infinite}
.mic-rings span:nth-child(2){animation-delay:.85s}
.mic-rings span:nth-child(3){animation-delay:1.7s}
.mic-rings span:nth-child(4){animation-delay:2.55s}
.mic-core{position:relative;z-index:1;width:92px;height:92px;border-radius:50%;background:#1c3a44;display:grid;place-items:center;box-shadow:0 18px 40px -18px rgba(28,58,68,.7)}
.mic-core svg{width:34px;height:34px}
@keyframes micpulse{0%{transform:scale(.42);opacity:.32}70%{opacity:.05}100%{transform:scale(1);opacity:0}}
@media(max-width:640px){.fca-body{grid-template-columns:1fr;text-align:center}.fca-copy p{margin-inline:auto}.callrow,.fca-copy .cta-row{justify-content:center}.mic-rings{width:180px;height:180px}}
@media(prefers-reduced-motion:reduce){.mic-rings span{animation:none;opacity:.14;transform:scale(.7)}.mic-rings span:nth-child(3),.mic-rings span:nth-child(4){display:none}}
.apply-form .apply-step[hidden]{display:none}
/* ================= Counseling Hotline — emotional Get Help ================= */
.hotline-hero .hotline-stage{display:block;align-self:center}
.hh-photo{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 54px 100px -46px rgba(120,50,30,.5)}
.ph-hotline{height:100%;min-height:100%;border-radius:26px;background:linear-gradient(155deg,#F8DCD1,#EEB6A4 70%,#E79E88);border:1px dashed rgba(200,110,80,.4);color:#b06a52;padding:24px}
.hh-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(70,25,12,.55),transparent 46%);pointer-events:none}
.hh-cap{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;color:#fff;font-family:'Libre Baskerville',Georgia,serif;font-style:italic;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.4;text-shadow:0 2px 14px rgba(60,20,10,.5)}
.hero-note{font-size:13.5px;color:var(--ink-muted);margin-top:16px;max-width:46ch}
.hotline-hero h1{margin-bottom:4px}
/* encouraging band */
.wc-encourage{background:linear-gradient(180deg,#FDF4EF,#FBEAE2);padding:clamp(30px,4vw,54px) 0;text-align:center}
.wc-enc{font-family:'Libre Baskerville',Georgia,serif;font-style:italic;font-size:clamp(1.2rem,2.6vw,1.95rem);color:var(--care-ink,#b23f28);margin:0 auto;transition:opacity .42s ease;line-height:1.4;max-width:26ch}
/* how it works */
.hiw{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hiw-step{padding:28px 26px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:transform .18s,box-shadow .18s}
.hiw-step:hover{transform:translateY(-4px);box-shadow:0 34px 60px -46px rgba(120,50,30,.4)}
.hiw-n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--care-soft,#FDE7E0);color:var(--care-ink,#b23f28);font-weight:800;font-size:16px;margin-bottom:15px}
.hiw-step h3{font-size:1.15rem;font-weight:700;margin:0 0 8px;color:var(--ink)}
.hiw-step p{font-size:14px;color:var(--ink-muted);line-height:1.6;margin:0}
.wc-priv{font-size:12.5px;color:var(--ink-muted)}.wc-priv a{color:var(--care-ink,#b23f28);font-weight:600}
.wc-priv.center{text-align:center;margin-top:26px}
/* web-call dialog */
.webcall{max-width:540px}
.webcall .wc-in{padding:clamp(26px,3.4vw,40px)}
.wc-h{font-size:1.55rem;font-weight:700;margin:12px 0 8px;color:var(--ink)}
.webcall .field{margin-bottom:14px}
.webcall form .btn{width:100%;justify-content:center;margin-top:6px;min-height:50px}
.wc-msg{font-size:13px;color:var(--care-ink,#b23f28);font-style:italic;margin:18px 0 0;text-align:center}
.wc-safe{font-size:12px;color:var(--ink-muted);margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);line-height:1.55}
.webcall .wc-priv{font-size:11.5px;color:var(--ink-faint,#9aa39d);margin:8px 0 0}
[data-wc="welcome"],[data-wc="pro"]{text-align:center}
.wc-hi{font-size:1.1rem;font-weight:700;color:var(--ink);margin:16px 0 6px}
.wc-welcome{font-size:14.5px;color:var(--ink-muted);line-height:1.6;margin:0 auto 16px;max-width:42ch}
.wc-ask{font-weight:600;color:var(--ink);margin:0 0 16px}
.wc-areas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wc-areas button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 14px;font:600 13.5px/1.25 var(--sans);color:var(--ink);cursor:pointer;transition:.15s}
.wc-areas button:hover{border-color:var(--care);background:var(--care-soft,#FDE7E0);color:var(--care-ink,#b23f28)}
.wc-status{font-size:1.1rem;font-weight:700;color:var(--care-ink,#b23f28);margin:18px 0 12px;transition:opacity .38s;min-height:1.4em}
.wc-line{font-size:14px;color:var(--ink-muted);line-height:1.6;margin:0 auto 8px;max-width:42ch}
.wc-sub{font-size:13px;color:var(--ink-faint,#9aa39d);margin:0 auto;max-width:40ch}
/* audio wave */
.wc-wave{display:flex;gap:5px;align-items:center;justify-content:center;height:58px;margin:10px 0 4px}
.wc-wave span{width:5px;height:12px;border-radius:3px;background:var(--care,#EF6A4E);animation:wcwave 1.1s ease-in-out infinite}
.wc-wave span:nth-child(2){animation-delay:.09s}.wc-wave span:nth-child(3){animation-delay:.18s}.wc-wave span:nth-child(4){animation-delay:.27s}.wc-wave span:nth-child(5){animation-delay:.36s}.wc-wave span:nth-child(6){animation-delay:.45s}.wc-wave span:nth-child(7){animation-delay:.54s}.wc-wave span:nth-child(8){animation-delay:.63s}.wc-wave span:nth-child(9){animation-delay:.72s}
@keyframes wcwave{0%,100%{height:12px;opacity:.55}50%{height:46px;opacity:1}}
@media(max-width:820px){.hiw{grid-template-columns:1fr}}
@media(max-width:560px){.wc-areas{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.wc-wave span{animation:none;height:22px}.wc-enc{transition:none}}
/* ================= Call Portal (ready-to-dial) ================= */
.callportal{position:relative;overflow:hidden;text-align:center;padding:clamp(40px,6vw,78px) 0 clamp(48px,6vw,86px)}
.cp-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.cp-bg span{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(239,106,78,.16),transparent 68%);animation:cpfloat 15s ease-in-out infinite}
.cp-bg span:nth-child(1){width:440px;height:440px;top:-90px;left:-70px}
.cp-bg span:nth-child(2){width:360px;height:360px;bottom:-120px;right:-50px;animation-delay:5s}
.cp-bg span:nth-child(3){width:300px;height:300px;top:34%;left:62%;animation-delay:9s}
.cp-in{position:relative;z-index:1}
.cp-h1{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:12px auto 14px;max-width:19ch;color:var(--ink)}
.cp-h1 span{color:var(--care)}
.cp-lead{font-size:clamp(15px,1.6vw,18px);color:var(--ink-muted);max-width:48ch;margin:0 auto clamp(28px,4vw,42px);line-height:1.6}
.callorb{position:relative;width:clamp(200px,26vw,272px);height:clamp(200px,26vw,272px);margin:0 auto;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.callorb .orb-ring{position:absolute;top:50%;left:50%;width:100%;height:100%;margin:-50% 0 0 -50%;border-radius:50%;background:var(--care);opacity:.16;transform:scale(.55);animation:orbpulse 3.2s cubic-bezier(.4,0,.2,1) infinite}
.callorb .orb-ring:nth-child(2){animation-delay:1.06s}.callorb .orb-ring:nth-child(3){animation-delay:2.12s}
.orb-core{position:relative;z-index:2;width:46%;height:46%;border-radius:50%;background:linear-gradient(160deg,#F2795E,#E24E2E);color:#fff;display:grid;place-items:center;gap:5px;box-shadow:0 26px 54px -18px rgba(226,78,46,.6);transition:transform .2s}
.callorb:hover .orb-core{transform:scale(1.06)}
.callorb:active .orb-core{transform:scale(.98)}
.orb-core svg{width:32%;max-width:54px;height:auto}
.orb-core b{font-size:clamp(12.5px,1.3vw,15px);font-weight:700}
.cp-note{font-weight:600;color:var(--care-ink,#b23f28);margin:clamp(24px,3vw,34px) 0 6px;font-size:14px}
.cp-safe{font-size:12.5px;color:var(--ink-muted);max-width:52ch;margin:0 auto}
@keyframes orbpulse{0%{transform:scale(.55);opacity:.28}70%{opacity:.05}100%{transform:scale(1);opacity:0}}
@keyframes cpfloat{0%,100%{transform:translate(0,0)}50%{transform:translate(22px,-20px)}}
/* call dialog */
.calldlg{max-width:480px}
.cd-in{padding:clamp(28px,3.4vw,42px);text-align:center;position:relative}
.cd-h{font-size:1.5rem;font-weight:700;margin:16px 0 8px;color:var(--ink)}
.calldlg .field{margin-bottom:14px;text-align:left}
.calldlg form .btn{width:100%;justify-content:center;min-height:50px;margin-top:6px}
.cd-priv{font-size:11.5px;color:var(--ink-faint,#9aa39d);margin:14px 0 0}.cd-priv a{color:var(--care-ink,#b23f28);font-weight:600}
.cd-hi{max-width:36ch;margin:0 auto}
.cd-orb{position:relative;width:96px;height:96px;margin:0 auto;display:grid;place-items:center}
.cd-orb .orb-ring{position:absolute;top:50%;left:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;background:var(--care);opacity:.16;transform:scale(.5);animation:orbpulse 2.6s ease-out infinite}
.cd-orb.ring .orb-ring:nth-child(2){animation-delay:1.3s}
.cd-orb .orb-core{position:relative;z-index:2;width:60px;height:60px;border-radius:50%;background:linear-gradient(160deg,#F2795E,#E24E2E);color:#fff;display:grid;place-items:center}
.cd-orb .orb-core svg{width:26px}
.cd-orb.done{width:74px;height:74px;border-radius:50%;background:#e7f4ee;display:grid;place-items:center;margin-bottom:2px}.cd-orb.done svg{width:34px}
/* live green call */
.cd-live{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 0 16px}
.cd-person{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:98px}
.cd-av{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:20px;color:#fff}
.cd-av.you{background:#6a7a72}.cd-av.you svg{width:30px;stroke:#fff}
.cd-av.them{background:linear-gradient(160deg,#3aa574,#2e7d5b);box-shadow:0 0 0 4px #d5ede2}
.cd-person b{font-size:14px;color:var(--ink);font-weight:700;line-height:1.1}
.cd-person .cd-role{font-size:11.5px;color:#2e7d5b;font-weight:600}
.cd-wave{display:flex;gap:4px;align-items:center;height:44px;padding:0 4px}
.cd-wave span{width:4px;height:10px;border-radius:2px;background:#3aa574;animation:wcwave 1s ease-in-out infinite}
.cd-wave span:nth-child(2){animation-delay:.1s}.cd-wave span:nth-child(3){animation-delay:.2s}.cd-wave span:nth-child(4){animation-delay:.3s}.cd-wave span:nth-child(5){animation-delay:.4s}.cd-wave span:nth-child(6){animation-delay:.5s}.cd-wave span:nth-child(7){animation-delay:.6s}.cd-wave span:nth-child(8){animation-delay:.7s}.cd-wave span:nth-child(9){animation-delay:.8s}
.cd-timer{font-size:14px;color:#2e7d5b;font-weight:700;margin:0 0 18px;display:flex;align-items:center;justify-content:center;gap:8px}
.cd-dot{width:9px;height:9px;border-radius:50%;background:#3aa574;animation:cddot 1.4s ease-in-out infinite}
@keyframes cddot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
.cd-end{background:#dc3b2a;color:#fff;border-color:#dc3b2a;border-radius:999px;padding:12px 30px}
.cd-end:hover{background:#c33321;border-color:#c33321}
/* feedback stars */
.cd-stars{display:flex;gap:8px;justify-content:center;margin:16px 0 14px}
.cd-stars button{border:0;background:none;cursor:pointer;padding:2px;color:#dcdcd4;transition:color .12s,transform .12s}
.cd-stars button svg{width:34px;height:34px;display:block}
.cd-stars button:hover{transform:scale(1.12)}
.cd-stars button:hover,.cd-stars button.on{color:#F2B544}
.cd-thanks{font-size:14px;color:#2e7d5b;font-weight:600;margin:6px 0 16px}
.cd-dur{color:var(--ink)}
/* roles */
.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.role-card{padding:26px 24px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:transform .18s,box-shadow .18s}
.role-card:hover{transform:translateY(-4px);box-shadow:0 34px 60px -46px rgba(120,50,30,.4)}
.role-tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--care-ink,#b23f28);background:var(--care-soft,#FDE7E0);padding:4px 11px;border-radius:999px;margin-bottom:13px}
.role-card h3{font-size:1.2rem;font-weight:700;margin:0 0 8px;color:var(--ink)}
.role-card p{font-size:13.5px;color:var(--ink-muted);line-height:1.6;margin:0}
@media(max-width:900px){.roles{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.roles{grid-template-columns:1fr}.cd-person{min-width:78px}.cd-av{width:56px;height:56px;font-size:17px}}
@media(prefers-reduced-motion:reduce){.callorb .orb-ring,.cd-orb .orb-ring,.cp-bg span{animation:none}.callorb .orb-ring:nth-child(2),.callorb .orb-ring:nth-child(3){display:none}.cd-wave span{animation:none;height:20px}.wc-enc{transition:none}}
/* ---- call portal refinements ---- */
.cd-youav{background:#6a7a72;color:#fff;font-weight:800;font-size:20px}
.cd-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cd-mute{background:#eef0ee;color:var(--ink);border:0;border-radius:999px;padding:12px 26px;font-weight:600}
.cd-mute:hover{background:#e4e7e3}
.cd-mute.on{background:#dbe6e1;color:#2e7d5b}
.cd-live.muted .cd-wave span{animation-play-state:paused;opacity:.22;background:#9aa39d}
.cd-fb{width:100%;margin:4px 0 14px;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;font-size:13.5px;color:var(--ink);resize:vertical;min-height:52px;background:#fff}
.cd-fb:focus{outline:2px solid var(--care);outline-offset:1px;border-color:transparent}
.cd-fb::placeholder{color:var(--ink-faint,#9aa39d)}
/* book professional support */
.book-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:clamp(28px,3.6vw,46px);border-radius:24px;background:linear-gradient(150deg,#FDF3EF,#FBEadf);border:1px solid rgba(239,106,78,.16)}
.book-cta h2{margin:6px 0 10px}.book-cta .lead{max-width:56ch;margin:0}
.book-cta .cta-row{flex-wrap:wrap}
@media(max-width:700px){.book-cta{flex-direction:column;align-items:flex-start}}
/* ---- call portal hero: clean centered layout (fix clutter) ---- */
.callportal .cp-in{display:flex;flex-direction:column;align-items:center;text-align:center}
.callportal .eyebrow{justify-content:center}
.callportal .cp-h1{font-size:clamp(1.9rem,4.2vw,3.2rem);font-weight:600;line-height:1.12;letter-spacing:-.02em;margin:16px auto 16px;max-width:22ch;color:var(--ink);text-align:center;text-wrap:balance;animation:none}
.callportal .cp-lead{max-width:46ch;margin:0 auto clamp(30px,4vw,44px)}
.callportal .callorb{margin:6px auto 0}
/* ================= call widgets — compact + refined ================= */
.calldlg{max-width:388px;width:calc(100vw - 24px)}
.calldlg .cd-in{padding:26px 26px 22px}
/* headings: sentence case, smaller (fix uppercase collision) */
.calldlg .cd-h{font-size:1.18rem;font-weight:700;text-transform:none;letter-spacing:-.01em;line-height:1.2;margin:12px 0 6px;color:var(--ink)}
.calldlg .muted{font-size:13px;line-height:1.5}
/* detail-taking widget (dial form) */
.calldlg .field{margin-bottom:11px}
.calldlg .field label{font-size:12px;margin-bottom:5px}
.calldlg .field input{padding:11px 13px;font-size:14.5px;border-radius:11px}
.calldlg form .btn,.calldlg .btn-care{width:100%;justify-content:center;min-height:48px;margin-top:10px;background:#E8674C;color:#fff;border-color:#E8674C;font-weight:700;box-shadow:0 14px 26px -14px rgba(226,78,46,.7)}
.calldlg form .btn:hover,.calldlg .btn-care:hover{background:#dc5940;border-color:#dc5940}
.cd-priv{margin-top:12px;font-size:11px}
.cd-safe{font-size:11px;margin-top:12px;padding-top:12px}
/* smaller top orb */
.cd-orb{width:70px;height:70px;margin-bottom:2px}
.cd-orb .orb-ring{width:70px;height:70px;margin:-35px 0 0 -35px}
.cd-orb .orb-core{width:48px;height:48px}
.cd-orb .orb-core svg{width:22px}
.cd-orb.done{width:58px;height:58px}.cd-orb.done svg{width:28px}
/* compact live call */
.cd-live{gap:2px;margin:6px 0 12px}
.cd-person{min-width:86px;gap:4px}
.cd-av{width:56px;height:56px;font-size:17px}
.cd-av.them{box-shadow:0 0 0 3px #d5ede2}
.cd-wave{height:36px;gap:3px;padding:0 2px}
.cd-wave span{width:3.5px;background:#3aa574}
.cd-person b{font-size:13.5px}.cd-person .cd-role{font-size:11px}
.cd-timer{font-size:13px;margin:0 0 14px;gap:6px}
.cd-actions{gap:8px}
.cd-mute{padding:10px 22px;font-size:14px}
.cd-end{padding:10px 26px;font-size:14px}
/* compact feedback */
.calldlg [data-cd="end"] .cd-h{margin-top:10px}
.cd-stars{gap:6px;margin:12px 0 10px}
.cd-stars button{padding:1px}.cd-stars button svg{width:29px;height:29px}
.cd-fb{min-height:44px;margin:2px 0 10px;font-size:13px;padding:9px 12px}
.cd-thanks{font-size:13px;margin:4px 0 12px}
/* ---- refined Call now orb ---- */
.callorb{width:clamp(190px,24vw,244px);height:clamp(190px,24vw,244px)}
.callorb .orb-ring{opacity:.13}
.callorb .orb-core{width:50%;height:50%;background:radial-gradient(120% 120% at 32% 26%,#F79178,#E24E2E 68%);box-shadow:0 24px 46px -14px rgba(210,62,36,.6),inset 0 2px 7px rgba(255,255,255,.3);gap:4px}
.callorb .orb-core svg{width:30%;max-width:46px}
.orb-core b{font-size:clamp(12.5px,1.3vw,14.5px);font-weight:700;letter-spacing:.01em}
#callDlg{max-width:388px;width:calc(100vw - 24px)}
/* ---- big icon-only call orb (animation only, no text) ---- */
.callorb{width:clamp(250px,34vw,370px);height:clamp(250px,34vw,370px)}
.callorb .orb-core{width:52%;height:52%;gap:0}
.callorb .orb-core svg{width:42%;max-width:72px}
/* ================= life-situations running strip ================= */
.ls-sec{padding:clamp(30px,4vw,54px) 0 clamp(36px,5vw,64px);overflow:hidden}
.ls-marquee{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ls-track{display:flex;gap:18px;width:max-content;padding:6px 18px;animation:lsrun 70s linear infinite}
.ls-marquee:hover .ls-track{animation-play-state:paused}
@keyframes lsrun{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ls-card{position:relative;flex:none;width:clamp(186px,19vw,224px);aspect-ratio:3/4.15;border:0;padding:0;border-radius:20px;overflow:hidden;cursor:pointer;background:linear-gradient(157deg,#40444a 0%,#26282c 42%,#0e0f11 100%);box-shadow:0 26px 48px -30px rgba(0,0,0,.6);text-align:left;transition:transform .25s,box-shadow .25s;background-size:cover;background-position:center}
.ls-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 40px 60px -34px rgba(0,0,0,.7)}
.ls-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.86) 6%,rgba(0,0,0,.25) 46%,rgba(0,0,0,.12) 100%);z-index:1}
.ls-photo{position:absolute;top:0;left:0;right:0;bottom:34%;display:grid;place-items:center;color:rgba(255,255,255,.16);z-index:0}
.ls-photo svg{width:34px;height:34px}
.ls-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 18px 18px;z-index:2}
.ls-pre{display:block;font-family:'Libre Baskerville',Georgia,serif;font-style:italic;font-size:12.5px;color:rgba(255,255,255,.72);margin-bottom:5px}
.ls-title{display:block;font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:800;color:#eceef0;letter-spacing:.005em;line-height:1.02;text-transform:uppercase}
@media(max-width:560px){.ls-card{width:150px}.ls-track{gap:12px}}
@media(prefers-reduced-motion:reduce){.ls-track{animation:none;overflow-x:auto}.ls-marquee{overflow-x:auto}}
/* ================= animated hotline phone ================= */
.hp-phone{position:relative;width:clamp(232px,23vw,278px);aspect-ratio:9/19;margin:0 auto;background:#fff;border:8px solid #14201b;border-radius:40px;box-shadow:0 54px 96px -42px rgba(0,0,0,.5);overflow:hidden}
.hp-notch{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:38%;height:5px;border-radius:3px;background:#e7eae7;z-index:6}
.hp-screen{position:relative;width:100%;height:100%;background:#fff;border-radius:32px;overflow:hidden}
.hp-scr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:30px 20px;opacity:0;transform:scale(.97);transition:opacity .55s ease,transform .55s ease;pointer-events:none;text-align:center}
.hp-scr.on{opacity:1;transform:scale(1)}
.hp-hd{font-size:12px;font-weight:700;color:var(--ink);letter-spacing:.01em}
/* call */
.hp-orb{position:relative;width:118px;height:118px;display:grid;place-items:center;margin:8px 0}
.hp-orb>span{position:absolute;inset:0;border-radius:50%;background:var(--care);opacity:.16;animation:hpPulse 2.6s ease-out infinite}
.hp-orb>span:nth-child(2){animation-delay:1.3s}
.hp-orb i{position:relative;z-index:1;width:66px;height:66px;border-radius:50%;background:radial-gradient(120% 120% at 32% 26%,#F79178,#E24E2E 68%);color:#fff;display:grid;place-items:center;box-shadow:0 14px 26px -8px rgba(226,78,46,.6)}
.hp-orb i svg{width:28px}
.hp-tap{font-size:12px;color:var(--ink-muted);font-weight:600}
@keyframes hpPulse{0%{transform:scale(.6);opacity:.3}70%{opacity:.05}100%{transform:scale(1.16);opacity:0}}
/* details */
.hp-f{width:100%;text-align:left}
.hp-f small{display:block;font-size:10px;color:var(--ink-muted);margin-bottom:4px;font-weight:600}
.hp-in{border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:12.5px;color:var(--ink);background:#fafafa}
.hp-cta{margin-top:8px;width:100%;background:#E8674C;color:#fff;border-radius:999px;padding:10px;font-size:12.5px;font-weight:700}
/* ring */
.hp-ringorb{position:relative;width:92px;height:92px;display:grid;place-items:center;margin:4px 0}
.hp-ringorb>span{position:absolute;inset:0;border-radius:50%;background:#3aa574;opacity:.18;animation:hpPulse 2s ease-out infinite}
.hp-ringorb>span:nth-child(2){animation-delay:1s}
.hp-av{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:16px;color:#fff}
.hp-av.them{background:linear-gradient(160deg,#3aa574,#2e7d5b);position:relative;z-index:1;box-shadow:0 0 0 3px #d5ede2}
.hp-av.you{background:#6a7a72}
.hp-nm{font-size:14px;font-weight:700;color:var(--ink);margin-top:2px;line-height:1.1}
.hp-role{font-size:11px;color:#2e7d5b;font-weight:600}
.hp-st{font-size:11px;color:var(--ink-muted);margin-top:4px}
/* live */
.hp-live{display:flex;align-items:center;gap:6px;margin-bottom:2px}
.hp-live .hp-av{width:48px;height:48px;font-size:14px}
.hp-wave{display:flex;gap:2.5px;align-items:center;height:30px;padding:0 2px}
.hp-wave span{width:3px;height:8px;border-radius:2px;background:#3aa574;animation:hpwave .9s ease-in-out infinite}
.hp-wave span:nth-child(2){animation-delay:.1s}.hp-wave span:nth-child(3){animation-delay:.2s}.hp-wave span:nth-child(4){animation-delay:.3s}.hp-wave span:nth-child(5){animation-delay:.4s}.hp-wave span:nth-child(6){animation-delay:.5s}.hp-wave span:nth-child(7){animation-delay:.6s}.hp-wave span:nth-child(8){animation-delay:.7s}
@keyframes hpwave{0%,100%{height:8px}50%{height:26px}}
.hp-tm{font-size:12px;font-weight:700;color:#2e7d5b;display:flex;align-items:center;gap:6px;margin-top:8px}
.hp-tm i{width:7px;height:7px;border-radius:50%;background:#3aa574;animation:hpdot 1.4s infinite}
@keyframes hpdot{0%,100%{opacity:1}50%{opacity:.3}}
.hp-ctrl{display:flex;gap:8px;margin-top:10px}
.hp-ctrl span{font-size:11px;font-weight:700;padding:7px 16px;border-radius:999px}
.hp-ctrl .mute{background:#eef0ee;color:var(--ink)}.hp-ctrl .end{background:#dc3b2a;color:#fff}
/* review */
.hp-ok{width:54px;height:54px;border-radius:50%;background:#e7f4ee;display:grid;place-items:center;margin-bottom:4px}
.hp-ok svg{width:28px}
.hp-rvh{font-size:14px;font-weight:700;color:var(--ink)}
.hp-stars{display:flex;gap:4px;margin:8px 0}
.hp-stars i{color:#dcdcd4;transition:color .25s,transform .25s}
.hp-stars i svg{width:22px;height:22px;display:block}
.hp-stars i.on{color:#F2B544;transform:scale(1.12)}
.hp-thx{font-size:11.5px;color:#2e7d5b;font-weight:600}
@media(prefers-reduced-motion:reduce){.hp-orb>span,.hp-ringorb>span,.hp-wave span,.hp-tm i{animation:none}}
/* hotline phone: show one screen at a time (no cross-fade overlap) */
.hp-scr{opacity:1;transform:none;transition:none;display:none;pointer-events:auto}
.hp-scr.on{display:flex;animation:hpfade .5s ease}
@keyframes hpfade{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
/* hotline phone -> clean borderless iPhone */
.hp-phone{border:0;background:#fff;border-radius:46px;box-shadow:0 48px 88px -34px rgba(18,45,30,.42),0 3px 10px rgba(0,0,0,.06);overflow:hidden}
.hp-screen{border-radius:46px}
.hp-notch{top:13px;width:30%;height:19px;border-radius:11px;background:#15161a;z-index:8}
/* ===== iPhone-accurate shape + colourful on-theme screen ===== */
.hp-phone{aspect-ratio:9/19.5;border-radius:clamp(48px,4.6vw,60px);box-shadow:0 52px 96px -34px rgba(18,45,30,.46),0 3px 12px rgba(0,0,0,.07)}
.hp-screen{border-radius:inherit;background:transparent}
.hp-notch{top:14px;width:33%;height:24px;border-radius:14px;background:#0a0a0c;z-index:9}
/* status bar */
.hp-sbar{position:absolute;top:0;left:0;right:0;height:46px;display:flex;align-items:center;justify-content:space-between;padding:17px 26px 0;z-index:8;pointer-events:none}
.hp-sbar b{font-size:12px;font-weight:700;color:#26302b;letter-spacing:.01em}
.hp-batt{width:22px;height:11px;border:1.4px solid #26302b;border-radius:3px;position:relative;opacity:.85}
.hp-batt::before{content:"";position:absolute;top:1.5px;bottom:1.5px;left:1.5px;right:6px;background:#26302b;border-radius:1px}
.hp-batt::after{content:"";position:absolute;right:-3px;top:3px;width:2px;height:5px;background:#26302b;border-radius:0 2px 2px 0}
/* colourful, state-aware screen background */
.hp-scr{background:linear-gradient(180deg,#FBFBF8,#F4F6F1)}
.hp-scr[data-scr="call"],.hp-scr[data-scr="details"]{background:linear-gradient(180deg,#FEF4EF 0%,#FBE7DC 100%)}
.hp-scr[data-scr="ring"],.hp-scr[data-scr="live"],.hp-scr[data-scr="review"]{background:linear-gradient(180deg,#F1FAF4 0%,#E6F3EC 100%)}
.hp-in{background:rgba(255,255,255,.7)}
/* ---- hotline: foundation + support us ---- */
.cp-fdn{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.cp-by{font-size:12.5px;color:var(--ink-muted)}.cp-by b{color:var(--care-ink,#b23f28);font-weight:700}
.cp-support{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#fff;background:var(--care);border:0;border-radius:999px;padding:7px 16px;cursor:pointer;box-shadow:0 12px 22px -12px rgba(239,106,78,.85)}
.cp-support:hover{background:#e0563d}.cp-support svg{width:14px;height:14px}
.support-band{display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap;padding:clamp(26px,3.4vw,40px);border-radius:22px;background:linear-gradient(150deg,#FDF3EF,#FBE7DE);border:1px solid rgba(239,106,78,.18)}
.support-band h3{font-size:1.4rem;font-weight:700;margin:6px 0 8px;color:var(--ink)}
.support-band p{margin:0;color:var(--ink-muted);font-size:14.5px;max-width:58ch;line-height:1.55}
.support-band .btn{display:inline-flex;align-items:center;gap:7px}.support-band .btn svg{width:16px;height:16px}
@media(max-width:640px){.support-band{flex-direction:column;align-items:flex-start}}
.support-band .btn-care{color:#fff}.support-band .btn-care svg{fill:#fff}
/* ===== iPad-mini-style device (thin frame, camera dot, no hand) ===== */
.hp-phone{width:clamp(246px,27vw,320px);aspect-ratio:3/4;border:7px solid #17191c;border-radius:36px;background:#000;overflow:visible;box-shadow:0 56px 100px -38px rgba(20,30,25,.5),0 5px 18px rgba(0,0,0,.2)}
.hp-phone::before{content:"";position:absolute;left:-3px;top:26%;height:13%;width:3px;background:#0e1012;border-radius:3px 0 0 3px}
.hp-phone::after{content:"";position:absolute;right:-3px;top:22%;height:8%;width:3px;background:#0e1012;border-radius:0 3px 3px 0}
.hp-screen{position:relative;width:100%;height:100%;border-radius:28px;overflow:hidden}
.hp-notch{top:11px;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:#31343a;box-shadow:0 0 0 2px rgba(255,255,255,.05);z-index:9}
.hp-scr{padding:40px 26px 30px}
/* app section: mixed site-colour background */
.appband{background:linear-gradient(125deg,#2F7D5B 0%,#3e6f86 36%,#6a5f92 60%,#c56746 100%)}
/* ===== white bezel + tilted floating device + smooth transitions ===== */
.hp-phone{border:8px solid #ffffff;background:#fff;box-shadow:0 64px 120px -44px rgba(18,30,22,.55),0 10px 26px rgba(0,0,0,.14),0 0 0 1px rgba(0,0,0,.04);animation:hpfloat 7s ease-in-out infinite;will-change:transform}
.hp-phone::before,.hp-phone::after{background:#e0e4e0}
.hp-notch{background:#20232a}
@keyframes hpfloat{0%,100%{transform:perspective(1500px) rotateY(-6deg) rotateZ(-2.5deg) translateY(0)}50%{transform:perspective(1500px) rotateY(-6deg) rotateZ(-2.5deg) translateY(-14px)}}
/* smooth cross-fade between screens (no display snap) */
.hp-scr{display:flex;opacity:0;transform:scale(.99);transition:opacity .6s ease, transform .6s ease;pointer-events:none;animation:none;z-index:1}
.hp-scr.on{opacity:1;transform:scale(1);pointer-events:auto;animation:none;z-index:2}
@media(prefers-reduced-motion:reduce){.hp-phone{animation:none;transform:perspective(1500px) rotateY(-6deg) rotateZ(-2.5deg)}.hp-scr{transition:opacity .25s}}
/* smoother slide-in swap (incoming glides over previous) */
.hp-scr{transform:translateY(12px) scale(.996);transition:opacity .5s ease, transform .5s cubic-bezier(.4,0,.2,1)}
.hp-scr.on{transform:translateY(0) scale(1)}
@media(prefers-reduced-motion:reduce){.hp-scr{transition:opacity .25s;transform:none}}
/* float only — no tilt */
@keyframes hpfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media(prefers-reduced-motion:reduce){.hp-phone{transform:none;animation:none}}
/* ===== footer ambient hotline beacon (no phone) ===== */
.ft-hotline-wrap{margin:16px 0 2px}
.ft-hotline{display:inline-flex;align-items:center;gap:15px;text-decoration:none;color:inherit;position:relative;padding:4px 2px;border-radius:14px;transition:background .18s}
.ft-hotline:hover{background:rgba(255,255,255,.04)}
.fth-beacon{position:relative;width:46px;height:46px;flex:none;display:grid;place-items:center}
.fth-beacon>span{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:radial-gradient(circle,rgba(239,106,78,.5),rgba(239,106,78,0) 70%);opacity:.5;transform:scale(.3);animation:fthpulse 3.4s ease-out infinite}
.fth-beacon>span:nth-child(2){animation-delay:.85s}.fth-beacon>span:nth-child(3){animation-delay:1.7s}.fth-beacon>span:nth-child(4){animation-delay:2.55s}
.fth-beacon i{position:relative;z-index:1;width:11px;height:11px;border-radius:50%;background:var(--care,#EF6A4E);box-shadow:0 0 14px 3px rgba(239,106,78,.75)}
@keyframes fthpulse{0%{transform:scale(.3);opacity:.55}70%{opacity:.08}100%{transform:scale(1.25);opacity:0}}
.fth-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.fth-copy b{font-size:14px;font-weight:700;color:#fff;letter-spacing:.01em}
.fth-copy span{font-size:11.5px;color:rgba(255,255,255,.55);line-height:1.3}
.fth-go{margin-left:6px;font-size:12.5px;font-weight:700;color:#F2B77E;white-space:nowrap}
.fth-go em{font-style:normal}
.ft-hotline:hover .fth-go{color:var(--care,#EF6A4E)}
@media(max-width:560px){.fth-go{display:none}}
@media(prefers-reduced-motion:reduce){.fth-beacon>span{animation:none;opacity:.16;transform:scale(.7)}.fth-beacon>span:nth-child(3),.fth-beacon>span:nth-child(4){display:none}}
/* footer hotline beacon — colours for light footer */
.fth-copy b{color:var(--ink)}
.fth-copy span{color:var(--ink-muted)}
.fth-go{color:var(--care-ink,#b23f28)}
.ft-hotline:hover{background:rgba(239,106,78,.06)}
/* footer hotline — more visible little card + small animated phone icon */
.ft-hotline-wrap{margin:18px 0 4px}
.ft-hotline{gap:15px;padding:12px 20px 12px 14px;border-radius:18px;background:linear-gradient(120deg,rgba(239,106,78,.09),rgba(242,181,68,.06));border:1px solid rgba(239,106,78,.24);box-shadow:0 18px 36px -26px rgba(239,106,78,.5)}
.ft-hotline:hover{background:linear-gradient(120deg,rgba(239,106,78,.14),rgba(242,181,68,.08));border-color:rgba(239,106,78,.4)}
.fth-beacon{width:54px;height:54px}
.fth-beacon>span{width:54px;height:54px;margin:-27px 0 0 -27px}
.fth-beacon i{width:36px;height:36px;border-radius:50%;background:radial-gradient(120% 120% at 32% 26%,#F79178,#E24E2E 70%);display:grid;place-items:center;box-shadow:0 10px 20px -6px rgba(226,78,46,.65),inset 0 1px 4px rgba(255,255,255,.3)}
.fth-beacon i svg{width:17px;height:17px}
.fth-copy b{font-size:15px;color:var(--ink)}
.fth-copy span{font-size:12px;color:var(--ink-muted)}
.fth-go{font-size:13px;font-weight:800;color:var(--care-ink,#b23f28)}
/* ===== blinking hotline call icon (ringing motion) ===== */
.call-blip{position:relative;width:54px;height:54px;flex:none;display:grid;place-items:center;text-decoration:none;align-self:center}
.cb-ring{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;border:2px solid var(--care,#EF6A4E);opacity:.6;transform:scale(.72);animation:cbring 1.9s ease-out infinite}
.cb-ring:nth-child(2){animation-delay:.95s}
.cb-core{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;background:radial-gradient(120% 120% at 32% 26%,#F79178,#E24E2E 70%);color:#fff;display:grid;place-items:center;box-shadow:0 10px 22px -6px rgba(226,78,46,.6),inset 0 1px 4px rgba(255,255,255,.3);animation:cbblink 1.9s ease-in-out infinite}
.cb-core svg{width:21px;height:21px}
.call-blip:hover .cb-core{transform:scale(1.06)}
@keyframes cbring{0%{transform:scale(.72);opacity:.6}100%{transform:scale(1.35);opacity:0}}
@keyframes cbblink{0%,100%{box-shadow:0 10px 22px -6px rgba(226,78,46,.55),inset 0 1px 4px rgba(255,255,255,.3)}50%{box-shadow:0 10px 28px -4px rgba(226,78,46,.9),0 0 0 5px rgba(239,106,78,.16),inset 0 1px 4px rgba(255,255,255,.3)}}
@media(prefers-reduced-motion:reduce){.cb-ring{animation:none;opacity:.25;transform:scale(1)}.cb-ring:nth-child(2){display:none}.cb-core{animation:none}}
/* ---- SEO: hotline section + explore hub ---- */
.hotline-seo{background:linear-gradient(180deg,#FDF4EF,#FBEbE3)}
.hotline-seo .center-cta{justify-content:center;flex-wrap:wrap}
.hotline-reasons{text-align:center;max-width:70ch;margin:26px auto 0;font-size:14px;color:var(--ink-muted);line-height:1.7}
.hotline-reasons a{color:var(--care-ink,#b23f28);font-weight:600;text-decoration:none}
.hotline-reasons a:hover{text-decoration:underline}
.seo-hub .hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.hub-col h3{font-size:1.02rem;font-weight:700;color:var(--ink);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.hub-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.hub-col a{font-size:14px;color:var(--ink-muted);text-decoration:none;transition:color .14s}
.hub-col a:hover{color:var(--edu-ink,#245c43)}
@media(max-width:900px){.seo-hub .hub-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.seo-hub .hub-grid{grid-template-columns:1fr}}
