:root {
  --ink: #071615;
  --night: #0b2220;
  --teal: #16e0c1;
  --mint: #baf9ec;
  --paper: #f4f8f7;
  --white: #fff;
  --muted: #637471;
  --line: #d7e3e0;
  --max: 1160px;
}

.contact-hero { padding-bottom: 82px; }
.contact-section { background: #eef5f3; }
.contact-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }
.contact-intro h2 { font-size:clamp(2.2rem,4vw,4rem); line-height:1.04; letter-spacing:-.05em; margin:14px 0 24px; }
.contact-intro > p { color:var(--muted); font-size:1.08rem; }
.contact-details { margin-top:38px; border-top:1px solid var(--line); }
.contact-details div { padding:18px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; }
.contact-details span { color:var(--muted); }
.contact-details a { font-weight:750; }
.contact-panel { background:#fff; border:1px solid var(--line); padding:38px; box-shadow:0 18px 60px rgba(7,22,21,.08); }
#contact-form { scroll-margin-top: 24px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.form-grid label { display:grid; gap:7px; font-weight:700; font-size:.92rem; }
.form-grid label span { color:#0b8d77; }
.form-grid .full { grid-column:1 / -1; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; border:1px solid #b8c9c5; background:#fbfdfc; color:var(--ink); border-radius:7px; padding:12px 13px; font:inherit; }
.form-grid textarea { resize:vertical; min-height:150px; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { outline:3px solid rgba(22,224,193,.24); border-color:#119b85; }
.form-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-submit { border:0; margin-top:25px; cursor:pointer; }
.contact-submit:disabled { opacity:.58; cursor:wait; }
.form-note { color:var(--muted); font-size:.82rem; margin:14px 0 0; }
.form-status { margin-top:20px; padding:16px 18px; background:var(--mint); border-left:4px solid #119b85; font-weight:700; }
@media (max-width:800px){.contact-layout{grid-template-columns:1fr;gap:45px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.contact-panel{padding:26px}}
@media (max-width:900px){.catalogue-results{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.catalogue-filter-row{grid-template-columns:1fr}.catalogue-results{grid-template-columns:1fr}#catalogue-count{grid-column:1}.catalogue-search-box{grid-template-columns:1fr}.catalogue-search-box label{grid-column:1}.catalogue-search-box button{min-height:46px}}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif;
  line-height: 1.58;
}
a {
  color: inherit;
}
.wrap {
  width: min(calc(100% - 40px), var(--max));
  margin: auto;
}
.top {
  background: var(--night);
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.top .wrap {
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-weight: 730;
}
.mark {
  display: grid;
  grid-template-columns: repeat(3, 9px);
  gap: 3px;
}
.mark i {
  display: block;
  width: 9px;
  height: 22px;
  background: var(--teal);
  border-radius: 1px 9px 9px 1px;
  transform: skewY(-14deg);
}
nav {
  display: flex;
  align-items: center;
  gap: 19px;
}
nav a {
  text-decoration: none;
  color: #d9e8e5;
  font-size: 0.92rem;
}
nav a[aria-current="page"],
nav a:hover {
  color: var(--teal);
}
.nav-cta,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 730;
}
.nav-cta {
  border: 1px solid #66827d;
  color: #fff;
}
.button.primary {
  background: var(--teal);
  color: var(--ink);
}
.menu {
  display: none;
  background: transparent;
  border: 0;
  color: #fff;
  font: inherit;
}
.page-hero {
  background: var(--night);
  color: #fff;
  padding: 115px 0 100px;
  position: relative;
  overflow: hidden;
}
.page-hero:after {
  content: "";
  position: absolute;
  right: -160px;
  top: -240px;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(22, 224, 193, 0.32);
  border-radius: 50%;
  box-shadow:
    0 0 0 80px rgba(22, 224, 193, 0.04),
    0 0 0 160px rgba(22, 224, 193, 0.02);
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--teal);
  font-size: 0.78rem;
  font-weight: 800;
}
.page-hero h1 {
  max-width: 900px;
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: 1;
  letter-spacing: -0.06em;
  margin: 20px 0 26px;
}
.page-hero p {
  max-width: 710px;
  color: #c5d7d4;
  font-size: 1.2rem;
  margin: 0;
}
.page-hero .wrap {
  position: relative;
  z-index: 1;
}
section {
  padding: 95px 0;
}
.intro {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 90px;
}
.intro h2,
.split h2 {
  font-size: clamp(2.1rem, 4vw, 4rem);
  line-height: 1.04;
  letter-spacing: -0.05em;
  margin: 12px 0;
}
.intro > div > p,
.split > div > p {
  color: var(--muted);
  font-size: 1.08rem;
}
.stack {
  border-top: 1px solid var(--line);
}
.row {
  display: grid;
  grid-template-columns: 90px 1fr 1fr;
  gap: 34px;
  padding: 34px 0;
  border-bottom: 1px solid var(--line);
}
.row small {
  font-weight: 800;
  color: #139f89;
}
.row h3 {
  font-size: 1.45rem;
  margin: 0;
}
.row p {
  margin: 0;
  color: var(--muted);
}
.dark {
  background: var(--ink);
  color: #fff;
}
.dark p {
  color: #bfd0cd;
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.fact {
  padding: 28px 25px 28px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
.fact b {
  display: block;
  color: var(--teal);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.notice {
  background: var(--mint);
  padding: 32px;
  border-left: 4px solid #119b85;
}
.notice h3 {
  margin-top: 0;
}
.category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 45px;
}
.category {
  background: #fff;
  border: 1px solid var(--line);
  padding: 30px;
  min-height: 180px;
}
.category span {
  color: #159f89;
  font-size: 0.78rem;
  font-weight: 800;
}
.category h3 {
  font-size: 1.25rem;
  margin: 42px 0 0;
}
.cta {
  background: #d9fff5;
}
.cta .wrap {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 70px;
  align-items: end;
}
.cta h2 {
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: 1;
  letter-spacing: -0.055em;
  margin: 12px 0 0;
}
.cta aside {
  border-left: 1px solid #91cec0;
  padding-left: 36px;
}
.cta aside p {
  margin: 0 0 25px;
  color: #3d635c;
}
footer {
  background: var(--ink);
  color: #b8cac6;
  padding: 31px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.82rem;
}
.foot-links {
  display: flex;
  gap: 20px;
}
.foot a {
  color: #c5d5d2;
}
.legal {
  font-size: 0.85rem;
  color: var(--muted);
}
.signal-hero {
  background: #061312;
  padding-bottom: 80px;
}
.signal-console {
  background: #061312;
  color: #fff;
  padding: 72px 0 46px;
}
.signal-console-head {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 70px;
  align-items: end;
}
.signal-console-head h1 {
  margin: 0;
  max-width: 780px;
  font-size: clamp(3rem, 6vw, 5.8rem);
  line-height: 0.97;
  letter-spacing: -0.06em;
}
.signal-console-head h1 span { color: var(--teal); }
.signal-console-head p {
  margin: 0 0 8px;
  color: #bcd0cc;
  font-size: 1.05rem;
}
.signal-filters {
  display: grid;
  grid-template-columns: 1fr 1fr 1.7fr auto;
  gap: 10px;
  margin-top: 48px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: #0a211f;
}
.signal-filters label {
  display: grid;
  gap: 5px;
  color: #9db4b0;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.signal-filters input,
.signal-filters select,
.signal-filters button {
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 4px;
  background: #071d1b;
  color: #fff;
  padding: 0 12px;
  font: inherit;
  color-scheme: dark;
}
.signal-filters button {
  align-self: end;
  border-color: var(--teal);
  background: var(--teal);
  color: var(--ink);
  font-weight: 800;
  cursor: pointer;
}
.signal-kpis {
  display: grid;
  grid-template-columns: 1.25fr repeat(4,1fr);
  gap: 1px;
  margin-top: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.14);
}
.signal-kpis article { min-height: 142px; padding: 20px; background: #0d2926; }
.signal-kpis span,.signal-kpis small { display:block; color:#9db4b0; font-size:.75rem; }
.signal-kpis span { text-transform:uppercase; letter-spacing:.08em; }
.signal-kpis strong { display:block; margin:15px 0 4px; font-size:clamp(1.55rem,3vw,2.45rem); line-height:1; }
.signal-kpis article:first-child strong { color:var(--teal); font-size:1.3rem; }
.factory-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 10px;
  margin-top: 12px;
}
.factory-flow article { padding:18px; border:1px solid rgba(255,255,255,.14); background:#0a211f; }
.factory-flow span,.factory-flow small { display:block; color:#9db4b0; font-size:.72rem; }
.factory-flow span { letter-spacing:.1em; text-transform:uppercase; }
.factory-flow strong { display:block; margin:8px 0 3px; color:var(--teal); }
.factory-flow > b { align-self:center; color:#54736e; }
.compact-intro { align-items:end; margin-bottom:38px; }
.compact-intro p { margin:0; }
.shift-chart { display:grid; gap:14px; }
.shift-chart article { display:grid; grid-template-columns:180px 1fr 110px; gap:22px; align-items:center; }
.shift-chart article div { display:flex; justify-content:space-between; gap:12px; }
.shift-chart article div span,.shift-chart small { color:var(--muted); font-size:.82rem; }
.shift-chart i,.pareto i { display:block; height:12px; background:linear-gradient(90deg,var(--teal) var(--value),#dce7e4 var(--value)); }
.shift-chart small { text-align:right; }
.machine-section .intro > div > p { color:#bfd0cd; }
.machine-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); }
.machine-grid article { padding:22px; min-height:145px; background:#0e2825; }
.machine-grid span,.machine-grid small { display:block; color:#9db4b0; font-size:.75rem; }
.machine-grid span { color:var(--teal); font-weight:800; letter-spacing:.08em; }
.machine-grid strong { display:block; margin:20px 0 4px; font-size:1.9rem; }
.loss-section { background:#eef5f3; }
.loss-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; }
.loss-layout h2 { font-size:clamp(2.4rem,4.5vw,4.7rem); line-height:1; letter-spacing:-.055em; margin:14px 0 38px; }
.pareto { display:grid; gap:14px; }
.pareto article { display:grid; grid-template-columns:185px 1fr 58px; gap:14px; align-items:center; font-size:.82rem; }
.pareto i { height:9px; }
.pareto b { text-align:right; }
.event-register { padding:30px; background:#fff; border:1px solid var(--line); }
.event-register h3 { font-size:1.55rem; line-height:1.15; margin:12px 0 24px; }
.event { display:grid; grid-template-columns:84px 1fr; gap:4px 14px; padding:13px 0; border-top:1px solid var(--line); }
.event span { grid-row:1/3; color:#118f7a; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.event small { color:var(--muted); }
.modification-section { background:#fff; }
.mod-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.mod-grid article { padding:28px; border:1px solid var(--line); }
.mod-grid span { font-weight:800; }
.mod-grid strong { display:block; margin:26px 0 10px; font-size:3.4rem; line-height:1; }
.mod-grid p { color:var(--muted); margin:0; }
.positive { color:#118f7a; }
.negative { color:#b34b48; }
.signal-examples { background:#0b2220; color:#fff; }
.signal-examples .intro > div > p { color:#bfd0cd; }
.example-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.industry-example { border:1px solid rgba(255,255,255,.17); background:#0e2a27; padding:28px; }
.example-head { display:grid; grid-template-columns:1fr auto; gap:5px 20px; }
.example-head span { color:var(--teal); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.example-head strong { grid-column:1/3; font-size:2rem; line-height:1.1; }
.example-head small { grid-column:1/3; color:#9db4b0; }
.example-flow { display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin:25px 0; padding:14px; background:#071d1b; color:#dbe9e6; font-size:.78rem; }
.example-flow i { color:var(--teal); font-style:normal; }
.example-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.13); }
.example-metrics div { padding:15px; background:#11322e; }
.example-metrics span,.example-metrics small { display:block; color:#9db4b0; font-size:.7rem; }
.example-metrics strong { display:block; margin:5px 0; font-size:1.35rem; }
.industry-example ul { margin:24px 0 0; padding-left:19px; color:#bfd0cd; }
.industry-example li { margin:7px 0; }
.signal-lockup {
  font-weight: 860;
  font-size: 0.8rem;
  letter-spacing: 0.24em;
  color: var(--teal);
  margin-bottom: 28px;
}
.signal-hero h1 span {
  color: var(--teal);
}
.dashboard {
  margin-top: 55px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #0a211f;
  padding: 18px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 12px;
}
.dash-main,
.dash-side > div {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #0d2926;
  padding: 22px;
}
.dash-label {
  display: flex;
  justify-content: space-between;
  color: #9db4b0;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.live {
  color: var(--teal);
}
.metric {
  font-size: 4rem;
  line-height: 1;
  font-weight: 790;
  margin: 27px 0 10px;
}
.bars {
  display: flex;
  align-items: end;
  height: 100px;
  gap: 8px;
  margin-top: 25px;
}
.bars i {
  flex: 1;
  background: #1c7467;
  border-top: 2px solid var(--teal);
}
.bars i:nth-child(1) {
  height: 40%;
}
.bars i:nth-child(2) {
  height: 62%;
}
.bars i:nth-child(3) {
  height: 46%;
}
.bars i:nth-child(4) {
  height: 78%;
}
.bars i:nth-child(5) {
  height: 92%;
}
.bars i:nth-child(6) {
  height: 71%;
}
.dash-side {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.dash-side strong {
  display: block;
  font-size: 1.8rem;
  margin-top: 13px;
}
.cap-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.cap {
  background: #fff;
  padding: 28px;
  min-height: 210px;
}
.cap small {
  color: #139f89;
  font-weight: 800;
}
.cap h3 {
  font-size: 1.15rem;
  margin: 38px 0 10px;
}
.cap p {
  font-size: 0.9rem;
  color: var(--muted);
  margin: 0;
}
.proof {
  background: var(--mint);
}
.proof .split {
  align-items: center;
}
.big-number {
  font-size: clamp(5rem, 12vw, 10rem);
  line-height: 0.8;
  font-weight: 820;
  letter-spacing: -0.08em;
}
.flow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #86cabc;
}
.flow div {
  background: var(--mint);
  padding: 22px;
}
.flow b {
  display: block;
  font-size: 1.4rem;
}
.audience {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 25px;
}
.audience span {
  border: 1px solid rgba(255, 255, 255, 0.25);
  padding: 9px 14px;
  border-radius: 999px;
  color: #d8e7e4;
}
.watson {
  background: #091a19;
  color: #fff;
  overflow: hidden;
}
.watson-layout {
  display: grid;
  grid-template-columns: minmax(240px, 0.62fr) minmax(0, 1.38fr);
  gap: 64px;
  align-items: center;
}
.watson-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 420px;
}
.watson-visual::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(22, 224, 193, 0.28);
  border-radius: 50%;
  box-shadow:
    0 0 0 42px rgba(22, 224, 193, 0.035),
    0 0 0 84px rgba(22, 224, 193, 0.018);
}
.watson-character {
  position: relative;
  z-index: 1;
  display: block;
  width: min(100%, 460px);
  height: auto;
  filter: drop-shadow(0 24px 36px rgba(0, 0, 0, 0.32));
  transition: transform 180ms ease;
}
.watson-trigger {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  cursor: pointer;
}
.watson-trigger span {
  margin-top: 12px;
  padding: 10px 16px;
  border: 1px solid rgba(22, 224, 193, 0.5);
  border-radius: 999px;
  background: #102b28;
  color: var(--teal);
  font-size: 0.88rem;
  font-weight: 750;
}
.watson-trigger:hover .watson-character,
.watson-trigger:focus-visible .watson-character {
  transform: translateY(-5px) rotate(-1deg);
}
.watson-trigger:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 8px;
  border-radius: 18px;
}
.watson h2 {
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: 1;
  letter-spacing: -0.055em;
  margin: 20px 0;
}
.watson p {
  color: #bed0cd;
  font-size: 1.08rem;
}
.watson-copy {
  position: relative;
  z-index: 1;
}
.watson-copy > p {
  max-width: 700px;
}
.watson-workspace {
  margin-top: 32px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: #0d2926;
  opacity: 0.72;
  transition:
    opacity 180ms ease,
    border-color 180ms ease;
}
.watson-workspace.is-active {
  opacity: 1;
  border-color: rgba(22, 224, 193, 0.48);
}
.demo-label {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  color: #9db4b0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.demo-label b {
  color: var(--teal);
}
.demo-data {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.demo-data div {
  padding: 16px 18px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.demo-data div:last-child {
  border-right: 0;
}
.demo-data span,
.demo-data small {
  display: block;
  color: #9db4b0;
  font-size: 0.75rem;
}
.demo-data strong {
  display: inline-block;
  margin: 5px 4px 1px 0;
  color: #fff;
  font-size: 1.55rem;
}
.watson-questions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding: 18px;
}
.watson-questions button,
.watson-ask button {
  min-height: 42px;
  border: 1px solid rgba(22, 224, 193, 0.42);
  border-radius: 999px;
  background: transparent;
  color: #e4f1ef;
  padding: 0 15px;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
}
.watson-questions button:hover,
.watson-questions button:focus-visible,
.watson-questions button.is-selected {
  background: var(--teal);
  color: var(--ink);
  outline: none;
}
.watson-ask {
  padding: 0 18px 18px;
}
.watson-ask label {
  display: block;
  margin-bottom: 7px;
  color: #9db4b0;
  font-size: 0.8rem;
  font-weight: 700;
}
.watson-ask > div {
  display: flex;
  gap: 9px;
}
.watson-ask input {
  min-width: 0;
  flex: 1;
  min-height: 45px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 6px;
  background: #071d1b;
  color: #fff;
  padding: 0 14px;
  font: inherit;
}
.watson-ask input:focus {
  border-color: var(--teal);
  outline: 2px solid rgba(22, 224, 193, 0.2);
}
.watson-ask button {
  border-color: var(--teal);
  background: var(--teal);
  color: var(--ink);
  padding-inline: 20px;
}
.watson-answer {
  min-height: 130px;
  padding: 20px 20px 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background: #071d1b;
}
.watson-answer-label {
  color: var(--teal);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.watson-answer p {
  margin: 9px 0 0;
  color: #e0ecea;
}
.watson-evidence {
  margin-top: 15px;
  padding: 12px 14px;
  border-left: 3px solid var(--teal);
  background: rgba(22, 224, 193, 0.08);
  color: #bcd0cc;
  font-size: 0.88rem;
}
@media (max-width: 900px) {
  .cap-grid {
    grid-template-columns: 1fr 1fr;
  }
  .signal-kpis { grid-template-columns:repeat(2,1fr); }
  .machine-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 820px) {
  .top .wrap {
    height: 72px;
  }
  .menu {
    display: block;
  }
  nav {
    display: none;
    position: absolute;
    z-index: 10;
    top: 72px;
    left: 0;
    right: 0;
    background: var(--night);
    padding: 25px 20px;
    flex-direction: column;
    align-items: flex-start;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }
  nav.open {
    display: flex;
  }
  .page-hero {
    padding: 85px 0 75px;
  }
  .intro,
  .split,
  .cta .wrap,
  .dashboard,
  .watson-layout,
  .signal-console-head,
  .loss-layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .signal-filters { grid-template-columns:1fr 1fr; }
  .factory-flow { grid-template-columns:1fr; }
  .factory-flow > b { transform:rotate(90deg); justify-self:center; }
  .shift-chart article { grid-template-columns:1fr; gap:7px; }
  .shift-chart small { text-align:left; }
  .mod-grid { grid-template-columns:1fr; }
  .example-grid { grid-template-columns:1fr; }
  .watson-visual {
    min-height: 300px;
  }
  .watson-character {
    width: min(100%, 350px);
  }
  .row {
    grid-template-columns: 55px 1fr;
  }
  .row p {
    grid-column: 2;
  }
  .category-grid {
    grid-template-columns: 1fr 1fr;
  }
  .cta aside {
    border-left: 0;
    border-top: 1px solid #91cec0;
    padding: 28px 0 0;
  }
  .foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
}
@media (max-width: 520px) {
  .wrap {
    width: min(calc(100% - 28px), var(--max));
  }
  .page-hero h1 {
    font-size: 3.15rem;
  }
  .row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .row p {
    grid-column: 1;
  }
  .category-grid,
  .facts,
  .cap-grid,
  .dash-side,
  .flow,
  .signal-kpis,
  .machine-grid,
  .signal-filters {
    grid-template-columns: 1fr;
  }
  .pareto article { grid-template-columns:1fr 52px; }
  .pareto article span { grid-column:1/3; }
  .example-metrics { grid-template-columns:1fr; }
  section {
    padding: 72px 0;
  }
  .metric {
    font-size: 3rem;
  }
  .watson-visual::before {
    width: 250px;
    height: 250px;
  }
  .demo-data {
    grid-template-columns: 1fr 1fr;
  }
  .demo-data div:nth-child(2) {
    border-right: 0;
  }
  .demo-data div:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }
  .watson-ask > div {
    flex-direction: column;
  }
  .watson-ask button {
    width: 100%;
  }
}
.catalogue-hero {
  padding-bottom: 105px;
}
.catalogue-hero h1 span {
  color: var(--teal);
}
.catalogue-actions {
  display: flex;
  gap: 12px;
  margin-top: 34px;
}
.button.outline {
  border: 1px solid #66827d;
  color: #fff;
}
.product-family-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.family-card {
  background: #fff;
  border: 1px solid var(--line);
  padding: 30px;
  min-height: 290px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.family-feature {
  min-height: 410px;
  background: var(--night);
  color: #fff;
  border-color: var(--night);
}
.family-code {
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  font-weight: 800;
  color: #169f8a;
}
.family-badge {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--mint);
  color: var(--ink);
  font-weight: 850;
  letter-spacing: 0.05em;
  margin: 28px 0 20px;
}
.family-feature .family-badge {
  background: var(--teal);
}
.family-card h3 {
  font-size: 1.7rem;
  letter-spacing: -0.04em;
  margin: 0 0 12px;
}
.family-card p {
  color: var(--muted);
  margin: 0 0 18px;
}
.family-feature p {
  color: #bfd1cd;
}
.family-card ul {
  padding-left: 18px;
  color: #a9bfba;
  font-size: 0.9rem;
}
.family-card a {
  margin-top: auto;
  text-decoration: none;
  font-weight: 750;
}
.family-card a span {
  color: var(--teal);
  margin-left: 5px;
}
.catalogue-principle {
  background: #d9fff5;
}
.catalogue-search-hero{padding:70px 0 42px;background:#071615;color:#fff}.back-link{display:inline-block;margin-bottom:34px;color:#a9c3be;text-decoration:none;font-size:.9rem}.catalogue-search-hero h1{margin:10px 0 12px;max-width:850px;font-size:clamp(2.7rem,5.5vw,5.5rem);line-height:.98;letter-spacing:-.055em}.catalogue-search-hero>.wrap>p{color:#bcd0cc;font-size:1.08rem}.catalogue-search-box{display:grid;grid-template-columns:1fr auto;margin-top:34px;border:1px solid rgba(255,255,255,.2);background:#0d2926;padding:10px}.catalogue-search-box label{grid-column:1/3;padding:2px 8px 7px;color:#9db4b0;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.catalogue-search-box input{min-width:0;min-height:58px;border:0;background:#fff;color:var(--ink);padding:0 18px;font:inherit;font-size:1.05rem}.catalogue-search-box button{border:0;background:var(--teal);color:var(--ink);padding:0 22px;font:inherit;font-weight:800;cursor:pointer}.catalogue-filter-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:12px}.catalogue-filter-row label{display:grid;gap:5px;color:#9db4b0;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.catalogue-filter-row select{min-height:44px;border:1px solid rgba(255,255,255,.2);border-radius:3px;background:#0d2926;color:#fff;padding:0 12px;font:inherit}#catalogue-count{padding:0 4px 11px;color:var(--teal);font-weight:750;white-space:nowrap}.catalogue-results-section{padding:46px 0 90px}.catalogue-results{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.catalogue-card{display:flex;flex-direction:column;min-height:420px;padding:25px;border:1px solid var(--line);background:#fff}.catalogue-card-top{display:flex;justify-content:space-between;gap:15px;color:#108c78;font-size:.75rem;font-weight:800;text-transform:uppercase}.catalogue-card-top small{color:var(--muted);text-align:right}.catalogue-card h2{margin:28px 0 10px;font-size:1.25rem;line-height:1.2}.part-number{font-size:1.05rem}.catalogue-card p{color:var(--muted);font-size:.87rem}.product-specs{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:18px}.product-specs span{padding:7px 9px;background:#edf5f3;font-size:.72rem}.product-specs b{display:block;color:#108c78;font-size:.62rem;text-transform:uppercase}.catalogue-card-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.catalogue-card-actions a{color:#087966;font-size:.78rem;font-weight:800}.catalogue-empty{grid-column:1/-1;padding:60px;border:1px solid var(--line);background:#fff;text-align:center}.catalogue-more{margin:32px auto 0;border:0;background:var(--night);color:#fff;cursor:pointer}
.sku-example {
  margin-top: 28px;
  background: #fff;
  border-left: 5px solid var(--teal);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.sku-family {
  font-size: 0.72rem;
  color: #128f7b;
  font-weight: 800;
  letter-spacing: 0.14em;
}
.sku-example strong {
  font-size: 1.35rem;
}
.sku-example small {
  color: var(--muted);
}
@media (max-width: 700px) {
  .product-family-grid {
    grid-template-columns: 1fr;
  }
  .catalogue-actions {
    flex-direction: column;
  }
  .catalogue-actions .button {
    width: 100%;
  }
  .family-feature {
    min-height: 360px;
  }
}

/* Portfolio case study */
.portfolio-hero { padding: 82px 0 88px; background: var(--night); color: #fff; overflow: hidden; }
.portfolio-hero-grid { display: grid; grid-template-columns: minmax(330px,.78fr) minmax(0,1.22fr); gap: 56px; align-items: center; }
.portfolio-intro h1 { margin: 18px 0 25px; font-size: clamp(3.2rem,5.4vw,5.8rem); line-height: .96; letter-spacing: -.06em; }
.portfolio-intro h1 span { color: var(--teal); }
.portfolio-intro > p { margin: 0; max-width: 590px; color: #c5d7d4; font-size: 1.12rem; }
.portfolio-meta { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 38px; border-top: 1px solid rgba(255,255,255,.18); }
.portfolio-meta div { padding: 20px 16px 0 0; }
.portfolio-meta b { display: block; color: var(--teal); font-size: 1.55rem; line-height: 1; }
.portfolio-meta span { display: block; margin-top: 7px; color: #9fb7b3; font-size: .75rem; line-height: 1.3; }
.blueprint-frame { margin: 0; border: 1px solid rgba(22,224,193,.38); background: #073d77; box-shadow: 0 28px 70px rgba(0,0,0,.28); }
.blueprint-frame img { display: block; width: 100%; height: auto; }
.blueprint-frame figcaption { display: flex; justify-content: space-between; gap: 15px; padding: 11px 14px; border-top: 1px solid rgba(255,255,255,.18); color: #b9d9eb; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.case-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
.case-grid h2 { margin: 13px 0 0; font-size: clamp(2.4rem,4.5vw,4.7rem); line-height: 1; letter-spacing: -.055em; }
.case-copy { padding-top: 6px; }
.case-copy p { margin: 0 0 22px; color: var(--muted); font-size: 1.08rem; }
.case-system { background: #e7f0ee; }
.case-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 45px; background: #b9cfca; border: 1px solid #b9cfca; }
.case-steps article { min-height: 310px; padding: 30px; background: var(--paper); }
.case-steps span { color: #128f7b; font-size: .74rem; font-weight: 800; letter-spacing: .14em; }
.case-steps h3 { margin: 58px 0 13px; font-size: 1.45rem; letter-spacing: -.035em; }
.case-steps p { margin: 0; color: var(--muted); }
.case-outcome { background: var(--ink); color: #fff; }
.heritage-case { background: #dff8f1; }
.heritage-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 85px; align-items: start; }
.heritage-heading h2 { margin: 14px 0 24px; font-size: clamp(2.5rem,4.7vw,4.9rem); line-height: .98; letter-spacing: -.055em; }
.heritage-heading > p { max-width: 480px; color: var(--muted); font-size: 1.05rem; }
.heritage-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.heritage-tags span { padding: 8px 12px; border: 1px solid #9acfc2; border-radius: 999px; color: #116e5f; font-size: .75rem; font-weight: 760; }
.heritage-story { padding: 38px; background: #fff; border: 1px solid #b9ddd4; box-shadow: 0 24px 70px rgba(7,22,21,.08); }
.heritage-lead { margin: 0 0 25px; font-size: 1.12rem; font-weight: 700; }
.heritage-story blockquote { margin: 28px 0; padding: 2px 0 2px 24px; border-left: 4px solid #13b99e; }
.heritage-story blockquote p { margin: 0; font-size: clamp(1.35rem,2.3vw,2rem); line-height: 1.38; letter-spacing: -.025em; }
.heritage-story cite { display: block; margin-top: 13px; color: var(--muted); font-size: .8rem; font-style: normal; font-weight: 730; }
.heritage-results { display: grid; gap: 1px; margin-top: 32px; background: var(--line); border: 1px solid var(--line); }
.heritage-results div { display: grid; grid-template-columns: 50px 1fr; gap: 15px; padding: 18px; background: #f7faf9; }
.heritage-results b { color: #128f7b; }
.heritage-results span { color: var(--muted); font-size: .9rem; }
.heritage-results strong { display: block; margin-bottom: 2px; color: var(--ink); }
.heritage-note { margin: 23px 0 0; padding-top: 19px; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.portfolio-projects { padding: 90px 0; background: #f3f6f5; }
.project-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; margin-top: 44px; }
.project-card { position: relative; min-height: 540px; padding: 36px; border: 1px solid var(--line); background: #fff; }
.project-card-dark { border-color: #173c38; background: #0b2522; color: #fff; }
.project-number { position: absolute; top: 30px; right: 32px; color: #9eb6b1; font-size: 2.6rem; font-weight: 800; line-height: 1; }
.project-label { color: #128f7b; font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.project-card h3 { max-width: 520px; margin: 52px 0 24px; font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.05; letter-spacing: -.045em; }
.project-card p { margin: 0 0 17px; color: var(--muted); font-size: 1rem; }
.project-card-dark p { color: #c3d5d1; }
.project-card ul { margin: 32px 0 0; padding: 25px 0 0; border-top: 1px solid var(--line); list-style: none; }
.project-card-dark ul { border-color: rgba(255,255,255,.16); }
.project-card li { position: relative; margin: 11px 0; padding-left: 20px; }
.project-card li::before { position: absolute; left: 0; color: var(--teal); content: "—"; }
.legal-hero { padding-bottom: 65px; }
.legal-updated { margin-top: 25px; color: #8fa9a4; font-size: .86rem; }
.legal-section { padding: 72px 0 100px; }
.legal-layout { display: grid; grid-template-columns: 230px minmax(0,760px); gap: 80px; align-items: start; }
.legal-layout aside { position: sticky; top: 100px; display: grid; gap: 10px; padding-top: 7px; }
.legal-layout aside strong { margin-bottom: 9px; }
.legal-layout aside a { color: var(--muted); font-size: .9rem; text-decoration: none; }
.legal-layout aside a:hover { color: var(--teal); }
.legal-copy h2 { margin: 0 0 15px; padding-top: 25px; font-size: 1.8rem; letter-spacing: -.035em; }
.legal-copy h2:first-child { padding-top: 0; }
.legal-copy p { margin: 0 0 18px; color: var(--muted); }
.legal-copy a { color: #087966; }
.outcome-list { border-top: 1px solid rgba(255,255,255,.18); }
.outcome-list div { display: grid; grid-template-columns: 52px 1fr; gap: 16px; padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.outcome-list span { color: var(--teal); font-size: .76rem; font-weight: 800; }
.outcome-list p { margin: 0; color: #bfd0cd; }
.outcome-list strong { color: #fff; }
@media (max-width: 900px) {
  .portfolio-hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .portfolio-intro { max-width: 720px; }
  .case-grid { grid-template-columns: 1fr; gap: 36px; }
  .heritage-grid { grid-template-columns: 1fr; gap: 38px; }
  .project-cards { grid-template-columns: 1fr; }
  .legal-layout { grid-template-columns: 1fr; gap: 32px; }
  .legal-layout aside { position: static; grid-template-columns: repeat(2,1fr); padding: 0 0 25px; border-bottom: 1px solid var(--line); }
  .legal-layout aside strong { grid-column: 1/-1; }
}
@media (max-width: 700px) {
  .portfolio-hero { padding: 58px 0 64px; }
  .portfolio-intro h1 { font-size: clamp(2.75rem,14vw,4.25rem); }
  .portfolio-intro > p { font-size: 1rem; }
  .portfolio-meta { grid-template-columns: 1fr; margin-top: 28px; }
  .portfolio-meta div { display: grid; grid-template-columns: 88px 1fr; align-items: baseline; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .portfolio-meta span { margin: 0; }
  .blueprint-frame { margin-inline: -7px; width: calc(100% + 14px); }
  .blueprint-frame figcaption { font-size: .58rem; }
  .case-steps { grid-template-columns: 1fr; }
  .case-steps article { min-height: 0; padding: 26px 24px; }
  .portfolio-projects { padding: 65px 0; }
  .heritage-story { padding: 27px 23px; }
  .project-card { min-height: 0; padding: 28px 24px; }
  .project-number { top: 25px; right: 24px; font-size: 2rem; }
  .case-steps h3 { margin: 28px 0 10px; }
  .case-grid h2 { font-size: clamp(2.35rem,12vw,3.6rem); }
}

/* Bulletin 100-G replacement finder */
.catalogue-xref-callout { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 18px; padding: 18px 20px; border: 1px solid rgba(22,224,193,.3); background: #0a211f; }
.catalogue-xref-callout span,.catalogue-xref-callout strong { display: block; }
.catalogue-xref-callout span { color: var(--teal); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.catalogue-xref-callout strong { margin-top: 4px; font-size: .9rem; }
.catalogue-xref-callout a { flex: none; color: #fff; font-size: .82rem; font-weight: 800; }
.migration-button { border-color: var(--teal) !important; color: var(--teal) !important; }
.migration-hero { padding-bottom: 88px; }
.migration-hero h1 span { color: var(--teal); }
.migration-hero .catalogue-actions { flex-wrap: wrap; }
.migration-library { padding: 82px 0 92px; background: #f3f6f5; }
.migration-library-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 40px; }
.migration-dataset { display: flex; flex-direction: column; min-height: 440px; padding: 36px; border: 1px solid #173c38; background: #0b2522; color: #fff; }
.migration-dataset-top { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.migration-dataset-top span { color: var(--teal); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.migration-live { padding: 5px 8px; border: 1px solid var(--teal); color: var(--teal) !important; font-size: .65rem !important; }
.migration-dataset h2 { max-width: 620px; margin: 62px 0 18px; font-size: clamp(2.2rem,3.5vw,3.7rem); line-height: .98; letter-spacing: -.055em; }
.migration-dataset > p { max-width: 690px; margin: 0; color: #bfd0cd; font-size: 1.02rem; }
.migration-stats { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0; }
.migration-stats span { padding: 8px 10px; border: 1px solid rgba(255,255,255,.18); color: #c5d6d2; font-size: .73rem; }
.migration-dataset .button { align-self: flex-start; margin-top: auto; }
.migration-roadmap { grid-column: 1/-1; padding: 36px; border: 1px solid var(--line); background: #fff; }
.migration-roadmap h2 { margin: 12px 0 18px; font-size: 2rem; letter-spacing: -.04em; }
.migration-roadmap > p { color: var(--muted); }
.migration-roadmap ul { margin: 30px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.migration-roadmap li { padding: 17px 0; border-bottom: 1px solid var(--line); color: #355a53; }
.migration-roadmap li strong { display: block; margin-bottom: 3px; color: var(--ink); }
.migration-help { background: #d9fff5; }
.migration-dataset-featured { grid-column: 1/-1; min-height: 420px; background: linear-gradient(135deg,#092421 0%,#103b35 100%); }
.migration-dataset-featured h2 { max-width: 840px; }

/* Drive application selector */
.drive-selector-hero{padding:68px 0 62px;background:#071615;color:#fff}.drive-selector-hero h1{margin:12px 0 22px;max-width:980px;font-size:clamp(2.8rem,6.2vw,6.4rem);line-height:.94;letter-spacing:-.065em}.drive-selector-hero h1 span{color:var(--teal)}.drive-selector-hero p{max-width:790px;margin:0;color:#bfd0cd;font-size:1.08rem}.drive-selector-shell{padding:44px 0 86px;background:#edf2f1}.drive-selector-layout{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.45fr);gap:20px;align-items:start}.drive-brief,.drive-output{border:1px solid #b9cac6;background:#fff}.drive-brief{position:sticky;top:82px;padding:25px}.drive-panel-title{display:flex;align-items:center;gap:13px;padding-bottom:20px;border-bottom:1px solid var(--line)}.drive-panel-title>span{display:grid;place-items:center;width:38px;height:38px;background:var(--night);color:var(--teal);font-weight:900}.drive-panel-title strong,.drive-panel-title small{display:block}.drive-panel-title small{margin-top:2px;color:var(--muted);font-size:.72rem}.drive-brief fieldset{margin:0;padding:22px 0;border:0;border-bottom:1px solid var(--line)}.drive-brief legend{padding:0;color:#0b6e5f;font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.drive-brief legend small{color:var(--muted);font-weight:650;text-transform:none}.drive-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:14px}.drive-field{display:grid;gap:6px}.drive-field-wide{grid-column:1/-1}.drive-field>span:first-child,.drive-dimension-inputs label>span:first-child,.footprint-controls>label>span{color:#385851;font-size:.75rem;font-weight:750}.drive-field small{color:#80948f;font-weight:500}.drive-field input,.drive-field select,.drive-dimension-inputs input,.footprint-controls>label input{width:100%;min-width:0;border:1px solid #b9cac6;border-radius:3px;background:#f9fbfa;color:var(--ink);padding:11px;font:inherit}.drive-field input:focus,.drive-field select:focus,.drive-dimension-inputs input:focus,.footprint-controls input:focus{outline:3px solid rgba(22,224,193,.23);border-color:#0e8f79}.drive-input-unit{display:grid;grid-template-columns:1fr auto;align-items:center}.drive-input-unit input{grid-area:1/1/2/3;padding-right:48px}.drive-input-unit b{grid-area:1/2;z-index:1;padding-right:10px;color:#55716b;font-size:.72rem}.drive-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.drive-checks label{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid #d7e1df;background:#f9fbfa;color:#28453f;font-size:.78rem;font-weight:700}.drive-checks input{accent-color:#0c8f79}.drive-dimension-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.drive-dimension-inputs label{display:grid;gap:5px}.drive-brief-note{margin-top:20px;padding:14px;border-left:4px solid #d5a215;background:#fff7dc;color:#57491e;font-size:.75rem;line-height:1.5}.drive-brief-note strong{display:block}.drive-output{padding:28px;min-height:750px}.drive-output-head{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:23px;border-bottom:1px solid var(--line)}.drive-output-head h2{margin:4px 0 0;font-size:2rem;letter-spacing:-.04em}.drive-count{color:#0b8d77;font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.drive-output-head button{border:1px solid #9eb4af;background:transparent;color:#23433d;padding:9px 12px;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.drive-summary{display:flex;justify-content:space-between;gap:15px;margin:18px 0;padding:13px 15px;background:#d9fff5}.drive-summary strong,.drive-summary span{font-size:.8rem}.drive-summary span{color:#46655f;text-align:right}.drive-results{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drive-result-card{display:flex;flex-direction:column;min-height:352px;padding:21px;border:1px solid var(--line);background:#fbfdfc}.drive-result-rank{display:flex;justify-content:space-between;gap:10px;color:#5b746e;font-size:.65rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.drive-result-rank span{color:#0b8d77}.drive-result-card h3{margin:30px 0 5px;font-size:1.55rem;letter-spacing:-.035em}.drive-position{color:#0b8d77;font-size:.79rem}.drive-result-card>p{margin:12px 0;color:var(--muted);font-size:.78rem;line-height:1.55}.drive-result-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}.drive-result-tags span{padding:6px 7px;background:#e8f1ef;color:#33554e;font-size:.64rem}.drive-caution{color:#8a6412!important}.drive-result-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.drive-result-actions button{border:0;background:var(--night);color:#fff;padding:9px 10px;font:inherit;font-size:.68rem;font-weight:800;cursor:pointer}.drive-result-actions a{color:#087966;font-size:.68rem;font-weight:800}.drive-no-result{grid-column:1/-1;padding:45px;border:1px solid #d6b356;background:#fff7dd}.drive-no-result p{color:#665827}.control-migration-section{padding:88px 0;background:#071d1b;color:#fff}.control-migration-section .section-head p{color:#aec5c0}.control-route-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:14px;margin-top:36px}.control-route-grid article{padding:27px;border:1px solid #214a45;background:#0c2926}.route-label{display:inline-block;padding:5px 8px;background:#d9fff5;color:#075e50;font-size:.66rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.route-label-amber{background:#fff0bb;color:#72560b}.control-route-grid ul{margin:22px 0 0;padding-left:18px;color:#c5d6d2;font-size:.82rem;line-height:1.55}.control-route-grid li+li{margin-top:8px}.plc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.plc-tags code{padding:7px 8px;background:#061614;color:var(--teal);font-size:.7rem}.plc-route p{color:#acc3be;font-size:.8rem;line-height:1.55}.footprint-section{padding:88px 0;background:#f3f6f5}.footprint-workspace{display:grid;grid-template-columns:.8fr 1.2fr;margin-top:38px;border:1px solid #b8c9c5;background:#fff}.footprint-controls{padding:30px;border-right:1px solid var(--line)}.footprint-controls>label{display:grid;gap:7px}.footprint-controls p{margin-top:23px;color:var(--muted);font-size:.78rem}.footprint-visual{padding:30px}.footprint-drawing{position:relative;height:310px;border-left:2px solid #98aca7;border-bottom:2px solid #98aca7;background-image:linear-gradient(#edf2f1 1px,transparent 1px),linear-gradient(90deg,#edf2f1 1px,transparent 1px);background-size:24px 24px;overflow:hidden}.footprint-box{position:absolute;left:9%;bottom:9%;display:grid;place-items:center;transition:.25s ease}.footprint-box span{padding:4px 6px;background:#fff;font-size:.65rem;font-weight:850;text-transform:uppercase}.footprint-old{border:3px solid #203e39;background:rgba(32,62,57,.09)}.footprint-new{left:auto;right:9%;border:3px solid #00bfa4;background:rgba(0,191,164,.14)}.footprint-new.is-empty{border-style:dashed;opacity:.55}.footprint-table{margin-top:18px}.footprint-table>div{display:grid;grid-template-columns:1fr repeat(3,minmax(80px,1fr));gap:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.72rem}.footprint-table span{color:#5f7771;text-transform:capitalize}.footprint-table b{font-weight:700}.footprint-table strong{text-align:right}.footprint-table .is-larger{color:#ad6210}.footprint-table .is-smaller{color:#087966}.drive-sources{padding:72px 0;background:#d9fff5}.drive-source-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.drive-source-links a{padding:8px 10px;border:1px solid #7abeb1;color:#075e50;font-size:.72rem;font-weight:800}
@media(max-width:980px){.drive-selector-layout{grid-template-columns:1fr}.drive-brief{position:static}.control-route-grid{grid-template-columns:1fr 1fr}.plc-route{grid-column:1/-1}.footprint-workspace{grid-template-columns:1fr}.footprint-controls{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:700px){.migration-dataset-featured{grid-column:auto}.drive-selector-hero{padding:48px 0}.drive-selector-layout{display:block}.drive-output{margin-top:16px;padding:20px}.drive-results,.control-route-grid{grid-template-columns:1fr}.plc-route{grid-column:auto}.drive-form-grid,.drive-checks{grid-template-columns:1fr}.drive-field-wide{grid-column:auto}.drive-summary{display:block}.drive-summary span{display:block;margin-top:5px;text-align:left}.drive-dimension-inputs{grid-template-columns:1fr}.footprint-visual,.footprint-controls{padding:21px}.footprint-drawing{height:260px}.footprint-table>div{grid-template-columns:1fr 1fr}.footprint-table strong{grid-column:2}.drive-output-head{align-items:center}.drive-result-card{min-height:320px}}
.xref-hero { padding: 70px 0 76px; background: #071615; color: #fff; }
.xref-hero-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 76px; align-items: center; }
.xref-intro h1 { margin: 12px 0 22px; max-width: 650px; font-size: clamp(3.1rem,6vw,6.3rem); line-height: .94; letter-spacing: -.065em; }
.xref-intro > p { max-width: 600px; color: #bdd0cc; font-size: 1.08rem; }
.xref-source-line { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.xref-source-line span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.17); color: #bcd0cc; font-size: .72rem; }
.xref-tool { padding: 30px; border: 1px solid rgba(255,255,255,.18); background: #0d2926; box-shadow: 0 25px 70px rgba(0,0,0,.24); }
.xref-tool-label { color: var(--teal); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.xref-tool h2 { margin: 7px 0 24px; font-size: clamp(2rem,3vw,3.2rem); line-height: 1; }
.xref-form label { display: block; margin-bottom: 7px; color: #a9c1bd; font-size: .78rem; font-weight: 750; }
.xref-form > div { display: grid; grid-template-columns: 1fr auto; }
.xref-form input { min-width: 0; min-height: 58px; border: 0; background: #fff; color: var(--ink); padding: 0 17px; font: inherit; font-size: 1.05rem; }
.xref-form input:focus { outline: 3px solid var(--teal); outline-offset: 2px; }
.xref-form button { border: 0; background: var(--teal); color: var(--ink); padding: 0 19px; font: inherit; font-weight: 820; cursor: pointer; }
.xref-result { min-height: 150px; margin-top: 14px; padding: 20px; border: 1px solid rgba(255,255,255,.13); background: #071d1b; }
.xref-result > p { margin: 0; color: #bdd0cc; }
.xref-result > strong { display: block; margin: 5px 0 10px; font-size: 1.4rem; }
.xref-result-status { display: inline-block; margin-bottom: 10px; padding: 4px 7px; background: var(--teal); color: var(--ink); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.xref-result-none { background: #ffd86b; }
.xref-result-old { display: block; color: #a9c1bd; font-size: .78rem; }
.xref-result-parts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 12px 0; background: rgba(255,255,255,.12); }
.xref-result-parts div { padding: 13px; background: #10302c; }
.xref-result-parts span,.xref-result-parts strong { display: block; }
.xref-result-parts span { color: #99b3ae; font-size: .68rem; text-transform: uppercase; }
.xref-result-parts strong { margin-top: 4px; color: #fff; font-size: 1.05rem; }
.xref-result a { display: inline-block; margin-top: 10px; color: var(--teal); font-size: .82rem; font-weight: 820; }
.xref-checks { padding: 62px 0; background: #d9fff5; }
.xref-checks-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.xref-checks h2 { margin: 12px 0 0; font-size: clamp(2.15rem,4vw,4rem); line-height: 1.02; letter-spacing: -.05em; }
.xref-check-list { border-top: 1px solid #91cec0; }
.xref-check-list p { margin: 0; padding: 18px 0; border-bottom: 1px solid #91cec0; color: #355a53; }
.xref-directory { padding: 78px 0 90px; }
.xref-directory-head { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 28px; }
.xref-directory h2 { margin: 8px 0 0; font-size: clamp(2.3rem,4.5vw,4.6rem); line-height: 1; letter-spacing: -.055em; }
.xref-directory-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; align-items: center; }
.xref-directory-actions span { color: #118f7a; font-size: .82rem; font-weight: 800; }
.xref-directory-actions a,.xref-directory-actions button { min-height: 40px; padding: 9px 13px; border: 1px solid #91aaa5; background: #fff; color: var(--ink); font: inherit; font-size: .76rem; font-weight: 800; cursor: pointer; }
.xref-table-wrap { overflow-x: auto; border: 1px solid var(--line); background: #fff; }
.xref-table { width: 100%; border-collapse: collapse; min-width: 780px; }
.xref-table-wide { min-width: 1500px; }
.xref-table caption { padding: 14px 18px; text-align: left; color: var(--muted); font-size: .78rem; }
.xref-table th,.xref-table td { padding: 17px 18px; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
.xref-table thead th { background: #0b2220; color: #fff; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.xref-table tbody th { color: #087966; font-size: .92rem; white-space: nowrap; }
.xref-table td { color: #526762; font-size: .84rem; }
.xref-table td strong,.xref-table td span { display: block; }
.xref-table td strong { color: var(--ink); }
.xref-table td span { margin-top: 3px; }
.xref-table tbody tr:hover { background: #edfaf6; }
.xref-empty { padding: 60px; border: 1px solid var(--line); background: #fff; text-align: center; }
.xref-empty strong { font-size: 1.35rem; }
.xref-empty p { color: var(--muted); }
.xref-source { padding: 76px 0; background: #0b2220; color: #fff; }
.xref-source-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; }
.xref-source h2 { margin: 12px 0 0; font-size: clamp(2.2rem,4vw,4.2rem); line-height: 1; letter-spacing: -.055em; }
.xref-source p { margin: 0 0 16px; color: #bfd0cd; }
.xref-source-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.xref-source-actions a { padding: 11px 14px; border: 1px solid rgba(255,255,255,.25); color: #fff; font-size: .78rem; font-weight: 800; }
.xref-source-actions a:last-child { border-color: var(--teal); background: var(--teal); color: var(--ink); }
.migration-result-description { margin: 6px 0 14px !important; color: #fff !important; font-weight: 700; }
.migration-result-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 12px 0; background: rgba(255,255,255,.12); }
.migration-result-grid > div { padding: 13px; background: #10302c; }
.migration-result-grid > div > span { display: block; min-height: 32px; color: #99b3ae; font-size: .68rem; text-transform: uppercase; }
.migration-result-option strong { display: block; margin-top: 7px; color: #fff; font-size: .94rem; line-height: 1.35; }
.migration-result-unavailable strong { color: #ffd86b; }
@media (max-width: 900px) {
  .xref-hero-layout,.xref-checks-layout,.xref-source-layout { grid-template-columns: 1fr; gap: 42px; }
  .xref-directory-head { align-items: flex-start; flex-direction: column; }
  .xref-directory-actions { justify-content: flex-start; }
  .migration-library-grid { grid-template-columns: 1fr; }
  .migration-roadmap { grid-column: auto; }
}
@media (max-width: 700px) {
  .catalogue-xref-callout { align-items: flex-start; flex-direction: column; }
  .xref-form > div { grid-template-columns: 1fr; }
  .xref-form button { min-height: 50px; }
  .xref-result-parts { grid-template-columns: 1fr; }
  .migration-result-grid { grid-template-columns: 1fr; }
  .xref-tool { padding: 22px; }
  .xref-hero { padding-top: 48px; }
  .xref-directory-actions { display: grid; justify-items: start; }
  .xref-table th,.xref-table td { padding: 14px; }
  .migration-dataset,.migration-roadmap { padding: 26px 22px; }
  .migration-dataset { min-height: 400px; }
  .migration-dataset h2 { margin-top: 42px; }
}
