/* Shared responsive rules for the static build */
*,*::before,*::after{box-sizing:border-box}
img,svg{max-width:100%}
html{scroll-behavior:smooth}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #1C2C52;outline-offset:2px}
.menu-btn{display:none;width:44px;height:44px;border:1px solid #D5DAE3;border-radius:4px;background:#fff;align-items:center;justify-content:center;cursor:pointer}
h1{font-size:clamp(34px,6vw,64px)!important}
h2{font-size:clamp(26px,4.2vw,44px)!important}
@media (max-width:860px){
  .menu-btn{display:flex}
  nav[aria-label="Main"]{display:none!important;width:100%;flex-direction:column;align-items:flex-start!important;gap:4px!important;padding-top:8px}
  nav[aria-label="Main"].open{display:flex!important}
  nav[aria-label="Main"] a{padding:10px 0!important;border-bottom:0!important}
  nav[aria-label="Main"] a[href="partner.html"]{padding:12px 20px!important;margin-top:8px}
}
@media (max-width:640px){
  div[style*="max-width: 1200px"],div[style*="max-width: 900px"]{padding-left:20px!important;padding-right:20px!important}
  section div[style*="padding: 96px"],section div[style*="padding: 104px"],section div[style*="padding: 112px"]{padding-top:56px!important;padding-bottom:56px!important}
  article[style*="padding: 48px"]{padding:28px!important}
  form[style*="padding: 36px"],div[style*="padding: 40px"]{padding:22px!important}
}

[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Page loader ---------- */
.loader{display:none}
.js .loader{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#FFFFFF;
  animation:ldFailsafe .5s 5s forwards;transition:opacity .55s ease,visibility .55s ease}
.loader-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px}
.loader-shield{fill:#1C2C52;transform-origin:50% 50%;animation:ldBeat 1.2s ease-in-out infinite}
.loader-mark{overflow:visible}
.loader-ecg{fill:none;stroke:#FFFFFF;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:ldDraw 1.2s ease-in-out infinite}
.loader-line path{fill:none;stroke-linecap:round;stroke-linejoin:round}.loader-line .base{stroke:#D5DAE3;stroke-width:1.5}.loader-line .pulse{stroke:#A3283A;stroke-width:2.4;stroke-dasharray:80 240;animation:ldTrace 1.4s linear infinite}
.loader-word{display:flex;flex-direction:column;align-items:center;line-height:1.15}
.loader-word span{font-family:'Source Serif 4',serif;font-size:22px;font-weight:600;color:#1C2C52}
.loader-word small{font-family:Inter,sans-serif;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#5A6478;font-weight:600}
.loader-bar{width:120px;height:2px;border-radius:3px;background:#E8E3D9;overflow:hidden}
.loader-bar i{display:block;height:100%;width:40%;border-radius:3px;background:#A3283A;animation:ldBar 1.1s ease-in-out infinite}
.loader-inner>*{animation:riseIn .6s cubic-bezier(.2,.7,.2,1) both}
.loader-inner>*:nth-child(2){animation-delay:.08s}.loader-inner>*:nth-child(3){animation-delay:.16s}.loader-inner>*:nth-child(4){animation-delay:.24s}
html.loaded .loader{opacity:0;visibility:hidden;pointer-events:none}
html.loaded .loader-inner{transform:scale(.96);transition:transform .55s ease}
html.leaving .loader{animation:none;opacity:1!important;visibility:visible!important;transition:opacity .3s ease,visibility 0s}
html.leaving .loader-inner>*{animation:none}
@keyframes ldBeat{0%,45%,100%{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1.04)}}
@keyframes ldDraw{0%{stroke-dashoffset:40}55%,75%{stroke-dashoffset:0}100%{stroke-dashoffset:-40}}
@keyframes ldTrace{from{stroke-dashoffset:80}to{stroke-dashoffset:-240}}
@keyframes ldBar{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}
@keyframes ldFailsafe{to{opacity:0;visibility:hidden}}

/* button spinner (form submit) */
button.is-loading{position:relative;padding-left:48px!important;opacity:.9;cursor:progress!important}
button.is-loading::before{content:"";position:absolute;left:20px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#FFFFFF;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Scroll UI ---------- */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#1C2C52,#5E86D6 60%,#A3283A);pointer-events:none}
header{position:sticky;top:0;z-index:50;transition:box-shadow .3s ease,background-color .3s ease,transform .4s cubic-bezier(.2,.7,.2,1)}
header.scrolled{box-shadow:0 6px 24px -12px rgba(20,36,69,.35);background:rgba(255,255,255,.92)!important;backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px)}
header.hide{transform:translateY(-100%)}
.to-top{position:fixed;right:22px;bottom:22px;z-index:55;width:52px;height:52px;border-radius:50%;border:0;padding:0;background:#FFFFFF;box-shadow:0 10px 26px -12px rgba(20,36,69,.55);cursor:pointer;
  opacity:0;transform:translateY(16px) scale(.8);pointer-events:none;transition:opacity .35s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{transform:translateY(-3px)}
.to-top svg{position:absolute;inset:0}
.to-top .ring-bg{fill:none;stroke:#E8E3D9;stroke-width:3}
.to-top .ring{fill:none;stroke:#A3283A;stroke-width:3;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center}

/* ---------- Scroll reveals (only when JS adds .motion) ---------- */
.motion .rv{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),clip-path 1s cubic-bezier(.2,.7,.2,1),filter .9s ease;transition-delay:var(--d,0s)}
.motion .rv-up{transform:translateY(40px)}
.motion .rv-left{transform:translateX(-56px)}
.motion .rv-right{transform:translateX(56px)}
.motion .rv-zoom{transform:scale(.9);filter:blur(6px)}
.motion .rv-clip{clip-path:inset(0 0 100% 0);transform:translateY(24px)}
.motion .rv-pop{transform:translateY(30px) scale(.94)}
.motion .rv.in{opacity:1;transform:none;clip-path:inset(0 0 0 0);filter:none}
/* eyebrow labels get a drawn line */
.eyebrow{display:inline-flex!important;align-items:center;gap:12px}
.eyebrow::before{content:"";height:2px;width:28px;background:#A3283A;transform-origin:left;transition:transform .8s .2s cubic-bezier(.2,.7,.2,1)}
.motion .eyebrow.rv:not(.in)::before{transform:scaleX(0)}

/* hero intro + parallax */
.hero{position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;width:620px;height:620px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(31,51,93,.10),transparent 65%);animation:drift 14s ease-in-out infinite alternate;pointer-events:none}
.hero::after{content:"";position:absolute;width:420px;height:420px;left:-180px;bottom:-240px;border-radius:50%;background:radial-gradient(circle,rgba(94,134,214,.10),transparent 65%);animation:drift 18s ease-in-out infinite alternate-reverse;pointer-events:none}
.hero>div:not(.bgm){position:relative;z-index:1;will-change:transform}
.motion.loaded .hero-in{animation:riseIn .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)}
.motion:not(.loaded) .hero-in{opacity:0}
@keyframes riseIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes drift{to{transform:translate(-90px,70px) scale(1.15)}}

/* buttons & links */
a[style*="padding: 15px 26px"],a[style*="padding: 14px 25px"],a[style*="padding: 12px 20px"],button[type="submit"]{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
a[style*="padding: 15px 26px"]:hover,a[style*="padding: 14px 25px"]:hover,a[style*="padding: 12px 20px"]:hover,button[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(31,51,93,.55)}
nav[aria-label="Main"] a:not([href="partner.html"]){background-image:linear-gradient(currentColor,currentColor);background-size:0 1.5px;background-repeat:no-repeat;background-position:0 100%;padding-bottom:3px;transition:background-size .3s ease}
nav[aria-label="Main"] a:not([href="partner.html"]):hover{background-size:100% 1.5px}
footer a{transition:color .2s ease}
footer a:hover{color:#FFFFFF!important}

/* cards lift */
article,#abcd div[style*="position: relative"]{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
article.rv{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease;transition-delay:var(--d,0s)}
article.rv.in{transition-delay:0s}
article:hover{transform:translateY(-6px)!important;box-shadow:0 22px 40px -24px rgba(20,36,69,.45)}
#abcd div[style*="position: relative"]:hover{transform:translateY(-4px);box-shadow:0 18px 34px -22px rgba(20,36,69,.4);background:#FFFFFF;z-index:1}
#abcd div[style*="position: relative"] svg{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
#abcd div[style*="position: relative"]:hover svg{transform:translateY(-4px) scale(1.06)}


/* ---------- Background artwork: heart contours + bloodstream ---------- */
:root{--red:#A3283A;--red-deep:#5E1622}
.has-bgm{position:relative;overflow:hidden}
.has-bgm>div:not(.bgm){position:relative;z-index:1}
.bgm{position:absolute;z-index:0;pointer-events:none;color:#1C2C52;will-change:translate}
.bgm svg{display:block;width:100%;height:100%;overflow:visible}
.bgm-contour{opacity:.13;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);mask-image:radial-gradient(closest-side,#000 55%,transparent)}
.bgm-contour .rings{animation:bgBreathe 9s ease-in-out infinite;transform-origin:100px 105px}
.bgm-contour .ripple{fill:none;stroke:var(--red);stroke-width:2.2;vector-effect:non-scaling-stroke;transform-origin:100px 105px;animation:bgRipple 4.8s cubic-bezier(.2,.6,.3,1) infinite;opacity:0}
.bgm-contour .ripple.r2{animation-delay:2.4s}
.bgm-flow{opacity:.12;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.bgm-flow .cell{fill:var(--red)}
.bgm-flow .cell-core{fill:#F3B9BC}
.bgm.on-dark{color:#FFFFFF}
.bgm.on-dark.bgm-flow{opacity:.14}
.bgm.on-dark .cell{fill:#FF8A8F}
@keyframes bgBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@keyframes bgRipple{0%{transform:scale(.25);opacity:0}12%{opacity:1}100%{transform:scale(1.18);opacity:0}}
@media (max-width:640px){.bgm-contour{opacity:.09}.bgm-flow{opacity:.08}}
@media (prefers-reduced-motion: reduce){.bgm *{animation:none!important}.bgm-contour .ripple{display:none}}

/* ---------- ABCD illustrated icons ---------- */
.ic{overflow:visible;filter:drop-shadow(0 8px 14px rgba(31,51,93,.14))}
.ic-tape{animation:icTape 3s linear infinite}
.ic-needle{animation:icNeedle 4.5s cubic-bezier(.5,0,.3,1) infinite}
.ic-flow{animation:icFlow 4s linear infinite}
.ic-wave{animation:icWave 3s linear infinite}
.ic-wave2{animation-duration:4.6s;animation-direction:reverse}
.ic-plaque{transform-box:fill-box;transform-origin:50% 100%;animation:icPlaque 6s ease-in-out infinite}
.ic-beat{animation:icBeat 1.3s ease-in-out infinite}
.ic-orbit{animation:icOrbit 22s linear infinite}
@keyframes icTape{to{stroke-dashoffset:-54}}
@keyframes icNeedle{0%,8%{transform:rotate(62deg)}40%,85%{transform:rotate(-18deg)}50%{transform:rotate(-12deg)}100%{transform:rotate(62deg)}}
@keyframes icFlow{to{transform:translateX(-120px)}}
@keyframes icWave{to{transform:translateX(60px)}}
@keyframes icPlaque{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.55)}}
@keyframes icBeat{0%,45%,100%{transform:scale(1)}15%{transform:scale(1.14)}30%{transform:scale(1.05)}}
@keyframes icOrbit{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.ic *{animation:none!important}}

/* ---------- Footer graphic ---------- */
footer{position:relative;overflow:hidden}
.ft-art{display:block;position:relative;height:150px;border-bottom:1px solid #2E4068;background:radial-gradient(ellipse 60% 120% at 50% 100%,rgba(90,130,210,.18),transparent 70%)}
.ft-art svg{position:absolute;inset:0;width:100%;height:100%}
.ft-trace{animation:ftScroll 6s linear infinite}
.ft-glow{stroke-dasharray:180 2400;animation:ftSweep 6s linear infinite}
.ft-node{transform-box:fill-box;transform-origin:center;animation:ftPing 3.2s ease-out infinite}
.ft-heart{transform-box:fill-box;transform-origin:center;animation:ftBeat 1.2s ease-in-out infinite}
.ft-dot{animation:ftTwinkle 4s ease-in-out infinite}
@keyframes ftScroll{to{transform:translateX(-240px)}}
@keyframes ftSweep{from{stroke-dashoffset:180}to{stroke-dashoffset:-2400}}
@keyframes ftPing{0%{opacity:.7;transform:scale(.6)}70%,100%{opacity:0;transform:scale(2.4)}}
@keyframes ftBeat{0%,40%,100%{transform:scale(1)}15%{transform:scale(1.18)}28%{transform:scale(1.06)}}
@keyframes ftTwinkle{0%,100%{opacity:.15}50%{opacity:.8}}
@media (max-width:640px){.ft-art{height:110px}.ft-labels{display:none}.to-top{right:16px;bottom:16px;width:46px;height:46px}}

@media (prefers-reduced-motion: reduce){
  .hero::before,.hero::after,.ft-trace,.ft-glow,.ft-node,.ft-heart,.ft-dot,.loader-shield,.loader-ecg,.loader-line path,.loader-bar i,.loader-inner>*,.motion.loaded .hero-in{animation:none!important}
  .loader-ecg{stroke-dashoffset:0}.loader-line .pulse{stroke-dasharray:none}
  .motion .rv,.motion:not(.loaded) .hero-in{opacity:1;transform:none;clip-path:none;filter:none;transition:none}
  .ft-glow{stroke-dasharray:none;opacity:.5}
  header.hide{transform:none}
  article:hover,#abcd div[style*="position: relative"]:hover{transform:none!important}
}

/* ---------- Red primary buttons (heart red, AA contrast with white text) ---------- */
a[style*="background: #1C2C52; color: #FFFFFF"],
button[style*="background: #1C2C52"],
a[style*="background: #FFFFFF; color: #1C2C52; padding: 14px 24px"]{background:#7A1F2E!important;color:#FFFFFF!important}
a[style*="background: #1C2C52; color: #FFFFFF"]:hover,
button[style*="background: #1C2C52"]:hover,
a[style*="background: #FFFFFF; color: #1C2C52; padding: 14px 24px"]:hover{background:#5E1622!important;box-shadow:0 10px 22px -10px rgba(200,54,63,.6)!important}

/* ---------- ABCD & Me framework cards ---------- */
.grad-text{--grad:linear-gradient(90deg,#1C2C52 0%,#4A2348 40%,#8A2234 68%,#9A6B1F 100%);background-image:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.grad-text.has-words{background-image:none}
.grad-text .wi{background-image:var(--grad);background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fw-grid{grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:20px}
.fw-card{--t:#EEF4FF;--tb:#D6E2FB;--ta:#3B6FD8;--tw:#DCE7FD;
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:28px 24px 76px;border-radius:18px;
  background:linear-gradient(180deg,#FFFFFF 0%,var(--t) 100%);border:1px solid var(--tb);text-decoration:none;color:#1A2238;
  box-shadow:0 1px 2px rgba(20,36,69,.04),0 14px 32px -22px rgba(20,36,69,.28);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .3s ease}
.fw-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;pointer-events:none;opacity:.9;
  background:var(--tw);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70' preserveAspectRatio='none'%3E%3Cpath d='M0 38 C40 18 70 18 104 34 C140 52 170 50 200 30 V70 H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70' preserveAspectRatio='none'%3E%3Cpath d='M0 38 C40 18 70 18 104 34 C140 52 170 50 200 30 V70 H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.fw-card:hover{transform:translateY(-8px)!important;border-color:var(--ta);box-shadow:0 2px 4px rgba(20,36,69,.05),0 28px 44px -24px rgba(20,36,69,.4)}
.fw-card:focus-visible{outline:2px solid var(--ta);outline-offset:3px}
.fw-b{--t:#FFF1F2;--tb:#F8D3D6;--ta:#A3283A;--tw:#FCDDE0}
.fw-c{--t:#FFF7E8;--tb:#F6E2B8;--ta:#E08A12;--tw:#FCEBC8}
.fw-d{--t:#F5F1FF;--tb:#E0D7FA;--ta:#6C4FD0;--tw:#E7E0FC}
.fw-me{--t:#EDF2FB;--tb:#D3DDEE;--ta:#1C2C52;--tw:#DCE5F4}
.fw-icon{align-self:center;width:96px;height:96px;border-radius:22px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#FFFFFF,var(--t));border:1px solid var(--tb);box-shadow:0 10px 22px -14px rgba(20,36,69,.35);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.fw-card:hover .fw-icon{transform:translateY(-4px) scale(1.05)}
.fw-icon .ic{filter:none}
.fw-icon .ic>circle:nth-of-type(1),.fw-icon .ic>circle:nth-of-type(2){display:none}
.fw-title{display:flex;align-items:center;gap:10px;margin-top:6px}
.fw-title h3{margin:0;font-size:17.5px;line-height:1.25;font-weight:700;color:#141C33}
.fw-badge{flex:none;min-width:28px;height:28px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:700;color:var(--ta);background:var(--t);border:1px solid var(--tb)}
.fw-me .fw-badge{background:#1C2C52;color:#FFFFFF;border-color:#1C2C52;font-family:'Source Serif 4',serif;font-size:12px}
.fw-card p{margin:0;font-size:14.5px;line-height:1.65;color:#3E475C}
.fw-arrow{position:absolute;right:20px;bottom:18px;z-index:1;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--ta);background:#FFFFFF;box-shadow:0 6px 14px -8px rgba(20,36,69,.45);transition:transform .3s ease,background-color .3s ease,color .3s ease}
.fw-me .fw-arrow{background:#1C2C52;color:#FFFFFF}
.fw-card:hover .fw-arrow{transform:translateX(4px);background:var(--ta);color:#FFFFFF}
.fw-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border-radius:999px;background:#1C2C52;color:#FFFFFF!important;
  font-size:15.5px;font-weight:600;text-decoration:none;box-shadow:0 14px 26px -14px rgba(31,51,93,.7);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}
.fw-cta svg{transition:transform .3s ease}
.fw-cta:hover{background:#121D38;transform:translateY(-2px)}
.fw-cta:hover svg{transform:translateX(4px)}

/* heart contour: small ECG trace inside */
.bgm-contour .ecg{fill:none;stroke:var(--red);stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70 200;animation:bgEcg 3s linear infinite}
@keyframes bgEcg{from{stroke-dashoffset:70}to{stroke-dashoffset:-200}}

/* ---------- Footer graphic as faded background ---------- */
.ft-art{position:absolute!important;left:0;right:0;bottom:-10px;height:170px!important;border:0!important;opacity:.2;z-index:0;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);background:none!important}
.ft-art .ft-labels,.ft-art .ft-nd{display:none}
footer>div:not(.ft-art){position:relative;z-index:1}

/* ---------- Word-by-word heading reveal ---------- */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.motion .split .wi{display:inline-block;transform:translateY(110%) rotate(4deg);opacity:0;transform-origin:0 100%;
  transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .6s ease;transition-delay:calc(var(--i,0) * 60ms + var(--d,0s))}
.motion .split.in .wi,.motion.loaded .hero .split .wi{transform:none;opacity:1}
.motion .rv-split{opacity:1!important;transform:none!important}
/* eyebrow letter-spacing settle */
.motion .eyebrow.rv{letter-spacing:.32em!important;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1),letter-spacing 1.1s cubic-bezier(.2,.7,.2,1)}
.motion .eyebrow.rv.in{letter-spacing:.16em!important}
@media (prefers-reduced-motion: reduce){.motion .split .wi{transform:none;opacity:1;transition:none}}

/* ---------- Section heading system (all pages) ---------- */
section h1,section h2{font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif!important;font-weight:800!important;letter-spacing:-.025em!important;line-height:1.12!important}
section h1{color:#141C33}
section h1,section h2{color:#141C33!important}
section[style*="background: #1C2C52"] h1,section[style*="background: #1C2C52"] h2,.is-navy h1,.is-navy h2,.is-navy h3{color:#FFFFFF!important}
.eyebrow{color:#1C2C52!important;font-weight:700!important;letter-spacing:.16em}
.is-navy .eyebrow{color:#FFFFFF!important}
.is-navy .grad-text{--grad:linear-gradient(90deg,#F3DFA6 0%,#E8C878 45%,#E9B3BB 100%)}

section h1{font-size:clamp(34px,5vw,58px)!important}
.btn-red{background:#7A1F2E!important;color:#FFFFFF!important}
.btn-red:hover{background:#5E1622!important;box-shadow:0 10px 22px -10px rgba(200,54,63,.6)!important}

/* ---------- About: implementation-gap card ---------- */
.pb-card{position:relative;background:#FFFFFF;border:1px solid #E8E3D9;border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:22px;
  box-shadow:0 1px 2px rgba(20,36,69,.04),0 24px 48px -30px rgba(20,36,69,.35);overflow:hidden}
.pb-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#1C2C52,#5E86D6 50%,#A3283A)}
.pb-head{display:flex;flex-direction:column;gap:10px}
.pb-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#1C2C52}
.pb-stat{display:flex;align-items:center;gap:16px}
.pb-num{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:56px;font-weight:800;line-height:1;letter-spacing:-.03em;color:#A3283A}
.pb-lbl{font-size:15px;line-height:1.5;color:#3E475C;max-width:240px}
.pb-waffle{display:grid;grid-template-columns:repeat(20,1fr);gap:6px 5px}
.pb-dot{display:block;aspect-ratio:3/4;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Ccircle cx='6' cy='3.2' r='2.8'/%3E%3Cpath d='M1 16 V10.5 C1 7.8 3 6.6 6 6.6 C9 6.6 11 7.8 11 10.5 V16Z'/%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 12 16'%3E%3Ccircle cx='6' cy='3.2' r='2.8'/%3E%3Cpath d='M1 16 V10.5 C1 7.8 3 6.6 6 6.6 C9 6.6 11 7.8 11 10.5 V16Z'/%3E%3C/svg%3E") center/contain no-repeat}
.pb-dot.goal{background:#1C2C52}
.pb-dot.risk{background:#A3283A}
.motion .pb-dot{opacity:0;transform:translateY(6px) scale(.6);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * 14ms + .35s)}
.motion .pb-card.in .pb-dot{opacity:1;transform:none}
.pb-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:13px;color:#3E475C}
.pb-legend span{display:inline-flex;align-items:center;gap:7px}
.pb-legend .k{width:10px;height:10px;border-radius:3px}
.pb-legend .k.risk{background:#A3283A}.pb-legend .k.goal{background:#1C2C52}
.pb-cap{margin-left:auto;color:#7A8499;font-size:12px}
.pb-ther{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid #EDF0F5}
.pb-ther-l{font-size:13.5px;font-weight:700;color:#141C33}
.pb-chips{display:flex;flex-wrap:wrap;gap:8px}
.pb-chips span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#EEF4FF;border:1px solid #D6E2FB;color:#1C2C52;font-size:13px;font-weight:600}
.pb-chips svg{color:#2E9E6A}
.pb-note{margin:0;display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:12px;background:#FFF5F5;border:1px solid #F8D9DB;font-size:14px;line-height:1.55;color:#3E475C}
.pb-note svg{flex:none;margin-top:1px}
@media (max-width:640px){.pb-card{padding:22px}.pb-num{font-size:44px}.pb-waffle{grid-template-columns:repeat(10,1fr);max-width:250px}.pb-cap{margin-left:0}}
@media (prefers-reduced-motion: reduce){.motion .pb-dot{opacity:1;transform:none;transition:none}}

/* ---------- Accessibility foundations (WCAG 2.2 AA) ---------- */
.skip-link{position:fixed;left:16px;top:-80px;z-index:1200;background:#1C2C52;color:#FFFFFF!important;padding:12px 18px;border-radius:10px;font:600 15px/1.2 'Inter',system-ui,sans-serif;text-decoration:none;box-shadow:0 10px 30px -10px rgba(20,36,69,.6);transition:top .2s ease}
.skip-link:not(:focus){opacity:0;pointer-events:none}
.skip-link:focus{top:16px;outline:3px solid #F5B935;outline-offset:2px}
main:focus{outline:none}
:focus-visible{outline:3px solid #1C2C52!important;outline-offset:3px!important}
.is-navy :focus-visible,footer :focus-visible{outline-color:#FFFFFF!important}
form input:not([type=hidden]),form select,form textarea{border-color:#848EA3!important}
form input:focus-visible,form select:focus-visible,form textarea:focus-visible{outline-offset:1px!important}
.form-error{margin:0;padding:12px 14px;border-radius:8px;background:#FFF1F1;border:1px solid #E7A9AD;color:#6A1A27;font-size:14px;line-height:1.5}
.form-error a{color:#6A1A27}
.pb-cap{color:#5F6A7E!important}

/* ---------- Accessibility panel ---------- */
.a11y-btn{position:fixed;left:22px;bottom:22px;z-index:56;width:52px;height:52px;border-radius:50%;border:0;padding:0;display:flex;align-items:center;justify-content:center;
  background:#1C2C52;color:#FFFFFF;cursor:pointer;box-shadow:0 10px 26px -10px rgba(20,36,69,.7);transition:transform .25s ease,background .25s ease}
.a11y-btn:hover{transform:scale(1.07);background:#7A1F2E}
.a11y-btn.on::after{content:"";position:absolute;top:3px;right:3px;width:11px;height:11px;border-radius:50%;background:#2E9E6A;border:2px solid #FFFFFF}
.a11y-panel{position:fixed;left:22px;bottom:86px;z-index:1150;width:340px;max-width:calc(100vw - 32px);max-height:calc(100vh - 110px);overflow:auto;
  background:#FFFFFF;color:#141C33;border:1px solid #DCE1EA;border-radius:18px;box-shadow:0 30px 60px -20px rgba(20,36,69,.45);padding:18px;
  font-family:'Inter',system-ui,sans-serif;animation:a11yIn .22s ease}
@keyframes a11yIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.a11y-hd{display:flex;align-items:center;justify-content:space-between;gap:12px}
.a11y-hd h2{margin:0;font:800 19px/1.2 'Plus Jakarta Sans','Inter',sans-serif!important;font-size:19px!important;letter-spacing:-.01em;color:#141C33}
.a11y-x{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid #DCE1EA;background:#FFFFFF;color:#141C33;display:flex;align-items:center;justify-content:center;cursor:pointer}
.a11y-x:hover{background:#F2F4F8}
.a11y-intro{margin:8px 0 14px;font-size:13.5px;line-height:1.5;color:#4A5468}
.a11y-size{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:#F4F6FA;margin-bottom:10px}
.a11y-size>span{font-weight:700;font-size:14.5px}
.a11y-stepper{display:flex;align-items:center;gap:6px}
.a11y-stepper button{width:40px;height:40px;border-radius:10px;border:1px solid #C9D0DC;background:#FFFFFF;color:#1C2C52;font:800 16px 'Plus Jakarta Sans','Inter',sans-serif;cursor:pointer}
.a11y-stepper button:hover:not(:disabled){background:#1C2C52;color:#FFFFFF}
.a11y-stepper button:disabled{opacity:.4;cursor:not-allowed}
.a11y-stepper output{min-width:50px;text-align:center;font-weight:700;font-size:14px;color:#141C33}
.a11y-list{display:flex;flex-direction:column;gap:6px}
.a11y-tg{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid #E3E7EE;background:#FFFFFF;color:#141C33;font:inherit;cursor:pointer;transition:border-color .2s,background .2s}
.a11y-tg:hover{border-color:#A9B3C6}
.a11y-tg[aria-checked="true"]{border-color:#1C2C52;background:#EEF3FC}
.a11y-ic{flex:none;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#F1F3F8;color:#1C2C52}
.a11y-tg[aria-checked="true"] .a11y-ic{background:#1C2C52;color:#FFFFFF}
.a11y-tx{flex:1;display:flex;flex-direction:column;gap:2px}
.a11y-tt{font-weight:700;font-size:14.5px}
.a11y-dd{font-size:12.5px;color:#4A5468;line-height:1.35}
.a11y-sw{flex:none;position:relative;width:40px;height:24px;border-radius:999px;background:#B5BDCC;transition:background .2s}
.a11y-sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#FFFFFF;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.a11y-tg[aria-checked="true"] .a11y-sw{background:#1C2C52}
.a11y-tg[aria-checked="true"] .a11y-sw::after{transform:translateX(16px)}
.a11y-ft{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #E8EBF1}
.a11y-reset{font:600 14px 'Inter',sans-serif;padding:10px 16px;border-radius:999px;border:1px solid #1C2C52;background:#FFFFFF;color:#1C2C52;cursor:pointer}
.a11y-reset:hover{background:#1C2C52;color:#FFFFFF}
.a11y-ft a{font-size:13.5px;font-weight:600;color:#1C2C52}
@media (max-width:640px){.a11y-btn{left:16px;bottom:16px;width:46px;height:46px}.a11y-panel{left:16px;bottom:72px}}
@media print{.a11y-btn,.a11y-panel,.to-top,.scroll-progress,.skip-link,.loader,.bgm,.ft-art{display:none!important}}

/* ---------- Visitor preferences ---------- */
.a11y-text-1 :is(header>div,main,footer){zoom:1.12}
.a11y-text-2 :is(header>div,main,footer){zoom:1.25}
.a11y-text-3 :is(header>div,main,footer){zoom:1.4}
.a11y-contrast :is(main,footer) :is(p,li,td,th,span,small,label,figcaption,dd,dt,h3,h4):not(.pb-num):not(.fw-badge){color:#0B1220!important}
.a11y-contrast main .is-navy :is(p,li,span,small,h1,h2,h3,h4),.a11y-contrast footer :is(p,li,span,small,a){color:#FFFFFF!important}
.a11y-contrast .grad-text,.a11y-contrast .grad-text .wi{background:none!important;color:inherit!important;-webkit-text-fill-color:currentColor!important}
.a11y-contrast main *{border-color:#5F6A7E!important}
.a11y-contrast .bgm,.a11y-contrast .ft-art,.a11y-contrast .hero::before,.a11y-contrast .hero::after{display:none!important}
.a11y-contrast main a:not(.btn-red):not(.fw-card):not(.fw-cta){color:#0A2A80!important}
.a11y-links :is(main,footer) a,.a11y-links header nav a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important}
.a11y-links :is(main,footer) a:hover{background:#FFF1B8;color:#0B1220!important}
.a11y-spacing :is(main,footer) :is(p,li,td,label,a,span:not(.w):not(.wi)){line-height:1.8!important;letter-spacing:.12em!important;word-spacing:.16em!important}
.a11y-spacing :is(main) :is(h1,h2,h3){line-height:1.4!important;letter-spacing:.02em!important}
.a11y-font :is(header,main,footer,.a11y-panel) :is(h1,h2,h3,h4,p,li,a,span,label,button,input,select,textarea,td,th,strong,em){font-family:Verdana,Tahoma,'Segoe UI',Arial,sans-serif!important}
.a11y-cursor,.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='48' viewBox='0 0 24 28'%3E%3Cpath d='M3 2 L3 21 L8 16 L11.5 24 L15 22.5 L11.5 14.8 L18.5 14.8 Z' fill='%23000' stroke='%23fff' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 4 3,auto!important}
.a11y-cursor :is(a,button,[role=switch],label,select),.a11y-cursor :is(a,button) *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='48' viewBox='0 0 26 28'%3E%3Cpath d='M9 13 V4.5 a2 2 0 0 1 4 0 V11 l1-.2 a2 2 0 0 1 3 1.4 l1 .1 a2 2 0 0 1 2.8 1.6 l.4 .2 a2 2 0 0 1 2.3 2 V19 c0 4-3 7-7 7 h-2 c-3 0-4.6-1.6-6.4-4 L3.6 17 a2 2 0 0 1 3-2.6 Z' fill='%23000' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E") 11 2,pointer!important}
.a11y-motion *,.a11y-motion *::before,.a11y-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
.a11y-motion{scroll-behavior:auto!important}
.a11y-motion .rv,.a11y-motion .split .wi,.a11y-motion .pb-dot,.a11y-motion .hero-in,.a11y-motion .pb-card :is(.pb-eyebrow,.pb-lbl,.pb-legend,.pb-ther-l,.pb-note,.pb-num,.pb-chips span),.a11y-motion .pb-card::before{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}

/* ---------- Problem card: richer motion ---------- */
.pb-card{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
.pb-card:hover{transform:translateY(-4px);box-shadow:0 34px 60px -30px rgba(20,36,69,.4)}
.pb-eyebrow{display:inline-flex;align-items:center;gap:10px}
.pb-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:#A3283A;box-shadow:0 0 0 0 rgba(217,67,75,.5);animation:pbPing 2s ease-out infinite}
@keyframes pbPing{0%{box-shadow:0 0 0 0 rgba(217,67,75,.55)}70%,100%{box-shadow:0 0 0 9px rgba(217,67,75,0)}}
.motion .pb-card::before{transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.7,.2,1) .15s}
.motion .pb-card.in::before{transform:none}
.motion .pb-card :is(.pb-eyebrow,.pb-lbl,.pb-legend,.pb-ther-l,.pb-note){opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.motion .pb-card.in :is(.pb-eyebrow,.pb-lbl,.pb-legend,.pb-ther-l,.pb-note){opacity:1;transform:none}
.motion .pb-card.in .pb-eyebrow{transition-delay:.1s}
.motion .pb-card.in .pb-lbl{transition-delay:.35s}
.motion .pb-card.in .pb-legend{transition-delay:1.7s}
.motion .pb-card.in .pb-ther-l{transition-delay:1.9s}
.motion .pb-card.in .pb-note{transition-delay:2.5s}
.motion .pb-num{display:inline-block;transform:scale(.6);opacity:0;transition:transform .8s cubic-bezier(.3,1.5,.5,1) .2s,opacity .4s ease .2s}
.motion .pb-card.in .pb-num{transform:none;opacity:1}
.pb-chips span{transition:transform .25s ease,background .25s ease}
.pb-chips span:hover{transform:translateY(-2px);background:#E2ECFF}
.motion .pb-chips span{opacity:0;transform:translateY(10px) scale(.85);transition:opacity .45s ease,transform .55s cubic-bezier(.3,1.4,.5,1)}
.motion .pb-card.in .pb-chips span{opacity:1;transform:none}
.motion .pb-card.in .pb-chips span:nth-child(1){transition-delay:2.05s}
.motion .pb-card.in .pb-chips span:nth-child(2){transition-delay:2.2s}
.motion .pb-card.in .pb-chips span:nth-child(3){transition-delay:2.35s}
.motion .pb-card.in .pb-chips span:hover{transition-delay:0s;transform:translateY(-2px)}
.motion .pb-chips path{stroke-dasharray:12;stroke-dashoffset:12;transition:stroke-dashoffset .5s ease}
.motion .pb-card.in .pb-chips span:nth-child(1) path{stroke-dashoffset:0;transition-delay:2.4s}
.motion .pb-card.in .pb-chips span:nth-child(2) path{stroke-dashoffset:0;transition-delay:2.55s}
.motion .pb-card.in .pb-chips span:nth-child(3) path{stroke-dashoffset:0;transition-delay:2.7s}
/* a slow heartbeat wave travels across the "at risk" figures */
.motion .pb-card.in .pb-dot.risk{animation:pbWave 5.5s ease-in-out infinite;animation-delay:calc(var(--i) * 24ms + 2.8s)}
@keyframes pbWave{0%,14%,100%{scale:1;filter:none}6%{scale:1.25;filter:brightness(1.3) saturate(1.2)}}
.pb-note svg path:first-child{transform-box:fill-box;transform-origin:center;animation:pbBeat 1.4s ease-in-out infinite}
@keyframes pbBeat{0%,40%,100%{transform:scale(1)}15%{transform:scale(1.18)}28%{transform:scale(1.06)}}
.pb-note svg path:last-child{stroke-dasharray:22 40;animation:pbTrace 2.2s linear infinite}
@keyframes pbTrace{from{stroke-dashoffset:62}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion: reduce){
  .motion .pb-card :is(.pb-eyebrow,.pb-lbl,.pb-legend,.pb-ther-l,.pb-note,.pb-num,.pb-chips span){opacity:1;transform:none;transition:none}
  .pb-card::before{transform:none!important}.pb-chips path{stroke-dashoffset:0!important}
  .pb-eyebrow::before,.pb-note svg path,.pb-dot{animation:none!important}
}

.a11y-motion .pb-chips path{stroke-dashoffset:0!important}

/* compact accessibility panel: 2-column tiles, no scrolling */
.a11y-panel{width:316px;padding:14px;border-radius:16px;bottom:84px}
.a11y-hd h2{font-size:16px!important}
.a11y-x{width:34px;height:34px}
.a11y-intro{margin:4px 0 10px;font-size:12.5px;line-height:1.45}
.a11y-size{padding:8px 10px;margin-bottom:8px;border-radius:10px}
.a11y-size>span{font-size:13.5px}
.a11y-stepper button{width:34px;height:34px;font-size:14px;border-radius:8px}
.a11y-stepper output{min-width:44px;font-size:13px}
.a11y-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.a11y-tg{position:relative;flex-direction:column;align-items:flex-start;gap:6px;padding:10px;border-radius:10px;min-height:76px}
.a11y-ic{width:28px;height:28px;border-radius:8px}
.a11y-ic svg{width:17px;height:17px}
.a11y-tt{font-size:12.5px;line-height:1.25}
.a11y-dd{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.a11y-sw{position:absolute;top:10px;right:10px;width:30px;height:18px}
.a11y-sw::after{top:2px;left:2px;width:14px;height:14px}
.a11y-tg[aria-checked="true"] .a11y-sw::after{transform:translateX(12px)}
.a11y-ft{margin-top:10px;padding-top:10px}
.a11y-reset{padding:8px 14px;font-size:13px}
.a11y-ft a{font-size:12.5px}
section h2.doc-h2{font-size:clamp(22px,2.4vw,28px)!important}

/* ---------- Care gap cards (home) ---------- */
.gp-sec{position:relative;overflow:hidden;border-top:1px solid #E8E3D9;
  background:radial-gradient(900px 420px at 88% 0%,rgba(139,47,168,.07),transparent 70%),radial-gradient(800px 500px at 0% 100%,rgba(36,83,201,.06),transparent 70%),linear-gradient(180deg,#F7F8FD,#F3F5FB)}
.gp-deco{position:absolute;top:28px;right:6%;width:230px;height:230px;z-index:0;pointer-events:none;opacity:.55}
.gp-deco path{fill:none;stroke:#E7B4CC;stroke-width:1.4;vector-effect:non-scaling-stroke}
.gp-deco path:nth-child(2){stroke:#DCC0EA}.gp-deco path:nth-child(3){stroke:#F0C2C6}
.gp-deco .gp-deco-ecg{stroke:#EF8A93;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60 160;animation:gpTrace 3.2s linear infinite}
@keyframes gpTrace{from{stroke-dashoffset:220}to{stroke-dashoffset:0}}
.gp-sec>div{z-index:1}
.gp-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:26px;align-items:stretch}
.gp-card{--c:#2453C9;--c2:#5E86D6;--tint:#EAF1FF;--tint2:#F3F7FF;--dot:#A3283A;
  position:relative;display:flex;flex-direction:column;border-radius:24px;padding:10px;
  background:linear-gradient(180deg,var(--tint2),#FFFFFF 46%);border:1px solid rgba(255,255,255,.9);
  box-shadow:0 1px 0 rgba(20,36,69,.04),0 22px 50px -30px rgba(20,36,69,.35);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
.gp-card:hover{transform:translateY(-6px);box-shadow:0 1px 0 rgba(20,36,69,.04),0 36px 70px -34px rgba(20,36,69,.45)}
.gp-hc{--c:#7B3FC4;--c2:#A77BE0;--tint:#F1E9FD;--tint2:#F7F1FF;--dot:#7B3FC4}
.gp-hs{--c:#0E8C7E;--c2:#3FB5A6;--tint:#E2F5F1;--tint2:#EFFAF7;--dot:#0E8C7E}
.gp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 22px}
.gp-hd-tx{display:flex;flex-direction:column;gap:10px;min-width:0}
.gp-num{align-self:flex-start;font:800 15px/1 'Plus Jakarta Sans','Inter',sans-serif;color:var(--c);background:var(--tint);padding:7px 12px;border-radius:10px;letter-spacing:.02em}
.gp-card h3{margin:2px 0 0;font:800 26px/1.12 'Plus Jakarta Sans','Inter',sans-serif;letter-spacing:-.02em;color:#141C33}
.gp-head p{margin:0;font-size:15px;line-height:1.5;color:#4A5468}
.gp-icon{flex:none;width:112px;height:112px;border-radius:26px;display:flex;align-items:center;justify-content:center;color:var(--c);
  background:radial-gradient(circle at 30% 25%,#FFFFFF,var(--tint) 75%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 14px 30px -18px var(--c2);
  animation:gpFloat 5s ease-in-out infinite}
.gp-hc .gp-icon{animation-delay:-1.6s}.gp-hs .gp-icon{animation-delay:-3.2s}
@keyframes gpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.gp-heart{transform-box:fill-box;transform-origin:center;animation:gpBeat 1.5s ease-in-out infinite}
@keyframes gpBeat{0%,45%,100%{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1.04)}}
.gp-ecg{stroke-dasharray:26 30;animation:gpEcg 1.5s linear infinite}
@keyframes gpEcg{from{stroke-dashoffset:56}to{stroke-dashoffset:0}}
.gp-steth{transform-origin:27px 6px;animation:gpSwing 4s ease-in-out infinite}
@keyframes gpSwing{0%,100%{transform:rotate(0)}50%{transform:rotate(-4deg)}}
.gp-pulse{transform-box:fill-box;transform-origin:center;animation:gpPulse 1.6s ease-in-out infinite}
@keyframes gpPulse{0%,100%{opacity:.4;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
.gp-cross{transform-box:fill-box;transform-origin:center;animation:gpBeat 2s ease-in-out infinite}
.gp-body{flex:1;display:flex;flex-direction:column;gap:16px;background:#FFFFFF;border-radius:18px;padding:20px 18px 22px;box-shadow:0 1px 2px rgba(20,36,69,.05)}
.gp-warn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 11px;border-radius:999px;background:#FDECEE;color:#7A1F2E;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.gp-body ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.gp-body li{position:relative;padding-left:22px;font-size:15px;line-height:1.5;color:#2A3247}
.gp-body li::before{content:"";position:absolute;left:4px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--dot);box-shadow:0 0 0 3px color-mix(in srgb,var(--dot) 16%,transparent)}
.gp-sol{display:flex;gap:12px;align-items:flex-start;margin-top:10px;padding:18px;border-radius:18px;background:linear-gradient(135deg,var(--tint),var(--tint2))}
.gp-sol svg{flex:none;margin-top:1px}
.gp-sol>div{display:flex;flex-direction:column;gap:6px}
.gp-sol-l{font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--c)}
.gp-sol p{margin:0;font-size:15.5px;line-height:1.5;color:#141C33}
/* reveal choreography inside each card */
.motion .gp-card :is(.gp-num,.gp-warn,.gp-body li,.gp-sol){opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.motion .gp-card .gp-icon{scale:.6;opacity:0;transition:scale .8s cubic-bezier(.3,1.5,.5,1) .25s,opacity .4s ease .25s}
.motion .gp-card.in :is(.gp-num,.gp-warn,.gp-body li,.gp-sol){opacity:1;transform:none}
.motion .gp-card.in .gp-icon{scale:1;opacity:1}
.motion .gp-card.in .gp-num{transition-delay:calc(var(--d,0s) + .15s)}
.motion .gp-card.in .gp-warn{transition-delay:calc(var(--d,0s) + .4s)}
.motion .gp-card.in .gp-body li{transition-delay:calc(var(--d,0s) + .55s + var(--k) * .1s)}
.motion .gp-card.in .gp-sol{transition-delay:calc(var(--d,0s) + 1s)}
.motion .gp-card .gp-tick{stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset .5s ease}
.motion .gp-card.in .gp-tick{stroke-dashoffset:0;transition-delay:calc(var(--d,0s) + 1.3s)}
@media (max-width:640px){.gp-icon{width:84px;height:84px;border-radius:20px}.gp-icon svg{width:52px;height:52px}.gp-card h3{font-size:22px}.gp-deco{width:150px;height:150px;right:-20px;top:10px}}
@media (prefers-reduced-motion: reduce){.gp-icon,.gp-heart,.gp-ecg,.gp-steth,.gp-pulse,.gp-cross,.gp-deco-ecg{animation:none!important}
  .motion .gp-card :is(.gp-num,.gp-warn,.gp-body li,.gp-sol,.gp-icon){opacity:1;transform:none;scale:1;transition:none}.motion .gp-card .gp-tick{stroke-dashoffset:0}}
.a11y-motion .gp-card :is(.gp-num,.gp-warn,.gp-body li,.gp-sol,.gp-icon){opacity:1!important;transform:none!important;scale:1!important}
.a11y-motion .gp-tick{stroke-dashoffset:0!important}
.gp-card{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
.gp-sol{margin-top:10px;align-self:start}
.gp-icon{width:100px;height:100px}
.gp-icon svg{width:60px;height:60px}

/* ---------- Mission cards (about) ---------- */
.mi-sec{position:relative;overflow:hidden;background:radial-gradient(700px 400px at 85% 10%,rgba(139,47,168,.06),transparent 70%),radial-gradient(800px 420px at 10% 30%,rgba(36,83,201,.05),transparent 70%),linear-gradient(180deg,#FFFFFF,#F6F7FD)}
.mi-sec>div{z-index:1}
.mi-deco{top:12px;right:4%}
.mi-floor{position:absolute;left:0;right:0;bottom:0;width:100%;height:110px;z-index:0;pointer-events:none}
.mi-floor path{fill:url(#none);fill:#EDEFFB;opacity:.8}
section h2.mi-h2{font-size:clamp(30px,3.5vw,46px)!important;line-height:1.14!important}
.mi-h2 em{font-style:italic}
.mi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:22px}
.mi-card{--c:#2463EB;--c2:#5B8CFF;--tint:#E8F0FF;--soft:#F4F8FF;
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:22px 22px 84px;border-radius:22px;text-decoration:none!important;color:#141C33!important;
  background:linear-gradient(180deg,var(--soft),#FFFFFF 60%);border:1px solid color-mix(in srgb,var(--c) 18%,#FFFFFF);
  box-shadow:0 24px 50px -32px color-mix(in srgb,var(--c) 70%,#121D38);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
.mi-acc{--c:#7B2FD0;--c2:#A86BF2;--tint:#F1E7FE;--soft:#F8F3FF}
.mi-act{--c:#E8730C;--c2:#FFA23D;--tint:#FFEEDB;--soft:#FFF7EE}
.mi-card:hover{transform:translateY(-8px);box-shadow:0 34px 60px -30px color-mix(in srgb,var(--c) 80%,#121D38)}
.mi-card:focus-visible{outline-color:var(--c)!important}
.mi-icon{width:84px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;color:var(--c);background:radial-gradient(circle at 30% 25%,#FFFFFF,var(--tint) 80%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);margin-bottom:12px}
.mi-num{align-self:flex-start;font:800 14px/1 'Plus Jakarta Sans','Inter',sans-serif;color:var(--c);background:var(--tint);padding:6px 10px;border-radius:9px}
.mi-act .mi-num{color:#B4560A}
.mi-card h3{margin:0;font:800 23px/1.15 'Plus Jakarta Sans','Inter',sans-serif;letter-spacing:-.02em;color:#141C33}
.mi-card p{margin:0;font-size:15px;line-height:1.6;color:#3E475C}
.mi-wave{position:absolute;left:0;right:0;bottom:0;width:100%;height:70px}
.mi-wave path{fill:var(--tint);opacity:.85}
.mi-arrow{position:absolute;right:20px;bottom:18px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFFFFF;
  background:linear-gradient(135deg,var(--c2),var(--c));box-shadow:0 10px 20px -8px var(--c);transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.mi-card:hover .mi-arrow{transform:translateX(4px) scale(1.06)}
/* icon motion */
.mi-l1,.mi-l2,.mi-l3{animation:miStack 3.6s ease-in-out infinite}
.mi-l2{animation-delay:.15s}.mi-l3{animation-delay:.3s}
@keyframes miStack{0%,100%{transform:translateY(0)}45%{transform:translateY(-2.5px)}}
.mi-l3{animation-name:miStack3}@keyframes miStack3{0%,100%{transform:translateY(0)}45%{transform:translateY(2px)}}
.mi-p1,.mi-p3{animation:miWave 3s ease-in-out infinite}.mi-p3{animation-delay:.4s}
@keyframes miWave{0%,100%{transform:translateY(0)}30%{transform:translateY(-2px)}}
.mi-dart{animation:miDart 3.2s cubic-bezier(.5,0,.2,1) infinite}
@keyframes miDart{0%{transform:translate(10px,-10px);opacity:0}25%{transform:translate(0,0);opacity:1}30%{transform:translate(-.8px,.8px)}35%,85%{transform:none;opacity:1}100%{transform:none;opacity:0}}
/* reveal */
.motion .mi-cards .mi-card{opacity:0;transform:translateY(26px)}
.motion .mi-cards.in .mi-card{opacity:1;transform:none;transition:opacity .6s ease,transform .8s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
.motion .mi-cards.in .mi-card:nth-child(2){transition-delay:.12s,.12s,0s}
.motion .mi-cards.in .mi-card:nth-child(3){transition-delay:.24s,.24s,0s}
.motion .mi-cards.in .mi-card:hover{transform:translateY(-8px);transition-delay:0s}
.motion .mi-icon{scale:.6;transition:scale .8s cubic-bezier(.3,1.5,.5,1) .3s}
.motion .mi-cards.in .mi-icon{scale:1}
@media (max-width:640px){.mi-floor{height:60px}.mi-deco{width:140px;height:140px;right:-30px}}
@media (prefers-reduced-motion: reduce){.mi-l1,.mi-l2,.mi-l3,.mi-p1,.mi-p3,.mi-dart{animation:none}.motion .mi-cards .mi-card{opacity:1;transform:none}.motion .mi-icon{scale:1}}
.a11y-motion .mi-cards .mi-card{opacity:1!important;transform:none!important}.a11y-motion .mi-icon{scale:1!important}
.motion .rv.in:not(.rv-clip){clip-path:none}

/* ---------- Leadership cards ---------- */
.ld-sec{position:relative;overflow:hidden;background:radial-gradient(800px 420px at 85% 0%,rgba(139,47,168,.06),transparent 70%),radial-gradient(700px 420px at 0% 60%,rgba(36,83,201,.05),transparent 70%),linear-gradient(180deg,#FBFAFE,#F5F6FC)}
.ld-sec>div{position:relative;z-index:1}
.ld-deco{top:40px;right:5%}
.ld-ecg{position:absolute;top:120px;right:calc(5% + 150px);width:340px;height:110px;z-index:0;pointer-events:none;opacity:.6}
.ld-ecg path{fill:none;stroke:#E9A6C4;stroke-width:1.6;stroke-linejoin:round;stroke-dasharray:120 500;animation:ldEcg 4s linear infinite}
@keyframes ldEcg{from{stroke-dashoffset:620}to{stroke-dashoffset:0}}
.ld-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px}
.ld-card{--c:#2463EB;--c2:#7FA6F5;--tint:#E3ECFF;--ink:#14214A;
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:32px 26px 26px;border-radius:24px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--tint) 45%,#FFFFFF),#FFFFFF 55%);border:1px solid color-mix(in srgb,var(--c) 22%,#FFFFFF);
  box-shadow:0 26px 50px -34px color-mix(in srgb,var(--c) 70%,#121D38);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
.ld-v{--c:#7B3FC4;--c2:#B48BEA;--tint:#EFE4FD;--ink:#3A1670}
.ld-t{--c:#0E8C7E;--c2:#5CC3B5;--tint:#DDF4EF;--ink:#0B4E46}
.ld-r{--c:#A3283A;--c2:#F09AA0;--tint:#FDE4E5;--ink:#6A1A27}
.ld-card:hover{transform:translateY(-8px);box-shadow:0 36px 64px -32px color-mix(in srgb,var(--c) 80%,#121D38)}
.ld-wave{position:absolute;left:0;right:0;top:0;width:100%;height:150px;z-index:0}
.ld-wave path{fill:var(--tint);opacity:.75}
.ld-av{position:relative;z-index:1;align-self:center;width:128px;height:128px;border-radius:50%;margin-bottom:22px;display:flex;align-items:center;justify-content:center;
  font:600 44px/1 'Source Serif 4',serif;color:var(--ink);background:radial-gradient(circle at 35% 30%,#FFFFFF,var(--tint) 85%);
  border:3px solid #FFFFFF;box-shadow:0 0 0 2px var(--c2),0 16px 30px -14px var(--c);transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.ld-card:hover .ld-av{transform:scale(1.05)}
.ld-av::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px solid var(--c2);opacity:0}
.ld-card:hover .ld-av::after{animation:ldRing 1.4s ease-out infinite}
@keyframes ldRing{0%{opacity:.7;transform:scale(.95)}100%{opacity:0;transform:scale(1.15)}}
.ld-card h3{position:relative;z-index:1;margin:0;font:800 20px/1.2 'Plus Jakarta Sans','Inter',sans-serif!important;letter-spacing:-.015em;color:#141C33}
.ld-role{position:relative;z-index:1;font-size:15px;color:#4A5468;padding-bottom:16px;border-bottom:1px solid #E6E8EF;margin-bottom:10px}
.ld-link{position:relative;z-index:1;margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#1F4FB8!important;text-decoration:underline;text-underline-offset:4px}
.ld-link svg{transition:transform .3s ease}
.ld-link:hover svg{transform:translate(2px,-2px)}
.motion .ld-card .ld-av{scale:.5;opacity:0;transition:scale .8s cubic-bezier(.3,1.5,.5,1) calc(var(--d,0s) + .2s),opacity .4s ease calc(var(--d,0s) + .2s),transform .5s}
.motion .ld-card.in .ld-av{scale:1;opacity:1}
@media (max-width:640px){.ld-ecg{display:none}.ld-deco{width:130px;height:130px;right:-30px;top:20px}}
@media (prefers-reduced-motion: reduce){.ld-ecg path{animation:none;stroke-dasharray:none}.motion .ld-card .ld-av{scale:1;opacity:1}}
.a11y-motion .ld-card .ld-av{scale:1!important;opacity:1!important}

/* ---------- Heart symbol v2: soft beating heart + ECG ---------- */
.hsym{--hf:#F6C9D4;--hl:#E58AA3;--he:#E06A82;--ht:#A3283A;overflow:visible}
.hsym .hs-fill{fill:var(--hf);fill-opacity:.45}
.hsym .hs-line{fill:none;stroke:var(--hl);stroke-width:1.6;vector-effect:non-scaling-stroke}
.hsym .hs-shine{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;opacity:.8}
.hsym .hs-ecg{fill:none;stroke:var(--he);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;opacity:.55;vector-effect:non-scaling-stroke}
.hsym .hs-trace{fill:none;stroke:var(--ht);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:60 420;animation:hsTrace 2.8s linear infinite;vector-effect:non-scaling-stroke}
.hsym .hs-beat{transform-origin:120px 105px;animation:hsBeat 1.4s ease-in-out infinite}
.hsym .hs-rip{fill:none;stroke:var(--hl);stroke-width:1.4;vector-effect:non-scaling-stroke;transform-origin:120px 105px;opacity:0;animation:hsRip 2.8s ease-out infinite}
.hsym .hs-rip.r2{animation-delay:1.4s}
@keyframes hsBeat{0%,42%,100%{transform:scale(1)}14%{transform:scale(1.07)}28%{transform:scale(1.02)}}
@keyframes hsRip{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.45)}}
@keyframes hsTrace{from{stroke-dashoffset:480}to{stroke-dashoffset:0}}
.gp-deco.hsym{width:250px;height:210px;opacity:.75}
.gp-deco.hsym path{stroke-dasharray:none}
.gp-deco.hsym .hs-trace{stroke-dasharray:60 420}
.gp-deco.hsym .hs-fill{fill:var(--hf)}
.bgm-contour{opacity:.28!important;-webkit-mask-image:none!important;mask-image:none!important}
.bgm-contour .hsym{width:100%;height:100%}
.bgm-contour.on-dark .hsym{--hf:#FF9EAE;--hl:#FFB3C0;--he:#E3B76A;--ht:#E8C878}
@media (prefers-reduced-motion: reduce){.hsym *{animation:none!important}.hsym .hs-rip{display:none}.hsym .hs-trace{stroke-dasharray:none;opacity:.6}}
.a11y-motion .hsym .hs-rip{display:none}
.gp-deco.hsym.mi-deco{top:18px;right:1.5%;width:190px;height:160px;opacity:.65}
.gp-deco.hsym.ld-deco{top:36px;right:5%}

/* ---------- Symbol letters in the hero heading ---------- */
.sym-text{color:#141C33;white-space:nowrap}
.sym-o{position:relative;display:inline-block;width:.6em;height:.6em;margin:0 .015em;vertical-align:-.03em}
.sym-o svg{position:absolute;inset:-.06em;width:calc(100% + .12em);height:calc(100% + .12em);overflow:visible}
.sym-heart .sh-b{fill:#A3283A;transform-origin:20px 22px;animation:symBeat 1.3s ease-in-out infinite}
.sym-heart .sh-e{fill:none;stroke:#FFFFFF;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:34 60;animation:symEcgS 1.3s linear infinite}
@keyframes symBeat{0%,45%,100%{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1.03)}}
@keyframes symEcgS{from{stroke-dashoffset:94}to{stroke-dashoffset:0}}
.sym-gauge .sg-r{fill:none;stroke:#1C2C52;stroke-width:5.2}
.sym-gauge .sg-t{fill:none;stroke:#F2B8BC;stroke-width:2.4;stroke-linecap:round}
.sym-gauge .sg-n{transform-origin:20px 21px;animation:symNeedle 3.2s cubic-bezier(.5,0,.3,1) infinite}
.sym-gauge .sg-n path{stroke:#A3283A;stroke-width:3;stroke-linecap:round}
.sym-gauge .sg-c{fill:#A3283A}
@keyframes symNeedle{0%,100%{transform:rotate(-95deg)}40%,60%{transform:rotate(0deg)}75%{transform:rotate(-55deg)}}
.sym-care{position:relative;display:inline-block;color:#7A1F2E}
.sym-ecg{position:absolute;left:-2%;bottom:-.2em;width:104%;height:.26em;overflow:visible;pointer-events:none}
.sym-ecg path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.sym-ecg .se-base{stroke:#F2B8BC;stroke-width:2.5}
.sym-ecg .se-run{stroke:#A3283A;stroke-width:3.5;stroke-dasharray:60 400;animation:symRun 2.4s linear infinite}
@keyframes symRun{from{stroke-dashoffset:460}to{stroke-dashoffset:0}}
.motion .hero .sym-o{transform:scale(0) rotate(-30deg);transition:transform .7s cubic-bezier(.3,1.6,.5,1)}
.motion.loaded .hero .sym-o{transform:none}
.motion.loaded .hero .sym-heart{transition-delay:.55s}
.motion.loaded .hero .sym-gauge{transition-delay:.75s}
.motion .hero .sym-ecg .se-base{stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.2s ease .9s}
.motion.loaded .hero .sym-ecg .se-base{stroke-dashoffset:0}
@media (max-width:420px){.sym-text{white-space:normal}}
@media (prefers-reduced-motion: reduce){.sym-text *{animation:none!important}.motion .hero .sym-o{transform:none}.motion .hero .sym-ecg .se-base{stroke-dashoffset:0}}
.a11y-motion .sym-o{transform:none!important}.a11y-motion .sym-ecg .se-base{stroke-dashoffset:0!important}
.a11y-contrast .sym-care{color:#6A1A27!important}
.sym-o{width:.62em;height:.62em;margin:0 .01em;vertical-align:-.02em}
.sym-o svg{max-width:none!important;inset:-.05em;width:calc(100% + .1em);height:calc(100% + .1em)}
.sym-text{white-space:normal}.sym-word{white-space:nowrap;display:inline-block}
@media (max-width:640px){.eyebrow{display:block!important;line-height:1.6}.eyebrow::before{display:inline-block;vertical-align:middle;margin-right:12px}}
/* symbol letters v2: real "o" rings at x-height */
.sym-o{width:.55em;height:.55em;margin:0 .012em;vertical-align:-.012em}
.sym-o svg{inset:0;width:100%;height:100%}
.sym-o .so-ring{fill:none;stroke:#141C33;stroke-width:8.4}
.sym-heart .so-ring{stroke:#A3283A}
.sym-heart .sh-b{fill:#A3283A;transform-origin:20px 21px;animation:symBeat 1.3s ease-in-out infinite}
.sym-gauge .sg-n{transform-origin:20px 20px}
.sym-gauge .sg-n path{stroke:#A3283A;stroke-width:3.2;stroke-linecap:round}
.sym-gauge .sg-c{fill:#A3283A}

/* ---------- Conditions card (home problem section) ---------- */
.cd-card{position:relative;display:flex;flex-direction:column;gap:16px;padding:28px;border-radius:24px;background:linear-gradient(180deg,#FBFCFF,#FFFFFF);border:1px solid #E4E8F1;box-shadow:0 30px 60px -38px rgba(20,36,69,.4);overflow:hidden}
.cd-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#1C2C52,#7A1F2E 55%,#C9A04A)}
.cd-hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cd-hd+.cd-tiles{margin-top:-2px}
.cd-lbl{font:800 16px/1.2 'Plus Jakarta Sans','Inter',sans-serif;color:#141C33}
.cd-sub{font-size:12.5px;color:#5F6A7E}
.cd-tiles,.cd-ther{list-style:none;margin:0;padding:0}
.cd-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:10px}
.cd-tile{--c:#A3283A;--t:#FDECEE;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#FFFFFF;border:1px solid #E8EBF2;font-size:14px;font-weight:600;line-height:1.3;color:#1A2238;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.cd-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--c) 40%,#FFFFFF);box-shadow:0 12px 24px -16px var(--c)}
.cd-ic{flex:none;width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--t);color:var(--c)}
.cd-dm{--c:#2463EB;--t:#E8F0FF}
.cd-ob{--c:#E8730C;--t:#FFF0E0}
.cd-ht{--c:#7B3FC4;--t:#F2EAFE}
.cd-dl{--c:#C28A00;--t:#FFF6DA}
.cd-rh{--c:#0E8C7E;--t:#E0F5F1}
.cd-tile:hover .cd-ic svg{animation:cdPop .5s ease}
@keyframes cdPop{40%{transform:scale(1.2)}}
.cd-ther{display:flex;flex-wrap:wrap;gap:8px}
.cd-ther li{display:inline-flex;align-items:center;gap:8px;padding:8px 10px 8px 12px;border-radius:999px;background:#EEF4FF;border:1px solid #D6E2FB;color:#1C2C52;font-size:13.5px;font-weight:600}
.cd-ther li>svg:first-child{color:#2453C9}
.cd-risk{margin-top:6px;padding:16px 18px;border-radius:16px;background:#FFF5F5;border:1px solid #F8D9DB;display:flex;flex-direction:column;gap:12px}
.cd-risk-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:600;color:#3E1A1F}
.cd-risk-hd strong{font:800 26px/1 'Plus Jakarta Sans','Inter',sans-serif;color:#7A1F2E;letter-spacing:-.02em}
.cd-bar{position:relative;height:12px;border-radius:999px;background:#FBE1E3}
.cd-fill{position:absolute;inset:0 auto 0 0;width:76%;border-radius:999px;background:linear-gradient(90deg,#F08A90,#A3283A 60%,#7A1F2E);
  background-size:200% 100%;animation:cdFlow 3s linear infinite}
@keyframes cdFlow{from{background-position:100% 0}to{background-position:-100% 0}}
.cd-mark{position:absolute;left:76%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#FFFFFF;border:4px solid #7A1F2E;box-shadow:0 0 0 0 rgba(200,54,63,.4);animation:pbPing 2s ease-out infinite}
/* reveal */
.motion .cd-tile,.motion .cd-ther li{opacity:0;transform:translateY(10px) scale(.94);transition:opacity .45s ease,transform .55s cubic-bezier(.3,1.4,.5,1),border-color .3s,box-shadow .3s}
.motion .in .cd-tile{opacity:1;transform:none;transition-delay:calc(.25s + var(--k) * .08s),calc(.25s + var(--k) * .08s),0s,0s}
.motion .in .cd-ther li{opacity:1;transform:none;transition-delay:calc(.85s + var(--k) * .1s),calc(.85s + var(--k) * .1s),0s,0s}
.motion .in .cd-tile:hover{transform:translateY(-3px);transition-delay:0s}
.motion .cd-fill{width:0;transition:width 1.6s cubic-bezier(.2,.7,.2,1) 1.1s}
.motion .in .cd-fill{width:76%}
.motion .cd-mark{left:0;opacity:0;transition:left 1.6s cubic-bezier(.2,.7,.2,1) 1.1s,opacity .3s ease 1.1s}
.motion .in .cd-mark{left:76%;opacity:1}
.motion .cd-chk{transform:scale(0);transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.motion .in .cd-chk{transform:none;transition-delay:calc(1.15s + var(--k,0) * .1s)}
.cd-ther li:nth-child(2) .cd-chk{--k:1}.cd-ther li:nth-child(3) .cd-chk{--k:2}
@media (max-width:640px){.cd-card{padding:20px}.cd-tiles{grid-template-columns:1fr 1fr}.cd-tile{font-size:13px;padding:9px}.cd-ic{width:32px;height:32px}}
@media (max-width:360px){.cd-tiles{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){.motion .cd-tile,.motion .cd-ther li,.motion .cd-chk{opacity:1;transform:none;transition:none}.motion .cd-fill{width:76%;transition:none}.motion .cd-mark{left:76%;opacity:1;transition:none}.cd-fill,.cd-mark{animation:none}}
.a11y-motion :is(.cd-tile,.cd-ther li,.cd-chk){opacity:1!important;transform:none!important}.a11y-motion .cd-fill{width:76%!important}.a11y-motion .cd-mark{left:76%!important;opacity:1!important}
.cd-fill{background:linear-gradient(90deg,#F08A90,#A3283A 70%,#7A1F2E);background-size:100% 100%;animation:none;overflow:hidden}
.cd-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-100%);animation:cdShine 2.8s ease-in-out 2.8s infinite}
@keyframes cdShine{to{transform:translateX(100%)}}
@media (prefers-reduced-motion: reduce){.cd-fill::after{display:none}}

/* ---------- Framework slider ---------- */
.fw-slider{display:flex;flex-direction:column;gap:22px;min-width:0}
.fw-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;
  padding:14px 4px 28px;margin:-14px -4px -28px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.fw-track::-webkit-scrollbar{display:none}
.fw-track:focus-visible{outline-offset:-2px!important;border-radius:20px}
.fw-track .fw-card{flex:0 0 clamp(300px,40%,470px);scroll-snap-align:start;
  display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon text";column-gap:24px;row-gap:12px;align-content:start;
  padding:32px 30px 92px;border-radius:24px;min-height:260px}
.fw-track .fw-icon{grid-area:icon;align-self:start;width:124px;height:124px;border-radius:28px}
.fw-track .fw-icon svg{width:96px;height:96px}
.fw-track .fw-title{grid-area:title;margin-top:8px}
.fw-track .fw-title h3{font:800 22px/1.2 'Plus Jakarta Sans','Inter',sans-serif;letter-spacing:-.015em}
.fw-track .fw-badge{min-width:34px;height:34px;font-size:15px}
.fw-track .fw-card p{grid-area:text;font-size:16px;line-height:1.6}
.fw-track .fw-card::after{height:90px}
.fw-track .fw-arrow{width:46px;height:46px;right:24px;bottom:22px}
.fw-track .fw-card:hover{transform:translateY(-6px)!important}
.fw-nav{display:flex;align-items:center;justify-content:space-between;gap:16px}
.fw-dots{display:flex;gap:8px;flex-wrap:wrap}
.fw-dots button{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:#CDD4E1;cursor:pointer;transition:width .35s ease,background .35s ease}
.fw-dots button[aria-current="true"]{width:34px;background:var(--dc,#1C2C52)}
.fw-dots button::before{content:"";display:block;width:24px;height:24px;margin:-7px}
.fw-btns{display:flex;gap:10px}
.fw-btns button{width:50px;height:50px;border-radius:50%;border:1px solid #CFD6E3;background:#FFFFFF;color:#1C2C52;display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .25s ease,color .25s ease,transform .25s ease,opacity .25s ease;box-shadow:0 8px 20px -14px rgba(20,36,69,.5)}
.fw-btns button:hover:not(:disabled){background:#1C2C52;color:#FFFFFF;transform:scale(1.06)}
.fw-btns button:disabled{opacity:.35;cursor:default}
@media (max-width:1024px){.fw-track .fw-card{flex-basis:clamp(300px,62%,460px)}}
@media (max-width:640px){
  .fw-track{gap:14px;scroll-padding-left:0}
  .fw-track .fw-card{flex-basis:84%;grid-template-columns:1fr;grid-template-areas:"icon" "title" "text";padding:24px 22px 84px;min-height:0}
  .fw-track .fw-icon{justify-self:start;width:96px;height:96px;border-radius:22px}
  .fw-track .fw-icon svg{width:76px;height:76px}
  .fw-track .fw-title h3{font-size:20px}
  .fw-btns button{width:44px;height:44px}
}
@media (prefers-reduced-motion: reduce){.fw-track{scroll-behavior:auto}}
.fw-track .fw-card{min-height:0;padding-bottom:84px}
.fw-track{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);transition:-webkit-mask-image .3s}
.fw-track.at-end{-webkit-mask-image:none;mask-image:none}
.fw-track.not-start{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 88%,transparent)}
.fw-track.not-start.at-end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%);mask-image:linear-gradient(90deg,transparent,#000 6%)}

/* ---------- Conditions v2: connected hub ---------- */
.cd-hub{position:relative;height:330px;margin:4px 0 6px}
.cd-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.cd-ln{fill:none;stroke:#D5DCEA;stroke-width:1.5;stroke-dasharray:3 5;vector-effect:non-scaling-stroke;animation:cdDash 1.6s linear infinite}
@keyframes cdDash{to{stroke-dashoffset:-16}}
.cd-core{position:absolute;left:50%;top:50%;width:116px;height:116px;margin:-58px 0 0 -58px;border-radius:50%;z-index:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;
  background:radial-gradient(circle at 35% 30%,#FFFFFF,#FDE7EA 75%);border:1px solid #F6CDD2;box-shadow:0 18px 36px -18px rgba(217,67,75,.6)}
.cd-core::before,.cd-core::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1.5px solid #F2A9B0;opacity:0;animation:cdRing 2.6s ease-out infinite}
.cd-core::after{animation-delay:1.3s}
@keyframes cdRing{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.45)}}
.cd-core svg{overflow:visible}
.cd-core-h{fill:#A3283A;transform-origin:12px 13px;animation:symBeat 1.3s ease-in-out infinite}
.cd-core-e{fill:none;stroke:#FFFFFF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cd-core span{font:800 11px/1.1 'Plus Jakarta Sans','Inter',sans-serif;letter-spacing:.02em;color:#6A1A27;max-width:90px}
.cd-hub .cd-tiles{position:absolute;inset:0;display:block}
.cd-hub .cd-tile{position:absolute;width:37%;display:flex;align-items:center;gap:10px;padding:7px 14px 7px 7px;border-radius:999px;background:#FFFFFF;
  border:1px solid color-mix(in srgb,var(--c) 22%,#FFFFFF);box-shadow:0 10px 24px -16px color-mix(in srgb,var(--c) 80%,#121D38);
  font-size:13.5px;font-weight:700;line-height:1.25;color:#141C33;transform:translateY(-50%)}
.cd-hub .cd-tile:hover{transform:translateY(calc(-50% - 3px));border-color:var(--c)}
.cd-hub .cd-ic{width:36px;height:36px;border-radius:50%;color:#FFFFFF;background:linear-gradient(140deg,color-mix(in srgb,var(--c) 70%,#FFFFFF),var(--c));box-shadow:0 6px 14px -6px var(--c)}
.cd-hub .cd-ic svg{width:19px;height:19px}
.cd-cvd{left:0;top:13%}.cd-dm{right:0;top:13%}.cd-ht{left:0;top:50%}.cd-ob{right:0;top:50%}.cd-dl{left:0;top:87%}.cd-rh{right:0;top:87%}
/* list order in the HTML is cvd, dm, ob, ht, dl, rh: place them to match the link lines */
.cd-hub .cd-dl{--c:#C28A00}
/* reveal: chips fly out from the hub */
.motion .cd-hub .cd-tile{opacity:0;transform:translateY(-50%) scale(.7)}
.motion .cd-hub .cd-tile:is(.cd-cvd,.cd-ht,.cd-dl){translate:40px 0}
.motion .cd-hub .cd-tile:is(.cd-dm,.cd-ob,.cd-rh){translate:-40px 0}
.motion .in .cd-hub .cd-tile{opacity:1;transform:translateY(-50%);translate:0 0;transition:opacity .5s ease,transform .6s cubic-bezier(.3,1.4,.5,1),translate .7s cubic-bezier(.2,.7,.2,1),border-color .3s;transition-delay:calc(.35s + var(--k) * .09s)}
.motion .in .cd-hub .cd-tile:hover{transform:translateY(calc(-50% - 3px));transition-delay:0s}
.motion .cd-core{scale:.4;opacity:0;transition:scale .8s cubic-bezier(.3,1.5,.5,1) .15s,opacity .4s ease .15s}
.motion .in .cd-core{scale:1;opacity:1}
.motion .cd-links{opacity:0;transition:opacity .8s ease .4s}
.motion .in .cd-links{opacity:1}
@media (max-width:560px){
  .cd-hub{height:auto}
  .cd-links,.cd-core{display:none}
  .cd-hub .cd-tiles{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .cd-hub .cd-tile{position:static;width:auto;transform:none!important;translate:0 0!important;font-size:12.5px;padding:6px 10px 6px 6px}
  .cd-hub .cd-ic{width:30px;height:30px}
}
@media (prefers-reduced-motion: reduce){.cd-ln,.cd-core-h,.cd-core::before,.cd-core::after{animation:none!important}
  .motion .cd-hub .cd-tile{opacity:1;translate:0 0;transition:none}.motion .cd-core,.motion .cd-links{opacity:1;scale:1;transition:none}}
.a11y-motion .cd-hub .cd-tile{opacity:1!important;translate:0 0!important}.a11y-motion :is(.cd-core,.cd-links){opacity:1!important;scale:1!important}
@media (max-width:560px){.cd-hub .cd-tile{border-radius:16px}}

/* heart symbol: much more faded, background-only feel */
.gp-deco.hsym{opacity:.28!important}
.gp-deco.hsym.mi-deco{opacity:.24!important}
.bgm-contour{opacity:.12!important}
.hsym .hs-fill{fill-opacity:.25!important}
.hsym .hs-shine{display:none}
.hsym .hs-line{stroke-width:1.2}
.hsym .hs-trace{stroke-width:1.8}
.hsym .hs-rip{stroke-width:1}
.hsym .hs-beat{animation-duration:2.2s}

/* ---------- Contact forms ---------- */
#partner form.contact-form,[data-form-wrap]{position:relative;overflow:hidden;border-radius:24px!important;border:1px solid #E4E8F1!important;background:#FFFFFF!important;
  box-shadow:0 40px 80px -40px rgba(10,20,45,.55)!important;padding:40px!important}
#partner form.contact-form::before,[data-form-wrap]::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#1C2C52,#7A1F2E 55%,#C9A04A)}
form.contact-form{display:grid!important;grid-template-columns:1fr 1fr;gap:20px 18px!important}
form.contact-form>*{grid-column:1/-1}
form.contact-form>label:has(input[name="name"]),form.contact-form>label:has(input[name="email"]){grid-column:auto}
form.contact-form label{gap:8px!important;font-size:13.5px!important;font-weight:700!important;color:#141C33;letter-spacing:.01em}
form.contact-form label:has([required])::after{content:none}
form.contact-form :is(input:not([type=hidden]):not([type=checkbox]),select,textarea){
  width:100%;font-size:15.5px!important;padding:14px 16px!important;border-radius:14px!important;border:1.5px solid #D3D9E4!important;background-color:#F7F8FC!important;color:#141C33;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;outline:none}
form.contact-form :is(input,select,textarea)::placeholder{color:#7B8496}
form.contact-form :is(input,select,textarea):hover{border-color:#AEB7C8!important}
form.contact-form :is(input,select,textarea):focus{border-color:#2453C9!important;background-color:#FFFFFF!important;box-shadow:0 0 0 4px rgba(36,83,201,.15)}
form.contact-form :is(input,select,textarea):focus-visible{outline:none!important}
form.contact-form :is(input,textarea):user-invalid{border-color:#A3283A!important;box-shadow:0 0 0 4px rgba(217,67,75,.12)}
form.contact-form textarea{min-height:140px;line-height:1.55}
form.contact-form select{-webkit-appearance:none;appearance:none;padding-right:44px!important;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5 L10 12.5 L15 7.5' fill='none' stroke='%231F335D' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 16px center!important}
form.contact-form>p{display:block;position:relative;padding:12px 14px 12px 40px;border-radius:12px;background:#F4F6FB;font-size:13px!important;color:#4A5468!important}
form.contact-form>p::before{content:"";position:absolute;left:15px;top:14px;width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 40'%3E%3Cpath d='M17 2 L31 7.5 V19 C31 28 25 34 17 37.5 C9 34 3 28 3 19 V7.5 Z' fill='none' stroke='%231F335D' stroke-width='3'/%3E%3C/svg%3E") center/contain no-repeat}
form.contact-form>p.form-error{background:#FFF1F1}
form.contact-form>p.form-error::before{display:none}
form.contact-form button[type=submit]{justify-self:start;display:inline-flex;align-items:center;gap:10px;padding:16px 30px!important;border-radius:999px!important;font-size:15.5px!important;font-weight:700!important;
  box-shadow:0 14px 28px -12px rgba(200,54,63,.65);transition:background .25s ease,transform .25s ease,box-shadow .25s ease}
form.contact-form button[type=submit]:not(.is-loading)::after{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10 H15 M11 6 L15 10 L11 14' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s ease}
form.contact-form button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(200,54,63,.75)}
form.contact-form button[type=submit]:hover::after{transform:translateX(4px)}
[data-form-wrap] form.contact-form{padding:0!important}
@media (max-width:640px){
  #partner form.contact-form,[data-form-wrap]{padding:24px 20px!important;border-radius:20px!important}
  form.contact-form{grid-template-columns:1fr}
  form.contact-form>label:has(input){grid-column:1/-1}
  form.contact-form button[type=submit]{justify-self:stretch;justify-content:center}
}
.a11y-contrast form.contact-form :is(input,select,textarea){border-color:#4A5468!important}
form.contact-form>p.form-error{padding-left:14px}

/* ---------- Partner page: contact panel ---------- */
.ct-sec{background:radial-gradient(900px 400px at 15% 20%,rgba(36,83,201,.06),transparent 70%),radial-gradient(700px 400px at 90% 80%,rgba(217,67,75,.05),transparent 70%)}
.ct-panel{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border-radius:28px;overflow:hidden;background:#FFFFFF;
  border:1px solid #E4E8F1;box-shadow:0 50px 90px -50px rgba(10,20,45,.5)}
.ct-aside{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:18px;padding:48px 40px 110px;color:#D3DAE8;
  background:radial-gradient(500px 300px at 100% 0%,rgba(139,47,168,.35),transparent 70%),radial-gradient(400px 300px at 0% 100%,rgba(217,67,75,.25),transparent 70%),linear-gradient(160deg,#1C2C52,#121D38)}
.ct-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#FFFFFF}
.ct-eyebrow::before{content:"";width:28px;height:2px;background:#E8C878}
section .ct-aside h2{color:#FFFFFF!important;font-size:clamp(30px,3.2vw,40px)!important}
.ct-aside .grad-text{--grad:linear-gradient(90deg,#F3DFA6,#E8C878 45%,#E9B3BB)}
.ct-lead{margin:0;font-size:17px;line-height:1.6;color:#D3DAE8}
.ct-items{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.ct-items li{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(4px);transition:background .25s ease,transform .25s ease}
.ct-items li:hover{background:rgba(255,255,255,.12);transform:translateX(4px)}
.ct-ic{flex:none;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#FFFFFF;background:linear-gradient(140deg,#B83A4B,#7A1F2E);box-shadow:0 8px 18px -8px rgba(217,67,75,.8)}
.ct-items li:nth-child(2) .ct-ic{background:linear-gradient(140deg,#7FA2E8,#2453C9);box-shadow:0 8px 18px -8px rgba(36,83,201,.8)}
.ct-tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.ct-k{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9FB0D0}
.ct-tx a{color:#FFFFFF!important;font-weight:600;font-size:15px;overflow-wrap:anywhere;text-decoration:none}
.ct-tx a:hover{text-decoration:underline}
.ct-tx>span:last-child{color:#FFFFFF;font-size:15px}
.ct-steps{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.ct-steps ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;position:relative}
.ct-steps ol::before{content:"";position:absolute;left:15px;top:16px;bottom:16px;width:2px;background:linear-gradient(#E8C878,#7FA2E8)}
.ct-steps li{position:relative;display:flex;align-items:center;gap:14px;padding:7px 0;font-size:15px;color:#E6EBF5}
.ct-steps b{flex:none;position:relative;z-index:1;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 13px 'Plus Jakarta Sans','Inter',sans-serif;color:#1C2C52;background:#FFFFFF;box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.ct-ecg{position:absolute;left:0;right:0;bottom:26px;width:100%;height:60px;opacity:.5}
.ct-ecg path{fill:none;stroke:#E3B76A;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:120 600;animation:ldEcg 3.4s linear infinite}
.ct-panel [data-form-wrap]{border:0!important;border-radius:0!important;box-shadow:none!important;padding:48px 44px!important;background:#FFFFFF!important}
.ct-panel [data-form-wrap]::before{display:none}
.ct-panel::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;z-index:2;background:linear-gradient(90deg,#1C2C52,#7A1F2E 55%,#C9A04A)}
.motion .ct-steps li{opacity:0;transform:translateX(-10px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.motion .in .ct-steps li{opacity:1;transform:none}
.motion .in .ct-steps li:nth-child(1){transition-delay:.5s}.motion .in .ct-steps li:nth-child(2){transition-delay:.65s}.motion .in .ct-steps li:nth-child(3){transition-delay:.8s}
@media (max-width:900px){.ct-panel{grid-template-columns:1fr}.ct-aside{padding:36px 28px 96px}}
@media (max-width:640px){.ct-panel{border-radius:22px}.ct-aside{padding:30px 22px 90px}.ct-panel [data-form-wrap]{padding:28px 22px!important}}
@media (prefers-reduced-motion: reduce){.ct-ecg path{animation:none;stroke-dasharray:none}.motion .ct-steps li{opacity:1;transform:none}}
.a11y-motion .ct-steps li{opacity:1!important;transform:none!important}
.a11y-contrast .ct-aside :is(p,span,li){color:#FFFFFF!important}
.ct-tx a{overflow-wrap:normal;word-break:normal}
.ct-aside{padding-bottom:96px}
/* official shield logo */
.loader-mark{filter:drop-shadow(0 10px 18px rgba(20,36,69,.25));animation:ldLogo 1.4s ease-in-out infinite}
.loader-mark .logo-heart{transform-box:fill-box;transform-origin:center;animation:ldBeat 1.4s ease-in-out infinite}
@keyframes ldLogo{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
header a svg[viewBox="0 0 100 120"]{filter:drop-shadow(0 3px 5px rgba(20,36,69,.2));transition:transform .3s ease}
header a:hover svg[viewBox="0 0 100 120"]{transform:rotate(-4deg) scale(1.05)}
@media (prefers-reduced-motion: reduce){.loader-mark,.loader-mark .logo-heart{animation:none!important}}

/* ================= Brand system (from the shield logo) =================
   60% ivory/white surfaces · 30% navy structure · 10% burgundy action · gold as a fine highlight */
:root{--navy:#1C2C52;--navy-deep:#121D38;--burgundy:#7A1F2E;--burgundy-dark:#5E1622;--crimson:#A3283A;--gold:#C9A04A;--gold-light:#E8C878;--gold-text:#8F6A1E;--ivory:#F8F6F1}
.eyebrow::before,.ct-eyebrow::before{background:var(--gold)!important;height:2px}
.scroll-progress{background:linear-gradient(90deg,var(--navy),var(--burgundy) 55%,var(--gold))!important}
.to-top .ring{stroke:var(--gold)!important}
.loader-bar i{background:linear-gradient(90deg,var(--burgundy),var(--gold))!important}
main a:not([class]):hover{color:var(--burgundy)!important}
.btn-red,.fw-cta{box-shadow:0 12px 26px -14px rgba(122,31,46,.8)}
.fw-cta{background:var(--navy)!important}
.fw-cta:hover{background:var(--burgundy)!important}
.gp-num,.mi-num{box-shadow:inset 0 0 0 1px rgba(201,160,74,.25)}
.a11y-btn{background:var(--navy)}.a11y-btn:hover{background:var(--burgundy)}
:focus-visible{outline-color:var(--gold-text)!important}
.is-navy :focus-visible,footer :focus-visible{outline-color:var(--gold-light)!important}
footer{border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--navy),var(--gold),var(--burgundy)) 1}

/* ---------- Theme toggle ---------- */
header>div{justify-content:flex-start!important}
header>div>a:first-child{margin-right:auto}
.theme-btn{order:3;flex:none;width:44px;height:44px;border-radius:50%;border:1px solid #DDD6C8;background:#FFFFFF;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,color .25s,transform .3s}
.theme-btn:hover{background:var(--navy);color:var(--gold-light);transform:rotate(-15deg)}
.theme-btn .t-moon{display:none}.dark .theme-btn .t-sun{display:none}.dark .theme-btn .t-moon{display:block}
nav[aria-label="Main"]{order:2}
.menu-btn{order:4}
@media (max-width:860px){nav[aria-label="Main"]{order:5}}
.theme-anim *,.theme-anim *::before,.theme-anim *::after{transition:background-color .35s ease,color .35s ease,border-color .35s ease!important}

/* ================= Dark mode ================= */
.dark{color-scheme:dark;--d0:#0D1322;--d1:#121A2C;--ds:#161F34;--ds2:#1C263E;--dbd:#2A3550;--dt0:#F1F3F8;--dt1:#B7C0D2;--dt2:#8E99AF}
.dark body{background:var(--d0)!important;color:var(--dt1)}
.dark .d-bg0{background-color:var(--d0)!important}
.dark .d-bg1{background-color:var(--d1)!important}
.dark .d-surf{background-color:var(--ds)!important}
.dark .d-tx0{color:var(--dt0)!important}
.dark .d-tx1{color:var(--dt1)!important}
.dark .d-bd{border-color:var(--dbd)!important}
.dark .d-bdn{border-color:#8E9BB8!important}
.dark main a:not([class]){color:var(--gold-light)}
.dark section h1,.dark section h2,.dark h3{color:var(--dt0)!important}
.dark .eyebrow{color:#D9C38A!important}
.dark .grad-text{--grad:linear-gradient(90deg,#F3DFA6,#E8C878 45%,#E9B3BB)}
.dark .is-navy{background-color:#16213F!important}
.dark header{background-color:rgba(13,19,34,.94)!important;border-color:var(--dbd)!important}
.dark header.scrolled{background:rgba(13,19,34,.9)!important;box-shadow:0 6px 24px -12px rgba(0,0,0,.8)}
.dark header nav a[aria-current="page"]{color:var(--gold-light)!important;border-color:var(--gold-light)!important}
.dark .menu-btn,.dark .theme-btn{background:var(--ds);border-color:var(--dbd);color:var(--gold-light)}
.dark .menu-btn path{stroke:var(--dt0)}
.dark footer{background:#080D18!important}
.dark .loader{background:var(--d0)!important}
.dark .hero::before{background:radial-gradient(circle,rgba(201,160,74,.12),transparent 65%)}
.dark .hero::after{background:radial-gradient(circle,rgba(122,31,46,.2),transparent 65%)}
/* illustrations: invert drawn diagrams, keep hue */
.dark main svg[role="img"]{filter:invert(.9) hue-rotate(180deg) saturate(1.2)}
.dark main svg:not([role="img"]):not(.hsym) [stroke="#1C2C52"],.dark main svg:not([role="img"]):not(.hsym) [stroke="#121D38"]{stroke:#C9D2E6}
.dark main svg:not([role="img"]):not(.hsym) [fill="#1C2C52"]{fill:#C9D2E6}
.dark .bgm{color:#8E9BB8}
/* section backdrops */
.dark :is(.gp-sec,.mi-sec,.ld-sec,.ct-sec){background:radial-gradient(800px 420px at 85% 0%,rgba(201,160,74,.07),transparent 70%),radial-gradient(700px 420px at 0% 70%,rgba(122,31,46,.12),transparent 70%),var(--d0)!important}
.dark .mi-floor path{fill:var(--d1)}
/* cards */
.dark :is(.fw-card,.gp-card,.mi-card,.ld-card,.cd-card,.pb-card){background:linear-gradient(180deg,color-mix(in srgb,var(--c,var(--ta,#8E9BB8)) 14%,var(--ds)),var(--ds) 60%)!important;border-color:var(--dbd)!important;box-shadow:0 30px 60px -36px rgba(0,0,0,.9)!important}
.dark :is(.fw-card,.gp-card,.mi-card,.ld-card,.cd-card,.pb-card) :is(h3,.cd-lbl,.pb-ther-l,.fw-title h3){color:var(--dt0)!important}
.dark :is(.fw-card,.gp-card,.mi-card,.ld-card,.cd-card,.pb-card) :is(p,li,.ld-role,.pb-lbl,.pb-legend,.gp-head p){color:var(--dt1)!important}
.dark .fw-card::after{background:color-mix(in srgb,var(--ta) 22%,var(--ds))}
.dark .fw-icon{background:#EEF0F6!important;border-color:transparent!important}
.dark .fw-arrow{background:var(--ds2);color:var(--dt0)}
.dark .fw-btns button{background:var(--ds);border-color:var(--dbd);color:var(--dt0)}
.dark .fw-dots button{background:#3A4664}
.dark .gp-body{background:var(--ds2)!important;box-shadow:none}
.dark .gp-sol{background:color-mix(in srgb,var(--c) 20%,var(--ds2))!important}
.dark .gp-sol p{color:var(--dt0)!important}
.dark .gp-sol-l{color:color-mix(in srgb,var(--c) 55%,#FFFFFF)!important}
.dark .gp-warn{background:rgba(163,40,58,.22);color:#F3AEB8}
.dark :is(.gp-icon,.mi-icon,.ld-av){background:radial-gradient(circle at 30% 25%,#2B3652,color-mix(in srgb,var(--c) 28%,var(--ds2)) 80%)!important;color:color-mix(in srgb,var(--c) 45%,#FFFFFF)!important}
.dark .ld-av{border-color:var(--ds)!important}
.dark .ld-role{border-color:var(--dbd)!important}
.dark .ld-link{color:var(--gold-light)!important}
.dark :is(.gp-num,.mi-num){background:color-mix(in srgb,var(--c) 25%,var(--ds2));color:color-mix(in srgb,var(--c) 45%,#FFFFFF)}
.dark :is(.mi-wave,.ld-wave) path{fill:color-mix(in srgb,var(--c) 22%,var(--ds))}
.dark .cd-hub .cd-tile,.dark .cd-tile{background:var(--ds2)!important;color:var(--dt0)!important;border-color:var(--dbd)!important}
.dark .cd-core{background:radial-gradient(circle at 35% 30%,#3A2230,#22182A 80%);border-color:#5A2A38}
.dark .cd-core span{color:#F3AEB8}
.dark .cd-ln{stroke:#3A4664}
.dark .cd-ther li,.dark .pb-chips span{background:#1F2B47;border-color:#2F3D60;color:#D6DEF0}
.dark .cd-risk,.dark .pb-note{background:rgba(163,40,58,.14);border-color:rgba(163,40,58,.35)}
.dark .cd-risk-hd{color:var(--dt0)}.dark .cd-risk-hd strong,.dark .pb-num{color:#EE8E9B}
.dark .cd-bar{background:#3A2230}
.dark .pb-dot.goal,.dark .pb-legend .k.goal{background:#9FB3E0}
.dark .pb-eyebrow{color:var(--gold-light)}
/* hero symbol letters */
.dark .sym-text{color:var(--dt0)}
.dark .sym-gauge .so-ring{stroke:var(--dt0)}
.dark .sym-care{color:#EE8E9B}
/* forms */
.dark :is(#partner form.contact-form,[data-form-wrap],.ct-panel){background:var(--ds)!important;border-color:var(--dbd)!important}
.dark .ct-panel [data-form-wrap]{background:var(--ds)!important}
.dark form.contact-form label{color:var(--dt0)!important}
.dark form.contact-form :is(input:not([type=hidden]):not([type=checkbox]),select,textarea){background-color:#10182A!important;border-color:#33405E!important;color:var(--dt0)!important}
.dark form.contact-form :is(input,select,textarea):focus{background-color:#0D1322!important;border-color:var(--gold)!important;box-shadow:0 0 0 4px rgba(201,160,74,.2)}
.dark form.contact-form :is(input,textarea)::placeholder{color:#7F8AA3}
.dark form.contact-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5 L10 12.5 L15 7.5' fill='none' stroke='%23E8C878' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.dark form.contact-form>p{background:#10182A!important;color:var(--dt1)!important}
.dark form.contact-form>p::before{filter:invert(1)}
/* floating UI */
.dark .to-top{background:var(--ds)}.dark .to-top path{stroke:var(--gold-light)}.dark .to-top .ring-bg{stroke:var(--dbd)}
.dark .a11y-panel{background:var(--ds);border-color:var(--dbd);color:var(--dt0)}
.dark .a11y-hd h2{color:var(--dt0)}
.dark .a11y-intro,.dark .a11y-dd{color:var(--dt1)}
.dark .a11y-size{background:var(--ds2)}
.dark :is(.a11y-tg,.a11y-x,.a11y-stepper button,.a11y-reset){background:var(--ds2);border-color:var(--dbd);color:var(--dt0)}
.dark .a11y-stepper output{color:var(--dt0)}
.dark .a11y-tg[aria-checked="true"]{background:#24304D;border-color:var(--gold)}
.dark .a11y-ic{background:#24304D;color:var(--gold-light)}
.dark .a11y-tg[aria-checked="true"] .a11y-ic,.dark .a11y-tg[aria-checked="true"] .a11y-sw{background:var(--gold);color:#1C2C52}
.dark .a11y-ft{border-color:var(--dbd)}.dark .a11y-ft a{color:var(--gold-light)}
.dark .a11y-btn{background:var(--gold);color:var(--navy-deep)}
.dark .skip-link{background:var(--gold);color:var(--navy-deep)!important}
.dark :focus-visible{outline-color:var(--gold-light)!important}
.dark .btn-red{background:var(--burgundy)!important;color:#FFFFFF!important}.dark .btn-red:hover{background:#9A2A3C!important}
.dark main svg:not([role="img"]):not(.hsym) :is([stroke="#DCE1EA"],[stroke="#D5DAE3"],[stroke="#E8E3D9"]){stroke:#26314A}.dark main svg:not([role="img"]) :is([fill="#FFFFFF"]){fill:var(--ds2)}

/* ---------- Care Gap page: each group is a proper card ---------- */
:is(#patients,#hcps,#systems){--c:#2453C9;--tint:#F3F7FF;position:relative;overflow:hidden;padding:44px 44px!important;margin:0 0 28px;border-radius:26px;
  border:1px solid color-mix(in srgb,var(--c) 18%,#E8E3D9)!important;background:linear-gradient(135deg,var(--tint),#FFFFFF 55%)!important;
  box-shadow:0 24px 50px -36px rgba(20,36,69,.35)}
#hcps{--c:#7B3FC4;--tint:#F8F3FF}#systems{--c:#0E8C7E;--tint:#EFFAF7}
:is(#patients,#hcps,#systems)::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}
:is(#patients,#hcps,#systems):hover{transform:translateY(-4px)!important;box-shadow:0 34px 60px -34px rgba(20,36,69,.45)}
:is(#patients,#hcps,#systems)>div:first-child>span:first-child{align-self:flex-start;font:800 15px/1 'Plus Jakarta Sans','Inter',sans-serif!important;color:var(--c)!important;background:color-mix(in srgb,var(--c) 12%,#FFFFFF);padding:8px 12px;border-radius:10px}
:is(#patients,#hcps,#systems)>div:first-child>svg{width:72px;height:72px;padding:12px;border-radius:20px;background:#FFFFFF;box-shadow:0 12px 26px -16px var(--c)}
:is(#patients,#hcps,#systems)>div:first-child>svg *{stroke:var(--c)!important}
:is(#patients,#hcps,#systems) li::marker{color:var(--c)}
:is(#patients,#hcps,#systems) div[style*="align-self: flex-start"],:is(#patients,#hcps,#systems) .d-bg1{background:color-mix(in srgb,var(--c) 9%,#FFFFFF)!important;border-radius:18px!important;border:1px solid color-mix(in srgb,var(--c) 18%,#FFFFFF)}
@media (max-width:640px){:is(#patients,#hcps,#systems){padding:26px 22px 26px 26px!important;border-radius:20px;gap:24px!important}}
.dark :is(#patients,#hcps,#systems){background:linear-gradient(135deg,color-mix(in srgb,var(--c) 14%,var(--ds)),var(--ds) 60%)!important;border-color:var(--dbd)!important}
.dark :is(#patients,#hcps,#systems)>div:first-child>svg{background:var(--ds2)}
.dark :is(#patients,#hcps,#systems) .d-bg1{background:color-mix(in srgb,var(--c) 16%,var(--ds2))!important;border-color:var(--dbd)}
.dark main a:not([class*="-card"]):not([class*="btn"]):not(.fw-cta):not(.ld-link){color:var(--gold-light)}

/* dark mode: pill links and brand-harmonised accents (no raw blues on navy) */
.dark main a.d-surf{background:var(--ds2)!important;color:var(--dt0)!important;border-color:#34405E!important;transition:border-color .2s,color .2s}
.dark main a.d-surf:hover{border-color:var(--gold)!important;color:var(--gold-light)!important}
.dark :is(.gp-pt,.mi-org,.ld-b,.cd-dm,#patients){--c:#8FAEF5;--c2:#B8CCFA;--tint:#18233F}
.dark .fw-a{--ta:#C9A04A;--tb:#3A3424;--tw:#2E2A1E}
.dark .fw-a .fw-badge{background:#C9A04A;color:#121D38;border-color:#C9A04A}
.dark .pb-dot.goal,.dark .pb-legend .k.goal{background:#E8C878}
.dark .cd-ther li>svg:first-child,.dark .pb-chips svg{color:#E8C878}
.dark .cd-ther li,.dark .pb-chips span{background:#1C2438;border-color:#323C56;color:#E4E8F1}
.dark .fw-dots button[aria-current="true"]{background:var(--gold)}
.dark .ld-link{color:var(--gold-light)!important}
.dark .gp-body li::before{box-shadow:none}
.dark #hcps{--c:#B79CF2}
.dark #systems{--c:#6FD3C4}
.dark :is(#patients,#hcps,#systems)>div:first-child>span:first-child{background:color-mix(in srgb,var(--c) 18%,var(--ds2))!important;color:var(--c)!important}
.dark :is(#patients,#hcps,#systems)>div:first-child>svg{border:1px solid color-mix(in srgb,var(--c) 30%,var(--dbd))}

/* ===== News, blog & events ===== */
.nw-wrap{max-width:1200px;margin:0 auto;padding:72px 48px 96px;display:flex;flex-direction:column;gap:32px}
.nw-home .nw-wrap{padding:104px 48px 104px}
.nw-h2{margin:0;font:500 28px/1.2 'Source Serif 4',serif;color:var(--navy)}
.nw-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}
.nw-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:5px;border-radius:999px;background:#F2EFE8;border:1px solid #E8E3D9}
.nw-tab{font:600 14px/1 'Inter',sans-serif;padding:10px 18px;border-radius:999px;border:0;background:transparent;color:#3E475C;cursor:pointer;transition:background .2s,color .2s}
.nw-tab:hover{color:var(--navy)}
.nw-tab[aria-pressed="true"]{background:var(--navy);color:#FFFFFF;box-shadow:0 6px 14px -8px rgba(28,44,82,.7)}
.nw-all{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--burgundy)!important;text-decoration:none;padding:10px 0;border-bottom:2px solid var(--gold)}
.nw-all:hover{color:var(--crimson)!important}
.nw-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.nw-card{--c:var(--navy);--t:#EEF1F7;animation:nwIn .5s both}
.nw-card:nth-child(2){animation-delay:.07s}.nw-card:nth-child(3){animation-delay:.14s}.nw-card:nth-child(n+4){animation-delay:.2s}
@keyframes nwIn{from{opacity:0;transform:translateY(14px)}}
.nw-blog{--c:var(--burgundy);--t:#F7ECEE}.nw-event{--c:var(--gold-text);--t:#F8F0DE}
.nw-link{position:relative;height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;padding:28px 28px 26px;border-radius:20px;background:#FFFFFF;border:1px solid #E8E3D9;text-decoration:none;color:inherit!important;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.nw-link::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c)}
.nw-link:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--c) 35%,#E8E3D9);box-shadow:0 26px 48px -30px rgba(28,44,82,.45)}
.nw-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:#5A6478}
.nw-type{font:700 11.5px/1 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--c,var(--navy));background:var(--t,#EEF1F7);padding:7px 10px;border-radius:999px}
.nw-sample{font:600 11.5px/1 'Inter',sans-serif;padding:6px 9px;border-radius:999px;border:1px dashed #B9A88A;color:#7A6A4E}
.nw-date{margin-left:auto}
.nw-title{margin:0;font:500 22px/1.3 'Source Serif 4',serif;color:var(--navy)}
.nw-sum{margin:0;font-size:15.5px;line-height:1.65;color:#3E475C;flex:1}
.nw-more{font-weight:600;font-size:14.5px;color:var(--burgundy)}
.nw-link:hover .nw-more span{display:inline-block;transform:translateX(4px);transition:transform .2s}
.nw-evline{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:#3E475C}
.nw-dt{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:56px;border-radius:12px;background:var(--navy);color:#FFFFFF;line-height:1}
.nw-dt b{font:800 21px/1 'Plus Jakarta Sans','Inter',sans-serif}
.nw-dt i{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);margin-top:4px}
.nw-up{display:flex;flex-direction:column;gap:16px}
.nw-ev-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.nw-ev a{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:16px;background:linear-gradient(120deg,#FBF6EA,#FFFFFF);border:1px solid #EADFC4;text-decoration:none;color:inherit!important;transition:border-color .2s,transform .2s}
.nw-ev a:hover{border-color:var(--gold);transform:translateY(-2px)}
.nw-ev-tx{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#3E475C}
.nw-ev-tx strong{font-size:16px;color:var(--navy)}
.nw-empty{margin:0;padding:40px;text-align:center;border:1px dashed #D8D1C2;border-radius:16px;color:#5A6478}
/* single post */
.ps-hero{max-width:820px;margin:0 auto;padding:56px 48px 48px;display:flex;flex-direction:column;gap:18px}
.ps-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:14px;color:#5A6478}
.ps-lead{margin:0;font-size:19px;line-height:1.6;color:#3E475C}
.ps-wrap{max-width:820px;margin:0 auto;padding:48px 48px 96px;display:flex;flex-direction:column;gap:32px}
.ps-event{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px 24px;padding:24px;border-radius:18px;background:#FBF6EA;border:1px solid #EADFC4}
.ps-event .nw-dt{width:64px;height:70px}.ps-event .nw-dt b{font-size:26px}
.ps-event dl{margin:0;flex:1 1 260px;display:grid;gap:8px}
.ps-event dl div{display:flex;gap:12px}
.ps-event dt{flex:none;width:56px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);padding-top:3px}
.ps-event dd{margin:0;font-size:15.5px;color:var(--navy);font-weight:500}
.ps-acts{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ps-acts .fw-cta{padding:13px 24px}
.ps-cal{font-weight:600;color:var(--navy)!important;padding:12px 20px;border-radius:999px;border:1px solid #C9CFDA;text-decoration:none}
.ps-cal:hover{border-color:var(--gold)}
.ps-past{flex-basis:100%;margin:0;font-weight:600;color:#5A6478}
.ps-body{display:flex;flex-direction:column;gap:18px;font-size:17px;line-height:1.8;color:#2E3648}
.ps-body p,.ps-body ul{margin:0}
.ps-body ul{padding-left:22px;display:flex;flex-direction:column;gap:8px}
.ps-body li::marker{color:var(--burgundy)}
.ps-body h2{margin:14px 0 0;font:500 26px/1.3 'Source Serif 4',serif;color:var(--navy)}
.ps-back{align-self:flex-start;font-weight:600;text-decoration:none;color:var(--burgundy)!important;border-bottom:2px solid var(--gold);padding-bottom:4px}
@media (max-width:640px){
  .nw-wrap,.nw-home .nw-wrap{padding:56px 20px 72px}.ps-hero{padding:40px 20px 32px}.ps-wrap{padding:32px 20px 72px}
  .nw-grid,.nw-ev-list{grid-template-columns:1fr}.nw-tabs{width:100%;justify-content:space-between}.nw-tab{flex:1;padding:10px 8px}
  #ps-title{font-size:32px!important}
}
@media (prefers-reduced-motion:reduce){.nw-card{animation:none}}
.a11y-motion .nw-card{animation:none}
/* dark */
.dark .nw-h2,.dark .nw-title,.dark .ps-body h2,.dark .nw-ev-tx strong,.dark .ps-event dd{color:var(--dt0)}
.dark .nw-sum,.dark .nw-evline,.dark .nw-ev-tx,.dark .ps-body,.dark .ps-lead{color:var(--dt1)}
.dark .nw-top,.dark .ps-meta,.dark .ps-past,.dark .nw-empty{color:var(--dt2)}
.dark .nw-link{background:var(--ds);border-color:var(--dbd)}
.dark .nw-link:hover{border-color:color-mix(in srgb,var(--c) 45%,var(--dbd));box-shadow:0 26px 48px -30px #000}
.dark .nw-card{--c:#8FAEF5;--t:#1B2745}.dark .nw-blog{--c:#E9A3AE;--t:#3A1D27}.dark .nw-event{--c:#E8C878;--t:#342C1A}
.dark .nw-more,.dark .nw-all,.dark .ps-back{color:var(--gold-light)!important}
.dark .nw-tabs{background:var(--ds);border-color:var(--dbd)}
.dark .nw-tab{color:var(--dt1)}.dark .nw-tab:hover{color:var(--dt0)}
.dark .nw-tab[aria-pressed="true"]{background:var(--gold);color:#121D38}
.dark .nw-dt{background:#24304D}
.dark .nw-ev a,.dark .ps-event{background:linear-gradient(120deg,#231F18,var(--ds));border-color:#3D3524}
.dark .ps-event dt{color:var(--gold)}
.dark .ps-cal{color:var(--dt0)!important;border-color:var(--dbd)}
.dark .nw-sample{border-color:#6B5E44;color:#CBB98F}
.dark .nw-empty{border-color:var(--dbd)}
.dark .ps-body li::marker{color:#E9A3AE}
.nw-h2{font-size:26px!important;line-height:1.2!important}
.nw-title{font:800 20px/1.3 'Plus Jakarta Sans','Inter',sans-serif;letter-spacing:-.01em}
.ps-body h2{font-size:24px!important;line-height:1.3!important}

/* news cards: clean & simple */
.nw-link{padding:28px;border-radius:12px;gap:12px;box-shadow:none}
.nw-link::before{display:none}
.nw-link:hover{transform:none;box-shadow:0 10px 30px -20px rgba(28,44,82,.35);border-color:#D6CFC0}
.nw-top{gap:10px;font-size:13px}
.nw-type{background:none!important;padding:0;font-size:12px;letter-spacing:.12em}
.nw-type::after{content:"·";margin-left:10px;color:#A9A193;font-weight:400}
.nw-sample{border:0;padding:0;font-weight:500;font-style:italic;color:#8A8170}
.nw-sample::after{content:"·";margin-left:10px;color:#A9A193;font-style:normal}
.nw-date{margin-left:0}
.nw-card .nw-evline .nw-dt{display:none}
.nw-evline{font-size:14px;color:var(--navy);font-weight:600}
.nw-title{font-size:19px}
.nw-sum{font-size:15px}
.nw-more{font-size:14px;margin-top:4px}
.nw-ev a{background:#FFFFFF;border-color:#E8E3D9;border-radius:12px}
.dark .nw-link:hover{border-color:#3A4562;box-shadow:none}
.dark .nw-type::after,.dark .nw-sample::after{color:var(--dt2)}
.dark .nw-sample{color:var(--dt2)}
.dark .nw-evline{color:var(--dt0)}
.dark .nw-ev a{background:var(--ds);border-color:var(--dbd)}

/* no coloured top strips on cards */
.nw-link::before,.pb-card::before,.cd-card::before,#partner form.contact-form::before,[data-form-wrap]::before,.ct-panel::before{display:none!important;content:none!important}

/* ===== Lighter palette ===== */
html:not(.dark) .ct-aside{color:#4A5570;background:radial-gradient(420px 260px at 100% 0%,rgba(201,160,74,.16),transparent 70%),radial-gradient(380px 260px at 0% 100%,rgba(163,40,58,.08),transparent 70%),linear-gradient(160deg,#F3F6FC,#EAF0F9)}
html:not(.dark) .ct-panel{border-color:#E1E6F0;box-shadow:0 40px 80px -55px rgba(28,44,82,.35)}
html:not(.dark) .ct-eyebrow{color:#5A6478}
html:not(.dark) section .ct-aside h2{color:#1C2C52!important}
html:not(.dark) .ct-aside .grad-text{--grad:linear-gradient(90deg,#1C2C52 0%,#4A2348 40%,#8A2234 68%,#9A6B1F 100%)}
html:not(.dark) .ct-lead{color:#4A5570}
html:not(.dark) .ct-items li{background:#FFFFFF;border-color:#E1E6F0;backdrop-filter:none}
html:not(.dark) .ct-items li:hover{background:#FFFFFF;border-color:#D3C39C}
html:not(.dark) .ct-k{color:#5A6478}
html:not(.dark) .ct-tx a,html:not(.dark) .ct-tx>span:last-child{color:#1C2C52!important}
html:not(.dark) .ct-steps li{color:#3E475C}
html:not(.dark) .ct-steps b{background:#1C2C52;color:#FFFFFF;box-shadow:0 0 0 4px #E3E9F4}
html:not(.dark) .ct-steps ol::before{background:linear-gradient(#C9A04A,#C9CFDA)}
html:not(.dark) .ct-ecg{opacity:.35}
html:not(.dark) .ct-steps>span,html:not(.dark) .ct-steps h3,html:not(.dark) .ct-steps p{color:#5A6478!important}
/* light tinted bands */
html:not(.dark) [style*="background: #EEF2FA"] .eyebrow{color:#5A6478!important}
html:not(.dark) #partner form.contact-form{box-shadow:0 30px 60px -40px rgba(28,44,82,.35)!important;border:1px solid #E1E6F0}
html:not(.dark) .bgm.on-dark{display:none}
/* lighter primary buttons */
html:not(.dark) .btn-red,html:not(.dark) .fw-cta{background:#A3283A!important;box-shadow:0 10px 22px -14px rgba(163,40,58,.7)!important}
html:not(.dark) .btn-red:hover,html:not(.dark) .fw-cta:hover{background:#8A2234!important}
/* light footer */
html:not(.dark) footer{background:#F3F5FA!important;color:#4A5570!important}
html:not(.dark) footer [style*="color: #FFFFFF"]{color:#1C2C52!important}
html:not(.dark) footer a{color:#3E475C!important}
html:not(.dark) footer a:hover{color:#A3283A!important}
html:not(.dark) footer [style*="border-top: 1px solid #2E4068"]{border-top-color:#DCE3F0!important;color:#5A6478!important}
html:not(.dark) footer :focus-visible{outline-color:#A3283A!important}
html:not(.dark) .ft-art{border-bottom-color:#DCE3F0;background:radial-gradient(ellipse 60% 120% at 50% 100%,rgba(201,160,74,.12),transparent 70%)}
html:not(.dark) .ft-art [fill="#121D38"]{fill:#F3F5FA}
html:not(.dark) .ft-art stop[stop-color="#121D38"]{stop-color:#F3F5FA}
html:not(.dark) .ft-art pattern path{stroke:#E4E9F2}
html:not(.dark) .ft-art .ft-trace path:first-child{stroke:#C3CDE0}
html:not(.dark) .ft-art .ft-glow[stroke="#FFFFFF"]{stroke:#A3283A}
html:not(.dark) .ft-art text{fill:#1C2C52}
html:not(.dark) .ft-art .ft-labels{fill:#7A859C}
html:not(.dark) .ft-art .ft-dot{fill:#B9C6E0}
html:not(.dark) .a11y-contrast footer :is(p,li,span,small,a){color:#0B1220!important}
