@font-face { font-family:"Geist"; src:url("../fonts/geist.woff2") format("woff2"); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face { font-family:"Geist Mono"; src:url("../fonts/geist-mono.woff2") format("woff2"); font-weight:100 900; font-style:normal; font-display:swap; }
:root {
--paper:#f5f4ef; --paper-deep:#ecebe4; --white:#fff; --ink:#1b2121; --muted:#59625f; --soft:#7b8581;
--dark:#121817; --dark-raised:#1b2322; --dark-card:#1f2827; --light-ink:#eef0ea; --dark-muted:#a9b7b1;
--red:#cc2639; --red-deep:#a81c2d; --red-light:#ff6b7c;
--argus:#2a7ff0; --argus-deep:#0b4fc0; --argus-light:#6cb8ff;
--accent:var(--red); --accent-light:var(--red-light);
--line:#dcdfd8; --dark-line:#2e3a38;
--font:"Geist","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
--mono:"Geist Mono",ui-monospace,Consolas,"Liberation Mono",monospace;
--header:76px; --radius:10px; --radius-small:6px;
--shadow:0 1px 2px #0c14120d,0 12px 32px -8px #0c141222;
--shadow-strong:0 2px 6px #0003,0 40px 80px -20px #000a;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header) + 24px); }
body { margin:0; color:var(--ink); background:var(--paper); font:17px/1.65 var(--font); font-feature-settings:"ss01","cv11"; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
img,svg { display:block; max-width:100%; height:auto; }
button,input,select,textarea { font:inherit; }
button,a,input,textarea,select { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
a { color:inherit; text-underline-offset:5px; text-decoration-thickness:1px; }
a:hover { text-decoration-color:var(--accent); }
button { cursor:pointer; }
button:disabled { cursor:default; }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:2px; }
[hidden] { display:none !important; }
::selection { color:white; background:var(--red); }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:600; line-height:1.06; letter-spacing:-.035em; text-wrap:balance; }
h1 { font-size:clamp(2.6rem,5vw,4.9rem); }
h2 { font-size:clamp(2rem,3.5vw,3.4rem); }
h3 { font-size:clamp(1.3rem,1.8vw,1.6rem); letter-spacing:-.025em; line-height:1.2; }
p + p { margin-top:1em; }
ul { padding-left:1.15rem; }
li + li { margin-top:.5em; }
.container { width:min(1240px,calc(100% - 96px)); margin-inline:auto; }
.section { padding-block:120px; }
.section-tight { padding-block:72px; }
.dark { background:var(--dark); color:var(--light-ink); }
.white { background:var(--white); }
.muted { color:var(--muted); }
.dark .muted { color:var(--dark-muted); }
.eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:24px; font:500 12px/1.4 var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.eyebrow::before { content:""; flex:none; width:8px; height:8px; background:var(--accent); }
.dark .eyebrow { color:var(--dark-muted); }
.dark .eyebrow::before { background:var(--accent-light); }
.kicker { font:500 11px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.lead { font-size:clamp(1.06rem,1.35vw,1.22rem); line-height:1.65; color:var(--muted); max-width:660px; }
.dark .lead { color:#b5c3bd; }
.accent { color:var(--accent); }
.intro-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:90px; align-items:end; margin-bottom:64px; }
.intro-grid h2 { max-width:700px; }
.section-heading { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:56px; }
.section-heading h2 { max-width:760px; }
.section-heading .lead { margin-top:22px; }
.text-link { display:inline-flex; align-items:center; gap:14px; font-size:15px; font-weight:600; text-decoration:none; padding-block:8px; border-bottom:1px solid currentColor; }
.text-link span { line-height:1; transition:transform .2s; }
.text-link:hover span { transform:translate(3px,-3px); }
.text-link:hover { color:var(--accent); }
.dark .text-link:hover { color:var(--accent-light); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:52px; padding:14px 24px; border:1px solid transparent; border-radius:999px; text-decoration:none; font-size:15px; font-weight:600; line-height:1.3; letter-spacing:-.005em; transition:background .2s,border-color .2s,transform .2s,box-shadow .2s; }
.btn:hover { transform:translateY(-1px); }
.btn span { line-height:1; transition:transform .2s; }
.btn:hover span { transform:translate(2px,-2px); }
.btn-dark { background:var(--ink); color:white; }
.btn-dark:hover { background:#33403d; }
.btn-primary { background:var(--accent); color:white; box-shadow:0 8px 24px -10px var(--accent); }
.btn-primary:hover { background:var(--red-deep); }
.btn-light { background:var(--paper); color:var(--ink); }
.btn-light:hover { background:white; }
.btn-outline { border-color:currentColor; color:inherit; background:transparent; }
.dark .btn-outline { border-color:#5b6b66; }
.btn-outline:hover { background:#8881; }
.btn-ghost { border-color:var(--line); color:var(--ink); background:transparent; }
.btn-small { min-height:42px; padding:9px 18px; font-size:14px; gap:10px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; align-items:center; }
.skip-link { position:fixed; top:8px; left:8px; transform:translateY(-150%); z-index:100; padding:12px 20px; background:white; color:black; }
.skip-link:focus { transform:none; }


.site-header { position:sticky; top:0; z-index:30; background:rgba(245,244,239,.86); -webkit-backdrop-filter:saturate(1.4) blur(14px); backdrop-filter:saturate(1.4) blur(14px); border-bottom:1px solid #1b21211a; }
.nav-bar { display:flex; min-height:var(--header); gap:48px; align-items:center; }
.brand { flex:none; display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand img { width:38px; height:38px; }
.brand-name { font-size:22px; font-weight:640; letter-spacing:-.045em; line-height:1; color:var(--ink); }
.footer-lockup img { width:48px; height:48px; }
.footer-lockup .brand-name { font-size:27px; }
.nav-menu { display:flex; flex:1; align-items:center; justify-content:space-between; gap:24px; }
.nav-links { display:flex; align-items:center; gap:4px; }
.nav-links a { position:relative; padding:9px 13px; border-radius:999px; font-size:14.5px; font-weight:500; text-decoration:none; white-space:nowrap; color:#2b3332; transition:background .15s,color .15s; }
.nav-links a:hover { background:#1b21210d; }
.nav-links a[aria-current] { color:var(--ink); background:#1b212112; font-weight:600; }
.nav-actions { display:flex; align-items:center; gap:18px; }
.lang-switch { display:flex; gap:6px; font:500 12px/1 var(--mono); }
.lang-switch a { padding:10px 3px; text-decoration:none; color:var(--soft); }
.lang-switch .active { color:var(--ink); font-weight:700; }
.lang-switch span { padding-top:10px; color:#a3aca7; }
.nav-toggle { margin-left:auto; align-items:center; gap:12px; padding:10px; border:0; background:none; font-size:14px; font-weight:500; color:var(--ink); }
.menu-lines { width:22px; height:10px; border-block:1.5px solid currentColor; }


.hero { position:relative; overflow:hidden; isolation:isolate; }
.hero::before { content:""; position:absolute; inset:0; z-index:-1; background:
radial-gradient(60% 70% at 85% 30%,#cc26391f,transparent 70%),
radial-gradient(40% 50% at 70% 90%,#2a7ff014,transparent 70%),
linear-gradient(#ffffff08 1px,transparent 1px) 0 0/100% 64px,
linear-gradient(90deg,#ffffff08 1px,transparent 1px) 0 0/64px 100%; mask-image:linear-gradient(#000 60%,transparent); }
.hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; padding-block:96px 104px; }
.hero-copy { position:relative; z-index:1; }
.hero h1 { font-size:clamp(2.5rem,4.3vw,4.15rem); }
.hero h1 span { display:block; color:#9fb0aa; }
.hero .lead { margin-top:28px; max-width:560px; font-size:clamp(1.05rem,1.3vw,1.18rem); }
.hero-proof { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:44px; padding-top:26px; border-top:1px solid var(--dark-line); font:500 12px/1.6 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--dark-muted); }
.hero-proof b { color:var(--light-ink); font-weight:600; }
.hero-stage { position:relative; margin-right:-120px; }
.hero-stage .rotor { position:absolute; width:78%; right:-6%; top:-24%; opacity:.4; z-index:-1; }
.window { position:relative; overflow:hidden; border-radius:12px; background:#fff; box-shadow:var(--shadow-strong); border:1px solid #ffffff1f; }
.window-bar { display:flex; align-items:center; gap:7px; height:34px; padding:0 14px; background:#e9ecef; border-bottom:1px solid #d5dade; font:500 11px/1 var(--mono); color:#5d6872; }
.window-bar i { width:10px; height:10px; border-radius:50%; background:#cfd5da; }
.window-bar i:nth-child(1) { background:#ff5f57; } .window-bar i:nth-child(2) { background:#febc2e; } .window-bar i:nth-child(3) { background:#28c840; }
.window-bar span { margin-left:10px; display:flex; align-items:center; gap:7px; }
.window-bar img { width:14px; height:14px; }
.window > img, .window > a img { width:100%; }
.hero-stage .window { transform:perspective(2200px) rotateY(-9deg) rotateX(3deg); transform-origin:left center; }
.float-card { position:absolute; z-index:2; padding:16px 18px; border-radius:12px; background:#1a2221f2; border:1px solid #ffffff1c; box-shadow:0 24px 48px -16px #000c; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); color:var(--light-ink); }
.float-card .kicker { color:var(--dark-muted); display:block; }
.float-card strong { display:block; font-size:15px; font-weight:600; margin-top:6px; letter-spacing:-.01em; }
.float-oragl { left:-56px; bottom:-38px; width:270px; }
.float-oragl svg { margin-top:12px; }
.float-argus { top:-26px; right:160px; display:flex; align-items:center; gap:12px; padding:12px 16px 12px 12px; }
.float-argus img { width:34px; height:34px; }
.float-argus strong { margin:0; }
.float-argus .kicker { font-size:10px; }


.clients { padding:44px 0 46px; background:var(--paper); border-bottom:1px solid var(--line); }
.clients-inner { display:grid; grid-template-columns:190px 1fr; gap:40px; align-items:center; }
.clients-label { font:500 12px/1.55 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.client-list { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.client { padding:6px 28px; border-left:1px solid var(--line); }
.client-name { font-size:clamp(1.35rem,2.05vw,1.8rem); font-weight:650; letter-spacing:-.04em; line-height:1.15; color:#2c3433; }
.client-role { display:block; margin-top:8px; font:500 11px/1.5 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--soft); }


.stats { display:grid; grid-template-columns:repeat(4,1fr); margin-top:80px; border-top:1px solid var(--line); }
.stat { padding:34px 30px 6px 0; }
.stat + .stat { padding-left:30px; border-left:1px solid var(--line); }
.stat-value { display:block; font-size:clamp(2.2rem,3.6vw,3.3rem); font-weight:600; letter-spacing:-.045em; line-height:1; }
.stat-value small { font-size:.45em; letter-spacing:-.01em; margin-left:2px; color:var(--accent); }
.stat p { margin-top:16px; font-size:14.5px; color:var(--muted); max-width:240px; }


.product-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.product { position:relative; display:flex; flex-direction:column; overflow:hidden; border-radius:16px; padding:44px 44px 0; border:1px solid var(--line); background:var(--white); }
.product.dark { background:var(--dark); border-color:var(--dark); color:var(--light-ink); }
.product-head { display:flex; align-items:center; gap:16px; }
.product-head img { width:52px; height:52px; }
.product-mark { display:grid; place-items:center; width:52px; height:52px; border-radius:12px; background:#cc263926; color:var(--red-light); font:700 18px/1 var(--mono); letter-spacing:-.04em; }
.product-tag { display:block; font:500 11px/1.4 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--soft); }
.dark .product-tag { color:var(--dark-muted); }
.product h3 { font-size:clamp(2.2rem,3vw,2.8rem); letter-spacing:-.045em; line-height:1; margin-top:4px; }
.product > p { margin-top:26px; font-size:17px; color:var(--muted); max-width:520px; }
.product.dark > p { color:#b5c3bd; }
.spec-list { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; margin:30px 0 0; padding:0; list-style:none; }
.spec-list li { display:flex; gap:12px; align-items:baseline; margin:0; padding:12px 0; border-top:1px solid var(--line); font-size:14.5px; line-height:1.45; }
.dark .spec-list li { border-color:var(--dark-line); }
.spec-list li::before { content:""; flex:none; width:6px; height:6px; margin-top:7px; border-radius:50%; background:var(--accent); align-self:flex-start; }
.dark .spec-list li::before { background:var(--red-light); }
.spec-list code, .mono { font:500 .86em var(--mono); color:var(--soft); }
.dark .spec-list code { color:#8fa29b; }
.product .actions { margin-top:30px; }
.product-visual { margin:40px -44px 0; padding:0 44px; height:250px; overflow:hidden; position:relative; }
.product-visual .window { box-shadow:0 30px 60px -20px #0c141244; }
.product-visual .solver-graph { width:100%; }
.product.argus-card .spec-list li::before { background:var(--argus); }
.product.argus-card { background:linear-gradient(180deg,#fff 40%,#f2f7ff); }


.shotdeck { margin-top:40px; }
.shotdeck-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.shotdeck-tab { min-height:44px; background:transparent; border:1px solid var(--line); color:var(--muted); font-size:14px; font-weight:500; padding:10px 18px; border-radius:999px; text-align:left; transition:background .15s,color .15s,border-color .15s; }
.shotdeck-tab:hover { color:var(--ink); border-color:#b9c0bb; }
.shotdeck-tab[aria-selected="true"] { color:white; background:var(--ink); border-color:var(--ink); }
.shotdeck-tab b { font:500 12px var(--mono); margin-right:8px; color:var(--accent); }
.shotdeck-tab[aria-selected="true"] b { color:var(--argus-light); }
.shotdeck-tab small { display:none; }
.shotdeck-panel + .shotdeck-panel { margin-top:35px; }
.shotdeck[data-ready] .shotdeck-panel { margin-top:0; }
.shot-open { display:block; position:relative; overflow:hidden; border-radius:12px; background:white; border:1px solid var(--line); box-shadow:var(--shadow); }
.shot-open img { width:100%; }
.shot-zoom-hint { position:absolute; bottom:14px; right:14px; padding:7px 13px; border-radius:999px; background:#1b2121e6; color:white; font-size:12px; font-weight:500; opacity:.9; transition:opacity .2s; }
.shot-open:hover .shot-zoom-hint { opacity:1; }
.shotdeck-caption { font-size:15px; color:var(--muted); max-width:860px; margin-top:22px; line-height:1.65; }
.shotdeck-caption b { color:var(--ink); font-weight:600; }
.shotdeck-steps[data-ready] { display:grid; grid-template-columns:330px 1fr; gap:48px; align-items:start; }
.shotdeck-steps .shotdeck-tabs { flex-direction:column; flex-wrap:nowrap; gap:0; margin:0; border-top:1px solid var(--line); }
.shotdeck-steps .shotdeck-tab { position:relative; display:block; width:100%; min-height:0; padding:20px 4px 20px 22px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; color:var(--muted); font-size:18px; font-weight:600; letter-spacing:-.015em; }
.shotdeck-steps .shotdeck-tab::before { content:""; position:absolute; left:0; top:20px; bottom:20px; width:2px; background:transparent; transition:background .2s; }
.shotdeck-steps .shotdeck-tab[aria-selected="true"] { background:none; color:var(--ink); }
.shotdeck-steps .shotdeck-tab[aria-selected="true"]::before { background:var(--argus); }
.shotdeck-steps .shotdeck-tab b { display:block; margin:0 0 6px; color:var(--soft); }
.shotdeck-steps .shotdeck-tab[aria-selected="true"] b { color:var(--argus); }
.shotdeck-steps .shotdeck-tab small { display:block; margin-top:6px; font-size:14px; font-weight:400; letter-spacing:0; line-height:1.5; color:var(--muted); }
.shotdeck-steps .shotdeck-tab[aria-selected="false"] small { display:none; }


.application-list { border-top:1px solid var(--dark-line); }
.application-row { display:grid; grid-template-columns:60px 1fr 1.1fr; gap:30px; padding:34px 0; border-bottom:1px solid var(--dark-line); align-items:start; }
.application-row .step-number { margin:6px 0 0; color:var(--accent-light); }
.application-row h3 { font-size:clamp(1.4rem,2vw,1.75rem); }
.application-row p { max-width:520px; font-size:16px; color:#b5c3bd; }
.step-number { display:block; font:500 13px var(--mono); color:var(--accent); margin-bottom:28px; letter-spacing:.04em; }
.proof { display:grid; grid-template-columns:1fr 1.2fr; gap:56px; align-items:center; margin-top:72px; padding:48px; border-radius:16px; background:linear-gradient(135deg,#1f2928,#161d1c); border:1px solid var(--dark-line); }
.proof h3 { font-size:clamp(1.6rem,2.4vw,2.2rem); margin-top:4px; }
.proof .kicker { color:var(--red-light); }
.proof p { color:#b5c3bd; font-size:15.5px; }
.proof .actions { margin-top:24px; }
.proof-ref { padding-left:28px; border-left:1px solid var(--dark-line); }
.proof-ref .title { color:var(--light-ink); font-size:18px; font-weight:600; letter-spacing:-.015em; line-height:1.4; }
.proof-ref .meta { margin-top:12px; font-size:13.5px; }


.pipeline { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pipeline article { padding:30px 28px 32px; border-radius:var(--radius); background:var(--white); border:1px solid var(--line); }
.pipeline h3 { font-size:20px; margin-bottom:12px; }
.pipeline p { font-size:15px; color:var(--muted); }


.science-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:96px; }
.science-grid .lead { margin-top:26px; }
.publication-preview { padding:26px 0; border-top:1px solid var(--line); }
.publication-preview:last-child { border-bottom:1px solid var(--line); }
.publication-preview h3 { font-size:20px; letter-spacing:-.02em; line-height:1.38; margin:12px 0 10px; font-weight:600; }
.publication-preview p { font-size:14px; color:var(--muted); }
.publication-preview a { text-decoration:none; }
.publication-preview a:hover { color:var(--accent); }
.publication-preview .kicker { color:var(--accent); }


.cta { padding:104px 0; background:var(--dark); color:var(--light-ink); position:relative; overflow:hidden; isolation:isolate; }
.cta::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(70% 90% at 100% 0%,#cc263938,transparent 65%),radial-gradient(50% 70% at 0% 100%,#2a7ff01c,transparent 70%); }
.cta-inner { display:grid; grid-template-columns:1fr auto; align-items:end; gap:56px; }
.cta h2 { max-width:820px; font-size:clamp(2.1rem,3.6vw,3.4rem); }
.cta p { margin-top:22px; max-width:640px; color:#b5c3bd; font-size:17px; }
.cta .eyebrow { color:var(--dark-muted); }
.cta .eyebrow::before { background:var(--accent-light); }
.cta .btn-light { background:var(--accent); color:white; }
.cta .btn-light:hover { background:var(--red-deep); }
.paths { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:56px; }
.path { display:flex; flex-direction:column; gap:10px; min-height:190px; padding:28px; border-radius:14px; background:#ffffff0a; border:1px solid #ffffff1a; text-decoration:none; transition:background .2s,border-color .2s,transform .2s; }
.path:hover { background:#ffffff12; border-color:#ffffff38; transform:translateY(-2px); }
.path .kicker { color:var(--dark-muted); }
.path strong { font-size:22px; font-weight:600; letter-spacing:-.025em; line-height:1.2; }
.path p { margin:0; font-size:14.5px; color:#a9b7b1; }
.path .go { margin-top:auto; padding-top:14px; font-size:14px; font-weight:600; color:var(--light-ink); }
.path .go span { display:inline-block; transition:transform .2s; }
.path:hover .go span { transform:translate(3px,-3px); }
.path.is-argus .kicker { color:var(--argus-light); }
.path.is-oragl .kicker { color:var(--red-light); }


.site-footer { padding:80px 0 28px; background:var(--paper); }
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr .8fr; gap:45px; padding-bottom:64px; }
.wordmark { font-size:29px; font-weight:600; letter-spacing:-1.5px; text-decoration:none; }
.wordmark span { color:var(--red); }
.footer-brand p { max-width:340px; font-size:14px; color:var(--muted); margin-top:12px; }
.footer-brand .footer-statement { color:var(--ink); font-size:17px; font-weight:600; letter-spacing:-.015em; margin-top:22px; }
.footer-email { display:inline-flex; gap:8px; margin-top:22px; font-size:15px; font-weight:500; text-decoration:none; }
.footer-email:hover { color:var(--red); }
.footer-col h2 { margin:8px 0 22px; font:500 11px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.12em; color:var(--soft); }
.footer-col > a { display:block; margin-top:12px; text-decoration:none; color:#38413f; font-size:14.5px; }
.footer-col a:hover { color:var(--red); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; border-top:1px solid var(--line); padding-top:24px; font-size:12px; color:var(--muted); }
.footer-bottom a { text-decoration:none; font-size:20px; padding:4px 14px; }


.page-hero { position:relative; overflow:hidden; isolation:isolate; padding:96px 0 92px; }
.page-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(55% 80% at 90% 10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),linear-gradient(#ffffff07 1px,transparent 1px) 0 0/100% 64px,linear-gradient(90deg,#ffffff07 1px,transparent 1px) 0 0/64px 100%; }
.page-hero h1 { max-width:1080px; }
.page-hero .lead { margin-top:28px; max-width:720px; }
.product-hero-grid { display:grid; grid-template-columns:1fr 1.12fr; gap:64px; align-items:center; }
.product-hero-grid h1 { font-size:clamp(2.6rem,4.4vw,4.4rem); }
.product-hero-grid .lead { font-size:clamp(1.05rem,1.3vw,1.18rem); }
.product-logo { display:flex; align-items:center; gap:16px; margin-bottom:30px; }
.product-logo img,.product-logo .product-mark { width:58px; height:58px; }
.product-logo div > span { font:500 12px/1.5 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--dark-muted); }
.product-logo strong { display:block; font:600 26px/1 var(--font); letter-spacing:-.04em; color:var(--light-ink); text-transform:none; }
.hero-screen { margin:0 -100px 0 0; position:relative; }
.hero-screen .window { transform:perspective(2200px) rotateY(-7deg); transform-origin:left center; }
.hero-screen figcaption { font:500 11px/1.6 var(--mono); letter-spacing:.04em; color:var(--dark-muted); margin-top:20px; }
.product-note { margin-top:30px; font:500 12px/1.6 var(--mono); letter-spacing:.05em; text-transform:uppercase; color:var(--dark-muted); }
.pill-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:32px; }
.pill { border:1px solid var(--line); padding:6px 13px; border-radius:999px; font:500 12px/1.5 var(--mono); }
.dark .pill { border-color:#3d4c48; color:#c4d2c7; background:#ffffff06; }
.section-nav { position:sticky; top:var(--header); z-index:20; background:rgba(245,244,239,.92); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.section-nav .container { display:flex; flex-wrap:wrap; gap:6px 26px; padding-block:16px; }
.section-nav a { font-size:14px; font-weight:500; text-decoration:none; color:var(--muted); }
.section-nav a:hover { color:var(--ink); }
.inline-note { display:flex; gap:12px; align-items:start; padding:20px 24px; margin-top:32px; border-left:2px solid var(--accent); border-radius:0 var(--radius-small) var(--radius-small) 0; background:var(--paper-deep); font-size:14px; color:var(--muted); }
.dark .inline-note { background:#ffffff08; color:var(--dark-muted); }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.feature-grid.four { grid-template-columns:repeat(4,1fr); }
.feature { padding:30px 28px 34px; border-radius:var(--radius); background:var(--white); border:1px solid var(--line); }
.white .feature { background:var(--paper); }
.feature h3 { font-size:21px; margin:0 0 12px; }
.feature p { font-size:15.5px; color:var(--muted); }
.feature .step-number { margin:0 0 26px; }
.feature code { font:500 12px var(--mono); color:var(--soft); display:block; margin-top:16px; }
.dark .feature { background:var(--dark-card); border-color:var(--dark-line); }
.dark .feature p { color:#b5c3bd; }
.module-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.module { padding:26px 22px 28px; border-radius:var(--radius); background:var(--dark-card); border:1px solid var(--dark-line); }
.module .kicker { color:var(--argus-light); }
.module h3 { font-size:24px; margin:16px 0 4px; }
.module .module-sub { font-size:14px; font-weight:600; color:var(--light-ink); }
.module p { margin-top:12px; font-size:14px; color:#a9b7b1; line-height:1.55; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:96px; align-items:start; }
.split .lead { margin-top:24px; }
.detail-list { margin:0; padding:0; list-style:none; }
.detail-list li { border-top:1px solid var(--line); padding:22px 0; margin:0; }
.detail-list li:last-child { border-bottom:1px solid var(--line); }
.detail-list strong { display:block; font-size:19px; font-weight:600; letter-spacing:-.015em; margin-bottom:8px; }
.detail-list p { font-size:15px; color:var(--muted); }
.dark .detail-list li { border-color:var(--dark-line); }
.dark .detail-list p { color:#b5c3bd; }
.equation-panel { padding:36px; border:1px solid var(--dark-line); border-radius:16px; background:#ffffff05; }
.equation-panel .equation { margin:30px 0; font:500 clamp(1rem,1.6vw,1.35rem)/2 var(--mono); text-align:center; color:#f3e8de; }
.equation-panel figcaption { font-size:13px; color:var(--dark-muted); }
.equation-panel .solver-graph { min-height:0; }
.equation-panel .kicker { color:var(--dark-muted); }
.solver-graph { width:100%; }
.reference-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.reference { display:flex; flex-direction:column; border:1px solid var(--line); padding:36px 32px 34px; background:white; border-radius:14px; }
.reference .client-name { font-size:clamp(1.8rem,2.6vw,2.4rem); margin:26px 0 6px; }
.reference .sector { font-size:14px; color:var(--soft); }
.reference p { font-size:15px; color:var(--muted); margin-top:18px; }
.reference .client-role { display:inline-block; margin:0; padding:6px 11px; border-radius:999px; background:#cc263912; color:var(--red); font:500 11px/1.4 var(--mono); letter-spacing:.06em; }
.reference .client-role.pilot { background:#2a7ff012; color:var(--argus-deep); }
.stats.stats-flush { margin:0 0 72px; }
.publication-filter { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:28px; }
.filter-label { margin-right:6px; font:500 12px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--soft); }
.filter-count { margin-left:auto; font-size:14px; color:var(--muted); }
.publication-filter button { min-height:40px; padding:8px 16px; border-radius:999px; border:1px solid var(--line); background:transparent; color:var(--muted); font-size:14px; font-weight:500; }
.publication-filter button[aria-pressed="true"] { background:var(--ink); border-color:var(--ink); color:white; }
.publication-list { border-top:1px solid var(--line); }


.chart { display:block; width:100%; height:auto; }
.equation math { font-family:"Cambria Math","STIX Two Math","Latin Modern Math",math; font-size:1.3em; color:#f3e8de; }
.block-title { font-size:clamp(1.35rem,1.9vw,1.6rem); letter-spacing:-.02em; margin:0 0 26px; }
.chart-block { margin-top:96px; }
.chart-intro { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start; margin-bottom:34px; }
.chart-intro .block-title { margin:0; }
.chart-intro p { color:var(--muted); }
.chart-pair { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.chart-figure { margin:0; padding:22px 22px 20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.chart-figure figcaption { margin-top:10px; font-size:14px; line-height:1.55; color:var(--muted); }
.chart-figure.on-dark { background:#ffffff05; border-color:var(--dark-line); }
.chart-figure.on-dark figcaption { color:var(--dark-muted); }
.chart-note, .figure-note { margin-top:14px; font:500 12px/1.6 var(--mono); letter-spacing:.03em; color:var(--soft); }
.animation-block { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; margin-top:96px; }
.animation-block p { color:var(--muted); }
.animation-block .window { margin-top:28px; }
.disk-figure { margin:0; }
.disk { display:block; width:100%; max-width:440px; height:auto; margin-inline:auto; }
.disk-controls { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin-top:18px; }
.disk-controls[hidden] { display:none; }
.disk-controls button { min-width:42px; min-height:40px; padding:8px 12px; border-radius:999px; border:1px solid var(--line); background:transparent; color:var(--muted); font:500 14px var(--mono); }
.disk-controls button[aria-pressed="true"] { background:var(--ink); border-color:var(--ink); color:white; }
.disk-figure figcaption { max-width:440px; margin:16px auto 0; font-size:14px; line-height:1.55; color:var(--muted); text-align:center; }
.keywords { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:16px; }
.keywords code { font:500 12px var(--mono); color:var(--soft); }
.dark .keywords code { color:var(--dark-muted); }
.related { margin-top:96px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0 32px; }
.split .chart-figure + .publication-preview, .split .publication-preview + .publication-preview { margin-top:0; }
.split .chart-figure { margin-bottom:28px; }
.dark .publication-preview { border-color:var(--dark-line); }
.dark .publication-preview p { color:var(--dark-muted); }
.dark .publication-preview .kicker { color:var(--accent-light); }
.domain-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.domain-grid .step-number { font:500 12px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.domain-shot { margin:56px 0 0; }
.domain-shot figcaption { margin-top:16px; font-size:14px; color:var(--muted); }
.domain-shot code, .figure-note code { font:500 12px var(--mono); }
.client-list:has(> .client:nth-child(2):last-of-type) { grid-template-columns:repeat(2,1fr); }
.stat p a { color:inherit; text-decoration-color:var(--line); text-underline-offset:3px; }
.stat p a:hover { color:var(--accent); }
.application-row h3 a { text-decoration:none; }
.application-row h3 a:hover { color:var(--accent-light); }
.publication { display:grid; grid-template-columns:90px 1fr auto; gap:36px; padding:34px 0; border-bottom:1px solid var(--line); align-items:start; }
.publication-year { font:500 14px/1.5 var(--mono); color:var(--accent); padding-top:5px; }
.publication h2 { font-size:22px; line-height:1.35; letter-spacing:-.02em; max-width:880px; font-weight:600; }
.publication .authors { font-size:14px; color:var(--muted); margin-top:12px; }
.publication .journal { font-size:13.5px; color:var(--soft); margin-top:6px; font-style:italic; }
.publication .pub-relevance { font-size:15px; margin-top:16px; max-width:760px; }
.publication .tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:16px; }
.publication .tags span { padding:3px 10px; border-radius:999px; background:var(--paper-deep); font:500 11px/1.6 var(--mono); color:var(--muted); }
.publication .tags .tag-award { background:#f7e7c8; color:#7a4a05; }
.publication .tags .tag-industry { background:#cc263914; color:var(--red-deep); }
.publication .tags .tag-nvt { background:var(--ink); color:white; }
.publication > a { display:inline-flex; gap:8px; font:500 13px/1.6 var(--mono); padding:8px 14px; border:1px solid var(--line); border-radius:999px; white-space:nowrap; text-decoration:none; }
.publication > a:hover { border-color:var(--ink); }
.origin { padding:44px; border-radius:16px; border:1px solid var(--line); background:var(--white); }
.origin-year { font-size:96px; font-weight:600; line-height:1; letter-spacing:-.06em; margin:26px 0; }
.origin p { font-size:15px; color:var(--muted); }
.timeline { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.timeline li { display:grid; grid-template-columns:120px 1fr; gap:24px; margin:0; padding:24px 0; border-bottom:1px solid var(--line); }
.timeline .when { font:500 14px/1.6 var(--mono); color:var(--accent); }
.timeline strong { display:block; font-size:19px; font-weight:600; letter-spacing:-.015em; }
.timeline p { margin-top:6px; font-size:15px; color:var(--muted); }
.faq { max-width:900px; }
.faq details { border-top:1px solid var(--line); padding:22px 0; }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; font-size:18px; font-weight:600; letter-spacing:-.015em; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; font:400 24px/1 var(--font); color:var(--soft); transition:transform .2s; }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq details p { font-size:16px; color:var(--muted); margin-top:16px; max-width:760px; }


.contact-grid { display:grid; grid-template-columns:.8fr 1.4fr; gap:96px; }
.contact-aside h2 { font-size:30px; margin-bottom:22px; }
.contact-aside p { font-size:15px; color:var(--muted); }
.contact-aside .email { font-size:clamp(1.1rem,1.6vw,1.45rem); font-weight:600; letter-spacing:-.02em; text-decoration:none; display:inline-block; margin:22px 0 10px; }
.contact-aside .email:hover { color:var(--red); }
.contact-aside hr { margin:30px 0; border:0; border-top:1px solid var(--line); }
.inquiry { min-width:0; padding:44px; border-radius:16px; background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); }
.inquiry label { display:block; font-size:14px; font-weight:600; margin-bottom:9px; }
.inquiry input,.inquiry select,.inquiry textarea { display:block; width:100%; min-height:50px; color:var(--ink); background:var(--paper); border:1px solid #c9cfc8; border-radius:var(--radius-small); padding:12px 14px; transition:border-color .15s,background .15s; }
.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus { background:#fff; border-color:var(--ink); outline:none; box-shadow:0 0 0 3px #cc26391f; }
.inquiry textarea { min-height:160px; resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-field { margin-bottom:24px; }
.field-help { font-size:13px; color:var(--muted); margin-top:9px; }
.form-privacy { font-size:13px; color:var(--muted); margin-top:20px; }
.draft-preview { margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.draft-preview summary { cursor:pointer; font-size:14px; }
.draft-preview pre { white-space:pre-wrap; overflow-wrap:anywhere; font:13px/1.8 var(--mono); padding:20px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-small); }
.copy-button { padding:0; border:0; border-bottom:1px solid currentColor; background:none; color:inherit; font-size:13px; }
.contact-steps { list-style:none; margin:22px 0 0; padding:0; counter-reset:step; }
.contact-steps li { counter-increment:step; display:grid; grid-template-columns:34px 1fr; gap:12px; margin:0; padding:12px 0; font-size:15px; color:var(--muted); border-top:1px solid var(--line); }
.contact-steps li::before { content:"0" counter(step); font:500 13px/1.7 var(--mono); color:var(--red); }
.legal-content { max-width:850px; }
.legal-content h1 { font-size:clamp(2.6rem,5vw,4.5rem); margin-bottom:30px; }
.legal-content h2 { font-size:24px; margin:40px 0 18px; letter-spacing:-.02em; }
.legal-content p,.legal-content li,.legal-content address { font-size:16px; }
.legal-content address { font-style:normal; }
.placeholder { color:#8c4510; background:#fff0d7; padding:2px 5px; }
.toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); max-width:calc(100% - 32px); background:var(--ink); color:white; padding:12px 20px; border-radius:999px; box-shadow:0 8px 35px #0002; z-index:80; font-size:14px; }
.toast:empty { display:none; }
.lightbox { border:0; border-radius:14px; padding:56px 16px 16px; background:var(--paper); width:min(1800px,96vw); max-width:96vw; max-height:94dvh; }
.lightbox::backdrop { background:#091312eb; }
.lightbox img { max-height:calc(94dvh - 96px); width:100%; object-fit:contain; }
.lightbox button { position:absolute; top:10px; right:12px; padding:7px 14px; border:1px solid #c3cbc5; border-radius:999px; background:white; font-size:14px; }
.lightbox p { font-size:13px; margin-top:10px; color:var(--muted); }


.theme-argus { --accent:var(--argus); --accent-light:var(--argus-light); }
.theme-argus .btn-primary { box-shadow:0 8px 24px -10px var(--argus); }
.theme-argus .btn-primary:hover { background:var(--argus-deep); }
.theme-argus .cta::before { background:radial-gradient(70% 90% at 100% 0%,#2a7ff040,transparent 65%),radial-gradient(50% 70% at 0% 100%,#cc263914,transparent 70%); }
.theme-argus .cta .btn-light { background:var(--argus); }
.theme-argus .cta .btn-light:hover { background:var(--argus-deep); }


[data-reveal] { transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-pending { opacity:0; transform:translateY(22px); }

@media (min-width:1600px) { .hero-grid { padding-block:120px 128px; } }
@media (max-width:1240px) {
.container { width:calc(100% - 72px); }
.nav-bar { gap:28px; }
.nav-links a { padding-inline:10px; font-size:14px; }
.nav-actions { gap:14px; }
.hero-stage { margin-right:-60px; }
.float-oragl { left:-28px; }
.intro-grid,.science-grid,.split { gap:56px; }
.product-hero-grid { gap:40px; }
.hero-screen { margin-right:-40px; }
.module-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:1080px) {
:root { --header:68px; }
.chart-intro,.animation-block { grid-template-columns:1fr; gap:32px; }
.related-grid { grid-template-columns:1fr; }
.brand img { width:34px; height:34px; }
.brand-name { font-size:20px; }
.nav-bar { flex-wrap:wrap; gap:0; }
.nav-toggle:not([hidden]) { display:flex; }
.nav-menu { flex-basis:100%; padding:16px 0 24px; border-top:1px solid var(--line); }
.nav-menu[data-enhanced]:not(.open) { display:none; }
.nav-links { flex-wrap:wrap; gap:4px; }
.nav-actions { flex-wrap:wrap; }
.hero-grid { grid-template-columns:1fr; gap:72px; padding-block:72px 96px; }
.hero-stage { margin-right:0; max-width:820px; }
.hero-stage .window { transform:none; }
.hero-screen { margin:20px 0 0; }
.hero-screen .window { transform:none; }
.section { padding-block:88px; }
.clients-inner { grid-template-columns:1fr; gap:20px; }
.client:first-child { padding-left:0; border-left:0; }
.stats { grid-template-columns:1fr 1fr; }
.stat:nth-child(3) { padding-left:0; border-left:0; }
.stat:nth-child(n+3) { border-top:1px solid var(--line); }
.product { padding:36px 32px 0; }
.product-visual { margin-inline:-32px; padding-inline:32px; }
.spec-list { grid-template-columns:1fr; }
.shotdeck-steps[data-ready] { grid-template-columns:1fr; gap:28px; }
.shotdeck-steps .shotdeck-tabs { flex-direction:row; flex-wrap:wrap; gap:8px; border:0; }
.shotdeck-steps .shotdeck-tab { width:auto; padding:10px 16px; border:1px solid var(--line); border-radius:999px; font-size:14px; }
.shotdeck-steps .shotdeck-tab::before { display:none; }
.shotdeck-steps .shotdeck-tab b { display:inline; margin-right:8px; }
.shotdeck-steps .shotdeck-tab[aria-selected="true"] { background:var(--ink); color:white; border-color:var(--ink); }
.shotdeck-steps .shotdeck-tab[aria-selected="true"] b { color:var(--argus-light); }
.shotdeck-steps .shotdeck-tab small { display:none !important; }
.proof { grid-template-columns:1fr; gap:28px; padding:36px; }
.proof-ref { padding-left:0; border-left:0; padding-top:24px; border-top:1px solid var(--dark-line); }
.pipeline { grid-template-columns:1fr 1fr; }
.feature-grid,.feature-grid.four { grid-template-columns:repeat(2,1fr); }
.reference { padding:30px 26px; }
.contact-grid { gap:56px; }
.footer-grid { gap:30px; }
.paths { grid-template-columns:1fr; }
.path { min-height:0; }
.cta-inner { grid-template-columns:1fr; gap:32px; align-items:start; }
.cta .btn { justify-self:start; }
}
@media (max-width:760px) {
.container { width:calc(100% - 40px); }
.chart-pair,.domain-grid { grid-template-columns:1fr; }
.chart-figure { padding:14px 12px 14px; }
.chart-block,.animation-block,.related { margin-top:64px; }
.disk-controls .filter-label { flex-basis:100%; text-align:center; margin:0 0 4px; }
body { font-size:16px; }
.section { padding-block:68px; }
.section-tight { padding-block:50px; }
.nav-menu { flex-direction:column; align-items:stretch; gap:22px; }
.nav-links { flex-direction:column; align-items:stretch; gap:0; }
.nav-links a { padding:13px 0; border-radius:0; border-bottom:1px solid var(--line); font-size:16px; }
.nav-links a:hover,.nav-links a[aria-current] { background:none; }
.nav-links a[aria-current] { color:var(--red); }
.nav-actions { justify-content:space-between; }
.hero-grid { padding-block:52px 72px; gap:56px; }
.hero h1 { font-size:clamp(2.3rem,9.4vw,3.4rem); }
.hero .lead { margin-top:22px; }
.hero .actions .btn { flex:1 1 auto; }
.hero-proof { margin-top:34px; gap:8px 16px; font-size:11px; }
.hero-stage .rotor { display:none; }
.float-oragl { position:relative; left:auto; bottom:auto; width:auto; margin:-28px 14px 0; }
.float-argus { top:-18px; right:12px; padding:9px 12px 9px 9px; }
.float-argus img { width:26px; height:26px; }
.window-bar { height:26px; padding:0 10px; gap:5px; }
.window-bar i { width:8px; height:8px; }
.window-bar span { display:none; }
.clients { padding:34px 0; }
.client-list { grid-template-columns:1fr; }
.client { padding:14px 0; border-left:0; border-top:1px solid var(--line); display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.client-role { margin:0; text-align:right; font-size:10px; }
.client-name { font-size:24px; }
.stats { grid-template-columns:1fr 1fr; }
.stat { padding:26px 16px 22px 0; }
.stat + .stat { padding-left:16px; }
.stat:nth-child(3) { padding-left:0; }
.stat p { font-size:13.5px; margin-top:12px; }
.intro-grid,.science-grid,.split,.product-hero-grid,.contact-grid { grid-template-columns:1fr; gap:30px; }
.intro-grid { margin-bottom:40px; }
.section-heading { display:block; margin-bottom:40px; }
.section-heading > a { margin-top:22px; }
.product-grid { grid-template-columns:1fr; gap:18px; }
.product { padding:30px 24px 0; border-radius:14px; }
.product-visual { margin-inline:-24px; padding-inline:24px; height:190px; margin-top:32px; }
.application-row { grid-template-columns:34px 1fr; gap:14px; padding:26px 0; }
.application-row p { grid-column:2; font-size:15px; }
.proof { padding:28px 22px; margin-top:48px; }
.pipeline,.feature-grid,.feature-grid.four { grid-template-columns:1fr; gap:14px; }
.pipeline article,.feature { padding:24px 22px 26px; }
.feature .step-number { margin-bottom:16px; }
.module-grid { grid-template-columns:1fr 1fr; }
.science-grid { gap:36px; }
.cta { padding:72px 0; }
.paths { margin-top:40px; }
.path { padding:22px; }
.footer-grid { grid-template-columns:repeat(3,1fr); gap:36px 20px; padding-bottom:40px; }
.footer-brand { grid-column:1 / -1; }
.footer-brand p { max-width:100%; }
.footer-col > a { font-size:14px; }
.footer-bottom { font-size:11px; gap:15px; }
.footer-bottom > span:nth-child(2) { display:none; }
.page-hero { padding:56px 0 60px; }
.page-hero h1 { font-size:clamp(2.3rem,9vw,3.4rem); }
.product-logo { margin-bottom:22px; }
.section-nav { position:static; }
.section-nav .container { gap:10px 20px; padding-block:14px; }
.reference-grid { grid-template-columns:1fr; }
.publication { grid-template-columns:1fr; gap:12px; padding:28px 0; }
.publication h2 { font-size:19px; }
.publication > a { justify-self:start; }
.shotdeck-tabs { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.shotdeck-tab,.shotdeck-steps .shotdeck-tab { text-align:left; padding:10px 12px; font-size:13px; border-radius:10px; }
.shotdeck-caption { font-size:14px; }
.shot-zoom-hint { bottom:8px; right:8px; font-size:11px; padding:4px 9px; }
.equation-panel { padding:24px 18px; }
.equation-panel .equation { font-size:13px; margin:22px 0; }
.inquiry { padding:24px 20px; }
.origin { padding:30px; }
.origin-year { font-size:72px; }
.timeline li { grid-template-columns:1fr; gap:6px; }
.legal-content h1 { overflow-wrap:anywhere; }
}
@media (max-width:420px) {
.form-row,.module-grid { grid-template-columns:1fr; }
.btn { padding-inline:18px; }
.stats { grid-template-columns:1fr; }
.stat,.stat + .stat { padding:22px 0; border-left:0; }
.stat + .stat { border-top:1px solid var(--line); }
}
@media (prefers-reduced-motion:reduce) {
html { scroll-behavior:auto; }
*,*::before,*::after { animation:none !important; transition:none !important; }
[data-reveal].is-pending { opacity:1; transform:none; }
}
@media print {
body { background:white; color:black; font-size:11pt; }
.site-header,.site-footer,.cta,.section-nav,.shotdeck-tabs,.shot-zoom-hint,.actions,.toast,.float-card,.publication-filter { display:none !important; }
.container { width:100%; }
.section,.section-tight,.page-hero { padding:25px 0; }
.dark,.product,.feature,.module,.proof { background:white !important; color:black; border-color:#bbb; }
.dark .lead,.dark p,.dark .muted { color:#444; }
.hero-grid { padding-block:20px; }
.hero-stage .window,.hero-screen .window { transform:none; box-shadow:none; }
.shotdeck-panel { display:block !important; break-inside:avoid; }
.publication,.feature { break-inside:avoid; }
[data-reveal].is-pending { opacity:1; transform:none; }
h1 { font-size:30pt !important; }
h2 { font-size:22pt; }
}

body:has(.lightbox[open]) { overflow:hidden; }
