:root{--bg:#08090b;--surface:#0e1014;--surface-2:#14161b;--text:#f2f0ed;--muted:#858991;--red:#ff3b3b;--red-dark:#7a1010;--line:#24262c;--mono:"IBM Plex Mono",monospace;--sans:"Space Grotesk",sans-serif;--shell:1180px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{margin:auto;max-width:var(--shell);padding-inline:28px;width:100%}.cursor-glow{background:radial-gradient(circle,rgb(122 16 16/.16),transparent 68%);height:520px;left:0;pointer-events:none;position:fixed;top:0;transform:translate(-50%,-50%);width:520px;z-index:0}
.site-header{backdrop-filter:blur(14px);background:rgb(8 9 11/.87);border-bottom:1px solid rgb(255 255 255/.06);height:68px;position:fixed;top:0;width:100%;z-index:30}.nav{align-items:center;display:flex;height:100%;justify-content:space-between}.brand{font-family:var(--mono);font-size:.76rem;font-weight:500;letter-spacing:.08em}.brand span{color:var(--red)}.nav-right,.nav-links{align-items:center;display:flex}.nav-right{gap:36px}.nav-links{gap:26px;list-style:none}.nav-links a{color:var(--muted);font-family:var(--mono);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;transition:color .2s}.nav-links b{color:#4e5159;font-weight:400;margin-right:5px}.nav-links a:hover{color:var(--text)}.availability{color:#a7a9ae;font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.availability i{animation:status-pulse 2.6s ease-in-out infinite;background:var(--red);border-radius:50%;box-shadow:0 0 8px rgb(255 59 59/.55);display:inline-block;height:5px;margin-right:6px;width:5px}@keyframes status-pulse{50%{box-shadow:0 0 14px rgb(255 59 59/.75);opacity:.55}}.menu-toggle{background:none;border:0;display:none;height:32px;width:32px}.menu-toggle span{background:var(--text);display:block;height:1px;margin:7px;width:20px}
.hero{border-bottom:1px solid var(--line);display:flex;height:min(78vh,760px);min-height:610px;overflow:hidden;padding-top:68px;position:relative}.hero::before{background-image:linear-gradient(rgb(255 255 255/.025) 1px,transparent 1px);background-size:100% 48px;content:"";inset:68px 0 0;mask-image:linear-gradient(to right,#000,transparent 75%);position:absolute}.hero-lines{inset:0;overflow:hidden;pointer-events:none;position:absolute}.hero-lines::before,.hero-lines::after{background:linear-gradient(90deg,transparent,rgb(255 59 59/.18),transparent);content:"";height:1px;left:-50%;position:absolute;width:50%}.hero-lines::before{animation:line-travel 14s linear infinite;top:32%}.hero-lines::after{animation:line-travel 18s linear -6s infinite;top:71%}@keyframes line-travel{to{left:120%}}.hero-layout{align-items:center;display:grid;grid-template-columns:1.05fr .95fr;position:relative;z-index:2}.hero-copy{padding:54px 0 28px}.kicker,.section-code{color:var(--red);font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.hero h1{font-size:clamp(3.2rem,6vw,5.7rem);font-weight:600;letter-spacing:-.065em;line-height:.9;margin-top:24px}.hero h1 em,.section-header h2 em,.contact h2 em{color:var(--muted);font-style:normal;font-weight:400}.role{font-family:var(--mono);font-size:clamp(.66rem,1.1vw,.82rem);letter-spacing:.13em;margin-top:22px}.hero-intro{color:#b4b5b9;font-size:1rem;margin-top:26px;max-width:430px}.hero-actions{align-items:center;display:flex;gap:25px;margin-top:30px}.button{border:1px solid;display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;padding:11px 16px;text-transform:uppercase}.button-red{border-color:var(--red);transition:background .2s,color .2s}.button-red:hover{background:var(--red);color:#09090a}.text-link{border-bottom:1px solid #393b41;font-family:var(--mono);font-size:.62rem;padding-bottom:3px;text-transform:uppercase;transition:border-color .2s,color .2s}.text-link:hover{border-color:var(--red);color:var(--red)}.hero-meta{border-top:1px solid var(--line);display:flex;gap:25px;margin-top:48px;padding-top:15px}.hero-meta p{color:#a0a3aa;font-family:var(--mono);font-size:.55rem;text-transform:uppercase}.hero-meta span{color:#4f525a;display:block;margin-bottom:3px}.mask-reveal{overflow:hidden}.mask-reveal>span{animation:mask-in .85s cubic-bezier(.2,.7,.2,1) both;display:block;transform:translateY(110%)}.mask-reveal:nth-child(2)>span{animation-delay:.08s}.mask-reveal:nth-child(3)>span{animation-delay:.15s}@keyframes mask-in{to{transform:translateY(0)}}
.system-visual{height:500px;position:relative;width:100%}.system-visual svg{height:100%;overflow:visible;width:100%}.system-label,.system-coords,.system-readout{font-family:var(--mono);position:absolute}.system-label{color:#5b5e65;font-size:.52rem;letter-spacing:.08em;right:2px;top:30px}.system-label span{color:var(--red);margin-left:8px}.map-lines{fill:none;stroke:#555961;stroke-width:.7}.modules{fill:#0c0d10;stroke:#5a5d64;stroke-width:.8}.core-halo{animation:core-breathe 4s ease-in-out infinite}.core-ring{fill:none;stroke:var(--red);stroke-width:.7;transform-box:fill-box;transform-origin:center}.core-ring-a{animation:ring-spin 20s linear infinite;stroke-dasharray:14 8}.core-ring-b{animation:ring-spin 29s linear infinite reverse;opacity:.35;stroke-dasharray:3 11}.core{fill:var(--red)}.core-blur{fill:#d92727;opacity:.55}.data-bars{fill:var(--red);opacity:.5}.moving-packet{fill:var(--red);filter:drop-shadow(0 0 5px #ff3b3b)}@keyframes core-breathe{50%{opacity:.65;transform:scale(1.08);transform-origin:354px 298px}}@keyframes ring-spin{to{transform:rotate(360deg)}}.system-coords{bottom:42px;color:#4e5158;display:flex;flex-direction:column;font-size:.5rem;left:10px}.system-readout{align-items:center;bottom:5px;color:#5a5d64;display:flex;font-size:.52rem;gap:9px;right:0}.system-readout i{background:var(--red);height:1px;width:44px}.system-readout b{color:#a8a9ad;font-weight:400}.side-index{bottom:20px;color:#3e4147;font-family:var(--mono);font-size:.48rem;letter-spacing:.12em;position:absolute;right:25px;writing-mode:vertical-rl}
.section{padding:110px 0;position:relative;z-index:1}.work{background:var(--surface)}.section-header{align-items:end;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:28px}.section-header h2{font-size:clamp(2.2rem,4.5vw,4rem);font-weight:500;letter-spacing:-.055em;line-height:1;margin-top:12px}.section-note{color:var(--muted);font-size:.78rem;max-width:350px}.project-list{display:grid;gap:130px;margin-top:75px}.project{align-items:center;display:grid;gap:clamp(38px,7vw,90px);grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr)}.project.reverse{grid-template-columns:minmax(250px,.65fr) minmax(0,1.55fr)}.project.reverse .project-media{grid-column:2;grid-row:1}.project.reverse .project-info{grid-column:1;grid-row:1}.project.wide{align-items:end;grid-template-columns:1fr}.project.wide .project-media{max-width:920px}.project.wide .project-info{align-items:end;display:grid;gap:30px;grid-template-columns:1fr 1.3fr;max-width:920px}.project-media{background:#090a0d;border:1px solid var(--line);cursor:pointer;overflow:hidden;position:relative;transition:border-color .35s,box-shadow .35s}.project-media img{aspect-ratio:16/10;filter:grayscale(.18) saturate(.75);object-fit:cover;transform:scale(1.001) translate(var(--img-x,0),var(--img-y,0));transition:filter .6s,transform .6s cubic-bezier(.2,.7,.2,1);width:100%}.project-media::after{background:linear-gradient(90deg,transparent,rgb(255 59 59/.14),transparent);content:"";height:14%;left:0;opacity:0;position:absolute;top:-16%;width:100%}.project-open{background:var(--red);bottom:0;color:#0a0a0b;font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;opacity:0;padding:8px 11px;position:absolute;right:0;text-transform:uppercase;transform:translateY(100%);transition:opacity .3s,transform .3s}.project-media:hover{border-color:rgb(255 59 59/.72);box-shadow:0 18px 55px rgb(0 0 0/.35),0 0 35px rgb(122 16 16/.12)}.project-media:hover img{filter:grayscale(0) saturate(.9);transform:scale(1.015) translate(var(--img-x,0),var(--img-y,0))}.project-media:hover::after{animation:scanner 1.8s ease-in-out infinite;opacity:1}.project-media:hover .project-open{opacity:1;transform:translateY(0)}@keyframes scanner{to{transform:translateY(820%)}}.project-index{color:var(--red);font-family:var(--mono);font-size:.58rem;letter-spacing:.1em}.project-info h3{font-size:clamp(1.7rem,3vw,2.8rem);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin-top:12px}.project-description{color:var(--muted);font-size:.82rem;margin-top:17px}.project-stack{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:23px}.project-stack li{border:1px solid #2d3036;color:#9c9fa5;font-family:var(--mono);font-size:.52rem;padding:5px 8px;text-transform:uppercase}.project-links{display:flex;gap:20px;margin-top:25px}.project-links a{border-bottom:1px solid #393c42;font-family:var(--mono);font-size:.56rem;padding-bottom:3px;text-transform:uppercase}.project-links a:hover{border-color:var(--red);color:var(--red)}
.archive{border-top:1px solid var(--line);margin-top:130px;padding-top:28px}.archive-head{display:flex;justify-content:space-between}.archive-head>span{color:#555860;font-family:var(--mono);font-size:.52rem}.archive-table{margin-top:25px}.archive-row{align-items:center;border-top:1px solid var(--line);display:grid;grid-template-columns:90px 1.2fr 1fr 80px;padding:15px 8px}.archive-row:last-child{border-bottom:1px solid var(--line)}.archive-row span,.archive-row strong{font-size:.7rem;font-weight:400}.archive-row span{color:var(--muted);font-family:var(--mono);font-size:.55rem;text-transform:uppercase}.archive-row span:last-child{text-align:right}.archive-row:not(.archive-labels){transition:background .2s,padding .2s}.archive-row:not(.archive-labels):hover{background:rgb(255 255 255/.015);padding-inline:14px}.archive-row:not(.archive-labels):hover span:last-child{color:var(--red)}.archive-labels{border-top:0;padding-top:0}
.about{background:var(--bg)}.section-header.compact{justify-content:start}.about-grid{border-bottom:1px solid var(--line);display:grid;gap:90px;grid-template-columns:1fr 1fr;padding:48px 0}.about-copy{color:#b6b7ba;font-size:.9rem;max-width:480px}.about-copy p+p{margin-top:18px}.about-facts{display:grid;gap:20px}.about-facts div{border-top:1px solid var(--line);display:grid;gap:15px;grid-template-columns:90px 1fr;padding-top:12px}.about-facts dt{color:#595c63;font-family:var(--mono);font-size:.55rem;text-transform:uppercase}.about-facts dd{color:#c8c8ca;font-size:.74rem}.timeline{padding-top:42px}.timeline ol{list-style:none;margin-top:20px}.timeline li{align-items:center;border-top:1px solid var(--line);display:grid;grid-template-columns:90px 1fr 80px;padding:15px 8px}.timeline li:last-child{border-bottom:1px solid var(--line)}.timeline time,.timeline i{color:var(--muted);font-family:var(--mono);font-size:.58rem;font-style:normal}.timeline span{font-size:.76rem}.timeline i{color:var(--red);text-align:right}
.contact{background:#0b090a;border-top:1px solid #2d1819;overflow:hidden;padding:105px 0 36px;position:relative;z-index:1}.contact::before{background:radial-gradient(circle at 78% 55%,rgb(122 16 16/.18),transparent 38%);content:"";inset:0;position:absolute}.contact-layout{position:relative}.contact h2{font-size:clamp(3rem,7vw,6.4rem);font-weight:500;letter-spacing:-.07em;line-height:.9;margin-top:22px}.contact h2 em{color:var(--red-dark)}.contact-links{display:flex;gap:28px;margin-top:45px}.contact-links a{border-bottom:1px solid #4a292a;font-family:var(--mono);font-size:.64rem;padding-bottom:4px}.contact-links a:hover{border-color:var(--red);color:var(--red)}.contact-meta{border-top:1px solid #332022;color:#5f5558;display:flex;font-family:var(--mono);font-size:.5rem;justify-content:space-between;margin-top:90px;padding-top:17px}.contact-signal{height:280px;position:absolute;right:8%;top:50px;width:280px}.contact-signal span{animation:signal 5s ease-out infinite;border:1px solid rgb(255 59 59/.2);border-radius:50%;inset:50%;position:absolute}.contact-signal span:nth-child(2){animation-delay:1.6s}.contact-signal span:nth-child(3){animation-delay:3.2s}@keyframes signal{0%{inset:50%;opacity:.7}100%{inset:0;opacity:0}}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.js .reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav-links{gap:16px}.hero-layout{grid-template-columns:1fr .8fr}.system-visual{height:430px}.project,.project.reverse{gap:34px;grid-template-columns:1fr}.project.reverse .project-media,.project.reverse .project-info{grid-column:1}.project.reverse .project-media{grid-row:1}.project.reverse .project-info{grid-row:2}.project.wide .project-info{display:block}.project-list{gap:95px}.about-grid{gap:50px}.section-note{display:none}}
@media(max-width:720px){.shell{padding-inline:19px}.menu-toggle{display:block;position:relative;z-index:2}.menu-toggle.active span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav-right{align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line);display:none;flex-direction:column;gap:20px;left:0;padding:85px 20px 24px;position:absolute;top:0;width:100%}.nav-right.open{display:flex}.nav-links{align-items:stretch;flex-direction:column;gap:0}.nav-links a{display:block;padding:9px 0}.hero{height:auto;min-height:0;padding:115px 0 65px}.hero-layout{grid-template-columns:1fr}.hero-copy{padding:0}.system-visual{height:270px;margin:22px 0 0;opacity:.72}.system-label{top:0}.hero-meta{flex-wrap:wrap;margin-top:38px}.side-index{display:none}.section{padding:78px 0}.section-header{align-items:start}.project-list{margin-top:54px}.archive{margin-top:90px}.archive-row{grid-template-columns:55px 1.2fr 1fr}.archive-row>*:last-child{display:none}.about-grid{gap:40px;grid-template-columns:1fr;padding:38px 0}.timeline li{grid-template-columns:60px 1fr 42px}.contact{padding-top:78px}.contact h2{font-size:clamp(3rem,15vw,5.2rem)}.contact-links{align-items:flex-start;flex-direction:column;gap:16px}.contact-meta{gap:10px;margin-top:65px}.contact-signal{opacity:.5;right:-80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.cursor-glow,.moving-packet{display:none}.mask-reveal>span,.js .reveal{opacity:1;transform:none}.project-media:hover img{transform:none}}

/* Compact project gallery */
.work {
  padding-block: 68px;
}

.work .section-header {
  padding-bottom: 20px;
}

.work .section-header h2 {
  font-size: clamp(2rem, 3.5vw, 3.2rem);
}

.project-list {
  align-items: stretch;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 34px;
}

.project,
.project.reverse,
.project.wide {
  align-content: start;
  background: #0b0d11;
  border: 1px solid var(--line);
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1.05fr) minmax(210px, .95fr);
  min-width: 0;
  overflow: hidden;
}

.project.reverse .project-media,
.project.reverse .project-info,
.project.wide .project-media,
.project.wide .project-info {
  grid-column: auto;
  grid-row: 1;
  max-width: none;
}

.project-media {
  aspect-ratio: 16 / 10;
  height: 100%;
  min-height: 0;
  width: 100%;
}

.project-media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.project-info,
.project.wide .project-info {
  align-self: stretch;
  display: block;
  padding: 18px 16px;
}

.project-index {
  font-size: .5rem;
}

.project-info h3 {
  font-size: 1.25rem;
  margin-top: 7px;
}

.project-description {
  display: -webkit-box;
  font-size: .7rem;
  line-height: 1.5;
  margin-top: 10px;
  min-height: 3em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.project-stack {
  gap: 5px;
  margin-top: 13px;
}

.project-stack li {
  font-size: .44rem;
  padding: 3px 5px;
}

.project-links {
  gap: 14px;
  margin-top: 15px;
}

.archive {
  margin-top: 80px;
}

.show-more {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--text);
  cursor: pointer;
  display: block;
  font-family: var(--mono);
  font-size: .56rem;
  letter-spacing: .08em;
  margin: 25px auto 0;
  padding: 10px 16px;
  text-transform: uppercase;
  transition: border-color .2s, color .2s;
}

.show-more:hover {
  border-color: var(--red);
  color: var(--red);
}

.show-more[hidden],
.project-extra[hidden] {
  display: none;
}

.show-more span {
  color: var(--red);
  margin-left: 6px;
}

@media (max-width: 850px) {
  .work {
    padding-block: 70px;
  }

  .project-list {
    grid-template-columns: 1fr;
  }

  .project,
  .project.reverse,
  .project.wide {
    grid-template-columns: minmax(0, 1.05fr) minmax(200px, .95fr);
  }
}

@media (max-width: 580px) {
  .project,
  .project.reverse,
  .project.wide {
    grid-template-columns: 1fr;
  }

  .project-media {
    aspect-ratio: 16 / 9;
    height: auto;
  }

  .project-info,
  .project.wide .project-info {
    grid-column: 1;
    grid-row: 2;
  }

  .project-description {
    min-height: auto;
  }
}

/* Image-led header and hero */
.hero-header {
  background: rgb(8 9 11 / 72%);
  border-bottom-color: transparent;
  height: 76px;
  transition: background .3s ease, border-color .3s ease;
}

.hero-header.scrolled {
  background: rgb(8 9 11 / 94%);
  border-bottom-color: rgb(255 255 255 / 7%);
}

.hero-header .nav {
  height: 76px;
  max-width: none;
  padding-inline: clamp(20px, 3vw, 56px);
}

.hero-header .brand {
  align-items: center;
  display: flex;
  gap: 11px;
  letter-spacing: 0;
}

.hero-header .brand b {
  align-items: center;
  background: var(--text);
  color: var(--bg);
  display: inline-flex;
  font-family: var(--sans);
  font-size: .74rem;
  height: 28px;
  justify-content: center;
  letter-spacing: -.04em;
  width: 28px;
}

.hero-header .brand span {
  color: #b6b7bb;
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero-header .nav-right {
  gap: 28px;
}

.hero-header .nav-links {
  gap: 28px;
}

.hero-header .nav-links a {
  font-size: .58rem;
}

.header-contact {
  border: 1px solid #35373d;
  font-family: var(--mono);
  font-size: .56rem;
  letter-spacing: .07em;
  padding: 8px 12px;
  text-transform: uppercase;
  transition: background .2s, border-color .2s, color .2s;
}

.header-contact span {
  color: var(--red);
  margin-left: 5px;
}

.header-contact:hover {
  background: var(--text);
  border-color: var(--text);
  color: var(--bg);
}

.hero-v2 {
  border-bottom: 1px solid var(--line);
  display: block;
  height: auto;
  min-height: 0;
  padding: 76px 0 0;
}

.hero-v2::before {
  content: none;
}

.hero-window {
  background: #08090b;
  border-block: 1px solid #292b31;
  height: calc(100vh - 76px);
  min-height: 620px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.hero-stage {
  width: 100%;
}

.hero-art {
  inset: 0;
  overflow: hidden;
  position: absolute;
}

.hero-art::before {
  background: linear-gradient(90deg, rgb(4 5 6 / 42%) 0%, transparent 48%), linear-gradient(0deg, rgb(4 5 6 / 30%), transparent 38%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.hero-art::after {
  animation: hero-light 6s ease-in-out infinite;
  background: radial-gradient(circle at 79% 55%, rgb(255 45 45 / 16%), transparent 37%);
  content: "";
  inset: 0;
  mix-blend-mode: screen;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.hero-art picture {
  display: block;
  height: 100%;
  width: 100%;
}

.hero-art img {
  animation: none;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
  width: 100%;
}

@keyframes hero-drift {
  from { transform: scale(1.035) translate3d(0, 0, 0); }
  to { transform: scale(1.065) translate3d(-.6%, -.4%, 0); }
}

@keyframes hero-light {
  50% { opacity: .58; transform: scale(1.07); }
}

.hero-grid-overlay {
  background-image: linear-gradient(rgb(255 255 255 / 3.2%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 3.2%) 1px, transparent 1px);
  background-size: 90px 90px;
  inset: 0;
  mask-image: linear-gradient(to right, black, transparent 82%);
  pointer-events: none;
  position: absolute;
  z-index: 3;
}

.hero-scan {
  animation: hero-scanline 9s linear infinite;
  background: linear-gradient(90deg, transparent, rgb(255 59 59 / 22%), transparent);
  height: 1px;
  left: 0;
  opacity: .5;
  position: absolute;
  right: 0;
  top: -2%;
  z-index: 4;
}

@keyframes hero-scanline {
  0%, 18% { opacity: 0; transform: translateY(0); }
  22% { opacity: .5; }
  72% { opacity: .25; }
  76%, 100% { opacity: 0; transform: translateY(700px); }
}

.hero-topbar {
  align-items: center;
  border-bottom: 1px solid rgb(255 255 255 / 8%);
  display: flex;
  height: 58px;
  justify-content: space-between;
  left: 0;
  padding: 0 24px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 6;
}

.hero-topbar p {
  color: #777a81;
  font-family: var(--mono);
  font-size: .53rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.hero-topbar p > span {
  color: #d0d0d2;
  margin-right: 15px;
}

.hero-signal {
  align-items: center;
  display: flex;
}

.hero-signal i {
  animation: status-pulse 2.6s ease-in-out infinite;
  background: var(--red);
  border-radius: 50%;
  box-shadow: 0 0 9px rgb(255 59 59 / 65%);
  height: 5px;
  margin-right: 7px;
  width: 5px;
}

.hero-signal b {
  color: var(--red);
  font-weight: 400;
  min-width: 24px;
}

.intro-copy {
  bottom: 142px;
  left: clamp(28px, 5vw, 60px);
  max-width: 690px;
  position: absolute;
  z-index: 7;
}

.intro-eyebrow {
  color: #9a9da3;
  font-family: var(--mono);
  font-size: .6rem;
  letter-spacing: .11em;
  padding-left: 42px;
  position: relative;
  text-transform: uppercase;
}

.intro-eyebrow::before {
  background: var(--red);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 50%;
  width: 28px;
}

.intro-copy h1 {
  font-size: clamp(2.9rem, 5.3vw, 5.2rem);
  font-weight: 400;
  letter-spacing: -.065em;
  line-height: .98;
  margin-top: 21px;
  text-wrap: balance;
}

.intro-copy h1 em {
  background: linear-gradient(90deg, #f2f0ed 4%, #ff7373 52%, #9a292d 100%);
  background-clip: text;
  color: transparent;
  font-style: normal;
}

.intro-description {
  color: #9b9da2;
  font-size: .82rem;
  margin-top: 20px;
  max-width: 470px;
}

.hero-v2 .hero-actions {
  margin-top: 24px;
}

.hero-stats {
  align-items: center;
  border-top: 1px solid rgb(255 255 255 / 8%);
  bottom: 0;
  display: flex;
  height: 105px;
  left: 0;
  padding-left: clamp(28px, 5vw, 60px);
  position: absolute;
  right: 0;
  z-index: 7;
}

.hero-stats div {
  border-right: 1px solid rgb(255 255 255 / 8%);
  display: grid;
  gap: 2px;
  min-width: 170px;
  padding-right: 30px;
}

.hero-stats div + div {
  margin-left: 30px;
}

.hero-stats strong {
  font-size: 1.45rem;
  font-weight: 400;
  letter-spacing: -.04em;
}

.hero-stats span {
  color: #666970;
  font-family: var(--mono);
  font-size: .48rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.hero-coordinate {
  bottom: 18px;
  color: #474a50;
  font-family: var(--mono);
  font-size: .45rem;
  letter-spacing: .06em;
  position: absolute;
  right: 20px;
  z-index: 7;
}

.hero-particle {
  animation: particle-float var(--particle-duration) linear var(--particle-delay) infinite;
  background: #ff5454;
  border-radius: 50%;
  box-shadow: 0 0 7px rgb(255 59 59 / 70%);
  height: var(--particle-size);
  left: var(--particle-x);
  opacity: 0;
  position: absolute;
  top: var(--particle-y);
  width: var(--particle-size);
  z-index: 3;
}

@keyframes particle-float {
  0% { opacity: 0; transform: translate3d(0, 12px, 0); }
  16% { opacity: var(--particle-opacity); }
  74% { opacity: calc(var(--particle-opacity) * .7); }
  100% { opacity: 0; transform: translate3d(var(--particle-drift), -70px, 0); }
}

@media (max-width: 800px) {
  .hero-header .nav-right {
    background: rgb(10 11 14 / 98%);
    border-bottom: 1px solid var(--line);
    padding-top: 86px;
  }

  .hero-header .nav-links {
    align-items: stretch;
    gap: 0;
  }

  .hero-header .nav-links a {
    font-size: .7rem;
  }

  .header-contact {
    text-align: center;
  }

  .hero-window {
    height: 680px;
    min-height: 0;
  }

  .hero-art img {
    object-position: 62% center;
  }

  .hero-art::before {
    background: linear-gradient(0deg, rgb(4 5 6 / 55%) 0%, transparent 64%), linear-gradient(90deg, rgb(4 5 6 / 46%), transparent);
  }

  .intro-copy {
    bottom: 168px;
    left: 24px;
    right: 24px;
  }

  .intro-copy h1 {
    font-size: clamp(2.5rem, 9vw, 4.5rem);
  }

  .hero-stats {
    height: 120px;
    padding-inline: 22px;
  }

  .hero-stats div {
    min-width: 0;
    padding-right: 14px;
  }

  .hero-stats div + div {
    margin-left: 14px;
  }

  .hero-coordinate {
    display: none;
  }
}

@media (max-width: 540px) {
  .hero-header .brand span,
  .hero-header .availability {
    display: none;
  }

  .hero-v2 {
    padding: 76px 0 0;
  }

  .hero-window {
    height: 690px;
  }

  .hero-topbar {
    padding-inline: 15px;
  }

  .hero-topbar p:first-child {
    max-width: 180px;
  }

  .hero-topbar p:first-child span {
    display: block;
    margin-bottom: 2px;
  }

  .hero-art img {
    object-position: 69% center;
  }

  .intro-copy {
    bottom: 165px;
    left: 18px;
    right: 18px;
  }

  .intro-copy h1 {
    font-size: clamp(2.4rem, 12vw, 3.7rem);
  }

  .intro-description {
    font-size: .75rem;
    max-width: 340px;
  }

  .hero-v2 .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .hero-stats div {
    border: 0;
  }

  .hero-stats strong {
    font-size: 1.1rem;
  }

  .hero-stats span {
    font-size: .4rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-art img,
  .hero-art::after,
  .hero-scan,
  .hero-particle,
  .hero-signal i {
    animation: none !important;
  }

  .hero-art img {
    transform: none;
  }
}
