/* Atom-inspired navigation: stable, accessible research nodes and animated orbital traces. */
.shell { width: min(1400px, 100%); }
.hero.quantum-hero { grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); gap: 38px; padding: 58px 0 56px; min-height: 720px; }
.quantum-hero::after { inset: 2% -8% auto auto; width: 76%; background: radial-gradient(ellipse, rgba(58,148,125,.14), transparent 68%); }
.quantum-hero .eyebrow { display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.11em; }
.quantum-hero .eyebrow::before { content:'';width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb,var(--teal) 10%,transparent); }
.quantum-hero h1 { max-width:none;margin:28px 0 24px;font-size:clamp(44px,4.2vw,65px);line-height:1.08;letter-spacing:-.055em; }
.quantum-hero h1 em { font:italic 1.07em/1.12 'Newsreader',Georgia,serif;color:var(--teal);letter-spacing:-.035em; }
.quantum-hero .tagline { max-width:35ch;font-size:23px;font-style:normal;line-height:1.55; }
.hero-discipline { margin:0 0 22px;font:11px/1.6 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft); }
.hero-discipline span { color:var(--teal);padding:0 7px; }
.quantum-hero .actions { margin-top:30px;gap:12px; }
.quantum-hero .button { min-height:46px;padding:11px 17px;border-radius:7px; }
.quantum-hero .button.primary { background:var(--teal);border-color:var(--teal);color:var(--paper-raised); }
:root[data-theme="dark"] .quantum-hero .button.primary { background:var(--teal);border-color:var(--teal);color:#081b1b; }
:root[data-theme="dark"] .quantum-hero .button.primary:hover { background:#c4e9d9;border-color:#c4e9d9;color:#081b1b; }
.quantum-hero .button.primary:hover { background:var(--navy-deep);border-color:var(--navy-deep);color:var(--paper); }
.hero-research-links { display:grid;gap:0;margin-top:36px;max-width:390px;border-top:1px solid var(--line); }
.hero-research-links a { display:flex;align-items:center;gap:13px;padding:12px 0;color:var(--ink-soft);text-decoration:none;font:12px/1.4 'Space Grotesk',sans-serif;border-bottom:1px solid var(--line); }
.hero-research-links a>span:first-child { color:var(--teal);font-size:10px; }
.hero-research-links a>span:last-child { margin-left:auto;color:var(--teal);transition:transform .2s; }
.hero-research-links a:hover { color:var(--teal); }
.hero-research-links a:hover>span:last-child { transform:translate(2px,-2px); }
.hero-contact { margin:22px 0 0;font:12px/1.6 'Space Grotesk',sans-serif;color:var(--ink-soft); }
.hero-contact a { text-decoration:none; }
.entry[id] { scroll-margin-top:90px; }
.pub-link { max-width:100%;overflow-wrap:anywhere; }

.research-atom { position:relative;min-width:0;overflow:hidden;padding:22px;border:1px solid #314b52;border-radius:20px;background:#0b1a23;color:#d9e8e4;box-shadow:0 24px 70px #081b2320,inset 0 1px 0 #b5e7db0a;scroll-margin-top:84px; }
:root[data-theme="dark"] .research-atom { background:#0b1721;box-shadow:0 24px 70px #0004; }
.research-atom::before { position:absolute;content:'';inset:5% -15% 30%;background:radial-gradient(ellipse,#6b9c9810,transparent 65%);pointer-events:none; }
.atom-card-header { position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px; }
.atom-card-header p { margin:0;color:#8eaeb0;font:10px/1.5 'Space Grotesk',sans-serif;letter-spacing:.15em;text-transform:uppercase; }
.atom-card-header span { color:#93ddc8;font:10px/1.5 'Space Grotesk',sans-serif;border:1px solid #7dd9ba38;border-radius:20px;padding:3px 9px; }
.research-atom h2 { position:relative;margin:13px 0 0;color:#ecf2ea;font:400 29px/1.2 'Newsreader',Georgia,serif;letter-spacing:-.02em; }
.atom-diagram { display:block;position:relative;width:100%;height:auto;margin:6px 0 3px;overflow:visible; }
.atom-field-line { stroke:#86b6b00a;stroke-width:1;fill:none; }
.atom-orbit { fill:none;stroke-width:1.4;stroke:#76b6bc65; }
.atom-orbit.warm { stroke:#eab79950; }
.atom-orbit.violet { stroke:#a9a8ed58; }
.atom-trace { fill:none;stroke:#92dac8;stroke-width:2.5;stroke-dasharray:3 97;stroke-linecap:round;animation:atom-orbit-travel 22s linear infinite;opacity:.65; }
.atom-trace.warm { stroke:#e9b28f;animation-duration:29s;animation-delay:-8s; }
.atom-trace.violet { stroke:#b9b2ef;animation-duration:26s;animation-delay:-15s; }
@keyframes atom-orbit-travel { to { stroke-dashoffset:-100; } }
.atom-node { cursor:pointer;outline:none; }
.atom-node .node-hit { fill:transparent;stroke:transparent;stroke-width:1.4; }
.atom-node .electron-halo { fill:var(--node-color);opacity:.10;transition:opacity .2s; }
.atom-node .electron-ring { fill:#10232c;stroke:var(--node-color);stroke-width:1;opacity:.7; }
.atom-node .electron { fill:var(--node-color);stroke:#ecfff5;stroke-opacity:.6;stroke-width:1; }
.atom-node .node-label { fill:#c1d3d5;font:18px 'Space Grotesk',system-ui,sans-serif;letter-spacing:-.01em;text-anchor:middle;transition:fill .2s; }
.atom-node .node-stem { stroke:var(--node-color);stroke-width:.8;opacity:.35; }
.atom-node:hover .electron-halo,.atom-node[aria-pressed="true"] .electron-halo,.atom-node:focus-visible .electron-halo { opacity:.35; }
.atom-node:hover .node-label,.atom-node[aria-pressed="true"] .node-label,.atom-node:focus-visible .node-label { fill:#f1f7f1; }
.atom-node[aria-pressed="true"] .electron-ring { stroke-width:2;opacity:1; }
.atom-node:focus-visible .node-hit { stroke:var(--node-color); }
.atom-core .core-rim { fill:none;stroke:#c9e8d3;stroke-opacity:.3;stroke-width:1;stroke-dasharray:2 6; }
.atom-core .core-label { fill:#f3f4df;font:600 20px 'Space Grotesk',sans-serif;text-anchor:middle;letter-spacing:-.02em; }
.atom-core .core-label-small { fill:#a8c1b5;font:9px 'Space Grotesk',sans-serif;text-anchor:middle;letter-spacing:.16em; }
.atom-core:focus-visible .core-rim,.atom-core[aria-pressed="true"] .core-rim { stroke-opacity:.8; }
.atom-hint { text-align:center;margin:0 0 13px;color:#86a6a8;font:10px/1.5 'Space Grotesk',sans-serif; }
.atom-detail { position:relative;min-height:200px;padding:17px 17px 14px;border:1px solid #81bbaa25;border-radius:10px;background:#c2ecda06;border-left:2px solid var(--selected-color,#bde5ce); }
.atom-detail .atom-kind { color:var(--selected-color,#bde5ce);font:9px/1.5 'Space Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px; }
.atom-detail h3 { color:#edf5ed;font:500 18px/1.3 'Space Grotesk',sans-serif;margin:0 0 7px;letter-spacing:-.02em; }
.atom-detail .atom-description { color:#adc7c4;font:16px/1.45 'Newsreader',Georgia,serif;margin:0; }
.atom-detail .atom-destination { display:inline-block;color:#c5e9dc;font:11px/1.5 'Space Grotesk',sans-serif;margin-top:10px;text-decoration:none; }
.atom-detail .atom-destination:hover { color:#fff; }
.research-atom a:focus-visible { outline-color:#cfedda; }

@media(max-width:1120px) and (min-width:981px) {
 .hero.quantum-hero { gap:24px;grid-template-columns:.92fr 1.08fr; }
 .quantum-hero h1 { font-size:44px; }
 .research-atom { padding:18px; }
 .research-atom h2 { font-size:26px; }
}
@media(max-width:980px) {
 .hero.quantum-hero { grid-template-columns:1fr;gap:34px;min-height:0; }
 .quantum-hero h1 { font-size:clamp(47px,7.4vw,70px); }
 .research-atom { width:min(100%,650px); }
 .hero-research-links { display:none; }
 .hero-contact { margin-top:15px; }
}
@media(max-width:820px) {
 .hero.quantum-hero { padding:42px 0; }
 .quantum-hero h1 { margin:23px 0 20px; }
 .quantum-hero .tagline { max-width:40ch;font-size:22px; }
}
@media(max-width:520px) {
 .quantum-hero h1 { font-size:clamp(36px,10.6vw,51px); }
 .quantum-hero .tagline { font-size:21px; }
 .hero-discipline { font-size:10px;letter-spacing:.09em; }
 .quantum-hero .actions { flex-wrap:nowrap;gap:9px; }
 .quantum-hero .actions .button { width:auto;flex:1;padding-inline:10px;font-size:12px; }
 .research-atom { padding:15px;border-radius:14px; }
 .research-atom h2 { font-size:26px; }
 .atom-card-header p { font-size:9px; }
 .atom-card-header span { font-size:9px; }
 .atom-node .node-label { font-size:24px; }
 .atom-core .core-label { font-size:22px; }
 .atom-detail { min-height:216px;padding:14px; }
 .atom-detail h3 { font-size:16px; }
 .atom-detail .atom-description { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .atom-trace { animation:none; } }
@media print { .atom-hint { display:none; }.research-atom { break-inside:avoid; }.hero.quantum-hero { display:block;min-height:0; } }
