@font-face { font-family: "Outfit"; font-style: normal; font-weight: 300; font-display: swap; src: url("/assets/fonts/outfit-300.ef88e74f63.woff2") format("woff2"); }
@font-face { font-family: "Outfit"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/outfit-400.71f028fd23.woff2") format("woff2"); }
@font-face { font-family: "Outfit"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/outfit-500.fc9bff941d.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/dm-sans-400.4ab51eb2cd.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: italic; font-weight: 400; font-display: swap; src: url("/assets/fonts/dm-sans-400-italic.5da946c152.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/dm-sans-500.19bf198495.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/dm-sans-600.6bb2b2645b.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/jetbrains-mono-400.14425ba9c6.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/jetbrains-mono-500.cb182feeed.woff2") format("woff2"); }
:root {
 --graphite-950: #0c0c0e;
 --graphite-900: #111114;
 --graphite-850: #16161a;
 --graphite-800: #1c1c21;
 --graphite-700: #2a2a31;
 --paper: #f2efe8;
 --paper-2: #e8e3d8;
 --paper-3: #dcd6c9;
 --ink: #141418;
 --ink-muted: #5c5850;
 --fog: #a8a39a;
 --fog-2: #7d7972;
 --violet-200: #c9bdff;
 --violet-300: #8f78ff;
 --violet-500: #6d4cff;
 --violet-700: #5a3ee0;
 --rule-on-dark: rgba(242, 239, 232, 0.13);
 --rule-on-dark-strong: rgba(242, 239, 232, 0.26);
 --rule-on-paper: rgba(20, 20, 24, 0.14);
 --rule-on-paper-strong: rgba(20, 20, 24, 0.32);
 --bg: var(--graphite-950);
 --fg: var(--paper);
 --fg-muted: var(--fog);
 --accent: var(--violet-300);
 --rule: var(--rule-on-dark);
 --rule-strong: var(--rule-on-dark-strong);
 --focus: var(--violet-300);
 --font-display: "Outfit", "Helvetica Neue", Arial, system-ui, sans-serif;
 --font-body: "DM Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
 --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
 --step--1: clamp(0.82rem, 0.8rem + 0.1vw, 0.875rem);
 --step-0: clamp(1rem, 0.97rem + 0.16vw, 1.0875rem);
 --step-1: clamp(1.18rem, 1.08rem + 0.45vw, 1.42rem);
 --step-2: clamp(1.5rem, 1.28rem + 1vw, 2.1rem);
 --step-3: clamp(2rem, 1.55rem + 2vw, 3.25rem);
 --step-4: clamp(2.5rem, 1.75rem + 3.4vw, 4.75rem);
 --step-5: clamp(2.9rem, 1.7rem + 5.6vw, 7rem);
 --gutter: clamp(1.25rem, 4vw, 3.5rem);
 --wrap: 1440px;
 --measure: 66ch;
 --header-h: 4.25rem;
 --section-pad: clamp(5rem, 11vw, 10.5rem);
 --space-1: 0.5rem;
 --space-2: 1rem;
 --space-3: 1.5rem;
 --space-4: 2.5rem;
 --space-5: 4rem;
 --space-6: 6rem;
 --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
 --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
 --radius: 2px;
}
.on-paper,
.section--paper {
 --bg: var(--paper);
 --fg: var(--ink);
 --fg-muted: var(--ink-muted);
 --accent: var(--violet-700);
 --rule: var(--rule-on-paper);
 --rule-strong: var(--rule-on-paper-strong);
 --focus: var(--violet-700);
}
.on-dark,
.section--dark,
.section--graphite {
 --bg: var(--graphite-950);
 --fg: var(--paper);
 --fg-muted: var(--fog);
 --accent: var(--violet-300);
 --rule: var(--rule-on-dark);
 --rule-strong: var(--rule-on-dark-strong);
 --focus: var(--violet-300);
}
.section--graphite { --bg: var(--graphite-850); }
*, *::before, *::after { box-sizing: border-box; }
html {
 -webkit-text-size-adjust: 100%;
 text-size-adjust: 100%;
 scroll-padding-top: calc(var(--header-h) + 1rem);
 background: var(--graphite-950);
}
body {
 margin: 0;
 min-height: 100vh;
 background: var(--bg);
 color: var(--fg);
 font-family: var(--font-body);
 font-size: var(--step-0);
 line-height: 1.65;
 font-kerning: normal;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-rendering: optimizeLegibility;
}
main { display: block; }
main:focus { outline: none; }
img, svg, video, picture { display: block; max-width: 100%; }
img { height: auto; }
picture { width: 100%; }
picture img { width: 100%; }
h1, h2, h3, h4 {
 margin: 0;
 font-family: var(--font-display);
 font-weight: 300;
 line-height: 1.05;
 letter-spacing: -0.022em;
 text-wrap: balance;
}
h3, h4 { font-weight: 400; letter-spacing: -0.012em; line-height: 1.2; }
p, ul, ol, dl, figure, blockquote { margin: 0; }
p { text-wrap: pretty; }
:where(ul[role="list"], ol[role="list"]) { list-style: none; padding: 0; }
a {
 color: inherit;
 text-decoration-line: underline;
 text-decoration-thickness: 1px;
 text-underline-offset: 0.22em;
 text-decoration-color: var(--rule-strong);
 transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
a:hover { text-decoration-color: var(--accent); }
strong, b { font-weight: 600; }
em, i { font-style: italic; }
small { font-size: var(--step--1); }
abbr[title] { text-decoration: underline dotted; text-underline-offset: 0.2em; }
hr {
 border: 0;
 border-top: 1px solid var(--rule);
 margin: var(--space-4) 0;
}
::selection { background: var(--violet-300); color: var(--graphite-950); }
:focus-visible {
 outline: 2px solid var(--focus);
 outline-offset: 3px;
 border-radius: 1px;
}
.skip-link {
 position: fixed;
 z-index: 100;
 top: 0.75rem;
 left: 0.75rem;
 padding: 0.75rem 1.1rem;
 background: var(--paper);
 color: var(--ink);
 font-weight: 600;
 text-decoration: none;
 transform: translateY(-160%);
 transition: transform 0.2s var(--ease-out);
}
.skip-link:focus, .skip-link:focus-visible { transform: none; outline-color: var(--violet-500); }
.visually-hidden {
 position: absolute !important;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: -1px;
 overflow: hidden;
 clip: rect(0 0 0 0);
 white-space: nowrap;
 border: 0;
}
[hidden] { display: none !important; }
.wrap {
 width: 100%;
 max-width: var(--wrap);
 margin-inline: auto;
 padding-inline: var(--gutter);
}
.grid {
 display: grid;
 grid-template-columns: repeat(12, minmax(0, 1fr));
 column-gap: clamp(1rem, 2.2vw, 2rem);
 row-gap: var(--space-4);
}
.grid > * { grid-column: 1 / -1; }
@media (min-width: 900px) {
 .col-1-6 { grid-column: 1 / span 6; }
 .col-1-7 { grid-column: 1 / span 7; }
 .col-1-8 { grid-column: 1 / span 8; }
 .col-1-5 { grid-column: 1 / span 5; }
 .col-1-4 { grid-column: 1 / span 4; }
 .col-2-7 { grid-column: 2 / span 7; }
 .col-3-8 { grid-column: 3 / span 8; }
 .col-5-8 { grid-column: 5 / span 8; }
 .col-6-7 { grid-column: 6 / span 7; }
 .col-7-6 { grid-column: 7 / span 6; }
 .col-8-5 { grid-column: 8 / span 5; }
 .col-9-4 { grid-column: 9 / span 4; }
 .col-4-9 { grid-column: 4 / span 9; }
 .col-5-6 { grid-column: 5 / span 6; }
}
.section {
 position: relative;
 background: var(--bg);
 color: var(--fg);
 padding-block: var(--section-pad);
}
.section--tight { padding-block: clamp(3.5rem, 7vw, 6rem); }
.section--flush-top { padding-top: 0; }
.section + .section--paper,
.section--paper + .section--paper { border-top: 1px solid var(--rule-on-paper); }
.section--dark + .section--dark { border-top: 1px solid var(--rule-on-dark); }
.section-head {
 display: grid;
 grid-template-columns: auto 1fr;
 align-items: baseline;
 gap: 1.25rem;
 padding-top: 1.1rem;
 border-top: 1px solid var(--rule-strong);
 margin-bottom: clamp(2.5rem, 6vw, 5rem);
}
.section-head .kicker { margin: 0; }
.section-head__aside {
 justify-self: end;
 font-family: var(--font-mono);
 font-size: 0.75rem;
 letter-spacing: 0.08em;
 color: var(--fg-muted);
}
.kicker {
 display: inline-flex;
 flex-wrap: wrap;
 align-items: baseline;
 gap: 0.3rem 0.85rem;
 font-family: var(--font-mono);
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--fg-muted);
 margin-bottom: var(--space-3);
}
.kicker__num { color: var(--accent); letter-spacing: 0.08em; }
.display-xl { font-size: var(--step-5); line-height: 0.98; letter-spacing: -0.035em; }
.display-l { font-size: var(--step-4); line-height: 1.02; letter-spacing: -0.03em; }
.display-m { font-size: var(--step-3); line-height: 1.06; }
.display-s { font-size: var(--step-2); line-height: 1.15; letter-spacing: -0.015em; }
.display-xl em, .display-l em, .display-m em { font-style: normal; color: var(--accent); }
.lede {
 font-size: var(--step-1);
 line-height: 1.55;
 color: var(--fg);
 max-width: 44ch;
}
.lede--muted { color: var(--fg-muted); }
.prose { max-width: var(--measure); }
.prose > * + * { margin-top: 1.1em; }
.prose p, .muted { color: var(--fg-muted); }
.prose strong { color: var(--fg); font-weight: 500; }
.stack > * + * { margin-top: var(--space-3); }
.stack-l > * + * { margin-top: var(--space-4); }
.page-head {
 position: relative;
 padding-top: clamp(4rem, 10vw, 9rem);
 padding-bottom: clamp(3.5rem, 8vw, 7rem);
 background: var(--bg);
 color: var(--fg);
 overflow: hidden;
}
.page-head__trail {
 font-family: var(--font-mono);
 font-size: 0.75rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--fg-muted);
 margin-bottom: var(--space-4);
}
.page-head__trail a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; text-decoration: none; }
.page-head__trail a:hover { color: var(--fg); }
.page-head__trail span[aria-hidden] { margin-inline: 0.6rem; color: var(--accent); }
.page-head__title { font-size: var(--step-5); line-height: 0.98; letter-spacing: -0.035em; max-width: 14ch; }
.page-head__lede { margin-top: var(--space-4); }
.page-head__rule {
 margin-top: clamp(3rem, 7vw, 6rem);
 border-top: 1px solid var(--rule-strong);
 display: flex;
 justify-content: space-between;
 gap: 1rem;
 padding-top: 0.9rem;
 font-family: var(--font-mono);
 font-size: 0.75rem;
 letter-spacing: 0.1em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.site-header {
 --bg: var(--graphite-950);
 --fg: var(--paper);
 --fg-muted: var(--fog);
 --accent: var(--violet-300);
 --rule: var(--rule-on-dark);
 --focus: var(--violet-300);
 position: sticky;
 top: 0;
 z-index: 50;
 background: rgba(12, 12, 14, 0.97);
 color: var(--fg);
 border-bottom: 1px solid transparent;
 transition: border-color 0.3s ease, background-color 0.3s ease;
 view-transition-name: site-header;
}
@supports (backdrop-filter: blur(1px)) {
 .site-header { background: rgba(12, 12, 14, 0.93); backdrop-filter: saturate(140%) blur(14px); }
}
.site-header[data-scrolled="true"] { border-bottom-color: var(--rule-on-dark); }
.site-header__inner {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 1.5rem;
 min-height: var(--header-h);
 flex-wrap: wrap;
}
.wordmark {
 display: inline-flex;
 align-items: center;
 gap: 0.7rem;
 min-height: 44px;
 text-decoration: none;
 color: var(--fg);
}
.wordmark__mark { width: 26px; height: 26px; flex: none; }
.wordmark__mark path { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.wordmark__mark circle { fill: var(--violet-300); }
.wordmark__text {
 font-family: var(--font-display);
 font-weight: 400;
 font-size: 1.12rem;
 letter-spacing: 0.01em;
 white-space: nowrap;
}
.wordmark__labs { color: var(--fog); font-weight: 300; }
.site-nav__list {
 display: flex;
 align-items: center;
 gap: clamp(1rem, 2.4vw, 2.25rem);
 margin: 0;
}
.site-nav__link {
 display: inline-flex;
 align-items: center;
 min-height: 44px;
 font-size: 0.95rem;
 font-weight: 500;
 letter-spacing: 0.01em;
 color: var(--fog);
 text-decoration: none;
 position: relative;
}
.site-nav__link:hover, .site-nav__link[aria-current="page"] { color: var(--paper); }
.site-nav__link[aria-current="page"]::after {
 content: "";
 position: absolute;
 left: 0;
 right: 0;
 bottom: 9px;
 height: 1px;
 background: var(--violet-300);
}
.site-nav__cta {
 padding-inline: 1.1rem;
 border: 1px solid var(--rule-on-dark-strong);
 border-radius: var(--radius);
 color: var(--paper);
}
.site-nav__cta:hover { border-color: var(--paper); }
.site-nav__cta[aria-current="page"]::after { left: 1.1rem; right: 1.1rem; }
.nav-toggle {
 display: none;
 align-items: center;
 gap: 0.75rem;
 min-height: 44px;
 min-width: 44px;
 padding: 0 0.25rem 0 0.75rem;
 background: none;
 border: 0;
 color: var(--paper);
 font: 500 0.95rem var(--font-body);
 cursor: pointer;
}
.nav-toggle__icon { position: relative; width: 22px; height: 12px; display: inline-block; }
.nav-toggle__icon span {
 position: absolute;
 left: 0;
 right: 0;
 height: 1.5px;
 background: currentColor;
 transition: transform 0.3s var(--ease-out), top 0.3s var(--ease-out);
}
.nav-toggle__icon span:first-child { top: 1px; }
.nav-toggle__icon span:last-child { top: 9px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:first-child { top: 5px; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:last-child { top: 5px; transform: rotate(-45deg); }
@media (max-width: 899.98px) {
 .site-header:not([data-collapsible]) { position: relative; }
 .site-nav { width: 100%; padding-bottom: 0.25rem; }
 .site-nav__list { gap: 0 1.25rem; flex-wrap: wrap; }
 .site-nav__cta { padding-inline: 0.85rem; }
 .site-header[data-collapsible] .nav-toggle { display: inline-flex; }
 .site-header[data-collapsible] .site-header__inner { flex-wrap: nowrap; }
 .site-header[data-collapsible] .site-nav {
 position: absolute;
 top: 100%;
 left: 0;
 right: 0;
 width: auto;
 padding: 0.5rem var(--gutter) 2rem;
 background: var(--graphite-950);
 border-bottom: 1px solid var(--rule-on-dark);
 max-height: calc(100svh - var(--header-h));
 overflow-y: auto;
 display: none;
 }
 .site-header[data-collapsible][data-open] .site-nav { display: block; }
 .site-header[data-collapsible] .site-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
 .site-header[data-collapsible] .site-nav__list li { border-bottom: 1px solid var(--rule-on-dark); }
 .site-header[data-collapsible] .site-nav__link {
 width: 100%;
 min-height: 3.6rem;
 font-family: var(--font-display);
 font-weight: 300;
 font-size: 1.75rem;
 letter-spacing: -0.01em;
 color: var(--paper);
 }
 .site-header[data-collapsible] .site-nav__link[aria-current="page"]::after { bottom: 0.7rem; right: auto; width: 2.5rem; }
 .site-header[data-collapsible] .site-nav__cta { border: 0; padding-inline: 0; }
 .site-header[data-collapsible] .site-nav__cta-item { border-bottom: 0; }
}
.site-footer {
 --bg: var(--graphite-900);
 --fg: var(--paper);
 --fg-muted: var(--fog);
 --accent: var(--violet-300);
 --rule: var(--rule-on-dark);
 --rule-strong: var(--rule-on-dark-strong);
 --focus: var(--violet-300);
 background: var(--bg);
 color: var(--fg);
 padding-top: clamp(4rem, 8vw, 7rem);
 padding-bottom: 2rem;
 border-top: 1px solid var(--rule-on-dark);
}
.site-footer__top {
 display: grid;
 gap: var(--space-5);
 grid-template-columns: 1fr;
}
@media (min-width: 900px) {
 .site-footer__top { grid-template-columns: 5fr 7fr; }
}
.site-footer__line { margin-top: var(--space-3); color: var(--fog); max-width: 30ch; }
.site-footer__mail { margin-top: var(--space-2); }
.site-footer__mail a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--step-1); text-decoration-color: var(--violet-300); }
.site-footer__nav {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
 gap: var(--space-4);
}
.site-footer__heading {
 font-family: var(--font-mono);
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--fog);
 margin-bottom: var(--space-2);
}
.site-footer__col ul { margin: 0; }
.site-footer__col li a {
 display: inline-flex;
 align-items: center;
 min-height: 2.75rem;
 text-decoration: none;
 color: var(--paper);
}
.site-footer__col li a:hover { color: var(--violet-200); }
.site-footer__notes {
 margin-top: var(--space-5);
 padding-top: var(--space-3);
 border-top: 1px solid var(--rule-on-dark);
 display: grid;
 gap: var(--space-2);
 max-width: 76ch;
}
.site-footer__status, .site-footer__imagery { font-size: 0.95rem; line-height: 1.6; color: var(--fog); }
.site-footer__status-label {
 display: inline-block;
 margin-right: 0.6rem;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--violet-300);
}
.site-footer__base {
 margin-top: var(--space-4);
 padding-top: var(--space-2);
 border-top: 1px solid var(--rule-on-dark);
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 1rem;
 font-size: 0.9rem;
 color: var(--fog);
}
.site-footer__top-link { display: inline-flex; min-height: 44px; align-items: center; }
.actions { display: flex; flex-wrap: wrap; gap: 0.85rem 1.25rem; align-items: center; }
.btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.8rem;
 min-height: 3.25rem;
 padding: 0 1.5rem;
 border: 1px solid transparent;
 border-radius: var(--radius);
 font: 500 1rem/1 var(--font-body);
 letter-spacing: 0.005em;
 text-decoration: none;
 cursor: pointer;
 transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.btn .icon-arrow { transition: transform 0.35s var(--ease-out); }
.btn:hover .icon-arrow { transform: translateX(4px); }
.btn--primary { background: var(--fg); color: var(--bg); }
.btn--primary:hover { background: var(--accent); color: var(--graphite-950); }
.section--paper .btn--primary:hover, .on-paper .btn--primary:hover { color: var(--paper); }
.btn--secondary { background: transparent; color: var(--fg); border-color: var(--rule-strong); }
.btn--secondary:hover { border-color: var(--fg); }
.btn[disabled], .btn[aria-disabled="true"] { opacity: 0.55; cursor: progress; }
.icon-arrow {
 width: 1.1em;
 height: 1.1em;
 flex: none;
 fill: none;
 stroke: currentColor;
 stroke-width: 1.5;
 stroke-linecap: round;
 stroke-linejoin: round;
}
.link-arrow {
 display: inline-flex;
 align-items: center;
 gap: 0.6rem;
 min-height: 44px;
 font-weight: 500;
 color: var(--fg);
 text-decoration: none;
 background-image: linear-gradient(var(--accent), var(--accent));
 background-repeat: no-repeat;
 background-size: 0% 1px;
 background-position: 0 calc(100% - 0.55rem);
 transition: background-size 0.45s var(--ease-out), color 0.2s ease;
}
.link-arrow:hover { background-size: 100% 1px; }
.link-arrow .icon-arrow { color: var(--accent); transition: transform 0.35s var(--ease-out); }
.link-arrow:hover .icon-arrow { transform: translateX(4px); }
.figure { position: relative; }
.figure__frame { position: relative; overflow: hidden; background: var(--graphite-900); }
.figure__frame img, .figure__frame picture { width: 100%; height: 100%; object-fit: cover; }
.figure__caption {
 display: flex;
 gap: 0.75rem;
 align-items: baseline;
 margin-top: 0.85rem;
 font-family: var(--font-mono);
 font-size: 0.75rem;
 line-height: 1.5;
 letter-spacing: 0.04em;
 color: var(--fg-muted);
}
.figure__label { color: var(--accent); letter-spacing: 0.12em; text-transform: uppercase; flex: none; }
@media (max-width: 389.98px) {
 .figure__caption { flex-wrap: wrap; row-gap: 0.25rem; }
 .about-venn-figure .figure__caption { justify-content: flex-start; }
}
.media-pending {
 display: block;
 width: 100%;
 aspect-ratio: 3 / 2;
 background:
 repeating-linear-gradient(135deg, transparent 0 14px, var(--rule) 14px 15px),
 var(--graphite-850);
 border: 1px solid var(--rule);
}
.status-note {
 border-left: 2px solid var(--accent);
 padding: 0.25rem 0 0.25rem 1.25rem;
 max-width: 62ch;
}
.status-note__label {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--accent);
 margin-bottom: 0.35rem;
}
.status-note__text { color: var(--fg-muted); font-size: 0.98rem; line-height: 1.6; }
.index-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule-strong); }
.index-list > li {
 display: grid;
 grid-template-columns: 3.5rem 1fr;
 gap: 0.5rem 1.5rem;
 padding: clamp(1.4rem, 3vw, 2.2rem) 0;
 border-bottom: 1px solid var(--rule);
}
.index-list__num {
 font-family: var(--font-mono);
 font-size: 0.8rem;
 letter-spacing: 0.08em;
 color: var(--accent);
 padding-top: 0.45rem;
}
.index-list__title { font-size: var(--step-2); line-height: 1.15; }
.index-list__body { grid-column: 2; color: var(--fg-muted); max-width: 60ch; }
.index-list { container-type: inline-size; }
@container (min-width: 44rem) {
 .index-list > li { grid-template-columns: 5rem minmax(0, 5fr) minmax(0, 6fr); align-items: baseline; }
 .index-list__body { grid-column: 3; }
}
.insight-list {
 display: grid;
 gap: clamp(2.5rem, 5vw, 3.5rem) clamp(1.25rem, 2.5vw, 2.25rem);
 grid-template-columns: 1fr;
 margin: 0;
 padding: 0;
 list-style: none;
}
@media (min-width: 720px) { .insight-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .insight-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.insight-card__link {
 display: flex;
 flex-direction: column;
 gap: 0.85rem;
 text-decoration: none;
 color: var(--fg);
 height: 100%;
}
.insight-card__media {
 display: block;
 aspect-ratio: 16 / 10;
 overflow: hidden;
 background: var(--graphite-900);
 border: 1px solid var(--rule);
}
.insight-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease-out); }
.insight-card__link:hover .insight-card__media img { transform: scale(1.03); }
.insight-card__meta {
 display: flex;
 justify-content: space-between;
 padding-top: 0.85rem;
 border-top: 1px solid var(--rule-strong);
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--accent);
}
.insight-card__title { font-family: var(--font-display); font-weight: 300; font-size: var(--step-2); line-height: 1.12; letter-spacing: -0.015em; }
.insight-card__dek { color: var(--fg-muted); }
.insight-card__more {
 margin-top: auto;
 font-weight: 500;
 font-size: 0.95rem;
 text-decoration: underline;
 text-decoration-color: var(--rule-strong);
 text-underline-offset: 0.3em;
}
.insight-card__link:hover .insight-card__more { text-decoration-color: var(--accent); }
.faq { border-top: 1px solid var(--rule-strong); max-width: 62rem; }
.faq__item { border-bottom: 1px solid var(--rule); }
.faq__item summary {
 display: flex;
 justify-content: space-between;
 align-items: center;
 gap: 1.5rem;
 min-height: 3.5rem;
 padding: 1.2rem 0;
 cursor: pointer;
 list-style: none;
 font-family: var(--font-display);
 font-weight: 400;
 font-size: var(--step-1);
 line-height: 1.3;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after {
 content: "";
 flex: none;
 width: 14px;
 height: 14px;
 background:
 linear-gradient(currentColor, currentColor) center / 14px 1.5px no-repeat,
 linear-gradient(currentColor, currentColor) center / 1.5px 14px no-repeat;
 color: var(--accent);
 transition: transform 0.3s var(--ease-out);
}
.faq__item[open] summary::after { transform: rotate(45deg); }
.faq__item summary:hover { color: var(--accent); }
.faq__answer { padding: 0 0 1.6rem; max-width: 62ch; color: var(--fg-muted); }
.faq__answer > * + * { margin-top: 0.9em; }
.stages {
 display: grid;
 grid-template-columns: 1fr;
 gap: 0;
 margin: 0;
 padding: 0;
 list-style: none;
 border-top: 1px solid var(--rule-strong);
}
.stage {
 position: relative;
 padding: 1.75rem 0 2rem 2.25rem;
 border-bottom: 1px solid var(--rule);
}
.stage::before {
 content: "";
 position: absolute;
 left: 0.3rem;
 top: 2.15rem;
 width: 9px;
 height: 9px;
 border: 1.5px solid var(--accent);
 border-radius: 50%;
 background: var(--bg);
}
.stage[data-phase="development"]::before { background: var(--accent); }
.stage__phase {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--accent);
}
.stage__phase--vision { color: var(--fg-muted); }
.stage__title { margin-top: 0.6rem; font-size: var(--step-2); line-height: 1.12; }
.stage__body { margin-top: 0.85rem; color: var(--fg-muted); max-width: 40ch; }
@media (min-width: 1000px) {
 .stages { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 0; }
 .stage { padding: 2.75rem 1.75rem 0 0; border-bottom: 0; border-top: 1px solid var(--rule-strong); }
 .stage[data-phase="vision"] { border-top-style: dashed; }
 .stage::before { left: 0; top: -5.5px; }
}
.def-rows { margin: 0; border-top: 1px solid var(--rule-strong); }
.def-rows > div { display: grid; grid-template-columns: 1fr; gap: 0.3rem 2rem; padding: 1.25rem 0; border-bottom: 1px solid var(--rule); }
.def-rows dt { font-family: var(--font-display); font-size: var(--step-1); font-weight: 400; }
.def-rows dd { margin: 0; color: var(--fg-muted); max-width: 60ch; }
@media (min-width: 900px) { .def-rows > div { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); } }
.cta-band { display: grid; gap: var(--space-4); align-items: end; }
@media (min-width: 900px) { .cta-band { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.cta-band__title { font-size: var(--step-4); line-height: 1.02; letter-spacing: -0.03em; max-width: 16ch; }
.cta-band__side { display: grid; gap: var(--space-3); }
.cta-band__side p { color: var(--fg-muted); max-width: 42ch; }
.statement {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--step-4);
 line-height: 1.06;
 letter-spacing: -0.03em;
 max-width: 20ch;
 text-wrap: balance;
}
.statement em { font-style: normal; color: var(--accent); }
.reveal-ready .reveal:not(.is-visible) {
 opacity: 0;
 transform: translate3d(0, 28px, 0);
}
.reveal-ready .reveal {
 transition: opacity 0.8s var(--ease-out), transform 0.9s var(--ease-out);
 transition-delay: calc(var(--reveal-i, 0) * 90ms);
}
[data-parallax] { will-change: transform; }
@media (prefers-reduced-motion: no-preference) {
 .enter { animation: enter 0.7s var(--ease-out) both; animation-delay: calc(var(--enter-i, 0) * 70ms + 40ms); }
 .enter-fade { animation: enter-fade 1.8s ease both; }
 @keyframes enter { from { opacity: 0; transform: translate3d(0, 22px, 0); } to { opacity: 1; transform: none; } }
 @keyframes enter-fade { from { opacity: 0; } to { opacity: 1; } }
 @view-transition { navigation: auto; }
 ::view-transition-old(root) { animation: 0.22s ease both vt-out; }
 ::view-transition-new(root) { animation: 0.32s var(--ease-out) both vt-in; }
 @keyframes vt-out { to { opacity: 0; } }
 @keyframes vt-in { from { opacity: 0; transform: translate3d(0, 10px, 0); } }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after {
 animation-duration: 0.01ms !important;
 animation-iteration-count: 1 !important;
 transition-duration: 0.01ms !important;
 scroll-behavior: auto !important;
 }
 [data-parallax] { transform: none !important; }
}
.enter-1 { --enter-i: 1; }
.enter-2 { --enter-i: 2; }
.enter-3 { --enter-i: 3; }
.hero {
 position: relative;
 display: grid;
 grid-template-rows: auto auto auto;
 background: var(--graphite-950);
 color: var(--paper);
 overflow: hidden;
 isolation: isolate;
}
.hero__media { position: relative; }
.hero__figure { margin: 0; }
.hero__frame {
 position: relative;
 aspect-ratio: 4 / 3;
 overflow: hidden;
 background: #050506;
}
.hero__parallax { position: absolute; inset: -4% 0; }
.hero__parallax picture, .hero__parallax img, .hero__parallax .media-pending { width: 100%; height: 100%; }
.hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 30%; }
.hero__frame::after {
 content: "";
 position: absolute;
 inset: auto 0 0 0;
 height: 40%;
 background: linear-gradient(to top, var(--graphite-950), rgba(12, 12, 14, 0));
 pointer-events: none;
}
.hero__caption {
 position: absolute;
 right: var(--gutter);
 bottom: 0.9rem;
 z-index: 2;
 display: flex;
 gap: 0.6rem;
 font-family: var(--font-mono);
 font-size: 0.7rem;
 letter-spacing: 0.04em;
 color: var(--fog);
 padding: 0.3rem 0.55rem;
 background: rgba(12, 12, 14, 0.82);
}
.hero__content {
 position: relative;
 z-index: 2;
 padding-top: clamp(1.5rem, 5vw, 3rem);
 padding-bottom: clamp(2.5rem, 6vw, 4rem);
}
.hero__title { max-width: 11ch; margin-top: 0.4rem; }
.hero__title-line { display: block; color: var(--paper); }
.hero__lede { margin-top: clamp(1.5rem, 3vw, 2.25rem); color: var(--fog); max-width: 40ch; }
.hero__actions { margin-top: clamp(2rem, 4vw, 2.75rem); }
.hero__signal { position: relative; z-index: 2; padding-bottom: 1.5rem; }
.hero__sweep { width: 100%; height: clamp(48px, 7vw, 96px); overflow: visible; }
.hero__sweep-path {
 fill: none;
 stroke: var(--violet-300);
 stroke-width: 1.25;
 vector-effect: non-scaling-stroke;
 opacity: 0.85;
}
.hero__meta {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 gap: 0.5rem 1.5rem;
 margin-top: 1rem;
 padding-top: 0.9rem;
 border-top: 1px solid var(--rule-on-dark);
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: var(--fog);
}
@media (prefers-reduced-motion: no-preference) {
 .hero__sweep-path {
 stroke-dasharray: 5200;
 stroke-dashoffset: 5200;
 animation: sweep-draw 3.2s 0.5s var(--ease-in-out) forwards;
 }
 @keyframes sweep-draw { to { stroke-dashoffset: 0; } }
}
@media (min-width: 900px) {
 .hero { min-height: min(calc(100svh - var(--header-h)), 60rem); grid-template-rows: 1fr auto; }
 .hero__media { position: absolute; inset: 0 0 0 auto; width: 68%; }
 .hero__figure, .hero__frame { height: 100%; }
 .hero__frame { aspect-ratio: auto; }
 .hero__frame::after {
 inset: 0;
 height: auto;
 background:
 linear-gradient(to right, var(--graphite-950) 0%, rgba(12, 12, 14, 0.55) 22%, rgba(12, 12, 14, 0) 48%),
 linear-gradient(to top, var(--graphite-950) 0%, rgba(12, 12, 14, 0) 34%);
 }
 .hero__caption { bottom: clamp(9rem, 14vw, 11rem); }
 .hero__content { align-self: center; padding-top: clamp(4rem, 9vh, 7rem); }
 .hero__lede { max-width: 36ch; }
}
.question__prose { margin-top: var(--space-2); }
@media (min-width: 900px) { .question__prose { margin-top: clamp(4rem, 10vw, 9rem); } }
.process-intro { margin-bottom: clamp(3rem, 6vw, 5rem); align-items: end; }
.process {
 display: grid;
 gap: clamp(2rem, 5vw, 4.5rem);
 grid-template-columns: 1fr;
 align-items: start;
}
@media (min-width: 1000px) {
 .process { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
 .process__figure { position: sticky; top: calc(var(--header-h) + 2rem); }
}
.process__figure { margin: 0; }
.process__svg {
 width: 100%;
 height: auto;
 background: var(--graphite-900);
 border: 1px solid var(--rule-on-dark);
 font-family: var(--font-mono);
}
.process__steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule-strong); }
.process__step { border-bottom: 1px solid var(--rule); }
.process__title { font-size: var(--step-2); line-height: 1.15; }
.process__title,
.process__trigger {
 display: flex;
 align-items: baseline;
 gap: 1.25rem;
 width: 100%;
 padding: 1.35rem 0;
}
.process__trigger {
 margin: 0;
 background: none;
 border: 0;
 color: inherit;
 font: inherit;
 letter-spacing: inherit;
 text-align: left;
 cursor: pointer;
 padding: 1.1rem 0;
 min-height: 3.5rem;
}
.process__step .process__title:has(.process__trigger) { padding: 0; }
.process__num {
 font-family: var(--font-mono);
 font-size: 0.8rem;
 letter-spacing: 0.08em;
 color: var(--fg-muted);
 transition: color 0.3s ease;
}
.process__name { transition: color 0.3s ease; }
.process__trigger::after {
 content: "";
 margin-left: auto;
 align-self: center;
 width: 1.75rem;
 height: 1px;
 background: var(--rule-strong);
 transition: background-color 0.3s ease, width 0.4s var(--ease-out);
}
.process__trigger:hover .process__name { color: var(--violet-200); }
.process__step.is-active .process__num { color: var(--accent); }
.process__step.is-active .process__trigger::after { background: var(--accent); width: 3rem; }
.process__step:not(.is-active) .process__trigger .process__name { color: var(--fog); }
.process.is-enhanced .process__step:not(.is-active) .process__trigger:hover .process__name { color: var(--paper); }
.process__panel { padding: 0 0 1.6rem 3.05rem; color: var(--fog); max-width: 46ch; }
.process__more { margin-top: var(--space-4); }
.svg-tissue { fill: #1b1a20; }
.svg-cells { opacity: 0.55; }
.svg-cell { fill: none; stroke: rgba(242, 239, 232, 0.08); stroke-width: 1; }
.svg-strata { fill: none; stroke: rgba(242, 239, 232, 0.16); stroke-width: 1; }
.svg-strata--top { stroke: rgba(242, 239, 232, 0.4); }
.svg-instrument { fill: none; stroke: #d9d5cc; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.svg-instrument--thin { stroke-width: 1; stroke: rgba(242, 239, 232, 0.35); }
.svg-panel { fill: rgba(242, 239, 232, 0.02); stroke: rgba(242, 239, 232, 0.12); stroke-width: 1; }
.svg-label { fill: var(--fog); font-size: 10px; letter-spacing: 0.14em; }
.svg-note { fill: var(--fog); font-size: 11px; letter-spacing: 0.02em; }
.svg-tag { fill: var(--fog); font-size: 11px; }
.svg-tag--a { fill: var(--violet-200); }
.svg-legend { font-size: 10px; letter-spacing: 0.06em; }
.svg-legend--applied { fill: var(--fog); }
.svg-legend--response { fill: var(--violet-300); }
.svg-ring { fill: none; stroke: var(--violet-300); stroke-width: 1.5; }
.svg-ring--outer { stroke-dasharray: 3 4; opacity: 0.6; }
.svg-current { fill: none; stroke: var(--violet-300); stroke-width: 1.25; opacity: 0.9; }
.svg-current--faint { opacity: 0.4; }
.svg-leader { fill: none; stroke: rgba(242, 239, 232, 0.35); stroke-width: 1; }
.svg-leader--dash { stroke-dasharray: 2 4; }
.svg-axis { fill: none; stroke: rgba(242, 239, 232, 0.22); stroke-width: 1; }
.svg-axis--faint { stroke: rgba(242, 239, 232, 0.08); }
.svg-wave { fill: none; stroke-width: 1.5; }
.svg-wave--applied { stroke: rgba(242, 239, 232, 0.5); }
.svg-wave--response { stroke: var(--violet-300); }
.svg-curve { fill: none; stroke: var(--violet-300); stroke-width: 1.75; }
.svg-curve--phase { stroke: rgba(242, 239, 232, 0.55); stroke-dasharray: 4 3; stroke-width: 1.25; }
.svg-dots circle { fill: var(--graphite-900); stroke: var(--violet-200); stroke-width: 1.25; }
.svg-band { stroke: none; }
.svg-band--a { fill: rgba(143, 120, 255, 0.2); }
.svg-band--b { fill: rgba(242, 239, 232, 0.07); }
.svg-readout { fill: rgba(143, 120, 255, 0.07); stroke: rgba(143, 120, 255, 0.45); stroke-width: 1; }
.svg-readout-text { fill: var(--paper); font-family: var(--font-body); font-size: 13px; }
.process.is-enhanced .svg-layer { opacity: 0; transition: opacity 0.6s ease; }
.process.is-enhanced .svg-layer.is-shown { opacity: 1; }
.process.is-enhanced .svg-layer:not(.is-current).is-shown { opacity: 0.55; }
.process.is-enhanced:not(.is-static) .svg-layer [data-draw] {
 stroke-dasharray: var(--len, 1000);
 stroke-dashoffset: var(--len, 1000);
 transition: stroke-dashoffset 1.5s var(--ease-out);
}
.process.is-enhanced:not(.is-static) .svg-layer.is-shown [data-draw] { stroke-dashoffset: 0; }
.process.is-enhanced:not(.is-static) .svg-ring--outer { stroke-dasharray: var(--len, 1000); }
.focus-grid { align-items: start; }
.focus-intro > * + * { margin-top: var(--space-3); }
@media (min-width: 900px) { .focus-intro { position: sticky; top: calc(var(--header-h) + 2rem); } }
.focus-figure { margin-top: clamp(4rem, 9vw, 8rem); }
.focus-figure__frame, .vision-figure__frame { aspect-ratio: 21 / 9; }
.focus-figure__parallax, .vision-figure__parallax { position: absolute; inset: -6% 0; }
.focus-figure__parallax picture, .focus-figure__parallax img, .focus-figure__parallax .media-pending,
.vision-figure__parallax picture, .vision-figure__parallax img, .vision-figure__parallax .media-pending {
 width: 100%;
 height: 100%;
 object-fit: cover;
 aspect-ratio: auto;
}
@media (max-width: 719.98px) {
 .focus-figure__frame, .vision-figure__frame { aspect-ratio: 4 / 3; }
}
.insights-block { margin-top: clamp(4.5rem, 10vw, 9rem); }
.insights-block__head {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 align-items: baseline;
 gap: 0.5rem 2rem;
 margin-bottom: var(--space-4);
}
.insights-block__head p { max-width: 48ch; }
.vision-intro { margin-bottom: clamp(3rem, 6vw, 5rem); align-items: end; }
.vision-figure { margin-bottom: clamp(3.5rem, 7vw, 6rem); }
.vision-status { margin-top: clamp(3rem, 6vw, 5rem); }
.page-technology .tx-head { isolation: isolate; }
.page-technology .tx-head__inner { position: relative; z-index: 1; }
.page-technology .tx-head__arc { display: none; }
@media (min-width: 1100px) {
 .page-technology .tx-head__arc {
 display: block;
 position: absolute;
 z-index: 0;
 right: max(var(--gutter), calc((100% - var(--wrap)) / 2 + var(--gutter)));
 bottom: calc(clamp(3.5rem, 8vw, 7rem) + clamp(3rem, 7vw, 6rem) + 2.5rem);
 width: min(34vw, 500px);
 pointer-events: none;
 }
}
.page-technology .tx-head__svg { width: 100%; height: auto; overflow: visible; }
.page-technology .tx-head__svg path { fill: none; }
.page-technology .tx-head__axis { stroke: var(--rule-on-dark-strong); stroke-width: 0.17; }
.page-technology .tx-head__path { stroke: var(--violet-300); stroke-width: 0.26; }
.page-technology .tx-head__dots { stroke: var(--violet-200); stroke-width: 1.1; stroke-linecap: round; }
.page-technology .tx-head__note {
 margin-top: 0.75rem;
 text-align: right;
 font-family: var(--font-mono);
 font-size: 0.7rem;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: var(--fog);
}
@media (prefers-reduced-motion: no-preference) {
 .page-technology .tx-head__path {
 stroke-dasharray: 1;
 stroke-dashoffset: 1;
 animation: tx-draw 2.8s 0.5s var(--ease-in-out) forwards;
 }
 .page-technology .tx-head__dots { opacity: 0; animation: tx-fade 1.2s 2.6s ease forwards; }
 @keyframes tx-draw { to { stroke-dashoffset: 0; } }
 @keyframes tx-fade { to { opacity: 1; } }
}
@media (max-width: 639.98px) {
 .page-technology .page-head__rule { flex-direction: column; gap: 0.45rem; }
}
.page-technology .tx-label {
 margin: 0 0 0.65rem;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.page-technology .tx-help { margin-top: 0.7rem; font-size: 0.9rem; line-height: 1.55; color: var(--fg-muted); max-width: 52ch; }
.page-technology .tx-principle { align-items: start; }
.page-technology .tx-principle__text { margin-top: var(--space-2); }
.page-technology .tx-paths { margin: var(--space-2) 0 0; }
@media (min-width: 900px) {
 .page-technology .tx-principle__text, .page-technology .tx-paths { margin-top: clamp(1rem, 3vw, 2.5rem); }
}
.page-technology .tx-paths__grid { display: grid; gap: 1.75rem 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 560px) { .page-technology .tx-paths__grid { grid-template-columns: 1fr 1fr; } }
.page-technology .tx-paths__svg { width: 100%; height: auto; background: var(--paper); border: 1px solid var(--rule-strong); }
.page-technology .tx-current { fill: none; stroke: var(--violet-700); stroke-width: 2; stroke-linecap: round; }
.page-technology .tx-current--faint { stroke-opacity: 0.4; stroke-width: 1.5; stroke-dasharray: 3 5; }
.page-technology .tx-arrowhead { fill: var(--violet-700); }
.page-technology .tx-paths__label { margin-top: 0.85rem; font-size: 0.95rem; line-height: 1.55; color: var(--fg-muted); }
.page-technology .tx-paths__label span {
 display: block;
 margin-bottom: 0.25rem;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--accent);
}
.page-technology .tx-paths .figure__caption { margin-top: 1.5rem; padding-top: 0.85rem; border-top: 1px solid var(--rule); }
.page-technology .tx-factors { margin-top: clamp(4.5rem, 9vw, 7.5rem); }
.page-technology .tx-factors__title { margin-bottom: var(--space-4); }
.page-technology .tx-factors__list {
 display: grid;
 grid-template-columns: 1fr;
 gap: 0 clamp(1rem, 2vw, 1.75rem);
 margin: 0;
 padding: 0;
 counter-reset: tx-factor;
}
@media (min-width: 640px) { .page-technology .tx-factors__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .page-technology .tx-factors__list { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.page-technology .tx-factors__list > li {
 counter-increment: tx-factor;
 padding: 1.1rem 0 1.75rem;
 border-top: 1px solid var(--rule-strong);
}
@media (max-width: 639.98px) {
 .page-technology .tx-factors__list > li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); padding-bottom: 1.4rem; }
 .page-technology .tx-factors__list > li::before { grid-row: 1 / 3; padding-top: 0.3rem; }
 .page-technology .tx-factors__list .tx-factors__name { margin-top: 0; }
}
.page-technology .tx-factors__list > li::before {
 content: counter(tx-factor, decimal-leading-zero);
 display: block;
 font-family: var(--font-mono);
 font-size: 0.75rem;
 letter-spacing: 0.08em;
 color: var(--accent);
}
.page-technology .tx-factors__name { margin-top: 0.9rem; font-size: var(--step-1); line-height: 1.25; }
.page-technology .tx-factors__list p { margin-top: 0.6rem; color: var(--fg-muted); font-size: 0.98rem; }
.page-technology .tx-explorer-intro { margin-bottom: clamp(2.5rem, 5vw, 4rem); align-items: end; }
@media (max-width: 599.98px) { .page-technology .tx-explorer-section .section-head__aside { display: none; } }
.page-technology .tx-explorer__frame { margin: 0; background: var(--graphite-900); border: 1px solid var(--rule-strong); }
.page-technology .tx-explorer__bar {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 gap: 0.35rem 1.5rem;
 padding: 0.85rem clamp(1rem, 2.4vw, 1.75rem);
 border-bottom: 1px solid var(--rule);
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.page-technology .tx-explorer__bar span:first-child { color: var(--accent); }
.page-technology .tx-explorer__body {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 gap: clamp(2.25rem, 4vw, 3.25rem);
 padding: clamp(1.25rem, 2.6vw, 2rem) clamp(1rem, 2.4vw, 1.75rem) clamp(1.5rem, 3vw, 2.25rem);
}
@media (min-width: 1000px) {
 .page-technology .tx-explorer__body { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}
.page-technology .tx-explorer__side,
.page-technology .tx-explorer__main { display: grid; gap: clamp(2.25rem, 4vw, 2.75rem); align-content: start; min-width: 0; }
.page-technology .tx-controls { display: grid; gap: 1.75rem; }
.page-technology .tx-seg { margin: 0; padding: 0; border: 0; min-width: 0; }
.page-technology .tx-seg legend { padding: 0; }
.page-technology .tx-seg__options {
 position: relative;
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 border: 1px solid var(--rule-strong);
}
.page-technology .tx-seg__input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.page-technology .tx-seg__option {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0.55rem;
 min-height: 48px;
 padding: 0.5rem 0.4rem;
 font-size: 0.92rem;
 font-weight: 500;
 line-height: 1.2;
 text-align: center;
 color: var(--fog);
 cursor: pointer;
 transition: color 0.2s ease, background-color 0.2s ease;
}
.page-technology .tx-seg__input:not(:first-child) + .tx-seg__option { border-left: 1px solid var(--rule-strong); }
.page-technology .tx-seg__option::before {
 content: "";
 flex: none;
 width: 8px;
 height: 8px;
 border: 1.5px solid currentColor;
 border-radius: 50%;
}
.page-technology .tx-seg__option:hover { color: var(--paper); }
.page-technology .tx-seg__input:checked + .tx-seg__option {
 color: var(--paper);
 background: rgba(143, 120, 255, 0.14);
 box-shadow: inset 0 -2px 0 var(--accent);
}
.page-technology .tx-seg__input:checked + .tx-seg__option::before { background: var(--accent); border-color: var(--accent); }
.page-technology .tx-seg__input:focus-visible + .tx-seg__option { outline: 2px solid var(--focus); outline-offset: -4px; }
.page-technology .tx-range__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.page-technology .tx-range__head .tx-label { margin: 0; }
.page-technology .tx-range__value {
 font-family: var(--font-mono);
 font-size: var(--step-2);
 line-height: 1;
 color: var(--paper);
 font-variant-numeric: tabular-nums;
}
.page-technology .tx-range__input {
 --ix-p: 50%;
 -webkit-appearance: none;
 appearance: none;
 display: block;
 width: 100%;
 height: 44px;
 margin: 0.4rem 0 0;
 background: transparent;
 cursor: pointer;
}
.page-technology .tx-range__input::-webkit-slider-runnable-track {
 height: 2px;
 background: linear-gradient(to right, var(--accent) 0 var(--ix-p), var(--rule-strong) var(--ix-p) 100%);
}
.page-technology .tx-range__input::-webkit-slider-thumb {
 -webkit-appearance: none;
 appearance: none;
 width: 22px;
 height: 22px;
 margin-top: -10px;
 border: 2px solid var(--accent);
 border-radius: 50%;
 background: var(--paper);
 box-shadow: 0 0 0 4px var(--graphite-900);
}
.page-technology .tx-range__input::-moz-range-track { height: 2px; background: var(--rule-strong); }
.page-technology .tx-range__input::-moz-range-progress { height: 2px; background: var(--accent); }
.page-technology .tx-range__input::-moz-range-thumb {
 width: 18px;
 height: 18px;
 border: 2px solid var(--accent);
 border-radius: 50%;
 background: var(--paper);
}
.page-technology .tx-range__input:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.page-technology .tx-range__scale {
 position: relative;
 height: 1.1rem;
 margin-top: 0.3rem;
 font-family: var(--font-mono);
 font-size: 0.68rem;
 color: var(--fog);
}
.page-technology .tx-range__scale span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.page-technology .tx-range__scale span:nth-child(1) { left: 0; transform: none; }
.page-technology .tx-range__scale span:nth-child(2) { left: calc(11px + (100% - 22px) * 0.25); }
.page-technology .tx-range__scale span:nth-child(3) { left: 50%; }
.page-technology .tx-range__scale span:nth-child(4) { left: calc(11px + (100% - 22px) * 0.75); }
.page-technology .tx-range__scale span:nth-child(5) { left: auto; right: 0; transform: none; }
.page-technology .tx-readouts { display: grid; }
.page-technology .tx-readouts .tx-label { margin-bottom: 0.4rem; }
.page-technology .tx-readout {
 display: grid;
 grid-template-columns: minmax(5rem, 0.8fr) 1fr 1fr;
 align-items: end;
 gap: 0.3rem 1rem;
 margin: 0;
 padding: 0.8rem 0;
 border-top: 1px solid var(--rule);
}
.page-technology .tx-readout:last-child { border-bottom: 1px solid var(--rule); }
.page-technology .tx-readout dt {
 align-self: center;
 font-family: var(--font-mono);
 font-size: 0.75rem;
 letter-spacing: 0.12em;
 text-transform: uppercase;
}
.page-technology .tx-readout--a dt { color: var(--violet-300); }
.page-technology .tx-readout--b dt { color: var(--paper); }
.page-technology .tx-readout dd { margin: 0; display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.page-technology .tx-readout__k {
 font-family: var(--font-mono);
 font-size: 0.66rem;
 letter-spacing: 0.1em;
 text-transform: uppercase;
 color: var(--fog);
}
.page-technology .tx-readout__v {
 font-family: var(--font-mono);
 font-size: 1.35rem;
 line-height: 1.15;
 color: var(--paper);
 font-variant-numeric: tabular-nums;
}
.page-technology .tx-play { justify-self: start; }
.page-technology .tx-play__icon {
 width: 0;
 height: 0;
 border-left: 10px solid currentColor;
 border-top: 6px solid transparent;
 border-bottom: 6px solid transparent;
}
.page-technology .tx-play.is-playing .tx-play__icon {
 width: 10px;
 height: 12px;
 border: 0;
 border-left: 3px solid currentColor;
 border-right: 3px solid currentColor;
}
.page-technology .tx-panel { min-width: 0; }
.page-technology .tx-panel__head {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 align-items: baseline;
 gap: 0.35rem 1.25rem;
 padding-bottom: 0.6rem;
 margin-bottom: 1rem;
 border-bottom: 1px solid var(--rule);
}
.page-technology .tx-panel__title {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--paper);
}
.page-technology .tx-panel__note { font-family: var(--font-mono); font-size: 0.7rem; color: var(--fog); }
.page-technology .tx-legend {
 display: flex;
 flex-wrap: wrap;
 gap: 0.3rem 1.1rem;
 margin: 0;
 font-family: var(--font-mono);
 font-size: 0.7rem;
 color: var(--fog);
}
.page-technology .tx-legend__item { display: inline-flex; align-items: center; gap: 0.5rem; }
.page-technology .tx-legend__item::before { content: ""; width: 20px; border-top: 2px solid; }
.page-technology .tx-legend__item--a::before { border-top-color: var(--violet-300); }
.page-technology .tx-legend__item--b::before { border-top: 2px dashed var(--paper); }
.page-technology .tx-legend__item--cur::before { border-top: 1.5px solid var(--fog); }
.page-technology .tx-plot { position: relative; }
.page-technology .tx-plot svg { display: block; width: 100%; height: 100%; overflow: visible; }
.page-technology .tx-plot--wave { aspect-ratio: 2 / 1; }
.page-technology .tx-plot--bode { aspect-ratio: 1 / 1.05; }
@media (min-width: 600px) { .page-technology .tx-plot--bode { aspect-ratio: 16 / 11; } }
.page-technology .tx-plot--nyq { aspect-ratio: 100 / 44; }
.page-technology .tx-plot path { fill: none; vector-effect: non-scaling-stroke; }
.page-technology .tx-gridline { stroke: rgba(242, 239, 232, 0.08); stroke-width: 1; }
.page-technology .tx-axis { stroke: rgba(242, 239, 232, 0.26); stroke-width: 1; }
.page-technology .tx-fc { stroke: rgba(242, 239, 232, 0.3); stroke-width: 1; stroke-dasharray: 2 4; }
.page-technology .tx-curve { stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.page-technology .tx-curve--a { stroke: var(--violet-300); }
.page-technology .tx-curve--b { stroke: var(--paper); stroke-width: 1.5; stroke-dasharray: 6 4; stroke-linecap: butt; }
.page-technology .tx-wave--cur { stroke: var(--fog); stroke-width: 1.25; opacity: 0.75; }
.page-technology .tx-lag { stroke-width: 1; }
.page-technology .tx-lag--a { stroke: var(--violet-200); }
.page-technology .tx-lag--b { stroke: rgba(242, 239, 232, 0.6); }
.page-technology .tx-marker { stroke: var(--violet-200); stroke-width: 1; opacity: 0.6; }
.page-technology .tx-dot { stroke-width: 10; stroke-linecap: round; }
.page-technology .tx-dot--a { stroke: var(--violet-300); }
.page-technology .tx-dot--b { stroke: var(--paper); }
.page-technology .tx-decades { stroke-width: 5; stroke-linecap: round; }
.page-technology .tx-decades--a { stroke: var(--violet-200); opacity: 0.7; }
.page-technology .tx-decades--b { stroke: var(--fog); opacity: 0.8; }
.page-technology .tx-explorer[data-model="a"] [data-m="b"],
.page-technology .tx-explorer[data-model="b"] [data-m="a"] { display: none; }
.page-technology .tx-explorer:not([data-model]) .tx-js { display: none; }
.page-technology .tx-plot__labels {
 position: absolute;
 inset: 0;
 pointer-events: none;
 font-family: var(--font-mono);
 font-size: 0.68rem;
 line-height: 1.2;
 letter-spacing: 0.04em;
 color: var(--fog);
}
.page-technology .tx-lab { position: absolute; white-space: nowrap; }
.page-technology .tx-lab sub { font-size: 0.8em; }
.page-technology .tx-lab--title { left: 0; color: var(--paper); letter-spacing: 0.1em; text-transform: uppercase; }
.page-technology .tx-tick-y { right: 0; transform: translateY(-120%); }
.page-technology .tx-y-0 { top: 0; }
.page-technology .tx-y-12 { top: 12%; }
.page-technology .tx-y-28 { top: 28%; }
.page-technology .tx-y-44 { top: 44.0%; }
.page-technology .tx-y-46 { top: 46.5%; }
.page-technology .tx-y-58 { top: 58%; }
.page-technology .tx-y-72 { top: 72%; }
.page-technology .tx-y-86 { top: 86%; }
.page-technology .tx-fc-lab { top: 46.5%; transform: translateX(-50%); }
.page-technology .tx-fc-lab--a { left: 50%; }
.page-technology .tx-fc-lab--b { left: 65.05%; }
.page-technology .tx-tick-x { top: 89%; transform: translateX(-50%); }
.page-technology .tx-x-0 { left: 0; transform: none; }
.page-technology .tx-x-25 { left: 25%; }
.page-technology .tx-x-50 { left: 50%; }
.page-technology .tx-x-75 { left: 75%; }
.page-technology .tx-x-100 { left: auto; right: 0; transform: none; }
.page-technology .tx-plot--nyq .tx-tick-x { top: 86%; }
.page-technology .tx-nx-0 { left: 4%; }
.page-technology .tx-nx-49 { left: 49%; }
.page-technology .tx-nx-94 { left: 94%; }
.page-technology .tx-nyq-y { top: 0; left: 5.5%; text-transform: none; }
.page-technology .tx-lab--lag { top: 0; left: 20%; color: var(--violet-200); }
.page-technology .tx-lab--time { bottom: 0; right: 0; }
.page-technology .tx-nojs { border-top: 1px solid var(--rule); padding-top: 1rem; }
.page-technology .tx-nojs p:last-child { color: var(--fog); max-width: 46ch; }
.page-technology .tx-try { border-left: 2px solid var(--accent); padding: 0.2rem 0 0.2rem 1.1rem; }
.page-technology .tx-try .tx-label { color: var(--accent); margin-bottom: 0.4rem; }
.page-technology .tx-try p:last-child { color: var(--fog); font-size: 0.98rem; max-width: 48ch; }
.page-technology .tx-explorer__foot {
 display: grid;
 gap: 1rem 2.5rem;
 padding: 1rem clamp(1rem, 2.4vw, 1.75rem) 1.25rem;
 border-top: 1px solid var(--rule);
}
@media (min-width: 1000px) { .page-technology .tx-explorer__foot { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.page-technology .tx-explorer__foot .figure__caption { margin: 0; }
.page-technology .tx-explorer__ref { margin-top: 0.5rem; }
.page-technology .tx-explorer__ref .link-arrow { font-size: 0.92rem; }
.page-technology .tx-params {
 margin: 0;
 display: grid;
 gap: 0.35rem;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 line-height: 1.55;
 letter-spacing: 0.02em;
 color: var(--fog);
}
.page-technology .tx-params > div { display: grid; grid-template-columns: 4.75rem minmax(0, 1fr); gap: 0.75rem; }
.page-technology .tx-params dt { color: var(--paper); letter-spacing: 0.1em; text-transform: uppercase; }
.page-technology .tx-params dd { margin: 0; }
.page-technology .tx-params sub { font-size: 0.8em; }
.page-technology .tx-notes-wrap { margin-top: clamp(3rem, 6vw, 4.5rem); }
.page-technology .tx-notes {
 display: grid;
 grid-template-columns: 1fr;
 gap: 0 clamp(1.25rem, 2.5vw, 2.25rem);
 margin: 0;
 padding: 0;
}
@media (min-width: 900px) { .page-technology .tx-notes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.page-technology .tx-note {
 padding: 1.25rem 0 1.75rem;
 border-top: 1px solid var(--rule-strong);
 transition: box-shadow 0.4s ease;
}
.page-technology .tx-note__band { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); }
.page-technology .tx-note__band sub { font-size: 0.8em; text-transform: none; }
.page-technology .tx-note__title { margin-top: 0.7rem; font-size: var(--step-2); line-height: 1.15; transition: color 0.3s ease; }
.page-technology .tx-note__body { margin-top: 0.75rem; color: var(--fog); max-width: 44ch; }
.page-technology .tx-explorer[data-model] .tx-note:not(.is-current) .tx-note__title { color: var(--fog); }
.page-technology .tx-note.is-current { box-shadow: inset 0 2px 0 var(--accent); }
.page-technology .tx-instrument { align-items: center; }
.page-technology .tx-instrument__frame { aspect-ratio: 4 / 3; background: #050506; }
.page-technology .tx-instrument__frame picture,
.page-technology .tx-instrument__frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
@media (min-width: 900px) {
 .page-technology .tx-instrument__frame { aspect-ratio: 4 / 5; }
 .page-technology .tx-instrument__frame img { object-position: 58% 30%; }
}
.page-technology .tx-instrument__text > * + * { margin-top: var(--space-4); }
.page-technology .tx-instrument__figure .figure__caption { flex-wrap: wrap; gap: 0.3rem 0.75rem; }
.page-technology .tx-questions { margin-top: clamp(5rem, 10vw, 9rem); }
.page-technology .tx-questions__head { margin-bottom: clamp(2.5rem, 5vw, 4rem); align-items: end; }
.page-technology .tx-qlist {
 display: grid;
 grid-template-columns: 1fr;
 gap: 0 clamp(1.5rem, 3vw, 3rem);
 margin: 0;
 padding: 0;
}
@media (min-width: 760px) { .page-technology .tx-qlist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .page-technology .tx-qlist { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.page-technology .tx-q { padding: 1.25rem 0 2.5rem; border-top: 1px solid var(--rule-strong); }
.page-technology .tx-q__topic {
 display: flex;
 gap: 0.85rem;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.page-technology .tx-q__topic span { color: var(--accent); letter-spacing: 0.08em; }
.page-technology .tx-q__title { margin-top: 1rem; font-size: var(--step-2); font-weight: 300; line-height: 1.15; letter-spacing: -0.015em; }
.page-technology .tx-q__body { margin-top: 0.9rem; color: var(--fg-muted); max-width: 46ch; }
.page-technology .tx-q__body a { text-decoration-color: var(--accent); }
.page-technology .tx-flow-intro { margin-bottom: clamp(3rem, 6vw, 5rem); align-items: end; }
.page-technology .tx-flow {
 --flow-gap: clamp(2.5rem, 4.5vw, 4.5rem);
 display: grid;
 grid-template-columns: 1fr;
 gap: 4.5rem;
 margin: 0;
 padding: 0;
}
@media (min-width: 1000px) {
 .page-technology .tx-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--flow-gap); }
}
.page-technology .tx-flow__stage { position: relative; min-width: 0; }
.page-technology .tx-flow__node {
 position: relative;
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 grid-template-rows: auto auto 1fr;
 gap: 0.35rem;
 min-height: 13rem;
 padding: 1.15rem 1.35rem 1.1rem;
 border: 1px solid var(--rule-strong);
 background: var(--graphite-950);
}
.page-technology .tx-flow__num { font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.08em; color: var(--accent); }
.page-technology .tx-flow__title { font-size: clamp(1.75rem, 0.9rem + 1.9vw, 3rem); font-weight: 300; line-height: 1.05; overflow-wrap: anywhere; }
.page-technology .tx-flow__glyph { align-self: end; justify-self: end; width: min(100%, 168px); height: auto; overflow: visible; }
@media (max-width: 999.98px) {
 .page-technology .tx-flow__node { min-height: 0; grid-template-columns: auto auto minmax(0, 1fr); grid-template-rows: auto; align-items: center; column-gap: 1rem; }
 .page-technology .tx-flow__glyph { width: min(100%, 128px); align-self: center; }
}
.page-technology .tx-flow__glyph path { fill: none; stroke-linecap: round; }
.page-technology .tx-glyph-faint { stroke: rgba(242, 239, 232, 0.4); stroke-width: 1.25; }
.page-technology .tx-glyph-accent { stroke: var(--violet-300); stroke-width: 1.75; }
.page-technology .tx-glyph-dots { stroke: var(--violet-200); stroke-width: 5; }
.page-technology .tx-flow__glyph .tx-glyph-band { fill: rgba(143, 120, 255, 0.16); stroke: none; }
@media (max-width: 999.98px) {
 .page-technology .tx-flow__stage + .tx-flow__stage::before {
 content: "";
 position: absolute;
 left: 2rem;
 top: -3.6rem;
 width: 1px;
 height: 2.7rem;
 background: var(--accent);
 }
 .page-technology .tx-flow__stage + .tx-flow__stage::after {
 content: "";
 position: absolute;
 left: calc(2rem - 4px);
 top: -1.35rem;
 width: 9px;
 height: 9px;
 border-right: 1px solid var(--accent);
 border-bottom: 1px solid var(--accent);
 transform: rotate(45deg);
 }
}
@media (min-width: 1000px) {
 .page-technology .tx-flow__stage:not(:last-child) .tx-flow__node::after {
 content: "";
 position: absolute;
 top: 50%;
 left: calc(100% + 1px);
 width: calc(var(--flow-gap) - 4px);
 height: 1px;
 background: var(--accent);
 }
 .page-technology .tx-flow__stage:not(:last-child) .tx-flow__node::before {
 content: "";
 position: absolute;
 top: calc(50% - 4.5px);
 left: calc(100% + var(--flow-gap) - 11px);
 width: 9px;
 height: 9px;
 border-top: 1px solid var(--accent);
 border-right: 1px solid var(--accent);
 transform: rotate(45deg);
 }
}
.page-technology .tx-flow__io { margin: 1.25rem 0 0; display: grid; gap: 0.5rem; }
.page-technology .tx-flow__io > div { display: grid; grid-template-columns: 2.75rem 1fr; gap: 0.75rem; align-items: baseline; }
.page-technology .tx-flow__io dt { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); }
.page-technology .tx-flow__io dd { margin: 0; color: var(--paper); font-size: 0.98rem; line-height: 1.45; }
.page-technology .tx-flow__what { margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid var(--rule); color: var(--fog); }
.page-technology .tx-flow__checks-label {
 margin-top: 1.4rem;
 font-family: var(--font-mono);
 font-size: 0.7rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--fog);
}
.page-technology .tx-flow__checks { margin: 0.6rem 0 0; padding: 0; display: grid; gap: 0.55rem; }
.page-technology .tx-flow__checks li { position: relative; padding-left: 1.6rem; font-size: 0.97rem; line-height: 1.5; color: var(--paper); }
.page-technology .tx-flow__checks li::before {
 content: "";
 position: absolute;
 left: 0;
 top: 0.4em;
 width: 10px;
 height: 10px;
 border: 1px solid var(--accent);
}
.page-technology .tx-flow__next {
 display: grid;
 gap: 0.75rem 2rem;
 margin-top: clamp(3rem, 6vw, 4.5rem);
 padding-top: 1.25rem;
 border-top: 1px dashed var(--rule-strong);
}
@media (min-width: 900px) { .page-technology .tx-flow__next { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); } }
.page-technology .tx-flow__next-label { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--fog); }
.page-technology .tx-flow__next-text { font-size: var(--step-1); line-height: 1.5; color: var(--paper); max-width: 52ch; }
.page-technology .tx-evidence { align-items: start; }
.page-technology .tx-evidence__intro > * + * { margin-top: var(--space-3); }
@media (min-width: 900px) {
 .page-technology .tx-evidence__intro { position: sticky; top: calc(var(--header-h) + 2rem); }
}
.page-technology .tx-evidence__intro .statement { max-width: 20ch; }
.page-research .research-head__grid {
 display: grid;
 gap: clamp(2.5rem, 6vw, 4rem);
 align-items: end;
}
.page-research .research-head__title { max-width: 12ch; }
@media (min-width: 1000px) {
 .page-research .research-head__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: clamp(2rem, 5vw, 6rem); }
}
.research-head__index { border-top: 1px solid var(--rule-strong); padding-top: 0.9rem; }
.research-head__index-label {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--fg-muted);
 margin-bottom: 0.4rem;
}
.research-head__index ol { margin: 0; }
.research-head__index li { border-bottom: 1px solid var(--rule); }
.research-head__index a {
 display: flex;
 align-items: baseline;
 gap: 1rem;
 min-height: 44px;
 padding: 0.7rem 0;
 color: var(--fg-muted);
 text-decoration: none;
 font-size: 0.97rem;
 line-height: 1.35;
 transition: color 0.2s ease;
}
.research-head__index a span { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.08em; color: var(--accent); flex: none; }
.research-head__index a:hover { color: var(--fg); }
.page-research .research-head__rule { flex-wrap: wrap; row-gap: 0.4rem; }
@media (max-width: 599.98px) {
 .page-research .research-head__rule { flex-direction: column; }
}
.priorities-intro { margin-bottom: clamp(3rem, 6vw, 5rem); align-items: end; }
.ledger { margin: 0; padding: 0; border-top: 1px solid var(--rule-strong); }
.ledger__row {
 position: relative;
 display: grid;
 grid-template-columns: 2.75rem minmax(0, 1fr);
 column-gap: 1rem;
 row-gap: 0.85rem;
 padding: clamp(1.75rem, 3.5vw, 2.6rem) 0;
 border-bottom: 1px solid var(--rule);
}
.ledger__row::before {
 content: "";
 position: absolute;
 left: 0;
 top: -1px;
 width: 0;
 height: 2px;
 background: var(--accent);
 transition: width 0.6s var(--ease-out);
}
.ledger__row:target::before { width: 2.75rem; }
.ledger__num {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--step-2);
 line-height: 1.1;
 letter-spacing: -0.02em;
 color: var(--accent);
}
.ledger__title { font-size: var(--step-2); line-height: 1.15; align-self: baseline; }
.ledger__body, .ledger__focus { grid-column: 2; }
.ledger__body p { color: var(--fg-muted); max-width: 58ch; }
.ledger__focus { color: var(--fg); font-size: 1.02rem; line-height: 1.45; max-width: 40ch; }
.ledger__focus-label {
 display: block;
 margin-bottom: 0.35rem;
 font-family: var(--font-mono);
 font-size: 0.7rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--accent);
}
@media (min-width: 1000px) {
 .ledger__row {
 grid-template-columns: 4.5rem minmax(0, 3.2fr) minmax(0, 5fr) minmax(0, 3fr);
 column-gap: clamp(1.5rem, 2.6vw, 2.75rem);
 align-items: baseline;
 }
 .ledger__row::before { width: 0; }
 .ledger__row:target::before { width: 4.5rem; }
 .ledger__body { grid-column: 3; }
 .ledger__focus { grid-column: 4; padding-left: 1.25rem; border-left: 1px solid var(--rule); align-self: stretch; }
}
.priorities-more { margin-top: var(--space-4); }
.status-grid { align-items: start; }
.status-panel { display: grid; gap: var(--space-4); }
.status-panel__rows { margin: 0; border-top: 1px solid var(--rule-strong); }
.status-panel__rows > div {
 display: grid;
 grid-template-columns: 1fr;
 gap: 0.25rem 1.5rem;
 padding: 1.1rem 0;
 border-bottom: 1px solid var(--rule);
}
.status-panel__rows dt {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--fg-muted);
 padding-top: 0.3rem;
}
.status-panel__rows dd { margin: 0; font-family: var(--font-display); font-weight: 300; font-size: var(--step-1); line-height: 1.3; color: var(--fg); }
@media (min-width: 600px) { .status-panel__rows > div { grid-template-columns: 10rem minmax(0, 1fr); } }
.research-insights__intro { margin-bottom: clamp(2.5rem, 5vw, 4rem); align-items: end; }
.research-faq__grid { align-items: start; }
@media (min-width: 900px) {
 .research-faq__title { position: sticky; top: calc(var(--header-h) + 2rem); }
}
.research-faq .faq__answer a { text-decoration-color: var(--accent); }
.page-about .page-head__title { max-width: 19ch; }
.page-collaborate .page-head__title { max-width: 15ch; }
@media (max-width: 599.98px) {
 .page-about .page-head__title { font-size: clamp(2.3rem, 1rem + 6.4vw, 2.9rem); }
}
.about-head .page-head__trail [aria-current="page"], .collab-head .page-head__trail [aria-current="page"] { color: var(--fg); }
.about-head .page-head__trail a,
.collab-head .page-head__trail a { display: inline-block; padding: 14px 4px; margin: -14px -4px; }
.collab-head .page-head__trail a { padding-inline: 6px; margin-inline: -6px; }
.about-head__rule,
.collab-head__rule {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 0.6rem 1rem;
}
@media (min-width: 900px) {
 .about-head__rule, .collab-head__rule { display: flex; }
}
.collab-head__rule { grid-template-columns: 1fr; }
@media (max-width: 379.98px) { .about-head__rule { grid-template-columns: 1fr; } }
.about-head__rule > span { display: flex; gap: 0.6rem; }
.about-head__num { flex: none; color: var(--accent); }
.about-manifesto {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: clamp(2.45rem, 1rem + 5.4vw, 6.4rem);
 line-height: 1.01;
 letter-spacing: -0.038em;
 max-width: 24ch;
}
.about-manifesto__line { display: block; text-wrap: balance; }
.about-manifesto em { font-style: normal; color: var(--accent); }
.about-mission {
 margin-top: clamp(3.5rem, 8vw, 7rem);
 align-items: start;
}
.about-facts { margin: 0; border-top: 1px solid var(--rule-strong); }
.about-facts > div {
 display: grid;
 grid-template-columns: 5.5rem minmax(0, 1fr);
 gap: 1rem;
 padding: 0.85rem 0;
 border-bottom: 1px solid var(--rule);
}
.about-facts dt {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--accent);
 padding-top: 0.2rem;
}
.about-facts dd { margin: 0; color: var(--fg); line-height: 1.5; }
.about-mission__prose { font-size: var(--step-1); line-height: 1.6; }
.about-mission__prose p { color: var(--fg-muted); }
.about-mission__prose strong { color: var(--fg); font-weight: 500; }
.about-mission__prose .link-arrow { font-size: var(--step-0); }
@media (max-width: 899.98px) {
 .about-mission { row-gap: var(--space-5); }
 .about-mission__prose { order: -1; }
}
.about-disc-intro { margin-bottom: clamp(3rem, 7vw, 6rem); align-items: end; }
.about-disciplines {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 gap: var(--space-4);
}
.about-venn-figure { margin: 0 auto var(--space-2); width: min(100%, 30rem); }
.about-venn { width: 100%; height: auto; overflow: visible; font-family: var(--font-mono); }
.about-venn__c {
 fill: rgba(242, 239, 232, 0.035);
 stroke: rgba(242, 239, 232, 0.42);
 stroke-width: 1;
 transition: stroke 0.35s ease, fill 0.35s ease;
}
.about-venn__num { fill: var(--violet-300); font-size: 12px; letter-spacing: 0.1em; }
.about-venn__name { fill: var(--paper); font-size: 11.5px; letter-spacing: 0.12em; }
.about-venn__key { fill: var(--graphite-950); stroke: rgba(242, 239, 232, 0.55); stroke-width: 1; }
.about-venn__keytext { fill: var(--paper); font-size: 11px; font-weight: 500; }
.about-venn__key--core { fill: var(--violet-300); stroke: var(--violet-300); }
.about-venn__keytext--core { fill: var(--graphite-950); }
.about-venn__core-ring { fill: none; stroke: var(--violet-300); stroke-width: 1; stroke-dasharray: 2 4; opacity: 0.8; }
.about-venn-figure .figure__caption { justify-content: center; text-align: left; }
@media (max-width: 599.98px) {
 .about-venn__num { font-size: 14px; }
 .about-venn__name { font-size: 13.5px; letter-spacing: 0.05em; }
 .about-venn__keytext { font-size: 13px; }
}
.about-disciplines:has(.about-discipline--surgery:hover) .about-venn__c--surgery,
.about-disciplines:has(.about-discipline--instrumentation:hover) .about-venn__c--instrumentation,
.about-disciplines:has(.about-discipline--signal:hover) .about-venn__c--signal,
.about-disciplines:has(.about-discipline--learning:hover) .about-venn__c--learning {
 stroke: var(--violet-300);
 fill: rgba(143, 120, 255, 0.1);
}
.about-discipline {
 border-top: 1px solid var(--rule-strong);
 padding-top: 1.1rem;
 transition: border-color 0.35s ease;
}
.about-discipline:hover { border-top-color: var(--accent); }
.about-discipline__num {
 font-family: var(--font-mono);
 font-size: 0.8rem;
 letter-spacing: 0.08em;
 color: var(--accent);
}
.about-discipline__title { margin-top: 0.55rem; font-size: var(--step-2); line-height: 1.12; }
.about-discipline__body { margin-top: 0.9rem; color: var(--fg-muted); max-width: 44ch; }
.about-discipline__ask {
 margin-top: 1.15rem;
 padding-top: 0.9rem;
 border-top: 1px dashed var(--rule);
 font-family: var(--font-display);
 font-size: var(--step-1);
 font-weight: 300;
 line-height: 1.3;
 letter-spacing: -0.01em;
 color: var(--fg);
 max-width: 34ch;
}
.about-discipline__ask-label {
 display: block;
 margin-bottom: 0.35rem;
 font-family: var(--font-mono);
 font-size: 0.7rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
@media (min-width: 720px) {
 .about-disciplines {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 grid-template-areas: "fig fig" "s i" "m p";
 column-gap: clamp(1.5rem, 4vw, 3rem);
 row-gap: clamp(2.5rem, 5vw, 3.5rem);
 }
 .about-venn-figure { grid-area: fig; }
 .about-discipline--surgery { grid-area: s; }
 .about-discipline--instrumentation { grid-area: i; }
 .about-discipline--signal { grid-area: p; }
 .about-discipline--learning { grid-area: m; }
}
@media (min-width: 1100px) {
 .about-disciplines {
 grid-template-columns: minmax(0, 1fr) minmax(0, 29rem) minmax(0, 1fr);
 grid-template-areas: "s fig i" "m fig p";
 column-gap: clamp(2rem, 4vw, 4.5rem);
 row-gap: clamp(3.5rem, 7vw, 6rem);
 align-items: start;
 }
 .about-venn-figure { align-self: center; margin-bottom: 0; }
}
@media (prefers-reduced-motion: no-preference) {
 .reveal-ready .about-venn-figure .about-venn__c {
 stroke-dasharray: 1;
 stroke-dashoffset: 1;
 transition: stroke-dashoffset 1.8s var(--ease-out), stroke 0.35s ease, fill 0.35s ease;
 }
 .reveal-ready .about-venn-figure.is-visible .about-venn__c { stroke-dashoffset: 0; }
 .reveal-ready .about-venn-figure .about-venn__c--instrumentation { transition-delay: 0.15s, 0s, 0s; }
 .reveal-ready .about-venn-figure .about-venn__c--signal { transition-delay: 0.3s, 0s, 0s; }
 .reveal-ready .about-venn-figure .about-venn__c--learning { transition-delay: 0.45s, 0s, 0s; }
 .reveal-ready .about-venn-figure .about-venn__keys { opacity: 0; transition: opacity 0.9s ease 1.1s; }
 .reveal-ready .about-venn-figure.is-visible .about-venn__keys { opacity: 1; }
}
.about-x-intro { margin-bottom: clamp(3rem, 7vw, 5.5rem); align-items: end; }
.about-x-intro .statement { max-width: 18ch; }
.about-x-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule-strong); }
.about-x {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 gap: 0.9rem;
 padding: clamp(1.6rem, 3.5vw, 2.6rem) 0;
 border-bottom: 1px solid var(--rule);
}
.about-x__key { display: flex; align-items: center; gap: 0.9rem; }
.about-x__glyph { width: 2.6rem; height: 2.6rem; flex: none; overflow: visible; }
.about-x__glyph circle { fill: none; stroke: var(--rule-strong); stroke-width: 1.2; }
.about-x__glyph circle.is-on { stroke: var(--accent); fill: rgba(90, 62, 224, 0.07); stroke-width: 1.4; }
.about-x__pair {
 font-family: var(--font-mono);
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 line-height: 1.5;
 color: var(--fg-muted);
 padding-left: 1.6em;
 text-indent: -1.6em;
}
.about-x__letter { display: inline-block; width: 1.6em; text-indent: 0; color: var(--accent); }
.about-x__q { font-size: var(--step-2); font-weight: 300; line-height: 1.15; letter-spacing: -0.018em; max-width: 30ch; }
.about-x__note { color: var(--fg-muted); max-width: 46ch; }
.about-x--all .about-x__q { color: var(--accent); }
.about-x--all { border-bottom-color: var(--rule-strong); }
@media (min-width: 900px) {
 .about-x {
 grid-template-columns: minmax(0, 3.2fr) minmax(0, 5fr) minmax(0, 3.8fr);
 column-gap: clamp(1.5rem, 3vw, 3rem);
 align-items: start;
 }
 .about-x__key { align-items: flex-start; flex-direction: column; gap: 0.75rem; }
 .about-x__note { padding-top: 0.35rem; }
}
.about-work { align-items: start; }
.about-work__frame { aspect-ratio: 4 / 3; }
.about-work__frame img { object-position: 62% 50%; }
@media (min-width: 900px) {
 .about-work__figure { position: sticky; top: calc(var(--header-h) + 2rem); }
 .about-work__frame { aspect-ratio: 4 / 5; }
}
.about-work__lede { margin-top: var(--space-3); }
.about-principles {
 margin: clamp(2.5rem, 5vw, 4rem) 0 0;
 padding: 0;
 list-style: none;
 border-top: 1px solid var(--rule-strong);
}
.about-principle {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 gap: 0.5rem 1rem;
 padding: clamp(1.4rem, 3vw, 2rem) 0;
 border-bottom: 1px solid var(--rule);
}
.about-principle__num {
 font-family: var(--font-mono);
 font-size: 0.8rem;
 letter-spacing: 0.08em;
 color: var(--accent);
 padding-top: 0.4rem;
}
.about-principle__title { font-size: var(--step-2); line-height: 1.15; }
.about-principle__body { color: var(--fg-muted); max-width: 52ch; }
@media (min-width: 600px) {
 .about-principle { grid-template-columns: 3rem minmax(0, 1fr); }
 .about-principle__body { grid-column: 2; }
}
.about-work__figure .figure__caption { flex-wrap: wrap; gap: 0.2rem 0.75rem; }
.about-names-intro { margin-bottom: clamp(2.5rem, 6vw, 4.5rem); align-items: end; }
.about-names__title { max-width: 18ch; }
.about-names {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 border-top: 1px solid var(--rule-strong);
}
.about-name { padding: 1.5rem 0 2.25rem; }
.about-name + .about-name { border-top: 1px solid var(--rule); }
@media (min-width: 900px) {
 .about-names { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .about-name { padding: 1.75rem clamp(2rem, 4vw, 4rem) 0.5rem 0; }
 .about-name + .about-name { border-top: 0; border-left: 1px solid var(--rule); padding-left: clamp(2rem, 4vw, 4rem); padding-right: 0; }
}
.about-name__label {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--accent);
}
.about-name__word {
 margin: 0.9rem 0 1.25rem;
 font-size: clamp(2.6rem, 1.4rem + 4.2vw, 5.6rem);
 font-weight: 300;
 line-height: 1;
 letter-spacing: -0.035em;
}
.about-name__labs { color: var(--fg-muted); }
.about-name__def { color: var(--fg-muted); max-width: 44ch; }
.about-place {
 margin-top: clamp(3.5rem, 8vw, 6.5rem);
 padding-top: var(--space-3);
 border-top: 1px solid var(--rule-strong);
 align-items: start;
}
.about-place__label {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.about-place__city {
 margin-top: 0.6rem;
 font-family: var(--font-display);
 font-weight: 300;
 font-size: var(--step-3);
 line-height: 1.05;
 letter-spacing: -0.025em;
}
.about-place__mail { margin-top: 0.85rem; }
.about-place__mail a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--step-1); text-decoration-color: var(--accent); }
.collab-merge {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr) auto;
 align-items: center;
 column-gap: clamp(0.75rem, 2vw, 1.5rem);
 margin-top: clamp(2.5rem, 6vw, 4.5rem);
}
.collab-merge__labels {
 display: grid;
 grid-template-rows: repeat(3, 40px);
 align-items: center;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--fog);
}
.collab-merge__svg { width: 100%; height: 120px; overflow: visible; }
.collab-merge__path { fill: none; stroke: rgba(242, 239, 232, 0.38); stroke-width: 1.15; }
.collab-merge__out { fill: none; stroke: var(--violet-300); stroke-width: 1.5; }
.collab-merge__end {
 display: inline-flex;
 align-items: center;
 gap: 0.75rem;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--violet-200);
 white-space: nowrap;
}
.collab-merge__end::before {
 content: "";
 width: 9px;
 height: 9px;
 margin-left: -0.5rem;
 border-radius: 50%;
 background: var(--violet-300);
 box-shadow: 0 0 0 5px rgba(143, 120, 255, 0.16);
}
@media (max-width: 599.98px) {
 .collab-merge__end-text { display: none; }
}
@media (prefers-reduced-motion: no-preference) {
 .collab-merge__path, .collab-merge__out {
 stroke-dasharray: 1;
 stroke-dashoffset: 1;
 animation: collab-draw 1.6s var(--ease-in-out) 0.55s forwards;
 }
 .collab-merge__path--mid { animation-delay: 0.7s; }
 .collab-merge__out { animation-duration: 1s; animation-delay: 1.85s; }
 .collab-merge__end::before { animation: collab-dot 0.6s var(--ease-out) 2.6s both; }
 @keyframes collab-draw { to { stroke-dashoffset: 0; } }
 @keyframes collab-dot { from { opacity: 0; transform: scale(0.4); } to { opacity: 1; transform: none; } }
}
.collab-routes-intro { margin-bottom: clamp(3rem, 7vw, 5.5rem); align-items: end; }
.collab-routes {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 margin: 0;
 padding: 0;
 list-style: none;
 border-top: 2px solid var(--fg);
}
.collab-route {
 display: grid;
 align-content: start;
 gap: 1.5rem;
 padding: 1.6rem 0 2.75rem;
 scroll-margin-top: calc(var(--header-h) + 1.5rem);
}
.collab-route + .collab-route { border-top: 1px solid var(--rule-strong); }
.collab-route__num {
 font-family: var(--font-mono);
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--accent);
}
.collab-route__title {
 font-size: var(--step-3);
 font-weight: 300;
 line-height: 1.04;
 letter-spacing: -0.028em;
 max-width: 13ch;
}
.collab-route__label {
 margin-bottom: 0.7rem;
 font-family: var(--font-mono);
 font-size: 0.7rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 line-height: 1.4;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.collab-route__who { color: var(--fg); max-width: 40ch; }
.collab-route__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.collab-route__list li {
 position: relative;
 padding: 0.6rem 0 0.6rem 1.35rem;
 border-bottom: 1px solid var(--rule);
 color: var(--fg-muted);
 line-height: 1.5;
}
.collab-route__list li::before {
 content: "\2013";
 position: absolute;
 left: 0;
 top: 0.6rem;
 color: var(--accent);
 font-family: var(--font-mono);
 font-size: 0.9em;
}
.collab-route__list--include li::before { content: "+"; }
.collab-route__cta { padding-top: 0.5rem; }
.collab-route__btn { width: 100%; justify-content: space-between; text-align: left; line-height: 1.25; padding-block: 0.85rem; }
@media (min-width: 1000px) {
 .collab-routes {
 grid-template-columns: repeat(3, minmax(0, 1fr));
 grid-template-rows: repeat(6, auto);
 row-gap: 1.75rem;
 }
 .collab-route {
 grid-row: span 6;
 grid-template-rows: subgrid;
 gap: inherit;
 padding: 1.6rem clamp(1.5rem, 2.6vw, 2.75rem) 0;
 border-left: 1px solid var(--rule);
 }
 .collab-route + .collab-route { border-top: 0; }
 .collab-route:first-child { padding-left: 0; border-left: 0; }
 .collab-route:last-child { padding-right: 0; }
 .collab-route__cta { align-self: end; }
}
.collab-routes-foot {
 display: grid;
 gap: var(--space-3);
 margin-top: clamp(2.5rem, 5vw, 4rem);
 padding-top: var(--space-3);
 border-top: 1px solid var(--rule-strong);
}
.collab-routes-foot__note { color: var(--fg-muted); max-width: 52ch; }
.collab-routes-foot__general { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1rem; color: var(--fg-muted); }
@media (min-width: 900px) {
 .collab-routes-foot { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; }
 .collab-routes-foot__general { justify-content: flex-end; }
}
.collab-thread-intro { margin-bottom: clamp(3rem, 7vw, 6rem); align-items: end; }
ol.collab-thread {
 --line-x: 0.3rem;
 position: relative;
 display: grid;
 gap: clamp(2.25rem, 5vw, 3.25rem);
 margin: 0;
 padding: 0 0 0 2.1rem;
 list-style: none;
}
.collab-thread::before {
 content: "";
 position: absolute;
 top: 0.6rem;
 bottom: 0.6rem;
 left: var(--line-x);
 width: 1px;
 background: var(--rule-strong);
}
.collab-msg { position: relative; max-width: 34rem; }
.collab-msg::before {
 content: "";
 position: absolute;
 top: 0.45rem;
 left: calc(-2.1rem + var(--line-x) - 4px);
 width: 9px;
 height: 9px;
 border: 1.5px solid var(--accent);
 border-radius: 50%;
 background: var(--bg);
}
.collab-msg--us::before { background: var(--accent); }
.collab-msg--both::before { background: var(--paper); border-color: var(--paper); }
.collab-msg__meta {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.collab-msg__step { color: var(--accent); margin-right: 0.6rem; }
.collab-msg__title { margin-top: 0.7rem; font-size: var(--step-2); line-height: 1.15; }
.collab-msg__body { margin-top: 0.8rem; color: var(--fg-muted); }
@media (min-width: 900px) {
 ol.collab-thread {
 --gap-x: clamp(3rem, 7vw, 7rem);
 grid-template-columns: repeat(2, minmax(0, 1fr));
 column-gap: var(--gap-x);
 row-gap: clamp(2rem, 4vw, 3rem);
 padding-left: 0;
 }
 .collab-thread::before { left: 50%; }
 .collab-msg { padding-top: 1.1rem; border-top: 1px solid var(--rule); }
 .collab-msg::before { top: -5px; }
 .collab-msg--you { grid-column: 1; justify-self: end; width: 100%; }
 .collab-msg--you::before { left: auto; right: calc(var(--gap-x) / -2 - 5px); top: 1.55rem; }
 .collab-msg--us { grid-column: 2; margin-top: clamp(3rem, 7vw, 6rem); }
 .collab-msg--us::before { left: calc(var(--gap-x) / -2 - 4px); top: 1.55rem; }
 .collab-msg--both {
 grid-column: 1 / -1;
 justify-self: center;
 width: min(100%, 38rem);
 padding: 1.4rem 0 1.6rem;
 background: var(--bg);
 border-top: 1px solid var(--rule-strong);
 text-align: center;
 }
 .collab-msg--both::before { left: calc(50% - 5px); top: -5px; }
 .collab-msg--both .collab-msg__body { margin-inline: auto; max-width: 46ch; }
}
.collab-faq { align-items: start; }
.collab-faq__head > * + * { margin-top: var(--space-3); }
@media (min-width: 900px) { .collab-faq__head { position: sticky; top: calc(var(--header-h) + 2rem); } }
.collab-faq .faq__answer a { text-decoration-color: var(--accent); }
.page-contact,
.page-thanks,
.page-privacy,
.page-404 {
 --cl-error: #a3261d;
 --cl-error-tint: rgba(163, 38, 29, 0.05);
}
.cl-rule { flex-wrap: wrap; column-gap: 1.5rem; row-gap: 0.4rem; }
@media (max-width: 719.98px) {
 .cl-rule { flex-direction: column; }
}
.cl-trace { margin-top: clamp(2.5rem, 6vw, 4.5rem); }
.cl-trace__frame { position: relative; }
.cl-trace__frame::before {
 content: "";
 position: absolute;
 left: 0;
 right: 0;
 top: 50%;
 border-top: 1px solid var(--rule-on-dark);
}
.cl-trace__frame::after {
 content: "";
 position: absolute;
 right: 0;
 top: 50%;
 width: 9px;
 height: 9px;
 border: 1.5px solid var(--violet-300);
 border-radius: 50%;
 background: var(--graphite-950);
 transform: translateY(-50%);
}
.cl-trace--pulse .cl-trace__frame::after { background: var(--violet-300); }
.cl-trace__svg {
 position: relative;
 width: 100%;
 height: clamp(56px, 8vw, 110px);
 overflow: visible;
}
.cl-trace__path {
 fill: none;
 stroke: var(--violet-300);
 stroke-width: 1.5;
 stroke-linejoin: round;
 vector-effect: non-scaling-stroke;
}
.cl-trace__meta {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 gap: 0.5rem 1.5rem;
 margin-top: 1rem;
 padding-top: 0.9rem;
 border-top: 1px solid var(--rule-on-dark);
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: var(--fog);
}
@media (max-width: 719.98px) {
 .cl-trace__meta { flex-direction: column; gap: 0.35rem; }
}
@media (prefers-reduced-motion: no-preference) {
 .cl-trace__svg { animation: cl-wipe 2.4s 0.35s var(--ease-in-out) both; }
 .cl-trace__frame::after { animation: cl-dot 0.6s 2.5s ease both; }
 @keyframes cl-wipe {
 from { clip-path: inset(0 100% 0 0); }
 to { clip-path: inset(0 0 0 0); }
 }
 @keyframes cl-dot {
 from { opacity: 0; transform: translateY(-50%) scale(0.4); }
 to { opacity: 1; transform: translateY(-50%) scale(1); }
 }
}
.cl-links { margin-top: clamp(3rem, 7vw, 5.5rem); container-type: inline-size; }
.cl-links__heading {
 margin-bottom: 1rem;
 font-family: var(--font-mono);
 font-size: 0.75rem;
 font-weight: 500;
 line-height: 1.4;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.cl-links__list { margin: 0; border-top: 1px solid var(--rule-strong); }
.cl-links__list > li { border-bottom: 1px solid var(--rule); }
.cl-link {
 display: grid;
 grid-template-columns: 2.75rem minmax(0, 1fr) auto;
 grid-template-areas:
 "num name arrow"
 ". desc arrow";
 align-items: baseline;
 column-gap: 0.75rem;
 min-height: 44px;
 padding: clamp(1.1rem, 2.4vw, 1.6rem) 0;
 color: var(--fg);
 text-decoration: none;
}
.cl-link__num {
 grid-area: num;
 font-family: var(--font-mono);
 font-size: 0.8rem;
 letter-spacing: 0.08em;
 color: var(--accent);
}
.cl-link__name {
 grid-area: name;
 font-family: var(--font-display);
 font-weight: 300;
 font-size: clamp(1.75rem, 1.2rem + 2vw, 2.9rem);
 line-height: 1.05;
 letter-spacing: -0.022em;
 transition: color 0.25s ease;
}
.cl-link__desc { grid-area: desc; margin-top: 0.4rem; color: var(--fg-muted); max-width: 40ch; }
.cl-link .icon-arrow {
 grid-area: arrow;
 align-self: center;
 width: 1.6rem;
 height: 1.6rem;
 color: var(--accent);
 transition: transform 0.4s var(--ease-out);
}
.cl-link:hover .cl-link__name { color: var(--violet-200); }
.cl-link:hover .icon-arrow { transform: translateX(6px); }
@container (min-width: 50rem) {
 .cl-link {
 grid-template-columns: 4.5rem minmax(0, 5fr) minmax(0, 6fr) auto;
 grid-template-areas: "num name desc arrow";
 column-gap: 1.5rem;
 }
 .cl-link__desc { margin-top: 0; }
}
.contact-grid { row-gap: clamp(3.5rem, 8vw, 5rem); }
.contact-main,
.contact-aside { grid-column: 1 / -1; }
@media (min-width: 1000px) {
 .contact-main { grid-column: 1 / span 7; }
 .contact-aside { grid-column: 9 / span 4; align-self: start; }
}
@media (min-width: 1000px) and (min-height: 760px) {
 .contact-aside { position: sticky; top: calc(var(--header-h) + 2rem); }
}
.contact-main__intro { margin-top: 1rem; max-width: 54ch; color: var(--fg-muted); }
.contact-main__intro a { color: var(--fg); text-decoration-color: var(--accent); overflow-wrap: anywhere; }
.contact-form {
 display: grid;
 gap: clamp(1.75rem, 3vw, 2.25rem);
 margin-top: clamp(2rem, 4vw, 3rem);
 padding-top: clamp(1.75rem, 3vw, 2.25rem);
 border-top: 1px solid var(--rule-strong);
}
.cf-row { display: grid; gap: clamp(1.75rem, 3vw, 2.25rem); }
@media (min-width: 720px) {
 .cf-row { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.75rem; }
}
.cf-field { display: grid; gap: 0.6rem; align-content: start; min-width: 0; }
.cf-label {
 display: flex;
 align-items: baseline;
 gap: 0.75rem;
 font-weight: 500;
 font-size: 1rem;
 line-height: 1.35;
 color: var(--fg);
 cursor: pointer;
}
.cf-label__num {
 flex: none;
 font-family: var(--font-mono);
 font-size: 0.75rem;
 letter-spacing: 0.08em;
 color: var(--accent);
}
.cf-req {
 margin-left: auto;
 padding-left: 0.5rem;
 flex: none;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 font-weight: 500;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.cf-req--inline { margin: 0; padding: 0; color: var(--fg); }
.cf-input {
 display: block;
 width: 100%;
 min-height: 3.4rem;
 margin: 0;
 padding: 0.8rem 1rem;
 font: 400 1.1rem/1.45 var(--font-body);
 color: var(--ink);
 background: rgba(255, 255, 255, 0.5);
 border: 1px solid var(--rule-on-paper);
 border-bottom: 1.5px solid rgba(20, 20, 24, 0.62);
 border-radius: var(--radius);
 box-shadow: none;
 appearance: none;
 transition: border-color 0.2s ease, background-color 0.2s ease;
}
.cf-input:hover { border-bottom-color: var(--ink); }
.cf-input:focus { background: #fff; border-bottom-color: var(--violet-700); }
.cf-input:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.cf-input--area { min-height: 12rem; resize: vertical; line-height: 1.6; }
.cf-select { position: relative; }
.cf-select::after {
 content: "";
 position: absolute;
 right: 1.15rem;
 top: 50%;
 width: 8px;
 height: 8px;
 border-right: 1.5px solid var(--ink);
 border-bottom: 1.5px solid var(--ink);
 transform: translateY(-70%) rotate(45deg);
 pointer-events: none;
}
.cf-input--select { padding-right: 3rem; cursor: pointer; text-overflow: ellipsis; }
.cf-input[aria-invalid="true"] {
 border-color: var(--cl-error);
 border-bottom-width: 2px;
 background: var(--cl-error-tint);
}
.cf-error {
 padding-left: 0.85rem;
 border-left: 2px solid var(--cl-error);
 font-size: 0.95rem;
 font-weight: 500;
 line-height: 1.45;
 color: var(--cl-error);
}
.cf-hint { margin-top: -0.15rem; max-width: 62ch; font-size: 0.95rem; line-height: 1.55; color: var(--fg-muted); }
.cf-hp {
 position: absolute !important;
 width: 1px;
 height: 1px;
 margin: -1px;
 padding: 0;
 overflow: hidden;
 clip: rect(0 0 0 0);
 white-space: nowrap;
 border: 0;
}
.cf-summary {
 padding: 1.25rem 1.5rem;
 border: 1px solid rgba(163, 38, 29, 0.4);
 border-left: 4px solid var(--cl-error);
 background: var(--cl-error-tint);
}
.cf-summary:focus-visible { outline-offset: 3px; }
.cf-summary__title { font-size: var(--step-1); font-weight: 400; color: var(--ink); }
.cf-summary__list { margin: 0.5rem 0 0; }
.cf-summary__list > li { display: flex; }
.cf-summary__list a {
 display: flex;
 align-items: center;
 min-height: 44px;
 padding-block: 0.3rem;
 line-height: 1.45;
 font-weight: 500;
 color: var(--cl-error);
 text-decoration-color: currentColor;
}
.cf-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; padding-top: 0.25rem; }
.cf-submit__btn { min-width: 12.5rem; }
.cf-submit__note { max-width: 38ch; font-size: 0.92rem; line-height: 1.5; color: var(--fg-muted); }
.cf-submit__note a { color: var(--fg); text-decoration-color: var(--accent); }
.cf-status {
 min-height: 1.4em;
 margin-top: -0.75rem;
 font-family: var(--font-mono);
 font-size: 0.8rem;
 letter-spacing: 0.06em;
 color: var(--fg-muted);
}
.contact-form[aria-busy="true"] .cf-input { opacity: 0.7; }
.cf-alert {
 display: grid;
 gap: 1rem;
 padding: clamp(1.4rem, 3vw, 2rem);
 border: 1px solid rgba(163, 38, 29, 0.4);
 border-left: 4px solid var(--cl-error);
 background: var(--cl-error-tint);
}
.cf-alert__title { font-size: var(--step-2); font-weight: 300; line-height: 1.15; letter-spacing: -0.015em; color: var(--ink); }
.cf-alert__title:focus { outline: none; }
.cf-alert__title:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.cf-alert p { max-width: 60ch; color: var(--fg-muted); }
.cf-alert__actions { margin-top: 0.25rem; }
.cf-alert__direct a { color: var(--fg); text-decoration-color: var(--accent); overflow-wrap: anywhere; }
.cf-done {
 display: grid;
 gap: 1.1rem;
 margin-top: clamp(2rem, 4vw, 3rem);
 padding: clamp(1.75rem, 4.5vw, 3.25rem);
 background: var(--graphite-950);
 color: var(--paper);
 border-top: 2px solid var(--violet-300);
}
.cf-done__label {
 font-family: var(--font-mono);
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--violet-300);
}
.cf-done__title { font-size: var(--step-3); font-weight: 300; line-height: 1.06; letter-spacing: -0.022em; max-width: 18ch; }
.cf-done__title:focus { outline: none; }
.cf-done__title:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.cf-done__text { max-width: 54ch; color: var(--fog); }
.cf-done__text a { color: var(--paper); text-decoration-color: var(--violet-300); overflow-wrap: anywhere; }
.cf-done .actions { margin-top: 0.75rem; }
.cf-done .btn--primary:hover { color: var(--graphite-950); }
@media (prefers-reduced-motion: no-preference) {
 .cf-alert:not([hidden]),
 .cf-done:not([hidden]),
 .cf-summary:not([hidden]) { animation: cl-panel-in 0.5s var(--ease-out) both; }
 @keyframes cl-panel-in {
 from { opacity: 0; transform: translate3d(0, 10px, 0); }
 to { opacity: 1; transform: none; }
 }
}
.contact-aside { border-top: 1px solid var(--rule-strong); }
.contact-aside__block { padding: 1.35rem 0 1.5rem; border-bottom: 1px solid var(--rule); }
.contact-aside__label {
 margin-bottom: 0.65rem;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 font-weight: 500;
 line-height: 1.4;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.contact-aside__mail a {
 display: inline-flex;
 align-items: center;
 min-height: 44px;
 font-family: var(--font-display);
 font-weight: 300;
 font-size: clamp(1.3rem, 0.95rem + 0.8vw, 1.7rem);
 line-height: 1.25;
 letter-spacing: -0.01em;
 text-decoration-color: var(--accent);
 text-underline-offset: 0.25em;
 overflow-wrap: anywhere;
 padding-block: 0.25rem;
}
.contact-aside__place { font-family: var(--font-display); font-size: var(--step-1); font-weight: 300; line-height: 1.3; }
.contact-aside__list { margin: 0; display: grid; gap: 0.7rem; }
.contact-aside__list > li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: 0.35rem; color: var(--fg-muted); line-height: 1.55; }
.contact-aside__num { font-family: var(--font-mono); font-size: 0.75rem; color: var(--accent); padding-top: 0.2rem; }
.contact-note {
 margin-top: 1.5rem;
 padding: 1.25rem 1.25rem 0.75rem;
 background: var(--paper-2);
 border-left: 2px solid var(--accent);
}
.contact-note__label { color: var(--accent); }
.contact-note__text { font-weight: 500; line-height: 1.5; color: var(--fg); }
.contact-note__link a { display: inline-flex; align-items: center; min-height: 44px; text-decoration-color: var(--accent); }
@media (min-width: 720px) and (max-width: 999.98px) {
 .contact-aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
 .contact-note { grid-column: 1 / -1; }
}
.contact-faq-grid { align-items: start; }
.contact-faq-intro > * + * { margin-top: var(--space-3); }
.contact-faq-intro .muted { max-width: 34ch; }
.contact-faq-links { margin: 0; display: grid; gap: 0.15rem; }
@media (min-width: 900px) {
 .contact-faq-intro { position: sticky; top: calc(var(--header-h) + 2rem); }
}
.contact-faq-section .faq__answer a { color: var(--paper); text-decoration-color: var(--violet-300); }
.thanks-head { padding-bottom: clamp(4rem, 9vw, 8rem); }
.thanks-head__title { font-size: var(--step-4); line-height: 1.02; letter-spacing: -0.03em; max-width: 17ch; margin-top: 0.25rem; }
.thanks-head .page-head__lede { max-width: 52ch; }
.thanks-head .page-head__lede a { color: var(--paper); text-decoration-color: var(--violet-300); overflow-wrap: anywhere; }
.nf-head { padding-bottom: clamp(4rem, 9vw, 8rem); }
.nf-head__title { max-width: 12ch; margin-top: 0.25rem; }
.nf-body { display: grid; gap: clamp(2.5rem, 6vw, 4rem); margin-top: clamp(3rem, 7vw, 5.5rem); }
.nf-body .cl-links { margin-top: 0; }
.nf-copy > * + * { margin-top: var(--space-3); }
.nf-copy .lede { max-width: 30ch; }
.nf-copy__note { max-width: 40ch; color: var(--fog); }
.nf-copy__note a { color: var(--paper); text-decoration-color: var(--violet-300); overflow-wrap: anywhere; }
@media (min-width: 1000px) {
 .nf-body {
 grid-template-columns: repeat(12, minmax(0, 1fr));
 column-gap: clamp(1rem, 2.2vw, 2rem);
 align-items: start;
 }
 .nf-copy { grid-column: 1 / span 4; }
 .nf-links { grid-column: 5 / span 8; }
}
.glance { margin: 0; display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--rule-strong); }
.glance__item { padding: 1.35rem 0 1.5rem; border-bottom: 1px solid var(--rule); }
.glance__label {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 font-weight: 500;
 line-height: 1.45;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--fog);
}
.glance__value {
 margin: 0.7rem 0 0;
 font-family: var(--font-display);
 font-weight: 300;
 font-size: clamp(1.9rem, 1.4rem + 1.5vw, 2.75rem);
 line-height: 1.05;
 letter-spacing: -0.025em;
 color: var(--paper);
}
.glance__note { margin: 0.6rem 0 0; max-width: 34ch; font-size: 0.95rem; line-height: 1.55; color: var(--fog); }
@media (min-width: 720px) {
 .glance { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
}
@media (min-width: 1100px) {
 .glance { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: clamp(1rem, 2vw, 2rem); border-top: 0; }
 .glance__item { padding: 1.1rem 0 0; border-bottom: 0; border-top: 1px solid var(--rule-strong); }
 .glance__label { min-height: 2.9em; }
 .glance__value { font-size: clamp(1.5rem, 0.4rem + 1.5vw, 1.9rem); }
}
.legal {
 display: grid;
 grid-template-columns: repeat(12, minmax(0, 1fr));
 column-gap: clamp(1rem, 2.2vw, 2rem);
 row-gap: clamp(2.5rem, 6vw, 3.5rem);
}
.legal__toc,
.legal__body { grid-column: 1 / -1; min-width: 0; }
@media (min-width: 1000px) {
 .legal__toc { grid-column: 1 / span 3; align-self: start; position: sticky; top: calc(var(--header-h) + 2rem); }
 .legal__body { grid-column: 5 / span 7; }
}
.legal__toc-title {
 margin-bottom: 0.85rem;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.legal__toc-list { margin: 0; border-top: 1px solid var(--rule-strong); }
.legal__toc-list a {
 display: flex;
 align-items: baseline;
 gap: 0.85rem;
 min-height: 44px;
 padding: 0.6rem 0;
 border-bottom: 1px solid var(--rule);
 font-size: 0.95rem;
 line-height: 1.4;
 color: var(--fg-muted);
 text-decoration: none;
}
.legal__toc-list a span { flex: none; font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em; color: var(--accent); }
.legal__toc-list a:hover { color: var(--fg); }
@media (min-width: 600px) and (max-width: 999.98px) {
 .legal__toc-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
}
.legal__part { max-width: 68ch; }
.legal__part + .legal__part { margin-top: clamp(2.75rem, 5vw, 3.75rem); padding-top: clamp(2rem, 4vw, 2.75rem); border-top: 1px solid var(--rule); }
.legal__part > * + * { margin-top: 1.05rem; }
.legal__h {
 display: flex;
 align-items: baseline;
 gap: 1rem;
 font-size: var(--step-2);
 font-weight: 300;
 line-height: 1.15;
 letter-spacing: -0.015em;
}
.legal__part > .legal__h + * { margin-top: 1.4rem; }
.legal__num { flex: none; font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.08em; color: var(--accent); transform: translateY(-0.2em); }
.legal__part p,
.legal__list { color: var(--fg); line-height: 1.7; }
.legal__part strong { font-weight: 600; }
.legal__part a { text-decoration-color: var(--accent); overflow-wrap: anywhere; }
.legal__list { margin-bottom: 0; padding-left: 1.35rem; }
.legal__list li + li { margin-top: 0.3rem; }
.legal__list li::marker { color: var(--accent); }
.legal__callout {
 padding: 0.2rem 0 0.2rem 1.25rem;
 border-left: 2px solid var(--accent);
 font-family: var(--font-display);
 font-size: var(--step-1);
 font-weight: 300;
 line-height: 1.4;
}
.legal__date {
 font-family: var(--font-mono);
 font-size: 0.78rem;
 letter-spacing: 0.08em;
 text-transform: uppercase;
}
.legal__part p.legal__date { color: var(--fg-muted); }
.legal__sub {
 margin-top: 2rem;
 font-family: var(--font-mono);
 font-size: 0.75rem;
 font-weight: 500;
 line-height: 1.4;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.legal__part > .legal__h + .legal__sub { margin-top: 1.4rem; }
.legal__part > .legal__sub + * { margin-top: 0.6rem; }
.legal__credits { margin-bottom: 0; border-top: 1px solid var(--rule-strong); }
.legal__part > p + .legal__credits { margin-top: 1.25rem; }
.legal__credits > div { display: grid; gap: 0.2rem 1.5rem; padding: 0.95rem 0; border-bottom: 1px solid var(--rule); }
.legal__credits dt { font-family: var(--font-display); font-size: var(--step-1); font-weight: 400; line-height: 1.3; }
.legal__credits dd { margin: 0; color: var(--fg-muted); }
.legal__credits dd a { color: var(--fg); }
@media (min-width: 600px) {
 .legal__credits > div { grid-template-columns: 11rem minmax(0, 1fr); align-items: baseline; }
}
.cf-input { color-scheme: light; }
.page-article {
 --article-ink: #24232a; 
 --article-measure: 66ch;
 --article-box: 46rem;
}
.article-progress { display: none; }
@supports (animation-timeline: scroll()) {
 @media (prefers-reduced-motion: no-preference) {
 .article-progress {
 display: block;
 position: fixed;
 z-index: 60;
 top: 0;
 left: 0;
 right: 0;
 height: 2px;
 background: var(--violet-300);
 transform-origin: 0 50%;
 transform: scaleX(0);
 animation: article-progress linear both;
 animation-timeline: scroll(root block);
 pointer-events: none;
 }
 @keyframes article-progress { to { transform: scaleX(1); } }
 }
}
.article-head {
 position: relative;
 background: var(--bg);
 color: var(--fg);
 padding-top: clamp(3rem, 7vw, 6rem);
 padding-bottom: clamp(2.25rem, 4.5vw, 3.5rem);
 overflow: hidden;
}
.article-head__trail { margin-bottom: clamp(2rem, 4vw, 3rem); }
.article-head__grid { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: end; }
@media (min-width: 1000px) {
 .article-head__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(2.5rem, 5vw, 5.5rem); }
}
.article-head__kicker { margin-bottom: var(--space-3); }
.article-head__title {
 font-size: var(--step-4);
 line-height: 1.02;
 letter-spacing: -0.03em;
 max-width: 15ch;
}
.article-head__dek {
 margin-top: var(--space-3);
 font-size: var(--step-1);
 line-height: 1.5;
 color: var(--fg-muted);
 max-width: 44ch;
}
.article-head__art {
 aspect-ratio: 16 / 10;
 overflow: hidden;
 background: var(--graphite-850);
 border: 1px solid var(--rule);
}
.article-head__art img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 699.98px) { .article-head__art { display: none; } }
.article-meta {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 1rem 2rem;
 margin: clamp(2.5rem, 5vw, 4rem) 0 0;
 padding-top: 0.95rem;
 border-top: 1px solid var(--rule-strong);
}
@media (min-width: 720px) { .article-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.article-meta dt {
 font-family: var(--font-mono);
 font-size: 0.7rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.article-meta dd { margin: 0.25rem 0 0; font-size: 0.95rem; color: var(--fg); }
.article-main {
 background: var(--bg);
 color: var(--fg);
 padding-top: clamp(3rem, 6vw, 5.5rem);
 padding-bottom: clamp(4rem, 8vw, 7rem);
}
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr); }
.article-body { min-width: 0; width: 100%; max-width: 48rem; margin-inline: auto; }
.article-rail { display: none; }
@media (min-width: 1100px) {
 .article-layout { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); column-gap: clamp(2.5rem, 4vw, 4.5rem); }
 .article-body { max-width: none; margin-inline: 0; }
 .article-rail {
 display: block;
 padding-inline: 6px;
 margin-inline: -6px;
 position: sticky;
 top: calc(var(--header-h) + 2.5rem);
 align-self: start;
 max-height: calc(100vh - var(--header-h) - 4rem);
 overflow-y: auto;
 }
}
.article-rail__label {
 padding-bottom: 0.75rem;
 border-bottom: 1px solid var(--rule-strong);
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--fg-muted);
}
.article-rail__list { margin: 0; counter-reset: toc; }
.article-rail__list li { border-bottom: 1px solid var(--rule); counter-increment: toc; }
.article-rail__list a {
 display: flex;
 align-items: baseline;
 gap: 0.85rem;
 min-height: 2.75rem;
 padding: 0.6rem 0;
 font-size: 0.92rem;
 line-height: 1.35;
 color: var(--fg-muted);
 text-decoration: none;
 transition: color 0.2s ease;
}
.article-rail__list a::before {
 content: counter(toc, decimal-leading-zero);
 flex: none;
 font-family: var(--font-mono);
 font-size: 0.7rem;
 letter-spacing: 0.06em;
 color: var(--accent);
}
.article-rail__list a:hover { color: var(--fg); }
.article-rail__back { margin-top: 1.25rem; }
.key-points {
 max-width: var(--article-box);
 margin-bottom: clamp(2.5rem, 5vw, 3.75rem);
 padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2.25rem) clamp(0.75rem, 2vw, 1.25rem);
 background: var(--paper-2);
 border-top: 2px solid var(--accent);
}
.key-points__title {
 font-family: var(--font-mono);
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--accent);
 margin-bottom: 0.6rem;
}
.key-points__list { margin: 0; counter-reset: kp; }
.key-points__list li {
 display: grid;
 grid-template-columns: 2.25rem minmax(0, 1fr);
 padding: 0.8rem 0;
 border-top: 1px solid var(--rule);
 counter-increment: kp;
 color: var(--article-ink);
 line-height: 1.55;
}
.key-points__list li::before {
 content: counter(kp, decimal-leading-zero);
 font-family: var(--font-mono);
 font-size: 0.75rem;
 color: var(--accent);
 padding-top: 0.2rem;
}
.article-prose {
 max-width: var(--article-measure);
 font-size: clamp(1.0625rem, 1rem + 0.2vw, 1.1875rem);
 line-height: 1.72;
 color: var(--article-ink);
}
.article-prose > * + * { margin-top: 1.1em; }
.article-prose p { text-wrap: pretty; }
.article-prose a { text-decoration-color: var(--accent); }
.article-prose a:hover { color: var(--accent); }
.article-prose strong { font-weight: 600; color: var(--fg); }
.article-prose sub, .article-defs sub, .figure-key sub {
 font-size: 0.72em;
 line-height: 0;
 vertical-align: baseline;
 position: relative;
 bottom: -0.28em;
}
.article-lead {
 font-family: var(--font-display);
 font-weight: 300;
 font-size: clamp(1.3rem, 1.12rem + 0.7vw, 1.62rem);
 line-height: 1.45;
 letter-spacing: -0.008em;
 color: var(--fg);
}
.article-prose h2 {
 display: flex;
 align-items: baseline;
 gap: 1rem;
 margin-top: 2.4em;
 padding-top: 1.05rem;
 border-top: 1px solid var(--rule-strong);
 font-size: var(--step-2);
 line-height: 1.15;
 letter-spacing: -0.015em;
 color: var(--fg);
 scroll-margin-top: calc(var(--header-h) + 1.5rem);
}
.article-prose h2 + * { margin-top: 0.85em; }
.article-h__num {
 flex: none;
 font-family: var(--font-mono);
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 color: var(--accent);
 transform: translateY(-0.25em);
}
.cite { font-size: 0.66em; line-height: 0; vertical-align: super; }
.cite a {
 padding: 0 0.1em;
 font-family: var(--font-mono);
 font-weight: 500;
 color: var(--accent);
 text-decoration: none;
}
.cite a:hover { text-decoration: underline; }
.cite__sep { color: var(--fg-muted); }
.article-list { margin-left: 0; padding: 0; list-style: none; }
.article-list > li { position: relative; padding-left: 1.6rem; }
.article-list > li + li { margin-top: 0.7em; }
.article-list > li::before {
 content: "";
 position: absolute;
 left: 0;
 top: 0.85em;
 width: 0.75rem;
 height: 1px;
 background: var(--accent);
}
.article-defs { margin: 1.6em 0 0; border-top: 1px solid var(--rule-strong); }
.article-defs > div { display: grid; gap: 0.35rem 1.75rem; padding: 1.1rem 0; border-bottom: 1px solid var(--rule); }
.article-defs dt { font-family: var(--font-display); font-weight: 400; font-size: var(--step-1); line-height: 1.25; color: var(--fg); display: flex; align-items: baseline; gap: 0.7rem; }
.article-defs__sym { font-family: var(--font-display); font-weight: 300; font-size: 1.5em; line-height: 1; color: var(--accent); min-width: 1.1em; }
.article-defs dd { margin: 0; font-size: 0.97em; line-height: 1.6; color: var(--article-ink); }
@media (min-width: 720px) { .article-defs > div { grid-template-columns: 12.5rem minmax(0, 1fr); } }
.article-figure { margin: clamp(2.5rem, 5vw, 3.75rem) 0; max-width: var(--article-box); }
.article-figure--wide { max-width: none; }
.article-figure--single { max-width: 42rem; }
.article-figure__plate {
 background: var(--graphite-850);
 color: var(--fg);
 border: 1px solid var(--graphite-700);
}
.article-figure__panels { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; background: var(--graphite-700); }
@media (min-width: 720px) {
 .article-figure--wide .article-figure__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.article-figure__panel { background: var(--graphite-850); min-width: 0; }
.article-figure__panel img { width: 100%; height: auto; }
.article-figure__panel-label {
 padding: 0.85rem 1rem 0.15rem;
 font-family: var(--font-mono);
 font-size: 0.7rem;
 letter-spacing: 0.12em;
 line-height: 1.5;
 text-transform: uppercase;
 color: var(--fog);
}
.article-figure__panel-label span { margin-right: 0.5rem; color: var(--violet-300); }
.article-figure .figure-key {
 display: flex;
 flex-wrap: wrap;
 gap: 0.6rem 1.6rem;
 margin: 0;
 padding: 0.95rem 1rem 1.05rem;
 border-top: 1px solid var(--graphite-700);
 font-size: 0.84rem;
 line-height: 1.45;
 color: var(--fog);
}
.figure-key li { display: inline-flex; align-items: center; gap: 0.6rem; }
.figure-key__swatch { flex: none; display: inline-block; width: 1.6rem; height: 0.8rem; position: relative; }
.figure-key__swatch::before { content: ""; position: absolute; }
.figure-key__swatch--line::before { left: 0; right: 0; top: calc(50% - 1px); height: 2px; background: var(--violet-300); }
.figure-key__swatch--dash-fog::before { left: 0; right: 0; top: 50%; border-top: 1.5px dashed rgba(168, 163, 154, 0.8); }
.figure-key__swatch--dash-light::before { left: 0; right: 0; top: 50%; border-top: 1.5px dashed rgba(242, 239, 232, 0.8); }
.figure-key__swatch--cell::before { left: 0.35rem; top: 0; width: 0.8rem; height: 0.8rem; border-radius: 50%; border: 1.2px solid rgba(242, 239, 232, 0.55); background: #1c1b21; }
.figure-key__swatch--bar::before { left: calc(50% - 1.5px); top: -0.15rem; width: 3px; height: 1.1rem; background: rgba(242, 239, 232, 0.6); }
.figure-key__swatch--points::before { left: 0.5rem; top: 0.15rem; width: 0.5rem; height: 0.5rem; border-radius: 50%; border: 1.3px solid var(--violet-200); }
.figure-key__swatch--solid-dot::before { left: 0.5rem; top: 0.1rem; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--paper); }
.figure-key__swatch--open-dot::before { left: 0.5rem; top: 0.1rem; width: 0.6rem; height: 0.6rem; border-radius: 50%; border: 1.5px solid var(--paper); }
.figure-key__swatch--ring::before { left: 0.35rem; top: -0.05rem; width: 0.9rem; height: 0.9rem; border-radius: 50%; border: 1.4px solid var(--violet-300); }
.figure-key__swatch--band::before { inset: 0; background: rgba(143, 120, 255, 0.2); }
.figure-key__swatch--film::before { left: 0; right: 0; top: 0.2rem; height: 0.4rem; background: rgba(242, 239, 232, 0.12); border: 1px solid rgba(242, 239, 232, 0.35); border-radius: 0.2rem; }
.figure-key__swatch--arrow::before { left: calc(50% - 0.5px); top: -0.1rem; width: 1px; height: 0.8rem; background: rgba(242, 239, 232, 0.6); }
.figure-key__swatch--arrow::after {
 content: "";
 position: absolute;
 left: calc(50% - 0.25rem);
 top: 0.45rem;
 width: 0.4rem;
 height: 0.4rem;
 border-right: 1px solid rgba(242, 239, 232, 0.6);
 border-bottom: 1px solid rgba(242, 239, 232, 0.6);
 transform: rotate(45deg);
}
.figure-key__swatch--hatch::before {
 left: 0;
 right: 0;
 top: 0.15rem;
 height: 0.5rem;
 background: repeating-linear-gradient(135deg, var(--violet-300) 0 1px, transparent 1px 4px), rgba(143, 120, 255, 0.2);
}
.figure-key__swatch--fog-dot::before { left: 0.55rem; top: 0.17rem; width: 0.46rem; height: 0.46rem; border-radius: 50%; background: var(--fog); }
.figure-key__swatch--open-violet::before { left: 0.5rem; top: 0.12rem; width: 0.55rem; height: 0.55rem; border-radius: 50%; border: 1.4px solid var(--violet-200); }
.figure-key__swatch--box::before { left: 0.35rem; top: 0; width: 0.85rem; height: 0.85rem; border-radius: 3px; border: 1.2px solid rgba(168, 163, 154, 0.7); }
.figure-key__swatch--divider::before { left: 50%; top: -0.1rem; height: 1rem; border-left: 1.5px dashed var(--violet-300); }
.article-figure__caption {
 max-width: var(--article-measure);
 margin-top: 0.9rem;
 font-size: 0.9rem;
 line-height: 1.55;
 color: var(--fg-muted);
}
.article-figure__caption .figure__label {
 display: inline-block;
 margin-right: 0.6rem;
 font-family: var(--font-mono);
 font-size: 0.72rem;
}
.evidence-ladder { margin: clamp(2rem, 4vw, 3rem) 0; }
.evidence-ladder__title {
 margin-bottom: 0.8rem;
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--accent);
}
.evidence-ladder__rows { margin: 0; border-top: 1px solid var(--rule-strong); }
.evidence-ladder__row { display: grid; gap: 0.9rem; padding: 1.4rem 0; border-bottom: 1px solid var(--rule); }
@media (min-width: 900px) {
 .evidence-ladder__row { grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr); column-gap: clamp(1.5rem, 2.5vw, 2.5rem); }
}
.evidence-ladder__row dt { font-family: var(--font-display); font-weight: 400; font-size: var(--step-1); line-height: 1.25; color: var(--fg); }
.evidence-ladder__step { margin-right: 0.7rem; font-family: var(--font-mono); font-size: 0.75rem; color: var(--accent); }
.evidence-ladder__what { display: block; margin-top: 0.45rem; font-family: var(--font-body); font-size: 0.93rem; line-height: 1.55; color: var(--fg-muted); }
.evidence-ladder__row dd { margin: 0; font-size: 0.97rem; line-height: 1.6; color: var(--article-ink); }
.evidence-ladder__label {
 display: block;
 margin-bottom: 0.3rem;
 font-family: var(--font-mono);
 font-size: 0.68rem;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: var(--accent);
}
.evidence-ladder__cannot .evidence-ladder__label { color: var(--fg-muted); }
.article-callout {
 max-width: var(--article-box);
 margin-top: clamp(3rem, 6vw, 4.5rem);
 padding: clamp(1.5rem, 3.5vw, 2.4rem);
 border: 1px solid var(--rule-strong);
 border-left: 3px solid var(--accent);
 color: var(--article-ink);
 line-height: 1.65;
}
.article-callout > * + * { margin-top: 1rem; }
.article-callout__label {
 font-family: var(--font-mono);
 font-size: 0.72rem;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--accent);
}
.article-callout .article-callout__title { margin-top: 0.35rem; font-size: var(--step-2); line-height: 1.15; color: var(--fg); }
.article-callout a { text-decoration-color: var(--accent); }
.article-prose .article-scope {
 margin-top: 2em;
 padding-top: 1rem;
 border-top: 1px solid var(--rule);
 font-size: 0.92em;
 line-height: 1.6;
 color: var(--fg-muted);
}
.references {
 max-width: var(--article-box);
 margin-top: clamp(3rem, 6vw, 4.5rem);
 padding-top: 1rem;
 border-top: 1px solid var(--rule-strong);
}
.references__title {
 font-family: var(--font-mono);
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--accent);
 margin-bottom: 0.5rem;
}
.references__list { margin: 0; }
.references__list li {
 display: grid;
 grid-template-columns: 2.25rem minmax(0, 1fr);
 padding: 0.8rem 0.5rem 0.8rem 0;
 border-bottom: 1px solid var(--rule);
 font-size: 0.92rem;
 line-height: 1.55;
 color: var(--article-ink);
 scroll-margin-top: calc(var(--header-h) + 1.5rem);
 transition: background-color 0.4s ease;
}
.references__list li:target { background: rgba(90, 62, 224, 0.08); }
.references__num { font-family: var(--font-mono); font-size: 0.75rem; color: var(--accent); padding: 0.15rem 0 0 0.35rem; }
.references__list cite { font-style: italic; }
.references__list a { overflow-wrap: anywhere; text-decoration-color: var(--accent); }
.article-more__head {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 align-items: baseline;
 gap: 0.75rem 2rem;
 margin-bottom: clamp(2rem, 4vw, 3rem);
}
@media (min-width: 720px) {
 .article-more .insight-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media print {
 .article-progress, .article-rail, .article-more { display: none !important; }
 .article-head, .article-main { padding-block: 1rem; }
 .article-figure__plate { break-inside: avoid; }
}