:root {
  --bg: #071019;
  --bg-deep: #03080d;
  --surface: rgba(15, 29, 42, 0.82);
  --surface-solid: #0d1a26;
  --surface-soft: #132433;
  --surface-2: #172b3d;
  --line: rgba(141, 188, 216, 0.17);
  --line-strong: rgba(141, 188, 216, 0.34);
  --text: #eef7fb;
  --muted: #91a9b8;
  --red: #ff545f;
  --red-2: #ff7a4f;
  --cyan: #47d8ff;
  --blue: #3e7bff;
  --green: #47d59a;
  --amber: #ffc85a;
  --shadow: 0 30px 80px rgba(0, 0, 0, 0.34);
  --radius: 26px;
  --header-height: 82px;
  color-scheme: dark;
}

html[data-theme="light"] {
  --bg: #f5f8fb;
  --bg-deep: #e8eef4;
  --surface: rgba(255, 255, 255, 0.88);
  --surface-solid: #ffffff;
  --surface-soft: #eef4f8;
  --surface-2: #e4edf3;
  --line: rgba(30, 70, 95, 0.14);
  --line-strong: rgba(30, 70, 95, 0.28);
  --text: #102331;
  --muted: #607685;
  --shadow: 0 24px 60px rgba(37, 70, 92, 0.14);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 8% 10%, rgba(62, 123, 255, 0.12), transparent 28%),
    radial-gradient(circle at 88% 24%, rgba(255, 84, 95, 0.10), transparent 26%),
    var(--bg);
  color: var(--text);
  min-width: 320px;
  overflow-x: hidden;
  transition: background .35s ease, color .35s ease;
}
body.menu-open { overflow: hidden; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; }
::selection { background: rgba(255, 84, 95, .35); color: #fff; }

.scroll-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 1000; background: transparent; }
.scroll-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--red), var(--amber)); box-shadow: 0 0 18px var(--red); }
.ambient-grid { position: fixed; inset: 0; pointer-events: none; opacity: .34; z-index: -1; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.5), transparent 70%); }

.section-shell { width: min(1280px, calc(100% - 48px)); margin-inline: auto; }
.site-header {
  position: sticky; top: 0; z-index: 900; height: var(--header-height); padding: 0 max(24px, calc((100vw - 1280px)/2));
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  backdrop-filter: blur(20px); background: color-mix(in srgb, var(--bg) 78%, transparent); border-bottom: 1px solid var(--line);
}
.brand { display: flex; align-items: center; gap: 12px; min-width: 220px; }
.brand-mark { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(145deg, rgba(71,216,255,.15), rgba(255,84,95,.12)); border: 1px solid var(--line); overflow: hidden; }
.brand-mark img { width: 74%; height: 74%; object-fit: contain; }
.brand-copy { display: grid; line-height: 1.05; }
.brand-copy strong { font-family: Georgia, serif; font-size: 20px; letter-spacing: .01em; }
.brand-copy sup, .footer-brand sup, .powered-pill sup, .footer-powered sup { font-size: .55em; vertical-align: super; }
.brand-copy small { margin-top: 5px; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.desktop-nav { display: flex; align-items: center; gap: 28px; }
.desktop-nav a { position: relative; font-size: 13px; font-weight: 700; color: var(--muted); transition: color .2s ease; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -12px; height: 2px; background: var(--red); transition: right .25s ease; }
.desktop-nav a:hover { color: var(--text); }
.desktop-nav a:hover::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.icon-button, .menu-button { width: 42px; height: 42px; border-radius: 13px; border: 1px solid var(--line); background: var(--surface); display: grid; place-items: center; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.icon-button:hover, .menu-button:hover { transform: translateY(-2px); border-color: var(--line-strong); }
.icon-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.moon-icon { display: none; }
html[data-theme="light"] .sun-icon { display: none; }
html[data-theme="light"] .moon-icon { display: block; }
.header-cta { padding: 12px 17px; border-radius: 13px; background: linear-gradient(135deg, var(--red), var(--red-2)); color: white; font-size: 12px; font-weight: 800; box-shadow: 0 10px 28px rgba(255,84,95,.24); }
.menu-button { display: none; gap: 5px; }
.menu-button span { width: 18px; height: 2px; background: currentColor; border-radius: 2px; transition: transform .25s ease; }
.mobile-menu { position: fixed; inset: var(--header-height) 0 auto; z-index: 850; padding: 22px 28px 28px; display: grid; gap: 18px; background: var(--surface-solid); border-bottom: 1px solid var(--line); transform: translateY(-120%); opacity: 0; transition: .3s ease; }
.mobile-menu.open { transform: translateY(0); opacity: 1; }
.mobile-menu a { color: var(--muted); font-weight: 750; }

.hero { min-height: calc(100vh - var(--header-height)); padding-block: 78px 60px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; color: var(--cyan); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; font-weight: 850; }
.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 0 rgba(255,84,95,.5); animation: pulse 1.8s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 12px rgba(255,84,95,0); } 100% { box-shadow: 0 0 0 0 rgba(255,84,95,0); } }
.hero h1 { margin: 0; font-size: clamp(58px, 7vw, 104px); letter-spacing: -.07em; line-height: .9; }
.hero h1 span { color: transparent; -webkit-text-stroke: 1.5px var(--red); text-shadow: 0 0 34px rgba(255,84,95,.25); }
.hero h2 { margin: 28px 0 18px; max-width: 690px; font-size: clamp(26px, 3.1vw, 46px); letter-spacing: -.035em; line-height: 1.08; }
.hero-lead { max-width: 680px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px; }
.primary-button, .secondary-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 21px; border-radius: 15px; font-size: 13px; font-weight: 850; transition: transform .22s ease, box-shadow .22s ease; }
.primary-button { background: linear-gradient(135deg, var(--red), var(--red-2)); color: white; box-shadow: 0 15px 35px rgba(255,84,95,.22); }
.primary-button span { margin-left: 16px; font-size: 19px; }
.secondary-button { border: 1px solid var(--line-strong); background: var(--surface); }
.primary-button:hover, .secondary-button:hover { transform: translateY(-3px); }
.powered-pill { width: fit-content; margin-top: 18px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--muted); font-size: 12px; font-weight: 750; }
.powered-pill.large { margin-top: 25px; padding: 13px 18px; font-size: 14px; color: var(--text); }
.hero-stats { display: flex; gap: 34px; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--line); }
.hero-stats div { display: grid; gap: 4px; }
.hero-stats strong { font-size: 24px; color: var(--text); }
.hero-stats span { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }

.hero-console { position: relative; padding: 18px; border-radius: 30px; background: linear-gradient(150deg, rgba(24,49,67,.92), rgba(5,12,19,.96)); border: 1px solid var(--line-strong); box-shadow: var(--shadow), inset 0 1px rgba(255,255,255,.04); overflow: hidden; }
html[data-theme="light"] .hero-console { background: linear-gradient(150deg, #153347, #08141e); color: #eef7fb; }
.hero-console::before { content: ""; position: absolute; width: 360px; height: 360px; right: -100px; top: -140px; background: radial-gradient(circle, rgba(255,84,95,.2), transparent 66%); }
.console-topbar { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; padding: 7px 7px 16px; border-bottom: 1px solid rgba(255,255,255,.11); font-size: 10px; letter-spacing: .14em; }
.console-topbar > div { display: flex; align-items: center; gap: 9px; }
.status-light { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); }
.console-case { color: #ffb4aa; }
.hero-scan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.mini-scan { position: relative; min-height: 428px; overflow: hidden; border-radius: 20px; background: #020609; border: 1px solid rgba(255,255,255,.1); }
.mini-scan video { width: 100%; height: 428px; object-fit: contain; background: #000; }
.scan-label { position: absolute; z-index: 3; left: 12px; right: 12px; top: 12px; padding: 9px 11px; display: flex; align-items: center; gap: 8px; border-radius: 10px; background: rgba(4,9,13,.76); backdrop-filter: blur(10px); color: #dfeef5; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.scan-label span { color: var(--cyan); }
.scan-beam { position: absolute; inset: 10% 4%; background: linear-gradient(to bottom, transparent 0 46%, rgba(71,216,255,.38) 50%, transparent 54%); animation: scanBeam 3.1s linear infinite; pointer-events: none; }
@keyframes scanBeam { from { transform: translateY(-45%); } to { transform: translateY(45%); } }
.console-readout { display: grid; grid-template-columns: 72px 1fr; align-items: center; gap: 16px; margin-top: 15px; padding: 15px; border-radius: 18px; background: rgba(255,84,95,.08); border: 1px solid rgba(255,84,95,.2); }
.decision-ring { width: 68px; height: 68px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: conic-gradient(var(--red) 0 84%, rgba(255,255,255,.12) 84%); position: relative; }
.decision-ring::after { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: #0a1720; }
.decision-ring span { position: relative; z-index: 1; font-weight: 900; }
.console-readout small { color: #ffafa8; letter-spacing: .14em; }
.console-readout strong { display: block; margin: 4px 0; color: white; font-size: 16px; }
.console-readout p { margin: 0; color: #9fb2be; font-size: 11px; line-height: 1.55; }
.console-wave { height: 58px; margin-top: 9px; overflow: hidden; }
.console-wave svg { width: 100%; height: 100%; }
.console-wave path { fill: none; stroke: rgba(71,216,255,.7); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-dasharray: 1000; animation: drawWave 5s linear infinite; }
@keyframes drawWave { from { stroke-dashoffset: 1000; } to { stroke-dashoffset: -1000; } }

.problem-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding-block: 26px 110px; }
.problem-card { min-height: 240px; padding: 26px; display: flex; gap: 22px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--line); box-shadow: 0 18px 45px rgba(0,0,0,.08); }
.problem-card.urgent { background: linear-gradient(145deg, rgba(255,84,95,.16), var(--surface)); border-color: rgba(255,84,95,.3); }
.card-index { color: var(--red); font-size: 12px; font-weight: 900; }
.problem-card small { color: var(--muted); letter-spacing: .13em; font-size: 9px; }
.problem-card h3 { margin: 16px 0 12px; font-size: 21px; line-height: 1.18; }
.problem-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }

.section-heading { max-width: 820px; margin-bottom: 42px; }
.section-heading h2 { margin: 0; font-size: clamp(36px, 4.4vw, 64px); letter-spacing: -.05em; line-height: 1; }
.section-heading > p, .split-heading > p { margin: 20px 0 0; color: var(--muted); line-height: 1.75; font-size: 16px; }
.split-heading { max-width: none; display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; align-items: end; }
.explanation-section { padding-block: 110px; }
.cascade-layout { display: grid; grid-template-columns: 360px 1fr; gap: 22px; }
.cascade-steps { display: grid; gap: 10px; }
.cascade-step { padding: 18px; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; text-align: left; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); cursor: pointer; transition: .25s ease; }
.cascade-step:hover, .cascade-step.active { transform: translateX(6px); border-color: rgba(255,84,95,.45); background: linear-gradient(110deg, rgba(255,84,95,.12), var(--surface)); }
.cascade-step > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--muted); background: var(--surface-soft); font-size: 10px; font-weight: 900; }
.cascade-step.active > span { color: white; background: var(--red); }
.cascade-step strong, .cascade-step small { display: block; }
.cascade-step strong { font-size: 14px; }
.cascade-step small { margin-top: 5px; color: var(--muted); font-size: 10px; }
.stage-visual { min-height: 560px; border-radius: 28px; background: radial-gradient(circle at 50% 30%, rgba(62,123,255,.13), transparent 45%), var(--surface); border: 1px solid var(--line); position: relative; overflow: hidden; }
.stage-visual::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 44px 44px; opacity: .32; mask-image: radial-gradient(circle at center, #000, transparent 78%); }
.stage-canvas { display: none; position: relative; min-height: 470px; padding: 50px; align-items: center; justify-content: center; gap: 35px; }
.stage-canvas.active { display: flex; animation: stageIn .5s ease; }
@keyframes stageIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.volume-stack { width: 150px; height: 240px; position: relative; }
.volume-stack span { position: absolute; inset: 0; border: 1px solid rgba(71,216,255,.45); border-radius: 14px; background: linear-gradient(135deg, rgba(71,216,255,.12), rgba(255,255,255,.02)); }
.volume-stack span:nth-child(1){ transform: translate(-22px,18px); opacity:.35}.volume-stack span:nth-child(2){transform:translate(-11px,9px);opacity:.65}
.volume-stack::after { content:""; position:absolute; inset:18px 32px; background: radial-gradient(ellipse at 60% 35%, rgba(255,255,255,.75), transparent 8%), radial-gradient(ellipse at 45% 65%, rgba(255,255,255,.5), transparent 11%); filter: blur(2px); }
.volume-stack b, .aorta-silhouette b, .masked-volume b, .contrast-volume b { position: absolute; left: 50%; bottom: -38px; transform: translateX(-50%); white-space: nowrap; font-size: 11px; color: var(--muted); }
.flow-arrow { font-size: 34px; color: var(--cyan); }
.network-cube { width: 180px; height: 180px; display: grid; place-items: center; position: relative; transform: rotate(2deg); }
.network-cube i { position: absolute; inset: 16px; border: 1px solid rgba(255,84,95,.35); transform: rotate(45deg); background: rgba(255,84,95,.05); }
.network-cube i:nth-child(2){inset:32px;transform:rotate(45deg)}.network-cube i:nth-child(3){inset:48px;transform:rotate(45deg)}
.network-cube strong { position: relative; z-index: 2; color: #fff; padding: 12px 14px; background: var(--red); border-radius: 10px; font-size: 13px; }
.aorta-silhouette { width: 125px; position: relative; }
.aorta-silhouette svg { width: 100%; filter: drop-shadow(0 0 18px rgba(255,84,95,.45)); }
.aorta-silhouette path { fill: var(--red); }
.masked-volume { width: 270px; height: 330px; border: 1px solid var(--line-strong); border-radius: 25px; background: #030709; position: relative; overflow: hidden; }
.body-field { position:absolute; inset:25px; opacity:.5; background: radial-gradient(ellipse at 50% 15%, #64727a 0 12%, transparent 13%), radial-gradient(ellipse at 50% 47%, #33414a 0 31%, transparent 32%), radial-gradient(ellipse at 50% 85%, #293943 0 17%, transparent 18%); filter: blur(4px); }
.mask-focus { position:absolute; inset:55px 85px; }
.mask-focus svg { width:100%; height:100%; filter: drop-shadow(0 0 12px var(--red)); }
.mask-focus path { fill: var(--red); }
.stage-text { max-width: 340px; }
.stage-text > span { color: var(--cyan); letter-spacing:.18em; font-size:10px; font-weight:900; }
.stage-text h3 { margin:12px 0; font-size:29px; line-height:1.08; }
.stage-text p { margin:0; color:var(--muted); line-height:1.7; font-size:14px; }
.generator-block { width:190px; height:230px; position:relative; display:grid; place-items:center; }
.gen-layer { position:absolute; width:120px; height:165px; border:1px solid rgba(71,216,255,.4); background:linear-gradient(135deg,rgba(71,216,255,.12),rgba(62,123,255,.1)); clip-path:polygon(10% 0,100% 12%,90% 100%,0 88%); }
.gen-layer:nth-child(1){transform:translateX(-30px);opacity:.45}.gen-layer:nth-child(2){transform:translateX(0);opacity:.7}.gen-layer:nth-child(3){transform:translateX(30px)}
.generator-block strong { position:relative; z-index:2; padding:11px 14px; background:var(--blue); border-radius:10px; font-size:12px; color:#fff; }
.synthesis-stream { width:120px; display:grid; gap:18px; }
.synthesis-stream span { height:2px; background:linear-gradient(90deg,var(--cyan),transparent); animation:stream 1.5s infinite; }
.synthesis-stream span:nth-child(2){animation-delay:.25s}.synthesis-stream span:nth-child(3){animation-delay:.5s}
@keyframes stream { 0%{transform:translateX(-20px);opacity:0}50%{opacity:1}100%{transform:translateX(20px);opacity:0} }
.contrast-volume { width:210px; height:300px; position:relative; border:1px solid rgba(255,255,255,.16); border-radius:22px; background:#020507; overflow:hidden; }
.vessel-glow { position:absolute; inset:25px 60px; background:linear-gradient(to bottom,rgba(255,255,255,.9),rgba(255,255,255,.35)); clip-path:polygon(45% 0,72% 6%,82% 23%,65% 36%,72% 55%,96% 74%,72% 100%,43% 88%,30% 65%,18% 45%,32% 24%); filter:drop-shadow(0 0 15px rgba(255,255,255,.5)); }
.stage-4 { gap:55px; }
.lumen-map { width:360px; }
.lumen-map svg { width:100%; filter:drop-shadow(0 0 20px rgba(255,84,95,.18)); }
.outer-aorta { fill:rgba(255,255,255,.06); stroke:rgba(255,255,255,.25); stroke-width:5; }
.true-lumen { fill:rgba(71,216,255,.72); }.false-lumen{fill:rgba(255,84,95,.72)}.flap{fill:none;stroke:#ffd467;stroke-width:6;stroke-linecap:round}
.lumen-legend { display:flex; flex-wrap:wrap; gap:14px; margin-top:15px; color:var(--muted); font-size:10px; }
.lumen-legend span { display:flex; align-items:center; gap:6px; }.lumen-legend i{width:9px;height:9px;border-radius:50%}.lumen-legend .true{background:var(--cyan)}.lumen-legend .false{background:var(--red)}.lumen-legend .flap{background:var(--amber)}
.decision-network { width:330px; height:220px; position:relative; }
.decision-network svg { position:absolute; inset:0; width:100%; height:100%; }
.decision-network path { fill:none; stroke:rgba(71,216,255,.28); stroke-width:2; }
.decision-network .node { position:absolute; width:26px; height:26px; border-radius:50%; background:var(--cyan); box-shadow:0 0 18px rgba(71,216,255,.45); z-index:2; }
.decision-network .n1{left:20px;top:22px}.decision-network .n2{left:20px;top:82px}.decision-network .n3{left:20px;top:142px}.decision-network .n4{left:145px;top:35px;background:var(--blue)}.decision-network .n5{left:145px;top:135px;background:var(--blue)}.decision-network .n6{right:20px;top:82px;background:var(--red);box-shadow:0 0 20px rgba(255,84,95,.5)}
.decision-card { width:300px; padding:24px; border-radius:20px; background:linear-gradient(145deg,rgba(255,84,95,.15),var(--surface-solid)); border:1px solid rgba(255,84,95,.3); }
.decision-card small { color:#ffaaa4; letter-spacing:.14em; }.decision-card strong{display:block;margin:10px 0;font-size:25px}.decision-card p{color:var(--muted);font-size:12px;line-height:1.6;margin:13px 0 0}
.confidence-bar { height:7px; background:rgba(255,255,255,.08); border-radius:7px; overflow:hidden; }.confidence-bar span{display:block;width:88%;height:100%;background:linear-gradient(90deg,var(--red),var(--amber));animation:barGrow 1s ease}
@keyframes barGrow{from{width:0}}
.stage-caption { position:absolute; left:24px; right:24px; bottom:22px; min-height:72px; padding:15px 18px; display:grid; grid-template-columns:80px 1fr; gap:14px; border:1px solid var(--line); border-radius:16px; background:color-mix(in srgb,var(--surface-solid) 90%,transparent); backdrop-filter:blur(12px); }
.stage-caption > span { color:var(--red);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:900}.stage-caption strong{font-size:14px}.stage-caption p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}

.viewer-section { padding-block: 110px; background: linear-gradient(180deg, transparent, rgba(62,123,255,.07), transparent); border-block:1px solid var(--line); }
.case-switcher { display:flex; align-items:center; gap:9px; margin-bottom:20px; padding:10px; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.case-button { padding:12px 16px; display:flex; align-items:center; gap:8px; border:1px solid transparent; border-radius:12px; background:transparent; color:var(--muted); font-size:12px; font-weight:800; cursor:pointer; }
.case-button.active { color:var(--text); background:var(--surface-soft); border-color:var(--line); }
.case-dot { width:8px;height:8px;border-radius:50%}.case-dot.red{background:var(--red);box-shadow:0 0 8px var(--red)}.case-dot.green{background:var(--green);box-shadow:0 0 8px var(--green)}
.case-context { margin-left:auto; display:grid; text-align:right; padding-right:7px; }.case-context strong{font-size:10px;letter-spacing:.13em;color:var(--red)}.case-context span{font-size:10px;color:var(--muted);margin-top:3px}
.volume-viewer { display:grid; grid-template-columns:1fr 52px 1fr 52px 1fr; gap:10px; align-items:center; }
.volume-panel { min-width:0; border:1px solid var(--line); border-radius:23px; background:var(--surface); overflow:hidden; box-shadow:0 18px 45px rgba(0,0,0,.12); }
.volume-panel header { padding:17px 18px; display:grid; grid-template-columns:auto 1fr; column-gap:11px; align-items:center; border-bottom:1px solid var(--line); }
.volume-panel header > span { grid-row:1/3; width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--surface-soft);color:var(--cyan);font-size:9px;font-weight:900; }
.volume-panel.reference header > span { color:var(--green); }.volume-panel.prediction header > span{color:var(--red)}
.volume-panel header strong { font-size:14px; }.volume-panel header small{color:var(--muted);font-size:9px;margin-top:4px}
.video-frame { position:relative; height:480px; padding:18px; background:#010406; overflow:hidden; }
.video-frame video { width:100%; height:100%; object-fit:contain; background:#000; }
.scan-crosshair { position:absolute; inset:18px; pointer-events:none; opacity:.5; }.scan-crosshair span{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,var(--cyan),transparent)}.scan-crosshair i{position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent)}
.prediction-badge { position:absolute; right:28px; top:28px; padding:8px 10px; border-radius:9px; background:rgba(255,84,95,.86); color:white; font-size:8px;letter-spacing:.14em;font-weight:900; }
.volume-panel footer { display:flex;justify-content:space-between;gap:12px;padding:13px 17px;color:var(--muted);font-size:9px; }.volume-panel footer b{color:var(--text)}
.viewer-connector { display:grid;justify-items:center;gap:7px;color:var(--cyan)}.viewer-connector span{height:80px;width:1px;background:linear-gradient(transparent,var(--cyan),transparent)}.viewer-connector strong{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(71,216,255,.4);border-radius:50%;font-size:10px}
.viewer-controls { margin-top:16px;padding:15px;display:grid;grid-template-columns:48px 1fr auto 48px;gap:13px;align-items:center;border:1px solid var(--line);border-radius:18px;background:var(--surface); }
.control-button { width:48px;height:48px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);cursor:pointer;font-weight:900; }.pause-symbol{display:none}.viewer-controls.playing .play-symbol{display:none}.viewer-controls.playing .pause-symbol{display:inline}
.timeline-wrap { min-width:0; }.timeline-meta{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--muted);font-size:9px}
.timeline-wrap input { width:100%;accent-color:var(--red);cursor:pointer; }
.speed-control { display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10px; }.speed-control select{padding:9px 28px 9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--text)}
.viewer-explainer { margin-top:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.viewer-explainer>div{padding:15px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.viewer-explainer p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.viewer-explainer strong{color:var(--text)}
.explainer-icon { width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px;background:var(--surface-soft);font-weight:900;color:var(--cyan)}.explainer-icon.reference{color:var(--green)}.explainer-icon.output{color:var(--red)}

.anatomy-section { padding-block:120px; }
.anatomy-grid { display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center; }
.anatomy-visual { position:relative;min-height:600px;display:grid;place-items:center;border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at center,rgba(255,84,95,.08),transparent 52%),var(--surface);overflow:hidden; }
.aorta-diagram { width:min(78%,500px);position:relative;z-index:2;filter:drop-shadow(0 25px 40px rgba(0,0,0,.25)); }.vessel-wall{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.3);stroke-width:18}.true-region{fill:rgba(71,216,255,.64)}.false-region{fill:rgba(255,84,95,.72)}.flap-line{fill:none;stroke:var(--amber);stroke-width:8;stroke-linecap:round}.scan-pulse{fill:none;stroke:rgba(71,216,255,.35);stroke-width:2;stroke-dasharray:8 13;transform-origin:center;animation:orbit 16s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}
.aorta-orbit span { position:absolute;left:50%;top:50%;border:1px solid var(--line);border-radius:50%;transform:translate(-50%,-50%); }.aorta-orbit span:nth-child(1){width:420px;height:420px}.aorta-orbit span:nth-child(2){width:500px;height:500px}.aorta-orbit span:nth-child(3){width:580px;height:580px;border-style:dashed;animation:orbit 35s linear infinite}
.anatomy-callout { position:absolute;z-index:3;display:grid;grid-template-columns:10px 1fr;column-gap:9px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:var(--surface-solid);box-shadow:var(--shadow)}.anatomy-callout>span{grid-row:1/3;width:8px;height:8px;border-radius:50%;margin-top:5px}.anatomy-callout strong{font-size:11px}.anatomy-callout small{color:var(--muted);font-size:8px;margin-top:3px}.anatomy-callout.true{left:7%;top:16%}.anatomy-callout.false{right:6%;top:28%}.anatomy-callout.flap{left:9%;bottom:14%}.anatomy-callout.true>span{background:var(--cyan)}.anatomy-callout.false>span{background:var(--red)}.anatomy-callout.flap>span{background:var(--amber)}
.anatomy-copy { display:grid;gap:11px}.anatomy-copy article{padding:21px;display:grid;grid-template-columns:50px 1fr;gap:15px;border:1px solid var(--line);border-radius:18px;background:var(--surface);transition:.25s ease}.anatomy-copy article:hover{transform:translateX(5px);border-color:var(--line-strong)}.anatomy-copy article>span{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:var(--surface-soft);color:var(--red);font-size:10px;font-weight:900}.anatomy-copy h3{margin:0 0 7px;font-size:17px}.anatomy-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}

.architecture-section { padding-block:115px;background:linear-gradient(180deg,transparent,rgba(255,84,95,.055),transparent);border-block:1px solid var(--line); }
.architecture-board { display:grid;grid-template-columns:1fr 320px;gap:18px; }
.architecture-flow { min-height:620px;padding:42px;position:relative;display:grid;grid-template-columns:190px 40px 190px 40px 210px;align-items:center;border:1px solid var(--line);border-radius:28px;background:var(--surface);overflow:hidden; }
.architecture-flow::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,var(--line-strong) 1px,transparent 1px);background-size:24px 24px;opacity:.25}
.arch-node { position:relative;z-index:2;padding:19px;border:1px solid var(--line);border-radius:17px;background:var(--surface-solid);box-shadow:0 16px 35px rgba(0,0,0,.12)}.arch-node small,.arch-node strong,.arch-node span{display:block}.arch-node small{color:var(--cyan);font-size:8px;letter-spacing:.14em;font-weight:900}.arch-node strong{margin:9px 0 6px;font-size:14px}.arch-node span{color:var(--muted);font-size:9px;line-height:1.5}.mask-node small{color:var(--red)}.generator-node{border-color:rgba(62,123,255,.4);background:linear-gradient(145deg,rgba(62,123,255,.14),var(--surface-solid))}.generator-node small{color:#7fa4ff}
.arch-arrow{position:relative;z-index:2;height:2px;background:linear-gradient(90deg,var(--cyan),var(--red))}.arch-arrow i{position:absolute;right:-2px;top:-4px;border-left:7px solid var(--red);border-top:5px solid transparent;border-bottom:5px solid transparent}
.arch-branches { position:absolute;z-index:2;right:34px;top:54px;bottom:54px;width:210px;display:grid;align-content:space-between;gap:12px}.arch-branches::before{content:"";position:absolute;left:-34px;top:70px;bottom:70px;width:1px;background:var(--line-strong)}.arch-branches .arch-node::before{content:"";position:absolute;left:-34px;top:50%;width:34px;height:1px;background:var(--line-strong)}.synth-node small{color:var(--green)}.lumen-node small{color:var(--amber)}.class-node small{color:var(--red)}
.quality-loop { position:absolute;z-index:3;left:50%;bottom:32px;transform:translateX(-10%);width:300px;padding:13px 16px;border:1px dashed rgba(255,200,90,.4);border-radius:15px;background:rgba(255,200,90,.06)}.quality-loop span{color:var(--amber);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}.quality-loop p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
.architecture-notes { padding:18px;display:flex;flex-direction:column;gap:9px;border:1px solid var(--line);border-radius:28px;background:var(--surface)}.note-chip{padding:14px 15px;text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--surface-solid);color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.note-chip.active{color:var(--text);border-color:rgba(255,84,95,.4);background:rgba(255,84,95,.1)}.note-display{margin-top:auto;padding:20px;border-radius:18px;background:linear-gradient(145deg,rgba(71,216,255,.08),var(--surface-solid));border:1px solid var(--line)}.note-display strong{font-size:17px}.note-display p{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.visual-abstract-card { margin:22px 0 0;padding:18px;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.figure-header{padding:8px 7px 17px;display:flex;justify-content:space-between;align-items:center;gap:20px}.figure-header small{color:var(--cyan);font-size:8px;letter-spacing:.14em}.figure-header h3{margin:7px 0 0;font-size:18px}.expand-media{padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);cursor:pointer;font-size:10px;font-weight:800}.figure-frame{height:620px;padding:18px;border-radius:20px;background:#d6e2f2;overflow:hidden}.figure-frame img{width:100%;height:100%;object-fit:contain}.visual-abstract-card figcaption{padding:13px 7px 3px;color:var(--muted);font-size:10px}

.performance-section { padding-block:120px; }
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.metric-card{padding:27px;border:1px solid var(--line);border-radius:23px;background:var(--surface);box-shadow:0 18px 40px rgba(0,0,0,.08)}.metric-card.primary{background:linear-gradient(145deg,rgba(62,123,255,.13),var(--surface))}.metric-card.alert{background:linear-gradient(145deg,rgba(255,84,95,.14),var(--surface));border-color:rgba(255,84,95,.3)}.metric-number{font-size:56px;font-weight:900;letter-spacing:-.05em}.metric-card>small{font-size:22px;color:var(--muted)}.metric-card h3{margin:16px 0 8px;font-size:18px}.metric-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.metric-track{height:6px;margin-top:24px;border-radius:6px;background:var(--surface-soft);overflow:hidden}.metric-track i{display:block;width:var(--target);height:100%;background:linear-gradient(90deg,var(--cyan),var(--red));transform-origin:left;animation:metricGrow 1.2s ease both}@keyframes metricGrow{from{transform:scaleX(0)}}
.performance-explain{margin-top:16px;display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}.sensitivity-graphic,.performance-copy{padding:28px;border:1px solid var(--line);border-radius:23px;background:var(--surface)}.patient-matrix{display:grid;grid-template-columns:repeat(5,44px);gap:10px;margin-bottom:22px}.patient-matrix span{width:44px;height:58px;position:relative;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.patient-matrix span::before{content:"";position:absolute;left:50%;top:9px;width:13px;height:13px;border-radius:50%;background:currentColor;transform:translateX(-50%)}.patient-matrix span::after{content:"";position:absolute;left:50%;bottom:8px;width:20px;height:24px;border-radius:10px 10px 5px 5px;background:currentColor;transform:translateX(-50%)}.patient-matrix .detected{color:var(--green)}.patient-matrix .missed{color:rgba(255,84,95,.45)}.sensitivity-graphic>strong{font-size:17px}.sensitivity-graphic>p,.performance-copy>p{color:var(--muted);font-size:12px;line-height:1.7}.performance-copy h3{margin:0 0 12px;font-size:24px}.research-note{margin-top:22px;padding:16px;display:grid;grid-template-columns:30px 1fr;gap:12px;border:1px solid rgba(255,200,90,.3);border-radius:15px;background:rgba(255,200,90,.07)}.research-note>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--amber);color:#1b1403;font-weight:900}.research-note p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.research-note strong{color:var(--text)}

.workflow-section { padding-block:115px;background:linear-gradient(180deg,transparent,rgba(71,216,255,.05),transparent);border-block:1px solid var(--line)}
.workflow-track{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.workflow-track article{position:relative;min-height:260px;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden}.workflow-track article::after{content:"";position:absolute;width:90px;height:90px;right:-35px;bottom:-35px;border:1px solid var(--line);border-radius:50%}.workflow-track article>span{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.14em}.workflow-icon{width:48px;height:48px;margin:24px 0 28px;display:grid;place-items:center;border-radius:14px;background:var(--surface-soft);color:var(--cyan);font-size:20px}.workflow-track h3{font-size:16px;margin:0 0 10px}.workflow-track p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.technical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.technical-grid article{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.technical-grid small{color:var(--cyan);font-size:8px;letter-spacing:.14em}.technical-grid strong{display:block;margin:10px 0;font-size:14px}.technical-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}

.closing-section{margin-block:110px;min-height:420px;padding:50px;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center;border:1px solid var(--line);border-radius:34px;background:radial-gradient(circle at 18% 50%,rgba(62,123,255,.14),transparent 33%),radial-gradient(circle at 90% 20%,rgba(255,84,95,.12),transparent 28%),var(--surface);overflow:hidden}.closing-visual{position:relative;min-height:300px;display:grid;place-items:center}.closing-visual img{position:relative;z-index:2;width:170px;height:170px;object-fit:contain;filter:drop-shadow(0 18px 35px rgba(0,0,0,.25))}.closing-rings span{position:absolute;left:50%;top:50%;border:1px solid var(--line-strong);border-radius:50%;transform:translate(-50%,-50%)}.closing-rings span:nth-child(1){width:220px;height:220px}.closing-rings span:nth-child(2){width:290px;height:290px;border-style:dashed;animation:orbit 24s linear infinite}.closing-rings span:nth-child(3){width:360px;height:360px;opacity:.5}.closing-copy h2{margin:0;font-size:clamp(36px,4vw,60px);letter-spacing:-.05em;line-height:1.04}.closing-copy>p{max-width:700px;color:var(--muted);line-height:1.75}
.site-footer{width:min(1280px,calc(100% - 48px));margin:0 auto;padding:30px 0 40px;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:42px;height:42px;object-fit:contain}.footer-brand div{display:grid;gap:4px}.footer-brand strong{font-family:Georgia,serif;color:var(--text);font-size:18px}.footer-brand span{font-size:9px}.footer-powered{color:var(--text);font-weight:800}

.media-modal{position:fixed;inset:0;z-index:1100;padding:30px;display:none;place-items:center;background:rgba(0,5,9,.92);backdrop-filter:blur(14px)}.media-modal.open{display:grid}.modal-close{position:fixed;right:25px;top:20px;width:48px;height:48px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.07);color:white;font-size:28px;cursor:pointer}.modal-content{width:min(1400px,95vw);height:min(850px,88vh);display:grid;grid-template-rows:auto 1fr;gap:15px}.modal-content h3{margin:0;color:white}.modal-content img{width:100%;height:100%;object-fit:contain;background:#d6e2f2;border-radius:18px}

.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}

@media (max-width: 1120px){
  .desktop-nav{display:none}.menu-button{display:grid}.header-cta{display:none}
  .hero{grid-template-columns:1fr;padding-top:60px}.hero-copy{max-width:850px}.hero-console{max-width:850px;width:100%;margin:auto}
  .problem-strip{grid-template-columns:1fr 1fr}.problem-card:last-child{grid-column:1/-1}
  .cascade-layout{grid-template-columns:1fr}.cascade-steps{grid-template-columns:repeat(5,1fr)}.cascade-step{grid-template-columns:1fr;text-align:center}.cascade-step>span{margin:auto}.cascade-step:hover,.cascade-step.active{transform:translateY(-4px)}
  .volume-viewer{grid-template-columns:1fr 1fr 1fr}.viewer-connector{display:none}.video-frame{height:420px}
  .architecture-board{grid-template-columns:1fr}.architecture-notes{display:grid;grid-template-columns:repeat(3,1fr)}.note-display{grid-column:1/-1}
  .workflow-track{grid-template-columns:repeat(3,1fr)}.technical-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 820px){
  .section-shell,.site-footer{width:min(100% - 28px,1280px)}.site-header{padding-inline:14px}.brand-copy small{display:none}.brand{min-width:0}.header-actions{gap:7px}
  .hero{padding-block:48px}.hero h1{font-size:clamp(54px,16vw,80px)}.hero-stats{gap:18px;flex-wrap:wrap}.hero-scan-grid{grid-template-columns:1fr}.mini-scan,.mini-scan video{height:380px;min-height:380px}
  .problem-strip{grid-template-columns:1fr;padding-bottom:80px}.problem-card:last-child{grid-column:auto}
  .split-heading{grid-template-columns:1fr;gap:10px}.cascade-steps{grid-template-columns:1fr 1fr}.stage-canvas{padding:35px 25px;flex-wrap:wrap;min-height:570px}.stage-visual{min-height:680px}.stage-caption{grid-template-columns:1fr}.stage-caption>span{margin-bottom:3px}
  .volume-viewer{grid-template-columns:1fr}.video-frame{height:560px}.viewer-controls{grid-template-columns:48px 1fr 48px}.speed-control{grid-column:1/-1;justify-content:flex-end;grid-row:2}.viewer-explainer{grid-template-columns:1fr}.case-switcher{flex-wrap:wrap}.case-context{width:100%;margin:5px 0 0;text-align:left}
  .anatomy-grid{grid-template-columns:1fr}.anatomy-visual{min-height:560px}.architecture-flow{min-height:820px;padding:26px;display:flex;flex-direction:column;justify-content:flex-start;gap:20px}.arch-arrow{width:2px;height:40px}.arch-arrow i{right:-4px;top:auto;bottom:-3px;transform:rotate(90deg)}.arch-branches{position:relative;right:auto;top:auto;bottom:auto;width:100%;grid-template-columns:1fr;display:grid}.arch-branches::before,.arch-branches .arch-node::before{display:none}.quality-loop{position:relative;left:auto;bottom:auto;transform:none;width:100%}.architecture-notes{grid-template-columns:1fr}.note-display{grid-column:auto}.figure-frame{height:420px}
  .metric-grid{grid-template-columns:1fr}.performance-explain{grid-template-columns:1fr}.workflow-track{grid-template-columns:1fr 1fr}.technical-grid{grid-template-columns:1fr 1fr}.closing-section{grid-template-columns:1fr;padding:35px;gap:30px}.closing-visual{min-height:260px}.site-footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}
}
@media (max-width: 520px){
  :root{--header-height:72px}.brand-mark{width:40px;height:40px}.brand-copy strong{font-size:17px}.icon-button,.menu-button{width:38px;height:38px}.hero h2{font-size:29px}.hero-lead{font-size:14px}.primary-button,.secondary-button{width:100%}.hero-stats{display:grid;grid-template-columns:1fr 1fr}.hero-stats div:last-child{grid-column:1/-1}.hero-console{padding:12px}.console-topbar{align-items:flex-start;gap:8px}.console-case{text-align:right;max-width:120px}.mini-scan,.mini-scan video{height:330px;min-height:330px}.console-readout{grid-template-columns:58px 1fr}.decision-ring{width:55px;height:55px}
  .problem-card{padding:20px}.section-heading h2{font-size:38px}.explanation-section,.viewer-section,.anatomy-section,.performance-section,.workflow-section,.architecture-section{padding-block:80px}.cascade-steps{grid-template-columns:1fr}.stage-visual{min-height:760px}.stage-canvas{padding:28px 18px 130px}.stage-1{gap:18px}.volume-stack{width:95px;height:175px}.network-cube{width:120px;height:120px}.aorta-silhouette{width:82px}.flow-arrow{font-size:21px}.stage-2,.stage-4,.stage-5{flex-direction:column}.masked-volume{width:220px;height:280px}.stage-text h3{font-size:23px}.generator-block{width:130px;height:170px}.gen-layer{width:90px;height:125px}.synthesis-stream{width:65px}.contrast-volume{width:150px;height:220px}.lumen-map{width:280px}.decision-network{width:270px}.decision-card{width:100%}
  .video-frame{height:470px}.viewer-controls{grid-template-columns:44px 1fr 44px;padding:10px;gap:8px}.control-button{width:44px;height:44px}.timeline-meta{display:none}.case-button{flex:1;justify-content:center;padding:11px 7px}.anatomy-visual{min-height:480px}.aorta-orbit span:nth-child(1){width:300px;height:300px}.aorta-orbit span:nth-child(2){width:360px;height:360px}.aorta-orbit span:nth-child(3){width:420px;height:420px}.anatomy-callout{padding:8px}.anatomy-callout small{display:none}.anatomy-callout.false{right:3%}.anatomy-callout.true{left:3%}.anatomy-callout.flap{left:4%}.anatomy-copy article{grid-template-columns:42px 1fr;padding:17px}.figure-frame{height:280px;padding:8px}.figure-header{align-items:flex-start;flex-direction:column}.metric-number{font-size:48px}.patient-matrix{grid-template-columns:repeat(5,38px);gap:7px}.patient-matrix span{width:38px;height:52px}.workflow-track,.technical-grid{grid-template-columns:1fr}.closing-section{margin-block:80px;padding:26px}.closing-copy h2{font-size:36px}.footer-note{line-height:1.5}.media-modal{padding:14px}.modal-close{right:12px;top:10px}.modal-content{height:90vh;padding-top:45px}
}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
