/* SPDX-License-Identifier: CC-BY-4.0 */
:root {
  --ink: #111b29;
  --ink-soft: #526176;
  --paper: #f7f8f4;
  --paper-deep: #eef0eb;
  --line: #d9dfd7;
  --night: #0d1725;
  --night-2: #142235;
  --night-3: #1b2c42;
  --mint: #99d8a7;
  --mint-deep: #276848;
  --amber: #f4c864;
  --violet: #c5b1e5;
  --coral: #e98772;
  --shadow: 0 24px 70px rgba(16, 27, 41, .11);
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --sans: Inter, Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }
.skip-link { position: fixed; z-index: 100; top: -50px; left: 20px; padding: 10px 14px; border-radius: 8px; color: var(--night); background: white; font-weight: 800; transition: top .2s; }
.skip-link:focus { top: 16px; outline: 3px solid var(--amber); }

.site-header { position: absolute; z-index: 10; inset: 0 0 auto; color: #eaf0f8; }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; height: 84px; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 800; letter-spacing: -.045em; white-space: nowrap; }
.brand > span:last-child > span { color: var(--mint); }
.brand-mark { display: inline-grid; grid-template-columns: repeat(3, 4px); align-items: center; gap: 3px; width: 19px; height: 20px; }
.brand-mark i { display: block; width: 4px; background: currentColor; border-radius: 999px; }
.brand-mark i:nth-child(1) { height: 8px; align-self: center; }.brand-mark i:nth-child(2) { height: 18px; }.brand-mark i:nth-child(3) { height: 12px; align-self: end; }
.nav { display: flex; align-items: center; gap: 28px; margin-left: auto; font-size: 13px; color: #b7c4d3; }
.nav a, .nav-source, .text-link, .site-footer a { transition: color .2s ease, opacity .2s ease; }
.nav a:hover, .nav a:focus-visible { color: white; }
.nav-source { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid rgba(234, 240, 248, .25); border-radius: 8px; font: 700 12px var(--mono); }
.nav-source:hover, .nav-source:focus-visible { border-color: var(--mint); color: var(--mint); }

.hero { position: relative; overflow: hidden; padding: 156px 0 90px; color: #f6f8fb; background: var(--night); }
.hero::before { content: ""; position: absolute; width: 660px; height: 660px; left: -160px; bottom: -360px; border-radius: 50%; background: radial-gradient(circle, rgba(81, 143, 111, .32), rgba(13,23,37,0) 67%); pointer-events: none; }
.hero::after { content: ""; position: absolute; width: 500px; height: 500px; right: -180px; top: -170px; border-radius: 50%; background: radial-gradient(circle, rgba(75, 107, 150, .32), rgba(13,23,37,0) 68%); pointer-events: none; }
.hero-grid-lines { position: absolute; z-index: 0; inset: 0; opacity: .32; background-image: linear-gradient(rgba(165, 188, 215, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(165, 188, 215, .06) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, black, transparent 88%); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(380px, .96fr); align-items: center; gap: 72px; }
.eyebrow, .section-kicker { margin: 0 0 18px; color: var(--mint); font: 700 11px/1.4 var(--mono); letter-spacing: .12em; }
.eyebrow { display: flex; align-items: center; gap: 8px; }
.pulse { width: 8px; height: 8px; border-radius: 999px; background: var(--mint); box-shadow: 0 0 0 5px rgba(153,216,167,.12); }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 750px; margin-bottom: 24px; font-size: clamp(2.75rem, 5.5vw, 5rem); line-height: 1.08; letter-spacing: -.067em; font-weight: 760; }
h1 em { color: var(--mint); font-style: normal; }
.hero-lede { max-width: 620px; margin-bottom: 32px; color: #bdc9d7; font-size: 18px; line-height: 1.7; word-break: keep-all; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 48px; padding: 12px 17px; border: 1px solid transparent; border-radius: 9px; font-size: 14px; font-weight: 750; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }.button:focus-visible, .nav a:focus-visible, .nav-source:focus-visible, .text-link:focus-visible, .site-footer a:focus-visible { outline: 3px solid var(--amber); outline-offset: 4px; }
.button-primary { color: #10211a; background: var(--mint); }.button-primary:hover { background: #b4ecbd; }
.button-quiet { color: #dce5ef; border-color: rgba(217, 228, 239, .28); }.button-quiet:hover { border-color: rgba(217, 228, 239, .62); background: rgba(255,255,255,.06); }
.hero-facts { display: flex; flex-wrap: wrap; gap: 24px; margin: 46px 0 0; }
.hero-facts div { min-width: 126px; }.hero-facts dt { margin-bottom: 4px; color: #8092a8; font: 700 9px var(--mono); letter-spacing: .12em; }.hero-facts dd { margin: 0; color: #dce6f0; font: 600 12px var(--mono); }

.hero-system { position: relative; padding: 22px; border: 1px solid rgba(198, 216, 236, .16); border-radius: 18px; background: linear-gradient(145deg, rgba(27,44,66,.95), rgba(15,27,42,.92)); box-shadow: 0 25px 70px rgba(0,0,0,.25); }
.system-topline, .figure-toolbar { display: flex; justify-content: space-between; gap: 12px; color: #9bacbf; font: 700 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }.system-topline span:last-child { color: var(--mint); }
.system-request, .system-result { display: flex; align-items: center; gap: 12px; margin-top: 20px; padding: 13px; border: 1px solid rgba(207,225,242,.13); border-radius: 10px; background: rgba(255,255,255,.045); }
.request-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 7px; color: var(--amber); background: rgba(244,200,100,.12); font: 700 15px var(--mono); }.system-request small, .system-result small { display: block; color: #8396ac; font: 700 8px var(--mono); letter-spacing: .08em; }.system-request strong, .system-result strong { display: block; color: #f3f6fa; font: 700 12px var(--mono); }.request-state { margin-left: auto; color: var(--mint); font: 600 9px var(--mono); }
.system-arrow { height: 20px; margin-left: 28px; border-left: 1px dashed rgba(173,205,191,.7); }.system-arrow span { display: block; width: 5px; height: 5px; margin: 15px 0 0 -3px; border-right: 1px solid var(--mint); border-bottom: 1px solid var(--mint); transform: rotate(45deg); }
.tier-stack { display: grid; gap: 8px; }.tier-card { display: grid; grid-template-columns: 76px 1fr auto; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid; border-radius: 10px; }.tier-card strong { display: block; font-size: 12px; }.tier-card p { margin: 1px 0 0; color: #91a2b6; font-size: 10px; }.tier-label { display: flex; align-items: center; gap: 7px; }.tier-label span { font: 800 14px var(--mono); }.tier-label small { font: 700 8px var(--mono); letter-spacing: .05em; }.tier-card code { font: 700 10px var(--mono); }
.tier-l1 { border-color: rgba(153,216,167,.37); background: rgba(73,130,92,.12); }.tier-l1 .tier-label span, .tier-l1 code { color: var(--mint); }.tier-l2 { border-color: rgba(244,200,100,.3); background: rgba(143,112,49,.1); }.tier-l2 .tier-label span, .tier-l2 code { color: var(--amber); }.tier-l3 { border-color: rgba(197,177,229,.32); background: rgba(112,85,152,.1); }.tier-l3 .tier-label span, .tier-l3 code { color: var(--violet); }
.system-result { margin-top: 16px; border-color: rgba(153,216,167,.22); }.result-check { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; color: #112b1b; background: var(--mint); font-weight: 900; }.live-dot { width: 6px; height: 6px; margin-left: auto; border-radius: 50%; background: var(--mint); box-shadow: 0 0 12px var(--mint); }.system-note { margin: 13px 2px 0; color: #7e91a6; font-size: 10px; line-height: 1.45; }

.section { padding: 126px 0; }.section-heading { max-width: 680px; }.section-heading h2, .prototype-section h2 { margin-bottom: 20px; font-size: clamp(2.25rem, 4.2vw, 3.7rem); line-height: 1.12; letter-spacing: -.06em; }.section-heading > p:last-child { color: var(--ink-soft); font-size: 17px; line-height: 1.75; word-break: keep-all; }.split-heading { display: grid; grid-template-columns: 1fr 1.15fr; max-width: none; column-gap: 60px; align-items: end; }.split-heading .section-kicker { grid-column: 1 / -1; }.split-heading h2 { margin-bottom: 0; }.split-heading > p:last-child { margin: 0 0 4px; }
.threat-section { background: #f4f5f0; }.threat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 62px; }.threat-card { position: relative; min-height: 290px; padding: 26px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fbfcf9; transition: transform .2s ease, box-shadow .2s ease; }.threat-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }.threat-index { position: absolute; top: 22px; right: 22px; color: #9ba69f; font: 700 10px var(--mono); }.threat-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 46px; border-radius: 10px; font: 700 20px var(--mono); }.command { color: #725113; background: #fff1ce; }.file { color: #20613c; background: #dff3e5; }.network { color: #574178; background: #ebe2fa; }.threat-card h3 { margin-bottom: 8px; font-size: 21px; letter-spacing: -.045em; }.threat-card p { color: var(--ink-soft); font-size: 14px; line-height: 1.65; }.threat-card code { position: absolute; bottom: 23px; color: #586675; font: 600 10px var(--mono); }

.pipeline-section { color: #edf4fb; background: var(--night-2); }.pipeline-section .section-heading > p:last-child { color: #acbdce; }.pipeline-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .72fr); align-items: start; gap: 26px; margin-top: 62px; }.pipeline-list { display: grid; gap: 10px; padding: 0; margin: 0; list-style: none; }.pipeline-step { display: grid; grid-template-columns: 38px 1fr auto; gap: 18px; align-items: start; padding: 22px; border: 1px solid rgba(214,230,243,.14); border-left-width: 3px; border-radius: 10px; background: rgba(255,255,255,.035); }.pipeline-step .step-number { padding-top: 4px; color: #8498ad; font: 700 10px var(--mono); }.pipeline-step .step-type { margin-bottom: 5px; font: 700 10px var(--mono); letter-spacing: .09em; }.pipeline-step h3 { margin-bottom: 7px; font-size: 19px; letter-spacing: -.04em; }.pipeline-step div > p:last-child { margin: 0; color: #a7b7c8; font-size: 13px; line-height: 1.6; }.pipeline-step > strong { align-self: center; padding: 5px 7px; border-radius: 5px; font: 700 9px var(--mono); white-space: nowrap; }.step-l1 { border-left-color: var(--mint); }.step-l1 .step-type, .step-l1 > strong { color: var(--mint); background: rgba(153,216,167,.09); }.step-l2 { border-left-color: var(--amber); }.step-l2 .step-type, .step-l2 > strong { color: var(--amber); background: rgba(244,200,100,.08); }.step-l3 { border-left-color: var(--violet); }.step-l3 .step-type, .step-l3 > strong { color: var(--violet); background: rgba(197,177,229,.09); }
.epoch-card { position: sticky; top: 22px; padding: 27px; border: 1px solid rgba(153,216,167,.27); border-radius: 13px; color: #dff4e4; background: linear-gradient(160deg, #1b3a32, #112c2a); }.epoch-label { display: flex; align-items: center; gap: 8px; color: var(--mint); font: 700 9px var(--mono); letter-spacing: .08em; }.epoch-orbit { width: 10px; height: 10px; border: 2px solid var(--mint); border-radius: 50%; box-shadow: 0 0 0 4px rgba(153,216,167,.12); }.epoch-number { margin: 25px 0 -8px; color: #99bca8; font: 500 25px var(--mono); letter-spacing: -.08em; }.epoch-number span { color: #e8fff0; font-size: 72px; font-weight: 800; }.epoch-card h3 { margin: 23px 0 10px; font-size: 22px; line-height: 1.27; letter-spacing: -.045em; }.epoch-card > p { color: #b6d4c0; font-size: 13px; line-height: 1.65; }.epoch-flow { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-top: 24px; color: #a8c9b2; font: 700 9px var(--mono); }.epoch-flow span { padding: 5px 6px; border-radius: 4px; background: rgba(255,255,255,.07); }.epoch-flow .flow-active { color: #173924; background: var(--mint); }

.architecture-section { background: var(--paper); }.architecture-heading { max-width: 750px; }.architecture-figure { margin: 58px 0 0; overflow: hidden; border: 1px solid #cbd3cc; border-radius: 15px; background: white; box-shadow: var(--shadow); }.figure-toolbar { padding: 14px 18px; border-bottom: 1px solid #dbe0db; color: #657268; background: #f7f8f5; }.figure-toolbar span:first-child { display: inline-flex; align-items: center; gap: 8px; color: #1e2d26; }.figure-toolbar i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--mint-deep); }.figure-scroll { overflow-x: auto; padding: 22px; }.figure-scroll img { display: block; width: 100%; min-width: 790px; height: auto; }.architecture-figure figcaption { padding: 0 22px 18px; color: #69766d; font-size: 12px; }

.evidence-section { background: #e7ebe5; }.evidence-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }.evidence-copy { position: sticky; top: 30px; }.evidence-copy h2 { margin-bottom: 18px; font-size: clamp(2.15rem, 3.5vw, 3.2rem); line-height: 1.13; letter-spacing: -.058em; }.evidence-copy > p:last-of-type { color: var(--ink-soft); font-size: 16px; }.text-link { display: inline-flex; gap: 10px; margin-top: 20px; color: var(--mint-deep); border-bottom: 1px solid #8bb89a; font-size: 14px; font-weight: 800; }.text-link:hover { color: #163e29; }.evidence-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }.evidence-cards article { min-height: 210px; padding: 24px; border: 1px solid #cbd3cc; border-radius: 13px; background: rgba(255,255,255,.54); }.evidence-tag { display: inline-block; margin-bottom: 42px; padding: 4px 6px; color: #526b5c; border: 1px solid #b9c9bc; border-radius: 4px; font: 700 9px var(--mono); letter-spacing: .07em; }.evidence-cards h3 { margin-bottom: 8px; font-size: 18px; letter-spacing: -.04em; }.evidence-cards p { margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.65; }

.prototype-section { padding: 76px 0; color: #efefeb; background: #242a31; }.prototype-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }.prototype-mark { display: grid; place-items: center; width: 46px; height: 46px; color: #292514; border-radius: 50%; background: var(--amber); font: 800 26px var(--mono); }.prototype-section .section-kicker { margin-bottom: 8px; color: var(--amber); }.prototype-section h2 { margin-bottom: 10px; font-size: 28px; }.prototype-section p:last-child { max-width: 780px; margin: 0; color: #bac1c8; font-size: 14px; }.button-inverse { color: #1c2228; background: #f5f5f0; white-space: nowrap; }.button-inverse:hover { background: white; }

.site-footer { padding: 34px 0; color: #abb5bf; background: #161d25; }.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.site-footer .brand { color: #eff4f8; font-size: 17px; }.site-footer p { margin: 0; font: 500 11px var(--mono); }.site-footer div:last-child { display: flex; gap: 18px; font: 700 11px var(--mono); }.site-footer a:hover { color: var(--mint); }

@media (max-width: 900px) { .hero-grid { grid-template-columns: 1fr; gap: 54px; }.hero-copy { max-width: 720px; }.hero-system { max-width: 630px; }.split-heading, .evidence-grid { grid-template-columns: 1fr; gap: 20px; }.split-heading h2 { margin-bottom: 0; }.pipeline-layout { grid-template-columns: 1fr; }.epoch-card, .evidence-copy { position: static; }.evidence-grid { gap: 50px; }.prototype-inner { grid-template-columns: auto 1fr; }.prototype-inner .button { grid-column: 2; justify-self: start; }.section { padding: 94px 0; } }
@media (max-width: 680px) { .shell { width: min(100% - 36px, 1160px); }.nav { display: none; }.nav-wrap { height: 68px; }.nav-source { padding: 7px 9px; }.hero { padding: 120px 0 62px; }.hero-grid { gap: 42px; }.hero-lede { font-size: 16px; }.hero-facts { gap: 17px; margin-top: 34px; }.hero-facts div { min-width: 104px; }.hero-system { padding: 16px; }.tier-card { grid-template-columns: 67px 1fr; }.tier-card code { grid-column: 2; justify-self: start; }.section { padding: 76px 0; }.section-heading h2 { font-size: 2.25rem; }.section-heading > p:last-child { font-size: 15px; }.threat-grid, .evidence-cards { grid-template-columns: 1fr; }.threat-grid { margin-top: 42px; }.threat-card { min-height: 240px; }.pipeline-layout { margin-top: 42px; }.pipeline-step { grid-template-columns: 25px 1fr; gap: 12px; padding: 17px; }.pipeline-step > strong { grid-column: 2; justify-self: start; }.pipeline-step h3 { font-size: 17px; }.architecture-figure { margin-top: 40px; }.figure-toolbar span:last-child { display: none; }.evidence-cards article { min-height: auto; }.evidence-tag { margin-bottom: 25px; }.prototype-section { padding: 55px 0; }.prototype-inner { grid-template-columns: 1fr; gap: 17px; }.prototype-inner .button { grid-column: auto; }.prototype-mark { width: 38px; height: 38px; font-size: 21px; }.prototype-section h2 { font-size: 25px; }.footer-inner { align-items: flex-start; flex-direction: column; }.site-footer p { order: 3; }.site-footer div:last-child { order: 2; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* Motion layer — decorative only; `prefers-reduced-motion` below disables it. */
.nav a.is-current { color: var(--mint); }
.hero-atmosphere { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.orbit { position: absolute; display: block; border: 1px solid rgba(159, 215, 181, .19); border-radius: 50%; }
.orbit-one { width: 580px; height: 580px; left: 52%; top: 130px; transform: translateX(-50%); animation: orbit-drift 16s ease-in-out infinite; }
.orbit-two { width: 350px; height: 350px; right: -80px; bottom: -90px; border-color: rgba(197,177,229,.18); animation: orbit-drift-small 12s ease-in-out -4s infinite reverse; }
.packet { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 18px 3px rgba(153,216,167,.5); }
.packet-one { top: 27%; left: 55%; animation: packet-a 7s linear infinite; }
.packet-two { top: 68%; left: 68%; background: var(--amber); box-shadow: 0 0 18px 3px rgba(244,200,100,.38); animation: packet-b 8s linear -2.4s infinite; }
.packet-three { top: 48%; left: 88%; background: var(--violet); box-shadow: 0 0 18px 3px rgba(197,177,229,.38); animation: packet-c 9s linear -4.8s infinite; }
.pulse { animation: pulse 2.5s ease-out infinite; }
.hero-system { overflow: hidden; transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); transition: transform .3s ease-out, border-color .3s ease; }
.hero-system::before { content: ""; position: absolute; z-index: 0; inset: 0; border-radius: inherit; background: radial-gradient(260px circle at var(--glow-x, 65%) var(--glow-y, 20%), rgba(153,216,167,.11), transparent 66%); opacity: .9; pointer-events: none; }
.hero-system::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(110deg, transparent 21%, rgba(255,255,255,.06) 47%, transparent 62%); transform: translateX(-110%); animation: panel-sheen 7s ease-in-out 1.2s infinite; pointer-events: none; }
.hero-system > * { position: relative; z-index: 1; }.hero-system:hover { border-color: rgba(153,216,167,.42); }
.system-arrow span { animation: arrow-hop 1.6s ease-in-out infinite; }
.tier-card { position: relative; overflow: hidden; }.tier-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.1), transparent); transform: translateX(-130%); animation: tier-scan 5.5s ease-in-out infinite; }.tier-card:nth-child(2)::before { animation-delay: 1.1s; }.tier-card:nth-child(3)::before { animation-delay: 2.2s; }.tier-card > * { position: relative; z-index: 1; }
.live-dot { animation: live 1.9s ease-in-out infinite; }
html.js [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms), transform .65s cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms); }
html.js [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
html.js .hero-system[data-reveal] { transform: perspective(900px) translateY(22px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); }
html.js .hero-system[data-reveal].is-visible { transform: perspective(900px) translateY(0) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); }
@keyframes pulse { 0%, 100% { box-shadow: 0 0 0 5px rgba(153,216,167,.12); } 50% { box-shadow: 0 0 0 10px rgba(153,216,167,0); } }
@keyframes orbit-drift { 0%, 100% { transform: translateX(-50%) rotate(0deg) scale(1); } 50% { transform: translateX(-50%) rotate(8deg) scale(1.05); } }
@keyframes orbit-drift-small { 0%, 100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(8deg) scale(1.05); } }
@keyframes packet-a { 0% { transform: translate(0,0); opacity: 0; } 10%, 76% { opacity: 1; } 100% { transform: translate(280px,190px); opacity: 0; } }
@keyframes packet-b { 0% { transform: translate(0,0); opacity: 0; } 12%, 82% { opacity: 1; } 100% { transform: translate(-210px,-265px); opacity: 0; } }
@keyframes packet-c { 0% { transform: translate(0,0); opacity: 0; } 10%, 72% { opacity: 1; } 100% { transform: translate(-365px,145px); opacity: 0; } }
@keyframes panel-sheen { 0%, 62% { transform: translateX(-110%); } 82%, 100% { transform: translateX(110%); } }
@keyframes tier-scan { 0%, 56% { transform: translateX(-130%); } 72%, 100% { transform: translateX(130%); } }
@keyframes arrow-hop { 0%, 100% { opacity: .4; transform: translateY(0) rotate(45deg); } 50% { opacity: 1; transform: translateY(3px) rotate(45deg); } }
@keyframes live { 0%, 100% { opacity: .6; transform: scale(.9); } 50% { opacity: 1; transform: scale(1.4); } }
@media (prefers-reduced-motion: reduce) { html.js [data-reveal] { opacity: 1; transform: none; }.hero-system, html.js .hero-system[data-reveal], html.js .hero-system[data-reveal].is-visible { transform: none; } }
