:root {
  --ink: #080b10;
  --ink-soft: #0e141b;
  --panel: #101820;
  --panel-soft: #141d25;
  --paper: #edf1ed;
  --muted: #9aa4a4;
  --faint: rgba(237, 241, 237, 0.13);
  --fainter: rgba(237, 241, 237, 0.07);
  --ember: #ed7650;
  --ember-light: #f5bb68;
  --ice: #6fd5e3;
  --line: rgba(237, 241, 237, 0.17);
  --display: "Manrope", Arial, sans-serif;
  --mono: "DM Mono", "Courier New", monospace;
  --page-pad: clamp(1.25rem, 4vw, 4.5rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--paper);
  background: var(--ink);
  font-family: var(--display);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: -5rem; padding: .75rem 1rem; color: var(--ink); background: var(--paper); font: 700 .7rem var(--mono); letter-spacing: .05em; transition: top .2s; }
.skip-link:focus { top: 1rem; }

.site-noise, .site-grid, #field-canvas { position: fixed; pointer-events: none; inset: 0; }
.site-noise { z-index: -1; opacity: .042; 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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.site-grid { z-index: -3; opacity: .42; background-image: linear-gradient(rgba(237,241,237,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(237,241,237,.028) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to bottom, black, transparent 72%); }
#field-canvas { z-index: -2; opacity: .55; }

.site-header { width: 100%; height: 82px; padding: 0 var(--page-pad); display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-bottom: 1px solid rgba(237,241,237,.09); position: absolute; top: 0; left: 0; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: .72rem; min-width: 170px; }
.brand-mark { display: grid; place-items: center; width: 31px; height: 31px; color: var(--ember-light); }
.brand-mark svg { width: 100%; height: 100%; stroke: currentColor; stroke-width: 1.35; }
.brand-name { font: 700 .69rem var(--mono); letter-spacing: .14em; white-space: nowrap; }
.brand-name span { color: var(--ember-light); margin-left: .12em; }
.site-nav { display: flex; gap: clamp(1rem, 2vw, 2.3rem); align-items: center; }
.site-nav a { position: relative; color: rgba(237,241,237,.58); font: .65rem var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: color .2s ease; }
.site-nav a span { color: var(--ember-light); font-size: .56rem; margin-right: .35rem; opacity: 0; transition: opacity .2s ease; }
.site-nav a:hover, .site-nav a:focus-visible, .site-nav a.is-active { color: var(--paper); }
.site-nav a.is-active span { opacity: 1; }
.header-status { min-width: 170px; display: flex; justify-content: flex-end; align-items: center; gap: .55rem; color: var(--muted); font: .56rem var(--mono); letter-spacing: .1em; }
.status-dot, .live-dot { display: inline-block; width: 7px; height: 7px; background: var(--ice); border-radius: 50%; box-shadow: 0 0 0 4px rgba(111,213,227,.1), 0 0 12px var(--ice); }
.live-dot { width: 6px; height: 6px; margin-right: .45rem; background: var(--ember-light); box-shadow: 0 0 0 4px rgba(245,187,104,.08), 0 0 11px var(--ember); animation: blink 2.5s ease-in-out infinite; }
@keyframes blink { 50% { opacity: .38; } }
.menu-toggle { display: none; color: var(--paper); background: transparent; border: 0; padding: .5rem; cursor: pointer; }

.section { position: relative; width: 100%; padding-left: var(--page-pad); padding-right: var(--page-pad); }
.hero { min-height: min(900px, 100svh); padding-top: 150px; padding-bottom: 4rem; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(400px, .98fr); align-items: center; column-gap: clamp(2.5rem, 6vw, 8rem); }
.hero-copy { position: relative; z-index: 1; }
.eyebrow, .section-kicker, .project-type { margin: 0; color: var(--ice); font: .62rem var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.hero h1 { margin: 1.45rem 0 1.55rem; max-width: 800px; font-size: clamp(3.35rem, 7vw, 7rem); font-weight: 600; letter-spacing: -.075em; line-height: .94; }
h1 em, h2 em { color: var(--ember-light); font-style: normal; font-weight: 400; }
.hero-intro { margin: 0; max-width: 520px; color: #bdc5c1; font-size: clamp(1rem, 1.35vw, 1.17rem); line-height: 1.75; }
.hero-actions { margin-top: 2.35rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.button { min-height: 48px; padding: 0 1.1rem 0 1.25rem; display: inline-flex; align-items: center; gap: 1.4rem; justify-content: space-between; font: .64rem var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: transform .25s ease, background .25s ease, color .25s ease; }
.button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.button-primary { color: var(--ink); background: var(--ember-light); }
.button-primary:hover, .button-primary:focus-visible { background: var(--paper); transform: translateY(-3px); }
.text-link { display: inline-flex; align-items: center; gap: .4rem; color: var(--paper); font: .67rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.text-link span { color: var(--ember-light); font-size: 1rem; transition: transform .2s; }
.text-link:hover span, .text-link:focus-visible span { transform: translate(3px, -2px); }
.hero-footnotes { margin-top: clamp(4.1rem, 8vh, 7rem); display: flex; gap: 1.6rem; flex-wrap: wrap; color: var(--muted); font: .57rem var(--mono); letter-spacing: .045em; text-transform: uppercase; }
.hero-footnotes b { color: var(--ember-light); font-weight: 400; margin-right: .35rem; }

.hero-visual { width: min(100%, 620px); justify-self: end; position: relative; padding-top: 2rem; }
.visual-frame { min-height: 500px; position: relative; display: grid; place-items: center; border: 1px solid rgba(237,241,237,.15); background: linear-gradient(135deg, rgba(18,29,38,.78), rgba(8,11,16,.16)); overflow: hidden; }
.visual-frame::before, .visual-frame::after { position: absolute; content: ""; background: rgba(237,241,237,.1); }
.visual-frame::before { height: 1px; width: 100%; top: 50%; left: 0; }.visual-frame::after { height: 100%; width: 1px; left: 50%; top: 0; }
.frame-corner { width: 18px; height: 18px; position: absolute; z-index: 2; border-color: var(--ember-light); }
.corner-tl { top: -1px; left: -1px; border-top: 2px solid; border-left: 2px solid; }.corner-tr { top: -1px; right: -1px; border-top: 2px solid; border-right: 2px solid; }.corner-bl { bottom: -1px; left: -1px; border-bottom: 2px solid; border-left: 2px solid; }.corner-br { bottom: -1px; right: -1px; border-bottom: 2px solid; border-right: 2px solid; }
.frame-label { position: absolute; z-index: 2; color: rgba(237,241,237,.55); font: .53rem var(--mono); letter-spacing: .1em; }.top-label { top: 16px; left: 18px; }.bottom-label { bottom: 16px; right: 18px; }
.orbital-stage { width: min(94%, 565px); aspect-ratio: 1; position: relative; display: grid; place-items: center; transition: transform .15s ease-out; }
.orbital-svg { width: 100%; height: 100%; overflow: visible; }.orbit { transform-origin: 300px 300px; }.orbit-one { animation: spin 18s linear infinite; }.orbit-two { animation: spin 25s linear infinite reverse; }.orbit-three { animation: spin 20s linear infinite; }.node { transform-origin: 300px 300px; }.node-one { animation: spin 18s linear infinite; }.node-two { animation: spin 25s linear infinite reverse; }.node-three { animation: spin 20s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.stage-reading { position: absolute; display: grid; grid-template-columns: auto 1fr; column-gap: .35rem; color: rgba(237,241,237,.55); font: .48rem var(--mono); letter-spacing: .08em; }.stage-reading i { grid-row: 1 / 3; width: 4px; height: 4px; margin-top: .1rem; border: 1px solid var(--ice); border-radius: 50%; }.stage-reading b { color: var(--paper); font-weight: 400; }.reading-one { top: 17%; right: 5%; }.reading-two { top: 61%; left: 9%; }.reading-three { bottom: 15%; right: 9%; }.reading-three i { border-color: var(--ember-light); }
.visual-caption { margin-top: .75rem; display: flex; align-items: center; gap: .6rem; color: rgba(237,241,237,.45); font: .52rem var(--mono); letter-spacing: .09em; }.visual-caption b { color: var(--paper); font-weight: 400; }.visual-caption b i { display: inline-block; width: 5px; height: 5px; margin-right: .35rem; border-radius: 50%; background: var(--ice); }.caption-time { margin-left: auto; }
.scroll-cue { position: absolute; bottom: 1.85rem; left: var(--page-pad); display: flex; align-items: center; gap: .75rem; color: var(--muted); font: .52rem var(--mono); letter-spacing: .12em; }.scroll-cue i { position: relative; display: block; width: 56px; height: 1px; background: rgba(237,241,237,.25); overflow: hidden; }.scroll-cue i::after { position: absolute; content: ""; width: 20px; height: 1px; background: var(--ember-light); animation: scroll-line 2.3s ease-in-out infinite; }@keyframes scroll-line { from { transform: translateX(-24px); } to { transform: translateX(59px); } }

.signal-strip { min-height: 88px; padding: 0 var(--page-pad); display: grid; grid-template-columns: 1fr 1fr 1fr 1.1fr; gap: 1px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--line); }.signal-strip > div { min-height: 87px; padding: 1.2rem 1.5rem; display: flex; flex-direction: column; justify-content: center; gap: .45rem; background: var(--ink-soft); }.signal-strip span { color: var(--muted); font: .52rem var(--mono); letter-spacing: .1em; }.signal-strip strong { color: var(--paper); font: .61rem var(--mono); font-weight: 400; letter-spacing: .06em; }.signal-strip strong i { color: var(--ember-light); font-style: normal; }.strip-signal { flex-direction: row !important; align-items: center; gap: .65rem !important; }.strip-signal i { position: relative; width: 31px; height: 8px; border: 1px solid rgba(237,241,237,.2); }.strip-signal i b { position: absolute; top: 1px; left: 1px; bottom: 1px; width: 70%; background: var(--ice); box-shadow: 0 0 8px rgba(111,213,227,.6); }.strip-signal strong { margin-left: auto; color: var(--ice); }

.section-pad { padding-top: clamp(6rem, 12vw, 10rem); padding-bottom: clamp(6rem, 12vw, 10rem); }.section-index { display: flex; align-items: center; gap: .75rem; color: var(--ember-light); font: .56rem var(--mono); letter-spacing: .1em; }.section-index i { width: 32px; height: 1px; background: var(--ember-light); }.section-index b { color: var(--muted); font-weight: 400; }
.profile { background: linear-gradient(110deg, transparent 40%, rgba(111,213,227,.025)); }.profile-layout { margin-top: clamp(3.6rem, 7vw, 6.5rem); display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .55fr); gap: clamp(2.5rem, 10vw, 12rem); align-items: end; }.section-kicker { margin-bottom: 1.25rem; }.profile h2, .systems h2, .contact h2 { margin: 0; font-size: clamp(2.5rem, 4.8vw, 5.35rem); font-weight: 500; letter-spacing: -.065em; line-height: .99; }.profile-detail { padding-bottom: .45rem; }.profile-detail p { margin: 0 0 1.2rem; color: #c2c9c5; font-size: .97rem; line-height: 1.7; }.profile-detail .muted-copy { color: var(--muted); font-size: .76rem; line-height: 1.6; font-family: var(--mono); }.principles-grid { margin-top: clamp(4rem, 8vw, 7rem); display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }.principle-card { min-height: 270px; padding: 1.35rem 1.5rem 1.65rem; position: relative; display: flex; flex-direction: column; background: rgba(16,24,32,.7); overflow: hidden; transition: background .3s ease; }.principle-card:hover { background: var(--panel-soft); }.card-number { color: var(--muted); font: .53rem var(--mono); letter-spacing: .08em; }.principle-icon { width: 54px; height: 54px; position: relative; margin: auto 0 1.2rem; color: var(--ember-light); }.principle-card h3 { margin: 0 0 .55rem; font-size: 1.14rem; letter-spacing: -.03em; font-weight: 600; }.principle-card p { max-width: 230px; margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }.icon-orbit i { position: absolute; inset: 6px; border: 1px solid currentColor; border-radius: 50%; transform: rotate(45deg) scaleY(.45); }.icon-orbit i:nth-child(2) { transform: rotate(-45deg) scaleY(.45); color: var(--ice); }.icon-orbit b { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: currentColor; left: 23px; top: 23px; }.icon-grid { display: grid; grid-template-columns: repeat(2, 12px); grid-template-rows: repeat(2, 12px); align-content: center; gap: 4px; }.icon-grid i { border: 1px solid currentColor; }.icon-grid i:nth-child(2), .icon-grid i:nth-child(3) { border-color: var(--ice); }.icon-spark i { position: absolute; height: 1px; background: currentColor; left: 50%; top: 50%; transform-origin: left; }.icon-spark i:first-child { width: 32px; transform: rotate(-45deg); }.icon-spark i:nth-child(2) { width: 22px; transform: rotate(65deg); color: var(--ice); }.icon-spark i:nth-child(3) { width: 16px; transform: rotate(165deg); }

.work { border-top: 1px solid var(--line); }.section-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 3rem; }.section-heading > p { max-width: 270px; margin: 0; color: var(--muted); font: .66rem var(--mono); line-height: 1.65; letter-spacing: .03em; }.project-list { margin-top: clamp(3rem, 6vw, 5.5rem); display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }.project-card { min-width: 0; border-top: 1px solid var(--line); padding-top: .9rem; }.project-card-featured { grid-column: span 2; }.project-topline { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted); font: .52rem var(--mono); letter-spacing: .08em; }.project-topline span:last-child { color: var(--ice); }.project-image { position: relative; height: clamp(270px, 30vw, 470px); margin-top: .9rem; overflow: hidden; background: #111a22; border: 1px solid rgba(237,241,237,.11); transition: transform .4s cubic-bezier(.2,.7,.2,1); }.project-card:hover .project-image { transform: translateY(-4px); }.project-card:not(.project-card-featured) .project-image { height: clamp(250px, 23vw, 355px); }.image-label { position: absolute; z-index: 3; right: .8rem; bottom: .75rem; color: rgba(237,241,237,.55); font: .48rem var(--mono); letter-spacing: .075em; }
.image-atlas { background: radial-gradient(circle at 70% 40%, rgba(111,213,227,.18), transparent 28%), linear-gradient(130deg, #172a32, #101419 65%); }.atlas-screen { position: absolute; left: 10%; top: 12%; width: 72%; height: 76%; padding: 1rem; overflow: hidden; border: 1px solid rgba(237,241,237,.28); background: rgba(9,15,19,.76); box-shadow: 16px 16px 0 rgba(237,241,237,.055); transform: perspective(800px) rotateY(-8deg) rotateX(2deg); }.atlas-screen > span, .atlas-screen > b { position: relative; z-index: 2; color: rgba(237,241,237,.6); font: .48rem var(--mono); letter-spacing: .09em; }.atlas-screen > b { float: right; color: var(--ember-light); font-weight: 400; }.atlas-screen > i { position: absolute; z-index: 2; left: 1rem; bottom: 1rem; width: 5px; height: 5px; border-radius: 50%; background: var(--ice); box-shadow: 15px 0 0 var(--ice), 30px 0 0 var(--ice); }.atlas-map { position: absolute; inset: 18% 6% 7%; opacity: .8; background: repeating-linear-gradient(90deg, transparent 0 28px, rgba(111,213,227,.2) 29px 30px), repeating-linear-gradient(0deg, transparent 0 28px, rgba(237,241,237,.09) 29px 30px); clip-path: polygon(0 12%, 19% 0, 42% 22%, 68% 7%, 100% 30%, 86% 60%, 100% 91%, 67% 75%, 47% 100%, 25% 72%, 0 89%, 12% 55%); }.atlas-map::before { content: ""; position: absolute; width: 45%; height: 170%; top: -29%; left: 29%; border-right: 2px solid var(--ember-light); transform: rotate(34deg); }.atlas-side { position: absolute; right: 9%; bottom: 11%; width: 16%; height: 33%; padding: .65rem; display: flex; flex-direction: column; justify-content: space-between; color: var(--paper); border: 1px solid rgba(237,241,237,.2); background: rgba(19,31,39,.92); font: .47rem var(--mono); letter-spacing: .1em; }.atlas-side b { align-self: end; color: var(--ice); font-size: 1.6rem; }
.image-signal { background: radial-gradient(circle at 45% 50%, rgba(237,118,80,.12), transparent 35%), #101820; }.signal-line { position: absolute; left: -10%; width: 120%; height: 1px; background: rgba(237,241,237,.14); transform-origin: center; }.line-one { top: 33%; transform: rotate(-17deg); }.line-two { top: 49%; background: var(--ember-light); box-shadow: 0 0 14px rgba(245,187,104,.65); transform: rotate(6deg); }.line-three { top: 70%; background: var(--ice); transform: rotate(-8deg); }.signal-line::after { content: ""; position: absolute; top: -5px; left: 54%; width: 11px; height: 11px; border: 2px solid var(--paper); border-radius: 50%; background: var(--ink); }.signal-unit { position: absolute; color: rgba(237,241,237,.56); font: .52rem var(--mono); letter-spacing: .08em; }.unit-one { top: 18%; left: 11%; }.unit-two { top: 62%; right: 12%; color: var(--ember-light); }.unit-three { bottom: 12%; left: 25%; color: var(--ice); }
.image-lattice { background: linear-gradient(135deg, #16191d, #0c131a); }.lattice-ring { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(237,241,237,.25); border-radius: 50%; transform: translate(-50%, -50%); }.ring-a { width: 66%; aspect-ratio: 1; border-color: rgba(111,213,227,.35); }.ring-b { width: 45%; aspect-ratio: 1; border-color: var(--ember-light); }.ring-c { width: 20%; aspect-ratio: 1; background: rgba(237,118,80,.13); border-color: var(--ember-light); box-shadow: 0 0 28px rgba(237,118,80,.19); }.lattice-bar { position: absolute; left: 50%; top: 50%; width: 1px; height: 118%; background: rgba(237,241,237,.17); transform-origin: center; }.bar-a { transform: translate(-50%, -50%) rotate(25deg); }.bar-b { transform: translate(-50%, -50%) rotate(85deg); }.bar-c { background: rgba(111,213,227,.45); transform: translate(-50%, -50%) rotate(-39deg); }
.project-content { padding: 1.4rem .15rem 0; display: grid; grid-template-columns: 1.15fr .9fr auto; align-items: end; gap: 1.4rem; }.project-content h3 { margin: .45rem 0 0; font-size: clamp(1.4rem, 2.5vw, 2.45rem); font-weight: 500; letter-spacing: -.055em; }.project-summary { max-width: 320px; margin: 0; color: var(--muted); font-size: .77rem; line-height: 1.65; }.project-link { min-width: 125px; padding-bottom: .3rem; display: flex; align-items: center; justify-content: space-between; gap: .8rem; border-bottom: 1px solid rgba(237,241,237,.35); color: var(--paper); font: .5rem var(--mono); letter-spacing: .06em; transition: color .2s,border-color .2s; }.project-link i { color: var(--ember-light); font-size: 1rem; font-style: normal; }.project-link:hover, .project-link:focus-visible { color: var(--ember-light); border-color: var(--ember-light); }
.project-actions { display: flex; flex-direction: column; align-items: stretch; gap: .7rem; }.project-link-secondary { color: var(--muted); }

.systems { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(450px, 1.15fr); gap: clamp(3rem, 10vw, 12rem); align-items: end; background: linear-gradient(120deg, rgba(237,118,80,.035), transparent 45%); border-top: 1px solid var(--line); }.systems-intro > h2 { margin-top: 3.6rem; }.systems-intro > p { max-width: 330px; margin: 1.8rem 0 0; color: var(--muted); font-size: .86rem; line-height: 1.65; }.systems-board { position: relative; padding: 1.2rem 1.5rem 1rem; border: 1px solid rgba(237,241,237,.17); background: rgba(16,24,32,.72); }.board-head { display: flex; justify-content: space-between; padding-bottom: 1rem; color: var(--muted); font: .5rem var(--mono); letter-spacing: .1em; border-bottom: 1px solid var(--line); }.systems-board ol { list-style: none; margin: 0; padding: 0; }.systems-board li { padding: 1.25rem 0; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; border-bottom: 1px solid var(--faint); }.systems-board li:last-child { border-bottom: 0; }.module-no { color: var(--ember-light); font: .62rem var(--mono); }.systems-board h3 { margin: 0 0 .15rem; font-size: 1rem; font-weight: 600; letter-spacing: -.03em; }.systems-board p { margin: 0; color: var(--muted); font-size: .69rem; }.systems-board li > i { color: var(--ice); font-style: normal; font-size: 1.2rem; }.board-line { position: absolute; bottom: -1px; left: 12%; width: 65%; height: 2px; overflow: hidden; background: rgba(237,241,237,.1); }.board-line span { display: block; width: 42%; height: 100%; background: linear-gradient(90deg, var(--ember-light), var(--ice)); animation: system-line 4s ease-in-out infinite; }@keyframes system-line { 50% { transform: translateX(138%); } }

.capabilities { padding-top: clamp(5rem, 8vw, 7rem); padding-bottom: clamp(5rem, 8vw, 7rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); gap: clamp(4rem, 12vw, 13rem); align-items: start; border-top: 1px solid var(--line); }.capability-quote p { max-width: 610px; margin: 0; font-size: clamp(1.8rem, 3vw, 3.5rem); font-weight: 500; line-height: 1.13; letter-spacing: -.055em; }.capability-quote em { color: var(--ember-light); font-style: normal; }.capability-quote > span { display: block; margin-top: 1.2rem; color: var(--muted); font: .52rem var(--mono); letter-spacing: .1em; }.capability-list > div { padding: 0 0 1.35rem; margin-bottom: 1.35rem; border-bottom: 1px solid var(--line); }.capability-list > div:last-child { margin-bottom: 0; }.capability-list span { display: block; margin-bottom: .6rem; color: var(--ice); font: .53rem var(--mono); letter-spacing: .1em; }.capability-list p { margin: 0; color: #c6cdc9; font-size: .82rem; line-height: 1.65; }

.contact { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(4rem, 8vw, 7rem); }.contact-frame { min-height: 560px; padding: clamp(2rem, 5vw, 4rem); position: relative; display: flex; flex-direction: column; align-items: flex-start; overflow: hidden; border: 1px solid rgba(237,241,237,.19); background: radial-gradient(circle at 87% 15%, rgba(111,213,227,.13), transparent 24%), radial-gradient(circle at 78% 79%, rgba(237,118,80,.12), transparent 22%), #101820; }.contact-frame::after { content: ""; position: absolute; right: -6%; top: 10%; width: 43%; aspect-ratio: 1; border: 1px solid rgba(237,241,237,.12); border-radius: 50%; box-shadow: 0 0 0 29px rgba(237,241,237,.035), 0 0 0 67px rgba(237,241,237,.025); }.contact-corner { position: absolute; z-index: 1; width: 33px; height: 33px; border-color: var(--ember-light); }.contact-tl { top: -1px; left: -1px; border-top: 2px solid; border-left: 2px solid; }.contact-tr { top: -1px; right: -1px; border-top: 2px solid; border-right: 2px solid; }.contact-bl { bottom: -1px; left: -1px; border-bottom: 2px solid; border-left: 2px solid; }.contact-br { bottom: -1px; right: -1px; border-bottom: 2px solid; border-right: 2px solid; }.contact-status { color: var(--ice); font: .57rem var(--mono); letter-spacing: .1em; }.contact-frame h2 { position: relative; z-index: 2; margin: clamp(3rem, 6vw, 5rem) 0 1.2rem; }.contact-note { position: relative; z-index: 2; max-width: 430px; margin: 0; color: var(--muted); font-size: .87rem; line-height: 1.65; }.contact-address { position: relative; z-index: 2; margin-top: 2.2rem; padding-bottom: .55rem; display: inline-flex; gap: .8rem; border-bottom: 1px solid var(--ember-light); color: var(--paper); font-size: clamp(1rem, 1.7vw, 1.35rem); letter-spacing: -.02em; transition: color .2s; }.contact-address span { color: var(--ember-light); }.contact-address:hover, .contact-address:focus-visible { color: var(--ember-light); }.placeholder-note { position: relative; z-index: 2; max-width: 380px; margin: .8rem 0 0; color: rgba(237,241,237,.42); font: .53rem var(--mono); line-height: 1.5; }.contact-lower { width: 100%; margin-top: auto; position: relative; z-index: 2; padding-top: 1.3rem; display: flex; justify-content: space-between; gap: 1rem; color: rgba(237,241,237,.46); font: .51rem var(--mono); letter-spacing: .09em; border-top: 1px solid var(--line); }
.contact-addresses { position: relative; z-index: 2; margin-top: 2.2rem; display: flex; flex-wrap: wrap; gap: .9rem 1.4rem; }.contact-addresses .contact-address { margin-top: 0; }.contact-address-secondary { border-bottom-color: rgba(237,241,237,.35); }
.site-footer { padding: 1.5rem var(--page-pad); display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); color: var(--muted); font: .52rem var(--mono); letter-spacing: .09em; }.site-footer a { transition: color .2s; }.site-footer a:hover, .site-footer a:focus-visible { color: var(--ember-light); }.site-footer a span { color: var(--ember-light); }

[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }[data-reveal-delay="1"] { transition-delay: .1s; }[data-reveal-delay="2"] { transition-delay: .2s; }[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  .site-header { height: 72px; }.header-status { display: none; }.menu-toggle { display: flex; width: 39px; height: 39px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; }.menu-toggle i { display: block; width: 22px; height: 1px; background: currentColor; transition: transform .25s ease; }.menu-toggle[aria-expanded="true"] i:first-of-type { transform: translateY(3.5px) rotate(45deg); }.menu-toggle[aria-expanded="true"] i:last-of-type { transform: translateY(-3.5px) rotate(-45deg); }.site-nav { width: 100%; height: calc(100svh - 72px); padding: 2rem var(--page-pad); position: fixed; top: 72px; left: 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2rem; background: rgba(8,11,16,.98); border-top: 1px solid var(--line); transform: translateX(100%); transition: transform .35s ease; }.site-nav.is-open { transform: translateX(0); }.site-nav a { font-size: 1.05rem; }.site-nav a span { opacity: 1; font-size: .65rem; }.hero { min-height: auto; padding-top: 125px; padding-bottom: 6rem; grid-template-columns: 1fr; }.hero-copy { max-width: 680px; }.hero-visual { width: min(100%, 580px); margin-top: 3rem; justify-self: start; }.visual-frame { min-height: 440px; }.scroll-cue { display: none; }.signal-strip { grid-template-columns: 1fr 1fr; }.profile-layout, .systems { grid-template-columns: 1fr; }.profile-detail { max-width: 540px; }.systems-board { max-width: 620px; }.capabilities { grid-template-columns: 1fr; gap: 3rem; }.capability-list { max-width: 530px; }
}
@media (max-width: 650px) {
  :root { --page-pad: 1.15rem; }.brand { min-width: 0; }.brand-name { font-size: .61rem; }.hero { padding-top: 115px; padding-bottom: 4rem; }.hero h1 { font-size: clamp(2.75rem, 13vw, 4.35rem); }.hero-intro { font-size: .95rem; }.hero-footnotes { gap: .7rem 1.1rem; margin-top: 3.4rem; }.hero-visual { margin-top: 2rem; }.visual-frame { min-height: 340px; }.frame-label { font-size: .43rem; }.top-label { top: 12px; left: 12px; }.bottom-label { right: 12px; bottom: 12px; }.stage-reading { display: none; }.visual-caption { font-size: .43rem; }.signal-strip { grid-template-columns: 1fr 1fr; }.signal-strip > div { min-height: 75px; padding: 1rem; }.signal-strip strong { font-size: .51rem; }.strip-signal { display: none !important; }.section-pad { padding-top: 5rem; padding-bottom: 5rem; }.profile-layout { margin-top: 3rem; }.profile h2, .systems h2, .contact h2 { font-size: clamp(2.35rem, 10vw, 3.45rem); }.principles-grid { grid-template-columns: 1fr; }.principle-card { min-height: 215px; }.section-heading { display: block; }.section-heading > p { margin-top: 1.5rem; }.project-list { grid-template-columns: 1fr; gap: 3rem; }.project-card-featured { grid-column: auto; }.project-image, .project-card:not(.project-card-featured) .project-image { height: min(70vw, 370px); }.project-content { grid-template-columns: 1fr; gap: .85rem; }.project-link { width: max-content; margin-top: .2rem; }.systems { gap: 3rem; }.systems-board { margin-left: -.15rem; margin-right: -.15rem; padding: 1rem; }.contact-frame { min-height: 520px; }.contact-frame::after { width: 65%; right: -15%; }.contact-lower { font-size: .43rem; }.site-footer { flex-wrap: wrap; font-size: .47rem; }.site-footer span:first-child { width: 100%; margin-bottom: .3rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }.orbit, .node, .live-dot, .scroll-cue i::after, .board-line span { animation: none !important; }[data-reveal] { opacity: 1; transform: none; transition: none; }.project-image, .button, .text-link span { transition: none; }
}
