:root {
  --ink: #111214;
  --ink-soft: #1b1d20;
  --paper: #f3f3f0;
  --paper-deep: #e7e7e2;
  --white: #ffffff;
  --muted: #686b70;
  --light-muted: #b7b9bd;
  --line: rgba(17, 18, 20, 0.15);
  --line-light: rgba(255, 255, 255, 0.16);
  --red: #d6222a;
  --red-bright: #ef2730;
  --green: #007e3f;
  --green-dark: #03542d;
  --gold: #f1a30b;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--paper);
  font-family: Calibri, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
::selection { color: var(--white); background: var(--red); }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: .75rem;
  left: .75rem;
  transform: translateY(-180%);
  padding: .75rem 1rem;
  color: var(--white);
  background: var(--ink);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  min-height: 78px;
  border-bottom: 1px solid transparent;
  background: rgba(255, 255, 255, .98);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 8px 24px rgba(17,18,20,.06); }
.header-inner {
  min-height: 78px;
  display: grid;
  grid-template-columns: 250px 1fr auto;
  align-items: center;
  gap: clamp(.75rem, 1.4vw, 1.5rem);
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 1.5rem;
}
.brand { display: inline-flex; width: 228px; text-decoration: none; }
.brand img { width: 100%; height: 56px; object-fit: contain; }
.primary-nav { display: flex; justify-content: flex-end; gap: clamp(.65rem, 1.15vw, 1.25rem); }
.primary-nav a {
  position: relative;
  padding: 1.75rem 0;
  text-decoration: none;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.primary-nav a::after { content: ""; position: absolute; right: 0; bottom: 1.25rem; left: 0; height: 2px; transform: scaleX(0); transform-origin: left; background: var(--red); transition: transform .2s ease; }
.primary-nav a:hover::after, .primary-nav a:focus-visible::after { transform: scaleX(1); }
.header-cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .7rem .95rem;
  color: var(--white);
  background: var(--ink);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 700;
  transition: background .2s ease;
}
.header-cta:hover { background: var(--red); }
.menu-toggle { display: none; }

.section-shell { width: min(100% - 3rem, var(--max)); margin-inline: auto; }
.eyebrow {
  margin: 0;
  color: var(--light-muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; display: inline-block; width: 34px; height: 3px; margin: 0 .75rem .18rem 0; background: var(--red); }
.eyebrow-dark { color: var(--muted); }
.large-copy { max-width: 800px; margin: 2rem 0 0; color: var(--muted); font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.55; }
.card-label { margin: 0 0 .6rem; color: var(--red); font-size: .75rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

.hero {
  position: relative;
  isolation: isolate;
  min-height: calc(100svh - 78px);
  overflow: hidden;
  color: var(--white);
  background: #17191c;
}
.hero-media {
  position: absolute;
  z-index: -2;
  inset: 0;
  margin: 0;
  overflow: hidden;
  background: #17191c;
}
.hero-media::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(8,9,11,.92) 0%, rgba(8,9,11,.76) 34%, rgba(8,9,11,.36) 62%, rgba(8,9,11,.12) 100%),
    linear-gradient(0deg, rgba(8,9,11,.74) 0%, rgba(8,9,11,.08) 44%, rgba(8,9,11,.18) 100%);
}
.hero-reel {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  background: #17191c;
}
.hero-copy {
  position: relative;
  z-index: 3;
  width: min(100%, 1600px);
  min-height: calc(100svh - 78px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  padding: clamp(3.25rem, 6vw, 6.5rem) clamp(1.5rem, 5vw, 6rem) clamp(5.5rem, 8vw, 7.5rem);
}
.hero-language { width: fit-content; display: flex; align-items: stretch; margin: 0 0 clamp(1.5rem, 3vw, 2.25rem); border: 1px solid rgba(255,255,255,.34); color: var(--ink); background: var(--white); box-shadow: 0 16px 38px rgba(0,0,0,.22); }
.hero-language > span { display: inline-flex; align-items: center; padding: .72rem 1rem; color: #5f6268; background: #ececea; font-size: .82rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; white-space: nowrap; }
.hero-language a { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: .72rem 1rem; border-left: 1px solid #cfd0cc; color: var(--ink); text-decoration: none; font-size: .9rem; font-weight: 800; }
.hero-language a:hover, .hero-language a:focus-visible { color: var(--red); background: #f4f4f1; }
.hero-language a.is-active { color: var(--white); background: var(--red); }
.hero-language a.is-active:hover, .hero-language a.is-active:focus-visible { color: var(--white); background: var(--red-bright); }
.hero h1 {
  max-width: 680px;
  margin: 1.5rem 0 0;
  font-size: clamp(3.2rem, 6.2vw, 6.9rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .91;
}
.hero h1 em { color: var(--red); font-weight: 400; }
.hero-lede { max-width: 620px; margin: 2rem 0 0; color: #d7d8da; font-size: clamp(1.05rem, 1.5vw, 1.32rem); line-height: 1.5; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.25rem; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.25rem; min-height: 50px; padding: .82rem 1.15rem; border: 1px solid transparent; text-decoration: none; font-weight: 700; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { min-width: 190px; color: var(--white); background: var(--red); }
.button-primary:hover { background: var(--red-bright); }
.button-ghost { border-color: rgba(255,255,255,.3); color: var(--white); }
.button-ghost:hover { border-color: var(--white); }
.hero-proof { display: flex; flex-wrap: wrap; gap: .7rem 1.15rem; margin: 3rem 0 0; padding: 0; color: #adafb4; font-size: .76rem; letter-spacing: .05em; list-style: none; text-transform: uppercase; }
.hero-proof li { display: inline-flex; align-items: center; }
.hero-proof li:not(:last-child)::after { content: "·"; margin-left: 1.15rem; color: var(--red); }
.scan-grid { position: absolute; z-index: 1; inset: 0; background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px); background-size: 74px 74px; opacity: .11; pointer-events: none; }
.hero-reel-caption {
  position: absolute;
  z-index: 4;
  right: clamp(1.5rem, 4vw, 5rem);
  bottom: 4.4rem;
  width: min(420px, calc(100% - 3rem));
  display: grid;
  gap: .28rem;
  padding: 1rem 1.15rem;
  border-left: 3px solid var(--red);
  color: var(--white);
  background: rgba(10,11,13,.68);
  box-shadow: 0 18px 42px rgba(0,0,0,.24);
  backdrop-filter: blur(10px);
}
.hero-reel-caption > span { color: #e7e7e8; font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-reel-caption strong { font-size: clamp(1rem, 1.4vw, 1.28rem); line-height: 1.2; }
.hero-reel-caption small { color: #c1c3c7; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.hero-reel-caption small b { color: var(--red-bright); }
.hero-reel-toggle {
  position: absolute;
  z-index: 5;
  right: clamp(1.5rem, 4vw, 5rem);
  bottom: 1.35rem;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .45rem .72rem;
  border: 1px solid rgba(255,255,255,.35);
  color: var(--white);
  background: rgba(10,11,13,.68);
  cursor: pointer;
  backdrop-filter: blur(10px);
}
.hero-reel-toggle:hover, .hero-reel-toggle:focus-visible { border-color: var(--white); background: rgba(10,11,13,.88); }
.hero-reel-toggle span { min-width: .8rem; color: var(--red-bright); font-weight: 900; }
.hero-reel-toggle b { font-size: .72rem; letter-spacing: .04em; }
.hero-reel-progress { position: absolute; z-index: 5; right: 0; bottom: 0; left: 0; height: 3px; background: rgba(255,255,255,.22); }
.hero-reel-progress span { display: block; width: 0; height: 100%; background: var(--red-bright); transform-origin: left; will-change: width; }

.signal-strip {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  max-width: 1600px;
  margin: 0 auto;
  border-bottom: 1px solid var(--line);
  background: var(--white);
}
.signal-strip p { margin: 0; padding: 1.25rem 1.4rem; border-right: 1px solid var(--line); font-size: .85rem; font-weight: 700; }
.signal-strip p:last-child { border-right: 0; }
.signal-strip span { margin-right: .5rem; color: var(--red); font-size: .72rem; }

.model-hub { padding-block: clamp(5rem, 9vw, 9rem); background: #0b0c0e; }
.model-hub-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; margin-bottom: clamp(3rem, 6vw, 5rem); }
.model-hub-heading h2 { max-width: 900px; margin: 1.25rem 0 0; font-size: clamp(3rem, 6vw, 6rem); letter-spacing: -.055em; line-height: .92; }
.model-hub-heading > p { max-width: 430px; margin: 0; color: var(--light-muted); font-size: 1.05rem; }
.live-measure-callout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); border: 1px solid var(--line-light); background: var(--ink-soft); }
.live-measure-media { position: relative; align-self: center; min-height: 0; overflow: hidden; background: #0b0c0e; }
.live-measure-media img { display: block; width: 100%; height: auto; min-height: 0; object-fit: contain; }
.live-measure-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4vw, 3.7rem); }
.live-measure-copy h3 { max-width: 560px; margin: .45rem 0 1rem; font-size: clamp(2.5rem, 4.5vw, 4.7rem); letter-spacing: -.05em; line-height: .93; }
.live-measure-copy > p:not(.card-label, .measurement-note) { margin: 0; color: var(--light-muted); }
.capability-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 2rem 0 0; padding: 0; background: var(--line-light); list-style: none; }
.capability-list li { min-height: 126px; display: grid; align-content: start; padding: .85rem; background: #15171a; }
.capability-list span { color: var(--red); font-size: .66rem; font-weight: 700; }
.capability-list strong { margin-top: .65rem; font-size: .98rem; }
.capability-list small { margin-top: .2rem; color: #888b90; line-height: 1.35; }
.measurement-note { margin: 1.35rem 0 0; color: #81848a; font-size: .74rem; }
.model-link-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 1px; background: var(--line-light); }
.model-link-card { min-width: 0; display: grid; grid-template-rows: 270px 1fr; background: #15171a; }
.model-preview { position: relative; min-height: 270px; overflow: hidden; background: #25272b; }
.model-preview::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(17,18,20,.68), transparent 55%); pointer-events: none; }
.model-preview img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.model-link-card:hover .model-preview img { transform: scale(1.025); }
.model-preview-pix4d img { object-position: center 38%; }
.model-preview-cora img { filter: saturate(.82) contrast(1.05); }
.model-platform { position: absolute; z-index: 1; top: 1rem; left: 1rem; padding: .42rem .55rem; color: var(--white); background: rgba(17,18,20,.82); border: 1px solid rgba(255,255,255,.34); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.model-platform-pix4d { color: #111214; background: #ffd326; border-color: #ffd326; }
.model-card-body { display: flex; flex-direction: column; padding: 1.4rem; }
.model-card-body h3 { margin: .25rem 0 .7rem; font-size: 1.75rem; letter-spacing: -.035em; line-height: 1; }
.model-card-body > p:not(.card-label) { margin: 0; color: var(--light-muted); }
.model-open { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: auto; padding: 1.2rem 0 .1rem; border-top: 1px solid var(--line-light); text-decoration: none; }
.model-open span { font-weight: 700; }
.model-open strong { color: var(--red); font-size: .75rem; letter-spacing: .05em; }
.model-open:hover span { color: var(--red); }
.model-disclaimer { margin: 1rem 0 0; color: #7d8085; font-size: .74rem; text-align: right; }

.principle { display: grid; grid-template-columns: .42fr 1.58fr; gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(5rem, 9vw, 9rem); }
.section-kicker { padding-top: .55rem; }
.section-kicker span { color: var(--red); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.section-kicker p { max-width: 180px; margin: .7rem 0 0; color: var(--muted); }
.principle h2 { max-width: 960px; margin: 0; font-size: clamp(2.35rem, 4.5vw, 4.75rem); letter-spacing: -.045em; line-height: 1; }

.dark-section { color: var(--white); background: var(--ink); }
.method { padding-block: clamp(5rem, 9vw, 9rem); }
.section-heading { display: grid; grid-template-columns: 1fr 1.3fr .9fr; align-items: end; gap: 2.5rem; margin-bottom: clamp(3rem, 5vw, 5rem); }
.section-heading h2 { margin: 0; font-size: clamp(2.6rem, 5.2vw, 5.4rem); letter-spacing: -.05em; line-height: .94; }
.section-heading > p:last-child { max-width: 410px; margin: 0; color: var(--light-muted); font-size: 1.08rem; }
.comparison-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: clamp(2rem, 5vw, 5rem); align-items: stretch; }
.comparison-card { border: 1px solid var(--line-light); background: var(--ink-soft); }
.comparison { --position: 50%; position: relative; aspect-ratio: 1.65 / 1; overflow: hidden; background: #27292d; }
.comparison img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.comparison-layer { clip-path: inset(0 calc(100% - var(--position)) 0 0); }
.comparison-divider { position: absolute; z-index: 2; top: 0; bottom: 0; left: var(--position); width: 1px; background: var(--white); transform: translateX(-.5px); }
.comparison-divider span { position: absolute; top: 50%; left: 50%; width: 34px; height: 34px; border: 1px solid var(--white); border-radius: 50%; background: rgba(17,18,20,.72); transform: translate(-50%, -50%); }
.comparison-divider span::before, .comparison-divider span::after { content: ""; position: absolute; top: 50%; width: 6px; height: 6px; border-top: 1px solid var(--white); border-left: 1px solid var(--white); }
.comparison-divider span::before { left: 7px; transform: translateY(-50%) rotate(-45deg); }
.comparison-divider span::after { right: 7px; transform: translateY(-50%) rotate(135deg); }
.comparison-tag { position: absolute; z-index: 2; bottom: 1rem; padding: .35rem .55rem; color: var(--white); background: rgba(17,18,20,.74); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.tag-rgb { right: 1rem; }
.tag-thermal { left: 1rem; }
.comparison-control { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1.25rem; padding: 1rem 1.1rem; font-size: .82rem; font-weight: 700; }
.comparison-control input { width: 100%; accent-color: var(--red); cursor: ew-resize; }
.method-steps { border-top: 1px solid var(--line-light); }
.method-steps article { display: grid; grid-template-columns: 36px 1fr; gap: 1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--line-light); }
.method-steps > article > span { color: var(--red); font-size: .73rem; font-weight: 700; }
.method-steps h3 { margin: -.15rem 0 .25rem; font-size: 1.1rem; }
.method-steps p { margin: 0; color: var(--light-muted); font-size: .94rem; }
.technology-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 1px; margin-top: clamp(4rem, 7vw, 7rem); background: var(--line-light); }
.technology-grid article { min-height: 290px; background: var(--ink-soft); }
.technology-feature { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; }
.technology-feature img { width: 100%; height: 100%; max-height: 330px; object-fit: contain; object-position: center; padding: .55rem; background: #0b0c0e; filter: saturate(.8) contrast(1.05); }
.technology-feature div { padding: 1.4rem; }
.technology-grid h3 { margin: 0 0 .75rem; font-size: 1.22rem; }
.technology-grid p { margin: 0; color: var(--light-muted); }
.instrument { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem; overflow: hidden; }
.instrument::before { content: ""; position: absolute; z-index: -1; top: -35%; right: -28%; width: 100%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(197,32,42,.12), transparent 68%); }
.instrument > img { position: absolute; top: .5rem; right: .75rem; width: 72%; height: 53%; object-fit: contain; object-position: right top; filter: drop-shadow(0 14px 20px rgba(0,0,0,.28)); }
.instrument-code { margin-bottom: auto; color: var(--red); font-family: Consolas, monospace; font-size: 2rem; letter-spacing: -.08em; }
.precision-module { margin-top: clamp(4rem, 7vw, 7rem); padding-top: clamp(3rem, 5vw, 5rem); border-top: 1px solid var(--line-light); }
.precision-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.precision-heading h3 { max-width: 760px; margin: 1.15rem 0 0; font-size: clamp(2.75rem, 5.2vw, 5.25rem); letter-spacing: -.052em; line-height: .93; }
.precision-heading > p { max-width: 500px; margin: 0; color: var(--light-muted); font-size: 1.05rem; }
.precision-media-grid { display: grid; grid-template-columns: minmax(0, 1.72fr) minmax(260px, .58fr); gap: 1px; margin-top: clamp(2.5rem, 5vw, 4.5rem); background: var(--line-light); }
.precision-media-grid figure { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #0b0c0e; }
.precision-video { aspect-ratio: 16 / 9; }
.precision-video video, .precision-still img { width: 100%; height: 100%; display: block; object-fit: cover; }
.precision-video video { background: #0b0c0e; }
.precision-still img { object-position: center 50%; }
.precision-media-grid figcaption { position: absolute; z-index: 2; top: 1rem; left: 1rem; display: grid; gap: .1rem; max-width: calc(100% - 2rem); padding: .65rem .75rem; border: 1px solid rgba(255,255,255,.32); color: var(--white); background: rgba(11,12,14,.76); backdrop-filter: blur(10px); pointer-events: none; }
.precision-media-grid figcaption span { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.precision-media-grid figcaption small { color: #b8bbc0; font-size: .68rem; }
.precision-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 1px; background: var(--line-light); }
.precision-paths section { min-height: 225px; padding: 1.45rem; background: #15171a; }
.precision-paths span { color: var(--red); font-size: .7rem; font-weight: 700; letter-spacing: .1em; }
.precision-paths h4 { margin: 3rem 0 .65rem; font-size: 1.35rem; letter-spacing: -.025em; }
.precision-paths p { margin: 0; color: var(--light-muted); }
.precision-note { display: grid; grid-template-columns: 145px 1fr; gap: 1.5rem; max-width: 970px; margin: 1.5rem 0 0 auto; padding: 1rem 0 1rem 1.25rem; border-left: 3px solid var(--red); color: #96999e; font-size: .84rem; }
.precision-note strong { color: var(--white); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.precision-note span { max-width: 780px; }
.technical-note { max-width: 880px; margin: 1.4rem 0 0 auto; color: #92959a; font-size: .84rem; text-align: right; }

.imperquimia-section { position: relative; overflow: hidden; padding-block: clamp(5rem, 9vw, 9rem); color: var(--white); background: var(--green); }
.imperquimia-section::before { content: "I"; position: absolute; top: -25%; right: -4%; color: rgba(255,255,255,.055); font-family: Georgia, serif; font-size: min(70vw, 860px); line-height: 1; }
.imperquimia-intro { position: relative; z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.imperquimia-mark { min-height: 320px; display: flex; flex-direction: column; justify-content: space-between; padding: 2rem; border: 1px solid rgba(255,255,255,.35); background: rgba(0,0,0,.1); }
.imperquimia-mark img { width: min(100%, 360px); height: auto; padding: .65rem; background: var(--white); }
.imperquimia-mark div { display: grid; gap: .35rem; }
.imperquimia-mark strong { font-size: 1.05rem; }
.imperquimia-mark span { color: rgba(255,255,255,.72); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.imperquimia-mark .distributor-code { width: fit-content; margin-top: .45rem; padding: .38rem .5rem; border: 1px solid rgba(255,255,255,.38); color: var(--white); font-family: Consolas, monospace; font-size: .7rem; letter-spacing: .055em; text-transform: uppercase; }
.imperquimia-intro .eyebrow { color: rgba(255,255,255,.72); }
.imperquimia-intro h2 { max-width: 720px; margin: 1.35rem 0 0; font-size: clamp(3rem, 6vw, 6.2rem); letter-spacing: -.055em; line-height: .91; }
.imperquimia-intro .large-copy { color: rgba(255,255,255,.82); }
.system-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: clamp(4rem, 7vw, 7rem); background: rgba(255,255,255,.28); }
.system-grid article { min-height: 275px; padding: 1.5rem; background: var(--green); }
.system-grid span { color: var(--gold); font-size: .75rem; font-weight: 700; }
.system-grid h3 { margin: 4rem 0 .65rem; font-size: 1.32rem; }
.system-grid p { margin: 0; color: rgba(255,255,255,.75); }
.monobrand { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.35fr; gap: 1.1rem; align-items: center; margin-top: 2.5rem; padding: 1.25rem 0; border-top: 1px solid rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.35); }
.monobrand p { margin: 0; font-weight: 700; }
.monobrand > span { color: var(--gold); font-size: 1.4rem; }
.monobrand strong { color: var(--gold); font-size: 1.25rem; }

.memories { padding-block: clamp(5rem, 9vw, 9rem); }
.memories-heading { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.memories-heading h2 { max-width: 720px; margin: 1.2rem 0 0; font-size: clamp(3.2rem, 6vw, 6.2rem); letter-spacing: -.055em; line-height: .91; }
.memories-intro > p { max-width: 580px; margin: 0; color: var(--muted); font-size: 1.08rem; }
.memory-actions { display: flex; flex-wrap: wrap; gap: 1.2rem 1.6rem; align-items: center; margin-top: 2rem; }
.memory-actions .button { min-width: 235px; }
.text-link { display: inline-flex; gap: 1rem; align-items: center; padding-bottom: .25rem; border-bottom: 2px solid var(--red); text-decoration: none; font-weight: 700; }
.text-link:hover { color: var(--red); }
.process-overview { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr); margin-top: clamp(3rem, 6vw, 6rem); color: var(--white); background: var(--ink); }
.process-sheet { position: relative; min-width: 0; display: block; overflow: hidden; background: #deded9; text-decoration: none; }
.process-sheet img { width: 100%; height: auto; transition: transform .5s cubic-bezier(.2,.7,.2,1), filter .3s ease; }
.process-sheet:hover img { transform: scale(1.012); filter: contrast(1.025); }
.process-overview-sheet { display: grid; place-items: center; padding: clamp(.8rem, 2vw, 1.5rem); background: #d9d9d4; }
.process-overview-sheet img { box-shadow: 0 18px 45px rgba(17,18,20,.18); }
.sheet-tag { position: absolute; right: .75rem; bottom: .75rem; padding: .48rem .62rem; border: 1px solid rgba(255,255,255,.28); color: var(--white); background: rgba(17,18,20,.86); backdrop-filter: blur(7px); font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.process-overview-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4.8rem); }
.process-overview-copy h3 { margin: .8rem 0 1.2rem; font-size: clamp(2rem, 3.7vw, 3.45rem); letter-spacing: -.045em; line-height: .98; }
.process-overview-copy > p:not(.card-label, .process-route) { margin: 0; color: var(--light-muted); }
.process-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 2rem 0 0; background: var(--line-light); }
.process-metrics div { min-height: 92px; padding: .85rem; background: var(--ink-soft); }
.process-metrics dt, .system-facts dt { color: #9ea1a6; font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.process-metrics dd { margin: .4rem 0 0; font-size: 1.08rem; font-weight: 700; }
.process-route { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.4rem 0 0; }
.process-route span { padding: .35rem .55rem; border: 1px solid #4b4e53; color: #c9cbd0; font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.process-quality { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr); margin-top: 1px; color: var(--white); background: var(--ink-soft); }
.process-quality-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4.5rem); }
.process-quality-copy h3 { margin: .8rem 0 1.2rem; font-size: clamp(2rem, 3.7vw, 3.45rem); letter-spacing: -.045em; line-height: .98; }
.process-quality-copy > p:not(.card-label) { margin: 0; color: var(--light-muted); }
.quality-points { display: grid; gap: 0; margin: 2rem 0 0; padding: 0; border-top: 1px solid var(--line-light); list-style: none; }
.quality-points li { position: relative; padding: .82rem 0 .82rem 1.25rem; border-bottom: 1px solid var(--line-light); color: #d3d5d8; font-size: .9rem; font-weight: 700; }
.quality-points li::before { content: ""; position: absolute; top: 1.18rem; left: 0; width: 6px; height: 6px; background: var(--red); }
.process-quality > .process-sheet { display: grid; place-items: center; padding: clamp(.8rem, 2vw, 1.5rem); background: #d9d9d4; }
.process-quality > .process-sheet img { box-shadow: 0 18px 45px rgba(17,18,20,.18); }
.deliverable-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: clamp(1rem, 3vw, 2rem); background: var(--line); }
.deliverable-grid article { min-height: 205px; padding: 1.45rem; background: var(--white); }
.deliverable-grid span { color: var(--red); font-size: .72rem; font-weight: 700; }
.deliverable-grid h3 { margin: 2.7rem 0 .55rem; font-size: 1.25rem; }
.deliverable-grid p { margin: 0; color: var(--muted); font-size: .94rem; }

.services { padding-block: clamp(5rem, 9vw, 9rem); background: var(--white); }
.services-heading { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(280px, .78fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.services-heading h2 { max-width: 760px; margin: 1.2rem 0 0; font-size: clamp(3.2rem, 5.8vw, 6rem); letter-spacing: -.055em; line-height: .91; }
.services-heading > p { max-width: 470px; margin: 0; color: var(--muted); font-size: 1.05rem; }
.service-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.7rem, 1.4vw, 1.15rem); }
.service-panel,
.service-panel-large,
.service-panel-wide { min-width: 0; min-height: 500px; display: grid; grid-column: auto; grid-template-columns: 1fr; grid-template-rows: minmax(285px, 1.15fr) minmax(190px, .85fr); border: 1px solid var(--line); background: var(--paper); overflow: hidden; }
.service-panel-media { position: relative; min-width: 0; min-height: 0; overflow: hidden; background: #d8d8d3; }
.service-panel img { width: 100%; height: 100%; min-height: 0; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.service-panel:hover img { transform: scale(1.035); }
.service-media-tag,
.service-evidence-pair figcaption { position: absolute; z-index: 2; left: .85rem; bottom: .85rem; margin: 0; padding: .48rem .62rem; color: var(--white); background: rgba(17,18,20,.88); font-size: .68rem; font-weight: 800; letter-spacing: .075em; line-height: 1.2; text-transform: uppercase; }
.service-evidence-pair { display: grid; grid-template-columns: 1fr 1fr; background: var(--ink); }
.service-evidence-pair figure { position: relative; min-width: 0; min-height: 0; margin: 0; overflow: hidden; }
.service-evidence-pair figure + figure { border-left: 1px solid rgba(255,255,255,.6); }
.service-evidence-pair img { object-position: center 55%; }
.service-panel-copy { position: relative; min-height: 190px; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.35rem, 2.5vw, 2rem); background: var(--paper); }
.service-panel-copy > span { position: absolute; top: clamp(1.35rem, 2.5vw, 2rem); right: clamp(1.35rem, 2.5vw, 2rem); color: var(--red); font-family: Consolas, monospace; font-size: .75rem; font-weight: 700; }
.service-panel h3 { margin: 0 0 .65rem; padding-right: 3rem; font-size: clamp(1.55rem, 2.5vw, 2rem); letter-spacing: -.025em; line-height: 1.05; }
.service-panel-copy > p { max-width: 540px; margin: 0; color: var(--muted); }
.service-panel-copy > .service-case { margin: 0 0 .7rem; color: var(--red); font-family: Consolas, monospace; font-size: .7rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.service-panel-large img { object-position: center 50%; }
.service-panel-wide img { object-position: center 42%; }
.service-panel-text { color: var(--white); border-color: var(--ink); background: var(--ink); }
.service-technical-visual { position: relative; min-height: 0; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.5rem, 3vw, 2.4rem); overflow: hidden; background: linear-gradient(145deg, #111214, #1d2024); isolation: isolate; }
.service-technical-visual::before { content: ""; position: absolute; z-index: -1; inset: 0; background-image: linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px); background-size: 48px 48px; -webkit-mask-image: linear-gradient(130deg, #000, transparent 78%); mask-image: linear-gradient(130deg, #000, transparent 78%); }
.service-technical-visual::after { content: ""; position: absolute; z-index: -1; width: 260px; height: 260px; right: -90px; bottom: -125px; border: 1px solid rgba(214,34,42,.55); border-radius: 50%; box-shadow: 0 0 0 52px rgba(214,34,42,.055), 0 0 0 104px rgba(214,34,42,.025); }
.service-code { display: flex; gap: .22em; align-items: baseline; margin: auto 0; color: var(--white); font-family: Consolas, monospace; font-size: clamp(4.2rem, 8vw, 7rem); font-weight: 800; letter-spacing: -.1em; line-height: .8; }
.service-code b { font: inherit; }
.service-code i { color: var(--red); font: inherit; }
.service-technical-visual small { color: #9ea1a6; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.service-panel-text .service-panel-copy { background: var(--ink-soft); }
.service-panel-text h3 { color: var(--white); }
.service-panel-text .service-panel-copy > p { color: var(--light-muted); }
.service-panel-urelastics { grid-column: 1 / -1; min-height: 0; grid-template-rows: auto auto; }
.urelastics-sequence { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; min-height: 390px; background: var(--line); }
.urelastics-sequence figure { position: relative; min-width: 0; min-height: 390px; margin: 0; overflow: hidden; background: #d8d8d3; }
.urelastics-sequence figure::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, rgba(17,18,20,.78)); pointer-events: none; }
.urelastics-sequence img { object-position: center 52%; }
.urelastics-sequence figcaption { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; left: 1rem; display: grid; grid-template-columns: 26px 1fr; gap: .2rem .55rem; align-items: end; color: var(--white); }
.urelastics-sequence figcaption span { grid-row: 1 / 3; color: var(--red); font-size: .7rem; font-weight: 800; }
.urelastics-sequence figcaption strong { font-size: .9rem; line-height: 1.2; }
.urelastics-sequence figcaption small { color: #d2d4d7; font-size: .7rem; }
.service-panel-urelastics .service-panel-copy { min-height: 245px; }
.service-panel-urelastics .service-panel-copy > p:not(.service-case) { max-width: 800px; }
.urelastics-facts { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.35rem 0 0; padding: 0; list-style: none; }
.urelastics-facts li { padding: .38rem .52rem; border: 1px solid #a4a6aa; color: #777a7f; font-size: .67rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.floor-finishes { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); margin-top: clamp(.7rem, 1.4vw, 1.15rem); border: 1px solid var(--line); background: var(--ink); overflow: hidden; }
.floor-finishes figure { position: relative; min-width: 0; min-height: 430px; margin: 0; overflow: hidden; background: #0d0e10; }
.floor-finishes figure::after { content: ""; position: absolute; inset: 48% 0 0; background: linear-gradient(transparent, rgba(17,18,20,.88)); }
.floor-finishes img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.floor-finishes figcaption { position: absolute; z-index: 1; right: 1.25rem; bottom: 1.25rem; left: 1.25rem; display: flex; justify-content: space-between; gap: 1rem; align-items: end; color: var(--white); }
.floor-finishes figcaption span { color: var(--red); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.floor-finishes figcaption strong { max-width: 360px; text-align: right; font-size: .88rem; }
.floor-finishes-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4vw, 3.75rem); color: var(--white); }
.floor-finishes-copy h3 { margin: .45rem 0 1rem; font-size: clamp(2.35rem, 4vw, 4.25rem); letter-spacing: -.05em; line-height: .94; }
.floor-finishes-copy > p:not(.card-label) { margin: 0; color: var(--light-muted); }
.floor-finishes-list { display: grid; gap: .65rem; margin: 1.7rem 0 0; padding: 0; list-style: none; }
.floor-finishes-list li { padding-top: .65rem; border-top: 1px solid var(--line-light); color: #d5d7da; font-size: .82rem; }

.store { padding-block: clamp(5rem, 9vw, 9rem); background: var(--paper-deep); }
.store-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.store-heading h2 { max-width: 840px; margin: 1.2rem 0 0; font-size: clamp(3.2rem, 5.8vw, 6rem); letter-spacing: -.055em; line-height: .91; }
.store-heading > p { max-width: 470px; margin: 0; color: var(--muted); font-size: 1.05rem; }
.store-installation { display: grid; grid-template-columns: 1fr; border: 1px solid var(--line); background: var(--white); }
.store-installation figure { position: relative; min-width: 0; min-height: 0; aspect-ratio: 16 / 9; margin: 0; overflow: hidden; background: #c9cac5; }
.store-installation figure::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(17,18,20,.84)); pointer-events: none; }
.store-installation img { width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.store-installation figcaption { position: absolute; z-index: 2; right: 1.4rem; bottom: 1.4rem; left: 1.4rem; display: flex; justify-content: space-between; align-items: end; gap: 1rem; color: var(--white); }
.store-installation figcaption span { font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.store-installation figcaption strong { max-width: 430px; text-align: right; font-size: .92rem; }
.store-installation-copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: 1.2rem clamp(2rem, 7vw, 6rem); align-items: start; padding: clamp(2rem, 4vw, 3.5rem); }
.store-installation-copy .card-label { grid-column: 1; }
.store-installation-copy h3 { grid-column: 1; margin: 0; font-size: clamp(2.25rem, 3.8vw, 4rem); letter-spacing: -.05em; line-height: .95; }
.store-installation-copy > p:not(.card-label) { grid-column: 2; grid-row: 1; margin: 0; color: var(--muted); }
.store-installation-copy dl { grid-column: 2; grid-row: 2; display: grid; margin: 0; }
.store-installation-copy dl div { display: grid; grid-template-columns: 92px 1fr; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.store-installation-copy dt { color: var(--muted); font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.store-installation-copy dd { margin: 0; font-weight: 800; }
.store-installation-copy dd a { color: inherit; text-underline-offset: .2em; }
.store-location { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 1px; margin-top: 1px; border: 1px solid var(--line); background: var(--line); }
.store-map { min-height: 430px; background: #d5d6d1; }
.store-map iframe { width: 100%; height: 100%; min-height: 430px; display: block; border: 0; }
.store-location-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(2rem, 4vw, 3.6rem); background: var(--white); }
.store-location-copy h3 { margin: .45rem 0 1.25rem; font-size: clamp(2.1rem, 3.6vw, 3.8rem); letter-spacing: -.05em; line-height: .95; }
.store-location-copy address { margin: 0 0 2rem; color: var(--muted); font-style: normal; line-height: 1.7; }
.store-location-copy .button { margin-top: auto; }
.store-location + .store-location { margin-top: 1rem; }
.store-capabilities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 1px; background: var(--line); }
.store-capabilities article { min-height: 235px; padding: clamp(1.4rem, 2.5vw, 2rem); background: var(--paper); }
.store-capabilities span { color: var(--red); font-family: Consolas, monospace; font-size: .72rem; font-weight: 700; }
.store-capabilities h3 { margin: 2.8rem 0 .6rem; font-size: clamp(1.4rem, 2.2vw, 1.85rem); letter-spacing: -.03em; line-height: 1; }
.store-capabilities p { margin: 0; color: var(--muted); }
.store-proof { display: grid; grid-template-columns: .95fr 1.05fr; gap: 1px; margin-top: 1px; background: var(--line); }
.store-proof > figure { position: relative; min-height: 510px; margin: 0; overflow: hidden; background: #c9cac5; }
.store-proof > figure::after { content: ""; position: absolute; inset: 38% 0 0; background: linear-gradient(transparent, rgba(17,18,20,.9)); }
.store-proof > figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.store-proof > figure figcaption { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: grid; color: var(--white); }
.store-proof > figure span { color: rgba(255,255,255,.72); font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.store-proof > figure strong { margin-top: .4rem; font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1; }
.store-proof > figure small { margin-top: .8rem; }
.store-proof > article { min-height: 510px; display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); color: var(--white); background: var(--ink); overflow: hidden; }
.store-proof > article > img { width: 100%; height: 100%; min-height: 510px; object-fit: cover; object-position: center 45%; }
.store-proof > article > div { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(1.8rem, 3.5vw, 3rem); }
.store-proof > article h3 { margin: .35rem 0 1rem; font-size: clamp(2rem, 3.3vw, 3.4rem); letter-spacing: -.045em; line-height: .96; }
.store-proof > article p:not(.card-label) { margin: 0 0 1.7rem; color: var(--light-muted); }

.projects { padding-block: clamp(5rem, 9vw, 9rem); }
.projects-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 3rem; align-items: end; margin-bottom: clamp(3rem, 6vw, 6rem); }
.projects-heading h2 { max-width: 780px; margin: 1.25rem 0 0; font-size: clamp(3rem, 6vw, 6rem); letter-spacing: -.055em; line-height: .92; }
.projects-heading > p { max-width: 390px; margin: 0; color: var(--light-muted); font-size: 1.05rem; }
.project-feature { display: grid; grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr); min-height: 640px; border: 1px solid var(--line-light); background: var(--ink-soft); }
.project-visual { position: relative; min-height: 640px; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.5rem, 3vw, 2.5rem); overflow: hidden; background: linear-gradient(180deg, rgba(17,18,20,.12), rgba(17,18,20,.9)), url("hard-rock-overview.jpg") center / cover; isolation: isolate; }
.project-visual::before { content: ""; position: absolute; z-index: -1; inset: 0; background-image: linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px); background-size: 64px 64px; opacity: .36; }
.project-visual::after { content: ""; position: absolute; z-index: -1; width: 420px; height: 420px; right: -160px; bottom: -110px; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(255,255,255,.025); }
.project-status { align-self: flex-start; display: inline-flex; align-items: center; gap: .55rem; padding: .5rem .7rem; border: 1px solid rgba(255,255,255,.38); background: rgba(17,18,20,.74); font-size: .73rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.project-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px rgba(214,34,42,.2); }
.project-code { position: absolute; top: 2rem; right: 2rem; margin: 0; color: rgba(255,255,255,.68); font-family: Consolas, monospace; font-size: .72rem; letter-spacing: .08em; }
.project-visual-copy { display: flex; flex-direction: column; align-items: flex-start; }
.project-visual-copy small { color: rgba(255,255,255,.72); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.project-visual-copy strong { margin-top: .4rem; font-size: clamp(4.5rem, 8vw, 7.8rem); letter-spacing: -.07em; line-height: .9; }
.project-visual-copy span { margin-top: .8rem; color: rgba(255,255,255,.75); }
.project-axis { position: absolute; right: 1.5rem; bottom: 1.5rem; display: flex; gap: .35rem; }
.project-axis span { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid rgba(255,255,255,.28); color: rgba(255,255,255,.7); font-family: Consolas, monospace; font-size: .68rem; }
.project-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4.5rem); }
.project-copy h3 { max-width: 740px; margin: .35rem 0 1.4rem; font-size: clamp(2.6rem, 4.7vw, 5.2rem); letter-spacing: -.055em; line-height: .91; }
.project-lede { max-width: 760px; margin: 0; color: var(--light-muted); font-size: 1.05rem; }
.system-line { display: grid; grid-template-columns: 150px 1fr; gap: 1.1rem; margin: 1.8rem 0 0; padding: 1rem 0; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); color: #e2e3e5; font-size: .92rem; }
.system-line span { color: #85888d; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 1.5rem 0 0; background: var(--line-light); }
.metric-grid div { min-width: 0; padding: 1rem; background: #15171a; }
.metric-grid dt { color: #85888d; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.metric-grid dd { margin: .35rem 0 0; font-size: clamp(1.45rem, 2.7vw, 2.2rem); font-weight: 700; letter-spacing: -.04em; }
.metric-grid dd small { color: #a1a4a8; font-size: .75rem; font-weight: 400; letter-spacing: 0; }
.project-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem; margin-top: 1.5rem; }
.project-link { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 62px; padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.26); text-decoration: none; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.project-link:hover { border-color: var(--white); transform: translateY(-2px); }
.project-link span { font-weight: 700; }
.project-link small { color: #989ba0; }
.project-link-primary { border-color: var(--red); background: var(--red); }
.project-link-primary:hover { border-color: var(--red-bright); background: var(--red-bright); }
.project-link-primary small { color: rgba(255,255,255,.72); }
.data-source { margin: 1rem 0 0; color: #85888d; font-size: .74rem; }
.project-evidence { display: grid; grid-template-columns: 1.35fr .82fr .83fr; gap: 1px; margin-top: 1px; background: var(--line-light); }
.project-evidence figure { min-width: 0; margin: 0; background: #15171a; }
.project-evidence img { width: 100%; height: 250px; object-fit: cover; }
.project-evidence figure:nth-child(2) img { object-position: center 38%; }
.project-evidence figcaption { min-height: 145px; display: grid; grid-template-columns: 30px 1fr; gap: .25rem .7rem; padding: 1rem; }
.project-evidence figcaption span { grid-row: 1 / 3; color: var(--red); font-size: .7rem; font-weight: 700; }
.project-evidence figcaption strong { font-size: .97rem; }
.project-evidence figcaption small { color: #898c91; line-height: 1.45; }
.cabo-real-case { margin-top: clamp(4rem, 8vw, 8rem); border: 1px solid var(--line-light); background: var(--ink-soft); }
.cabo-real-hero { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 650px; }
.cabo-real-hero > figure { position: relative; min-width: 0; min-height: 650px; margin: 0; overflow: hidden; background: #0d0e10; }
.cabo-real-hero > figure::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, rgba(17,18,20,.9)); }
.cabo-real-hero > figure img { width: 100%; height: 100%; object-fit: cover; }
.cabo-real-hero > figure figcaption { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.cabo-real-hero > figure figcaption span { color: var(--red); font-size: .71rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cabo-real-hero > figure figcaption strong { max-width: 360px; text-align: right; font-size: .9rem; }
.cabo-real-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4.5vw, 4rem); border-left: 1px solid var(--line-light); }
.cabo-real-copy h3 { margin: .35rem 0 1.35rem; font-size: clamp(2.55rem, 4.5vw, 4.9rem); letter-spacing: -.055em; line-height: .91; }
.cabo-real-copy > p:not(.card-label) { margin: 0; color: var(--light-muted); font-size: 1.03rem; }
.cabo-real-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 2rem 0 0; background: var(--line-light); }
.cabo-real-metrics div { min-width: 0; padding: 1rem; background: #15171a; }
.cabo-real-metrics dt { color: #85888d; font-size: .67rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.cabo-real-metrics dd { margin: .4rem 0 0; font-size: clamp(1.6rem, 3vw, 2.35rem); font-weight: 800; letter-spacing: -.045em; }
.cabo-real-metrics dd small { color: #a1a4a8; font-size: .7rem; font-weight: 400; letter-spacing: 0; }
.cabo-real-systems { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border-top: 1px solid var(--line-light); background: var(--line-light); }
.cabo-real-systems article { min-width: 0; background: #15171a; }
.cabo-system-media { position: relative; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; background: #0d0e10; }
.cabo-system-media::after { content: ""; position: absolute; inset: 48% 0 0; background: linear-gradient(transparent, rgba(17,18,20,.86)); }
.cabo-system-media img { width: 100%; height: 100%; object-fit: cover; }
.cabo-system-media-light img { object-position: center 52%; }
.cabo-system-media figcaption { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; left: 1rem; display: flex; justify-content: space-between; align-items: end; gap: 1rem; color: var(--white); }
.cabo-system-media figcaption span { color: var(--red); font-size: .69rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.cabo-system-media figcaption strong { max-width: 240px; text-align: right; font-size: .82rem; }
.cabo-system-copy { padding: clamp(1.6rem, 3vw, 2.6rem); }
.cabo-real-systems h4 { margin: 1.8rem 0 .8rem; font-size: clamp(1.75rem, 2.7vw, 2.55rem); letter-spacing: -.04em; line-height: 1; }
.cabo-real-systems p:not(.case-number) { margin: 0; color: var(--light-muted); }
.cabo-real-systems .safety-note { margin-top: 1.25rem; padding: .9rem 1rem; border-left: 3px solid var(--red); color: #b9bcc0; background: rgba(255,255,255,.04); font-size: .8rem; }
.cabo-real-systems .safety-note strong { color: var(--white); }
.cabo-real-systems ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.cabo-real-systems li { padding: .38rem .55rem; border: 1px solid rgba(255,255,255,.18); color: #aeb1b5; font-size: .68rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.cabo-safety-evidence { display: grid; grid-template-columns: minmax(260px, .62fr) minmax(0, 1.38fr); gap: 1px; border-top: 1px solid var(--line-light); background: var(--line-light); }
.cabo-safety-evidence figure { position: relative; min-width: 0; min-height: 390px; margin: 0; overflow: hidden; background: #0d0e10; }
.cabo-safety-evidence figure::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, rgba(17,18,20,.88)); }
.cabo-safety-evidence figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 72%; }
.cabo-safety-evidence figcaption { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; left: 1rem; display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.cabo-safety-evidence figcaption span { color: var(--red); font-size: .69rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.cabo-safety-evidence figcaption strong { max-width: 220px; text-align: right; font-size: .82rem; }
.cabo-safety-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.8rem, 4vw, 3.8rem); background: #15171a; }
.cabo-safety-copy h4 { max-width: 720px; margin: 1.4rem 0 1rem; font-size: clamp(2rem, 3.6vw, 3.8rem); letter-spacing: -.045em; line-height: .95; }
.cabo-safety-copy > p:not(.case-number) { max-width: 760px; margin: 0; color: var(--light-muted); }
.cabo-safety-copy ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.cabo-safety-copy li { padding: .42rem .58rem; border: 1px solid rgba(255,255,255,.18); color: #b9bcc0; font-size: .68rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.cabo-real-sequence { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border-top: 1px solid var(--line-light); background: var(--line-light); }
.cabo-real-sequence figure { min-width: 0; margin: 0; background: #15171a; }
.cabo-real-sequence img { width: 100%; height: 270px; object-fit: cover; }
.cabo-real-sequence figcaption { min-height: 150px; display: grid; grid-template-columns: 30px 1fr; gap: .3rem .7rem; padding: 1.15rem; }
.cabo-real-sequence figcaption span { grid-row: 1 / 3; color: var(--red); font-size: .7rem; font-weight: 800; }
.cabo-real-sequence figcaption strong { font-size: 1rem; }
.cabo-real-sequence figcaption small { color: #898c91; line-height: 1.45; }
.cabo-real-footer { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: 1.25rem clamp(1.4rem, 3vw, 2.5rem); border-top: 1px solid var(--line-light); }
.cabo-real-footer p { max-width: 720px; margin: 0; color: #92959a; font-size: .83rem; }
.cabo-real-footer p strong { color: var(--white); }
.cabo-real-footer a { flex: 0 0 auto; color: var(--white); font-size: .83rem; font-weight: 800; text-decoration-color: var(--red); text-underline-offset: .3rem; }
.rp5-case { margin-top: 1px; border: 1px solid var(--line-light); color: var(--white); background: var(--ink-soft); }
.rp5-heading { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; padding: clamp(2rem, 5vw, 4.5rem); }
.rp5-heading .card-label { margin-top: clamp(2rem, 5vw, 4rem); }
.rp5-heading h3 { max-width: 720px; margin: .65rem 0 0; font-size: clamp(2.5rem, 4.7vw, 5rem); letter-spacing: -.055em; line-height: .92; }
.rp5-intro > p:first-child { max-width: 650px; margin: 0; color: var(--light-muted); font-size: 1.03rem; }
.rp5-system-line { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; margin: 2rem 0 0; }
.rp5-system-line span { padding: .42rem .58rem; border: 1px solid rgba(255,255,255,.22); color: #d4d6d9; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rp5-system-line i { color: var(--red); font-style: normal; }
.rp5-sequence { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1px; border-top: 1px solid var(--line-light); background: var(--line-light); }
.rp5-sequence figure { grid-column: span 2; min-width: 0; margin: 0; background: #15171a; }
.rp5-sequence img { width: 100%; height: 330px; object-fit: cover; }
.rp5-sequence figcaption { min-height: 165px; display: grid; grid-template-columns: 26px 1fr; gap: .3rem .65rem; padding: 1rem; }
.rp5-sequence figcaption span { grid-row: 1 / 3; color: var(--red); font-size: .7rem; font-weight: 800; }
.rp5-sequence figcaption strong { font-size: .95rem; line-height: 1.25; }
.rp5-sequence figcaption small { color: #898c91; font-size: .76rem; line-height: 1.45; }
.active-project-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 1px; background: var(--line-light); }
.active-project-card { min-width: 0; padding: clamp(1.6rem, 3vw, 2.7rem); background: var(--ink-soft); }
.active-card-top { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.active-card-top > span { color: rgba(255,255,255,.48); font-family: Consolas, monospace; font-size: .72rem; letter-spacing: .08em; }
.active-project-card h3 { max-width: 560px; margin: 2.2rem 0 1rem; font-size: clamp(2rem, 3.5vw, 3.3rem); letter-spacing: -.045em; line-height: .98; }
.active-project-card > p:not(.card-label, .data-source, .decision-note) { max-width: 650px; margin: 0; color: var(--light-muted); }
.project-specs { display: grid; gap: 0; margin: 2rem 0 0; }
.project-specs div { display: grid; grid-template-columns: 112px 1fr; gap: 1rem; padding: .78rem 0; border-top: 1px solid var(--line-light); }
.project-specs dt { color: #85888d; font-size: .69rem; letter-spacing: .06em; text-transform: uppercase; }
.project-specs dd { margin: 0; font-weight: 700; }
.decision-note { margin: 1.6rem 0 0; padding: 1rem; border-left: 3px solid var(--red); color: #aeb1b5; background: rgba(255,255,255,.035); font-size: .86rem; }
.decision-note strong { color: var(--white); }
.metric-grid-compact { grid-template-columns: repeat(2, 1fr); margin-top: 2rem; }
.project-link-single { margin-top: 1.5rem; }
.portfolio-scale { margin-top: clamp(4rem, 7vw, 7rem); }
.portfolio-scale-heading { display: grid; grid-template-columns: .5fr 1fr .7fr; gap: clamp(1.5rem, 4vw, 4rem); align-items: end; padding-bottom: 1.5rem; }
.portfolio-scale-heading .card-label { align-self: start; }
.portfolio-scale-heading h3 { margin: 0; font-size: clamp(2.25rem, 4vw, 4rem); letter-spacing: -.05em; line-height: .95; }
.portfolio-scale-heading > p:last-child { margin: 0; color: var(--light-muted); }
.portfolio-scale-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-light); }
.portfolio-scale-grid article { min-height: 315px; display: flex; flex-direction: column; padding: clamp(1.4rem, 2.5vw, 2rem); background: #15171a; }
.portfolio-scale-grid span { color: var(--red); font-family: Consolas, monospace; font-size: .7rem; font-weight: 700; letter-spacing: .06em; }
.portfolio-scale-grid h4 { margin: 2.8rem 0 .55rem; font-size: clamp(1.6rem, 2.6vw, 2.25rem); letter-spacing: -.035em; line-height: 1; }
.portfolio-scale-grid strong { color: #dddfe2; font-size: .82rem; }
.portfolio-scale-grid p { margin: auto 0 0; padding-top: 1.7rem; color: #92959a; }
.featured-case { display: grid; grid-template-columns: 1.2fr .8fr; min-height: 590px; border: 1px solid var(--line-light); }
.featured-case > img { width: 100%; height: 100%; min-height: 590px; object-fit: cover; }
.case-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4rem); background: var(--ink-soft); }
.case-copy h3 { margin: 0 0 1.2rem; font-size: clamp(2.4rem, 4vw, 4.4rem); letter-spacing: -.045em; line-height: .95; }
.case-copy > p:not(.card-label) { margin: 0; color: var(--light-muted); font-size: 1.05rem; }
.case-copy dl { display: grid; gap: .8rem; margin: 2.5rem 0 0; }
.case-copy dl div { display: grid; grid-template-columns: 90px 1fr; gap: 1rem; padding-top: .75rem; border-top: 1px solid var(--line-light); }
.case-copy dt { color: #8d9095; font-size: .76rem; text-transform: uppercase; }
.case-copy dd { margin: 0; font-weight: 700; }
.case-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 1px; background: var(--line-light); }
.case-card { display: grid; grid-template-rows: 270px 1fr; background: var(--ink-soft); }
.case-card img { width: 100%; height: 270px; object-fit: cover; }
.case-card > div { padding: 1.6rem; }
.case-card h3 { margin: 0 0 .65rem; font-size: 1.75rem; }
.case-card p:last-child { margin: 0; color: var(--light-muted); }
.experience-index { display: grid; grid-template-columns: .42fr 1.58fr; gap: 3rem; margin-top: clamp(4rem, 7vw, 7rem); padding-top: 1.5rem; border-top: 1px solid var(--line-light); }
.experience-index > p { margin: 0; color: var(--red); font-size: .77rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.experience-index ul { margin: 0; padding: 0; list-style: none; }
.experience-index li { display: grid; grid-template-columns: 180px 1fr; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--line-light); color: var(--light-muted); }
.experience-index li span { color: var(--white); font-weight: 700; }
.project-directory { margin-top: 2rem; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.project-directory summary { display: grid; grid-template-columns: .42fr 1.2fr auto; gap: 1.5rem; align-items: center; padding: 1.25rem 0; cursor: pointer; list-style: none; }
.project-directory summary::-webkit-details-marker { display: none; }
.project-directory summary span { color: var(--red); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.project-directory summary strong { font-size: 1.05rem; }
.project-directory summary small { color: #92959a; }
.project-directory summary small::after { content: " +"; color: var(--red); }
.project-directory[open] summary small::after { content: " −"; }
.project-directory-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; padding-bottom: 1px; background: var(--line-light); }
.project-directory-grid section { min-height: 190px; padding: 1.25rem; background: #15171a; }
.project-directory-grid h3 { margin: 0 0 .75rem; font-size: 1rem; }
.project-directory-grid p { margin: 0; color: #92959a; font-size: .9rem; line-height: 1.7; }

.prediagnostics { padding-block: clamp(5rem, 9vw, 9rem); }
.prediagnostics-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; margin-bottom: clamp(3rem, 6vw, 5rem); }
.prediagnostics-heading h2 { max-width: 880px; margin: 1.25rem 0 0; font-size: clamp(2.8rem, 5.5vw, 5.7rem); letter-spacing: -.055em; line-height: .94; }
.prediagnostics-heading > p { max-width: 450px; margin: 0; color: var(--muted); font-size: 1.05rem; }
.decision-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-bottom: 1px; background: var(--line); }
.decision-principles article { min-height: 205px; padding: 1.5rem; background: var(--white); }
.decision-principles span { color: var(--red); font-size: .72rem; font-weight: 700; }
.decision-principles h3 { margin: 2.2rem 0 .5rem; font-size: 1.35rem; }
.decision-principles p { margin: 0; color: var(--muted); }
.evidence-intro { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(2rem, 5vw, 5rem); padding: clamp(1.8rem, 4vw, 3rem); border: 1px solid var(--line); background: var(--paper-deep); }
.evidence-intro h3 { max-width: 720px; margin: .7rem 0 0; font-size: clamp(2rem, 3.7vw, 3.6rem); letter-spacing: -.045em; line-height: .98; }
.evidence-intro > p { max-width: 600px; margin: 0; color: var(--muted); font-size: 1.02rem; }
.evidence-index { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; background: var(--line); }
.evidence-index div { display: flex; min-height: 100px; flex-direction: column; justify-content: space-between; padding: 1rem; background: var(--white); }
.evidence-index dt { color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.evidence-index dd { margin: 1.4rem 0 0; font-size: clamp(1.55rem, 3vw, 2.7rem); font-weight: 800; letter-spacing: -.04em; }
.evidence-feature { margin-top: 1px; color: var(--white); background: var(--ink); }
.evidence-feature-media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #3a3d42; }
.evidence-feature figure, .evidence-story figure { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #15171a; }
.evidence-feature-media figure { aspect-ratio: 4 / 3; }
.evidence-media-link { display: block; width: 100%; height: 100%; overflow: hidden; }
.evidence-media-link img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.2,1), filter .3s ease; }
.evidence-media-link:hover img { transform: scale(1.025); filter: contrast(1.04); }
.evidence-feature figcaption, .evidence-story figcaption { position: absolute; z-index: 1; right: .8rem; bottom: .8rem; left: .8rem; display: flex; justify-content: space-between; gap: 1rem; padding: .55rem .65rem; border: 1px solid rgba(255,255,255,.24); color: var(--white); background: rgba(17,18,20,.82); backdrop-filter: blur(6px); font-size: .68rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; pointer-events: none; }
.evidence-feature figcaption small, .evidence-story figcaption small { color: #d3d5d8; font: inherit; font-weight: 500; }
.evidence-feature-copy { display: grid; grid-template-columns: .83fr 1.17fr; gap: clamp(2rem, 6vw, 6rem); padding: clamp(2rem, 5vw, 4.5rem); }
.evidence-feature-lead h3 { max-width: 650px; margin: .7rem 0 0; font-size: clamp(2.5rem, 5vw, 5.25rem); letter-spacing: -.055em; line-height: .93; }
.evidence-feature-lead .card-label { margin-top: clamp(2rem, 7vw, 6rem); }
.case-number { margin: 0; color: #8d9095; font-family: Consolas, monospace; font-size: .72rem; letter-spacing: .04em; }
.evidence-feature-detail > p:first-child { max-width: 660px; margin: 0; color: var(--light-muted); font-size: 1.05rem; }
.evidence-method { display: grid; margin-top: 2rem; border-top: 1px solid var(--line-light); }
.evidence-method > div { display: grid; grid-template-columns: 32px 100px 1fr; gap: .8rem; align-items: baseline; padding: .85rem 0; border-bottom: 1px solid var(--line-light); }
.evidence-method span { color: var(--red); font-size: .72rem; font-weight: 700; }
.evidence-method strong { font-size: .86rem; }
.evidence-method small { color: #92959a; }
.evidence-caution { margin: 1.5rem 0 0 !important; padding: 1rem 1.1rem; border-left: 3px solid var(--red); color: #bfc2c6 !important; background: #1b1d20; font-size: .84rem !important; }
.evidence-caution strong { color: var(--white); }
.evidence-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1px; margin-top: 1px; background: var(--line); }
.evidence-story { min-width: 0; display: flex; flex-direction: column; background: var(--paper-deep); }
.evidence-story-pair { grid-column: span 6; }
.evidence-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.evidence-pair figure { aspect-ratio: 4 / 3; }
.evidence-story-copy { flex: 1; padding: clamp(1.4rem, 3vw, 2.4rem); }
.evidence-story-copy .card-label { margin-top: 2.5rem; }
.evidence-story-copy h3 { max-width: 760px; margin: .65rem 0 .9rem; font-size: clamp(1.85rem, 3vw, 3rem); letter-spacing: -.045em; line-height: .98; }
.evidence-story-copy > p:not(.card-label, .case-number) { margin: 0; color: var(--muted); }
.evidence-story-copy ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.evidence-story-copy li { padding: .38rem .52rem; border: 1px solid #a4a6aa; color: #777a7f; font-size: .67rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.evidence-story-aerial { grid-column: span 7; }
.evidence-story-aerial figure { aspect-ratio: 16 / 9; }
.evidence-story-document { grid-column: span 5; }
.evidence-story-document figure { height: 570px; background: #ececec; }
.evidence-story-document .evidence-media-link { padding: 1.2rem; }
.evidence-story-document img { object-fit: contain; box-shadow: 0 10px 30px rgba(17,18,20,.14); }
.evidence-story-dossier { grid-column: 1 / -1; display: grid; grid-template-columns: 1.42fr .58fr; color: var(--white); background: var(--ink); }
.evidence-story-dossier figure { min-height: 530px; background: #f2f2f2; }
.evidence-story-dossier .evidence-media-link { display: grid; place-items: center; padding: 1.1rem; }
.evidence-story-dossier img { object-fit: contain; box-shadow: 0 14px 38px rgba(17,18,20,.18); }
.evidence-story-dossier .evidence-story-copy { display: flex; flex-direction: column; justify-content: center; }
.evidence-story-dossier .case-number, .evidence-story-dossier .evidence-story-copy > p:not(.card-label, .case-number) { color: #a8abb0; }
.evidence-story-dossier .evidence-story-copy li { border-color: #666a70; color: #b4b7bb; }
.flight-log { margin-top: 1px; color: var(--white); background: var(--ink); }
.flight-log-heading { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; padding: clamp(2rem, 5vw, 4.5rem); }
.flight-log-heading .card-label { margin-top: 2.5rem; }
.flight-log-heading h3 { max-width: 760px; margin: .7rem 0 0; font-size: clamp(2.7rem, 5vw, 5.1rem); letter-spacing: -.055em; line-height: .93; }
.flight-log-heading > p { max-width: 600px; margin: 0; color: var(--light-muted); font-size: 1.04rem; }
.flight-log-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1px; background: #3a3d42; }
.flight-log figure { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #111316; }
.flight-log-aerial { grid-column: 1 / -1; aspect-ratio: 16 / 7; }
.flight-log-mission { grid-column: span 8; height: 370px; }
.flight-log-operator { grid-column: span 4; height: 370px; }
.flight-log img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.2,1), filter .3s ease; }
.flight-log-mission img { object-position: center 48%; }
.flight-log-operator img { object-position: center 38%; }
.flight-log .evidence-media-link:hover img { transform: scale(1.025); filter: contrast(1.04); }
.flight-log figcaption { position: absolute; z-index: 1; right: .8rem; bottom: .8rem; left: .8rem; display: flex; justify-content: space-between; gap: 1rem; padding: .55rem .65rem; border: 1px solid rgba(255,255,255,.24); color: var(--white); background: rgba(17,18,20,.82); backdrop-filter: blur(6px); font-size: .68rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; pointer-events: none; }
.flight-log figcaption small { color: #d3d5d8; font: inherit; font-weight: 500; }
.flight-log-method { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-light); }
.flight-log-method article { min-height: 200px; padding: clamp(1.3rem, 3vw, 2.2rem); background: #191b1e; }
.flight-log-method span { color: var(--red); font-size: .72rem; font-weight: 700; }
.flight-log-method h4 { margin: 2rem 0 .55rem; font-size: 1.2rem; }
.flight-log-method p { margin: 0; color: #9ea1a6; }
.evidence-source { max-width: 980px; margin: 1.5rem 0 0 auto; color: #777a7f; font-size: .75rem; line-height: 1.65; text-align: right; }

.warranty { padding-block: clamp(5rem, 9vw, 9rem); color: var(--white); background: #17191c; }
.warranty-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.warranty-intro { position: sticky; top: 110px; }
.warranty-intro h2 { max-width: 600px; margin: 1.3rem 0 0; font-size: clamp(2.8rem, 5vw, 5.2rem); letter-spacing: -.055em; line-height: .93; }
.warranty-intro > p:not(.eyebrow) { max-width: 560px; margin: 1.7rem 0 0; color: var(--light-muted); font-size: 1.04rem; }
.warranty-actions { margin-top: 2rem; }
.warranty-case { border: 1px solid var(--line-light); background: var(--ink-soft); }
.warranty-case-visual { position: relative; height: 340px; overflow: hidden; }
.warranty-case-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(17,18,20,.75), transparent 60%); }
.warranty-case-visual img { width: 100%; height: 100%; object-fit: cover; }
.warranty-case-visual span { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; padding: .45rem .55rem; border: 1px solid rgba(255,255,255,.35); background: rgba(17,18,20,.72); font-family: Consolas, monospace; font-size: .69rem; letter-spacing: .08em; }
.warranty-case-copy { padding: clamp(1.6rem, 4vw, 3rem); }
.warranty-case-copy h3 { max-width: 680px; margin: .4rem 0 1rem; font-size: clamp(2rem, 3.5vw, 3.3rem); letter-spacing: -.045em; line-height: .98; }
.warranty-case-copy > p:not(.card-label) { margin: 0; color: var(--light-muted); }
.warranty-case-copy > strong { display: block; margin-top: 1.5rem; padding: 1.2rem 0; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); font-size: 1.07rem; line-height: 1.45; }
.warranty-case-copy ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem 1.2rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.warranty-case-copy li { position: relative; padding-left: 1.15rem; color: #aeb1b5; font-size: .88rem; }
.warranty-case-copy li::before { content: ""; position: absolute; top: .52rem; left: 0; width: 6px; height: 6px; background: var(--red); }
.warranty-process { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; margin-top: clamp(3rem, 6vw, 5rem); background: var(--line-light); }
.warranty-process div { min-height: 170px; display: flex; flex-direction: column; padding: 1rem; background: #111214; }
.warranty-process span { color: var(--red); font-size: .7rem; font-weight: 700; }
.warranty-process strong { margin-top: auto; font-size: 1rem; }
.warranty-process small { margin-top: .4rem; color: #898c91; }
.warranty-record { display: grid; grid-template-columns: .42fr 1.58fr; gap: 3rem; margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid var(--line-light); }
.warranty-record p { margin: 0; color: var(--red); font-size: .75rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.warranty-record ul { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.warranty-record li { padding: .55rem .75rem; border: 1px solid var(--line-light); color: var(--light-muted); font-size: .86rem; }

.coverage { padding-block: clamp(3.75rem, 5.5vw, 5.75rem); }
.coverage .section-heading {
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  grid-template-areas:
    "eyebrow copy"
    "title copy";
  gap: .8rem clamp(2.5rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2rem, 3.5vw, 3rem);
}
.coverage .section-heading .eyebrow { grid-area: eyebrow; }
.coverage .section-heading h2 { grid-area: title; max-width: 900px; font-size: clamp(2.7rem, 4vw, 4.35rem); }
.coverage .section-heading > p:last-child { grid-area: copy; max-width: 470px; padding-bottom: .35rem; color: var(--muted); }
.location-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); }
.location-grid article { background: var(--white); }
.location-grid img { width: 100%; height: 340px; object-fit: cover; }
.location-grid article > div { position: relative; padding: 1.5rem; }
.location-grid span { position: absolute; top: 1.7rem; right: 1.5rem; color: var(--red); font-size: .75rem; font-weight: 700; }
.location-grid h3 { margin: 0 0 .55rem; font-size: 1.75rem; }
.location-grid p { max-width: 500px; margin: 0; color: var(--muted); }

.contact { color: var(--white); background: var(--red); }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 7vw, 7rem); align-items: end; padding-block: clamp(5rem, 9vw, 8rem); }
.contact .eyebrow { color: rgba(255,255,255,.72); }
.contact .eyebrow::before { background: var(--white); }
.contact h2 { max-width: 760px; margin: 1.25rem 0 0; font-size: clamp(3rem, 6vw, 6rem); letter-spacing: -.055em; line-height: .92; }
.contact-actions { display: grid; border-top: 1px solid rgba(255,255,255,.5); }
.contact-actions a { display: grid; grid-template-columns: minmax(145px, .7fr) minmax(0,1fr) auto; gap: 1rem; align-items: center; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.5); text-decoration: none; }
.contact-actions a:hover strong { transform: translateX(5px); }
.contact-actions span { color: rgba(255,255,255,.68); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.contact-actions strong { overflow-wrap: normal; word-break: normal; font-size: 1rem; transition: transform .2s ease; }
.contact-actions b { font-size: 1.25rem; }

.site-footer { padding-block: clamp(3.5rem, 7vw, 5.5rem); color: #aeb0b4; background: #090a0b; }
.footer-inner { width: min(100% - 3rem, var(--max)); display: flex; flex-direction: column; align-items: center; margin-inline: auto; text-align: center; }
.footer-inner > img { width: clamp(280px, 28vw, 390px); height: auto; margin: 0 auto 2rem; padding: .7rem .85rem; background: var(--white); box-shadow: 0 18px 48px rgba(0,0,0,.24); }
.footer-inner > p { max-width: 920px; margin: 0 auto; font-size: .86rem; line-height: 1.65; }
.footer-inner > div { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .75rem 2.5rem; margin-top: 2.5rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.14); font-size: .78rem; text-align: center; }
.footer-inner > div span { text-align: center; }
.footer-inner a { text-underline-offset: .2em; }

.service-routes { padding-block: clamp(5rem, 8vw, 8rem); }
.service-routes-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(2rem, 7vw, 7rem); align-items: end; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.service-routes-heading h2 { max-width: 840px; margin: 1.2rem 0 0; font-size: clamp(3rem, 5.8vw, 5.8rem); letter-spacing: -.055em; line-height: .92; }
.service-routes-heading > p { max-width: 450px; margin: 0; color: var(--muted); font-size: 1.05rem; }
.service-route-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.service-route-grid article { min-height: 330px; display: flex; flex-direction: column; padding: clamp(1.4rem, 2.8vw, 2.2rem); background: var(--white); }
.service-route-grid article > span { color: var(--red); font-family: Consolas, monospace; font-size: .72rem; font-weight: 700; letter-spacing: .06em; }
.service-route-grid h3 { max-width: 340px; margin: 3.5rem 0 .8rem; font-size: clamp(1.7rem, 2.7vw, 2.5rem); letter-spacing: -.04em; line-height: 1; }
.service-route-grid p { margin: 0; color: var(--muted); }
.service-route-grid a { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 1.1rem; border-top: 1px solid var(--line); text-decoration: none; font-weight: 700; }
.service-route-grid a b { color: var(--red); }
.service-route-grid a:hover { color: var(--red); }

.material-selector { margin-top: clamp(3rem, 6vw, 5rem); padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); background: var(--white); }
.material-selector > header { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(1.5rem, 5vw, 5rem); align-items: end; }
.material-selector > header h3 { max-width: 700px; margin: .35rem 0 0; font-size: clamp(2.2rem, 4.3vw, 4.2rem); letter-spacing: -.05em; line-height: .95; }
.material-selector > header > p { max-width: 440px; margin: 0; color: var(--muted); }
.material-filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 2.4rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
.material-filters button { padding: .62rem .8rem; border: 1px solid var(--line); color: var(--ink); background: transparent; cursor: pointer; font-size: .8rem; font-weight: 700; }
.material-filters button:hover, .material-filters button:focus-visible { border-color: var(--ink); }
.material-filters button.is-active { color: var(--white); border-color: var(--ink); background: var(--ink); }
.material-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 1px; background: var(--line); }
.material-grid article { min-height: 255px; display: flex; flex-direction: column; padding: 1.25rem; background: var(--paper); }
.material-grid article[hidden] { display: none; }
.material-grid article > span { color: var(--red); font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.material-grid h4 { margin: 2rem 0 .6rem; font-size: 1.3rem; letter-spacing: -.025em; line-height: 1.05; }
.material-grid p { margin: 0; color: var(--muted); font-size: .88rem; }
.material-grid a { margin-top: auto; padding-top: 1rem; color: var(--ink); text-decoration: none; font-size: .82rem; font-weight: 700; }
.material-grid a:hover { color: var(--red); }
.material-note { margin: 1.1rem 0 0; color: var(--muted); font-size: .76rem; }

.flagship-index { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; margin: -2rem 0 clamp(3rem, 6vw, 5rem); background: var(--line-light); }
.flagship-index a { min-width: 0; min-height: 138px; display: flex; flex-direction: column; padding: 1rem; background: #15171a; text-decoration: none; }
.flagship-index span { color: var(--red); font-family: Consolas, monospace; font-size: .62rem; letter-spacing: .04em; }
.flagship-index strong { margin-top: auto; font-size: 1.05rem; }
.flagship-index small { margin-top: .2rem; color: #85888d; }
.flagship-index a:hover, .flagship-index a:focus-visible { background: #202226; }
#caso-hard-rock, #caso-cabo-real, #caso-rp5, #caso-codepac, #caso-cora, #caso-st-regis, #caso-pedregal { scroll-margin-top: 100px; }

.business-facts { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 1px; background: var(--line); }
.business-facts article { min-height: 130px; display: flex; flex-direction: column; padding: 1.25rem; background: var(--ink); }
.business-facts span { color: var(--red); font-size: .66rem; font-weight: 700; letter-spacing: .1em; }
.business-facts strong { margin-top: auto; color: var(--white); font-size: 1rem; line-height: 1.2; }

.request-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2.5rem, 7vw, 7rem); padding-block: clamp(5rem, 9vw, 9rem); }
.request-intro h2 { max-width: 620px; margin: 1.2rem 0 1.5rem; font-size: clamp(3rem, 5.7vw, 5.7rem); letter-spacing: -.055em; line-height: .92; }
.request-intro > p:not(.eyebrow) { max-width: 560px; margin: 0; color: var(--muted); font-size: 1.05rem; }
.request-direct { display: grid; gap: .7rem; margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.request-direct a { width: fit-content; text-decoration: none; font-weight: 700; }
.request-direct a:hover { color: var(--red); }
.request-direct small { color: var(--muted); }
.request-form { align-self: start; display: grid; gap: 1.1rem; padding: clamp(1.4rem, 3.2vw, 2.5rem); color: var(--white); background: var(--ink); }
.request-form label { display: grid; gap: .45rem; }
.request-form label > span { color: #d7d8da; font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.request-form input, .request-form select, .request-form textarea { width: 100%; padding: .85rem .9rem; border: 1px solid #45484d; border-radius: 0; color: var(--white); background: #1b1d20; outline: 0; }
.request-form select { appearance: auto; }
.request-form textarea { resize: vertical; min-height: 132px; }
.request-form input::placeholder, .request-form textarea::placeholder { color: #85888d; }
.request-form input:focus, .request-form select:focus, .request-form textarea:focus { border-color: var(--red); box-shadow: 0 0 0 2px rgba(214,34,42,.2); }
.request-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.request-consent { grid-template-columns: auto 1fr; align-items: start; gap: .7rem; color: #d7d8da; font-size: .86rem; line-height: 1.45; }
.request-consent input { width: 1.1rem; height: 1.1rem; margin-top: .16rem; accent-color: var(--red); }
.request-consent > span { color: #d7d8da; font-size: .86rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.request-consent a { color: var(--white); text-underline-offset: .18em; }
.request-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.map-pin-field { display: grid; gap: .8rem; padding: 1rem; border: 1px solid #45484d; background: #15171a; }
.map-pin-heading { display: block; }
.map-pin-heading > div { display: grid; gap: .3rem; }
.map-pin-heading span { color: #d7d8da; font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.map-pin-heading small, .map-pin-status { color: #9b9ea3; font-size: .74rem; line-height: 1.45; }
.project-location-map { width: 100%; height: 330px; border: 1px solid #45484d; color: var(--ink); background: #d8dad5; }
.project-location-map.is-unavailable { display: grid; place-items: center; padding: 2rem; color: #6b6e73; text-align: center; }
.project-location-map .leaflet-control-attribution { font-size: .62rem; }
.map-pin-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.map-pin-geolocate, .map-pin-clear { min-height: 46px; padding: .75rem 1rem; border: 1px solid #676b71; color: var(--white); background: transparent; font-weight: 700; cursor: pointer; }
.map-pin-geolocate:hover, .map-pin-geolocate:focus-visible, .map-pin-clear:hover, .map-pin-clear:focus-visible { border-color: var(--red); color: var(--red); }
.map-pin-geolocate:disabled { opacity: .55; cursor: wait; }
.map-pin-clear { color: #b8bbc0; }
.map-pin-status { min-height: 1.1em; }
.request-form .button { width: 100%; cursor: pointer; }
.request-form .button:disabled { cursor: wait; opacity: .65; }
.form-status { min-height: 1.2em; margin: -.2rem 0 0; color: #b8bbc0; font-size: .78rem; }
.privacy-note { padding-block: 1.5rem; color: #b0b3b7; background: #0d0e10; border-bottom: 1px solid rgba(255,255,255,.1); }
.privacy-note details { border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.privacy-note summary { padding: 1rem 0; cursor: pointer; color: var(--white); font-weight: 700; }
.privacy-note p { max-width: 900px; margin: 0 0 1rem; font-size: .86rem; }
.privacy-note p + p { margin-top: -.15rem; }
.privacy-full-link { display: inline-block; margin-left: .35rem; color: var(--white); font-weight: 700; text-underline-offset: .22em; }
.privacy-full-link:hover, .privacy-full-link:focus-visible { color: var(--red-bright); }

.legal-body { background: var(--white); }
.legal-header-inner { grid-template-columns: 250px 1fr; }
.legal-nav { display: flex; justify-content: flex-end; align-items: center; gap: .45rem; }
.legal-nav a { min-height: 42px; display: inline-flex; align-items: center; padding: .65rem .85rem; border: 1px solid var(--line); text-decoration: none; font-size: .82rem; font-weight: 700; }
.legal-nav a:hover, .legal-nav a:focus-visible, .legal-nav a.is-active { color: var(--white); border-color: var(--ink); background: var(--ink); }
.legal-page { background: var(--paper); }
.legal-hero { padding-block: clamp(4.5rem, 9vw, 8.5rem); color: var(--white); background: var(--ink); }
.legal-hero h1 { max-width: 930px; margin: 1.3rem 0 1rem; font-size: clamp(3.5rem, 7vw, 7rem); letter-spacing: -.06em; line-height: .9; }
.legal-hero > .section-shell > p:not(.eyebrow) { max-width: 720px; margin: 0; color: #c7c9cc; font-size: clamp(1.05rem, 1.7vw, 1.3rem); }
.legal-hero dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; max-width: 900px; margin: clamp(2rem, 4vw, 3.5rem) 0 0; background: var(--line-light); }
.legal-hero dl div { min-width: 0; padding: 1rem 1.15rem; background: #181a1d; }
.legal-hero dt { color: #8f9297; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.legal-hero dd { margin: .35rem 0 0; overflow-wrap: anywhere; color: var(--white); font-weight: 700; }
.legal-content { display: grid; grid-template-columns: minmax(260px, .35fr) minmax(0, .65fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; padding-block: clamp(4rem, 8vw, 8rem); }
.legal-summary { position: sticky; top: 110px; padding: clamp(1.4rem, 3vw, 2.2rem); color: var(--white); background: var(--red); }
.legal-summary .card-label { color: rgba(255,255,255,.75); }
.legal-summary h2 { margin: 1.25rem 0 1.5rem; font-size: clamp(2rem, 3.3vw, 3.2rem); letter-spacing: -.045em; line-height: .98; }
.legal-summary ul { display: grid; gap: .8rem; margin: 0; padding: 1.2rem 0 0 1.2rem; border-top: 1px solid rgba(255,255,255,.45); }
.legal-summary li { padding-left: .2rem; }
.legal-article { background: var(--white); }
.legal-article section { position: relative; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 0 1.2rem; padding: clamp(1.5rem, 3.2vw, 2.5rem); border-bottom: 1px solid var(--line); }
.legal-article section:last-child { border-bottom: 0; }
.legal-article section > span { grid-row: 1 / 20; padding-top: .18rem; color: var(--red); font-family: Consolas, monospace; font-size: .76rem; font-weight: 700; }
.legal-article h2 { margin: 0 0 1rem; font-size: clamp(1.55rem, 2.7vw, 2.35rem); letter-spacing: -.035em; line-height: 1; }
.legal-article p { max-width: 760px; margin: 0 0 1rem; color: #4f5257; }
.legal-article p:last-child { margin-bottom: 0; }
.legal-article ol { margin: 0 0 1.1rem; padding-left: 1.25rem; color: #4f5257; }
.legal-article li + li { margin-top: .45rem; }
.legal-article a { color: var(--ink); font-weight: 700; overflow-wrap: anywhere; text-underline-offset: .18em; }
.legal-footer { border-top: 1px solid rgba(255,255,255,.1); }

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

@media (max-width: 1080px) {
  .header-inner { grid-template-columns: 1fr auto auto; }
  .menu-toggle { width: 42px; height: 42px; display: grid; place-content: center; gap: 6px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
  .menu-toggle span { display: block; width: 18px; height: 2px; background: var(--ink); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .primary-nav { position: fixed; z-index: 90; inset: 78px 0 0; display: flex; flex-direction: column; gap: 0; padding: 2rem 1.5rem; visibility: hidden; opacity: 0; color: var(--white); background: rgba(17,18,20,.98); transform: translateY(-10px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; overflow-y: auto; pointer-events: none; }
  .primary-nav.is-open { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
  .primary-nav a { padding: 1rem 0; border-bottom: 1px solid var(--line-light); text-decoration: none; font-size: 1.4rem; font-weight: 700; }
  .primary-nav a::after { display: none; }
  .technology-grid { grid-template-columns: repeat(3, 1fr); }
  .technology-feature { grid-column: 1 / -1; }
  .system-grid { grid-template-columns: repeat(2, 1fr); }
  .system-grid article { min-height: 230px; }
  .system-grid h3 { margin-top: 3rem; }
  .service-panels { grid-template-columns: 1fr; }
  .service-panel,
  .service-panel-large,
  .service-panel-wide { min-height: 560px; grid-template-rows: minmax(350px, 1.35fr) minmax(210px, .8fr); }
  .service-panel-urelastics { min-height: 0; grid-template-rows: auto auto; }
  .floor-finishes { grid-template-columns: 1fr; }
  .floor-finishes figure { min-height: 52vw; }
  .store-capabilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .material-grid { grid-template-columns: repeat(2, 1fr); }
  .flagship-index { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 940px) {
  html { scroll-padding-top: 70px; }
  .site-header, .header-inner { min-height: 70px; }
  .header-inner { grid-template-columns: 1fr auto auto; gap: .75rem; }
  .brand { width: 190px; }
  .brand img { height: 50px; }
  .primary-nav { inset-block-start: 70px; }
  .hero, .hero-copy { min-height: max(760px, calc(100svh - 70px)); }
  .hero-copy { justify-content: flex-start; padding-top: clamp(2.5rem, 7vw, 4.5rem); padding-bottom: 12rem; }
  .hero-media::before { background: linear-gradient(90deg, rgba(8,9,11,.9) 0%, rgba(8,9,11,.68) 56%, rgba(8,9,11,.25) 100%), linear-gradient(0deg, rgba(8,9,11,.86) 0%, rgba(8,9,11,.18) 48%, rgba(8,9,11,.28) 100%); }
  .signal-strip { grid-template-columns: repeat(6, minmax(160px, 1fr)); overflow-x: auto; }
  .model-hub-heading { grid-template-columns: 1fr; align-items: start; }
  .live-measure-callout { grid-template-columns: 1fr; }
  .live-measure-media, .live-measure-media img { min-height: 0; }
  .model-link-grid { grid-template-columns: 1fr; }
  .model-link-card { grid-template-columns: .85fr 1.15fr; grid-template-rows: 1fr; min-height: 330px; }
  .model-preview { min-height: 330px; }
  .principle { grid-template-columns: 1fr; }
  .section-kicker p { max-width: none; }
  .section-heading { grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }
  .section-heading > p:last-child { max-width: 620px; }
  .coverage .section-heading {
    grid-template-columns: 1fr;
    grid-template-areas: "eyebrow" "title" "copy";
    gap: 1rem;
    align-items: start;
  }
  .coverage .section-heading > p:last-child { padding-bottom: 0; }
  .comparison-layout { grid-template-columns: 1fr; }
  .method-steps { display: grid; grid-template-columns: 1fr 1fr; }
  .method-steps article { min-height: 140px; padding-right: 1.5rem; }
  .precision-heading { grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }
  .precision-heading > p { max-width: 680px; }
  .precision-media-grid { grid-template-columns: minmax(0, 1.45fr) minmax(220px, .55fr); }
  .imperquimia-intro { grid-template-columns: 1fr; }
  .imperquimia-mark { min-height: 230px; }
  .monobrand { grid-template-columns: 1fr; gap: .5rem; }
  .monobrand > span { display: none; }
  .monobrand p, .monobrand strong { padding: .35rem 0; }
  .memories-heading, .process-overview, .process-quality { grid-template-columns: 1fr; }
  .process-quality > .process-sheet { order: 1; }
  .process-quality-copy { order: 2; }
  .deliverable-grid { grid-template-columns: repeat(2, 1fr); }
  .services-heading { grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }
  .services-heading > p { max-width: 620px; }
  .store-heading { grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }
  .store-heading > p { max-width: 620px; }
  .store-installation { grid-template-columns: 1fr; }
  .store-installation figure { min-height: 0; }
  .store-installation-copy { grid-template-columns: 1fr; }
  .store-installation-copy .card-label,
  .store-installation-copy h3,
  .store-installation-copy > p:not(.card-label),
  .store-installation-copy dl { grid-column: 1; grid-row: auto; }
  .store-location { grid-template-columns: 1fr; }
  .store-location-copy .button { margin-top: 0; }
  .store-proof { grid-template-columns: 1fr; }
  .service-routes-heading, .material-selector > header { grid-template-columns: 1fr; align-items: start; }
  .service-routes-heading > p, .material-selector > header > p { max-width: 620px; }
  .service-route-grid { grid-template-columns: 1fr; }
  .service-route-grid article { min-height: 250px; }
  .business-facts { grid-template-columns: repeat(2, 1fr); }
  .request-section { grid-template-columns: 1fr; }
  .projects-heading { grid-template-columns: 1fr; align-items: start; }
  .featured-case { grid-template-columns: 1fr; }
  .featured-case > img { min-height: 480px; }
  .project-feature { grid-template-columns: 1fr; }
  .project-visual { min-height: 480px; }
  .project-evidence { grid-template-columns: 1fr 1fr; }
  .project-evidence figure:first-child { grid-column: 1 / -1; }
  .cabo-real-hero { grid-template-columns: 1fr; }
  .cabo-real-hero > figure { min-height: 62vw; }
  .cabo-real-copy { border-top: 1px solid var(--line-light); border-left: 0; }
  .rp5-heading { grid-template-columns: 1fr; align-items: start; }
  .rp5-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rp5-sequence figure { grid-column: auto; }
  .portfolio-scale-heading { grid-template-columns: 1fr; align-items: start; gap: 1rem; }
  .portfolio-scale-grid { grid-template-columns: 1fr; }
  .active-project-grid { grid-template-columns: 1fr; }
  .prediagnostics-heading { grid-template-columns: 1fr; align-items: start; }
  .decision-principles { grid-template-columns: 1fr 1fr; }
  .evidence-intro { grid-template-columns: 1fr; }
  .evidence-feature-copy { grid-template-columns: 1fr; }
  .evidence-feature-lead .card-label { margin-top: 2rem; }
  .evidence-story-pair { grid-column: 1 / -1; }
  .evidence-story-dossier { grid-template-columns: 1fr; }
  .evidence-story-dossier figure { min-height: auto; aspect-ratio: 16 / 9; }
  .warranty-grid { grid-template-columns: 1fr; }
  .warranty-intro { position: static; }
  .warranty-process { grid-template-columns: repeat(3, 1fr); }
  .contact-grid { grid-template-columns: 1fr; align-items: start; }
  .legal-content { grid-template-columns: 1fr; }
  .legal-summary { position: static; }
}

@media (max-width: 680px) {
  .section-shell, .footer-inner { width: min(100% - 2rem, var(--max)); }
  .header-inner { grid-template-columns: 1fr auto; padding-inline: 1rem; }
  .brand { width: 160px; }
  .header-cta { display: none; }
  .hero, .hero-copy { min-height: max(900px, calc(100svh - 70px)); }
  .hero-copy { padding: 1.4rem 1.25rem 13.5rem; }
  .hero-language { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .hero-language > span { grid-column: 1 / -1; justify-content: center; padding: .65rem .8rem; white-space: normal; }
  .hero-language a { min-height: 48px; padding: .7rem; }
  .hero-language a:first-of-type { border-left: 0; }
  .hero h1 { margin-top: 1.05rem; font-size: clamp(3rem, 14.5vw, 4.65rem); }
  .hero-lede { margin-top: 1.4rem; font-size: 1rem; }
  .hero-actions { margin-top: 1.5rem; }
  .hero-actions .button { width: 100%; }
  .hero-reel-caption { right: 1rem; bottom: 4.1rem; left: 1rem; width: auto; padding: .8rem .9rem; }
  .hero-reel-caption strong { font-size: .98rem; }
  .hero-reel-toggle { right: 1rem; bottom: .8rem; min-height: 36px; }
  .hero-media::before { background: linear-gradient(180deg, rgba(8,9,11,.74) 0%, rgba(8,9,11,.56) 47%, rgba(8,9,11,.86) 100%); }
  .hero-proof { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-proof li:not(:last-child)::after { display: none; }
  .model-hub-heading h2 { font-size: clamp(3.2rem, 15vw, 5rem); }
  .live-measure-media, .live-measure-media img { min-height: 0; }
  .capability-list { grid-template-columns: 1fr; }
  .model-link-card { grid-template-columns: 1fr; grid-template-rows: 62vw 1fr; min-height: auto; }
  .model-preview { min-height: 62vw; }
  .model-card-body { min-height: 300px; }
  .principle h2 { font-size: clamp(2.45rem, 11vw, 3.8rem); }
  .comparison { aspect-ratio: 1.25 / 1; }
  .comparison-control { grid-template-columns: 1fr; }
  .method-steps { grid-template-columns: 1fr; }
  .method-steps article { min-height: auto; }
  .technology-grid { grid-template-columns: 1fr; }
  .technology-feature { grid-column: auto; grid-template-columns: 1fr; }
  .technology-feature img { height: 260px; }
  .technology-grid article { min-height: 220px; }
  .store-map, .store-map iframe { min-height: 92vw; max-height: 470px; }
  .instrument-code { margin-bottom: 3.5rem; }
  .precision-heading h3 { font-size: clamp(3rem, 14vw, 4.8rem); }
  .precision-media-grid { grid-template-columns: 1fr; }
  .precision-video { aspect-ratio: 16 / 9; }
  .precision-still { aspect-ratio: 4 / 5; }
  .precision-paths { grid-template-columns: 1fr; }
  .precision-paths section { min-height: 200px; }
  .precision-paths h4 { margin-top: 2.25rem; }
  .precision-note { grid-template-columns: 1fr; gap: .5rem; margin-left: 0; }
  .technical-note { text-align: left; }
  .imperquimia-intro h2 { font-size: clamp(3.2rem, 15vw, 5rem); }
  .system-grid { grid-template-columns: 1fr; }
  .system-grid article { min-height: 220px; }
  .memories-heading h2 { font-size: clamp(3.1rem, 15vw, 5rem); }
  .memory-actions { align-items: stretch; }
  .memory-actions .button, .memory-actions .text-link { width: 100%; }
  .process-overview-copy, .process-quality-copy { padding: 1.5rem; }
  .process-overview-copy h3, .process-quality-copy h3 { font-size: clamp(2rem, 9.5vw, 3rem); }
  .process-metrics { grid-template-columns: 1fr 1fr; }
  .process-route { display: grid; grid-template-columns: 1fr 1fr; }
  .quality-points { margin-top: 1.4rem; }
  .sheet-tag { right: .45rem; bottom: .45rem; padding: .4rem .5rem; font-size: .6rem; }
  .deliverable-grid { grid-template-columns: 1fr; }
  .service-panel, .service-panel-large, .service-panel-wide { min-height: 470px; grid-template-rows: minmax(260px, 1.1fr) minmax(180px, .9fr); }
  .service-panel-urelastics { min-height: 0; grid-template-rows: auto auto; }
  .urelastics-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; }
  .urelastics-sequence figure { min-height: 0; aspect-ratio: 1 / 1; }
  .urelastics-sequence figure:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
  .urelastics-sequence figcaption { right: .65rem; bottom: .65rem; left: .65rem; }
  .urelastics-sequence figcaption small { display: none; }
  .service-panel-urelastics .service-panel-copy { min-height: 270px; }
  .floor-finishes figure { min-height: 0; aspect-ratio: 4 / 3; }
  .floor-finishes figcaption { align-items: start; flex-direction: column; }
  .floor-finishes figcaption strong { text-align: left; }
  .service-evidence-pair { display: block; }
  .service-evidence-pair figure:first-child { height: 100%; }
  .service-evidence-pair figure:last-child { position: absolute; z-index: 3; right: .75rem; bottom: .75rem; width: 42%; height: 44%; border: 2px solid var(--white); box-shadow: 0 12px 28px rgba(17,18,20,.28); }
  .service-evidence-pair figure + figure { border-left: 0; }
  .service-evidence-pair figure:last-child figcaption { left: .35rem; bottom: .35rem; padding: .32rem .4rem; font-size: .57rem; }
  .services-heading h2 { font-size: clamp(3rem, 14vw, 4.8rem); }
  .store-heading h2 { font-size: clamp(3rem, 14vw, 4.8rem); }
  .store-installation figcaption { align-items: start; flex-direction: column; }
  .store-installation figcaption strong { text-align: left; }
  .store-installation-copy dl div { grid-template-columns: 1fr; gap: .25rem; }
  .store-capabilities { grid-template-columns: 1fr; }
  .store-capabilities article { min-height: 205px; }
  .store-proof > figure { min-height: 0; aspect-ratio: 16 / 9; }
  .store-proof > article { grid-template-columns: 1fr; }
  .store-proof > article > img { min-height: 0; height: auto; aspect-ratio: 4 / 5; object-position: center 42%; }
  .service-routes-heading h2, .request-intro h2 { font-size: clamp(3rem, 14vw, 4.8rem); }
  .material-selector { padding: 1.2rem; }
  .material-selector > header h3 { font-size: clamp(2.35rem, 11vw, 3.7rem); }
  .material-grid { grid-template-columns: 1fr; }
  .material-grid article { min-height: 230px; }
  .flagship-index { grid-template-columns: repeat(2, 1fr); }
  .flagship-index a { min-height: 126px; }
  .business-facts { grid-template-columns: 1fr 1fr; }
  .request-form-row { grid-template-columns: 1fr; }
  .project-location-map { height: 300px; }
  .map-pin-actions { display: grid; grid-template-columns: 1fr; }
  .projects-heading h2, .contact h2 { font-size: clamp(3.2rem, 15vw, 5rem); }
  .featured-case > img { min-height: 80vw; }
  .project-feature { min-height: auto; }
  .project-visual { min-height: 110vw; }
  .project-code { display: none; }
  .system-line { grid-template-columns: 1fr; gap: .4rem; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .project-links { grid-template-columns: 1fr; }
  .project-link { align-items: flex-start; }
  .project-evidence { grid-template-columns: 1fr; }
  .project-evidence figure:first-child { grid-column: auto; }
  .project-evidence img { height: 64vw; min-height: 240px; }
  .cabo-real-case { margin-top: 4rem; }
  .cabo-real-hero { min-height: auto; }
  .cabo-real-hero > figure { min-height: 94vw; }
  .cabo-real-hero > figure figcaption { align-items: start; flex-direction: column; }
  .cabo-real-hero > figure figcaption strong { text-align: left; }
  .cabo-real-metrics { grid-template-columns: 1fr 1fr; }
  .cabo-real-systems, .cabo-real-sequence { grid-template-columns: 1fr; }
  .cabo-safety-evidence { grid-template-columns: 1fr; }
  .cabo-safety-evidence figure { min-height: 76vw; max-height: 480px; }
  .cabo-system-media figcaption { align-items: start; flex-direction: column; }
  .cabo-system-media figcaption strong { max-width: none; text-align: left; }
  .cabo-real-sequence img { height: 66vw; min-height: 240px; }
  .cabo-real-footer { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .rp5-heading { padding: 1.5rem; }
  .rp5-heading .card-label { margin-top: 2rem; }
  .rp5-system-line { align-items: flex-start; flex-direction: column; }
  .rp5-system-line i { display: none; }
  .rp5-sequence { grid-template-columns: 1fr; }
  .rp5-sequence figure { grid-column: auto; }
  .rp5-sequence img { height: auto; aspect-ratio: 4 / 5; }
  .rp5-sequence figure:nth-child(3) img { aspect-ratio: 4 / 3; }
  .rp5-sequence figcaption { min-height: 130px; }
  .project-specs div { grid-template-columns: 1fr; gap: .25rem; }
  .case-grid { grid-template-columns: 1fr; }
  .experience-index { grid-template-columns: 1fr; }
  .experience-index li { grid-template-columns: 1fr; gap: .3rem; }
  .project-directory summary { grid-template-columns: 1fr auto; gap: .45rem 1rem; }
  .project-directory summary span { grid-column: 1 / -1; }
  .project-directory-grid { grid-template-columns: 1fr; }
  .decision-principles { grid-template-columns: 1fr; }
  .evidence-intro { padding: 1.35rem; }
  .evidence-index { grid-template-columns: 1fr; }
  .evidence-index div { min-height: 82px; }
  .evidence-feature-media { grid-template-columns: 1fr; }
  .evidence-feature-copy { padding: 1.5rem; }
  .evidence-method > div { grid-template-columns: 28px 82px 1fr; gap: .5rem; }
  .evidence-grid { grid-template-columns: 1fr; }
  .evidence-story-pair, .evidence-story-aerial, .evidence-story-document, .evidence-story-dossier { grid-column: auto; }
  .evidence-pair figcaption { right: .45rem; bottom: .45rem; left: .45rem; padding: .4rem; }
  .evidence-pair figcaption small { display: none; }
  .evidence-story-document figure { height: auto; aspect-ratio: 4 / 5; }
  .evidence-story-dossier figure { aspect-ratio: 16 / 10; }
  .evidence-story-copy { padding: 1.35rem; }
  .flight-log-heading { grid-template-columns: 1fr; padding: 1.5rem; }
  .flight-log-heading .card-label { margin-top: 2rem; }
  .flight-log-gallery { grid-template-columns: 1fr; }
  .flight-log-aerial, .flight-log-mission, .flight-log-operator { grid-column: auto; height: auto; }
  .flight-log-aerial, .flight-log-mission { aspect-ratio: 16 / 9; }
  .flight-log-operator { aspect-ratio: 4 / 5; }
  .flight-log figcaption { right: .45rem; bottom: .45rem; left: .45rem; padding: .4rem; }
  .flight-log figcaption small { display: none; }
  .flight-log-method { grid-template-columns: 1fr; }
  .flight-log-method article { min-height: 165px; }
  .evidence-source { text-align: left; }
  .warranty-case-visual { height: 68vw; min-height: 260px; }
  .warranty-case-copy ul { grid-template-columns: 1fr; }
  .warranty-process { grid-template-columns: repeat(2, 1fr); }
  .warranty-record { grid-template-columns: 1fr; gap: 1rem; }
  .location-grid { grid-template-columns: 1fr; }
  .location-grid img { height: 68vw; min-height: 260px; }
  .contact-actions a { grid-template-columns: minmax(0, 1fr) auto; gap: .35rem .8rem; }
  .contact-actions span, .contact-actions strong { grid-column: 1; }
  .contact-actions strong { font-size: clamp(.82rem, 3.4vw, 1rem); }
  .contact-actions b { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  .footer-inner > img { width: min(100%, 340px); }
  .footer-inner > div { flex-direction: column; align-items: center; }
  .legal-header-inner { grid-template-columns: 1fr; gap: .55rem; padding-block: .7rem; }
  .legal-header-inner .brand { justify-self: center; }
  .legal-nav { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; }
  .legal-nav a { justify-content: center; padding-inline: .45rem; text-align: center; }
  .legal-hero { padding-block: 3.5rem; }
  .legal-hero h1 { font-size: clamp(3rem, 15vw, 4.8rem); }
  .legal-hero dl { grid-template-columns: 1fr; }
  .legal-content { padding-block: 3rem; }
  .legal-article section { grid-template-columns: 34px minmax(0, 1fr); gap: 0 .65rem; padding: 1.25rem 1rem; }
  .legal-article h2 { font-size: 1.55rem; }
  .privacy-full-link { display: block; margin: .55rem 0 0; }
}

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