:root{--blood:#be1025;--blood-deep:#8e0719}
.header{transition:background-color .25s,border-color .25s,box-shadow .25s;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header.is-scrolled{background:rgba(255,252,249,.62);border-color:rgba(135,50,73,.10);box-shadow:0 4px 20px #4b172307}
.header.is-scrolled .mobile-nav{background:rgba(255,252,249,.94)}
.brand-mark{color:var(--blood)}
.brand-mark svg{animation:logo-beat 1s ease-in-out infinite;transform-origin:50% 55%;overflow:visible}
.brand-mark .logo-heart-shape{fill:var(--blood);stroke:var(--blood);stroke-width:1.2}
.brand-mark .logo-heart-trace{fill:none;stroke:#fff7f3;stroke-width:1.5}
@keyframes logo-beat{0%,44%,100%{transform:scale(1)}12%{transform:scale(1.12)}22%{transform:scale(.97)}31%{transform:scale(1.07)}}
.flow-bridge{position:relative;width:100%;height:190px;margin-top:25px;isolation:isolate;overflow:hidden}
.flow-vessel{position:absolute;left:0;right:0;top:50%;height:8px;transform:translateY(-50%);filter:drop-shadow(0 2px 3px #a9202518)}
.flow-track{display:block;width:100%;height:100%;overflow:hidden}
.blood-bolus{transform:translateX(-50px)}
.flow-heart{width:154px;height:154px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none}
.flow-heart img{width:100%;height:100%;object-fit:contain;position:relative;filter:drop-shadow(0 7px 5px #730f281c);transform-origin:50% 52%;will-change:transform}
.flow-heart-glow{position:absolute;inset:28px;border-radius:50%;background:radial-gradient(ellipse,#ec718b36,transparent 70%);opacity:.25}
.is-ready .blood-bolus{animation:blood-travel 1s linear infinite}
.is-ready .flow-heart img{animation:arrival-beat 1s cubic-bezier(.35,0,.2,1) infinite}
.is-ready .flow-heart-glow{animation:arrival-glow 1s linear infinite}
@keyframes blood-travel{from{transform:translateX(-50px)}to{transform:translateX(1150px)}}
@keyframes arrival-beat{0%,44%,100%{transform:scale(1,1) rotate(0deg)}50%{transform:scale(.955,.925) rotate(-.4deg)}54%{transform:scale(.945,.91) rotate(-.6deg)}64%{transform:scale(1.02,1.025) rotate(.2deg)}78%{transform:scale(1,1) rotate(0deg)}}
@keyframes arrival-glow{0%,43%,78%,100%{opacity:.25;transform:scale(1)}56%{opacity:.55;transform:scale(1.15)}}
.flow-pulse-ring{position:absolute;inset:20px;border:1.5px solid #e5496359;border-radius:50%;opacity:0;pointer-events:none}
.is-ready .flow-pulse-ring{animation:arrival-ring 1s ease-out infinite}
.is-ready .pulse-echo{animation-name:arrival-echo}
@keyframes arrival-ring{0%,46%{opacity:0;transform:scale(.65)}54%{opacity:.25;transform:scale(.88)}83%,100%{opacity:0;transform:scale(1.3)}}
@keyframes arrival-echo{0%,55%{opacity:0;transform:scale(.7)}64%{opacity:.12;transform:scale(.95)}92%,100%{opacity:0;transform:scale(1.25)}}
.is-paused .blood-bolus,.is-paused .flow-heart img,.is-paused .flow-heart-glow,.is-paused .flow-pulse-ring{animation-play-state:paused}
.flow-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px}
.flow-controls>span{font-family:var(--serif);font-style:italic}
.flow-motion-toggle{font-size:12px;border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:4px 0}
.flow-bridge+.atlas{padding-top:46px}
.health-main{max-width:1140px;padding-top:75px;padding-bottom:60px}
.health-intro{max-width:800px;margin-bottom:65px}
.health-intro h1{font-family:var(--serif);font-size:clamp(40px,4.8vw,66px);letter-spacing:-2px;line-height:1.13;margin:19px 0 24px;font-weight:500}
.health-intro h1 em{color:var(--wine);font-weight:400}
.health-intro>p{font-size:18px;line-height:1.8;max-width:665px;color:var(--muted)}
.health-jump{display:inline-block;margin-top:10px;border-bottom:1px solid var(--wine);padding-bottom:3px;color:var(--wine);font-size:14px}
.health-section-heading{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:25px}
.health-section-heading h2,.health-followup h2,.health-emergency h2,.health-sources h2{font-family:var(--serif);font-weight:500;letter-spacing:-.8px}
.health-section-heading h2{font-size:30px;margin:0}
.health-section-heading>span{font-size:12px;color:var(--muted)}
.prevention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.prevention-card{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fffdfb,#fbf3f5);padding:30px;position:relative}
.prevention-card:nth-child(4n+2),.prevention-card:nth-child(4n+3){background:linear-gradient(145deg,#fffdfb,#f4edf3)}
.prevention-card-top{display:flex;justify-content:space-between;gap:18px;align-items:center}
.prevention-card-top>span:first-child{font-family:var(--serif);font-size:28px;color:#ba8091}
.prevention-tag{font-size:12px;color:var(--wine);background:#f2e0e6;border-radius:30px;padding:5px 11px}
.prevention-card h3{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.25;margin:24px 0 12px;letter-spacing:-.5px}
.prevention-card p{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:22px}
.card-source{font-size:12px;color:var(--wine);border-bottom:1px solid #dac0c7;padding-bottom:3px}
.health-followup{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;margin:65px 0;padding:37px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.health-followup h2{font-size:32px;line-height:1.3;margin:15px 0 0}
.health-followup p{font-size:16px;line-height:1.85;margin:0 0 18px;color:var(--muted)}
.health-followup strong{color:var(--text);font-weight:600}
.health-followup a,.health-emergency a{font-size:12px;text-decoration:underline;text-underline-offset:3px}
.health-emergency{display:flex;gap:28px;padding:32px;border:1px solid #e9bdc4;border-radius:20px;background:#fae9ed}
.emergency-number{font-size:42px;font-family:var(--serif);color:var(--blood);flex-shrink:0}
.health-emergency h2{font-size:27px;line-height:1.3;margin:9px 0 16px}
.health-emergency p{font-size:16px;line-height:1.8;color:#6d4e58;margin:0}
.health-sources{margin-top:55px;max-width:880px}
.health-sources h2{font-size:25px;margin-bottom:14px}
.health-sources p,.health-sources li{font-size:14px;line-height:1.8;color:var(--muted)}
.health-sources ol{padding-left:22px}
.health-sources li{margin:10px 0;padding-left:4px;scroll-margin-top:120px}
.health-sources a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.health-sources .health-footnote{font-size:12px}
@media(max-width:1100px){.desktop-nav,.nav-button{display:none}.menu-toggle{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--wine)}}
@media(max-width:700px){.flow-bridge{height:162px;margin-top:15px}.flow-heart{width:128px;height:128px}.flow-vessel{height:6px}.flow-controls{width:calc(100% - 40px);font-size:12px;gap:10px}.flow-bridge+.atlas{padding-top:34px}.health-main{padding-top:40px}.health-intro{margin-bottom:42px}.health-intro h1{font-size:40px;letter-spacing:-1.2px}.health-intro>p{font-size:16px}.health-section-heading{display:block}.health-section-heading h2{font-size:26px;margin-bottom:8px}.prevention-grid{grid-template-columns:1fr;gap:15px}.prevention-card{padding:24px}.prevention-card h3{font-size:25px;margin-top:20px}.health-followup{grid-template-columns:1fr;gap:22px;margin:40px 0;padding:28px 0}.health-followup h2{font-size:29px}.health-emergency{display:block;padding:24px}.emergency-number{display:block;font-size:36px;margin-bottom:12px}.health-emergency h2{font-size:25px}.health-sources{margin-top:35px}}
@media(prefers-reduced-motion:reduce){.brand-mark svg{animation:none}.header{transition:none}.flow-heart img,.flow-heart-glow,.blood-bolus{animation-duration:1s}.hero-art img,.ecg path{animation:none}.ecg path{stroke-dashoffset:0}}

#atlas{scroll-margin-top:180px}
@media(max-width:700px){#atlas{scroll-margin-top:155px}}

.saved-topic-note .compact-note-text{min-width:0}.saved-topic-note h3,.saved-topic-note p{overflow-wrap:anywhere}.topic-notes-empty{grid-column:1/-1;border:1px dashed #d8bac7;border-radius:12px;padding:28px;background:#fffafc;color:var(--muted);font-size:16px}.topic-notes-empty p{margin:0 0 12px}.topic-notes-empty .text-link{font-size:14px}
