/*
Theme Name: eLumino 2
Theme URI: https://elumino.ca
Author: eLumino
Description: Premium, animated redesign: scroll-driven showcase, dark mode, EN/FR (Polylang), careers.
Version: 2.0.0
Text Domain: elumino
*/

/* ═════════ TOKENS ═════════ */
:root{
  --bg:#F5FAF9; --bg2:#E7F2EF; --surface:rgba(255,255,255,.72); --surface2:#E6F2EF; --solid:#FFFFFF;
  --ink:#0C2324; --ink2:#486567; --line:rgba(12,35,36,.11);
  --accent:#0B6B6B; --accent-ink:#FFFFFF; --accent2:#E0A64A; --glow:rgba(23,163,152,.30);
  --font-head:'Manrope',system-ui,sans-serif; --font-body:'Inter',system-ui,sans-serif; --font-serif:'Newsreader',Georgia,serif;
  --head-weight:800; --radius:28px; --maxw:1200px;
  --shadow:0 30px 60px -30px rgba(12,35,36,.35);
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:light;
}
html[data-mode="dark"]{
  --bg:#061415; --bg2:#0A1E1F; --surface:rgba(255,255,255,.055); --surface2:#0F2829; --solid:#0C1F20;
  --ink:#E9F5F3; --ink2:#9BB6B4; --line:rgba(255,255,255,.10);
  --accent:#4FD1C0; --accent-ink:#04201F; --accent2:#E8B25A; --glow:rgba(79,209,192,.28);
  --shadow:0 30px 60px -30px rgba(0,0,0,.7); color-scheme:dark;
}
/* per-app palettes (light) and (dark) */
[data-app="prenatal"]{--bg:#FBF1F1;--bg2:#F4E4E4;--surface:rgba(255,255,255,.7);--surface2:#F4E4E4;--solid:#fff;--ink:#33202A;--ink2:#7A5560;--accent:#C0466E;--accent-ink:#fff;--accent2:#E0805A;--line:rgba(51,32,42,.12);--glow:rgba(192,70,110,.28);--font-head:'Newsreader',Georgia,serif;--font-body:'Figtree',system-ui,sans-serif;--head-weight:600}
html[data-mode="dark"] [data-app="prenatal"]{--bg:#1D1117;--bg2:#27171F;--surface:rgba(255,255,255,.06);--surface2:#2A1A22;--solid:#25161D;--ink:#F8E9ED;--ink2:#C9A3AE;--accent:#F07A9D;--accent-ink:#2A0E18;--accent2:#EE9A74;--line:rgba(255,255,255,.1);--glow:rgba(240,122,157,.25)}
[data-app="loonlight"]{--bg:#EEF1F8;--bg2:#E1E7F3;--surface:rgba(255,255,255,.7);--surface2:#E1E7F3;--solid:#fff;--ink:#101B33;--ink2:#52607E;--accent:#1E3560;--accent-ink:#fff;--accent2:#C98A1A;--line:rgba(16,27,51,.12);--glow:rgba(30,53,96,.25);--font-head:'Manrope',system-ui,sans-serif;--font-body:'IBM Plex Sans',system-ui,sans-serif;--head-weight:800}
html[data-mode="dark"] [data-app="loonlight"]{--bg:#0D1730;--bg2:#13234A;--surface:rgba(255,255,255,.06);--surface2:#1B3060;--solid:#14264A;--ink:#F7F3EA;--ink2:#9AA3B8;--accent:#E0A64A;--accent-ink:#101B33;--accent2:#4FA88B;--line:rgba(247,243,234,.13);--glow:rgba(224,166,74,.22)}
[data-app="tenkicks"]{--bg:#F7F2F3;--bg2:#EFE6E9;--surface:rgba(255,255,255,.7);--surface2:#EFE6E9;--solid:#fff;--ink:#241B22;--ink2:#5C4E58;--accent:#6B3F5C;--accent-ink:#FDF8FA;--accent2:#C08A3E;--line:rgba(36,27,34,.12);--glow:rgba(107,63,92,.26);--font-head:'Newsreader',Georgia,serif;--font-body:'Public Sans',system-ui,sans-serif;--head-weight:500}
html[data-mode="dark"] [data-app="tenkicks"]{--bg:#161015;--bg2:#21171F;--surface:rgba(255,255,255,.06);--surface2:#2A1D27;--solid:#1F161D;--ink:#F6ECF1;--ink2:#BBA3B1;--accent:#D79BC0;--accent-ink:#2A1423;--accent2:#D9A14D;--line:rgba(255,255,255,.1);--glow:rgba(215,155,192,.24)}
[data-app="giggle"]{--bg:#F7F3EC;--bg2:#EDE7DC;--surface:rgba(255,255,255,.7);--surface2:#EDE7DC;--solid:#FDFBF8;--ink:#3A2E27;--ink2:#77685F;--accent:#5C8A6C;--accent-ink:#fff;--accent2:#DFAE45;--line:rgba(58,46,39,.12);--glow:rgba(92,138,108,.28);--font-head:'Fredoka',system-ui,sans-serif;--font-body:'Karla',system-ui,sans-serif;--head-weight:600}
html[data-mode="dark"] [data-app="giggle"]{--bg:#17140F;--bg2:#211C15;--surface:rgba(255,255,255,.06);--surface2:#2A241B;--solid:#1F1A13;--ink:#F3ECE0;--ink2:#BDB09F;--accent:#86C09A;--accent-ink:#12261A;--accent2:#DFAE45;--line:rgba(255,255,255,.1);--glow:rgba(134,192,154,.24)}

/* ═════════ BASE ═════════ */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background .5s var(--ease),color .5s var(--ease)}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:var(--head-weight);line-height:1.06;letter-spacing:-.025em;text-wrap:balance}
p{text-wrap:pretty}
em.serif,h1 em,h2 em{font-family:var(--font-serif);font-style:italic;font-weight:500;letter-spacing:-.01em;color:var(--accent)}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px}
.ms{font-family:'Material Symbols Outlined';font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;font-feature-settings:'liga';vertical-align:middle}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:12px;top:-60px;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:10px;z-index:200;font-weight:700}
.skip:focus{top:12px}
::selection{background:var(--accent);color:var(--accent-ink)}

/* ambient background */
.orbs{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;will-change:transform}
.orb.o1{width:55vmax;height:55vmax;left:-15vmax;top:-20vmax;background:radial-gradient(circle,var(--glow),transparent 65%);animation:drift1 26s ease-in-out infinite alternate}
.orb.o2{width:45vmax;height:45vmax;right:-12vmax;top:20vh;background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 35%,transparent),transparent 65%);animation:drift2 32s ease-in-out infinite alternate}
.orb.o3{width:40vmax;height:40vmax;left:25vw;bottom:-25vmax;background:radial-gradient(circle,var(--glow),transparent 65%);animation:drift1 38s ease-in-out infinite alternate-reverse}
@keyframes drift1{to{transform:translate3d(8vmax,6vmax,0) scale(1.1)}}
@keyframes drift2{to{transform:translate3d(-7vmax,-5vmax,0) scale(1.15)}}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
html[data-mode="dark"] .grain{opacity:.06}
.progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--accent),var(--accent2));z-index:120}

/* reveal system (only hides when JS is running) */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.js .rv.in{opacity:1;transform:none}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.wi{display:inline-block}
.js .split .wi{transform:translateY(112%);transition:transform 1s var(--ease);transition-delay:calc(var(--i)*55ms + var(--base,0ms))}
.js .split.in .wi{transform:none}

/* ═════════ BUTTONS / CHIPS ═════════ */
.btn{--bx:0px;--by:0px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:1.5px solid transparent;font-family:var(--font-body);cursor:pointer;transform:translate(var(--bx),var(--by));transition:transform .25s var(--ease),box-shadow .3s,background .3s,border-color .3s;overflow:hidden;isolation:isolate}
.btn .ms{font-size:20px;transition:transform .3s var(--ease)}
.btn:hover .ms.arr{transform:translateX(4px)}
.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 14px 30px -14px var(--accent)}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease);z-index:-1}
.btn-primary:hover::after{transform:translateX(120%)}
.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line);backdrop-filter:blur(10px)}
.btn-ghost:hover{border-color:var(--accent)}
.btn-light{background:#fff;color:#0B3F3F}
.btn-sm{padding:10px 20px;font-size:15px}
.pill{display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);backdrop-filter:blur(10px);font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--ink2)}
.pill i{width:8px;height:8px;border-radius:50%;background:#3BA55D;position:relative}
.pill i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #3BA55D;opacity:.5;animation:ping 2s ease-out infinite}
@keyframes ping{from{transform:scale(.5);opacity:.7}to{transform:scale(1.6);opacity:0}}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}

/* download buttons (app pages) */
.dl-row{display:flex;flex-wrap:wrap;gap:12px}
.dl{display:inline-flex;align-items:center;gap:12px;padding:11px 22px 11px 16px;border-radius:16px;text-decoration:none;min-width:190px;text-align:left;font-family:var(--font-body);line-height:1.15}
.dl .ms{font-size:28px}
.dl small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.04em;opacity:.8}
.dl strong{display:block;font-size:17px;font-weight:700}
.dl.live{background:var(--accent);color:var(--accent-ink);transition:transform .25s var(--ease),box-shadow .3s}
.dl.live:hover{transform:translateY(-3px);box-shadow:0 18px 30px -16px var(--accent)}
.dl.soon{background:var(--surface);color:var(--ink2);border:1.5px dashed var(--line);cursor:default;backdrop-filter:blur(8px)}
.dl.soon strong{color:var(--ink)}

/* ═════════ PHONES ═════════ */
.phone{--pw:260px;width:var(--pw);flex:none;padding:calc(var(--pw)*.03);border-radius:calc(var(--pw)*.17);background:linear-gradient(150deg,#45454b 0%,#141416 45%,#2c2c30 100%);box-shadow:inset 0 0 0 calc(var(--pw)*.005) #6f7075,0 50px 80px -30px rgba(0,0,0,.55),0 16px 30px -14px rgba(0,0,0,.35);position:relative}
.phone-screen{position:relative;border-radius:calc(var(--pw)*.142);overflow:hidden;aspect-ratio:1206/2622;background:#000}
.phone-screen img{width:100%;height:100%;object-fit:cover;display:block}
.phone-screen::after{content:"";position:absolute;top:1.3%;left:50%;transform:translateX(-50%);width:29%;height:3.5%;border-radius:999px;background:#000}
.phone-screen.inset{background:var(--sbg,#000)}
.phone-screen.inset img{transform:translateY(4.8%)}
.phone::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.22) 0%,transparent 30%);pointer-events:none;z-index:3}

/* ═════════ HEADER ═════════ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 0;transition:padding .4s var(--ease),transform .5s var(--ease)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:60px;padding:0 14px 0 18px;border-radius:999px;background:transparent;border:1px solid transparent;transition:background .4s,border-color .4s,box-shadow .4s,backdrop-filter .4s}
.nav.scrolled .nav-inner{background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-color:var(--line);box-shadow:0 14px 40px -24px rgba(0,0,0,.4)}
.nav.hide{transform:translateY(-110%)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;box-shadow:0 8px 18px -8px var(--accent)}
.brand-mark svg{width:22px;height:22px;transition:transform 1.2s var(--ease)}
.brand:hover .brand-mark svg{transform:rotate(180deg)}
.brand-name{font-family:'Manrope',sans-serif;font-weight:800;font-size:20px;letter-spacing:-.03em}
.nav-links{display:flex;gap:4px;list-style:none;align-items:center}
.nav-links>li{position:relative}
.nav-links a.nl,.nav-links button.nl{display:flex;align-items:center;gap:4px;padding:9px 15px;border-radius:999px;font-size:15px;font-weight:600;color:var(--ink2);text-decoration:none;transition:color .2s,background .2s}
.nav-links a.nl:hover,.nav-links button.nl:hover,.nav-links li:focus-within>.nl{color:var(--ink);background:var(--surface)}
.nav-links .ms{font-size:18px;transition:transform .3s var(--ease)}
.has-menu:hover .ms,.has-menu:focus-within .ms{transform:rotate(180deg)}
.mega{position:absolute;left:50%;top:calc(100% + 10px);width:340px;padding:10px;border-radius:24px;background:var(--solid);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translate(-50%,10px) scale(.98);transition:opacity .25s,transform .35s var(--ease),visibility .25s}
.has-menu:hover .mega,.has-menu:focus-within .mega{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
.mega a{display:flex;gap:13px;align-items:center;padding:11px 12px;border-radius:16px;text-decoration:none;transition:background .2s}
.mega a:hover{background:var(--surface2)}
.mega img{width:42px;height:42px;border-radius:11px}
.mega b{display:block;font-family:var(--font-head);font-size:16px;line-height:1.2}
.mega small{color:var(--ink2);font-size:13px}
.nav-tools{display:flex;align-items:center;gap:8px}
.icon-btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);backdrop-filter:blur(10px);transition:transform .25s var(--ease),border-color .2s}
.icon-btn:hover{border-color:var(--accent);transform:translateY(-2px)}
.icon-btn .ms{font-size:21px}
.mode-toggle .sun{display:none}
html[data-mode="dark"] .mode-toggle .sun{display:inline-block}
html[data-mode="dark"] .mode-toggle .moon{display:none}
.lang{display:inline-flex;align-items:center;height:42px;padding:0 14px;border-radius:999px;font-weight:800;font-size:13px;letter-spacing:.08em;text-decoration:none;background:var(--surface);border:1px solid var(--line);backdrop-filter:blur(10px);transition:border-color .2s}
.lang:hover{border-color:var(--accent)}
.burger{display:none}
.mnav{position:fixed;inset:0;z-index:99;background:var(--bg);padding:110px 28px 40px;display:flex;flex-direction:column;gap:6px;clip-path:circle(0 at calc(100% - 46px) 46px);transition:clip-path .7s var(--ease);visibility:hidden}
.mnav.open{clip-path:circle(150% at calc(100% - 46px) 46px);visibility:visible}
.mnav a{font-family:var(--font-head);font-weight:800;font-size:clamp(30px,8vw,46px);text-decoration:none;letter-spacing:-.03em;padding:6px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;opacity:0;transform:translateY(20px);transition:opacity .5s,transform .6s var(--ease)}
.mnav.open a{opacity:1;transform:none;transition-delay:calc(var(--i)*60ms + .25s)}
.mnav a img{width:34px;height:34px;border-radius:9px}
.mnav .sub{font-size:clamp(20px,5.5vw,26px);font-weight:700;padding-left:14px;color:var(--ink2)}

/* ═════════ HERO ═════════ */
.hero{position:relative;padding:150px 0 90px;min-height:100svh;display:flex;align-items:center}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;width:100%}
.hero h1{font-size:clamp(46px,7.2vw,98px);margin:22px 0 26px;letter-spacing:-.04em;line-height:1}
.hero h1 em{background:linear-gradient(100deg,var(--accent),color-mix(in srgb,var(--accent) 55%,var(--accent2)));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.hero .lead{font-size:clamp(18px,1.6vw,21px);color:var(--ink2);max-width:540px;margin-bottom:36px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:44px}
.trust{display:flex;flex-wrap:wrap;gap:10px 26px;color:var(--ink2);font-size:14px;font-weight:600}
.trust span{display:flex;align-items:center;gap:8px}
.trust .ms{font-size:19px;color:var(--accent)}
.hero-stage{position:relative;height:640px;perspective:1400px}
.layer{position:absolute;transition:transform .25s ease-out;will-change:transform}
.hero-stage .phone{box-shadow:inset 0 0 0 calc(var(--pw)*.005) #6f7075,0 60px 90px -30px rgba(0,0,0,.6)}
.hs1{left:2%;top:90px;--pw:210px;transform:rotate(-8deg)}
.hs2{left:50%;top:0;--pw:250px;margin-left:-125px;z-index:2}
.hs3{right:2%;top:100px;--pw:210px;transform:rotate(8deg)}
.float{animation:float 7s ease-in-out infinite}
.float.f2{animation-duration:9s;animation-delay:-2s}
.float.f3{animation-duration:8s;animation-delay:-4s}
@keyframes float{50%{translate:0 -16px}}
.chip3d{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;padding:11px 16px 11px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--line);backdrop-filter:blur(16px) saturate(1.5);box-shadow:var(--shadow);font-weight:700;font-size:14px;white-space:nowrap}
.chip3d .ico{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}
.chip3d .ico .ms{font-size:18px}
.chip3d small{display:block;font-weight:600;color:var(--ink2);font-size:12px}
.c1{left:-4%;top:36%}.c2{right:-2%;top:12%}.c3{right:6%;bottom:6%}
.scroll-hint{position:absolute;left:50%;bottom:26px;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink2);font-weight:700}
.scroll-hint i{width:22px;height:36px;border:2px solid var(--line);border-radius:12px;position:relative}
.scroll-hint i::after{content:"";position:absolute;left:50%;top:6px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--accent);animation:wheel 1.8s var(--ease) infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

/* marquee */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding:20px 0;background:var(--surface);backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;gap:56px;width:max-content;animation:mq 38s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-item{display:flex;align-items:center;gap:14px;font-family:var(--font-head);font-weight:800;font-size:26px;letter-spacing:-.02em;color:var(--ink2);white-space:nowrap}
.mq-item img{width:34px;height:34px;border-radius:9px}
.mq-item .dot{width:8px;height:8px;border-radius:50%;background:var(--accent2)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ═════════ SECTIONS ═════════ */
.section{padding:120px 0;position:relative}
.section-head{max-width:720px;margin-bottom:56px}
.section-head h2{font-size:clamp(36px,5vw,64px);margin:14px 0 18px}
.section-head p{color:var(--ink2);font-size:19px}

/* scroll-driven showcase */
.showcase{position:relative;transition:background .8s var(--ease);background:var(--bg)}
.showcase::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 75% 35%,var(--glow),transparent 70%);opacity:.9;pointer-events:none;transition:opacity .8s}
.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative}
.sc-steps{padding:6vh 0 18vh}
.sc-intro{margin-bottom:10vh}
.sc-step{min-height:78vh;display:flex;flex-direction:column;justify-content:center;gap:16px;opacity:.28;transform:scale(.97);transform-origin:0 50%;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.sc-step.on{opacity:1;transform:none}
.sc-step .ic{width:68px;height:68px;border-radius:19px;box-shadow:0 14px 28px -14px rgba(0,0,0,.5)}
.sc-step h3{font-size:clamp(34px,4.4vw,58px)}
.sc-step p{font-size:19px;color:var(--ink2);max-width:480px}
.sc-step .more{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--accent);text-decoration:none;margin-top:6px}
.sc-step .more .ms{transition:transform .3s var(--ease)}
.sc-step .more:hover .ms{transform:translateX(6px)}
.status{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.status i{width:8px;height:8px;border-radius:50%;background:var(--accent2)}
.status.live i{background:#3BA55D;box-shadow:0 0 0 4px rgba(59,165,93,.22)}
.sc-stage{position:sticky;top:0;height:100svh;display:grid;place-items:center}
.sc-phone{--pw:min(310px,30vw);transform:rotate(-4deg);transition:transform .8s var(--ease)}
.sc-phone .phone-screen img{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--ease),transform .9s var(--ease);transform:scale(1.05)}
.sc-phone .phone-screen img.on{opacity:1;transform:scale(1)}
.sc-phone .phone-screen.inset img{transform:translateY(4.8%) scale(1.05)}
.sc-phone .phone-screen.inset img.on{transform:translateY(4.8%) scale(1)}
.sc-ring{position:absolute;width:min(560px,52vw);aspect-ratio:1;border-radius:50%;border:1.5px dashed var(--line);animation:spin 60s linear infinite}
.sc-ring.r2{width:min(430px,40vw);animation-direction:reverse;animation-duration:44s;border-style:solid;opacity:.6}
@keyframes spin{to{transform:rotate(360deg)}}
.sc-dots{position:absolute;right:0;top:50%;translate:0 -50%;display:flex;flex-direction:column;gap:12px}
.sc-dots i{width:9px;height:9px;border-radius:50%;background:var(--line);transition:all .4s var(--ease)}
.sc-dots i.on{background:var(--accent);height:30px;border-radius:6px}
.sc-mobile{display:none}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.stat{background:var(--bg);padding:42px 30px;text-align:left}
.stat b{display:block;font-family:var(--font-head);font-weight:800;font-size:clamp(46px,5.6vw,80px);line-height:1;letter-spacing:-.04em;background:linear-gradient(120deg,var(--ink),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{display:block;margin-top:10px;color:var(--ink2);font-weight:600}

/* cards with spotlight */
.spot{position:relative;overflow:hidden}
.spot::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),var(--glow),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.spot:hover::before{opacity:1}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.value{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:38px 34px 40px;backdrop-filter:blur(10px);transition:transform .5s var(--ease),border-color .3s}
.value:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}
.value .ms{font-size:34px;color:var(--accent);margin-bottom:22px;display:block;font-variation-settings:'FILL' 1}
.value h3{font-size:26px;margin-bottom:12px;position:relative}
.value p{color:var(--ink2);position:relative}
.value .num{position:absolute;right:26px;top:14px;font-family:var(--font-head);font-weight:800;font-size:76px;color:var(--line);line-height:1;letter-spacing:-.05em}

.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:940px}
.tm{background:var(--surface);border:1px solid var(--line);border-radius:32px;overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;backdrop-filter:blur(10px);transform-style:preserve-3d;transition:transform .3s ease-out,box-shadow .4s}
.tm:hover{box-shadow:var(--shadow)}
.tm-photo{background:var(--surface2);position:relative;overflow:hidden;min-height:100%}
.tm-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform 1.2s var(--ease)}
.tm:hover .tm-photo img{transform:scale(1.06)}
.tm-body{padding:28px 26px 30px;display:flex;flex-direction:column}
.tm-name{font-family:var(--font-head);font-weight:800;font-size:23px;letter-spacing:-.02em;line-height:1.15}
.tm-role{color:var(--accent);font-weight:700;font-size:14.5px;margin:6px 0 14px}
.tm-bio{color:var(--ink2);font-size:15.5px;line-height:1.55}
.tm-li{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:18px;font-weight:700;font-size:14.5px;text-decoration:none}
.tm-li:hover{color:var(--accent)}

/* careers teaser + generic CTA bands */
.band{position:relative;border-radius:40px;padding:80px 56px;overflow:hidden;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#06302f));color:var(--accent-ink);isolation:isolate}
.band::before,.band::after{content:"";position:absolute;border-radius:50%;z-index:-1}
.band::before{width:520px;height:520px;right:-120px;top:-180px;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%)}
.band::after{width:420px;height:420px;left:-100px;bottom:-200px;background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 55%,transparent),transparent 65%)}
.band h2{font-size:clamp(34px,4.6vw,60px);margin-bottom:16px;color:inherit}
.band h2 em{color:inherit;opacity:.85}
.band p{font-size:19px;opacity:.9;max-width:560px}
.band-split{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.band-split .acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}

/* contact */
.contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.contact-wrap h2{font-size:clamp(38px,5vw,66px);margin:14px 0 18px}
.contact-wrap p{color:var(--ink2);font-size:19px}
.mail-link{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-weight:800;font-size:19px;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:3px}
.form{background:var(--surface);border:1px solid var(--line);border-radius:32px;padding:34px;backdrop-filter:blur(14px);display:grid;gap:16px;box-shadow:var(--shadow)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{position:relative;display:block}
.field input,.field textarea,.field select{width:100%;font:inherit;font-size:16px;padding:24px 16px 10px;border-radius:16px;border:1.5px solid var(--line);background:var(--solid);color:var(--ink);transition:border-color .2s,box-shadow .2s;appearance:none}
.field textarea{min-height:140px;resize:vertical}
.field span{position:absolute;left:17px;top:17px;font-size:16px;color:var(--ink2);pointer-events:none;transition:all .25s var(--ease);transform-origin:0 0}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--glow)}
.field input:focus+span,.field input:not(:placeholder-shown)+span,.field textarea:focus+span,.field textarea:not(:placeholder-shown)+span,.field.filled span{top:8px;font-size:12px;font-weight:700;color:var(--accent)}
.field input[type=file]{padding:26px 16px 12px}
.field.file span{top:8px;font-size:12px;font-weight:700;color:var(--accent)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{justify-self:start}
.note{padding:13px 18px;border-radius:14px;font-weight:600;font-size:15.5px}
.note.ok{background:color-mix(in srgb,#3BA55D 18%,transparent);border:1px solid #3BA55D}
.note.err{background:color-mix(in srgb,#D64545 14%,transparent);border:1px solid #D64545}
.form.sending .btn{opacity:.6;pointer-events:none}
.hint{font-size:13.5px;color:var(--ink2)}

/* ═════════ FOOTER ═════════ */
footer{border-top:1px solid var(--line);padding:80px 0 40px;position:relative;overflow:hidden}
.foot-big{font-family:var(--font-head);font-weight:800;font-size:clamp(70px,16vw,230px);letter-spacing:-.06em;line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--line);text-align:center;margin-top:60px;user-select:none;transition:-webkit-text-stroke-color .6s}
footer:hover .foot-big{-webkit-text-stroke-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.foot-desc{color:var(--ink2);font-size:15px;max-width:340px;margin-top:16px}
.foot-title{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-bottom:16px}
.foot-links{list-style:none;display:grid;gap:10px}
.foot-links a{text-decoration:none;font-size:15.5px;position:relative}
.foot-links a:hover{color:var(--accent)}
.foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);color:var(--ink2);font-size:13.5px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot-mini{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--ink2);font-size:14px}
.foot-mini a{text-decoration:none;font-weight:700;color:var(--ink)}

/* ═════════ APP PAGE ═════════ */
.app-hero{position:relative;padding:150px 0 80px;overflow:hidden}
.app-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.app-id{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.app-id img{width:72px;height:72px;border-radius:20px;box-shadow:0 14px 28px -12px rgba(0,0,0,.5)}
.plat{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.app-hero h1{font-size:clamp(46px,6.8vw,92px);margin-bottom:22px;letter-spacing:-.04em}
.app-hero .lead{font-size:clamp(18px,1.6vw,21px);color:var(--ink2);max-width:540px;margin-bottom:34px}
.app-hero .lead strong{color:var(--ink)}
.app-stage{position:relative;height:620px;perspective:1400px}
.as-back{right:2%;top:80px;--pw:230px;transform:rotate(8deg)}
.as-front{left:8%;top:0;--pw:290px;z-index:2;transform:rotate(-3deg)}

.hgal{position:relative;overflow:hidden}
.hg-head{padding-top:70px}
.hg-head h2{font-size:clamp(34px,4.6vw,62px)}
.hg-track{display:flex;gap:46px;padding:50px 28px 80px max(28px,calc((100vw - var(--maxw))/2 + 28px));width:max-content}
.hg-item{display:flex;flex-direction:column;align-items:center;gap:22px;flex:none}
.hg-item .phone{--pw:270px;transition:transform .5s var(--ease)}
.hg-item:hover .phone{transform:translateY(-10px) rotate(-1deg)}
.hg-item figcaption{font-weight:700;font-size:16px;color:var(--ink2);text-align:center;max-width:250px}
.hg-count{position:absolute;right:28px;top:76px;font-family:var(--font-head);font-weight:800;color:var(--ink2);font-size:15px;letter-spacing:.1em}
.hg-bar{height:3px;background:var(--line);margin:0 28px 36px;border-radius:2px;overflow:hidden;max-width:var(--maxw);margin-inline:auto;width:calc(100% - 56px)}
.hg-bar i{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}

.points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.point{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:34px;backdrop-filter:blur(10px);transition:transform .5s var(--ease)}
.point:hover{transform:translateY(-6px)}
.point .ms{color:var(--accent);font-size:32px;display:block;margin-bottom:18px;font-variation-settings:'FILL' 1;position:relative}
.point h3{font-size:23px;margin-bottom:10px;position:relative}
.point p{color:var(--ink2);font-size:16px;line-height:1.55;position:relative}
.get-band{background:var(--surface);border:1px solid var(--line);border-radius:36px;padding:56px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;backdrop-filter:blur(14px)}
.get-band h2{font-size:clamp(30px,3.8vw,46px);margin-bottom:10px}
.get-band p{color:var(--ink2)}
.fine{font-size:13.5px;color:var(--ink2);line-height:1.6;max-width:760px;margin-top:26px}
.other-apps{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.chip{display:inline-flex;align-items:center;gap:10px;padding:9px 18px 9px 9px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-weight:700;font-size:15px;background:var(--surface);backdrop-filter:blur(10px);transition:transform .3s var(--ease),border-color .2s}
.chip img{width:28px;height:28px;border-radius:8px}
.chip:hover{transform:translateY(-3px);border-color:var(--accent)}

/* ═════════ CAREERS ═════════ */
.page-hero{padding:170px 0 70px;position:relative}
.page-hero h1{font-size:clamp(46px,7vw,100px);margin:18px 0 24px;letter-spacing:-.04em;line-height:1}
.page-hero .lead{font-size:clamp(18px,1.6vw,22px);color:var(--ink2);max-width:660px}
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.jobs{display:grid;gap:14px}
.job{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:28px 32px;border-radius:26px;background:var(--surface);border:1px solid var(--line);text-decoration:none;backdrop-filter:blur(10px);transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.job:hover{transform:translateX(8px);border-color:var(--accent);box-shadow:var(--shadow)}
.job h3{font-size:25px;margin-bottom:8px}
.job .meta,.job-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--ink2);font-size:14.5px;font-weight:600}
.job .meta span,.job-meta span{display:flex;align-items:center;gap:6px}
.job .meta .ms,.job-meta .ms{font-size:18px;color:var(--accent)}
.job .go{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);transition:transform .4s var(--ease)}
.job:hover .go{transform:rotate(-45deg)}
.empty{padding:44px;border-radius:28px;border:1.5px dashed var(--line);text-align:center;color:var(--ink2)}
.empty h3{color:var(--ink);font-size:26px;margin-bottom:8px}
.job-layout{display:grid;grid-template-columns:1fr 440px;gap:56px;align-items:start}
.prose{font-size:18px;line-height:1.7}
.prose h2{font-size:30px;margin:44px 0 14px}
.prose h3{font-size:22px;margin:30px 0 10px}
.prose p,.prose ul,.prose ol{margin-bottom:18px;color:var(--ink)}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:7px 0}
.prose a{color:var(--accent);font-weight:600}
.sticky-form{position:sticky;top:100px}
.apply-title{font-family:var(--font-head);font-size:26px;font-weight:800;margin-bottom:6px}

/* legal / default pages */
.legal{max-width:780px;margin:0 auto;padding:150px 28px 110px}
.legal h1{font-size:clamp(34px,5vw,56px);letter-spacing:-.03em;margin:0 0 10px}
.legal h2{font-size:24px;margin:44px 0 12px}
.legal p,.legal li{font-size:17.5px;line-height:1.7}
.legal ul,.legal ol{padding-left:1.3em}
.legal li{margin:7px 0}
.legal .meta{color:var(--ink2);font-size:15px;margin:0 0 30px}
.legal a{color:var(--accent);font-weight:600}
.legal hr{border:0;border-top:1px solid var(--line);margin:56px 0}
.legal table{border-collapse:collapse;width:100%;margin:14px 0;font-size:16px}
.legal th,.legal td{border-bottom:1px solid var(--line);padding:11px 8px;text-align:left;vertical-align:top}
.legal th{color:var(--ink2);font-weight:600}
.langsw{display:flex;gap:10px;margin:0 0 30px}
.langsw a{padding:7px 16px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:15px;background:var(--surface)}
.back-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;color:var(--ink2);margin-bottom:22px}
.back-link:hover{color:var(--ink)}
.e404{min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 28px}
.e404 h1{font-size:clamp(90px,22vw,260px);letter-spacing:-.06em;line-height:.9}

/* view transitions */
@view-transition{navigation:auto}
::view-transition-old(root){animation:.35s ease both vt-out}
::view-transition-new(root){animation:.5s var(--ease) both vt-in}
@keyframes vt-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(14px)}}

/* ═════════ RESPONSIVE ═════════ */
@media(max-width:1020px){
  .nav-links{display:none}.burger{display:grid}
  .hero{padding-top:130px}
  .hero-inner,.app-hero-inner,.contact-wrap,.job-layout,.band-split{grid-template-columns:1fr}
  .band-split .acts{justify-content:flex-start}
  .hero-stage{height:540px;max-width:520px;margin:0 auto;width:100%}
  .app-stage{height:540px;max-width:520px;margin:0 auto;width:100%}
  .sc-grid{display:none}.sc-mobile{display:grid;gap:22px}
  .sc-m{display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:30px 28px 0;overflow:hidden;text-decoration:none;backdrop-filter:blur(10px)}
  .sc-m h3{font-size:30px;margin:10px 0}
  .sc-m p{color:var(--ink2);font-size:16px;padding-bottom:24px}
  .sc-m .phone{--pw:170px;margin-bottom:-50px;transform:rotate(3deg)}
  .sc-m .ic{width:52px;height:52px;border-radius:14px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .values,.points,.perks{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .get-band{grid-template-columns:1fr;padding:34px}
  .foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}
  .sticky-form{position:static}
  .section{padding:84px 0}
  .hg-track{gap:30px}
}
@media(max-width:640px){
  body{font-size:16px}.container{padding:0 20px}
  .hero-stage{height:430px}
  .hs1,.hs3{--pw:140px;top:70px}.hs2{--pw:174px;margin-left:-87px}
  .c1{left:-2%;top:44%}.c2{display:none}.c3{right:0;bottom:2%}
  .chip3d{font-size:12.5px;padding:8px 12px 8px 9px}
  .app-stage{height:440px}.as-front{--pw:210px;left:2%}.as-back{--pw:160px;top:70px}
  .tm{grid-template-columns:1fr}.tm-photo{aspect-ratio:1/1;min-height:0}
  .f-row{grid-template-columns:1fr}.form{padding:22px}
  .band{padding:48px 26px;border-radius:30px}
  .stat{padding:28px 20px}
  .job{padding:22px 22px}.job h3{font-size:21px}.job .go{width:44px;height:44px}
  .dl{min-width:0;flex:1 1 100%}
  .foot-grid{grid-template-columns:1fr}
  .scroll-hint{display:none}
  .brand-name{font-size:18px}
  .hg-item .phone{--pw:230px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .js .rv,.js .split .wi{opacity:1;transform:none}
  .mq-track{animation:none}
}
body.admin-bar .nav{top:32px}
@media(max-width:782px){body.admin-bar .nav{top:46px}}

/* ═════════ PATCHES ═════════ */
.brand img{height:36px;width:auto;display:block}
.logo-d{display:none!important}
html[data-mode="dark"] .logo-l{display:none!important}
html[data-mode="dark"] .logo-d{display:block!important}
.nav-cta{margin-left:2px}
.sc-phone .phone-screen{background:var(--sbg,#000);transition:background .6s}
.sc-phone .phone-screen img{position:absolute;inset:0}
.sc-phone .phone-screen img.ins{transform:translateY(4.8%) scale(1.05)}
.sc-phone .phone-screen img.ins.on{transform:translateY(4.8%) scale(1)}
.showcase [data-app],.sc-m{--sp:0}
.sc-m{color:var(--ink);background:var(--bg)}
.hgal.native .hg-track{overflow-x:auto;width:auto;scroll-snap-type:x proximity;padding-bottom:50px}
.hgal.native .hg-item{scroll-snap-align:center}
.hgal.native .hg-bar,.hgal.native .hg-count{display:none}
@media(max-width:1020px){.hgal .hg-track{overflow-x:auto;width:auto;scroll-snap-type:x proximity}.hg-bar,.hg-count{display:none}}
.hero-intro .layer{opacity:1}
.section-head .eyebrow{display:block}
.mnav a .ms{font-size:28px}
body.menu-open{overflow:hidden}
.job .meta,.job-meta{margin-top:2px}
.contact-wrap .note{margin-bottom:16px}
.field input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px var(--solid) inset;-webkit-text-fill-color:var(--ink)}
@media(max-width:1020px){.nav-cta{display:none}}
/* ═════════ PATCHES 2 ═════════ */
.hero h1{font-size:clamp(44px,5.6vw,82px)}
.team-grid{max-width:none}
.tm{grid-template-columns:.8fr 1.2fr}
.tm-photo{display:grid;place-items:center;padding:26px;background:radial-gradient(circle at 30% 20%,var(--glow),transparent 70%),var(--surface2);min-height:0}
.tm-photo img{position:static;width:100%;max-width:200px;aspect-ratio:1;height:auto;border-radius:50%;object-fit:cover;object-position:center 22%;box-shadow:0 18px 34px -16px rgba(0,0,0,.45);transition:transform 1s var(--ease)}
.tm:hover .tm-photo img{transform:scale(1.05) rotate(-2deg)}
@media(max-width:640px){.tm{grid-template-columns:1fr}.tm-photo{aspect-ratio:auto}}
/* ═════════ PATCHES 3 ═════════ */
.chip3d{background:color-mix(in srgb,var(--solid) 88%,transparent)}
.phone-screen{clip-path:inset(0 round calc(var(--pw)*.142));isolation:isolate}
html[lang^="fr"] .hero h1{font-size:clamp(40px,4.5vw,64px)}
html[lang^="fr"] .page-hero h1{font-size:clamp(42px,5.4vw,78px)}
.field input[type=file]{padding:30px 14px 12px;cursor:pointer}
.field input[type=file]::file-selector-button{margin-right:14px;padding:8px 16px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.sc-phone .phone-screen{clip-path:inset(0 round 14.2%)}
/* job page: single-card apply panel */
.job-layout .form .form{padding:0;border:0;box-shadow:none;background:none;backdrop-filter:none;border-radius:0}
.job-layout .f-row{grid-template-columns:1fr}
.job-layout .sticky-form>.form{padding:30px}

/* ═════════ REPOSITIONING: audiences, orbit, insights ═════════ */
[data-app="patients"]{--bg:#FFF6F1;--bg2:#FBE6DB;--surface:rgba(255,255,255,.72);--surface2:#FBE6DB;--solid:#fff;--ink:#3A2118;--ink2:#7A5648;--accent:#C4573A;--accent-ink:#fff;--accent2:#E0A64A;--line:rgba(58,33,24,.12);--glow:rgba(196,87,58,.26)}
html[data-mode="dark"] [data-app="patients"]{--bg:#1C100C;--bg2:#27160F;--surface:rgba(255,255,255,.06);--surface2:#2A1810;--solid:#25150F;--ink:#FBEAE2;--ink2:#CDA899;--accent:#F08A6B;--accent-ink:#2B120B;--accent2:#E8B25A;--line:rgba(255,255,255,.1);--glow:rgba(240,138,107,.24)}
[data-app="clinicians"]{--bg:#F1F6FC;--bg2:#E1ECF8;--surface:rgba(255,255,255,.72);--surface2:#E1ECF8;--solid:#fff;--ink:#0F2338;--ink2:#4A6480;--accent:#1D5FA8;--accent-ink:#fff;--accent2:#E0A64A;--line:rgba(15,35,56,.12);--glow:rgba(29,95,168,.26)}
html[data-mode="dark"] [data-app="clinicians"]{--bg:#09141F;--bg2:#0E1E2E;--surface:rgba(255,255,255,.06);--surface2:#10243A;--solid:#0D1B2A;--ink:#E7F0FA;--ink2:#9CB4CC;--accent:#6FB1F2;--accent-ink:#06192B;--accent2:#E8B25A;--line:rgba(255,255,255,.1);--glow:rgba(111,177,242,.24)}
[data-app="schools"]{--bg:#F5F3FD;--bg2:#E8E4F8;--surface:rgba(255,255,255,.72);--surface2:#E8E4F8;--solid:#fff;--ink:#1F1A3D;--ink2:#5B5683;--accent:#5B49C8;--accent-ink:#fff;--accent2:#E0A64A;--line:rgba(31,26,61,.12);--glow:rgba(91,73,200,.26)}
html[data-mode="dark"] [data-app="schools"]{--bg:#0F0C1F;--bg2:#171331;--surface:rgba(255,255,255,.06);--surface2:#1B1638;--solid:#15112B;--ink:#EFEBFC;--ink2:#A9A3CC;--accent:#A495F5;--accent-ink:#17104A;--accent2:#E8B25A;--line:rgba(255,255,255,.1);--glow:rgba(164,149,245,.24)}

/* hero orbit */
.orbit{position:relative;width:min(560px,100%);aspect-ratio:1;margin:0 auto}
.orbit-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orbit-lines .ring{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:3 9}
.orbit-lines .ring.r1{transform-origin:260px 260px;animation:spin 90s linear infinite}
.orbit-lines .ring.r2{transform-origin:260px 260px;animation:spin 60s linear infinite reverse;stroke:color-mix(in srgb,var(--accent) 28%,var(--line))}
.orbit-lines .ln{stroke:var(--accent);stroke-opacity:.45;stroke-width:1.6;stroke-dasharray:5 7;animation:dash 2.4s linear infinite}
@keyframes dash{to{stroke-dashoffset:-48}}
.o-core{position:absolute;left:50%;top:50%;width:26%;aspect-ratio:1;translate:-50% -50%;border-radius:32%;background:var(--solid);border:1px solid var(--line);box-shadow:var(--shadow),0 0 0 14px color-mix(in srgb,var(--accent) 8%,transparent),0 0 0 34px color-mix(in srgb,var(--accent) 5%,transparent);display:grid;place-items:center;z-index:3}
.o-core img{width:62%;height:auto}
.o-core::after{content:"";position:absolute;inset:-10px;border-radius:36%;border:2px solid var(--accent);opacity:.35;animation:pulse 3.2s ease-out infinite}
@keyframes pulse{from{transform:scale(.9);opacity:.5}to{transform:scale(1.35);opacity:0}}
.o-node{position:absolute;z-index:4;translate:-50% -50%;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;background:color-mix(in srgb,var(--solid) 90%,transparent);border:1px solid var(--line);backdrop-filter:blur(14px);box-shadow:var(--shadow);font-weight:700;font-size:14.5px;white-space:nowrap;transition:transform .25s ease-out}
.o-node .ico{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}
.o-node .ico .ms{font-size:20px}
.o-node.n1{left:50%;top:12%}.o-node.n2{left:86%;top:38%}.o-node.n3{left:72%;top:81%}.o-node.n4{left:28%;top:81%}.o-node.n5{left:14%;top:38%}

/* showcase visual panel (audiences) */
.scv{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:translateY(26px) scale(.96);transition:opacity .7s var(--ease),transform .9s var(--ease);pointer-events:none}
.scv.on{opacity:1;transform:none}
.scv-card{position:relative;width:min(470px,38vw);aspect-ratio:1;border-radius:48px;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 20%,var(--solid)),var(--solid) 70%);border:1px solid var(--line);box-shadow:var(--shadow);display:grid;place-items:center}
.scv-ic{width:36%;aspect-ratio:1;border-radius:32%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;box-shadow:0 30px 50px -22px var(--accent)}
.scv-ic .ms{font-size:clamp(60px,6vw,96px);font-variation-settings:'FILL' 1}
.scv-chip{position:absolute;padding:11px 18px;border-radius:999px;background:color-mix(in srgb,var(--solid) 92%,transparent);border:1px solid var(--line);backdrop-filter:blur(12px);box-shadow:var(--shadow);font-weight:700;font-size:14.5px;white-space:nowrap;animation:float 8s ease-in-out infinite}
.scv-chip:nth-of-type(1){left:-8%;top:16%}.scv-chip:nth-of-type(2){right:-10%;top:46%;animation-delay:-3s}.scv-chip:nth-of-type(3){left:4%;bottom:8%;animation-delay:-5s}
.sc-step .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.sc-step .chips span{padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;font-weight:700;color:var(--ink2)}
.sc-m .scm-ic{width:56px;height:56px;border-radius:16px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;margin-bottom:8px}
.sc-m .scm-ic .ms{font-size:30px}
.sc-m{grid-template-columns:1fr!important;padding-bottom:26px!important}.sc-m p{padding-bottom:8px!important}

/* insights */
.pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.pills a{padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);backdrop-filter:blur(10px);text-decoration:none;font-weight:700;font-size:15px;color:var(--ink2);transition:all .25s var(--ease)}
.pills a:hover{border-color:var(--accent);color:var(--ink)}
.pills a.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{display:flex;flex-direction:column;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);overflow:hidden;text-decoration:none;backdrop-filter:blur(10px);transition:transform .5s var(--ease),box-shadow .5s,border-color .3s}
.post-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.pc-cover{aspect-ratio:16/9;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--c1,#0B6B6B),var(--c2,#17A398))}
.pc-cover::before,.pc-cover::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.12)}
.pc-cover::before{width:60%;aspect-ratio:1;right:-12%;top:-35%}.pc-cover::after{width:42%;aspect-ratio:1;left:-8%;bottom:-30%}
.pc-cover .ms{font-size:64px;color:#fff;position:relative;z-index:1;transition:transform .6s var(--ease);font-variation-settings:'FILL' 1}
.post-card:hover .pc-cover .ms{transform:scale(1.15) rotate(-6deg)}
.pc-cover[data-cat="edu"]{--c1:#4B3DB5;--c2:#7B6BE0}.pc-cover[data-cat="pat"]{--c1:#C4573A;--c2:#E8956C}
.pc-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.pc-meta{display:flex;gap:10px;align-items:center;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.pc-meta span+span::before{content:"·";margin-right:10px;color:var(--ink2)}
.post-card h3{font-size:22px;line-height:1.2}
.post-card p{color:var(--ink2);font-size:15.5px;line-height:1.55}
.pc-more{margin-top:auto;padding-top:6px;font-weight:800;font-size:14.5px;color:var(--accent);display:inline-flex;gap:6px;align-items:center}
.post-head{padding:160px 0 30px}
.post-head h1{font-size:clamp(36px,5.4vw,70px);margin:16px 0 20px;max-width:960px;letter-spacing:-.035em}
.post-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--ink2);font-weight:600;font-size:15px}
.post-meta a{color:var(--accent);text-decoration:none;font-weight:800}
.post-wrap{max-width:780px;margin:0 auto;padding:0 28px}
.post-wrap .prose{font-size:19px;line-height:1.75}
.post-wrap .prose h2{font-size:30px;margin:46px 0 14px}
.post-wrap .prose blockquote{border-left:4px solid var(--accent);padding:6px 0 6px 22px;margin:26px 0;font-family:var(--font-serif);font-style:italic;font-size:23px;line-height:1.5;color:var(--ink)}
.post-wrap .prose .callout{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;padding:16px 20px;margin:26px 0;font-size:16.5px;line-height:1.6}
.disclaimer{font-size:14px;color:var(--ink2);border-top:1px solid var(--line);margin-top:44px;padding-top:18px}
.share{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}

/* audience pages */
.aud-hero{padding:170px 0 70px;position:relative}
.aud-hero h1{font-size:clamp(42px,6.2vw,88px);margin:18px 0 24px;letter-spacing:-.04em;line-height:1.02;max-width:1000px}
.aud-hero .lead{font-size:clamp(18px,1.6vw,22px);color:var(--ink2);max-width:700px}
.aud-hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.aud-ico{width:84px;height:84px;border-radius:26px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;margin-bottom:26px;box-shadow:0 26px 44px -22px var(--accent)}
.aud-ico .ms{font-size:46px;font-variation-settings:'FILL' 1}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.step-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:28px 24px;counter-increment:s;position:relative;backdrop-filter:blur(10px)}
.step-card::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:800;margin-bottom:16px}
.step-card h3{font-size:20px;margin-bottom:8px}.step-card p{color:var(--ink2);font-size:15.5px;line-height:1.55}
.apps-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.app-tile{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;padding:30px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-decoration:none;backdrop-filter:blur(10px);transition:transform .5s var(--ease),box-shadow .4s}
.app-tile:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.app-tile img{width:84px;height:84px;border-radius:22px;box-shadow:0 14px 28px -12px rgba(0,0,0,.4)}
.app-tile h3{font-size:25px;margin:6px 0 8px}.app-tile p{color:var(--ink2);font-size:15.5px;line-height:1.55}
.app-tile .status{margin-top:12px}
@media(max-width:1020px){.posts,.feat-grid{grid-template-columns:1fr 1fr}.steps-row{grid-template-columns:1fr 1fr}.apps-list{grid-template-columns:1fr}.o-node{font-size:13px;padding:8px 13px 8px 8px}.o-node .ico{width:30px;height:30px}.orbit{max-width:520px}}
@media(max-width:640px){.posts,.feat-grid,.steps-row{grid-template-columns:1fr}.aud-hero{padding-top:130px}.post-head{padding-top:130px}.o-node span.t{display:none}.o-node{padding:8px}.app-tile{grid-template-columns:1fr}}
.nav-links .nl{padding:9px 13px}

/* ═════════ FOOTER LOGO: line-draw, fill, shimmer ═════════ */
.foot-big{display:none}
.foot-logo{--fl-a:var(--ink);--fl-b:var(--accent);margin:64px auto 4px;max-width:1120px;position:relative;user-select:none}
html[data-mode="dark"] .foot-logo{--fl-a:#E9F5F3;--fl-b:#4FD1C0}
.foot-logo::before{content:"";position:absolute;inset:-10% 8% 0;background:radial-gradient(60% 55% at var(--mx,50%) 55%,var(--glow),transparent 70%);opacity:.7;filter:blur(30px);transition:background .2s;pointer-events:none}
.fl-svg{position:relative;display:block;width:100%;height:auto;overflow:visible}
.fl-word .g{fill:url(#flg);stroke:var(--accent);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;transform-box:fill-box;transform-origin:50% 100%;transition:transform .5s var(--ease)}
.fl-word .g:hover{transform:translateY(-14px)}
.fl-icon .pt.light{fill:#79cdc9}.fl-icon .pt.overlap{fill:#3ab0ac}.fl-icon .pt.mid{fill:#099997}.fl-icon .pt.navy{fill:#1a3950}.fl-icon .dot{fill:#e0922c}
html[data-mode="dark"] .fl-icon .pt.navy{fill:#5F8CC0}
.fl-icon .pt,.fl-icon .dot{transform-box:fill-box}
.fl-icon .pt{transform-origin:50% 100%}
.js .foot-logo .fl-word .g{stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0}
.js .foot-logo .fl-icon .pt{transform:scale(0);opacity:0}
.js .foot-logo .fl-icon .dot{transform:translateY(-80px);opacity:0}
.js .foot-logo.in .fl-word .g{animation:fl-draw 2.1s cubic-bezier(.65,0,.35,1) forwards,fl-fill 1.1s ease forwards;animation-delay:calc(var(--i)*.14s + .3s),calc(var(--i)*.14s + 1.7s)}
.js .foot-logo.in .fl-icon .pt{animation:fl-petal 1s var(--ease) forwards;animation-delay:calc(var(--k,0)*.14s + .15s)}
.fl-icon .pt.light{--k:0}.fl-icon .pt.overlap{--k:1}.fl-icon .pt.mid{--k:2}.fl-icon .pt.navy{--k:3}
.js .foot-logo.in .fl-icon .dot{animation:fl-drop 1.1s cubic-bezier(.34,1.56,.64,1) .85s forwards}
@keyframes fl-draw{to{stroke-dashoffset:0}}
@keyframes fl-fill{to{fill-opacity:1;stroke-opacity:.35}}
@keyframes fl-petal{0%{transform:scale(0) rotate(-12deg);opacity:0}60%{opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes fl-drop{0%{transform:translateY(-80px);opacity:0}30%{opacity:1}100%{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.js .foot-logo .fl-word .g{stroke-dashoffset:0;fill-opacity:1;animation:none}.js .foot-logo .fl-icon .pt,.js .foot-logo .fl-icon .dot{transform:none;opacity:1;animation:none}.fl-svg animateTransform{display:none}}
@media(max-width:640px){.foot-logo{margin-top:40px}.fl-word .g{stroke-width:3}}
/* Safari: gradient text must be painted on the animated word wrappers, not the <em> */
.hero h1 em,.aud-hero h1 em,.page-hero h1 em{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--accent);padding-right:0}
.hero h1 em .wi,.aud-hero h1 em .wi,.page-hero h1 em .wi{background:linear-gradient(100deg,var(--accent),color-mix(in srgb,var(--accent) 55%,var(--accent2)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding-right:.07em}
