/*
Theme Name: Sinterlab
Theme URI: https://sinterlab.ru/
Author: Sinterlab
Description: Управляемая WordPress-тема лаборатории ядерных технологий, восстановленная по последнему архиву сайта.
Version: 4.6.0
Text Domain: sinterlab
*/

:root {
  --ink: #0b1718;
  --ink-soft: #344244;
  --paper: #f4f1e9;
  --paper-2: #ebe6da;
  --white: #fffdf8;
  --acid: #b7c2a3;
  --acid-dark: #6e7e5f;
  --cyan: #a9c5c3;
  --line: rgba(11, 23, 24, .16);
  --shadow: 0 24px 80px rgba(9, 26, 27, .12);
  --radius: 24px;
  --container: min(1400px, calc(100vw - 64px));
  --sans: Inter, "SF Pro Display", "Segoe UI", Arial, sans-serif;
  --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}

/* Patent dossier — a legal/technical document with a visual invention map. */
.patent-detail { background: var(--paper); }
.patent-detail__hero { position: relative; overflow: hidden; padding: 42px 0 72px; color: var(--white); background: #071719; }
.patent-detail__hero::before { position: absolute; inset: 0; background: linear-gradient(rgba(169,197,195,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(169,197,195,.045) 1px,transparent 1px); background-size: 52px 52px; content: ""; }
.patent-detail__hero::after { position: absolute; top: 18%; right: -9%; width: 48vw; height: 48vw; border: 1px solid rgba(183,194,163,.12); border-radius: 50%; box-shadow: 0 0 0 8vw rgba(169,197,195,.025),0 0 0 16vw rgba(169,197,195,.018); content: ""; }
.patent-detail__hero .container { position: relative; z-index: 1; }
.patent-detail__top { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 50px; }
.patent-detail__top .back-link { color: rgba(255,255,255,.64); }
.patent-detail__top > span { color: rgba(255,255,255,.34); font: 700 9px/1.2 var(--mono); letter-spacing: .13em; }
.patent-detail__hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(330px,.6fr); gap: clamp(52px,7vw,112px); align-items: center; }
.patent-detail__hero header .eyebrow { color: var(--cyan); }
.patent-detail__hero h1 { max-width: 18ch; margin: 22px 0 42px; color: var(--white); font-size: clamp(40px,4.35vw,68px); letter-spacing: -.054em; line-height: .98; text-wrap: balance; }
.patent-detail__authors { display: grid; grid-template-columns: 140px minmax(0,1fr); gap: 30px; max-width: 820px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); }
.patent-detail__authors span { color: rgba(255,255,255,.4); font: 700 8px/1.45 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.patent-detail__authors p { margin: 0; color: rgba(255,255,255,.76); font-size: 14px; line-height: 1.55; }
.patent-detail__hero figure { position: relative; height: clamp(390px,41vw,560px); margin: 0; overflow: hidden; border: 1px solid rgba(169,197,195,.26); border-radius: 2px 48px 2px 48px; background: radial-gradient(circle at 50% 50%,rgba(169,197,195,.12),transparent 52%),#0b2224; box-shadow: 0 35px 90px rgba(0,0,0,.34); }
.patent-detail__hero figure::before { position: absolute; inset: 19px; border: 1px solid rgba(255,255,255,.1); border-radius: 1px 34px 1px 34px; content: ""; }
.patent-detail__hero figure > img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.04); }
.patent-detail__hero figcaption { position: absolute; right: 28px; bottom: 27px; left: 28px; display: flex; align-items: end; justify-content: space-between; color: var(--white); font-family: var(--mono); }
.patent-detail__hero figcaption span { font-size: 8px; letter-spacing: .14em; }
.patent-detail__hero figcaption strong { color: var(--acid); font-size: 58px; font-weight: 400; letter-spacing: -.08em; }
.patent-detail__diagram { position: absolute; inset: 0; animation: patent-drift 9s ease-in-out infinite; }
.patent-detail__diagram::before,.patent-detail__diagram::after { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(169,197,195,.3); border-radius: 50%; content: ""; transform: translate(-50%,-50%); }
.patent-detail__diagram::before { width: 58%; aspect-ratio: 1; box-shadow: 0 0 0 44px rgba(169,197,195,.04),0 0 0 88px rgba(183,194,163,.025); }
.patent-detail__diagram::after { width: 20%; aspect-ratio: 1; background: rgba(183,194,163,.08); box-shadow: 0 0 46px rgba(183,194,163,.12); }
.patent-detail__diagram i { position: absolute; z-index: 2; width: 13px; height: 13px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 18px rgba(169,197,195,.6); }
.patent-detail__diagram i::after { position: absolute; top: 6px; left: 6px; width: 120px; height: 1px; background: linear-gradient(90deg,rgba(169,197,195,.65),transparent); content: ""; transform-origin: left; }
.patent-detail__diagram i:nth-child(1) { top: 20%; left: 50%; }.patent-detail__diagram i:nth-child(1)::after { transform: rotate(70deg); }
.patent-detail__diagram i:nth-child(2) { top: 37%; left: 76%; background: var(--acid); }.patent-detail__diagram i:nth-child(2)::after { transform: rotate(146deg); }
.patent-detail__diagram i:nth-child(3) { top: 69%; left: 69%; }.patent-detail__diagram i:nth-child(3)::after { transform: rotate(208deg); }
.patent-detail__diagram i:nth-child(4) { top: 76%; left: 37%; background: var(--acid); }.patent-detail__diagram i:nth-child(4)::after { transform: rotate(280deg); }
.patent-detail__diagram i:nth-child(5) { top: 47%; left: 20%; }.patent-detail__diagram i:nth-child(5)::after { transform: rotate(340deg); }
.patent-detail__diagram i:nth-child(6) { top: 50%; left: 49%; background: var(--white); }
.patent-detail__diagram b { position: absolute; top: 50%; left: 50%; z-index: 3; color: var(--white); font: 500 36px/1 var(--mono); letter-spacing: -.08em; transform: translate(-50%,-50%); }
@keyframes patent-drift { 0%,100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(5deg) scale(1.025); } }
.patent-detail__body { padding-bottom: 110px; }
.patent-detail__layout { display: grid; grid-template-columns: minmax(190px,.24fr) minmax(0,1fr); gap: clamp(54px,8vw,138px); }
.patent-detail__layout > aside { position: sticky; top: 116px; align-self: start; padding-top: 76px; }
.patent-detail__layout > aside > span { color: var(--acid-dark); font: 600 58px/.9 var(--mono); letter-spacing: -.08em; }
.patent-detail__layout > aside > p { max-width: 210px; margin: 18px 0 34px; color: var(--ink-soft); font-size: 12px; line-height: 1.55; }
.patent-detail__layout dl { margin: 0 0 32px; border-top: 1px solid var(--line); }
.patent-detail__layout dl div { padding: 14px 0; border-bottom: 1px solid var(--line); }
.patent-detail__layout dt { margin-bottom: 5px; color: #758080; font: 700 8px/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.patent-detail__layout dd { margin: 0; font-size: 12px; line-height: 1.4; }
.patent-detail__layout > aside > a { display: flex; justify-content: space-between; gap: 18px; padding: 15px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font: 800 9px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.patent-detail__layout > main { min-width: 0; }
.patent-detail__field { padding: 76px 0 78px; border-bottom: 1px solid var(--line); }
.patent-detail__field > p:last-child { max-width: 1020px; margin: 22px 0 0; color: #26393a; font-size: clamp(26px,2.3vw,38px); letter-spacing: -.028em; line-height: 1.32; }
.patent-detail__section-head { padding: 74px 0 36px; }
.patent-detail__section-head h2 { max-width: 780px; margin: 16px 0 0; font-size: clamp(43px,5vw,72px); letter-spacing: -.055em; line-height: .95; }
.patent-detail__essence > p { max-width: 1020px; margin: 0; color: #405152; font-size: 18px; line-height: 1.74; }
.patent-detail__result { display: grid; grid-template-columns: minmax(240px,.65fr) minmax(0,1fr); gap: clamp(42px,6vw,92px); margin-top: 78px; padding: clamp(38px,5vw,72px); color: var(--white); background: #0a2022; border-radius: 2px 42px 2px 42px; box-shadow: var(--shadow); }
.patent-detail__result .eyebrow { color: var(--acid); }
.patent-detail__result h2 { margin: 16px 0 0; color: var(--white); font-size: clamp(38px,4vw,62px); letter-spacing: -.052em; line-height: .96; }
.patent-detail__result > p { align-self: end; margin: 0; color: rgba(255,255,255,.74); font-size: 18px; line-height: 1.7; }
.patent-detail__metrics { padding-top: 18px; }
.patent-detail__metrics ul { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); list-style: none; }
.patent-detail__metrics li { min-height: 170px; padding: 28px 24px; border-right: 1px solid var(--line); }
.patent-detail__metrics li:last-child { border-right: 0; }
.patent-detail__metrics strong { display: block; color: var(--acid-dark); font: 500 56px/.9 var(--mono); letter-spacing: -.08em; }
.patent-detail__metrics span { display: block; margin-top: 34px; color: var(--ink-soft); font: 700 9px/1.4 var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.patent-detail__back { padding-top: 70px; text-align: right; }
.patent-detail__back a { display: inline-flex; align-items: center; gap: 34px; padding-bottom: 12px; border-bottom: 1px solid var(--ink); font: 800 10px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
@media (max-width:900px) { .patent-detail__hero-grid { grid-template-columns: minmax(0,1fr) 290px; gap: 38px; }.patent-detail__hero h1 { font-size: clamp(42px,6.8vw,65px); }.patent-detail__layout { grid-template-columns: 160px minmax(0,1fr); gap: 46px; }.patent-detail__result { grid-template-columns: 1fr; }.patent-detail__metrics ul { grid-template-columns: repeat(2,minmax(0,1fr)); }.patent-detail__metrics li:nth-child(2) { border-right: 0; }.patent-detail__metrics li:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }
@media (max-width:640px) { .patent-detail__hero { padding: 30px 0 38px; }.patent-detail__top { align-items: flex-start; margin-bottom: 34px; }.patent-detail__top > span { max-width: 130px; text-align: right; }.patent-detail__hero-grid { grid-template-columns: 1fr; }.patent-detail__hero h1 { margin: 18px 0 30px; font-size: clamp(37px,11.5vw,50px); }.patent-detail__authors { grid-template-columns: 1fr; gap: 9px; }.patent-detail__hero figure { height: 350px; }.patent-detail__layout { grid-template-columns: 1fr; }.patent-detail__layout > aside { position: static; display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; padding-top: 45px; }.patent-detail__layout > aside > p { margin-top: 10px; }.patent-detail__layout dl,.patent-detail__layout > aside > a { grid-column: 1/-1; }.patent-detail__field { padding: 52px 0 58px; }.patent-detail__field > p:last-child { font-size: 25px; }.patent-detail__section-head { padding-top: 54px; }.patent-detail__essence > p,.patent-detail__result > p { font-size: 16px; }.patent-detail__result { margin-top: 58px; padding: 32px 24px; }.patent-detail__metrics ul { grid-template-columns: 1fr 1fr; }.patent-detail__metrics li { min-height: 145px; padding: 24px 18px; }.patent-detail__metrics strong { font-size: 46px; }.patent-detail__back { padding-top: 52px; text-align: left; } }

/* Equipment dossier — turns recovered technical prose into a readable instrument profile. */
.equipment-detail { background: var(--paper); }
.equipment-detail__hero { position: relative; overflow: hidden; padding: 42px 0 76px; color: var(--white); background: var(--ink); }
.equipment-detail__hero::before { position: absolute; inset: 0; background: linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px); background-size: 54px 54px; content: ""; }
.equipment-detail__hero .container { position: relative; z-index: 1; }
.equipment-detail__hero .back-link { margin-bottom: 48px; color: rgba(255,255,255,.62); }
.equipment-detail__hero .back-link:hover { color: var(--acid); }
.equipment-detail__hero-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(380px,.72fr); gap: clamp(54px,7vw,112px); align-items: center; }
.equipment-detail__heading .eyebrow { color: var(--cyan); }
.equipment-detail__heading h1 { max-width: 12ch; margin: 21px 0 30px; color: var(--white); font-size: clamp(54px,6.6vw,96px); letter-spacing: -.065em; line-height: .9; text-wrap: balance; }
.equipment-detail__lead { max-width: 650px; margin: 0; color: rgba(255,255,255,.62); font-size: clamp(18px,1.65vw,25px); line-height: 1.45; }
.equipment-detail__identity { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(180px,.75fr); margin-top: 54px; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.equipment-detail__identity > div { padding: 21px 26px 24px 0; }
.equipment-detail__identity > div + div { padding-left: 26px; border-left: 1px solid rgba(255,255,255,.15); }
.equipment-detail__identity span { display: block; margin-bottom: 9px; color: rgba(255,255,255,.38); font: 700 8px/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.equipment-detail__identity strong { color: rgba(255,255,255,.86); font-size: 12px; font-weight: 500; line-height: 1.5; }
.equipment-detail__visual { position: relative; height: clamp(440px,49vw,650px); margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: 4px 58px 4px 58px; background: #eef0eb; box-shadow: 0 34px 90px rgba(0,0,0,.34); }
.equipment-detail__visual::before { position: absolute; z-index: 2; inset: 18px; border: 1px solid rgba(7,23,24,.18); border-radius: 2px 43px 2px 43px; content: ""; pointer-events: none; }
.equipment-detail__visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.04); transition: filter .5s,transform .8s cubic-bezier(.2,.75,.2,1); }
.equipment-detail__visual:hover img { filter: saturate(1) contrast(1.08); transform: scale(1.035); }
.equipment-detail__visual figcaption { position: absolute; z-index: 3; right: 30px; bottom: 29px; left: 30px; display: flex; align-items: end; justify-content: space-between; color: var(--white); font-family: var(--mono); }
.equipment-detail__visual figcaption span { padding: 8px 10px; background: rgba(7,23,24,.68); font-size: 8px; letter-spacing: .13em; backdrop-filter: blur(8px); }
.equipment-detail__visual figcaption b { color: var(--acid); font-size: 64px; font-weight: 400; letter-spacing: -.09em; text-shadow: 0 4px 20px rgba(0,0,0,.42); }
.equipment-detail__scan { position: absolute; z-index: 4; top: -12%; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg,transparent,var(--cyan),var(--acid),transparent); box-shadow: 0 0 24px rgba(169,197,195,.8); animation: equipment-scan 6s ease-in-out infinite; pointer-events: none; }
.equipment-detail__placeholder { position: absolute; inset: 0; background: radial-gradient(circle at 50% 48%,rgba(183,194,163,.16),transparent 24%),radial-gradient(circle at 50% 50%,transparent 0 20%,rgba(169,197,195,.2) 20.3% 20.7%,transparent 21% 33%,rgba(169,197,195,.15) 33.3% 33.7%,transparent 34%); }
@keyframes equipment-scan { 0%,12% { top: -3%; opacity: 0; } 22% { opacity: 1; } 76% { top: 103%; opacity: 1; } 88%,100% { top: 103%; opacity: 0; } }
.equipment-detail__body { padding: 0 0 110px; }
.equipment-detail__layout { display: grid; grid-template-columns: minmax(190px,.24fr) minmax(0,1fr); gap: clamp(54px,8vw,138px); }
.equipment-detail__layout > aside { position: sticky; top: 120px; align-self: start; padding-top: 78px; }
.equipment-detail__layout > aside > span { color: var(--acid-dark); font: 600 58px/.9 var(--mono); letter-spacing: -.08em; }
.equipment-detail__layout > aside > p { max-width: 190px; margin: 18px 0 36px; color: var(--ink-soft); font-size: 12px; line-height: 1.55; }
.equipment-detail__layout > aside > a { display: flex; justify-content: space-between; gap: 18px; padding: 15px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font: 800 9px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.equipment-detail__main { min-width: 0; }
.equipment-detail__intro { padding: 76px 0 82px; border-bottom: 1px solid var(--line); }
.equipment-detail__intro > p:last-child { max-width: 1000px; margin: 24px 0 0; color: #233637; font-size: clamp(25px,2.25vw,38px); letter-spacing: -.025em; line-height: 1.32; }
.equipment-detail__section-head { display: flex; align-items: end; justify-content: space-between; gap: 34px; padding: 76px 0 38px; }
.equipment-detail__section-head h2 { max-width: 780px; margin: 16px 0 0; font-size: clamp(42px,5vw,74px); letter-spacing: -.055em; line-height: .95; }
.equipment-detail__section-head > strong { color: var(--acid-dark); font: 500 58px/.9 var(--mono); letter-spacing: -.08em; }
.equipment-detail__features > ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.equipment-detail__features li { position: relative; min-height: 172px; padding: 27px 34px 34px 0; border-bottom: 1px solid var(--line); }
.equipment-detail__features li:nth-child(odd) { padding-right: 42px; }
.equipment-detail__features li:nth-child(even) { padding-left: 42px; border-left: 1px solid var(--line); }
.equipment-detail__features li span { display: block; margin-bottom: 35px; color: var(--acid-dark); font: 700 9px/1 var(--mono); letter-spacing: .1em; }
.equipment-detail__features li p { max-width: 480px; margin: 0; color: #25393a; font-size: 16px; line-height: 1.5; }
.equipment-detail__narrative > div:last-child { border-top: 1px solid var(--ink); }
.equipment-detail__narrative article { display: grid; grid-template-columns: 64px minmax(0,1fr); padding: 30px 0; border-bottom: 1px solid var(--line); }
.equipment-detail__narrative article span { color: var(--acid-dark); font: 700 9px/1 var(--mono); }
.equipment-detail__narrative article p,
.equipment-detail__wp-content { max-width: 900px; margin: 0; color: #25393a; font-size: 18px; line-height: 1.68; }
.equipment-detail__wp-content p { margin: 0 0 1.4em; }
.equipment-detail__back { padding-top: 82px; }
.equipment-detail__back a { display: flex; align-items: center; justify-content: space-between; padding: 27px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font-size: clamp(22px,2.4vw,34px); font-weight: 650; letter-spacing: -.025em; }
.equipment-detail__back a span { color: var(--acid-dark); }
@media (max-width: 900px) {
  .equipment-detail__hero-grid { grid-template-columns: 1fr minmax(290px,.68fr); gap: 38px; }
  .equipment-detail__heading h1 { font-size: clamp(46px,7vw,68px); }
  .equipment-detail__visual { height: 470px; }
  .equipment-detail__layout { grid-template-columns: 150px minmax(0,1fr); gap: 40px; }
}
@media (max-width: 640px) {
  .equipment-detail__hero { padding: 27px 0 42px; }
  .equipment-detail__hero .back-link { margin-bottom: 34px; }
  .equipment-detail__hero-grid { grid-template-columns: 1fr; }
  .equipment-detail__heading h1 { max-width: none; margin-block: 18px 24px; font-size: clamp(42px,12vw,58px); line-height: .94; }
  .equipment-detail__lead { font-size: 18px; }
  .equipment-detail__identity { grid-template-columns: 1fr; margin-top: 38px; }
  .equipment-detail__identity > div { padding: 18px 0; }
  .equipment-detail__identity > div + div { padding-left: 0; border-top: 1px solid rgba(255,255,255,.15); border-left: 0; }
  .equipment-detail__visual { height: min(116vw,520px); }
  .equipment-detail__layout { grid-template-columns: 1fr; gap: 0; }
  .equipment-detail__layout > aside { position: static; display: grid; grid-template-columns: auto 1fr; gap: 13px 24px; align-items: end; padding-top: 42px; }
  .equipment-detail__layout > aside > span { grid-row: span 2; font-size: 45px; }
  .equipment-detail__layout > aside > p { margin: 0; }
  .equipment-detail__layout > aside > a { grid-column: 1/-1; margin-top: 10px; }
  .equipment-detail__intro { padding: 52px 0 58px; }
  .equipment-detail__intro > p:last-child { font-size: 23px; }
  .equipment-detail__section-head { padding: 56px 0 30px; }
  .equipment-detail__section-head h2 { font-size: 43px; }
  .equipment-detail__section-head > strong { font-size: 42px; }
  .equipment-detail__features > ol { grid-template-columns: 1fr; }
  .equipment-detail__features li,
  .equipment-detail__features li:nth-child(odd),
  .equipment-detail__features li:nth-child(even) { min-height: 0; padding: 24px 0 27px; border-left: 0; }
  .equipment-detail__features li span { margin-bottom: 18px; }
  .equipment-detail__narrative article { grid-template-columns: 42px minmax(0,1fr); }
}

* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: clip; scroll-behavior: smooth; }
body {
  max-width: 100%;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 78% -10%, rgba(121, 217, 212, .2), transparent 28rem),
    var(--paper);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select { font: inherit; }
button { color: inherit; }
::selection { background: var(--acid); color: var(--ink); }
.screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.site-shell { overflow: clip; }
.container { width: var(--container); margin-inline: auto; }
.container > * { min-width: 0; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.eyebrow::before { width: 28px; height: 2px; background: var(--acid-dark); content: ""; }
.display {
  max-width: 1100px;
  margin: 0;
  font-size: clamp(54px, 8vw, 128px);
  font-weight: 600;
  letter-spacing: -.07em;
  line-height: .9;
}
.section-title {
  max-width: 900px;
  margin: 0;
  font-size: clamp(40px, 5vw, 76px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .98;
  overflow-wrap: anywhere;
}
.lead { max-width: 780px; font-size: clamp(20px, 2vw, 30px); line-height: 1.32; color: var(--ink-soft); overflow-wrap: anywhere; }
.muted { color: var(--ink-soft); }
.button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0 24px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: transparent;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background .25s, color .25s, transform .25s;
}
.button::after { content: "↗"; font-size: 18px; }
.button:hover, .button:focus-visible { background: var(--ink); color: var(--white); transform: translateY(-2px); }
.button--acid { border-color: var(--acid); background: var(--acid); }
.button--acid:hover, .button--acid:focus-visible { background: var(--white); color: var(--ink); }

.site-header {
  position: relative;
  z-index: 50;
  border-bottom: 1px solid var(--line);
}
.site-header__inner { display: grid; min-height: 92px; grid-template-columns: 260px 1fr auto; align-items: center; gap: 24px; }
.brand { display: inline-flex; min-width: 0; align-items: center; }
.brand__logo { display: block; width: min(250px, 100%); height: auto; }
.site-nav { justify-self: center; }
.site-nav__list { display: flex; align-items: center; gap: clamp(14px, 1.8vw, 32px); margin: 0; padding: 0; list-style: none; }
.site-nav a { position: relative; display: inline-flex; align-items: center; min-height: 34px; padding: 0 10px; border-radius: 999px; font-size: 13px; font-weight: 650; transition: color .2s, background-color .2s; }
.site-nav a::after { position: absolute; right: 10px; bottom: 2px; left: 10px; height: 2px; border-radius: 999px; background: var(--acid-dark); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .25s; }
.site-nav a:hover::after, .site-nav a:focus-visible::after,
.site-nav a.is-current::after,
.site-nav .current-menu-item > a::after,
.site-nav .current-menu-ancestor > a::after,
.site-nav .current_page_item > a::after,
.site-nav .current_page_ancestor > a::after { transform: scaleX(1); transform-origin: left; }
.site-nav a.is-current,
.site-nav .current-menu-item > a,
.site-nav .current-menu-ancestor > a,
.site-nav .current_page_item > a,
.site-nav .current_page_ancestor > a { color: var(--ink); background: color-mix(in srgb, var(--acid) 24%, transparent); font-weight: 760; }
.header-contact { font-family: var(--mono); font-size: 12px; font-weight: 700; }
.nav-toggle { display: none; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.nav-toggle > span:not(.screen-reader-text), .nav-toggle::before, .nav-toggle::after { display: block; width: 20px; height: 2px; margin: 4px auto; background: var(--ink); content: ""; transition: transform .25s, opacity .25s; }

.hero { position: relative; padding: clamp(80px, 11vw, 170px) 0 72px; }
.hero::after {
  position: absolute;
  z-index: -1;
  top: 40px;
  right: -80px;
  width: min(42vw, 640px);
  aspect-ratio: 1;
  border: 1px solid rgba(11, 23, 24, .12);
  border-radius: 50%;
  background: repeating-radial-gradient(circle, transparent 0 39px, rgba(11, 23, 24, .07) 40px 41px);
  content: "";
  animation: orbital 24s linear infinite;
}
.hero__title .accent { color: var(--acid-dark); }
.hero__bottom { display: grid; grid-template-columns: 1fr minmax(300px, 520px); align-items: end; gap: 48px; margin-top: 64px; }
.hero__meta { display: flex; align-items: center; gap: 16px; color: var(--ink-soft); font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.hero__meta::before { width: 56px; height: 1px; background: var(--ink); content: ""; }
.hero__intro { margin: 0; font-size: clamp(20px, 2vw, 29px); line-height: 1.35; }

.science-window { position: relative; margin: 0 auto; padding: 0 0 120px; }
.science-window__frame {
  position: relative;
  display: grid;
  min-height: 610px;
  grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr);
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--ink);
  box-shadow: var(--shadow);
}
.science-window__frame::before { position: absolute; z-index: 2; top: 0; left: 0; width: 7px; height: 34%; background: var(--acid); content: ""; }
.science-window__content { position: relative; z-index: 2; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: clamp(46px, 5vw, 78px); color: var(--white); }
.science-window__content::after { position: absolute; right: -112px; bottom: -112px; width: 240px; height: 240px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 34px rgba(169,197,195,.035), 0 0 0 68px rgba(183,194,163,.025); content: ""; }
.science-window__content h2 { max-width: 9ch; margin: 16px 0 26px; font-size: clamp(44px, 4.4vw, 68px); letter-spacing: -.055em; line-height: .94; }
.science-window__content > p:not(.eyebrow) { max-width: 520px; margin: 0; color: rgba(255,255,255,.68); font-size: 17px; line-height: 1.55; }
.science-window__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 34px 0 38px; padding: 0; list-style: none; }
.science-window__tags li { padding: 8px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: rgba(255,255,255,.74); font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.science-window__visual { position: relative; min-width: 0; min-height: 610px; margin: 0; overflow: hidden; background: #d7ddd5; }
.science-window__visual::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(5,16,17,.34)); content: ""; pointer-events: none; }
.science-window__image { width: 100%; height: 100%; min-height: 610px; object-fit: cover; filter: grayscale(1) contrast(1.08); transition: filter .5s, transform .8s cubic-bezier(.2,.7,.2,1); }
.science-window__frame:hover .science-window__image { filter: grayscale(.65) contrast(1.08); transform: scale(1.025); }
.science-window__visual figcaption { position: absolute; z-index: 2; right: 26px; bottom: 24px; left: 26px; display: flex; align-items: end; justify-content: space-between; gap: 18px; color: var(--white); font-family: var(--mono); text-transform: uppercase; }
.science-window__visual figcaption span { font-size: 9px; letter-spacing: .09em; }
.science-window__visual figcaption strong { color: var(--acid); font-size: 12px; letter-spacing: .06em; }

.section { padding: 120px 0; }
.section--ink { background: var(--ink); color: var(--white); }
.section--ink .eyebrow::before { background: var(--acid); }
.section--ink .muted { color: rgba(255,255,255,.62); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 56px; }

.section--ink#lab { position: relative; overflow: hidden; }
.section--ink#lab::before { position: absolute; top: -260px; right: -180px; width: 680px; height: 680px; border: 1px solid rgba(169,197,195,.1); border-radius: 50%; box-shadow: 0 0 0 70px rgba(169,197,195,.025), 0 0 0 140px rgba(183,194,163,.018); content: ""; }
#lab .container { position: relative; z-index: 1; }
#lab .section-head { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .48fr); padding-bottom: 54px; border-bottom: 1px solid rgba(255,255,255,.14); }
#lab .section-head .section-title { max-width: 850px; }
#lab .section-head > p { max-width: 480px; margin: 0; padding-left: 28px; border-left: 1px solid rgba(255,255,255,.16); font-size: 18px; line-height: 1.5; }
.directions { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; border: 0; }
.direction { position: relative; display: flex; min-height: 350px; grid-column: span 4; flex-direction: column; padding: 30px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.035); transition: border-color .35s, background .35s, transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s; }
.direction::before { position: absolute; top: -100px; right: -100px; width: 230px; height: 230px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,255,255,.018), 0 0 0 56px rgba(255,255,255,.012); content: ""; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.direction::after { position: absolute; top: 34px; right: 34px; width: 8px; height: 8px; border-radius: 50%; background: var(--acid); box-shadow: -19px 12px 0 rgba(169,197,195,.8), -38px 2px 0 rgba(255,255,255,.55); content: ""; opacity: .75; }
.direction:nth-child(1), .direction:nth-child(2) { grid-column: span 6; min-height: 390px; }
.direction:nth-child(1) { background: linear-gradient(145deg, rgba(183,194,163,.13), rgba(255,255,255,.025) 58%); }
.direction:nth-child(2) { background: linear-gradient(145deg, rgba(169,197,195,.12), rgba(255,255,255,.025) 58%); }
.direction:nth-child(6) { min-height: 260px; grid-column: 1 / -1; background: linear-gradient(110deg, rgba(255,255,255,.075), rgba(183,194,163,.035)); }
.direction:nth-child(6) h3 { max-width: 720px; margin-top: 58px; }
.direction:nth-child(6) p { max-width: 720px; }
.direction:hover { border-color: rgba(183,194,163,.52); background-color: rgba(255,255,255,.07); box-shadow: 0 24px 70px rgba(0,0,0,.2); transform: translateY(-7px); }
.direction:hover::before { transform: translate(-20px, 22px) scale(1.08); }
.direction__number { display: flex; width: 48px; height: 48px; align-items: center; justify-content: center; margin-bottom: auto; border: 1px solid rgba(183,194,163,.48); border-radius: 50%; color: var(--acid); font-family: var(--mono); font-size: 11px; font-weight: 700; }
.direction h3 { position: relative; z-index: 1; max-width: 430px; margin: 74px 0 16px; font-size: clamp(24px, 2vw, 34px); letter-spacing: -.035em; line-height: 1.03; }
.direction p { position: relative; z-index: 1; max-width: 430px; margin: 0; color: rgba(255,255,255,.56); font-size: 14px; line-height: 1.5; }

.ecosystem { position: relative; overflow: hidden; }
.ecosystem::before { position: absolute; right: -120px; bottom: -270px; width: 540px; height: 540px; border: 1px solid rgba(11,23,24,.08); border-radius: 50%; box-shadow: 0 0 0 58px rgba(169,197,195,.05), 0 0 0 116px rgba(183,194,163,.035); content: ""; }
.ecosystem .container { position: relative; z-index: 1; }
.ecosystem .section-head { margin-bottom: 58px; }
.stats { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(210px, auto)); gap: 14px; margin-top: 0; border: 0; }
.stat { position: relative; display: flex; min-width: 0; flex-direction: column; padding: 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.44); transition: border-color .3s, box-shadow .3s, transform .35s cubic-bezier(.2,.7,.2,1); }
.stat:nth-child(1) { grid-column: span 6; grid-row: span 2; background: var(--ink); color: var(--white); }
.stat:nth-child(2), .stat:nth-child(3) { grid-column: span 3; }
.stat:nth-child(2) { background: color-mix(in srgb, var(--cyan) 24%, var(--paper)); }
.stat:nth-child(3) { background: color-mix(in srgb, var(--acid) 24%, var(--paper)); }
.stat:nth-child(4) { grid-column: span 6; background: rgba(255,255,255,.68); }
.stat:hover { z-index: 2; border-color: var(--ink); box-shadow: var(--shadow); transform: translateY(-7px); }
.stat__science { position: absolute; z-index: 0; display: block; pointer-events: none; }
.stat__science--atom { right: -42px; bottom: -46px; width: 330px; height: 330px; }
.stat__science--atom i { position: absolute; inset: 38px; border: 1px solid rgba(169,197,195,.34); border-radius: 50%; }
.stat__science--atom i::after { position: absolute; top: 50%; right: -5px; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 18px rgba(183,194,163,.65); content: ""; }
.stat__science--atom i:nth-child(1) { animation: atom-orbit-a 10s linear infinite; }
.stat__science--atom i:nth-child(2) { animation: atom-orbit-b 13s linear infinite reverse; }
.stat__science--atom i:nth-child(3) { animation: atom-orbit-c 16s linear infinite; }
.stat__science--atom b { position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 10px rgba(183,194,163,.12), 0 0 40px rgba(183,194,163,.4); transform: translate(-50%,-50%); animation: nucleus-pulse 3s ease-in-out infinite; }
.stat__science--lattice { top: 0; right: 0; width: 58%; height: 100%; opacity: .32; background-image: radial-gradient(circle, var(--ink) 0 2px, transparent 3px), linear-gradient(30deg, transparent 48.5%, var(--ink) 49% 50%, transparent 50.5%), linear-gradient(-30deg, transparent 48.5%, var(--ink) 49% 50%, transparent 50.5%); background-size: 34px 30px, 34px 30px, 34px 30px; animation: lattice-drift 14s linear infinite; }
.stat__science--molecule { --science-scale: 1; top: 24px; right: 20px; width: 145px; height: 100px; transform-origin: top right; animation: molecule-float 6s ease-in-out infinite; }
.stat__science--molecule i, .stat__science--cluster i { position: absolute; width: 14px; height: 14px; border: 2px solid var(--ink); border-radius: 50%; background: var(--paper); box-shadow: 0 0 0 5px rgba(11,23,24,.06); }
.stat__science--molecule i::before { position: absolute; z-index: -1; top: 5px; left: 10px; width: 48px; height: 1px; background: var(--ink); content: ""; transform-origin: left; }
.stat__science--molecule i:nth-child(1) { top: 42px; left: 2px; }
.stat__science--molecule i:nth-child(1)::before { transform: rotate(-32deg); }
.stat__science--molecule i:nth-child(2) { top: 16px; left: 47px; background: var(--acid); }
.stat__science--molecule i:nth-child(2)::before { width: 43px; transform: rotate(34deg); }
.stat__science--molecule i:nth-child(3) { top: 42px; left: 86px; background: var(--cyan); }
.stat__science--molecule i:nth-child(3)::before { width: 42px; transform: rotate(-36deg); }
.stat__science--molecule i:nth-child(4) { top: 17px; left: 124px; }
.stat__science--molecule i:nth-child(4)::before { display: none; }
.stat__science--molecule i:nth-child(5) { top: 78px; left: 86px; width: 10px; height: 10px; background: var(--ink); }
.stat__science--molecule i:nth-child(5)::before { top: -29px; left: 4px; width: 1px; height: 32px; }
.stat__science--cluster { top: 24px; right: 26px; width: 190px; height: 110px; }
.stat__science--cluster::before, .stat__science--cluster::after { position: absolute; top: 53px; left: 24px; width: 138px; height: 1px; background: rgba(11,23,24,.35); content: ""; transform: rotate(16deg); }
.stat__science--cluster::after { transform: rotate(-18deg); }
.stat__science--cluster i { animation: particle-pulse 3.2s ease-in-out infinite; }
.stat__science--cluster i:nth-child(1) { top: 44px; left: 8px; }
.stat__science--cluster i:nth-child(2) { top: 8px; left: 58px; background: var(--cyan); animation-delay: -.5s; }
.stat__science--cluster i:nth-child(3) { top: 68px; left: 67px; animation-delay: -1s; }
.stat__science--cluster i:nth-child(4) { top: 34px; left: 112px; background: var(--acid); animation-delay: -1.5s; }
.stat__science--cluster i:nth-child(5) { top: 78px; left: 158px; animation-delay: -2s; }
.stat__science--cluster i:nth-child(6) { top: 4px; left: 168px; width: 10px; height: 10px; animation-delay: -2.5s; }
.stat__index { position: relative; z-index: 1; color: var(--ink-soft); font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.stat:nth-child(1) .stat__index { color: var(--acid); }
.stat strong { position: relative; z-index: 1; display: block; margin: auto 0 12px; font-size: clamp(68px, 9vw, 150px); font-weight: 560; letter-spacing: -.085em; line-height: .75; }
.stat:nth-child(n+2) strong { font-size: clamp(52px, 6vw, 90px); }
.stat__label { position: relative; z-index: 1; max-width: 230px; color: var(--ink-soft); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }
.stat:nth-child(1) .stat__label { color: rgba(255,255,255,.64); }
.stat__link { position: relative; z-index: 1; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--ink); font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.stat:nth-child(1) .stat__link { border-color: rgba(255,255,255,.14); color: var(--white); }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.card {
  position: relative;
  display: flex;
  min-height: 410px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.34);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s;
}
.card:hover { z-index: 2; transform: translateY(-9px); box-shadow: var(--shadow); }
.card__image { position: relative; height: 245px; overflow: hidden; background: linear-gradient(135deg, #ced7cf, #9ab1ad); }
.card__image::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(11,23,24,.32)); content: ""; }
.card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .4s; }
.card:hover .card__image img { filter: saturate(1.1); transform: scale(1.045); }
.card__visual { position: relative; display: grid; height: 245px; place-items: center; overflow: hidden; background: #dbe1d4; }
.card__visual::before { width: 128px; height: 128px; border: 1px solid rgba(11,23,24,.35); border-radius: 50%; box-shadow: 0 0 0 28px rgba(11,23,24,.04), 0 0 0 56px rgba(11,23,24,.035); content: ""; }
.card__visual::after { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: var(--acid-dark); box-shadow: 70px -35px 0 var(--cyan), -65px 28px 0 var(--ink), 8px 72px 0 #fff; content: ""; animation: orbital 14s linear infinite; }
.card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.card__kicker { margin-bottom: 18px; color: var(--ink-soft); font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.card h3 { margin: 0 0 12px; font-size: clamp(20px, 2vw, 28px); letter-spacing: -.035em; line-height: 1.08; }
.card__subtitle { margin: auto 0 0; color: var(--ink-soft); font-size: 14px; }
.cards--people .card,
.archive-grid > .card[href^="/team/"] {
  display: grid;
  min-height: 292px;
  grid-template-columns: minmax(170px, 42%) minmax(0, 1fr);
  border-radius: 14px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 16px 40px rgba(5,16,17,.04);
}
.cards--people .card:hover,
.archive-grid > .card[href^="/team/"]:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 60px rgba(5,16,17,.12);
}
.cards--people .card__image,
.cards--people .card__visual,
.archive-grid > .card[href^="/team/"] .card__image,
.archive-grid > .card[href^="/team/"] .card__visual {
  width: 100%;
  height: 100%;
  min-height: 292px;
}
.cards--people .card__image::after,
.archive-grid > .card[href^="/team/"] .card__image::after {
  background: linear-gradient(90deg, transparent 72%, rgba(11,23,24,.12));
}
.cards--people .card__image img,
.archive-grid > .card[href^="/team/"] .card__image img {
  object-position: center top;
  filter: saturate(.78) contrast(1.02);
}
.cards--people .card:hover .card__image img,
.archive-grid > .card[href^="/team/"]:hover .card__image img {
  filter: saturate(1) contrast(1.02);
  transform: scale(1.025);
}
.cards--people .card__body,
.archive-grid > .card[href^="/team/"] .card__body {
  min-width: 0;
  padding: 28px 26px 25px;
}
.cards--people .card__kicker,
.archive-grid > .card[href^="/team/"] .card__kicker {
  margin-bottom: 24px;
  color: var(--acid-dark);
}
.cards--people .card h3,
.archive-grid > .card[href^="/team/"] h3 {
  margin-bottom: 18px;
  font-size: clamp(20px, 1.55vw, 26px);
  line-height: 1.03;
}
.cards--people .card__subtitle,
.archive-grid > .card[href^="/team/"] .card__subtitle {
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.45;
}

.ticker { overflow: hidden; border-block: 1px solid var(--line); background: var(--acid); }
.ticker__track { display: flex; width: max-content; animation: ticker 24s linear infinite; }
.ticker span { padding: 22px 34px; font-family: var(--mono); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ticker span::after { margin-left: 68px; content: "✳"; }

.archive-hero { padding: 90px 0 64px; border-bottom: 1px solid var(--line); }
.archive-hero__row { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.archive-hero__count { font-family: var(--mono); font-size: 12px; text-transform: uppercase; }
.filter-bar { position: sticky; z-index: 10; top: 0; padding: 16px 0; border-bottom: 1px solid var(--line); background: rgba(244,241,233,.88); backdrop-filter: blur(16px); }
.filter-bar__inner { display: flex; align-items: center; gap: 10px; overflow: auto; }
.filter-chip { flex: 0 0 auto; padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer; font-family: var(--mono); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.filter-chip.is-active, .filter-chip:hover { border-color: var(--ink); background: var(--ink); color: var(--white); }
.archive-content { padding: 60px 0 120px; }
.archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.archive-grid .card[hidden] { display: none; }
.empty-state { display: none; padding: 80px 0; text-align: center; }
.empty-state.is-visible { display: block; }

.archive-grid--equipment { gap: 28px 20px; }
.card--equipment { min-height: 560px; border: 0; border-radius: 10px; background: rgba(255,255,255,.58); box-shadow: 0 18px 52px rgba(5,16,17,.07); }
.card--equipment:hover { transform: translateY(-6px); box-shadow: 0 28px 72px rgba(5,16,17,.14); }
.card--equipment .card__image,
.equipment-card__visual { height: 260px; }
.card--equipment .card__image { padding: 20px; background: radial-gradient(circle at 78% 20%, rgba(169,197,195,.26), transparent 34%), linear-gradient(145deg, #fff, #e8ece6); }
.card--equipment .card__image::after { background: linear-gradient(180deg, transparent 72%, rgba(5,16,17,.08)); }
.card--equipment .card__image img { object-fit: contain; }
.equipment-card__visual { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 26px; overflow: hidden; background: var(--ink); color: var(--white); }
.equipment-card__visual::before { position: absolute; top: -42%; right: -15%; width: 78%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 0 0 42px rgba(169,197,195,.06), 0 0 0 84px rgba(183,194,163,.04); content: ""; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.card--equipment:hover .equipment-card__visual::before { transform: translate(-10px, 14px) scale(1.06); }
.equipment-card__visual span { position: relative; z-index: 1; color: var(--acid); font-family: var(--mono); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.equipment-card__visual strong { position: relative; z-index: 1; max-width: 86%; font-family: var(--mono); font-size: clamp(18px, 2vw, 30px); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; overflow-wrap: anywhere; }
.equipment-card__visual i { position: absolute; right: 26px; bottom: 28px; width: 12px; height: 12px; border-radius: 50%; background: var(--cyan); box-shadow: -24px 0 0 var(--acid); }
.card--equipment .card__body { padding: 28px 28px 24px; }
.card--equipment .card__kicker { margin-bottom: 14px; color: var(--acid-dark); }
.card--equipment h3 { margin-bottom: 18px; font-size: clamp(27px, 2.3vw, 38px); line-height: 1; }
.card--equipment .card__subtitle { display: -webkit-box; margin: 0; overflow: hidden; font-size: 13px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.equipment-card__link { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 22px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.equipment-card__link b { color: var(--acid-dark); font-size: 16px; }

.catalog-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 54px; }
.catalog-pagination[hidden] { display: none; }
.catalog-pagination__button { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; font-family: var(--mono); font-size: 11px; font-weight: 700; transition: border-color .2s, background .2s, color .2s, transform .2s; }
.catalog-pagination__button:hover:not(:disabled) { border-color: var(--ink); transform: translateY(-2px); }
.catalog-pagination__button[aria-current="page"] { border-color: var(--ink); background: var(--ink); color: var(--white); }
.catalog-pagination__button:disabled:not([aria-current]) { cursor: default; opacity: .28; }
.catalog-pagination__arrow { margin-inline: 8px; border-color: var(--ink); }

.publication-catalog { padding: 0 0 120px; }
.publication-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: clamp(38px, 5vw, 78px); align-items: start; }
.publication-filters { position: sticky; top: 22px; padding: 36px 0; }
.publication-filters__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.publication-filters__top > span,
.publication-search > span { color: var(--ink-soft); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.publication-reset { padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--ink); cursor: pointer; font-size: 12px; }
.publication-reset.is-active { color: var(--acid-dark); }
.publication-search { display: grid; gap: 10px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.publication-search input { width: 100%; padding: 13px 0; border: 0; border-bottom: 1px solid var(--ink); outline: 0; background: transparent; color: var(--ink); font: inherit; }
.publication-search input::placeholder { color: #929994; }
.publication-filters details { border-bottom: 1px solid var(--line); }
.publication-filters summary { display: flex; align-items: center; justify-content: space-between; padding: 21px 0; cursor: pointer; font-size: 15px; font-weight: 650; list-style: none; }
.publication-filters summary::-webkit-details-marker { display: none; }
.publication-filters summary::after { content: "+"; color: var(--acid-dark); font-family: var(--mono); font-size: 18px; font-weight: 400; }
.publication-filters details[open] summary::after { content: "−"; }
.publication-filters details > div { display: grid; gap: 2px; padding: 0 0 20px; }
.publication-filter { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; width: 100%; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--ink-soft); cursor: pointer; font: inherit; font-size: 12px; line-height: 1.35; text-align: left; transition: background .2s, color .2s; }
.publication-filter span { font-family: var(--mono); font-size: 10px; }
.publication-filter:hover { background: rgba(255,255,255,.56); color: var(--ink); }
.publication-filter.is-active { background: var(--ink); color: var(--white); }
.publication-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-right: 1px solid var(--line); }
.publication-card { position: relative; display: flex; min-height: 420px; flex-direction: column; padding: 30px; overflow: hidden; border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); background: rgba(255,255,255,.25); transition: background .3s, color .3s, transform .3s; }
.publication-card:nth-child(-n+2) { border-top: 1px solid var(--line); }
.publication-card::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--acid); content: ""; opacity: 0; transform: scaleX(0); transform-origin: left; transition: opacity .3s, transform .45s cubic-bezier(.2,.7,.2,1); }
.publication-card:hover { z-index: 2; background: var(--ink); color: var(--white); transform: translateY(-3px); }
.publication-card:hover::before { opacity: 1; transform: scaleX(1); }
.publication-card[hidden] { display: none; }
.publication-card__meta { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: start; margin-bottom: 44px; color: var(--ink-soft); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }
.publication-card__meta span:first-child { color: var(--acid-dark); }
.publication-card:hover .publication-card__meta { color: rgba(255,255,255,.55); }
.publication-card:hover .publication-card__meta span:first-child { color: var(--acid); }
.publication-card h2 { margin: 0 0 38px; font-size: clamp(23px, 2.15vw, 34px); letter-spacing: -.045em; line-height: 1.02; overflow-wrap: anywhere; }
.publication-card__authors { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }
.publication-card:hover .publication-card__authors { border-color: rgba(255,255,255,.16); }
.publication-card__authors > span { display: block; margin-bottom: 8px; color: var(--ink-soft); font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.publication-card__authors p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--ink-soft); font-size: 12px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.publication-card:hover .publication-card__authors > span,
.publication-card:hover .publication-card__authors p { color: rgba(255,255,255,.62); }
.publication-card__arrow { margin-top: 22px; color: var(--ink-soft); font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.publication-card:hover .publication-card__arrow { color: var(--acid); }

.publication-detail { padding: 92px 0 0; }
.publication-detail .back-link { margin-bottom: 54px; }
.publication-detail__hero { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: clamp(34px, 6vw, 104px); padding: 0 0 70px; border-bottom: 1px solid var(--ink); }
.publication-detail__number { display: flex; min-height: 220px; flex-direction: column; justify-content: space-between; padding: 20px 0 0; border-top: 4px solid var(--acid); }
.publication-detail__number span { color: var(--ink-soft); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.publication-detail__number strong { font-size: clamp(64px, 8vw, 118px); font-weight: 500; letter-spacing: -.08em; line-height: .8; }
.publication-detail__heading { min-width: 0; }
.publication-detail__meta { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-bottom: 30px; color: var(--ink-soft); font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.publication-detail__meta span:first-child { color: var(--acid-dark); }
.publication-detail__heading h1 { max-width: 1200px; margin: 0; font-size: clamp(42px, 6.3vw, 92px); letter-spacing: -.06em; line-height: .94; overflow-wrap: anywhere; }
.publication-detail__source { display: inline-flex; align-items: center; gap: 34px; margin-top: 40px; padding: 14px 18px; border: 1px solid var(--ink); border-radius: 999px; font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: background .2s, color .2s; }
.publication-detail__source:hover { background: var(--ink); color: var(--white); }
.publication-detail__source span { color: var(--acid-dark); font-size: 15px; }
.publication-detail__source:hover span { color: var(--acid); }
.publication-detail__facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .34fr); border-bottom: 1px solid var(--line); }
.publication-detail__fact { padding: 34px 34px 36px 0; }
.publication-detail__fact + .publication-detail__fact { padding-left: 34px; border-left: 1px solid var(--line); }
.publication-detail__fact > span { display: block; margin-bottom: 16px; color: var(--ink-soft); font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.publication-detail__fact p,
.publication-detail__fact a { margin: 0; font-size: 15px; line-height: 1.65; }
.publication-detail__fact a { text-decoration: underline; text-decoration-color: var(--acid-dark); text-underline-offset: 4px; overflow-wrap: anywhere; }
.publication-detail__abstract { display: grid; grid-template-columns: minmax(220px, .38fr) minmax(0, 1fr); gap: clamp(48px, 8vw, 140px); padding: 96px 0 120px; }
.publication-detail__abstract-title { align-self: start; position: sticky; top: 28px; }
.publication-detail__abstract-title h2 { margin: 14px 0 52px; font-size: clamp(42px, 5vw, 72px); letter-spacing: -.055em; line-height: .95; }
.publication-detail__abstract-title > span { color: var(--ink-soft); font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.publication-detail__copy { max-width: 930px; padding-top: 2px; font-size: clamp(18px, 1.7vw, 25px); line-height: 1.62; }
.publication-detail__copy p { margin: 0 0 1.55em; }
.publication-detail__copy p:first-child::first-letter { float: left; margin: .08em .12em 0 0; color: var(--acid-dark); font-size: 4.3em; font-weight: 600; line-height: .72; }
.publication-detail__footer { padding: 0 0 110px; }
.publication-detail__footer a { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font-size: clamp(22px, 3vw, 42px); font-weight: 560; letter-spacing: -.035em; }
.publication-detail__footer span { color: var(--acid-dark); }

.single-hero { padding: 100px 0 50px; }
.single-hero__grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: 60px; }
.single-hero h1 { margin: 12px 0 30px; font-size: clamp(48px, 7vw, 104px); letter-spacing: -.065em; line-height: .94; overflow-wrap: anywhere; }
.single-visual { min-height: 460px; overflow: hidden; border-radius: var(--radius); background: #dbe1d4; }
.single-visual img { width: 100%; height: 100%; object-fit: cover; }
.single-orbit { width: 100%; height: 100%; min-height: 460px; background: radial-gradient(circle at center, var(--acid) 0 7px, transparent 8px), repeating-radial-gradient(circle at center, transparent 0 48px, rgba(11,23,24,.12) 49px 50px), linear-gradient(135deg, #dbe1d4, #9fc6bf); }
.single-body { max-width: 880px; padding: 60px 0 120px; font-size: 20px; }
.single-body p { margin: 0 0 1.5em; }
.back-link { display: inline-flex; margin-bottom: 40px; font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.back-link:hover { color: var(--acid-dark); }

.about-hero { padding: 110px 0 100px; }
.about-hero__grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.about-photo { position: relative; overflow: hidden; border-radius: var(--radius); background: var(--ink); }
.about-photo img { width: 100%; min-height: 600px; object-fit: cover; filter: grayscale(.25); }
.about-photo::after { position: absolute; inset: 0; background: linear-gradient(135deg, transparent 40%, rgba(183,194,163,.25)); content: ""; }
.principles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 70px; background: var(--line); border: 1px solid var(--line); }
.principle { min-height: 260px; padding: 34px; background: var(--paper); }
.principle strong { display: block; margin-bottom: 42px; color: var(--acid-dark); font-family: var(--mono); font-size: 12px; }
.principle h3 { margin: 0 0 14px; font-size: 25px; line-height: 1.1; }

.lab-story { border-top: 1px solid var(--line); }
.lab-story__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(48px, 8vw, 140px); align-items: start; }
.lab-copy { display: grid; gap: 24px; color: var(--ink-soft); font-size: clamp(19px, 1.55vw, 25px); line-height: 1.55; }
.lab-copy p { margin: 0; }
.lab-research { overflow: hidden; background: var(--ink); color: var(--white); }
.lab-research .section-head > p, .lab-research__text { color: rgba(255,255,255,.65); }
.lab-research__text { max-width: 980px; margin: 52px 0 40px; font-size: clamp(20px, 2vw, 30px); }
.material-cloud { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; padding: 1px; list-style: none; background: rgba(255,255,255,.14); }
.material-cloud li { min-height: 120px; padding: 26px; background: var(--ink); font-size: 18px; line-height: 1.3; }
.material-cloud li::before { display: block; margin-bottom: 22px; color: var(--acid); content: "✳"; }
.lab-achievements { background: var(--paper-2); }
.lab-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 70px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lab-stats > div { min-height: 250px; padding: 34px 28px; }
.lab-stats > div + div { border-left: 1px solid var(--line); }
.lab-stats strong { display: block; color: var(--acid-dark); font-size: clamp(68px, 8vw, 128px); letter-spacing: -.08em; line-height: .9; }
.lab-stats span { display: block; max-width: 190px; margin-top: 34px; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.lab-gallery { padding-block: 72px; }
.lab-gallery__frame { position: relative; min-height: 460px; overflow: hidden; border-radius: var(--radius); background: var(--ink); }
.lab-gallery__frame > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; filter: saturate(.68) contrast(1.08); }
.lab-gallery__frame::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,16,17,.68), rgba(5,16,17,.03) 62%), linear-gradient(0deg, rgba(5,16,17,.32), transparent 45%); content: ""; }
.lab-gallery__frame > div { position: absolute; z-index: 1; bottom: 28px; left: 28px; display: grid; max-width: 480px; padding: 22px 24px; border-left: 2px solid var(--acid); background: rgba(5,16,17,.68); color: var(--white); backdrop-filter: blur(8px); }
.lab-gallery__frame span { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; }
.lab-gallery__frame strong { margin: 8px 0 10px; font-size: clamp(36px, 4vw, 58px); letter-spacing: -.055em; line-height: .92; }
.lab-gallery__frame p { max-width: 420px; margin: 0; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.35; }
.lab-team { border-top: 1px solid var(--line); }
.lab-location iframe { display: block; width: 100%; min-height: 600px; border: 0; filter: grayscale(1) contrast(.9); }
.source-link { display: inline-flex; margin-top: 28px; padding: 13px 18px; border: 1px solid var(--line); border-radius: 999px; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.source-link:hover { border-color: var(--ink); background: var(--ink); color: var(--white); }
.single-body p + p { margin-top: 1.2em; }

.profile-hero { padding-bottom: 120px; }
.profile-hero .single-hero__grid { padding-bottom: 72px; }
.profile-hero .single-visual img { object-position: center top; }
.profile-stats { display: grid; max-width: 720px; grid-template-columns: repeat(3, 1fr); margin-top: 56px; border-block: 1px solid var(--line); }
.profile-stats > div, .profile-stats > a { min-width: 0; padding: 20px 20px 20px 0; transition: background .25s, padding .25s; }
.profile-stats > div + div, .profile-stats > a + a { padding-left: 20px; border-left: 1px solid var(--line); }
.profile-stats > a:hover { padding-left: 14px; background: rgba(169,197,195,.12); }
.profile-stats strong { display: block; font-size: clamp(34px, 4vw, 58px); font-weight: 550; letter-spacing: -.06em; line-height: 1; }
.profile-stats span { color: var(--ink-soft); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.profile-overview { display: grid; grid-template-columns: 1.25fr .75fr .75fr; border-block: 1px solid var(--line); }
.profile-panel { min-width: 0; padding: 42px 36px; }
.profile-panel:first-child { padding-left: 0; }
.profile-panel + .profile-panel { border-left: 1px solid var(--line); }
.profile-panel .eyebrow { margin-bottom: 26px; }
.profile-panel ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.profile-panel li { color: var(--ink-soft); font-size: 14px; line-height: 1.4; }
.profile-panel li::before { margin-right: 9px; color: var(--acid-dark); content: "✳"; }
.profile-panel a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
.profile-interests p { margin: 0; font-size: clamp(21px, 2vw, 30px); line-height: 1.35; }
.profile-section { padding-top: 96px; }
.profile-section__head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px 30px; margin-bottom: 36px; }
.profile-section__head .eyebrow { grid-column: 1 / -1; margin: 0; }
.profile-section__head h2 { margin: 0; font-size: clamp(42px, 6vw, 78px); letter-spacing: -.06em; line-height: .95; }
.profile-section__head > span { color: var(--ink-soft); font-family: var(--mono); font-size: 13px; }
.profile-achievements { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.profile-achievements li { display: grid; grid-template-columns: 74px minmax(0, 1fr); padding: 22px 0; border-bottom: 1px solid var(--line); }
.profile-achievements span { color: var(--acid-dark); font-family: var(--mono); font-size: 11px; }
.profile-achievements p { max-width: 1050px; margin: 0; font-size: 17px; line-height: 1.5; }
.profile-related { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.profile-related-card { display: grid; min-height: 230px; padding: 26px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.48); transition: transform .3s, background .3s; }
.profile-related-card:hover { background: var(--white); transform: translateY(-4px); }
.profile-related-card > span { color: var(--acid-dark); font-family: var(--mono); font-size: 11px; }
.profile-related-card strong { align-self: end; font-size: clamp(20px, 2vw, 28px); line-height: 1.08; }
.profile-related-card small { margin-top: 14px; color: var(--ink-soft); }
.profile-publication-list { border-top: 1px solid var(--line); }
.profile-publication-list > a,
.profile-publication-list > div { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; align-items: start; gap: 20px; padding: 19px 0; border-bottom: 1px solid var(--line); transition: padding .25s, background .25s; }
.profile-publication-list > a:hover { padding-inline: 14px; background: rgba(255,255,255,.54); }
.profile-publication-list span { color: var(--ink-soft); font-family: var(--mono); font-size: 10px; }
.profile-publication-list strong { font-size: 15px; font-weight: 520; line-height: 1.35; }
.profile-publication-list i { color: var(--ink-soft); font-family: var(--mono); font-size: 10px; font-style: normal; text-transform: uppercase; }

.contact-grid { display: grid; grid-template-columns: minmax(380px, .85fr) minmax(0, 1.15fr); min-height: 650px; overflow: hidden; background: var(--ink); }
.contact-panel { min-width: 0; padding: 80px max(32px, 6vw); overflow: hidden; background: var(--ink); color: var(--white); }
.contact-panel .section-title { max-width: 9ch; font-size: clamp(42px, 4.75vw, 76px); overflow-wrap: break-word; }
.contact-list { display: grid; gap: 32px; margin-top: 70px; }
.contact-item span { display: block; margin-bottom: 8px; color: rgba(255,255,255,.45); font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.contact-item a, .contact-item p { margin: 0; font-size: clamp(20px, 2vw, 30px); line-height: 1.25; }
.contact-map { min-height: 650px; border: 0; filter: grayscale(1) contrast(.92); }
.contact-visual { display: grid; min-width: 0; min-height: 650px; padding: 56px; overflow: hidden; place-items: center; background: repeating-radial-gradient(circle at center, transparent 0 54px, rgba(11,23,24,.12) 55px 56px), linear-gradient(135deg, #cbd8cf, #74aaa5); }
.contact-visual > div { display: grid; width: min(440px, 100%); max-width: 100%; min-width: 0; aspect-ratio: 1; padding: 52px; border: 1px solid rgba(11,23,24,.35); border-radius: 50%; place-content: center; text-align: center; }
.contact-visual span { font-family: var(--mono); font-size: 12px; letter-spacing: .12em; }
.contact-visual strong { max-width: 100%; margin-top: 20px; font-size: clamp(34px, 5vw, 70px); letter-spacing: -.06em; line-height: 1; overflow-wrap: anywhere; }
.contact-visual p { color: var(--ink-soft); }

.site-footer { padding: 80px 0 28px; background: #061112; color: var(--white); }
.site-footer__top { display: grid; grid-template-columns: 1.3fr .7fr; gap: 70px; padding-bottom: 80px; }
.site-footer h2 { max-width: 800px; margin: 0; font-size: clamp(44px, 6vw, 90px); letter-spacing: -.06em; line-height: .95; }
.footer-links { display: grid; align-content: end; gap: 12px; }
.footer-links a { color: rgba(255,255,255,.68); }
.footer-links a:hover { color: var(--acid); }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.45); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.footer-credit { display: inline-flex; align-items: center; gap: 14px; margin-left: auto; color: rgba(255,255,255,.5); transition: color .25s; }
.footer-credit img { width: 58px; height: auto; object-fit: contain; transition: transform .3s, filter .3s; }
.footer-credit:hover, .footer-credit:focus-visible { color: var(--acid); }
.footer-credit:hover img, .footer-credit:focus-visible img { filter: drop-shadow(0 0 16px rgba(183,194,163,.24)); transform: translateY(-3px); }

[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@keyframes orbital { to { transform: rotate(360deg); } }
@keyframes ticker { to { transform: translateX(-50%); } }
@keyframes atom-orbit-a { from { transform: rotate(0deg) scaleY(.36); } to { transform: rotate(360deg) scaleY(.36); } }
@keyframes atom-orbit-b { from { transform: rotate(60deg) scaleY(.36); } to { transform: rotate(420deg) scaleY(.36); } }
@keyframes atom-orbit-c { from { transform: rotate(120deg) scaleY(.36); } to { transform: rotate(480deg) scaleY(.36); } }
@keyframes nucleus-pulse { 50% { box-shadow: 0 0 0 16px rgba(183,194,163,.06), 0 0 54px rgba(183,194,163,.58); transform: translate(-50%,-50%) scale(1.12); } }
@keyframes lattice-drift { to { background-position: 34px 30px, 34px 30px, 34px 30px; } }
@keyframes molecule-float { 0%, 100% { transform: scale(var(--science-scale)); } 50% { transform: translate(-8px, 7px) rotate(-2deg) scale(var(--science-scale)); } }
@keyframes particle-pulse { 50% { box-shadow: 0 0 0 9px rgba(11,23,24,.03); transform: scale(1.18); } }

@media (max-width: 1180px) {
  .site-header__inner { grid-template-columns: 1fr auto auto; }
  .site-nav { position: fixed; inset: 0; display: grid; width: 100vw; height: 100dvh; justify-self: stretch; place-items: center; background: var(--paper); opacity: 0; pointer-events: none; transform: translateY(-20px); transition: opacity .25s, transform .25s; }
  .menu-open .site-nav { opacity: 1; pointer-events: auto; transform: none; }
  .site-nav__list { flex-direction: column; gap: 17px; }
  .site-nav a { min-height: 52px; padding: 0 18px; font-size: clamp(26px, 5vw, 48px); letter-spacing: -.04em; }
  .site-nav a::after { right: 18px; bottom: 3px; left: 18px; }
  .nav-toggle { position: relative; z-index: 3; display: block; }
  .menu-open .nav-toggle > span:not(.screen-reader-text) { opacity: 0; }
  .menu-open .nav-toggle::before { transform: translateY(6px) rotate(45deg); }
  .menu-open .nav-toggle::after { transform: translateY(-6px) rotate(-45deg); }
  .directions, .archive-grid, .cards { grid-template-columns: repeat(2, 1fr); }
  #lab .directions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #lab .direction, #lab .direction:nth-child(1), #lab .direction:nth-child(2), #lab .direction:nth-child(6) { min-height: 340px; grid-column: auto; }
  .material-cloud { grid-template-columns: repeat(2, 1fr); }
  .lab-stats { grid-template-columns: repeat(2, 1fr); }
  .lab-stats > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .lab-stats > div:nth-child(4) { border-top: 1px solid var(--line); }
  .publication-layout { grid-template-columns: 260px minmax(0, 1fr); gap: 36px; }
  .publication-grid { grid-template-columns: 1fr; }
  .publication-card:nth-child(2) { border-top: 0; }
}

@media (max-width: 980px) {
  .stat__science--molecule { --science-scale: .72; top: 20px; right: 7px; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-panel { padding: 72px max(24px, 7vw); }
  .contact-panel .section-title { max-width: 12ch; }
  .contact-visual { min-height: 540px; padding: 40px; }
  .profile-overview { grid-template-columns: 1fr 1fr; }
  .profile-panel--wide { grid-column: 1 / -1; padding-left: 0; border-bottom: 1px solid var(--line); }
  .profile-panel:nth-child(2) { padding-left: 0; border-left: 0; }
  .publication-layout { grid-template-columns: 1fr; }
  .publication-filters { position: static; padding-bottom: 8px; }
  .publication-filters details > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .publication-detail__hero { grid-template-columns: 120px minmax(0, 1fr); gap: 34px; }
  .publication-detail__number { min-height: 180px; }
  .publication-detail__abstract { grid-template-columns: 1fr; gap: 46px; padding-top: 72px; }
  .publication-detail__abstract-title { position: static; }
  .publication-detail__abstract-title h2 { margin-bottom: 0; }
  .publication-detail__abstract-title > span { display: none; }
}

@media (max-width: 760px) {
  :root { --container: calc(100% - 32px); --radius: 18px; }
  body { font-size: 16px; }
  .site-header__inner { min-height: 72px; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .brand__logo { width: min(190px, calc(100vw - 96px)); }
  .nav-toggle { width: 44px; height: 44px; flex: 0 0 auto; }
  .header-contact { display: none; }
  .display { max-width: 100%; font-size: clamp(44px, 14.2vw, 68px); line-height: .92; overflow-wrap: anywhere; }
  .section-title { max-width: 100%; font-size: clamp(35px, 10.5vw, 48px); letter-spacing: -.045em; line-height: .98; }
  .lead { max-width: 100%; font-size: clamp(18px, 5.3vw, 22px); line-height: 1.38; }
  .eyebrow { max-width: 100%; font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
  .eyebrow::before { flex: 0 0 28px; }
  .button { max-width: 100%; padding-inline: 20px; text-align: center; }
  .hero { padding-top: 74px; }
  .hero__bottom, .section-head, .archive-hero__row, .single-hero__grid, .about-hero__grid, .contact-grid, .site-footer__top, .lab-story__grid { display: grid; grid-template-columns: 1fr; }
  .hero__bottom { gap: 28px; margin-top: 44px; }
  .hero__meta { order: 2; }
  .science-window { padding-bottom: 84px; }
  .science-window__frame { min-height: 0; grid-template-columns: 1fr; border-radius: var(--radius); }
  .science-window__content { padding: 42px 24px 46px; }
  .science-window__content h2 { max-width: 10ch; margin-top: 10px; font-size: clamp(38px, 11vw, 50px); }
  .science-window__content > p:not(.eyebrow) { font-size: 16px; }
  .science-window__tags { margin: 28px 0 32px; }
  .science-window__visual { min-height: 390px; order: -1; }
  .science-window__image { min-height: 390px; }
  .science-window__visual figcaption { right: 18px; bottom: 18px; left: 18px; }
  .section { padding: 84px 0; }
  .directions, .archive-grid, .cards, .principles { grid-template-columns: 1fr; }
  #lab .section-head { grid-template-columns: 1fr; gap: 28px; padding-bottom: 38px; }
  #lab .section-head > p { padding: 0; border-left: 0; font-size: 16px; }
  #lab .directions { grid-template-columns: 1fr; gap: 12px; }
  #lab .direction, #lab .direction:nth-child(1), #lab .direction:nth-child(2), #lab .direction:nth-child(6) { min-height: 300px; padding: 24px; border-left: 1px solid rgba(255,255,255,.14); }
  #lab .direction h3 { margin-top: 58px; font-size: clamp(24px, 8vw, 31px); }
  .direction__number { width: 44px; height: 44px; margin-bottom: auto; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .stat:nth-child(1), .stat:nth-child(4) { min-height: 330px; grid-column: 1 / -1; grid-row: auto; }
  .stat:nth-child(2), .stat:nth-child(3) { min-height: 260px; grid-column: auto; }
  .stat { padding: 22px; }
  .stat:nth-child(n+2) strong { font-size: clamp(48px, 16vw, 70px); }
  .stat__link { margin-top: 22px; }
  .archive-hero { padding: 64px 0 50px; }
  .archive-hero__row { gap: 30px; }
  .archive-grid .card { min-height: 360px; }
  .card--equipment { min-height: 520px !important; }
  .card--equipment .card__image,
  .equipment-card__visual { height: 230px; }
  .catalog-pagination { flex-wrap: wrap; margin-top: 40px; }
  .catalog-pagination__button { width: 42px; height: 42px; }
  .catalog-pagination__arrow { margin-inline: 0; }
  .publication-filters details > div { grid-template-columns: 1fr; }
  .publication-grid { border-right: 0; }
  .publication-card { min-height: 360px; padding: 24px 20px; border-right: 1px solid var(--line); }
  .publication-card h2 { font-size: clamp(21px, 6.4vw, 25px); }
  .publication-detail { padding-top: 62px; }
  .publication-detail .back-link { margin-bottom: 34px; }
  .publication-detail__hero { grid-template-columns: 1fr; gap: 36px; padding-bottom: 46px; }
  .publication-detail__number { min-height: 0; flex-direction: row; align-items: end; padding-top: 14px; }
  .publication-detail__number strong { font-size: 62px; }
  .publication-detail__heading h1 { font-size: clamp(36px, 10.4vw, 52px); letter-spacing: -.05em; }
  .publication-detail__source { justify-content: space-between; width: 100%; }
  .publication-detail__facts { grid-template-columns: 1fr; }
  .publication-detail__fact { padding: 28px 0; }
  .publication-detail__fact + .publication-detail__fact { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .publication-detail__abstract { gap: 32px; padding: 62px 0 76px; }
  .publication-detail__abstract-title h2 { font-size: 44px; }
  .publication-detail__copy { font-size: 18px; line-height: 1.58; }
  .publication-detail__footer { padding-bottom: 76px; }
  .cards--people .card,
  .archive-grid > .card[href^="/team/"] { min-height: 250px; grid-template-columns: minmax(104px, 34%) minmax(0, 1fr); }
  .cards--people .card__image,
  .cards--people .card__visual,
  .archive-grid > .card[href^="/team/"] .card__image,
  .archive-grid > .card[href^="/team/"] .card__visual { min-height: 250px; }
  .cards--people .card__body,
  .archive-grid > .card[href^="/team/"] .card__body { padding: 22px 18px 20px; }
  .cards--people .card__kicker,
  .archive-grid > .card[href^="/team/"] .card__kicker { margin-bottom: 16px; }
  .cards--people .card h3,
  .archive-grid > .card[href^="/team/"] h3 { font-size: 19px; }
  .single-hero { padding-top: 64px; }
  .single-hero h1 { font-size: clamp(40px, 12vw, 56px); letter-spacing: -.05em; }
  .single-visual { min-height: 360px; }
  .profile-hero { padding-bottom: 84px; }
  .profile-hero .single-hero__grid { padding-bottom: 52px; }
  .profile-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 38px; }
  .profile-stats > div, .profile-stats > a { min-width: 0; padding: 18px 10px 18px 0; }
  .profile-stats > div + div, .profile-stats > a + a { padding-left: 10px; }
  .profile-stats strong { font-size: clamp(30px, 9vw, 42px); }
  .profile-stats span { font-size: 8px; overflow-wrap: anywhere; }
  .profile-overview { grid-template-columns: 1fr; }
  .profile-panel, .profile-panel:first-child, .profile-panel:nth-child(2) { grid-column: auto; padding: 32px 0; border-bottom: 1px solid var(--line); border-left: 0; }
  .profile-panel:last-child { border-bottom: 0; }
  .profile-section { padding-top: 70px; }
  .profile-section__head { grid-template-columns: minmax(0, 1fr); }
  .profile-section__head h2 { font-size: clamp(36px, 11vw, 52px); overflow-wrap: anywhere; }
  .profile-achievements li { grid-template-columns: 46px minmax(0, 1fr); gap: 10px; }
  .profile-related { grid-template-columns: 1fr; }
  .profile-related-card { min-height: 190px; }
  .profile-publication-list > a,
  .profile-publication-list > div { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; }
  .profile-publication-list i { display: none; }
  .about-hero { padding: 64px 0 76px; }
  .about-hero__grid { gap: 36px; }
  .about-photo img { min-height: 350px; }
  .material-cloud { grid-template-columns: 1fr; }
  .lab-stats { grid-template-columns: 1fr; }
  .lab-stats > div + div, .lab-stats > div:nth-child(3), .lab-stats > div:nth-child(4) { border-top: 1px solid var(--line); border-left: 0; }
  .lab-stats > div { min-height: 210px; }
  .lab-gallery { padding-block: 54px; }
  .lab-gallery__frame { min-height: 380px; border-radius: 0; }
  .lab-gallery__frame > div { right: 16px; bottom: 16px; left: 16px; padding: 18px 20px; }
  .lab-gallery__frame strong { font-size: clamp(34px, 11vw, 46px); overflow-wrap: anywhere; }
  .lab-gallery__frame p { font-size: 14px; }
  .lab-location iframe { min-height: 480px; }
  .contact-grid { gap: 0; }
  .contact-panel { padding: 64px 24px; }
  .contact-panel .section-title { font-size: clamp(38px, 11vw, 50px); }
  .contact-list { gap: 28px; margin-top: 54px; }
  .contact-item a, .contact-item p { font-size: 18px; overflow-wrap: anywhere; }
  .contact-visual { min-height: 430px; padding: 24px; }
  .contact-visual > div { padding: 34px; }
  .contact-map { min-height: 480px; }
  .site-footer__top { gap: 50px; }
  .site-footer__bottom { flex-direction: column; }
  .footer-credit { margin-left: 0; }
}

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

/* Full-screen laboratory navigation */

.site-nav__visual, .site-nav__meta { display: none; }

@media (max-width: 1180px) {
  .site-header { position: sticky; }
  .site-nav {
    position: fixed;
    z-index: 2;
    inset: 0;
    display: grid;
    width: 100vw;
    height: 100dvh;
    grid-template-columns: minmax(0, 1.05fr) minmax(290px, .7fr);
    grid-template-rows: minmax(0, 1fr) auto;
    align-items: end;
    gap: 38px 7vw;
    padding: clamp(118px, 14vh, 160px) max(36px, calc((100vw - var(--container)) / 2)) 34px;
    overflow: hidden auto;
    background:
      linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
      linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
      radial-gradient(circle at 78% 36%, rgba(169,197,195,.11), transparent 26rem),
      var(--ink);
    background-size: 64px 64px, 64px 64px, auto, auto;
    color: var(--white);
    opacity: 0;
    pointer-events: none;
    transform: none;
    clip-path: inset(0 0 100% 0);
    transition: opacity .28s, clip-path .55s cubic-bezier(.75,0,.22,1);
  }
  .site-nav::before {
    position: absolute;
    top: 86px;
    left: max(36px, calc((100vw - var(--container)) / 2));
    color: var(--cyan);
    content: "SINTERLAB / НАВИГАЦИЯ";
    font: 700 9px/1 var(--mono);
    letter-spacing: .18em;
  }
  .site-nav::after {
    position: absolute;
    top: 106px;
    right: max(120px, calc((100vw - var(--container)) / 2 + 96px));
    left: max(36px, calc((100vw - var(--container)) / 2));
    height: 1px;
    background: linear-gradient(90deg, var(--cyan), rgba(255,255,255,.15) 36%, var(--acid) 70%, transparent);
    content: "";
  }
  .menu-open .site-nav { opacity: 1; pointer-events: auto; clip-path: inset(0); }
  .menu-open .brand { position: relative; z-index: 3; filter: brightness(0) invert(1); }
  .menu-open .nav-toggle { border-color: rgba(255,255,255,.35); color: var(--white); }
  .menu-open .nav-toggle::before, .menu-open .nav-toggle::after { background: var(--white); }
  .site-nav__list {
    display: grid;
    align-self: stretch;
    align-content: center;
    gap: 0;
    margin: 0;
    counter-reset: nav-item;
  }
  .site-nav__list li {
    counter-increment: nav-item;
    border-top: 1px solid rgba(255,255,255,.13);
    opacity: 0;
    transform: translateX(-28px);
    transition: opacity .35s, transform .45s cubic-bezier(.2,.7,.2,1);
  }
  .site-nav__list li:last-child { border-bottom: 1px solid rgba(255,255,255,.13); }
  .menu-open .site-nav__list li { opacity: 1; transform: none; }
  .menu-open .site-nav__list li:nth-child(2) { transition-delay: .04s; }
  .menu-open .site-nav__list li:nth-child(3) { transition-delay: .08s; }
  .menu-open .site-nav__list li:nth-child(4) { transition-delay: .12s; }
  .menu-open .site-nav__list li:nth-child(5) { transition-delay: .16s; }
  .menu-open .site-nav__list li:nth-child(6) { transition-delay: .20s; }
  .menu-open .site-nav__list li:nth-child(7) { transition-delay: .24s; }
  .site-nav a {
    display: grid;
    min-height: clamp(58px, 7.2vh, 78px);
    grid-template-columns: 46px minmax(0,1fr) auto;
    align-items: center;
    padding: 0 16px 0 0;
    border-radius: 0;
    color: rgba(255,255,255,.76);
    font-family: var(--sans);
    font-size: clamp(28px, 4vw, 52px);
    font-weight: 560;
    letter-spacing: -.045em;
    text-transform: none;
    transition: padding .28s, background .28s, color .28s;
  }
  .site-nav a::before {
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    border-radius: 0;
    background: transparent;
    color: var(--cyan);
    content: "0" counter(nav-item);
    font: 700 9px/1 var(--mono);
    letter-spacing: .12em;
    opacity: 1;
    transform: none;
  }
  .site-nav a::after {
    position: static;
    width: 28px;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: var(--acid);
    content: "↗";
    font: 400 22px/1 var(--mono);
    opacity: 0;
    transform: translate(-10px,10px);
    transition: opacity .25s, transform .25s;
  }
  .site-nav a:hover, .site-nav a:focus-visible { padding-left: 16px; background: rgba(255,255,255,.055); color: var(--white); }
  .site-nav a:hover::after, .site-nav a:focus-visible::after, .site-nav a.is-current::after,
  .site-nav .current-menu-item > a::after, .site-nav .current-menu-ancestor > a::after { opacity: 1; transform: none; }
  .site-nav a.is-current, .site-nav .current-menu-item > a, .site-nav .current-menu-ancestor > a,
  .site-nav .current_page_item > a, .site-nav .current_page_ancestor > a {
    padding-left: 16px;
    background: var(--acid);
    color: var(--ink);
  }
  .site-nav a.is-current::before, .site-nav .current-menu-item > a::before,
  .site-nav .current-menu-ancestor > a::before { color: var(--ink); }
  .site-nav a.is-current::after, .site-nav .current-menu-item > a::after,
  .site-nav .current-menu-ancestor > a::after { color: var(--ink); }
  .site-nav__visual {
    position: relative;
    display: grid;
    width: min(34vw, 420px);
    aspect-ratio: 1;
    align-self: center;
    justify-self: center;
    place-items: center;
    border: 1px solid rgba(169,197,195,.22);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(169,197,195,.035), 0 0 0 84px rgba(183,194,163,.02);
  }
  .site-nav__visual::before, .site-nav__visual::after {
    position: absolute;
    width: 104%;
    height: 34%;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    content: "";
    animation: reactor-spin 16s linear infinite;
  }
  .site-nav__visual::after { transform: rotate(62deg); animation-direction: reverse; animation-duration: 21s; }
  .site-nav__visual i { position: absolute; inset: 18%; border: 1px dashed rgba(255,255,255,.22); border-radius: 50%; animation: reactor-spin 20s linear infinite; }
  .site-nav__visual i:nth-child(2) { inset: 34%; border-style: solid; border-color: rgba(183,194,163,.45); animation-direction: reverse; }
  .site-nav__visual i:nth-child(3) { inset: auto; width: 12px; height: 12px; border: 0; background: var(--acid); box-shadow: 90px -74px 0 var(--cyan), -112px 42px 0 var(--spectral); }
  .site-nav__visual b { color: var(--white); font: 700 11px/1.1 var(--mono); letter-spacing: .18em; }
  .site-nav__meta {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: 22px 48px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.13);
    color: rgba(255,255,255,.45);
    font: 700 9px/1.55 var(--mono);
    letter-spacing: .11em;
    text-transform: uppercase;
  }
  .site-nav__meta a {
    display: inline-flex;
    min-height: 0;
    grid-template-columns: none;
    padding: 0;
    color: rgba(255,255,255,.72);
    font: inherit;
    letter-spacing: inherit;
    text-transform: uppercase;
  }
  .site-nav__meta a::before, .site-nav__meta a::after { display: none; }
  .site-nav__meta a:hover { padding: 0; background: transparent; color: var(--acid); }
  .site-nav__meta a:last-child { margin-left: auto; }
  .nav-toggle { position: relative; z-index: 4; }
}
@media (max-width: 700px) {
  .site-nav {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0,1fr) auto;
    gap: 18px;
    padding: 104px 18px 20px;
  }
  .site-nav::before { top: 76px; left: 18px; }
  .site-nav::after { top: 96px; right: 80px; left: 18px; }
  .site-nav__list { align-content: center; }
  .site-nav a { min-height: clamp(54px, 8.2vh, 68px); grid-template-columns: 34px minmax(0,1fr) auto; font-size: clamp(25px, 8.6vw, 38px); }
  .site-nav__visual { display: none; }
  .site-nav__meta { display: grid; grid-column: 1; grid-template-columns: 1fr 1fr; gap: 12px; padding-top: 16px; }
  .site-nav__meta span { grid-column: 1 / -1; }
  .site-nav__meta a:last-child { margin-left: 0; text-align: right; }
}


/*    SINTERLAB 3.0 — scientific visual system
   Material structure, spectroscopy, synthesis and instrumentation
   ───────────────────────────────────────────────────────────── */
:root {
  --ink: #071718;
  --ink-2: #0d2425;
  --ink-soft: #496061;
  --paper: #f2f0e8;
  --paper-2: #e3e9df;
  --white: #fbfaf3;
  --acid: #b7c2a3;
  --acid-dark: #6e7e5f;
  --cyan: #a9c5c3;
  --spectral: #c99785;
  --line: rgba(7,23,24,.18);
  --shadow: 0 34px 90px rgba(4,19,20,.16);
  --radius: 8px;
}
body {
  background: var(--paper);
  background-image: linear-gradient(rgba(7,23,24,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(7,23,24,.025) 1px, transparent 1px);
  background-size: 48px 48px;
}
.molecular-field { position: fixed; z-index: 0; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .2; mix-blend-mode: multiply; }
.site-shell { position: relative; z-index: 1; }
.container { width: min(1480px, calc(100vw - 72px)); }
.eyebrow { color: inherit; letter-spacing: .17em; }
.eyebrow::before { width: 38px; background: currentColor; box-shadow: 12px 0 0 -1px var(--acid-dark); }
.display, .section-title { text-wrap: balance; }
.button { position: relative; overflow: hidden; border-radius: 4px; background: rgba(255,255,255,.12); }
.button::before { position: absolute; inset: 0; background: var(--ink); content: ""; transform: translateX(-102%); transition: transform .38s cubic-bezier(.2,.8,.2,1); }
.button::after { position: relative; }
.button:hover::before { transform: translateX(0); }
.button:hover { background: transparent; }
.button > span { position: relative; }

.site-header { position: sticky; top: 0; background: rgba(242,240,232,.78); backdrop-filter: blur(22px) saturate(1.25); }
.site-header::before { position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan) 28%, var(--acid) 62%, transparent); content: ""; opacity: .55; }
.site-header__inner { min-height: 82px; grid-template-columns: 230px 1fr auto; }
.brand__logo { width: 220px; }
.site-nav__list { gap: clamp(4px, 1vw, 18px); }
.site-nav a { padding: 0 8px; font-family: var(--mono); font-size: 10px; letter-spacing: .045em; text-transform: uppercase; }
.site-nav a::before { width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: var(--acid-dark); content: ""; opacity: 0; transform: scale(0); transition: .25s; }
.site-nav a.is-current::before, .site-nav a:hover::before { opacity: 1; transform: scale(1); }
.site-nav a.is-current { background: transparent; }
.site-nav a::after { bottom: -24px; right: 0; left: 0; height: 3px; }
.header-contact { padding: 9px 11px; border: 1px solid var(--line); border-radius: 4px; }

.hero { min-height: calc(100vh - 82px); padding: clamp(78px, 8vw, 128px) 0 62px; overflow: hidden; background: linear-gradient(115deg, rgba(242,240,232,.96) 0 52%, rgba(220,233,225,.75) 100%); }
.hero::before { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 1px), rgba(7,23,24,.06) calc(12.5% - 1px) 12.5%); content: ""; pointer-events: none; }
.hero::after { top: auto; right: -18vw; bottom: -56vw; width: 92vw; max-width: none; border-color: rgba(7,23,24,.09); opacity: .8; }
.hero .container { position: relative; }
.hero__signal { display: flex; width: min(560px, 42vw); align-items: center; gap: 12px; margin: 0 0 44px auto; color: var(--ink-soft); font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.hero__signal i { flex: 1; height: 18px; background: linear-gradient(90deg, transparent, var(--cyan) 28%, var(--acid) 29% 31%, transparent 32% 42%, var(--spectral) 43% 44%, transparent 45% 65%, var(--cyan) 66% 67%, transparent 68%); clip-path: polygon(0 48%, 24% 48%, 25% 10%, 26% 90%, 27% 48%, 49% 48%, 50% 0, 51% 100%, 52% 48%, 100% 48%, 100% 54%, 52% 54%, 51% 100%, 50% 0, 49% 54%, 27% 54%, 26% 90%, 25% 10%, 24% 54%, 0 54%); animation: spectrum-shift 6s ease-in-out infinite; }
.hero__title { position: relative; z-index: 2; max-width: 9ch; font-size: clamp(68px, 9.5vw, 156px); font-weight: 590; letter-spacing: -.08em; line-height: .79; }
.hero__title .accent { color: transparent; -webkit-text-stroke: 2px var(--ink); text-shadow: 7px 7px 0 rgba(169,197,195,.38); }
.hero__bottom { position: relative; z-index: 2; max-width: 950px; grid-template-columns: 240px 1fr; margin-top: 78px; }
.hero__intro { font-size: clamp(19px, 1.55vw, 25px); }
.hero-reactor { position: absolute; z-index: 1; top: 42px; right: -6vw; width: min(43vw, 650px); aspect-ratio: 1; border: 1px solid rgba(7,23,24,.15); border-radius: 50%; background: radial-gradient(circle, rgba(183,194,163,.95) 0 7px, rgba(183,194,163,.16) 8px 32px, transparent 33px), repeating-radial-gradient(circle, transparent 0 74px, rgba(7,23,24,.09) 75px 76px); }
.hero-reactor::before, .hero-reactor::after { position: absolute; top: 50%; left: 50%; width: 104%; height: 34%; border: 1px solid rgba(7,23,24,.24); border-radius: 50%; content: ""; transform: translate(-50%,-50%) rotate(23deg); }
.hero-reactor::after { transform: translate(-50%,-50%) rotate(-37deg); }
.hero-reactor__ring { position: absolute; inset: 14%; border: 1px solid rgba(7,23,24,.28); border-radius: 50%; animation: reactor-spin 15s linear infinite; }
.hero-reactor__ring--b { inset: 27%; border-style: dashed; animation-duration: 19s; animation-direction: reverse; }
.hero-reactor__ring--c { inset: 40%; border-color: var(--acid-dark); animation-duration: 9s; }
.hero-reactor__node { position: absolute; width: 16px; height: 16px; border: 3px solid var(--paper); border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 1px var(--ink), 0 0 26px rgba(7,23,24,.26); }
.hero-reactor__node--1 { top: 13%; left: 46%; background: var(--cyan); }
.hero-reactor__node--2 { top: 47%; right: 7%; background: var(--acid); }
.hero-reactor__node--3 { bottom: 10%; left: 34%; background: var(--spectral); }
.hero-reactor__node--4 { top: 36%; left: 19%; }
.hero-reactor > b { position: absolute; top: 50%; left: 50%; color: var(--ink); font: 700 10px/1.1 var(--mono); letter-spacing: .18em; transform: translate(-45%,-45%); }

.science-window { margin-top: -1px; padding-bottom: 0; }
.science-window__frame { min-height: 720px; grid-template-columns: minmax(390px,.72fr) minmax(0,1.28fr); border-radius: 0; box-shadow: none; }
.science-window__frame::after { position: absolute; z-index: 3; top: 22px; right: 22px; width: 70px; height: 70px; border-top: 1px solid var(--acid); border-right: 1px solid var(--acid); content: ""; }
.science-window__content { padding: clamp(48px,5vw,84px); background: linear-gradient(145deg, rgba(13,36,37,.94), rgba(7,23,24,1)); }
.science-window__content h2 { font-size: clamp(48px,5.1vw,82px); }
.science-window__visual, .science-window__image { min-height: 720px; }
.science-window__visual::before { position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg, rgba(7,23,24,.5), transparent 30%), repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 5px); content: ""; mix-blend-mode: screen; opacity: .32; }

.ticker { border: 0; background: var(--acid); transform: rotate(-1deg) scale(1.02); }
.ticker span::after { content: "●—●"; }
.section { position: relative; padding: clamp(92px,10vw,152px) 0; }
.section--ink { background: var(--ink); }
.molecular-stage::after { position: absolute; inset: 0; background: radial-gradient(circle at var(--pointer-x,72%) var(--pointer-y,28%), rgba(169,197,195,.11), transparent 24rem); content: ""; pointer-events: none; }
#lab .section-head { border-bottom: 0; }
.directions { position: relative; z-index: 1; gap: 1px; background: rgba(255,255,255,.13); }
.direction, .direction:nth-child(1), .direction:nth-child(2), .direction:nth-child(6) { min-height: 330px; border: 0; border-radius: 0; background: var(--ink); }
.direction:nth-child(1), .direction:nth-child(4) { background: linear-gradient(145deg, rgba(169,197,195,.13), var(--ink) 66%); }
.direction:nth-child(2), .direction:nth-child(5) { background: linear-gradient(145deg, rgba(183,194,163,.11), var(--ink) 66%); }
.direction:nth-child(6) { grid-column: span 4; }
.direction:nth-child(6) h3 { margin-top: 74px; }
.direction::before { top: auto; right: -44px; bottom: -80px; border-radius: 48% 52% 45% 55%; box-shadow: 0 0 0 26px rgba(169,197,195,.024), 0 0 0 52px rgba(183,194,163,.018); }
.direction:hover { border-color: transparent; background-color: var(--ink-2); transform: translateY(-3px); }
.direction h3 { font-size: clamp(26px,2.2vw,38px); }

.ecosystem { background: linear-gradient(145deg, var(--paper), #dfe9e2); }
.stats { gap: 1px; background: var(--line); }
.stat { border: 0; border-radius: 0; background: var(--paper); }
.stat:nth-child(1) { background: var(--ink); }
.stat:nth-child(2) { background: #d9f0ea; }
.stat:nth-child(3) { background: #e7f0c6; }
.stat:nth-child(4) { background: var(--white); }

.cards, .archive-grid { gap: 14px; }
.card { border-radius: 2px; background: rgba(251,250,243,.76); box-shadow: none; }
.card::before { position: absolute; z-index: 4; top: 12px; right: 12px; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: -18px 0 0 var(--acid); content: ""; }
.card::after { position: absolute; z-index: 4; right: 0; bottom: 0; width: 46px; height: 46px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); content: ""; opacity: .28; }
.card:hover { transform: translateY(-5px); }
.card__image { height: 300px; background: #d5dfd9; }
.card__body { padding: 28px; }
.card__kicker { color: var(--acid-dark); }
.card h3 { font-size: clamp(24px,2.2vw,36px); }
.cards--people .card, .archive-grid > .card[href^="/team/"] { min-height: 430px; grid-template-columns: minmax(190px,46%) minmax(0,1fr); border-radius: 2px; background: var(--white); }
.cards--people .card__image, .cards--people .card__visual, .archive-grid > .card[href^="/team/"] .card__image, .archive-grid > .card[href^="/team/"] .card__visual { min-height: 430px; }
.cards--people .card__image::before, .archive-grid > .card[href^="/team/"] .card__image::before { position: absolute; z-index: 2; right: 16px; bottom: 16px; width: 78px; height: 78px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; box-shadow: 0 0 0 12px rgba(169,197,195,.12), 0 0 0 24px rgba(183,194,163,.08); content: ""; }
.cards--people .card__image,
.archive-grid > .card[href^="/team/"] .card__image { padding-top: 26px; background: linear-gradient(145deg,#fff 0 62%,#e3eee8 100%); }
.cards--people .card__image img,
.archive-grid > .card[href^="/team/"] .card__image img { height: calc(100% - 26px); object-position: center top; }

.archive-hero { position: relative; min-height: 510px; padding: 116px 0 80px; overflow: hidden; background: var(--ink); color: var(--white); }
.archive-hero::before { position: absolute; inset: 0; background: radial-gradient(circle at 77% 46%, rgba(183,194,163,.92) 0 6px, transparent 7px), repeating-radial-gradient(circle at 77% 46%, transparent 0 52px, rgba(169,197,195,.13) 53px 54px), linear-gradient(105deg, transparent 0 54%, rgba(169,197,195,.05) 54%); content: ""; animation: archive-pulse 8s ease-in-out infinite; }
.archive-hero::after { position: absolute; right: 4vw; bottom: 42px; width: 36vw; height: 68px; background: linear-gradient(90deg, transparent, var(--cyan) 15% 16%, transparent 17% 28%, var(--acid) 29% 31%, transparent 32% 62%, var(--spectral) 63% 64%, transparent 65%); clip-path: polygon(0 49%,12% 49%,13% 20%,14% 80%,15% 49%,43% 49%,44% 0,45% 100%,46% 49%,100% 49%,100% 53%,46% 53%,45% 100%,44% 0,43% 53%,15% 53%,14% 80%,13% 20%,12% 53%,0 53%); content: ""; opacity: .72; }
.archive-hero .container { position: relative; z-index: 1; }
.archive-hero .lead { color: rgba(255,255,255,.58); }
.archive-hero .section-title { max-width: 14ch; font-size: clamp(62px,8vw,122px); overflow-wrap: normal; word-break: normal; }
.archive-hero__count { align-self: flex-start; padding: 12px 14px; border: 1px solid rgba(255,255,255,.24); color: var(--acid); }
.filter-bar, .publication-filters { background: rgba(242,240,232,.9); backdrop-filter: blur(20px); }
.filter-chip, .publication-filter { border-radius: 2px; }
.archive-content { padding-top: 42px; }
.archive-grid--equipment { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.card--equipment { min-height: 430px; display: grid; grid-template-columns: 48% 52%; border: 1px solid var(--line); border-radius: 2px; box-shadow: none; }
.card--equipment .card__image, .equipment-card__visual { width: 100%; height: 100%; min-height: 430px; }
.card--equipment .card__image { padding: 30px; background: radial-gradient(circle at 30% 20%, rgba(169,197,195,.26), transparent 36%), #e8ece6; }
.card--equipment .card__body { padding: 34px; }
.card--equipment h3 { font-size: clamp(30px,3vw,50px); }

.publication-layout { grid-template-columns: 290px minmax(0,1fr); }
.publication-grid { gap: 12px; border: 0; }
.publication-card { min-height: 390px; border: 1px solid var(--line); background: rgba(251,250,243,.68); }
.publication-card:nth-child(-n+2) { border-top: 1px solid var(--line); }
.publication-card::after { position: absolute; top: 22px; right: 22px; width: 56px; height: 56px; border: 1px solid rgba(7,23,24,.16); border-radius: 50%; box-shadow: inset 0 0 0 12px rgba(169,197,195,.04); content: ""; }
.publication-card:hover { background: var(--ink); transform: translateY(-4px) rotate(.15deg); }

.single-hero, .profile-hero { position: relative; overflow: hidden; background: linear-gradient(145deg, var(--paper), #e1ebe3); }
.single-hero::before, .profile-hero::before { position: absolute; top: -18vw; right: -9vw; width: 52vw; aspect-ratio: 1; border: 1px solid rgba(7,23,24,.12); border-radius: 50%; box-shadow: 0 0 0 58px rgba(169,197,195,.04),0 0 0 116px rgba(183,194,163,.025); content: ""; }
.single-hero__grid { position: relative; z-index: 1; }
.single-visual { position: relative; border-radius: 2px; box-shadow: 22px 22px 0 rgba(169,197,195,.19); }
.single-visual::after { position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.6); content: ""; pointer-events: none; }
.single-body { max-width: 1040px; }
.publication-detail__hero { position: relative; }
.publication-detail__hero::after { position: absolute; right: 0; bottom: -1px; width: 34%; height: 4px; background: linear-gradient(90deg,var(--cyan),var(--acid),var(--spectral)); content: ""; }
.publication-detail__number { border-top-color: var(--cyan); }

.about-hero { position: relative; overflow: hidden; }
.about-hero::before { position: absolute; top: 6%; right: -10%; width: 48vw; height: 48vw; border: 1px solid rgba(7,23,24,.1); border-radius: 50%; box-shadow: 0 0 0 54px rgba(169,197,195,.04),0 0 0 108px rgba(183,194,163,.025); content: ""; }
.about-photo, .lab-gallery__frame { border-radius: 2px; }
.principles { gap: 12px; border: 0; background: transparent; }
.principle { position: relative; overflow: hidden; border: 1px solid var(--line); }
.principle::after { position: absolute; right: -45px; bottom: -45px; width: 120px; height: 120px; border: 1px solid rgba(7,23,24,.12); border-radius: 50%; content: ""; }
.material-cloud { gap: 12px; padding: 0; background: transparent; }
.material-cloud li { position: relative; border: 1px solid rgba(255,255,255,.13); }
.material-cloud li::after { position: absolute; right: 16px; bottom: 16px; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: -14px 0 0 var(--acid); content: ""; }

.site-footer { position: relative; overflow: hidden; border-top: 0; background: var(--ink); color: var(--white); }
.site-footer::before { position: absolute; right: -120px; bottom: -170px; width: 560px; height: 560px; border: 1px solid rgba(169,197,195,.12); border-radius: 50%; box-shadow: 0 0 0 52px rgba(169,197,195,.025),0 0 0 104px rgba(183,194,163,.018); content: ""; animation: reactor-spin 34s linear infinite; }
.site-footer .container { position: relative; z-index: 1; }
.site-footer__top h2 { max-width: 8ch; color: var(--white); }
.footer-links a { color: rgba(255,255,255,.72); }
.footer-links a:hover { color: var(--acid); }
.site-footer__bottom { border-color: rgba(255,255,255,.14); color: rgba(255,255,255,.5); }
.footer-credit { color: var(--white); }

[data-reveal] { transform: translateY(34px) scale(.985); }
[data-reveal].is-visible { transform: none; }
.hero [data-reveal] { opacity: 1; transform: none; animation: none; }
@keyframes reactor-spin { to { transform: rotate(360deg); } }
@keyframes spectrum-shift { 0%,100% { transform: scaleX(.92); opacity: .6; } 50% { transform: scaleX(1); opacity: 1; } }
@keyframes archive-pulse { 0%,100% { transform: scale(1); opacity: .8; } 50% { transform: scale(1.025); opacity: 1; } }

@media (max-width: 1180px) {
  .site-header__inner { grid-template-columns: 205px 1fr auto; }
  .header-contact { display: none; }
  .hero-reactor { right: -14vw; opacity: .68; }
  .archive-grid--equipment { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .container { width: min(100% - 40px,1480px); }
  .hero { min-height: auto; padding-top: 70px; }
  .hero__signal { width: 100%; margin-bottom: 52px; }
  .hero-reactor { top: 120px; right: -34vw; width: 76vw; opacity: .35; }
  .hero__title { font-size: clamp(62px,14vw,104px); }
  .hero__bottom { grid-template-columns: 1fr; }
  .science-window__frame { grid-template-columns: 1fr; }
  .science-window__visual, .science-window__image { min-height: 520px; }
  .direction, .direction:nth-child(1), .direction:nth-child(2), .direction:nth-child(6) { grid-column: span 6; }
  .cards--people .card, .archive-grid > .card[href^="/team/"] { grid-template-columns: 42% 58%; }
  .publication-layout { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .container { width: min(100% - 28px,1480px); }
  .site-header__inner { min-height: 70px; }
  .brand__logo { width: 180px; }
  .hero { min-height: 760px; padding-top: 54px; }
  .hero__signal { width: 100%; margin-bottom: 44px; }
  .hero__signal b { display: none; }
  .hero__title { font-size: clamp(48px,13.4vw,58px); line-height: .86; }
  .hero__title .accent { -webkit-text-stroke-width: 1px; text-shadow: 4px 4px 0 rgba(169,197,195,.4); }
  .hero__bottom { margin-top: 56px; gap: 30px; }
  .hero-reactor { top: auto; right: -38vw; bottom: -16vw; width: 92vw; opacity: .34; }
  .science-window__frame { min-height: 0; }
  .science-window__content { padding: 46px 26px 54px; }
  .science-window__content h2 { font-size: 44px; }
  .science-window__visual, .science-window__image { min-height: 390px; }
  .direction, .direction:nth-child(1), .direction:nth-child(2), .direction:nth-child(6) { min-height: 300px; grid-column: 1/-1; }
  .stats { display: grid; grid-template-columns: 1fr; grid-template-rows: none; }
  .stat, .stat:nth-child(1), .stat:nth-child(2), .stat:nth-child(3), .stat:nth-child(4) { min-height: 280px; grid-column: 1; grid-row: auto; }
  .cards--people .card, .archive-grid > .card[href^="/team/"] { min-height: 0; grid-template-columns: 1fr; }
  .cards--people .card__image, .cards--people .card__visual, .archive-grid > .card[href^="/team/"] .card__image, .archive-grid > .card[href^="/team/"] .card__visual { min-height: 390px; }
  .archive-hero { min-height: 430px; padding-top: 80px; }
  .archive-hero .section-title { max-width: 100%; font-size: clamp(42px,12vw,52px); overflow-wrap: anywhere; }
  .archive-hero__row { align-items: flex-start; }
  .archive-hero__row > div { min-width: 0; }
  .archive-hero__count { position: static; align-self: flex-start; margin-top: 4px; white-space: nowrap; }
  .card--equipment { display: flex; min-height: 0; }
  .card--equipment .card__image, .equipment-card__visual { min-height: 330px; height: 330px; }
  .publication-card { min-height: 350px; }
}

/* Navigation cascade lock — must remain after component styles. */
@media (max-width: 1180px) {
  .site-nav__list { display: grid; align-self: stretch; align-content: center; flex-direction: initial; gap: 0; margin: 0; counter-reset: nav-item; }
  .site-nav a {
    display: grid;
    min-height: clamp(58px,7.2vh,78px);
    grid-template-columns: 46px minmax(0,1fr) auto;
    align-items: center;
    padding: 0 16px 0 0;
    border-radius: 0;
    color: rgba(255,255,255,.76);
    font-family: var(--sans);
    font-size: clamp(28px,4vw,52px);
    font-weight: 560;
    letter-spacing: -.045em;
    text-transform: none;
  }
  .site-nav a::before {
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    border-radius: 0;
    background: transparent;
    color: var(--cyan);
    content: "0" counter(nav-item);
    font: 700 9px/1 var(--mono);
    letter-spacing: .12em;
    opacity: 1;
    transform: none;
  }
  .site-nav a::after {
    position: static;
    width: 28px;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: var(--acid);
    content: "↗";
    font: 400 22px/1 var(--mono);
    opacity: 0;
    transform: translate(-10px,10px);
  }
  .site-nav a:hover, .site-nav a:focus-visible { padding-left: 16px; background: rgba(255,255,255,.055); color: var(--white); }
  .site-nav a:hover::after, .site-nav a:focus-visible::after, .site-nav a.is-current::after,
  .site-nav .current-menu-item > a::after, .site-nav .current-menu-ancestor > a::after { opacity: 1; transform: none; }
  .site-nav a.is-current, .site-nav .current-menu-item > a, .site-nav .current-menu-ancestor > a,
  .site-nav .current_page_item > a, .site-nav .current_page_ancestor > a { padding-left: 16px; background: var(--acid); color: var(--ink); }
  .site-nav a.is-current::before, .site-nav .current-menu-item > a::before,
  .site-nav .current-menu-ancestor > a::before, .site-nav a.is-current::after,
  .site-nav .current-menu-item > a::after, .site-nav .current-menu-ancestor > a::after { color: var(--ink); }
  .site-nav__meta a {
    display: inline-flex;
    min-height: 0;
    grid-template-columns: none;
    padding: 0;
    color: rgba(255,255,255,.72);
    font: inherit;
    letter-spacing: inherit;
    text-transform: uppercase;
  }
  .site-nav__meta a::before, .site-nav__meta a::after { display: none; }
  .site-nav__meta a:hover { padding: 0; background: transparent; color: var(--acid); }
}
@media (max-width: 700px) {
  .site-nav a { min-height: clamp(54px,8.2vh,68px); grid-template-columns: 34px minmax(0,1fr) auto; font-size: clamp(25px,8.6vw,38px); }
  .site-nav__meta a {
    display: inline-flex;
    min-height: 0;
    grid-template-columns: none;
    padding: 0;
    font: 700 8px/1.35 var(--mono);
    letter-spacing: .08em;
  }
}

/* Contacts — molecular communication field. */
.contact-lab {
  position: relative;
  display: grid;
  min-height: calc(100svh - 78px);
  grid-template-columns: minmax(360px,.82fr) minmax(560px,1.18fr);
  grid-template-rows: minmax(610px,1fr) auto;
  overflow: clip;
  isolation: isolate;
  background: #061516;
  color: var(--white);
}
.contact-lab::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size: 64px 64px;
  content: "";
  mask-image: linear-gradient(to bottom,#000 75%,transparent);
}
.contact-lab__intro {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(76px,8vw,126px) clamp(34px,6vw,104px);
  border-right: 1px solid rgba(255,255,255,.12);
}
.contact-lab__intro::after { position: absolute; top: 14%; right: -4px; width: 7px; height: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 24px var(--acid); content: ""; animation: contact-pulse 2.8s ease-in-out infinite; }
.contact-lab__intro .eyebrow { color: var(--cyan); }
.contact-lab__intro h1 { margin: 30px 0 0; font-size: clamp(58px,6.8vw,118px); font-weight: 650; letter-spacing: -.075em; line-height: .78; }
.contact-lab__intro h1 em { color: var(--acid); font-style: normal; text-shadow: 0 0 32px rgba(183,194,163,.18); }
.contact-lab__lead { max-width: 520px; margin: 46px 0 0; color: rgba(255,255,255,.58); font-size: clamp(16px,1.35vw,21px); line-height: 1.55; }
.contact-lab__status { display: flex; align-items: center; gap: 12px; margin-top: 44px; color: rgba(255,255,255,.7); font: 700 9px/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.contact-lab__status i { width: 8px; height: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 6px rgba(183,194,163,.08),0 0 18px rgba(183,194,163,.6); animation: contact-pulse 2s ease-in-out infinite; }
.contact-molecule { position: relative; min-width: 0; min-height: 610px; overflow: hidden; background: radial-gradient(circle at 53% 49%,rgba(169,197,195,.16),transparent 13rem),radial-gradient(circle at 72% 20%,rgba(255,112,91,.08),transparent 16rem),linear-gradient(145deg,#0b2222,#071718 74%); }
.contact-molecule::before,.contact-molecule::after { position: absolute; border: 1px solid rgba(169,197,195,.16); border-radius: 50%; content: ""; }
.contact-molecule::before { width: min(74vw,760px); aspect-ratio: 1; top: 50%; left: 52%; transform: translate(-50%,-50%); box-shadow: 0 0 0 74px rgba(169,197,195,.025),0 0 0 148px rgba(169,197,195,.018); animation: contact-breathe 6s ease-in-out infinite; }
.contact-molecule::after { width: min(38vw,410px); aspect-ratio: 1; top: 50%; left: 52%; border-style: dashed; transform: translate(-50%,-50%); animation: contact-spin 28s linear infinite; }
.contact-molecule svg { position: absolute; z-index: 1; width: 94%; height: 94%; inset: 3%; overflow: visible; filter: drop-shadow(0 0 13px rgba(169,197,195,.14)); }
.contact-molecule__bonds { fill: none; stroke: rgba(171,225,219,.38); stroke-width: 2; stroke-dasharray: 8 11; animation: contact-flow 18s linear infinite; }
.contact-molecule__atoms circle { fill: #a9c5c3; stroke: rgba(255,255,255,.66); stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: contact-atom 4.8s ease-in-out infinite; }
.contact-molecule__atoms circle:nth-child(3n) { fill: var(--acid); animation-delay: -1.7s; }
.contact-molecule__atoms circle:nth-child(4n) { fill: #c99785; animation-delay: -3.1s; }
.contact-molecule__atoms circle:nth-child(5n) { fill: #f7f5ed; animation-delay: -2.3s; }
.contact-molecule__orbit { position: absolute; z-index: 3; width: min(28vw,330px); aspect-ratio: 1; top: 50%; left: 52%; border: 1px solid rgba(255,255,255,.23); border-radius: 50%; pointer-events: none; }
.contact-molecule__orbit i { position: absolute; width: 11px; height: 11px; top: 50%; left: -6px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); }
.contact-molecule__orbit--a { transform: translate(-50%,-50%) rotate(31deg); animation: contact-orbit-a 10s linear infinite; }
.contact-molecule__orbit--b { transform: translate(-50%,-50%) rotate(112deg) scaleY(.38); animation: contact-orbit-b 7.5s linear infinite reverse; }
.contact-molecule__orbit--b i { background: var(--acid); box-shadow: 0 0 18px var(--acid); }
.contact-molecule__core { position: absolute; z-index: 4; display: grid; width: 176px; aspect-ratio: 1; top: 50%; left: 52%; padding: 22px; border: 1px solid rgba(183,194,163,.52); border-radius: 50%; place-content: center; text-align: center; transform: translate(-50%,-50%); background: rgba(6,21,22,.74); box-shadow: 0 0 0 12px rgba(183,194,163,.025),0 0 70px rgba(169,197,195,.16); backdrop-filter: blur(8px); }
.contact-molecule__core span,.contact-molecule__core small { color: rgba(255,255,255,.56); font: 700 8px/1.3 var(--mono); letter-spacing: .1em; }
.contact-molecule__core strong { margin: 9px 0; color: var(--white); font-size: 48px; letter-spacing: -.1em; line-height: .65; }
.contact-molecule__formula { position: absolute; z-index: 5; padding: 7px 10px; border: 1px solid rgba(255,255,255,.12); background: rgba(6,21,22,.6); color: rgba(255,255,255,.62); font: 700 10px/1 var(--mono); letter-spacing: .08em; backdrop-filter: blur(6px); animation: contact-label 5s ease-in-out infinite; }
.contact-molecule__formula--a { top: 16%; left: 12%; }
.contact-molecule__formula--b { right: 9%; bottom: 16%; animation-delay: -2s; }
.contact-molecule__formula--c { top: 25%; right: 12%; animation-delay: -3.4s; }
.contact-molecule__scan { position: absolute; z-index: 2; width: 100%; height: 1px; left: 0; background: linear-gradient(90deg,transparent,var(--acid),transparent); box-shadow: 0 0 16px rgba(183,194,163,.55); opacity: .55; animation: contact-scan 7s ease-in-out infinite; }
.contact-channels { position: relative; z-index: 6; display: grid; grid-column: 1/-1; grid-template-columns: repeat(3,minmax(0,1fr)) minmax(320px,1.35fr); border-top: 1px solid rgba(255,255,255,.14); background: rgba(5,17,18,.94); }
.contact-channel { position: relative; display: grid; min-width: 0; min-height: 154px; grid-template-columns: 1fr auto; align-content: space-between; gap: 28px 16px; padding: 27px 30px; overflow: hidden; border-right: 1px solid rgba(255,255,255,.12); color: var(--white); }
.contact-channel::before { position: absolute; z-index: -1; inset: auto 0 0; height: 100%; background: var(--acid); content: ""; transform: scaleY(0); transform-origin: bottom; transition: transform .38s cubic-bezier(.2,.75,.25,1); }
a.contact-channel:hover::before,a.contact-channel:focus-visible::before { transform: scaleY(1); }
.contact-channel > span { grid-column: 1/-1; color: var(--cyan); font: 700 9px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.contact-channel strong,.contact-channel__address { min-width: 0; margin: 0; align-self: end; font-size: clamp(17px,1.6vw,25px); font-weight: 550; letter-spacing: -.035em; line-height: 1.15; overflow-wrap: anywhere; }
.contact-channel > i { align-self: end; color: var(--acid); font: normal 22px/1 var(--mono); }
a.contact-channel:hover,a.contact-channel:focus-visible,a.contact-channel:hover > span,a.contact-channel:focus-visible > span,a.contact-channel:hover > i,a.contact-channel:focus-visible > i { color: var(--ink); }
.contact-channel--address { grid-template-columns: minmax(0,1fr) auto; }
.contact-channel--address > a { align-self: end; color: var(--acid); font: 700 9px/1.3 var(--mono); letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.contact-channel__address p { margin: 0; font: inherit; }
@keyframes contact-flow { to { stroke-dashoffset: -190; } }
@keyframes contact-atom { 0%,100% { transform: scale(1); } 50% { transform: scale(1.22); } }
@keyframes contact-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes contact-breathe { 0%,100% { opacity: .55; transform: translate(-50%,-50%) scale(.96); } 50% { opacity: 1; transform: translate(-50%,-50%) scale(1.035); } }
@keyframes contact-orbit-a { to { transform: translate(-50%,-50%) rotate(391deg); } }
@keyframes contact-orbit-b { to { transform: translate(-50%,-50%) rotate(472deg) scaleY(.38); } }
@keyframes contact-label { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes contact-scan { 0%,100% { top: 8%; opacity: 0; } 15%,85% { opacity: .55; } 50% { top: 90%; } }
@keyframes contact-pulse { 50% { opacity: .35; transform: scale(.72); } }
@media (max-width: 980px) {
  .contact-lab { grid-template-columns: 1fr; grid-template-rows: auto 600px auto; }
  .contact-lab__intro { min-height: 600px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .contact-molecule { min-height: 600px; }
  .contact-channels { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-channel:nth-child(2n) { border-right: 0; }
  .contact-channel:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
}
@media (max-width: 600px) {
  .contact-lab { grid-template-rows: auto 470px auto; }
  .contact-lab__intro { min-height: 560px; padding: 80px 22px 58px; }
  .contact-lab__intro h1 { font-size: clamp(50px,15.6vw,66px); }
  .contact-lab__lead { margin-top: 34px; }
  .contact-molecule { min-height: 470px; }
  .contact-molecule svg { width: 116%; height: 116%; inset: -8%; }
  .contact-molecule::before { width: 440px; }
  .contact-molecule::after { width: 260px; }
  .contact-molecule__orbit { width: 220px; }
  .contact-molecule__core { width: 138px; padding: 16px; }
  .contact-molecule__core strong { font-size: 38px; }
  .contact-molecule__formula--b { right: 4%; bottom: 10%; }
  .contact-channels { grid-template-columns: 1fr; }
  .contact-channel { min-height: 138px; border-right: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .contact-channel:first-child { border-top: 0; }
  .contact-channel--address { min-height: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-lab *, .contact-lab *::before, .contact-lab *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Laboratory results — animated research dashboard. */
.lab-achievements {
  position: relative;
  overflow: hidden;
  padding-block: 110px;
  background: radial-gradient(circle at 88% 18%,rgba(169,197,195,.12),transparent 23rem),linear-gradient(135deg,#061516,#0a2020 65%,#071718);
  color: var(--white);
}
.lab-achievements::before { position: absolute; width: 560px; aspect-ratio: 1; top: -280px; right: -120px; border: 1px solid rgba(169,197,195,.16); border-radius: 50%; box-shadow: 0 0 0 72px rgba(169,197,195,.025),0 0 0 144px rgba(183,194,163,.018); content: ""; animation: result-breathe 7s ease-in-out infinite; }
.lab-achievements::after { position: absolute; width: 8px; height: 8px; top: 92px; right: 18%; border-radius: 50%; background: var(--acid); box-shadow: -180px 78px 0 var(--cyan),110px 170px 0 #c99785; content: ""; animation: result-pulse 3s ease-in-out infinite; }
.lab-achievements .container { position: relative; z-index: 1; }
.lab-achievements__head { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); align-items: end; gap: clamp(48px,8vw,140px); }
.lab-achievements .eyebrow { color: var(--cyan); }
.lab-achievements .section-title { max-width: none; margin-top: 24px; color: var(--white); font-size: clamp(64px,7.7vw,132px); line-height: .78; }
.lab-achievements .section-title em { color: var(--acid); font-style: normal; text-shadow: 0 0 38px rgba(183,194,163,.18); }
.lab-achievements__brief { position: relative; min-height: 230px; padding: 34px 0 0 34px; border-top: 1px solid rgba(255,255,255,.17); border-left: 1px solid rgba(255,255,255,.17); }
.lab-achievements__brief > p { position: relative; z-index: 2; max-width: 580px; margin: 0; color: rgba(255,255,255,.62); font-size: clamp(16px,1.35vw,20px); line-height: 1.55; }
.lab-achievements__molecule { position: absolute; right: 14px; bottom: -20px; width: 220px; height: 118px; opacity: .8; }
.lab-achievements__molecule::before,.lab-achievements__molecule::after { position: absolute; height: 1px; background: rgba(169,197,195,.45); content: ""; transform-origin: left; }
.lab-achievements__molecule::before { width: 190px; top: 56px; left: 15px; transform: rotate(-13deg); box-shadow: 0 33px 0 rgba(255,255,255,.18); }
.lab-achievements__molecule::after { width: 120px; top: 22px; left: 48px; transform: rotate(31deg); box-shadow: 58px 39px 0 rgba(183,194,163,.32); }
.lab-achievements__molecule i { position: absolute; z-index: 2; width: 14px; height: 14px; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; background: var(--cyan); box-shadow: 0 0 18px rgba(169,197,195,.45); animation: result-atom 4s ease-in-out infinite; }
.lab-achievements__molecule i:nth-child(1) { top: 50px; left: 8px; }
.lab-achievements__molecule i:nth-child(2) { top: 10px; left: 72px; width: 22px; height: 22px; background: var(--acid); animation-delay: -.8s; }
.lab-achievements__molecule i:nth-child(3) { top: 61px; left: 126px; width: 10px; height: 10px; background: #fff; animation-delay: -1.6s; }
.lab-achievements__molecule i:nth-child(4) { top: 28px; right: 8px; width: 18px; height: 18px; background: #c99785; animation-delay: -2.3s; }
.lab-achievements__molecule i:nth-child(5) { bottom: 5px; left: 58px; width: 10px; height: 10px; background: #fff; animation-delay: -3.1s; }
.lab-achievements__molecule i:nth-child(6) { right: 42px; bottom: 10px; width: 16px; height: 16px; background: var(--cyan); animation-delay: -1.1s; }
.lab-achievements .lab-stats { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1px; margin-top: 82px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.14); }
.lab-achievements .lab-stats > div { position: relative; display: flex; min-height: 300px; flex-direction: column; justify-content: space-between; padding: 26px 28px 30px; overflow: hidden; border: 0; color: var(--ink); transition: transform .35s cubic-bezier(.2,.75,.25,1),filter .35s; }
.lab-achievements .lab-stats > div:hover { z-index: 2; transform: translateY(-8px); filter: saturate(1.08); }
.lab-achievements .lab-stats > div:nth-child(1) { grid-column: span 4; background: var(--acid); }
.lab-achievements .lab-stats > div:nth-child(2) { grid-column: span 8; background: #a6dcd8; }
.lab-achievements .lab-stats > div:nth-child(3) { grid-column: span 7; background: #f5f3e9; }
.lab-achievements .lab-stats > div:nth-child(4) { grid-column: span 5; background: #ff7867; }
.lab-achievements .lab-stats > div::before { position: absolute; width: 220px; aspect-ratio: 1; right: -72px; bottom: -98px; border: 1px solid currentColor; border-radius: 50%; box-shadow: 0 0 0 30px rgba(255,255,255,.1),0 0 0 60px rgba(5,16,17,.035); content: ""; opacity: .26; transition: transform .6s; }
.lab-achievements .lab-stats > div::after { position: absolute; width: 10px; height: 10px; right: 114px; bottom: 96px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 8px rgba(255,255,255,.22); content: ""; animation: result-pulse 3.2s ease-in-out infinite; }
.lab-achievements .lab-stats > div:hover::before { transform: rotate(35deg) scale(1.08); }
.lab-achievements .lab-stats b { font: 700 9px/1 var(--mono); letter-spacing: .12em; }
.lab-achievements .lab-stats strong { position: relative; z-index: 1; margin-top: auto; color: inherit; font-size: clamp(82px,9vw,146px); line-height: .68; transform-origin: left bottom; transition: transform .35s; }
.lab-achievements .lab-stats > div:hover strong { transform: scale(1.04); }
.lab-achievements .lab-stats span { position: relative; z-index: 1; max-width: 300px; margin-top: 28px; color: inherit; font: 700 clamp(15px,1.25vw,20px)/1.15 var(--sans); letter-spacing: -.025em; text-transform: none; }
.lab-achievements .lab-stats small { position: absolute; top: 27px; right: 26px; font: 700 8px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; opacity: .62; }
@keyframes result-atom { 50% { transform: translateY(-8px) scale(1.18); } }
@keyframes result-pulse { 50% { opacity: .35; transform: scale(.72); } }
@keyframes result-breathe { 50% { opacity: .48; transform: scale(1.04); } }
@media (max-width: 900px) {
  .lab-achievements { padding-block: 82px; }
  .lab-achievements__head { grid-template-columns: 1fr; }
  .lab-achievements__brief { min-height: 210px; }
  .lab-achievements .lab-stats > div:nth-child(n) { grid-column: span 6; }
}
@media (max-width: 600px) {
  .lab-achievements { padding-block: 64px; }
  .lab-achievements .section-title { font-size: clamp(52px,16vw,68px); }
  .lab-achievements__brief { min-height: 245px; padding: 26px 0 0 20px; }
  .lab-achievements__molecule { right: -20px; transform: scale(.82); transform-origin: right bottom; }
  .lab-achievements .lab-stats { margin-top: 52px; }
  .lab-achievements .lab-stats > div:nth-child(n) { grid-column: 1/-1; min-height: 246px; }
  .lab-achievements .lab-stats strong { font-size: 92px; }
}
@media (prefers-reduced-motion: reduce) {
  .lab-achievements *, .lab-achievements *::before, .lab-achievements *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Laboratory story — living scientific lineage. */
.lab-story { position: relative; overflow: hidden; padding-block: 96px; border-top: 0; background: linear-gradient(145deg,#e9eee5,#d9e5de 62%,#edf0e8); }
.lab-story::before { position: absolute; width: 660px; aspect-ratio: 1; right: -300px; top: 120px; border: 1px solid rgba(7,23,24,.09); border-radius: 50%; box-shadow: 0 0 0 82px rgba(7,23,24,.022),0 0 0 164px rgba(7,23,24,.018); content: ""; animation: story-breathe 8s ease-in-out infinite; }
.lab-story .container { position: relative; z-index: 1; }
.lab-story__grid { display: grid; grid-template-columns: minmax(0,.88fr) minmax(480px,1.12fr); gap: 12px; align-items: stretch; }
.lab-story__title { position: relative; min-height: 630px; padding: clamp(34px,4vw,64px); overflow: hidden; background: var(--acid); color: var(--ink); }
.lab-story__title .eyebrow { color: var(--ink); }
.lab-story__title .section-title { position: relative; z-index: 2; max-width: none; margin-top: 38px; color: var(--ink); font-size: clamp(50px,5.2vw,84px); line-height: .83; overflow-wrap: normal; word-break: normal; }
.lab-story__title .section-title em { color: transparent; font-style: normal; white-space: nowrap; -webkit-text-stroke: 1.5px var(--ink); }
.lab-story__title::after { position: absolute; width: 70%; height: 1px; right: -4%; bottom: 118px; background: var(--ink); content: ""; opacity: .25; transform: rotate(-18deg); }
.lab-story__orbit { position: absolute; width: 280px; aspect-ratio: 1; right: -58px; bottom: -72px; border: 1px solid rgba(7,23,24,.34); border-radius: 50%; animation: story-spin 24s linear infinite; }
.lab-story__orbit::before,.lab-story__orbit::after { position: absolute; inset: 42px; border: 1px dashed rgba(7,23,24,.28); border-radius: 50%; content: ""; }
.lab-story__orbit::after { inset: 88px; border-style: solid; }
.lab-story__orbit i { position: absolute; width: 14px; height: 14px; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 7px rgba(255,255,255,.26); }
.lab-story__orbit i:nth-child(1) { top: 22px; left: 72px; }
.lab-story__orbit i:nth-child(2) { top: 110px; right: -7px; background: var(--cyan); }
.lab-story__orbit i:nth-child(3) { bottom: 20px; left: 42px; background: #c99785; }
.lab-story__orbit b { position: absolute; top: 50%; left: 50%; font: 800 18px/.78 var(--mono); letter-spacing: .08em; text-align: center; transform: translate(-50%,-50%) rotate(-20deg); }
.lab-story .lab-copy { display: grid; gap: 12px; color: inherit; font-size: inherit; line-height: inherit; }
.lab-story .lab-copy article { position: relative; display: flex; min-height: 309px; flex-direction: column; justify-content: space-between; padding: clamp(32px,3.2vw,54px); overflow: hidden; }
.lab-story .lab-copy article:first-child { background: var(--ink); color: var(--white); }
.lab-story .lab-copy article:last-child { background: #a8dcd8; color: var(--ink); }
.lab-story .lab-copy article::after { position: absolute; right: 20px; bottom: -48px; color: currentColor; content: attr(data-step); font-size: 180px; font-weight: 700; letter-spacing: -.12em; line-height: 1; opacity: .055; }
.lab-story .lab-copy span { position: relative; z-index: 1; font: 700 10px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.lab-story .lab-copy p { position: relative; z-index: 1; max-width: 760px; margin: 70px 0 0; color: inherit; font-size: clamp(17px,1.45vw,22px); line-height: 1.45; }
.principles-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; margin-top: 82px; padding-bottom: 18px; border-bottom: 1px solid rgba(7,23,24,.26); font-family: var(--mono); text-transform: uppercase; }
.principles-head span { color: var(--acid-dark); font-size: 10px; letter-spacing: .12em; }
.principles-head strong { font-size: 11px; letter-spacing: .1em; }
.principles-head i { width: 8px; height: 8px; border-radius: 50%; background: var(--acid-dark); box-shadow: -18px 0 0 var(--cyan),-36px 0 0 #c99785; animation: story-pulse 2.8s ease-in-out infinite; }
.lab-story .principles { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1px; margin-top: 0; border: 1px solid rgba(7,23,24,.22); background: rgba(7,23,24,.2); }
.lab-story .principle { position: relative; display: flex; min-height: 242px; flex-direction: column; justify-content: flex-end; padding: 28px; overflow: hidden; border: 0; background: var(--paper); color: var(--ink); transition: transform .35s cubic-bezier(.2,.75,.25,1),filter .35s; }
.lab-story .principle:nth-child(1) { grid-column: span 5; background: #f7f5ed; }
.lab-story .principle:nth-child(2) { grid-column: span 7; background: #0a2020; color: var(--white); }
.lab-story .principle:nth-child(n+3) { grid-column: span 3; }
.lab-story .principle:nth-child(3) { background: #a8dcd8; }
.lab-story .principle:nth-child(4) { background: var(--acid); }
.lab-story .principle:nth-child(5) { background: #f7f5ed; }
.lab-story .principle:nth-child(6) { background: #ff7867; }
.lab-story .principle:hover { z-index: 2; transform: translateY(-7px); filter: saturate(1.08); }
.lab-story .principle::before { position: absolute; width: 138px; aspect-ratio: 1; top: -72px; right: -52px; border: 1px solid currentColor; border-radius: 50%; box-shadow: 0 0 0 24px rgba(255,255,255,.09); content: ""; opacity: .19; transition: transform .5s; }
.lab-story .principle::after { position: absolute; width: 9px; height: 9px; top: 29px; right: 31px; border-radius: 50%; background: currentColor; box-shadow: -22px 14px 0 var(--cyan); content: ""; opacity: .58; }
.lab-story .principle:hover::before { transform: scale(1.13) rotate(30deg); }
.lab-story .principle strong { position: absolute; top: 28px; left: 28px; margin: 0; color: inherit; font: 700 10px/1 var(--mono); opacity: .64; }
.lab-story .principle h3 { position: relative; z-index: 1; max-width: 520px; margin: 0 0 13px; font-size: clamp(22px,2.2vw,36px); letter-spacing: -.04em; line-height: 1; }
.lab-story .principle p { position: relative; z-index: 1; max-width: 450px; margin: 0; color: inherit; font-size: 14px; line-height: 1.42; opacity: .68; }
@keyframes story-spin { to { transform: rotate(360deg); } }
@keyframes story-pulse { 50% { opacity: .35; transform: scale(.74); } }
@keyframes story-breathe { 50% { opacity: .42; transform: scale(1.045); } }
@media (max-width: 900px) {
  .lab-story__grid { grid-template-columns: 1fr; }
  .lab-story__title { min-height: 520px; }
  .lab-story .principles .principle:nth-child(n) { grid-column: span 6; }
}
@media (max-width: 600px) {
  .lab-story { padding-block: 58px; }
  .lab-story__title { min-height: 480px; padding: 30px 22px; }
  .lab-story__title .section-title { font-size: clamp(48px,15vw,62px); }
  .lab-story__orbit { width: 220px; }
  .lab-story .lab-copy article { min-height: 330px; padding: 28px 22px; }
  .lab-story .lab-copy p { margin-top: 54px; font-size: 17px; }
  .principles-head { grid-template-columns: 1fr auto; margin-top: 58px; }
  .principles-head strong { display: none; }
  .lab-story .principles .principle:nth-child(n) { grid-column: 1/-1; min-height: 220px; }
  .lab-story .principle h3 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .lab-story *, .lab-story *::before, .lab-story *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Laboratory hero — reactive material field. */
.lab-hero { position: relative; min-height: calc(100svh - 78px); overflow: hidden; isolation: isolate; background: #061516; color: var(--white); }
.lab-hero::before { position: absolute; z-index: -1; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 74% 38%,rgba(169,197,195,.13),transparent 27rem); background-size: 64px 64px,64px 64px,auto; content: ""; }
.lab-hero::after { position: absolute; z-index: 0; width: 7px; height: 7px; top: 22%; left: 8%; border-radius: 50%; background: var(--acid); box-shadow: 52vw 8vh 0 var(--cyan),78vw 47vh 0 #c99785,18vw 61vh 0 rgba(255,255,255,.8); content: ""; animation: lab-hero-pulse 3.4s ease-in-out infinite; }
.lab-hero__grid { position: relative; z-index: 2; display: grid; min-height: calc(100svh - 132px); grid-template-columns: minmax(430px,.92fr) minmax(520px,1.08fr); align-items: center; gap: clamp(36px,6vw,104px); padding-block: clamp(72px,8vh,112px) 92px; }
.lab-hero__copy { min-width: 0; }
.lab-hero__copy .eyebrow { color: var(--cyan); }
.lab-hero__copy h1 { margin: 30px 0 0; font-size: clamp(66px,7.5vw,126px); font-weight: 650; letter-spacing: -.075em; line-height: .76; }
.lab-hero__copy h1 em { color: var(--acid); font-style: normal; text-shadow: 0 0 44px rgba(183,194,163,.2); }
.lab-hero__copy .lead { max-width: 660px; margin-top: 46px; color: rgba(255,255,255,.57); font-size: clamp(16px,1.4vw,21px); line-height: 1.55; }
.lab-hero__meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 44px; border-block: 1px solid rgba(255,255,255,.14); }
.lab-hero__meta span { min-height: 92px; padding: 18px 14px 18px 0; border-right: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.68); font: 700 9px/1.35 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.lab-hero__meta span + span { padding-left: 14px; }
.lab-hero__meta span:last-child { border-right: 0; }
.lab-hero__meta b { display: block; margin-bottom: 18px; color: var(--acid); font-size: 9px; }
.lab-hero__visual { position: relative; min-width: 0; min-height: 660px; }
.lab-hero__visual::before { position: absolute; width: 620px; aspect-ratio: 1; top: 50%; left: 50%; border: 1px solid rgba(169,197,195,.15); border-radius: 50%; box-shadow: 0 0 0 72px rgba(169,197,195,.025),0 0 0 144px rgba(183,194,163,.018); content: ""; transform: translate(-50%,-50%); animation: lab-hero-breathe 7s ease-in-out infinite; }
.lab-hero__sample { position: absolute; z-index: 2; width: min(34vw,500px); aspect-ratio: .718; top: 50%; left: 50%; overflow: hidden; clip-path: polygon(25% 0,75% 0,100% 20%,100% 80%,75% 100%,25% 100%,0 80%,0 20%); transform: translate(-50%,-50%); background: #eef3e9; filter: drop-shadow(0 28px 50px rgba(0,0,0,.34)); animation: lab-hero-float 8s ease-in-out infinite; }
.lab-hero__sample::after { position: absolute; inset: 0; background: linear-gradient(145deg,rgba(169,197,195,.08),transparent 42%,rgba(183,194,163,.1)); content: ""; mix-blend-mode: multiply; }
.lab-hero__sample img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.12); transition: transform 1.2s cubic-bezier(.2,.75,.25,1),filter .6s; }
.lab-hero__visual:hover .lab-hero__sample img { filter: grayscale(.15) contrast(1.08); transform: scale(1.035); }
.lab-hero__orbit { position: absolute; z-index: 3; width: min(39vw,570px); aspect-ratio: 1; top: 50%; left: 50%; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; pointer-events: none; }
.lab-hero__orbit i { position: absolute; width: 13px; height: 13px; top: 50%; left: -7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 20px var(--cyan); }
.lab-hero__orbit--a { transform: translate(-50%,-50%) rotate(26deg) scaleY(.48); animation: lab-hero-orbit-a 11s linear infinite; }
.lab-hero__orbit--b { width: min(31vw,450px); transform: translate(-50%,-50%) rotate(112deg) scaleY(.62); animation: lab-hero-orbit-b 8s linear infinite reverse; }
.lab-hero__orbit--b i { background: var(--acid); box-shadow: 0 0 20px var(--acid); }
.lab-hero__formula { position: absolute; z-index: 5; padding: 8px 11px; border: 1px solid rgba(255,255,255,.16); background: rgba(6,21,22,.7); color: rgba(255,255,255,.7); font: 700 9px/1 var(--mono); letter-spacing: .09em; backdrop-filter: blur(8px); animation: lab-hero-label 5s ease-in-out infinite; }
.lab-hero__formula--a { top: 13%; left: 1%; }
.lab-hero__formula--b { top: 24%; right: 0; animation-delay: -1.7s; }
.lab-hero__formula--c { right: 4%; bottom: 12%; animation-delay: -3.2s; }
.lab-hero__badge { position: absolute; z-index: 5; display: grid; width: 140px; aspect-ratio: 1; right: 3%; bottom: 9%; padding: 18px; border: 1px solid rgba(183,194,163,.5); border-radius: 50%; place-content: center; background: rgba(6,21,22,.8); text-align: center; backdrop-filter: blur(8px); }
.lab-hero__badge small { color: var(--acid); font: 700 8px/1 var(--mono); letter-spacing: .12em; }
.lab-hero__badge strong { margin-top: 10px; font: 700 10px/1.4 var(--mono); letter-spacing: .08em; }
.lab-hero__ticker { position: relative; z-index: 4; display: flex; justify-content: space-between; gap: 40px; padding: 18px max(24px,calc((100vw - var(--container))/2)); overflow: hidden; background: var(--acid); color: var(--ink); font: 800 9px/1 var(--mono); letter-spacing: .1em; white-space: nowrap; text-transform: uppercase; }
@keyframes lab-hero-float { 50% { transform: translate(-50%,-52%); } }
@keyframes lab-hero-breathe { 50% { opacity: .52; transform: translate(-50%,-50%) scale(1.045); } }
@keyframes lab-hero-pulse { 50% { opacity: .35; transform: scale(.7); } }
@keyframes lab-hero-label { 50% { transform: translateY(-8px); } }
@keyframes lab-hero-orbit-a { to { transform: translate(-50%,-50%) rotate(386deg) scaleY(.48); } }
@keyframes lab-hero-orbit-b { to { transform: translate(-50%,-50%) rotate(472deg) scaleY(.62); } }
@media (max-width: 980px) {
  .lab-hero__grid { grid-template-columns: 1fr; }
  .lab-hero__copy { padding-top: 30px; }
  .lab-hero__visual { min-height: 700px; }
  .lab-hero__sample { width: min(62vw,500px); }
  .lab-hero__orbit { width: min(72vw,570px); }
  .lab-hero__orbit--b { width: min(58vw,450px); }
}
@media (max-width: 600px) {
  .lab-hero__grid { padding-block: 70px 48px; }
  .lab-hero__copy h1 { font-size: clamp(52px,15.4vw,64px); }
  .lab-hero__copy .lead { margin-top: 34px; }
  .lab-hero__meta { grid-template-columns: 1fr; }
  .lab-hero__meta span { min-height: 66px; padding: 14px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .lab-hero__meta span + span { padding-left: 0; }
  .lab-hero__meta b { display: inline-block; width: 34px; margin-bottom: 0; }
  .lab-hero__visual { min-height: 520px; }
  .lab-hero__sample { width: 310px; }
  .lab-hero__visual::before { width: 430px; }
  .lab-hero__orbit { width: 360px; }
  .lab-hero__orbit--b { width: 285px; }
  .lab-hero__badge { width: 104px; right: -4px; bottom: 8%; padding: 12px; }
  .lab-hero__formula--a { left: 0; }
  .lab-hero__formula--b { right: 0; }
  .lab-hero__formula--c { right: 0; bottom: 6%; }
  .lab-hero__ticker { justify-content: flex-start; padding-inline: 22px; }
  .lab-hero__ticker span:nth-child(n+2) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lab-hero *, .lab-hero *::before, .lab-hero *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Navigation hardening for compact and short viewports. */
@media (max-width: 1180px) {
  body.menu-open .site-shell { overflow: visible; }
  body.menu-open .site-header {
    position: fixed;
    z-index: 60;
    inset: 0 0 auto;
    border-color: transparent;
    background: transparent;
    pointer-events: none;
  }
  body.menu-open .site-header .brand,
  body.menu-open .site-header .nav-toggle { pointer-events: auto; }
  .site-nav {
    background: linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 78% 36%,rgba(169,197,195,.11),transparent 26rem),var(--ink);
    background-size: 64px 64px,64px 64px,auto,auto;
    color: var(--white);
  }
}
@media (max-width: 1180px) and (max-height: 600px) {
  .site-nav { grid-template-columns: 1fr; grid-template-rows: 1fr; gap: 0; padding: 92px 22px 18px; overflow: hidden auto; }
  .site-nav::before { top: 70px; left: 22px; }
  .site-nav::after { top: 86px; right: 82px; left: 22px; }
  .site-nav__list { display: grid; grid-column: 1; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: center; align-self: stretch; column-gap: 0; }
  .site-nav__list li { min-width: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .site-nav__list li:nth-child(even) { border-left: 1px solid rgba(255,255,255,.14); }
  .site-nav__list li:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
  .site-nav a { min-height: clamp(48px,11vh,58px); grid-template-columns: 28px minmax(0,1fr) 20px; padding: 0 12px; font-size: clamp(18px,3vw,28px); letter-spacing: -.035em; }
  .site-nav a:hover,.site-nav a:focus-visible,.site-nav a.is-current { padding-left: 12px; }
  .site-nav a::before { font-size: 8px; }
  .site-nav a::after { width: 20px; font-size: 17px; }
  .site-nav__visual,.site-nav__meta { display: none; }
}
@media (max-width: 520px) and (max-height: 600px) {
  .site-nav { padding-inline: 12px; }
  .site-nav::before { left: 12px; }
  .site-nav::after { left: 12px; }
  .site-nav a { grid-template-columns: 24px minmax(0,1fr) 16px; padding-inline: 8px; font-size: clamp(15px,4.6vw,21px); }
  .site-nav a:hover,.site-nav a:focus-visible,.site-nav a.is-current { padding-left: 8px; }
}

/* Navigation palette correction: white is dominant, acid is only a signal. */
@media (max-width: 1180px) {
  .site-nav {
    background:
      linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px),
      linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
      radial-gradient(circle at 78% 36%,rgba(255,255,255,.055),transparent 25rem),
      var(--ink);
    background-size: 64px 64px,64px 64px,auto,auto;
    overscroll-behavior: contain;
  }
  .site-nav::before { color: rgba(255,255,255,.72); }
  .site-nav::after { background: linear-gradient(90deg,rgba(255,255,255,.82),rgba(255,255,255,.16) 72%,var(--acid) 72% 76%,transparent 76%); }
  .site-nav a { color: rgba(255,255,255,.78); }
  .site-nav a::before { color: rgba(255,255,255,.46); }
  .site-nav a::after { color: var(--white); }
  .site-nav a:hover,.site-nav a:focus-visible {
    padding-left: 16px;
    color: var(--white);
    background: linear-gradient(var(--cyan),var(--cyan)) left center/3px 22px no-repeat,rgba(255,255,255,.045);
  }
  .site-nav a.is-current,.site-nav .current-menu-item > a,.site-nav .current-menu-ancestor > a,
  .site-nav .current_page_item > a,.site-nav .current_page_ancestor > a {
    padding-left: 16px;
    color: var(--white);
    background: linear-gradient(var(--acid),var(--acid)) left center/3px 26px no-repeat,rgba(255,255,255,.07);
  }
  .site-nav a.is-current::before,.site-nav .current-menu-item > a::before,
  .site-nav .current-menu-ancestor > a::before,.site-nav .current_page_item > a::before { color: var(--acid); }
  .site-nav a.is-current::after,.site-nav .current-menu-item > a::after,
  .site-nav .current-menu-ancestor > a::after,.site-nav .current_page_item > a::after { color: var(--white); }
  .site-nav__visual { border-color: rgba(255,255,255,.17); box-shadow: 0 0 0 42px rgba(255,255,255,.018),0 0 0 84px rgba(255,255,255,.012); }
  .site-nav__visual::before,.site-nav__visual::after { border-color: rgba(255,255,255,.25); }
  .site-nav__visual i { border-color: rgba(255,255,255,.22); }
  .site-nav__visual i:nth-child(2) { border-color: rgba(255,255,255,.32); }
  .site-nav__visual i:nth-child(3) { background: var(--white); box-shadow: 90px -74px 0 var(--cyan),-112px 42px 0 var(--acid); }
  .site-nav__meta a:hover { color: var(--white); }
}

/* Archive hero: the scientific background is rendered by canvas, not a CSS target. */
.archive-hero {
  isolation: isolate;
  background:
    radial-gradient(circle at 72% 44%,rgba(25,102,102,.3),transparent 34%),
    linear-gradient(118deg,#061516 0 46%,#082324 100%);
}
.archive-hero::before { display: none; }
.archive-hero::after {
  z-index: 1;
  inset: 0;
  width: auto;
  height: auto;
  background: linear-gradient(90deg,rgba(6,21,22,.94) 0%,rgba(6,21,22,.68) 37%,rgba(6,21,22,.08) 72%);
  clip-path: none;
  opacity: 1;
}
.archive-molecule-canvas {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.archive-hero .container { z-index: 2; }
.archive-hero__count {
  min-width: 190px;
  padding: 15px 18px;
  background: rgba(6,21,22,.48);
  box-shadow: inset 0 0 0 1px rgba(169,197,195,.08);
  backdrop-filter: blur(12px);
}
@media (max-width: 760px) {
  .archive-hero::after { background: linear-gradient(180deg,rgba(6,21,22,.86),rgba(6,21,22,.48)); }
  .archive-hero__count { min-width: 0; }
}

/* Pointer-following atomic orbit shared by every card preview. */
.has-preview-cursor { position: relative; overflow: hidden; }
.preview-cursor-orbit {
  position: absolute;
  z-index: 8;
  top: 0;
  left: 0;
  width: 86px;
  height: 86px;
  border: 1px solid rgba(244,242,233,.88);
  border-radius: 50%;
  opacity: 0;
  box-shadow:
    0 0 0 14px rgba(169,197,195,.13),
    0 0 0 28px rgba(183,194,163,.07),
    0 0 32px rgba(169,197,195,.12);
  pointer-events: none;
  transition: opacity .18s ease, width .32s cubic-bezier(.2,.75,.2,1), height .32s cubic-bezier(.2,.75,.2,1);
  will-change: transform;
}
.preview-cursor-orbit::before {
  position: absolute;
  inset: 11px;
  border: 1px dashed rgba(7,23,24,.5);
  border-radius: 50%;
  content: "";
  animation: preview-orbit-spin 8s linear infinite;
}
.preview-cursor-orbit::after {
  position: absolute;
  top: -4px;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 12px rgba(183,194,163,.8), -34px 52px 0 -1px var(--cyan);
  content: "";
}
.is-preview-tracking > .preview-cursor-orbit { width: 104px; height: 104px; opacity: 1; }
.card__image.has-preview-cursor::before,
.card__visual.has-preview-cursor::before,
.equipment-card__visual.has-preview-cursor::before,
.publication-card.has-preview-cursor::after { display: none; }
@keyframes preview-orbit-spin { to { transform: rotate(360deg); } }
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .preview-cursor-orbit { display: none; }
}


/* Publications 2.0 — compact research index instead of oversized generic cards. */
.publication-catalog {
  position: relative;
  padding: 58px 0 128px;
  background:
    linear-gradient(rgba(7,23,24,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,23,24,.025) 1px,transparent 1px);
  background-size: 42px 42px;
}
.publication-layout { grid-template-columns: 340px minmax(0,1fr); gap: clamp(28px,4vw,68px); }
.publication-filters {
  top: 94px;
  max-height: calc(100vh - 116px);
  padding: 0 26px 26px;
  overflow: auto;
  border: 1px solid rgba(169,197,195,.18);
  border-radius: 18px;
  background:
    radial-gradient(circle at 82% 12%,rgba(169,197,195,.16),transparent 180px),
    var(--ink);
  color: var(--white);
  box-shadow: 0 26px 70px rgba(7,23,24,.12);
  scrollbar-width: thin;
}
.publication-filters__identity { display: grid; padding: 28px 0 30px; border-bottom: 1px solid rgba(255,255,255,.16); }
.publication-filters__identity span,
.publication-filters__identity small { color: rgba(255,255,255,.5); font: 700 9px/1.4 var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.publication-filters__identity strong { margin: 13px 0 7px; color: var(--acid); font-size: 72px; font-weight: 540; letter-spacing: -.075em; line-height: .8; }
.publication-filters__top { padding: 22px 0; border-color: rgba(255,255,255,.14); }
.publication-filters__top > span,
.publication-search > span { color: rgba(255,255,255,.48); }
.publication-reset { border-color: rgba(183,194,163,.5); color: var(--acid); font: 700 9px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.publication-reset.is-active { color: var(--acid); }
.publication-search { padding: 22px 0 25px; border-color: rgba(255,255,255,.14); }
.publication-search input { padding: 13px 0 11px; border-color: rgba(255,255,255,.45); color: var(--white); font-size: 14px; }
.publication-search input:focus { border-color: var(--cyan); }
.publication-search input::placeholder { color: rgba(255,255,255,.29); }
.publication-filters details { border-color: rgba(255,255,255,.14); }
.publication-filters summary { color: var(--white); font-size: 13px; }
.publication-filters summary::after { color: var(--cyan); }
.publication-filter { color: rgba(255,255,255,.58); }
.publication-filter:hover { background: rgba(255,255,255,.08); color: var(--white); }
.publication-filter.is-active { background: var(--acid); color: var(--ink); }
.publication-results { min-width: 0; }
.publication-results__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; padding: 0 2px 15px; border-bottom: 1px solid var(--ink); }
.publication-results__head span { font: 800 12px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.publication-results__head small { color: var(--ink-soft); font: 700 9px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.publication-grid,
.archive-grid--publication { display: grid; grid-template-columns: 1fr; gap: 10px; border: 0; counter-reset: publication-card; }
.publication-card,
.publication-card:nth-child(-n+2) {
  display: grid;
  min-height: 248px;
  grid-template-columns: 78px minmax(0,1fr) 142px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(7,23,24,.2);
  border-radius: 12px;
  background: rgba(251,250,243,.82);
  box-shadow: 0 12px 34px rgba(7,23,24,.035);
  transition: border-color .28s,background .35s,color .35s,box-shadow .35s,transform .35s cubic-bezier(.2,.75,.2,1);
}
.publication-card::before { top: auto; right: 0; bottom: 0; left: 0; height: 3px; background: linear-gradient(90deg,var(--cyan),var(--acid),var(--spectral)); }
.publication-card__number { display: flex; align-items: flex-start; justify-content: center; padding-top: 30px; border-right: 1px solid var(--line); color: var(--ink-soft); font: 800 10px/1 var(--mono); letter-spacing: .08em; writing-mode: vertical-rl; transition: color .3s,border-color .3s; }
.publication-card__copy { min-width: 0; padding: 29px clamp(24px,3vw,42px) 27px; }
.publication-card__meta { display: flex; flex-wrap: wrap; gap: 9px 22px; margin: 0 0 21px; padding-right: 0; font-size: 9px; }
.publication-card__meta span:first-child { color: var(--acid-dark); }
.publication-card h2 { max-width: 1050px; margin: 0 0 26px; font-size: clamp(24px,2.15vw,36px); letter-spacing: -.043em; line-height: 1.02; }
.publication-card__authors { margin: 0; padding: 17px 0 0; border-top: 1px solid var(--line); }
.publication-card__authors > span { margin-bottom: 6px; font-size: 8px; }
.publication-card__authors p { display: -webkit-box; max-width: 980px; overflow: hidden; font-size: 12px; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.publication-card__signal { display: grid; grid-template-rows: 1fr auto auto; justify-items: center; padding: 26px 18px 24px; border-left: 1px solid var(--line); background: rgba(169,197,195,.055); transition: border-color .3s,background .3s; }
.publication-card__signal > span { align-self: end; color: var(--ink-soft); font: 800 8px/1.35 var(--mono); letter-spacing: .12em; text-align: center; }
.publication-card__signal > b { margin-top: 13px; color: var(--acid-dark); font-size: 23px; font-weight: 400; transition: transform .3s; }
.publication-card__molecule { position: relative; width: 84px; height: 84px; align-self: center; border: 1px solid rgba(7,23,24,.14); border-radius: 50%; animation: publication-molecule 18s linear infinite; }
.publication-card__molecule::before,
.publication-card__molecule::after { position: absolute; top: 50%; left: 50%; width: 58px; height: 1px; background: rgba(7,23,24,.24); content: ""; transform: translate(-50%,-50%) rotate(32deg); transform-origin: center; }
.publication-card__molecule::after { transform: translate(-50%,-50%) rotate(148deg); }
.publication-card__molecule i { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 5px rgba(7,23,24,.05); }
.publication-card__molecule i:nth-child(1) { top: 11px; left: 19px; background: var(--cyan); }
.publication-card__molecule i:nth-child(2) { top: 17px; right: 12px; }
.publication-card__molecule i:nth-child(3) { right: 16px; bottom: 13px; background: var(--acid-dark); }
.publication-card__molecule i:nth-child(4) { bottom: 11px; left: 13px; background: var(--spectral); }
.publication-card:hover { z-index: 2; border-color: var(--ink); background: var(--ink); color: var(--white); box-shadow: 0 24px 58px rgba(7,23,24,.17); transform: translateX(7px); }
.publication-card:hover .publication-card__number,
.publication-card:hover .publication-card__signal { border-color: rgba(255,255,255,.14); }
.publication-card:hover .publication-card__number { color: var(--cyan); }
.publication-card:hover .publication-card__meta,
.publication-card:hover .publication-card__authors p,
.publication-card:hover .publication-card__authors > span,
.publication-card:hover .publication-card__signal > span { color: rgba(255,255,255,.54); }
.publication-card:hover .publication-card__meta span:first-child,
.publication-card:hover .publication-card__signal > b { color: var(--acid); }
.publication-card:hover .publication-card__authors { border-color: rgba(255,255,255,.14); }
.publication-card:hover .publication-card__signal { background: rgba(169,197,195,.07); }
.publication-card:hover .publication-card__signal > b { transform: translate(3px,-3px); }
.publication-card:hover .publication-card__molecule { border-color: rgba(255,255,255,.22); }
.publication-card:hover .publication-card__molecule::before,
.publication-card:hover .publication-card__molecule::after { background: rgba(255,255,255,.25); }
.publication-card:hover .publication-card__molecule i { background: var(--white); box-shadow: 0 0 0 5px rgba(255,255,255,.05); }
.publication-card:hover .publication-card__molecule i:nth-child(1) { background: var(--cyan); }
.publication-card:hover .publication-card__molecule i:nth-child(3) { background: var(--acid); }
.publication-card:hover .publication-card__molecule i:nth-child(4) { background: var(--spectral); }
.publication-card__arrow { display: none; }
@keyframes publication-molecule { to { transform: rotate(360deg); } }
@media (max-width: 980px) {
  .publication-layout { grid-template-columns: 1fr; }
  .publication-filters { position: relative; top: auto; max-height: none; }
  .publication-filters details:first-of-type > div { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; }
}
@media (max-width: 640px) {
  .publication-catalog { padding-top: 28px; }
  .publication-filters { padding-inline: 20px; border-radius: 12px; }
  .publication-filters__identity strong { font-size: 58px; }
  .publication-filters details:first-of-type > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .publication-card,
  .publication-card:nth-child(-n+2) { min-height: 0; grid-template-columns: 44px minmax(0,1fr); border-radius: 8px; }
  .publication-card__number { padding-top: 22px; }
  .publication-card__copy { padding: 22px 18px 24px; }
  .publication-card h2 { margin-bottom: 22px; font-size: clamp(22px,7vw,28px); }
  .publication-card__signal { display: none; }
  .publication-card:hover { transform: translateX(3px); }
}


/* Publication detail 2.0 — readable research dossier. */
.publication-detail { padding: 0; background: var(--paper); }
.publication-detail__mast { position: relative; overflow: hidden; background: var(--ink); color: var(--white); }
.publication-detail__mast::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);
  background-size: 54px 54px;
  content: "";
}
.publication-detail__mast::after {
  position: absolute;
  top: -34vw;
  right: -20vw;
  width: 72vw;
  aspect-ratio: 1;
  border: 1px solid rgba(169,197,195,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(169,197,195,.025),0 0 0 160px rgba(183,194,163,.018);
  content: "";
}
.publication-detail__mast .container { position: relative; z-index: 1; }
.publication-detail__nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 34px 0 22px; border-bottom: 1px solid rgba(255,255,255,.15); }
.publication-detail__nav .back-link { margin: 0; color: rgba(255,255,255,.72); }
.publication-detail__nav .back-link:hover { color: var(--acid); }
.publication-detail__nav > span { color: var(--cyan); font: 800 9px/1 var(--mono); letter-spacing: .12em; }
.publication-detail__hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(250px,340px);
  gap: clamp(44px,6vw,100px);
  align-items: center;
  padding: clamp(58px,7vw,96px) 0 66px;
  border: 0;
}
.publication-detail__hero::after { display: none; }
.publication-detail__heading { min-width: 0; }
.publication-detail__meta { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 0 0 27px; color: rgba(255,255,255,.5); font-size: 10px; }
.publication-detail__meta span:first-child { color: var(--acid); }
.publication-detail__heading h1 {
  max-width: 21ch;
  margin: 0;
  color: var(--white);
  font-size: clamp(40px,4.25vw,72px);
  letter-spacing: -.052em;
  line-height: .98;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.publication-detail__source {
  margin-top: 34px;
  border-color: rgba(255,255,255,.34);
  color: var(--white);
  background: rgba(255,255,255,.025);
}
.publication-detail__source:hover { border-color: var(--acid); background: var(--acid); color: var(--ink); }
.publication-detail__source span,
.publication-detail__source:hover span { color: currentColor; }
.publication-detail__visual { display: grid; justify-items: center; gap: 25px; }
.publication-detail__visual > span { color: rgba(255,255,255,.42); font: 800 8px/1 var(--mono); letter-spacing: .14em; }
.publication-detail__molecule { position: relative; width: min(25vw,300px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; animation: publication-detail-spin 28s linear infinite; }
.publication-detail__molecule::before,
.publication-detail__molecule::after { position: absolute; inset: 16%; border: 1px solid rgba(169,197,195,.22); border-radius: 50%; content: ""; }
.publication-detail__molecule::after { inset: 35%; border-color: rgba(183,194,163,.35); }
.publication-detail__molecule i { position: absolute; width: 13px; height: 13px; border-radius: 50%; background: var(--white); box-shadow: 0 0 20px rgba(255,255,255,.65); }
.publication-detail__molecule i:nth-child(1) { top: 4%; left: 48%; background: var(--acid); box-shadow: 0 0 22px rgba(183,194,163,.75); }
.publication-detail__molecule i:nth-child(2) { top: 28%; right: 2%; background: var(--cyan); box-shadow: 0 0 22px rgba(169,197,195,.75); }
.publication-detail__molecule i:nth-child(3) { right: 20%; bottom: 7%; background: var(--spectral); box-shadow: 0 0 22px rgba(244,127,99,.72); }
.publication-detail__molecule i:nth-child(4) { bottom: 13%; left: 13%; width: 9px; height: 9px; }
.publication-detail__molecule i:nth-child(5) { top: 28%; left: 6%; width: 8px; height: 8px; background: var(--cyan); }
.publication-detail__molecule b { position: absolute; top: 50%; left: 50%; color: var(--white); font: 500 clamp(42px,5vw,70px)/1 var(--mono); letter-spacing: -.08em; transform: translate(-50%,-50%) rotate(-18deg); }
.publication-detail__facts {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(220px,.36fr);
  border-top: 1px solid rgba(255,255,255,.15);
  border-bottom: 0;
}
.publication-detail__fact { padding: 27px 34px 31px 0; }
.publication-detail__fact + .publication-detail__fact { padding-left: 34px; border-color: rgba(255,255,255,.15); }
.publication-detail__fact > span { margin-bottom: 10px; color: rgba(255,255,255,.42); }
.publication-detail__fact p,
.publication-detail__fact a { color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.55; }
.publication-detail__fact a { text-decoration-color: var(--acid); }
.publication-detail__abstract { grid-template-columns: minmax(210px,.3fr) minmax(0,1fr); gap: clamp(46px,8vw,130px); padding: 88px 0 104px; }
.publication-detail__abstract-title { top: 104px; }
.publication-detail__abstract-title h2 { margin: 15px 0 35px; font-size: clamp(44px,5vw,72px); }
.publication-detail__copy { max-width: 900px; padding: 0; color: #263a3a; font-size: clamp(17px,1.35vw,21px); line-height: 1.72; }
.publication-detail__copy p:first-child::first-letter { color: var(--acid-dark); }
.publication-detail__footer { padding: 0 0 96px; }
.publication-detail__footer a { padding: 25px 0; font-size: clamp(22px,2.5vw,36px); }
@keyframes publication-detail-spin { to { transform: rotate(360deg); } }

/* Recovered publication artwork — original archive image or a factual source figure. */
.publication-card--has-image,
.publication-card--has-image:nth-child(-n+2) { grid-template-columns: 62px clamp(170px,17vw,230px) minmax(0,1fr) 112px; }
.publication-card__image { position: relative; min-width: 0; margin: 0; overflow: hidden; border-right: 1px solid var(--line); background: #dce3dc; }
.publication-card__image::after { position: absolute; inset: 0; background: linear-gradient(145deg,transparent 42%,rgba(7,23,24,.2)); content: ""; pointer-events: none; }
.publication-card__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.74) contrast(1.04); transition: filter .45s,transform .65s cubic-bezier(.2,.75,.2,1); }
.publication-card__image > span { position: absolute; z-index: 1; right: 14px; bottom: 12px; padding: 7px 8px; border: 1px solid rgba(255,255,255,.45); color: #fff; background: rgba(7,23,24,.58); font: 800 8px/1 var(--mono); letter-spacing: .12em; backdrop-filter: blur(8px); }
.publication-card--has-image:hover .publication-card__image { border-color: rgba(255,255,255,.15); }
.publication-card--has-image:hover .publication-card__image img { filter: saturate(1) contrast(1.08); transform: scale(1.055); }
.publication-detail__visual > small { color: rgba(255,255,255,.42); font: 800 8px/1 var(--mono); letter-spacing: .14em; }
.publication-detail__art { position: relative; width: min(27vw,340px); height: min(31vw,390px); margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.24); border-radius: 4px 44px 4px 44px; background: rgba(255,255,255,.06); box-shadow: 0 28px 70px rgba(0,0,0,.28); transform: rotate(1.7deg); }
.publication-detail__art::after { position: absolute; inset: 0; border: 1px solid rgba(183,194,163,.34); border-radius: inherit; content: ""; transform: translate(10px,10px); pointer-events: none; }
.publication-detail__art img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.05); }
.publication-detail__art > span { position: absolute; right: 18px; bottom: 17px; padding: 9px 10px; border: 1px solid rgba(255,255,255,.48); color: #fff; background: rgba(7,23,24,.68); font: 800 9px/1 var(--mono); letter-spacing: .13em; backdrop-filter: blur(8px); }
@media (max-width: 900px) {
  .publication-detail__hero { grid-template-columns: minmax(0,1fr) 220px; }
  .publication-detail__molecule { width: 210px; }
  .publication-detail__heading h1 { font-size: clamp(38px,6.3vw,58px); }
}
@media (max-width: 640px) {
  .publication-detail__nav { padding-top: 24px; }
  .publication-detail__nav > span { display: none; }
  .publication-detail__hero { grid-template-columns: 1fr; gap: 42px; padding: 48px 0 46px; }
  .publication-detail__heading h1 { max-width: none; font-size: clamp(34px,10vw,46px); line-height: 1; text-wrap: pretty; }
  .publication-detail__source { width: 100%; justify-content: space-between; }
  .publication-detail__visual { justify-self: center; }
  .publication-detail__molecule { width: 190px; }
  .publication-detail__facts { grid-template-columns: 1fr; }
  .publication-detail__fact { padding: 25px 0; }
  .publication-detail__fact + .publication-detail__fact { padding-left: 0; border-top: 1px solid rgba(255,255,255,.15); border-left: 0; }
  .publication-detail__abstract { gap: 28px; padding: 62px 0 72px; }
  .publication-detail__abstract-title { position: static; }
  .publication-detail__abstract-title h2 { font-size: 43px; }
  .publication-detail__copy { font-size: 17px; }
  .publication-card--has-image,
  .publication-card--has-image:nth-child(-n+2) { grid-template-columns: 38px 96px minmax(0,1fr); }
  .publication-card--has-image .publication-card__copy { padding-inline: 16px; }
  .publication-card--has-image .publication-card__meta { gap: 7px; margin-bottom: 15px; }
  .publication-card--has-image h2 { margin-bottom: 18px; font-size: clamp(17px,5.2vw,23px); }
  .publication-card--has-image .publication-card__authors { padding-top: 12px; }
  .publication-card--has-image .publication-card__authors p { font-size: 10px; -webkit-line-clamp: 2; }
  .publication-card__image > span { right: 8px; bottom: 8px; }
  .publication-detail__art { width: min(84vw,340px); height: min(92vw,390px); }
}

/* White-first system: green appears as interaction feedback, never as a large default fill. */
.archive-hero {
  color: var(--ink);
  background: linear-gradient(135deg,var(--white),var(--paper));
  border-bottom: 1px solid var(--line);
}
.archive-hero::after { display: none; }
.archive-molecule-canvas { opacity: .34; mix-blend-mode: multiply; }
.archive-hero .section-title { color: var(--ink); }
.archive-hero .eyebrow { color: var(--ink-soft); }
.archive-hero .lead { color: var(--ink-soft); }
.archive-hero__count { color: var(--ink); background: var(--white); border-color: var(--line); box-shadow: none; backdrop-filter: none; }
.button--acid { color: var(--ink); background: var(--white); border-color: var(--ink); }
.button--acid:hover,.button--acid:focus-visible { color: var(--ink); background: var(--acid); border-color: var(--acid-dark); }
.ticker { color: var(--ink); background: var(--white); border-block: 1px solid var(--line); transform: none; }
.ticker:hover { background: color-mix(in srgb,var(--acid) 54%,var(--white)); }
.stat:nth-child(2),.stat:nth-child(3),.stat:nth-child(4) { background: var(--white); }
.stat:nth-child(n+2) { transition: background .3s,transform .3s; }
.stat:nth-child(n+2):hover { background: color-mix(in srgb,var(--acid) 46%,var(--white)); transform: translateY(-5px); }
.contact-lab__intro h1 em,.lab-achievements .section-title em { color: var(--white); text-shadow: none; }
.publication-filters__identity strong { color: var(--white); }
.publication-reset,.publication-reset.is-active { color: var(--white); border-color: rgba(255,255,255,.48); }
.publication-reset:hover,.publication-reset:focus-visible { color: var(--ink); background: var(--acid); border-color: var(--acid); }
.publication-filter.is-active { color: var(--ink); background: var(--white); }
.publication-filter:hover { color: var(--ink); background: var(--acid); }
.publication-card::before { background: var(--white); }
.publication-card:hover { color: var(--ink); background: var(--acid); border-color: var(--acid-dark); box-shadow: 0 24px 58px rgba(7,23,24,.12); }
.publication-card:hover .publication-card__number,.publication-card:hover .publication-card__signal { color: var(--ink); border-color: rgba(7,23,24,.18); }
.publication-card:hover .publication-card__meta,.publication-card:hover .publication-card__authors p,
.publication-card:hover .publication-card__authors > span,.publication-card:hover .publication-card__signal > span { color: var(--ink-soft); }
.publication-card:hover .publication-card__meta span:first-child,.publication-card:hover .publication-card__signal > b { color: var(--ink); }
.publication-card:hover .publication-card__authors { border-color: rgba(7,23,24,.18); }
.publication-card:hover .publication-card__signal { background: rgba(255,255,255,.24); }
.publication-card:hover .publication-card__molecule { border-color: rgba(7,23,24,.24); }
.publication-card:hover .publication-card__molecule::before,.publication-card:hover .publication-card__molecule::after { background: rgba(7,23,24,.3); }
.publication-card:hover .publication-card__molecule i:nth-child(n) { background: var(--ink); box-shadow: 0 0 0 5px rgba(255,255,255,.16); }
.card { background: var(--white); transition: background .3s,transform .3s,box-shadow .3s; }
.card:hover { background: color-mix(in srgb,var(--acid) 43%,var(--white)); }
.lab-achievements .lab-stats > div:nth-child(n) { color: var(--ink); background: var(--white); filter: none; }
.lab-achievements .lab-stats > div:nth-child(n):hover { background: color-mix(in srgb,var(--acid) 54%,var(--white)); filter: none; }
.lab-story__title { color: var(--ink); background: var(--white); }
.lab-story .lab-copy article:last-child { color: var(--ink); background: var(--white); }
.lab-story .principle:nth-child(n) { color: var(--ink); background: var(--white); filter: none; }
.lab-story .principle:nth-child(n):hover { background: color-mix(in srgb,var(--acid) 52%,var(--white)); filter: none; }
.contact-channel > span,.contact-channel > i,.contact-channel--address > a { color: var(--white); }
.contact-channel::before { background: var(--acid); }

/* Final accent contract: white at rest, muted sage only on hover/focus. */
:root { --hover-green: #b7c2a3; }

.button--acid:hover,.button--acid:focus-visible,
.publication-reset:hover,.publication-reset:focus-visible,
.publication-filter:hover,
.publication-card:hover,
.card:hover,
.stat:nth-child(n+2):hover,
.lab-achievements .lab-stats > div:nth-child(n):hover,
.lab-story .principle:nth-child(n):hover,
.ticker:hover { background: var(--hover-green); }

.button--acid:hover,.button--acid:focus-visible,
.publication-reset:hover,.publication-reset:focus-visible,
.publication-filter:hover,
.publication-card:hover { border-color: #71806a; }

.contact-channel::before { background: var(--hover-green); }

@media (max-width: 1180px) {
  .site-nav a.is-current,
  .site-nav .current-menu-item > a,
  .site-nav .current-menu-ancestor > a,
  .site-nav .current_page_item > a,
  .site-nav .current_page_ancestor > a {
    color: var(--ink);
    background: var(--white);
  }
  .site-nav a.is-current::before,
  .site-nav .current-menu-item > a::before,
  .site-nav .current-menu-ancestor > a::before,
  .site-nav .current_page_item > a::before,
  .site-nav .current_page_ancestor > a::before,
  .site-nav a.is-current::after,
  .site-nav .current-menu-item > a::after,
  .site-nav .current-menu-ancestor > a::after,
  .site-nav .current_page_item > a::after,
  .site-nav .current_page_ancestor > a::after { color: var(--ink); }
  .site-nav a:hover,
  .site-nav a:focus-visible,
  .site-nav a.is-current:hover,
  .site-nav a.is-current:focus-visible,
  .site-nav .current-menu-item > a:hover,
  .site-nav .current-menu-item > a:focus-visible,
  .site-nav .current_page_item > a:hover,
  .site-nav .current_page_item > a:focus-visible {
    color: var(--ink);
    background: var(--hover-green);
  }
  .site-nav a:hover::before,.site-nav a:focus-visible::before,
  .site-nav a:hover::after,.site-nav a:focus-visible::after { color: var(--ink); }
}

/* Light navigation: calm laboratory interface, not a dark promo screen. */
@media (max-width: 1180px) {
  .site-nav {
    color: var(--ink);
    background:
      linear-gradient(90deg,rgba(7,23,24,.035) 1px,transparent 1px),
      linear-gradient(rgba(7,23,24,.035) 1px,transparent 1px),
      radial-gradient(circle at 78% 36%,rgba(169,197,195,.16),transparent 25rem),
      #f8f7f1;
    background-size: 64px 64px,64px 64px,auto,auto;
  }
  .site-nav::before { color: #667171; }
  .site-nav::after { background: linear-gradient(90deg,var(--ink),rgba(7,23,24,.14) 72%,transparent 72%); opacity: .42; }
  .menu-open .brand { filter: none; }
  .menu-open .nav-toggle { border-color: rgba(7,23,24,.24); color: var(--ink); background: rgba(255,255,255,.66); }
  .menu-open .nav-toggle::before,.menu-open .nav-toggle::after { background: var(--ink); }
  .site-nav__list li,.site-nav__list li:last-child { border-color: rgba(7,23,24,.11); }
  .site-nav a {
    color: #526061;
    font-size: clamp(26px,3.4vw,44px);
    font-weight: 520;
  }
  .site-nav a::before { color: #7b8585; }
  .site-nav a::after { color: var(--ink); }
  .site-nav a.is-current,
  .site-nav .current-menu-item > a,
  .site-nav .current-menu-ancestor > a,
  .site-nav .current_page_item > a,
  .site-nav .current_page_ancestor > a {
    color: var(--ink);
    background: rgba(255,255,255,.82);
    box-shadow: inset 0 0 0 1px rgba(7,23,24,.11);
  }
  .site-nav a:hover,.site-nav a:focus-visible,
  .site-nav a.is-current:hover,.site-nav a.is-current:focus-visible,
  .site-nav .current-menu-item > a:hover,.site-nav .current-menu-item > a:focus-visible,
  .site-nav .current_page_item > a:hover,.site-nav .current_page_item > a:focus-visible {
    color: var(--ink);
    background: #dce4d3;
    box-shadow: inset 0 0 0 1px rgba(7,23,24,.09);
  }
  .site-nav__visual { border-color: rgba(7,23,24,.14); box-shadow: 0 0 0 42px rgba(7,23,24,.018),0 0 0 84px rgba(7,23,24,.012); }
  .site-nav__visual::before,.site-nav__visual::after { border-color: rgba(7,23,24,.2); }
  .site-nav__visual i { border-color: rgba(7,23,24,.18); }
  .site-nav__visual i:nth-child(2) { border-color: rgba(83,104,103,.28); }
  .site-nav__visual i:nth-child(3) { background: #566665; box-shadow: 90px -74px 0 #a9b9b7,-112px 42px 0 #c7c3b1; }
  .site-nav__visual b { color: var(--ink); }
  .site-nav__meta { border-color: rgba(7,23,24,.12); color: #7b8585; }
  .site-nav__meta a {
    display: inline-flex;
    min-height: 0;
    padding: 0;
    color: #526061;
    font: 700 9px/1.55 var(--mono);
    letter-spacing: .11em;
    text-transform: uppercase;
  }
  .site-nav__meta a:hover,.site-nav__meta a:focus-visible { color: var(--ink); background: transparent; box-shadow: none; }
}

/* Light contacts: the molecular system becomes a quiet scientific diagram. */
.contact-lab { color: var(--ink); background: #f8f7f1; }
.contact-lab::before {
  background-image: linear-gradient(rgba(7,23,24,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(7,23,24,.035) 1px,transparent 1px);
}
.contact-lab__intro { border-color: rgba(7,23,24,.11); }
.contact-lab__intro::after { background: #9aa78e; box-shadow: 0 0 0 7px rgba(154,167,142,.12); }
.contact-lab__intro .eyebrow { color: #667171; }
.contact-lab__intro h1,.contact-lab__intro h1 em { color: var(--ink); text-shadow: none; }
.contact-lab__lead { color: #667171; }
.contact-lab__status { color: #667171; }
.contact-lab__status i { background: #9aa78e; box-shadow: 0 0 0 6px rgba(154,167,142,.11); }
.contact-molecule {
  background:
    radial-gradient(circle at 53% 49%,rgba(169,197,195,.22),transparent 13rem),
    radial-gradient(circle at 72% 20%,rgba(201,151,133,.08),transparent 16rem),
    linear-gradient(145deg,#f3f4ef,#faf9f4 74%);
}
.contact-molecule::before,.contact-molecule::after { border-color: rgba(7,23,24,.12); }
.contact-molecule::before { box-shadow: 0 0 0 74px rgba(7,23,24,.018),0 0 0 148px rgba(7,23,24,.012); }
.contact-molecule svg { filter: none; }
.contact-molecule__bonds { stroke: rgba(83,104,103,.36); }
.contact-molecule__atoms circle { stroke: rgba(255,255,255,.9); filter: drop-shadow(0 7px 13px rgba(7,23,24,.08)); }
.contact-molecule__orbit { border-color: rgba(7,23,24,.17); }
.contact-molecule__orbit i { box-shadow: 0 0 0 6px rgba(169,197,195,.13); }
.contact-molecule__orbit--b i { background: #b7c2a3; box-shadow: 0 0 0 6px rgba(183,194,163,.13); }
.contact-molecule__core { border-color: rgba(7,23,24,.16); background: rgba(255,255,255,.78); box-shadow: 0 0 0 12px rgba(255,255,255,.24),0 22px 60px rgba(7,23,24,.08); }
.contact-molecule__core span,.contact-molecule__core small { color: #667171; }
.contact-molecule__core strong { color: var(--ink); }
.contact-molecule__formula { border-color: rgba(7,23,24,.12); color: #526061; background: rgba(255,255,255,.72); box-shadow: 0 8px 24px rgba(7,23,24,.045); }
.contact-molecule__scan { background: linear-gradient(90deg,transparent,rgba(83,104,103,.32),transparent); box-shadow: none; opacity: .35; }
.contact-channels { border-color: rgba(7,23,24,.12); background: var(--white); }
.contact-channel { isolation: isolate; border-color: rgba(7,23,24,.11); color: var(--ink); background: var(--white); }
.contact-channel > span,.contact-channel > i,.contact-channel--address > a { color: #667171; }
.contact-channel::before { background: #dce4d3; }
.contact-channel:hover,.contact-channel:focus-visible { color: var(--ink); }
@media (max-width: 980px) {
  .contact-lab__intro,.contact-channel,.contact-channel:nth-child(n+3) { border-color: rgba(7,23,24,.11); }
}
