@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/montserrat-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/montserrat-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/montserrat-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/montserrat-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
body{margin:0}[hidden]{display:none!important}

/* Layout: full-bleed bands. Night-teal cinematic heroes with product imagery, white reading bands, night "data panels" for evidence. A pulmonary pressure trace runs under every hero. Single deliberate look (no theme switch): imagery is shot on white and on anatomy renders. */
:root{
  --night:#0F6181; --night2:#0B5170; --deep:#0F6181; --blue:#0892C1; --glow:#0892C1; --sky:#D2EBF6; --mist:#F3F8FB;
  --ink:#16262E; --slate:#3D4E57; --muted:#5B6C75; --line:#D9E4E9; --sand:#D0B798; --paper:#FFFFFF; --warn:#7A4410; --warn-bg:#FBF2E4;
  --on-night:#F1F8FB; --on-night-muted:#CFE3EC;
  --display:"Montserrat","Segoe UI",Arial,sans-serif; --body:"Montserrat","Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.6}
@media (max-width:700px){body{font-size:17.5px}}
h1,h2,h3{font-family:var(--display);line-height:1.1;text-wrap:balance;margin:0;color:var(--night)}
h1{font-size:clamp(2.1rem,5vw,3.9rem);font-weight:700;letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,3.1vw,2.4rem);font-weight:700;letter-spacing:-.01em}
h3{font-size:1.2rem;font-weight:700}
p{margin:0;max-width:64ch}
a{color:var(--blue)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sand);outline-offset:2px}
.wrap{max-width:1600px;margin-inline:auto;padding-inline:clamp(22px,3vw,48px)}
.stack{display:flex;flex-direction:column;gap:18px}
.eyebrow{font-family:var(--display);font-weight:700;font-size:0.95rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.lede{font-size:1.32rem;color:var(--slate);font-weight:400}
.grad{color:var(--sky);font-weight:300}
/* utility + header */
.util{background:var(--night);color:var(--on-night-muted);font-size:0.95rem}
.util .wrap{display:flex;justify-content:space-between;gap:16px;padding-block:7px;flex-wrap:wrap}
.util a{color:var(--on-night);text-decoration:none;margin-left:18px}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:8px}
.bar img{height:clamp(44px,5vw,62px);width:auto;display:block}
nav.main>ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
nav.main li{position:relative}
nav.main .top{font-family:var(--display);font-weight:700;font-size:1.12rem;color:var(--night);text-decoration:none;padding:10px 14px;border-radius:999px;display:block;background:none;border:0;cursor:pointer}
nav.main li:hover>.top,nav.main li:focus-within>.top{background:var(--mist);color:var(--deep)}
nav.main .top.on{background:var(--night);color:#fff}
.eyebrow{font-weight:600}
nav.main .sub{position:absolute;left:0;top:100%;min-width:270px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 18px 40px rgba(4,28,38,.14);display:none;list-style:none;margin:0}
nav.main li:hover>.sub,nav.main li:focus-within>.sub{display:block}
nav.main li:last-child .sub{left:auto;right:0}
nav.main .sub a{display:block;padding:9px 12px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:1.06rem}
nav.main .sub a:hover{background:var(--mist);color:var(--deep)}
nav.main .sub a[aria-current="page"]{color:var(--blue);font-weight:700}
.navcol{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.utilrow{display:flex;font-size:1.05rem;font-family:var(--display);font-weight:500}
.utilrow a{color:var(--slate);text-decoration:none;padding:3px 16px;border-left:1px solid var(--line)}
.utilrow a:first-child{border-left:0}
nav.main li.m-only{display:none}
#menuBtn{display:none;background:none;border:0;padding:10px;margin-right:-10px;cursor:pointer;width:48px;height:48px;flex-direction:column;justify-content:center;gap:6px}
#menuBtn span{display:block;height:3px;border-radius:2px;background:var(--night);transition:transform .2s,opacity .2s}
#menuBtn[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
#menuBtn[aria-expanded="true"] span:nth-child(2){opacity:0}
#menuBtn[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
@media (max-width:1020px){
  #menuBtn{display:flex}
  .utilrow{display:none}
  nav.main li.m-only{display:block}
  .navcol{display:contents}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 22px 18px;max-height:75vh;overflow:auto}
  nav.main.open{display:block}
  nav.main>ul{flex-direction:column}
  nav.main .sub{display:block;position:static;border:0;box-shadow:none;padding:0 0 6px 12px;min-width:0}
}
.phero.vidbg video{position:absolute;right:0;top:0;height:100%;width:60%;object-fit:cover;object-position:50% 22%;opacity:.42;mix-blend-mode:multiply;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%);mask-image:linear-gradient(90deg,transparent 0,#000 45%)}.phero.vidbg::before{display:none}@media (max-width:820px){.phero.vidbg video{width:100%;opacity:.22}}@media (prefers-reduced-motion:reduce){.phero.vidbg video{display:none}}
/* heroes: light, product-photo ground with the brand mark */
.hero,.phero{position:relative;background:linear-gradient(115deg,#E6E8F1,#F5F6FA 55%,#E3EDF4);color:var(--ink);overflow:hidden}
.trace{display:none!important}
.hero .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;padding-block:40px 96px}
.hero .wrap>*{min-width:0}
.hero-art{position:relative;display:flex;align-items:center;justify-content:center}
.hero-art .implant{width:100%;max-width:560px;mix-blend-mode:multiply}
.hero-copy{display:flex;align-items:center;gap:22px}
.hero-copy .mark{width:clamp(110px,15vw,210px);height:auto;flex:none}
.hero-copy .upright{width:clamp(150px,17vw,230px);display:block;margin-bottom:8px}
.tag{font-family:var(--display);text-transform:uppercase;line-height:1.02;color:var(--night);font-size:clamp(1.4rem,3vw,2.6rem)}
.tag b{display:block;font-weight:700}
.tag span{display:block;font-weight:300;white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--night);color:#fff;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}.skip:focus{top:12px}main:focus{outline:none}

.a11y-btn{position:fixed;left:14px;bottom:calc(14px + var(--ackh,0px));z-index:60;width:46px;height:46px;border-radius:14px;border:2px solid #fff;background:var(--night);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px rgba(15,97,129,.35);padding:0}
.a11y-btn svg{width:27px;height:27px}
.a11y-btn:focus-visible{outline:3px solid var(--sand);outline-offset:3px}
.a11y-panel{position:fixed;left:14px;bottom:calc(70px + var(--ackh,0px));z-index:61;width:300px;max-width:calc(100vw - 28px);max-height:calc(100vh - 100px - var(--ackh,0px));overflow:auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(15,40,60,.28);padding:18px}
.a11y-panel[hidden]{display:none}
.a11y-panel h2{font-size:1.15rem;margin:0 0 12px;color:var(--night)}
.a11y-panel .opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-panel button.o{font:inherit;font-size:.92rem;font-weight:600;color:var(--night);background:var(--mist);border:2px solid transparent;border-radius:12px;padding:12px 8px;cursor:pointer;text-align:center;line-height:1.25}
.a11y-panel button.o[aria-pressed="true"]{border-color:var(--night);background:#e1eef4}
.a11y-panel .row{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:10px;flex-wrap:wrap}
.a11y-panel .row a{color:var(--night);font-weight:700;font-size:.95rem}
.a11y-panel .row button{font:inherit;font-size:.92rem;background:none;border:0;color:var(--night);text-decoration:underline;cursor:pointer;padding:4px}
.a11y-panel .x{position:absolute;right:10px;top:8px;font-size:1.4rem;background:none;border:0;color:var(--night);cursor:pointer;line-height:1;padding:6px}
html.a11y-big1 body>*:not(.a11y){zoom:1.12}
html.a11y-big2 body>*:not(.a11y){zoom:1.25}
html.a11y-contrast body>*:not(.a11y){filter:contrast(1.45)}
html.a11y-gray body>*:not(.a11y){filter:grayscale(1)}
html.a11y-contrast.a11y-gray body>*:not(.a11y){filter:grayscale(1) contrast(1.45)}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px}
html.a11y-font body,html.a11y-font body *:not(svg):not(svg *){font-family:Arial,Helvetica,sans-serif!important;letter-spacing:.02em!important;word-spacing:.08em!important}
html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media (max-width:640px){.a11y-btn{top:auto;bottom:96px;transform:none;left:10px;width:46px;height:46px}.a11y-panel{left:10px;right:10px;width:auto;max-width:none;top:auto;bottom:150px;transform:none}}
.person span.edu{font-size:.98rem;color:var(--muted)}
.ccwrap{display:flex;flex-direction:column;gap:12px;min-width:0}.ccbar{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;justify-content:center;font-size:.86rem}.ccbar span{color:var(--slate);font-weight:600;margin-inline-end:4px}.ccbar button{font:inherit;border:1px solid var(--line);background:#fff;color:#18546B;border-radius:999px;padding:5px 12px;cursor:pointer;line-height:1.2}.ccbar button:hover{border-color:#18546B}.ccbar button[aria-pressed=true]{background:#18546B;color:#fff;border-color:#18546B}.ccbar button:focus-visible{outline:3px solid #7FC4DF;outline-offset:2px}
.teal .ccbar span{color:#fff}.teal .ccbar button{border-color:rgba(255,255,255,.55)}.teal .ccbar button[aria-pressed=true]{background:#fff;color:#18546B;border-color:#fff;font-weight:700}
.strip{position:relative;overflow:hidden;background:#3d6f83;color:var(--on-night)}
.strip video{position:absolute;right:0;top:0;height:100%;width:70%;object-fit:cover;opacity:1;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40%);mask-image:linear-gradient(90deg,transparent 0,#000 40%)}
.strip .tint{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,84,107,.94) 0%,rgba(24,84,107,.86) 32%,rgba(24,84,107,.5) 62%,rgba(24,84,107,.12))}
.strip .wrap{position:relative}
@media (max-width:820px){.strip video{width:100%;opacity:.4}}
.strip .wrap{display:flex;flex-direction:column;gap:18px;padding-block:64px 64px}
.strip h1{color:#fff;font-size:clamp(1.9rem,4.2vw,3.3rem);font-weight:600;max-width:20ch}
.strip h1 em{font-style:normal;font-weight:300}
.strip .lede{color:var(--on-night);max-width:60ch}
.strip .btn{background:#fff;border-color:#fff;color:var(--night)}
.strip .btn.ghost{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.badges{display:flex;gap:10px;flex-wrap:wrap}
.badge{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:7px 14px;font-size:1.06rem;font-weight:500}
.badge b{color:#fff;font-family:var(--display)}
.phero h1{color:var(--night);font-size:clamp(1.8rem,3.4vw,2.8rem)}
.phero .lede{color:var(--slate);font-size:1.08rem}
.phero .eyebrow{color:var(--blue)}
.phero .stack{gap:10px}
.phero::before{content:"";position:absolute;right:-30px;bottom:-60px;width:330px;height:300px;background:url(/img/mark.png) no-repeat center/contain;opacity:.13;pointer-events:none}
.phero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.5fr .5fr;gap:36px;align-items:center;padding-block:26px 34px}
.phero .wrap>*{min-width:0}
.phero .wrap.noimg{grid-template-columns:1fr;padding-block:34px 42px}
.phero img{width:100%;aspect-ratio:16/9;max-height:170px;object-fit:cover;border-radius:18px;border-top-right-radius:64px;box-shadow:0 18px 36px rgba(15,97,129,.18);background:#fff}
@media (max-width:820px){.phero .wrap{grid-template-columns:1fr;padding-block:22px 26px}.phero img{display:none}.hero .wrap{grid-template-columns:1fr;padding-block:26px 34px}.hero-art .implant{max-width:320px}.hero-copy{justify-content:center}.strip .wrap{padding-block:36px 40px}.hero .wrap{padding-bottom:84px}}
.nline{background:var(--mist);border-block:1px solid var(--line)}.nline .wrap{display:flex;align-items:center;gap:18px;padding-block:18px;flex-wrap:wrap}.nline .eyebrow{flex:none}#nline{flex:1 1 320px;min-width:0;color:var(--night);font-family:var(--display);font-weight:600;text-decoration:none;line-height:1.35}#nline time{font-weight:400;color:var(--slate);font-size:1.06rem;margin-left:12px;white-space:nowrap}
@media (max-width:600px){.subnav a{font-size:1.06rem;padding:10px 16px}.subnav .wrap{padding-block:12px;gap:8px}}
.phero .eyebrow{font-size:1.25rem;font-weight:700;letter-spacing:.14em}
@media (max-width:600px){.phero .eyebrow{font-size:1.02rem}}
.duo .btn{min-width:230px;text-align:center}
@media (max-width:600px){.duo .btn,.person .btn,.nhead .btn{align-self:stretch;width:100%;text-align:center;box-sizing:border-box}.chips{display:grid;grid-template-columns:1fr}.chips>*{text-align:center}}
@media (max-width:600px){.btns{display:flex;flex-direction:column;align-items:stretch;gap:12px}.btns .btn{width:100%;text-align:center;justify-content:center;box-sizing:border-box}}
.flegal a{color:inherit;text-decoration:underline;text-underline-offset:3px}.legal h2{font-size:1.35rem;margin-top:14px}.legal p{max-width:74ch}
.subnav{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:1}
.subnav .wrap{display:flex;gap:10px;overflow-x:auto;padding-block:16px}
.subnav a{white-space:nowrap;text-decoration:none;color:var(--night);font-family:var(--display);font-weight:600;font-size:1.05rem;padding:12px 22px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line);background:#fff}
.subnav.sub2{background:var(--mist);border-bottom:0}.subnav.sub2 .wrap{padding-block:12px}.subnav.sub2 a{font-size:1.06rem;padding:9px 18px}.subnav.sub2 a[aria-current="page"]{background:#fff;color:var(--night);box-shadow:inset 0 0 0 1.5px var(--night)}
.subnav a[aria-current="page"]{background:var(--night);color:#fff;font-weight:700;box-shadow:none}
/* buttons */
.btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{font-family:var(--display);font-weight:700;text-decoration:none;padding:13px 24px;border-radius:999px;background:var(--blue);color:#fff;border:2px solid var(--blue);cursor:pointer;font-size:1rem;display:inline-block;transition:transform .15s,box-shadow .15s}
.btn.glow{background:var(--night);border-color:var(--night);color:#fff}
.btn.ghost{background:transparent;border-color:var(--night);color:var(--night)}
.btn.dark{background:var(--night);border-color:var(--night)}
.more{font-family:var(--display);font-weight:700;text-decoration:none}
.more::after{content:" \2192"}
/* bands */
.band{padding-block:84px}
.band.mist{background:var(--mist)}
.band.teal{background:linear-gradient(120deg,var(--night2),var(--night));color:var(--on-night)}
.band.teal h2,.band.teal h3{color:#fff}
.band.teal .eyebrow{color:var(--glow)}
.band.teal .lede,.band.teal p{color:var(--on-night)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.two>*{min-width:0}
@media (max-width:860px){.two{grid-template-columns:1fr;gap:28px}.band{padding-block:56px}}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid3>*,.grid4>*{min-width:0}
@media (max-width:920px){.grid3,.grid4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid3,.grid4{grid-template-columns:1fr}}
figure{margin:0}
figcaption{font-size:1.06rem;color:var(--muted);margin-top:10px}
.band.teal figcaption{color:var(--on-night-muted)}
.shot{width:100%;height:auto;display:block;border-radius:22px;background:#fff;box-shadow:0 24px 50px rgba(15,97,129,.16)}
.shot.arch{border-top-right-radius:110px}
.shot.tile{aspect-ratio:4/3;object-fit:cover;transition:transform .3s}
video.player{width:100%;display:block;border-radius:22px;background:#000;box-shadow:0 24px 60px rgba(0,0,0,.35)}
/* stat ribbon overlapping hero */
.ribbon{position:relative;margin-top:-58px;z-index:2}
.ribbon .in{display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper);border-radius:22px;box-shadow:0 24px 60px rgba(4,28,38,.18);overflow:hidden}
@media (max-width:860px){.ribbon .in.three>div:last-child{grid-column:1 / -1}}@media (min-width:861px){.ribbon .in.three{grid-template-columns:repeat(3,1fr)}}
.ribbon .in>div{padding:26px 24px;border-left:1px solid var(--line)}
.ribbon .in>div:first-child{border-left:0}
.ribbon b{display:block;font-family:var(--display);font-weight:700;font-size:2.4rem;line-height:1.05;color:var(--deep);font-variant-numeric:tabular-nums}
.ribbon span{font-size:1.06rem;color:var(--muted)}
@media (max-width:520px){.ribbon b{font-size:1.7rem}.ribbon .in>div{padding:20px 16px}}
@media (max-width:860px){.ribbon .in{grid-template-columns:1fr 1fr}.ribbon .in>div:nth-child(3){border-left:0}.ribbon .in>div:nth-child(n+3){border-top:1px solid var(--line)}}
/* stress rows */
.stress{display:flex;flex-direction:column;gap:12px}
.stress div{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:18px;background:var(--mist);border:1px solid var(--line);font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--night)}
.stress i{font-style:normal;font-size:1.8rem;color:var(--blue);width:1.1em;text-align:center}
.stress i.dn{color:#B08E63}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{border-radius:999px;padding:9px 16px;background:var(--paper);border:1px solid var(--line);font-family:var(--display);font-weight:700;color:var(--deep);font-size:1.06rem}
.feature{border-top:3px solid var(--sand);padding-top:16px}
.vp{display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:2px;align-items:center}
.vp .ico{grid-row:1 / span 2;width:76px;height:76px;border-radius:50%;display:grid;place-items:center}
.vp b{align-self:end}
.vp span{align-self:start}
.vp .ico svg{width:46px;height:46px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.vp b{font-family:var(--display);font-weight:700;font-size:1.4rem;line-height:1.1;color:var(--night)}
.vp span{color:var(--slate)}
.feature b{display:block;font-family:var(--display);font-weight:700;font-size:1.9rem;line-height:1.1;color:var(--night)}
.band.teal .feature b{color:#fff}
/* data panels */
.panel{background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px rgba(15,97,129,.08);border-radius:22px;padding:24px;color:var(--ink);display:flex;flex-direction:column;gap:6px}
.panel h3{color:var(--night);font-size:1.08rem}
.panel .sub{font-size:1.06rem;color:var(--muted)}
.panel svg{width:100%;height:auto;display:block;margin-top:8px}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:1.06rem}
.legend i{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle}
.delta{display:flex;flex-direction:column;gap:2px;padding:18px 0;border-top:1px solid var(--line)}
.delta small{color:var(--muted);font-size:1.06rem}
.delta b{font-family:var(--display);font-weight:700;font-size:2rem;color:var(--night);font-variant-numeric:tabular-nums;line-height:1.15}
.delta b em{font-style:normal;color:var(--glow)}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:1.06rem}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}
thead th{font-family:var(--display);color:var(--night);border-bottom:2px solid var(--night);white-space:nowrap}
td.n,th.n{text-align:center}
tr.grp td{background:var(--mist);font-weight:700;color:var(--deep)}
.note{background:var(--warn-bg);color:var(--warn);border-left:4px solid var(--sand);padding:14px 18px;border-radius:0 12px 12px 0;font-size:1.06rem}
.note p{max-width:none}
.todo{border:1.5px dashed var(--sand);border-radius:14px;padding:16px;color:var(--warn);background:var(--warn-bg);font-size:1.06rem}
/* people */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media (max-width:860px){.people{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.people{grid-template-columns:1fr}}
.person{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:22px;background:var(--paper);border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.person img,.ini{width:150px;height:150px;border-radius:50%}
.person img{width:150px;height:150px}
.person img{object-fit:cover;background:#EEF3F6;box-shadow:0 0 0 1px var(--line)}
#sabP img,#steerP img{filter:grayscale(1)}
.ini{background:linear-gradient(135deg,var(--deep),var(--blue));color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.8rem}
.person b{font-family:var(--display);color:var(--night);font-size:1.12rem}
.person em{font-style:normal;color:var(--blue);font-weight:700;font-size:1.06rem}
.person span{font-size:1.06rem;color:var(--slate)}
.faces{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.faces div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.faces img{width:100%;max-width:168px;height:auto;aspect-ratio:1/1;border-radius:50%;object-fit:cover;border:0}
.faces b{font-family:var(--display);color:var(--night);font-size:1.06rem}
.faces span{font-size:0.95rem;color:var(--muted)}
@media (max-width:860px){.faces{grid-template-columns:repeat(3,1fr)}}
@media (max-width:460px){.faces{grid-template-columns:1fr 1fr}}
.logos{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.logos a.lg{padding:10px 22px;border-radius:18px;display:flex;align-items:center}
.logos a.lg img{height:52px;width:auto;display:block}
footer .eu{height:46px;width:auto;display:block;align-self:flex-start}
.logos a{text-decoration:none;transition:border-color .15s,color .15s}
.logos span,.logos a{font-family:var(--display);font-weight:700;color:var(--deep);border:1px solid var(--line);border-radius:999px;padding:11px 20px;background:var(--paper)}
.news{display:flex;flex-direction:column}
.news a{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.news time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:1.06rem}
.news b{font-family:var(--display);color:var(--night);display:block;font-size:1.08rem}
.news small{color:var(--muted)}
@media (max-width:600px){.news a{grid-template-columns:1fr;gap:4px}}
.doors{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:920px){.doors{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.doors{grid-template-columns:1fr}}
.door{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:230px;padding:22px;border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;background:var(--night)}
.door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform .4s,opacity .3s}
.door::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(4,28,38,.92))}
.door b,.door span{position:relative;z-index:1}
.door b{font-family:var(--display);font-size:1.25rem}
.door span{font-size:1.06rem;color:var(--on-night)}
form{display:grid;gap:14px;max-width:520px}
label{display:grid;gap:6px;font-weight:500;font-size:1.06rem}
input,select,textarea{font:inherit;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);width:100%}
.kcards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.kcards>div{background:#EEF4F8;border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}.kcards b{font-family:var(--display);font-weight:800;font-size:2.1rem;line-height:1;color:var(--night)}.kcards span{font-size:.98rem;line-height:1.4;color:var(--ink)}@media (max-width:480px){.kcards{grid-template-columns:1fr}}
.sent{font-weight:700}.sent:empty{display:none}.sent.err{color:var(--warn)}.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.road{display:grid;grid-template-columns:repeat(4,1fr)}
.road>div{border-top:3px solid var(--line);padding:16px 16px 0 0;position:relative}
.road>div::before{content:"";position:absolute;top:-9px;left:0;width:15px;height:15px;border-radius:50%;background:var(--paper);border:3px solid var(--line)}
.road>div.done{border-top-color:var(--blue)}
.road>div.done::before{background:var(--blue);border-color:var(--blue)}
.road b{font-family:var(--display);color:var(--night);display:block}
.road span{font-size:1.06rem;color:var(--muted)}
@media (max-width:700px){.road{grid-template-columns:1fr 1fr;row-gap:26px}}
.cite{border-left:4px solid var(--blue);padding:6px 0 6px 20px}
.plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:1.15rem;font-variant-numeric:tabular-nums}
.plist a{color:var(--night);text-decoration:none;font-weight:500}
.cite .j{font-family:var(--display);font-weight:800;color:var(--deep);letter-spacing:.04em;text-transform:uppercase;font-size:1.06rem}
footer{background:var(--night);color:var(--on-night-muted);padding-block:56px 36px;font-size:1.06rem}
footer .wrap{display:flex;flex-direction:column;gap:28px}
footer .map{display:grid;grid-template-columns:repeat(7,1fr);gap:24px}
@media (max-width:860px){footer .map{grid-template-columns:1fr 1fr}}
footer h4{font-family:var(--display);color:#fff;margin:0 0 10px;font-size:1.06rem}
footer .map a{display:block;color:var(--on-night-muted);text-decoration:none;padding:3px 0}
footer .caution{border:1px solid rgba(255,255,255,.25);padding:14px 18px;border-radius:12px;color:#fff}
.ack{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--night2);color:var(--on-night);border-top:1px solid rgba(255,255,255,.2);padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 30px rgba(0,0,0,.25)}
.ack .wrap{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ack p{font-size:1.06rem;max-width:80ch}
.ack b{color:#fff}
.ack .btn{background:#fff;border-color:#fff;color:var(--night);padding:9px 20px}
@media (max-width:700px){.ack{padding-top:10px}.ack .wrap{gap:10px}.ack p{font-size:0.95rem;line-height:1.4}.ack .btn{padding:7px 16px;font-size:1.06rem}}
.band.teal{position:relative;overflow:hidden}
.band.teal>.wrap{position:relative}
.band.teal::before{content:"";position:absolute;right:-40px;bottom:-70px;width:360px;height:330px;background:url(/img/mark.png) no-repeat center/contain;opacity:.16;filter:brightness(0) invert(1);pointer-events:none}
.band.teal .btn.glow{background:#fff;border-color:#fff;color:var(--night)}
.band.teal .btn.ghost{border-color:rgba(255,255,255,.7);color:#fff}
.band.teal a.more{color:#fff}
.band.soft{background:#FAF7F2}

/* ===== designer texture (halftone implant artwork from the brand posters) ===== */
.band.teal .eyebrow{color:#A9DDF1}
.band.teal.weave::after{content:"";position:absolute;left:-140px;top:-70px;width:640px;height:605px;background:url(/img/weave.webp) no-repeat center/contain;opacity:.11;pointer-events:none}
footer{position:relative;overflow:hidden}
footer::after{content:"";position:absolute;right:-110px;top:-40px;width:600px;height:567px;background:url(/img/weave.webp) no-repeat center/contain;opacity:.08;pointer-events:none}
footer .wrap{position:relative;z-index:1}
/* ===== burden infographic ===== */
.burden{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bstat{display:flex;flex-direction:column;gap:6px;padding:26px 24px 24px;border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);min-width:0}
.bstat svg{width:92px;height:92px;margin-bottom:12px;flex:none}
.bstat b{font-family:var(--display);font-weight:700;font-size:1.75rem;line-height:1.1;color:#fff}
.bstat span{color:var(--on-night-muted);font-size:1.06rem;line-height:1.45}
.bstat .trk{fill:none;stroke:rgba(255,255,255,.2);stroke-width:7}
.bstat .arc{fill:none;stroke:#fff;stroke-width:7}
.bstat .rng{fill:none;stroke:var(--sand);stroke-width:7}
.bstat .ic{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bstat text{font-family:var(--display);font-weight:700;font-size:13px;fill:#fff;text-anchor:middle}
@media (max-width:920px){.burden{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.burden{grid-template-columns:1fr}.bstat{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:center;padding:18px}.bstat svg{grid-row:1 / span 2;width:72px;height:72px;margin:0}.bstat b{align-self:end;font-size:1.45rem}.bstat span{align-self:start}}
.burden.lt .bstat{background:#fff;border:1px solid var(--line);border-top:5px solid var(--c);box-shadow:0 14px 34px rgba(15,97,129,.08)}
.burden.lt .bstat b{color:var(--night)}
.burden.lt .bstat span{color:var(--slate)}
.burden.lt .trk{stroke:#E6EDF1}
.burden.lt .arc{stroke:var(--c)}
.burden.lt .rng{stroke:var(--c2)}
.burden.lt text{fill:var(--night)}
.burden.lt .solid .trk{fill:var(--c);stroke:none}
.pq{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-block:6px 4px}
.pq>div{background:var(--mist);border-radius:16px;padding:16px 18px}
.pq b{display:block;font-family:var(--display);font-weight:700;font-size:2rem;line-height:1.05;color:var(--blue)}
.pq>div:last-child b{color:var(--night)}
.pq span{display:block;font-size:1.06rem;color:var(--slate);line-height:1.4;margin-top:4px}
@media (max-width:420px){.pq{grid-template-columns:1fr}}
.erow{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;padding-block:38px;border-top:1px solid rgba(15,97,129,.14)}
.erow>*{min-width:0}
.erow .big{font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.05;color:var(--night)}
.erow .big small{font-size:.42em;font-weight:500;color:var(--blue);letter-spacing:.02em}
.erow p b{color:var(--night);font-weight:600}
.erow .wide svg{max-width:340px;display:block;margin-inline:auto}
.dotrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;max-width:330px}
.dotrow i{width:15px;height:15px;border-radius:50%;background:#D9E4E9}
.dotrow i.on{background:var(--blue)}
.sub2{font-size:1.06rem;color:var(--muted)}
@media (max-width:860px){.erow{grid-template-columns:1fr;gap:22px;padding-block:28px}}
/* ===== procedure route ===== */
.route{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;max-width:920px;margin-inline:auto;width:100%}
.route::before{content:"";position:absolute;top:33px;left:16.66%;right:16.66%;height:2px;background:var(--sand);transform-origin:left center}
.rstep{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;min-width:0}
.rstep i{width:68px;height:68px;border-radius:50%;background:#fff;border:2px solid var(--night);display:grid;place-items:center;margin-bottom:10px;box-shadow:0 0 0 8px #fff}
.rstep:last-child i{background:var(--night)}
.rstep i svg{width:32px;height:32px;fill:none;stroke:var(--night);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rstep:last-child i svg{stroke:#fff}
.rstep b{font-family:var(--display);font-weight:700;color:var(--night);font-size:1.08rem;line-height:1.25}
.rstep span{color:var(--slate);font-size:1.06rem}
@media (max-width:640px){.route{grid-template-columns:1fr;gap:22px}.route::before{top:34px;bottom:34px;left:33px;right:auto;width:2px;height:auto;transform-origin:center top}.rstep{display:grid;grid-template-columns:auto 1fr;column-gap:18px;text-align:left;align-items:center}.rstep i{grid-row:1 / span 2;margin:0}.rstep b{align-self:end}.rstep span{align-self:start}}
/* ===== program timeline ===== */
.tl{padding-top:54px}
.tl .person{position:relative}
.tl .person::before{content:"";position:absolute;top:-42px;left:24px;width:18px;height:18px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px rgba(8,146,193,.16)}
.tl .person::after{content:"";position:absolute;top:-34px;left:54px;width:calc(100% - 36px);height:2px;background:var(--blue)}
.tl .person:nth-child(2)::after{background:repeating-linear-gradient(90deg,var(--blue) 0 8px,transparent 8px 16px)}
.tl .person:last-child::after{display:none}
.tl .person.plan::before{background:#fff;border:2px dashed var(--blue);box-shadow:none;top:-44px;left:22px}
.band.teal.weave::before{opacity:.09}
@media (max-width:920px){.tl{padding-top:0}.tl .person::before,.tl .person::after{display:none}}


/* ===== design pass 2: poster language (implant drawing, dot pattern), designer icons ===== */
.wv{position:absolute;pointer-events:none;background:var(--blue);-webkit-mask:url(/img/weave.webp) center/contain no-repeat;mask:url(/img/weave.webp) center/contain no-repeat}
.dots{position:absolute;pointer-events:none;background-image:radial-gradient(circle,var(--blue) 1.6px,transparent 2px);background-size:14px 14px;-webkit-mask-image:radial-gradient(ellipse at center,#000 0,transparent 68%);mask-image:radial-gradient(ellipse at center,#000 0,transparent 68%)}
.hero .wv{left:-4%;top:-14%;width:58%;height:128%;opacity:.16}
.hero .dots{right:-90px;bottom:-60px;width:560px;height:400px;opacity:.3}
.phero .wv{right:17%;top:-45%;width:440px;height:190%;opacity:.11}
.phero .dots{left:-140px;bottom:-150px;width:520px;height:320px;opacity:.26}
.phero img{max-height:190px}
.deco{position:relative;overflow:hidden}
.deco>.wrap{position:relative;z-index:1}
.ribbon .vpr>div{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:24px 22px}
.ribbon .vpr i{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;flex:none}
.ribbon .vpr i img{width:46px;height:46px;display:block}
.ribbon .vpr p{margin:0;max-width:none}
.ribbon .vpr b{font-size:1.5rem;line-height:1.15}
.ribbon .vpr span{display:block;line-height:1.4;margin-top:2px}
@media (max-width:520px){.ribbon .vpr{grid-template-columns:1fr}.ribbon .vpr>div{border-left:0!important;border-top:1px solid var(--line)}.ribbon .vpr>div:first-child{border-top:0}}
.vp .ico img{width:50px;height:50px;display:block}
.handfig{margin:0}
.handfig img{width:100%;height:auto;display:block;border-radius:0 26px 26px 26px;filter:drop-shadow(0 26px 40px rgba(15,97,129,.25))}
.flag{position:absolute;top:22px;right:22px;width:46px;height:auto;border-radius:5px;overflow:hidden;box-shadow:0 0 0 1px var(--line),0 4px 10px rgba(15,97,129,.12);line-height:0}.flag svg{display:block;width:100%;height:auto}.flags{position:absolute;top:22px;right:22px;display:flex;gap:8px}.flags .flag{position:static}.duo .person{position:relative}.duo .person>em{padding-right:60px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}.duo .btn{align-self:flex-start;margin-top:8px}@media (max-width:760px){.duo{grid-template-columns:1fr}}
.mos{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:200px;gap:14px}.mos figure{margin:0;border-radius:20px;overflow:hidden;box-shadow:0 14px 34px rgba(15,97,129,.12);background:#fff}.mos img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.mos .big{grid-row:span 2}.mos.tri{grid-template-columns:1fr 1fr 1fr;grid-auto-rows:170px}.mos .wide{grid-column:span 2}
@media (max-width:760px){.mos{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.mos .big{grid-column:span 2;grid-row:span 2}.mos .wide{grid-column:span 2}}
.tline{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:3px solid var(--line);margin-top:18px}.tline>div{position:relative;padding:26px 14px 0 0}.tline>div::before{content:"";position:absolute;left:0;top:-10px;width:17px;height:17px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px #fff}.tline>div:nth-child(even)::before{background:var(--night)}.tline b{display:block;font-family:var(--display);font-weight:700;font-size:2.1rem;line-height:1;color:var(--night)}.tline span{display:block;margin-top:8px;font-family:var(--display);font-weight:600;color:var(--ink);line-height:1.3;font-size:1.06rem}
@media (max-width:860px){.tline{grid-template-columns:1fr 1fr 1fr;row-gap:26px;border-top:0}.tline>div{border-top:3px solid var(--line)}}@media (max-width:480px){.tline{grid-template-columns:1fr 1fr}}
.bimg{display:block;width:100%;border-radius:24px;box-shadow:0 18px 44px rgba(15,97,129,.16)}
.bleed{display:block;width:100%;height:auto;aspect-ratio:14/5;object-fit:cover;border-radius:0;box-shadow:none}
@media (max-width:860px){.bleed{aspect-ratio:16/9;object-position:50% 50%!important}}
.tph.dep{box-shadow:none;border:1px solid var(--line)}.tph.dep img{aspect-ratio:3/2}.sysg{display:grid;grid-template-columns:1fr 2fr;gap:24px}.sysg>*{min-width:0}.sys2{display:grid;grid-template-columns:1fr 1fr}.sysf figcaption small{display:block;margin-top:8px;font-size:1rem;color:var(--muted);font-style:italic}@media (max-width:860px){.sysg{grid-template-columns:1fr}}@media (max-width:520px){.sys2{grid-template-columns:1fr}}.sysf figcaption{margin:0;padding:14px 18px 18px;color:var(--slate)}.sysf figcaption b{display:block;font-family:var(--display);color:var(--night);font-size:1.15rem}
.tph{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(15,97,129,.12);background:#fff}.tph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.tcap{font-size:1.06rem;color:var(--slate);margin:0}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.facts>div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 24px 24px;box-shadow:0 14px 34px rgba(15,97,129,.08);position:relative;overflow:hidden;min-width:0}
.facts>div::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--blue),var(--night))}
.facts b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(1.7rem,2.7vw,2.3rem);line-height:1.08;color:var(--night);font-variant-numeric:tabular-nums}
.facts b i{font-style:normal}
.facts small{display:block;margin-top:8px;font-size:1.06rem;color:var(--slate);line-height:1.45}
@media (max-width:420px){.facts{grid-template-columns:1fr}}
.hm{margin:18px 0 0;max-width:44ch;font-size:1.18rem;line-height:1.6;color:var(--slate)}
.hero-copy{align-items:flex-start}
.logos.col{flex-direction:column;align-items:flex-start}
.logos:not(.col){display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:stretch}.logos:not(.col)>a.lg,.logos:not(.col)>span{height:96px;padding:14px 18px;border-radius:18px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;font-size:.98rem}.logos:not(.col)>a.lg img{height:auto;width:auto;max-height:50px;max-width:100%;object-fit:contain}@media (max-width:860px){.logos:not(.col){grid-template-columns:1fr 1fr}}
@media (max-width:820px){.hm{font-size:1.05rem;margin-left:-132px;max-width:none;margin-top:20px}}
.cath{position:relative;overflow:hidden;background:#fff;height:clamp(110px,15vw,210px)}
.cath.home{margin-top:26px}
.cath img{position:absolute;right:0;top:0;height:100%;width:auto;max-width:none;mix-blend-mode:multiply;transform:translateX(var(--x,0%));will-change:transform}
.cath.enter.go img{animation:cathin 2s cubic-bezier(.2,.7,.2,1) both}
@keyframes cathin{from{transform:translateX(85%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.cath img{transform:none!important;animation:none!important}}
.nhead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.narrows{position:absolute;left:-14px;right:-14px;top:42%;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:3}
.narrows button{pointer-events:auto;width:60px;height:60px;border-radius:50%;border:0;background:var(--night);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 10px 26px rgba(15,97,129,.35);transition:background .15s,transform .15s}
@media (max-width:600px){.narrows button{width:48px;height:48px;font-size:1.3rem}.narrows{left:2px;right:2px}}
.ncar{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 4px 22px;margin-inline:-4px;scrollbar-width:none}
.ncar::-webkit-scrollbar{display:none}
.ncard{flex:0 0 clamp(270px,30%,360px);scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;box-shadow:0 14px 34px rgba(15,97,129,.08);transition:transform .2s,box-shadow .2s}
.ncard .ph{aspect-ratio:16/10;overflow:hidden;background:#EEF3F6}
.ncard img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ncard .tile{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:24px 26px;color:#fff;position:relative}.ncard .tile::after{content:"";position:absolute;right:-40px;bottom:-60px;width:200px;height:200px;border-radius:50%;border:26px solid rgba(255,255,255,.1)}.ncard .tile .tb{font-family:var(--display);font-weight:700;font-size:clamp(2.2rem,4vw,3.1rem);line-height:1;letter-spacing:-.01em}.ncard .tile .ts{font-family:var(--display);font-weight:500;font-size:1.05rem;line-height:1.3;max-width:15ch}.ncard .ta{background:linear-gradient(135deg,#0892C1,#0F6181)}.ncard .tb.tile,.ncard .tile.tb{background:linear-gradient(135deg,#0F6181,#0A4560)}.ncard .tile.tc{background:#D0B798;color:#0F6181}.ncard .tile span{position:relative;z-index:1}.ncard .tile.te{background:#D2EBF6;color:#0F6181}.ncard .tile.lg .tb{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.12;max-width:11ch}.ncard .tile.wp{padding-right:128px}.ncard .tile.wp .tb{max-width:none}.ncard .tile .tpic{position:absolute;z-index:1;right:22px;top:50%;width:96px;height:96px;margin-top:-48px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.85);transform:none!important}.ncard .tile.tc::after,.ncard .tile.te::after{border-color:rgba(255,255,255,.35)}
.ncard .tx2{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}
.ncard time{font-size:1.06rem;color:var(--muted);font-variant-numeric:tabular-nums}
.ncard b{font-family:var(--display);font-weight:700;color:var(--night);font-size:1.02rem;line-height:1.35}
.ncard small{color:var(--blue);font-weight:600;font-size:0.95rem;letter-spacing:.06em;text-transform:uppercase}
.rot{position:relative;display:block;min-width:0}
.rot>img+img{position:absolute;left:0;top:0;opacity:0;transition:opacity 1.1s ease;box-shadow:none!important}
.rot>img+img.on{opacity:1}
.rot>img+img.snap{transition:none}
.hero-art .implant{-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(transparent,#000 9%,#000 91%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}
/* ===== patient education ===== */
.loopd{width:100%;max-width:470px;height:auto;display:block;margin-inline:auto}
.loopd text{font-family:var(--display);font-weight:700;font-size:14px;text-anchor:middle}
.ef{display:flex;height:34px;border-radius:999px;overflow:hidden;margin-top:6px}
.ef i{display:block;height:100%}
.efscale{position:relative;height:22px;font-size:0.95rem;color:var(--muted);font-variant-numeric:tabular-nums}
.efscale span{position:absolute;top:4px;transform:translateX(-50%)}
.efkey{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.efkey li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.efkey i{width:16px;height:16px;border-radius:50%;margin-top:5px}
.efkey b{font-family:var(--display);color:var(--night)}
.gauge{width:100%;max-width:230px;height:auto;display:block;margin:4px auto 6px}
.gauge text{font-size:11px;fill:var(--muted)}
.sym{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.sym>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;font-weight:500;color:var(--night);line-height:1.35}
.sym i{width:64px;height:64px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;box-shadow:0 10px 24px rgba(15,97,129,.08)}
.sym svg{width:32px;height:32px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:820px){.sym{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:480px){.sym{grid-template-columns:1fr 1fr}}
.route.r5{grid-template-columns:repeat(5,1fr);max-width:none;gap:18px}
.route.r5::before{left:10%;right:10%}
.route.r5 .rstep i{font-style:normal;font-family:var(--display);font-weight:700;font-size:1.35rem;color:var(--night)}
.route.r5 .rstep:last-child i{color:#fff}
@media (max-width:920px){.route.r5{grid-template-columns:1fr;gap:22px}.route.r5::before{top:34px;bottom:34px;left:33px;right:auto;width:2px;height:auto;transform-origin:center top}.route.r5 .rstep{display:grid;grid-template-columns:auto 1fr;column-gap:18px;text-align:left;align-items:center}.route.r5 .rstep i{grid-row:1 / span 2;margin:0}.route.r5 .rstep b{align-self:end}.route.r5 .rstep span{align-self:start}}
.lv{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.lv li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.lv i{font-style:normal;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.2rem}
.lv b{font-family:var(--display);color:var(--night);display:block;line-height:1.3}
.lv span{color:var(--slate);font-size:1.06rem;line-height:1.5;display:block}
.lv .l1{background:#D2EBF6;color:var(--night)}.lv .l2{background:#8FCFE8;color:var(--night)}.lv .l3{background:var(--blue);color:#fff}.lv .l4{background:var(--night);color:#fff}
.tx{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tx .panel{border-top:5px solid var(--sky)}
.tx .panel:nth-child(2){border-top-color:#8FCFE8}.tx .panel:nth-child(3){border-top-color:var(--blue)}.tx .panel:nth-child(4){border-top-color:var(--night)}
@media (max-width:920px){.tx{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tx{grid-template-columns:1fr}}
/* ===== motion for data graphics (runs only once the element is revealed) ===== */
svg .gb{transform-box:fill-box;transform-origin:50% 100%}
.play svg .gb{animation:grow .9s cubic-bezier(.2,.7,.2,1) both}
.play svg .gv,.play svg .gp,.play svg .ga{animation:fadein .5s ease both}
.play svg .gl{stroke-dasharray:1;animation:dash 1.4s ease-in-out both}
.rv.in .arc{animation:arc 1.4s cubic-bezier(.2,.7,.2,1) .15s both}
.rv.in .rng{animation:fadein .6s ease 1.3s both}
.route.in::before{animation:wipe 1.2s ease .2s both}
@keyframes grow{from{transform:scaleY(0)}}
@keyframes fadein{from{opacity:0}}
@keyframes dash{from{stroke-dashoffset:1}}
@keyframes arc{from{stroke-dashoffset:var(--d)}}
@keyframes wipe{from{transform:scale(0)}}
@media (prefers-reduced-motion:reduce){.play svg .gb,.play svg .gv,.play svg .gp,.play svg .ga,.play svg .gl,.rv.in .arc,.rv.in .rng,.route.in::before{animation:none}}
@keyframes rise{from{transform:translateY(18px)}to{transform:none}}
.rv.in{animation:rise .5s cubic-bezier(.23,1,.32,1) both}
@media (prefers-reduced-motion:reduce){.rv.in{animation:none}html{scroll-behavior:auto}.btn,.person,.shot.tile,.door img{transition:none}}

/* contrast: brand blue kept for graphics and large type; small text and buttons use the dark teal */
a,.eyebrow,.phero .eyebrow,.person em,.ncard small,.erow .big small,nav.main .sub a[aria-current="page"],.utilrow a:hover,.utilrow a.on,.more{color:var(--night)}
.btn{background:var(--night);border-color:var(--night)}
.band.teal .eyebrow{color:#A9DDF1}.strip .btn{background:#fff;border-color:#fff;color:var(--night)}.strip .btn.ghost{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}.btn.ghost{background:transparent;color:var(--night)}.band.teal .btn.glow,.ack .btn{background:#fff;border-color:#fff;color:var(--night)}.band.teal .btn.ghost{color:#fff}.band.teal a.more{color:#fff}footer a,.util a{color:inherit}

/* motion and touch pass */
@media (hover:hover) and (pointer:fine){.util a:hover{color:var(--glow)}
.utilrow a:hover,.utilrow a.on{color:var(--blue)}
#nline:hover{text-decoration:underline}
.subnav a:hover{background:var(--mist)}
.subnav.sub2 a:hover{background:#fff}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,97,129,.3)}
figure:hover .shot.tile{transform:scale(1.03)}
tbody tr:hover td{background:var(--mist)}
.duo .person:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(4,28,38,.12)}
.logos a:hover{border-color:var(--blue);color:var(--blue)}
.news a:hover b{color:var(--blue)}
.door:hover img{transform:scale(1.06);opacity:.4}
.plist a:hover{color:var(--blue);text-decoration:underline}
footer .map a:hover{color:var(--glow)}
.mos figure:hover img{transform:scale(1.04)}
.narrows button:hover{background:var(--blue);transform:scale(1.08)}
.ncard:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(15,97,129,.16)}
.ncard:hover img{transform:scale(1.05)}}

.utilrow a.on{color:var(--night);font-weight:700}
body{-webkit-tap-highlight-color:transparent}
a,button,.btn{touch-action:manipulation}
.btn,.subnav a,nav.main .top,.narrows button,#menuBtn{transition:transform .16s cubic-bezier(.23,1,.32,1),box-shadow .15s,background .15s}
.btn:active,.subnav a:active,nav.main .top:active,.narrows button:active{transform:scale(.97)}
.vtoggle{position:absolute;right:16px;bottom:16px;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(15,97,129,.55);color:#fff;font-size:15px;line-height:1;cursor:pointer;display:grid;place-items:center}
.vtoggle.lt{border-color:var(--line);background:rgba(255,255,255,.85);color:var(--night)}
.tph.dep{position:relative}
@media (prefers-reduced-motion:reduce){.btn:active,.subnav a:active,nav.main .top:active,.narrows button:active{transform:none}}

/* tighter menu stack: same button size, less empty space around the rows */
.subnav .wrap{padding-block:9px}.subnav.sub2 .wrap{padding-block:7px}
.phero .wrap{padding-block:18px 22px}.phero .wrap.noimg{padding-block:22px 26px}
@media (hover:hover) and (pointer:fine){.mos figure:hover img,.ncard:hover img,figure:hover .shot.tile{transform:none}}

/* phone: heart film behind the opening text, more visible than before */
@media (max-width:820px){
 .strip video{opacity:1;object-position:58% center}
 .strip .tint{background:linear-gradient(180deg,rgba(15,97,129,.7) 0%,rgba(15,97,129,.52) 55%,rgba(15,97,129,.3) 100%)}
 .strip h1,.strip .lede,.strip .eyebrow{text-shadow:0 1px 14px rgba(8,50,68,.55)}
}

/* discreet pause buttons: small and faint, clearer on hover or keyboard focus */
.vtoggle{width:32px;height:32px;font-size:11px;right:12px;bottom:12px;opacity:.45;border-width:1px;transition:opacity .2s ease}
.vtoggle:focus-visible{opacity:1}
@media (hover:hover) and (pointer:fine){.strip:hover .vtoggle,.tph.dep:hover .vtoggle,.vtoggle:hover{opacity:.95}}

.mem{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.mem figure{margin:0}.mem img{display:block;width:100%;height:auto;border-radius:22px}
.mem p{max-width:66ch}.mem .mem-lead{font-family:var(--display);font-weight:600;font-size:1.3rem;line-height:1.5;color:var(--night)}
@media (max-width:860px){.mem{grid-template-columns:1fr;gap:28px}.mem figure{max-width:420px}.mem .mem-lead{font-size:1.12rem}}
/* laptop screens: whole design about 12% smaller, same proportions */
@media (min-width:861px) and (max-width:1700px){html{zoom:.88}}
