/* ============================================================
   AVERON / MOTION CONTROL SYSTEM
   High-trust security, expressed as a living instrument.
   This layer intentionally overrides the foundational site.css.
   ============================================================ */

:root {
  --ink: #050706;
  --ink-2: #090c0a;
  --panel: #0b0f0c;
  --panel-2: #101610;
  --raise: #151d16;
  --line: rgba(221, 255, 230, .08);
  --line-2: rgba(221, 255, 230, .15);
  --line-3: rgba(221, 255, 230, .30);
  --text: #f2f6f1;
  --text-2: #b6c0b7;
  --text-3: #78847a;
  --text-4: #4b554d;
  --sig: #9cf7b5;
  --sig-2: #42d979;
  --sig-dim: #317447;
  --sig-glow: rgba(112, 255, 154, .10);
  --alert: #ff9a69;
  --alert-dim: rgba(255, 137, 91, .12);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-in-out: cubic-bezier(.76, 0, .24, 1);
  --max: 1380px;
  --pad: clamp(22px, 4vw, 64px);
  --mx: 50vw;
  --my: 24vh;
}

html { background: var(--ink); scrollbar-color: var(--sig-dim) var(--ink); }
body {
  min-height: 100%;
  background:
    radial-gradient(900px circle at var(--mx) var(--my), rgba(82, 232, 124, .045), transparent 45%),
    var(--ink);
  font-size: clamp(15px, 1.08vw, 17px);
  line-height: 1.68;
}
body.menu-open { overflow: hidden; }

body::before {
  z-index: 0;
  opacity: .7;
  background-image:
    linear-gradient(to right, rgba(202,255,216,.028) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(202,255,216,.028) 1px, transparent 1px);
  background-size: clamp(48px, 6vw, 88px) clamp(48px, 6vw, 88px);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.5) 55%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.5) 55%, transparent 100%);
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 200;
  pointer-events: none;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}

::selection { background: var(--sig); color: #051007; }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--ink); }
::-webkit-scrollbar-thumb { background: #294332; border: 2px solid var(--ink); border-radius: 10px; }

.wrap { max-width: var(--max); }
.section { padding: clamp(100px, 12vw, 180px) 0; isolation: isolate; }
.section--tight { padding: clamp(64px, 8vw, 112px) 0; }
.section::after {
  content: attr(data-section);
  position: absolute;
  top: 18px;
  right: var(--pad);
  color: var(--text-4);
  font: 9px/1 var(--mono);
  letter-spacing: .22em;
  text-transform: uppercase;
}

h1, h2, h3, h4 { text-wrap: balance; }
.h-display {
  max-width: 13ch;
  font-size: clamp(46px, 6.8vw, 104px);
  line-height: .94;
  letter-spacing: -.065em;
  font-weight: 500;
}
.h1 { font-size: clamp(46px, 6vw, 88px); line-height: .96; letter-spacing: -.06em; }
.h2 { font-size: clamp(34px, 4.1vw, 62px); line-height: 1.01; letter-spacing: -.048em; }
.h3 { font-size: clamp(19px, 1.7vw, 25px); line-height: 1.24; }
.lede { font-size: clamp(18px, 1.5vw, 22px); line-height: 1.55; color: #aeb8b0; }
.body-lg { font-size: clamp(17px, 1.3vw, 20px); }

.eyebrow {
  margin-bottom: 32px;
  color: var(--sig);
  font-size: 10px;
  letter-spacing: .24em;
}
.eyebrow::before { width: 34px; background: currentColor; }
.eyebrow .idx { display: inline-grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--sig-dim); border-radius: 50%; }

/* progress */
.scroll-progress { position: fixed; z-index: 110; right: 0; top: 0; width: 2px; height: 100vh; background: rgba(255,255,255,.025); }
.scroll-progress__bar { height: 100%; transform: scaleY(0); transform-origin: top; background: linear-gradient(var(--sig), transparent); }

.signal-field { position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; opacity: .72; }

/* classification */
.strip { position: relative; z-index: 62; background: #050706; border-color: var(--line); }
.strip__inner { height: 34px; color: #69726b; letter-spacing: .16em; }
.strip__inner::after { content: ""; position: absolute; bottom: -1px; left: 0; height: 1px; width: 80px; background: var(--sig); box-shadow: 0 0 18px var(--sig); animation: strip-scan 8s linear infinite; }
.dot { background: var(--sig); box-shadow: 0 0 0 4px var(--sig-glow), 0 0 18px var(--sig); animation: pulse-dot 2.4s ease-in-out infinite; }
@keyframes strip-scan { from { transform: translateX(-100px); } to { transform: translateX(calc(100vw + 100px)); } }
@keyframes pulse-dot { 50% { opacity: .38; transform: scale(.76); } }

/* header */
.hdr {
  top: 0;
  border: 0;
  background: rgba(5, 7, 6, .48);
  backdrop-filter: blur(22px) saturate(125%);
  -webkit-backdrop-filter: blur(22px) saturate(125%);
  transition: transform .6s var(--ease-out), background .4s, border-color .4s;
}
.hdr::after { content: ""; position: absolute; left: var(--pad); right: var(--pad); bottom: 0; height: 1px; background: var(--line); }
.hdr.is-compact { background: rgba(5, 7, 6, .88); }
.hdr.is-hidden { transform: translateY(-110%); }
.hdr__inner { height: 82px; }
.logo { gap: 13px; position: relative; }
.logo__mark { width: 37px; height: 28px; overflow: visible; color: var(--text); }
.logo__mark--ready path { fill: none !important; stroke: currentColor; stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; }
.logo__word { font-size: 17px; letter-spacing: -.02em; text-transform: none; font-weight: 570; }
.logo__word::after { content: "SYSTEMS"; display: block; margin-top: -2px; color: var(--text-4); font: 7px/1 var(--mono); letter-spacing: .48em; }

.nav { gap: clamp(2px, .7vw, 12px); }
.nav a { position: relative; padding: 8px 12px; color: #808b82; font: 10px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; background: none !important; }
.nav a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 1px; transform: scaleX(0); transform-origin: right; background: var(--sig); transition: transform .45s var(--ease-out); }
.nav a:hover::after, .nav a.is-active::after { transform: scaleX(1); transform-origin: left; }
.nav a.is-active { color: var(--text); }

.menu-toggle { display: none; width: 44px; height: 44px; place-items: center; border: 1px solid var(--line-2); color: var(--text); background: transparent; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after { content: ""; display: block; width: 18px; height: 1px; background: currentColor; transition: transform .4s var(--ease-out), opacity .25s; }
.menu-toggle span { margin: 5px 0; }
.menu-toggle[aria-expanded="true"] span { opacity: 0; }
.menu-toggle[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }

.mobile-menu { position: fixed; inset: 0; z-index: 58; display: none; padding: 140px var(--pad) 50px; background: rgba(4,7,5,.98); clip-path: inset(0 0 100% 0); }
.mobile-menu__nav { display: grid; }
.mobile-menu__nav a { display: flex; align-items: baseline; justify-content: space-between; padding: 18px 0; border-bottom: 1px solid var(--line); color: var(--text); font-size: clamp(30px, 10vw, 56px); line-height: 1; letter-spacing: -.04em; }
.mobile-menu__nav a::after { content: attr(data-n); color: var(--sig); font: 9px/1 var(--mono); letter-spacing: .18em; }
.mobile-menu__meta { position: absolute; left: var(--pad); bottom: 34px; color: var(--text-4); font: 9px/1.7 var(--mono); letter-spacing: .16em; text-transform: uppercase; }

/* buttons */
.btn {
  position: relative;
  min-height: 50px;
  padding: 14px 22px;
  overflow: hidden;
  border-color: var(--line-2);
  border-radius: 0;
  font-size: 9px;
  letter-spacing: .19em;
  isolation: isolate;
  transition: border-color .4s, color .4s, transform .2s;
}
.btn::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: translateY(102%); background: var(--text); transition: transform .55s var(--ease-out); }
.btn:hover { color: var(--ink); border-color: var(--text); background: transparent; }
.btn:hover::before { transform: translateY(0); }
.btn--primary { color: #061008; border-color: var(--sig); background: var(--sig); }
.btn--primary::before { background: var(--text); }
.btn--primary:hover { color: var(--ink); border-color: var(--text); background: var(--sig); }
.btn--sm { min-height: 40px; padding: 10px 16px; }
.btn__arrow { transition: transform .45s var(--ease-out); }
.btn:hover .btn__arrow, .link-arrow:hover span { transform: translateX(5px); }
.link-arrow { position: relative; color: var(--sig); font-size: 9px; letter-spacing: .2em; }
.link-arrow span { display: inline-block; transition: transform .4s var(--ease-out); }

/* hero */
.hero {
  min-height: calc(100svh - 116px);
  display: flex;
  align-items: center;
  padding: clamp(70px, 9vw, 140px) 0 clamp(62px, 8vw, 116px);
  isolation: isolate;
}
.hero::before { content: ""; position: absolute; width: min(55vw, 760px); aspect-ratio: 1; right: -12vw; top: 50%; transform: translateY(-50%); border: 1px solid rgba(156,247,181,.08); border-radius: 50%; box-shadow: 0 0 0 8vw rgba(156,247,181,.012), 0 0 0 16vw rgba(156,247,181,.008); animation: orbit-breathe 8s ease-in-out infinite; }
.hero::after { top: 5%; right: -10%; left: auto; width: 70vw; height: 80vh; transform: none; background: radial-gradient(circle, rgba(66,217,121,.12), transparent 60%); filter: blur(30px); }
@keyframes orbit-breathe { 50% { transform: translateY(-50%) scale(1.035); opacity: .65; } }
.hero__grid { width: 100%; grid-template-columns: minmax(0, 1.5fr) minmax(340px, .66fr); gap: clamp(54px, 8vw, 140px); align-items: center; }
.hero .lede { max-width: 59ch; }
.hero__cta { margin-top: 48px; }
.hero-scroll { position: absolute; left: var(--pad); bottom: 18px; display: flex; align-items: center; gap: 12px; color: var(--text-4); font: 8px/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.hero-scroll::before { content: ""; width: 40px; height: 1px; background: var(--line-3); }

.word-mask { display: inline-block; overflow: hidden; padding: .06em .035em .12em; margin: -.06em -.035em -.12em; vertical-align: bottom; }
.word-mask > span { display: inline-block; will-change: transform; }

/* live dossier */
.spec {
  position: relative;
  border: 0;
  background: rgba(8, 12, 9, .78);
  box-shadow: 0 30px 90px rgba(0,0,0,.36), inset 0 0 0 1px var(--line-2);
  backdrop-filter: blur(16px);
  transform-style: preserve-3d;
  will-change: transform;
}
.spec::before, .spec::after { content: ""; position: absolute; width: 14px; height: 14px; pointer-events: none; }
.spec::before { top: -1px; left: -1px; border-top: 1px solid var(--sig); border-left: 1px solid var(--sig); }
.spec::after { right: -1px; bottom: -1px; border-right: 1px solid var(--sig); border-bottom: 1px solid var(--sig); }
.spec__hd { position: relative; min-height: 64px; padding: 16px 19px; color: var(--sig); }
.spec__hd::before { content: "LIVE"; margin-right: auto; padding: 4px 7px; color: #071008; background: var(--sig); font-size: 8px; }
.spec__hd::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--sig), transparent); animation: dossier-scan 3s ease-in-out infinite; }
@keyframes dossier-scan { 0%,100% { transform: scaleX(.05); opacity: .2; } 50% { transform: scaleX(1); opacity: .9; } }
.spec__row { position: relative; padding: 18px 20px 18px 23px; transition: background .3s, padding-left .45s var(--ease-out); }
.spec__row::before { content: ""; position: absolute; left: 0; top: 50%; width: 0; height: 1px; background: var(--sig); transition: width .4s var(--ease-out); }
.spec__row:hover { padding-left: 32px; background: rgba(156,247,181,.035); }
.spec__row:hover::before { width: 22px; }
.spec__k { color: var(--sig-dim); }

/* premise */
.premise { counter-reset: premise; }
.premise__item { position: relative; min-height: 290px; padding: 48px clamp(28px, 4vw, 58px); overflow: hidden; border-color: var(--line); transition: background .4s; }
.premise__item:first-child { padding-left: 0; }
.premise__item::after { counter-increment: premise; content: "0" counter(premise); position: absolute; right: 18px; bottom: -38px; color: rgba(156,247,181,.035); font-size: 150px; font-weight: 600; line-height: 1; letter-spacing: -.08em; transition: transform .7s var(--ease-out), color .4s; }
.premise__item:hover { background: linear-gradient(150deg, rgba(156,247,181,.04), transparent 55%); }
.premise__item:hover::after { transform: translateY(-14px); color: rgba(156,247,181,.065); }
.premise__n { color: var(--sig); }
.premise__t { max-width: 17ch; font-size: clamp(22px, 2vw, 30px); line-height: 1.15; }
.premise__d { font-size: 14px; }

/* section compositions */
.sec-head { grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr); gap: clamp(50px, 10vw, 150px); margin-bottom: clamp(54px, 7vw, 100px); }
.sec-head p { font-size: clamp(15px, 1.15vw, 18px); }
.split, .split--rev { gap: clamp(58px, 8vw, 130px); }

/* interactive surfaces */
.cards { gap: 12px; padding: 0; overflow: visible; border: 0; background: transparent; grid-template-columns: repeat(6, 1fr); }
.card { position: relative; grid-column: span 2; min-height: 320px; padding: 32px; overflow: hidden; border: 1px solid var(--line); background: rgba(9,13,10,.72); transform-style: preserve-3d; transition: border-color .45s, background .45s; }
.card:nth-child(4), .card:nth-child(5) { grid-column: span 3; }
.card::before { content: ""; position: absolute; inset: -1px; opacity: 0; background: radial-gradient(360px circle at var(--cx, 50%) var(--cy, 50%), rgba(156,247,181,.12), transparent 45%); transition: opacity .35s; pointer-events: none; }
.card::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: var(--sig); transition: width .75s var(--ease-out); }
.card:hover { border-color: rgba(156,247,181,.35); background: #0b100c; }
.card:hover::before { opacity: 1; }
.card:hover::after { width: 100%; }
.card > * { position: relative; z-index: 1; transform: translateZ(18px); }
.card__t { max-width: 18ch; font-size: clamp(20px, 1.65vw, 26px); }
.card__id { color: var(--sig); }
.card--primary { background: linear-gradient(140deg, rgba(255,154,105,.08), transparent 50%), #0b100c; }

.panel { position: relative; overflow: hidden; border-color: var(--line); border-radius: 0; background: rgba(9,13,10,.66); transition: transform .6s var(--ease-out), border-color .4s, background .4s; }
.panel::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; transform: scaleX(0); transform-origin: left; background: var(--sig); transition: transform .6s var(--ease-out); }
.panel:hover { transform: translateY(-8px); border-color: var(--line-3); background: rgba(13,19,14,.9); }
.panel:hover::after { transform: scaleX(1); }

.tag { border-radius: 999px; }
.tag--sig { color: var(--sig); }
.tag--alert { color: var(--alert); }

/* figure + terminal */
.figure { position: relative; border-radius: 0; background: rgba(7,11,8,.82); box-shadow: 0 40px 100px rgba(0,0,0,.3); }
.figure__hd, .term__hd { color: var(--sig); }
.figure__body { padding: clamp(20px, 3vw, 42px); }
.figure svg { overflow: visible; }
.term { position: relative; border-radius: 0; background: #030504; box-shadow: 0 40px 120px rgba(0,0,0,.34); }
.term::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(transparent 50%, rgba(0,0,0,.15) 50%); background-size: 100% 4px; opacity: .18; }
.term__body { font-size: clamp(10px, .92vw, 13px); }
.term-caret { display: inline-block; width: 7px; height: 1em; margin-left: 4px; vertical-align: -.15em; background: var(--sig); animation: caret 1s steps(1) infinite; }
@keyframes caret { 50% { opacity: 0; } }

.callout { position: relative; border-radius: 0; border-left-width: 1px; background: linear-gradient(90deg, var(--alert-dim), transparent); }
.callout--sig { background: linear-gradient(90deg, var(--sig-glow), transparent); }
.checks li::before { transform: rotate(45deg); }

.rail { border-left-color: var(--line-2); }
.rail__item { opacity: .52; transition: opacity .45s, transform .6s var(--ease-out); }
.rail__item::before { background: var(--ink); border: 1px solid var(--sig); box-shadow: 0 0 0 5px var(--ink); transition: background .35s, box-shadow .35s; }
.rail__item:hover, .rail__item.is-active { opacity: 1; transform: translateX(8px); }
.rail__item:hover::before, .rail__item.is-active::before { background: var(--sig); box-shadow: 0 0 0 5px var(--ink), 0 0 22px var(--sig); }

.eng { gap: 14px; overflow: visible; border: 0; background: transparent; }
.eng__col { position: relative; padding: clamp(34px, 4vw, 58px); border: 1px solid var(--line); background: rgba(9,13,10,.7); }
.eng__col::after { content: attr(data-mode); position: absolute; right: 28px; top: 22px; color: rgba(156,247,181,.05); font-size: clamp(80px, 10vw, 140px); font-weight: 600; line-height: 1; }

.stmt { max-width: 1080px; padding-left: clamp(28px, 4vw, 60px); border-left-width: 1px; }
.stmt p { font-size: clamp(28px, 4vw, 58px); line-height: 1.13; letter-spacing: -.045em; }

/* interior page hero */
.phead {
  min-height: min(720px, 70svh);
  display: flex;
  align-items: flex-end;
  padding: clamp(100px, 13vw, 190px) 0 clamp(74px, 9vw, 130px);
  overflow: hidden;
  isolation: isolate;
}
.phead::before { content: ""; position: absolute; width: 44vw; height: 44vw; min-width: 420px; min-height: 420px; right: -10vw; top: 50%; transform: translateY(-50%); border: 1px solid rgba(156,247,181,.1); border-radius: 50%; box-shadow: 0 0 0 80px rgba(156,247,181,.01), 0 0 0 160px rgba(156,247,181,.008); }
.phead::after { content: ""; position: absolute; top: 50%; right: 9vw; width: 8px; height: 8px; border-radius: 50%; background: var(--sig); box-shadow: 0 0 40px 10px rgba(156,247,181,.55); animation: phead-orbit 7s ease-in-out infinite; }
@keyframes phead-orbit { 50% { transform: translate(-24vw, 12vw); opacity: .3; } }
.phead__grid { width: 100%; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .55fr); gap: clamp(50px, 10vw, 160px); }
.phead .h1 { max-width: 13ch; }
.crumb { color: var(--sig); }

.entry { padding: clamp(60px, 8vw, 110px) 0; grid-template-columns: minmax(170px, 240px) minmax(0, 1fr); gap: clamp(50px, 8vw, 120px); }
.entry__id { font-size: 13px; }
.entry__meta .row { transition: color .25s, padding-left .35s var(--ease-out); }
.entry__meta .row:hover { color: var(--sig); padding-left: 7px; }

.table-wrap { border-radius: 0; background: rgba(8,12,9,.75); }
tbody tr { transition: background .25s; }
tbody tr:hover { background: rgba(156,247,181,.035); }

.field input, .field select, .field textarea { border-radius: 0; background: rgba(5,7,6,.6); transition: border-color .35s, background .35s, box-shadow .35s; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--sig); background: rgba(11,16,12,.92); box-shadow: 0 0 0 3px rgba(156,247,181,.06); }

/* CTA/footer */
.cta { padding: clamp(100px, 12vw, 180px) 0; background: #080b09; isolation: isolate; }
.cta::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 calc(10% - 1px), var(--line) calc(10% - 1px) 10%); opacity: .28; }
.cta::after { width: 100vw; height: 100%; bottom: -50%; background: radial-gradient(ellipse, rgba(66,217,121,.18), transparent 64%); }
.cta__grid { grid-template-columns: minmax(0, 1.5fr) minmax(300px, .5fr); }
.cta .h1 { max-width: 13ch; }

.ftr { padding-top: 80px; background: #040605; }
.ftr__grid { padding-bottom: 72px; }
.ftr .logo__mark { width: 54px; height: 38px; }
.ftr .logo__word { font-size: 22px; }
.ftr__list a { display: inline-block; transition: color .25s, transform .4s var(--ease-out); }
.ftr__list a:hover { color: var(--sig); transform: translateX(5px); }

/* reveal initial states only after motion runtime is ready */
.motion-ready [data-reveal] { visibility: visible; }

@media (max-width: 1080px) {
  .hero__grid, .split, .split--rev, .cta__grid, .phead__grid, .sec-head { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .hero__grid { align-items: start; }
  .hero .spec { max-width: 680px; }
  .cards { grid-template-columns: repeat(2, 1fr); }
  .card, .card:nth-child(4), .card:nth-child(5) { grid-column: span 1; }
  .card:last-child { grid-column: 1 / -1; }
  .premise__item { min-height: 0; padding: 38px 0; }
  .entry { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  :root { --pad: 20px; }
  body { cursor: auto; }
  .strip { display: none; }
  .hdr__inner { height: 72px; padding: 0; flex-wrap: nowrap; }
  .hdr .nav, .hdr .btn--sm { display: none; }
  .menu-toggle { display: grid; margin-left: auto; }
  .mobile-menu { display: block; }
  .logo__mark { width: 34px; }
  .hero { min-height: auto; padding-top: 84px; }
  .hero::before { width: 90vw; right: -45vw; top: 35%; }
  .hero-scroll { display: none; }
  .h-display { font-size: clamp(45px, 13.5vw, 74px); }
  .h1 { font-size: clamp(43px, 12vw, 70px); }
  .h2 { font-size: clamp(32px, 9vw, 48px); }
  .hero__grid { gap: 62px; }
  .hero__cta { display: grid; }
  .hero__cta .btn { justify-content: space-between; }
  .cards { grid-template-columns: 1fr; }
  .card, .card:nth-child(4), .card:nth-child(5), .card:last-child { grid-column: auto; min-height: 280px; }
  .phead { min-height: 560px; }
  .section { padding: 90px 0; }
  .ftr__grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .logo__word { font-size: 15px; }
  .spec__row { padding: 16px; }
  .card, .eng__col, .panel { padding: 26px 22px; }
  .stmt p { font-size: 28px; }
  .term__body { font-size: 9px; }
}

@media (hover: none) {
  .card::before { display: none; }
  .panel:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .signal-field { display: none !important; }
  .strip__inner::after, .dot, .hero::before, .phead::after, .spec__hd::after { animation: none !important; }
  .word-mask { overflow: visible; }
}

/* ============================================================
   ART DIRECTION / 02
   Less interface theatre. More identity, atmosphere and intent.
   ============================================================ */

:root {
  --sig: #b9ffc9;
  --sig-2: #6be78c;
  --sig-glow: rgba(128, 255, 162, .09);
  --display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --sans: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --code: ui-monospace, "SFMono-Regular", "Cascadia Code", Consolas, monospace;
}

body {
  background:
    radial-gradient(75vw 52vw at 78% -5%, rgba(115, 255, 154, .075), transparent 62%),
    radial-gradient(42vw 40vw at 2% 48%, rgba(187, 255, 202, .025), transparent 70%),
    var(--ink);
}

h1, h2, h3, h4,
.h-display, .h1, .h2, .h3, .h4,
.stmt p,
.research-case__body h3 {
  font-family: var(--display);
  font-weight: 400;
}
.h-display { letter-spacing: -.055em; }
.h1 { letter-spacing: -.048em; }
.h2 { letter-spacing: -.04em; }
.h3, .h4 { letter-spacing: -.018em; }
.logo__word,
.nav,
.btn,
.eyebrow,
.tag,
.crumb,
.ftr__h,
.mono { font-family: var(--sans); }
.term, .term__hd, .term__body { font-family: var(--code); }
.figure svg .dg-lbl,
.figure svg .dg-hd,
.figure svg .dg-s,
.figure svg .dg-al { font-family: var(--sans) !important; }

body::before {
  opacity: .18;
  background-image: linear-gradient(to right, rgba(230,255,236,.04) 1px, transparent 1px);
  background-size: 25vw 100%;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 75%);
  mask-image: linear-gradient(to bottom, #000, transparent 75%);
}

.signal-field { display: none; }
.scroll-progress { width: 1px; background: transparent; }
.scroll-progress__bar { background: var(--sig); box-shadow: 0 0 18px rgba(185,255,201,.45); }

/* No scanning or radar theatre */
.strip__inner::after { display: none; }
.dot { animation: none; box-shadow: none; }
.spec__hd::after { display: none; }
.hero::before, .phead::before {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: url("averon-mark.svg") center / contain no-repeat;
  filter: drop-shadow(0 0 70px rgba(123,255,159,.34));
  opacity: .055;
  animation: none;
}
.hero::before {
  width: min(58vw, 900px);
  height: min(44vw, 680px);
  right: -7vw;
  top: 48%;
  transform: translateY(-50%) rotate(-2deg);
}
.hero { min-height: calc(100svh - 82px); }
.hero::after {
  top: -18%;
  right: -18%;
  width: 68vw;
  height: 100%;
  background: radial-gradient(ellipse, rgba(100,255,142,.105), transparent 67%);
  filter: blur(60px);
}
.phead::before {
  width: min(50vw, 760px);
  height: min(38vw, 580px);
  min-width: 0;
  min-height: 0;
  right: -5vw;
  top: 48%;
  transform: translateY(-50%);
}
.phead::after { display: none; }

/* Editorial typography */
.h-display { max-width: 12.2ch; font-weight: 470; }
.h-display .word-mask:last-child > span { color: var(--sig); }
.h1, .h2 { font-weight: 470; }
.section::after { opacity: .7; }
.section::after { display: none; }
.section-motion-rail {
  position: absolute;
  z-index: 3;
  top: -1px;
  left: var(--pad);
  right: var(--pad);
  height: 1px;
  overflow: hidden;
  pointer-events: none;
}
.section-motion-rail i {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left;
  background: linear-gradient(90deg, var(--sig), rgba(185,255,201,.16) 58%, transparent);
  box-shadow: 0 0 18px rgba(185,255,201,.32);
}
.section-motion-index {
  position: absolute;
  z-index: 3;
  top: 20px;
  right: var(--pad);
  color: var(--text-4);
  font: 9px/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  pointer-events: none;
}
.section-aura {
  position: absolute;
  z-index: -1;
  top: 18%;
  left: 26%;
  width: min(58vw, 820px);
  aspect-ratio: 1.25;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(113,255,153,.055), rgba(113,255,153,.012) 38%, transparent 70%);
  pointer-events: none;
  will-change: transform;
}
.eyebrow { color: #a9b2aa; }
.eyebrow::before { background: var(--sig); }
.eyebrow .idx { color: var(--sig); border-color: rgba(185,255,201,.32); }

/* Remove hover gimmicks; make controls feel physical and simple */
.btn { transform: none; }
.btn::before { transition-duration: .42s; }
.spec { transform: none; }
.spec::before, .spec::after { display: none; }
.spec__hd { min-height: 52px; color: #879087; }
.spec__hd::before { display: none; }
.spec__row { padding: 20px 0; margin: 0 22px; }
.spec__row::before { display: none; }
.spec__row:hover { padding-left: 0; background: transparent; }
.spec__k { color: var(--text-4); }

/* Threat register: one confident list, not a dashboard of cards */
.cards {
  display: block;
  border-top: 1px solid var(--line-2);
  background: transparent;
}
.card,
.card:nth-child(4),
.card:nth-child(5),
.card:last-child {
  display: grid;
  grid-template-columns: minmax(130px, .45fr) minmax(230px, .8fr) minmax(300px, 1.25fr);
  grid-template-rows: auto auto;
  column-gap: clamp(32px, 6vw, 96px);
  min-height: 0;
  padding: 36px 0 40px;
  border: 0;
  border-bottom: 1px solid var(--line-2);
  background: transparent;
  transform: none;
}
.card::before { display: none; }
.card::after { bottom: -1px; }
.card > * { transform: none; }
.card__top { grid-column: 1; grid-row: 1 / 3; align-content: start; flex-direction: column; align-items: flex-start; justify-content: flex-start; }
.card__t { grid-column: 2; grid-row: 1 / 3; margin: 0; max-width: 16ch; font-size: clamp(23px, 2.1vw, 32px); }
.card__d { grid-column: 3; grid-row: 1; margin: 0; color: #929d94; }
.card__f { grid-column: 3; grid-row: 2; align-self: end; padding-top: 22px; }
.card:hover { border-color: var(--line-2); background: transparent; }
.card:hover .card__t { color: var(--sig); }
.card--primary { background: transparent; }

/* Panels become architectural planes */
.panel {
  padding: 32px 0 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid var(--line-2);
  background: transparent;
  transform: none;
}
.panel::after { top: -1px; bottom: auto; width: 54px; transform: scaleX(1); }
.panel:hover { transform: none; border-color: var(--line-2); background: transparent; }
.eng { gap: 0; border-top: 1px solid var(--line-2); }
.eng__col { border: 0; border-bottom: 1px solid var(--line-2); background: transparent; }
.eng__col + .eng__col { border-left: 1px solid var(--line-2); }
.eng__col::after { color: rgba(185,255,201,.025); }

.term::after { display: none; }
.figure, .term { box-shadow: 0 50px 120px rgba(0,0,0,.22); }

/* Singular high-contrast conversion moment */
.cta {
  color: #152018;
  background: #c8fbd3;
}
.cta::before { opacity: .08; background-image: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 1px), #071008 calc(12.5% - 1px) 12.5%); }
.cta::after { background: radial-gradient(ellipse, rgba(255,255,255,.78), transparent 65%); }
.cta .h1, .cta strong { color: #061008; }
.cta .lede { color: #344c39; }
.cta .mono { color: #54705a !important; }
.cta .btn--primary { color: var(--text); border-color: #061008; background: #061008; }
.cta .btn--primary::before { background: #fff; }
.cta .btn--primary:hover { color: #061008; }

.ftr { position: relative; overflow: hidden; }
.ftr::before {
  content: "AVERON";
  position: absolute;
  left: -1.2vw;
  bottom: -8vw;
  color: rgba(255,255,255,.022);
  font-size: 26vw;
  font-weight: 600;
  line-height: .7;
  letter-spacing: -.085em;
  pointer-events: none;
}
.ftr .wrap { z-index: 1; }

.logo__mark--ready path { stroke-dasharray: 340; stroke-dashoffset: 0; }
.logo:hover .logo__mark--ready path:first-child { animation: logo-trace .72s var(--ease-out); }
.logo:hover .logo__mark--ready path:last-child { animation: logo-trace .72s .08s var(--ease-out); }
@keyframes logo-trace {
  0% { stroke-dashoffset: 0; opacity: 1; }
  45% { stroke-dashoffset: 340; opacity: .25; }
  46% { stroke-dashoffset: -340; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}

/* Public research record */
.research-case {
  display: grid;
  grid-template-columns: minmax(180px, .55fr) minmax(420px, 1.6fr) minmax(170px, .45fr);
  gap: clamp(38px, 7vw, 110px);
  padding: clamp(38px, 5vw, 72px) 0;
  border-top: 1px solid var(--line-2);
  border-bottom: 1px solid var(--line-2);
}
.research-case__identity,
.research-case__credit { display: flex; flex-direction: column; align-items: flex-start; }
.research-case__label,
.research-case__date,
.research-case__credit span,
.credential-band__k {
  color: var(--text-4);
  font: 9px/1.5 var(--mono);
  letter-spacing: .17em;
  text-transform: uppercase;
}
.research-case__vu {
  margin: 18px 0 auto;
  color: var(--sig);
  font-size: clamp(27px, 3vw, 42px);
  line-height: 1;
  letter-spacing: -.04em;
}
.research-case__vu span { display: inline-block; font-size: .45em; vertical-align: top; transition: transform .35s var(--ease-out); }
.research-case__vu:hover span { transform: translate(4px, -4px); }
.research-case__body h3 { max-width: 20ch; margin-bottom: 22px; font-size: clamp(28px, 3.2vw, 48px); line-height: 1.05; letter-spacing: -.045em; }
.research-case__body > p { color: #929d94; font-size: 15px; }
.research-cves { display: grid; margin-top: 36px; border-top: 1px solid var(--line); }
.research-cves a { display: grid; grid-template-columns: 170px 1fr; gap: 26px; padding: 18px 0; border-bottom: 1px solid var(--line); transition: color .25s; }
.research-cves a:hover { color: var(--sig); }
.research-cves span { color: var(--sig); font: 10px/1.5 var(--mono); letter-spacing: .1em; }
.research-cves strong { color: inherit; font-size: 14px; font-weight: 450; }
.research-case__credit { gap: 9px; padding-left: 22px; border-left: 1px solid var(--line); }
.research-case__credit strong { margin: 5px 0 18px; color: var(--text); font-size: 18px; font-weight: 480; }

.credential-band {
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(360px, 1.1fr) auto;
  gap: clamp(30px, 5vw, 80px);
  align-items: center;
  margin-top: 18px;
  padding: 30px 32px;
  background: rgba(185,255,201,.045);
  border: 1px solid rgba(185,255,201,.13);
}
.credential-band h3 { margin-top: 8px; font-size: 20px; }
.credential-band p { margin: 0; color: #8f9a91; font-size: 14px; }

@media (max-width: 1080px) {
  .research-case { grid-template-columns: 170px 1fr; }
  .research-case__credit { grid-column: 2; flex-direction: row; align-items: center; gap: 16px; padding: 20px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .research-case__credit strong { margin: 0 auto 0 0; }
  .credential-band { grid-template-columns: 1fr 1fr; }
  .credential-band .link-arrow { grid-column: 1 / -1; }
}

@media (max-width: 1080px) {
  .card,
  .card:nth-child(4),
  .card:nth-child(5),
  .card:last-child {
    grid-template-columns: 120px 1fr;
    gap: 24px 44px;
  }
  .card__top { grid-column: 1; grid-row: 1 / 4; }
  .card__t { grid-column: 2; grid-row: 1; }
  .card__d { grid-column: 2; grid-row: 2; }
  .card__f { grid-column: 2; grid-row: 3; }
}

@media (max-width: 820px) {
  body::before { display: none; }
  .hero::before { width: 105vw; height: 80vw; right: -50vw; top: 30%; opacity: .04; }
  .phead::before { width: 90vw; height: 68vw; right: -42vw; opacity: .04; }
  .card,
  .card:nth-child(4),
  .card:nth-child(5),
  .card:last-child {
    display: block;
    min-height: 0;
    padding: 30px 0 34px;
  }
  .card__top { flex-direction: row; align-items: center; justify-content: space-between; margin-bottom: 24px; }
  .card__t { margin-bottom: 16px; }
  .card__f { margin-top: 22px; }
  .eng__col + .eng__col { border-left: 0; }
  .research-case { display: block; }
  .research-case__identity { margin-bottom: 40px; }
  .research-case__vu { margin-bottom: 22px; }
  .research-case__credit { display: flex; margin-top: 34px; }
  .research-cves a { grid-template-columns: 1fr; gap: 6px; }
  .credential-band { grid-template-columns: 1fr; padding: 26px 22px; }
  .credential-band .link-arrow { grid-column: auto; }
  .section-motion-rail { left: var(--pad); right: var(--pad); }
  .section-aura { width: 110vw; left: -5vw; opacity: .7; }
}
