:root {
  --bg: #f5f8fc;
  --bg-deep: #ecf2f8;
  --surface: rgba(255,255,255,.82);
  --surface-solid: #ffffff;
  --surface-2: #eef4fa;
  --text: #071325;
  --muted: #5d6b7d;
  --line: rgba(26,58,94,.13);
  --line-strong: rgba(26,58,94,.23);
  --primary: #159fd0;
  --primary-2: #7654f6;
  --accent: #24d2b6;
  --pink: #e24bb5;
  --yellow: #f2b933;
  --green: #6dcc63;
  --blue: #4d8df4;
  --shadow: 0 22px 70px rgba(15, 39, 74, .13);
  --shadow-soft: 0 12px 36px rgba(20, 45, 80, .09);
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --header: rgba(248,251,255,.78);
  --grid: rgba(30,70,110,.05);
}

html[data-theme="dark"] {
  --bg: #050b14;
  --bg-deep: #071322;
  --surface: rgba(12, 25, 43, .78);
  --surface-solid: #0c192a;
  --surface-2: #0b1726;
  --text: #f4f8ff;
  --muted: #9caec2;
  --line: rgba(140, 184, 229, .15);
  --line-strong: rgba(140, 184, 229, .28);
  --primary: #17c4ed;
  --primary-2: #8b62ff;
  --accent: #38e1bd;
  --shadow: 0 25px 90px rgba(0,0,0,.4);
  --shadow-soft: 0 14px 48px rgba(0,0,0,.25);
  --header: rgba(5,11,20,.78);
  --grid: rgba(72,144,210,.05);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px),
    var(--bg);
  background-size: 44px 44px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  overflow-x: hidden;
  transition: background-color .35s ease, color .35s ease;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% -20%, rgba(86,101,255,.16), transparent 38%);
  z-index: -1;
}
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
img { display: block; max-width: 100%; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em; color: var(--primary); }
::selection { background: rgba(23,196,237,.28); }

.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; position: relative; }
.section { position: relative; padding: 112px 0; }
.section-tight { padding-top: 74px; }
.alt-section { background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--surface-2) 68%, transparent), transparent); }

.page-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 1000; background: transparent; }
.page-progress span { display:block; height:100%; width:0; background: linear-gradient(90deg,var(--primary),var(--primary-2)); box-shadow:0 0 18px var(--primary); }

.ambient { position: fixed; border-radius: 50%; filter: blur(110px); opacity: .18; pointer-events: none; z-index: -1; }
.ambient-one { width: 430px; height:430px; background:var(--primary); top:14%; right:-190px; }
.ambient-two { width:390px; height:390px; background:var(--primary-2); top:58%; left:-190px; }

.site-header { position: sticky; top:0; z-index:900; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); background: var(--header); border-bottom:1px solid var(--line); transition:.3s ease; }
.nav-shell { height:82px; display:flex; align-items:center; gap:24px; }
.brand { display:flex; align-items:center; gap:11px; min-width:220px; }
.brand-mark { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:#fff; box-shadow:0 8px 25px rgba(40,56,130,.18); overflow:hidden; }
.brand-mark img { width:33px; height:37px; object-fit:contain; }
.brand-copy { line-height:1.15; }
.brand-copy strong { display:block; font-family: Georgia, serif; font-size:1.2rem; color:#28327c; letter-spacing:.01em; }
html[data-theme="dark"] .brand-copy strong { color:#f5f7ff; }
sup { font-size:.56em; vertical-align:super; }
.brand-copy small { display:block; margin-top:5px; font-size:.64rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }
.site-nav { flex:1; display:flex; align-items:center; justify-content:center; gap:28px; }
.site-nav a { position:relative; color:var(--muted); font-size:.85rem; font-weight:700; letter-spacing:.01em; padding:30px 0 26px; }
.site-nav a::after { content:""; position:absolute; left:50%; right:50%; bottom:18px; height:2px; background:linear-gradient(90deg,var(--primary),var(--primary-2)); transition:.25s ease; }
.site-nav a:hover, .site-nav a.active { color:var(--text); }
.site-nav a:hover::after, .site-nav a.active::after { left:0; right:0; }
.nav-actions { display:flex; align-items:center; gap:9px; }
.icon-button { width:42px; height:42px; padding:0; display:grid; place-items:center; border:1px solid var(--line); border-radius:13px; background:var(--surface); cursor:pointer; transition:.22s ease; }
.icon-button:hover { transform:translateY(-2px); border-color:var(--line-strong); box-shadow:var(--shadow-soft); }
.icon-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sun-icon { display:none; }
html[data-theme="dark"] .moon-icon { display:none; }
html[data-theme="dark"] .sun-icon { display:block; }
.mobile-menu { display:none; width:42px; height:42px; border:1px solid var(--line); background:var(--surface); border-radius:12px; padding:10px; cursor:pointer; }
.mobile-menu span { display:block; height:2px; background:var(--text); margin:4px 0; border-radius:3px; }

.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:0 22px; border-radius:14px; border:1px solid transparent; font-size:.88rem; font-weight:800; cursor:pointer; transition:.25s ease; }
.button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.button:hover { transform:translateY(-3px); }
.button-primary { color:#fff; background:linear-gradient(125deg,var(--primary),var(--primary-2)); box-shadow:0 13px 34px rgba(74,91,246,.27); }
.button-secondary { background:var(--surface); color:var(--text); border-color:var(--line-strong); }
.button-secondary:hover { border-color:var(--primary); box-shadow:var(--shadow-soft); }
.button-small { min-height:42px; padding:0 16px; font-size:.78rem; border-radius:12px; }

.glass-panel { background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.hero { min-height:calc(100vh - 82px); display:grid; align-items:center; padding-top:70px; padding-bottom:80px; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:.92fr 1.18fr; gap:64px; align-items:center; }
.eyebrow, .kicker { text-transform:uppercase; letter-spacing:.14em; font-weight:850; font-size:.72rem; color:var(--primary); }
.eyebrow { display:inline-flex; align-items:center; gap:9px; padding:8px 12px; border:1px solid color-mix(in srgb,var(--primary) 38%, transparent); background:color-mix(in srgb,var(--primary) 8%, transparent); border-radius:999px; }
.eyebrow-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 14px var(--accent); }
.hero h1 { margin:20px 0 0; font-size:clamp(4rem,8vw,7rem); line-height:.9; letter-spacing:-.065em; }
.hero h1 span { color:transparent; background:linear-gradient(110deg,var(--primary),var(--primary-2)); background-clip:text; -webkit-background-clip:text; }
.hero h2 { margin:18px 0; font-size:clamp(1.4rem,2.6vw,2.2rem); line-height:1.16; letter-spacing:-.035em; color:var(--primary); }
.hero-lead { max-width:620px; margin:0; color:var(--muted); font-size:1.06rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.powered-chip { display:inline-flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:22px; padding:11px 15px; border:1px solid var(--line); border-radius:13px; background:var(--surface); box-shadow:var(--shadow-soft); color:var(--muted); font-size:.78rem; }
.powered-chip strong { color:var(--primary-2); }
.heart { color:#ff466d; font-size:1rem; animation:heartbeat 1.9s ease infinite; }
@keyframes heartbeat { 0%,100%{transform:scale(1)} 10%{transform:scale(1.18)} 20%{transform:scale(1)} 30%{transform:scale(1.15)} 45%{transform:scale(1)} }
.hero-facts { margin-top:34px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hero-facts div { padding:18px 16px 18px 0; }
.hero-facts div+div { padding-left:22px; border-left:1px solid var(--line); }
.hero-facts strong { display:block; font-size:1.15rem; }
.hero-facts span { display:block; color:var(--muted); font-size:.72rem; margin-top:3px; }
.hero-console { position:relative; min-width:0; }
.console-orbit { position:absolute; left:50%; top:50%; border:1px solid color-mix(in srgb,var(--primary) 28%, transparent); border-radius:50%; transform:translate(-50%,-50%); animation:spin 20s linear infinite; }
.console-orbit::before, .console-orbit::after { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--primary); box-shadow:0 0 18px var(--primary); }
.console-orbit::before { left:8%; top:23%; }
.console-orbit::after { right:4%; bottom:28%; background:var(--primary-2); box-shadow:0 0 18px var(--primary-2); }
.orbit-a { width:115%; aspect-ratio:1; }
.orbit-b { width:92%; aspect-ratio:1; animation-direction:reverse; animation-duration:15s; }
@keyframes spin { to{transform:translate(-50%,-50%) rotate(360deg)} }
.console-card { position:relative; border-radius:var(--radius-xl); padding:18px; overflow:hidden; }
.console-card::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(125deg,rgba(255,255,255,.09),transparent 30%); }
.console-topbar, .stage-topbar { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:4px 4px 14px; font-size:.8rem; }
.console-topbar>div, .stage-topbar>div { display:flex; align-items:center; gap:9px; min-width:0; }
.status-dot { flex:0 0 auto; width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 15px var(--accent); }
.console-status { color:var(--primary); font-weight:850; font-size:.65rem; letter-spacing:.12em; }
.hero-media { height:430px; border-radius:19px; overflow:hidden; background:#050811; border:1px solid var(--line); }
.media-contain { display:flex; align-items:center; justify-content:center; min-width:0; }
.media-contain img { width:100%; height:100%; object-fit:contain !important; object-position:center !important; }
.console-bottom { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding-top:14px; }
.class-key { display:flex; align-items:center; gap:7px; font-size:.65rem; color:var(--muted); min-width:0; }
.class-key i { width:9px; height:9px; flex:0 0 auto; border-radius:50%; }
.class-bg{background:#8b95a7}.class-core{background:var(--yellow)}.class-edema{background:var(--green)}.class-enhancing{background:#f4df27}
.scroll-cue { position:absolute; bottom:22px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:10px; color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; }
.scroll-cue span { width:22px; height:36px; border:1px solid var(--line-strong); border-radius:20px; position:relative; }
.scroll-cue span::after { content:""; width:4px; height:7px; border-radius:4px; background:var(--primary); position:absolute; top:7px; left:8px; animation:scrollDot 1.6s ease infinite; }
@keyframes scrollDot { 50%{transform:translateY(12px);opacity:.2} }

.section-heading { margin-bottom:45px; }
.section-heading.centered { max-width:740px; margin-left:auto; margin-right:auto; text-align:center; }
.section-heading h2, .architecture-copy h2, .closing h2 { margin:8px 0 13px; font-size:clamp(2.25rem,4.8vw,4.2rem); line-height:1.04; letter-spacing:-.055em; }
.section-heading p, .architecture-copy>p { margin:0; color:var(--muted); }
.split-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:end; }
.split-heading p { padding-bottom:8px; }

.value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.value-card { min-height:260px; padding:29px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-soft); transition:.3s ease; }
.value-card:hover { transform:translateY(-8px); border-color:color-mix(in srgb,var(--primary) 50%,var(--line)); }
.icon-orb { width:54px; height:54px; display:grid; place-items:center; border-radius:17px; color:var(--primary); background:color-mix(in srgb,var(--primary) 10%,transparent); border:1px solid color-mix(in srgb,var(--primary) 30%,transparent); }
.icon-orb svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.value-card h3 { font-size:1.18rem; margin:25px 0 10px; }
.value-card p { color:var(--muted); margin:0; font-size:.91rem; }

.modality-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.modality-card { padding:15px 15px 22px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-soft); overflow:hidden; }
.modality-label { display:flex; align-items:center; justify-content:space-between; padding:2px 6px 12px; }
.modality-label span { color:var(--muted); font-size:.68rem; letter-spacing:.12em; }
.modality-label strong { color:var(--primary); font-size:1.02rem; }
.media-button { position:relative; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.modality-card .media-button { height:255px; border-radius:16px; overflow:hidden; background:#040913; border:1px solid rgba(255,255,255,.08); }
.modality-card .media-button img { width:100%; height:100%; object-fit:contain !important; }
.zoom-badge { position:absolute; right:10px; bottom:10px; padding:6px 9px; border-radius:9px; color:#fff; background:rgba(5,11,20,.78); border:1px solid rgba(255,255,255,.18); font-size:.64rem; font-weight:800; opacity:0; transform:translateY(5px); transition:.22s ease; }
.media-button:hover .zoom-badge { opacity:1; transform:none; }
.modality-card p { color:var(--muted); font-size:.78rem; margin:15px 6px 0; }
.wide-media-card { margin-top:26px; padding:25px; border-radius:var(--radius-xl); display:grid; grid-template-columns:.36fr .64fr; gap:30px; align-items:center; }
.media-copy h3 { margin:9px 0; font-size:1.7rem; line-height:1.14; }
.media-copy p { margin:0; color:var(--muted); font-size:.88rem; }
.wide-media { height:280px; border-radius:18px; overflow:hidden; background:#040913; border:1px solid var(--line); }
.wide-media img { width:100%; height:100%; object-fit:contain !important; padding:16px; }

.class-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.class-card { position:relative; min-height:315px; padding:27px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-soft); }
.class-card::before { content:""; position:absolute; inset:auto -25% -42% -25%; height:70%; border-radius:50%; background:var(--class); opacity:.09; filter:blur(8px); }
.class-index { position:relative; z-index:2; color:var(--muted); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.class-card h3 { position:relative; z-index:2; margin:98px 0 9px; font-size:1.03rem; }
.class-card p { position:relative; z-index:2; margin:0; color:var(--muted); font-size:.8rem; }
.background-class{--class:#8c98aa}.core-class{--class:#f1b731}.edema-class{--class:#65ce74}.enhancing-class{--class:#e353b8}
.mask-shape { position:absolute; right:25px; top:38px; width:85px; height:90px; background:var(--class); opacity:.95; filter:drop-shadow(0 13px 22px color-mix(in srgb,var(--class) 35%,transparent)); }
.shape-one { clip-path:polygon(22% 0,65% 4%,100% 26%,88% 73%,57% 100%,11% 83%,0 39%); }
.shape-two { clip-path:polygon(41% 0,80% 11%,100% 45%,73% 91%,37% 100%,0 66%,11% 18%); }
.shape-three { clip-path:polygon(24% 0,74% 9%,100% 39%,88% 78%,50% 100%,9% 84%,0 35%); }
.shape-four { clip-path:polygon(33% 0,77% 7%,100% 37%,82% 83%,45% 100%,7% 72%,0 30%); }

.result-section { overflow:hidden; }
.result-workbench { display:grid; grid-template-columns:220px 1fr; gap:18px; }
.result-tabs { display:flex; flex-direction:column; gap:9px; }
.result-tab { text-align:left; padding:17px 16px; color:var(--muted); background:var(--surface); border:1px solid var(--line); border-radius:14px; cursor:pointer; font-weight:760; font-size:.82rem; transition:.22s ease; }
.result-tab:hover, .result-tab.active { color:var(--text); border-color:var(--primary); background:color-mix(in srgb,var(--primary) 9%,var(--surface)); transform:translateX(4px); }
.result-stage { min-width:0; border-radius:var(--radius-xl); padding:18px; }
.stage-expand, .panel-label button { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:var(--surface-2); color:var(--muted); padding:8px 11px; border-radius:10px; cursor:pointer; font-size:.68rem; font-weight:800; }
.stage-expand svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; }
.stage-media { height:530px; border-radius:19px; background:#050811; overflow:hidden; border:1px solid var(--line); }
.stage-media img { padding:14px; }
.result-stage>p { margin:13px 5px 2px; color:var(--muted); font-size:.8rem; }
.comparison-grid { margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.comparison-card { padding:22px; border:1px solid var(--line); background:var(--surface); border-radius:var(--radius-md); }
.comparison-card span { color:var(--primary); font-size:.65rem; font-weight:900; letter-spacing:.12em; }
.comparison-card h3 { margin:7px 0 6px; font-size:1rem; }
.comparison-card p { margin:0; color:var(--muted); font-size:.78rem; }

.architecture-grid { display:grid; grid-template-columns:.84fr 1.16fr; gap:56px; align-items:center; }
.architecture-copy>p { max-width:570px; }
.workflow-list { margin-top:30px; display:grid; gap:11px; }
.workflow-list div { display:grid; grid-template-columns:42px 1fr; gap:13px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.workflow-list span { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:color-mix(in srgb,var(--primary) 10%,transparent); color:var(--primary); font-weight:900; font-size:.75rem; }
.workflow-list p { margin:0; color:var(--muted); font-size:.84rem; }
.workflow-list strong { color:var(--text); }
.architecture-media, .chart-card { border-radius:var(--radius-xl); padding:18px; }
.panel-label { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:1px 3px 14px; }
.panel-label span { display:block; color:var(--primary); font-size:.62rem; letter-spacing:.13em; font-weight:900; }
.panel-label strong { display:block; margin-top:3px; font-size:.9rem; }
.unet-media { height:455px; background:#fff; border-radius:17px; overflow:hidden; }
.unet-media img { padding:16px; }
.pipeline-shell { margin-top:55px; display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:10px; padding:23px; border:1px solid var(--line); border-radius:var(--radius-xl); background:var(--surface); box-shadow:var(--shadow-soft); }
.pipeline-step { min-height:125px; padding:17px; border-radius:16px; background:var(--surface-2); border:1px solid var(--line); }
.pipeline-step i { display:block; color:var(--primary); font-style:normal; font-size:.66rem; font-weight:900; letter-spacing:.1em; }
.pipeline-step strong { display:block; margin:19px 0 5px; font-size:.86rem; }
.pipeline-step span { display:block; color:var(--muted); font-size:.68rem; }
.pipeline-arrow { color:var(--primary); font-size:1.25rem; }

.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.metric-card { padding:23px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-soft); }
.metric-card>span { display:block; min-height:38px; color:var(--muted); font-size:.72rem; }
.metric-card strong { display:inline-block; margin-top:11px; font-size:clamp(2rem,4vw,3.3rem); line-height:1; letter-spacing:-.05em; color:var(--primary); }
.metric-card i { display:block; margin-top:8px; color:var(--muted); font-size:.7rem; font-style:normal; }
.metric-bar { margin-top:20px; height:4px; background:var(--surface-2); overflow:hidden; border-radius:9px; }
.metric-bar b { display:block; width:var(--value); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--primary),var(--primary-2)); }
.metric-bar.inverse b { background:linear-gradient(90deg,var(--accent),var(--primary)); }
.chart-grid { margin-top:18px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.chart-media { height:405px; border-radius:17px; overflow:hidden; background:#fff; }
.chart-media img { padding:16px; }
.disclaimer { margin-top:22px; display:flex; gap:14px; align-items:flex-start; padding:18px 20px; border:1px solid color-mix(in srgb,var(--yellow) 40%,var(--line)); border-radius:16px; background:color-mix(in srgb,var(--yellow) 8%,var(--surface)); }
.disclaimer svg { flex:0 0 auto; width:23px; height:23px; fill:none; stroke:var(--yellow); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.disclaimer p { margin:0; color:var(--muted); font-size:.78rem; }
.disclaimer strong { color:var(--text); }

.closing { padding-top:70px; }
.closing-card { min-height:510px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:50px; padding:65px; border-radius:36px; overflow:hidden; background:linear-gradient(135deg,#081322,#13294a 56%,#26175a); color:#fff; box-shadow:0 35px 100px rgba(0,0,0,.28); }
.closing-card::before { content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(255,255,255,.07),transparent 28%); }
.closing-glow { position:absolute; width:480px; height:480px; border-radius:50%; right:-80px; top:-140px; background:radial-gradient(circle,rgba(23,196,237,.32),transparent 65%); }
.closing-content { position:relative; z-index:2; }
.closing h2 { margin-top:18px; color:#fff; }
.closing-content>p { max-width:620px; color:#b7c8db; }
.closing-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.closing .button-secondary { color:#fff; background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18); }
.closing-powered { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.13); color:#c4d2e2; }
.closing-logo { position:relative; z-index:2; justify-self:center; width:min(330px,100%); height:360px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.11),transparent 68%); }
.closing-logo img { max-width:72%; max-height:88%; object-fit:contain; filter:drop-shadow(0 25px 45px rgba(0,0,0,.4)); }

.site-footer { padding:34px 0 45px; border-top:1px solid var(--line); background:var(--surface-2); }
.footer-grid { display:grid; grid-template-columns:1fr auto auto; gap:40px; align-items:center; }
.footer-brand { display:flex; align-items:center; gap:13px; max-width:470px; }
.footer-brand img { width:47px; height:55px; object-fit:contain; }
.footer-brand strong { font-family:Georgia,serif; font-size:1.1rem; }
.footer-brand p { margin:3px 0 0; color:var(--muted); font-size:.68rem; }
.footer-meta { display:flex; flex-direction:column; gap:4px; color:var(--muted); font-size:.66rem; }
.footer-powered { color:var(--muted); font-size:.7rem; white-space:nowrap; }
.footer-powered span { color:#ff466d; }

.media-modal { width:min(1200px,calc(100% - 28px)); max-width:none; max-height:94vh; padding:0; border:1px solid var(--line-strong); border-radius:24px; color:var(--text); background:var(--surface-solid); box-shadow:0 45px 130px rgba(0,0,0,.6); }
.media-modal::backdrop { background:rgba(0,4,12,.82); backdrop-filter:blur(9px); }
.modal-shell { padding:17px; }
.modal-header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:0 3px 13px; }
.modal-header button { width:38px; height:38px; border-radius:12px; border:1px solid var(--line); background:var(--surface-2); color:var(--text); cursor:pointer; font-size:1.55rem; line-height:1; }
.modal-media { height:min(76vh,780px); border-radius:18px; overflow:hidden; background:#04070d; border:1px solid var(--line); }
.modal-media img { padding:14px; }
.modal-shell>p { margin:11px 5px 0; color:var(--muted); font-size:.72rem; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.08s; }.delay-2 { transition-delay:.16s; }.delay-3 { transition-delay:.24s; }

@media (max-width:1080px) {
  .site-nav { display:none; position:absolute; top:72px; left:20px; right:20px; padding:13px; flex-direction:column; align-items:stretch; gap:2px; background:var(--surface-solid); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
  .site-nav.open { display:flex; }
  .site-nav a { padding:12px 13px; border-radius:10px; }
  .site-nav a::after { display:none; }
  .site-nav a.active { background:var(--surface-2); }
  .mobile-menu { display:block; margin-left:auto; }
  .nav-actions .button-small { display:none; }
  .brand { min-width:0; }
  .hero-grid { grid-template-columns:1fr; gap:60px; }
  .hero-copy { max-width:760px; }
  .hero-console { max-width:880px; width:100%; margin:0 auto; }
  .hero { min-height:auto; }
  .modality-grid, .class-grid { grid-template-columns:repeat(2,1fr); }
  .architecture-grid { grid-template-columns:1fr; }
  .architecture-copy { max-width:780px; }
  .pipeline-shell { grid-template-columns:1fr 1fr; }
  .pipeline-arrow { display:none; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-powered { grid-column:1/-1; }
}

@media (max-width:760px) {
  .container { width:min(100% - 28px,1180px); }
  .section { padding:82px 0; }
  .nav-shell { height:70px; gap:10px; }
  .brand-copy small { display:none; }
  .brand-mark { width:38px; height:38px; }
  .brand-mark img { width:29px; }
  .brand-copy strong { font-size:1rem; }
  .nav-actions { gap:6px; }
  .icon-button, .mobile-menu { width:38px; height:38px; border-radius:11px; }
  .hero { padding-top:58px; }
  .hero h1 { font-size:clamp(3.5rem,18vw,5rem); }
  .hero h2 { font-size:1.45rem; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .button { width:100%; }
  .hero-facts { grid-template-columns:1fr; }
  .hero-facts div, .hero-facts div+div { padding:13px 0; border-left:0; border-top:1px solid var(--line); }
  .hero-facts div:first-child { border-top:0; }
  .console-card { padding:11px; border-radius:21px; }
  .hero-media { height:330px; }
  .console-bottom { grid-template-columns:repeat(2,1fr); }
  .scroll-cue { display:none; }
  .section-heading h2, .architecture-copy h2, .closing h2 { font-size:2.45rem; }
  .split-heading { grid-template-columns:1fr; gap:12px; }
  .value-grid, .modality-grid, .class-grid, .metric-grid, .chart-grid, .comparison-grid { grid-template-columns:1fr; }
  .wide-media-card { grid-template-columns:1fr; }
  .wide-media { height:230px; }
  .modality-card .media-button { height:310px; }
  .class-card { min-height:270px; }
  .result-workbench { grid-template-columns:1fr; }
  .result-tabs { flex-direction:row; overflow:auto; padding-bottom:5px; }
  .result-tab { flex:0 0 auto; white-space:nowrap; }
  .result-tab:hover, .result-tab.active { transform:translateY(-2px); }
  .stage-media { height:390px; }
  .unet-media { height:330px; }
  .pipeline-shell { grid-template-columns:1fr; padding:15px; }
  .chart-media { height:330px; }
  .closing-card { grid-template-columns:1fr; padding:36px 25px; min-height:auto; }
  .closing-logo { height:250px; order:-1; width:230px; }
  .footer-grid { grid-template-columns:1fr; gap:23px; }
  .footer-powered { grid-column:auto; }
  .modal-media { height:72vh; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}
