:root {
  --void: #08090b; --vault: #0d1013; --plinth: #12161a; --edge: #1e2429; --edge-lit: #2c353b;
  --bone: #e6e3da; --bone-soft: #9aa09e; --bone-dim: #5e6663;
  --verd: #4fbfa8; --verd-deep: #1c6b5d; --verd-glow: rgba(79, 191, 168, .17);
  --ox: #d9583f; --ox-deep: #7a2418; --ox-glow: rgba(217, 88, 63, .17);
  --display: "Libre Caslon Display", "Hoefler Text", Georgia, serif;
  --body: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
* { box-sizing: border-box; }
html { background: var(--void); scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; background: var(--void); color: var(--bone); font-family: var(--body); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; }
button, [contenteditable="true"] { font: inherit; }
.wrap { width: min(100%, 76rem); margin: 0 auto; padding: 0 2rem; }
.label { color: var(--bone-dim); font-family: var(--mono); font-size: .656rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; }
:focus-visible { outline: 2px solid var(--verd); outline-offset: 3px; }

.site-head { position: absolute; inset: 0 0 auto; z-index: 20; border-bottom: 1px solid rgba(230, 227, 218, .08); background: linear-gradient(180deg, rgba(8, 9, 11, .88), rgba(8, 9, 11, .34)); backdrop-filter: blur(10px); }
.site-head__inner { width: min(100%, 82rem); min-height: 4.5rem; margin: 0 auto; padding: .75rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }
.brand { display: inline-flex; align-items: center; gap: .8rem; color: var(--bone); text-decoration: none; font-family: var(--mono); font-size: .76rem; font-weight: 700; letter-spacing: .15em; }
.brand img { width: 2rem; height: 2rem; border-radius: .35rem; }
.primary { display: flex; align-items: center; gap: .15rem; }
.primary a { padding: .55rem .7rem; color: var(--bone-soft); text-decoration: none; font-family: var(--mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.primary a:hover, .primary a[aria-current="page"] { color: var(--bone); }
.primary .nav-cta { margin-left: .45rem; border: 1px solid var(--edge-lit); color: var(--bone); }
.nav-toggle { display: none; width: 2.65rem; height: 2.45rem; border: 1px solid var(--edge-lit); background: rgba(8, 9, 11, .75); color: var(--bone); cursor: pointer; }
.nav-toggle span { display: block; width: 1.15rem; height: 1px; margin: .3rem auto; background: currentColor; }

.vault { position: relative; min-height: 100svh; display: grid; place-items: center; overflow: hidden; background: radial-gradient(ellipse 70% 55% at 70% 46%, #151a1e 0%, var(--vault) 45%, var(--void) 100%); }
#disc { position: absolute; inset: 0; width: 100%; height: 100%; display: block; touch-action: pan-y; cursor: grab; }
#disc:active { cursor: grabbing; }
.vault::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(circle at 70% 47%, rgba(8, 9, 11, .97) 0%, rgba(8, 9, 11, .93) 26%, rgba(8, 9, 11, .55) 40%, rgba(8, 9, 11, 0) 56%); }
.vault__intro { position: absolute; inset: 50% auto auto clamp(2rem, 5vw, 5.5rem); z-index: 4; width: min(28vw, 25rem); transform: translateY(-50%); }
.vault__intro h1 { max-width: 11ch; margin: .9rem 0 1.15rem; color: var(--bone); font-family: var(--display); font-size: clamp(2.35rem, 4.2vw, 4.75rem); font-weight: 400; line-height: .98; letter-spacing: -.025em; text-wrap: balance; }
.vault__intro p { max-width: 39ch; margin: 0; color: var(--bone-soft); font-size: clamp(.9rem, 1.05vw, 1.02rem); line-height: 1.72; }
.vault__intro a { display: inline-flex; align-items: center; gap: .65rem; margin-top: 1.35rem; color: var(--bone); font-family: var(--mono); font-size: .63rem; font-weight: 500; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.vault__intro a span { color: var(--verd); }
.vault__intro a:hover { color: var(--verd); }
.vault__capabilities { position: absolute; inset: 50% 1.5rem auto 36%; z-index: 3; display: grid; grid-template-columns: minmax(11rem, 15rem) minmax(22rem, 1fr) minmax(11rem, 15rem); align-items: center; gap: 1rem; transform: translateY(-50%); pointer-events: none; }
.vault__capability-side { display: flex; flex-direction: column; gap: clamp(1.15rem, 3.3vh, 2.4rem); pointer-events: auto; }
.vault__capability-side--left { align-items: flex-end; grid-column: 1; }
.vault__capability-side--right { align-items: flex-start; grid-column: 3; }
.capability-link { display: inline-flex; align-items: center; gap: .65rem; min-height: 2.15rem; max-width: 17rem; padding: .4rem .78rem; border: 1px solid var(--edge-lit); border-radius: 100px; background: rgba(8, 9, 11, .68); color: var(--bone-dim); text-decoration: none; backdrop-filter: blur(7px); font-family: var(--mono); font-size: .61rem; font-weight: 500; line-height: 1.25; letter-spacing: .12em; text-transform: uppercase; transition: border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease; }
.capability-link:hover, .capability-link:focus-visible { border-color: var(--verd-deep); background: rgba(13, 24, 23, .88); color: var(--bone); transform: translateY(-1px); }
.capability-link__dot { width: .34rem; height: .34rem; flex: none; border-radius: 50%; background: var(--verd); box-shadow: 0 0 12px var(--verd-glow); }
.vault__type { position: absolute; inset: 50% auto auto 70%; z-index: 2; width: max-content; max-width: calc(100% - 2rem); transform: translate(-50%, -50%); text-align: center; pointer-events: none; }
.vault__eyebrow { position: absolute; inset: auto auto calc(100% + 1.15rem) 50%; display: inline-flex; align-items: center; gap: .7rem; width: max-content; max-width: 90vw; padding: .4rem .85rem; transform: translateX(-50%); border: 1px solid var(--edge-lit); border-radius: 100px; background: rgba(8, 9, 11, .6); backdrop-filter: blur(6px); }
.pip { width: .4rem; height: .4rem; border-radius: 50%; background: var(--verd); animation: pulse 2.6s ease-out infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(79, 191, 168, .5); } 70% { box-shadow: 0 0 0 .7rem rgba(79, 191, 168, 0); } 100% { box-shadow: 0 0 0 0 rgba(79, 191, 168, 0); } }
.vault__brand-center { display: inline-flex; align-items: center; justify-content: center; gap: clamp(.7rem, 1.4vw, .95rem); margin: 0; padding: .28rem .45rem .28rem .2rem; color: var(--bone); font-family: var(--mono); font-size: clamp(.82rem, 1.45vw, 1.02rem); font-weight: 600; line-height: 1; letter-spacing: .5em; text-indent: .5em; text-shadow: 0 0 24px rgba(79, 191, 168, .22); }
.vault__brand-mark { position: relative; width: clamp(1.55rem, 2.55vw, 1.9rem); height: clamp(1.55rem, 2.55vw, 1.9rem); flex: none; overflow: hidden; border: 1px solid rgba(230, 227, 218, .13); border-radius: .32rem; background: #07101a; box-shadow: 0 0 22px rgba(79, 191, 168, .09); }
.vault__brand-mark img { width: 100%; height: 100%; display: block; object-fit: cover; }
.vault__deck { max-width: 46ch; margin: 0 auto; color: var(--bone-soft); font-size: clamp(1rem, 1.6vw, 1.2rem); text-shadow: 0 0 40px rgba(8, 9, 11, .95); }
.vault__hint { position: absolute; inset: auto 0 2rem; z-index: 2; text-align: center; pointer-events: none; }

.ticker { display: flex; gap: 3rem; overflow: hidden; padding: .9rem 0; border-block: 1px solid var(--edge); background: var(--vault); white-space: nowrap; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ticker__run { display: flex; flex: none; gap: 3rem; animation: ticker-run 48s linear infinite; }
@keyframes ticker-run { to { transform: translateX(-100%); } }
.ticker__item { display: flex; align-items: center; gap: .8rem; color: var(--bone-dim); font-family: var(--mono); font-size: .719rem; letter-spacing: .05em; }
.ticker__item b { color: var(--verd); font-weight: 500; }
.ticker__item i { color: var(--bone-soft); font-style: normal; }

.capabilities { scroll-margin-top: 1rem; padding: 6.5rem 0 7rem; border-bottom: 1px solid var(--edge); background: radial-gradient(ellipse 80% 55% at 50% 0%, #11171a 0%, var(--vault) 58%, var(--void) 100%); }
.capabilities__head { max-width: 45rem; }
.capabilities__head h2 { margin: 1rem 0 1.1rem; color: var(--bone); font-family: var(--display); font-size: clamp(2rem, 4.4vw, 3.1rem); font-weight: 400; line-height: 1.08; letter-spacing: -.014em; text-wrap: balance; }
.capabilities__head p { max-width: 58ch; margin: 0; color: var(--bone-soft); }
.capabilities__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 3rem; border: 1px solid var(--edge); background: var(--edge); }
.capability-card { min-width: 0; scroll-margin-top: 5.5rem; padding: 2rem 1.65rem 2.15rem; background: var(--vault); transition: background .25s ease, box-shadow .25s ease; }
.capability-card:nth-child(n+4) { border-top: 1px solid var(--edge); }
.capability-card:target { position: relative; z-index: 1; background: #111c1b; box-shadow: inset 0 0 0 1px var(--verd-deep), 0 0 32px rgba(79, 191, 168, .08); }
.capability-card h3 { margin: .7rem 0 .8rem; font-family: var(--display); font-size: 1.45rem; font-weight: 400; line-height: 1.15; text-wrap: balance; }
.capability-card p { margin: 0; color: var(--bone-soft); font-size: .9rem; }

.lab { padding: 7rem 0 8rem; background: radial-gradient(ellipse 90% 60% at 50% 0%, #101418 0%, var(--void) 70%); }
.lab__head { max-width: 42rem; margin: 0 0 3.25rem; }
.lab__head h2, .creed h2 { color: var(--bone); font-family: var(--display); font-size: clamp(2rem, 4.4vw, 3.1rem); font-weight: 400; line-height: 1.08; letter-spacing: -.014em; text-wrap: balance; }
.lab__head h2 { margin: 1rem 0 1.1rem; }
.lab__head p { max-width: 52ch; margin: 0; color: var(--bone-soft); }
.bench { display: grid; grid-template-columns: 1.25fr 1fr; gap: 1.5rem; align-items: stretch; }
.panel { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--edge); background: var(--plinth); }
.panel__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1.15rem; border-bottom: 1px solid var(--edge); background: rgba(255, 255, 255, .014); }
.panel__meta { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.demo-flag { color: var(--bone-soft); }
.record { min-height: 20rem; flex: 1; padding: 1.5rem; outline: none; color: var(--bone); font-family: var(--mono); font-size: .813rem; line-height: 1.85; white-space: pre-wrap; word-break: break-word; caret-color: var(--verd); }
.record:focus-visible { box-shadow: inset 0 0 0 1px var(--verd-deep); }
.readout { display: flex; flex: 1; flex-direction: column; gap: 1.35rem; padding: 1.5rem; }
.verdict { display: flex; align-items: center; gap: .75rem; color: var(--verd); font-family: var(--mono); font-size: 1.05rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: color .25s ease; }
.verdict[data-broken="1"] { color: var(--ox); }
.verdict__box { width: .95rem; height: .95rem; flex: none; background: var(--verd); box-shadow: 0 0 22px var(--verd-glow); transition: background .25s ease, box-shadow .25s ease; }
.verdict[data-broken="1"] .verdict__box { background: var(--ox); box-shadow: 0 0 22px var(--ox-glow); }
.field { display: grid; min-width: 0; gap: .4rem; }
.hashline { color: var(--bone-soft); font-family: var(--mono); font-size: .719rem; line-height: 1.7; letter-spacing: .04em; word-break: break-all; }
.hashline .on { color: var(--bone); }
.hashline .off { color: var(--ox); }
.verdict__note { margin: auto 0 0; padding-top: 1.35rem; border-top: 1px solid var(--edge); color: var(--bone-soft); font-size: .875rem; }
.ghost { padding: .5rem .9rem; border: 1px solid var(--edge-lit); background: transparent; color: var(--bone-soft); cursor: pointer; font-family: var(--mono); font-size: .656rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.ghost:hover { border-color: var(--bone-dim); color: var(--bone); }

.creed { padding: 6rem 0 7rem; border-top: 1px solid var(--edge); background: var(--vault); }
.creed h2 { max-width: 22ch; margin: 1rem 0 0; }
.creed__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; border: 1px solid var(--edge); background: var(--edge); }
.creed__cell { display: flex; flex-direction: column; gap: 1rem; padding: 2.5rem 2rem 2.75rem; background: var(--vault); }
.creed__cell:hover { background: var(--plinth); }
.creed__cell h3 { margin: .4rem 0 0; font-family: var(--display); font-size: 1.55rem; font-weight: 400; line-height: 1.15; text-wrap: balance; }
.creed__cell p { margin: 0; color: var(--bone-soft); font-size: .938rem; }
.creed__cell .no { margin-top: auto; padding-left: .9rem; border-left: 2px solid var(--ox-deep); color: var(--bone-dim); font-size: .875rem; }
.pilot-call { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; margin-top: 3rem; padding: 2rem; border: 1px solid var(--edge-lit); background: var(--plinth); }
.pilot-call h3 { margin: .5rem 0; font-family: var(--display); font-size: 1.65rem; font-weight: 400; }
.pilot-call p { max-width: 58ch; margin: 0; color: var(--bone-soft); }
.actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.85rem; padding: .7rem 1.05rem; border: 1px solid var(--edge-lit); color: var(--bone); text-decoration: none; font-family: var(--mono); font-size: .68rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.button--primary { border-color: var(--verd-deep); background: var(--verd-deep); color: #f4f7f2; }
.button:hover { border-color: var(--verd); }

.foot { border-top: 1px solid var(--edge); background: var(--void); }
.foot__inner { width: min(100%, 76rem); margin: 0 auto; padding: 3.25rem 2rem 4.5rem; }
.foot__lead { display: flex; align-items: baseline; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.foot strong { font-weight: 600; letter-spacing: .04em; }
.foot p { max-width: 58ch; margin: 0; color: var(--bone-soft); font-size: .875rem; }
.foot nav { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: 2rem; }
.foot nav a { color: var(--bone-soft); font-family: var(--mono); font-size: .68rem; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.foot nav a:hover { color: var(--bone); }
.foot__legal { margin-top: 2rem !important; color: var(--bone-dim) !important; font-size: .75rem !important; }

@media (max-width: 70rem) {
  .primary { display: none; position: absolute; inset: 100% 1rem auto; flex-direction: column; align-items: stretch; padding: .7rem; border: 1px solid var(--edge); background: rgba(8, 9, 11, .98); }
  .primary.open { display: flex; }
  .primary .nav-cta { margin: .3rem 0 0; }
  .nav-toggle { display: block; }
}
@media (max-width: 72rem) {
  .vault { background: radial-gradient(ellipse 66% 52% at 76% 46%, #151a1e 0%, var(--vault) 45%, var(--void) 100%); }
  .vault::after { background: radial-gradient(circle at 76% 47%, rgba(8, 9, 11, .97) 0%, rgba(8, 9, 11, .93) 26%, rgba(8, 9, 11, .55) 40%, rgba(8, 9, 11, 0) 56%); }
  .vault__intro { inset: 7rem auto auto 1.5rem; width: min(31vw, 13.25rem); padding: .75rem .75rem .85rem 0; transform: none; background: linear-gradient(90deg, rgba(8, 9, 11, .98), rgba(8, 9, 11, .9) 82%, rgba(8, 9, 11, 0)); }
  .vault__intro h1 { margin-block: .7rem .8rem; font-size: clamp(1.9rem, 4.7vw, 2.5rem); line-height: 1.02; }
  .vault__intro p { font-size: .77rem; line-height: 1.55; }
  .vault__intro a { margin-top: .9rem; font-size: .56rem; }
  .vault__capabilities { inset: 0; display: block; width: auto; margin: 0; transform: none; }
  .vault__capability-side { position: absolute; top: 65%; width: 9.25rem; gap: clamp(.8rem, 2.3vh, 1.2rem); transform: translateY(-50%); }
  .vault__capability-side--left { left: max(39%, calc(76% - 15.5rem)); }
  .vault__capability-side--right { right: 2.5%; }
  .capability-link { max-width: 9.25rem; padding: .35rem .6rem; font-size: .52rem; letter-spacing: .08em; }
  .vault__type { left: 76%; }
}
@media (max-width: 60rem) {
  .bench, .creed__grid, .pilot-call { grid-template-columns: 1fr; }
  .capabilities__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capability-card:nth-child(n+3) { border-top: 1px solid var(--edge); }
}
@media (max-width: 40rem) {
  .wrap, .site-head__inner, .foot__inner { padding-inline: 1.25rem; }
  .site-head__inner { min-height: 4rem; }
  .brand span { display: none; }
  .vault__eyebrow { bottom: calc(100% + .9rem); }
  .vault__brand-center { gap: .55rem; padding: .22rem .3rem .22rem .15rem; font-size: .72rem; letter-spacing: .42em; text-indent: .42em; }
  .vault__brand-mark { width: 1.45rem; height: 1.45rem; border-radius: .28rem; }
  .vault__hint { bottom: 1rem; }
  .capabilities { padding: 4.75rem 0 5rem; }
  .capabilities__grid { grid-template-columns: 1fr; }
  .capability-card, .capability-card:nth-child(n+3) { border-top: 1px solid var(--edge); }
  .capability-card:first-child { border-top: 0; }
  .lab { padding: 4.5rem 0 5rem; }
  .creed { padding: 4rem 0 4.5rem; }
  .panel__bar { align-items: flex-start; flex-direction: column; }
  .record { min-height: 23rem; padding: 1.1rem; font-size: .74rem; }
  .hashline { font-size: .65rem; }
}
@media (max-width: 34rem) {
  .vault { background: radial-gradient(ellipse 80% 55% at 50% 50%, #151a1e 0%, var(--vault) 45%, var(--void) 100%); }
  .vault::after { background: radial-gradient(circle at 50% 50%, rgba(8, 9, 11, .97) 0%, rgba(8, 9, 11, .93) 26%, rgba(8, 9, 11, .55) 40%, rgba(8, 9, 11, 0) 56%); }
  .vault__intro { inset: 5.3rem 1.15rem auto; width: auto; text-align: center; }
  .vault__intro h1 { max-width: 13ch; margin-inline: auto; font-size: clamp(1.9rem, 9vw, 2.45rem); }
  .vault__intro p { max-width: 42ch; margin-inline: auto; }
  .vault__intro a { display: none; }
  .vault__type { left: 50%; top: 50%; }
  .vault__capabilities { inset: auto 0 3.65rem; display: flex; width: 100%; padding: .35rem 1rem .55rem; transform: none; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-snap-type: x proximity; }
  .vault__capabilities::-webkit-scrollbar { display: none; }
  .vault__capability-side { display: contents; }
  .capability-link { min-width: max-content; max-width: none; min-height: 2rem; padding: .35rem .68rem; font-size: .56rem; scroll-snap-align: center; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .ticker__run, .pip { animation: none; } * { transition: none !important; } }
