:root {
  --black: #070808;
  --ink: #f2f0e9;
  --surface: #101111;
  --surface-2: #171818;
  --muted: #999c97;
  --dim: #686b68;
  --line: rgba(255, 255, 255, 0.13);
  --line-soft: rgba(255, 255, 255, 0.075);
  --red: #ef433d;
  --green: #a8cda1;
  --mono: "IBM Plex Mono", "Courier New", monospace;
  --sans: "DM Sans", Arial, sans-serif;
  --shell: min(100% - 64px, 1480px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); overflow-x: hidden; }
body { margin: 0; background: var(--black); color: var(--ink); font-family: var(--sans); font-weight: 300; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
::selection { background: var(--red); color: white; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; background: var(--ink); color: var(--black); padding: 12px 16px; font: 500 12px var(--mono); }
.skip-link:focus { top: 16px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 0 32px; border-bottom: 1px solid transparent; transition: background .25s ease, border-color .25s ease; }
.site-header.is-scrolled { background: rgba(7, 8, 8, .94); backdrop-filter: blur(16px); border-color: var(--line-soft); }
.brand { display: inline-flex; align-items: center; gap: 10px; font: 500 15px/1 var(--mono); letter-spacing: .07em; }
.brand small { margin-left: 7px; padding-left: 16px; border-left: 1px solid var(--line); color: var(--muted); font-size: 9px; font-weight: 400; letter-spacing: .14em; }
.brand-signal { width: 10px; height: 10px; background: var(--red); display: inline-block; }
.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 38px); font: 400 10px/1 var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.site-nav > a:not(.button) { color: #d2d1cc; padding-block: 18px; transition: color .2s ease; }
.site-nav > a:hover, .site-nav > a:focus-visible { color: var(--red); }
.nav-login { margin-left: 16px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 50px; padding: 0 20px; background: var(--red); color: #fff; border: 1px solid var(--red); border-radius: 2px; font: 500 11px/1 var(--mono); text-transform: uppercase; letter-spacing: .08em; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.button:hover { background: #ff554e; border-color: #ff554e; transform: translateY(-2px); }
.button:focus-visible, .text-link:focus-visible, .site-nav a:focus-visible, .sector-list button:focus-visible, .menu-toggle:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }
.button--small { min-height: 38px; padding-inline: 15px; font-size: 9px; }
.text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 50px; padding: 0 2px; border-bottom: 1px solid var(--line); font: 500 10px/1 var(--mono); text-transform: uppercase; letter-spacing: .08em; transition: color .2s ease, border-color .2s ease; }
.text-link:hover { color: var(--red); border-color: var(--red); }
.menu-toggle { display: none; color: var(--ink); background: transparent; border: 0; min-width: 48px; min-height: 48px; font: 500 10px var(--mono); letter-spacing: .08em; }

.hero { min-height: 100svh; position: relative; overflow: hidden; display: flex; align-items: center; background: #0a0b0b; }
.hero-media { position: absolute; inset: 0 0 0 42%; overflow: hidden; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 47%; filter: saturate(.75) contrast(1.08) brightness(.82); animation: hero-settle 1.5s cubic-bezier(.2,.8,.2,1) both; }
.hero-wash { position: absolute; inset: 0; background: linear-gradient(90deg, var(--black) 0%, rgba(7,8,8,.97) 29%, rgba(7,8,8,.7) 50%, rgba(7,8,8,.12) 76%), linear-gradient(0deg, rgba(7,8,8,.72), transparent 50%); }
.hero-grid { position: absolute; inset: 0; background-image: linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px); background-size: 25% 100%, 25% 100%; opacity: .37; pointer-events: none; }
@keyframes hero-settle { from { opacity: .25; transform: scale(1.045); } to { opacity: 1; transform: scale(1); } }
.hero-content { position: relative; z-index: 3; padding-top: 85px; }
.eyebrow, .section-code { margin: 0; font: 500 10px/1.4 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.eyebrow span { color: var(--red); margin-right: 14px; }
.hero h1 { max-width: 850px; margin: clamp(42px, 7vh, 80px) 0 0; font: 400 clamp(64px, 9.8vw, 154px)/.77 var(--mono); letter-spacing: -.085em; text-transform: uppercase; }
.hero h1 span { display: block; }
.hero h1 .accent { color: var(--red); }
.hero-lower { display: grid; grid-template-columns: minmax(260px, 470px) auto; gap: 70px; align-items: end; margin: clamp(45px, 7vh, 88px) 0 20px; }
.hero-lower > p { margin: 0; color: #c4c5c0; font-size: clamp(15px, 1.15vw, 18px); line-height: 1.55; }
.hero-actions, .closing-actions { display: flex; gap: 28px; align-items: center; }
.capture-hud { position: absolute; z-index: 4; right: 32px; bottom: 34px; width: 230px; padding: 15px; background: rgba(7,8,8,.65); border: 1px solid rgba(255,255,255,.24); backdrop-filter: blur(7px); font-family: var(--mono); }
.hud-top { display: flex; align-items: center; gap: 8px; padding-bottom: 12px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 9px; letter-spacing: .1em; }
.live-dot { display: inline-block; width: 6px; height: 6px; background: var(--red); border-radius: 50%; box-shadow: 0 0 0 4px rgba(239,67,61,.14); }
.capture-hud dl { margin: 12px 0 0; }
.capture-hud dl div { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; }
.capture-hud dt, .capture-hud dd { margin: 0; font-size: 8px; line-height: 1.3; }
.capture-hud dt { color: var(--dim); }
.capture-hud dd { color: #d7d8d3; }
.hero-index { position: absolute; z-index: 3; right: 31px; top: 110px; display: flex; flex-direction: column; text-align: right; gap: 7px; font: 400 8px var(--mono); letter-spacing: .12em; }
.hero-index span:last-child { color: var(--muted); }
.scroll-cue { position: absolute; z-index: 4; left: 32px; bottom: 34px; display: flex; align-items: center; gap: 12px; color: var(--muted); font: 500 8px var(--mono); letter-spacing: .12em; }
.scroll-cue i { width: 48px; height: 1px; background: var(--line); position: relative; overflow: hidden; }
.scroll-cue i::after { content: ""; position: absolute; inset: 0; background: var(--red); transform: translateX(-100%); animation: scan 2.2s ease-in-out infinite; }
@keyframes scan { 45%, 100% { transform: translateX(100%); } }

.section { padding-block: clamp(100px, 12vw, 190px); }
.section-rule { display: flex; justify-content: space-between; gap: 24px; padding-top: 14px; border-top: 1px solid var(--line); }
.section-code { color: var(--dim); text-align: right; }
.thesis-copy { display: grid; grid-template-columns: 2.05fr .95fr; gap: 8vw; margin-top: clamp(70px, 9vw, 130px); align-items: end; }
.thesis h2, .process-heading h2, .field-lead h2, .sector-layout h2, .enterprise-title h2, .closing h2 { margin: 0; font: 400 clamp(44px, 6.3vw, 96px)/.96 var(--mono); letter-spacing: -.055em; }
.thesis-copy > p, .process-heading > p, .field-lead > p, .enterprise-title > p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.6; }
.vision-composition { display: grid; grid-template-columns: 1.15fr .85fr; margin-top: clamp(70px, 9vw, 130px); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.vision-image { position: relative; margin: 0; min-height: 740px; overflow: hidden; border-right: 1px solid var(--line); }
.vision-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.74) contrast(1.06) brightness(.8); }
.vision-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,8,8,.05), rgba(7,8,8,.5)); pointer-events: none; }
.vision-image figcaption, .decision-photo figcaption, .field-gallery figcaption { position: absolute; z-index: 3; left: 16px; bottom: 14px; color: rgba(255,255,255,.72); font: 400 8px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.detector-box { position: absolute; z-index: 4; border: 1px solid var(--red); color: white; font: 500 8px var(--mono); box-shadow: inset 0 0 0 1px rgba(0,0,0,.3); }
.detector-box::before, .detector-box::after { content: ""; position: absolute; background: var(--red); }
.detector-box::before { width: 1px; height: 12px; left: -1px; top: -1px; }
.detector-box::after { height: 1px; width: 12px; left: -1px; top: -1px; }
.detector-box span { position: absolute; left: -1px; top: -20px; padding: 4px 6px; white-space: nowrap; background: var(--red); }
.detector-box b { position: absolute; top: -19px; left: 78px; font-weight: 400; }
.detector-box--one { inset: 24% 12% 10% 14%; }
.detector-box--two { left: 53%; top: 7%; width: 38%; height: 20%; }
.detector-box--three { left: 26%; top: 44%; width: 49%; height: 48%; border-color: rgba(255,255,255,.75); }
.detector-box--three::before, .detector-box--three::after, .detector-box--three span { background: var(--ink); color: var(--black); }
.vision-readout { padding: clamp(34px, 5vw, 76px); display: flex; flex-direction: column; justify-content: center; background: #0b0c0c; }
.detection-list { list-style: none; padding: 0; margin: 42px 0; border-top: 1px solid var(--line); }
.detection-list li { display: grid; grid-template-columns: 38px 1fr auto; gap: 16px; align-items: center; min-height: 72px; border-bottom: 1px solid var(--line); }
.detection-list span, .detection-list em { font: 400 9px var(--mono); color: var(--dim); font-style: normal; }
.detection-list strong { font-size: 14px; font-weight: 400; }
.detection-list em { color: var(--green); }
.detection-list .muted-row { opacity: .5; }
.readout-note { max-width: 410px; margin: auto 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }

.process { background: #eeece6; color: #0c0d0d; }
.process .section-rule { border-color: rgba(0,0,0,.2); }
.process .eyebrow, .process .section-code { color: #666864; }
.process-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 10vw; align-items: end; margin: clamp(70px, 9vw, 130px) 0; }
.process-heading h2 span { color: var(--red); }
.process-heading > p { color: #575956; }
.pipeline { display: grid; grid-template-columns: 1fr .75fr 1fr; border-top: 1px solid rgba(0,0,0,.24); border-bottom: 1px solid rgba(0,0,0,.24); }
.pipeline-stage { display: grid; grid-template-columns: 52px 1fr; gap: 25px; padding: 48px 38px 52px 0; }
.pipeline-stage--brain { padding-left: 38px; padding-right: 0; }
.stage-number { font: 400 11px var(--mono); color: var(--red); }
.stage-kicker { margin: 0 0 12px; color: #71736f; font: 500 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.pipeline-stage h3 { margin: 0 0 28px; font: 400 clamp(26px, 3vw, 46px)/1 var(--mono); letter-spacing: -.04em; }
.pipeline-stage p:not(.stage-kicker) { margin: 0; max-width: 440px; color: #4e504d; font-size: 14px; line-height: 1.6; }
.pipeline-stage ul { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; padding: 0; margin: 35px 0 0; }
.pipeline-stage li { border: 1px solid rgba(0,0,0,.25); padding: 7px 9px; font: 500 8px var(--mono); text-transform: uppercase; }
.context-bridge { position: relative; min-height: 520px; overflow: hidden; border-inline: 1px solid rgba(0,0,0,.24); }
.context-bridge img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15) brightness(.55); }
.context-bridge::after { content: ""; position: absolute; inset: 0; background: rgba(239,67,61,.22); mix-blend-mode: multiply; }
.context-bridge > p { position: absolute; z-index: 3; inset: auto 18px 18px; margin: 0; color: white; font: 400 8px/1.6 var(--mono); letter-spacing: .08em; }
.map-ring { position: absolute; z-index: 3; top: 50%; left: 50%; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; transform: translate(-50%,-50%); }
.map-ring--one { width: 130px; height: 130px; }
.map-ring--two { width: 230px; height: 230px; opacity: .45; }
.map-pin { position: absolute; z-index: 4; left: 50%; top: 50%; transform: translate(-50%,-50%); color: white; background: var(--red); padding: 7px 9px; font: 500 8px/1.4 var(--mono); }

.decision { background: #0a0b0b; }
.decision-grid { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 770px; margin-top: clamp(70px, 9vw, 130px); }
.decision-photo { position: relative; margin: 0; overflow: hidden; }
.decision-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.62) contrast(1.08) brightness(.7); }
.decision-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 50%, rgba(7,8,8,.7)); }
.intel-card { align-self: center; position: relative; z-index: 3; margin-left: -12%; padding: clamp(30px, 4.2vw, 64px); background: rgba(16,17,17,.96); border: 1px solid rgba(255,255,255,.23); backdrop-filter: blur(14px); }
.card-header { display: flex; justify-content: space-between; gap: 30px; padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.card-header p, .card-header span { margin: 0; font: 500 10px var(--mono); letter-spacing: .09em; }
.card-header span { display: block; margin-top: 8px; color: var(--red); font-size: 8px; }
.score { display: flex; align-items: baseline; }
.score strong { color: var(--red); font: 400 70px/.72 var(--mono); letter-spacing: -.08em; }
.score small { color: var(--muted); font: 400 10px var(--mono); }
.verdict { margin: 30px 0; font-size: clamp(18px, 2vw, 27px); line-height: 1.3; }
.metrics { margin: 0; border-top: 1px solid var(--line); }
.metrics div { display: flex; justify-content: space-between; gap: 25px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.metrics dt, .metrics dd { margin: 0; font: 400 9px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.metrics dt { color: var(--muted); }
.metrics dd { color: var(--green); text-align: right; }
.metrics dd.warning { color: #e9a16d; }
.recommendation { margin-top: 30px; padding: 20px; border-left: 2px solid var(--red); background: #131414; }
.recommendation span { color: var(--red); font: 500 8px var(--mono); letter-spacing: .08em; }
.recommendation p { margin: 11px 0 0; color: #c7c7c2; font-size: 13px; line-height: 1.55; }
.card-provenance { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; color: var(--dim); font: 400 7px var(--mono); letter-spacing: .05em; }

.field { background: var(--black); }
.field-lead { display: grid; grid-template-columns: 1.5fr .5fr; gap: 12vw; align-items: end; margin: clamp(70px, 9vw, 130px) 0 80px; }
.field-lead h2 { color: var(--ink); }
.field-lead h2::first-line { color: var(--red); }
.field-gallery { display: grid; grid-template-columns: 1.15fr .65fr .85fr; gap: 8px; min-height: 670px; }
.field-gallery figure { position: relative; margin: 0; overflow: hidden; }
.field-gallery img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) brightness(.75); transition: transform .6s ease, filter .6s ease; }
.field-gallery figure:hover img { transform: scale(1.02); filter: saturate(.86) brightness(.82); }
.field-street { margin-top: 100px !important; }
.field-mural { margin-bottom: 100px !important; }
.field-gallery figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,8,8,.7), transparent 55%); }
.phone-reticle { position: absolute; z-index: 3; inset: 15%; border: 1px solid rgba(255,255,255,.55); }
.phone-reticle::before, .phone-reticle::after { content: ""; position: absolute; background: rgba(255,255,255,.4); }
.phone-reticle::before { width: 1px; height: 34px; left: 50%; top: calc(50% - 17px); }
.phone-reticle::after { height: 1px; width: 34px; top: 50%; left: calc(50% - 17px); }
.journey { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); padding: 0; margin: 90px 0 0; border-top: 1px solid var(--line); }
.journey li { min-height: 150px; display: grid; grid-template-rows: auto 1fr auto; padding: 18px 18px 20px 0; border-right: 1px solid var(--line); }
.journey li + li { padding-left: 18px; }
.journey b { color: var(--red); font: 400 9px var(--mono); }
.journey strong { align-self: center; font: 400 15px var(--mono); }
.journey span { color: var(--muted); font-size: 11px; }

.sectors { position: relative; min-height: 1000px; overflow: hidden; display: flex; align-items: center; }
.sectors-image { position: absolute; inset: 0 0 0 45%; }
.sectors-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.55) brightness(.55); }
.sectors-wash { position: absolute; inset: 0; background: linear-gradient(90deg, #090a0a 0%, #090a0a 42%, rgba(9,10,10,.75) 63%, rgba(9,10,10,.12)); }
.sectors-content { position: relative; z-index: 2; }
.sector-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 11vw; margin-top: 110px; }
.sector-layout h2 { font-size: clamp(48px, 6vw, 90px); }
.sector-copy { max-width: 530px; min-height: 90px; margin: 55px 0 0; color: #b0b1ac; font-size: 16px; line-height: 1.6; }
.sector-list { border-top: 1px solid rgba(255,255,255,.22); }
.sector-list button { width: 100%; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; min-height: 66px; padding: 0; color: #c7c7c2; background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.22); cursor: pointer; text-align: left; font: 400 16px var(--sans); transition: padding .2s ease, color .2s ease; }
.sector-list button:hover, .sector-list button.active { color: white; padding-left: 10px; }
.sector-list button.active { border-bottom-color: var(--red); }
.sector-list span, .sector-list em { color: var(--dim); font: 400 8px var(--mono); text-transform: uppercase; font-style: normal; letter-spacing: .08em; }
.sector-list button.active span, .sector-list button.active em { color: var(--red); }

.enterprise { background: var(--black); }
.enterprise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; margin-top: clamp(70px, 9vw, 130px); }
.enterprise-title h2 { font-size: clamp(50px, 6.7vw, 100px); }
.enterprise-title > p { max-width: 480px; margin-top: 55px; }
.enterprise-points { margin: 0; border-top: 1px solid var(--line); }
.enterprise-points > div { display: grid; grid-template-columns: 44px 1fr; gap: 22px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.enterprise-points dt { color: var(--red); font: 400 9px var(--mono); }
.enterprise-points dd { margin: 0; }
.enterprise-points strong { display: block; margin-bottom: 8px; font: 400 14px var(--mono); text-transform: uppercase; }
.enterprise-points span { color: var(--muted); font-size: 13px; line-height: 1.55; }
.stack-line { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 100px; padding-block: 22px; border-block: 1px solid var(--line); color: var(--muted); font: 400 8px var(--mono); letter-spacing: .06em; }
.stack-line i { width: 4px; height: 4px; background: var(--red); }

.closing { min-height: 94svh; position: relative; overflow: hidden; display: flex; align-items: center; }
.closing-image { position: absolute; inset: 0; }
.closing-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.65) contrast(1.07) brightness(.64); }
.closing-wash { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,8,8,.95), rgba(7,8,8,.58) 56%, rgba(7,8,8,.1)), linear-gradient(0deg, rgba(7,8,8,.6), transparent 45%); }
.closing-content { position: relative; z-index: 2; }
.closing h2 { margin-top: 60px; font-size: clamp(64px, 10vw, 160px); line-height: .84; }
.closing h2 span { color: var(--red); }
.closing-content > p:not(.eyebrow) { max-width: 520px; margin: 50px 0 0; color: #cbcbc6; font-size: 17px; line-height: 1.55; }
.closing-actions { margin-top: 45px; }

.site-footer { padding: 70px 0 25px; background: #050606; border-top: 1px solid var(--line); }
.footer-grid { display: grid; grid-template-columns: 1.5fr .7fr .7fr 1fr; gap: 50px; }
.brand--footer { margin-bottom: 20px; }
.footer-grid p { margin: 0; color: var(--muted); font-size: 13px; }
.footer-grid nav { display: flex; flex-direction: column; gap: 15px; color: var(--muted); font: 400 9px var(--mono); text-transform: uppercase; letter-spacing: .07em; }
.footer-grid nav a:hover { color: var(--red); }
.footer-status { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font: 400 8px/1.5 var(--mono); letter-spacing: .07em; }
.footer-bottom { display: flex; justify-content: space-between; margin-top: 80px; padding-top: 20px; border-top: 1px solid var(--line-soft); color: var(--dim); font: 400 8px var(--mono); text-transform: uppercase; letter-spacing: .07em; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1100px) {
  :root { --shell: min(100% - 40px, 1100px); }
  .site-header { padding-inline: 20px; }
  .site-nav { gap: 17px; }
  .hero-media { left: 34%; }
  .capture-hud { right: 20px; }
  .hero h1 { font-size: clamp(68px, 11vw, 120px); }
  .hero-lower { grid-template-columns: minmax(270px, 440px); }
  .hero-actions { display: flex; }
  .scroll-cue { left: 20px; }
  .vision-image { min-height: 650px; }
  .pipeline { grid-template-columns: 1fr 250px 1fr; }
  .pipeline-stage { grid-template-columns: 34px 1fr; gap: 14px; }
  .field-gallery { min-height: 570px; }
}

@media (max-width: 820px) {
  :root { --shell: min(100% - 32px, 760px); }
  .site-header { min-height: 64px; padding-inline: 16px; }
  .brand small { display: none; }
  .menu-toggle { display: inline-flex; position: absolute; right: 10px; top: 8px; z-index: 2; align-items: center; justify-content: flex-end; gap: 10px; }
  .menu-toggle i, .menu-toggle i::before { width: 18px; height: 1px; background: currentColor; content: ""; display: block; transition: transform .2s ease; }
  .menu-toggle i::before { transform: translateY(5px); }
  .menu-toggle[aria-expanded="true"] i { transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i::before { transform: rotate(-90deg); }
  .site-nav { display: none; position: fixed; inset: 64px 0 0; background: rgba(7,8,8,.98); padding: 40px 18px 30px; flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav.is-open { display: flex; }
  .site-nav > a:not(.button) { min-height: 58px; display: flex; align-items: center; border-bottom: 1px solid var(--line); font-size: 12px; }
  .nav-login { margin: 0; }
  .site-nav .button { margin-top: 28px; }
  .hero { align-items: flex-end; padding-bottom: 75px; }
  .hero-media { inset: 0; }
  .hero-media img { object-position: 56% center; }
  .hero-wash { background: linear-gradient(0deg, var(--black) 0%, rgba(7,8,8,.85) 33%, rgba(7,8,8,.22) 72%), linear-gradient(90deg, rgba(7,8,8,.62), transparent); }
  .hero-content { padding-top: 100px; }
  .hero h1 { margin-top: 30px; font-size: clamp(58px, 15vw, 100px); line-height: .82; }
  .hero-lower { display: block; margin: 34px 0 0; }
  .hero-lower > p { max-width: 520px; }
  .hero-actions { margin-top: 25px; flex-wrap: wrap; }
  .capture-hud, .hero-index, .scroll-cue { display: none; }
  .section { padding-block: 95px; }
  .thesis-copy, .process-heading, .field-lead, .sector-layout, .enterprise-grid { grid-template-columns: 1fr; gap: 42px; margin-top: 70px; }
  .thesis h2, .process-heading h2, .field-lead h2, .sector-layout h2, .enterprise-title h2 { font-size: clamp(40px, 9vw, 68px); }
  .thesis-copy > p, .process-heading > p, .field-lead > p { max-width: 580px; }
  .vision-composition { grid-template-columns: 1fr; margin-top: 65px; }
  .vision-image { min-height: 650px; border-right: 0; border-bottom: 1px solid var(--line); }
  .vision-readout { padding: 42px 24px; }
  .pipeline { grid-template-columns: 1fr; }
  .pipeline-stage, .pipeline-stage--brain { padding: 38px 0; }
  .context-bridge { min-height: 360px; border: 0; border-block: 1px solid rgba(0,0,0,.24); }
  .decision-grid { grid-template-columns: 1fr; min-height: 0; }
  .decision-photo { height: 560px; }
  .intel-card { margin: -90px 16px 0; }
  .field-gallery { grid-template-columns: 1.15fr .85fr; min-height: auto; }
  .field-phone { height: 620px; grid-row: span 2; }
  .field-street, .field-mural { height: 305px; margin: 0 !important; }
  .journey { grid-template-columns: 1fr 1fr; }
  .journey li { border-bottom: 1px solid var(--line); }
  .sectors { min-height: 1050px; }
  .sectors-image { left: 24%; }
  .sectors-wash { background: linear-gradient(0deg, #090a0a 0%, rgba(9,10,10,.95) 58%, rgba(9,10,10,.45)); }
  .sector-layout { margin-top: 70px; }
  .sector-copy { margin-top: 30px; }
  .stack-line { overflow-x: auto; justify-content: flex-start; white-space: nowrap; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
  :root { --shell: calc(100% - 28px); }
  .hero { min-height: 100svh; padding-bottom: 38px; }
  .hero-content { width: calc(100vw - 28px); max-width: calc(100vw - 28px); margin-inline: 14px; padding-top: 88px; }
  .hero h1 { font-size: clamp(48px, 17vw, 78px); letter-spacing: -.09em; }
  .hero-lower, .hero-lower > p, .hero-actions { width: 100%; min-width: 0; max-width: 100%; }
  .hero-lower > p { font-size: 14px; overflow-wrap: anywhere; }
  .hero-actions, .closing-actions { align-items: stretch; flex-direction: column; gap: 12px; }
  .hero-actions .button, .hero-actions .text-link, .closing-actions .button, .closing-actions .text-link { width: 100%; max-width: 100%; }
  .section-rule { display: block; }
  .section-code { margin-top: 9px; text-align: left; }
  .section { padding-block: 78px; }
  .thesis-copy, .process-heading, .field-lead, .sector-layout, .enterprise-grid { margin-top: 55px; }
  .vision-image { min-height: 500px; }
  .detector-box--one { inset: 27% 8% 11% 9%; }
  .detector-box--two { left: 51%; width: 44%; }
  .decision-grid { margin-top: 55px; }
  .decision-photo { height: 430px; }
  .intel-card { margin: -55px 8px 0; padding: 26px 20px; }
  .score strong { font-size: 55px; }
  .verdict { font-size: 18px; }
  .card-header { align-items: flex-start; }
  .metrics div { align-items: flex-start; }
  .field-gallery { grid-template-columns: 1fr 1fr; gap: 5px; }
  .field-phone { height: 480px; }
  .field-street, .field-mural { height: 237px; }
  .journey { grid-template-columns: 1fr; margin-top: 55px; }
  .journey li, .journey li + li { min-height: 108px; padding: 15px 0; border-right: 0; grid-template-columns: 38px 100px 1fr; grid-template-rows: 1fr; align-items: center; }
  .journey strong { align-self: auto; }
  .sectors { min-height: 1080px; }
  .sectors-image { inset: 0; }
  .sectors-wash { background: linear-gradient(0deg, #090a0a 0%, rgba(9,10,10,.98) 68%, rgba(9,10,10,.6)); }
  .sector-list button { font-size: 14px; grid-template-columns: 34px 1fr auto; }
  .enterprise-title > p { margin-top: 30px; }
  .enterprise-points > div { grid-template-columns: 30px 1fr; gap: 12px; }
  .closing { min-height: 820px; }
  .closing h2 { margin-top: 45px; font-size: clamp(54px, 17vw, 84px); }
  .closing-content > p:not(.eyebrow) { margin-top: 35px; font-size: 15px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { margin-top: 55px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
