:root {
  --bg: #050709;
  --panel: #0b0f12;
  --ink: #f4f5f2;
  --muted: #9ca6ac;
  --line: #232a2f;
  --acid: #d9ff46;
  --red: #ff3154;
  --cyan: #2af6e7;
  --max: 1280px;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
html { scroll-behavior: smooth; scroll-padding-top: 78px; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 1rem/1.65 "DM Sans", sans-serif; overflow-x: hidden; }
a { color: inherit; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 1rem; top: 1rem; z-index: 50; background: white; color: black; padding: .75rem; }

.site-header {
  height: 78px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 clamp(1.25rem,4vw,4rem); position: fixed; inset: 0 0 auto; z-index: 20;
  border-bottom: 1px solid #ffffff18; background: #050709c7;
  backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2);
}
.brand { display: flex; align-items: center; gap: .65rem; text-decoration: none; }
.brand-mark { width: 42px; height: 30px; overflow: visible; }
.logo-emitter { fill: #0b1013; stroke: #f4f5f2; stroke-width: 1.6; }
.logo-beam { fill: none; stroke-width: 1.5; stroke-linecap: round; }
.beam-cyan { stroke: var(--cyan); filter: drop-shadow(0 0 4px #2af6e7aa); }
.beam-red { stroke: var(--red); filter: drop-shadow(0 0 4px #ff315477); }
.beam-acid { stroke: var(--acid); }
.logo-source { fill: #fff; filter: drop-shadow(0 0 5px #fff); }
.brand-name { font: 500 .86rem "Space Grotesk"; letter-spacing: .18em; }
.brand-name strong { color: var(--red); font-weight: 700; margin-left: .22rem; }
nav { display: flex; gap: 2rem; }
nav a { text-decoration: none; color: #d9dddf; font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; }
nav a:hover, nav a:focus-visible { color: var(--acid); }
nav a.active { color: var(--acid); }
.nav-toggle { display: none; }

.cursor-laser { position: fixed; z-index: 60; pointer-events: none; left: 0; top: 0; width: 1px; height: 1px; opacity: 0; transition: opacity .2s ease; will-change: transform; }
.cursor-laser.active { opacity: 1; }
.cursor-tail { position: absolute; right: 3px; top: 0; width: var(--tail-length,12px); height: 1px; transform: translateY(-50%); transform-origin: right center; background: linear-gradient(90deg,transparent,var(--cyan),#fff); box-shadow: 0 0 6px var(--cyan); transition: width .11s ease-out; }
.cursor-core { position: absolute; width: 6px; height: 6px; left: 0; top: 0; border-radius: 50%; background: #fff; transform: translate(-50%,-50%); box-shadow: 0 0 5px #fff,0 0 11px var(--cyan),0 0 18px var(--red); transition: width .16s ease,height .16s ease,box-shadow .16s ease; }
.cursor-laser.interactive .cursor-core { width: 10px; height: 10px; box-shadow: 0 0 6px #fff,0 0 16px var(--acid),0 0 28px var(--cyan); }
.cursor-laser.pulse .cursor-core:after { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 1px solid var(--cyan); animation: cursor-pulse .4s ease-out both; }
@keyframes cursor-pulse { from { transform: scale(.35); opacity: 1; } to { transform: scale(1.7); opacity: 0; } }

.scroll-laser { position: fixed; z-index: 18; pointer-events: none; top: 96px; right: 20px; bottom: 24px; width: 2px; background: #ffffff18; box-shadow: -4px 0 12px #2af6e71c,4px 0 12px #ff31541c; }
.scroll-laser:before { content: ""; position: absolute; inset: 0 -5px; background: repeating-linear-gradient(180deg,transparent 0 20px,#ffffff24 20px 21px,transparent 21px 34px); opacity: .65; }
.scroll-laser:after { content: "TRACE"; position: absolute; right: 9px; top: 50%; color: #b9c2c6; font: 500 .52rem "Space Grotesk"; letter-spacing: .22em; transform: rotate(-90deg) translateY(-50%); transform-origin: right top; opacity: .55; }
.scroll-laser-fill { position: absolute; inset: 0; transform: scaleY(var(--scroll-progress,0)); transform-origin: top; background: linear-gradient(180deg,var(--cyan),#fff 52%,var(--red)); box-shadow: 0 0 5px #fff,0 0 13px #2af6e7aa; }
.scroll-laser-head { position: absolute; left: 50%; top: calc(var(--scroll-progress,0) * 100%); width: 9px; height: 9px; border-radius: 50%; background: #fff; transform: translate(-50%,-50%); box-shadow: 0 0 5px #fff,0 0 15px var(--cyan),0 0 28px var(--red); }
.scroll-laser-head:after { content: ""; position: absolute; inset: -7px; border: 1px solid #ffffff44; border-radius: 50%; animation: tracer-pulse 2s ease-out infinite; }

.ambient-beams { position: fixed; z-index: 4; pointer-events: none; inset: 78px 0 0; overflow: hidden; opacity: .2; mix-blend-mode: screen; mask-image: linear-gradient(180deg,transparent 0,#000 15%,#000 82%,transparent 100%); -webkit-mask-image: linear-gradient(180deg,transparent 0,#000 15%,#000 82%,transparent 100%); }
.ambient-beam { position: absolute; display: block; height: 1px; transform-origin: left center; will-change: transform; }
.beam-one { top: 28%; left: -22vw; width: 70vw; background: linear-gradient(90deg,transparent,var(--cyan),#fff,transparent); box-shadow: 0 0 9px #2af6e7; transform: translate3d(var(--beam-shift-a,0),0,0) rotate(-10deg); }
.beam-two { top: 57%; right: -30vw; width: 76vw; background: linear-gradient(90deg,transparent,var(--red),#fff,transparent); box-shadow: 0 0 10px #ff3154; transform-origin: right center; transform: translate3d(var(--beam-shift-b,0),0,0) rotate(12deg); }
.beam-three { top: 78%; left: -14vw; width: 50vw; opacity: .72; background: linear-gradient(90deg,transparent,var(--acid),transparent); box-shadow: 0 0 7px #d9ff46; transform: translate3d(var(--beam-shift-c,0),0,0) rotate(5deg); }
@keyframes tracer-pulse { 0% { transform: scale(.5); opacity: .75; } 70%,100% { transform: scale(1.55); opacity: 0; } }
@keyframes section-trace { 0% { left: 5%; opacity: 0; } 12% { opacity: 1; } 82% { opacity: 1; } 100% { left: 95%; opacity: 0; } }

.hero { min-height: clamp(620px,78svh,820px); position: relative; overflow: hidden; display: flex; align-items: center; padding: 7rem clamp(1.25rem,7vw,7.5rem) 3rem; background: radial-gradient(ellipse at 72% 48%,#162a34 0,transparent 34%),radial-gradient(circle at 30% 80%,#2b1424 0,transparent 28%),linear-gradient(180deg,#050708,#06090c); }
.hero:after { content: ""; position: absolute; z-index: 2; pointer-events: none; inset: auto 0 0; height: clamp(90px,15vw,180px); background: linear-gradient(180deg,transparent 0%,#050709 92%); }
#laser-field { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
.haze { position: absolute; border-radius: 50%; filter: blur(100px); opacity: .2; }
.haze-a { width: 40vw; height: 40vw; background: #1d97a0; left: 42%; top: 18%; opacity: .12; }
.haze-b { width: 30vw; height: 30vw; background: #c51c3a; right: -5%; bottom: 0; opacity: .12; }
.hero-copy { position: relative; z-index: 3; max-width: 940px; }
.eyebrow, .kicker { text-transform: uppercase; letter-spacing: .19em; font-size: .76rem; font-weight: 600; color: var(--acid); }
h1, h2, h3 { font-family: "Space Grotesk", sans-serif; line-height: .98; margin: .5rem 0 1.3rem; }
h1 { font-size: clamp(3.75rem,9.4vw,9rem); letter-spacing: -.065em; }
h1 em, h2 em { font-weight: 500; color: transparent; -webkit-text-stroke: 1.5px var(--ink); font-style: normal; }
.lede { font-size: clamp(1.05rem,1.7vw,1.4rem); max-width: 680px; color: #ccd2d5; }
.actions { display: flex; gap: .8rem; margin-top: 2.2rem; }
.button { padding: .88rem 1.25rem; text-decoration: none; text-transform: uppercase; letter-spacing: .09em; font-size: .78rem; font-weight: 600; border: 1px solid #ffffff42; }
.primary { background: var(--acid); color: #080a08; border-color: var(--acid); }
.primary:hover { background: #efffa6; }
.ghost:hover { border-color: var(--acid); color: var(--acid); }

.section { max-width: var(--max); margin: auto; padding: clamp(4.5rem,8vw,7.5rem) clamp(1.25rem,4vw,3rem); position: relative; }
.beam-section:before { content: ""; position: absolute; z-index: 3; pointer-events: none; left: clamp(1.25rem,4vw,3rem); right: clamp(1.25rem,4vw,3rem); top: 0; height: 1px; opacity: .08; transform: scaleX(.08); transform-origin: left; background: linear-gradient(90deg,transparent 0,var(--cyan) 17%,#fff 48%,var(--red) 78%,transparent 100%); box-shadow: 0 0 11px #2af6e777; transition: transform 1.15s cubic-bezier(.2,.8,.2,1),opacity .45s ease; }
.beam-section.in-view:before { opacity: .62; transform: scaleX(1); }
.section-trace-node { position: absolute; z-index: 4; pointer-events: none; top: -3px; left: 5%; width: 7px; height: 7px; border-radius: 50%; opacity: 0; background: #fff; box-shadow: 0 0 7px #fff,0 0 17px var(--cyan); }
.beam-section.in-view .section-trace-node { animation: section-trace 1.25s cubic-bezier(.2,.7,.2,1) .08s both; }
.motion-ready .scroll-reveal { opacity: .12; transform: translateY(24px); transition: opacity .8s ease,transform .85s cubic-bezier(.2,.75,.25,1),filter .8s ease; transition-delay: var(--reveal-delay,0ms); filter: saturate(.65); }
.motion-ready .scroll-reveal.revealed { opacity: 1; transform: translateY(0); filter: saturate(1); }
h2 { font-size: clamp(2.7rem,5.5vw,5.6rem); letter-spacing: -.055em; }
.intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: end; }
.intro p { color: var(--muted); }
.intro .large-copy { font-size: 1.35rem; color: #e6e9e8; }
.services { display: grid; grid-template-columns: repeat(3,1fr); padding-top: 0; }
.services article { border-top: 1px solid var(--line); padding: 1.4rem 1.2rem 1.8rem 0; margin-right: 1.2rem; }
.services span { color: var(--acid); font: .72rem "Space Grotesk"; }
.services h3 { font-size: 1.25rem; line-height: 1.18; margin-top: 1.35rem; }

.software-stack { display: grid; grid-template-columns: .7fr 1.3fr; gap: 7vw; padding-top: clamp(2.5rem,5vw,4.5rem); }
.software-heading h2 { font-size: clamp(2.5rem,4.8vw,4.8rem); }
.software-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); align-self: end; }
.software-grid article { position: relative; min-height: 150px; padding: 1.35rem; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; background: #080b0d; }
.software-grid article:after { content: ""; position: absolute; left: -35%; right: 105%; bottom: 0; height: 1px; background: linear-gradient(90deg,transparent,var(--cyan),#fff,var(--red)); box-shadow: 0 0 8px var(--cyan); transition: left .45s ease,right .45s ease; }
.software-grid article:hover:after { left: 0; right: 0; }
.software-grid small { color: var(--muted); text-transform: uppercase; letter-spacing: .14em; }
.software-grid h3 { margin: 2rem 0 0; font-size: clamp(1.35rem,2vw,2rem); }
.software-grid strong { color: var(--cyan); }

.work { max-width: none; background: #0a0d0f; }
.work > * { max-width: var(--max); margin-inline: auto; }
.section-heading { display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: 5vw; margin-bottom: 4rem; }
.section-heading > p { color: var(--muted); font-size: 1.15rem; }
.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.feature { margin: 0; position: relative; overflow: hidden; min-height: 440px; background: #111; }
.feature-wide { grid-column: 1/-1; min-height: 650px; }
.feature img { width: 100%; height: 100%; position: absolute; object-fit: cover; transition: transform .7s ease; filter: saturate(.85) contrast(1.08); }
.feature:hover img { transform: scale(1.025); }
.feature:after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,#050708db); }
figcaption { position: absolute; z-index: 2; left: 2rem; bottom: 1.8rem; display: flex; flex-direction: column; max-width: 480px; }
figcaption b { font: 600 1.55rem "Space Grotesk"; }
figcaption span { color: #c2c9cc; }
.video-block { display: grid; grid-template-columns: .7fr 1.3fr; gap: 5vw; align-items: center; padding-top: 8rem; }
.video-copy h3 { font-size: clamp(2rem,4vw,4rem); }
.video-copy p { color: var(--muted); }
.video-wrap { aspect-ratio: 16/9; background: #000; }
.video-wrap iframe { width: 100%; height: 100%; border: 0; }
.image-band { height: 460px; margin-top: 8rem; overflow: hidden; }
.image-band img { width: 100%; height: 100%; object-fit: cover; }

.credentials { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7vw; }
.credential-lead { position: sticky; top: 110px; align-self: start; }
.credential-lead p:last-child { color: var(--muted); font-size: 1.1rem; }
.license-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); }
.license-grid article { background: var(--bg); padding: 1.8rem; }
.license-grid small { color: var(--acid); letter-spacing: .16em; }
.license-grid h3 { font-size: 1.3rem; line-height: 1.2; margin-top: 2rem; }
.license-grid p { color: var(--muted); font-size: .9rem; }
.credits { grid-column: 2; border-top: 1px solid var(--line); padding-top: 2rem; }
.credits > h3 { font-size: 1rem; color: var(--muted); text-transform: uppercase; letter-spacing: .14em; }
.credit-cloud { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); margin: 1.5rem 0; }
.credit-cloud span { background: var(--bg); padding: 1rem; font: 500 .92rem "Space Grotesk"; }
.credits details { border-block: 1px solid var(--line); padding: 1.1rem 0; }
.credits summary { cursor: pointer; color: var(--acid); font-weight: 600; }
.full-credits { padding-top: 1rem; }
.full-credits p { color: #b6bec2; margin: 0 0 1.2rem; }
.full-credits b { color: var(--ink); }

.press { max-width: none; background: #080b0d; }
.press > * { max-width: var(--max); margin-inline: auto; }
.press-grid { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 1rem; }
.press-card { min-height: 430px; position: relative; overflow: hidden; border: 1px solid var(--line); text-decoration: none; background: #0c1114; }
.press-story { padding: clamp(1.5rem,3vw,3rem); display: flex; flex-direction: column; justify-content: flex-end; background: radial-gradient(circle at 85% 10%,#143d43 0,transparent 34%),linear-gradient(145deg,#0d1215,#080a0c); }
.press-story:before { content: ""; position: absolute; width: 130%; height: 1px; left: -15%; top: 31%; background: linear-gradient(90deg,transparent,var(--cyan),var(--red),transparent); transform: rotate(-11deg); box-shadow: 0 0 10px #2af6e777; }
.press-meta { color: var(--acid); font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; }
.press-story h3 { font-size: clamp(2rem,3.5vw,3.6rem); letter-spacing: -.045em; margin-top: 1rem; }
.press-story p { color: var(--muted); }
.press-story b { margin-top: 1rem; font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; }
.press-photo img { width: 100%; height: 100%; position: absolute; object-fit: cover; filter: saturate(.8) contrast(1.1); transition: transform .7s ease; }
.press-photo:hover img { transform: scale(1.03); }
.press-photo:after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,#050708ed); }
.press-caption { position: absolute; z-index: 2; inset: auto 1.5rem 1.5rem; display: flex; flex-direction: column; }
.press-caption small { color: var(--acid); text-transform: uppercase; letter-spacing: .12em; }
.press-caption strong { font: 600 1.15rem "Space Grotesk"; margin-top: .35rem; }

.article-page { overflow-x: hidden; overflow-y: auto; touch-action: pan-y; }
.article-page .site-header { position: fixed; }
.article-shell { width: min(1040px,calc(100% - 2.5rem)); margin: 0 auto; padding: 9rem 0 6rem; }
.article-back { display: inline-block; color: var(--acid); text-decoration: none; text-transform: uppercase; letter-spacing: .12em; font-size: .76rem; margin-bottom: 3rem; }
.site-header .article-back { margin-bottom: 0; }
.article-shell h1 { font-size: clamp(3.2rem,8vw,7.8rem); max-width: 980px; }
.article-deck { max-width: 760px; color: #c9d0d3; font-size: clamp(1.15rem,2vw,1.5rem); }
.article-visual { margin: 4rem 0; height: clamp(320px,60vw,680px); overflow: hidden; background: #0d1215; }
.article-visual img { width: 100%; height: 100%; object-fit: cover; }
.article-visual.laser-abstract { position: relative; background: radial-gradient(circle at 68% 52%,#d9ff4622,transparent 8%),radial-gradient(ellipse at 65% 55%,#17363b,transparent 45%),#080b0e; }
.article-visual.laser-abstract:before,.article-visual.laser-abstract:after { content: ""; position: absolute; left: -8%; width: 120%; height: 2px; top: 53%; background: linear-gradient(90deg,transparent,var(--cyan),#fff,var(--red),transparent); box-shadow: 0 0 16px #2af6e7; transform: rotate(-12deg); }
.article-visual.laser-abstract:after { transform: rotate(9deg); opacity: .7; }
.article-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 7vw; border-top: 1px solid var(--line); padding-top: 2.5rem; }
.article-facts { color: var(--muted); }
.article-facts p { margin: 0 0 1.2rem; }
.article-facts b { display: block; color: var(--ink); text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; }
.article-copy p { color: #c3cbce; font-size: 1.08rem; margin: 0 0 1.5rem; }
.article-copy h2 { font-size: clamp(2.2rem,4.5vw,4rem); }

.client-page { min-height: 100%; background: radial-gradient(circle at 82% 12%,#153339 0,transparent 28%),radial-gradient(circle at 15% 70%,#28121c 0,transparent 25%),var(--bg); }
.client-shell { width: min(1180px,calc(100% - 2.5rem)); margin: 0 auto; padding: 10rem 0 6rem; }
.client-hero { max-width: 900px; margin-bottom: 5rem; }
.client-hero h1 { font-size: clamp(4rem,10vw,8.5rem); }
.client-hero .lede { max-width: 760px; }
.unlisted-note { display: flex; gap: .8rem; align-items: flex-start; max-width: 760px; margin-top: 2rem; padding: 1rem 1.2rem; border: 1px solid #ffffff1f; background: #0b1114c7; color: #aeb8bc; font-size: .9rem; }
.unlisted-note b { color: var(--acid); white-space: nowrap; letter-spacing: .09em; }
.client-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.client-card { position: relative; min-height: 320px; padding: 1.7rem; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid var(--line); background: linear-gradient(145deg,#0e1417,#080b0d); overflow: hidden; }
.client-card:before { content: ""; position: absolute; left: -15%; top: 28%; width: 130%; height: 1px; background: linear-gradient(90deg,transparent,var(--cyan),var(--red),transparent); box-shadow: 0 0 10px #2af6e755; transform: rotate(-10deg); }
.client-card small { color: var(--acid); text-transform: uppercase; letter-spacing: .13em; }
.client-card h2 { font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.02; margin-top: 1rem; }
.client-card p { color: var(--muted); }
.client-status { margin-top: 1.3rem; font: 600 .72rem "Space Grotesk"; letter-spacing: .12em; text-transform: uppercase; color: #e9edef; }
.client-card.primary-card { background: radial-gradient(circle at 85% 8%,#1c4b50 0,transparent 35%),linear-gradient(145deg,#0e1417,#080b0d); }
.client-footer { margin-top: 4rem; padding-top: 2rem; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 2rem; color: var(--muted); font-size: .85rem; }
.client-footer a { color: var(--acid); }

.contact { max-width: none; min-height: 650px; position: relative; display: grid; place-items: center; overflow: hidden; }
.contact > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) brightness(.34); }
.contact:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#050709de,#05070954); }
.contact-copy { position: relative; z-index: 2; width: min(1200px,92vw); }
.contact-copy .button { display: inline-block; margin-top: 1rem; }
footer { max-width: var(--max); margin: auto; padding: 3rem; display: grid; grid-template-columns: 1fr 2fr 1fr auto; gap: 2rem; align-items: start; color: var(--muted); font-size: .8rem; border-top: 1px solid var(--line); }
footer a:last-child { color: #7d898f; }

@media (max-width: 900px) {
  nav { display: none; position: absolute; right: 1rem; top: 64px; flex-direction: column; background: #090d10f7; padding: 1.5rem; width: 220px; border: 1px solid var(--line); box-shadow: 0 18px 40px #0009; }
  nav.open { display: flex; }
  .nav-toggle { display: block; background: none; border: 1px solid #ffffff4a; color: white; padding: .6rem .85rem; font-size: .9rem; }
  .intro, .section-heading, .credentials, .video-block, .software-stack { grid-template-columns: 1fr; }
  .press-grid { grid-template-columns: 1fr 1fr; }
  .press-story { grid-column: 1/-1; min-height: 360px; }
  .services { grid-template-columns: 1fr 1fr; }
  .credential-lead { position: static; }
  .credits { grid-column: 1; }
  .license-grid { grid-template-columns: 1fr; }
  .feature-wide, .feature { min-height: 420px; }
  .credit-cloud { grid-template-columns: repeat(2,1fr); }
  footer { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 68px; }
  .site-header { height: 68px; padding-inline: 1rem; }
  .scroll-laser { top: 68px; right: 0; bottom: auto; left: 0; width: auto; height: 1px; }
  .scroll-laser:before { inset: -4px 0; background: repeating-linear-gradient(90deg,transparent 0 20px,#ffffff24 20px 21px,transparent 21px 34px); }
  .scroll-laser:after { display: none; }
  .scroll-laser-fill { transform: scaleX(var(--scroll-progress,0)); transform-origin: left; background: linear-gradient(90deg,var(--cyan),#fff 52%,var(--red)); }
  .scroll-laser-head { left: calc(var(--scroll-progress,0) * 100%); top: 50%; }
  .ambient-beams { top: 68px; opacity: .14; }
  .beam-three { display: none; }
  .brand-mark { width: 34px; height: 27px; }
  .brand-name { font-size: .78rem; letter-spacing: .14em; }
  .hero { min-height: 610px; padding: 6.25rem 1.15rem 2.75rem; }
  .eyebrow { font-size: .68rem; line-height: 1.5; }
  .lede { font-size: 1.05rem; line-height: 1.55; }
  .actions { flex-direction: column; align-items: stretch; }
  .actions .button { text-align: center; }
  .section { padding: 4rem 1.15rem; }
  h1 { font-size: clamp(3rem,16vw,4.5rem); }
  h2 { font-size: clamp(2.5rem,13vw,4rem); }
  .services, .feature-grid { grid-template-columns: 1fr; }
  .software-grid { grid-template-columns: 1fr; }
  .software-grid article { min-height: 125px; }
  .press-grid { grid-template-columns: 1fr; }
  .press-story { grid-column: auto; min-height: 390px; }
  .press-card { min-height: 360px; }
  .services article { margin-right: 0; }
  .feature-wide, .feature { grid-column: auto; min-height: 340px; }
  figcaption { left: 1.25rem; bottom: 1.25rem; right: 1.25rem; }
  .video-block { padding-top: 5rem; }
  .image-band { height: 260px; margin-top: 5rem; }
  .credit-cloud { grid-template-columns: 1fr 1fr; }
  .credit-cloud span { padding: .85rem; font-size: .83rem; }
  .contact { min-height: 540px; }
  .contact-copy .button { width: 100%; text-align: center; }
  footer { grid-template-columns: 1fr; padding: 2rem 1.15rem; }
  .article-shell { width: min(100% - 2.3rem,1040px); padding-top: 7.5rem; }
  .site-header .article-back { font-size: .65rem; letter-spacing: .08em; }
  .article-grid { grid-template-columns: 1fr; gap: 2rem; }
  .article-visual { margin: 2.5rem 0; }
  .client-shell { padding-top: 8rem; }
  .client-grid { grid-template-columns: 1fr; }
  .client-card { min-height: 280px; }
  .unlisted-note { flex-direction: column; }
  .client-footer { flex-direction: column; }
}

@media (min-width: 601px) and (max-width: 1024px) {
  .hero { min-height: 680px; }
  .section { padding-inline: 2rem; }
  .feature-wide { min-height: 540px; }
  .contact { min-height: 600px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .feature img { transition: none; }
  .press-photo img { transition: none; }
  .software-grid article:after { transition: none; }
  .ambient-beams { display: none; }
  .scroll-laser-head:after,.beam-section.in-view .section-trace-node { animation: none; }
  .beam-section:before { opacity: .25; transform: none; transition: none; }
  .scroll-reveal { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
  .cursor-laser { display: none; }
}

@media (pointer: coarse) { .cursor-laser { display: none; } }
