@font-face {
  font-family: "Hanken";
  src: url("/fonts/HankenGrotesk.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Jet Mono";
  src: url("/fonts/JetBrainsMono.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Space";
  src: url("/fonts/SpaceGrotesk.woff2") format("woff2");
  font-display: swap;
}

:root {
  --green: #092f2a;
  --green-2: #0e3d36;
  --green-3: #164a40;
  --ink: #0e3d36;
  --paper: #fff;
  --paper-2: #f2f6f3;
  --cream: #f5f1df;
  --white: #f7faf8;
  --gold: #d4af37;
  --gold-deep: #7e631a;
  --live: #57d8a7;
  --muted: #a9beb4;
  --muted-dark: #586e64;
  --line: rgba(230, 239, 233, 0.18);
  --line-dark: #dce6e0;
  --mono: "Jet Mono", ui-monospace, "Cascadia Code", monospace;
  --sans: "Hanken", "Helvetica Neue", Arial, sans-serif;
  --display: "Space", "Hanken", "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; overflow-x: clip; }

body {
  margin: 0;
  overflow-x: hidden;
  color: var(--white);
  background: var(--green);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }

.skip-link {
  position: fixed;
  z-index: 100;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.75rem 1rem;
  color: #06251f;
  background: var(--gold);
  font: 700 0.7rem/1 var(--mono);
  transform: translateY(-180%);
}

.skip-link:focus { transform: none; }

.site-header {
  min-height: 5rem;
  padding: 0 3.25rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  color: var(--ink);
  border-bottom: 1px solid var(--line-dark);
  background: rgba(242, 246, 243, 0.98);
}

.wordmark { display: flex; align-items: baseline; gap: 0.85rem; }
.wordmark strong { font: 600 1.35rem/1 var(--display); letter-spacing: -0.05em; }
.wordmark span,
.site-header nav,
.header-cta { font: 600 0.65rem/1 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; }
.wordmark span { color: var(--muted-dark); }
.site-header nav { display: flex; gap: 2.1rem; color: #52685d; }
.site-header nav a:hover,
.header-cta:hover { color: var(--gold-deep); }
.header-cta { justify-self: end; color: var(--gold-deep); }

.product-hero {
  min-height: calc(100svh - 5rem);
  padding: clamp(4.5rem, 8vw, 8rem) 3.25rem 4rem;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(30rem, 0.95fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
  isolation: isolate;
  position: relative;
  overflow: hidden;
  background-color: var(--green);
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px),
    radial-gradient(circle at 82% 68%, rgba(212,175,55,0.15), transparent 34rem);
  background-size: 52px 52px, 52px 52px, auto;
}

.product-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -13rem;
  bottom: -23rem;
  width: 48rem;
  height: 48rem;
  border: 1px solid rgba(212,175,55,0.16);
  border-radius: 50%;
  box-shadow: 0 0 0 7rem rgba(212,175,55,0.018), 0 0 0 14rem rgba(212,175,55,0.01);
}

.eyebrow,
.section-code,
.metric-label {
  margin: 0;
  color: var(--gold);
  font: 600 0.66rem/1.4 var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.eyebrow span { color: var(--gold); }

.hero-copy h1 {
  max-width: 11ch;
  margin: 1.7rem 0 0;
  font: 500 clamp(4rem, 6.8vw, 7.7rem)/0.89 var(--display);
  letter-spacing: -0.067em;
}

.hero-copy h1 em { color: var(--gold); font-style: normal; }

.hero-deck {
  max-width: 42rem;
  margin: 2.1rem 0 0;
  color: #ccdad3;
  font-size: clamp(1.03rem, 1.5vw, 1.3rem);
  line-height: 1.55;
}

.hero-actions { margin-top: 2.3rem; display: flex; align-items: center; gap: 1.8rem; flex-wrap: wrap; }
.hero-actions > a:not(.button) { color: #d3dfd8; font: 700 0.68rem/1 var(--mono); letter-spacing: 0.06em; text-transform: uppercase; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  padding: 1rem 1.2rem;
  color: #082722;
  background: var(--gold);
  font: 700 0.69rem/1 var(--mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background 160ms ease, transform 160ms ease;
}

.button:hover { background: #e2c25a; transform: translateY(-2px); }

.hero-notice {
  max-width: 42rem;
  margin: 2.7rem 0 0;
  padding-top: 1rem;
  color: #91a99d;
  border-top: 1px solid var(--line);
  font: 500 0.58rem/1.5 var(--mono);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.boundary-card {
  padding: clamp(1.4rem, 2.5vw, 2.4rem);
  border: 1px solid #3b6257;
  background: rgba(6, 31, 27, 0.82);
  box-shadow: 0 2rem 7rem rgba(0,0,0,0.34);
  backdrop-filter: blur(10px);
}

.boundary-card > header {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  color: #93aa9f;
  font: 600 0.59rem/1 var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.boundary-card > header strong { color: var(--gold); font-weight: 600; }

.boundary-number {
  margin-top: 2.1rem;
  padding: 2rem 0;
  display: flex;
  align-items: flex-end;
  gap: 1.3rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.boundary-number b { color: var(--gold); font: 500 clamp(5rem, 8vw, 8.8rem)/0.75 var(--display); letter-spacing: -0.08em; }
.boundary-number span { color: #b6c7be; font: 600 0.61rem/1.5 var(--mono); text-transform: uppercase; }

.boundary-card dl { margin: 0; }
.boundary-card dl > div { padding: 0.9rem 0; display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 1rem; border-bottom: 1px solid var(--line); }
.boundary-card dt { color: #839b90; font: 600 0.58rem/1.35 var(--mono); letter-spacing: 0.06em; text-transform: uppercase; }
.boundary-card dd { margin: 0; text-align: right; color: #e4ece7; font: 550 0.76rem/1.35 var(--mono); }
.boundary-card > footer { margin-top: 1rem; color: #8ea49a; font: 500 0.56rem/1.45 var(--mono); }

.cell-section,
.engineering-section,
.closures-section {
  padding: clamp(5rem, 9vw, 9rem) 3.25rem;
  color: var(--ink);
  background: var(--paper);
}

.section-head {
  display: grid;
  grid-template-columns: 0.42fr 1.25fr 0.75fr;
  gap: clamp(2rem, 5vw, 6rem);
  align-items: start;
}

.section-code { color: var(--gold-deep); }

.section-head h2,
.closures-section h2,
.contact-section h2 {
  margin: 0;
  font: 520 clamp(2.8rem, 5.3vw, 6.2rem)/0.94 var(--display);
  letter-spacing: -0.06em;
}

.section-head > p:last-child {
  margin: 0;
  color: var(--muted-dark);
  font-size: 1.04rem;
  line-height: 1.58;
}

.cell-boundary-drawing {
  margin: clamp(4rem, 7vw, 7rem) 0 0;
  color: var(--white);
  border: 1px solid #aabbb3;
  background: #071e1c;
}

.cell-drawing-head {
  padding: 1.25rem 1.4rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  border-bottom: 1px solid #3b5d53;
  background: rgba(8, 36, 31, 0.9);
}

.cell-drawing-head span,
.cell-drawing-head > strong {
  color: #8fa69a;
  font: 600 0.56rem/1 var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cell-drawing-head > strong { color: var(--gold); text-align: right; }
.cell-drawing-head h3 { margin: 0.55rem 0 0; font: 550 clamp(1.3rem, 2vw, 2rem)/1 var(--display); letter-spacing: -0.035em; }

.cell-boundary-shell { padding: clamp(0.8rem, 2vw, 1.5rem); }
.cell-boundary-svg { width: 100%; height: auto; display: block; }
.cell-boundary-svg--compact { display: none; }

.cell-boundary-svg .cell-svg-background { fill: #071e1c; }
.cell-boundary-svg .cell-svg-grid-line { fill: none; stroke: rgba(157, 182, 172, 0.065); stroke-width: 1; }

.cell-boundary-svg .cell-svg-panel,
.cell-boundary-svg .cell-svg-box,
.cell-boundary-svg .cell-svg-module,
.cell-boundary-svg .cell-svg-oem-strip,
.cell-boundary-svg .cell-svg-total-strip,
.cell-boundary-svg .cell-svg-evidence-rail,
.cell-boundary-svg .cell-svg-boundary-marker,
.cell-boundary-svg .cell-svg-allocation-marker,
.cell-boundary-svg .cell-svg-shared-marker,
.cell-boundary-svg .cell-svg-reference-line,
.cell-boundary-svg .cell-svg-grid-line {
  vector-effect: non-scaling-stroke;
}

.cell-boundary-svg .cell-svg-panel { fill: rgba(8, 36, 31, 0.8); stroke: rgba(169, 190, 180, 0.42); stroke-width: 1; }
.cell-boundary-svg .cell-svg-box { fill: rgba(14, 61, 54, 0.88); stroke: rgba(230, 239, 233, 0.34); stroke-width: 1; }
.cell-boundary-svg .cell-svg-box--boundary { fill: rgba(14, 61, 54, 0.72); stroke: var(--gold); stroke-width: 1.5; }
.cell-boundary-svg .cell-svg-box--allocation { fill: rgba(212, 175, 55, 0.075); stroke: var(--gold); stroke-width: 1.2; stroke-dasharray: 7 5; }
.cell-boundary-svg .cell-svg-box--shared { fill: rgba(88, 110, 100, 0.08); stroke: #91a79d; stroke-width: 1.1; stroke-dasharray: 7 5; }
.cell-boundary-svg .cell-svg-box--mini { fill: rgba(14, 61, 54, 0.92); stroke: rgba(230, 239, 233, 0.48); }
.cell-boundary-svg .cell-svg-module { fill: rgba(6, 28, 25, 0.86); stroke: rgba(169, 190, 180, 0.36); stroke-width: 1; }
.cell-boundary-svg .cell-svg-oem-strip { fill: rgba(212, 175, 55, 0.06); stroke: rgba(212, 175, 55, 0.58); stroke-width: 1; }
.cell-boundary-svg .cell-svg-total-strip { fill: #0e3d36; stroke: var(--gold); stroke-width: 1.2; }
.cell-boundary-svg .cell-svg-evidence-rail { fill: rgba(6, 28, 25, 0.94); stroke: rgba(169, 190, 180, 0.42); stroke-width: 1; }

.cell-boundary-svg .cell-svg-boundary-marker { fill: var(--gold); stroke: var(--gold); }
.cell-boundary-svg .cell-svg-allocation-marker { fill: rgba(212, 175, 55, 0.1); stroke: var(--gold); stroke-dasharray: 3 2; }
.cell-boundary-svg .cell-svg-shared-marker { fill: #071e1c; stroke: #91a79d; stroke-width: 1.2; stroke-dasharray: 3 2; }
.cell-boundary-svg .cell-svg-reference-line { fill: none; stroke: rgba(230, 239, 233, 0.7); stroke-width: 1.2; }

.cell-boundary-svg .cell-svg-legend,
.cell-boundary-svg .cell-svg-kicker,
.cell-boundary-svg .cell-svg-label,
.cell-boundary-svg .cell-svg-status,
.cell-boundary-svg .cell-svg-note,
.cell-boundary-svg .cell-svg-micro {
  fill: #a9beb4;
  font-family: var(--mono);
  font-weight: 600;
  letter-spacing: 0.65px;
}

.cell-boundary-svg .cell-svg-legend { font-size: 12px; }
.cell-boundary-svg .cell-svg-kicker { fill: var(--gold); font-size: 14px; }
.cell-boundary-svg .cell-svg-label { font-size: 13px; }
.cell-boundary-svg .cell-svg-label--gold,
.cell-boundary-svg .cell-svg-status--gold,
.cell-boundary-svg .cell-svg-micro--gold { fill: var(--gold); }
.cell-boundary-svg .cell-svg-status { font-size: 11.5px; }
.cell-boundary-svg .cell-svg-note { fill: #8fa69a; font-size: 11.5px; font-weight: 560; letter-spacing: 0.4px; }
.cell-boundary-svg .cell-svg-micro { fill: #8fa69a; font-size: 10.2px; font-weight: 550; letter-spacing: 0.35px; }

.cell-boundary-svg .cell-svg-value,
.cell-boundary-svg .cell-svg-mini-value,
.cell-boundary-svg .cell-svg-repeat {
  fill: var(--white);
  font-family: var(--display);
  font-weight: 560;
  letter-spacing: -0.5px;
}

.cell-boundary-svg .cell-svg-value { font-size: 24px; }
.cell-boundary-svg .cell-svg-value--gold { fill: var(--gold); font-size: 29px; }
.cell-boundary-svg .cell-svg-mini-value { font-size: 28px; }
.cell-boundary-svg .cell-svg-repeat { fill: var(--gold); font-size: 38px; }
.cell-boundary-svg .cell-svg-total-value { fill: var(--white); font-family: var(--mono); font-size: 13px; font-weight: 600; letter-spacing: 0.25px; }

.cell-boundary-drawing figcaption {
  margin: 0;
  padding: 1rem 1.4rem;
  color: #93aa9f;
  border-top: 1px solid #3b5d53;
  background: rgba(8, 36, 31, 0.9);
  font: 500 0.62rem/1.55 var(--mono);
}

.cell-boundary-drawing figcaption strong { color: var(--gold); text-transform: uppercase; }

.cell-facts {
  margin-top: 1.2rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line-dark);
}

.cell-facts article { min-height: 15rem; padding: 1.2rem 1.25rem; display: flex; flex-direction: column; border-right: 1px solid var(--line-dark); }
.cell-facts article:last-child { border-right: 0; }
.cell-facts span { color: var(--gold-deep); font: 600 0.57rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.cell-facts strong { margin: auto 0 0; font: 520 clamp(1.9rem, 3vw, 3.5rem)/1 var(--display); letter-spacing: -0.05em; }
.cell-facts p { min-height: 5rem; margin: 1rem 0 0; color: var(--muted-dark); font-size: 0.83rem; line-height: 1.5; }

.cell-note {
  margin: 1.2rem 0 0;
  color: var(--muted-dark);
  font: 500 0.64rem/1.6 var(--mono);
}

.cell-note span { margin-right: 0.8rem; color: var(--gold-deep); text-transform: uppercase; }

.platform-section,
.resilience-section {
  padding: clamp(5rem, 9vw, 9rem) 3.25rem;
  color: var(--white);
  background: var(--green);
}

.light-head .section-code { color: var(--gold); }
.light-head > p:last-child { color: #afc1b8; }

.platform-grid {
  margin-top: clamp(4rem, 7vw, 7rem);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.platform-grid article {
  min-height: 39rem;
  padding: clamp(1.6rem, 3vw, 2.8rem);
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,0.018);
}

.platform-grid .platform-current { background: var(--green-2); }
.platform-grid article > header { display: flex; justify-content: space-between; gap: 1rem; color: #9fb4aa; font: 600 0.58rem/1.3 var(--mono); letter-spacing: 0.07em; text-transform: uppercase; }
.platform-grid article > header b { color: var(--gold); font-weight: 600; }
.platform-grid h3 { margin: 3rem 0 0; font: 530 clamp(2.7rem, 4vw, 4.8rem)/0.95 var(--display); letter-spacing: -0.06em; }
.platform-grid dl { margin: 2.5rem 0 0; }
.platform-grid dl > div { padding: 0.75rem 0; display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 1rem; border-bottom: 1px solid var(--line); }
.platform-grid dt { color: #8fa59a; font: 600 0.57rem/1.4 var(--mono); text-transform: uppercase; }
.platform-grid dd { margin: 0; text-align: right; color: #e3ebe6; font-size: 0.82rem; line-height: 1.4; }
.platform-grid article > p { margin: auto 0 0; padding-top: 2rem; color: #a9bdb3; font-size: 0.78rem; line-height: 1.5; }
.platform-grid article > a { margin-top: 1.2rem; color: var(--gold); font: 700 0.61rem/1 var(--mono); text-transform: uppercase; }

.research-note {
  margin-top: 1.2rem;
  padding: 1.7rem 1.9rem;
  display: grid;
  grid-template-columns: 0.45fr 1.15fr 0.4fr;
  gap: 3rem;
  align-items: start;
  border: 1px solid rgba(212,175,55,0.32);
  background: rgba(212,175,55,0.055);
}

.research-note span { color: var(--gold); font: 600 0.58rem/1.5 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.research-note p { margin: 0; color: #b8c7bf; font-size: 0.86rem; line-height: 1.55; }
.research-note a { justify-self: end; color: var(--gold); font: 700 0.6rem/1.4 var(--mono); text-transform: uppercase; }

.engineering-section { background: var(--paper-2); }

.drawing {
  margin-top: clamp(4rem, 7vw, 7rem);
  border: 1px solid #aabbb3;
  background-color: #071e1c;
  background-image: linear-gradient(rgba(157,182,172,0.065) 1px, transparent 1px), linear-gradient(90deg, rgba(157,182,172,0.065) 1px, transparent 1px);
  background-size: 2.3rem 2.3rem;
  color: var(--white);
}

.drawing + .drawing { margin-top: 2rem; }

.drawing-head {
  padding: 1.25rem 1.4rem;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  border-bottom: 1px solid #3b5d53;
  background: rgba(8, 36, 31, 0.88);
}

.drawing-head span,
.drawing-head > strong { color: #8fa69a; font: 600 0.56rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.drawing-head > strong { color: var(--gold); }
.drawing-head h3 { margin: 0.55rem 0 0; font: 550 clamp(1.3rem, 2vw, 2rem)/1 var(--display); letter-spacing: -0.035em; }

.sld { padding: clamp(1.3rem, 3vw, 3rem); }
.sld-node { width: min(24rem, 100%); margin-inline: auto; padding: 1rem 1.2rem; display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 0.4rem 1rem; border: 1px solid #4c6e62; background: #10372f; }
.sld-node span,
.sld-node small { color: #8fa69a; font: 600 0.54rem/1.35 var(--mono); text-transform: uppercase; }
.sld-node b { text-align: right; font: 600 0.75rem/1.35 var(--mono); }
.sld-node small { grid-column: 1 / -1; text-align: right; }
.sld-node.source { border-color: rgba(212,175,55,0.55); }
.sld-link { width: 1px; height: 2rem; margin-inline: auto; display: block; background: var(--gold); }
.sld-link::after { content: ""; display: block; width: 0.42rem; height: 0.42rem; border: 1px solid var(--gold); background: #071e1c; transform: translate(-0.22rem, 0.8rem); }

.sld-bus { height: 3.2rem; display: grid; place-items: center; border-top: 1px solid var(--gold); }
.sld-bus span { padding: 0 0.8rem; color: var(--gold); background: #071e1c; font: 600 0.55rem/1 var(--mono); letter-spacing: 0.08em; }

.sld-cells { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.75rem; }
.sld-cells article { position: relative; min-height: 15.5rem; padding: 1rem 0.85rem; display: flex; flex-direction: column; align-items: center; text-align: center; border: 1px solid #42655a; background: rgba(16,55,47,0.9); }
.sld-cells article::before { content: ""; position: absolute; top: -3.2rem; width: 1px; height: 3.2rem; background: var(--gold); }
.sld-cells article.optional { border-style: dashed; opacity: 0.76; }
.sld-cells article.house { border-color: rgba(212,175,55,0.55); background: rgba(35,54,35,0.92); }
.sld-cells span,
.sld-cells small,
.sld-cells em { color: #92aa9e; font: 600 0.52rem/1.35 var(--mono); text-transform: uppercase; font-style: normal; }
.sld-cells b { margin-top: 1.5rem; color: var(--gold); font: 600 0.85rem/1 var(--mono); }
.sld-cells small { margin-top: 0.35rem; }
.sld-cells article i { width: 1px; height: 2rem; margin: 1rem 0; background: #668277; }
.sld-cells strong { font-size: 0.78rem; }
.sld-cells em { margin-top: 0.55rem; font-size: 0.48rem; }
.sld-control { margin-top: 1.2rem; padding: 0.9rem 1rem; display: flex; justify-content: space-between; gap: 1rem; border: 1px solid #3b5c52; color: #9eb1a8; background: rgba(6,28,25,0.82); }
.sld-control span { color: var(--gold); font: 600 0.53rem/1.4 var(--mono); }
.sld-control b { font: 550 0.58rem/1.4 var(--mono); }
.electrical-basis { margin-top: 0.75rem; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #3b5c52; border-left: 1px solid #3b5c52; }
.electrical-basis > div { min-height: 8.5rem; padding: 0.9rem; display: flex; flex-direction: column; border-right: 1px solid #3b5c52; border-bottom: 1px solid #3b5c52; background: rgba(6,28,25,0.82); }
.electrical-basis span { color: #92aa9e; font: 600 0.49rem/1.35 var(--mono); letter-spacing: 0.06em; text-transform: uppercase; }
.electrical-basis b { margin: auto 0 0; color: var(--gold); font: 600 0.78rem/1.2 var(--mono); }
.electrical-basis small { margin-top: 0.45rem; color: #8fa69a; font: 500 0.48rem/1.4 var(--mono); }

.mw1-sld-svg-shell { width: 100%; }
.mw1-sld-topology { display: block; width: 100%; height: auto; }
.mw1-sld-topology--compact { display: none; }

.mw1-sld-topology .sldv-panel,
.mw1-sld-topology .sldv-branch,
.mw1-sld-topology .sldv-marker,
.mw1-sld-topology .sldv-isolator,
.mw1-sld-topology .sldv-bus-label,
.mw1-sld-topology .sldv-badge,
.mw1-sld-topology .sldv-bottom-rail,
.mw1-sld-topology .sldv-conductor,
.mw1-sld-topology .sldv-bus,
.mw1-sld-topology .sldv-line,
.mw1-sld-topology .sldv-symbol {
  vector-effect: non-scaling-stroke;
}

.mw1-sld-topology .sldv-panel,
.mw1-sld-topology .sldv-branch {
  fill: rgba(16,55,47,0.92);
  stroke: #4c6e62;
  stroke-width: 1;
}

.mw1-sld-topology .sldv-panel--declared { stroke: var(--gold); stroke-width: 1.5; }
.mw1-sld-topology .sldv-panel--open { stroke: #8da69a; stroke-dasharray: 7 6; }
.mw1-sld-topology .sldv-branch--option { stroke: var(--gold); stroke-dasharray: 8 6; }
.mw1-sld-topology .sldv-branch--house { fill: rgba(35,54,35,0.94); stroke: rgba(212,175,55,0.72); }

.mw1-sld-topology .sldv-marker { fill: none; stroke: #8da69a; stroke-width: 1; }
.mw1-sld-topology .sldv-marker--declared { fill: var(--gold); stroke: var(--gold); }
.mw1-sld-topology .sldv-marker--reference { fill: #45675c; stroke: #8da69a; }
.mw1-sld-topology .sldv-marker--option { stroke: var(--gold); stroke-dasharray: 5 3; }
.mw1-sld-topology .sldv-marker--open { stroke-dasharray: 4 3; }

.mw1-sld-topology .sldv-conductor,
.mw1-sld-topology .sldv-bus,
.mw1-sld-topology .sldv-line,
.mw1-sld-topology .sldv-symbol {
  fill: none;
  stroke: var(--gold);
  stroke-width: 1.4;
}

.mw1-sld-topology .sldv-bus { stroke-width: 2.4; }
.mw1-sld-topology .sldv-line { stroke: #829b8f; }
.mw1-sld-topology .sldv-isolator { fill: #071e1c; stroke: var(--gold); stroke-width: 1; }
.mw1-sld-topology .sldv-bus-label { fill: #071e1c; stroke: #3b5d53; stroke-width: 1; }
.mw1-sld-topology .sldv-badge { fill: rgba(6,28,25,0.88); stroke: #4c6e62; stroke-width: 1; }
.mw1-sld-topology .sldv-badge--option { stroke: var(--gold); stroke-dasharray: 5 4; }
.mw1-sld-topology .sldv-badge--house { stroke: rgba(212,175,55,0.72); }
.mw1-sld-topology .sldv-bottom-rail { fill: rgba(6,28,25,0.9); stroke: #3b5d53; stroke-width: 1; }

.mw1-sld-topology text {
  fill: #e4ece7;
  font-family: var(--mono);
}

.mw1-sld-topology .sldv-legend {
  fill: #a1b5ab;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.045em;
}

.mw1-sld-topology .sldv-id {
  fill: #dce7e1;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.045em;
}

.mw1-sld-topology .sldv-id--gold { fill: var(--gold); }
.mw1-sld-topology .sldv-value {
  fill: #f7faf8;
  font-family: var(--display);
  font-size: 25px;
  font-weight: 570;
  letter-spacing: -0.035em;
}

.mw1-sld-topology .sldv-label {
  fill: #e2ebe6;
  font-size: 14px;
  font-weight: 650;
  letter-spacing: 0.025em;
}

.mw1-sld-topology .sldv-note {
  fill: #9fb3a9;
  font-size: 12.5px;
  font-weight: 540;
  letter-spacing: 0.015em;
}

.mw1-sld-topology .sldv-status {
  fill: var(--gold);
  font-size: 11.5px;
  font-weight: 680;
  letter-spacing: 0.025em;
}

.mw1-sld-topology--compact .sldv-legend { font-size: 12.5px; }
.mw1-sld-topology--compact .sldv-id { font-size: 13.5px; }
.mw1-sld-topology--compact .sldv-label { font-size: 13.5px; }
.mw1-sld-topology--compact .sldv-note { font-size: 13px; }
.mw1-sld-topology--compact .sldv-status { font-size: 14px; }
.mw1-sld-topology--compact .sldv-value { font-size: 22px; }

.drawing-note { padding: 1.1rem 1.4rem; color: #93aa9f; border-top: 1px solid #3b5d53; background: rgba(8,36,31,0.88); font: 500 0.62rem/1.55 var(--mono); }
.drawing-note b { color: var(--gold); text-transform: uppercase; }

.pid.pid--vector { padding: 0; background: #071e1c; }
.mw1-cooling-svg-shell { padding: clamp(0.75rem, 1.8vw, 1.5rem); background: #071e1c; }
.mw1-cooling-topology { width: 100%; height: auto; display: block; font-family: var(--mono); }
.mw1-cooling-topology--compact { display: none; }
.mw1-cooling-topology text { pointer-events: none; }
.mw1-cooling-topology .pidv-bg { fill: #071e1c; }
.mw1-cooling-topology .pidv-grid-line { fill: none; stroke: rgba(157,182,172,0.065); stroke-width: 1; vector-effect: non-scaling-stroke; }
.mw1-cooling-topology .pidv-panel,
.mw1-cooling-topology .pidv-box,
.mw1-cooling-topology .pidv-zone,
.mw1-cooling-topology .pidv-detail,
.mw1-cooling-topology .pidv-rail,
.mw1-cooling-topology .pidv-return-rail,
.mw1-cooling-topology .pidv-no-claim,
.mw1-cooling-topology .pidv-closure,
.mw1-cooling-topology .pidv-marker { vector-effect: non-scaling-stroke; }
.mw1-cooling-topology .pidv-panel { fill: rgba(10,43,37,0.82); stroke: #45675c; stroke-width: 1; }
.mw1-cooling-topology .pidv-panel--required { stroke: var(--gold); }
.mw1-cooling-topology .pidv-panel--reference { stroke: #769287; }
.mw1-cooling-topology .pidv-panel--open { stroke-dasharray: 6 5; }
.mw1-cooling-topology .pidv-box { fill: rgba(15,56,48,0.9); stroke: #4f7166; stroke-width: 1; }
.mw1-cooling-topology .pidv-box--required { stroke: rgba(212,175,55,0.78); }
.mw1-cooling-topology .pidv-box--reference { stroke: #769287; }
.mw1-cooling-topology .pidv-box--open,
.mw1-cooling-topology .pidv-box--input { stroke-dasharray: 5 4; }
.mw1-cooling-topology .pidv-box--input { stroke: #8ca69b; }
.mw1-cooling-topology .pidv-zone { fill: rgba(18,61,52,0.88); stroke: #66857a; stroke-width: 1; }
.mw1-cooling-topology .pidv-detail { fill: rgba(6,31,27,0.75); stroke: var(--gold); stroke-width: 1; }
.mw1-cooling-topology .pidv-rail { fill: rgba(212,175,55,0.075); stroke: var(--gold); stroke-width: 1; }
.mw1-cooling-topology .pidv-return-rail { fill: rgba(134,166,154,0.07); stroke: #86a69a; stroke-width: 1; }
.mw1-cooling-topology .pidv-no-claim { fill: rgba(212,175,55,0.045); stroke: rgba(212,175,55,0.5); stroke-width: 1; }
.mw1-cooling-topology .pidv-closure { fill: rgba(5,27,24,0.92); stroke: #49695f; stroke-width: 1; }
.mw1-cooling-topology .pidv-supply-line,
.mw1-cooling-topology .pidv-return-line,
.mw1-cooling-topology .pidv-tcs-line,
.mw1-cooling-topology .pidv-association { fill: none; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.mw1-cooling-topology .pidv-supply-line,
.mw1-cooling-topology .pidv-tcs-line { stroke: var(--gold); }
.mw1-cooling-topology .pidv-return-line { stroke: #86a69a; }
.mw1-cooling-topology .pidv-association { stroke: #86a69a; stroke-dasharray: 4 4; }
.mw1-cooling-topology .pidv-arrow-head { fill: var(--gold); }
.mw1-cooling-topology .pidv-return-head { fill: #86a69a; }
.mw1-cooling-topology .pidv-marker { width: 16px; height: 11px; fill: transparent; stroke-width: 1; }
.mw1-cooling-topology .pidv-marker--required { fill: var(--gold); stroke: var(--gold); }
.mw1-cooling-topology .pidv-marker--reference { fill: #66857a; stroke: #8ca69b; }
.mw1-cooling-topology .pidv-marker--open { stroke: var(--gold); stroke-dasharray: 4 3; }
.mw1-cooling-topology .pidv-marker--input { stroke: #8ca69b; stroke-dasharray: 2 2; }
.mw1-cooling-topology .pidv-legend { fill: #bdcbc5; font-size: 13px; font-weight: 620; letter-spacing: 0.055em; }
.mw1-cooling-topology .pidv-id { fill: #dbe6e0; font-size: 14px; font-weight: 680; letter-spacing: 0.035em; }
.mw1-cooling-topology .pidv-id--gold { fill: var(--gold); }
.mw1-cooling-topology .pidv-id--return { fill: #a8beb5; }
.mw1-cooling-topology .pidv-label { fill: #f0f5f2; font-size: 15px; font-weight: 650; letter-spacing: -0.015em; }
.mw1-cooling-topology .pidv-note { fill: #a5b9af; font-size: 13.5px; font-weight: 540; letter-spacing: 0.01em; }
.mw1-cooling-topology .pidv-open-text { fill: #c7a94a; font-size: 13px; font-weight: 630; letter-spacing: 0.02em; }
.mw1-cooling-topology .pidv-status { fill: var(--gold); font-size: 12.5px; font-weight: 690; letter-spacing: 0.035em; }
.mw1-cooling-topology .pidv-zone-text { fill: #e2ebe6; font-size: 13px; font-weight: 650; letter-spacing: 0.015em; }
.mw1-cooling-topology .pidv-tag { fill: #cbd9d2; font-size: 12px; font-weight: 650; }

.mw1-cooling-topology--compact .pidv-legend,
.mw1-cooling-topology--compact .pidv-note,
.mw1-cooling-topology--compact .pidv-open-text,
.mw1-cooling-topology--compact .pidv-status { font-size: 14px; }
.mw1-cooling-topology--compact .pidv-id { font-size: 14.5px; }
.mw1-cooling-topology--compact .pidv-label { font-size: 15px; }
.mw1-cooling-topology--compact .pidv-zone-text { font-size: 14px; }

.thermal-basis { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #3b5d53; background: rgba(8,36,31,0.9); }
.thermal-basis > div { min-height: 11rem; padding: 1.2rem 1.3rem; display: flex; flex-direction: column; border-right: 1px solid #3b5d53; }
.thermal-basis > div:last-child { border-right: 0; }
.thermal-basis span { color: var(--gold); font: 600 0.54rem/1 var(--mono); letter-spacing: 0.07em; text-transform: uppercase; }
.thermal-basis strong { margin: auto 0 0; font: 560 clamp(1.15rem, 2vw, 2rem)/1.05 var(--mono); }
.thermal-basis strong.formula { font-size: clamp(0.78rem, 1.25vw, 1.2rem); line-height: 1.45; letter-spacing: -0.03em; }
.thermal-basis small { margin-top: 0.9rem; color: #8fa69a; font: 500 0.55rem/1.45 var(--mono); }
.drawing-note a { color: var(--gold); }

.resilience-table { margin-top: clamp(4rem, 7vw, 7rem); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.resilience-table > div { min-height: 5rem; display: grid; grid-template-columns: 0.65fr 0.85fr 1.5fr; border-bottom: 1px solid var(--line); }
.resilience-table > div > * { margin: 0; padding: 1rem 1.2rem; border-right: 1px solid var(--line); }
.resilience-table .table-head { min-height: 2.8rem; color: var(--gold); background: var(--green-2); font: 600 0.56rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.resilience-table strong { font-size: 0.9rem; }
.resilience-table > div > span { color: #d6e2dc; font: 550 0.72rem/1.4 var(--mono); }
.resilience-table p { color: #9fb4aa; font-size: 0.82rem; line-height: 1.45; }
.standalone-note { margin-top: 1.2rem; padding: 1.2rem 1.4rem; display: grid; grid-template-columns: 0.45fr 1.55fr; gap: 2rem; border: 1px solid var(--line); background: rgba(12,48,42,0.72); }
.standalone-note span { color: var(--gold); font: 600 0.56rem/1.45 var(--mono); letter-spacing: 0.07em; text-transform: uppercase; }
.standalone-note p { margin: 0; color: #afc1b8; font-size: 0.84rem; line-height: 1.5; }

.capacity-choice { margin-top: 1.2rem; display: grid; grid-template-columns: repeat(2, 1fr); border-left: 1px solid var(--line); }
.capacity-choice article { min-height: 17rem; padding: 1.6rem 1.8rem; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--green-2); }
.capacity-choice span { color: var(--gold); font: 600 0.56rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.capacity-choice strong { margin: 2.5rem 0 0; font: 530 clamp(2.3rem, 3.5vw, 4rem)/1 var(--display); letter-spacing: -0.05em; }
.capacity-choice b { margin-top: auto; padding-top: 1.4rem; color: #e2eae5; font: 550 0.7rem/1.45 var(--mono); }
.capacity-choice p { margin: 0.7rem 0 0; color: #9fb4aa; font-size: 0.8rem; }
.continuity-options { margin-top: 1.2rem; border: 1px solid var(--line); background: var(--green-2); }
.continuity-options > header { padding: 1.2rem 1.4rem; display: flex; justify-content: space-between; gap: 2rem; border-bottom: 1px solid var(--line); }
.continuity-options > header span { color: var(--gold); font: 600 0.56rem/1.4 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.continuity-options > header p { max-width: 38rem; margin: 0; color: #9fb4aa; font-size: 0.82rem; text-align: right; }
.continuity-options > div { display: grid; grid-template-columns: repeat(3, 1fr); }
.continuity-options article { min-height: 14rem; padding: 1.3rem; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.continuity-options article:last-child { border-right: 0; }
.continuity-options article.default { background: rgba(212,175,55,0.07); box-shadow: inset 0 3px var(--gold); }
.continuity-options article span { color: var(--gold); font: 600 0.53rem/1.4 var(--mono); letter-spacing: 0.05em; text-transform: uppercase; }
.continuity-options article strong { margin: auto 0 0; font: 530 clamp(1.25rem, 2.2vw, 2rem)/1.05 var(--display); letter-spacing: -0.03em; }
.continuity-options article p { margin: 0.8rem 0 0; color: #9fb4aa; font-size: 0.78rem; line-height: 1.5; }
.continuity-options > small { padding: 0.8rem 1.3rem; display: block; color: #7f998d; border-top: 1px solid var(--line); font: 500 0.52rem/1.4 var(--mono); text-transform: uppercase; }

.closures-section { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(3rem, 8vw, 9rem); }
.closures-section h2 { margin-top: 1.3rem; }
.closures-section ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.closures-section li { min-height: 5rem; padding: 1rem 0; display: grid; grid-template-columns: 3rem 1fr; gap: 1.5rem; border-bottom: 1px solid var(--line-dark); }
.closures-section li span { color: var(--gold-deep); font: 600 0.58rem/1.4 var(--mono); }
.closures-section li p { margin: 0; color: var(--muted-dark); line-height: 1.5; }

.contact-section {
  padding: clamp(5rem, 9vw, 9rem) 3.25rem;
  display: grid;
  grid-template-columns: 0.35fr 1.3fr 0.75fr;
  gap: clamp(2rem, 5vw, 6rem);
  align-items: end;
  background: var(--green);
}

.contact-section h2 em { color: var(--gold); font-style: normal; }
.contact-section > div p { margin: 0 0 2rem; color: #afc1b8; font-size: 1.03rem; line-height: 1.55; }

footer {
  min-height: 5rem;
  padding: 1.5rem 3.25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  color: #94aa9f;
  border-top: 1px solid var(--line);
  background: var(--green);
  font: 500 0.58rem/1.4 var(--mono);
}

footer strong { color: var(--white); font-family: var(--sans); font-size: 0.88rem; }
footer a { color: var(--gold); text-transform: uppercase; }

@media (max-width: 86rem) {
  .mw1-sld-topology--wide { display: none; }
  .mw1-sld-topology--compact { display: block; width: min(100%, 32rem); margin-inline: auto; }
  .mw1-cooling-topology--wide { display: none; }
  .mw1-cooling-topology--compact { display: block; width: min(100%, 32rem); margin-inline: auto; }
}

@media (max-width: 70rem) {
  .product-hero { grid-template-columns: 0.9fr 1.1fr; gap: 3rem; }
  .hero-copy h1 { font-size: clamp(3.8rem, 6.5vw, 6.4rem); }
  .sld-cells { grid-template-columns: repeat(3, 1fr); }
  .sld-cells article { margin-top: 3.2rem; }
  .sld-bus { margin-bottom: -3.2rem; }
}

@media (max-width: 62rem) {
  .site-header {
    min-height: auto;
    padding: 1rem 1.5rem 0;
    grid-template-columns: 1fr auto;
    row-gap: 0.8rem;
  }
  .site-header nav {
    grid-column: 1 / -1;
    display: flex;
    width: 100%;
    gap: 1.4rem;
    padding: 0.8rem 0 0.95rem;
    overflow-x: auto;
    border-top: 1px solid var(--line-dark);
    scrollbar-width: none;
  }
  .site-header nav::-webkit-scrollbar { display: none; }
  .product-hero { min-height: auto; padding: 6rem 1.5rem; grid-template-columns: 1fr; }
  .hero-copy h1 { max-width: 10ch; font-size: clamp(4rem, 11vw, 7.2rem); }
  .boundary-card { width: min(100%, 48rem); }
  .section-head { grid-template-columns: 0.35fr 1.05fr; }
  .section-head > p:last-child { grid-column: 2; }
  .cell-boundary-svg--wide { display: none; }
  .cell-boundary-svg--compact { display: block; width: min(100%, 32rem); margin-inline: auto; }
  .cell-facts { grid-template-columns: repeat(2, 1fr); }
  .cell-facts article:nth-child(2) { border-right: 0; }
  .cell-facts article:nth-child(-n+2) { border-bottom: 1px solid var(--line-dark); }
  .research-note { grid-template-columns: 0.4fr 1.2fr; }
  .research-note a { grid-column: 2; justify-self: start; }
  .electrical-basis { grid-template-columns: repeat(2, 1fr); }
  .thermal-basis { grid-template-columns: 1fr; }
  .thermal-basis > div { border-right: 0; border-bottom: 1px solid #3b5d53; }
  .thermal-basis > div:last-child { border-bottom: 0; }
  .closures-section { grid-template-columns: 1fr; }
  .contact-section { grid-template-columns: 0.35fr 1.05fr; }
  .contact-section > div { grid-column: 2; }
}

@media (max-width: 46rem) {
  .wordmark span { display: none; }
  .site-header { min-height: 4.5rem; }
  .header-cta { font-size: 0.56rem; }
  .product-hero { padding: 4.5rem 1.5rem; }
  .hero-copy h1 { font-size: clamp(3.1rem, 13vw, 5.2rem); }
  .hero-deck { font-size: 1rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .boundary-number b { font-size: clamp(5rem, 25vw, 7.2rem); }
  .boundary-card dl > div { grid-template-columns: 1fr; }
  .boundary-card dd { text-align: left; }

  .cell-section,
  .platform-section,
  .engineering-section,
  .resilience-section,
  .closures-section,
  .contact-section { padding: 5rem 1.5rem; }

  .section-head,
  .contact-section { grid-template-columns: 1fr; gap: 2rem; }
  .section-head > p:last-child,
  .contact-section > div { grid-column: auto; }
  .section-head h2,
  .closures-section h2,
  .contact-section h2 { font-size: clamp(3rem, 15vw, 5rem); }

  .cell-facts,
  .platform-grid,
  .capacity-choice { grid-template-columns: 1fr; }
  .cell-boundary-drawing { margin-inline: -0.75rem; }
  .cell-drawing-head { align-items: flex-start; flex-direction: column; }
  .cell-drawing-head > strong { text-align: left; }
  .cell-boundary-shell { padding: 0.6rem; }
  .cell-facts article { min-height: 12rem; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .cell-facts p { min-height: 0; }
  .platform-grid article { min-height: 35rem; }
  .platform-grid dl > div { grid-template-columns: 1fr; }
  .platform-grid dd { text-align: left; }
  .research-note { grid-template-columns: 1fr; gap: 1.2rem; }
  .research-note a { grid-column: auto; }
  .standalone-note { grid-template-columns: 1fr; gap: 0.8rem; }

  .drawing { margin-inline: -0.75rem; }
  .drawing#power { margin-inline: -1.5rem; }
  .drawing#cooling { margin-inline: -1.5rem; }
  .drawing-head { align-items: flex-start; flex-direction: column; }
  .sld { padding: 1.2rem 0.85rem; }
  .sld--vector { padding: 1rem 0.25rem; }
  .sld-cells { grid-template-columns: 1fr; }
  .sld-cells article { min-height: 12rem; }
  .sld-cells article::before,
  .sld-cells article::after { display: none; }
  .sld-bus { margin-bottom: 0; }
  .sld-control { align-items: flex-start; flex-direction: column; }
  .electrical-basis { grid-template-columns: 1fr; }

  .pid.pid--vector { padding: 0; }
  .mw1-cooling-svg-shell { padding: 1rem 0.25rem; }

  .resilience-table > div,
  .resilience-table .table-head { grid-template-columns: 1fr; }
  .resilience-table .table-head { display: none; }
  .resilience-table > div > * { border-right: 0; }
  .resilience-table > div > span { padding-bottom: 0.2rem; }
  .resilience-table p { padding-top: 0.2rem; }
  .capacity-choice article { min-height: 15rem; }
  .continuity-options > header { align-items: flex-start; flex-direction: column; }
  .continuity-options > header p { text-align: left; }
  .continuity-options > div { grid-template-columns: 1fr; }
  .continuity-options article { min-height: 12rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .continuity-options article:last-child { border-bottom: 0; }

  footer { padding: 1.5rem; align-items: flex-start; flex-direction: column; }
}

@media (forced-colors: active) {
  .cell-boundary-drawing,
  .cell-drawing-head,
  .cell-boundary-drawing figcaption,
  .cell-boundary-svg .cell-svg-background,
  .cell-boundary-svg .cell-svg-panel,
  .cell-boundary-svg .cell-svg-box,
  .cell-boundary-svg .cell-svg-module,
  .cell-boundary-svg .cell-svg-oem-strip,
  .cell-boundary-svg .cell-svg-total-strip,
  .cell-boundary-svg .cell-svg-evidence-rail { background: Canvas; fill: Canvas; }
  .cell-boundary-svg .cell-svg-panel,
  .cell-boundary-svg .cell-svg-box,
  .cell-boundary-svg .cell-svg-module,
  .cell-boundary-svg .cell-svg-oem-strip,
  .cell-boundary-svg .cell-svg-total-strip,
  .cell-boundary-svg .cell-svg-evidence-rail,
  .cell-boundary-svg .cell-svg-reference-line { stroke: CanvasText; }
  .cell-boundary-svg .cell-svg-box--boundary,
  .cell-boundary-svg .cell-svg-box--allocation,
  .cell-boundary-svg .cell-svg-boundary-marker,
  .cell-boundary-svg .cell-svg-allocation-marker { stroke: Highlight; }
  .cell-boundary-svg .cell-svg-boundary-marker { fill: Highlight; }
  .cell-boundary-svg text { fill: CanvasText !important; }

  .mw1-sld-topology .sldv-panel,
  .mw1-sld-topology .sldv-branch,
  .mw1-sld-topology .sldv-bus-label,
  .mw1-sld-topology .sldv-badge,
  .mw1-sld-topology .sldv-bottom-rail,
  .mw1-sld-topology .sldv-isolator { fill: Canvas; stroke: CanvasText; }
  .mw1-sld-topology .sldv-panel--declared,
  .mw1-sld-topology .sldv-branch--option,
  .mw1-sld-topology .sldv-marker--declared,
  .mw1-sld-topology .sldv-marker--option { stroke: Highlight; }
  .mw1-sld-topology .sldv-marker--declared { fill: Highlight; }
  .mw1-sld-topology .sldv-conductor,
  .mw1-sld-topology .sldv-bus,
  .mw1-sld-topology .sldv-line,
  .mw1-sld-topology .sldv-symbol { stroke: CanvasText; }
  .mw1-sld-topology text { fill: CanvasText !important; }

  .pid.pid--vector,
  .mw1-cooling-svg-shell,
  .mw1-cooling-topology .pidv-bg,
  .mw1-cooling-topology .pidv-panel,
  .mw1-cooling-topology .pidv-box,
  .mw1-cooling-topology .pidv-zone,
  .mw1-cooling-topology .pidv-detail,
  .mw1-cooling-topology .pidv-rail,
  .mw1-cooling-topology .pidv-return-rail,
  .mw1-cooling-topology .pidv-no-claim,
  .mw1-cooling-topology .pidv-closure { background: Canvas; fill: Canvas; }
  .mw1-cooling-topology .pidv-panel,
  .mw1-cooling-topology .pidv-box,
  .mw1-cooling-topology .pidv-zone,
  .mw1-cooling-topology .pidv-detail,
  .mw1-cooling-topology .pidv-rail,
  .mw1-cooling-topology .pidv-return-rail,
  .mw1-cooling-topology .pidv-no-claim,
  .mw1-cooling-topology .pidv-closure,
  .mw1-cooling-topology .pidv-supply-line,
  .mw1-cooling-topology .pidv-return-line,
  .mw1-cooling-topology .pidv-tcs-line,
  .mw1-cooling-topology .pidv-association { stroke: CanvasText; }
  .mw1-cooling-topology .pidv-box--required,
  .mw1-cooling-topology .pidv-marker--required { stroke: Highlight; }
  .mw1-cooling-topology .pidv-marker--required,
  .mw1-cooling-topology .pidv-arrow-head { fill: Highlight; }
  .mw1-cooling-topology .pidv-return-head { fill: CanvasText; }
  .mw1-cooling-topology text { fill: CanvasText !important; }
}

@media print {
  .mw1-sld-topology--wide { display: block; }
  .mw1-sld-topology--compact { display: none; }
  .mw1-cooling-topology--wide { display: block; }
  .mw1-cooling-topology--compact { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
}

/* Resilience screening register: comparison only, never a topology or failover result. */
.resilience-register-figure {
  width: min(100%, 90rem);
  margin: clamp(4rem, 7vw, 7rem) auto 0;
  color: var(--white);
  border: 1px solid var(--line);
  background: #071e1c;
}

.resilience-register-shell {
  padding: clamp(0.7rem, 1.8vw, 1.35rem);
  overflow: hidden;
  background: #071e1c;
}

.resilience-register-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.resilience-register-svg--compact { display: none; }

.resilience-register-figure *,
.resilience-register-figure *::before,
.resilience-register-figure *::after {
  animation: none !important;
  transition: none !important;
}

.resilience-register-figure figcaption {
  margin: 0;
  padding: 0.9rem clamp(1rem, 2.4vw, 1.5rem);
  color: var(--muted);
  border-top: 1px solid var(--line);
  background: #091f1c;
  font: 500 0.64rem/1.62 var(--mono);
  letter-spacing: 0.025em;
}

.resilience-register-svg text {
  font-family: var(--mono);
  text-rendering: geometricPrecision;
}

.resilience-register-svg .rr-bg { fill: #071e1c; }

.resilience-register-svg .rr-frame,
.resilience-register-svg .rr-row,
.resilience-register-svg .rr-card,
.resilience-register-svg .rr-guardrail,
.resilience-register-svg .rr-rule,
.resilience-register-svg .rr-divider {
  vector-effect: non-scaling-stroke;
}

.resilience-register-svg .rr-frame {
  fill: none;
  stroke: #36574e;
  stroke-width: 1;
}

.resilience-register-svg .rr-row,
.resilience-register-svg .rr-card {
  fill: #0d2925;
  stroke: rgba(169, 190, 180, 0.25);
  stroke-width: 1;
}

.resilience-register-svg .rr-row--alt,
.resilience-register-svg .rr-card--alt { fill: #102f2b; }

.resilience-register-svg .rr-divider,
.resilience-register-svg .rr-rule {
  fill: none;
  stroke: rgba(169, 190, 180, 0.22);
  stroke-width: 1;
}

.resilience-register-svg .rr-rule--header { stroke: rgba(212, 175, 55, 0.62); }

.resilience-register-svg .rr-guardrail {
  fill: #151f1d;
  stroke: rgba(212, 175, 55, 0.74);
  stroke-width: 1;
}

.resilience-register-svg .rr-kicker {
  fill: var(--gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.25px;
}

.resilience-register-svg .rr-top-status {
  fill: var(--white);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.55px;
}

.resilience-register-svg .rr-top-note {
  fill: var(--muted);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.42px;
}

.resilience-register-svg .rr-column,
.resilience-register-svg .rr-id,
.resilience-register-svg .rr-card-label {
  fill: var(--gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.82px;
}

.resilience-register-svg .rr-domain {
  fill: var(--white);
  font-family: var(--display);
  font-size: 14.5px;
  font-weight: 650;
  letter-spacing: 0.08px;
}

.resilience-register-svg .rr-domain--note {
  fill: var(--muted);
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 650;
  letter-spacing: 0.5px;
}

.resilience-register-svg .rr-posture {
  fill: #dce8e2;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.12px;
}

.resilience-register-svg .rr-closure {
  fill: var(--muted);
  font-size: 11.5px;
  font-weight: 560;
  letter-spacing: 0.05px;
}

.resilience-register-svg .rr-status {
  fill: var(--gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.22px;
}

.resilience-register-svg .rr-guardrail-title {
  fill: var(--white);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.38px;
}

.resilience-register-svg .rr-guardrail-method {
  fill: var(--gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.24px;
}

.resilience-register-svg .rr-no-claim {
  fill: var(--muted);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.2px;
}

.resilience-register-svg .rr-kicker--compact {
  font-size: 14px;
  letter-spacing: 0.56px;
}

.resilience-register-svg .rr-top-status--compact {
  font-size: 12.5px;
  letter-spacing: 0.12px;
}

.resilience-register-svg .rr-top-note--compact {
  font-size: 12px;
  letter-spacing: 0.08px;
}

.resilience-register-svg .rr-id--compact,
.resilience-register-svg .rr-card-label {
  font-size: 12.5px;
  letter-spacing: 0.3px;
}

.resilience-register-svg .rr-domain--compact {
  font-size: 14px;
  letter-spacing: -0.18px;
}

.resilience-register-svg .rr-posture--compact {
  font-size: 13.5px;
  letter-spacing: -0.22px;
}

.resilience-register-svg .rr-closure--compact {
  font-size: 13.5px;
  letter-spacing: -0.24px;
}

.resilience-register-svg .rr-status--compact {
  font-size: 12px;
  letter-spacing: -0.1px;
}

.resilience-register-svg .rr-guardrail-title--compact {
  font-size: 13.5px;
  letter-spacing: -0.12px;
}

.resilience-register-svg .rr-guardrail-method--compact,
.resilience-register-svg .rr-no-claim--compact {
  font-size: 12.5px;
  letter-spacing: -0.16px;
}

/* Detailed semantic equivalent for assistive technology; print and forced colours reveal it. */
.resilience-register-data-wrap {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.resilience-register-data { border-collapse: collapse; }

@media (max-width: 72rem) {
  .resilience-register-svg--wide { display: none; }
  .resilience-register-svg--compact {
    display: block;
    width: min(100%, 32rem);
    margin-inline: auto;
  }
}

@media (max-width: 46rem) {
  .resilience-register-figure {
    width: auto;
    margin-inline: -1.5rem;
  }

  .resilience-register-shell { padding: 0.35rem; }

  .resilience-register-figure figcaption {
    padding: 0.85rem 1rem;
    font-size: 0.62rem;
  }
}

@media print {
  .resilience-register-figure { display: none; }
  .resilience-register-data-wrap {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    margin: 2rem 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
  }
  .resilience-register-data { width: 100%; border-collapse: collapse !important; }
  .resilience-register-data caption { margin-bottom: 0.6rem; text-align: left; font-weight: 700; }
  .resilience-register-data th,
  .resilience-register-data td { padding: 0.45rem; border: 1px solid #555; text-align: left; vertical-align: top; }
}

@media (forced-colors: active) {
  .resilience-register-figure { display: none; }
  .resilience-register-data-wrap {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    margin: 2rem 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    color: CanvasText;
    background: Canvas;
  }
  .resilience-register-data { width: 100%; border-collapse: collapse !important; }
  .resilience-register-data caption { margin-bottom: 0.75rem; text-align: left; font-weight: 700; }
  .resilience-register-data th,
  .resilience-register-data td { padding: 0.6rem; border: 1px solid CanvasText; text-align: left; vertical-align: top; }
}

/* MW1 pre-price project-input closure register */
.closures-intro {
  max-width: 36rem;
  margin: 2rem 0 0;
  color: var(--muted-dark);
  font-size: 1rem;
  line-height: 1.58;
}

.preprice-closure-figure {
  min-width: 0;
  margin: 0;
  color: var(--white);
  border: 1px solid #31544b;
  background: #071e1c;
}

.preprice-closure-shell {
  padding: clamp(0.45rem, 1vw, 0.8rem);
  overflow: hidden;
  background: #071e1c;
}

.preprice-closure-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.preprice-closure-svg--compact { display: none; }

.preprice-closure-svg * {
  animation: none !important;
  transition: none !important;
}

.preprice-closure-svg text {
  font-family: var(--mono);
  text-rendering: geometricPrecision;
}

.preprice-closure-svg .ppc-bg { fill: #071e1c; }

.preprice-closure-svg .ppc-frame,
.preprice-closure-svg .ppc-row,
.preprice-closure-svg .ppc-card,
.preprice-closure-svg .ppc-rail,
.preprice-closure-svg .ppc-divider {
  vector-effect: non-scaling-stroke;
}

.preprice-closure-svg .ppc-frame {
  fill: none;
  stroke: rgba(230, 239, 233, 0.25);
  stroke-width: 1;
}

.preprice-closure-svg .ppc-row,
.preprice-closure-svg .ppc-card {
  fill: #0c2e29;
  stroke: rgba(230, 239, 233, 0.24);
  stroke-width: 1;
}

.preprice-closure-svg .ppc-divider {
  stroke: rgba(230, 239, 233, 0.16);
  stroke-width: 1;
}

.preprice-closure-svg .ppc-rail {
  fill: #102a26;
  stroke: #a68d3f;
  stroke-width: 1;
  stroke-dasharray: 7 6;
}

.preprice-closure-svg .ppc-kicker,
.preprice-closure-svg .ppc-index,
.preprice-closure-svg .ppc-label {
  fill: var(--gold-light);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.65px;
}

.preprice-closure-svg .ppc-stamp,
.preprice-closure-svg .ppc-note,
.preprice-closure-svg .ppc-column {
  fill: #a9beb4;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.25px;
}

.preprice-closure-svg .ppc-heading {
  fill: var(--white);
  font-family: var(--display);
  font-size: 17px;
  font-weight: 620;
  letter-spacing: -0.2px;
}

.preprice-closure-svg .ppc-title {
  fill: var(--white);
  font-family: var(--display);
  font-size: 15.5px;
  font-weight: 620;
  letter-spacing: -0.2px;
}

.preprice-closure-svg .ppc-copy {
  fill: #c1d0c9;
  font-size: 12.5px;
  font-weight: 560;
}

.preprice-closure-svg .ppc-open {
  fill: var(--gold-light);
  font-size: 11.5px;
  font-weight: 700;
}

.preprice-closure-svg .ppc-guard {
  fill: #a9beb4;
  font-size: 11.5px;
  font-weight: 650;
}

.preprice-closure-svg .ppc-rail-title {
  fill: var(--white);
  font-size: 11.5px;
  font-weight: 700;
}

.preprice-closure-svg .ppc-rail-note {
  fill: var(--gold-light);
  font-size: 11.5px;
  font-weight: 700;
}

.preprice-closure-svg .ppc-kicker--compact {
  font-size: 15px;
  letter-spacing: 0.25px;
}

.preprice-closure-svg .ppc-stamp--compact,
.preprice-closure-svg .ppc-note--compact {
  font-size: 13px;
  letter-spacing: 0;
}

.preprice-closure-svg .ppc-heading--compact { font-size: 15px; }

.preprice-closure-svg .ppc-index--compact,
.preprice-closure-svg .ppc-label {
  font-size: 13px;
  letter-spacing: 0.25px;
}

.preprice-closure-svg .ppc-title--compact { font-size: 16px; }

.preprice-closure-svg .ppc-copy--compact {
  font-size: 13.5px;
  letter-spacing: -0.1px;
}

.preprice-closure-svg .ppc-open--compact,
.preprice-closure-svg .ppc-guard--compact {
  font-size: 13px;
  letter-spacing: -0.1px;
}

.preprice-closure-svg .ppc-rail-title--compact { font-size: 13px; }
.preprice-closure-svg .ppc-rail-note--compact { font-size: 13px; }

.preprice-closure-figure figcaption {
  margin: 0;
  padding: 0.8rem 1rem;
  color: #8ea49a;
  border-top: 1px solid var(--line);
  font: 550 0.6rem/1.58 var(--mono);
}

.preprice-closure-native {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: normal;
}

.preprice-closure-native table {
  width: 1px;
  table-layout: fixed;
  border-collapse: collapse;
}

.preprice-closure-native caption,
.preprice-closure-native th,
.preprice-closure-native td {
  white-space: normal;
}

@media (max-width: 72rem) {
  .preprice-closure-svg--wide { display: none; }

  .preprice-closure-svg--compact {
    display: block;
    width: min(100%, 32rem);
    margin-inline: auto;
  }
}

@media (max-width: 46rem) {
  .preprice-closure-figure { margin-inline: -1.5rem; }
  .preprice-closure-shell { padding: 0.35rem; }
  .preprice-closure-figure figcaption { padding: 0.8rem 1rem; font-size: 0.63rem; }
}

@media print {
  .preprice-closure-figure { display: none; }

  .preprice-closure-native {
    position: static;
    width: 100%;
    height: auto;
    margin: 1rem 0 0;
    overflow: visible;
    clip: auto;
    clip-path: none;
  }

  .preprice-closure-native table {
    width: 100%;
    table-layout: auto;
    border-collapse: collapse;
  }

  .preprice-closure-native caption,
  .preprice-closure-native th,
  .preprice-closure-native td {
    padding: 0.45rem;
    border: 1px solid #555;
    text-align: left;
    vertical-align: top;
  }
}

@media (forced-colors: active) {
  .preprice-closure-figure { display: none; }

  .preprice-closure-native {
    position: static;
    width: 100%;
    height: auto;
    margin: 1rem 0 0;
    overflow: visible;
    clip: auto;
    clip-path: none;
    color: CanvasText;
    background: Canvas;
  }

  .preprice-closure-native table {
    width: 100%;
    table-layout: auto;
    color: CanvasText;
    border-collapse: collapse;
  }

  .preprice-closure-native caption,
  .preprice-closure-native th,
  .preprice-closure-native td {
    padding: 0.55rem;
    border: 1px solid CanvasText;
    text-align: left;
    vertical-align: top;
  }
}

