
@font-face{font-family:"Roobert";src:url(/assets/v2/roobert.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
/* Layout concept: a research institute's front door. Navy instrument bands for evidence, white and Mystic reading rooms for explanation, one moving data field that stands for every assessment response. */
:root{
  --navy:#26374D; --navy-2:#1F2E41; --bayoux:#536D82; --gull:#9DB2BF; --mystic:#DDE6ED; --mystic-2:#EEF3F7;
  --sirocco:#767777; --ink:#0B0B0B; --white:#FFFFFF;
  --line:rgba(38,55,77,.14); --line-dark:rgba(221,230,237,.16);
  --display:"Roobert","Archivo",Helvetica,Arial,sans-serif;
  --body:"Archivo",Helvetica,Arial,sans-serif;
  --r:8px; --r-lg:20px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --max:1240px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{background:var(--white);color:var(--navy);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
em,.it{font-style:normal;font-variation-settings:"ital" 11;color:var(--bayoux)}
.band-dark em{color:var(--gull)}
.mono{font-family:var(--display);font-variation-settings:"MONO" 100;letter-spacing:0}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (max-width:600px){.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
.eyebrow{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--bayoux);margin:0 0 22px;display:flex;align-items:center;gap:12px}
.band-dark .eyebrow{color:var(--gull)}
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.02em;margin:0;text-wrap:balance}
h2{font-size:clamp(36px,5.2vw,72px);line-height:1.02}
h3{font-size:clamp(22px,2.2vw,30px);line-height:1.15}
p{margin:0}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--bayoux);max-width:60ch}
.band-dark .lead{color:var(--mystic)}
section{position:relative}
.band-dark{background:var(--navy);color:var(--white)}
.band-mystic{background:var(--mystic)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 26px;border-radius:999px;font:600 13px/1 var(--body);letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s;will-change:transform;position:relative;overflow:hidden}
.btn .arr{display:inline-block;transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}
.btn-light{background:var(--white);color:var(--navy)}
.btn-light:hover{background:var(--mystic)}
.btn-ghost{border:1.5px solid rgba(221,230,237,.45);color:var(--white)}
.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.06)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--bayoux)}
.btn-line{border:1.5px solid var(--line);color:var(--navy)}
.btn-line:hover{border-color:var(--navy)}
:focus-visible{outline:2px solid var(--gull);outline-offset:3px;border-radius:6px}

/* Progress + header */
.progress{position:fixed;left:0;top:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--gull);z-index:60}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:55;background:var(--navy)}
.hdr{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;transition:background .4s var(--ease),box-shadow .4s,color .4s,transform .5s var(--ease);color:var(--white)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.hdr.solid{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);color:var(--navy)}
.hdr.solid.on-dark{background:rgba(38,55,77,.88);box-shadow:0 1px 0 var(--line-dark);color:var(--white)}
.hdr.hide{transform:translateY(-110%)}
.logo{display:block;height:34px;position:relative;width:104px;flex:none}
.logo img{position:absolute;inset:0;height:34px;width:104px;transition:opacity .35s}
.logo .l-ink{opacity:0}
.hdr.solid:not(.on-dark) .logo .l-ink{opacity:1}
.hdr.solid:not(.on-dark) .logo .l-white{opacity:0}
.nav{display:flex;gap:30px;align-items:center}
.nav a{text-decoration:none;font-size:14px;font-weight:500;opacity:.82;transition:opacity .2s;position:relative}
.nav a:hover{opacity:1}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after{transform:scaleX(1)}
.hdr .btn{height:42px;padding:0 20px;font-size:11.5px}
.hdr .btn-light{background:var(--white);color:var(--navy)}
.hdr.solid:not(.on-dark) .btn-light{background:var(--navy);color:var(--white)}
@media (max-width:940px){.nav{display:none}}

/* Hero */
.hero{min-height:min(900px,100svh);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding-top:112px;isolation:isolate}
.hero-shade-unused{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(38,55,77,.55) 0%,rgba(38,55,77,0) 45%,rgba(38,55,77,0) 70%,rgba(38,55,77,.9) 100%)}
.hero>.wrap{width:100%}
.hero-inner{padding-bottom:44px}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--gull);box-shadow:0 0 0 0 rgba(157,178,191,.7);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(157,178,191,.6)}70%{box-shadow:0 0 0 12px rgba(157,178,191,0)}100%{box-shadow:0 0 0 0 rgba(157,178,191,0)}}
.h-hero{font-size:clamp(46px,6.5vw,100px);line-height:.96;letter-spacing:-.035em;font-weight:500;max-width:13ch}
.h-hero .ln{display:block;overflow:hidden;padding-bottom:.06em}
.h-hero .ln>span{display:inline-block}
.hero-sub{margin-top:26px;font-family:var(--display);font-size:clamp(20px,1.9vw,26px);line-height:1.3;color:var(--white);max-width:34ch}
.hero .hero-sub+.lead{margin-top:16px;font-size:16px;color:var(--gull);max-width:58ch}
.hero-card{position:absolute;right:max(24px,calc((100vw - var(--max))/2 + 24px));bottom:150px;width:330px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:18px;padding:20px 22px;color:var(--navy);box-shadow:0 40px 80px -40px rgba(11,11,11,.6);z-index:1}
.hc-top{display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--sirocco)}
.hc-n{display:flex;align-items:baseline;gap:4px;margin:8px 0 14px}
.hc-n b{font-family:var(--display);font-weight:400;font-size:46px;letter-spacing:-.03em;line-height:1}
.hc-n span{color:var(--sirocco)}
.hc-n em{margin-left:auto;font-variation-settings:normal;font-size:12.5px;color:var(--bayoux)}
.hc-row{display:grid;grid-template-columns:86px 1fr 28px;gap:10px;align-items:center;font-size:13.5px;margin-top:8px}
.hc-row i{display:block;height:8px;border-radius:4px;background:var(--mystic);overflow:hidden}
.hc-row s{display:block;height:100%;border-radius:4px;background:var(--bayoux);transform-origin:0 50%;transform:scaleX(var(--v));animation:hcgrow 1.6s cubic-bezier(.2,.7,.1,1) 1.2s both}
.hc-row.cap s{background:var(--navy)}
.hc-row b{font-family:var(--display);font-weight:500;text-align:right}
@keyframes hcgrow{from{transform:scaleX(0)}}
.hc-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--bayoux)}
@media (max-width:1100px){.hero-card{display:none}}
.hero .lead{margin-top:26px;max-width:56ch}
.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark)}
.hs{padding:24px 24px 30px 0;border-right:1px solid var(--line-dark);min-width:0}
.hs+.hs{padding-left:24px}
.hs:last-child{border-right:0}
.hs b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.hs>span{display:block;margin-top:12px;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gull)}
@media (max-width:760px){.hero-stats{grid-template-columns:1fr 1fr}.hs:nth-child(2){border-right:0}.hs:nth-child(3){padding-left:0}.hs:nth-child(-n+2){border-bottom:1px solid var(--line-dark)}}

/* Marquee */
.marq{border-bottom:1px solid var(--line);background:var(--white);overflow:hidden}
.marq .wrap{display:flex;align-items:center;gap:28px;height:84px}
.marq-label{flex:none;font-size:11.5px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--sirocco)}
.marq-mask{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq-track{display:flex;width:max-content;animation:marq 38s linear infinite}
.marq-track span{font-family:var(--display);font-size:22px;color:var(--navy);padding:0 26px;white-space:nowrap;display:flex;align-items:center;gap:52px}
.marq-track span::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--gull)}
@keyframes marq{to{transform:translateX(-50%)}}
@media (max-width:600px){.marq-label{display:none}}

/* Statement */
.statement{padding-block:clamp(110px,14vw,200px)}
.big{font-family:var(--display);font-weight:500;font-size:clamp(38px,6vw,88px);line-height:1.04;letter-spacing:-.03em;max-width:17ch;text-wrap:balance}
.big .w{display:inline-block}
.big.dim .w{opacity:.16;transition:opacity .7s var(--ease)}
.big.dim.lit .w{opacity:1}
.rv{opacity:.2;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.rv.in{opacity:1;transform:none}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:80px;max-width:980px}
.duo>div{border-top:1px solid var(--line);padding-top:22px;min-width:0}
.duo small{display:block;font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:600;color:var(--sirocco);margin-bottom:12px}
.duo p{font-size:20px;line-height:1.5;color:var(--sirocco)}
.duo p b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(26px,2.6vw,36px);line-height:1.15;color:var(--navy);margin-bottom:6px}
.duo .hl{position:relative}
.duo .hl small{color:var(--bayoux)}
@media (max-width:700px){.duo{grid-template-columns:1fr;gap:28px;margin-top:56px}}

/* Hero photo */
.hero-photo{position:absolute;inset:0 0 0 auto;width:min(62%,1000px);z-index:-2;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 30%;transform:scale(1.06)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(38,55,77,.78) 30%,rgba(38,55,77,.25) 70%,rgba(38,55,77,.15) 100%)}
.hero-icp{margin-top:26px;font-size:14px;color:var(--gull);display:flex;align-items:center;gap:10px}
.hero-icp::before{content:"";width:22px;height:1.5px;background:var(--gull)}
@media (max-width:760px){.hero-photo{width:100%}.hero-photo::after{background:rgba(38,55,77,.78)}}

/* What people get */
.people{padding-block:clamp(100px,12vw,170px)}
.pp-head{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end;margin-bottom:48px}
@media (max-width:900px){.pp-head{grid-template-columns:1fr;gap:20px}}
.roles{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.role{position:relative;overflow:hidden;border:1.5px solid var(--line);background:var(--white);color:var(--navy);border-radius:999px;height:46px;padding:0 20px;font:600 14px/1 var(--body);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.role:hover{border-color:var(--navy)}
.role.on{background:var(--navy);color:var(--white);border-color:var(--navy)}
.role .rt{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--gull);transform:scaleX(0);transform-origin:0 50%}
.rstage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;border-radius:var(--r-lg);overflow:hidden;background:var(--mystic-2);border:1px solid var(--line);min-height:520px}
.rphotos{position:relative;min-height:420px;overflow:hidden;background:var(--navy)}
.rphotos>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .9s var(--ease),transform 6s linear}
.rphotos>img.on{opacity:1;transform:scale(1)}
.rcards{position:absolute;left:24px;bottom:24px;right:24px;max-width:340px}
.rcard{position:absolute;left:0;bottom:0;width:100%;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:18px 20px;box-shadow:0 20px 40px -20px rgba(11,11,11,.5);opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease) .25s,transform .7s var(--ease) .25s;pointer-events:none}
.rcard.on{opacity:1;transform:none}
.rcard small{display:block;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--sirocco);margin-bottom:8px}
.rc-n{display:flex;align-items:baseline;gap:4px;color:var(--navy)}
.rc-n b{font-family:var(--display);font-weight:500;font-size:34px;letter-spacing:-.02em;line-height:1.05}
.rc-n span{color:var(--sirocco);font-size:15px}
.rc-s{display:block;font-size:13.5px;color:var(--bayoux);margin-top:6px}
.rc-bar{position:relative;height:8px;border-radius:4px;background:var(--mystic);margin-top:12px}
.rc-bar i{position:absolute;inset:0;border-radius:4px;background:var(--navy);transform-origin:0 50%;transform:scaleX(var(--v))}
.rc-bar em{position:absolute;top:-4px;width:2px;height:16px;background:var(--gull)}
.rc-list{display:grid;gap:6px}
.rc-list span{font-size:14px;color:var(--navy);padding-left:18px;position:relative}
.rc-list span::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--bayoux)}
.rpanels{position:relative;padding:48px 44px;min-width:0}
.rpanel{display:none}
.rpanel.on{display:block;animation:rin .7s var(--ease)}
@keyframes rin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rq{font-family:var(--display);font-weight:500;font-size:clamp(26px,2.6vw,36px);line-height:1.15;letter-spacing:-.02em;color:var(--navy);text-wrap:balance}
.rwho{margin-top:16px;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.rlist{list-style:none;margin:30px 0 0;padding:0;display:grid}
.rlist li{padding:15px 0 15px 34px;border-top:1px solid var(--line);position:relative;font-size:16.5px;color:var(--navy)}
.rlist li::before{content:"";position:absolute;left:7px;top:24px;width:6px;height:6px;border-radius:50%;background:var(--navy)}
.rlist li::after{content:"";position:absolute;left:2px;top:19px;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--gull);box-sizing:border-box}
.rpanel.on .rlist li{animation:rin .6s var(--ease) both}
.rpanel.on .rlist li:nth-child(2){animation-delay:.08s}.rpanel.on .rlist li:nth-child(3){animation-delay:.16s}.rpanel.on .rlist li:nth-child(4){animation-delay:.24s}
@media (max-width:900px){.rstage{grid-template-columns:1fr}.rphotos{min-height:0;aspect-ratio:4/3;max-width:100%}.rpanels{padding:30px 22px}.rcards{left:14px;right:14px;bottom:14px}}

/* Practice strip + fit */
.practice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:80px}
.practice>div{border-radius:var(--r-lg);background:var(--mystic-2);border:1px solid var(--line);padding:30px 28px;min-width:0}
.practice small{display:block;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin-bottom:14px}
.practice b{display:block;font-family:var(--display);font-weight:500;font-size:22px;line-height:1.2;margin-bottom:10px}
.practice p{color:var(--sirocco);font-size:15.5px}
@media (max-width:900px){.practice{grid-template-columns:1fr;margin-top:56px}}
.fit{padding-block:clamp(100px,12vw,160px);background:var(--mystic)}
.fit-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.fit-photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;max-width:100%;position:relative}
.fit-photo img{width:100%;height:120%;object-fit:cover;position:absolute;top:-10%}
.fit .lead{margin-top:22px}
.fit-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}
.fit-cards>div{background:var(--white);border-radius:var(--r-lg);padding:24px;min-width:0}
.fit-cards b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(32px,3.4vw,46px);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.fit-cards>div>span{display:block;font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin:10px 0 12px}
.fit-cards p{font-size:15px;color:var(--sirocco)}
.fit-list{list-style:none;margin:28px 0 0;padding:0;display:grid}
.fit-list li{padding:14px 0 14px 30px;border-top:1px solid var(--line);position:relative;font-size:16px}
.fit-list li::before{content:"";position:absolute;left:0;top:21px;width:14px;height:1.5px;background:var(--navy)}
@media (max-width:900px){.fit-grid{grid-template-columns:1fr;gap:40px}.fit-photo{aspect-ratio:16/11}.fit-cards{grid-template-columns:1fr}}

/* Programs */
.pc-vis img.dim{opacity:.32}
.programs{padding-top:clamp(100px,12vw,160px);padding-bottom:clamp(80px,10vw,140px);overflow:hidden}
.prog-head{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:end;margin-bottom:64px}
.prog-head .lead{color:var(--bayoux)}
@media (max-width:900px){.prog-head{grid-template-columns:1fr;gap:24px;margin-bottom:44px}}
.prog-pin{position:relative}
.prog-track{display:flex;gap:28px;padding-left:max(24px,calc((100vw - var(--max))/2 + 24px));padding-right:max(24px,calc((100vw - var(--max))/2 + 24px));scroll-padding-left:max(24px,calc((100vw - var(--max))/2 + 24px));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:40px;margin-bottom:-40px;cursor:grab}
.prog-track::-webkit-scrollbar{display:none}
.prog-track.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.prog-track.drag img{pointer-events:none}
.prog-card{flex:none;scroll-snap-align:start}
.prog-nav{display:flex;align-items:center;gap:20px;margin-top:44px}
.prog-nav .prog-bar{flex:1;margin-top:0}
.pnb{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(38,55,77,.25);background:var(--white);color:var(--navy);font-size:18px;cursor:pointer;display:grid;place-items:center;transition:background .3s,color .3s,border-color .3s,opacity .3s}
.pnb:hover:not(:disabled){background:var(--navy);color:var(--white);border-color:var(--navy)}
.pnb:disabled{opacity:.35;cursor:default}
.prog-card{width:min(860px,78vw);background:var(--white);border-radius:var(--r-lg);display:grid;grid-template-columns:1fr 1fr;min-height:520px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(38,55,77,.45)}
.pc-vis{position:relative;background:var(--navy);overflow:hidden;min-height:280px}
.pc-vis img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transform:scale(1.08)}
.pc-vis svg{position:absolute;inset:0;width:100%;height:100%}
.pc-body{padding:44px 40px;display:flex;flex-direction:column;gap:22px;min-width:0}
.pc-kick{font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--bayoux);display:flex;justify-content:space-between;gap:12px}
.pc-kick .mono{color:var(--gull);letter-spacing:1px}
.pc-body h3{font-size:clamp(26px,2.5vw,36px);line-height:1.1}
.pc-body>p{color:var(--sirocco);font-size:16px}
.pc-gave{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}
.pc-gave small{display:block;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--sirocco);margin-bottom:8px}
.pc-gave p{font-size:17px;color:var(--navy);font-weight:500}
.prog-bar{margin-top:44px;height:2px;background:rgba(38,55,77,.12);border-radius:2px;overflow:hidden}
.prog-bar i{display:block;height:100%;width:100%;background:var(--navy);transform-origin:0 50%;transform:scaleX(.25)}
.chips{position:absolute;left:22px;right:22px;bottom:22px;display:flex;flex-wrap:wrap;gap:8px}
.chip{background:rgba(255,255,255,.92);color:var(--navy);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}
.vis-label{position:absolute;left:22px;top:20px;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gull);font-weight:600}
@media (max-width:999px){
  .prog-nav{display:none}
  .prog-track{flex-direction:column;width:auto;overflow:visible;cursor:auto;margin-bottom:0;padding:0;max-width:var(--max);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .prog-card{width:100%;grid-template-columns:1fr;min-height:0}
  .pc-vis{aspect-ratio:16/10;max-width:100%}
  .pc-body{padding:30px 24px}
  .prog-bar{display:none}
}

/* Measure */
.measure{padding-block:clamp(100px,12vw,170px);overflow-x:clip}
.m-head{max-width:820px;margin-bottom:64px}
.m-head .lead{margin-top:24px}
.halves{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.half{border-radius:var(--r-lg);padding:40px;min-width:0;position:relative;overflow:hidden}
.half.cap{background:var(--navy);color:var(--white)}
.half.eng{background:var(--mystic-2);border:1px solid var(--line)}
.half .tag{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:3px;text-transform:uppercase;padding:8px 14px;border-radius:999px}
.half.cap .tag{background:var(--mystic);color:var(--navy)}
.half.eng .tag{background:var(--white);color:var(--navy);border:1.5px solid var(--gull)}
.half h3{margin:26px 0 30px;font-size:clamp(28px,3vw,42px)}
.dl{display:grid;gap:0}
.dl>div{display:grid;grid-template-columns:200px 1fr;gap:18px;padding:16px 0;border-top:1px solid var(--line);align-items:baseline}
.half.cap .dl>div{border-color:var(--line-dark)}
.dl b{font-family:var(--display);font-weight:500;font-size:19px}
.dl span{font-size:15.5px;color:var(--sirocco)}
.half.cap .dl span{color:var(--mystic)}
@media (max-width:900px){.halves{grid-template-columns:1fr}.half{padding:30px 24px}.dl>div{grid-template-columns:1fr;gap:4px}}

.matrix{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;margin-top:120px}
.matrix .lead{margin-top:22px}
.mx-legend{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mx-legend div{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;transition:background .3s,border-color .3s,color .3s}
.mx-legend span{transition:color .3s}
.mx-legend div.on{background:var(--navy);border-color:var(--navy);color:var(--white)}
.mx-legend div.on span{color:var(--mystic)}
.mx-legend b{display:block;font-family:var(--display);font-weight:500;font-size:18px}
.mx-legend span{font-size:14px;color:var(--sirocco)}
.mx-wrap{position:relative;margin-top:26px;aspect-ratio:1/1;max-width:100%;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:4%}
.mx-wrap svg{width:100%;height:100%;overflow:visible}
.mx-note{position:absolute;right:4px;top:-26px;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--sirocco)}
@media (max-width:900px){.matrix{grid-template-columns:1fr;gap:40px;margin-top:90px}}

/* Findings */
.findings{padding-block:clamp(100px,12vw,170px);overflow:hidden}
.f-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:56px;flex-wrap:wrap}
.f-head .lead{max-width:44ch}
.frow{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;padding:42px 0;border-top:1px solid var(--line-dark)}
.frow:last-of-type{border-bottom:1px solid var(--line-dark)}
.fnum{font-family:var(--display);font-weight:400;font-size:clamp(64px,9vw,136px);line-height:.9;letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:var(--white)}
.fnum sup{font-size:.4em;vertical-align:.95em;letter-spacing:0;color:var(--gull);margin-left:4px}
.ftxt b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(22px,2.2vw,30px);margin-bottom:10px}
.ftxt p{color:var(--mystic);font-size:16.5px;max-width:42ch}
.fbars{display:grid;gap:12px}
.fbar{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gull)}
.fbar i{display:block;height:14px;border-radius:7px;background:rgba(157,178,191,.35);transform-origin:0 50%}
.fbar.hi i{background:var(--mystic)}
.fbar .tr{position:relative;height:14px}
.fclose{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:80px;flex-wrap:wrap}
.fclose p{font-family:var(--display);font-size:clamp(30px,4vw,56px);line-height:1.05;letter-spacing:-.025em;max-width:16ch}
.cite{font-size:13px;color:var(--gull)}
@media (max-width:900px){.frow{grid-template-columns:1fr;gap:18px;padding:34px 0}}

/* Platform */
.platform{padding-block:clamp(100px,12vw,170px)}
.pl-head{max-width:880px;margin-bottom:64px}
.pl-head .lead{margin-top:22px}
.pl-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px;align-items:start}
.steps{display:grid;gap:0;counter-reset:s}
.step{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line);cursor:pointer;text-align:left;background:none;border-left:0;border-right:0;border-bottom:0;font:inherit;color:inherit;position:relative}
.step:last-child{border-bottom:1px solid var(--line)}
.step .n{font-family:var(--display);font-variation-settings:"MONO" 100;font-size:14px;color:var(--gull);padding-top:6px;transition:color .3s}
.step b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(22px,2vw,28px);color:var(--gull);transition:color .35s}
.step .prod{display:block;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--sirocco);margin-top:6px}
.step p{max-height:0;overflow:hidden;opacity:0;color:var(--sirocco);transition:max-height .5s var(--ease),opacity .4s,margin .4s;font-size:16px}
.step.on b{color:var(--navy)}
.step.on .n{color:var(--navy)}
.step.on p{max-height:120px;opacity:1;margin-top:10px}
.step .tm{position:absolute;left:0;top:-1px;height:2px;background:var(--navy);width:100%;transform:scaleX(0);transform-origin:0 50%}
.device{position:sticky;top:110px;background:var(--navy);border-radius:24px;padding:14px;box-shadow:0 50px 90px -50px rgba(38,55,77,.7)}
.dev-top{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 14px;color:var(--gull);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600}
.dev-top img{height:22px;width:67px}
.screen{background:var(--white);border-radius:14px;min-height:430px;position:relative;overflow:hidden}
.pane{position:absolute;inset:0;padding:30px;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .6s var(--ease);pointer-events:none;display:flex;flex-direction:column;gap:18px}
.pane.on{opacity:1;transform:none;pointer-events:auto}
.pane .lbl{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--sirocco)}
.pane h4{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.2;margin:0;color:var(--navy);text-wrap:balance}
.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.scale span{height:52px;border-radius:10px;border:1.5px solid var(--line);display:grid;place-items:center;font-family:var(--display);font-variation-settings:"MONO" 100;font-size:14px;color:var(--bayoux);transition:all .35s var(--ease)}
.scale span.sel{background:var(--navy);border-color:var(--navy);color:var(--white);transform:translateY(-3px)}
.scale-ends{display:flex;justify-content:space-between;font-size:13px;color:var(--sirocco)}
.pmeta{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.pmeta span{font-size:12.5px;background:var(--mystic-2);border-radius:999px;padding:7px 12px;color:var(--bayoux);font-weight:500}
.gauge{display:flex;align-items:center;gap:28px}
.gauge svg{width:150px;height:150px;flex:none}
.gauge .big-n{font-family:var(--display);font-size:52px;font-weight:400;letter-spacing:-.03em}
.kv{display:grid;gap:12px}
.kv div{display:grid;grid-template-columns:110px 1fr 46px;gap:12px;align-items:center;font-size:14px}
.kv i{display:block;height:8px;border-radius:4px;background:var(--mystic);overflow:hidden;position:relative}
.kv i::after{content:"";position:absolute;inset:0;background:var(--navy);transform-origin:0 50%;transform:scaleX(var(--v,0));transition:transform 1s var(--ease)}
.kv i.eng::after{background:var(--bayoux)}
.kv i.warn::after{background:var(--gull)}
.kv em{font-variation-settings:normal;color:var(--sirocco);font-size:12.5px;text-align:right}
.kv b{font-family:var(--display);font-weight:500}
.plan{display:grid;gap:10px}
.plan div{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:15.5px;opacity:.25;transform:translateX(10px);transition:all .5s var(--ease)}
.pane.on .plan div{opacity:1;transform:none}
.pane.on .plan div:nth-child(2){transition-delay:.18s}
.pane.on .plan div:nth-child(3){transition-delay:.36s}
.plan .ck{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--gull);flex:none;display:grid;place-items:center}
.plan .ck svg{width:12px;height:12px}
.lesson{border-radius:16px;background:var(--navy);color:var(--white);padding:24px;display:grid;gap:10px}
.lesson small{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gull);font-weight:600}
.lesson b{font-family:var(--display);font-weight:500;font-size:26px}
.lesson span{color:var(--mystic);font-size:15px}
.lesson .pbar{height:4px;border-radius:2px;background:rgba(221,230,237,.2);overflow:hidden;margin-top:8px}
.lesson .pbar i{display:block;height:100%;background:var(--mystic);width:0;transition:width 2.4s var(--ease)}
.pane.on .lesson .pbar i{width:64%}
@media (max-width:900px){.pl-grid{grid-template-columns:1fr;gap:40px}.device{position:relative;top:0}.screen{min-height:460px}.pane{padding:22px}.gauge{flex-direction:column;align-items:flex-start;gap:12px}.kv div{grid-template-columns:90px 1fr 40px}}

/* Loop */
.loop{padding-block:clamp(90px,11vw,150px)}
.loop .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:center}
.orbit{aspect-ratio:1/1;max-width:520px;width:100%;position:relative}
.orbit svg{width:100%;height:100%}
.loop .lead{margin-top:24px}
.loop .punch{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--display);font-size:clamp(22px,2.2vw,28px);line-height:1.25;max-width:30ch}
@media (max-width:900px){.loop .wrap{grid-template-columns:1fr;gap:40px}.orbit{max-width:420px;margin:0 auto}}

/* Trust */
.trust{padding-block:clamp(100px,12vw,160px)}
.tr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.tr-photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;max-width:100%;position:relative}
.tr-photo img{width:100%;height:120%;object-fit:cover;position:absolute;top:-10%}
.tr-list{margin-top:44px;display:grid}
.tr-list div{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--line);align-items:start}
.tr-list svg{width:28px;height:28px;stroke:var(--navy);fill:none;stroke-width:1.5}
.tr-list b{display:block;font-family:var(--display);font-weight:500;font-size:20px;margin-bottom:4px}
.tr-list span{color:var(--sirocco);font-size:15.5px}
@media (max-width:900px){.tr-grid{grid-template-columns:1fr;gap:44px}.tr-photo{aspect-ratio:16/11}}

/* CTA */
.cta{padding-block:clamp(110px,13vw,190px);overflow:hidden;isolation:isolate}
.cta-bg{position:absolute;inset:0;z-index:-1}
.cta-bg img{width:100%;height:100%;object-fit:cover;opacity:.28;filter:grayscale(.35)}
.cta-bg::after{content:"";position:absolute;inset:0;background:rgba(38,55,77,.72)}
.cta h2{font-size:clamp(40px,6.4vw,96px);max-width:15ch;line-height:1}
.cta .lead{margin-top:28px}

/* Footer */
.ftr{background:var(--navy-2);color:var(--mystic);padding-block:72px 40px}
.ftr-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.ftr-top img{height:36px;width:110px}
.ftr-top p{margin-top:20px;color:var(--gull);font-size:15px;max-width:38ch}
.ftr h5{margin:0 0 16px;font-size:11.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gull);font-weight:600}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ftr ul a{text-decoration:none;font-size:15px;opacity:.85}
.ftr ul a:hover{opacity:1}
.ftr-bot{margin-top:64px;padding-top:24px;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--gull)}
@media (max-width:820px){.ftr-top{grid-template-columns:1fr 1fr}.ftr-top>div:first-child{grid-column:1/-1}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  html{scroll-behavior:auto}
}

/* ===== Multi-page additions ===== */
.hdr-r{display:flex;align-items:center;gap:12px}
.nav a.on{opacity:1}
.nav a.on::after{transform:scaleX(1)}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:1.5px solid currentColor;background:transparent;color:inherit;cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:13px;right:13px;height:1.5px;background:currentColor;transition:transform .35s var(--ease)}
.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:25px}
.menu-open .menu-btn span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-open .menu-btn span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:45;background:var(--navy);color:var(--white);padding:calc(110px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 40px max(24px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:6px;overflow-y:auto}
.mnav a{font-family:var(--display);font-size:32px;text-decoration:none;padding:8px 0;border-bottom:1px solid var(--line-dark)}
.mnav .btn{margin-top:24px;font-size:13px;border:0;justify-content:center}
@media (max-width:940px){.menu-btn{display:block}}
@media (max-width:520px){.hdr-r .btn{display:none}}

/* page hero */
.page-hero{min-height:min(720px,92svh)}
.page-hero .h-hero{font-size:clamp(42px,6vw,92px);max-width:14ch}
.page-hero .hero-inner{padding-bottom:80px}
.crumb{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:600;color:var(--gull);margin-bottom:22px;display:flex;gap:10px;align-items:center}
.crumb a{text-decoration:none;opacity:.8}

/* generic sections */
.sec{padding-block:clamp(90px,11vw,150px)}
.sec.tight{padding-block:clamp(70px,8vw,110px)}
.sec-head{max-width:860px;margin-bottom:56px}
.sec-head .lead{margin-top:22px}
.sec-head.row{max-width:none;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end}
@media (max-width:900px){.sec-head.row{grid-template-columns:1fr;gap:20px}}
.h2s{font-size:clamp(32px,4.4vw,60px)}
.cards{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.cards.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{border-radius:var(--r-lg);background:var(--mystic-2);border:1px solid var(--line);padding:32px 30px;min-width:0;display:flex;flex-direction:column;gap:12px;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -40px rgba(38,55,77,.45);border-color:rgba(38,55,77,.25)}
.band-mystic .card{background:var(--white)}
.band-dark .card{background:rgba(255,255,255,.05);border-color:var(--line-dark)}
.band-dark .card p{color:var(--mystic)}
.card small{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.band-dark .card small{color:var(--gull)}
.card h3{font-size:clamp(21px,1.8vw,26px)}
.card p{color:var(--sirocco);font-size:15.5px}
.card .more{margin-top:auto;padding-top:10px;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;text-decoration:none;color:var(--navy)}
.band-dark .card .more{color:var(--white)}
.card .ico{width:44px;height:44px;border-radius:12px;background:var(--navy);display:grid;place-items:center}
.card .ico svg{width:22px;height:22px;stroke:var(--white);fill:none;stroke-width:1.6}
.band-dark .card .ico{background:var(--mystic)}
.band-dark .card .ico svg{stroke:var(--navy)}
@media (max-width:1000px){.cards.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.cards,.cards.c2,.cards.c4{grid-template-columns:1fr}}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.split.rev>:first-child{order:2}
.split-photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/4;position:relative;max-width:100%}
.split-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .lead{margin-top:20px}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:36px}.split.rev>:first-child{order:0}}
.ticks{list-style:none;margin:28px 0 0;padding:0;display:grid}
.ticks li{padding:15px 0 15px 34px;border-top:1px solid var(--line);position:relative;font-size:16.5px}
.ticks li b{display:block;font-family:var(--display);font-weight:500;font-size:19px;margin-bottom:2px}
.ticks li span{color:var(--sirocco);font-size:15.5px}
.ticks li::before{content:"";position:absolute;left:4px;top:21px;width:14px;height:14px;border-radius:50%;border:1.5px solid var(--gull)}
.ticks li::after{content:"";position:absolute;left:8.5px;top:25.5px;width:5px;height:5px;border-radius:50%;background:var(--navy)}
.band-dark .ticks li{border-color:var(--line-dark)}
.band-dark .ticks li span{color:var(--mystic)}
.band-dark .ticks li::after{background:var(--white)}

/* product tiles */
.prods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.prod{border-radius:var(--r-lg);padding:28px 24px;background:rgba(255,255,255,.06);border:1px solid var(--line-dark);min-width:0;text-decoration:none;display:flex;flex-direction:column;gap:10px;transition:background .3s}
.prod:hover{background:rgba(255,255,255,.1)}
.prod .n{font-family:var(--display);font-variation-settings:"MONO" 100;font-size:13px;color:var(--gull)}
.prod b{font-family:var(--display);font-weight:500;font-size:22px}
.prod span{color:var(--mystic);font-size:15px}
@media (max-width:900px){.prods{grid-template-columns:1fr}}
@media (max-width:520px){.prods{grid-template-columns:1fr}}

/* cause chain */
.chain{display:grid;gap:10px;max-width:420px}
.chain div{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px 18px;background:var(--white);font-size:15.5px}
.chain div em{font-variation-settings:normal;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--sirocco)}
.chain div.root{background:var(--navy);color:var(--white);border-color:var(--navy)}
.chain div.root em{color:var(--gull)}
.chain .arrow{border:0;background:none;padding:0;justify-content:center;color:var(--gull);font-size:14px}

/* course tiles */
.courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.course{border-radius:16px;background:var(--navy);color:var(--white);padding:22px;min-height:170px;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden}
.course small{font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gull);font-weight:600}
.course b{font-family:var(--display);font-weight:500;font-size:20px;line-height:1.2}
.course span{margin-top:auto;font-size:13px;color:var(--mystic)}
.course::after{content:"▶";position:absolute;right:18px;bottom:16px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:11px;padding-left:2px;transition:background .3s}
.course:hover::after{background:rgba(255,255,255,.25)}
@media (max-width:900px){.courses{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.courses{grid-template-columns:1fr}}
.tagcloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.tagcloud span{border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:13.5px;color:var(--bayoux);background:var(--white)}

/* heatmap report */
.report{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;overflow-x:auto;max-width:100%}
.report table{border-collapse:separate;border-spacing:6px;width:100%;min-width:520px;font-size:14px}
.report th{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--sirocco);text-align:left;padding:6px 8px}
.report td{padding:14px 10px;border-radius:10px;text-align:center;font-family:var(--display);font-variant-numeric:tabular-nums;font-size:17px}
.report td:first-child{text-align:left;font-family:var(--body);font-size:15px;background:none;font-weight:600}
.report .l1{background:#DDE6ED;color:var(--navy)}.report .l2{background:#9DB2BF;color:var(--navy)}.report .l3{background:#536D82;color:#fff}.report .l4{background:#26374D;color:#fff}
.report .cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--sirocco)}

/* timeline */
.tl{display:grid;gap:0}
.tl-item{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);gap:40px;padding:40px 0;border-top:1px solid var(--line);align-items:start}
.tl-item .tn{font-family:var(--display);font-size:56px;line-height:1;color:var(--gull);font-weight:400;letter-spacing:-.03em}
.tl-item h3{font-size:clamp(24px,2.4vw,32px)}
.tl-item p{color:var(--sirocco);margin-top:12px}
.tl-item .gave small{display:block;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin-bottom:8px}
.tl-item .gave p{color:var(--navy);font-weight:500;font-size:18px;margin:0}
@media (max-width:900px){.tl-item{grid-template-columns:1fr;gap:12px}.tl-item .tn{font-size:40px}}

/* theme grid */
.themes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.theme{border-radius:var(--r-lg);padding:26px 24px;border:1px solid var(--line-dark);background:rgba(255,255,255,.04);min-width:0;display:flex;flex-direction:column;gap:10px}
.theme small{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--gull)}
.theme b{font-family:var(--display);font-weight:400;font-size:44px;letter-spacing:-.03em;line-height:1}
.theme em{font-variation-settings:normal;color:var(--mystic);font-size:14px}
.theme p{color:var(--white);font-family:var(--display);font-size:18px;line-height:1.3;margin-top:auto;padding-top:14px;border-top:1px solid var(--line-dark)}
@media (max-width:1000px){.themes{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.themes{grid-template-columns:1fr}}

/* sectors */
.sectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.sectors div{padding:22px 18px 22px 0;border-bottom:1px solid var(--line);min-width:0}
.sectors small{display:block;font-family:var(--display);font-variation-settings:"MONO" 100;font-size:12px;color:var(--gull);margin-bottom:6px}
.sectors b{font-family:var(--display);font-weight:500;font-size:18px}
@media (max-width:900px){.sectors{grid-template-columns:1fr 1fr}}

/* library */
.lib-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.lib-filters button{border:1.5px solid var(--line);background:var(--white);color:var(--navy);border-radius:999px;height:40px;padding:0 16px;font:600 13px/1 var(--body);cursor:pointer}
.lib-filters button.on{background:var(--navy);color:var(--white);border-color:var(--navy)}
.lib{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lib div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0;transition:opacity .3s,transform .3s}
.lib div small{display:block;font-family:var(--display);font-variation-settings:"MONO" 100;font-size:12px;color:var(--gull)}
.lib div b{display:block;font-family:var(--display);font-weight:500;font-size:16.5px;margin:6px 0 4px}
.lib div span{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sirocco);font-weight:600}
@media (max-width:900px){.lib{grid-template-columns:1fr 1fr}}

/* faq */
.faq{border-top:1px solid var(--line);max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:24px 50px 24px 0;font-family:var(--display);font-weight:500;font-size:clamp(19px,1.8vw,24px);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:20px;font-size:28px;font-weight:300;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;color:var(--sirocco);max-width:70ch}

/* team */
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.person{min-width:0}
.person .ph{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1/1;background:var(--mystic);max-width:100%}
.person .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.person:hover .ph img{transform:scale(1.04)}
.person b{display:block;font-family:var(--display);font-weight:500;font-size:22px;margin-top:16px}
.person span{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
@media (max-width:820px){.team{grid-template-columns:1fr 1fr}}

/* contact */
.mail{display:grid;gap:0;border-top:1px solid var(--line)}
.mail div{display:grid;grid-template-columns:140px 1fr auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.mail small{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.mail code{font-family:var(--display);font-size:19px;user-select:all;overflow-wrap:anywhere}
.mail button{border:1.5px solid var(--line);background:var(--white);border-radius:999px;height:36px;padding:0 14px;font:600 12px/1 var(--body);letter-spacing:1px;cursor:pointer;color:var(--navy)}
@media (max-width:600px){.mail div{grid-template-columns:1fr auto}.mail small{grid-column:1/-1}}
.offices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.offices div{border-radius:var(--r-lg);background:var(--mystic-2);border:1px solid var(--line);padding:26px}
.offices small{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.offices b{display:block;font-family:var(--display);font-weight:500;font-size:24px;margin:8px 0}
.offices p{color:var(--sirocco);font-size:15px}
@media (max-width:600px){.offices{grid-template-columns:1fr}}

/* posture */
.posture{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.posture div{border-radius:16px;padding:20px;border:1px solid var(--line-dark);background:rgba(255,255,255,.05);min-width:0}
.posture b{display:block;font-family:var(--display);font-weight:500;font-size:19px}
.posture span{display:inline-block;margin-top:10px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;padding:6px 10px;border-radius:999px;background:var(--mystic);color:var(--navy)}
.posture span.prog{background:transparent;border:1px solid var(--gull);color:var(--gull)}
@media (max-width:1000px){.posture{grid-template-columns:1fr 1fr}}
.quoteband{font-family:var(--display);font-size:clamp(28px,3.6vw,52px);line-height:1.12;letter-spacing:-.025em;max-width:22ch;text-wrap:balance}
.mnav .btn{min-height:58px;padding:18px 28px;font-size:14px;border-bottom:0;flex:none;align-items:center;box-shadow:0 18px 40px -22px rgba(0,0,0,.6)}
.person span{display:block;margin-top:6px;line-height:1.45}
@media (max-width:520px){.team{gap:28px 14px}.person b{font-size:18px;margin-top:12px;line-height:1.2}.person span{font-size:10.5px;letter-spacing:1.6px}}
@media (max-width:820px){.team{grid-template-columns:repeat(4,minmax(0,1fr))}.team .person{grid-column:span 2}.team .person:last-child:nth-child(odd){grid-column:2/span 2}}

/* ===== Research-first components ===== */
.rs{padding-block:clamp(100px,12vw,170px)}
.rs-head{max-width:900px;margin-bottom:56px}
.rs-head h2{font-size:clamp(44px,6.4vw,96px);line-height:.98;letter-spacing:-.035em}
.rs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rs-tile{margin:0;background:var(--navy);color:var(--white);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.rs-tile:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(38,55,77,.7)}
.rs-vis{aspect-ratio:1/1.05;position:relative;max-width:100%}
.rs-vis svg{position:absolute;inset:0;width:100%;height:100%}
.rs-tile figcaption{padding:4px 24px 26px;display:flex;flex-direction:column;gap:6px}
.rs-n{font-family:var(--display);font-weight:400;font-size:clamp(52px,5.4vw,80px);line-height:.9;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.rs-n i{font-style:normal;font-size:.42em;letter-spacing:0;color:var(--gull);margin-left:4px}
.rs-tile b{font-family:var(--display);font-weight:500;font-size:20px;margin-top:8px}
.rs-tile small{font-size:14px;color:var(--gull)}
.fig-cap{margin-top:22px;font-family:var(--display);font-variation-settings:"MONO" 100;font-size:12.5px;letter-spacing:.02em;color:var(--sirocco)}
.rings circle{fill:none;stroke:rgba(221,230,237,.25);stroke-width:1.2;transform-origin:150px 150px}
.rings circle:nth-child(1){stroke:var(--mystic);stroke-width:2}
.rs-tile.in .rings circle{animation:ringin 1.4s var(--ease) both}
.rs-tile.in .rings circle:nth-child(2){animation-delay:.12s}.rs-tile.in .rings circle:nth-child(3){animation-delay:.24s}.rs-tile.in .rings circle:nth-child(4){animation-delay:.36s}.rs-tile.in .rings circle:nth-child(5){animation-delay:.48s}
@keyframes ringin{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.rings .ring-labels text{font-weight:600}
@media (max-width:1000px){.rs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.rs-grid{grid-template-columns:1fr}.rs-vis{aspect-ratio:16/11}}

/* research → platform */
.r2p{padding-block:clamp(100px,12vw,160px);overflow:hidden}
.r2p-head{max-width:900px;margin-bottom:56px}
.r2p-head h2{font-size:clamp(40px,5.6vw,84px);line-height:1;letter-spacing:-.035em}
.r2p-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,.7fr) minmax(0,1fr);align-items:center;gap:0}
.r2p-col{display:grid;gap:12px}
.r2p-k{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:600;color:var(--gull);margin-bottom:6px}
.r2p-in{border:1px solid var(--line-dark);border-radius:14px;padding:18px 20px;background:rgba(255,255,255,.04)}
.r2p-in b{font-family:var(--display);font-weight:500;font-size:clamp(18px,1.6vw,22px)}
.r2p-mid{height:100%;min-height:260px;position:relative}
.r2p-mid svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.r2p-line{fill:none;stroke:var(--gull);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:400;stroke-dashoffset:0}
.r2p-flow.rv .r2p-line{stroke-dashoffset:400;transition:stroke-dashoffset 1.6s var(--ease) .3s}
.r2p-flow.rv.in .r2p-line{stroke-dashoffset:0}
.r2p-p{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:14px;padding:18px 20px;background:var(--white);color:var(--navy);text-decoration:none;transition:transform .4s var(--ease),background .3s}
.r2p-p:hover{transform:translateX(6px);background:var(--mystic)}
.r2p-p small{order:2;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.r2p-p b{font-family:var(--display);font-weight:500;font-size:clamp(18px,1.6vw,22px)}
@media (max-width:820px){.r2p-flow{grid-template-columns:1fr}.r2p-mid{min-height:70px}.r2p-mid svg{display:none}.r2p-mid::after{content:"↓";position:absolute;inset:0;display:grid;place-items:center;font-size:28px;color:var(--gull)}}

/* outcomes */
.oc2{padding-block:clamp(100px,12vw,160px)}
.oc2-head{max-width:900px;margin-bottom:52px}
.oc2-head h2{font-size:clamp(40px,5.6vw,84px);line-height:1;letter-spacing:-.035em}
.oc2-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.oc2-c{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--mystic-2);padding:28px 24px 26px;display:flex;flex-direction:column;gap:12px;min-width:0;transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .4s}
.oc2-c:hover{transform:translateY(-5px);background:var(--white);box-shadow:0 30px 60px -40px rgba(38,55,77,.5)}
.oc2-c h3{font-size:clamp(22px,2vw,28px);line-height:1.12}
.oc2-n{font-family:var(--display);font-weight:400;font-size:clamp(48px,4.6vw,68px);letter-spacing:-.04em;line-height:1;color:var(--bayoux);margin-top:auto;padding-top:22px;font-variant-numeric:tabular-nums}
.oc2-c p{font-size:14.5px;color:var(--sirocco)}
.oc2-c .ico{width:42px;height:42px;border-radius:12px;background:var(--navy);display:grid;place-items:center}
.oc2-c .ico svg{width:21px;height:21px;stroke:var(--white);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.oc2 .fig-cap{margin-top:20px}
@media (max-width:1000px){.oc2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.oc2-grid{grid-template-columns:1fr}}

.dims{display:grid;gap:0;margin-top:30px;border-top:1px solid var(--line)}
.dims>div{padding:18px 0;border-bottom:1px solid var(--line)}
.dims small{display:block;font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin-bottom:6px}
.dims p{font-family:var(--display);font-size:clamp(20px,1.8vw,24px);color:var(--navy)}
.mx-legend div{padding:12px 16px}
.trustline{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.trustline span{border:1px solid rgba(221,230,237,.35);border-radius:999px;padding:8px 14px;font-size:13px;color:var(--mystic)}
.h-hero.wide{max-width:none;font-size:clamp(40px,5.8vw,90px)}
.h-hero.wide .ln>span{white-space:normal}

/* booking (live flow, scoped tokens) */
.bk-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.bk-side{position:sticky;top:110px}
.bk-steps{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}
.bk-steps li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:19px}
.bk-steps span{font-variation-settings:"MONO" 100;font-size:13px;color:var(--gull);padding-top:4px}
.bk{--ink:#26374D;--ink-2:#1B2836;--chalk:#DDE6ED;--clay:#536D82;--line:rgba(38,55,77,.14);--line-strong:rgba(38,55,77,.30);--muted:#767777;--paper:#FFFFFF;--sage-deep:#536D82;--mono:"Archivo",Helvetica,Arial,sans-serif;--sans:"Archivo",Helvetica,Arial,sans-serif;--serif:"Roobert","Archivo",Helvetica,Arial,sans-serif;min-width:0;color:var(--ink)}
.bk .form-block{border-radius:var(--r-lg);box-shadow:0 40px 80px -50px rgba(38,55,77,.45)}
.bk .btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.bk .btn-primary:hover{background:var(--bayoux)}
.bk h2{font-size:40px}
.bk em{font-variation-settings:"ital" 11}
@media (max-width:900px){.bk-grid{grid-template-columns:1fr;gap:32px}.bk-side{position:static}}

/* four layers */
.rs-sub{margin-top:18px;font-size:clamp(17px,1.4vw,20px);color:var(--sirocco)}
.rs-layers{list-style:none;margin:0;padding:0;position:relative;counter-reset:none}
.rs-layers>li{position:relative;padding-top:64px;min-width:0;display:flex}
.rs-layers::before{content:"";position:absolute;left:0;right:0;top:63px;height:1px;background:var(--line)}
.rs-layers::after{content:"";position:absolute;left:0;right:0;top:62px;height:3px;background:var(--navy);transform-origin:left;transform:scaleX(1)}
.rs-layers.rv::after{transform:scaleX(0);transition:transform 1.6s var(--ease) .2s}
.rs-layers.rv.in::after{transform:scaleX(1)}
.rs-step{position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--navy);background:var(--white);color:var(--navy);display:grid;place-items:center;font-family:var(--display);font-weight:500;font-size:16px;font-variation-settings:"MONO" 100;transition:background .5s var(--ease),color .5s var(--ease)}
.rs-layers.in>li .rs-step{background:var(--navy);color:var(--white)}
.rs-layers.in>li:nth-child(2) .rs-step{transition-delay:.4s}.rs-layers.in>li:nth-child(3) .rs-step{transition-delay:.8s}.rs-layers.in>li:nth-child(4) .rs-step{transition-delay:1.2s}
.rs-layers .rs-tile{width:100%;border-top-left-radius:0;border-top-right-radius:0}
.rs-layers.rv .rs-tile{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rs-layers.rv.in .rs-tile{opacity:1;transform:none}
.rs-layers.rv.in>li:nth-child(2) .rs-tile{transition-delay:.15s}.rs-layers.rv.in>li:nth-child(3) .rs-tile{transition-delay:.3s}.rs-layers.rv.in>li:nth-child(4) .rs-tile{transition-delay:.45s}
.rs-layers .rs-tile:hover{transform:translateY(-6px)}
.rs-layers .rs-tile figcaption{flex:1;padding-bottom:24px}
.rs-fig{display:flex;align-items:flex-end;height:clamp(48px,4.9vw,72px)}
.rs-n.rs-word{font-size:clamp(30px,2.7vw,42px);line-height:1;letter-spacing:-.03em}
.rs-layers figcaption p{font-size:15px;color:var(--mystic);margin-top:6px}
.rs-more{margin-top:auto;padding-top:28px;color:var(--white);font-weight:600;font-size:14px;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.rs-more .arr{transition:transform .3s var(--ease)}
.rs-more:hover .arr{transform:translateX(4px)}
@media (max-width:1000px){.rs-layers::before,.rs-layers::after{display:none}.rs-layers>li{padding-top:56px}.rs-layers>li::before{content:"";position:absolute;left:52px;right:0;top:22px;height:1px;background:var(--line)}}
.rs-layers.in .rings circle{animation:ringin 1.4s var(--ease) both}
.rs-layers.in .rings circle:nth-child(2){animation-delay:.12s}.rs-layers.in .rings circle:nth-child(3){animation-delay:.24s}.rs-layers.in .rings circle:nth-child(4){animation-delay:.36s}.rs-layers.in .rings circle:nth-child(5){animation-delay:.48s}
.hs b.hs-word{font-size:clamp(24px,2.5vw,36px);min-height:1.55em;display:flex;align-items:flex-end;letter-spacing:-.02em}
@media (max-width:820px){.hs b.hs-word{min-height:0;font-size:26px}}

/* platform cycle */
.r2p-flow{grid-template-columns:minmax(0,.8fr) minmax(60px,.45fr) minmax(0,1.35fr)}
.cyc{position:relative;width:100%;max-width:560px;aspect-ratio:1/1;justify-self:center}
.cyc-k{position:absolute;left:0;top:-6px}
.cyc-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cyc-track{fill:none;stroke:rgba(221,230,237,.08);stroke-width:26}
.cyc-arc{fill:none;stroke:var(--gull);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:4 6}
.cyc-dot{fill:var(--mystic);filter:drop-shadow(0 0 6px rgba(221,230,237,.8))}
.cyc-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 50% 35%,rgba(83,109,130,.55),rgba(38,55,77,.2) 70%);border:1px solid var(--line-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:8%}
.cyc-core img{width:46%;height:auto;margin-bottom:6px}
.cyc-core small{font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--gull)}
.cyc-core b{font-family:var(--display);font-weight:500;font-size:clamp(15px,1.5vw,20px);line-height:1.15;color:var(--white)}
.cyc-node{position:absolute;width:0;height:0;text-decoration:none;color:var(--white)}
.n-tr{left:76.5%;top:23.5%}.n-br{left:76.5%;top:76.5%}.n-bl{left:23.5%;top:76.5%}.n-tl{left:23.5%;top:23.5%}
.cyc-disc{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:clamp(58px,6.2vw,84px);aspect-ratio:1/1;border-radius:50%;background:var(--white);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(221,230,237,.06);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.cyc-disc img{width:48%;height:48%;object-fit:contain;display:block}
.cyc-lbl{position:absolute;top:calc(clamp(58px,6.2vw,84px)/2 + 12px);left:0;transform:translateX(-50%);width:170px;text-align:center;display:flex;flex-direction:column;gap:3px}
.n-tl .cyc-lbl,.n-tr .cyc-lbl{top:auto;bottom:calc(clamp(58px,6.2vw,84px)/2 + 12px)}
.cyc-lbl small{font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--gull)}
.cyc-lbl b{font-family:var(--display);font-weight:500;font-size:clamp(15px,1.35vw,19px);line-height:1.2}
.cyc-node.on .cyc-disc,.cyc-node:hover .cyc-disc{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 0 10px rgba(221,230,237,.16),0 0 40px rgba(221,230,237,.35)}
.cyc-node.on .cyc-lbl small{color:var(--mystic)}
@media (prefers-reduced-motion:reduce){.cyc-dot{display:none}}
@media (max-width:820px){.r2p-flow{grid-template-columns:1fr}.cyc{max-width:400px;margin-top:40px}.cyc-k{top:-30px}.cyc-lbl{width:120px}.cyc-lbl b{font-size:14px}.cyc-core b{font-size:14px}.cyc-core small{font-size:9px;letter-spacing:1.5px}}

/* thrive matrix lockup */
.mx-wrap:has(.mx-logo){margin-top:clamp(70px,7vw,100px)}
.mx-logo{position:absolute;left:0;bottom:calc(100% + 22px);width:min(78%,400px);height:auto}

/* key metrics explorer */
.km{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(28px,4vw,60px);margin-top:56px;align-items:start}
.km-nav{display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--line-dark);padding-left:14px;position:relative}
.km-nk{font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:600;color:var(--gull);margin:0 0 14px 4px}
.km-tab{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:14px;padding:16px 16px;border-radius:14px;color:var(--mystic);font-family:var(--display);font-size:18px;font-weight:500;position:relative;transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}
.km-tab .ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.km-tab em{font-style:normal;font-size:11px;color:var(--gull);font-variation-settings:"MONO" 100}
.km-tab:hover{background:rgba(221,230,237,.07);transform:translateX(3px)}
.km-tab.on{background:var(--white);color:var(--navy);box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.km-tab.on em{color:var(--bayoux)}
.km-tab.on::before{content:"";position:absolute;left:-17px;top:20%;bottom:20%;width:4px;border-radius:2px;background:var(--white)}
.km-tab:focus-visible{outline:2px solid var(--gull);outline-offset:2px}
.km-main{min-width:0}
.km-pane[hidden]{display:none}
.km-top{display:grid;grid-template-columns:minmax(160px,250px) 1fr;gap:clamp(24px,3vw,44px);align-items:center}
.km-art{aspect-ratio:1/1;border-radius:28px;border:1px solid rgba(221,230,237,.18);background:linear-gradient(150deg,rgba(83,109,130,.55),rgba(38,55,77,.35) 60%,rgba(27,40,54,.6));box-shadow:0 40px 70px -40px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:10%;overflow:hidden;position:relative}
.km-art::after{content:"";position:absolute;inset:-30% 30% 40% -10%;background:radial-gradient(closest-side,rgba(221,230,237,.16),transparent);pointer-events:none}
.km-art .art{width:78%;height:auto;overflow:visible}
.km-art b{font-family:var(--display);font-weight:600;font-size:16px;color:var(--white)}
.km-title small{font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:600;color:var(--gull);font-variation-settings:"MONO" 100}
.km-title h3{font-family:var(--display);font-weight:500;font-size:clamp(44px,5.6vw,84px);line-height:1;letter-spacing:-.04em;color:var(--white);margin:12px 0 14px}
.km-title p{font-family:var(--display);font-size:clamp(18px,1.6vw,23px);color:var(--mystic)}
.km-rule{display:flex;align-items:center;gap:16px;margin:clamp(30px,3.5vw,44px) 0 22px}
.km-rule::before,.km-rule::after{content:"";flex:1;height:1px;background:var(--line-dark)}
.km-rule span{font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:600;color:var(--gull);font-variation-settings:"MONO" 100}
.km-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.km-card{border-radius:20px;border:1px solid rgba(221,230,237,.16);border-top:3px solid rgba(157,178,191,.7);background:rgba(18,28,40,.38);padding:22px 20px 22px;display:flex;flex-direction:column;gap:6px;min-width:0}
.km-ci{width:44px;height:44px;border-radius:12px;background:rgba(221,230,237,.12);display:grid;place-items:center;margin-bottom:12px}
.km-ci .ico{width:22px;height:22px;fill:none;stroke:var(--white);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.km-v{font-family:var(--display);font-weight:500;font-size:clamp(40px,3.8vw,58px);line-height:1;letter-spacing:-.045em;color:var(--white);font-variant-numeric:tabular-nums}
.km-l{font-family:var(--display);font-weight:600;font-size:16.5px;line-height:1.25;color:var(--white);margin-top:8px}
.km-card small{font-size:14px;color:var(--gull)}
.km-q{font-family:var(--display);font-weight:600;font-size:17px;color:var(--white);margin-bottom:8px}
.km-pp small.km-k{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--gull);margin-top:6px;font-variation-settings:"MONO" 100}
.km-ppl{display:flex;gap:3px}
.km-ppl i{display:block;width:9%;max-width:16px}
.km-ppl svg{display:block;width:100%;height:auto;fill:rgba(157,178,191,.38)}
.km-ppl i.on svg{fill:var(--white)}
.km-r{font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:-.03em;color:var(--white);line-height:1.1}
.km-foot{margin-top:26px;font-size:14px;color:var(--gull)}
/* switch motion */
.km-pane.on .km-art{animation:kmPop .7s var(--ease) both}
.km-pane.on .km-title{animation:kmUp .6s var(--ease) .05s both}
.km-pane.on .km-card{animation:kmUp .6s var(--ease) both}
.km-pane.on .km-card:nth-child(2){animation-delay:.07s}.km-pane.on .km-card:nth-child(3){animation-delay:.14s}.km-pane.on .km-card:nth-child(4){animation-delay:.21s}
.km-pane.on .km-ppl i.on{animation:kmPpl .5s var(--ease) both}
.km-pane.on .km-ppl i.on:nth-child(2){animation-delay:.05s}.km-pane.on .km-ppl i.on:nth-child(3){animation-delay:.1s}.km-pane.on .km-ppl i.on:nth-child(4){animation-delay:.15s}.km-pane.on .km-ppl i.on:nth-child(5){animation-delay:.2s}.km-pane.on .km-ppl i.on:nth-child(6){animation-delay:.25s}.km-pane.on .km-ppl i.on:nth-child(7){animation-delay:.3s}.km-pane.on .km-ppl i.on:nth-child(8){animation-delay:.35s}.km-pane.on .km-ppl i.on:nth-child(9){animation-delay:.4s}
.km-pane.on .km-bar{transform-box:fill-box;transform-origin:bottom;animation:kmBar .9s var(--ease) both}
.km-pane.on .km-bar:nth-child(2){animation-delay:.1s}.km-pane.on .km-bar:nth-child(3){animation-delay:.2s}.km-pane.on .km-bar:nth-child(4){animation-delay:.3s}
.km-pane.on .km-fill{transform-box:fill-box;transform-origin:bottom;animation:kmFill 2.4s var(--ease) infinite alternate}
.km-pane.on .km-needle{transform-box:view-box;transform-origin:80px 104px;animation:kmNeedle 1.2s var(--ease) both}
.km-pane.on .km-beat{transform-box:fill-box;transform-origin:center;animation:kmBeat 1.6s ease-in-out infinite}
.km-pane.on .km-move{animation:kmMove 1.8s ease-in-out infinite}
.km-pane.on .km-rays{animation:kmGlow 2s ease-in-out infinite}
@keyframes kmPop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes kmUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes kmPpl{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes kmBar{from{transform:scaleY(0)}to{transform:none}}
@keyframes kmFill{from{transform:scaleY(.35)}to{transform:scaleY(1.9)}}
@keyframes kmNeedle{from{transform:rotate(-95deg)}to{transform:none}}
@keyframes kmBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.08)}30%{transform:scale(1)}}
@keyframes kmMove{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@keyframes kmGlow{0%,100%{opacity:.5}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.km-pane.on *{animation:none!important}}
@media (max-width:1100px){.km-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.km{grid-template-columns:1fr}.km-nav{flex-direction:row;overflow-x:auto;border-left:0;padding:0 0 6px;gap:8px;scrollbar-width:none;margin:0 -16px;padding-inline:16px}.km-nav::-webkit-scrollbar{display:none}.km-nk{display:none}.km-tab{grid-template-columns:18px auto;white-space:nowrap;padding:12px 14px;font-size:15px;border:1px solid var(--line-dark);border-radius:999px}.km-tab em{display:none}.km-tab.on::before{display:none}.km-top{grid-template-columns:110px 1fr;gap:18px}.km-art{border-radius:20px}.km-art b{display:none}.km-title h3{font-size:clamp(34px,9vw,48px);margin:8px 0}.km-title p{font-size:16px}}
@media (max-width:620px){.km-cards{grid-template-columns:1fr;gap:10px}.km-card:not(.km-pp){display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center;padding:16px}.km-card:not(.km-pp) .km-ci{grid-row:span 3;margin:0}.km-card:not(.km-pp) .km-v{font-size:34px}.km-card:not(.km-pp) .km-l{font-size:14.5px;margin-top:4px}.km-r{font-size:24px}}
.hero-stats.hs3{grid-template-columns:repeat(3,1fr)}
@media (max-width:820px){.hero-stats.hs3{grid-template-columns:1fr 1fr}.hero-stats.hs3>.hs:first-child{grid-column:1/-1;border-right:0}.hero-stats.hs3>.hs:nth-child(2){padding-left:0;border-right:1px solid var(--line-dark);border-bottom:0}.hero-stats.hs3>.hs:nth-child(3){padding-left:24px}}

/* matrix with big axes */
#measure .matrix{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,5vw,80px)}
.mx-big{margin-left:clamp(64px,6vw,90px);margin-bottom:clamp(70px,7vw,96px);overflow:visible}
.mx-ax{position:absolute;display:flex;align-items:center;gap:14px;color:var(--navy);white-space:nowrap}
.mx-ax b{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.4vw,36px);letter-spacing:-.025em;line-height:1}
.mx-ax small{font-size:clamp(13px,1vw,15px);color:var(--bayoux);font-weight:500}
.mx-arw{display:block;height:3px;background:var(--navy);flex:1;position:relative;min-width:40px;border-radius:2px}
.mx-arw::after{content:"";position:absolute;right:-2px;top:50%;width:12px;height:12px;border-top:3px solid var(--navy);border-right:3px solid var(--navy);transform:translateY(-50%) rotate(45deg);border-radius:2px}
.mx-ax-x{left:0;right:0;top:calc(100% + 22px)}
.mx-ax-y{left:0;bottom:0;width:100%;transform-origin:left bottom;transform:rotate(-90deg) translateY(-18px)}
.mx-big.rv .mx-arw{transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease) .3s}
.mx-big.rv.in .mx-arw{transform:none}
@media (max-width:820px){#measure .matrix{grid-template-columns:1fr}.mx-big{margin-left:48px;margin-bottom:76px}.mx-ax b{font-size:22px}.mx-ax small{font-size:12px}}
.dims.idx{border-top:0;display:grid;gap:12px;margin-top:30px}
.dims.idx>div{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:baseline}
.ix-k{grid-column:1/-1;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin-bottom:6px}
.ix-n{font-family:var(--display);font-weight:500;font-size:clamp(30px,3vw,44px);letter-spacing:-.03em;line-height:1;color:var(--navy)}
.ix-s{font-size:15px;color:var(--sirocco)}
.ix-d{grid-column:1/-1;list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px}
.ix-d li{font-size:14px;color:var(--navy);background:var(--mystic);border-radius:999px;padding:7px 13px}
@media (max-width:520px){.dims.idx>div{grid-template-columns:1fr}.ix-s{margin-top:6px}}
.r2p-flow{position:relative}
.r2p-mid svg.r2p-static{display:none}
.r2p-ov{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}
.r2p-ov .ln{fill:none;stroke:rgba(157,178,191,.45);stroke-width:1.5}
.r2p-ov .fl{fill:none;stroke:var(--mystic);stroke-width:2;stroke-linecap:round;stroke-dasharray:6 14;animation:r2pFlow 1.6s linear infinite}
.r2p-ov .pk{fill:#fff;filter:drop-shadow(0 0 6px rgba(221,230,237,.9))}
.r2p-ov .hub{fill:var(--mystic)}
.r2p-in{position:relative;z-index:2;transition:border-color .4s,background .4s}
.r2p-in.lit{border-color:rgba(221,230,237,.6);background:rgba(255,255,255,.09)}
.r2p-in::after{content:"";position:absolute;right:-5px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--gull)}
.r2p-in.lit::after{background:#fff;box-shadow:0 0 10px rgba(255,255,255,.8)}
@keyframes r2pFlow{to{stroke-dashoffset:-40}}
@media (prefers-reduced-motion:reduce){.r2p-ov .fl{animation:none}.r2p-ov .pk{display:none}}
@media (max-width:820px){.r2p-ov{display:none}.r2p-in::after{display:none}}
#outcomes.findings{background:linear-gradient(160deg,#31485F 0%,#22344A 55%,#1B2836 100%)}
.pfl{margin:26px 0 34px}
.pfl-h{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.6vw,38px);letter-spacing:-.025em;color:var(--white)}
.pfl-h em,.pfl em{font-variation-settings:"ital" 11;color:var(--gull)}
.pfl ul{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:clamp(20px,4vw,56px)}
.pfl li{display:flex;flex-direction:column;align-items:center;gap:12px;font-family:var(--display);font-size:clamp(18px,1.6vw,22px);color:var(--white)}
.pfl svg{width:32px;height:32px;fill:none;stroke:var(--gull);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pfl.rv.in li{animation:kmUp .6s var(--ease) both}.pfl.rv.in li:nth-child(2){animation-delay:.12s}.pfl.rv.in li:nth-child(3){animation-delay:.24s}

/* what companies tell us */
.wh{background:var(--white)}
.wh-head{max-width:900px;margin-bottom:48px}
.wh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wh-c{margin:0;position:relative;background:var(--mystic-2,#F2F5F8);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 26px 26px;display:flex;flex-direction:column;min-width:0;transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .4s}
.wh-c:hover{transform:translateY(-5px);background:var(--white);box-shadow:0 30px 60px -40px rgba(38,55,77,.5)}
.wh-q{font-family:var(--display);font-size:72px;line-height:.6;color:var(--gull);height:30px}
.wh-c blockquote{margin:6px 0 26px;font-family:var(--display);font-weight:500;font-size:clamp(21px,1.8vw,26px);line-height:1.22;letter-spacing:-.015em;color:var(--navy)}
.wh-c figcaption{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.wh-c figcaption b{font-weight:500;font-size:15px;color:var(--bayoux)}
.wh-n{font-family:var(--display);font-size:clamp(40px,3.6vw,54px);letter-spacing:-.04em;line-height:1;color:var(--navy);margin-top:8px}
.wh-c small{font-size:13.5px;color:var(--sirocco)}
@media (max-width:1000px){.wh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.wh-grid{grid-template-columns:1fr}}

/* ===== Section transitions: stacked rounded panels, seam threads, glows ===== */
#research{z-index:1}
.stk{margin-top:-56px;border-radius:56px 56px 0 0;box-shadow:0 -40px 70px -50px rgba(27,40,54,.45)}
#measure.stk{z-index:2}.r2p.stk{z-index:3}#voices.stk{z-index:4}#outcomes.stk{z-index:5}.cta.stk{z-index:6}
.stk>.wrap,.stk>div:not(.cta-bg){position:relative;z-index:2}
.stk{transition:border-radius 1s var(--ease)}
.stk.rv-stk{transform:translateY(70px);transition:transform 1.1s var(--ease),border-radius 1s var(--ease)}
.stk.rv-stk.in{transform:none}
/* thread at the seam */
.seam{position:absolute;left:50%;top:18px;width:2px;height:64px;transform:translateX(-50%);border-radius:2px;overflow:hidden;z-index:3;background:rgba(38,55,77,.14);pointer-events:none}
.band-dark .seam{background:rgba(221,230,237,.16)}
.seam::after{content:"";position:absolute;left:0;top:-40%;width:100%;height:40%;border-radius:2px;background:var(--navy);animation:seamRun 2.4s cubic-bezier(.6,0,.4,1) infinite}
.band-dark .seam::after{background:var(--mystic)}
.seam::before{content:"";position:absolute;left:50%;bottom:0;width:8px;height:8px;margin-left:-4px;border-radius:50%}
@keyframes seamRun{0%{top:-40%}100%{top:100%}}
/* small grab handle at the top edge of each panel */
.stk::before{content:"";position:absolute;left:50%;top:-1px;width:120px;height:4px;margin-left:-60px;border-radius:0 0 4px 4px;background:rgba(157,178,191,.0)}
/* moving glow in dark panels */
.glow::after{content:"";position:absolute;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(40% 35% at 20% 25%,rgba(157,178,191,.22),transparent 70%),radial-gradient(35% 30% at 85% 70%,rgba(83,109,130,.35),transparent 70%);animation:glowDrift 18s ease-in-out infinite alternate}
@keyframes glowDrift{0%{transform:translate3d(-4%,-3%,0) scale(1)}50%{transform:translate3d(3%,2%,0) scale(1.08)}100%{transform:translate3d(-2%,4%,0) scale(1.02)}}
/* light panels: soft color wash that follows the scroll */
#voices.stk{background:linear-gradient(180deg,#F4F7FA 0%,#FFFFFF 40%)}
#measure.stk{background:linear-gradient(180deg,#E4ECF2 0%,var(--mystic) 30%)}
@media (prefers-reduced-motion:reduce){.seam::after,.glow::after{animation:none}.stk.rv-stk{transform:none}}
@media (max-width:820px){.stk{margin-top:-32px;border-radius:32px 32px 0 0}.seam{height:44px;top:12px}}
.wh-feat{margin-bottom:clamp(70px,8vw,110px)}
.wh-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.wh-f{margin:0;background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;position:relative;overflow:hidden}
.wh-f::after{content:"";position:absolute;right:-20%;top:-40%;width:70%;height:120%;background:radial-gradient(closest-side,rgba(157,178,191,.25),transparent);pointer-events:none}
.wh-f .wh-q{color:var(--gull);font-size:90px;height:40px}
.wh-f blockquote{margin:10px 0 24px;font-family:var(--display);font-weight:400;font-size:clamp(22px,2.1vw,30px);line-height:1.25;letter-spacing:-.015em}
.wh-f figcaption{margin-top:auto;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--gull)}
@media (max-width:820px){.wh-fgrid{grid-template-columns:1fr}}
#voices .wh-feat{margin-bottom:0}
#voices .wh-fgrid{margin-top:40px}
.wh-lead{grid-column:1/-1}
.wh-lead blockquote{font-size:clamp(28px,3.2vw,46px);line-height:1.15;max-width:1000px}
.ix-n{font-size:clamp(26px,2.5vw,38px)}
.dims.idx>div{grid-template-columns:1fr}
.ix-s{margin-top:8px}
.dims.idx>a.ix-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;display:grid;grid-template-columns:1fr;text-decoration:none;color:inherit;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.dims.idx>a.ix-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(38,55,77,.5);border-color:rgba(38,55,77,.3)}
.dims.idx>a.ix-card:focus-visible{outline:2px solid var(--bayoux);outline-offset:3px}
.ix-more{margin-top:16px;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--navy);display:inline-flex;gap:8px;align-items:center}
.ix-card .arr{transition:transform .3s var(--ease)}
.ix-card:hover .arr{transform:translateX(5px)}

/* what sets us apart */
#apart.stk{z-index:4;background:linear-gradient(180deg,#E4ECF2 0%,var(--mystic) 35%)}
#voices.stk{z-index:5}#outcomes.stk{z-index:6}.cta.stk{z-index:7}
.ap-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,5vw,80px);align-items:center}
.ap-proof{display:grid;gap:0;margin-top:34px;border-top:1px solid var(--line)}
.ap-proof>div{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.ap-proof b{font-family:var(--display);font-weight:400;font-size:clamp(44px,4.4vw,64px);letter-spacing:-.045em;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.ap-proof>div>span{font-size:16px;color:var(--sirocco);line-height:1.35}
.ap-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,32px);box-shadow:0 40px 80px -50px rgba(38,55,77,.45)}
.ap-t{width:100%;border-collapse:collapse;font-size:15.5px;color:var(--navy)}
.ap-t th{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--sirocco);text-align:center;padding:0 10px 16px;vertical-align:bottom}
.ap-t th:first-child,.ap-t td:first-child{text-align:left;padding-left:0}
.ap-t th img{height:24px;width:auto;max-width:none;display:inline-block}
.ap-t td{padding:16px 10px;border-top:1px solid var(--line);text-align:center}
.ap-t td.y{font-weight:700;color:var(--navy)}
.ap-t td.n{color:var(--gull)}
.ap-t td:last-child{background:rgba(221,230,237,.45)}
.ap-t tbody tr:not(:first-child) td:first-child{font-weight:500}
.ap-t td.y:last-child{position:relative}
.ap-card.rv .ap-t tbody tr{opacity:0;transform:translateX(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.ap-card.rv.in .ap-t tbody tr{opacity:1;transform:none}
.ap-card.rv.in .ap-t tbody tr:nth-child(2){transition-delay:.1s}.ap-card.rv.in .ap-t tbody tr:nth-child(3){transition-delay:.2s}.ap-card.rv.in .ap-t tbody tr:nth-child(4){transition-delay:.3s}.ap-card.rv.in .ap-t tbody tr:nth-child(5){transition-delay:.4s}.ap-card.rv.in .ap-t tbody tr:nth-child(6){transition-delay:.5s}
@media (max-width:900px){.ap-grid{grid-template-columns:1fr}.ap-t{font-size:14px}.ap-t th{font-size:9.5px;letter-spacing:1.2px;padding:0 6px 12px}.ap-t td{padding:13px 6px}.ap-proof>div{grid-template-columns:96px 1fr}}

@media (max-width:520px){.ap-t th img{height:18px}}
.ap-proof>div{grid-template-columns:clamp(130px,14vw,200px) 1fr}
@media (max-width:520px){.ap-proof>div{grid-template-columns:118px 1fr;gap:12px}.ap-proof b{font-size:36px}.ap-proof>div>span{font-size:14.5px}}
.wh-fgrid.wh-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wh-3 .wh-f blockquote{font-size:clamp(20px,1.8vw,25px)}
.wh-f figcaption{display:flex;flex-direction:column;gap:4px;letter-spacing:0;text-transform:none}
.wh-f figcaption b{font-family:var(--display);font-weight:500;font-size:17px;color:#fff}
.wh-f figcaption span{font-size:13.5px;color:var(--gull)}
@media (max-width:1000px){.wh-fgrid.wh-3{grid-template-columns:1fr}}
.ap-l{display:flex;align-items:center;gap:14px}
.ap-ic{flex:none;width:38px;height:38px;border-radius:11px;background:var(--mystic);display:grid;place-items:center;transition:background .3s,transform .3s var(--ease)}
.ap-ic svg{width:19px;height:19px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ap-t tr:hover .ap-ic{background:var(--navy);transform:scale(1.06)}.ap-t tr:hover .ap-ic svg{stroke:#fff}
.ap-y{width:24px;height:24px;vertical-align:middle}
.ap-y circle{fill:var(--navy)}.ap-y path{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
td.y:not(:last-child) .ap-y circle{fill:var(--bayoux)}
.ap-no{display:inline-block;width:14px;height:2px;border-radius:2px;background:var(--gull);vertical-align:middle}
.ap-card.rv.in .ap-y path{stroke-dasharray:20;stroke-dashoffset:20;animation:apTick .5s var(--ease) forwards}
.ap-card.rv.in tr:nth-child(2) .ap-y path{animation-delay:.25s}.ap-card.rv.in tr:nth-child(3) .ap-y path{animation-delay:.35s}.ap-card.rv.in tr:nth-child(4) .ap-y path{animation-delay:.45s}.ap-card.rv.in tr:nth-child(5) .ap-y path{animation-delay:.55s}
@keyframes apTick{to{stroke-dashoffset:0}}
@media (max-width:520px){.ap-ic{width:30px;height:30px;border-radius:9px}.ap-ic svg{width:16px;height:16px}.ap-l{gap:10px}}
.ap-card.rv.in tr:nth-child(6) .ap-y path{animation-delay:.65s}.ap-card.rv.in .ap-t tbody tr:nth-child(6){transition-delay:.6s}
.rot{display:inline-block;transition:opacity .22s ease,transform .22s ease;color:var(--mystic)}
.rot.out{opacity:0;transform:translateY(12px)}
.rot.in{opacity:1;transform:none}
#outcomes .f-head h2{max-width:none}
.rot-line{display:block;min-height:2.1em}
@media (min-width:1100px){.rot-line{min-height:1.05em}}
.rot-line{font-size:.6em;line-height:1.15;margin-top:.25em;min-height:2.3em}
.rot{display:inline;transition:opacity .22s ease}
.rot.out{transform:none}
@media (min-width:1100px){.rot-line{min-height:1.2em}}
.n3-t{left:50%;top:12.5%}.n3-br{left:82.5%;top:68.75%}.n3-bl{left:17.5%;top:68.75%}
.n3-t .cyc-lbl{top:auto;bottom:calc(clamp(58px,6.2vw,84px)/2 + 12px)}
@media (min-width:821px){
 .n3-br .cyc-lbl,.n3-bl .cyc-lbl{top:0;transform:translateY(-50%);width:180px}
 .n3-br .cyc-lbl{left:calc(clamp(58px,6.2vw,84px)/2 + 16px);text-align:left}
 .n3-bl .cyc-lbl{left:auto;right:calc(clamp(58px,6.2vw,84px)/2 + 16px);text-align:right}
}
@media (max-width:820px){.n3-br .cyc-lbl,.n3-bl .cyc-lbl{top:calc(clamp(58px,6.2vw,84px)/2 + 22px)}}
.rot-h .rot-pre{display:block;font-size:.5em;line-height:1.2;color:#fff;margin-bottom:.25em}
.rot-h .rot-big{display:block;min-height:2.1em}
.rot-h .rot{font-variation-settings:"ital" 11;color:var(--mystic)}
@media (min-width:1100px){.rot-h .rot-big{min-height:1.05em;white-space:nowrap}}
.pl-steps a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);transition:border-color .3s}
.pl-steps a:hover{border-color:#fff}
.r2p-in{display:flex;align-items:baseline;gap:14px}
.r2p-n{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.03em;color:#fff;min-width:3.3em}
.r2p-in b{color:var(--mystic)}
/* voices v2: three different quote cards, people without faces (quotes are real; photos are illustrative) */
.vq{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;gap:14px;margin-top:40px}
.vq figure{margin:0;position:relative;border-radius:28px;overflow:hidden;isolation:isolate}
.vq blockquote{margin:0 0 22px;font-family:var(--display);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.vq figcaption{display:flex;flex-direction:column;gap:3px}
.vq figcaption b{font-family:var(--display);font-weight:500;font-size:17px}
.vq figcaption span{font-size:13.5px}
.vq-m{display:block;font-family:var(--display);font-size:84px;line-height:.6;height:34px}
.vq img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s var(--ease)}
.vq figure:hover img{transform:scale(1.06)}
.vq-a{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--navy);color:#fff;min-height:380px}
.vq-a .vq-ph{position:relative;overflow:hidden}
.vq-a .vq-tx{padding:clamp(28px,4vw,60px);display:flex;flex-direction:column;justify-content:center}
.vq-a blockquote{font-size:clamp(26px,2.8vw,40px)}
.vq-a .vq-m{color:#F0C969}
.vq-a figcaption span{color:var(--gull)}
.vq-b{grid-column:1/8;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);background:#fff;border:1px solid var(--line);color:var(--navy)}
.vq-b .vq-ph{position:relative;overflow:hidden;min-height:340px}
.vq-b .vq-tx{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;justify-content:flex-end}
.vq-b blockquote{font-size:clamp(20px,1.8vw,26px)}
.vq-b .vq-m{color:var(--bayoux)}
.vq-b figcaption span{color:var(--sirocco)}
.vq-c{grid-column:8/-1;color:#fff;min-height:340px;display:flex;align-items:flex-end}
.vq-c .vq-bg{position:absolute;inset:0;z-index:-2}
.vq-c::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(27,40,54,.15),rgba(27,40,54,.92) 65%)}
.vq-c .vq-tx{padding:clamp(24px,3vw,36px)}
.vq-c blockquote{font-size:clamp(20px,1.8vw,26px)}
.vq-c .vq-m{color:var(--mystic)}
.vq-c figcaption span{color:var(--mystic)}
@media (max-width:1000px){.vq-a,.vq-b{grid-template-columns:1fr}.vq-a .vq-ph{min-height:260px}.vq-b,.vq-c{grid-column:1/-1}.vq-b .vq-ph{min-height:240px}}
/* outcomes: the face hides when the row opens (the big photo takes over) */
.og-face img{transition:opacity .45s,transform .5s var(--ease)}
.og-face i{transition:all .5s var(--ease)}
.og-row.open .og-face img{opacity:0;transform:scale(.6)}
.og-row.open .og-face i{right:0;bottom:0;width:100%;height:100%;box-shadow:none}
.og-row.open .og-face i svg{width:22px;height:22px}
/* dimension cards: domains as icon + name, not bubbles */
.ix-d{display:grid!important;grid-template-columns:1fr 1fr;gap:10px 18px;list-style:none;padding:0}
.ix-d li{display:flex!important;align-items:center;gap:12px;background:none!important;border:0!important;padding:0!important;border-radius:0!important;font-size:16px;font-weight:500;color:inherit}
.ix-i{width:40px;height:40px;border-radius:13px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;flex:none;box-shadow:0 10px 20px -16px rgba(38,55,77,.5);transition:background .4s,transform .5s var(--ease)}
.ix-i svg{width:21px;height:21px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ix-i svg .a{stroke:var(--bayoux);stroke-width:1.8}
.ix-card:hover .ix-i{background:var(--navy);border-color:var(--navy)}
.ix-card:hover .ix-i svg{stroke:#fff}.ix-card:hover .ix-i svg .a{stroke:#F0C969}
.ix-card:hover .ix-d li:nth-child(2) .ix-i{transition-delay:.05s}.ix-card:hover .ix-d li:nth-child(3) .ix-i{transition-delay:.1s}.ix-card:hover .ix-d li:nth-child(4) .ix-i{transition-delay:.15s}
.uc-gets .uc-gi svg{width:28px;height:28px;stroke-width:1.7}
.cyc-core img{flex:none;align-self:center;width:46%;min-width:64px;max-width:120px;height:auto;aspect-ratio:104/34;object-fit:contain}
/* White paper feature on the research page */
.wpf{background:#fff}
.wpf-grid{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:center}
.wpf-cover{display:block;border-radius:16px;overflow:hidden;transform:rotate(-2deg);box-shadow:0 50px 90px -50px rgba(27,40,54,.65),0 0 0 1px rgba(38,55,77,.08);transition:transform .6s var(--ease)}
.wpf-cover:hover{transform:rotate(0deg) translateY(-4px)}
.wpf-cover img{display:block;width:100%;height:auto}
.wpf-stats{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.wpf-stats li{padding:20px 18px 4px 0;display:grid;gap:8px;align-content:start}
.wpf-stats li+li{padding-left:18px;border-left:1px solid var(--line)}
.wpf-stats b{font-family:var(--display);font-weight:500;font-size:clamp(28px,3vw,40px);line-height:1;letter-spacing:-.02em;color:var(--navy)}
.wpf-stats span{font-size:14px;line-height:1.5;color:#4A5C6E}
.wpf .ctas{margin-top:30px}
@media (max-width:900px){.wpf-grid{grid-template-columns:1fr}.wpf-cover{max-width:300px}}
@media (max-width:600px){.wpf-stats{grid-template-columns:1fr}.wpf-stats li,.wpf-stats li+li{padding:16px 0;border-left:0;border-bottom:1px solid var(--line)}}
.wpf .lead{margin-top:20px}
/* Product tour: real platform screens in a laptop, stepped through by tabs */
.ptour{background:#fff}
.pt-head{max-width:760px}
.pt-head .lead{margin-top:16px}
.pt-grid{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(32px,4vw,52px)}
.pt-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pt-steps button{position:relative;display:grid;grid-template-columns:34px 1fr;gap:10px;width:100%;text-align:left;font:inherit;color:inherit;background:transparent;border:0;border-radius:18px;padding:16px 18px 18px;cursor:pointer;overflow:hidden;transition:background .3s}
.pt-steps button:hover{background:#F3F6F8}
.pt-steps button[aria-selected=true]{background:#EEF3F6}
.pt-n{font-family:var(--display);font-size:14px;color:var(--bayoux);padding-top:3px}
.pt-tx b{display:block;font-family:var(--display);font-weight:500;font-size:19px;line-height:1.25;color:var(--navy)}
.pt-tx span{display:block;max-height:0;opacity:0;overflow:hidden;font-size:14.5px;line-height:1.55;color:#4A5C6E;transition:max-height .45s var(--ease),opacity .35s,margin .35s}
.pt-steps button[aria-selected=true] .pt-tx span{max-height:120px;opacity:1;margin-top:6px}
.pt-bar{position:absolute;left:18px;right:18px;bottom:8px;height:2px;border-radius:2px;background:rgba(38,55,77,.1);opacity:0;transition:opacity .3s}
.pt-bar::after{content:"";position:absolute;inset:0;border-radius:2px;background:var(--navy);transform-origin:left;transform:scaleX(var(--p,0))}
.pt-steps button[aria-selected=true] .pt-bar{opacity:1}
.pt-steps button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.pt-device{position:relative;cursor:pointer}
.pt-screen{position:relative;aspect-ratio:16/9;border-radius:18px 18px 8px 8px;background:#1B2836;border:10px solid #1B2836;border-bottom-width:12px;overflow:hidden;box-shadow:0 60px 100px -60px rgba(27,40,54,.6)}
.pt-screen>*{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s var(--ease),transform 1.2s var(--ease);transform:scale(1.015);border-radius:8px}
.pt-screen>img{object-fit:cover;object-position:top left;background:#fff}
.pt-screen>.on{opacity:1;transform:none}
.pt-phone{display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 10%,#33475F,#1B2836)}
.pt-phone img{height:92%;width:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.pt-base{height:14px;margin:0 -4%;border-radius:0 0 24px 24px;background:linear-gradient(#C9D3DC,#AEBBC7);box-shadow:0 18px 30px -18px rgba(27,40,54,.5)}
.pt-base::before{content:"";display:block;width:18%;height:6px;margin:0 auto;border-radius:0 0 10px 10px;background:#9AA8B5}
.pt-cap{display:none}
.pt-cta{margin-top:clamp(32px,4vw,48px);text-align:center}
@media (max-width:960px){
  .pt-grid{grid-template-columns:1fr}
  .pt-steps{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px;gap:8px;order:2}
  .pt-steps::-webkit-scrollbar{display:none}
  .pt-steps button{grid-template-columns:auto auto;padding:11px 16px 13px;border:1px solid var(--line);border-radius:999px;gap:8px}
  .pt-tx b{font-size:15px;white-space:nowrap}
  .pt-tx span{display:none}
  .pt-n{font-size:12px;padding-top:2px}
  .pt-bar{left:16px;right:16px;bottom:4px}
  .pt-steps>li{display:block}
  .pt-device{order:1}
  .pt-cap{display:block;margin:18px 2px 0;font-size:15px;line-height:1.55;color:#4A5C6E;min-height:3.1em}
  .pt-screen{border-width:6px;border-bottom-width:8px;border-radius:12px 12px 6px 6px}
  .pt-base{height:9px}
}
.pt-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.wt-dlg{padding:0;border:0;background:transparent;width:min(1280px,94vw);max-width:none;overflow:visible}
.wt-dlg::backdrop{background:rgba(15,24,34,.82);backdrop-filter:blur(4px)}
.wt-dlg video{display:block;width:100%;height:auto;border-radius:16px;background:#1B2836;box-shadow:0 40px 90px -30px rgba(0,0,0,.7)}
.wt-x{position:absolute;right:-6px;top:-52px;width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.wt-x:hover{background:rgba(255,255,255,.1)}
.pt-phone img{height:auto;width:94%;max-height:94%;object-fit:contain}
.pt-steps button{padding:13px 18px 15px}
.lv{--ink:#26374D;--ink-2:#1B2836;--chalk:#DDE6ED;--chalk-2:#C9D6E0;--paper:#FFFFFF;--sage:#9DB2BF;--sage-deep:#536D82;--clay:#536D82;--clay-deep:#26374D;--clay-light:#9DB2BF;--line:rgba(38,55,77,0.14);--line-strong:rgba(38,55,77,0.30);--muted:#767777;--cod:#0B0B0B;--serif:"Roobert","Archivo",Helvetica,Arial,sans-serif;--sans:"Archivo",Helvetica,Arial,sans-serif;--mono:"Archivo",Helvetica,Arial,sans-serif;--r-sm:2px;--r-md:6px;--r-lg:14px;color:var(--ink)}
.lv .dmock{ margin-top: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; overflow: hidden; box-shadow: 0 22px 46px -26px rgba(38,55,77,0.4); }
.lv .dmock-bar{ display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 18px 18px 12px; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.lv .dmock-bar .dot{ width: 7px; height: 7px; border-radius: 99px; background: var(--clay); display: inline-block; margin-right: 8px; }
.lv .dm-score{ display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px; }
.lv .dm-score .n{ font-family: var(--serif); font-size: 42px; line-height: 0.9; color: var(--ink); letter-spacing: -0.02em; }
.lv .dm-score .lab{ font-family: var(--mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.lv .dm-course{ display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px dashed var(--line); font-size: 13px; color: var(--ink); }
.lv .dm-course:first-of-type{ border-top: none; }
.lv .dm-course .tag{ margin-left: auto; font-family: var(--mono); font-size: 9px; letter-spacing: 0.08em; color: var(--sage-deep); }
.lv .dm-course .pc{ width: 18px; height: 18px; border-radius: 4px; background: var(--chalk); display:flex; align-items:center; justify-content:center; font-family: var(--mono); font-size: 9px; color: var(--muted); }
.lv .dm-action{ padding: 11px 0; border-top: 1px dashed var(--line); }
.lv .dm-action:first-of-type{ border-top: none; }
.lv .dm-action .at{ display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--ink); }
.lv .dm-action .at .owner{ margin-left: auto; font-family: var(--mono); font-size: 9px; letter-spacing: 0.08em; color: var(--muted); }
.lv .dm-action .at .num{ width: 18px; height: 18px; border-radius: 99px; border: 1px solid var(--line-strong); display:flex; align-items:center; justify-content:center; font-family: var(--mono); font-size: 9px; color: var(--ink); }
.lv .dm-btns{ display: flex; gap: 6px; margin: 10px 0 0 28px; max-height: 0; overflow: hidden; opacity: 0; transition: max-height .3s ease, opacity .3s ease; }
.lv .dm-action:hover .dm-btns,.lv .dm-action:focus-within .dm-btns,.lv .diff-card:hover .dm-action.is-open .dm-btns{ max-height: 40px; opacity: 1; }
.lv .dm-btn{ font-family: var(--mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; padding: 5px 10px; border-radius: 99px; border: 1px solid var(--line-strong); background: transparent; color: var(--ink); cursor: pointer; }
.lv .dm-btn.is-accept{ background: var(--ink); color: var(--paper); border-color: var(--ink); }
.lv .dm-hint{ font-family: var(--mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); text-align: center; padding: 10px 0 0; }
@media (max-width: 820px){.lv .dm-btns{ max-height: 40px; opacity: 1; }}
.lv .split-visual .dmock{ width: 100%; max-width: 420px; }
.lv .viz-card{ background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px; box-shadow: 0 22px 46px -26px rgba(38,55,77,0.4); }
.lv .bnto-card .dmock{ margin-top: 0; box-shadow: 0 22px 46px -26px rgba(38,55,77,0.4); }
.lv .bnto-card:hover .viz-card,.lv .bnto-card:hover .dmock{ box-shadow: 0 30px 58px -26px rgba(38,55,77,0.5); }
.lv .vz-metrics .vzm-k{ font-family: var(--mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); display: flex; align-items: center; gap: 7px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.lv .vz-metrics .vzm-k::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--clay); }
.lv .vzm-row{ display: flex; align-items: baseline; justify-content: space-between; padding: 11px 0; border-bottom: 1px dashed var(--line); }
.lv .vzm-row .rl{ font-family: var(--sans); font-size: 13.5px; color: var(--ink); }
.lv .vzm-row.dim .rl,.lv .vzm-row.dim .rvl{ color: var(--muted); }
.lv .vzm-row .rvl{ font-family: var(--serif); font-size: 22px; line-height: 1; color: var(--ink); display: flex; align-items: center; gap: 8px; }
.lv .vzm-row .rvl .ar{ font-size: 10px; }
.lv .vzm-row .rvl .up{ color: var(--sage-deep); }
.lv .vzm-row .rvl .dn{ color: var(--clay); }
.lv .vzm-row .rvl .fl{ color: var(--muted); }
.lv .vzm-idx{ display: flex; align-items: baseline; justify-content: space-between; padding-top: 14px; }
.lv .vzm-idx .il{ font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.lv .vzm-idx .iv{ font-family: var(--serif); font-size: 30px; line-height: 1; color: var(--clay); }
.lv .vz-access{ display: flex; flex-direction: column; gap: 13px; }
.lv .vza-row{ display: grid; grid-template-columns: 96px 1fr; row-gap: 6px; align-items: center; column-gap: 12px; }
.lv .vza-role{ font-size: 13px; font-weight: 500; color: var(--ink); }
.lv .vza-scope{ grid-column: 2; font-family: var(--mono); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.lv .vza-track{ grid-column: 2; grid-row: 1; height: 6px; border-radius: 99px; background: var(--line); }
.lv .vza-track i{ display: block; height: 100%; width: var(--w); border-radius: 99px; background: linear-gradient(90deg, var(--sage-deep), var(--sage)); }
.lv .vz-secure{ display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.lv .vzs-item{ display: flex; align-items: center; gap: 12px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); }
.lv .vzs-ico{ width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; color: var(--clay); background: rgba(47,74,107,0.07); flex-shrink: 0; }
.lv .vzs-ico svg{ width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.6; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.lv .vzs-item b{ font-family: var(--sans); font-size: 13.5px; font-weight: 600; color: var(--ink); display: block; }
.lv .vzs-item .sub{ font-family: var(--mono); font-size: 9px; letter-spacing: 0.09em; text-transform: uppercase; color: var(--muted); display: block; margin-top: 4px; }
.lv .vz-bench{ display: flex; flex-direction: column; gap: 15px; }
.lv .vzb-head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 13px; border-bottom: 1px dashed var(--line); }
.lv .vzb-head b{ font-family: var(--sans); font-size: 13.5px; font-weight: 600; color: var(--ink); display: block; }
.lv .vzb-head .sub{ font-family: var(--mono); font-size: 9px; letter-spacing: 0.09em; text-transform: uppercase; color: var(--muted); display: block; margin-top: 4px; }
.lv .vzb-you{ font-family: var(--serif); font-size: 34px; line-height: 1; letter-spacing: -0.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.lv .vzb-scale{ display: flex; flex-direction: column; gap: 7px; }
.lv .vzb-track{ position: relative; height: 8px; border-radius: 99px; background: var(--line); }
.lv .vzb-band{ position: absolute; top: 0; bottom: 0; left: var(--l); right: var(--r); background: rgba(47,74,107,0.16); border-radius: 99px; }
.lv .vzb-med{ position: absolute; top: -3px; bottom: -3px; left: var(--x); width: 1px; background: var(--muted); }
.lv .vzb-dot{ position: absolute; top: 50%; left: var(--x); width: 13px; height: 13px; margin: -6.5px 0 0 -6.5px; border-radius: 50%; background: var(--clay); border: 2px solid var(--paper); box-shadow: 0 2px 8px -2px rgba(38,55,77,0.5); }
.lv .vzb-ticks{ display: flex; justify-content: space-between; font-family: var(--mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.lv .vzb-rows{ display: flex; flex-direction: column; gap: 7px; }
.lv .vzb-row{ display: grid; grid-template-columns: 1fr auto auto; align-items: baseline; gap: 12px; padding-top: 8px; border-top: 1px solid var(--line); }
.lv .vzb-row:first-child{ border-top: none; padding-top: 2px; }
.lv .vzb-row .n{ font-family: var(--sans); font-size: 13.5px; color: var(--ink); }
.lv .vzb-row .v{ font-family: var(--serif); font-size: 17px; color: var(--ink); font-variant-numeric: tabular-nums; }
.lv .vzb-row .d{ font-family: var(--mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.lv .vzb-row .d.up{ color: #2F6B4D; }
.lv .vzb-row .d.dn{ color: #8F4A35; }
.lv .vz-learn{ display: flex; flex-direction: column; gap: 12px; }
.lv .bnto-card .dmock-body{ padding: 6px 18px 14px; }
.lv .bnto-card .dm-course,.lv .bnto-card .dm-action{ padding: 9px 0; }
.lv .bnto-card .dm-score .n{ font-size: 34px; }
@media (prefers-reduced-motion: no-preference){.lv .vzm-bars i{ transform-origin: bottom; }.lv .bnto-sec.is-live .vzm-bars i{ animation: vzmWave 2.9s ease-in-out infinite; }.lv .bnto-sec.is-live .vzm-bars i:nth-child(1){animation-delay:0s}.lv .bnto-sec.is-live .vzm-bars i:nth-child(2){animation-delay:.12s}.lv .bnto-sec.is-live .vzm-bars i:nth-child(3){animation-delay:.24s}.lv .bnto-sec.is-live .vzm-bars i:nth-child(4){animation-delay:.36s}.lv .bnto-sec.is-live .vzm-bars i:nth-child(5){animation-delay:.48s}.lv .bnto-sec.is-live .vzm-bars i:nth-child(6){animation-delay:.6s}.lv .bnto-card .dm-action .num{ transition: background .3s ease, color .3s ease, border-color .3s ease; }.lv .bnto-sec.is-live .bnto-card .dm-action:nth-of-type(1) .num{ animation: vzAccept 5.4s ease-in-out infinite 0s; }.lv .bnto-sec.is-live .bnto-card .dm-action:nth-of-type(2) .num{ animation: vzAccept 5.4s ease-in-out infinite 1.0s; }.lv .bnto-sec.is-live .bnto-card .dm-action:nth-of-type(3) .num{ animation: vzAccept 5.4s ease-in-out infinite 2.0s; }.lv .vza-track{ overflow: hidden; }.lv .vza-track i{ position: relative; overflow: hidden; }.lv .vza-track i::after{ content:''; position:absolute; inset:0; transform: translateX(-110%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.6), transparent); }.lv .bnto-sec.is-live .vza-row:nth-child(1) .vza-track i::after{ animation: vzaSweep 3.4s ease-in-out infinite 0s; }.lv .bnto-sec.is-live .vza-row:nth-child(2) .vza-track i::after{ animation: vzaSweep 3.4s ease-in-out infinite .35s; }.lv .bnto-sec.is-live .vza-row:nth-child(3) .vza-track i::after{ animation: vzaSweep 3.4s ease-in-out infinite .7s; }.lv .bnto-sec.is-live .vzs-lock{ animation: vzLock 5s ease-in-out infinite; transform-origin: center; }.lv .bnto-card .dm-course:first-of-type .pc{ transition: background .3s ease, color .3s ease; }.lv .bnto-sec.is-live .bnto-card .dm-course:first-of-type .tag{ animation: vzGlow 2.6s ease-in-out infinite; }.lv .bnto-sec.is-live .bnto-card .dm-course:first-of-type .pc{ animation: vzMatch 2.6s ease-in-out infinite; }}
.lv .vsdev{ display: flex; flex-direction: column; align-items: stretch; gap: 16px; }
.lv .vswin{ border: 1px solid var(--line-strong); border-radius: 14px; overflow: hidden; background: var(--paper); box-shadow: 0 34px 74px -34px rgba(38,55,77,0.5); }
.lv .vswin-bar{ display: flex; align-items: center; gap: 7px; padding: 10px 14px; background: var(--chalk); border-bottom: 1px solid var(--line); }
.lv .vswin-bar i{ width: 9px; height: 9px; border-radius: 50%; background: var(--line-strong); }
.lv .vswin-bar span{ margin-left: 8px; font-family: var(--mono); font-size: 8.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.lv .vsui{ display: grid; grid-template-columns: 132px minmax(0,1fr); background: #6E7F82; }
.lv .vsside{ background: #63747A; padding: 11px 9px; display: block; align-self: stretch; }
.lv .vsside .brand{ display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-bottom: 10px; }
.lv .vsside .brand img{ height: 13px; width: auto; filter: brightness(0) invert(1); }
.lv .vsside .brand .ch{ width: 13px; height: 13px; border-radius: 50%; background: rgba(255,255,255,0.2); color: #fff; font-size: 7px; display: grid; place-items: center; }
.lv .vsside .grp{ display: block; font-family: var(--mono); font-size: 5.5px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.55); margin: 8px 0 3px; }
.lv .vsside .as{ display: block; background: rgba(255,255,255,0.13); border: 1px solid rgba(255,255,255,0.16); border-radius: 4px; padding: 6px 7px; margin-bottom: 2px; }
.lv .vsside .as b{ display: block; font-size: 9px; color: #fff; font-weight: 500; }
.lv .vsside .as .rl{ display: block; font-family: var(--mono); font-size: 5px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.6); }
.lv .vsside .nv{ display: flex; margin-bottom: 1px; align-items: center; gap: 6px; font-size: 8.5px; color: rgba(255,255,255,0.85); padding: 4px 6px; border-radius: 4px; text-decoration: none; }
.lv .vsside .nv.on{ background: rgba(255,255,255,0.2); color: #fff; }
.lv .vsside .nv.sub{ padding-left: 17px; font-size: 8px; color: rgba(255,255,255,0.72); }
.lv .vsside .nv svg{ width: 9px; height: 9px; stroke: currentColor; stroke-width: 1.5; fill: none; flex-shrink: 0; }
.lv .vsside .me{ margin-top: 14px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,0.16); display: flex; align-items: center; gap: 6px; }
.lv .vsside .me i{ width: 16px; height: 16px; border-radius: 50%; background: rgba(255,255,255,0.22); color: #fff; font-family: var(--mono); font-size: 6px; display: grid; place-items: center; font-style: normal; }
.lv .vsside .me .who{ display: block; min-width: 0; }
.lv .vsside .me b{ display: block; font-size: 8px; color: #fff; font-weight: 500; }
.lv .vsside .me .rl{ display: block; font-family: var(--mono); font-size: 5px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.6); }
.lv .vsmain{ padding: 16px 18px 18px; color: #fff; }
.lv .vsmain .crumb{ font-size: 8px; color: rgba(255,255,255,0.7); margin-bottom: 8px; }
.lv .vsdom-top{ display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.lv .vsdom-top .ttl{ font-family: var(--serif); font-weight: 500; font-size: 26px; letter-spacing: -0.02em; line-height: 1; }
.lv .vsdom-top .delta{ font-family: var(--mono); font-size: 6px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.62); margin-top: 7px; }
.lv .vsdom-top .sc{ display: flex; align-items: baseline; gap: 4px; }
.lv .vsdom-top .sc svg{ width: 12px; height: 12px; stroke: #A8D5D8; stroke-width: 1.5; fill: none; margin-right: 3px; }
.lv .vsdom-top .sc b{ font-family: var(--serif); font-weight: 500; font-size: 30px; line-height: 1; }
.lv .vsdom-top .sc span{ font-family: var(--mono); font-size: 6.5px; color: rgba(255,255,255,0.5); }
.lv .vsdom-art{ position: relative; height: 62px; margin: 10px 0 12px; opacity: 0.5; color: #fff; }
.lv .vsdom-art svg{ width: 100%; height: 100%; }
.lv .vsdom-ins{ font-family: var(--serif); font-weight: 500; font-size: 13px; line-height: 1.4; }
.lv .vsdrv{ margin-top: 12px; border: 1px solid rgba(255,255,255,0.18); border-radius: 8px; background: rgba(255,255,255,0.06); padding: 12px 13px; }
.lv .vsdrv-h{ display: flex; align-items: center; justify-content: space-between; font-family: var(--mono); font-size: 5.5px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 9px; }
.lv .vsdrv-r{ display: grid; grid-template-columns: 74px minmax(0,1fr) 20px; gap: 9px; align-items: center; padding: 4px 0; }
.lv .vsdrv-r span.l{ font-size: 8px; color: rgba(255,255,255,0.9); }
.lv .vsdrv-r .tr{ height: 2.5px; border-radius: 2px; background: rgba(255,255,255,0.24); }
.lv .vsdrv-r .tr i{ display: block; height: 100%; border-radius: 2px; background: #fff; width: calc(var(--w) * 1%); }
.lv .vsdrv-r span.v{ font-family: var(--mono); font-size: 7px; color: rgba(255,255,255,0.72); text-align: right; }
@media (max-width: 600px){.lv .vsui{ grid-template-columns: 1fr; }.lv .vsside{ display: none; }}
.lv .vs-note{ font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); border-top: 1px dashed var(--line); margin-top: 12px; padding-top: 11px; }
.lv .vs-note s{ text-decoration-color: var(--clay); }
.lv .vs-acad{ display: flex; gap: 18px; align-items: center; justify-content: flex-end; }
.lv .vs-acad-link{ position: relative; display: block; text-decoration: none; border-radius: 30px; transition: transform .4s cubic-bezier(.34,1.3,.5,1); }
.lv .vs-acad-link:hover,.lv .vs-acad-link:focus-visible{ transform: translateY(-5px); }
.lv .vs-acad-link:focus-visible{ outline: 2px solid var(--clay); outline-offset: 6px; }
.lv .vs-acad-cta{ position: absolute; left: 50%; bottom: -14px; transform: translate(-50%, 6px); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-family: var(--mono); font-size: 9px; letter-spacing: 0.13em; text-transform: uppercase; color: #fff; background: var(--clay); padding: 7px 13px; border-radius: 99px; opacity: 0; transition: opacity .3s ease, transform .3s ease; box-shadow: 0 10px 24px -12px rgba(47,74,107,0.7); }
.lv .vs-acad-link:hover .vs-acad-cta,.lv .vs-acad-link:focus-visible .vs-acad-cta{ opacity: 1; transform: translate(-50%, 0); }
.lv .vs-acad-cta i{ font-style: normal; }
@media (hover: none){.lv .vs-acad-cta{ opacity: 1; transform: translate(-50%, 0); }}
.lv .vs-tabs{ display: flex; flex-direction: column; gap: 9px; min-width: 205px; }
.lv .vs-tab{ text-align: left; font-family: var(--sans); font-size: 13px; color: var(--muted); background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 11px 14px; cursor: pointer; transition: border-color .25s ease, color .25s ease, transform .25s ease; }
.lv .vs-tab .tt{ display: block; color: var(--ink); font-weight: 500; margin-bottom: 2px; }
.lv .vs-tab .tf{ font-family: var(--mono); font-size: 8.5px; letter-spacing: 0.1em; text-transform: uppercase; }
.lv .vs-tab:hover{ border-color: var(--line-strong); transform: translateX(2px); }
.lv .vs-tab.on{ border-color: var(--clay); box-shadow: 0 0 0 1px var(--clay); }
.lv .vs-tab.on .tf{ color: var(--clay); }
.lv .vs-hint{ font-family: var(--mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.lv .acphone{ position: relative; width: 250px; aspect-ratio: 9/16; border-radius: 30px; overflow: hidden; background: linear-gradient(155deg,#3B454D 0%,#232A31 100%); color: #fff; cursor: pointer; --acc: #7E92E6; border: 6px solid #1B2127; box-shadow: 0 40px 80px -34px rgba(38,55,77,0.6); transition: transform .3s ease, opacity .3s ease; flex-shrink: 0; }
.lv .acphone:hover{ transform: translateY(-6px); }
.lv .acphone.swap{ opacity: 0; transform: translateY(6px); }
.lv .acphone .pv-hair{ position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--acc); z-index: 5; }
.lv .acphone .pv-motif{ position: absolute; inset: 0; opacity: 0.16; color: #fff; z-index: 1; }
.lv .acphone .pv-motif svg{ width: 100%; height: 100%; }
.lv .acphone .pv-scrim{ position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,0) 42%,rgba(0,0,0,.6)); }
.lv .acphone .pv-segs{ position: absolute; top: 14px; left: 16px; right: 16px; z-index: 4; display: flex; gap: 4px; }
.lv .acphone .pv-segs i{ flex: 1; height: 3px; border-radius: 2px; background: rgba(255,255,255,0.3); }
.lv .acphone .pv-segs i:first-child{ background: #fff; }
.lv .acphone .pv-body{ position: absolute; inset: 0; z-index: 3; padding: 24px 22px; display: flex; flex-direction: column; justify-content: flex-end; }
.lv .acphone .pv-kick{ font-family: var(--mono); font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--acc); }
.lv .acphone .pv-ttl{ font-family: var(--serif); font-weight: 500; font-size: 24px; line-height: 1.12; letter-spacing: -0.01em; margin-top: 8px; }
.lv .acphone .pv-head{ font-size: 12.5px; line-height: 1.45; color: rgba(255,255,255,0.82); margin-top: 8px; }
.lv .acphone .pv-head em{ font-style: italic; color: var(--acc); }
.lv .acphone .pv-meta{ font-family: var(--mono); font-size: 9px; letter-spacing: 0.1em; color: rgba(255,255,255,0.6); margin-top: 10px; }
.lv .acphone .pv-play{ position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 4; width: 52px; height: 52px; border-radius: 50%; background: color-mix(in srgb, var(--acc) 24%, transparent); border: 1px solid var(--acc); display: grid; place-items: center; }
.lv .acphone .pv-play svg{ width: 17px; height: 17px; fill: #fff; margin-left: 2px; }
@media (max-width: 1060px){.lv .vs-row .vs-card,.lv .vs-row .vs-acad,.lv .vs-row .vsdev{ order: 3; max-width: 560px; }.lv .vs-acad{ justify-content: flex-start; }}
@media (max-width: 600px){.lv .vs-acad{ flex-wrap: wrap; }}
@media (max-width:860px){.lv .ms-tab,.lv .dimbtn,.lv .vs-tab,.lv .ac-tab,.lv .pr-step,.lv .tcc-btn,.lv .lcx-rail .st{min-height:44px;display:inline-flex;align-items:center;justify-content:center}}
@keyframes vzmWave{ 0%,100% { transform: scaleY(.80); } 50% { transform: scaleY(1); } }
@keyframes vzAccept{
      0%, 6% { background: transparent; color: var(--ink); border-color: var(--line-strong); }
      14%, 64% { background: var(--sage-deep); color: #fff; border-color: var(--sage-deep); }
      80%, 100% { background: transparent; color: var(--ink); border-color: var(--line-strong); }
    }
@keyframes vzaSweep{ 0% { transform: translateX(-110%); } 45%,100% { transform: translateX(210%); } }
@keyframes vzLock{ 0%,88%,100% { transform: none; } 92% { transform: translateY(-1.5px); } 96% { transform: none; } }
@keyframes vzGlow{ 0%,100% { opacity: .5; } 50% { opacity: 1; } }
@keyframes vzMatch{ 0%,100% { background: var(--chalk); color: var(--muted); } 50% { background: var(--sage-deep); color: #fff; } }
/* what companies get: outcomes accordion + roles + academy */
.og-list{border-top:1px solid var(--line)}
.og-row{border-bottom:1px solid var(--line)}
.og-h{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1.1fr) 36px;align-items:center;gap:22px;padding:26px 6px;transition:background .3s var(--ease)}
.og-h:hover{background:rgba(255,255,255,.45)}
.og-h:focus-visible{outline:2px solid var(--bayoux);outline-offset:-2px}
.og-ic{width:48px;height:48px;border-radius:14px;background:var(--navy);display:grid;place-items:center;transition:transform .4s var(--ease)}
.og-ic svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.og-t{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.3vw,34px);letter-spacing:-.025em;line-height:1.1;color:var(--navy)}
.og-v{display:flex;align-items:baseline;gap:14px;min-width:0}
.og-v b{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.6vw,54px);letter-spacing:-.045em;line-height:1;color:var(--bayoux);font-variant-numeric:tabular-nums;white-space:nowrap}
.og-v span{font-size:clamp(14px,1.15vw,16.5px);color:var(--sirocco);line-height:1.35}
.og-x{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong,rgba(38,55,77,.3));position:relative;transition:transform .4s var(--ease),background .3s}
.og-x::before,.og-x::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.6px;background:var(--navy);transform:translate(-50%,-50%)}
.og-x::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--ease)}
.og-row.open .og-x{background:var(--navy)}
.og-row.open .og-x::before,.og-row.open .og-x::after{background:#fff}
.og-row.open .og-x::after{transform:translate(-50%,-50%) rotate(0)}
.og-row.open .og-ic{transform:scale(1.06)}
.og-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.og-row.open .og-b{grid-template-rows:1fr}
.og-in{overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);padding:0 6px}
.og-row.open .og-in{padding-bottom:34px}
.og-vals{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.og-val{background:var(--navy);color:#fff;border-radius:18px;padding:22px 20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.og-val>b{font-family:var(--display);font-weight:500;font-size:clamp(32px,3vw,46px);letter-spacing:-.04em;line-height:1}
.og-val>span{font-size:14.5px;color:var(--mystic);line-height:1.3}
.og-pp{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) 1fr 1fr;align-items:end;gap:18px}
.og-q{font-family:var(--display);font-weight:600;font-size:17px;align-self:center}
.og-pp small{display:block;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--gull);margin-bottom:6px}
.og-pp b{display:block;font-family:var(--display);font-weight:500;font-size:26px;letter-spacing:-.03em;margin-top:6px}
.og .km-ppl{display:flex;gap:3px}.og .km-ppl i{display:block;width:9%;max-width:15px}.og .km-ppl svg{display:block;width:100%;height:auto;fill:rgba(157,178,191,.38)}.og .km-ppl i.on svg{fill:#fff}
.og-res{font-family:var(--display);font-size:clamp(18px,1.6vw,22px);line-height:1.3;color:var(--navy);margin:2px 0 18px}
.og-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.og-steps li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.og-steps img{width:44px;height:28px;object-fit:contain}
.og-steps small{display:block;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.og-steps b{font-weight:500;font-size:15px;color:var(--navy)}
.og-row.open .og-val,.og-row.open .og-steps li,.og-row.open .og-res{animation:kmUp .55s var(--ease) both}
.og-row.open .og-val:nth-child(2){animation-delay:.06s}.og-row.open .og-val:nth-child(3){animation-delay:.12s}
.og-row.open .og-steps li:nth-child(1){animation-delay:.12s}.og-row.open .og-steps li:nth-child(2){animation-delay:.18s}.og-row.open .og-steps li:nth-child(3){animation-delay:.24s}.og-row.open .og-steps li:nth-child(4){animation-delay:.3s}
.og-sub{margin-top:clamp(70px,8vw,110px);margin-bottom:30px}
.og-h3{font-family:var(--display);font-weight:500;font-size:clamp(32px,4vw,56px);letter-spacing:-.035em;line-height:1.02;color:var(--navy);margin-top:10px}
.og-h3 em{font-variation-settings:"ital" 11;color:var(--bayoux)}
.og-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:18px;padding:6px}
.og-tab{all:unset;box-sizing:border-box;cursor:pointer;border-radius:13px;padding:14px 16px;display:flex;flex-direction:column;gap:3px;transition:background .35s var(--ease),color .35s var(--ease)}
.og-tab b{font-family:var(--display);font-weight:500;font-size:18px;color:var(--navy)}
.og-tab small{font-size:12.5px;color:var(--sirocco)}
.og-tab:hover{background:rgba(255,255,255,.8)}
.og-tab.on{background:var(--navy)}.og-tab.on b{color:#fff}.og-tab.on small{color:var(--gull)}
.og-tab:focus-visible{outline:2px solid var(--bayoux);outline-offset:2px}
.og-pane{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,60px);align-items:center;margin-top:30px;min-height:420px}
.og-pane[hidden]{display:none}
.og-pane.on .og-ptxt,.og-pane.on .og-mock{animation:kmUp .55s var(--ease) both}.og-pane.on .og-mock{animation-delay:.08s}
.og-ptxt small{font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.og-ptxt h3{font-family:var(--display);font-weight:500;font-size:clamp(28px,3vw,42px);letter-spacing:-.03em;line-height:1.05;color:var(--navy);margin:12px 0 20px}
.og-ptxt ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.og-ptxt li{padding:14px 0 14px 28px;border-bottom:1px solid var(--line);font-size:16px;color:var(--navy);position:relative}
.og-ptxt li::before{content:"";position:absolute;left:2px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--navy);box-shadow:inset 0 0 0 4px var(--mystic)}
.og-mock{min-width:0;display:flex;justify-content:center}
.og-mock .viz-card,.og-mock .dmock{width:100%;max-width:520px;margin:0}
.og-two>div{display:grid;gap:14px;width:100%;max-width:520px}
.og-dash .vsdev{width:100%;max-width:640px}
.og-acad{margin-top:10px}
@media (max-width:900px){.og-h{grid-template-columns:42px minmax(0,1fr) 32px;gap:14px;padding:20px 2px}.og-ic{width:42px;height:42px}.og-v{grid-column:2/3;grid-row:2;flex-direction:column;gap:4px;align-items:flex-start}.og-x{grid-column:3;grid-row:1;width:32px;height:32px}.og-in{grid-template-columns:1fr}.og-tabs{grid-template-columns:1fr 1fr}.og-pane{grid-template-columns:1fr;min-height:0}}
@media (max-width:560px){.og-vals{grid-template-columns:1fr 1fr}.og-pp{grid-template-columns:1fr 1fr}.og-q{grid-column:1/-1}.og-val{padding:16px}.og-steps b{font-size:14px}}
.og-acadw{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,60px);align-items:center}
.og-acadw .og-ptxt h3 em{font-variation-settings:"ital" 11;color:var(--bayoux)}
.og-acad .vs-acad{justify-content:center}
.og-more{margin-top:26px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--navy);color:var(--navy);border-radius:999px;padding:14px 22px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;text-decoration:none}
.og-more:hover{background:var(--navy);color:#fff}
@media (max-width:900px){.og-acadw{grid-template-columns:1fr}.og-acad .vs-acad{justify-content:flex-start}}
.og-acadw{margin-top:clamp(70px,8vw,110px)}
@media (max-width:600px){.og-acad .vs-tabs{width:100%;min-width:0}.og-acad .vs-tab{width:100%}.og-acad .acphone{margin:8px auto 0}}
@media (min-width:901px){.og-mock>.bnto-card,.og-mock>.bnto-sec{zoom:1.25}}

/* real course mini-player */
.rr{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:6px}
.rr-phone{position:relative;width:min(100%,290px);aspect-ratio:9/15;border-radius:28px;overflow:hidden;background:linear-gradient(155deg,#3B454D 0%,#232A31 100%);border:6px solid #1B2127;color:#fff;box-shadow:0 30px 60px -30px rgba(38,55,77,.6)}
.rr-segs{position:absolute;left:14px;right:14px;top:12px;display:flex;gap:4px;z-index:3}
.rr-segs i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.25);transition:background .3s}
.rr-segs i.done{background:rgba(255,255,255,.75)}.rr-segs i.cur{background:var(--acc)}
.rr-cards{position:absolute;inset:0}
.rr-card{position:absolute;inset:0;padding:40px 20px 22px;display:flex;flex-direction:column;opacity:0;transform:translateX(18px);transition:opacity .35s ease,transform .35s ease;pointer-events:none;text-align:left}
.rr-card.on{opacity:1;transform:none}
.rr-phone{cursor:pointer}.rr-phone:focus-visible{outline:2px solid var(--bayoux);outline-offset:3px}
.rr-card .gap-auto{flex:1}
.rr .reel-kick{font-size:10px;letter-spacing:2.5px;font-weight:600;color:var(--acc);margin-bottom:8px}
.rr .reel-title{font-family:var(--display);font-weight:500;font-size:25px;line-height:1.12;letter-spacing:-.02em;color:#fff}
.rr .reel-title[style*="font-size"]{font-size:20px!important}
.rr .reel-body{font-size:14px;line-height:1.45;color:rgba(255,255,255,.84)}
.rr .reel-meta{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.6)}
.rr .reel-num{flex:none;width:22px;height:22px;border-radius:50%;background:var(--acc);color:#232A31;font-size:12px;font-weight:700;display:grid;place-items:center}
.rr .reel-medal{width:56px;height:56px;border-radius:50%;background:var(--acc);color:#232A31;display:grid;place-items:center}.rr .reel-medal svg{width:26px;height:26px}
.rr-stars{display:flex;gap:6px;margin-top:18px;pointer-events:auto}
.rr-stars button{all:unset;cursor:pointer;font-size:30px;line-height:1;color:rgba(255,255,255,.28);transition:color .2s,transform .2s}
.rr-stars button.on{color:var(--acc)}.rr-stars button:hover{transform:scale(1.12)}
.rr-prev,.rr-next{all:unset;position:absolute;top:0;bottom:0;cursor:pointer;z-index:2}
.rr-prev{left:0;width:30%}.rr-next{right:0;width:70%}
.rr-prev:focus-visible,.rr-next:focus-visible{outline:2px solid var(--acc);outline-offset:-4px;border-radius:22px}
.rr-hint{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sirocco);text-align:center}
.pane .rr{flex-direction:row;align-items:center;gap:24px;margin:0;flex:1;min-height:0}
.pane .rr-phone{width:190px;flex:none;border-radius:24px;border-width:5px}
.pane .rr-card{padding:32px 14px 16px}
.pane .rr .reel-title{font-size:19px}.pane .rr .reel-title[style*="font-size"]{font-size:16px!important}
.pane .rr .reel-body{font-size:11.5px;line-height:1.4}.pane .rr .reel-body[style]{margin-top:8px!important}
.pane .rr .reel-meta{font-size:9px}
.pane .rr [style*="margin-top:18px"]{margin-top:10px!important;gap:8px!important}
.pane .rr .reel-num{width:18px;height:18px;font-size:10px}
.pane .rr-stars button{font-size:22px}
.rr-side{display:flex;flex-direction:column;gap:8px;min-width:0}
.rr-side small{font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.rr-side b{font-family:var(--display);font-weight:500;font-size:22px;line-height:1.15;color:var(--navy)}
.rr-side span{font-size:14px;color:var(--sirocco);line-height:1.45}
@media (max-width:520px){.pane .rr-phone{width:150px}.rr-side b{font-size:17px}.rr-side span{font-size:12.5px}.pane .rr{gap:14px}}
.sv-n{display:flex;align-items:center;gap:20px;margin:26px 0 8px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sv-n b{font-family:var(--display);font-weight:400;font-size:clamp(64px,7vw,104px);line-height:.85;letter-spacing:-.05em;color:var(--navy);font-variant-numeric:tabular-nums}
.sv-n>span{font-size:clamp(16px,1.3vw,19px);line-height:1.35;color:var(--sirocco);max-width:260px}
.rr-phone,.rr-cards{overflow:clip}
@media (max-width:520px){.pane .rr-phone{width:168px;border-radius:20px}.pane .rr-card{padding:26px 11px 12px}.pane .rr .reel-title{font-size:15px}.pane .rr .reel-title[style*="font-size"]{font-size:13.5px!important}.pane .rr .reel-body{font-size:10px}.pane .rr .reel-meta{font-size:8px;letter-spacing:1.4px}.pane .rr .reel-kick{font-size:8.5px;letter-spacing:1.8px}.pane .rr-stars button{font-size:18px}.rr-side span{display:none}.rr-side b{font-size:16px}}

/* outcomes: people and motion */
.og-face{position:relative;width:58px;height:58px;border-radius:50%;background:none;overflow:visible}
.og-face img{width:100%;height:100%;border-radius:50%;object-fit:cover;filter:saturate(.9);transition:transform .5s var(--ease)}
.og-face i{position:absolute;right:-6px;bottom:-4px;width:26px;height:26px;border-radius:50%;background:var(--navy);display:grid;place-items:center;box-shadow:0 0 0 3px var(--mystic)}
.og-face i svg{width:14px;height:14px}
.band-white .og-face i,.og:not(.band-mystic) .og-face i{box-shadow:0 0 0 3px #fff}
.og-h{grid-template-columns:58px minmax(0,1fr) minmax(0,1.1fr) 36px}
.og-h:hover .og-face img{transform:scale(1.08)}
.og-in{grid-template-columns:minmax(0,.72fr) minmax(0,1.1fr) minmax(0,1fr)}
.og-pic{position:relative;border-radius:20px;overflow:hidden;min-height:300px;isolation:isolate}
.og-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transform:scale(1.14);transition:transform 6s cubic-bezier(.2,.7,.1,1)}
.og-row.open .og-pic img{transform:scale(1)}
.og-pic::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(27,40,54,0) 35%,rgba(27,40,54,.9))}
.og-pv{position:absolute;left:20px;right:20px;bottom:18px;color:#fff}
.og-pv b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(44px,4.4vw,64px);letter-spacing:-.045em;line-height:1}
.og-pv span{display:block;font-size:14px;color:var(--mystic);margin-top:8px;line-height:1.35}
.og-row.open .og-pic{animation:kmUp .6s var(--ease) both}
.og-row.open .km-ppl i{animation:ogPop .45s var(--ease) both;animation-delay:calc(.35s + var(--k) * 55ms)}
@keyframes ogPop{0%{transform:scale(.2);opacity:0}70%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
@media (max-width:1100px){.og-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.og-pic{grid-column:1/-1;min-height:240px}}
@media (max-width:900px){.og-h{grid-template-columns:48px minmax(0,1fr) 32px}.og-face{width:48px;height:48px}.og-in{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.og-pic img{transform:none;transition:none}.og-row.open .km-ppl i{animation:none}}
#academy .og-acadw{margin-top:clamp(24px,3vw,40px)}
.og-how{display:flex;align-items:center}
.og-res{font-family:var(--display);font-weight:500;font-size:clamp(20px,1.8vw,26px)!important;line-height:1.25;letter-spacing:-.015em;color:var(--navy)}
/* live-site style list icons */
.ticks li.ic{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:16px;padding-left:0}
.ticks li.ic::before{display:none}
.ticks li.ic .sw-ic{grid-row:span 2;width:46px;height:46px;border-radius:14px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;box-shadow:0 10px 22px -16px rgba(38,55,77,.5);transition:background .4s,transform .45s var(--ease)}
.ticks li.ic .sw-ic svg{width:23px;height:23px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ticks li.ic:hover .sw-ic{background:var(--navy);transform:rotate(-4deg)}
.ticks li.ic:hover .sw-ic svg{stroke:#fff}
.ticks li.ic b,.ticks li.ic span:not(.sw-ic){grid-column:2}
.pa-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center;margin-top:clamp(20px,3vw,40px)}
.pa-player .rr{margin:0}
@media (max-width:900px){.pa-grid{grid-template-columns:1fr}}
.ticks li.ic::before,.ticks li.ic::after{display:none!important;content:none!important}
.pd-tl span{z-index:2}

/* ===== Use cases: what each person gets ===== */
.uc-hero{position:relative;overflow:hidden;padding:clamp(150px,16vw,200px) 0 clamp(70px,8vw,110px)}
.uc-hero::before{content:"";position:absolute;inset:-30% -10% auto;height:120%;background:radial-gradient(38% 40% at 18% 30%,rgba(157,178,191,.22),transparent 70%),radial-gradient(34% 36% at 85% 60%,rgba(83,109,130,.4),transparent 70%);animation:glowDrift 18s ease-in-out infinite alternate;pointer-events:none}
.uc-hero .wrap{position:relative}
.uc-hero .h-hero{max-width:none}
.uc-hero .hero-sub{max-width:40ch}
.uc-people{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:clamp(44px,5vw,70px)}
.uc-p{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(300px,30vw,400px);border-radius:24px;overflow:hidden;color:#fff;text-decoration:none;padding:20px;isolation:isolate;animation:ucFloat 7s ease-in-out infinite;animation-delay:calc(var(--d) * -1.3s);transition:transform .5s var(--ease)}
.uc-p:nth-child(even){margin-top:36px}
.uc-pi{position:absolute;inset:0;z-index:-1}
.uc-pi img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease),filter .6s}
.uc-pi::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,40,54,0) 30%,rgba(27,40,54,.92) 100%)}
.uc-pq{font-family:var(--display);font-size:clamp(16px,1.35vw,19px);line-height:1.25;letter-spacing:-.01em;opacity:.92;margin-bottom:12px}
.uc-p b{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;font-weight:600;color:var(--gull);display:flex;align-items:center;gap:8px}
.uc-p b::after{content:"→";transition:transform .4s var(--ease)}
.uc-p:hover{animation-play-state:paused}
.uc-p:hover .uc-pi img{transform:scale(1.1)}
.uc-p:hover b::after{transform:translateX(5px)}
@keyframes ucFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
@media (prefers-reduced-motion:reduce){.uc-p,.uc-hero::before{animation:none}}

/* sticky role bar */
.uc-nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.uc-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.uc-nk{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;font-weight:600;color:var(--bayoux);white-space:nowrap}
.uc-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.uc-chips::-webkit-scrollbar{display:none}
.uc-chips a{display:flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:999px;border:1px solid var(--line);color:var(--navy);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;transition:background .35s,color .35s,border-color .35s}
.uc-chips img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.uc-chips a:hover{border-color:var(--navy)}
.uc-chips a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
body.has-ucnav .nav{transition:transform .5s var(--ease)}

/* role chapters */
.uc-role{position:relative;padding-block:clamp(90px,10vw,140px);background:#fff;scroll-margin-top:60px}
.uc-role.band-mystic{background:var(--mystic)}
.uc-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,96px);align-items:center}
.uc-role:nth-of-type(odd) .uc-who{order:2}
.uc-who{position:relative}
.uc-ph{border-radius:28px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -50px rgba(27,40,54,.6)}
.uc-ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s var(--ease)}
.uc-who.in .uc-ph img{transform:scale(1)}
.uc-bub{position:absolute;left:-18px;bottom:72px;max-width:min(88%,360px);margin:0;background:#fff;color:var(--navy);font-family:var(--display);font-size:clamp(19px,1.7vw,24px);line-height:1.22;letter-spacing:-.015em;padding:20px 24px;border-radius:22px 22px 22px 6px;box-shadow:0 26px 50px -24px rgba(27,40,54,.45);transform:translateY(16px);opacity:0;transition:transform .9s var(--ease) .35s,opacity .9s .35s}
.uc-who.in .uc-bub{transform:none;opacity:1}
.uc-sees{position:absolute;left:18px;top:18px;display:inline-flex;align-items:center;gap:8px;background:rgba(27,40,54,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:12.5px;padding:8px 14px 8px 10px;border-radius:999px}
.uc-sees svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.uc-txt .eyebrow{gap:10px}
.uc-n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;letter-spacing:0}
.uc-txt h2{font-family:var(--display);font-weight:500;font-size:clamp(36px,4.2vw,62px);line-height:1.02;letter-spacing:-.035em;color:var(--navy);margin:0 0 30px}
.uc-txt h2 em{display:block;font-variation-settings:"ital" 11;color:var(--bayoux)}
.uc-gets{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.uc-gets li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.7);border:1px solid var(--line);transition:transform .45s var(--ease),background .4s,box-shadow .45s}
.uc-role:not(.band-mystic) .uc-gets li{background:var(--mystic-2,#F2F5F8)}
.uc-gets li:hover{transform:translateX(6px);background:#fff;box-shadow:0 20px 40px -30px rgba(27,40,54,.5)}
.uc-gi{width:46px;height:46px;border-radius:14px;background:var(--navy);display:grid;place-items:center}
.uc-gi svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.uc-gets b{display:block;font-weight:500;font-size:16.5px;color:var(--navy)}
.uc-gets span{display:block;font-size:14px;color:var(--sirocco);margin-top:2px}
.uc-stats{margin-top:28px}
.uc-stats small{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.uc-stats>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.uc-s{background:var(--navy);color:#fff;border-radius:18px;padding:18px 20px}
.uc-s b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(32px,3vw,44px);letter-spacing:-.04em;line-height:1}
.uc-s span{display:block;font-size:13.5px;color:var(--gull);margin-top:8px;line-height:1.35}
.uc-view{margin:clamp(50px,6vw,80px) 0 0;padding:clamp(18px,2.4vw,30px);border-radius:28px;background:linear-gradient(160deg,#2E425A,#1E2C3D);position:relative;overflow:hidden}
.uc-view::after{content:"";position:absolute;right:-15%;top:-50%;width:60%;height:140%;background:radial-gradient(closest-side,rgba(157,178,191,.22),transparent);pointer-events:none}
.uc-view figcaption{position:relative;z-index:1;font-size:11px;letter-spacing:2.6px;text-transform:uppercase;font-weight:600;color:var(--gull);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.uc-view figcaption::before{content:"";width:8px;height:8px;border-radius:50%;background:#7FD1A8;box-shadow:0 0 0 0 rgba(127,209,168,.6);animation:ucPulse 2.2s infinite}
@keyframes ucPulse{0%{box-shadow:0 0 0 0 rgba(127,209,168,.55)}70%{box-shadow:0 0 0 10px rgba(127,209,168,0)}100%{box-shadow:0 0 0 0 rgba(127,209,168,0)}}
.uc-screen{position:relative;z-index:1;display:flex;justify-content:center}
.uc-screen .og-mock{width:100%}

/* CFO ledger */
.uc-ledger{width:100%;max-width:820px;background:#fff;border-radius:20px;padding:clamp(20px,2.6vw,32px);color:var(--navy)}
.uc-lh{display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.uc-lr{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr) 76px;gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.uc-ln{font-size:14.5px}
.uc-lb{height:12px;border-radius:999px;background:var(--mystic);overflow:hidden}
.uc-lb i{display:block;height:100%;width:calc(var(--w)*100%);border-radius:999px;background:linear-gradient(90deg,var(--bayoux),var(--navy));transform-origin:left;transform:scaleX(0);transition:transform 1.3s var(--ease);transition-delay:calc(var(--i)*.08s)}
.uc-view.in .uc-lb i{transform:scaleX(1)}
.uc-lr b{font-family:var(--display);font-weight:500;font-size:19px;text-align:right;letter-spacing:-.02em}
.uc-lf{margin:14px 0 0;font-size:12.5px;color:var(--sirocco)}

/* how it works together */
.uc-cycle{position:relative;padding-block:clamp(100px,11vw,150px);overflow:hidden}
.uc-cycle .h2s{color:#fff}
.uc-steps{list-style:none;margin:clamp(40px,5vw,60px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative}
.uc-steps li{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(221,230,237,.14);border-radius:24px;padding:26px 24px 24px;display:flex;flex-direction:column;gap:6px;transition:transform .5s var(--ease),background .4s}
.uc-steps li:hover{transform:translateY(-6px);background:rgba(255,255,255,.1)}
.uc-isow{width:84px;height:84px;border-radius:22px;background:#fff;display:grid;place-items:center;margin-bottom:16px;box-shadow:0 18px 34px -18px rgba(0,0,0,.5);transition:transform .6s var(--ease)}
.uc-steps li:hover .uc-isow{transform:rotate(-4deg) scale(1.05)}
.uc-iso{width:56px;height:56px;object-fit:contain}
.uc-steps small{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;font-weight:600;color:var(--gull)}
.uc-steps b{font-family:var(--display);font-weight:500;font-size:clamp(22px,2vw,28px);letter-spacing:-.02em;line-height:1.12;color:#fff}
.uc-steps li>span{font-size:14.5px;color:rgba(221,230,237,.75)}
.uc-av{display:flex;margin-top:18px}
.uc-av img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #26374D;margin-left:-8px}
.uc-av img:first-child{margin-left:0}

/* who sees what */
.uc-priv{background:#fff}
.uc-tw{overflow-x:auto;border-radius:24px;border:1px solid var(--line)}
.uc-t{width:100%;border-collapse:collapse;min-width:640px}
.uc-t th,.uc-t td{padding:18px 16px;text-align:center;border-bottom:1px solid var(--line)}
.uc-t thead th{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux);background:var(--mystic-2,#F2F5F8)}
.uc-t tbody th{text-align:left;font-weight:500;font-size:16px;color:var(--navy);padding-left:24px}
.uc-t tbody tr:last-child>*{border-bottom:0}
.uc-t tbody tr{transition:background .3s}
.uc-t tbody tr:hover{background:var(--mystic-2,#F2F5F8)}
.uc-y{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy)}
.uc-y svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.uc-n0{color:rgba(38,55,77,.3)}
.uc-tnote{margin:16px 0 0;font-size:13.5px;color:var(--sirocco)}

@media (max-width:1000px){
  .uc-people{grid-template-columns:repeat(5,minmax(200px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}
  .uc-people::-webkit-scrollbar{display:none}
  .uc-p{scroll-snap-align:start;min-height:320px}
  .uc-p:nth-child(even){margin-top:0}
  .uc-top{grid-template-columns:1fr}
  .uc-role:nth-of-type(odd) .uc-who{order:0}
  .uc-ph{aspect-ratio:4/3}
  .uc-bub{left:12px;bottom:18px}
  .uc-steps{grid-template-columns:1fr}
  .uc-steps::before{display:none}
}
@media (max-width:620px){
  .uc-nk{display:none}
  .uc-nav .wrap{height:62px}
  .uc-stats>div{grid-template-columns:1fr}
  .uc-lr{grid-template-columns:minmax(0,1fr) 70px;gap:6px 12px}
  .uc-lb{grid-column:1/-1;grid-row:2}
  .uc-lh{flex-direction:column;gap:4px}
}
.uc-hbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;filter:saturate(.6);pointer-events:none}
.uc-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,55,77,.55),rgba(38,55,77,.92) 70%);pointer-events:none}
.uc-hero .wrap{z-index:2}
.uc-live{position:relative;overflow:hidden;min-height:min(78svh,720px);display:flex;align-items:flex-end;padding:clamp(120px,14vw,200px) 0 clamp(110px,12vw,160px);isolation:isolate}
.uc-live video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.uc-live::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(27,40,54,.85),rgba(27,40,54,.25) 70%),linear-gradient(0deg,rgba(27,40,54,.7),transparent 50%)}
.uc-live h2{font-family:var(--display);font-weight:500;font-size:clamp(40px,5.6vw,84px);line-height:1;letter-spacing:-.04em;color:#fff;margin:0 0 20px;max-width:14ch}
.uc-live h2 em{font-variation-settings:"ital" 11;color:var(--mystic)}
.uc-live .lead{color:rgba(255,255,255,.85);margin:0}
@media (prefers-reduced-motion:reduce){.uc-live video,.uc-hbg{display:none}.uc-live{background:url(/assets/v2/v-life.jpg) center/cover}}

/* icon tiles v2: brand line icons, white tile, accent stroke, draw-in */
.uc-gi{width:54px;height:54px;border-radius:17px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 26px -18px rgba(38,55,77,.55);display:grid;place-items:center;flex:none;transition:background .45s var(--ease),border-color .45s,transform .5s var(--ease)}
.uc-gi svg{width:27px;height:27px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.uc-gi svg .a{stroke:var(--bayoux);stroke-width:1.8}
.uc-gets li{grid-template-columns:54px minmax(0,1fr)}
.uc-gets li:hover .uc-gi,.av-hw:hover .uc-gi,.av-pl:hover .av-pli{background:var(--navy);border-color:var(--navy);transform:rotate(-4deg)}
.uc-gets li:hover .uc-gi svg,.av-hw:hover .uc-gi svg{stroke:#fff}
.uc-gets li:hover .uc-gi svg .a,.av-hw:hover .uc-gi svg .a{stroke:#F0C969}
.rv .uc-gi svg *,.rv.uc-gi svg *{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.4,.1,.2,1) .25s}
.rv .uc-gi svg .a{transition-delay:.7s}
.in .uc-gi svg *{stroke-dashoffset:0}
.av-hw .uc-gi{background:#fff}
.av-how .av-hw .uc-gi{border-color:transparent}
.av-pli{background:#fff!important;border:1px solid var(--line)}
.av-pli svg{stroke:var(--navy)!important}
.av-pli svg .a{stroke:var(--bayoux)!important}
.av-k svg .a{stroke:currentColor}
.uc-gets .uc-gi{display:grid;margin-top:0}

/* ---- example screens: the page itself, light and interactive ---- */
.uc-view{background:none!important;padding:0!important;border-radius:0!important;overflow:visible!important;margin-top:clamp(44px,5vw,70px)}
.uc-view::after{display:none!important}
.uc-view figcaption{display:flex!important;justify-content:space-between;align-items:center;color:var(--bayoux)!important;margin-bottom:14px}
.uc-view figcaption::before{display:none}
.uc-view figcaption em{font-style:normal;display:inline-flex;align-items:center;gap:8px;letter-spacing:1.6px}
.uc-view figcaption em::before{content:"";width:8px;height:8px;border-radius:50%;background:#7FD1A8;animation:ucPulse 2.2s infinite}
.ua{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 50px 90px -60px rgba(27,40,54,.55);overflow:hidden;color:var(--navy)}
.ua-top{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--mystic-2,#F2F5F8)}
.ua-dots{display:flex;gap:6px}.ua-dots i{width:10px;height:10px;border-radius:50%;background:rgba(38,55,77,.16)}
.ua-t{font-size:13px;font-weight:600;color:var(--navy)}
.ua-hint{margin-left:auto;font-size:12px;color:var(--bayoux);display:inline-flex;align-items:center;gap:6px}
.ua-hint::before{content:"";width:16px;height:16px;border-radius:50%;border:1.5px solid var(--bayoux);box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 8px var(--bayoux);animation:uaTap 1.8s ease-in-out infinite}
@keyframes uaTap{0%,100%{transform:scale(1)}50%{transform:scale(.8)}}
.ua-in{display:flex;min-height:340px}
.ua-side{flex:none;width:220px;border-right:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:6px;background:#FBFCFD}
.ua-tab{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;font-size:15px;color:var(--navy);transition:background .3s}
.ua-tab b{font-family:var(--display);font-weight:500;font-size:18px}
.ua-tab:hover{background:var(--mystic)}
.ua-tab.on{background:var(--navy);color:#fff}
.ua-tab:focus-visible,.ua-kpi:focus-visible,.ua-lr:focus-visible,.ua-tb tr:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.ua-main{flex:1;min-width:0;padding:clamp(20px,2.6vw,34px)}
.ua-p.on,.ua-det.on{animation:kmUp .45s var(--ease) both}
.ua-k{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin-bottom:12px}
.ua-score{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ua-score>b{font-family:var(--display);font-weight:500;font-size:clamp(54px,6vw,84px);letter-spacing:-.05em;line-height:1}
.ua-score>span{color:var(--sirocco)}
.ua-score .ua-bar{flex-basis:100%;margin-top:10px}
.ua-bar{display:block;height:10px;border-radius:999px;background:var(--mystic);overflow:hidden;min-width:60px}
.ua-bar b{display:block;height:100%;width:calc(var(--v)*100%);border-radius:999px;background:linear-gradient(90deg,var(--bayoux),var(--navy));transform-origin:left;animation:uaGrow 1s var(--ease) both}
@keyframes uaGrow{from{transform:scaleX(0)}}
.ua-say{font-size:17px;line-height:1.5;margin:18px 0 22px;max-width:52ch}
.ua-course{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--mystic-2,#F2F5F8);max-width:520px;transition:transform .4s var(--ease)}
.ua-course:hover{transform:translateX(4px)}
.ua-course small{display:block;font-size:12px;color:var(--bayoux)}
.ua-course b{font-weight:500;font-size:16px}
.ua-play{width:40px;height:40px;border-radius:50%;background:var(--navy);flex:none;position:relative}
.ua-play::after{content:"";position:absolute;left:15px;top:12px;border-left:12px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent}
.ua-go{margin-left:auto;font-size:13px;font-weight:600;color:var(--navy);white-space:nowrap}
.ua-g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:start}
.ua-g2.wide{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr)}
.ua-h{font-family:var(--display);font-weight:500;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.02em;line-height:1.2;margin:0 0 18px}
.ua-rows{display:grid;gap:12px}
.ua-row{display:grid;grid-template-columns:90px 1fr 34px;align-items:center;gap:12px;font-size:14.5px}
.ua-row b{font-family:var(--display);font-weight:500;text-align:right}
.ua-row.warn .ua-bar b{background:linear-gradient(90deg,#E6B85C,#C98A2E)}
.ua-plan{background:var(--mystic-2,#F2F5F8);border-radius:18px;padding:20px}
.ua-acts{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.ua-acts label{display:flex;align-items:center;gap:12px;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;transition:border-color .3s,background .3s}
.ua-acts input{position:absolute;opacity:0;pointer-events:none}
.ua-ck{width:22px;height:22px;border-radius:7px;border:1.5px solid rgba(38,55,77,.35);flex:none;display:grid;place-items:center;transition:background .3s,border-color .3s}
.ua-acts input:checked+.ua-ck{background:var(--navy);border-color:var(--navy)}
.ua-acts input:checked+.ua-ck::after{content:"";width:10px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.ua-acts input:checked~span:last-child{color:var(--sirocco);text-decoration:line-through}
.ua-acts input:focus-visible+.ua-ck{outline:2px solid var(--navy);outline-offset:2px}
.ua-prog i{display:block;height:8px;border-radius:999px;background:#fff;overflow:hidden}
.ua-prog i b{display:block;height:100%;width:0;background:#7FD1A8;transition:width .6s var(--ease)}
.ua-prog span{display:block;font-size:13px;color:var(--bayoux);margin-top:8px}
.ua-prog em{font-style:normal;font-weight:700;color:var(--navy)}
.ua-tb{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:14.5px}
.ua-tb th{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:600;color:var(--bayoux);text-align:center;padding:0 4px 4px}
.ua-tb tbody th{text-align:left;font-size:15px;letter-spacing:0;text-transform:none;color:var(--navy);font-weight:500;padding:0 10px}
.ua-tb tbody tr{cursor:pointer}
.ua-tb tbody tr>*{background:var(--mystic-2,#F2F5F8);padding:10px 6px;transition:background .3s}
.ua-tb tbody tr>*:first-child{border-radius:12px 0 0 12px}.ua-tb tbody tr>*:last-child{border-radius:0 12px 12px 0}
.ua-tb tbody tr:hover>*{background:var(--mystic)}
.ua-tb tbody tr.on>*{background:var(--navy);color:#fff}
.ua-tb td{text-align:center}
.ua-c{display:inline-grid;place-items:center;min-width:42px;height:30px;border-radius:9px;font-weight:600;font-size:14px}
.ua-c.l1{background:#F3D3A1;color:#5C3B0A}.ua-c.l2{background:#F6E3BE;color:#5C3B0A}.ua-c.l3{background:#DDE6ED;color:var(--navy)}.ua-c.l4{background:#B9CCD9;color:var(--navy)}
.ua-note{background:var(--mystic-2,#F2F5F8);border-radius:18px;padding:22px}
.ua-nd{display:block;font-family:var(--display);font-weight:500;font-size:28px;letter-spacing:-.02em}
.ua-note p{font-size:15px;line-height:1.5;margin:8px 0 16px}
.ua-nl{font-weight:700}
.ua-pill{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.ua-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#7FD1A8}
.ua-gauge svg{width:100%;max-width:340px;display:block}
.ua-gt{fill:none;stroke:var(--mystic);stroke-width:16;stroke-linecap:round}
.ua-gv{fill:none;stroke:var(--navy);stroke-width:16;stroke-linecap:round;stroke-dasharray:var(--v) 100;animation:uaArc 1.4s var(--ease) both}
@keyframes uaArc{from{stroke-dasharray:0 100}}
.ua-med{stroke:#E6B85C;stroke-width:3;stroke-linecap:round}
.ua-gn{margin-top:-46px;text-align:center;max-width:340px}
.ua-gn b{display:block;font-family:var(--display);font-weight:500;font-size:56px;letter-spacing:-.04em;line-height:1}
.ua-gn span{font-size:13px;color:var(--sirocco)}
.ua-kpis{display:grid;gap:8px}
.ua-kpi{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;transition:background .3s,border-color .3s}
.ua-kpi span{font-size:15px}
.ua-kpi b{font-family:var(--display);font-weight:500;font-size:24px}
.ua-kpi em{font-style:normal;font-size:12px;font-weight:600;letter-spacing:.5px}
.ua-kpi em.up{color:#2E8B62}.ua-kpi em.down{color:#B4572B}
.ua-kpi:hover{border-color:var(--navy)}
.ua-kpi.on{background:var(--navy);border-color:var(--navy);color:#fff}
.ua-kpi.on em.up{color:#9BE3BE}.ua-kpi.on em.down{color:#F3C28F}
.ua-ceosay{font-size:16px;margin:14px 0 0}
.ua-ledger{display:grid;gap:4px}
.ua-lr{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:150px 1fr 70px;gap:12px;align-items:center;padding:9px 10px;border-radius:10px;font-size:14px;transition:background .3s}
.ua-lr i{display:block;height:10px;border-radius:999px;background:var(--mystic);overflow:hidden}
.ua-lr i b{display:block;height:100%;width:calc(var(--w)*100%);border-radius:999px;background:linear-gradient(90deg,var(--bayoux),var(--navy));transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--ease);transition-delay:calc(var(--i)*.07s)}
.uc-view.in .ua-lr i b{transform:scaleX(1)}
.ua-lr strong{font-family:var(--display);font-weight:500;font-size:17px;text-align:right}
.ua-lr:hover{background:var(--mystic-2,#F2F5F8)}
.ua-lr.on{background:var(--navy);color:#fff}
.ua-lr.on i{background:rgba(255,255,255,.2)}.ua-lr.on i b{background:#F0C969}
.ua-d3{display:grid;gap:10px}
.ua-d3>div{background:#fff;border-radius:14px;padding:14px 16px;border:1px solid var(--line)}
.ua-d3 b{display:block;font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:-.03em}
.ua-d3 span{font-size:13.5px;color:var(--sirocco)}
.ua-src{font-size:12px;color:var(--sirocco);margin:12px 0 0}
@media (max-width:900px){
  .ua-in{flex-direction:column}
  .ua-side{width:auto;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}
  .ua-tab{flex:none;gap:10px}
  .ua-g2,.ua-g2.wide{grid-template-columns:1fr}
  .ua-hint{display:none}
}
@media (max-width:560px){.ua-lr{grid-template-columns:1fr 64px}.ua-lr i{grid-column:1/-1;grid-row:2}.ua-tb{font-size:13px}.ua-c{min-width:34px}}
.ua-g2.wide>div:first-child{overflow-x:auto;min-width:0}
.uc-view figcaption{flex-wrap:wrap;gap:6px 14px}
@media (max-width:560px){.ua-tb th{font-size:9.5px;letter-spacing:.8px}.ua-tb tbody th{font-size:13.5px;padding:0 6px}.ua-tb tbody tr>*{padding:8px 3px}.ua-c{min-width:30px;height:26px;font-size:12.5px}.ua-main{padding:16px}}

/* ---- employee dashboard: the real platform look (sage) ---- */
.pf{display:flex;background:#7D9686;border:0;color:#fff;min-height:620px;font-size:15px}
.pf-side{flex:none;width:230px;background:#728B7B;padding:20px 14px;display:flex;flex-direction:column;gap:6px;border-right:1px solid rgba(255,255,255,.12)}
.pf-brand{padding:4px 8px 14px}
.pf-lab{display:block;font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:rgba(255,255,255,.6);margin:10px 8px 4px}
.pf-role{border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:10px 12px}
.pf-role b{display:block;font-weight:500}.pf-role small{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:rgba(255,255,255,.65)}
.pf-nav{display:grid;gap:2px}
.pf-n{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;color:rgba(255,255,255,.92);transition:background .3s}
.pf-n.sub{padding-left:28px;font-size:14px}
.pf-n.off{cursor:default;color:rgba(255,255,255,.75)}
.pf-n svg,.pf-as svg,.pf-cart svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pf-n:not(.off):hover{background:rgba(255,255,255,.1)}
.pf-n.on{background:rgba(255,255,255,.16)}
.pf-n:focus-visible,.pf-card:focus-visible,.pf-btn:focus-visible,.pf-back:focus-visible{outline:2px solid #fff;outline-offset:2px}
.pf-me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 8px 0;border-top:1px solid rgba(255,255,255,.14)}
.pf-me>span{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:12px;font-weight:600}
.pf-me b{display:block;font-weight:500;font-size:14px}.pf-me small{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:rgba(255,255,255,.65)}
.pf-main{flex:1;min-width:0;padding:clamp(22px,3vw,40px)}
.pf-v.on{animation:kmUp .45s var(--ease) both}
.pf-hi{font-family:var(--display);font-weight:500;font-size:clamp(30px,3.4vw,46px);letter-spacing:-.04em;line-height:1;margin:0}
.pf-sub{color:rgba(255,255,255,.75);margin:12px 0 22px}.pf-sub b{color:#fff;font-weight:500}.pf-sub.sm{margin:4px 0 14px;font-size:14px}
.pf-hero{position:relative;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(255,255,255,.08);padding:26px 20px 24px;text-align:center;overflow:hidden}
.pf-hero::before{content:"";position:absolute;left:-10%;right:-10%;bottom:-40px;height:120px;border-top:1.5px solid rgba(255,255,255,.18);border-radius:50% 50% 0 0}
.pf-ring{width:150px;height:150px;transform:rotate(-90deg)}
.pf-ring circle{fill:none;stroke-width:6;stroke-linecap:round}
.pf-ring .t{stroke:rgba(255,255,255,.18)}.pf-ring .v{stroke:#fff;stroke-dasharray:72 100;animation:pfRing 1.6s var(--ease) both}
@keyframes pfRing{from{stroke-dasharray:0 100}}
.pf-rn{position:absolute;left:0;right:0;top:66px}
.pf-rn b{display:block;font-family:var(--display);font-weight:500;font-size:46px;letter-spacing:-.04em;line-height:1}
.pf-rn span{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:rgba(255,255,255,.75)}
.pf-delta{display:inline-block;margin-top:10px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#CFEBDB;border:1px solid rgba(207,235,219,.5);border-radius:999px;padding:4px 12px}
.pf-big{position:relative;font-size:clamp(17px,1.6vw,21px);line-height:1.4;max-width:30ch;margin:14px auto 16px}
.pf-btn{all:unset;cursor:pointer;position:relative;background:#fff;color:#2A3A32;border-radius:999px;padding:12px 22px;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;transition:transform .3s}
.pf-btn:hover{transform:translateY(-2px)}
.pf-h5{font-family:var(--display);font-weight:500;font-size:22px;margin:26px 0 0}
.pf-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pf-card{all:unset;box-sizing:border-box;cursor:pointer;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(255,255,255,.08);padding:14px 14px 12px;min-height:118px;display:flex;flex-direction:column;transition:background .3s,transform .35s var(--ease)}
.pf-card:hover{background:rgba(255,255,255,.16);transform:translateY(-3px)}
.pf-cn{font-size:14px}.pf-cd{position:absolute;right:12px;top:12px;font-size:11px;color:rgba(255,255,255,.75)}
.pf-card b{margin-top:auto;font-family:var(--display);font-weight:500;font-size:38px;letter-spacing:-.04em;line-height:1}
.pf-card b small,.pf-as small{font-size:11px;color:rgba(255,255,255,.65);letter-spacing:0;margin-left:3px}
.pf-cart{position:absolute;right:10px;bottom:6px;opacity:.35}.pf-cart svg{width:46px;height:46px;stroke-width:1}
.pf-back{all:unset;cursor:pointer;color:rgba(255,255,255,.85);font-size:14px;margin-bottom:16px;display:inline-block}
.pf-ah{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.pf-cyc{display:block;margin-top:10px;font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:#F0D58A}
.pf-as{display:flex;align-items:baseline;gap:6px}.pf-as svg{width:30px;height:30px;color:#F0D58A;align-self:center}
.pf-as b{font-family:var(--display);font-weight:500;font-size:56px;letter-spacing:-.05em;line-height:1}
.pf-say{font-size:clamp(17px,1.6vw,20px);line-height:1.45;margin:22px 0 18px;max-width:52ch}
.pf-drv{border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(255,255,255,.08);padding:16px 18px;display:grid;gap:12px}
.pf-dh{display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:rgba(255,255,255,.7)}
.pf-dh.solo{margin:20px 0 10px}
.pf-dr{display:grid;grid-template-columns:150px 1fr 34px;gap:14px;align-items:center;font-size:14.5px}
.pf-dr i{display:block;height:4px;border-radius:999px;background:rgba(255,255,255,.2);overflow:hidden}
.pf-dr i b{display:block;height:100%;width:calc(var(--v)*100%);background:#fff;border-radius:999px;transform-origin:left;animation:uaGrow 1s var(--ease) both}
.pf-dr em{font-style:normal;text-align:right;color:rgba(255,255,255,.85);font-size:13px}
.pf-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.pf-course{position:relative;border-radius:16px;background:linear-gradient(155deg,#3B454D,#232A31);border-top:3px solid #F0D58A;padding:16px;min-height:110px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px}
.pf-course small{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:rgba(255,255,255,.6)}
.pf-course b{font-weight:500;font-size:15.5px;line-height:1.25}
.pf-play{position:absolute;right:12px;top:12px;width:30px;height:30px;border-radius:50%;background:#fff}
.pf-play::after{content:"";position:absolute;left:12px;top:9px;border-left:9px solid #232A31;border-top:6px solid transparent;border-bottom:6px solid transparent}
@media (max-width:900px){.pf{flex-direction:column}.pf-side{width:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.pf-nav{grid-auto-flow:column;overflow-x:auto}.pf-n.sub{padding-left:12px}.pf-n.off,.pf-me,.pf-lab,.pf-role{display:none}.pf-n{white-space:nowrap}.pf-cards{grid-template-columns:1fr 1fr}.pf-dr{grid-template-columns:110px 1fr 30px}}
.pf-ring{display:block;margin:0 auto}

/* ---- employee: phone first ---- */
.ph-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center;justify-content:center}
.ph-wrap .ph{position:relative;width:min(100%,380px);height:760px;border-radius:52px;background:#1B2127;padding:12px;box-shadow:0 60px 100px -50px rgba(27,40,54,.7),inset 0 0 0 2px #2c353d}
.ph-notch{position:absolute;left:50%;top:22px;transform:translateX(-50%);width:96px;height:26px;border-radius:999px;background:#0e1215;z-index:5}
.ph-wrap .ph .pf{height:100%;min-height:0;border-radius:40px;overflow:hidden;flex-direction:column}
.ph-wrap .ph .pf-side{display:none}
.ph-wrap .ph .pf-main{height:100%;overflow-y:auto;padding:58px 18px 22px;scrollbar-width:none}
.ph-wrap .ph .pf-main::-webkit-scrollbar{display:none}
.ph-wrap .ph .pf-hi{font-size:30px}
.ph-wrap .ph .pf-sub{font-size:13.5px;margin:8px 0 16px}
.ph-wrap .ph .pf-hero{padding:18px 14px 18px}
.ph-wrap .ph .pf-ring{width:120px;height:120px}
.ph-wrap .ph .pf-rn{top:44px}.ph-wrap .ph .pf-rn b{font-size:38px}
.ph-wrap .ph .pf-big{font-size:16px}
.ph-wrap .ph .pf-cards{grid-template-columns:1fr 1fr;gap:8px}
.ph-wrap .ph .pf-card{min-height:104px;padding:12px}
.ph-wrap .ph .pf-card b{font-size:32px}
.ph-wrap .ph .pf-h5{font-size:19px;margin-top:20px}
.ph-wrap .ph .pf-ah{gap:10px}.ph-wrap .ph .pf-as b{font-size:40px}.ph-wrap .ph .pf-as svg{width:22px;height:22px}
.ph-wrap .ph .pf-say{font-size:16px;margin:16px 0 14px}
.ph-wrap .ph .pf-dr{grid-template-columns:104px 1fr 26px;gap:8px;font-size:12.5px}
.ph-wrap .ph .pf-drv{padding:14px}
.ph-wrap .ph .pf-courses{grid-template-columns:1fr}
.ph-side b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(26px,2.6vw,36px);letter-spacing:-.03em;line-height:1.1;color:var(--navy)}
.ph-side p{font-size:16.5px;line-height:1.5;color:var(--sirocco);margin:14px 0 18px;max-width:40ch}
.ph-side ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ph-side li{display:flex;align-items:center;gap:12px;font-size:15.5px;color:var(--navy)}
.ph-side li::before{content:"";width:10px;height:10px;border-radius:50%;background:#7D9686;box-shadow:0 0 0 4px rgba(125,150,134,.2);flex:none}
@media (max-width:820px){.ph-wrap{grid-template-columns:1fr;justify-items:center}.ph-wrap .ph{height:700px}.ph-side{max-width:420px}}
@media (max-width:400px){.ph-wrap .ph{height:640px;border-radius:44px;padding:10px}.ph-wrap .ph .pf{border-radius:34px}}

/* ---- real platform screens viewer ---- */
.sv .ua-top{gap:10px;flex-wrap:wrap}
.sv-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;min-width:0}
.sv-tabs::-webkit-scrollbar{display:none}
.sv-tab{all:unset;cursor:pointer;white-space:nowrap;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--navy);transition:background .3s,color .3s}
.sv-tab:hover{background:var(--mystic)}
.sv-tab.on{background:var(--navy);color:#fff}
.sv-tab:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.sv-stage{all:unset;cursor:zoom-in;display:grid;position:relative;background:#26374D;width:100%}
.sv-img{grid-area:1/1;width:100%;height:auto;display:block;opacity:0;transform:scale(1.015);transition:opacity .5s,transform .8s var(--ease)}
.sv-img.on{opacity:1;transform:none}
.sv-stage:focus-visible{outline:3px solid var(--navy);outline-offset:-3px}
.sv-cap{margin:0;padding:14px 20px;font-size:14.5px;color:var(--sirocco);border-top:1px solid var(--line)}
.sv-zoom{position:fixed;inset:0;z-index:220;background:rgba(14,20,28,.86);display:flex;align-items:center;justify-content:center;padding:clamp(10px,3vw,40px);cursor:zoom-out;animation:pdFade .3s ease both}
.sv-zoom img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 40px 100px -30px rgba(0,0,0,.7)}
.sv-zoom button{all:unset;cursor:pointer;position:absolute;right:20px;top:16px;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-size:26px}
.ph-wrap .ph .pf-rn span{font-size:8px;letter-spacing:1.3px}.ph-wrap .ph .pf-rn{top:42px}
/* role bar: chips never squash; on phones they share the row evenly */
.uc-chips a{flex:none}
@media (max-width:640px){
  .uc-nav .wrap{padding-left:12px;padding-right:12px}
  .uc-chips{width:100%;gap:6px}
  .uc-chips a{flex:1 0 auto;justify-content:center;padding:8px 10px;font-size:13px;gap:0}
  .uc-chips img{display:none}
}
@media (max-width:900px){.uc-nav .uc-nk{display:none}.uc-nav .wrap{justify-content:center}}
@media (max-width:360px){.uc-chips{gap:4px}.uc-chips a{padding:7px 7px;font-size:12px}}

/* ===== Advisory ===== */
.av-hero{position:relative;overflow:hidden;padding:clamp(140px,15vw,190px) 0 clamp(80px,9vw,120px)}
.av-hero::before{content:"";position:absolute;inset:-30% -10% auto;height:130%;background:radial-gradient(36% 40% at 15% 30%,rgba(157,178,191,.22),transparent 70%),radial-gradient(34% 40% at 85% 55%,rgba(83,109,130,.42),transparent 70%);animation:glowDrift 18s ease-in-out infinite alternate;pointer-events:none}
.av-hgrid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,80px);align-items:center}
.av-hero .h-hero{max-width:none;font-size:clamp(44px,5.6vw,88px)}
.av-hero .hero-sub{max-width:36ch}
.av-col{position:relative;height:clamp(420px,42vw,580px)}
.av-col figure{position:absolute;margin:0;border-radius:28px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.av-col img{width:100%;height:100%;object-fit:cover}
.av-c1{left:0;top:0;width:78%;height:66%;animation:ucFloat 9s ease-in-out infinite}
.av-c2{right:0;bottom:0;width:62%;height:50%;border:6px solid var(--navy);animation:ucFloat 8s ease-in-out infinite;animation-delay:-3s}
.av-chips{position:absolute;inset:0;pointer-events:none}
.av-chip{position:absolute;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);color:var(--navy);font-size:13.5px;font-weight:500;padding:10px 16px 10px 12px;border-radius:999px;box-shadow:0 18px 36px -18px rgba(0,0,0,.55);white-space:nowrap;opacity:0;transform:translateY(14px) scale(.96);animation:avChip .8s var(--ease) forwards,ucFloat 6s ease-in-out infinite;animation-delay:calc(.6s + var(--d)*.18s),calc(var(--d)*-1.1s)}
.av-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--bayoux)}
.av-chip:nth-child(1){left:-6%;top:58%}
.av-chip:nth-child(2){right:-2%;top:6%}
.av-chip:nth-child(3){left:46%;top:44%}
.av-chip:nth-child(4){left:4%;bottom:4%}
.av-chip:nth-child(5){right:8%;top:30%}
@keyframes avChip{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.av-c1,.av-c2,.av-hero::before{animation:none}.av-chip{animation:none;opacity:1;transform:none}}

/* platform alone vs with advisors */
.av-duo{background:#fff}
.av-sw{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;background:var(--mystic);border-radius:999px;padding:5px;margin-bottom:34px}
.av-sw button{all:unset;position:relative;z-index:1;cursor:pointer;padding:13px 26px;font-size:14.5px;font-weight:500;color:var(--bayoux);text-align:center;border-radius:999px;transition:color .4s}
.av-sw button[aria-selected=true]{color:#fff}
.av-sw button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.av-knob{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:var(--navy);transition:transform .55s var(--ease)}
.av-duo[data-mode=adv] .av-knob{transform:translateX(100%)}
.av-dg{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:clamp(24px,4vw,60px);align-items:center}
.av-board{position:relative;background:linear-gradient(160deg,#2E425A,#1E2C3D);border-radius:28px;padding:clamp(18px,2.4vw,30px);color:#fff;overflow:hidden}
.av-bh{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2.4px;text-transform:uppercase;font-weight:600;color:var(--gull)}
.av-live{display:inline-flex;align-items:center;gap:8px}
.av-live::before{content:"";width:8px;height:8px;border-radius:50%;background:#7FD1A8;animation:ucPulse 2.2s infinite}
.av-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.av-kpi div{background:rgba(255,255,255,.07);border-radius:16px;padding:14px 16px}
.av-kpi small{display:block;font-size:12px;color:var(--gull)}
.av-kpi b{font-family:var(--display);font-weight:500;font-size:clamp(28px,2.8vw,40px);letter-spacing:-.04em}
.av-cells{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px}
.av-cell{position:relative;background:#fff;color:var(--navy);border-radius:16px;padding:14px;min-height:170px;transition:box-shadow .5s,transform .5s var(--ease)}
.av-cell small{display:block;font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin-bottom:10px}
.av-dom div{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:8px;font-size:12.5px;margin:7px 0}
.av-dom i{display:block;height:7px;border-radius:999px;background:linear-gradient(90deg,var(--navy) calc(var(--v)*100%),var(--mystic) 0)}
.av-q{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.av-q span{display:grid;place-items:center;text-align:center;font-size:11.5px;background:var(--mystic);border-radius:10px;min-height:52px;padding:4px}
.av-q .on{background:var(--navy);color:#fff}
.av-q .hot{background:rgba(240,201,105,.4);color:var(--navy)}
.av-tp ul{list-style:none;margin:0;padding:0}
.av-tp li{font-size:12.5px;padding:7px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.av-tp li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bayoux)}
.av-pin{position:absolute;top:-10px;right:-10px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#F0C969;color:var(--navy);font-style:normal;font-weight:700;font-size:14px;box-shadow:0 0 0 4px rgba(240,201,105,.3);transform:scale(0);transition:transform .5s var(--ease);transition-delay:calc(var(--p)*.15s)}
.av-experts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s,margin .6s}
.av-experts span{display:flex;align-items:center;gap:10px;font-size:13px;background:rgba(240,201,105,.12);border:1px solid rgba(240,201,105,.35);border-radius:14px;padding:10px 12px;line-height:1.25}
.av-experts em{flex:none;width:24px;height:24px;border-radius:50%;background:#F0C969;color:var(--navy);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:12px}
.av-duo[data-mode=adv] .av-pin{transform:scale(1)}
.av-duo[data-mode=adv] .av-cell{box-shadow:0 0 0 2px #F0C969;transform:translateY(-3px)}
.av-duo[data-mode=adv] .av-experts{max-height:200px;opacity:1;margin-top:12px}
.av-side{position:relative;display:grid}
.av-sp{grid-area:1/1;transition:opacity .5s,transform .6s var(--ease)}
.av-duo[data-mode=plat] .av-sp[data-p=adv],.av-duo[data-mode=adv] .av-sp[data-p=plat]{opacity:0;transform:translateY(14px);pointer-events:none}
.av-sp small{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.av-sp h3{font-family:var(--display);font-weight:500;font-size:clamp(32px,3.4vw,50px);letter-spacing:-.035em;line-height:1.02;color:var(--navy);margin:10px 0 24px}
.av-sp h3 em{display:block;font-variation-settings:"ital" 11;color:var(--bayoux)}
.av-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.av-list li{display:grid;grid-template-columns:30px 1fr;gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}
.av-list b{display:block;font-weight:500;font-size:16.5px;color:var(--navy)}
.av-list span:not(.uc-y){display:block;font-size:14px;color:var(--sirocco);margin-top:2px}

/* six challenges */
.av-cg{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(20px,3vw,40px);align-items:start}
.av-tabs{display:grid;gap:8px}
.av-t{all:unset;box-sizing:border-box;cursor:pointer;position:relative;overflow:hidden;display:grid;grid-template-columns:34px 1fr;column-gap:12px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.55);border:1px solid var(--line);transition:background .4s,transform .45s var(--ease)}
.av-t small{grid-row:span 2;font-size:12px;font-weight:600;color:var(--bayoux);padding-top:4px}
.av-t b{font-weight:500;font-size:17px;color:var(--navy)}
.av-t span{font-size:13.5px;color:var(--sirocco)}
.av-t:hover{background:#fff;transform:translateX(4px)}
.av-t.on{background:var(--navy);border-color:var(--navy)}
.av-t.on b{color:#fff}.av-t.on span,.av-t.on small{color:var(--gull)}
.av-t:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.av-tm{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#F0C969;transform:scaleX(0);transform-origin:left}
.av-panes{position:relative}
.av-p[hidden]{display:none}
.av-p{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 40px 80px -60px rgba(27,40,54,.6)}
.av-p.on{animation:kmUp .6s var(--ease) both}
.av-ph{position:relative;height:clamp(260px,26vw,360px);overflow:hidden}
.av-ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 5s cubic-bezier(.2,.7,.1,1)}
.av-p.on .av-ph img{transform:scale(1)}
.av-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,40,54,0) 35%,rgba(27,40,54,.88))}
.av-pt{position:absolute;left:clamp(20px,2.4vw,32px);right:20px;bottom:clamp(18px,2vw,26px);z-index:1;color:#fff}
.av-pt small{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;font-weight:600;color:var(--mystic)}
.av-pt h3{font-family:var(--display);font-weight:500;font-size:clamp(26px,2.8vw,40px);letter-spacing:-.03em;line-height:1.05;margin:8px 0 0;max-width:20ch}
.av-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.av-3>div{padding:clamp(18px,2.2vw,28px);border-right:1px solid var(--line)}
.av-3>div:last-child{border-right:0}
.av-k{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin-bottom:10px}
.av-k svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.av-3 p{margin:0;font-size:15px;line-height:1.5;color:var(--navy)}
.av-get{background:var(--navy)}
.av-get .av-k{color:#F0C969}.av-get p{color:#fff;font-weight:500}
.av-p.on .av-3>div{animation:kmUp .55s var(--ease) both}
.av-p.on .av-3>div:nth-child(2){animation-delay:.08s}.av-p.on .av-3>div:nth-child(3){animation-delay:.16s}

/* how we work */
.av-how{position:relative;padding-block:clamp(100px,11vw,150px) 0;overflow:hidden}
.av-how .h2s{color:#fff}
.av-hws{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(30px,4vw,50px)}
.av-hw{background:rgba(255,255,255,.06);border:1px solid rgba(221,230,237,.14);border-radius:24px;padding:24px;display:flex;flex-direction:column;transition:transform .5s var(--ease),background .4s}
.av-hw:hover{transform:translateY(-6px);background:rgba(255,255,255,.1)}
.av-hw .uc-gi{background:#fff}
.av-hw .uc-gi svg{stroke:var(--navy)}
.av-hw h3{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.02em;line-height:1.15;color:#fff;margin:18px 0 10px}
.av-hw p{font-size:14.5px;line-height:1.5;color:rgba(221,230,237,.78);margin:0 0 18px}
.av-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.av-tags span{font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid rgba(221,230,237,.25);color:var(--mystic)}
.av-mq{position:relative;z-index:2;margin-top:clamp(60px,7vw,90px);padding:26px 0 clamp(80px,9vw,110px);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.av-mq>div{display:flex;gap:56px;width:max-content;animation:avMq 32s linear infinite}
.av-mq span{font-family:var(--display);font-size:clamp(28px,3.4vw,48px);letter-spacing:-.03em;color:rgba(221,230,237,.35);white-space:nowrap;display:flex;align-items:center;gap:56px}
.av-mq span::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--bayoux)}
@keyframes avMq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.av-mq>div{animation:none}}

/* library */
.av-lib{background:#fff}

/* belief + chart */
.av-bg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.av-q1{margin:0 0 24px;font-family:var(--display);font-weight:500;font-size:clamp(32px,3.6vw,54px);line-height:1.08;letter-spacing:-.035em;color:var(--navy)}
.av-q1 em{font-variation-settings:"ital" 11;color:var(--bayoux)}
.av-chart{margin:0;background:#fff;border-radius:28px;padding:clamp(18px,2.4vw,30px);box-shadow:0 40px 80px -60px rgba(27,40,54,.6)}
.av-chart figcaption{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2.4px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin-bottom:10px}
.av-chart svg{width:100%;height:auto;display:block}
.av-chart text{font-size:12px;fill:var(--sirocco)}
.av-ax{stroke:var(--line);stroke-width:1.5;fill:none}
.av-l1,.av-l2{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:700;stroke-dashoffset:700;transition:stroke-dashoffset 2.2s cubic-bezier(.4,.1,.2,1)}
.av-l1{stroke:var(--navy)}
.av-l2{stroke:var(--gull);stroke-dasharray:700;transition-delay:.3s}
.av-d1,.av-d2{opacity:0;transition:opacity .4s 2.1s}
.av-d1{fill:var(--navy)}.av-d2{fill:var(--gull)}
.av-chart.in .av-l1,.av-chart.in .av-l2{stroke-dashoffset:0}
.av-chart.in .av-d1,.av-chart.in .av-d2{opacity:1}
.av-leg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.av-leg span{display:block;font-weight:500;font-size:14.5px;color:var(--navy);padding-left:22px;position:relative}
.av-leg span::before{content:"";position:absolute;left:0;top:7px;width:12px;height:4px;border-radius:2px;background:var(--navy)}
.av-leg .l2::before{background:var(--gull)}
.av-leg small{display:block;font-weight:400;font-size:13px;color:var(--sirocco);margin-top:3px}
.av-faq{background:#fff}

@media (max-width:1000px){
  .av-hgrid,.av-dg,.av-cg,.av-bg{grid-template-columns:1fr}
  .av-col{height:420px}
  .av-chip:nth-child(1){left:0}
  .av-chip:nth-child(2){right:0}
  .av-hws{grid-template-columns:1fr 1fr}
  .av-tabs{grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;padding-bottom:4px;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
  .av-tabs::-webkit-scrollbar{display:none}
  .av-t{scroll-snap-align:start}
}
@media (max-width:640px){
  .av-col{height:340px}
  .av-chip{font-size:12px;padding:8px 12px 8px 10px}
  .av-chip:nth-child(3),.av-chip:nth-child(5){display:none}
  .av-cells{grid-template-columns:1fr}
  .av-cell{min-height:0}
  .av-experts{grid-template-columns:1fr}
  .av-3{grid-template-columns:1fr}
  .av-3>div{border-right:0;border-bottom:1px solid var(--line)}
  .av-hws{grid-template-columns:1fr}
  .av-leg{grid-template-columns:1fr}
  .av-sw{display:grid;width:100%}
  .av-sw button{padding:12px 10px}
}

/* ---- advisory v2 ---- */
.av-c1 video{width:100%;height:100%;object-fit:cover;display:block}
/* one partner: three pillars */
.av-par{background:#fff}
.av-pls{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,44px)}
.av-pl{position:relative;border-radius:26px;overflow:hidden;background:var(--mystic-2,#F2F5F8);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s}
.av-pl:hover{transform:translateY(-6px);box-shadow:0 34px 60px -40px rgba(27,40,54,.55)}
.av-plp{position:relative;aspect-ratio:4/3;overflow:hidden}
.av-plp img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.2s var(--ease)}
.av-pl:hover .av-plp img{transform:scale(1.12)}
.av-pli{position:absolute;left:18px;bottom:-24px;width:52px;height:52px;border-radius:16px;background:var(--navy);display:grid;place-items:center;box-shadow:0 0 0 5px var(--mystic-2,#F2F5F8)}
.av-pli svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.av-plt{padding:40px 24px 26px}
.av-plt small{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.av-plt h3{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.2vw,30px);letter-spacing:-.025em;line-height:1.1;color:var(--navy);margin:8px 0 10px}
.av-plt p{margin:0;font-size:15px;line-height:1.5;color:var(--sirocco)}
.av-plus{position:absolute;top:calc(50% - 22px);left:calc(33.33% - 22px + 0px);width:44px;height:44px;margin-left:calc(-1 * clamp(28px,3vw,44px) / 2 + 0px);border-radius:50%;background:#F0C969;color:var(--navy);display:grid;place-items:center;font-family:var(--display);font-size:26px;font-weight:500;z-index:2;box-shadow:0 0 0 6px #fff}
.av-plus.two{left:calc(66.66% - 22px)}
/* compare */
.av-tw{background:#fff}
.av-t2 td.av-us,.av-t2 th.av-us{background:rgba(38,55,77,.06)}
.av-t2 thead th.av-us{background:var(--navy);color:#fff}
.av-t2 tbody th{font-size:15.5px}
.av-t2 tbody tr:hover td.av-us{background:rgba(38,55,77,.1)}
/* journey */
.av-jr{position:relative;padding-block:clamp(100px,11vw,150px);overflow:hidden}
.av-jr .h2s{color:#fff}
.av-js{position:relative;list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.av-jl{position:absolute;left:26px;right:26px;top:26px;height:2px;background:rgba(221,230,237,.18);border-radius:2px;overflow:hidden}
.av-jl i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#F0C969,var(--gull));transform:scaleX(0);transform-origin:left;transition:transform 2.4s cubic-bezier(.4,.1,.2,1)}
.av-js.in .av-jl i{transform:scaleX(1)}
.av-js li{position:relative;display:flex;flex-direction:column;gap:8px;padding-right:6px}
.av-jn{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--navy);border:2px solid rgba(221,230,237,.3);color:#fff;font-weight:600;font-size:14px;margin-bottom:14px;transition:background .5s,border-color .5s,color .5s;transition-delay:calc(var(--i)*.45s)}
.av-js.in .av-jn{background:#F0C969;border-color:#F0C969;color:var(--navy)}
.av-js b{font-family:var(--display);font-weight:500;font-size:clamp(22px,2vw,28px);letter-spacing:-.02em;color:#fff}
.av-js li>span:last-child{font-size:14.5px;line-height:1.5;color:rgba(221,230,237,.78)}
/* services tabs on white */
.av-ch:not(.band-mystic) .av-t{background:var(--mystic-2,#F2F5F8)}
.av-ch:not(.band-mystic) .av-t.on{background:var(--navy)}
.av-ch:not(.band-mystic) .av-p{border:1px solid var(--line)}
/* who you work with (light) */
.av-team .av-hws{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(24px,3vw,40px)}
.av-team .av-hw{background:#fff;border:1px solid var(--line)}
.av-team .av-hw:hover{background:#fff;box-shadow:0 30px 50px -36px rgba(27,40,54,.5)}
.av-team .av-hw h3{color:var(--navy);font-size:20px}
.av-team .av-hw p{color:var(--sirocco);margin:0}
.av-ways{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;max-width:620px}
.av-ways li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start}
.av-ways b{display:block;font-weight:500;font-size:15.5px;color:var(--navy)}
.av-ways span:not(.uc-y){display:block;font-size:13.5px;color:var(--sirocco);margin-top:2px}
@media (max-width:1000px){
  .av-pls{grid-template-columns:1fr}
  .av-plus{display:none}
  .av-js{grid-template-columns:1fr;gap:26px}
  .av-jl{left:26px;right:auto;top:26px;bottom:26px;width:2px;height:auto}
  .av-jl i{transform:scaleY(0);transform-origin:top}
  .av-js.in .av-jl i{transform:scaleY(1)}
  .av-js li{display:grid;grid-template-columns:54px 1fr;column-gap:18px;row-gap:4px}
  .av-jn{grid-row:span 2;margin:0}
  .av-team .av-hws{grid-template-columns:1fr 1fr}
  .av-ways{grid-template-columns:1fr}
}
@media (max-width:640px){.av-team .av-hws{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.av-jl i{transform:none!important;transition:none}.av-jn{background:#F0C969;color:var(--navy)}}
.av-libw:not(.all) .lib>div:nth-child(n+13){display:none}
.av-libw:not(.all){position:relative}
.av-libw:not(.all)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff);pointer-events:none}
.av-more{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:14px 22px;border-radius:999px;border:1px solid var(--navy);color:var(--navy);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;transition:background .3s,color .3s}
.av-more:hover{background:var(--navy);color:#fff}
.av-more:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.av-pls{--g:clamp(28px,3vw,44px)}
.av-plus{left:calc((100% - 2 * var(--g)) / 3 + var(--g) / 2 - 22px);margin-left:0;top:calc(min(30vw,260px) - 22px)}
.av-plus.two{left:calc(2 * (100% - 2 * var(--g)) / 3 + var(--g) * 1.5 - 22px)}
.av-js li{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i) * .4s)}
.av-js.in li{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.av-js li{opacity:1;transform:none}}
.av-pls{container-type:inline-size}
.av-plus{top:calc((100cqw - 2 * var(--g)) / 3 * .75 / 2 - 22px)}
.av-plp{overflow:visible!important;position:relative;z-index:1}
.av-plc{position:absolute;inset:0;overflow:hidden}
.av-plc img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.2s var(--ease)}
.av-pl:hover .av-plc img{transform:scale(1.12)}
.av-pli{z-index:3}

/* ===== Resources: research-like ===== */
.rs2-hero{position:relative;overflow:hidden;padding:clamp(140px,15vw,190px) 0 clamp(80px,9vw,120px);background-image:linear-gradient(rgba(221,230,237,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(221,230,237,.06) 1px,transparent 1px);background-size:48px 48px}
.rs2-hg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.rs2-hero .h-hero{max-width:none}
.rs2-vis{display:grid;gap:14px}
.rs2-scatter{position:relative;height:clamp(220px,22vw,300px);border-left:1.5px solid rgba(221,230,237,.4);border-bottom:1.5px solid rgba(221,230,237,.4);margin:0 0 18px 18px}
.rs2-scatter::before,.rs2-scatter::after{content:"";position:absolute;background:rgba(221,230,237,.18)}
.rs2-scatter::before{left:50%;top:0;bottom:0;width:1px}
.rs2-scatter::after{top:50%;left:0;right:0;height:1px}
.rs2-scatter i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gull);opacity:0;animation:rsDot .6s var(--ease) forwards,rsFloat 6s ease-in-out infinite;animation-delay:calc(.4s + var(--d)*25ms),calc(var(--d)*-.3s)}
.rs2-scatter i:nth-child(5n){background:#F0C969}
.rs2-scatter i:nth-child(7n){background:#fff}
.rs2-ax{position:absolute;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--gull)}
.rs2-ax.x{right:0;bottom:-26px}
.rs2-ax.y{left:-30px;top:0;transform:rotate(-90deg) translateX(-100%);transform-origin:left top}
@keyframes rsDot{from{opacity:0;transform:scale(.2)}to{opacity:.9;transform:none}}
@keyframes rsFloat{0%,100%{translate:0 0}50%{translate:0 -4px}}
.rs2-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.rs2-tiles div{border:1px solid rgba(221,230,237,.16);border-radius:16px;padding:14px;background:rgba(255,255,255,.04)}
.rs2-tiles b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(22px,2vw,30px);letter-spacing:-.03em;color:#fff}
.rs2-tiles span{font-size:12.5px;color:var(--gull)}
@media (prefers-reduced-motion:reduce){.rs2-scatter i{animation:none;opacity:.9}}

/* charts */
.rs2-data{background-image:linear-gradient(rgba(38,55,77,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(38,55,77,.05) 1px,transparent 1px);background-size:40px 40px}
.rs2-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px}
.rs2-fig{margin:0;background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(20px,2.6vw,34px);box-shadow:0 40px 80px -60px rgba(27,40,54,.5)}
.rs2-fig figcaption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin-bottom:22px}
.rs2-tag{padding:5px 10px;border-radius:999px;background:var(--mystic);color:var(--navy);letter-spacing:1.4px}
.rs2-key{display:inline-flex;align-items:center;gap:8px;letter-spacing:1.2px}
.rs2-key i{width:10px;height:10px;border-radius:50%;display:inline-block}
.rs2-key i.lo,.rs2-db i.lo{background:var(--gull)}
.rs2-key i.hi,.rs2-db i.hi{background:var(--navy)}
.rs2-bars{display:grid;gap:18px}
.rs2-bl{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.rs2-bl b{font-weight:500;font-size:16px;color:var(--navy)}
.rs2-bl span{font-size:13px;color:var(--sirocco)}
.rs2-bt{position:relative;height:30px;border-radius:10px;background:var(--mystic-2,#F2F5F8);overflow:hidden}
.rs2-bt i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--v)*100%);border-radius:10px;background:linear-gradient(90deg,var(--bayoux),var(--navy));transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.4,.1,.2,1);transition-delay:calc(var(--i)*.15s)}
.rs2-bt em{position:absolute;left:calc(var(--v)*100% - 64px);top:50%;transform:translateY(-50%);font-style:normal;font-family:var(--display);font-weight:500;font-size:16px;color:#fff;opacity:0;transition:opacity .4s;transition-delay:calc(1.1s + var(--i)*.15s)}
.rs2-fig.in .rs2-bt i{transform:scaleX(1)}
.rs2-fig.in .rs2-bt em{opacity:1}
.rs2-note{margin:20px 0 0;font-size:12.5px;color:var(--sirocco)}
.rs2-ten{display:grid;gap:4px}
.rs2-sc{display:grid;grid-template-columns:150px 1fr 56px;font-size:11px;color:var(--sirocco)}
.rs2-sc span:nth-child(1){grid-column:2;justify-self:start}
.rs2-sc span:nth-child(2){grid-column:2;grid-row:1;justify-self:center}
.rs2-sc span:nth-child(3){grid-column:2;grid-row:1;justify-self:end}
.rs2-tr{display:grid;grid-template-columns:150px 1fr 56px;align-items:center;gap:0;padding:7px 0;border-bottom:1px solid var(--line)}
.rs2-tr:last-child{border-bottom:0}
.rs2-tn{font-size:14px;color:var(--navy);padding-right:10px}
.rs2-db{position:relative;height:18px;margin:0 9px}
.rs2-db::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.rs2-db s{position:absolute;top:50%;height:4px;margin-top:-2px;left:calc(var(--a)*100%);width:calc((var(--b) - var(--a))*100%);background:rgba(38,55,77,.25);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease);transition-delay:calc(.3s + var(--i)*.08s)}
.rs2-db i{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;left:calc(var(--lo)*100%);transition:left 1s var(--ease);transition-delay:calc(.3s + var(--i)*.08s)}
.rs2-db i.hi{left:calc(var(--lo)*100%);box-shadow:0 0 0 4px rgba(38,55,77,.12)}
.rs2-fig.in .rs2-db i.hi{left:calc(var(--hi)*100%)}
.rs2-fig.in .rs2-db s{transform:scaleX(1)}
.rs2-tr.neg .rs2-db s{transform-origin:right}
.rs2-tr.neg .rs2-db i.hi{background:#2E8B62}
.rs2-tv{display:flex;justify-content:flex-end;gap:8px;font-size:14px}
.rs2-tv em{font-style:normal;color:var(--gull)}
.rs2-tv b{font-weight:600;color:var(--navy)}
.rs2-tr.neg .rs2-tv b{color:#2E8B62}

/* evidence cards */
.rs2-evs{background:#fff}
.rs2-evg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rs2-ev{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:22px;border:1px solid var(--line);background:var(--mystic-2,#F2F5F8);text-decoration:none;color:var(--navy);transition:transform .45s var(--ease),box-shadow .45s,background .4s}
.rs2-ev:hover{transform:translateY(-5px);background:#fff;box-shadow:0 30px 50px -36px rgba(27,40,54,.55)}
.rs2-ev .uc-gi{margin-bottom:8px}
.rs2-ev small{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.rs2-ev b{font-family:var(--display);font-weight:500;font-size:21px;letter-spacing:-.02em;line-height:1.15}
.rs2-ev>span:not(.uc-gi){font-size:14.5px;color:var(--sirocco);line-height:1.45}
.rs2-ev em{font-style:normal;margin-top:auto;padding-top:8px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700}
.rs2-ev:hover .uc-gi{background:var(--navy);border-color:var(--navy)}
.rs2-ev:hover .uc-gi svg{stroke:#fff}.rs2-ev:hover .uc-gi svg .a{stroke:#F0C969}

/* guides path */
.rs2-gd{position:relative;padding-block:clamp(100px,11vw,150px);overflow:hidden}
.rs2-gd .h2s{color:#fff}
.rs2-path{list-style:none;margin:clamp(30px,4vw,50px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:g}
.rs2-path li{position:relative}
.rs2-gn{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#F0C969;color:var(--navy);font-weight:700;font-size:14px;margin-bottom:16px;position:relative;z-index:1}
.rs2-path li:not(:last-child)::after{content:"";position:absolute;left:46px;right:-12px;top:23px;height:2px;background:linear-gradient(90deg,#F0C969,rgba(240,201,105,.15))}
.rs2-path a{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:#fff;padding:22px;border-radius:20px;border:1px solid rgba(221,230,237,.14);background:rgba(255,255,255,.05);min-height:210px;transition:background .4s,transform .45s var(--ease)}
.rs2-path a:hover{background:rgba(255,255,255,.1);transform:translateY(-5px)}
.rs2-path b{font-family:var(--display);font-weight:500;font-size:21px;letter-spacing:-.02em;line-height:1.15}
.rs2-path a>span{font-size:14.5px;color:rgba(221,230,237,.78);line-height:1.45}
.rs2-path em{font-style:normal;margin-top:auto;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:#F0C969}

/* latest writing */
.rs2-lt{background:#fff}
.rs2-feat{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border-radius:26px;overflow:hidden;border:1px solid var(--line);text-decoration:none;color:var(--navy);margin-bottom:14px;transition:box-shadow .45s}
.rs2-feat:hover{box-shadow:0 40px 70px -50px rgba(27,40,54,.6)}
.rs2-fp{position:relative;overflow:hidden;min-height:340px}
.rs2-fp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.rs2-feat:hover .rs2-fp img{transform:scale(1.05)}
.rs2-ft{padding:clamp(26px,4vw,56px);display:flex;flex-direction:column;justify-content:center;background:var(--mystic-2,#F2F5F8)}
.rs2-ft small{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.rs2-ft h3{font-family:var(--display);font-weight:500;font-size:clamp(28px,3vw,44px);letter-spacing:-.03em;line-height:1.05;margin:12px 0 14px}
.rs2-ft p{font-size:16.5px;color:var(--sirocco);line-height:1.5;margin:0 0 22px;max-width:46ch}
.rs2-ft em{font-style:normal;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700}
.rs2-arts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rs2-art{display:flex;flex-direction:column;text-decoration:none;color:var(--navy);border-radius:20px;border:1px solid var(--line);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s}
.rs2-art:hover{transform:translateY(-5px);box-shadow:0 30px 50px -36px rgba(27,40,54,.55)}
.rs2-ap{display:block;aspect-ratio:4/3;overflow:hidden}
.rs2-ap img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform 1.2s var(--ease)}
.rs2-art:hover .rs2-ap img{transform:scale(1.06)}
.rs2-at{display:flex;flex-direction:column;gap:6px;padding:16px 16px 18px}
.rs2-at small{font-size:11px;color:var(--bayoux);letter-spacing:.5px}
.rs2-at b{font-weight:500;font-size:16px;line-height:1.25}
.rs2-at span{font-size:13.5px;color:var(--sirocco);line-height:1.4}

@media (max-width:1100px){.rs2-arts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1000px){
  .rs2-hg,.rs2-charts,.rs2-feat{grid-template-columns:1fr}
  .rs2-evg{grid-template-columns:1fr 1fr}
  .rs2-path{grid-template-columns:1fr 1fr}
  .rs2-path li::after{display:none}
  .rs2-fp{min-height:260px}
}
@media (max-width:640px){
  .rs2-tiles{grid-template-columns:1fr 1fr}
  .rs2-evg,.rs2-path{grid-template-columns:1fr}
  .rs2-arts{grid-template-columns:1fr 1fr}
  .rs2-tr,.rs2-sc{grid-template-columns:110px 1fr 44px}
  .rs2-tn{font-size:12.5px}
  .rs2-bl{flex-direction:column;gap:2px}
}
@media (prefers-reduced-motion:reduce){.rs2-bt i,.rs2-db s{transform:none!important;transition:none}.rs2-db i.hi{left:calc(var(--hi)*100%)}.rs2-bt em{opacity:1}}
.rs2-tiles .count{font:inherit;color:inherit;letter-spacing:inherit}
.rs2-sc span:nth-child(n){grid-column:auto;grid-row:auto;justify-self:stretch}
.rs2-sc .s{display:flex;justify-content:space-between;margin:0 9px 4px}
.rs2-sc i{font-style:normal;width:0;display:flex;justify-content:center}
.rs2-scatter i{margin:0 0 -4.5px -4.5px}

/* ===== Science: research program detail panels ===== */
.pc-open{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:12px 20px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;transition:transform .3s,background .3s}
.pc-open:hover{transform:translateY(-2px);background:#1b2836}
.pc-open:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.pd{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,40px);background:rgba(20,30,42,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:pdFade .35s ease both}
.pd[hidden]{display:none}
@keyframes pdFade{from{opacity:0}}
.pd-in{position:relative;width:min(1180px,100%);max-height:100%;overflow:auto;background:#fff;border-radius:30px;padding:clamp(24px,4vw,56px);color:var(--navy);box-shadow:0 60px 120px -40px rgba(0,0,0,.5);animation:pdUp .5s var(--ease) both}
@keyframes pdUp{from{opacity:0;transform:translateY(40px) scale(.98)}}
.pd-x{all:unset;cursor:pointer;position:absolute;right:20px;top:18px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:26px;line-height:1;background:var(--mystic);color:var(--navy);transition:background .3s}
.pd-x:hover{background:var(--navy);color:#fff}
.pd-x:focus-visible,.pd-nav button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.pd-kick{display:flex;gap:14px;font-size:11px;letter-spacing:2.4px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin:0 0 12px}
.pd-top h3{font-family:var(--display);font-weight:500;font-size:clamp(30px,3.6vw,52px);letter-spacing:-.035em;line-height:1.04;margin:0;max-width:20ch}
.pd-lead{font-size:clamp(16px,1.5vw,19px);color:var(--sirocco);line-height:1.5;margin:16px 0 0;max-width:56ch}
.pd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:clamp(22px,3vw,36px) 0}
.pd-st{border-radius:18px;background:var(--navy);color:#fff;padding:18px 20px}
.pd-st b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(34px,3.6vw,52px);letter-spacing:-.04em;line-height:1}
.pd-st span{font-size:13.5px;color:var(--gull)}
.pd-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:start}
.pd-vis{border-radius:22px;background:var(--mystic-2,#F2F5F8);border:1px solid var(--line);padding:22px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;background-image:linear-gradient(rgba(38,55,77,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(38,55,77,.05) 1px,transparent 1px);background-size:28px 28px}
.pd-vis>small{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.pd-dots{display:grid;grid-template-columns:repeat(14,1fr);gap:7px}
.pd-dots i{aspect-ratio:1;border-radius:50%;background:var(--navy);opacity:0;animation:rsDot .4s var(--ease) forwards;animation-delay:calc(var(--d)*8ms)}
.pd-dots i:nth-child(9n){background:#F0C969}
.pd-vis.chips{flex-direction:row;flex-wrap:wrap;align-content:center;justify-content:center;gap:10px}
.pd-chip{padding:12px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:500;box-shadow:0 12px 24px -18px rgba(38,55,77,.5);opacity:0;animation:kmUp .5s var(--ease) forwards;animation-delay:calc(var(--d)*.1s)}
.pd-tl{position:relative;height:120px;margin:40px 24px 0}
.pd-tl b{position:absolute;left:0;right:0;top:20px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--bayoux),var(--navy));transform-origin:left;animation:uaGrow 1.4s var(--ease) both}
.pd-tl span{position:absolute;left:calc(var(--x)*1%);top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px}
.pd-tl span i{width:42px;height:42px;border-radius:50%;background:#fff;border:3px solid var(--navy);box-shadow:0 0 0 6px rgba(38,55,77,.08);position:relative;z-index:1}
.pd-tl small{font-size:12.5px;font-weight:600;white-space:nowrap}
.pd-sec{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pd-sec span{font-size:12.5px;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid var(--line);opacity:0;animation:kmUp .45s var(--ease) forwards;animation-delay:calc(var(--d)*45ms)}
.pd-lab{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux);margin-bottom:10px}
.pd-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pd-steps li{display:grid;grid-template-columns:40px 1fr;column-gap:14px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line)}
.pd-steps li span{grid-row:span 2;width:40px;height:40px;border-radius:50%;background:var(--mystic);display:grid;place-items:center;font-size:12px;font-weight:700}
.pd-steps b{font-weight:500;font-size:16px}
.pd-steps em{font-style:normal;font-size:14px;color:var(--sirocco)}
.pd-doms{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.pd-doms div{display:flex;flex-wrap:wrap;gap:6px}
.pd-doms small{flex-basis:100%;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.pd-doms span{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--mystic)}
.pd-callout{margin:14px 0 0;padding:14px 16px;border-radius:14px;background:rgba(240,201,105,.18);border:1px solid rgba(240,201,105,.6);font-weight:500}
.pd-gave{margin-top:clamp(22px,3vw,34px);border-radius:20px;background:var(--navy);color:#fff;padding:20px 24px}
.pd-gave small{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:#F0C969}
.pd-gave p{margin:6px 0 0;font-family:var(--display);font-size:clamp(19px,1.8vw,24px);letter-spacing:-.015em;line-height:1.25}
.pd-nav{display:flex;justify-content:space-between;margin-top:22px}
.pd-nav button{all:unset;cursor:pointer;padding:12px 18px;border-radius:999px;border:1px solid var(--navy);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;transition:background .3s,color .3s}
.pd-nav button:hover{background:var(--navy);color:#fff}
html.pd-open{overflow:hidden}
@media (max-width:900px){.pd-g{grid-template-columns:1fr}.pd-stats{grid-template-columns:1fr 1fr 1fr}.pd-st{padding:14px}.pd-sec{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pd-stats{grid-template-columns:1fr}.pd-dots{grid-template-columns:repeat(10,1fr)}.pd-in{border-radius:22px}}
@media (prefers-reduced-motion:reduce){.pd,.pd-in,.pd-dots i,.pd-chip,.pd-sec span,.pd-tl b{animation:none;opacity:1}}
/* contact: offices with life */
.of2{display:grid!important;grid-template-columns:1fr 1fr;gap:12px}
.of{border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 40px 70px -56px rgba(27,40,54,.6);display:flex;flex-direction:column;transition:transform .5s var(--ease)}
.of:hover{transform:translateY(-5px)}
.of-ph{position:relative;aspect-ratio:4/5;overflow:hidden;isolation:isolate}
.of-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.06);transition:transform 1.6s var(--ease)}
.of:hover .of-ph img{transform:scale(1.12)}
.of-ph::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(27,40,54,.05) 30%,rgba(27,40,54,.85))}
.of-sky{position:absolute;left:0;right:0;bottom:6px;width:100%;height:auto;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.of-sky path{stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 2.6s cubic-bezier(.4,.1,.2,1)}
.of-sky .a{stroke:#F0C969}
.of-sky .w{stroke:rgba(255,255,255,.55);animation:ofWave 6s ease-in-out infinite}
.of.in .of-sky path{stroke-dashoffset:0}
@keyframes ofWave{0%,100%{transform:translateX(0)}50%{transform:translateX(-12px)}}
.of-code{position:absolute;left:16px;top:16px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--navy);font-size:11px;letter-spacing:2px;font-weight:700}
.of-b{padding:18px 20px 20px}
.of-b b{display:block;font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.02em;color:var(--navy)}
.of-b p{margin:6px 0 14px;font-size:14.5px;line-height:1.5;color:var(--sirocco)}
.of-live{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--sirocco)}
.of-t{font-family:var(--display);font-weight:500;font-size:20px;color:var(--navy);letter-spacing:-.01em}
.of-dot{width:8px;height:8px;border-radius:50%;background:#7FD1A8;animation:ucPulse 2.2s infinite}
.of-live.night .of-dot{background:var(--gull);animation:none}
@media (max-width:640px){.of2{grid-template-columns:1fr}.of-ph{aspect-ratio:16/10}}
@media (prefers-reduced-motion:reduce){.of-sky path{stroke-dashoffset:0;transition:none}.of-sky .w{animation:none}}
.offices.of2 div{border:0;background:none;padding:0;border-radius:0}
.offices.of2 .of{border:1px solid var(--line);background:#fff;border-radius:24px}
.offices.of2 .of-b{padding:18px 20px 20px}
.offices.of2 .of-live{border-top:1px solid var(--line);padding-top:12px}
@media (max-width:640px){.offices.of2{grid-template-columns:1fr}}

/* ===== How it works: scroll story ===== */
.hw-story{padding-block:clamp(90px,10vw,140px);background:#fff}
.hw-nav{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.hw-nav li{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;border:1px solid var(--line);font-size:13.5px;color:var(--bayoux);transition:background .4s,color .4s,border-color .4s}
.hw-nav li span{width:24px;height:24px;border-radius:50%;background:var(--mystic);display:grid;place-items:center;font-size:10.5px;font-weight:700;color:var(--navy)}
.hw-nav li.on{background:var(--navy);border-color:var(--navy);color:#fff}
.hw-nav li.on span{background:#F0C969}
.hw-nav li.done span{background:var(--navy);color:#fff}
.hw-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,80px);margin-top:clamp(20px,3vw,40px)}
.hw-step{min-height:72vh;display:flex;flex-direction:column;justify-content:center;padding:20px 0;opacity:.32;transition:opacity .5s}
.hw-step.on{opacity:1}
.hw-n{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700;color:var(--bayoux);margin:0 0 14px}
.hw-n span{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;letter-spacing:0;font-size:13px}
.hw-step.on .hw-n span{background:#F0C969;color:var(--navy)}
.hw-step h3{font-family:var(--display);font-weight:500;font-size:clamp(32px,3.6vw,52px);letter-spacing:-.035em;line-height:1.04;color:var(--navy);margin:0 0 16px}
.hw-p{font-size:17px;line-height:1.55;color:var(--sirocco);margin:0 0 20px;max-width:44ch}
.hw-tags{display:flex;flex-wrap:wrap;gap:6px}
.hw-tags span{font-size:13px;padding:7px 12px;border-radius:999px;background:var(--mystic-2,#F2F5F8);border:1px solid var(--line);color:var(--navy)}
.hw-inline{display:none}
.hw-stick{position:sticky;top:calc(50vh - 270px);height:max-content;align-self:start}
.hw-stage{position:relative;display:grid;min-height:420px;align-items:center}
.hw-sv{grid-area:1/1;opacity:0;transform:translateY(24px) scale(.98);transition:opacity .55s,transform .7s var(--ease);pointer-events:none;display:flex;justify-content:center}
.hw-sv.on{opacity:1;transform:none;pointer-events:auto}
.hw-sv>*{width:100%}
.hw-bar{height:4px;border-radius:2px;background:var(--mystic);margin-top:22px;overflow:hidden}
.hw-bar i{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--bayoux),var(--navy));border-radius:2px;transition:width .6s var(--ease)}
.hw-frame{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 50px 90px -60px rgba(27,40,54,.6)}
.hw-frame img{display:block;width:100%;height:auto}
.hw-setup{padding:22px;display:grid;gap:10px}
.hw-f{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--mystic-2,#F2F5F8)}
.hw-f small{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.hw-f b{font-weight:500;font-size:15.5px;color:var(--navy)}
.hw-ok{width:24px;height:24px;border-radius:50%;background:#7FD1A8;position:relative}
.hw-ok::after{content:"";position:absolute;left:7px;top:6px;width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.hw-f.link{background:var(--navy)}.hw-f.link small{color:var(--gull)}.hw-f.link b{color:#fff}
.hw-copy{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;color:var(--navy);background:#F0C969;padding:8px 12px;border-radius:999px}
.hw-phone{position:relative;width:330px;height:560px;border-radius:48px;background:#1B2127;padding:12px;box-shadow:0 60px 100px -50px rgba(27,40,54,.7)}
.hw-ps{height:100%;border-radius:36px;background:#fff;padding:58px 22px 22px;display:flex;flex-direction:column;color:var(--navy)}
.hw-pp{height:5px;border-radius:3px;background:var(--mystic);overflow:hidden}.hw-pp i{display:block;height:100%;width:calc(var(--p)*100%);background:var(--navy);border-radius:3px}
.hw-pk{display:block;margin:12px 0 18px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
.hw-ps h4{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.02em;line-height:1.25;margin:0 0 26px}
.hw-sc{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.hw-sc span{display:grid;place-items:center;height:52px;border-radius:12px;border:1px solid var(--line);font-weight:600;transition:background .3s}
.hw-sc span.on{background:var(--navy);color:#fff;border-color:var(--navy);animation:hwTap 2.6s ease-in-out infinite}
@keyframes hwTap{0%,70%,100%{transform:scale(1)}80%{transform:scale(.92)}}
.hw-se{display:flex;justify-content:space-between;font-size:11.5px;color:var(--sirocco);margin-top:8px}
.hw-meta{margin-top:auto;display:flex;gap:6px}.hw-meta span{font-size:12px;padding:6px 10px;border-radius:999px;background:var(--mystic-2,#F2F5F8)}
.hw-ths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(30px,4vw,50px)}
.hw-th{border-radius:24px;padding:26px;background:rgba(255,255,255,.06);border:1px solid rgba(221,230,237,.14);color:#fff}
.hw-th b{font-family:var(--display);font-weight:500;font-size:clamp(56px,6vw,84px);letter-spacing:-.05em;line-height:1}
.hw-th small{margin-left:8px;font-size:14px;color:var(--gull)}
.hw-th>span{display:block;margin-top:8px;font-size:15.5px;color:rgba(221,230,237,.85)}
.hw-dots{display:flex;flex-wrap:wrap;gap:5px;margin-top:20px}
.hw-dots em{width:12px;height:12px;border-radius:50%;background:#F0C969;opacity:0;transform:scale(.3);transition:opacity .4s,transform .4s var(--ease)}
.hw-th.in .hw-dots em{opacity:1;transform:none}
.hw-th.in .hw-dots em:nth-child(n){transition-delay:calc(var(--i)*.1s)}
.hw-priv{position:relative;padding-block:clamp(100px,11vw,150px);overflow:hidden}
.hw-priv .h2s{color:#fff}.hw-priv .lead{color:rgba(221,230,237,.8)}
.hw-rep{background:#fff}
.hw-ex .rs2-ev{background:#fff}
@media (max-width:1000px){
  .hw-g{grid-template-columns:1fr}
  .hw-stick{display:none}
  .hw-step{min-height:0;opacity:1;padding:34px 0;border-bottom:1px solid var(--line)}
  .hw-inline{display:flex;justify-content:center;margin-top:24px}
  .hw-inline>*{width:100%}
  .hw-inline .hw-phone{width:300px;height:520px}
  .hw-nav{display:none}
  .hw-ths{grid-template-columns:1fr}
}
@media (max-width:560px){.hw-f{grid-template-columns:1fr auto}.hw-f small{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.hw-sv,.hw-step{transition:none}.hw-sc span.on{animation:none}.hw-dots em{opacity:1;transform:none}}
/* small phones: matrix axes fit */
.matrix>*{min-width:0}
@media (max-width:400px){.mx-big{margin-left:44px}.mx-ax small{display:none}.mx-ax b{font-size:20px}.mx-arw{min-width:24px}}
.dims.idx{grid-template-columns:minmax(0,1fr)}.dims.idx>a.ix-card{min-width:0}.ix-d li{min-width:0}
@media (max-width:900px){.ap-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:400px){.ap-card{padding:14px}.ap-t{font-size:13px}.ap-t th{letter-spacing:.6px;padding:0 3px 10px}.ap-t td{padding:11px 3px}.ap-ic{display:none!important}.ap-y{width:20px;height:20px}.ap-t th img{height:15px}}
.mnav[hidden]{display:none!important}
/* real iPhone proportions (about 9 : 19.5) */
.hw-sv>.hw-phone,.hw-phone,.hw-inline .hw-phone{width:min(290px,78vw);height:auto;aspect-ratio:9/19.5;flex:none;border-radius:50px;padding:11px}
.hw-phone .hw-ps{border-radius:40px;padding:64px 20px 22px}
.hw-phone .ph-notch{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:92px;height:26px;border-radius:999px;background:#1B2127;z-index:2}
.hw-ps .hw-meta{margin-top:auto}
.hw-ac{background:#F4F7F9}
.hw-acr{font-family:var(--display);font-size:20px;letter-spacing:-.02em;line-height:1.2;margin:4px 0 16px;color:var(--navy)}
.hw-acc{flex:1;min-height:0;border-radius:22px;background:var(--navy);color:#fff;padding:16px 18px 20px;display:flex;flex-direction:column;box-shadow:0 30px 50px -34px rgba(27,40,54,.8)}
.hw-segs{display:flex;gap:4px;margin-bottom:auto}.hw-segs i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.25)}.hw-segs i.on{background:#F0C969}
.hw-ack{margin-top:22px;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#F0C969}
.hw-acc b{font-family:var(--display);font-weight:500;font-size:25px;line-height:1.12;letter-spacing:-.02em;margin:10px 0 12px}
.hw-acb{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.8)}
.hw-acm{margin-top:14px;font-size:10px;letter-spacing:1.8px;font-weight:600;color:rgba(255,255,255,.6)}
.hw-acbtn{margin-top:14px;align-self:stretch;text-align:center;padding:13px;border-radius:999px;background:#F0C969;color:var(--navy);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700}
/* science: domain icons */
.dl>div{grid-template-columns:minmax(0,270px) 1fr;align-items:center}
.dl b{display:flex;align-items:center;gap:14px}
.dl-i{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;flex:none;background:#fff;border:1px solid var(--line);transition:transform .5s var(--ease)}
.dl-i svg{width:21px;height:21px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dl-i svg .a{stroke:var(--bayoux);stroke-width:1.8}
.half.cap .dl-i{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.half.cap .dl-i svg{stroke:#fff}.half.cap .dl-i svg .a{stroke:#F0C969}
.dl>div:hover .dl-i{transform:translateY(-2px) scale(1.06)}
.dl-i svg *{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease) .2s}
.half.in .dl-i svg *,.half:not(.rv) .dl-i svg *{stroke-dashoffset:0}
@media (max-width:760px){.dl>div{grid-template-columns:1fr;gap:6px}.dl span{padding-left:54px}}
/* science: method, four animated steps */
.mt-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);position:relative}
.mt-line{position:absolute;left:12%;right:12%;top:calc(170px + 34px);height:2px;background:rgba(38,55,77,.12);border-radius:2px;z-index:0}
.mt-line i{position:absolute;inset:0;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease) .3s;border-radius:2px}
.mt-line b{position:absolute;top:50%;left:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#F0C969;box-shadow:0 0 0 5px rgba(240,201,105,.25);opacity:0}
.mt-flow.in .mt-line i{transform:none}
.mt-flow.in .mt-line b{animation:mtRun 6s var(--ease) 2.1s infinite}
@keyframes mtRun{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:100%;opacity:0}}
.mt-s{position:relative;z-index:1;opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i)*.18s)}
.mt-flow.in .mt-s,.mt-flow:not(.rv) .mt-s{opacity:1;transform:none}
.mt-vis{height:170px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -44px rgba(38,55,77,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s}
.mt-s:hover .mt-vis{transform:translateY(-4px);box-shadow:0 40px 70px -44px rgba(38,55,77,.6)}
.mt-t{padding:22px 4px 0}
.mt-n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;position:relative;box-shadow:0 0 0 6px var(--mystic)}
.mt-s:nth-child(2) .mt-n{background:#F0C969;color:var(--navy)}
.mt-t h3{margin:16px 0 6px;font-family:var(--display);font-weight:500;font-size:clamp(22px,1.9vw,27px);letter-spacing:-.02em;color:var(--navy)}
.mt-t p{margin:0;font-size:15px;line-height:1.5;color:var(--sirocco)}
/* 01 dots */
.mt-dots{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;width:min(100%,220px)}
.mt-dots i{aspect-ratio:1;border-radius:50%;background:rgba(38,55,77,.12)}
.mt-flow.in .mt-dots i{animation:mtDot 4.5s ease-in-out infinite;animation-delay:calc(var(--d)*.09s)}
.mt-flow.in .mt-dots i.g{animation-name:mtDotG}
@keyframes mtDot{0%,100%{background:rgba(38,55,77,.12);transform:scale(1)}20%,60%{background:var(--navy);transform:scale(1.08)}}
@keyframes mtDotG{0%,100%{background:rgba(38,55,77,.12);transform:scale(1)}20%,70%{background:#F0C969;transform:scale(1.25)}}
.mt-cap{margin-top:14px;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--bayoux)}
/* 02 draft */
.mt-q{width:100%;max-width:240px}
.mt-q p{margin:0 0 14px;font-family:var(--display);font-size:17px;line-height:1.3;letter-spacing:-.01em;color:var(--navy)}
.mt-q p span{display:inline-block;opacity:.12}
.mt-flow.in .mt-q p span{animation:mtW 6s ease infinite;animation-delay:calc(.6s + var(--w)*.16s)}
@keyframes mtW{0%{opacity:.12;transform:translateY(4px)}6%,80%{opacity:1;transform:none}92%,100%{opacity:.12}}
.mt-sc{display:flex;gap:6px}
.mt-sc b{flex:1;height:30px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:600;color:var(--bayoux);background:var(--mystic)}
.mt-flow.in .mt-sc b.on{animation:mtPick 6s ease infinite 2.4s}
@keyframes mtPick{0%,20%{background:var(--mystic);color:var(--bayoux);border-color:var(--line)}28%,80%{background:var(--navy);color:#fff;border-color:var(--navy)}92%,100%{background:var(--mystic);color:var(--bayoux)}}
/* 03 review */
.mt-rv{display:flex;gap:12px;justify-content:center;width:100%}
.mt-rv>div{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1;min-width:0}
.mt-ri{position:relative;width:52px;height:52px;border-radius:16px;background:var(--mystic);border:1px solid var(--line);display:grid;place-items:center}
.mt-ri svg{width:24px;height:24px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mt-ri svg .a{stroke:var(--bayoux)}
.mt-ri em{position:absolute;right:-7px;top:-7px;width:22px;height:22px;border-radius:50%;background:#4BAE7F;transform:scale(0);box-shadow:0 0 0 3px #fff}
.mt-ri em::after{content:"";position:absolute;left:7px;top:5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.mt-flow.in .mt-ri em{animation:mtTick 5s var(--ease) infinite;animation-delay:calc(1s + var(--r)*.45s)}
@keyframes mtTick{0%,8%{transform:scale(0)}16%,80%{transform:scale(1)}90%,100%{transform:scale(0)}}
.mt-rv small{font-size:11px;color:var(--sirocco);text-align:center;line-height:1.2}
/* 04 refine */
.mt-rf{width:100%;max-width:230px;display:grid;gap:9px}
.mt-rf>div{position:relative;height:16px;display:flex;align-items:center;gap:10px}
.mt-rf i{display:block;height:8px;border-radius:5px;background:rgba(38,55,77,.22)}
.mt-rf em{width:16px;height:16px;border-radius:50%;flex:none;margin-left:auto;opacity:0}
.mt-rf .k em{background:#4BAE7F;position:relative}
.mt-rf .k em::after{content:"";position:absolute;left:5.5px;top:3.5px;width:4px;height:7px;border:solid #fff;border-width:0 1.8px 1.8px 0;transform:rotate(45deg)}
.mt-rf .x::before{content:"";position:absolute;left:0;top:50%;height:2px;width:0;background:#D9826B;border-radius:2px}
.mt-flow.in .mt-rf .x::before{animation:mtStrike 6s var(--ease) infinite;animation-delay:calc(1s + var(--f)*.2s)}
.mt-flow.in .mt-rf .x i{animation:mtFade 6s var(--ease) infinite;animation-delay:calc(1s + var(--f)*.2s)}
.mt-flow.in .mt-rf .k i{animation:mtKeep 6s var(--ease) infinite;animation-delay:calc(1s + var(--f)*.2s)}
.mt-flow.in .mt-rf .k em{animation:mtShow 6s var(--ease) infinite;animation-delay:calc(1s + var(--f)*.2s)}
@keyframes mtStrike{0%,15%{width:0}30%,82%{width:calc(100% - 26px)}95%,100%{width:0}}
@keyframes mtFade{0%,25%{opacity:1}40%,82%{opacity:.3}95%,100%{opacity:1}}
@keyframes mtKeep{0%,25%{background:rgba(38,55,77,.22)}40%,82%{background:var(--navy)}95%,100%{background:rgba(38,55,77,.22)}}
@keyframes mtShow{0%,30%{opacity:0;transform:scale(.4)}40%,82%{opacity:1;transform:none}95%,100%{opacity:0}}
@media (max-width:1000px){.mt-flow{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}.mt-line{display:none}}
@media (max-width:560px){.mt-flow{grid-template-columns:minmax(0,1fr)}.mt-vis{height:160px}}
@media (prefers-reduced-motion:reduce){.mt-flow *{animation:none!important;transition:none!important}.mt-s{opacity:1;transform:none}.mt-q p span{opacity:1}.mt-line i{transform:none}}
.mt-flow{--g:clamp(14px,1.6vw,22px);gap:var(--g)}
.mt-line{left:19px;right:calc((100% - 3 * var(--g)) / 4 - 19px);top:207px}
.mt-rf .x::before{display:none}
.mt-rf i{position:relative}
.mt-rf .x i::after{content:"";position:absolute;left:-4px;top:calc(50% - 1px);height:2px;width:0;background:#D9826B;border-radius:2px}
.mt-flow.in .mt-rf .x i::after{animation:mtStrike2 6s var(--ease) infinite;animation-delay:calc(1s + var(--f)*.2s)}
@keyframes mtStrike2{0%,15%{width:0}30%,82%{width:calc(100% + 8px)}95%,100%{width:0}}
@keyframes mtFade{0%,25%{opacity:1}40%,82%{opacity:.45}95%,100%{opacity:1}}
/* Improve step: real academy cover design (Rest) */
.hw-acr{font-size:19px;margin:4px 0 14px}.hw-acr span{font-size:13px;color:var(--bayoux);font-family:var(--sans,inherit);letter-spacing:0}
.hw-cv{--ac:#A8D5D8;position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(155deg,#3B454D 0%,#232A31 100%);aspect-ratio:9/10.5;box-shadow:0 22px 40px -24px rgba(35,42,49,.8);flex:none}
.hw-cv.sm{width:44px;height:52px;aspect-ratio:auto;border-radius:10px;box-shadow:none}
.hw-hair{position:absolute;top:0;left:0;right:0;height:3px;background:var(--ac);z-index:3}
.hw-mo{position:absolute;inset:0;width:100%;height:100%;opacity:.3;color:var(--ac);fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.hw-mo path{stroke-dasharray:400;stroke-dashoffset:400;animation:hwMoon 2.4s var(--ease) .3s forwards}
.hw-mo g{opacity:0;animation:hwStar 3s ease-in-out infinite}
.hw-mo g:nth-of-type(2){animation-delay:.5s}.hw-mo g:nth-of-type(3){animation-delay:1s}.hw-mo g:nth-of-type(4){animation-delay:1.5s}.hw-mo g:nth-of-type(5){animation-delay:2s}.hw-mo g:nth-of-type(6){animation-delay:2.5s}
@keyframes hwMoon{to{stroke-dashoffset:0}}
@keyframes hwStar{0%,100%{opacity:.3}50%{opacity:1}}
.hw-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.62) 100%);z-index:2}
.hw-ctag{position:absolute;top:14px;left:14px;z-index:3;font-family:ui-monospace,Menlo,monospace;font-size:9.5px;letter-spacing:.18em;font-weight:700;color:var(--ac)}
.hw-cf{position:absolute;left:14px;right:14px;bottom:14px;z-index:3}
.hw-cf b{display:block;font-size:19px;font-weight:500;line-height:1.2;color:#fff}
.hw-nx{margin:16px 0 8px;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--bayoux)}
.hw-row{display:flex;align-items:center;gap:12px;padding:7px 0;border-top:1px solid var(--line)}
.hw-row b{font-size:13px;font-weight:500;line-height:1.3;color:var(--navy)}
.hw-cv.sm .hw-mo{opacity:.45}
/* contact: offices as drawings only, sun by day, moon and stars by night */
.of-ph{aspect-ratio:16/10;background:radial-gradient(120% 90% at 78% 18%,#3A5470 0%,#26374D 55%,#1E2C3E 100%)}
.of-ph::after{display:none}
.of-orb{position:absolute;right:16%;top:16%;width:54px;height:54px;border-radius:50%;background:#F0C969;box-shadow:0 0 0 14px rgba(240,201,105,.12),0 0 60px 20px rgba(240,201,105,.22);animation:ofOrb 7s ease-in-out infinite}
@keyframes ofOrb{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.of.is-night .of-ph{background:radial-gradient(120% 90% at 78% 18%,#2C3E55 0%,#1E2C3E 55%,#151F2C 100%)}
.of.is-night .of-orb{background:transparent;box-shadow:inset -12px -6px 0 0 #E9EEF2,0 0 40px 6px rgba(233,238,242,.12)}
.of-stars{position:absolute;inset:0;opacity:0;transition:opacity 1s}
.of.is-night .of-stars{opacity:1}
.of-stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;animation:ofTw 3.2s ease-in-out infinite;animation-delay:var(--d)}
@keyframes ofTw{0%,100%{opacity:.25}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.of-orb,.of-stars i{animation:none}}
.offices.of2 .of-ph{background:radial-gradient(120% 90% at 78% 18%,#3A5470 0%,#26374D 55%,#1E2C3E 100%)}
.offices.of2 .of.is-night .of-ph{background:radial-gradient(120% 90% at 78% 18%,#2C3E55 0%,#1E2C3E 55%,#151F2C 100%)}

/* cycle: the step (Measure / Act / Improve) leads the label */
.cyc-lbl small{font-size:clamp(13px,1.15vw,16px);letter-spacing:.16em;font-weight:700;color:#F0C969}
.cyc-node.on .cyc-lbl small{color:#F0C969}
.cyc-lbl{gap:5px}
@media (max-width:820px){.cyc-lbl small{font-size:12px;letter-spacing:.12em}}
.ftr-soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ftr-soc a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;color:#fff;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.ftr-soc a:hover{background:#fff;color:#26374D;border-color:#fff;transform:translateY(-2px)}
.ftr-soc svg{width:17px;height:17px;fill:currentColor}
.cyc-lbl small{font-size:clamp(14px,1.35vw,19px)}
.cyc-lbl small{white-space:nowrap}
/* method: drawings sit on the page, no boxes; all step numbers navy */
.mt-vis{background:none;border:0;box-shadow:none;padding:6px 0}
.mt-s:hover .mt-vis{transform:none;box-shadow:none}
.mt-s:nth-child(2) .mt-n{background:var(--navy);color:#fff}
.mt-ri{background:#fff}.mt-sc b{background:#fff}

#top .hero-sub{font-size:clamp(16px,1.25vw,19px);line-height:1.45;max-width:40ch;color:rgba(255,255,255,.85)}

/* method: steps only, no drawings */
.mt-line{top:15px}
.mt-t{padding-top:0}
.mt-t h3{margin-top:22px}
.cyc-lbl small,.cyc-node.on .cyc-lbl small{color:#fff}
.pd-vis.chips{position:relative;left:auto;right:auto;bottom:auto}
#top .hero-sub{max-width:64ch}
/* research programs: horizontal slide pinned to the scroll (desktop) */
.prog-pin.pinned{position:relative}
.prog-pin.pinned .prog-sticky{position:sticky}
.prog-pin.pinned .prog-track{scroll-snap-type:none;cursor:auto;overflow-x:hidden}
.prog-pin.pinned .prog-nav{margin-top:28px}
.programs{overflow:visible;overflow-x:clip}
.rs2-wp .rs2-fp{background:var(--navy)}.rs2-wp .rs2-fp img{object-fit:contain;padding:26px;box-sizing:border-box}
/* production shell additions */
.ftr-soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ftr-soc a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;color:#fff;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.ftr-soc a:hover{background:#fff;color:#26374D;border-color:#fff;transform:translateY(-2px)}
.ftr-soc svg{width:17px;height:17px;fill:currentColor}
/* the consent bar (shared/cookie-consent.js) reads these */
:root{--serif:"Roobert","Archivo",Helvetica,Arial,sans-serif;--sans:"Archivo",Helvetica,Arial,sans-serif}
/* consent bar in the house style */
body .tcc-inner{background:#26374D;border-radius:24px;border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 80px -40px rgba(15,25,38,.7)}
body .tcc-txt{font-family:var(--body)}
body .tcc-txt b{font-family:var(--display);font-weight:500}
body .tcc-btn{font-family:var(--body);font-weight:600;letter-spacing:.02em}
body .tcc-accept{background:#fff;color:#26374D}
body .tcc-accept:hover{background:#DDE6ED}
/* full-bleed: no browser default margin around the page */
html,body{margin:0;padding:0}
[hidden]{display:none!important}
