
/* =========================================================
   Aera — cinematic system
   Media is the hero. Type sits on it. Motion follows scroll.
   ========================================================= */
:root{
  --bg:#05040F;
  --text:#F5F3F9;
  --text-2:#A7A1B6;
  --text-3:#6D677E;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.16);
  --iris:linear-gradient(135deg,#FF6BBF 0%,#FF8FD0 50%,#C39BFF 100%);
  --brand:linear-gradient(105deg,#FF6BBF 0%,#9B4DFF 100%);
  --r:28px;
  --r-sm:14px;
  --container:1180px;
  --gutter:24px;
  --edge:max(var(--gutter),calc((100vw - var(--container))/2));
  --section:clamp(104px,13vw,176px);
  --font:Lato,Inter,sans-serif;
  --ease:cubic-bezier(.28,.11,.32,1);
}
@media (max-width:640px){:root{--gutter:18px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.55;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-x:clip}
html{overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:2px solid #FF9BD4;outline-offset:3px;border-radius:8px}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.045;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 type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}

/* ---------- type ---------- */
.eyebrow{font-size:clamp(17px,1.4vw,21px);font-weight:600;letter-spacing:-.01em;background:var(--iris);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.h1{font-size:clamp(54px,8.2vw,112px);line-height:1;font-weight:660;letter-spacing:-.028em;text-wrap:balance}
.h2{font-size:clamp(32px,4.6vw,64px);line-height:1.05;font-weight:660;letter-spacing:-.024em;text-wrap:balance}
.h2 .grad{display:block}
.h3{font-size:22px;line-height:1.25;font-weight:600;letter-spacing:-.02em}
.grad{background:var(--iris);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}
.lede{font-size:clamp(19px,1.6vw,23px);line-height:1.45;font-weight:500;letter-spacing:-.015em;color:var(--text-2);text-wrap:pretty}
.lede strong,.caption b{color:var(--text);font-weight:600}
.wide-br{display:none}@media (min-width:1280px){.wide-br{display:inline}}   /* a line break that only applies on the widest view */
.body{color:var(--text-2);font-size:16px;line-height:1.55}
.small{font-size:13px;color:var(--text-3);letter-spacing:0}
.lit{background-image:linear-gradient(180deg,var(--text) calc(var(--lit,0)*1% - 14%),rgba(167,161,182,.36) calc(var(--lit,0)*1% + 14%));-webkit-background-clip:text;background-clip:text;color:transparent}
.lit strong{-webkit-text-fill-color:transparent;color:transparent}   
/* ---------- rhythm ---------- */
.section{position:relative;padding:var(--section) 0;isolation:isolate}
.section::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:50%;top:var(--gy,55%);width:min(1100px,120vw);height:760px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,var(--glow,rgba(123,47,190,.28)),transparent)}
.section.mix::before{background:radial-gradient(closest-side at 30% 50%,rgba(123,47,190,.24),transparent),radial-gradient(closest-side at 72% 55%,rgba(255,107,191,.20),transparent)}
.section.tight{padding-top:clamp(64px,8vw,112px)}
.head{max-width:1080px;margin:0 auto clamp(56px,7vw,88px);text-align:center}
.head .eyebrow{margin-bottom:18px}
.head .lede{margin:28px auto 0;max-width:740px}
.solo{max-width:780px;margin:0 auto clamp(56px,7vw,88px);text-align:center}

/* ---------- glass (signature) ---------- */
.glass{position:relative;border-radius:var(--r);background:rgba(255,255,255,.04) linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.015) 45%,rgba(255,255,255,.04));border:1px solid var(--line);border-top-color:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(28px) saturate(1.7);backdrop-filter:blur(28px) saturate(1.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 50px -36px rgba(0,0,0,.9);transition:background-color .5s var(--ease),border-color .5s var(--ease),transform .6s var(--ease)}
.glass::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .5s var(--ease);background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(190,190,255,.12),transparent 60%)}
.glass.hover:hover{background-color:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.glass.hover:hover::after{opacity:1}
.glass.deep{background-color:rgba(10,8,34,.38);border-color:rgba(255,255,255,.16);border-top-color:rgba(255,255,255,.3)}
.card{padding:36px}
@media (max-width:640px){.card{padding:26px}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 28px;border-radius:999px;font-size:17px;font-weight:600;letter-spacing:-.015em;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background-color .4s var(--ease)}
.btn-primary{position:relative;background:#F5F3F9;color:#0A0824;box-shadow:0 0 0 1px rgba(255,255,255,.5) inset,0 10px 30px -12px rgba(180,140,255,.55),0 0 0 0 rgba(255,107,191,0);transition:transform .4s var(--ease),box-shadow .5s var(--ease),background-color .3s var(--ease)}
.btn-primary:hover{background:#fff;transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.7) inset,0 14px 40px -10px rgba(180,140,255,.75),0 0 0 4px rgba(255,107,191,.14)}
.btn-white{background:#fff;color:#0A0A2E}
.btn-white:hover{background:#EFE8FF}
.btn-glass{background:rgba(255,255,255,.08);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.btn-glass:hover{background:rgba(255,255,255,.14)}
.btn-sm{height:30px;padding:0 14px;font-size:13px;font-weight:600}
.link{display:inline-flex;align-items:center;gap:6px;font-size:17px;font-weight:500;color:#D7C2FF}
.link:hover{text-decoration:underline;text-underline-offset:3px}
.link svg{width:14px;height:14px}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(36px);transition:opacity 1.2s var(--ease) var(--d,0ms),transform 1.2s var(--ease) var(--d,0ms)}
.rv.in{opacity:1;transform:none}

/* ---------- navigation: global bar scrolls away, product bar sticks ---------- */
.gnav{height:53px;border-bottom:1px solid var(--line)}
.gnav .container{display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}
.logo{display:flex;align-items:center;gap:9px}
.logo svg{height:17px;width:auto}
.logo span{font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--text-3)}
.gnav nav{display:flex;gap:34px;font-size:13px;color:var(--text-2)}
.gnav nav a:hover,.gnav .login:hover{color:var(--text)}
.gnav .login{font-size:13px;color:var(--text-2)}
.lnav{position:sticky;top:0;z-index:60;height:54px;border-bottom:1px solid transparent;transition:background-color .4s var(--ease),border-color .4s var(--ease)}
.lnav.stuck{background:rgba(5,4,15,.72);-webkit-backdrop-filter:blur(22px) saturate(1.7);backdrop-filter:blur(22px) saturate(1.7);border-bottom-color:var(--line)}
.lnav .container{display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}
.lnav .title{font-size:21px;font-weight:600;letter-spacing:-.02em}
.lnav .right{display:flex;align-items:center;gap:26px}
.lnav .links{display:flex;gap:24px;font-size:12.5px;color:var(--text-2)}
.lnav .links a{position:relative;padding:18px 0;transition:color .3s}
.lnav .links a:hover,.lnav .links a.on{color:var(--text)}
.lnav .links a.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--text)}
@media (max-width:900px){.gnav nav{display:none}.lnav .links{display:none}}

/* ---------- hero ---------- */
.hero{padding:clamp(80px,11vw,140px) 0 clamp(56px,7vw,96px);text-align:center}
.home-page .hero{-webkit-mask-image:linear-gradient(180deg,transparent,#000 110px);mask-image:linear-gradient(180deg,transparent,#000 110px)}   /* the glow fades in from the top edge of the hero, so there is no hard line against the bar above it */
.hero::before{z-index:-1;top:48%;height:1120px;width:min(1440px,128vw);opacity:.4;background:radial-gradient(closest-side at 58% 48%,rgba(255,107,191,.30),transparent),radial-gradient(closest-side at 36% 54%,rgba(123,47,190,.34),transparent)}
.hero .eyebrow{margin-bottom:22px}
.hero .sub{margin-top:24px;font-size:clamp(22px,2.3vw,28px);font-weight:500;letter-spacing:-.02em;line-height:1.4}
.hero .lede{max-width:700px;margin:24px auto 0}
.ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:40px}

/* ---------- showcase: rounded card that grows to full-bleed ---------- */
.showcase{position:relative;padding:0}
:root{--sc-gap:clamp(20px,3vw,40px)}   /* the space that used to sit around a photo now sits inside the sections next to it */
.section:has(+ .showcase){padding-bottom:calc(var(--section) + var(--sc-gap))}
.showcase+.section{padding-top:calc(var(--section) + var(--sc-gap))}
.sc{position:relative;overflow:hidden;background:#0A0824;clip-path:inset(0 var(--sc-x,0px) round var(--sc-r,0px));will-change:clip-path}
.sc.tall{height:min(92vh,900px);min-height:540px}
.sc>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--sc-s,1));transform-origin:center}
.sc.photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,4,15,.2),rgba(5,4,15,0) 30%,rgba(5,4,15,0) 52%,rgba(5,4,15,.78))}
.sc-center{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--gutter)}
.sc-center .eyebrow,.sc-foot .eyebrow{background:none;color:rgba(255,255,255,.88);-webkit-text-fill-color:currentColor}
.sc-center .eyebrow{margin-bottom:16px}
#platform .sc-center .eyebrow{background:var(--iris);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}   /* homepage "Other software helps with the work": iris eyebrow, same as "Ask, don't hunt" */
.sc-center .h2{max-width:13.5em;text-shadow:0 2px 40px rgba(4,3,30,.35)}
.sc-center .h2 span{display:block}
#platform .sc.photo::after{background:linear-gradient(180deg,rgba(5,4,15,.55),rgba(5,4,15,.5) 50%,rgba(5,4,15,.7))}   /* even dark wash so the centred headline stays readable over the photo */
.sc-foot{position:absolute;left:var(--edge);right:var(--edge);bottom:clamp(40px,6vw,80px);z-index:1}
.sc-foot .h2{font-size:clamp(30px,4.4vw,60px);max-width:16em}
.mag{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}

.sc.dusk .mag{filter:hue-rotate(12deg)}
.stage{position:relative;z-index:1;padding:clamp(56px,8vw,112px) var(--gutter)}

/* product window on the wallpaper */
.window{max-width:1060px;margin:0 auto;padding:10px;border-radius:22px;transform:scale(var(--win-s,1));transform-origin:50% 30%}
.app{border-radius:14px;overflow:hidden;background:#fff;color:#18181B;font-family:Inter,system-ui,sans-serif;text-align:left;letter-spacing:0;box-shadow:0 50px 100px -40px rgba(10,0,30,.8)}

.seg{display:flex;padding:2px;border-radius:8px;background:#F4F4F5;border:1px solid #EDEDEF;font-size:11px;font-weight:500}
.seg span{padding:4px 12px;border-radius:6px;color:#71717A}
.seg span.on{background:#fff;color:#18181B;box-shadow:0 1px 2px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04)}

.spark{width:24px;height:24px;border-radius:6px;background:#EEECFD;color:#6E62E5;display:grid;place-items:center}

.w{border:1px solid #E7E7EA;border-radius:8px;background:#fff;display:flex;flex-direction:column;overflow:hidden}
.w h4{margin:0;padding:9px 12px;font-size:11.5px;font-weight:600;border-bottom:1px solid #EFEFF1}
.w .k{padding:8px 12px 0;font-size:8.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#A1A1AA}
.w .n{display:flex;align-items:center;gap:8px;padding:2px 12px 8px;font-size:32px;font-weight:500;letter-spacing:-.03em}
.pill{font-size:8.5px;font-weight:600;padding:2px 6px;border-radius:4px;letter-spacing:0}
.ok{background:#DCFCE7;color:#16A34A}.watch{background:#E0F2FE;color:#0284C7}.warn{background:#FFEDD5;color:#EA580C}
.w .d{font-size:9px;font-weight:500;padding:0 12px}
.w .d.up{color:#16A34A}.w .d.down{color:#EA580C}
.w .rows{margin-top:auto;border-top:1px solid #EFEFF1}
.w .rows div{display:flex;justify-content:space-between;padding:5px 12px;font-size:10.5px;border-top:1px solid #F4F4F5}
.w .rows div:first-child{border-top:0}

@media (max-width:560px){.seg{justify-self:end}}

/* ---------- proof strip ---------- */
.proof{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.num{font-size:clamp(30px,2.8vw,42px);line-height:1;font-weight:650;letter-spacing:-.03em;background:var(--iris);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.proof p{margin-top:14px;font-size:15px;line-height:1.5;color:var(--text-2)}
@media (max-width:900px){.proof{grid-template-columns:1fr 1fr}}

/* ---------- engines ---------- */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.core{grid-column:1/-1;display:flex;align-items:center;gap:30px;padding:40px;background-color:rgba(123,47,190,.14)}
.core .h3{font-size:28px}
.icon{width:48px;height:48px;flex:none;border-radius:var(--r-sm);display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line-2)}
.icon svg{width:22px;height:22px;stroke:#DCDDFF;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.core .icon{width:64px;height:64px;background:var(--brand);border-color:rgba(255,255,255,.25)}
.core .icon svg{width:28px;height:28px;stroke:#fff}
.eng .icon{margin-bottom:28px}
.eng p{margin-top:10px}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.bento{grid-template-columns:1fr}.core{flex-direction:column;align-items:flex-start;padding:30px}}

/* ---------- specs ---------- */
.specs{display:grid;grid-template-columns:repeat(4,1fr)}
.spec{padding:8px 30px}
.spec+.spec{border-left:1px solid var(--line)}
.spec .num{font-size:clamp(48px,5.4vw,80px);white-space:nowrap;background:linear-gradient(90deg,#FF6BBF,#FFB199);-webkit-background-clip:text;background-clip:text}
.spec p{margin-top:16px;color:var(--text-2);font-size:16px;line-height:1.5}
.spec .small{margin-top:12px}
@media (min-width:1280px){.spec p{text-wrap:balance}}   /* widest view: even out the lines so a single word never sits alone on the last line */
@media (max-width:900px){.specs{grid-template-columns:1fr 1fr;row-gap:48px}.spec:nth-child(3){border-left:0}}
@media (max-width:520px){.specs{grid-template-columns:1fr}.spec{border-left:0!important;padding:0}}

/* ---------- gallery ---------- */

.caption{margin-top:22px;max-width:500px;font-size:17px;line-height:1.5;color:var(--text-2)}
.caption .link{margin-top:14px}

/* ---------- chat on the wallpaper ---------- */
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;width:fit-content;max-width:100%;margin:0 auto 28px;padding:5px;border-radius:999px}
.tab{height:38px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:500;color:rgba(255,255,255,.72);transition:color .3s var(--ease),background-color .3s var(--ease)}
.tab:hover{color:#fff}
.tab[aria-selected="true"]{background:#fff;color:#0A0A2E}
@media (max-width:640px){.tabs{border-radius:22px}}
.chat{max-width:780px;margin:0 auto;overflow:hidden}

.live{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.live i{width:6px;height:6px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 3px rgba(74,222,128,.18);animation:blink 1.8s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.ai{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--brand);flex:none}
.ai svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round}

.msg{max-width:84%;font-size:16px;line-height:1.6;opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.msg.show{opacity:1;transform:none}
.msg.me{align-self:flex-end;padding:12px 16px;border-radius:18px 18px 4px 18px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}

.dots{display:inline-flex;gap:4px;padding-top:10px}
.dots i{width:6px;height:6px;border-radius:50%;background:#fff;animation:dot 1.1s infinite}
.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,100%{opacity:.25}50%{opacity:1}}

.claim{margin-top:36px;text-align:center;font-size:clamp(24px,2.6vw,36px);font-weight:650;letter-spacing:-.025em;min-height:1.3em;transition:opacity .6s var(--ease)}
.outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.outcomes p{margin-top:10px}
@media (max-width:860px){.outcomes{grid-template-columns:1fr}}

/* ---------- results ---------- */
.results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

@media (max-width:960px){.results{grid-template-columns:1fr}}

/* ---------- closing ---------- */
.closing .sc-center .lede{color:rgba(255,255,255,.82);max-width:620px;margin:24px auto 0}
.closing .ctas{margin-top:36px}

/* ---------- footer ---------- */
.footer{padding:72px 0 36px;border-top:1px solid var(--line);font-size:13px}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:32px}
.foot-grid h4,.foot-grid .foot-h{margin:0 0 12px;font-size:12.5px;font-weight:600;color:var(--text)}   /* column headings are h2s now (no jump from the page's h2s to h4: SEO pass 2026-11-01); same look */
.foot-grid li{margin:8px 0;color:var(--text-3)}
.foot-grid a:hover{color:var(--text)}
.foot-brand p{margin-top:14px;line-height:1.6;color:var(--text-3);max-width:260px}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;color:var(--text-3)}
.foot-base nav{display:flex;flex-wrap:wrap;gap:20px}
/* OneTrust's "Cookie settings" / "Do Not Sell My Data" button, styled as one more footer link (OneTrust's own button styles use !important) */
.foot-base #ot-sdk-btn#ot-sdk-btn.ot-sdk-show-settings{all:unset;display:inline-block;padding:3px 0!important;margin:-3px 0!important;background:none!important;border:0!important;color:inherit!important;font:inherit!important;font-size:12px!important;line-height:inherit!important;letter-spacing:inherit!important;white-space:nowrap!important;height:auto!important;cursor:pointer}
.foot-base #ot-sdk-btn#ot-sdk-btn.ot-sdk-show-settings:hover{color:var(--text)!important;background:none!important}
.foot-base #ot-sdk-btn#ot-sdk-btn.ot-sdk-show-settings:focus-visible{outline:2px solid #C39BFF;outline-offset:3px;border-radius:2px}
/* cookie banner (Marc 2026-10-30): 20px either side of the text on all three buttons */
#onetrust-banner-sdk #onetrust-pc-btn-handler,#onetrust-banner-sdk #onetrust-reject-all-handler,#onetrust-banner-sdk #onetrust-accept-btn-handler{padding-left:20px!important;padding-right:20px!important}
/* wide view, only on the banner version with the privacy icon (the US opt-out version has none): 40px before and after the icon, the text moved over by the same amount (40 + 64 + 40) and centred level with the icon and the buttons */
@media (min-width:897px){#onetrust-banner-sdk .ot-bnr-logo{margin-left:40px!important;margin-right:40px!important}#onetrust-banner-sdk:has(.ot-bnr-logo) #onetrust-policy{margin:15px 0 15px 144px!important}}
/* phones (Gloria 2026-10-31): OneTrust keeps its two narrow columns down to phone width, so the text ran 586px tall beside the buttons and the banner covered most of the screen.
   Here the text runs the full width in a smaller size, the opt-out button sits under it at full width, and Reject All and Accept share the row below */
@media (max-width:700px){
  #onetrust-banner-sdk .ot-sdk-row{display:block!important}   /* the provider lays text and buttons side by side in a flex row */
  #onetrust-banner-sdk #onetrust-group-container,#onetrust-banner-sdk #onetrust-button-group-parent{width:100%!important;float:none!important;position:static!important;transform:none!important;left:auto!important;top:auto!important;margin:0!important;padding:0!important}
  #onetrust-banner-sdk #onetrust-policy{margin:16px 0 12px!important}
  #onetrust-banner-sdk #onetrust-policy-text{margin:0!important;font-size:12.5px!important;line-height:1.5!important}
  #onetrust-banner-sdk #onetrust-policy-text::before{content:"";float:right;width:36px;height:30px}   /* the text wraps around the close button instead of leaving a gap down the right */
  #onetrust-banner-sdk #onetrust-button-group{display:flex!important;flex-wrap:wrap;gap:8px;width:100%!important;margin:0 0 16px!important}
  #onetrust-banner-sdk #onetrust-button-group button{flex:1 1 calc(50% - 4px);width:auto!important;margin:0!important;padding-top:10px!important;padding-bottom:10px!important}
  #onetrust-banner-sdk #onetrust-button-group #onetrust-pc-btn-handler{flex-basis:100%}
}
@media (max-width:960px){.foot-grid{grid-template-columns:1fr 1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr 1fr}}

   

/* ---------- ending: photo + invitation ---------- */
.sc.photo.end::after{background:linear-gradient(90deg,rgba(5,4,15,.78) 0%,rgba(5,4,15,.35) 48%,rgba(5,4,15,0) 70%),linear-gradient(180deg,rgba(5,4,15,.15) 0%,rgba(5,4,15,0) 35%,rgba(5,4,15,.7) 100%)}
.end-copy{right:auto;max-width:min(640px,calc(100vw - 2*var(--gutter)))}
.end-copy .eyebrow{margin-bottom:14px}
/* "Your path is three questions away." keeps its second line in one piece, so the block has to be wide enough for it (it was clipped at the old 640px); on phones it may wrap instead */
.end-wide{max-width:min(960px,calc(100vw - 2*var(--gutter)))}
@media (max-width:640px){.end-wide .h2 .grad{white-space:normal!important}}
.end-copy .h2{max-width:10em}
.end-copy .lede{margin-top:18px;max-width:520px;color:rgba(255,255,255,.84)}
.end-copy .ctas{justify-content:flex-start;margin-top:30px}
@media (max-width:640px){.sc.photo.end::after{background:linear-gradient(180deg,rgba(5,4,15,.1) 0%,rgba(5,4,15,.35) 40%,rgba(5,4,15,.88) 100%)}}

/* ---------- product film ---------- */

.qa{align-self:end;display:flex;flex-direction:column;gap:12px;opacity:0;transition:opacity .5s var(--ease)}
.asking .qa{opacity:1}
.qa .q{align-self:flex-end;max-width:80%;padding:8px 12px;border-radius:12px 12px 3px 12px;background:#F4F4F5;font-size:12.5px;opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.qa .a{display:flex;gap:10px;opacity:0;transition:opacity .45s var(--ease)}
.qa .a p{display:none;font-size:12.5px;line-height:1.6}

.qa.ans .a p{display:block}

.app .pill{display:inline-block;transform:scale(0);opacity:0;transition:transform .5s cubic-bezier(.3,1.6,.5,1),opacity .3s}
.app.pop .pill{transform:none;opacity:1}


/* ---------- product tour: pinned, scroll-driven ---------- */
.film-pin{height:calc(100vh + 5 * 85vh);padding:0}
.film-sticky{position:sticky;top:54px;height:calc(100vh - 54px);padding:clamp(10px,1.6vw,20px) 0}
.film-sc{height:100%}
.film-sc .stage{height:100%;display:flex;flex-direction:column;justify-content:center;padding:18px var(--gutter)}
.film-sc .window{width:min(1060px,100%,calc((100vh - 300px) * 2.05));margin:0 auto}

@media (max-width:760px){.film-pin{height:calc(100vh + var(--n,5) * 70vh)}.film-sc .window{width:100%}}

/* ---------- hero: the old EMR, absorbed ---------- */
.hero{position:relative;min-height:calc(100svh - 54px);display:flex;align-items:center;overflow:hidden;padding:clamp(72px,9vw,120px) 0}
.hero-in{position:relative;z-index:1;will-change:transform,opacity}
.ask{position:relative;display:flex;align-items:center;gap:14px;width:min(640px,100%);height:64px;margin:40px auto 0;padding:0 10px 0 14px;border-radius:999px;text-align:left;transition:box-shadow .8s var(--ease),border-color .8s var(--ease),opacity 1.2s var(--ease) var(--d,0ms),transform 1.2s var(--ease) var(--d,0ms)}
.ask::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(90deg,#B48CFF,#FF8FD0,#FF6BBF,#B48CFF);background-size:300% 100%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .8s var(--ease);animation:askline 6s linear infinite}
@keyframes askline{to{background-position:300% 0}}
.ask.charged::before{opacity:1}
/* the bar powers up once, as one smooth glow (QA-006): the old seven quick pulses flashed hard in Firefox. Every glow keeps the
   glass's inset top line first, so the browser can fade between them instead of jumping */
.ask.charged{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 6px rgba(255,107,191,.06),0 24px 80px -20px rgba(255,107,191,.55)}
.ask.charging{animation:askcharge 1.5s ease-in-out both}
@keyframes askcharge{0%{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 0 rgba(255,107,191,0),0 24px 50px -36px rgba(0,0,0,.9)}45%{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 10px rgba(255,107,191,.12),0 24px 90px -16px rgba(255,107,191,.8)}100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 6px rgba(255,107,191,.06),0 24px 80px -20px rgba(255,107,191,.55)}}
.ask-sp{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--brand)}
.ask-sp svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round}
.ask-t{flex:1;min-width:0;display:flex;align-items:center;font-size:clamp(15px,1.4vw,18px);font-weight:500;letter-spacing:-.01em;color:#fff;white-space:nowrap;overflow:hidden}
.ask-t #askText:empty::before{content:"Ask Aera anything";color:var(--text-3)}
.ask-c{width:2px;height:1.2em;margin-left:2px;background:#FF8FD0;animation:blink 1s steps(1) infinite}
.ask-go{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:#F5F3F9;color:#0A0824;transition:transform .4s var(--ease)}
.ask-go svg{width:16px;height:16px}
.ask:hover .ask-go{transform:translateX(3px)}
.hero .ctas{margin-top:28px}
@media (max-width:640px){.ask{height:56px}.ask-sp{width:32px;height:32px}.ask-go{width:38px;height:38px}}
@media (prefers-reduced-motion:reduce){.ask,.ask::before{transition:none;animation:none}}
/* ---------- language: say it your way ---------- */
.lxpin{position:relative;height:calc(100vh + var(--n,5) * 90vh)}
.lx-sticky{position:sticky;top:54px;height:calc(100vh - 54px);overflow:hidden;display:flex;flex-direction:column}
.lx-glow{position:absolute;inset:-10% -10% auto;height:120%;pointer-events:none;background:radial-gradient(50% 40% at 50% 45%,color-mix(in srgb,var(--lxh,#B48CFF) 22%,transparent),transparent 70%);transition:background 1s var(--ease)}
.lx-stage{position:relative;flex:1;width:100%}
.lx{position:absolute;inset:0 var(--gutter);display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .8s var(--ease);pointer-events:none}
.lx.on{opacity:1;transform:none;pointer-events:auto}
.lx.past{transform:translateY(-24px)}
.lx-who{display:flex;align-items:center;gap:14px;font-size:15px;color:var(--text-2)}
.lx-who b{color:#fff;font-weight:600}
.lx-mode{display:inline-flex;align-items:center;gap:3px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text-2);background:rgba(255,255,255,.06);border:1px solid var(--line-2)}
.lx-mode svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;margin-right:4px}
.lx-mode i{width:2px;height:10px;border-radius:2px;background:#FF8FCF;animation:lvl 1s ease-in-out infinite}
.lx-mode i:nth-child(2){animation-delay:.15s}.lx-mode i:nth-child(3){animation-delay:.3s}.lx-mode i:nth-child(4){animation-delay:.45s;margin-right:5px}
.lx-say{margin:22px 0 0;max-width:15em;font-size:clamp(40px,6.6vw,96px);font-weight:600;letter-spacing:-.04em;line-height:1.62;color:#fff}
.lx-say .sg.cur::after{content:"";display:inline-block;width:.06em;height:.9em;margin-left:.04em;vertical-align:-.08em;background:#FF8FD0;animation:blink 1s steps(1) infinite}
.lx-say .ent{position:relative;display:inline-block;transition:color .5s var(--ease)}
.lx-say .ent .tx{position:relative;background:linear-gradient(90deg,var(--hue),var(--hue)) no-repeat 0 92%/0% .07em;transition:background-size .6s var(--ease)}
.lx-say .ent.on{color:var(--hue)}
.lx-say .ent.on .tx{background-size:100% .07em}
.lx-say .tg{position:absolute;left:0;top:calc(100% - .02em);display:flex;align-items:baseline;gap:7px;padding:5px 10px;border-radius:10px;white-space:nowrap;font-size:clamp(12px,1vw,14px);font-weight:600;letter-spacing:-.005em;line-height:1.25;color:#fff;background:rgba(10,10,40,.72);border:1px solid color-mix(in srgb,var(--hue) 45%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px -10px color-mix(in srgb,var(--hue) 60%,transparent);opacity:0;transform:translateY(-6px) scale(.96);transform-origin:left top;transition:opacity .45s var(--ease),transform .55s var(--ease);z-index:1}
.lx-say .tg em{font-style:normal;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--hue)}
.lx-say .ent.on .tg{opacity:1;transform:none}
.lx-res{display:flex;align-items:flex-start;gap:14px;max-width:620px;margin-top:clamp(64px,8vh,96px);padding:18px 22px 18px 18px;border-radius:20px;opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .7s var(--ease)}
.lx.done .lx-res{opacity:1;transform:none}
.lx-ck{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7CFFB2,#3DDC97)}
.lx-ck svg{width:16px;height:16px;fill:none;stroke:#062B1A;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.lx-res div{display:flex;flex-direction:column;gap:4px}
.lx-res b{font-size:clamp(18px,1.6vw,22px);font-weight:650;letter-spacing:-.02em}
.lx-res span{font-size:15px;line-height:1.5;color:var(--text-2)}
.lx-nav{display:grid;grid-template-columns:repeat(var(--k,4),1fr);gap:10px;padding-bottom:26px;position:relative}
.lx-nav button{display:flex;flex-direction:column;gap:8px;text-align:left;font-size:13px;font-weight:600;color:rgba(255,255,255,.45);transition:color .4s var(--ease)}
.lx-nav button.on,.lx-nav button:hover{color:#fff}
.lx-nav i{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}
.lx-nav b{display:block;height:100%;width:0;background:#fff;border-radius:3px}
@media (max-width:640px){.lx-nav span{display:none}.lx-say{font-size:clamp(34px,10vw,48px)}.lx-say .tg{font-size:11px;padding:5px 8px}.lx-res span{font-size:14px}}
@media (prefers-reduced-motion:reduce){.lx,.lx-res,.lx-say .tg,.lx-say .ent .tx{transition:none}.lx-mode i,.lx-say .sg.cur::after{animation:none}}

.lx.fin{align-items:center;text-align:center}
.fin-h{margin:0;max-width:14em;font-size:clamp(40px,6vw,88px);font-weight:660;letter-spacing:-.04em;line-height:1.08;color:#fff}
.fin-h>span{display:inline-block;opacity:.12;filter:blur(6px);transform:translateY(12px);transition:opacity .7s var(--ease),filter .7s var(--ease),transform .8s var(--ease)}
.fin-h>span.on{opacity:1;filter:none;transform:none}
.fin-s{margin:clamp(22px,3vw,34px) 0 0;max-width:30em;font-size:clamp(18px,1.6vw,23px);line-height:1.45;color:var(--text-2);opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease),transform .8s var(--ease)}
.fin-s.on{opacity:1;transform:none}
/* "Ask, don't hunt": the headline and subhead stay at the top of the plain-language scroll, so the two are one section (Gloria) */
.lx-head{position:relative;padding-top:clamp(28px,5vh,56px)}
.lx-head .h2{margin:0 auto;text-align:center}   /* the plain-language line is the subhead, centred in white under the headline; the examples start close underneath */
.lx-head .lede{max-width:none;margin:clamp(12px,1.8vh,20px) auto 0;text-align:center;color:#fff}
.lx-head+.lx-stage .lx:not(.fin){justify-content:flex-start;padding-top:clamp(28px,5vh,56px)}
.lx-head+.lx-stage .lx-say{font-size:clamp(36px,5.2vw,76px)}
.lx-head+.lx-stage .lx-res{margin-top:clamp(40px,6vh,72px)}
/* shorter laptop windows: the sentence and its result scale with the window's height so the result stays above the progress lines (QA-025, QA-026) */
@media (min-width:641px) and (max-height:900px){
  .lx-head+.lx-stage .lx-say{font-size:min(5.2vw,6.6vh)}
  .lx-head+.lx-stage .lx:not(.fin){padding-top:clamp(10px,2.4vh,28px)}
  .lx-head+.lx-stage .lx-res{margin-top:36px;padding-top:12px;padding-bottom:12px}
}
@media (min-width:641px) and (max-height:700px){.lx-head+.lx-stage .lx-say{font-size:min(5.2vw,5.6vh)}}
.gs-reset,.gs-reset *{transition:none!important}   /* a feature card going back to its start before a replay */
.faq-q p a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.lx-tags{display:none}
@media (max-width:640px){
  .lx-say{line-height:1.2}
  .lx-say .tg{display:none}
  .lx-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
  .lx-tags .tg{position:static;display:flex;align-items:baseline;gap:6px;padding:5px 9px;border-radius:9px;font-size:11.5px;font-weight:600;color:#fff;white-space:nowrap;background:rgba(10,10,40,.72);border:1px solid color-mix(in srgb,var(--hue) 45%,transparent);opacity:0;transform:translateY(6px);transition:opacity .45s var(--ease),transform .55s var(--ease)}
  .lx-tags .tg em{font-style:normal;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--hue)}
  .lx-tags .tg.on{opacity:1;transform:none}
  .lx-res{margin-top:26px}
}
@media (prefers-reduced-motion:reduce){.fin-h>span,.fin-s,.lx-tags .tg{transition:none}}
/* ---------- engines: live system ---------- */
.core{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,56px);align-items:center;overflow:hidden}
.core-l{display:flex;align-items:center;gap:30px}
.core .icon{position:relative;box-shadow:0 0 0 0 rgba(255,107,191,.5);animation:corepulse 2.6s var(--ease) infinite}
@keyframes corepulse{0%{box-shadow:0 0 0 0 rgba(255,107,191,.45)}70%,100%{box-shadow:0 0 0 18px rgba(255,107,191,0)}}
.core-r{align-self:stretch;display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px 20px;border-radius:20px;background:rgba(5,4,20,.4);border:1px solid var(--line)}
.core-r .live{font-size:11px}
.live i{width:6px;height:6px;border-radius:50%;background:#7CFFB2;box-shadow:0 0 10px #7CFFB2}
.stream{list-style:none;margin:0;padding:0;display:grid;gap:8px;height:150px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.stream li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);font-size:13.5px;color:var(--text-2);animation:ev-in .7s var(--ease) both;transition:opacity .4s var(--ease),background-color .4s var(--ease)}
.stream li b{color:var(--text);font-weight:600;margin-right:6px}
.stream li i{width:8px;height:8px;border-radius:50%;background:var(--hue);box-shadow:0 0 10px var(--hue)}
.stream li time{font-size:11.5px;color:var(--text-3);white-space:nowrap}
.stream li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes ev-in{from{opacity:0;transform:translateY(-14px) scale(.98)}to{opacity:1;transform:none}}
.bento.focus .stream li{opacity:.35}
.bento.focus .stream li.match{opacity:1;background:rgba(255,255,255,.08)}
.eng{display:flex;flex-direction:column;overflow:hidden;transition:transform .6s var(--ease),border-color .5s var(--ease),background-color .5s var(--ease),opacity 1.2s var(--ease) var(--d,0ms)}
.eng .icon{transition:background-color .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}
.eng .icon svg{transition:stroke .5s var(--ease)}
.eng:hover{transform:translateY(-4px)}
.eng:hover .icon,.eng.ping .icon{border-color:color-mix(in srgb,var(--hue) 60%,transparent);background:color-mix(in srgb,var(--hue) 18%,transparent);box-shadow:0 0 24px -4px color-mix(in srgb,var(--hue) 70%,transparent)}
.eng:hover .icon svg,.eng.ping .icon svg{stroke:#fff}
.eng .beam{position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--hue),transparent);transform:translateX(-100%);opacity:0}
.eng.ping .beam{animation:beam 1.2s var(--ease)}
@keyframes beam{0%{transform:translateX(-100%);opacity:1}100%{transform:translateX(100%);opacity:0}}
.eng::before{content:"";position:absolute;inset:auto -20% -60% -20%;height:70%;background:radial-gradient(closest-side,color-mix(in srgb,var(--hue) 30%,transparent),transparent);opacity:0;transition:opacity .8s var(--ease);pointer-events:none}
.eng.ping::before,.eng:hover::before{opacity:1}

.eng p.body{margin-bottom:0}

.eng.ping .v{color:var(--hue);text-shadow:0 0 18px color-mix(in srgb,var(--hue) 60%,transparent)}

@media (max-width:900px){.core{grid-template-columns:1fr}.core-l{gap:20px}}
@media (max-width:640px){.core-l{flex-direction:column;align-items:flex-start}.stream{height:140px}}
@media (prefers-reduced-motion:reduce){.core .icon{animation:none}.stream li{animation:none}.eng.ping .beam{animation:none}}

/* ---------- responsible AI ---------- */

.tr-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(28px,3.4vw,40px);padding-top:clamp(22px,3vw,32px);border-top:1px solid var(--line)}
.tr-rules p{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:clamp(15px,1.15vw,17px);line-height:1.45;color:var(--text-2)}
.tr-rules b{color:#fff;font-weight:600}
.tr-rules svg{width:26px;height:26px;flex:none;fill:none;stroke:#DCDDFF;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tr-rules svg.mi{fill:#DCDDFF;stroke:none}   /* Material icons are filled shapes, not strokes */

.ev{width:100%;max-width:380px;display:grid;gap:8px;font-size:13px}

.learn{width:100%;max-width:400px;display:grid;gap:8px;font-size:13px}

.lock{display:flex;flex-direction:column;align-items:center;gap:16px}

@media (max-width:900px){
  
  
  
  
  
  
  
  
  
  
  
  .tr-rules{grid-template-columns:1fr}
}
/* ---------- money moments ---------- */
.film-pin{height:calc(100vh + var(--n,5) * 95vh)}
.mm-stage{position:relative;padding:clamp(20px,3vw,40px) max(var(--gutter),calc((100% - 1200px)/2)) 76px!important;display:block!important}
.mm{position:absolute;inset:clamp(20px,3vw,40px) max(var(--gutter),calc((100% - 1200px)/2)) 76px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(28px,4.5vw,72px);align-items:center;pointer-events:none}
.mm.on{pointer-events:auto}
/* the screen that's leaving fades out fast, then the next one comes in: they crossfaded, and both headlines showed at once (QA-009) */
.mm-copy{opacity:0;transform:translateY(18px);transition:opacity .25s ease-out,transform .8s var(--ease)}
.mm.on .mm-copy{opacity:1;transform:none;transition:opacity .7s var(--ease) .25s,transform .8s var(--ease) .25s}
.mm-eye{font-size:15px;font-weight:600;color:#fff;letter-spacing:-.01em}
.mm-eye span{color:rgba(255,255,255,.55);font-weight:500}
.mm h3{margin:14px 0 0;font-size:clamp(28px,3.3vw,50px);font-weight:660;letter-spacing:-.03em;line-height:1.06;color:#fff}
.mm h3 .dim{color:rgba(255,255,255,.5)}
.mm-ai{display:inline-flex;align-items:center;gap:8px;margin-top:18px;height:30px;padding:0 13px 0 10px;border-radius:999px;font-size:13px;font-weight:600;color:#fff;background:rgba(180,140,255,.12);border:1px solid rgba(170,170,255,.28);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.mm-ai svg{width:14px;height:14px;fill:none;stroke:#FF8FD0;stroke-width:1.8;stroke-linejoin:round}
.mm-ai+.mm-money{margin-top:clamp(14px,2vw,22px)}
.mm-money{margin-top:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:4px}
.mm-money b{font-size:clamp(40px,4.6vw,72px);font-weight:660;letter-spacing:-.045em;line-height:1;background:var(--iris);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums}
.mm-money b .mc{font:inherit;letter-spacing:inherit;color:inherit}
.mm-money b{flex:none;white-space:nowrap}   /* the figure stays on one line ("58 min"), the line beside it wraps (Gloria 2026-10-31) */
.mm-money>span{font-size:clamp(14px,1.1vw,16px);color:rgba(255,255,255,.62)}
.mm-win{width:100%;max-width:none;margin:0;opacity:0;transform:translateY(24px) scale(.97);transition:opacity .25s ease-out,transform .9s var(--ease)}
.mm.on .mm-win{opacity:1;transform:none;transition:opacity .7s var(--ease) .2s,transform .9s var(--ease) .2s}
.mm-app{position:relative;min-height:min(50vh,430px);max-height:calc(100vh - 220px);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#fff 55%,#F7F7F9);color:#18181B;font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.55;letter-spacing:0;box-shadow:0 50px 100px -40px rgba(10,0,30,.8)}
.mm-top{display:flex;justify-content:space-between;align-items:center;height:42px;padding:0 18px;border-bottom:1px solid #EDEDF0;font-size:12px;color:#A1A1AA}
.mm-top b{color:#18181B;font-weight:600;font-size:13px}
.mm-body{display:flex;flex-direction:column;gap:12px;padding:16px 18px}
@media (min-width:901px){.mm-win:not(.phone) .mm-top{height:62px;padding:20px 20px 0}.mm-win:not(.phone) .mm-body{padding:20px}}   /* white app windows: 20px outside padding (phone version unchanged) */
.mm-app .fx{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.mm-app .fx.on{opacity:1;transform:none}
.mm-app .sw{display:inline-grid}
.mm-app .sw>em{grid-area:1/1;font-style:normal;display:inline-flex;align-items:center;gap:5px;transition:opacity .35s var(--ease),transform .45s var(--ease)}
.mm-app .sw>.y{opacity:0;transform:translateY(6px)}
.mm-app .sw.on>.x{opacity:0;transform:translateY(-6px)}
.mm-app .sw.on>.y{opacity:1;transform:none}
.mm-app .ck{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mm-sp{width:26px;height:26px;border-radius:7px;background:#EEECFD;display:grid;place-items:center;flex:none}
.mm-sp svg{width:13px;height:13px;fill:none;stroke:#6E62E5;stroke-width:1.7}
.mm-app .bub.b-ai{display:flex;gap:10px;color:#27272A}
.mm-app .bub.b-ai>div{flex:1;min-width:0}
.mm-app .bub.b-ai time{display:block;float:right;font-size:11px;color:#A1A1AA;margin-left:10px}
.mm-app .bub.b-ai ul{margin:6px 0 0 16px;list-style:disc}
.mm-app .bub.b-ai li{margin:2px 0}
.mm-app .bub.b-me{align-self:flex-end;padding:8px 13px;border-radius:10px;background:#F1F1F3;font-weight:500}
.mm-app .ok{color:#15803D;display:inline-flex;align-items:center;gap:4px}
.mm-app .card{border:1px solid #ECECEF;border-radius:12px;padding:14px 16px;background:#fff}
.mm-app .card .ch{display:flex;justify-content:space-between;align-items:center}
.mm-app .card .big{font-size:34px;font-weight:600;letter-spacing:-.03em;margin-top:6px;font-variant-numeric:tabular-nums}
.mm-app .card .k{font-size:12px;color:#71717A;margin-top:4px}
.mm-app .pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px}
.mm-app .pill.warn{background:#FFF1E0;color:#C2410C}.mm-app .pill.bad{background:#FEE2E2;color:#B91C1C}.mm-app .pill.ok{background:#DCFCE7;color:#15803D}
.mm-app .cls{margin-top:10px;border-top:1px solid #F0F0F2}
.mm-app .cl{display:grid;grid-template-columns:44px 56px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #F4F4F5;font-size:12.5px}
.mm-app .cl .py{color:#71717A}
.mm-app .cl .x{color:#B91C1C}.mm-app .cl .y{color:#15803D;font-weight:600}
.mm-app .note{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#F5F3FF;color:#3F3F46}
.mm-app .chips{display:flex;flex-wrap:wrap;gap:8px}
.mm-app .chip{padding:7px 11px;border:1px solid #E4E4E7;border-radius:8px;background:#fff;font-weight:500;font-size:12.5px;transition:background .35s,border-color .35s,color .35s}
.mm-app .chip.sw.on{background:#2E1DD6;border-color:#2E1DD6;color:#fff}
.mm-app .sched{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 18px 0;position:relative}
.mm-app .sched::before{content:"";position:absolute;left:12px;right:12px;top:4px;height:1.5px;background:#EF4444}
.mm-app .ap{padding:9px 10px;border-radius:6px;font-weight:600;font-size:12px;display:flex;justify-content:space-between;align-items:center;color:#27272A}
.mm-app .ap>svg,.mm-app .ap .y svg{color:#4F46E5}
.mm-app .ap.sw{display:grid}.mm-app .ap.sw>em{justify-content:space-between;width:100%}
.mm-app .ap.ev{background:#E8EDFD;border:1px solid #D5DCFA}.mm-app .ap.fu{background:#EEE8FB}.mm-app .ap.pn{background:#DDF3F1}
.mm-app .listen{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;border:1px solid #C7C2F8;border-radius:999px;color:#4F46E5;font-weight:600}
.mm-app .listen i{width:2px;height:10px;border-radius:2px;background:#4F46E5;animation:lvl 1s ease-in-out infinite}
.mm-app .listen i:nth-child(2){animation-delay:.15s}.mm-app .listen i:nth-child(3){animation-delay:.3s}.mm-app .listen i:nth-child(4){animation-delay:.45s;margin-right:4px}
@keyframes lvl{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.mm-app .soap{display:flex;align-items:center;gap:10px;font-size:14px}
.mm-app .soap .sec{width:24px;height:24px;border-radius:50%;background:#4F46E5;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600}
.mm-app .cpt{border:1.5px solid #8B80F0;border-radius:10px;overflow:hidden}
.mm-app .cpt .th{padding:9px 14px;background:#E4E0FD;font-weight:600;font-size:12px}
.mm-app .tr{display:grid;grid-template-columns:62px 1fr 50px 50px;gap:10px;align-items:center;padding:8px 14px;border-top:1px solid #F0F0F2;font-size:12.5px}
.mm-app .tr.hd{color:#71717A;font-size:11.5px;font-weight:500}
.mm-app .tr .code{color:#16A34A;font-weight:600}
.mm-app .tr .box{border:1px solid #4F46E5;border-radius:5px;text-align:center;padding:2px 0}
.mm-app .tr.tot{font-weight:600}.mm-app .tr.tot span:nth-child(n+3){text-align:center;font-variant-numeric:tabular-nums}
.mm-app .flag{position:relative;align-self:flex-end;margin-top:-30px;width:min(270px,70%);border-radius:12px;background:#fff;border:1.5px solid #F5C77E;box-shadow:0 24px 48px -16px rgba(0,0,0,.25);overflow:hidden;font-size:12px}
.mm-app .flag .fh{display:flex;justify-content:space-between;padding:7px 12px;background:#FDF0D5;font-weight:600;color:#92400E}
.mm-app .flag b{display:block;padding:10px 12px 0;font-size:13px}
.mm-app .flag p{padding:4px 12px 12px;color:#52525B}
.mm-app .bars{display:flex;align-items:flex-end;gap:6px;height:74px;margin-top:12px}
.mm-app .bars i{flex:1;height:calc(var(--h) * min(1, var(--k,0) * 4));border-radius:4px 4px 0 0;background:#E4E4E7;transition:height .2s linear}
.mm-app .bars i.hi{background:linear-gradient(180deg,#FF6BBF,#7B2FBE)}
.mm-app .bl{display:flex;padding-left:calc(25% - 4px);font-size:11px;color:#BE185D;font-weight:600;margin-top:4px}
.mm-app .chip.wide.sw{display:inline-grid}
/* the button fits the words it is showing: the hidden state is lifted out so it doesn't hold the width (Gloria 2026-10-29) */
.mm-app .chip.sw{position:relative}
.mm-app .chip.sw:not(.on)>.y,.mm-app .chip.sw.on>.x{position:absolute;left:11px;top:7px;white-space:nowrap;pointer-events:none}
.mm-tabs{position:absolute;left:max(var(--gutter),calc((100% - 1200px)/2));right:max(var(--gutter),calc((100% - 1200px)/2));bottom:22px;display:grid;grid-template-columns:repeat(var(--n,5),1fr);gap:10px;z-index:2}
.mm-tabs button{display:flex;flex-direction:column;gap:8px;text-align:left;color:rgba(255,255,255,.45);font-size:13px;font-weight:600;transition:color .4s var(--ease)}
.mm-tabs button.on,.mm-tabs button:hover{color:#fff}
.mm-tabs i{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden}
.mm-tabs b{display:block;height:100%;width:0;background:#fff;border-radius:3px}
@media (max-width:900px){
  .mm{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:18px;align-items:start;inset:18px var(--gutter) 64px}
  .mm h3{font-size:clamp(24px,6vw,34px)}
  .mm-money{margin-top:12px;flex-direction:row;align-items:baseline;gap:10px}
  .mm-money b{font-size:clamp(30px,8vw,44px)}
  .mm-app{height:100%;min-height:0;font-size:12px}
  .mm-win{height:100%;min-height:0}
  .mm-tabs span{display:none}
  .mm-app .tr{grid-template-columns:48px minmax(0,1fr) 36px 36px;gap:8px;padding:7px 10px}
  .mm-app .tr>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mm-body{gap:10px;padding:12px 14px}
  .mm-app .flag{margin-top:-18px}
  .mm-app .soap{display:none}
}
@media (prefers-reduced-motion:reduce){.mm-copy,.mm-win,.mm-app .fx,.mm-app .sw>em,.bars i{transition:none}.listen i{animation:none}}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .lit{background:none;color:var(--text-2)}
  .live i,.dots i{animation:none}
  .sc{clip-path:none}
  
}

/* ---------- global nav: flyout + mobile menu ---------- */
.gnav{position:relative;z-index:80}
.gn-links{align-items:center}
.gn-trig{display:inline-flex;align-items:center;gap:5px;font:inherit;color:inherit;cursor:pointer;transition:color .3s var(--ease)}
.gn-trig:hover,.gn-trig[aria-expanded="true"],.gn-trig.on{color:var(--text)}
.gn-chev{width:11px;height:11px;transform:rotate(90deg);transition:transform .35s var(--ease);opacity:.7}
[aria-expanded="true"]>.gn-chev{transform:rotate(-90deg)}
.gn-r{display:flex;align-items:center;gap:18px}
.gn-fly{position:absolute;left:0;right:0;top:100%;background:rgba(7,5,20,.9);-webkit-backdrop-filter:blur(28px) saturate(1.6);backdrop-filter:blur(28px) saturate(1.6);border-bottom:1px solid var(--line);clip-path:inset(0 0 100% 0);opacity:0;transition:clip-path .5s var(--ease),opacity .3s var(--ease)}
.gn-fly.open{clip-path:inset(0 0 0 0);opacity:1}

.gn-fly h5{margin:0 0 14px;font-size:12px;font-weight:500;color:var(--text-3)}
.gn-fly ul{list-style:none;margin:0;padding:0}
.gn-fly li{opacity:0;transform:translateY(-6px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.gn-fly.open li{opacity:1;transform:none}
.gn-fly.open li:nth-child(2){transition-delay:.03s}.gn-fly.open li:nth-child(3){transition-delay:.06s}.gn-fly.open li:nth-child(4){transition-delay:.09s}.gn-fly.open li:nth-child(5){transition-delay:.12s}

.gn-scrim{position:fixed;inset:0;z-index:70;background:rgba(3,2,10,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.gn-scrim.on{opacity:1}
.gn-menu{display:none;width:32px;height:32px;position:relative}
.gn-menu i{position:absolute;left:8px;right:8px;height:1.5px;border-radius:2px;background:var(--text);transition:transform .35s var(--ease),top .35s var(--ease)}
.gn-menu i:first-child{top:12px}.gn-menu i:last-child{top:19px}
.gn-menu[aria-expanded="true"] i:first-child{top:15.5px;transform:rotate(45deg)}
.gn-menu[aria-expanded="true"] i:last-child{top:15.5px;transform:rotate(-45deg)}
.gn-mob{position:fixed;inset:53px 0 0;z-index:90;overflow-y:auto;padding:24px var(--gutter) 48px;background:rgba(5,4,15,.96);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility 0s .35s}
.gn-mob.open{opacity:1;visibility:visible;transition:opacity .35s var(--ease)}
.gn-mob nav{display:flex;flex-direction:column}
.gn-mob nav>a{padding:12px 0;font-size:26px;font-weight:600;letter-spacing:-.02em;border-bottom:1px solid var(--line)}
.gn-mob .gn-mh{padding:18px 0 6px;font-size:13px;color:var(--text-3)}
.gn-mob ul{list-style:none;margin:0 0 8px;padding:0;border-bottom:1px solid var(--line)}
.gn-mob li a{display:block;padding:9px 0;font-size:20px;font-weight:500;color:var(--text-2)}
.gn-mob li a[aria-current]{color:#fff}
@media (max-width:900px){.gn-menu{display:block}.gnav .login{display:none}.gn-fly,.gn-scrim{display:none}}
/* local nav: role picker */
.ln-role{position:relative}
.ln-trig{display:inline-flex;align-items:center;gap:6px;color:var(--text);cursor:pointer}
.ln-trig .gn-chev{width:13px;height:13px}
.ln-menu{position:absolute;left:-12px;top:calc(100% + 12px);min-width:220px;list-style:none;margin:0;padding:6px;border-radius:16px;opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top left;pointer-events:none;transition:opacity .25s var(--ease),transform .3s var(--ease)}
.ln-menu.open{opacity:1;transform:none;pointer-events:auto}
.ln-menu a{display:block;padding:9px 12px;border-radius:10px;font-size:15px;font-weight:500;color:var(--text-2);transition:background-color .2s,color .2s}
.ln-menu a:hover{background:rgba(255,255,255,.07);color:#fff}
.ln-menu a[aria-current]{color:#fff;background:rgba(255,107,191,.14)}
.ln-menu a:active{color:#fff;background:rgba(255,255,255,.16);transition:none}   /* phones have no hover: the item lights the moment a finger lands on it (Gloria 2026-10-31) */
@media (prefers-reduced-motion:reduce){.gn-fly,.gn-fly li,.gn-scrim,.gn-mob,.ln-menu{transition:none}}

/* ---------- responsible AI: Aera acts | you decide ---------- */

#trust .tr-rules{margin-top:clamp(48px,6vw,80px)}
/* Responsible AI, simplified (Gloria: too much going on): just the headline and the three rules, a size up, no switches and no divider */
#trust .tr-rules.tr-solo{margin-top:clamp(40px,5vw,64px);padding-top:0;border-top:0;gap:clamp(24px,3vw,48px)}
.tr-solo p{flex-direction:column;align-items:center;gap:14px;text-align:center;font-size:clamp(17px,1.35vw,20px);line-height:1.5}   /* centred under the centred headline */
.tr-solo svg{width:32px;height:32px}
#trust .tr-solo span,#control .tr-solo span{display:block;max-width:23em;margin-inline:auto;text-wrap:balance}   /* homepage, role pages and Aera Intelligence: even out the lines so a single word never sits alone, e.g. "trail." */
#trust .tr-solo p:nth-child(3) span,#control .tr-solo p:nth-child(3) span{max-width:14em}   /* "Every action is visible, with a full audit trail." always sets as two even lines, at any width */
.tr-solo b{display:block;margin-bottom:6px;font-size:1.1em}   

/* engine cards link to their pages */
.eng .eng-go{position:absolute;inset:0;z-index:4;border-radius:inherit}
.eng .eng-go:focus-visible{outline:2px solid #FF8FD0;outline-offset:3px}

/* FAQ page (built by build/build_seo.py) */
.faq-hero{padding-top:clamp(120px,14vw,180px)}
.faq-list{max-width:860px;margin:clamp(40px,5vw,64px) auto 0;border-top:1px solid var(--line)}
.faq-q{border-bottom:1px solid var(--line)}
.faq-q summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;list-style:none}
.faq-q summary::-webkit-details-marker{display:none}
.faq-q h2{margin:0;font-size:clamp(19px,1.7vw,23px);font-weight:600;letter-spacing:-.015em;line-height:1.3}
.faq-pm{position:relative;flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line)}
.faq-pm::before,.faq-pm::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.6px;margin:-.8px 0 0 -5.5px;background:currentColor;border-radius:1px;transition:transform .3s var(--ease)}
.faq-pm::after{transform:rotate(90deg)}
.faq-q[open] .faq-pm::after{transform:rotate(0)}
.faq-q p{margin:0 0 26px;max-width:720px;color:var(--text-2);font-size:17px;line-height:1.6}
.faq-more{max-width:860px;margin:36px auto 0;color:var(--text-2)}
.faq-more a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.faq-hero .h1{font-size:clamp(44px,6vw,84px)}
.faq-q h3{margin:0;font-size:clamp(19px,1.7vw,23px);font-weight:600;letter-spacing:-.015em;line-height:1.3}
.faq-list.faq-in{margin-top:0}
.gn-cta{height:34px;padding:0 16px;font-size:14px}
@media (max-width:520px){.gn-cta{height:32px;padding:0 13px;font-size:13px}}

/* Ask, don't hunt */
.ask-demo{position:relative;max-width:820px;margin:0 auto}
.ak-bar{display:flex;align-items:center;gap:14px;height:68px;padding:0 12px 0 14px;border-radius:999px;background:rgba(18,13,40,.78);
  border:1.5px solid transparent;background:linear-gradient(rgba(18,13,40,.9),rgba(18,13,40,.9)) padding-box,linear-gradient(120deg,rgba(255,143,208,.7),rgba(195,155,255,.35),rgba(255,255,255,.1)) border-box;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.8),0 0 50px -18px rgba(255,107,191,.45);transition:transform .3s var(--ease)}
.ask-demo.sent .ak-go{animation:akPress .75s cubic-bezier(.45,0,.2,1)}
@keyframes akPress{0%{transform:none}30%,60%{transform:scale(.84);background:#E2DCEE}100%{transform:none}}   /* press, hold, release as the answer arrives */
.ak-sp{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--brand)}
.ak-sp svg{width:20px;height:20px;fill:#fff}
.ak-q{flex:1;min-width:0;font-size:clamp(16px,1.5vw,19px);font-weight:520;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ak-cur{display:inline-block;width:2px;height:1.1em;margin-left:2px;vertical-align:-3px;background:#FF8FD0;animation:akBlink 1s steps(2) infinite}
@keyframes akBlink{50%{opacity:0}}
.ak-go{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#F5F3F9;color:#0A0824}
.ak-go svg{width:18px;height:18px}
.ak-card{margin:14px 18px 0;padding:18px 22px 20px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);min-height:150px;
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:border-color .4s var(--ease)}
.ak-card.ans{border-color:rgba(255,143,208,.35)}
.ak-head{display:flex;align-items:center;gap:10px;min-height:22px}
.ak-dots{display:inline-flex;gap:4px}
.ak-dots i{width:6px;height:6px;border-radius:50%;background:#FF8FD0;opacity:.3;animation:akDot 1s infinite}
.ak-dots i:nth-child(2){animation-delay:.15s}.ak-dots i:nth-child(3){animation-delay:.3s}
.ak-card.ans .ak-dots{display:none}
@keyframes akDot{40%{opacity:1;transform:translateY(-2px)}}
.ak-tag{font-size:12.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#FF8FD0}
.ak-time{margin-left:auto;font-size:12.5px;color:var(--text-3)}
.ak-lines{margin-top:10px;display:grid;gap:9px}
.ak-ln{display:flex;align-items:flex-start;gap:10px;font-size:16.5px;line-height:1.45;color:var(--text);opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.ak-ln.in{opacity:1;transform:none}
.ak-ck{flex:none;display:grid;place-items:center;width:20px;height:20px;margin-top:2px;border-radius:50%;background:rgba(34,197,94,.16)}
.ak-ck svg{width:12px;height:12px;fill:none;stroke:#4ADE80;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ak-pips{display:flex;justify-content:center;gap:6px;margin-top:16px}
.ak-pips i{position:relative;cursor:pointer;width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.18);transition:width .4s var(--ease),background .4s var(--ease)}
.ak-pips i.on{width:22px;background:#FF8FD0}
.ak-pips i::before{content:"";position:absolute;inset:-9px -4px}   /* bigger tap area, same look */
.ak-pips i:focus-visible{outline:2px solid #FF8FD0;outline-offset:3px}


/* FAQ filter */
.faq-search{display:flex;align-items:center;gap:12px;max-width:860px;margin:clamp(28px,4vw,44px) auto 0;height:60px;padding:0 20px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line-2)}
.faq-search:focus-within{border-color:#FF8FD0;box-shadow:0 0 0 4px rgba(255,107,191,.14)}
.faq-search svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--text-2);stroke-width:1.8;stroke-linecap:round}
.faq-search input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--text);font:inherit;font-size:17px;outline:none}
.faq-none{max-width:860px;margin:24px auto 0;color:var(--text-2)}

/* ============ popping product UI over hero photos ============ */
.pops{position:absolute;inset:0;z-index:2;pointer-events:none}
.pop{position:absolute;width:clamp(240px,22vw,300px);padding:20px;border-radius:16px;background:#fff;color:#111827;
  font-family:Inter,-apple-system,system-ui,sans-serif;letter-spacing:-.01em;border:1px solid rgba(17,24,39,.06);
  box-shadow:0 34px 70px -28px rgba(6,3,24,.7),0 10px 24px -14px rgba(6,3,24,.45);
  opacity:0;transform:translateY(18px) scale(.86);transform-origin:50% 100%;transition:opacity .45s ease,transform .7s cubic-bezier(.34,1.56,.64,1)}
.pop.on{opacity:1;transform:none}
.pp-h b{display:block;font-size:14px;font-weight:650;color:#111827}
.pp-h span{display:block;margin-top:2px;font-size:12px;color:#6B7280}
/* note: checks tick, button turns green */
.pp-checks{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:7px}
.pp-checks li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#374151}
.pp-checks i,.pp-done i{flex:none;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#F3F4F6;transition:background .3s ease}
.pp-checks svg,.pp-done svg{width:10px;height:10px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.4);transition:opacity .25s ease,transform .35s cubic-bezier(.34,1.56,.64,1)}
.act .pp-checks li:nth-child(1) i,.act .pp-done li:nth-child(1) i{transition-delay:.05s}.act .pp-checks li:nth-child(1) svg,.act .pp-done li:nth-child(1) svg{transition-delay:.05s}
.act .pp-checks li:nth-child(2) i,.act .pp-done li:nth-child(2) i{transition-delay:.35s}.act .pp-checks li:nth-child(2) svg,.act .pp-done li:nth-child(2) svg{transition-delay:.35s}
.act .pp-checks li:nth-child(3) i,.act .pp-done li:nth-child(3) i{transition-delay:.65s}.act .pp-checks li:nth-child(3) svg,.act .pp-done li:nth-child(3) svg{transition-delay:.65s}
.act .pp-checks i,.act .pp-done i{background:#16A34A}
.act .pp-checks svg,.act .pp-done svg{opacity:1;transform:none}
.pp-btn{position:relative;margin-top:12px;height:34px;border-radius:9px;background:#4F46E5;color:#fff;font-size:12.5px;font-weight:600;overflow:hidden;transition:background .35s ease 1s}
.pp-btn span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;transition:transform .45s cubic-bezier(.34,1.3,.64,1) 1s,opacity .3s ease 1s}
.pp-btn .b{transform:translateY(100%);opacity:0}
.pp-btn svg{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.act .pp-btn{background:#16A34A}
.act .pp-btn .a{transform:translateY(-100%);opacity:0}
.act .pp-btn .b{transform:none;opacity:1}
/* meter / progress: bar fills, badge pops */
.pp-bar{margin-top:12px;height:8px;border-radius:999px;background:#EEF2FF;overflow:hidden}
.pp-bar i{display:block;height:100%;width:0;border-radius:inherit;background:#4F46E5;transition:width 1.2s cubic-bezier(.22,1,.36,1) .1s}
.pp-iris i{background:linear-gradient(90deg,#FF6BBF,#C39BFF)}
.act .pp-bar i{width:var(--to)}
.pp-badge{display:inline-flex;align-items:center;gap:6px;margin-top:11px;padding:5px 10px;border-radius:999px;background:#ECFDF5;color:#15803D;font-size:11.5px;font-weight:650;
  opacity:0;transform:scale(.7);transition:opacity .3s ease 1.2s,transform .5s cubic-bezier(.34,1.56,.64,1) 1.2s}
.pp-badge svg{width:11px;height:11px;fill:#16A34A}
.act .pp-badge{opacity:1;transform:none}
.pp-pct{margin-top:9px;font-size:12px;color:#6B7280}
.pp-pct span{font-weight:700;color:#111827}
/* metric: number counts, sparkline grows */
.pp-big{margin-top:6px;font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1;color:#111827;font-variant-numeric:tabular-nums}
.pp-delta{margin-top:6px;font-size:12px;font-weight:600;color:#15803D}
.pp-delta.down{color:#DC2626}
.pp-spark{display:flex;align-items:flex-end;gap:4px;height:34px;margin-top:10px}
.pp-spark i{flex:1;height:0;border-radius:3px 3px 1px 1px;background:#C7D2FE;transition:height .8s cubic-bezier(.22,1,.36,1)}
.pp-spark i:last-child{background:#4F46E5}
.act .pp-spark i{height:var(--h)}
.act .pp-spark i:nth-child(2){transition-delay:.06s}.act .pp-spark i:nth-child(3){transition-delay:.12s}.act .pp-spark i:nth-child(4){transition-delay:.18s}
.act .pp-spark i:nth-child(5){transition-delay:.24s}.act .pp-spark i:nth-child(6){transition-delay:.3s}.act .pp-spark i:nth-child(7){transition-delay:.36s}
/* slots: the open slot gets backfilled */
.pp-slots{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.pp-slots li{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:9px;background:#F9FAFB;font-size:12.5px}
.pp-slots time{flex:none;width:38px;font-weight:600;color:#6B7280;font-variant-numeric:tabular-nums}
.pp-slots .who{flex:1;color:#111827;font-weight:550}
.pp-slots .st{position:relative;font-size:11px;font-weight:600;color:#6B7280}
.pp-slots li.fill{background:#FEF2F2;transition:background .4s ease 1s}
.pp-slots li.fill .who{color:#9CA3AF}
.pp-slots li.fill .st{display:grid}
.pp-slots li.fill .st span{grid-area:1/1;transition:opacity .35s ease 1s,transform .45s cubic-bezier(.34,1.4,.64,1) 1s}
.pp-slots li.fill .st .a{color:#DC2626}
.pp-slots li.fill .st .b{color:#15803D;opacity:0;transform:translateY(6px)}
.act .pp-slots li.fill{background:#ECFDF5}
.act .pp-slots li.fill .st .a{opacity:0;transform:translateY(-6px)}
.act .pp-slots li.fill .st .b{opacity:1;transform:none}
/* done: timestamped rows tick */
.pp-live{display:flex!important;align-items:center;gap:7px}
.pp-live em{width:7px;height:7px;border-radius:50%;background:#16A34A;box-shadow:0 0 0 3px rgba(22,163,74,.18)}
.pp-done{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.pp-done li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#374151}
.pp-done span{flex:1}
.pp-done time{flex:none;font-size:11px;color:#9CA3AF}
/* toast: a compact AI notice */

@media (max-width:900px){.pop{transform-origin:50% 100%}.pops .pop{scale:.78}.pops .pop[data-i="1"]{display:none}}
@media (max-width:560px){.pops .pop{scale:.66}.pops .pop[data-i="2"]{display:none}}

/* editorial "what changes": big statements per role, no boxes */
.ed-list{border-top:1px solid var(--line)}
.ed-row{display:grid;grid-template-columns:240px 1fr;gap:clamp(24px,4vw,64px);padding:clamp(32px,4vw,52px) 0;border-bottom:1px solid var(--line)}
.ed-who{display:flex;align-items:center;gap:14px;align-self:start;font-size:17px;font-weight:620;color:var(--text)}
.ed-who:hover{color:#FF8FD0}
.ed-img{flex:none;width:52px;height:52px;border-radius:50%;overflow:hidden;border:1px solid var(--line-2)}
.ed-img img{width:100%;height:100%;object-fit:cover}
.ed-big{margin:0;font-size:clamp(26px,2.6vw,38px);line-height:1.18;font-weight:600;letter-spacing:-.03em}
.ed-more{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.ed-more li{position:relative;padding-left:18px;font-size:17px;line-height:1.55;color:var(--text-2)}
.ed-more li::before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--brand)}
@media (max-width:760px){.ed-row{grid-template-columns:1fr;gap:16px}}
/* quiet capability list */

.cap{padding:26px 0 28px;border-bottom:1px solid var(--line)}
.cap b{display:block;font-size:19px;font-weight:620;letter-spacing:-.015em}
.cap p{margin:8px 0 0;font-size:16px;line-height:1.6;color:var(--text-2)}

/* ---------- mega menu (Kivo-style): icon tiles, a highlighted foundation row, a live "feature focus" card, a bottom strip ---------- */
.gn-fly.gm{padding:0}
.gnav .gm-in{display:grid;align-items:start;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr) minmax(0,320px);gap:clamp(24px,3.5vw,48px);padding-top:30px;padding-bottom:30px}
.gnav #gnFly .gm-in{grid-template-columns:minmax(0,2fr) minmax(0,320px)}
.gm-col h5{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.gm-list{display:flex;flex-direction:column;gap:2px}
.gm-two{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;margin-top:8px}
.gm-it{display:flex;align-items:flex-start;gap:12px;padding:8px 10px;margin:0 -10px;border-radius:12px;transition:background-color .25s var(--ease)}
.gm-it:hover,.gm-it[aria-current]{background:rgba(255,255,255,.05)}
.gm-it>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.gm-it b{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text)}
.gm-it em{font-style:normal;font-size:13px;line-height:1.4;color:var(--text-3)}
#gnPlat .gm-two .gm-it em{max-width:200px;text-wrap:pretty}   /* platform menu: each solution group's description on two lines, the first one longer, no one-word last line; Aera Intelligence stays on one (Gloria 2026-10-28) */
.gm-it:hover b,.gm-it[aria-current] b{background:var(--iris);-webkit-background-clip:text;background-clip:text;color:transparent}
.gm-it.gm-hero{margin:0 -14px 4px;padding:12px 14px;background:linear-gradient(90deg,rgba(255,107,191,.16),rgba(195,155,255,.08));border:1px solid rgba(255,143,208,.28)}
.gm-it.gm-hero:hover{background:linear-gradient(90deg,rgba(255,107,191,.24),rgba(195,155,255,.12))}
.gm-it.gm-hero em{color:#FFC2E3}
.gm-plain .gm-it{padding:9px 0;margin:0}
.gm-plain .gm-it:hover{background:none}
/* feature focus card */
.gm-fcard{display:flex;flex-direction:column;gap:5px}
.gm-fcard>b{margin-top:14px;font-size:15px;font-weight:600;color:var(--text)}
.gm-fcard>span{font-size:13px;line-height:1.45;color:var(--text-3)}
.gm-fcard>u{margin-top:6px;text-decoration:none;font-size:13px;font-weight:600;color:#FF8FD0;display:inline-flex;align-items:center;gap:4px}
.gm-go{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.gm-fcard:hover .gm-go,.gm-strip a:hover .gm-go{transform:translateX(3px)}
.gm-live{position:relative;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line);box-shadow:0 20px 40px -24px rgba(0,0,0,.8);min-height:168px;transition:border-color .3s var(--ease)}
.gm-fcard:hover .gm-live{border-color:rgba(255,143,208,.35)}
.gm-lh{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px}
.gm-lh b{font-weight:600;color:var(--text)}
.gm-rec{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FF8FD0}
.gm-rec i{width:7px;height:7px;border-radius:50%;background:#FF6BBF;box-shadow:0 0 8px #FF6BBF}
.gm-l{margin:0 0 6px;padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.05);font-size:12.5px;line-height:1.35;color:var(--text-2);opacity:0;transform:translateY(4px)}
.gm-done{display:flex;align-items:center;gap:10px;margin-top:10px;opacity:0}
.gm-ok{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:#16A34A;color:#fff;font-size:12px;font-weight:700;box-shadow:0 0 14px rgba(34,197,94,.5)}
.gm-ok svg,.gm-dk svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.gm-done em{font-style:normal;font-size:12px;color:var(--text-3)}
.gm-day ul{display:flex;flex-direction:column;gap:2px}
.gm-day li{display:flex;align-items:center;gap:10px;padding:5px 2px;font-size:12.5px;color:var(--text-3);opacity:1;transform:none}
.gm-day time{width:56px;flex:none;font-size:11.5px;color:var(--text-3);font-variant-numeric:tabular-nums}
.gm-day li span{flex:1;transition:color .3s}
.gm-dk{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.18);flex:none}
.gm-dk svg{opacity:0}
/* plays each time the menu opens: lines stamp in, then it lands on green (green = done) */
@keyframes gmIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes gmStamp{0%{opacity:0;transform:scale(1.08)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes gmCheck{to{background:#16A34A;border-color:#16A34A;box-shadow:0 0 10px rgba(34,197,94,.5)}}
@keyframes gmCheckSvg{to{opacity:1}}
@keyframes gmText{to{color:var(--text)}}
.gn-fly.open .gm-l{animation:gmIn .4s var(--ease) forwards}
.gn-fly.open .gm-l.l1{animation-delay:.35s}.gn-fly.open .gm-l.l2{animation-delay:.95s}.gn-fly.open .gm-l.l3{animation-delay:1.55s}
.gn-fly.open .gm-done{animation:gmStamp .35s var(--ease) 2.25s forwards}
.gn-fly.open .gm-day .gm-dk{animation:gmCheck .2s var(--ease) forwards}
.gn-fly.open .gm-day .gm-dk svg{animation:gmCheckSvg .2s var(--ease) forwards}
.gn-fly.open .gm-day li span{animation:gmText .2s var(--ease) forwards}
.gn-fly.open .gm-day .d0 *{animation-delay:.4s}.gn-fly.open .gm-day .d1 *{animation-delay:.85s}.gn-fly.open .gm-day .d2 *{animation-delay:1.3s}
.gn-fly.open .gm-day .d3 *{animation-delay:1.75s}.gn-fly.open .gm-day .d4 *{animation-delay:2.2s}
/* bottom strip */
.gm-strip{border-top:1px solid var(--line);background:rgba(255,107,191,.06)}
.gm-strip .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:13px;padding-bottom:13px;font-size:13px}
.gm-strip span{font-weight:600;color:var(--text-2)}
.gm-strip a{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:#FF8FD0}
@media (max-width:1100px){.gnav .gm-in,.gnav #gnFly .gm-in{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.gm-feat{display:none}}
@media (prefers-reduced-motion:reduce){.gn-fly.open .gm-l,.gn-fly.open .gm-done,.gn-fly.open .gm-day *{animation-duration:.01s;animation-delay:0s}}
   /* menu icons removed; built pages drop the markup on the next rebuild */
.spec .num.word{font-size:clamp(30px,3vw,46px)}   /* word values in stat strips ("Thin margins", "At the source") */

/* ---------- money moments: floating UI cards in place of app screenshots (2026-10-01), same style as the role-photo toasts ---------- */
.mm-cards{display:flex;flex-direction:column;justify-content:center;gap:12px;width:100%;max-width:540px;margin-left:auto;min-height:min(50vh,430px)}

@media (max-width:760px){.mm-cards{margin:18px 0 0;min-height:0;max-width:none}}

.mm-cards{opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility 0s linear .4s}
.mm.on .mm-cards{opacity:1;visibility:visible;transition:opacity .4s var(--ease)}   
/* ---------- money moments: white product cards (Gloria: white UI, not notifications) — the same .pop cards as on role/solution photos ---------- */
.mm-pops{gap:20px;max-width:460px;zoom:var(--fit,1)}   /* --fit is set in aera.js so the stack never runs under the tabs on short screens */
.mm-pops .pop{position:relative;inset:auto;width:100%;max-width:380px;transform-origin:50% 100%}
/* one prompt + answer card (practice owner scene): the question sits in a grey pill, then Aera's answer fades in under it */
.pop-ask{padding:18px 20px 20px}
.pop-ask .pa-q{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:999px;background:#F3F4F6}
.pop-ask .pa-qt{font-size:14px;font-weight:400;letter-spacing:-.01em;color:#111827}
.pop-ask .pa-qt.typing::after{content:"";display:inline-block;width:2px;height:1.15em;margin-left:2px;vertical-align:-.2em;background:#4F46E5;animation:blink 1s steps(1) infinite}   /* the hero ask bar's typing caret, indigo on the white card */
.pop-askq{padding:12px}
.pop-askq .ai{border-radius:50%}
.pop-askq .pa-q{padding-right:8px}
.pop-askq .pa-qt{flex:1}
.pop-askq .pa-go{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#111827}
.pop-askq .pa-go svg{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pop-ask .pa-a{font-size:13.5px;line-height:1.5;color:#374151}
.pop-ask .pa-n{font-style:italic;display:inline-block;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease}   /* the suggestions animate in after the card lands, one after the other (delays only on the way in) */
.pop-ask.act .pa-n{opacity:1;transform:none;transition:opacity .5s ease 1s,transform .6s cubic-bezier(.28,.11,.32,1) 1s}
.pop-ask.act li+li .pa-n{transition-delay:1.45s}
@media (prefers-reduced-motion:reduce){.pop-ask .pa-n{opacity:1;transform:none;transition:none}}
.pop-ask .pa-a p{margin:0;font-weight:650;color:#111827}
.pop-ask .pa-a ul{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.pop-ask .pa-a li{position:relative;padding-left:16px}
.pop-ask .pa-a li::before{content:"";position:absolute;left:2px;top:.6em;width:5px;height:5px;border-radius:50%;background:#4F46E5}
.mm-pops .pop.off{margin-left:auto}   /* second card sits offset to the right, like cards stacked on a desk */
.mm-pops .pop.act .pp-btn,.mm-pops .pop.act .pp-btn span{transition-delay:.9s}
@media (max-width:760px){.mm-pops .pop{max-width:none}.mm-pops .pop.off{margin-left:0}}
/* solution cards: one small white product card each (replaces the toast) */
.eng>.eng-pop{position:relative;inset:auto;margin-top:auto;width:100%;max-width:none;padding:12px 14px 13px;border-radius:14px}
.eng>.body{padding-bottom:22px}
.eng-pop .pp-h b{font-size:13px}.eng-pop .pp-h span{font-size:11.5px}
.eng-pop .pp-big{font-size:26px}.eng-pop .pp-spark{height:24px;margin-top:8px}
.eng-pop .pp-slots{margin-top:8px;gap:5px}.eng-pop .pp-slots li{padding:6px 8px;font-size:12px}
.eng-pop .pp-done{margin-top:8px;gap:6px}
.eng-pop .pp-slots .who{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.eng-pop .pp-slots .st{white-space:nowrap}

/* ---------- the platform selector: seven names on the left, the chosen one's product UI on the right (replaces the bento) ---------- */
.gsel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:clamp(28px,5vw,80px);align-items:center;margin-top:clamp(40px,6vw,72px)}
.gs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.gs-list button{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:13px 0;border:0;background:none;text-align:left;cursor:pointer;color:var(--text-3);font:inherit}
.gs-list b{font-size:clamp(20px,1.9vw,26px);font-weight:600;letter-spacing:-.02em;transition:color .3s var(--ease)}
.gs-list button:hover b{color:var(--text-2)}
.gs-list button.on b{color:#fff}
.gs-list .soon{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid rgba(255,143,208,.5);color:#FF8FD0}
.gs-bar{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.gs-bar i{position:absolute;inset:0;width:0;background:linear-gradient(90deg,#FF6BBF,#C39BFF)}
.gs-list button.on .gs-bar i{width:var(--gp,0%)}
/* solution group tabs: all seven panels share one grid cell, so the stage is always as tall as the tallest panel and the card
   frame doesn't change size when the tabs switch (Gloria). Hidden panels keep their space but are invisible and untouchable. */
.gs-stage{display:grid;grid-template-rows:auto minmax(0,1fr);row-gap:22px;min-height:0}
.gs-stage>.gs-panel,.gs-stage>.gs-panel[hidden]{display:contents}   /* every panel's copy shares row 1 and every panel's cards share row 2 */
.gs-stage>.gs-panel>.gs-copy{grid-row:1;grid-column:1}
.gs-stage .gs-copy p{max-width:none}   /* the description runs the full width of the frame, one line on desktop (Gloria) */
.gs-stage>.gs-panel>.gs-cards{grid-row:2;grid-column:1;align-self:stretch;align-content:center}
.gs-stage>.gs-panel[hidden]>*{visibility:hidden;pointer-events:none}
/* the frame: a faint edge and two light sources, pink upper left and lavender lower right (like "The burden") */
.gs-stage .gs-cards{background:radial-gradient(55% 70% at 8% 10%,rgba(255,107,191,.2),transparent 70%),radial-gradient(55% 70% at 92% 92%,rgba(195,155,255,.18),transparent 70%),rgba(255,255,255,.02);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.06)}
/* Aera Intelligence card: an Aera message like the day-in-the-life cards (sender line, a line from Aera, spark-marked events with
   a follow-up arrow line). Each follow-up is what else Aera did in the same moment; a timer highlights one event at a time. */
.gs-cards.gi-wrap,.gs-cards.gs-one{grid-template-columns:minmax(0,1fr);justify-items:center}   /* one Aera card per tab, centred in the frame */
.gs-cards .gi-feed{width:100%;max-width:380px;padding:18px 20px 20px}   /* same size and text as the owner card in the scroller (Gloria) */
.gs-cards .gi-feed .pp-btn{margin-top:14px}
.gi-feed .pa-a ul{gap:2px;margin-top:10px}
.gi-feed .pa-a li{margin:0 -8px;padding:6px 8px 6px 26px;border-radius:9px;transition:background .5s ease}
.gi-feed .pa-a li::before{left:8px;top:calc(6px + .32em)}
.gi-feed .gi-ev{display:block}
.gi-feed .pa-n,.gi-feed.act .pa-n{opacity:1;transform:none;transition:none}
.gi-wrap.on1 .gi-feed li:nth-child(1),.gi-wrap.on2 .gi-feed li:nth-child(2),.gi-wrap.on3 .gi-feed li:nth-child(3),.gi-wrap.on4 .gi-feed li:nth-child(4){background:#EFEBF8}
/* Aera Clinical card: the patient's picture before the visit, then the scribe starts. A different shape from the Intelligence feed so the tabs don't all look alike (Gloria) */
.gs-cards .gc-prep{position:relative;inset:auto;width:100%;max-width:380px;padding:18px 20px 20px}
.gc-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.gc-av{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#EFEBF8;color:#14112A;font-size:13px;font-weight:700}
.gc-top time{align-self:start;font-size:11.5px;font-weight:600;color:#4F46E5;white-space:nowrap}
.gc-stats{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #EFEBF8;display:grid;gap:10px}
.gc-stats li{display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:5px;font-size:12.5px;color:#374151}
.gc-stats b{font-weight:650;color:#111827}
.gc-stats i{grid-column:1/-1;height:5px;border-radius:3px;background:#F3F4F6;overflow:hidden}
.gc-stats s{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#4F46E5,#16A34A);transition:width .9s cubic-bezier(.22,1,.36,1)}
.gc-prep.act .gc-stats s{width:var(--to)}
.gc-prep.act .gc-stats li:nth-child(2) s{transition-delay:.15s}.gc-prep.act .gc-stats li:nth-child(3) s{transition-delay:.3s}
/* Aera Operations card: the same Aera schedule card as the scroller (Gloria); the cancelled slot's red edge turns green as Aera fills it from the waitlist */
.gs-cards .go-day{position:relative;inset:auto;width:100%;max-width:380px;padding:18px 20px 20px}
.go-day .day-slots .go-fill div{transition:box-shadow .4s ease 1.8s}
.go-day.act .day-slots .go-fill div{--c:#15803D}
.go-day.act .day-slots .go-fill div{box-shadow:inset 3px 0 0 #15803D}
.go-sw{display:grid}
.go-sw p{grid-area:1/1;margin:0;transition:opacity .35s ease 1.8s,transform .45s cubic-bezier(.34,1.4,.64,1) 1.8s}
.go-sw .b{opacity:0;transform:translateY(6px)}
.go-day.act .go-sw .a{opacity:0;transform:translateY(-6px)}
.go-day.act .go-sw .b{opacity:1;transform:none}
.go-day.act .pp-btn,.go-day.act .pp-btn span{transition-delay:2.6s}
@media (prefers-reduced-motion:reduce){.go-day *{transition:none!important}}
/* Aera Command card: Aera spots a slipping number before the owner asks, shows the trend, the cause and the fix to approve */
.gs-cards .gm-card{position:relative;inset:auto;width:100%;max-width:380px;padding:18px 20px 20px}
.gm-card .wk-t{margin:0;font-size:13.5px;line-height:1.45;font-weight:600;color:#14112A}
.gm-card .wk-s{font-weight:400;color:#374151}
.gm-kpi{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:20px;margin-top:14px;padding:12px 0;border-block:1px solid #EFEBF8}
.gm-lbl{display:block;font-size:11.5px;color:#6B6880}
.gm-kpi .pp-big{margin-top:4px}
.gm-kpi .pp-spark{height:46px;margin:0}
.gm-kpi .pp-spark i:last-child{background:#B91C1C}
.gm-why{margin:12px 0 0;display:grid;gap:7px}
.gm-why>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:baseline;opacity:0;transform:translateY(5px);transition:opacity .35s ease,transform .45s ease}
.gm-why dt{font-size:11px;font-weight:700;color:#6B6880}
.gm-why dd{margin:0;font-size:12.5px;color:#14112A}
.gm-why>div:last-child dd{font-weight:600;color:#4F46E5}
.gm-card.act .gm-why>div{opacity:1;transform:none}
.gm-card.act .gm-why>div:nth-child(1){transition-delay:.9s}.gm-card.act .gm-why>div:nth-child(2){transition-delay:1.2s}.gm-card.act .gm-why>div:nth-child(3){transition-delay:1.5s}
.gm-card.act .pp-btn,.gm-card.act .pp-btn span{transition-delay:2.6s}
@media (prefers-reduced-motion:reduce){.gm-why>div{opacity:1;transform:none;transition:none}}
/* Aera Companion card: a text thread with the patient between visits; Aera checks in, passes the answer to the therapist, and the bill gets paid in the thread */
.gs-cards .gp-chat{position:relative;inset:auto;width:100%;max-width:380px;padding:16px 18px 18px}
.gp-top{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid #EFEBF8}
.gp-top .ai{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#4F46E5}
.gp-top .ai svg{width:15px;height:15px;fill:#fff}
.gp-msgs{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.gp-msgs li{max-width:82%;padding:8px 12px;border-radius:16px;font-size:12.5px;line-height:1.4;opacity:0;transform:translateY(6px) scale(.98);transition:opacity .3s ease,transform .4s cubic-bezier(.34,1.3,.64,1)}
.gp-in{align-self:flex-start;background:#F3F1F8;color:#14112A;border-bottom-left-radius:5px}
.gp-me{align-self:flex-end;background:#4F46E5;color:#fff;border-bottom-right-radius:5px}
.gp-pay{display:grid;gap:8px}
.gp-chip{display:grid;justify-self:start;padding:6px 12px;border-radius:999px;background:#4F46E5;color:#fff;font-size:12px;font-weight:600;transition:background-color .3s ease 4.4s}
.gp-chip span{grid-area:1/1;display:flex;align-items:center;justify-content:center;gap:5px;transition:opacity .3s ease 4.4s}
.gp-chip .b{opacity:0}
.gp-chip svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.gp-chat.act .gp-msgs li{opacity:1;transform:none}
.gp-chat.act .gp-msgs li:nth-child(2){transition-delay:1s}.gp-chat.act .gp-msgs li:nth-child(3){transition-delay:2s}.gp-chat.act .gp-msgs li:nth-child(4){transition-delay:3s}
.gp-chat.act .gp-chip{background-color:#16A34A}
.gp-chat.act .gp-chip .a{opacity:0}.gp-chat.act .gp-chip .b{opacity:1}
@media (prefers-reduced-motion:reduce){.gp-chat *{transition:none!important}}
/* Aera Revenue card: one claim's trip from signed note to paid; Aera's added modifier stamps in, then the progress line runs to Paid */
.gs-cards .gr-claim{position:relative;inset:auto;width:100%;max-width:380px;padding:18px 20px 20px}
.gr-claim .wk-t{margin:0;font-size:13.5px;line-height:1.45;font-weight:600;color:#14112A}
.gr-claim .wk-s{font-weight:400;color:#374151}
/* the denial traceback: the denial, where it really came from, and the fix at the source, joined by a line */
.gr-trace{position:relative;list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.gr-trace::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;border-radius:1px;background:#EFEBF8}
.gr-trace li{position:relative;padding-left:22px;opacity:0;transform:translateY(5px);transition:opacity .35s ease,transform .45s ease}
.gr-trace li::before{content:"";position:absolute;left:0;top:3px;width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px #fff}
.gr-trace b{display:block;font-size:12.5px;font-weight:650;color:var(--c)}
.gr-trace span{display:block;margin-top:1px;font-size:12px;color:#374151}
.gr-trace .t-den{--c:#B91C1C}.gr-trace .t-tr{--c:#7C3AED}.gr-trace .t-fix{--c:#15803D}
.gr-claim.act .gr-trace li{opacity:1;transform:none}
.gr-claim.act .gr-trace li:nth-child(1){transition-delay:.3s}.gr-claim.act .gr-trace li:nth-child(2){transition-delay:1s}.gr-claim.act .gr-trace li:nth-child(3){transition-delay:1.7s}
.gr-steps{position:relative;list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.gr-steps::before,.gr-steps::after{content:"";position:absolute;left:10%;top:6px;height:2px;border-radius:1px;background:#EFEBF8;width:80%}
.gr-steps::after{background:#4F46E5;width:0;transition:width 2s cubic-bezier(.45,0,.25,1) 2.4s}
.gr-claim.act .gr-steps::after{width:80%}
.gr-steps li{position:relative;z-index:1;display:grid;justify-items:center;gap:7px;font-size:11.5px;color:#6B6880}
.gr-steps li::before{content:"";width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #E9E2FF;transition:background .25s ease,box-shadow .25s ease}
.gr-claim.act .gr-steps li::before{background:#4F46E5;box-shadow:inset 0 0 0 2px #4F46E5,0 0 0 3px #fff}
.gr-claim.act .gr-steps li{color:#14112A}
.gr-claim.act .gr-steps li:nth-child(1)::before{transition-delay:2.4s}.gr-claim.act .gr-steps li:nth-child(2)::before{transition-delay:2.9s}.gr-claim.act .gr-steps li:nth-child(3)::before{transition-delay:3.4s}.gr-claim.act .gr-steps li:nth-child(4)::before{transition-delay:3.9s}
.gr-claim.act .gr-steps .gr-paid::before{background:#15803D;box-shadow:inset 0 0 0 2px #15803D,0 0 0 3px #fff;transition-delay:4.4s}
.gr-claim.act .gr-steps .gr-paid{color:#15803D;font-weight:700;transition:color .25s ease 4.4s}
.gr-foot{display:flex;justify-content:space-between;gap:12px;margin:16px 0 0;padding-top:10px;border-top:1px solid #EFEBF8;font-size:12px;color:#6B6880;opacity:0;transition:opacity .4s ease 4.8s}
.gr-foot b{flex:none;font-weight:600;color:#15803D}
.gr-claim.act .gr-foot{opacity:1}
@media (prefers-reduced-motion:reduce){.gr-claim *,.gr-claim *::before,.gr-steps::after{transition:none!important}}
/* Aera Growth card: next week's schedule as a grid; the open slots fill one by one, coloured by where each patient came from */
.gs-cards .gw-card{position:relative;inset:auto;width:100%;max-width:380px;padding:18px 20px 20px}
.gw-card .wk-t{margin:0;font-size:13.5px;line-height:1.45;font-weight:600;color:#14112A}
.gw-card .wk-s{font-weight:400;color:#374151}
.gw-week,.gw-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.gw-week{margin-top:14px}
.gw-week span{font-size:11px;font-weight:600;color:#6B6880;text-align:center}
.gw-grid{margin-top:6px}
.gw-grid i{height:18px;border-radius:5px;background:#EFEBF8}
.gw-grid .o{background:#fff;box-shadow:inset 0 0 0 1.5px #C9C3D9;transition:background .3s ease,box-shadow .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1)}
.gw-grid .n,.gw-key .n{--c:#4F46E5}.gw-grid .r,.gw-key .r{--c:#15803D}.gw-grid .p,.gw-key .p{--c:#7C3AED}
.gw-card.act .gw-grid .o{background:var(--c);box-shadow:inset 0 0 0 1.5px var(--c);transition-delay:calc(.8s + var(--d) * .3s)}
.gw-key{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #EFEBF8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gw-key li{display:grid;gap:2px;font-size:11.5px;line-height:1.3;color:#6B6880;opacity:0;transition:opacity .4s ease 3.8s}
.gw-key b{display:flex;align-items:center;gap:6px;font:900 20px/1 Lato,Inter,sans-serif;color:#14112A}
.gw-key b::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--c)}
.gw-card.act .gw-key li{opacity:1}
@media (prefers-reduced-motion:reduce){.gw-card *{transition:none!important}}
/* the scribe: a live sound wave while Aera writes the note line by line, then the note is ready to sign */
.gc-scribe{margin:14px 0 0;padding:10px 12px 12px;border-radius:10px;background:#F7F5FC}
.gc-sh{display:flex;align-items:center;gap:8px;font-size:12px;color:#14112A}
.gc-sh b{font-weight:650}
.gc-sh>i{flex:none;display:grid;place-items:center;width:15px;height:15px}
.gc-sh svg{width:13px;height:13px;fill:#4F46E5}
.gc-wave{margin-left:auto;display:flex;align-items:center;gap:2px;height:14px}
.gc-wave i{width:3px;height:30%;border-radius:2px;background:#4F46E5;animation:gcWave 1s ease-in-out infinite}
.gc-wave i:nth-child(2){animation-delay:.15s}.gc-wave i:nth-child(3){animation-delay:.3s}.gc-wave i:nth-child(4){animation-delay:.45s}.gc-wave i:nth-child(5){animation-delay:.6s}
@keyframes gcWave{50%{height:100%}}
.gc-lines{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:5px}
.gc-lines li{position:relative;padding-left:12px;font-size:12.5px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-lines li::before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:50%;background:#C9C3D9}
.gc-lines span{display:inline-block;clip-path:inset(0 100% 0 0);transition:clip-path .7s steps(30,end)}
.gc-prep.act .gc-lines span{clip-path:inset(0 0 0 0)}
.gc-prep.act .gc-lines li:nth-child(1) span{transition-delay:.4s}.gc-prep.act .gc-lines li:nth-child(2) span{transition-delay:1.2s}.gc-prep.act .gc-lines li:nth-child(3) span{transition-delay:2s}
/* compliance check: once the note is written Aera flags a gap (violet), fixes it (green), and only then can it be signed */
.gc-flag{display:grid;margin:10px 0 0;padding-top:9px;border-top:1px solid #EFEBF8;font-size:12px;font-weight:600;opacity:0;transition:opacity .3s ease 2.9s}
.gc-flag span{grid-area:1/1;display:flex;align-items:center;gap:7px;transition:opacity .3s ease 4.4s}
.gc-flag .a{color:#7C3AED}.gc-flag .b{color:#15803D;opacity:0}
.gc-flag svg{flex:none;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.gc-prep.act .gc-flag{opacity:1}
.gc-prep.act .gc-flag .a{opacity:0}.gc-prep.act .gc-flag .b{opacity:1}
.gc-prep.act .pp-btn,.gc-prep.act .pp-btn span{transition-delay:5.4s}
@media (prefers-reduced-motion:reduce){.gc-stats s,.gc-lines span{transition:none;clip-path:none}.gc-wave i{animation:none;height:60%}}
.gs-stage{position:relative;min-height:440px}
.gs-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.gs-panel[hidden]{display:none}
.gs-copy h3{margin:0;font-size:clamp(26px,2.6vw,36px);font-weight:650;letter-spacing:-.03em}
.gs-copy p{margin:8px 0 12px;max-width:520px;font-size:clamp(16px,1.25vw,18px);line-height:1.5;color:var(--text-2)}
.gs-cards{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;padding:clamp(18px,3vw,36px);border-radius:28px;
  background:radial-gradient(70% 90% at 70% 40%,rgba(255,107,191,.16),transparent 70%),radial-gradient(60% 80% at 20% 80%,rgba(155,123,255,.14),transparent 70%)}
.gs-cards .gs-pop{position:relative;inset:auto;width:100%;max-width:none}
.gs-cards .gs-pop.b{margin-top:clamp(40px,6vw,90px)}   /* the second card sits lower, like cards on a desk */
.gs-cards .gs-pop:only-child{grid-column:1/-1;max-width:460px}

@media (max-width:900px){
  .gsel{grid-template-columns:1fr}
  .gs-list{flex-direction:row;overflow-x:auto;gap:18px;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,#000 85%,transparent)}
  .gs-list button{white-space:nowrap;padding:10px 0}.gs-list b{font-size:17px}
  .gs-cards{grid-template-columns:1fr}.gs-cards .gs-pop.b{margin-top:0}.gs-stage{min-height:0}
  /* every tab list on phones (solution groups, key innovations, the typical week): one name at a time with back and next arrows
     and a count, no sideways swiping (Gloria 2026-10-31). :is(#gs,.gsel) lifts these over the pages' own #what rules */
  .gs-arrows:is(#gs,.gsel) div.gs-nav{display:flex;align-items:center;gap:12px;grid-column:1/-1}
  .gs-arrows:is(#gs,.gsel) .gs-list{flex:1;flex-direction:row;min-width:0;overflow:visible;-webkit-mask:none;mask:none;justify-content:center;border-bottom:0}
  .gs-arrows:is(#gs,.gsel) .gs-list li{display:none;width:100%;flex:1}.gs-arrows:is(#gs,.gsel) .gs-list li:has(.on){display:block}
  .gs-arrows:is(#gs,.gsel) .gs-list button{justify-content:center;text-align:center;white-space:normal;padding:10px 0;cursor:default}
  .gs-arrows:is(#gs,.gsel) .gs-list b{font-size:19px;text-wrap:balance}
  .gs-arrows:is(#gs,.gsel) .gs-nav .gs-arr,.gs-arrows:is(#gs,.gsel) .gs-nav .gs-n{display:inline-flex}
}
.gs-arrows .gs-nav{display:contents}
.gs-arrows .gs-arr,.gs-arrows .gs-n{display:none}
.gs-arr{flex:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;cursor:pointer}
.gs-arr svg{width:16px;height:16px}.gs-arr.prev svg{transform:scaleX(-1)}
.gs-n{flex:none;font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums}
/* role photos: two white product cards per photo, kept clear of faces (replaces the notification toast) */

.pp-slots .who{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pp-slots .st{white-space:nowrap}

/* ---------- Monday morning: a weekend timeline instead of cards (the guide's "Already done" campaign: task + the time it was done) ---------- */
.wk{position:relative;margin-top:clamp(48px,6vw,80px)}
.wk-line{position:absolute;left:0;right:0;top:44px;height:2px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.wk-line i{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#FF6BBF,#C39BFF 70%,#fff);box-shadow:0 0 14px rgba(255,107,191,.6);transition:transform 2.6s cubic-bezier(.45,0,.2,1) .2s}
.wk.in .wk-line i{transform:none}
.wk-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
.wk-list li{position:relative;opacity:.25;transition:opacity .5s var(--ease) calc(.4s + var(--i) * .5s)}
.wk.in .wk-list li{opacity:1}
.wk-list time{display:block;height:26px;font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums}
.wk-list time b{color:var(--text);font-weight:650}
.wk-dot{position:relative;display:grid;place-items:center;width:22px;height:22px;margin:8px 0 22px;border-radius:50%;background:#0B0820;border:2px solid rgba(255,255,255,.18);transition:background .3s var(--ease) calc(.5s + var(--i) * .5s),border-color .3s var(--ease) calc(.5s + var(--i) * .5s),box-shadow .3s var(--ease) calc(.5s + var(--i) * .5s)}
.wk-dot svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.4);transition:opacity .25s var(--ease) calc(.55s + var(--i) * .5s),transform .4s cubic-bezier(.34,1.56,.64,1) calc(.55s + var(--i) * .5s)}
.wk.in .wk-dot{background:#16A34A;border-color:#16A34A;box-shadow:0 0 14px rgba(34,197,94,.5)}
.wk.in .wk-dot svg{opacity:1;transform:none}
.wk-list h3{margin:0;font-size:clamp(20px,1.9vw,26px);font-weight:650;letter-spacing:-.025em;line-height:1.15}
.wk-list p{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--text-2)}

@media (max-width:860px){
  .wk-line{left:10px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .wk-line i{transform-origin:50% 0;transform:scaleY(0)}.wk.in .wk-line i{transform:none}
  .wk-list{grid-template-columns:1fr;gap:26px;padding-left:40px}
  .wk-list time{height:auto;margin-bottom:6px}.wk-dot{position:absolute;left:-40px;top:0;margin:0}
}
@media (prefers-reduced-motion:reduce){.wk-line i,.wk-list li,.wk-dot,.wk-dot svg{transition:none}}

/* ---------- big line of type (the .fb-h base, still used by the .fb-row bands further down) ---------- */
.fb-h{margin:0;max-width:12em;font-size:clamp(52px,7.6vw,128px);line-height:.98;font-weight:660;letter-spacing:-.032em;text-wrap:balance;text-shadow:0 2px 60px rgba(4,3,20,.45)}
.fb-h .grad{display:block}

.end-copy .h2{font-size:clamp(34px,4.8vw,76px);line-height:.98;letter-spacing:-.045em;max-width:16em}

/* money moments: no neural-network canvas (didn't sit with the full-bleed photos); a quiet dark stage with one soft light */
.film-sc{background:radial-gradient(55% 65% at 72% 48%,rgba(124,58,237,.20),transparent 70%),radial-gradient(45% 55% at 20% 70%,rgba(255,107,191,.08),transparent 70%),#07051A}
/* product UI cards: solid colors only, no gradients (Gloria) */
.pop .pp-iris i{background:#FF6BBF}

.pop .ai{background:#FF6BBF}
.pop .pp-spark i.hi{background:#FF6BBF}

/* homepage: the page's own nav waits until you're past the hero */
.lnav{transition:transform .45s var(--ease),opacity .35s var(--ease)}
.lnav.held{transform:translateY(-100%);opacity:0;pointer-events:none}

/* responsible AI: what runs on its own vs what waits for you, as product cards */
.ra{display:grid;grid-template-columns:repeat(2,minmax(0,380px));justify-content:center;gap:clamp(20px,3vw,40px);margin:clamp(40px,5vw,64px) auto 0}

.ra .pop{position:relative;inset:auto;width:100%}
@media (max-width:760px){.ra{grid-template-columns:1fr}}

   

/* network sections sit on the site background, not navy */
.sc{background:var(--bg)}
.film-sc{background:var(--bg)}
/* the neural network fades into the sections above and below it */
.mag{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%)}

/* softer, longer fade on every edge (no hard stop anywhere) */
.mag{-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 14%,#000 36%,#000 64%,rgba(0,0,0,.35) 86%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 14%,#000 36%,#000 64%,rgba(0,0,0,.35) 86%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-composite:intersect}

   /* Aera Clinical: the encounter as a timeline (the Monday-morning line), each stage with a white product card */
.enc-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.enc-list p{min-height:4.5em}

@media (max-width:860px){.enc-list p{min-height:0}}
/* ---------- capability cards: one distinct layout per capability (Clinical "What it does") ---------- */

.pp-mom{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:9px}
.pp-mom li{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:10px;font-size:12.5px;color:#374151}
.pp-mom li i{height:6px;border-radius:3px;background:#F3F4F6;position:relative;overflow:hidden}
.pp-mom li i::after{content:"";position:absolute;inset:0;width:0;border-radius:3px;background:#16A34A;transition:width .8s cubic-bezier(.2,.7,.2,1)}
.pp-mom li.low i::after{background:#F59E0B}
.act .pp-mom li i::after{width:var(--w)}
.pp-mom em{font-style:normal;font-size:11px;color:#9CA3AF;white-space:nowrap}
.pp-mom li.low em{color:#B45309;font-weight:600}

/* ---------- Clinical encounter timeline, styled like the promo video: pink laser line, glowing pink dots that pop on, white end dot, pink labels with a green check ---------- */
.enc .wk-line{left:11px;top:43.5px;height:3px;background:rgba(255,255,255,.06)}
.enc .wk-line i{background:linear-gradient(90deg,#FF6BBF,#FF8FD0 60%,#FFC2E3);box-shadow:0 0 12px rgba(255,107,191,.8),0 0 30px rgba(255,107,191,.35)}
.enc .wk-dot{width:18px;height:18px;margin:10px 0 24px 2px;border:0;background:#FF8FD0;box-shadow:0 0 0 5px rgba(255,107,191,.18),0 0 18px rgba(255,107,191,.8);transform:scale(0);
  transition:transform .45s cubic-bezier(.34,1.7,.64,1) calc(.5s + var(--i) * .5s)}
.enc.in .wk-dot{background:#FF8FD0;border:0;box-shadow:0 0 0 5px rgba(255,107,191,.18),0 0 18px rgba(255,107,191,.8);transform:none}
.enc li.last .wk-dot,.enc.in li.last .wk-dot{background:#fff;box-shadow:0 0 0 6px rgba(255,143,208,.3),0 0 26px rgba(255,107,191,1)}
.enc-list time{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#FF8FD0}
.enc-ck{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#16A34A;box-shadow:0 0 12px rgba(34,197,94,.5);opacity:0;transform:scale(.3);
  transition:opacity .25s ease calc(.75s + var(--i) * .5s),transform .4s cubic-bezier(.34,1.7,.64,1) calc(.75s + var(--i) * .5s)}
.enc-ck svg{width:11px;height:11px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.enc.in .enc-ck{opacity:1;transform:none}
@media (max-width:860px){.enc .wk-line{left:10px;top:0;width:3px;height:auto}.enc .wk-dot{left:-38px;top:2px}}
@media (prefers-reduced-motion:reduce){.enc .wk-dot,.enc-ck{transition:none}}

/* scroll-linked (--gp from aera.js, 0 at the top → 1 once the top nav has scrolled away): the sub-nav button starts on top of the top-nav button
   and stays put while the top nav scrolls out from under it; the two crossfade and the size eases, so it reads as one button */
.lnav .right>.btn{transform-origin:100% 50%;transform:translateY(var(--lny,0px)) scale(var(--lns,1));opacity:var(--lna,1)}
body:has(.lnav) .gn-cta{opacity:calc(1 - var(--lna,0))}
.lnav:not(.handed) .right>.btn{pointer-events:none}
/* Clinical encounter timeline: scroll-driven (aera.js sets --p on .enc and .on on each stop the line has reached) */
.enc.scr .wk-line i{transform:scaleX(var(--p,0));transition:transform .12s linear}
.enc.scr .wk-list li{opacity:.25;transition:opacity .4s var(--ease)}
.enc.scr .wk-list li.on{opacity:1}
.enc.scr .wk-dot{transform:scale(0);transition:transform .45s cubic-bezier(.34,1.7,.64,1)}
.enc.scr li.on .wk-dot{transform:none}
.enc.scr .enc-ck{opacity:0;transform:scale(.3);transition:opacity .25s ease .15s,transform .4s cubic-bezier(.34,1.7,.64,1) .15s}
.enc.scr li.on .enc-ck{opacity:1;transform:none}
@media (max-width:860px){.enc.scr .wk-line i{transform:scaleY(var(--p,0))}}
@media (max-width:860px){.enc-list{grid-template-columns:1fr}.enc .wk-dot{position:absolute;left:-36px;top:30px;margin:0}.enc .wk-line{left:11px}}
/* Aera by WebPT lockup (images/aera-lockup-white.svg, from Gloria's lockup files) */
.logo img.lockup{display:block;height:22.5px;width:auto}   /* 1.5x (Gloria 2026-10-28) */
.foot-brand .logo img.lockup{height:40px}
/* stat strips: every number box is as tall as a big number and its text sits on the bottom, so word values ("Before visit") share the numbers' baseline and every description starts on the same line */
.spec .num{display:flex;align-items:flex-end;height:calc(clamp(48px,5.4vw,80px) * 1.12);line-height:1}
.spec .num.word{padding-bottom:.08em}
/* strips that mix numbers and words ("15–20 min", "Before visit"): one size for every headline, small enough that the words fit their column */
.specs:has(.word) .num,.specs:has(.word) .num.word{font-size:clamp(32px,3.4vw,52px);height:auto;padding-bottom:0;white-space:nowrap}
/* clipping pass: on phones, wrap instead of cutting text off with an ellipsis */
@media (max-width:640px){.stream li span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}.stream{height:170px}}
@media (max-width:900px){.mm-app .tr>span:nth-child(2){white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}}
/* Aera Clinical feature list (guide "Core Feature List"): compact checklist for checklist buyers, at the bottom of the page */
.feat-list{list-style:none;margin:0 auto;padding:0;max-width:1000px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 32px}
.feat-list li{display:flex;align-items:flex-start;gap:10px;padding:14px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.4;color:var(--text-2)}
.feat-list svg{flex:none;width:16px;height:16px;margin-top:2px;fill:none;stroke:#22C55E;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:860px){.feat-list{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.feat-list{grid-template-columns:1fr}}
/* "What it does" timelines with more than four stops (solution-group pages): columns follow --n; tighter type at five or six */
.enc[style*="--n"] .enc-list{grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.enc[style*="--n:5"] .wk-list h3,.enc[style*="--n:6"] .wk-list h3{font-size:clamp(17px,1.5vw,21px)}
.enc[style*="--n:5"] .wk-list p,.enc[style*="--n:6"] .wk-list p{font-size:14px}
@media (max-width:860px){.enc[style*="--n"] .enc-list{grid-template-columns:1fr}}
/* selector panels whose two cards read top-to-bottom (e.g. practice model above, the clinician's view below) */
.gs-cards.stack{grid-template-columns:minmax(0,460px);justify-content:center}
.gs-cards.stack .gs-pop.b{margin-top:0;margin-left:clamp(0px,4vw,48px)}
/* sub-nav dropdown: adaptive material. The backdrop is blurred and darkened in proportion to how bright it is (brightness filter),
   so white product cards behind the menu drop to a deep gray while dark sections barely change; the text stays legible over anything. */
.ln-menu.glass{background:rgba(16,11,36,.5);-webkit-backdrop-filter:blur(30px) saturate(1.5) brightness(.42);backdrop-filter:blur(30px) saturate(1.5) brightness(.42);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px -20px rgba(0,0,0,.7)}
.ln-menu.glass::before,.ln-menu.glass::after{display:none}
.ln-menu a{color:rgba(255,255,255,.78)}
/* the sticky sub-nav's blur lives on a pseudo layer, so the bar isn't a backdrop root and the dropdown's own backdrop filter can see the page behind it */
.lnav.stuck{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.lnav::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:rgba(5,4,15,.72);-webkit-backdrop-filter:blur(22px) saturate(1.7);backdrop-filter:blur(22px) saturate(1.7);transition:opacity .4s var(--ease)}
.lnav.stuck::before{opacity:1}
/* ---------- no pink inside product cards (Gloria, 2026-10-02): white UI uses indigo for progress and primary states,
   green for done, amber for warnings. Pink stays on the page (type, section accents), never in the cards. ---------- */
.pop .pp-iris i,.pp-iris i{background:#4F46E5}

.pop .ai{background:#4F46E5}
.pop .pp-spark i.hi{background:#4F46E5}

.mm-app .bars i.hi{background:#4F46E5}
.mm-app .bl{color:#4338CA}

.mm-app .av{background:#EEF2FF;color:#4338CA}
.mm-app .hb div:first-child i b{background:#4F46E5}

.mm-app .ex .th{background:#EEF2FF}
.ios-bh .bell::after{background:#EF4444}

/* ---------- main nav returns on scroll up (aera.js: body.gn-float / body.gn-hide) ---------- */
.gnav{position:sticky;top:0;transition:transform .4s var(--ease)}
.gnav::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:rgba(5,4,15,.82);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);transition:opacity .3s var(--ease)}
body.gn-float .gnav::before{opacity:1}
body.gn-hide .gnav{transform:translateY(-100%)}
.lnav{top:53px;transition:transform .4s var(--ease)}
body.gn-hide .lnav{transform:translateY(-53px)}
/* one Get started: it rides with whichever nav is in front */
.lnav .right>.btn{transform-origin:100% 50%;transform:translateY(-53px) scale(1.09);opacity:0;pointer-events:none;transition:transform .4s var(--ease),opacity .3s var(--ease)}
body.gn-hide .lnav .right>.btn{transform:none;opacity:1;pointer-events:auto}
body:has(.lnav) .gn-cta{opacity:1;transition:opacity .3s var(--ease)}
body.gn-hide .gn-cta{opacity:0}
/* the two navs read as one bar when stacked: backgrounds cover their 1px borders and share one tint */
.gnav::before{inset:0 0 -1px 0;background:rgba(5,4,15,.86)}
.lnav::before{inset:-1px 0 -1px 0;background:rgba(5,4,15,.86)}
body.gn-float:not(.gn-hide) .lnav.stuck::before{opacity:1}
body:not(.gn-hide) .lnav.stuck{border-top:0}
/* phones: the menu icon stays put while the main nav slides away (it slides back down by the nav's height, above the page nav),
   and the page nav's Get started sits just left of it, where the main nav's button was */
@media (max-width:900px){
  .gn-menu{transition:transform .4s var(--ease)}
  body.gn-hide:has(.lnav.shown) .gn-menu{transform:translateY(53px)}
  .lnav .right{margin-right:50px}
}
/* phones and tablets, pages with a page name ("Clinicians", "Aera Operations"): one bar that never moves. The page nav sits at the top
   behind the main nav, which turns see-through (and lets taps through its empty middle) so the name shows; when the main nav slides away
   it uncovers the page nav's own logo and Get started in the same places, and the name stays put */
@media (max-width:900px){
  .lnav:has(.ln-role,.title:not(.ln-only)){top:0}
  body.gn-hide .lnav:has(.ln-role,.title:not(.ln-only)){transform:none}
  .lnav:has(.ln-role,.title:not(.ln-only)) .ln-brand{max-width:none;margin-right:0;padding-right:0;border-right:0}
  .lnav:has(.ln-role,.title:not(.ln-only)) .right>.btn{transform:none;height:34px;padding:0 16px;font-size:14px}
  body:has(.lnav.shown .ln-role,.lnav.shown .title:not(.ln-only)) .gnav{border-bottom-color:transparent;pointer-events:none}
  body:has(.lnav.shown .ln-role,.lnav.shown .title:not(.ln-only)) .gnav::before{opacity:0}
  body:has(.lnav.shown .ln-role,.lnav.shown .title:not(.ln-only)) .gnav .container>*{pointer-events:auto}
}
/* tablets: the name sits centered in the bar, between the logo and Get started */
@media (min-width:641px) and (max-width:900px){
  .lnav .container>.ln-role,.lnav .container>.title:not(.ln-only){position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
}
/* phones: the name gets its own row under the bar, so the logo, Get started and menu icon fit */
@media (max-width:640px){
  .lnav:has(.ln-role,.title:not(.ln-only)){border-bottom-color:transparent}
  .lnav:has(.ln-role,.title:not(.ln-only))::before{bottom:-45px}
  .lnav .container>.ln-role,.lnav .container>.title:not(.ln-only){position:absolute;left:0;right:0;top:100%;display:flex;align-items:center;height:44px;padding:0 var(--gutter);border-bottom:1px solid var(--line)}
  .lnav .ln-role .ln-menu{left:calc(var(--gutter) - 12px)}
}
@media (max-width:520px){.lnav:has(.ln-role,.title:not(.ln-only)) .right>.btn{height:32px;padding:0 13px;font-size:13px}}

/* stats band (build/stats_band.py; JS [data-sband] in aera.js; numbers use .countup): big figure + label, gradient panel, three small stats */
.sb-sec{padding-top:clamp(96px,11vw,160px);padding-bottom:clamp(96px,11vw,160px)}
.sb-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;padding-bottom:clamp(28px,3vw,40px);border-bottom:1px solid var(--line)}
.sb-big{display:flex;align-items:flex-end;gap:clamp(16px,2vw,28px)}
.sb-num{flex:none;font-size:clamp(112px,12.5vw,176px);line-height:.78;font-weight:620;letter-spacing:-.06em;color:#fff;font-variant-numeric:tabular-nums}
.sb-lab{padding-bottom:4px;max-width:360px}
.sb-lab b{display:block;font-size:clamp(18px,1.5vw,21px);font-weight:650;letter-spacing:-.01em;color:#fff}
.sb-lab p{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--text-2)}

@keyframes sb-c{to{left:-35%;bottom:-40%}}
.sb-row{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:24px;padding-top:clamp(40px,5vw,72px)}
.sb-n{font-size:clamp(36px,3.4vw,48px);line-height:1;font-weight:620;letter-spacing:-.04em;color:#fff;white-space:nowrap}
.sb-c{margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
@media (max-width:900px){.sb-top{grid-template-columns:1fr}}
@media (max-width:600px){.sb-big{flex-direction:column;align-items:flex-start;gap:18px}.sb-row{grid-template-columns:1fr;gap:28px}}

/* sub-nav (2026-10-06, Gloria): hidden until you scroll down; carries the Aera logo (shown once the main nav has tucked away) */
.lnav{opacity:1;visibility:visible;transition:transform .4s var(--ease),opacity .35s var(--ease),visibility 0s}
.lnav:not(.shown){opacity:0;visibility:hidden;pointer-events:none;transition:transform .4s var(--ease),opacity .25s var(--ease),visibility 0s linear .25s}
.lnav .container>.ln-brand,.lnav .container>.ln-role,.lnav .container>.title{flex:none}
.lnav .container{justify-content:flex-start}
.lnav .right{margin-left:auto}
.ln-brand{display:inline-flex;align-items:center;max-width:180px;margin-right:18px;padding-right:18px;border-right:1px solid var(--line);overflow:hidden;transition:max-width .4s var(--ease),margin .4s var(--ease),padding .4s var(--ease),opacity .3s var(--ease),border-color .3s}
.ln-lockup{height:22.5px;width:auto;flex:none;display:block}
body:not(.gn-hide) .ln-brand{max-width:0;margin-right:0;padding-right:0;opacity:0;border-color:transparent}
.ln-brand.ln-only{margin-right:0;padding-right:0;border-right:0}
@media (max-width:760px){.ln-lockup{height:22.5px}.ln-brand{margin-right:12px;padding-right:12px}}

/* practice owner answer card (homepage scroller): signed by Aera, and each suggestion is marked as Aera's with the spark, in indigo
   (no pink inside product cards). Kept light on purpose (Gloria: a greeting, tinted boxes and action buttons were too much). */
.pop .pa-from{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12.5px;color:#6B6880}
.pop .pa-from .ai{width:22px;height:22px;border-radius:50%}
.pop .pa-from .ai svg{width:12px;height:12px;fill:#fff}
.pop .pa-from b{font-weight:650;color:#14112A}
.pop .pa-from time::before{content:"·";margin-right:8px}
/* front desk scene: Aera's weekend report as three numbers, then Monday as a small day view, so the two cards don't echo each other */
.pop-wk .wk-t,.pop-day .wk-t{margin:0;font-size:13.5px;line-height:1.45;font-weight:600;color:#14112A}
.pop-day .wk-s,.pop-wk .wk-s{font-weight:400;color:#374151}
.pop-wk .wk-nums b{white-space:nowrap}
/* the day's four figures as a 2 x 2 of tiles (Gloria: tiles instead of the table) */
.pop-wk .wk-nums.wk-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pop-wk .learned{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;padding:9px 10px;border-radius:9px;background:#F7F5FC;font-size:12.5px;line-height:1.4;color:#374151}
.pop-wk .learned i{flex:none;display:grid;place-items:center;width:15px;height:18px}
.pop-wk .learned svg{width:13px;height:13px;fill:#4F46E5}   /* Aera's spark is the site indigo everywhere (Gloria) */
.pop-wk .learned b{font-weight:600;color:#14112A}
.pop-tmr .wk-t{margin:0;font-size:13.5px;line-height:1.45;font-weight:600;color:#14112A}
.pop-tmr .wk-s{font-weight:400;color:#374151}
.pop-tmr .tmr-bar{margin:12px 0 0}
.pop-tmr .tmr-l{display:flex;align-items:baseline;justify-content:space-between;font-size:12.5px;color:#374151}
.pop-tmr .tmr-l b{font-size:15px;font-weight:700;color:#14112A;font-variant-numeric:tabular-nums}
.pop-tmr .tmr-bar i{display:block;height:8px;margin-top:6px;border-radius:999px;background:#EFEBF8;overflow:hidden}
.pop-tmr .tmr-bar s{display:block;height:100%;width:0;border-radius:inherit;background:#15803D;transition:width .9s cubic-bezier(.28,.11,.32,1) .2s}
.pop-tmr.act .tmr-bar s{width:100%}
.pop-tmr .tmr-rows{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.pop-tmr .tmr-rows li{padding:7px 10px;border-radius:8px;background:#F7F5FC;box-shadow:inset 3px 0 0 var(--c);font-size:12.5px;color:#374151;opacity:0;transform:translateY(6px);transition:opacity .35s ease .6s,transform .45s ease .6s}
.pop-tmr .tmr-rows .r-mv{--c:#4F46E5}.pop-tmr .tmr-rows .r-fu{--c:#7C3AED}
.pop-tmr.act .tmr-rows li{opacity:1;transform:none}.pop-tmr.act .tmr-rows li+li{transition-delay:.85s}
@media (prefers-reduced-motion:reduce){.pop-tmr .tmr-bar s{width:100%;transition:none}.pop-tmr .tmr-rows li{opacity:1;transform:none;transition:none}}
/* biller scene: Aera's overnight note with two status pills, then a prioritised queue (count, item, status tag) */
.pop-wk .wk-pills{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.pop-wk .wk-pills span{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#F7F5FC;font-size:12px;font-weight:500;color:#14112A}
.pop-wk .wk-pills span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}
.pop-wk .wk-pills .p-ok{--c:#15803D}.pop-wk .wk-pills .p-mv{--c:#4F46E5}
.pop-q .q-rows{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.pop-q .q-rows li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px 8px 8px;border-radius:9px;background:#F7F5FC;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .45s ease}
.pop-q .q-rows b{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#fff;font-size:13px;font-weight:700;color:#14112A;box-shadow:inset 0 0 0 1px #E9E2FF;font-variant-numeric:tabular-nums}
.pop-q .q-rows span{font-size:12.5px;line-height:1.3;color:#374151}
.pop-q .q-rows em{font-style:normal;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap;background:#fff;color:var(--c);box-shadow:inset 0 0 0 1px currentColor}
.pop-q .q-rows .t-due{--c:#B91C1C}.pop-q .q-rows .t-fu{--c:#4F46E5}.pop-q .q-rows .t-ok{--c:#15803D}
.pop-q.act .q-rows li{opacity:1;transform:none}
.pop-q.act .q-rows li:nth-child(2){transition-delay:.25s}.pop-q.act .q-rows li:nth-child(3){transition-delay:.5s}
@media (prefers-reduced-motion:reduce){.pop-q .q-rows li{opacity:1;transform:none;transition:none}}
.pop-wk .wk-nums.wk-wide1{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr)}   /* physical therapist scene: the visit note writes itself line by line (S, O, A, P), then the check, then the Sign note button */
.pop-soap .soap{margin:12px 0 0;display:grid;gap:7px}
.pop-soap .soap>div{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px}
.pop-soap .soap dt{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#EFEBF8;color:#14112A;font-size:11px;font-weight:700}
.pop-soap .soap dd{margin:0;font-size:12.5px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pop-soap .soap dd span{display:inline-block;clip-path:inset(0 100% 0 0);transition:clip-path .6s steps(28,end)}
.pop-soap.act .soap dd span{clip-path:inset(0 0 0 0)}
.pop-soap.act .soap>div:nth-child(1) dd span{transition-delay:.15s}.pop-soap.act .soap>div:nth-child(2) dd span{transition-delay:.75s}
.pop-soap.act .soap>div:nth-child(3) dd span{transition-delay:1.35s}.pop-soap.act .soap>div:nth-child(4) dd span{transition-delay:1.95s}
.pop-soap .soap-chk{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding-top:10px;border-top:1px solid #EFEBF8;font-size:12.5px;color:#374151}
/* Aera's spark, violet on its own (no circle), pops in when the check is done (Gloria) */
.pop-soap .soap-chk i{flex:none;display:grid;place-items:center;width:17px;height:17px}
.pop-soap .soap-chk svg{width:15px;height:15px;fill:#4F46E5;opacity:0;transform:scale(.4) rotate(-45deg);transition:opacity .25s ease 2.6s,transform .45s cubic-bezier(.34,1.56,.64,1) 2.6s}
.pop-soap.act .soap-chk svg{opacity:1;transform:none}
.mm-pops .pop-soap.act .pp-btn,.mm-pops .pop-soap.act .pp-btn span{transition-delay:3s}
@media (prefers-reduced-motion:reduce){.pop-soap .soap dd span{clip-path:none;transition:none}}
.pop-wk .wk-nums{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pop-wk .wk-nums li{padding:10px 10px 11px;border-radius:10px;background:#F7F5FC}
.pop-wk .wk-nums b{display:block;font-size:26px;line-height:1;font-weight:700;letter-spacing:-.02em;color:#14112A;font-variant-numeric:tabular-nums}
.pop-wk .wk-nums span{display:block;margin-top:5px;font-size:11.5px;line-height:1.3;color:#6B6880}
.pop-day .day-slots{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.pop-day .day-slots li{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .45s ease}
.pop-day .day-slots time{font-size:11.5px;color:#6B6880;font-variant-numeric:tabular-nums}
.pop-day .day-slots div{padding:7px 10px;border-radius:8px;background:#F7F5FC;box-shadow:inset 3px 0 0 var(--c)}
.pop-day .day-slots b{display:block;font-size:12.5px;font-weight:600;color:#14112A}
.pop-day .day-slots span{display:block;font-size:11.5px;color:#6B6880}
.pop-day .day-slots .ds-ok{--c:#15803D}.pop-day .day-slots .ds-mv{--c:#4F46E5}.pop-day .day-slots .ds-call{--c:#B91C1C}   /* coloured slot edges (Gloria); no-show risk is the brand red. The button keeps the site's blue-to-green */
.pop-day.act .day-slots li{opacity:1;transform:none}
.pop-day.act .day-slots li:nth-child(2){transition-delay:.25s}.pop-day.act .day-slots li:nth-child(3){transition-delay:.5s}
@media (prefers-reduced-motion:reduce){.pop-day .day-slots li{opacity:1;transform:none;transition:none}}
/* each point is marked with the spark and each suggestion hangs off it with a down-and-right arrow, all in the same grey as the
   points' text, suggestions in italics (Gloria) */
.pop-ask .pa-a li::before{top:.32em;left:0;width:11px;height:11px;border-radius:0;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3Q12.9 11.1 21 12Q12.9 12.9 12 21Q11.1 12.9 3 12Q11.1 11.1 12 3Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3Q12.9 11.1 21 12Q12.9 12.9 12 21Q11.1 12.9 3 12Q11.1 11.1 12 3Z'/%3E%3C/svg%3E") center/contain no-repeat}
.pop-ask .pa-a li{padding-left:18px}
.pop-ask .pa-n{display:flex;align-items:center;gap:6px;margin-top:2px;color:inherit;font-style:italic;font-weight:400}
.pop-ask .pa-n::before{content:"";flex:none;width:13px;height:13px;margin-top:-4px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3v9a4 4 0 0 0 4 4h10M16 12l4 4-4 4'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3v9a4 4 0 0 0 4 4h10M16 12l4 4-4 4'/%3E%3C/svg%3E") center/contain no-repeat}
.hero-lockup{display:block;margin:0 auto 20px;height:clamp(150px,22vw,280px);width:auto;max-width:100%}
@media (max-width:640px){.hero-lockup{height:140px;margin-bottom:12px}}
/* Homepage hero balance: headline sized to sit under the logo, tighter stack */
#heroIn .h1{font-size:clamp(40px,5.6vw,84px)}
.hero-lockup{height:clamp(140px,19vw,240px);margin-bottom:28px}
@media (max-width:640px){.hero-lockup{height:120px;margin-bottom:16px}}
/* Homepage hero: calmer sizes */
.hero-lockup{height:clamp(70px,9vw,115px);margin-bottom:60px}
#heroIn .h1{font-size:clamp(34px,6.4vw,92px)}
@media (max-width:640px){.hero-lockup{height:62px;margin-bottom:12px}}
/* the ask bar sits between the headline and the subhead, 48px of space on each side */
.hero .ask{margin-top:48px}
.hero .ask + .sub{margin-top:48px}

/* Homepage hero: sit higher, less empty space above */
#hero{padding-top:clamp(40px,5vw,72px);padding-bottom:calc(clamp(140px,16vw,240px) + var(--sc-gap))}
/* Hero ribbon: one connected ribbon of thin iris-coloured lines behind the headline, full width; drawn and animated by the script at the top of the hero (still when reduced motion is on) */
.hero-ribbon{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.145;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.35),#000 35%,#000 65%,rgba(0,0,0,.35));mask-image:linear-gradient(180deg,rgba(0,0,0,.35),#000 35%,#000 65%,rgba(0,0,0,.35))}

/* No ligatures in Lato (fi, fl and the like stay as separate letters); the Inter product cards keep theirs */
body{font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0}
.pop,.app,.mm-app,.rai-c,.tm-card,.cs-screen.sw{font-variant-ligatures:normal;font-feature-settings:normal}

/* Stat strips (the burden section and the strips on the role and solution pages): stats in pink #FF8FCF */
.specs .spec .num{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:#FF8FCF;color:#FF8FCF}
/* hero logo build (homepage): the word grows past its box while it builds, so let it show */
.hlg{overflow:visible}
.hlg .hlg-by{transform-box:fill-box;transform-origin:center}
/* homepage headline written by the logo's I (see the hero logo build script) */
#heroIn .h1 .hlw{display:inline-block;white-space:nowrap}
#heroIn .h1 .hlc{display:inline-block;will-change:transform,opacity}
#heroIn .h1 .hl-bar{position:absolute;left:0;top:0;width:.13em;margin-left:-.065em;background:#FF6BBF;transform:skewX(17.9deg);border-radius:2px;opacity:0;pointer-events:none;
  box-shadow:0 0 18px rgba(255,107,191,.85),0 0 46px rgba(255,107,191,.45)}
/* hero balance (Gloria, 2026-10-23): one even rhythm down the stack, one column width under the headline, a logo big enough to anchor it */
.hero-lockup.hlg{height:clamp(88px,11.25vw,144px);margin-bottom:32px}
@media (max-width:640px){.hero-lockup.hlg{height:78px;margin-bottom:20px}}
.hero .ask{margin-top:40px}
.hero .ask + .sub{margin-top:32px;max-width:640px;margin-left:auto;margin-right:auto;text-wrap:balance}
.hero .ctas{margin-top:32px}
/* first-look quote band (Gloria 2026-10-24): one large quote, centred, quiet source line */
.qband .qb{margin:0 auto;max-width:960px;text-align:center}
.qband blockquote{margin:0;font-size:clamp(30px,3.4vw,48px);font-weight:650;letter-spacing:-.03em;line-height:1.15;color:#F5F3F9;text-wrap:balance}
.qband figcaption{margin-top:20px;font-size:14px;color:var(--text-3)}
.qband figcaption::before{content:"";display:block;width:32px;height:2px;margin:0 auto 16px;border-radius:1px;background:linear-gradient(90deg,#FF6BBF,#C39BFF)}
/* the quote band, cinematic (Gloria 2026-10-25: "I want our quotes to be more cinematic"): near full screen over a dimmed
   photo that grows as you scroll, words light one by one, two soft lights, hairlines opening like a film frame */
.qband{min-height:min(88vh,820px);display:flex;align-items:center;overflow:hidden;isolation:isolate}
.qband::before{display:none}
.qb-lights{position:absolute;inset:0;z-index:-1;pointer-events:none;mix-blend-mode:screen}
.qb-lights i{position:absolute;width:560px;height:460px;border-radius:50%;filter:blur(40px);opacity:calc(.25 + .75 * var(--qp,0))}
.qb-lights i:nth-child(1){left:calc(18% - 280px + 8% * var(--qp,0));top:calc(50% - 230px);background:radial-gradient(closest-side,rgba(255,107,191,.24),transparent)}
.qb-lights i:nth-child(2){right:calc(18% - 280px + 8% * var(--qp,0));top:calc(50% - 230px);background:radial-gradient(closest-side,rgba(195,155,255,.26),transparent)}
.qband .qb{position:relative;max-width:1120px;padding:clamp(40px,6vw,80px) 0}
.qb-rule{display:block;height:1px;margin:0 auto;width:calc(min(100%,720px) * var(--qr,0));background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent)}
.qb-rule:first-child{margin-bottom:clamp(40px,6vw,72px)}
.qb-rule:last-child{margin-top:clamp(40px,6vw,72px)}
.qb-ph{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 35%;transform-origin:50% 0;transform:scale(calc(1 + .16 * var(--qp,0)));filter:saturate(.8) brightness(.42);will-change:transform}
.qband::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 65% at 50% 50%,rgba(11,8,18,.35),rgba(11,8,18,.8)),linear-gradient(180deg,var(--bg) 0%,rgba(11,8,18,.6) 7%,transparent 20%,transparent 66%,rgba(11,8,18,.6) 86%,var(--bg) 100%)}
.qband blockquote{font-size:clamp(34px,4.6vw,68px);font-weight:660;letter-spacing:-.035em;line-height:1.08}
.qband .qw{display:inline-block;opacity:.14;filter:blur(2px);transform:translateY(.12em);transition:opacity .45s ease,filter .45s ease,transform .6s cubic-bezier(.16,1,.3,1)}
.qband .qw.on{opacity:1;filter:none;transform:none}
.qband figcaption{margin-top:28px;font-size:15px;opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease}
.qband.qb-done figcaption{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.qband .qw{opacity:1;filter:none;transform:none}.qband figcaption{opacity:1;transform:none}.qb-rule{width:min(100%,720px)}}
/* the source line under real numbers (Gloria 2026-10-24) */
.proof-note{margin:28px 0 0;font-size:13px;line-height:1.5;color:var(--text-3)}
/* the numbers band (2026-10-24): sentence-case captions */
.sb-c{font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-2)}
.sb-lab{max-width:400px}
.sb-lab{max-width:460px}
/* no colour panel (Gloria: "the random box with no use"): the big number gets the whole row */
.sb-top{grid-template-columns:1fr}
.sb-lab{max-width:520px}
/* the solution pages' stat strips, centred (Gloria: "all the stats bars feel off-center"): each number and caption sits in the middle of its column */
.eng-stats .spec{text-align:center}.eng-stats .spec .num{justify-content:center}.eng-stats .spec p{margin-left:auto;margin-right:auto}   /* centered on phones too (Gloria 2026-10-31) */
.eng-stats .proof-note{text-align:center}
/* FAQ page grouped by topic (Gloria 2026-10-24): topic chips under the search, a heading per topic, the two-light glow */
.faq-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:860px;margin:22px auto 0}
.faq-chip{padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);font-size:14.5px;color:var(--text-2);text-decoration:none;transition:background .2s ease,color .2s ease}
.faq-chip:hover{background:rgba(255,255,255,.1);color:#fff}
.faq-all{max-width:860px;margin:clamp(40px,5vw,64px) auto 0}
.faq-grp{scroll-margin-top:110px}
.faq-grp+.faq-grp{margin-top:clamp(48px,6vw,80px)}
.faq-gh{display:inline-block;margin:0 0 10px;font-size:clamp(17px,1.4vw,20px);font-weight:600;letter-spacing:-.01em;background:var(--iris);-webkit-background-clip:text;background-clip:text;color:transparent}
.faq-grp .faq-q:first-of-type{border-top:1px solid var(--line)}
/* FAQ on phones (Gloria 2026-10-31): one pinned Topic menu instead of the buttons, one topic at a time, tighter rows.
   aera.js adds the menu and .faq-one; while someone searches (.faq-searching) every topic shows again */
.faq-topic{display:none}
@media (max-width:700px){
  .faq-chips{display:none}
  .faq-topic{position:sticky;top:53px;transition:top .3s ease;z-index:5;display:flex;align-items:center;gap:10px;margin:14px -16px 0;padding:10px 16px;background:rgba(11,8,32,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  body.gn-hide .faq-topic{top:0}   /* the menu moves up when the top bar slides away on scroll */
  .faq-topic span{flex:none;font-size:13px;font-weight:600;color:var(--text-3)}
  .faq-topic select{flex:1;min-width:0;height:44px;padding:0 36px 0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center/14px;color:#fff;font:inherit;font-size:16px;font-weight:600;-webkit-appearance:none;appearance:none}
  .faq-one:not(.faq-searching) .faq-grp:not(.on){display:none}
  .faq-one:not(.faq-searching) .faq-grp+.faq-grp{margin-top:0}
  .faq-one:not(.faq-searching) .faq-gh{display:none}
  .faq-all{margin-top:8px}
  .faq-q summary{padding:16px 0;gap:16px}
  .faq-q h3{font-size:17px;line-height:1.3}
  .faq-q p{margin-bottom:18px;font-size:15.5px;line-height:1.55}
}
.faq-page .faq-hero{position:relative;isolation:isolate}
.faq-page .faq-hero::before{display:block;content:"";position:absolute;inset:0;left:0;top:0;width:auto;height:auto;transform:none;z-index:-1;pointer-events:none;
  background:radial-gradient(34% 22% at 14% 12%,rgba(255,107,191,.2),transparent 70%),radial-gradient(34% 22% at 86% 30%,rgba(195,155,255,.22),transparent 70%),radial-gradient(34% 22% at 18% 70%,rgba(195,155,255,.16),transparent 70%)}
#questions .faq-more{text-align:center;font-size:16px}
/* the solution pages' hero eyebrow: plain light text between two hairlines (Gloria 2026-10-24): any page can use it with class eb-line */
.eyebrow.eb-line{background:none;color:rgba(245,243,249,.72);-webkit-text-fill-color:rgba(245,243,249,.72);font-size:16px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:14px}
.eyebrow.eb-line::before,.eyebrow.eb-line::after{content:"";width:40px;height:1px;background:rgba(255,255,255,.25)}

/* Denials traced, as a rewind (Gloria): one white card plays when it scrolls in */
.rw{display:flex;justify-content:center;margin-top:clamp(36px,4vw,56px)}
.rw .rw-card{position:relative;inset:auto;width:100%;max-width:560px;padding:22px 24px 20px;opacity:1;transform:none}
.rw-claim{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#F7F5FC}
.rw-claim b{display:block;font-size:14px;font-weight:650;color:#14112A}.rw-claim span{display:block;margin-top:2px;font-size:12px;color:#6B6880}
.rw-den{font:600 12px/1 Inter,system-ui,sans-serif;font-style:normal;color:#B91C1C;background:#FDECEC;padding:6px 10px;border-radius:999px;opacity:0;transform:scale(.6) rotate(-6deg);transition:opacity .25s ease .3s,transform .45s cubic-bezier(.34,1.7,.64,1) .3s}
.rw-lab{display:flex;align-items:center;gap:8px;margin:18px 0 0;font:600 12px/1 Inter,system-ui,sans-serif;color:#4F46E5;opacity:0;transition:opacity .3s ease 1.1s}
.rw-rev svg{width:16px;height:16px;fill:none;stroke:#4F46E5;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
.play .rw-rev svg{animation:rwspin 1.2s ease-in-out 1.1s 2}
@keyframes rwspin{50%{transform:translateX(-3px)}}
.rw-steps{position:relative;list-style:none;margin:12px 0 0;padding:0 0 0 16px;display:grid;gap:9px}
.rw-steps::before{content:"";position:absolute;left:3px;top:6px;bottom:6px;width:1px;background:#E4E0EF}
.rw-steps li{position:relative;display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#14112A;opacity:0;transform:translateY(-6px);transition:opacity .35s ease,transform .45s ease;transition-delay:calc(1.4s + var(--i) * .45s)}
.rw-steps li::before{content:"";position:absolute;left:-16px;top:.42em;width:7px;height:7px;border-radius:50%;background:#fff;border:1.5px solid #4F46E5;box-sizing:border-box}
.rw-steps li:last-child::before{background:#4F46E5}
.rw-steps time{flex:none;font-size:12px;color:#6B6880;font-variant-numeric:tabular-nums}
.rw-note{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px solid #E9E6F3;opacity:0;transform:translateY(6px);transition:opacity .4s ease 3.4s,transform .5s ease 3.4s}
.rw-nh{margin:0 0 8px;font:600 12px/1 Inter,system-ui,sans-serif;color:#6B6880}
.rw-note ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.rw-note li{display:flex;justify-content:space-between;gap:12px;padding:5px 8px;border-radius:7px;font-size:12.5px;color:#374151;transition:background-color .4s ease 4s,color .4s ease 4s}
.rw-note li b{font-weight:600;color:#14112A}
.play .rw-note li.rw-miss{background:#EDE9FE;color:#5B21B6}.play .rw-note li.rw-miss b{color:#5B21B6}
.rw-res{margin-top:14px;opacity:0;transform:translateY(6px);transition:opacity .4s ease 4.8s,transform .5s ease 4.8s}
.rw-res p{margin:0;font-size:13px;line-height:1.45;color:#14112A}.rw-res b{font-weight:650}
.rw-ok{display:flex;align-items:center;gap:8px;margin-top:10px!important;padding:9px 12px;border-radius:10px;background:#E8F5EE;color:#15803D!important;font-weight:600}
.rw-ok svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.rw-replay{display:block;margin:14px 0 0 auto;padding:0;border:0;background:none;font:500 12px/1 Inter,system-ui,sans-serif;color:#6B6880;cursor:pointer;opacity:0;transition:opacity .3s ease 5.6s}
.rw-replay:hover{color:#14112A}
.play .rw-den,.play .rw-lab,.play .rw-steps li,.play .rw-note,.play .rw-res,.play .rw-replay{opacity:1;transform:none}
.rw-card.done *{transition:none!important;animation:none!important}
.rw-res p{text-wrap:pretty}
.rw-den{white-space:nowrap;flex:none}

/* nav pass (Gloria 2026-10-25: accessibility, and the menus matching the rest of the site) */
.skip{position:fixed;left:16px;top:-64px;z-index:300;padding:10px 18px;border-radius:999px;background:#fff;color:#14112A;font-size:14px;font-weight:600;box-shadow:0 10px 30px -10px rgba(0,0,0,.6);transition:top .2s var(--ease)}
.skip:focus{top:12px}
#main-content:focus{outline:none}
.gm-h{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:14px;font-weight:500;letter-spacing:-.005em;color:rgba(245,243,249,.72)}   /* sentence case, like the site's eyebrows */
.gn-fly{isolation:isolate}
.gn-fly::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(520px 300px at 8% 0%,rgba(255,107,191,.13),transparent 70%),radial-gradient(560px 320px at 96% 100%,rgba(195,155,255,.14),transparent 70%)}
/* the feature cards as the approved white product cards: Aera sender line, no pink inside, indigo and green states */
.gm-live{background:#fff;border:0;color:#14112A;box-shadow:0 24px 50px -24px rgba(10,0,30,.8),0 0 0 1px rgba(255,255,255,.06);border-radius:16px;padding:14px 16px 16px}
.gm-fcard:hover .gm-live{border-color:transparent;box-shadow:0 24px 50px -20px rgba(10,0,30,.8),0 0 0 2px rgba(129,140,248,.55)}
.gm-from{display:flex;align-items:center;gap:7px;margin-bottom:10px;font:600 12px/1 Inter,system-ui,sans-serif;color:#14112A}
.gm-from .ai{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#4F46E5}
.gm-from .ai svg{width:11px;height:11px;fill:#fff}
.gm-live .gm-lh b{color:#14112A;font-family:Inter,system-ui,sans-serif}
.gm-live .gm-rec{color:#4F46E5;letter-spacing:0;text-transform:none;font-size:11.5px;font-weight:600}
.gm-live .gm-rec i{background:#4F46E5;box-shadow:0 0 0 3px rgba(79,70,229,.15)}
.gm-live .gm-l{background:#F5F3FA;color:#374151;font-family:Inter,system-ui,sans-serif}
.gm-live .gm-ok{background:#E7F7EE;color:#11713F;box-shadow:none}
.gm-live .gm-ok svg{stroke:#11713F}
.gm-live .gm-done em{color:#6B6880}
.gm-live.gm-day li,.gm-live.gm-day time{color:#6B6880;font-family:Inter,system-ui,sans-serif}
.gm-live.gm-day .gm-dk{border-color:#D9D6E6}
.gn-fly.open .gm-live.gm-day li span{color:#14112A}
/* on the white card the day's rows stay dark; each fills in as its check lands */
.gm-live.gm-day li span{color:#9A96AC}
.gn-fly.open .gm-live.gm-day li span{animation-name:gmTextW}
@keyframes gmTextW{to{color:#14112A}}

/* menu items in a lighter weight (Gloria 2026-10-25: "I don't like the bold") */
.gm-it b{font-weight:500}
.gm-fcard>b{font-weight:500}
.gm-strip span,.gm-strip a{font-weight:500}
/* rotating feature focus: one card at a time, dots to pick */
.gm-feat .gm-fcard[hidden]{display:none}
.gm-feat .gm-fcard.on{animation:gmFade .45s var(--ease)}
@keyframes gmFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.gm-dots{display:flex;gap:6px;margin-top:14px}
.gm-dot{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.18);cursor:pointer;transition:width .4s var(--ease),background-color .4s var(--ease)}   /* same dots as the Ask Aera pager (.ak-pips) */
.gm-dot.on{width:22px;background-color:#FF8FD0}
@media (prefers-reduced-motion:reduce){.gm-feat .gm-fcard.on{animation:none}}
.gm-live.gm-day time{width:80px;white-space:nowrap}   /* homepage headlines held to two lines on desktop (Gloria 2026-10-25): same words, sized to fit */
#gnPlat .gm-live.gm-day time{width:70px}#gnPlat .gm-live.gm-day li span{white-space:nowrap}   /* Platform menu feature cards: every row on one line (Gloria 2026-10-28) */
@media (min-width:1100px){
  .home-page #platform .sc-center h2{max-width:none;font-size:clamp(40px,4vw,58px)}
  .home-page #platform .sc-center h2 .grad{display:block}
  .home-page #demo .end-copy h2{max-width:16em;font-size:clamp(36px,3.6vw,54px)}
}
/* QA pass (Gloria 2026-10-25): touch targets at least 24 px (WCAG 2.2), with the look unchanged: bigger hit areas, not bigger marks */
.gnav .logo,.lnav .title,.lnav .ln-brand{display:inline-flex;align-items:center;min-height:44px}
.footer a[aria-label]{display:inline-flex;align-items:center;min-height:24px}
.ap-reset,.ap-fit,.nf-links a{display:inline-flex;align-items:center;min-height:24px}
.gm-dot{position:relative}
.gm-dot::before{content:"";position:absolute;inset:-9px -4px}   /* bigger tap area without padding, so the pill keeps fully rounded ends */
@media (max-width:900px){.mm-tabs button,.lx-nav button{min-height:24px;display:flex;flex-direction:column;justify-content:center}}
.foot-brand > a{display:inline-flex;align-items:center;min-height:24px}
.footer li a,.foot-base a{display:inline-block;padding-block:3px;margin-block:-3px}   /* mid-page next step on long pages (CRO pass): one line between two rules, the headline left and the button right */
.section.fit-band{padding-block:clamp(28px,4vw,56px)}
.section.fit-band::before,.section.fit-band::after{display:none}
.fb-row{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;padding-block:clamp(22px,2.6vw,34px);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.fb-h{font-size:clamp(24px,2.4vw,36px);line-height:1.1;font-weight:600;letter-spacing:-.02em;margin:0;text-wrap:balance}
.fb-l{margin:8px 0 0;color:rgba(255,255,255,.72);font-size:16px}
.fb-row .btn{flex:none}
@media (max-width:640px){.fb-row{flex-direction:column;align-items:center;text-align:center}.fb-h{margin-inline:auto}}   /* phones: centered (Gloria 2026-10-31) */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}   
/* phones: no one-word last lines. Headlines balance their lines, paragraphs and list items avoid a lone last word,
   and desktop-only breaks (<br class="dk">) drop out (Gloria 2026-10-31) */
@media (max-width:600px){
  h1,h2,h3,h4{text-wrap:balance}
  p,li,blockquote,figcaption{text-wrap:pretty}
  br.dk{display:none}
}
