/* Layout: a dark indigo hero where a lens lights up one learner at a time ("One child at a time"), then quiet lavender-white sections.
   Bold moment = the lens. Everything else stays restrained: serif headlines, expanding image panels, an iris that opens on scroll. */
:root{
  --ink:#0B2A7A;
  --paper:#F3F7FF;
  --lav:#DCE7FF;
  --muted:#33426B;
  --ruby:#E5173F;
  --white:#FFFFFF;
  --display:'Petrona','Iowan Old Style',Georgia,serif;
  --body:'Karla','Segoe UI',system-ui,sans-serif;
  --gx:max(clamp(18px,4.2vw,60px),env(safe-area-inset-left,0px));
  --gx2:max(clamp(18px,4.2vw,60px),env(safe-area-inset-right,0px));
  --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.02em;line-height:1;margin:0;text-wrap:balance}
:focus-visible{outline:2px solid var(--ruby);outline-offset:3px;border-radius:3px}
.wrap{max-width:1440px;margin-inline:auto;padding-left:var(--gx);padding-right:var(--gx2)}
.sec{padding-block:clamp(72px,10vw,150px)}

/* progress */
#bar{position:fixed;left:0;right:0;top:0;height:3px;background:var(--ruby);transform:scaleX(0);transform-origin:left;z-index:90}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:80;padding-top:env(safe-area-inset-top,0px);color:#fff;transition:background .4s,color .4s,box-shadow .4s}
.nav.solid{background:rgba(243,247,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);box-shadow:0 1px 0 var(--lav)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand svg{width:30px;height:30px}
.brand span{font-family:var(--display);font-size:26px;letter-spacing:-.01em;line-height:1}
.links{display:flex;gap:34px;font-weight:500;font-size:15px}
.links a{text-decoration:none;position:relative;padding-block:4px}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.links a:hover::after{transform:scaleX(1);transform-origin:left}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;border-radius:999px;background:var(--ruby);color:#fff;font-weight:600;font-size:15px;text-decoration:none;border:0;cursor:pointer;font-family:var(--body);overflow:hidden;isolation:isolate;transition:color .4s;will-change:transform}
.btn::before{content:"";position:absolute;z-index:-1;left:var(--x,50%);top:var(--y,50%);width:260%;aspect-ratio:1;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%) scale(0);transition:transform .75s var(--ease)}
.btn:hover::before{transform:translate(-50%,-50%) scale(1)}
.btn.sm{padding:10px 20px}
.nav:not(.solid) .btn::before{background:#fff}
.nav:not(.solid) .btn:hover{color:var(--ink)}
.ghost{font-weight:600;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}

/* hero with lens */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.stage{position:relative;touch-action:pan-y;cursor:none}
.layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dim{filter:grayscale(1) contrast(1.05) brightness(.7)}
.tint{position:absolute;inset:0;background:var(--ink);opacity:.8;mix-blend-mode:multiply}
.tint2{position:absolute;inset:0;background:var(--ink);opacity:.35}
.lensimg{clip-path:circle(0px at 50% 40%)}
.dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.2) 1.2px,transparent 1.6px);background-size:28px 28px;pointer-events:none;-webkit-mask:linear-gradient(#000,transparent 75%);mask:linear-gradient(#000,transparent 75%)}
.shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,42,122,.96) 0,rgba(11,42,122,.72) 34%,rgba(11,42,122,0) 64%);pointer-events:none}
.ring{position:absolute;left:0;top:0;border:1.5px solid var(--ruby);border-radius:50%;pointer-events:none;will-change:transform;opacity:0}
.ring::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--ruby)}
.tag{position:absolute;left:0;top:0;pointer-events:none;font-size:14px;font-weight:600;white-space:nowrap;background:var(--ruby);color:#fff;padding:6px 12px;border-radius:999px;opacity:0;will-change:transform}
.stage .hero-in{position:relative;z-index:2;padding-top:clamp(200px,28vw,380px);padding-bottom:clamp(40px,5vw,72px);pointer-events:none}
.hero-in a,.hero-in .btn{pointer-events:auto;cursor:pointer}
.hero h1{font-size:clamp(44px,8.6vw,138px);line-height:.94;letter-spacing:-.03em;max-width:12em}
.line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.line>span{display:block}
.js .line>span{transform:translateY(112%)}
.go .line>span{transform:none;transition:transform 1.3s var(--ease) calc(var(--d,0)*.14s)}
.hero-row{display:flex;justify-content:space-between;align-items:end;gap:28px 40px;flex-wrap:wrap;margin-top:clamp(28px,4vw,56px)}
.hero-row p{max-width:34ch;font-size:clamp(17px,1.5vw,20px);color:#FFFFFF}
.acts{display:flex;gap:14px 26px;align-items:center;flex-wrap:wrap}
.js .hero-row{opacity:0;transform:translateY(16px)}
.go .hero-row{opacity:1;transform:none;transition:opacity 1s .8s,transform 1s .8s var(--ease)}
@media (hover:none){.stage{cursor:auto}}

/* statement */
.statement{font-family:var(--display);font-size:clamp(30px,4.8vw,72px);line-height:1.08;letter-spacing:-.02em;max-width:22em;text-wrap:pretty}
.js .scrub .w{color:#9DB0E3;transition:color .35s}
.js .scrub .w.on{color:var(--ink)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px clamp(20px,4vw,64px);margin-top:clamp(44px,6vw,88px);padding-top:28px;border-top:1px solid var(--lav)}
.fact b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,48px);letter-spacing:-.02em;line-height:1.05}
.fact span{display:block;margin-top:8px;color:var(--muted);font-size:15px;max-width:26ch}

/* divisions */
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,72px)}
.head h2{font-size:clamp(40px,6.4vw,100px)}
.head p{max-width:36ch;color:var(--muted)}
.strips{display:flex;gap:10px;height:clamp(520px,66vh,700px)}
.strip{position:relative;flex:1 1 0;min-width:0;overflow:hidden;background:var(--ink);color:#fff;cursor:pointer;transition:flex .95s cubic-bezier(.7,0,.2,1);border-radius:4px}
.strip.on{flex:4.4 1 0;cursor:default}
.strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.16);filter:grayscale(.85) brightness(.6);transition:transform 1.4s var(--ease),filter .9s}
.strip.on img{transform:scale(1);filter:none}
.strip::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,42,122,.92),rgba(11,42,122,.15) 62%);pointer-events:none}
.tv{position:absolute;z-index:2;left:22px;bottom:24px;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--display);font-size:26px;line-height:1.1;white-space:nowrap;transition:opacity .4s .1s}
.strip.on .tv{opacity:0;transition-delay:0s}
.th{position:absolute;z-index:2;left:clamp(22px,3vw,40px);right:clamp(22px,3vw,40px);bottom:clamp(22px,3vw,40px);opacity:0;transform:translateY(18px);transition:opacity .5s,transform .7s var(--ease);pointer-events:none}
.strip.on .th{opacity:1;transform:none;transition-delay:.5s;pointer-events:auto}
.th h3{font-size:clamp(30px,3.6vw,52px);margin-bottom:14px;max-width:14em}
.th p{max-width:46ch;color:#FFFFFF;font-size:16px}
.th p b{font-weight:600;color:#fff}

/* philosophy iris */
.phil{display:grid;grid-template-columns:repeat(12,1fr);gap:40px clamp(16px,2vw,32px);align-items:center}
.phil-copy{grid-column:1/6}
.phil-copy h2{font-size:clamp(48px,8vw,128px);line-height:.92;margin-bottom:28px}
.phil-copy p{color:var(--muted);max-width:38ch;font-size:18px}
.iris{grid-column:7/13;position:relative;aspect-ratio:1600/1068}
.iris .frame{position:absolute;inset:0;overflow:hidden;background:var(--lav)}
.js .iris .frame{clip-path:circle(8% at 52% 56%)}
.iris img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.iris::before{content:"";position:absolute;inset:-14px;border:1.5px dashed var(--lav);border-radius:6px;pointer-events:none}

/* skills band */
.band{overflow:hidden;padding-block:clamp(64px,9vw,130px);background:var(--lav)}
.band .intro{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:end;margin-bottom:clamp(36px,5vw,72px)}
.band .intro h2{font-size:clamp(34px,5vw,76px);max-width:14em}
.band .intro p{max-width:34ch;color:var(--muted)}
.track{display:flex;gap:.45em;width:max-content;padding-left:var(--gx);font-family:var(--display);font-size:clamp(72px,15vw,240px);line-height:1;will-change:transform}
.bw{display:inline-block;white-space:nowrap;padding-right:.5em;position:relative;color:var(--ink)}
.js .bw{color:transparent;-webkit-text-stroke:1.5px var(--ink);transition:color .45s}
.js .bw.on{color:var(--ink)}
.bw::after{content:"";position:absolute;right:.12em;top:55%;width:.1em;height:.1em;border-radius:50%;background:var(--ruby)}
.pair{display:grid;grid-template-columns:repeat(12,1fr);gap:24px clamp(16px,2vw,32px);margin-top:clamp(48px,7vw,110px)}
.p1{grid-column:2/7}
.p2{grid-column:8/12;margin-top:clamp(40px,8vw,140px)}

/* images with wipe */
.fr{position:relative;overflow:hidden;background:var(--paper)}
.fr img{position:absolute;left:0;top:-9%;width:100%;height:118%;object-fit:cover;will-change:transform}
.js .rv:not(.in){clip-path:inset(0 0 100% 0)}
.rv.in{clip-path:inset(0 0 0 0);transition:clip-path 1.4s cubic-bezier(.7,0,.2,1)}
.p1 .fr{aspect-ratio:1/1}
.p2 .fr{aspect-ratio:1290/860}
figcaption{margin-top:16px;font-size:15px;color:var(--muted)}
figure{margin:0}

/* wide image + vision */
.wide{position:relative;aspect-ratio:21/9;overflow:hidden;background:var(--ink)}
.wide img{position:absolute;left:0;top:-14%;width:100%;height:128%;object-fit:cover}
.wide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,42,122,.82),rgba(11,42,122,.1) 62%)}
.wide p{position:absolute;z-index:2;left:var(--gx);bottom:clamp(20px,4vw,56px);max-width:12em;color:#fff;font-family:var(--display);font-size:clamp(30px,5.2vw,80px);line-height:.98;letter-spacing:-.02em}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:48px clamp(24px,5vw,96px);margin-top:clamp(56px,8vw,120px)}
.vm h3{font-family:var(--body);font-size:15px;font-weight:600;color:var(--ruby);letter-spacing:0;margin-bottom:16px}
.vm p{font-family:var(--display);font-size:clamp(26px,3vw,42px);line-height:1.12;letter-spacing:-.01em;text-wrap:pretty}

/* contact */
.contact{background:var(--ink);color:#fff}
.contact :focus-visible{outline-color:#fff}
.contact h2{font-size:clamp(48px,9vw,148px);line-height:.92;letter-spacing:-.03em;max-width:9em}
.cgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:48px clamp(16px,2vw,32px);margin-top:clamp(40px,6vw,88px)}
.cside{grid-column:1/6;color:#EAF0FF;max-width:38ch}
.cside p+p{margin-top:16px;font-size:15px;color:#CFDBFF}
form{grid-column:7/13;display:grid;gap:20px}
.f{display:grid;gap:8px}
.f label{font-size:14px;font-weight:600;color:#EAF0FF}
.f input,.f select,.f textarea{font:inherit;color:#fff;background:transparent;border:0;border-bottom:1.5px solid #5C7BD6;padding:10px 0;border-radius:0;transition:border-color .3s}
.f select option{color:var(--ink)}
.f textarea{min-height:110px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--ruby)}
.who{display:flex;gap:10px;flex-wrap:wrap}
.who input{position:absolute;opacity:0;pointer-events:none}
.who label{padding:9px 18px;border:1.5px solid #5C7BD6;border-radius:999px;cursor:pointer;font-size:15px;font-weight:500;color:#fff;transition:background .3s,border-color .3s}
.who input:checked+label{background:var(--ruby);border-color:var(--ruby)}
.who input:focus-visible+label{outline:2px solid #fff;outline-offset:3px}
#note{min-height:1.6em;color:#FFFFFF;font-size:15px}
footer{background:var(--ink);color:#CFDBFF;border-top:1px solid #2C4BA6;padding-block:30px calc(30px + env(safe-area-inset-bottom,0px))}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;font-size:15px}
footer .brand{color:#fff}

@media (max-width:900px){
  .links-x{display:none}
  .phil-copy,.iris{grid-column:1/-1}
  .iris{max-width:560px}
  .pair .p1,.pair .p2{grid-column:1/-1;margin-top:0}
  .p1{max-width:80%}.p2{margin-left:auto;max-width:86%}
  .vm{grid-template-columns:1fr}
  .cside,form{grid-column:1/-1}
  .facts{grid-template-columns:1fr}
  .wide{aspect-ratio:4/3}
  /* panels stack and expand downward */
  .strips{flex-direction:column;height:auto}
  .strip{flex:none;height:92px;transition:height .9s cubic-bezier(.7,0,.2,1)}
  .strip.on{height:440px}
  .tv{writing-mode:horizontal-tb;transform:none;left:20px;bottom:auto;top:50%;margin-top:-14px;font-size:24px;white-space:normal;max-width:calc(100% - 40px)}
}
@media (max-width:600px){.tag{display:none}}
@media (max-width:520px){.nav .wrap{height:64px}.brand span{font-size:22px}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* v2 additions */
.lg{height:38px;width:auto}.brand .lg-d{display:none}.nav.solid .brand .lg-l{display:none}.nav.solid .brand .lg-d{display:block}
.dd{position:relative}.dd>a i{display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:6px}
.menu{position:absolute;top:100%;left:-18px;min-width:220px;padding:8px;background:var(--paper);color:var(--ink);border-radius:12px;box-shadow:0 18px 40px rgba(11,42,122,.25);opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s var(--ease)}
.dd:hover .menu,.dd:focus-within .menu,.dd.open .menu{opacity:1;visibility:visible;transform:none}
.menu a{display:block;padding:10px 14px;border-radius:8px}.menu a::after{display:none}.menu a:hover{background:var(--lav)}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;color:inherit;position:relative}.burger span{position:absolute;left:9px;right:9px;height:2px;background:currentColor;transition:.3s}.burger span:first-child{top:15px}.burger span:last-child{top:23px}
.burger[aria-expanded=true] span:first-child{top:19px;transform:rotate(45deg)}.burger[aria-expanded=true] span:last-child{top:19px;transform:rotate(-45deg)}
.fact{border-top:3px solid var(--ruby);padding-top:18px;margin-top:-28px}.facts{border-top:0;padding-top:0}
.impact{position:relative;background:var(--ink);color:#fff;padding-block:clamp(72px,10vw,150px);overflow:hidden}
.impact>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;filter:grayscale(1)}
.impact .wrap{position:relative}.impact h2{font-size:clamp(44px,8vw,120px);line-height:.94;max-width:10em}
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(36px,5vw,72px)}
.nums b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(64px,10vw,150px);line-height:1;color:#fff}.nums b::after{content:"";display:block;width:44px;height:3px;background:var(--ruby);margin-top:10px}
.nums span{display:block;margin-top:12px;color:#EAF0FF;max-width:22ch;font-size:15px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:clamp(28px,4vw,56px)}.chips span{padding:8px 18px;border:1.5px solid #5C7BD6;border-radius:999px;font-weight:500;font-size:15px}
.eyebrow{color:var(--ruby);font-weight:600;font-size:14px}
.ceo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(11,42,122,.1)}
.ceo-pic{background:var(--ink);display:grid;place-items:center;padding:clamp(32px,5vw,72px);position:relative}.ceo-pic::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--ruby)}.ceo-pic img{width:min(260px,70%)}
.ceo-tx{padding:clamp(28px,4vw,56px);display:grid;gap:14px;align-content:center}.ceo-tx h3{font-size:clamp(34px,4.4vw,60px)}
.cred{font-weight:600;letter-spacing:.04em}.roles{color:var(--muted);font-size:15px}
blockquote{margin:6px 0;padding-left:18px;border-left:3px solid var(--ruby);font-family:var(--display);font-size:clamp(20px,2vw,26px);line-height:1.25}
.ceo-tx .btn{justify-self:start;margin-top:6px}
.sub{font-size:clamp(32px,4vw,56px);margin:clamp(48px,7vw,96px) 0 28px}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tc{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(11,42,122,.08);transition:transform .5s var(--ease)}.tc:hover{transform:translateY(-6px)}
.tc img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(.9) brightness(.8);transition:filter .6s}.tc:hover img{filter:none}
.tc div{padding:18px 20px 22px;display:grid;gap:6px}.tc small{color:var(--ruby);font-weight:600;font-size:13px}.tc b{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.1}.tc span{color:var(--muted);font-size:14px}
dialog{width:min(760px,calc(100% - 32px));max-height:86vh;border:0;border-radius:16px;padding:0;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:rgba(11,42,122,.75)}
.dl{padding:clamp(28px,5vw,56px)}.dl h3{font-size:clamp(34px,5vw,56px);margin:6px 0 8px}.dl h4{font:600 15px var(--body);color:var(--ruby);margin:26px 0 8px}.dl ul{margin:0;padding-left:20px}.dl li{margin-bottom:4px}
.x{position:sticky;top:12px;float:right;margin:12px 12px 0 0;width:40px;height:40px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:24px;cursor:pointer;z-index:2}
.wafab{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:70;display:flex;gap:8px;align-items:center;padding:12px 18px;border-radius:999px;background:var(--ruby);color:#fff;font-weight:600;font-size:15px;text-decoration:none;box-shadow:0 10px 28px rgba(229,23,63,.4)}
@media (max-width:900px){.ceo,.nums{grid-template-columns:1fr}.team{grid-template-columns:1fr 1fr}.burger{display:block}
.links{display:none;position:fixed;top:calc(64px + env(safe-area-inset-top,0px));left:0;right:0;flex-direction:column;gap:6px;padding:18px var(--gx);background:var(--ink);color:#fff;max-height:calc(100vh - 64px);overflow:auto}.links.open{display:flex}
.menu{position:static;opacity:1;visibility:visible;transform:none;background:transparent;color:#EAF0FF;box-shadow:none;padding:0 0 0 14px}.menu a:hover{background:transparent}.dd>a i{display:none}}
@media (max-width:520px){.team{grid-template-columns:1fr}.wafab span{display:none}.wafab{padding:14px}}

/* ===== multi-page additions ===== */
.links a[aria-current=page]::after{transform:scaleX(1)}
.menu a[aria-current=page]{background:var(--lav)}
.ph{padding-top:calc(74px + clamp(56px,9vw,130px));padding-bottom:clamp(40px,6vw,88px);background:var(--paper)}
.crumb{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;font-weight:600;color:var(--muted);margin-bottom:24px}
.crumb a{text-decoration:none}.crumb a:hover{color:var(--ruby)}.crumb i{font-style:normal;color:var(--ruby)}
.ph h1{font-size:clamp(46px,8.4vw,132px);line-height:.94;letter-spacing:-.03em;max-width:12em}
.ph .lead{margin-top:28px;max-width:44ch;font-size:clamp(18px,1.6vw,22px);color:var(--muted)}
.pt{padding-top:0}
.wide.plain::after{display:none}
.links a.cur{}

/* services overview */
.svc{display:grid;grid-template-columns:repeat(12,1fr);gap:24px clamp(16px,2vw,32px);align-items:center;padding-block:clamp(36px,5vw,72px);border-top:1px solid var(--lav)}
.svc .pic{grid-column:1/7;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:var(--ink)}
.svc .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.svc:hover .pic img{transform:scale(1.05)}
.svc .tx{grid-column:8/13}
.svc:nth-child(even) .pic{grid-column:7/13;order:2}
.svc:nth-child(even) .tx{grid-column:1/6;order:1}
.svc .n{font-family:var(--display);color:var(--ruby);font-size:22px}
.svc h2{font-size:clamp(34px,4.4vw,64px);margin:8px 0 16px}
.svc p{color:var(--muted);margin-bottom:22px}

/* division page */
.dv{display:grid;grid-template-columns:repeat(12,1fr);gap:40px clamp(16px,2vw,32px);margin-top:clamp(48px,7vw,100px)}
.dv .main{grid-column:1/8}.dv aside{grid-column:9/13}
.big{font-family:var(--display);font-size:clamp(28px,3.2vw,46px);line-height:1.12;letter-spacing:-.01em;text-wrap:pretty}
.inc-h{font:600 15px var(--body);color:var(--ruby);margin:clamp(36px,5vw,64px) 0 14px}
.inc{list-style:none;margin:0;padding:0}
.inc li{display:flex;gap:18px;align-items:baseline;padding:18px 0;border-top:1px solid var(--lav);font-size:19px}
.inc li:last-child{border-bottom:1px solid var(--lav)}
.inc li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ruby);flex:none}
.box{background:var(--ink);color:#fff;border-radius:14px;padding:30px;display:grid;gap:16px;position:sticky;top:100px;justify-items:start}
.box h3{font-size:34px}.box p{color:#EAF0FF;font-size:15px}
.more{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mc{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:var(--ink);color:#fff;text-decoration:none}
.mc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.8) brightness(.65);transition:filter .6s,transform 1.2s var(--ease)}
.mc:hover img{filter:none;transform:scale(1.05)}
.mc::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,42,122,.92),rgba(11,42,122,0) 65%)}
.mc span{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;font-family:var(--display);font-size:26px;line-height:1.1}

/* founder profile */
.prof{display:grid;grid-template-columns:repeat(12,1fr);gap:0 clamp(16px,2vw,32px);margin-top:clamp(48px,7vw,96px)}
.pi{grid-column:span 6;padding:28px 0 36px;border-top:1px solid var(--lav)}
.pi.full{grid-column:1/-1}
.pi h3{font:600 15px var(--body);color:var(--ruby);margin-bottom:12px;letter-spacing:0}
.pi ul{margin:0;padding-left:20px}.pi li{margin-bottom:8px}
a.tc{display:block;text-decoration:none;color:inherit}

/* team page */
.team.t3{grid-template-columns:repeat(4,1fr)}

/* cta band + contact page */
.cta{background:var(--ink);color:#fff;padding-block:clamp(64px,9vw,130px)}
.cta h2{font-size:clamp(40px,7vw,110px);line-height:.94;letter-spacing:-.03em;max-width:10em;margin-bottom:34px}
.contact.solo{padding-top:clamp(56px,8vw,110px)}.contact.solo .cgrid{margin-top:0}
.cside a{color:#fff}

/* footer */
.ft{background:var(--ink);color:#CFDBFF;padding-block:clamp(48px,6vw,80px) calc(28px + env(safe-area-inset-bottom,0px))}
.ft .wrap{display:block}
.ft .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.ft h4{font:600 14px var(--body);color:#fff;margin:0 0 12px}
.ft .cols a{display:block;text-decoration:none;padding:4px 0;font-size:15px}.ft .cols a:hover{color:#fff}
.ft .cols p{font-size:15px;max-width:30ch;margin-top:14px}
.ft .brand{color:#fff}
.ft .base{margin-top:44px;padding-top:22px;border-top:1px solid #2C4BA6;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}
.th .ghost{display:inline-block;margin-top:18px;color:#fff}

@media (max-width:900px){
  .svc .pic,.svc:nth-child(even) .pic{grid-column:1/-1;order:0}
  .svc .tx,.svc:nth-child(even) .tx{grid-column:1/-1;order:1}
  .dv .main,.dv aside{grid-column:1/-1}.box{position:static}
  .more{grid-template-columns:1fr}.mc{aspect-ratio:16/9}
  .pi{grid-column:1/-1}
  .team.t3{grid-template-columns:1fr 1fr}
  .ft .cols{grid-template-columns:1fr 1fr}
  .ph{padding-top:calc(64px + 48px)}
}
@media (max-width:520px){.team.t3{grid-template-columns:1fr}.ft .cols{grid-template-columns:1fr}}
.btn{white-space:nowrap}
@media (max-width:520px){.nav .wrap{gap:10px}.btn.sm{padding:9px 14px;font-size:14px}}

/* ===== v3: brighter colour system ===== */
.hero,.impact,.cta,.contact,.ft,.box,.ceo-pic{background:linear-gradient(135deg,#0A2370 0%,#0B2A7A 45%,#1239A8 100%)}
.cta,.impact{background:radial-gradient(900px 420px at 85% 0%,rgba(229,23,63,.38),transparent 60%),linear-gradient(135deg,#0A2370,#1239A8)}
.ft{background:#081C5C}
.band{background:linear-gradient(180deg,#DCE7FF,#EAF1FF)}
h1 em,h2 em,.hero h1 em{font-style:normal;color:var(--ruby)}
.hero h1 em,.cta h2 em,.impact h2 em,.contact h2 em{color:#FF5C78}
.fact{background:#fff;border-radius:14px;padding:22px 22px 24px;margin-top:0;border-top:4px solid var(--ruby);box-shadow:0 12px 30px rgba(11,42,122,.10)}
.fact b{color:var(--ink)}
.facts{margin-top:clamp(36px,5vw,64px)}
.eyebrow,.inc-h,.vm h3,.pi h3,.tc small,.svc .n{color:var(--ruby)}
.btn{box-shadow:0 10px 24px rgba(229,23,63,.28)}
.ghost{color:var(--ink)}.hero .ghost,.cta .ghost,.contact .ghost,.impact .ghost,.th .ghost{color:#fff}
.strip::after{background:linear-gradient(to top,rgba(11,42,122,.95),rgba(11,42,122,.1) 62%)}
.strip img{filter:grayscale(.2) brightness(.8)}
.tc img{filter:none}
.mc img{filter:brightness(.8)}
.impact>img{opacity:.18;filter:none}

/* ===== founder: tutor-profile layout ===== */
.pf{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.pcard{position:sticky;top:96px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(11,42,122,.14)}
.pcard .av{aspect-ratio:1/1;background:linear-gradient(135deg,#0A2370,#1D4ED8);display:grid;place-items:center;position:relative;overflow:hidden}
.pcard .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pcard .av span{font-family:var(--display);font-size:96px;color:#fff;letter-spacing:-.02em}
.pcard .av::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--ruby)}
.pcard .bd{padding:22px 22px 26px;display:grid;gap:12px}
.pcard h2{font-size:32px;line-height:1.05}
.pcard .cred{color:var(--ruby);font-weight:700;letter-spacing:.04em}
.chips2{display:flex;flex-wrap:wrap;gap:8px}.chips2 span{background:var(--lav);color:var(--ink);font-weight:600;font-size:13px;padding:6px 12px;border-radius:999px}
.pcard .btn{justify-self:stretch}
.pcard .wa2{display:flex;gap:8px;align-items:center;justify-content:center;padding:13px;border-radius:999px;background:#12B76A;color:#fff;font-weight:600;text-decoration:none}
.pstats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pstats div{background:var(--paper);border-radius:12px;padding:12px;text-align:center}.pstats b{display:block;font-family:var(--display);font-weight:400;font-size:34px;color:var(--ink);line-height:1}.pstats small{color:var(--muted);font-size:12px}
.ptabs{display:flex;gap:6px;flex-wrap:wrap;position:sticky;top:74px;z-index:5;background:var(--paper);padding:12px 0;border-bottom:1px solid var(--lav);margin-bottom:8px}
.ptabs a{text-decoration:none;font-weight:600;font-size:15px;padding:9px 16px;border-radius:999px;color:var(--ink);background:#fff;box-shadow:0 2px 8px rgba(11,42,122,.08)}
.ptabs a:hover{background:var(--ruby);color:#fff}
.psec{padding:34px 0;border-bottom:1px solid var(--lav);scroll-margin-top:150px}
.psec h3{font-size:clamp(30px,3.4vw,44px);margin-bottom:16px}
.psec p{margin-bottom:14px;color:#1B2B5E}
.psec ul{margin:0;padding-left:20px}.psec li{margin-bottom:10px}
.tl{list-style:none;padding:0!important;border-left:3px solid var(--ruby);margin-left:6px!important}
.tl li{position:relative;padding-left:22px}.tl li::before{content:"";position:absolute;left:-9px;top:8px;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid var(--ruby)}
.quote{font-family:var(--display);font-size:clamp(26px,3vw,40px);line-height:1.15;color:var(--ink);border-left:5px solid var(--ruby);padding-left:20px;margin:6px 0}
/* testimonials */
.tm{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tq{background:#fff;border-radius:16px;padding:26px;box-shadow:0 12px 30px rgba(11,42,122,.10);border-top:4px solid var(--ruby);display:grid;gap:16px;align-content:space-between}
.tq p{font-size:16px;color:#1B2B5E}.tq p::before{content:"\201C";font-family:var(--display);font-size:54px;line-height:0;color:var(--ruby);display:block;height:22px}
.tq b{display:block;color:var(--ink)}.tq small{color:var(--muted)}
.commit{background:#fff;border-radius:18px;padding:clamp(28px,5vw,64px);box-shadow:0 20px 50px rgba(11,42,122,.10)}
.commit h2{font-size:clamp(34px,5vw,72px);margin-bottom:18px}.commit p{max-width:60ch;color:#1B2B5E}
.commit .tri{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.commit .tri span{background:var(--ruby);color:#fff;font-weight:600;padding:10px 18px;border-radius:999px}.commit .tri span:nth-child(2){background:var(--ink)}.commit .tri span:nth-child(3){background:#1D4ED8}
/* team avatars */
.tc .ini{aspect-ratio:4/3;display:grid;place-items:center;background:linear-gradient(135deg,#0A2370,#1D4ED8);color:#fff;font-family:var(--display);font-size:64px;position:relative}.tc .ini::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--ruby)}
@media (max-width:900px){.pf{grid-template-columns:1fr}.pcard{position:static;max-width:420px}.tm{grid-template-columns:1fr}.ptabs{top:64px;overflow:auto;flex-wrap:nowrap}.ptabs a{white-space:nowrap}}

.orgnote{max-width:56ch;color:var(--muted);margin:-8px 0 28px}
.org{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.un{background:#fff;border-radius:18px;padding:26px;box-shadow:0 14px 34px rgba(11,42,122,.10);border-top:5px solid var(--ruby);display:grid;gap:10px;align-content:start}
.un:nth-child(even){border-top-color:#1D4ED8}
.un h3{font-size:clamp(26px,2.6vw,36px)}.un>p{color:var(--muted);font-size:15px}
.ppl{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px}
.pp{width:170px}.pp img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;background:var(--lav)}.pp b{display:block;margin-top:10px;font-size:16px;color:var(--ink);line-height:1.2}
@media (max-width:700px){.org{grid-template-columns:1fr}.pp{width:calc(50% - 9px)}}

.topbar{position:relative;z-index:85;background:#081C5C;color:#fff;font-size:13px;font-weight:600}
.topbar .wrap{display:flex;justify-content:flex-end;gap:24px;padding-block:7px}.topbar a{text-decoration:none;color:#fff}.topbar a:hover{color:#FF8EA0}
.nav{top:31px}.nav.solid{top:0}
.ex{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.exc{background:#fff;border-radius:16px;padding:26px;box-shadow:0 12px 30px rgba(11,42,122,.10)}.exc i{font-style:normal;font-family:var(--display);color:var(--ruby);font-size:30px}.exc h3{font-size:26px;margin:10px 0}.exc p{color:var(--muted);font-size:15px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.steps li{counter-increment:s;background:linear-gradient(135deg,#0A2370,#1239A8);color:#fff;border-radius:16px;padding:26px;display:grid;gap:8px;align-content:start}
.steps li::before{content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--ruby);display:grid;place-items:center;font-weight:700}
.steps b{font-family:var(--display);font-weight:400;font-size:28px}.steps span{color:#fff;font-size:15px}
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:#fff;border-radius:14px;padding:18px 22px;box-shadow:0 8px 22px rgba(11,42,122,.08)}
.faq summary{cursor:pointer;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between}.faq summary::after{content:"+";color:var(--ruby);font-size:22px;line-height:1}.faq details[open] summary::after{content:"–"}
.faq p{margin-top:10px;color:var(--muted)}
.head p a{color:var(--ruby);font-weight:600}
@media (max-width:900px){.ex,.steps{grid-template-columns:1fr 1fr}.topbar .wrap a:last-child{display:none}.topbar .wrap{justify-content:center}}
@media (max-width:520px){.ex,.steps{grid-template-columns:1fr}.nav{top:31px}}
#expect{padding-top:clamp(56px,8vw,110px)!important}

/* ===== v4 ===== */
h1,h2,h3,.statement,.big,.fact b,.nums b,.tc b,.mc span,.th h3,.steps b,.exc h3,.commit h2{font-weight:600}
h1,.hero h1,.ph h1{letter-spacing:-.025em}
body{font-size:18px}
.nav{top:0}
.topbar{position:relative;background:#081C5C;color:#fff;font-size:13px;font-weight:600}
.nav.solid .topbar{background:#081C5C}
.ph{padding-top:calc(108px + clamp(48px,8vw,120px))}
@media (max-width:900px){.links{top:calc(98px + env(safe-area-inset-top,0px))!important;max-height:calc(100vh - 98px)!important}.ph{padding-top:calc(98px + 40px)}}
.stage .hero-in{padding-top:clamp(230px,30vw,400px)}
/* ticker */
.tick{background:var(--ruby);color:#fff;overflow:hidden;white-space:nowrap;padding:14px 0;font-weight:700;letter-spacing:.06em;font-size:14px;text-transform:uppercase}
.tick div{display:inline-flex;gap:34px;padding-right:34px;animation:tk 38s linear infinite}
.tick span::after{content:"◆";margin-left:34px;font-size:9px;vertical-align:middle;opacity:.7}
@keyframes tk{to{transform:translateX(-50%)}}
.tick .trk{display:inline-flex}
/* approach */
.kick{color:var(--ruby);font-weight:700;letter-spacing:.12em;font-size:13px;text-transform:uppercase;margin-bottom:14px}
.ap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,5vw,80px);align-items:start}
.ap h2{font-size:clamp(38px,5vw,72px)}.ap>div>p{margin-top:18px;color:var(--muted);max-width:44ch}
.adapt{display:grid;gap:14px}
.adapt div{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;background:#fff;border-radius:16px;padding:22px 24px;box-shadow:0 12px 30px rgba(11,42,122,.10);border-left:5px solid var(--ruby)}
.adapt div:nth-child(2){border-left-color:#1D4ED8}.adapt div:nth-child(3){border-left-color:var(--ink)}
.adapt b{font-family:var(--display);font-size:26px;color:var(--ink);grid-column:2}.adapt span{grid-column:2;color:var(--muted)}
.adapt i{grid-row:1/3;font-style:normal;width:46px;height:46px;border-radius:50%;background:var(--lav);color:var(--ink);display:grid;place-items:center;font-weight:700;align-self:center}
/* who we serve */
.serve{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sv{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(11,42,122,.10)}
.sv img{width:100%;aspect-ratio:4/3;object-fit:cover}.sv div{padding:20px 22px 24px}.sv h3{font-size:25px;margin-bottom:8px}.sv p{color:var(--muted);font-size:16px}
/* testimonials */
.tmx{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:20px;align-items:stretch}
.tl2{display:grid;gap:8px;align-content:start}
.tl2 button{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;text-align:left;font:inherit;background:#fff;border:2px solid transparent;border-radius:14px;padding:14px 16px;cursor:pointer;box-shadow:0 6px 18px rgba(11,42,122,.07);transition:.3s}
.tl2 button:hover{border-color:var(--lav)}
.tl2 button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.av2{grid-row:1/3;width:44px;height:44px;border-radius:50%;background:var(--ruby);color:#fff;font-weight:700;display:grid;place-items:center;align-self:center}
.tl2 b{font-size:16px}.tl2 small{opacity:.8;font-size:14px}
.big-q{position:relative;background:linear-gradient(135deg,#0A2370,#1239A8);color:#fff;border-radius:22px;padding:clamp(28px,5vw,64px);display:grid;align-content:space-between;gap:28px;overflow:hidden;min-height:420px}
.big-q::before{content:"\201C";position:absolute;top:-30px;left:24px;font-family:var(--display);font-size:260px;line-height:1;color:rgba(255,255,255,.12)}
.big-q blockquote{border:0;padding:0;margin:0;position:relative;font-family:var(--display);font-weight:500;font-size:clamp(22px,2.4vw,34px);line-height:1.3;color:#fff}
.big-q .who2{display:flex;align-items:center;gap:16px;position:relative}
.big-q .av2{width:56px;height:56px;font-size:18px}.big-q .who2 b{display:block;font-size:19px}.big-q .who2 span{color:#fff;opacity:.85}
.big-q .stars{color:#FFC94A;letter-spacing:4px;position:relative}
.flags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.flags span{background:#fff;border-radius:999px;padding:8px 16px;font-weight:600;font-size:15px;box-shadow:0 6px 16px rgba(11,42,122,.08)}
/* founder spotlight */
.spot{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 20px 50px rgba(11,42,122,.12)}
.spot img{width:100%;height:100%;min-height:360px;object-fit:cover}
.spot div{padding:clamp(28px,4vw,56px);display:grid;gap:14px;align-content:center;justify-items:start}
.spot h2{font-size:clamp(34px,4vw,56px)}
/* skills page */
.sk{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.skc{background:#fff;border-radius:18px;padding:28px;box-shadow:0 14px 34px rgba(11,42,122,.10);display:grid;gap:12px;align-content:start;border-top:5px solid var(--ruby);transition:transform .4s var(--ease)}
.skc:hover{transform:translateY(-6px)}
.skc:nth-child(3n+2){border-top-color:#1D4ED8}.skc:nth-child(3n){border-top-color:var(--ink)}
.skc .no{font-family:var(--display);color:var(--ruby);font-size:24px}
.skc h3{font-size:30px}.skc>p{color:var(--muted)}
.skc ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.skc li{display:flex;gap:10px;font-size:16px}.skc li::before{content:"✓";color:var(--ruby);font-weight:700}
.skc .tag2{justify-self:start;background:var(--lav);color:var(--ink);font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px}
.path{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:p}
.path div{background:linear-gradient(135deg,#0A2370,#1239A8);color:#fff;border-radius:16px;padding:28px}.path b{font-family:var(--display);font-size:30px;display:block;margin:8px 0}.path small{color:#FF8EA0;font-weight:700;letter-spacing:.1em}
.imgrow{display:grid;grid-template-columns:1fr 1fr;gap:18px}.imgrow img{width:100%;height:100%;max-height:380px;object-fit:cover;border-radius:18px}
@media (max-width:900px){.ap,.tmx,.spot{grid-template-columns:1fr}.serve{grid-template-columns:1fr 1fr}.sk,.path{grid-template-columns:1fr}.imgrow{grid-template-columns:1fr}
.tl2{grid-auto-flow:column;grid-auto-columns:76%;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.tl2 button{scroll-snap-align:start}}
@media (max-width:520px){.serve{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.tick div{animation:none}}

.un h3 .dn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ruby);color:#fff;font-size:16px;font-family:var(--body);font-weight:700;margin-right:12px;vertical-align:middle}
.ofc{background:#fff;border-radius:20px;padding:clamp(24px,4vw,48px);box-shadow:0 14px 34px rgba(11,42,122,.10);border-left:6px solid var(--ruby)}
.ofc>p{max-width:62ch;margin-bottom:24px}
.ofg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ofg div{background:var(--paper);border-radius:14px;padding:18px}.ofg small{display:block;color:var(--ruby);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-bottom:6px}.ofg b{color:var(--ink);font-size:18px;line-height:1.3}
@media (max-width:800px){.ofg{grid-template-columns:1fr}}

#iris .frame{clip-path:none!important;border-radius:22px;overflow:hidden}#iris img{width:100%;height:auto;display:block}
.pt .serve .sv>div:only-child{border-top:4px solid var(--ruby)}

/* ===== v8: Sunday corrections ===== */
/* CAC RC number beside logo */
.brand>span{display:flex;flex-direction:column;gap:5px}
.brand .rc{font:700 11px/1 var(--body);letter-spacing:.16em;opacity:.82;text-transform:uppercase}
@media (max-width:520px){.brand .rc{font-size:9.5px;letter-spacing:.12em}}

/* hero slider */
.hero .sh1{font-family:var(--display);font-weight:600;font-size:clamp(44px,8.6vw,138px);line-height:.94;letter-spacing:-.025em;max-width:12em;color:#fff;margin:0}
.hero .sh1 em{color:#FF5C78}
.stage .hero-in{display:grid;padding-bottom:clamp(84px,8vw,112px)}
.slide{grid-area:1/1;opacity:0;visibility:hidden;transform:translateX(calc(var(--dx,70px)*-1));transition:opacity .8s var(--ease),transform .8s var(--ease),visibility 0s .8s;pointer-events:none}
.slide.on{opacity:1;visibility:visible;transform:none;transition:opacity .8s .15s var(--ease),transform .8s .15s var(--ease),visibility 0s}
.slide.on a{pointer-events:auto}
.slide:not(.on) .acts a{pointer-events:none}
.hero-row p{max-width:40ch}
.stage .layer{transition:opacity .6s}
.stage.swap .layer{opacity:0}
.sl-ctl{position:absolute;left:0;right:0;bottom:clamp(20px,2.4vw,30px);z-index:3;pointer-events:none}
.sl-ctl .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px}
.dots2{display:flex;gap:10px;pointer-events:auto}
.dots2 button{width:34px;height:5px;border:0;padding:0;border-radius:99px;background:rgba(255,255,255,.35);cursor:pointer;position:relative;overflow:hidden}
.dots2 button::after{content:"";position:absolute;inset:0;background:#FF5C78;transform:scaleX(0);transform-origin:left}
.dots2 button[aria-selected=true]{background:rgba(255,255,255,.5)}
.dots2 button[aria-selected=true]::after{transform:scaleX(1);animation:slfill var(--dur,6s) linear}
.stage.paused .dots2 button[aria-selected=true]::after{animation-play-state:paused}
@keyframes slfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.arrows{display:flex;gap:10px;pointer-events:auto}
.arrows button{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:rgba(8,28,92,.35);color:#fff;font-size:18px;cursor:pointer;transition:background .3s,border-color .3s}
.arrows button:hover{background:var(--ruby);border-color:var(--ruby)}
@media (max-width:700px){.arrows{display:none}.dots2 button{width:26px}}
@media (prefers-reduced-motion:reduce){.dots2 button[aria-selected=true]::after{animation:none}}

/* justified text */
main p,main blockquote,main li,main details>p{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
main .kick,main .eyebrow,main .cred,main .roles,main .crumb,main .chips,main .tri,main .flags,main .sh1,main .lead,main small,main .tl2 *,main .who2 *,main .pstats *,main .nums *,main .big-q .who2,main .steps b,main .ofg *{text-align:left}
main .un>p,main .orgnote{max-width:none}

/* team page: keep each department's photos in one tidy row */
.pp{width:calc((100% - 36px)/3);max-width:176px}
@media (max-width:700px){.pp{width:calc(50% - 9px);max-width:none}}

/* slider keeps sliding even with reduced-motion on the device */
.slide{transition:opacity .8s var(--ease),transform .8s var(--ease),visibility 0s .8s!important}
.slide.on{transition:opacity .8s .15s var(--ease),transform .8s .15s var(--ease),visibility 0s!important}
.dots2 button[aria-selected=true]::after{animation:slfill var(--dur,6.5s) linear!important}
