:root {
  --bg: #06100e;
  --bg-deep: #030a09;
  --surface: #0a1917;
  --surface-2: #0d211e;
  --line: rgba(135, 204, 193, 0.18);
  --line-strong: rgba(80, 224, 203, 0.42);
  --text: #f2f8f6;
  --muted: #a9bbb7;
  --cyan: #45ded2;
  --cyan-2: #90fff3;
  --green: #72ed85;
  --amber: #f4ba62;
  --danger: #ff776f;
  --header: 76px;
  --max: 1240px;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.34);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg-deep); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    linear-gradient(rgba(74, 182, 164, 0.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74, 182, 164, 0.026) 1px, transparent 1px),
    var(--bg);
  background-size: 42px 42px;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0;
  overflow-x: hidden;
  opacity: 0;
  animation: pageIn .42s ease forwards;
}
body.is-leaving { animation: pageOut .22s ease forwards; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; }
::selection { color: #02100d; background: var(--cyan-2); }

@keyframes pageIn { to { opacity: 1; } }
@keyframes pageOut { to { opacity: 0; transform: translateY(7px); } }

.container { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; }
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  height: var(--header);
  border-bottom: 1px solid var(--line);
  background: rgba(3, 12, 11, 0.88);
  backdrop-filter: blur(18px);
}
.header-inner {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 30px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  min-width: 232px;
}
.brand img { width: 146px; height: auto; }
/* V45: reserve the original 215:56 logo footprint before decode and on error.
   These selectors do not apply to report-cover or print-edition branding. */
.site-header .brand {
  --site-logo-width: 146px;
  --site-logo-height: 38.028px;
  position: relative;
}
.site-header .brand > img {
  width: var(--site-logo-width);
  height: var(--site-logo-height);
  aspect-ratio: 215 / 56;
  object-fit: contain;
  flex: 0 0 auto;
}
.site-header .brand.is-logo-failed > img { visibility: hidden; }
.site-header .brand > .brand-load-fallback {
  position: absolute;
  left: 0;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--site-logo-width);
  height: var(--site-logo-height);
  transform: translateY(-50%);
  color: #f0f7f5;
  font-size: 23px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .06em;
  white-space: nowrap;
}
.site-header .brand > .brand-load-fallback[hidden] { display: none; }
/* V66: only navigation uses the approved high-resolution catalog artwork.
   The nested crop removes its transparent margins without changing the asset. */
.site-header .brand-logo-plate {
  display:block; flex:0 0 auto; position:relative;
  width:var(--site-logo-width); height:var(--site-logo-height);
  padding:2px 6px; border:1px solid transparent;
  background:transparent;
}
.site-header .brand-logo-crop {
  position:relative; display:block; width:100%; height:100%; overflow:hidden;
}
.site-header .brand-logo-crop > img {
  position:absolute; left:-12.5%; top:50%; transform:translateY(-50%);
  width:125%; max-width:none; height:auto; aspect-ratio:3 / 1;
  filter:brightness(1.6);
}
.site-header .brand-logo-crop > img[data-site-logo="v66"] { clip-path:inset(0 68% 0 0); }
.site-header .brand-logo-crop > .brand-logo-wordmark {
  clip-path:inset(0 0 0 32%); filter:brightness(2.5); pointer-events:none;
}
.site-header .brand.is-logo-failed .brand-logo-crop > img { visibility:hidden; }
.site-header .brand > .brand-logo-plate ~ .brand-load-fallback { color:#d8f5ff; font-size:20px; letter-spacing:0; }
.brand-copy {
  width: 112px;
  padding-left: 12px;
  border-left: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
  text-transform: uppercase;
}
.site-nav { margin-left: auto; display: flex; align-items: stretch; height: 100%; }
.site-nav a {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 72px;
  padding: 0 11px;
  color: #c9d5d2;
  font-size: 13px;
  white-space: nowrap;
  transition: color .2s ease;
}
.site-nav a::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 0;
  height: 2px;
  background: var(--cyan);
  transform: scaleX(0);
  transition: transform .25s ease;
}
.site-nav a:hover, .site-nav a.active { color: var(--cyan-2); }
.site-nav a.active::after { transform: scaleX(1); }
.header-tools { display: flex; align-items: center; gap: 8px; }
.lang-toggle, .menu-toggle, .icon-button {
  border: 1px solid var(--line-strong);
  background: rgba(68, 222, 210, 0.07);
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.lang-toggle {
  min-width: 62px;
  height: 38px;
  padding: 0 10px;
  color: var(--cyan-2);
  font-size: 12px;
}
.lang-toggle:hover, .icon-button:hover { background: rgba(68, 222, 210, 0.15); }
.menu-toggle {
  display: none;
  width: 40px;
  height: 40px;
  padding: 10px;
}
.menu-toggle span { display: block; height: 2px; margin: 4px 0; background: var(--cyan-2); }

main { padding-top: var(--header); }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: var(--cyan-2);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: 0; }
h1 { font-size: 66px; line-height: 1.06; margin-bottom: 24px; }
h2 { font-size: 38px; line-height: 1.18; margin-bottom: 18px; }
h3 { font-size: 21px; line-height: 1.35; margin-bottom: 10px; }
.lead { max-width: 760px; color: var(--muted); font-size: 18px; }
.section { padding: 92px 0; border-top: 1px solid rgba(135, 204, 193, 0.08); }
.section.alt { background: rgba(1, 8, 7, 0.32); }
.section-heading { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 44px; }
.section-heading > div:first-child { max-width: 760px; }
.section-heading p { margin-bottom: 0; color: var(--muted); }
.micro-note { color: #78918b; font-size: 12px; line-height: 1.6; }
.accent { color: var(--cyan-2); }
.energy { color: var(--green); }
.heat { color: var(--amber); }

.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid var(--line-strong);
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font-weight: 700;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.btn::after { content: "→"; color: var(--cyan); }
.btn.primary { border-color: transparent; color: #02110e; background: linear-gradient(90deg, var(--cyan), var(--green)); }
.btn.primary::after { color: #02110e; }
.btn:hover { transform: translateY(-2px); background: rgba(68, 222, 210, 0.11); }
.btn.primary:hover { background: linear-gradient(90deg, var(--cyan-2), #91f59b); }
.btn.small { min-height: 40px; padding: 0 15px; font-size: 13px; }
.btn.no-arrow::after { display: none; }

.home-hero {
  position: relative;
  min-height: 790px;
  display: grid;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  background: #04100e;
}
.hero-media {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: image-set(
    url("../images/hero-kitchen-desktop.avif") type("image/avif"),
    url("../images/hero-kitchen-desktop.webp") type("image/webp")
  ) center / cover no-repeat;
}
.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2, 10, 9, .98) 0%, rgba(3, 13, 11, .86) 42%, rgba(3, 13, 11, .25) 72%, rgba(3, 13, 11, .56) 100%),
    linear-gradient(0deg, var(--bg) 0%, transparent 24%, rgba(0, 0, 0, .16) 100%);
}
#flowCanvas { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }
.site-flow-canvas {
  position: fixed !important;
  inset: 0 !important;
  z-index: 20 !important;
  width: 100vw !important;
  height: 100vh !important;
  opacity: .58;
  mix-blend-mode: screen;
  pointer-events: none;
}
body > main, body > .site-footer { position: relative; }
.home-hero { isolation: auto; }
.hero-media { z-index: 0; }
.home-hero > .container,
.page-hero > .container,
.section > .container,
.site-footer > .container { position: relative; z-index: 30; }
.page-hero::after { z-index: 1; }
.site-header { isolation: isolate; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 28px; padding: 80px 0 64px; }
.hero-copy { max-width: 720px; }
.hero-copy .lead { max-width: 670px; }
.hero-value-logic { display: grid; grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr); align-items: stretch; max-width: 700px; margin: 26px 0 0; }
.hero-value-item { position: relative; min-width: 0; padding: 16px 18px 17px; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line); background: linear-gradient(105deg, rgba(255,255,255,.035), transparent); overflow: hidden; }
.hero-value-item::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; }
.hero-value-item::after { content: ""; position: absolute; top: 0; left: -42%; width: 38%; height: 1px; background: linear-gradient(90deg, transparent, currentColor, transparent); animation: valueSignal 4.8s ease-in-out infinite; pointer-events: none; }
.hero-value-item span { display: block; margin-bottom: 8px; font: 700 11px/1 Arial, sans-serif; letter-spacing: 0; text-transform: uppercase; }
.hero-value-item strong { display: block; color: #eef8f5; font-size: 17px; line-height: 1.55; }
.hero-value-item.challenge { color: var(--amber); }
.hero-value-item.challenge::before { background: var(--amber); box-shadow: 0 0 15px rgba(244,186,98,.38); }
.hero-value-item.solution { color: var(--green); }
.hero-value-item.solution::before { background: var(--green); box-shadow: 0 0 16px rgba(114,237,133,.42); }
.hero-value-flow { position: relative; display: block; align-self: center; height: 1px; background: linear-gradient(90deg, rgba(244,186,98,.35), var(--cyan), rgba(114,237,133,.55)); }
.hero-value-flow::after { content: ""; position: absolute; top: 50%; right: -1px; width: 7px; height: 7px; border-top: 1px solid var(--green); border-right: 1px solid var(--green); transform: translateY(-50%) rotate(45deg); }
.hero-value-flow::before { content: ""; position: absolute; top: -2px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: #eafff2; box-shadow: 0 0 12px var(--cyan); animation: valueFlow 2.4s ease-in-out infinite; }
@keyframes valueSignal { 0%,18% { transform: translateX(0); opacity: 0; } 44%,62% { opacity: 1; } 100% { transform: translateX(380%); opacity: 0; } }
@keyframes valueFlow { 0% { left: 0; opacity: .2; } 45% { opacity: 1; } 100% { left: calc(100% - 5px); opacity: .15; } }
@keyframes valueFlowMobile { 0% { top: 0; opacity: .2; } 45% { opacity: 1; } 100% { top: calc(100% - 5px); opacity: .15; } }
.hero-system { position: relative; min-height: 490px; }
.system-orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 420px;
  height: 420px;
  transform: translate(-48%, -50%);
  border: 1px solid rgba(69, 222, 210, .3);
  border-radius: 50%;
  box-shadow: inset 0 0 80px rgba(69, 222, 210, .06), 0 0 70px rgba(69, 222, 210, .08);
}
.system-orbit::before, .system-orbit::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(114, 237, 133, .25);
  border-radius: 50%;
  animation: orbitPulse 3.6s ease-in-out infinite;
}
.system-orbit::before { inset: 55px; }
.system-orbit::after { inset: 112px; animation-delay: -1.8s; }
@keyframes orbitPulse { 50% { opacity: .35; transform: scale(1.04); } }
.fan-core {
  position: absolute;
  inset: 145px;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: rgba(5, 24, 21, .78);
  box-shadow: 0 0 30px rgba(69, 222, 210, .25);
}
.fan-blade {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 64px;
  height: 22px;
  margin: -11px 0 0 -8px;
  transform-origin: 8px 11px;
  border-radius: 60% 16% 60% 16%;
  background: linear-gradient(90deg, var(--cyan), var(--green));
}
.fan-blade:nth-child(1) { transform: rotate(0deg); }
.fan-blade:nth-child(2) { transform: rotate(120deg); }
.fan-blade:nth-child(3) { transform: rotate(240deg); }
.fan-spinner { position: absolute; inset: 0; animation: spin 3.1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 42px; border: 1px solid var(--line); background: var(--line); }
.metric { min-height: 116px; padding: 19px 18px; background: rgba(5, 18, 16, .86); }
.metric strong { display: block; color: var(--text); font-size: 31px; line-height: 1.15; }
.metric span { display: block; margin-top: 9px; color: var(--muted); font-size: 12px; line-height: 1.45; }

.page-hero {
  position: relative;
  min-height: 390px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(3, 13, 11, .98), rgba(3, 13, 11, .7)),
    image-set(
      url("../images/hero-kitchen-desktop.avif") type("image/avif"),
      url("../images/hero-kitchen-desktop.webp") type("image/webp")
    ) 50% 42% / cover no-repeat;
}
.page-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 120px; background: linear-gradient(transparent, var(--bg)); }
.page-hero .container { position: relative; z-index: 1; padding: 54px 0; }
.page-hero h1 { max-width: 900px; font-size: 54px; }
.page-hero .lead { margin-bottom: 0; }
.hero-index { position: absolute; right: 0; bottom: -18px; color: rgba(144, 255, 243, .08); font-size: 180px; font-weight: 800; line-height: 1; }

.entry-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.entry-card {
  position: relative;
  min-height: 310px;
  padding: 28px;
  border-right: 1px solid var(--line);
  background: rgba(8, 25, 22, .64);
  overflow: hidden;
  transition: background .25s ease, transform .25s ease;
}
.entry-card::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 82%;
  height: 86%;
  background: radial-gradient(ellipse at center, rgba(144, 255, 243, .2) 0%, rgba(69, 222, 210, .095) 38%, transparent 72%);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  filter: blur(10px);
  opacity: .34;
  transform: translate(-50%, -50%) scale(.94);
  animation: entryDiamondPulse 5.2s ease-in-out infinite;
  transition: opacity .35s ease, transform .35s ease;
  pointer-events: none;
}
.entry-card:nth-child(2)::after { animation-delay: -1.3s; }
.entry-card:nth-child(3)::after { animation-delay: -2.6s; }
.entry-card:nth-child(4)::after { animation-delay: -3.9s; }
.entry-card:hover::after { opacity: .62; transform: translate(-50%, -50%) scale(1.04); }
.entry-card > * { position: relative; z-index: 1; }
.entry-card:last-child { border-right: 0; }
.entry-card:hover { z-index: 1; transform: translateY(-5px); background: rgba(11, 36, 31, .92); }
.entry-number { color: var(--cyan); font: 700 12px/1 monospace; }
.entry-card h3 { margin-top: 50px; }
.entry-card p { color: var(--muted); font-size: 14px; }
.text-link { position: absolute; left: 28px; bottom: 26px; color: var(--cyan-2); font-size: 13px; font-weight: 700; }
.text-link::after { content: " →"; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.split.wide-left { grid-template-columns: 1.15fr .85fr; }
.media-frame { position: relative; border: 1px solid var(--line); background: #091714; overflow: hidden; box-shadow: var(--shadow); }
.media-frame img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.media-frame img { transition: transform .65s ease, filter .65s ease; }
.media-frame:hover img { transform: scale(1.025); filter: brightness(1.06) contrast(1.02); }
.media-caption { padding: 12px 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.cabinet-viewer {
  min-width: 0;
  border: 1px solid var(--line);
  background: #091714;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.cabinet-detail-stage {
  position: relative;
  min-height: 390px;
  display: grid;
  place-items: center;
  padding: 18px;
  background:
    radial-gradient(circle at 50% 50%, rgba(69,222,210,.08), transparent 62%),
    #d8d9d5;
  overflow: hidden;
}
.cabinet-detail-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid transparent;
  background: linear-gradient(100deg, transparent 25%, rgba(255,255,255,.2), transparent 70%) border-box;
  transform: translateX(-110%);
  animation: cabinetScan 5.5s ease-in-out infinite;
  pointer-events: none;
}
.cabinet-detail-stage img {
  width: 100%;
  height: 350px;
  object-fit: contain;
  transition: opacity .25s ease, transform .55s cubic-bezier(.2,.8,.2,1);
}
.cabinet-viewer:hover .cabinet-detail-stage img { transform: scale(1.025); }
.cabinet-detail-caption {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 2;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(3,13,11,.86);
  color: #effcf8;
  font-size: 12px;
}
.cabinet-controls {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border-top: 1px solid var(--line);
}
.cabinet-tab {
  min-height: 50px;
  padding: 8px 10px;
  border: 0;
  background: #0a1917;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  transition: color .2s ease, background .2s ease;
}
.cabinet-tab:hover,
.cabinet-tab[aria-selected="true"] { color: var(--cyan-2); background: rgba(69,222,210,.1); }
.cabinet-reference {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-top: 1px solid var(--line);
}
.cabinet-reference img { width: 92px; height: 62px; object-fit: cover; object-position: center 72%; border: 1px solid var(--line); }
.cabinet-reference span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.product-gallery .cabinet-viewer { min-height: 100%; }
.product-gallery .cabinet-detail-stage { min-height: 260px; padding: 10px; }
.product-gallery .cabinet-detail-stage img { height: 240px; }
.fact-strip { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); margin-top: 38px; }
.fact { padding: 22px; border-right: 1px solid var(--line); }
.fact:last-child { border-right: 0; }
.fact strong { display: block; color: var(--green); font-size: 27px; }
.fact span { color: var(--muted); font-size: 12px; }

.capability-grid, .scenario-grid, .case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.capability, .scenario-card, .case-card {
  position: relative;
  border: 1px solid var(--line);
  background: rgba(8, 25, 22, .7);
  overflow: hidden;
}
.capability { min-height: 220px; padding: 26px; transition: border-color .25s ease, transform .25s ease; }
.capability:hover { border-color: var(--line-strong); transform: translateY(-4px); }
.capability::before { content: ""; display: block; width: 36px; height: 3px; margin-bottom: 32px; background: linear-gradient(90deg, var(--cyan), var(--green)); }
.capability p, .scenario-card p, .case-card p { color: var(--muted); font-size: 14px; }
.timeline { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-strong); margin-top: 62px; }
.timeline::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cyan), var(--green), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.5s cubic-bezier(.2,.8,.2,1);
}
.timeline.visible::after { transform: scaleX(1); }
.timeline-item { position: relative; padding: 34px 24px 0 0; }
.timeline-item::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
.timeline-item time { color: var(--green); font-size: 13px; font-weight: 700; }
.timeline-item p { color: var(--muted); font-size: 13px; }

.architecture { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.arch-layer { position: relative; min-height: 250px; padding: 28px 24px; border: 1px solid var(--line); background-color: rgba(7, 23, 20, .78); overflow: hidden; transition: border-color .25s ease, transform .25s ease; }
.arch-layer:hover { border-color: var(--line-strong); transform: translateY(-4px); }
.arch-layer::before {
  content: "";
  position: absolute;
  top: 0;
  left: -45%;
  width: 40%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cyan-2), transparent);
  animation: signalSweep 3.4s linear infinite;
}
.arch-layer:nth-child(2)::before { animation-delay: .45s; }
.arch-layer:nth-child(3)::before { animation-delay: .9s; }
.arch-layer:nth-child(4)::before { animation-delay: 1.35s; }
.arch-layer:not(:last-child)::after {
  content: "›";
  position: absolute;
  right: -12px;
  top: 50%;
  z-index: 2;
  color: var(--cyan);
  font-size: 30px;
  transform: translateY(-50%);
}
.arch-layer .layer-id { color: var(--cyan); font: 700 12px/1 monospace; }
.arch-layer h3 { margin-top: 42px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.tag { padding: 4px 8px; border: 1px solid var(--line); color: #b8c9c5; font-size: 11px; }

.product-gallery { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 14px; }
.product-shot { border: 1px solid var(--line); background: #081513; overflow: hidden; }
.product-shot img { width: 100%; height: 260px; object-fit: contain; background: #08110f; }
.product-shot:first-child img { object-fit: cover; }
.product-shot figcaption { min-height: 72px; padding: 14px 16px; color: var(--muted); font-size: 12px; border-top: 1px solid var(--line); }

.solution-switch { display: none; margin-bottom: 16px; }
.solution-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; perspective: 1000px; }
.solution-card { padding: 34px; border: 1px solid var(--line); background: rgba(8, 27, 23, .8); transition: transform .24s ease, border-color .24s ease; }
.solution-card:hover { transform: rotateX(1.5deg) rotateY(-1.5deg) translateY(-3px); border-color: var(--line-strong); }
.solution-card.b { border-color: rgba(114, 237, 133, .38); }
.solution-label { color: var(--cyan-2); font: 700 12px/1 monospace; }
.solution-card.b .solution-label { color: var(--green); }
.check-list { list-style: none; padding: 0; margin: 24px 0 0; }
.check-list li { position: relative; padding: 10px 0 10px 24px; border-top: 1px solid rgba(135, 204, 193, .1); color: var(--muted); font-size: 14px; }
.check-list li::before { content: ""; position: absolute; left: 0; top: 19px; width: 8px; height: 8px; background: var(--cyan); }
.solution-card.b .check-list li::before { background: var(--green); }

.system-compare {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 34px;
  padding: 34px;
  margin-bottom: 52px;
  border: 1px solid var(--line);
  background: rgba(5, 20, 18, .9);
}
.system-control { display: grid; align-content: start; gap: 22px; }
.system-mode-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.system-mode {
  min-height: 78px;
  padding: 12px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.02);
  color: var(--muted);
  cursor: pointer;
  text-align: left;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.system-mode strong { display: block; margin-bottom: 4px; color: inherit; font-size: 14px; }
.system-mode span { display: block; font-size: 11px; line-height: 1.4; }
.system-mode.active { border-color: var(--green); color: var(--text); background: rgba(114,237,133,.07); }
.system-range-wrap { position: relative; padding-top: 8px; }
.system-range-wrap::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  top: 35px;
  height: 1px;
  background: linear-gradient(90deg, var(--amber), var(--cyan), var(--green));
  opacity: .5;
  pointer-events: none;
}
.compare-live {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 320px;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at 50% 45%, rgba(69,222,210,.1), transparent 46%),
    rgba(3,13,12,.78);
}
.compare-fan { position: relative; display: grid; place-items: center; overflow: hidden; }
.compare-fan::before,
.compare-fan::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 65%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  transform-origin: left;
  animation: airflowPulse var(--flow-speed, 2.4s) linear infinite;
  opacity: var(--flow-opacity, .45);
}
.compare-fan::before { top: 40%; }
.compare-fan::after { top: 60%; animation-delay: -.8s; }
.compare-rotor {
  width: 148px;
  aspect-ratio: 1;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background:
    repeating-conic-gradient(from 0deg, rgba(69,222,210,.3) 0 11deg, transparent 11deg 35deg),
    radial-gradient(circle, #102421 0 22%, transparent 23% 100%);
  box-shadow: 0 0 42px rgba(69,222,210,.13);
  animation: spin var(--rotor-speed, 4s) linear infinite;
}
.compare-readout { display: grid; align-content: center; gap: 18px; padding: 28px; border-left: 1px solid var(--line); }
.compare-saving { color: var(--green); font-size: 58px; font-weight: 800; line-height: 1; }
.compare-saving small { display: block; margin-top: 8px; color: var(--muted); font-size: 11px; font-weight: 500; }
.compare-meter { display: grid; gap: 9px; }
.compare-meter span { color: var(--muted); font-size: 11px; }
.compare-meter-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.compare-meter-head b { color: var(--text); font: 700 13px/1 Consolas, monospace; }
.compare-meter-track { height: 9px; background: rgba(255,255,255,.05); overflow: hidden; }
.compare-meter-fill { display: block; position: relative; width: 0; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--green)); box-shadow: 0 0 18px rgba(69,222,210,.24); transition: width .65s cubic-bezier(.2,.8,.2,1); }
.compare-meter-fill::after,
.roi-chart-fill::after,
.chart-bar::after,
.saving-gauge-fill::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 22px;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72));
  opacity: .72;
}
#comparePowerFill { background: linear-gradient(90deg, #9b6727, var(--amber)); box-shadow: 0 0 18px rgba(244,186,98,.22); }
.compare-description { min-height: 76px; color: var(--muted); font-size: 13px; }

.motor-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--line);
  background: rgba(4,16,14,.84);
}
.motor-visual { position: relative; min-height: 430px; overflow: hidden; }
.motor-visual + .motor-visual { border-left: 1px solid var(--line); }
.motor-visual img { width: 100%; height: 300px; object-fit: contain; background: transparent; transition: transform .65s ease, filter .65s ease; }
.motor-visual:first-child img {
  background:
    radial-gradient(circle at 50% 52%, rgba(69,222,210,.11), transparent 57%),
    linear-gradient(135deg, rgba(255,255,255,.018), transparent);
}
.motor-visual:hover img { transform: scale(1.045); filter: brightness(1.08); }
.motor-copy { padding: 25px; }
.motor-copy h3 { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.motor-badge { color: var(--cyan); font: 700 11px/1 Consolas, monospace; white-space: nowrap; }
.motor-visual.axial .motor-badge { color: var(--green); }
.motor-facts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.motor-facts span { padding: 5px 8px; border: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.concept-note { position: absolute; top: 14px; right: 14px; padding: 5px 8px; background: rgba(3,10,9,.82); color: var(--muted); font-size: 10px; }

.law-panel { display: grid; grid-template-columns: 1.02fr .98fr; gap: 52px; align-items: center; }
.power-dial {
  position: relative;
  width: 320px;
  height: 320px;
  margin: 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(69, 222, 210, .12), transparent 62%);
}
.power-dial::before { content: ""; position: absolute; inset: 34px; border: 1px dashed rgba(114, 237, 133, .35); border-radius: 50%; animation: spin 18s linear infinite; }
.power-value { text-align: center; }
.power-value strong { display: block; color: var(--green); font-size: 64px; line-height: 1; }
.power-value span { color: var(--muted); font-size: 12px; }
.airflow-demo { --fan-duration: 1.85s; --flow-duration: 1.35s; --flow-opacity: .58; position: relative; display: grid; grid-template-columns: minmax(178px,1fr) minmax(90px,.6fr) minmax(145px,.82fr); grid-template-rows: auto auto; align-items: center; gap: 20px 8px; min-height: 410px; padding: 30px 26px 24px; border: 1px solid var(--line); background: radial-gradient(circle at 28% 42%, rgba(69,222,210,.1), transparent 36%), linear-gradient(145deg, rgba(14,40,35,.88), rgba(5,20,17,.9)); overflow: hidden; }
.airflow-demo::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(90deg, #000, transparent 88%); pointer-events: none; }
.fan-stage, .ac-load-stage, .conditioned-flow, .airflow-explainer { position: relative; z-index: 1; }
.fan-stage { display: grid; justify-items: center; gap: 12px; min-width: 0; }
.airflow-demo .power-dial { width: 210px; height: 210px; margin: 0; }
.airflow-demo .power-dial::before { inset: 24px; }
.airflow-demo .fan-spinner { animation-duration: var(--fan-duration); }
.airflow-demo .power-value strong { font-size: 38px; }
.fan-stage-label { display: grid; justify-items: center; gap: 4px; color: var(--muted); font-size: 11px; }
.fan-stage-label strong { color: var(--cyan-2); font: 700 13px/1.2 Consolas, monospace; }
.fan-stage-label b { color: var(--text); }
.conditioned-flow { height: 128px; overflow: hidden; }
.conditioned-flow::before, .conditioned-flow::after { content: ""; position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(69,222,210,.45), rgba(114,237,133,.35), transparent); opacity: var(--flow-opacity); }
.conditioned-flow::before { top: 35%; }
.conditioned-flow::after { top: 65%; }
.conditioned-flow i { position: absolute; left: -34%; width: 34%; height: 2px; border-radius: 50%; background: linear-gradient(90deg, transparent, rgba(156,255,242,.9)); box-shadow: 8px 0 12px rgba(69,222,210,.35); opacity: var(--flow-opacity); animation: conditionedFlow var(--flow-duration) linear infinite; }
.conditioned-flow i:nth-child(1) { top: 24%; animation-delay: -.1s; }
.conditioned-flow i:nth-child(2) { top: 38%; animation-delay: -.65s; }
.conditioned-flow i:nth-child(3) { top: 52%; animation-delay: -.35s; }
.conditioned-flow i:nth-child(4) { top: 66%; animation-delay: -.95s; }
.conditioned-flow i:nth-child(5) { top: 78%; animation-delay: -.5s; }
.conditioned-flow i:nth-child(6) { top: 46%; animation-delay: -1.15s; }
.flow-arrow { position: absolute; inset: 50% 0 auto; color: var(--green); font-size: 28px; text-align: center; text-shadow: 0 0 16px rgba(114,237,133,.55); transform: translateY(-50%); }
@keyframes conditionedFlow { from { transform: translateX(0) scaleX(.7); } to { transform: translateX(395%) scaleX(1.2); } }
@keyframes conditionedFlowMobile { from { transform: translateY(0) scaleY(.7); } to { transform: translateY(395%) scaleY(1.2); } }
.ac-load-stage { display: grid; justify-items: stretch; gap: 9px; min-width: 0; }
.ac-load-stage > span { color: var(--muted); font-size: 11px; }
.ac-load-stage > strong { color: var(--green); font: 700 15px/1.2 Consolas, monospace; }
.ac-unit { position: relative; height: 112px; border: 1px solid rgba(126,190,178,.32); background: linear-gradient(145deg, rgba(20,50,44,.98), rgba(8,26,23,.98)); box-shadow: 0 14px 32px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.04); }
.ac-unit span { position: absolute; top: 18px; left: 18px; right: 18px; height: 5px; border-radius: 3px; background: linear-gradient(90deg, var(--cyan), var(--green)); opacity: var(--flow-opacity); box-shadow: 0 0 14px rgba(69,222,210,.35); }
.ac-unit i { position: absolute; left: 18px; right: 18px; bottom: 24px; height: 30px; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.08); background: repeating-linear-gradient(90deg, transparent 0 8px, rgba(255,255,255,.08) 9px 10px); }
.ac-unit b { position: absolute; right: 14px; bottom: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); animation: endpointPulse 1.8s ease-in-out infinite; }
.ac-load-meter { height: 12px; border: 1px solid rgba(255,255,255,.06); background: rgba(0,0,0,.22); overflow: hidden; }
.ac-load-meter i { display: block; width: 60%; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--green), var(--amber)); background-size: 180% 100%; box-shadow: 0 0 14px rgba(114,237,133,.35); transition: width .35s ease; animation: energyCurrent 2.2s linear infinite; }
.airflow-explainer { grid-column: 1 / -1; margin: 0; padding-top: 16px; border-top: 1px solid var(--line); color: #b7cbc6; font-size: 12px; line-height: 1.6; }
.range-row { position: relative; margin: 30px 0; }
.range-hint { display: inline-flex; align-items: center; gap: 8px; margin-left: 12px; color: var(--cyan-2); font-size: 11px; animation: hintPulse 1.8s ease-in-out infinite; }
.range-hint::before { content: "↔"; font-size: 16px; }
input[type="range"] {
  --range-fill: 38%;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 28px;
  margin: 10px 0 3px;
  appearance: none;
  background: linear-gradient(90deg, var(--green) 0 var(--range-fill), rgba(255,255,255,.08) var(--range-fill) 100%);
  background-size: 100% 6px;
  background-position: center;
  background-repeat: no-repeat;
  cursor: ew-resize;
}
input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  width: 22px;
  height: 22px;
  border: 2px solid #d7fff8;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 6px rgba(114,237,133,.12), 0 0 22px rgba(114,237,133,.55);
}
input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 2px solid #d7fff8;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 6px rgba(114,237,133,.12), 0 0 22px rgba(114,237,133,.55);
}
.range-scale { display: flex; justify-content: space-between; color: var(--muted); font-size: 12px; }
.law-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 22px 0; background: var(--line); border: 1px solid var(--line); }
.law-stat { padding: 14px; background: var(--surface); }
.law-stat span { display: block; color: var(--muted); font-size: 10px; }
.law-stat strong { color: var(--green); font-size: 20px; }
.formula { padding: 15px 18px; border-left: 3px solid var(--cyan); background: rgba(69, 222, 210, .06); font-family: Consolas, monospace; }

.matrix-wrap { overflow-x: auto; border: 1px solid var(--line); }
.matrix { width: 100%; min-width: 760px; border-collapse: collapse; }
.matrix th, .matrix td { padding: 17px 18px; border-bottom: 1px solid var(--line); text-align: left; font-size: 13px; }
.matrix th { color: var(--cyan-2); background: rgba(69, 222, 210, .06); }
.matrix td { color: var(--muted); }
.matrix tr:last-child td { border-bottom: 0; }
.matrix .highlight td { color: var(--text); background: rgba(114, 237, 133, .045); }

.process { position: relative; counter-reset: process; display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); overflow: hidden; }
.process::after {
  content: "";
  position: absolute;
  top: 0;
  left: -18%;
  width: 18%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cyan-2), var(--green));
  animation: processSignal 5.2s linear infinite;
}
.process-step { position: relative; counter-increment: process; min-height: 240px; padding: 22px 18px; background-color: var(--surface); transition: background-color .25s ease, transform .25s ease; }
.process-step:hover { z-index: 2; background-color: #102824; transform: translateY(-5px); }
.process-step::before { content: "0" counter(process); color: var(--cyan); font: 700 12px/1 monospace; }
.process-step h3 { margin-top: 42px; font-size: 16px; }
.process-step p { color: var(--muted); font-size: 12px; }

.roi-panel { display: grid; grid-template-columns: 1fr .9fr; border: 1px solid var(--line); background: rgba(6, 22, 19, .8); }
.roi-form { padding: 34px; border-right: 1px solid var(--line); }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 12px; }
.field input, .field select {
  width: 100%;
  height: 46px;
  border: 1px solid var(--line);
  border-radius: 0;
  padding: 0 13px;
  color: var(--text);
  background: #061310;
  outline: none;
}
.field input:focus, .field select:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(69, 222, 210, .08); }
.roi-output { display: grid; align-content: center; gap: 24px; padding: 34px; }
.result { padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.result:last-of-type { border-bottom: 0; }
.result span { color: var(--muted); font-size: 12px; }
.result strong { display: block; margin-top: 4px; color: var(--green); font-size: 34px; line-height: 1.2; }
.result-updated .result strong { animation: resultFlash .42s ease; }
.roi-output[aria-live] { min-width: 0; }
.roi-charts { display: grid; gap: 20px; padding-top: 4px; }
.roi-chart { position: relative; padding: 22px; border: 1px solid var(--line); background: rgba(255,255,255,.025); overflow: hidden; }
.roi-chart h3 { margin: 0 0 18px; color: var(--cyan-2); font-size: 16px; }
.roi-energy-layout { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; align-items: center; }
.roi-donut {
  --roi-angle: 42.28%;
  --roi-progress: 42.28;
  position: relative;
  width: 106px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(4,18,15,.88);
  box-shadow: 0 0 30px rgba(114,237,133,.12);
}

/* Round 18 final overrides: business gauges, mobile numeric axes and true-DOM PDF capture.
   Keep this block at the end of the file so earlier project overrides cannot win. */
body[data-page="project"] #roiViewBusiness .margin-column {
  grid-template-rows:repeat(2,minmax(500px,auto)) !important;
  gap:22px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-card {
  min-height:500px !important;
  grid-template-rows:minmax(74px,auto) minmax(340px,auto) minmax(82px,auto) !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-visual {
  min-height:340px !important;
  overflow:visible !important;
  isolation:isolate;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut,
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut.has-live-ring {
  position:relative !important;
  width:var(--margin-gauge-size,244px) !important;
  height:var(--margin-gauge-size,244px) !important;
  min-width:var(--margin-gauge-size,244px) !important;
  min-height:var(--margin-gauge-size,244px) !important;
  aspect-ratio:1 !important;
  margin:auto !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .live-ring-svg {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
  z-index:1 !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut > div:not(.arc-label) {
  position:absolute !important;
  inset:17% !important;
  display:grid !important;
  place-content:center !important;
  justify-items:center !important;
  min-width:0 !important;
  min-height:0 !important;
  text-align:center !important;
  z-index:4 !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut strong {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  font-size:var(--margin-center-font,42px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-align:center !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label,
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut.has-live-ring .arc-label {
  position:absolute !important;
  left:var(--label-x-px,50%) !important;
  top:var(--label-y-px,50%) !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  display:block !important;
  width:max-content !important;
  max-width:none !important;
  min-width:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:var(--arc-label-font,17px) !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  z-index:6 !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label::before,
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label::after {
  content:none !important;
  display:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label.base,
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label-base {
  color:#82f3ed !important;
  text-shadow:0 0 11px rgba(107,236,231,.62) !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label.saving,
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label-saving {
  color:#92f48f !important;
  text-shadow:0 0 12px rgba(128,244,125,.64) !important;
}

/* Direct screenshot export inherits the exact live layout; never introduce a PDF-only grid. */
.pdf-real-dom-capture .pdf-export-copy,
.pdf-real-dom-capture .pdf-export-copy .roi-view,
.pdf-real-dom-capture .pdf-export-copy .equipment-card,
.pdf-real-dom-capture .pdf-export-copy .equipment-grid,
.pdf-real-dom-capture .pdf-export-copy .power-combobox {
  transform:none !important;
}
.pdf-real-dom-capture .pdf-export-copy .margin-column,
.pdf-real-dom-capture .pdf-export-copy .margin-card,
.pdf-real-dom-capture .pdf-export-copy .margin-visual,
.pdf-real-dom-capture .pdf-export-copy .margin-donut {
  overflow:visible !important;
}

@media (max-width:720px) {
  body[data-page="project"] #roiViewBusiness .margin-column {
    grid-template-rows:repeat(2,minmax(470px,auto)) !important;
    gap:20px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-column .margin-card {
    min-height:470px !important;
    grid-template-rows:minmax(68px,auto) minmax(320px,auto) minmax(76px,auto) !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-column .margin-visual {
    min-height:320px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-column .margin-donut strong {
    font-size:var(--margin-center-font,36px) !important;
  }

  /* Match the power number's usable centre: reserve the same 62px on the right. */
  body[data-page="project"] #roiViewInputs .equipment-hours,
  body[data-page="project"] #roiViewInputs .equipment-saving-rate {
    box-sizing:border-box !important;
    width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:62px !important;
    text-align:center !important;
    text-indent:0 !important;
    direction:ltr !important;
  }

  /* Currency text stays centred while a fixed arrow slot sits at the far right. */
  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    grid-template-columns:none !important;
    padding:0 38px 0 8px !important;
    overflow:hidden !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    grid-column:auto !important;
    width:auto !important;
    min-width:max-content !important;
    max-width:calc(100% - 4px) !important;
    text-align:center !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    line-height:1 !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot {
    position:absolute !important;
    top:0 !important;
    right:5px !important;
    bottom:0 !important;
    left:auto !important;
    display:grid !important;
    place-items:center !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:38px !important;
    height:100% !important;
    min-width:38px !important;
    padding:0 !important;
    margin:0 !important;
    transform:none !important;
    pointer-events:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot i {
    width:9px !important;
    height:9px !important;
    margin:0 !important;
    transform:rotate(45deg) !important;
    transform-origin:50% 50% !important;
  }
  body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-arrow-slot i {
    transform:rotate(225deg) !important;
  }
}

/* Round 20 physical EOF authority: commercial gauges, mobile input axes, and direct PDF capture. */
body[data-page="project"] #roiViewBusiness .margin-column {
  grid-template-rows:none !important;
  align-content:start !important;
  gap:22px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card {
  display:grid !important;
  grid-template-rows:auto auto auto !important;
  align-content:start !important;
  min-height:0 !important;
  padding:22px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card .margin-visual {
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  height:var(--margin-visual-height,360px) !important;
  min-height:var(--margin-visual-height,360px) !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut,
body[data-page="project"] #roiViewBusiness .combined-margin-donut,
body[data-page="project"] #roiViewBusiness .margin-donut.has-live-ring,
body[data-page="project"] #roiViewBusiness .combined-margin-donut.has-live-ring {
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:var(--margin-gauge-size,258px) !important;
  height:var(--margin-gauge-size,258px) !important;
  min-width:var(--margin-gauge-size,258px) !important;
  min-height:var(--margin-gauge-size,258px) !important;
  aspect-ratio:1 !important;
  margin:auto !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .live-ring-svg,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .live-ring-svg {
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div:not(.arc-label),
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div:not(.arc-label) {
  position:absolute !important;
  inset:17% !important;
  z-index:4 !important;
  display:grid !important;
  place-content:center !important;
  justify-items:center !important;
  min-width:0 !important;
  text-align:center !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div:not(.arc-label) strong,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div:not(.arc-label) strong {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  font-size:var(--margin-center-font,42px) !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label {
  position:absolute !important;
  left:var(--label-x-px,50%) !important;
  top:var(--label-y-px,50%) !important;
  right:auto !important;
  bottom:auto !important;
  z-index:8 !important;
  display:block !important;
  width:max-content !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:1px 3px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:var(--arc-label-font,17px) !important;
  font-weight:800 !important;
  font-style:normal !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
  transform:translate(-50%,-50%) !important;
  pointer-events:none !important;
  animation:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label::before,
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label::after,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label::before,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label::after {
  content:none !important;
  display:none !important;
}
body[data-page="project"] #roiViewBusiness .arc-label.base {
  color:#79eee8 !important;
  text-shadow:0 0 7px rgba(69,222,210,.9),0 0 16px rgba(69,222,210,.48) !important;
}
body[data-page="project"] #roiViewBusiness .arc-label.saving {
  color:#91f59d !important;
  text-shadow:0 0 7px rgba(114,237,133,.9),0 0 17px rgba(114,237,133,.5) !important;
}

.pdf-real-dom-capture .pdf-export-copy,
.pdf-real-dom-capture .pdf-export-copy .roi-view,
.pdf-real-dom-capture .pdf-export-copy .equipment-card,
.pdf-real-dom-capture .pdf-export-copy .equipment-row,
.pdf-real-dom-capture .pdf-export-copy .equipment-grid,
.pdf-real-dom-capture .pdf-export-copy .power-combobox {
  transform:none !important;
}
.pdf-real-dom-capture .pdf-operation-control {
  visibility:hidden !important;
  pointer-events:none !important;
}
.pdf-real-dom-capture .pdf-menu-layer {
  display:none !important;
}
.pdf-real-dom-capture #roiViewBusiness .margin-comparison-card,
.pdf-real-dom-capture #roiViewBusiness .margin-visual,
.pdf-real-dom-capture #roiViewBusiness .margin-donut,
.pdf-real-dom-capture #roiViewBusiness .combined-margin-donut {
  overflow:visible !important;
}

@media (max-width:720px) {
  body[data-page="project"] #roiViewBusiness .margin-column {
    gap:20px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-comparison-card {
    grid-template-rows:auto auto auto !important;
    min-height:0 !important;
    padding:20px 15px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-comparison-card .margin-visual {
    height:var(--margin-visual-height,322px) !important;
    min-height:var(--margin-visual-height,322px) !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-donut > div:not(.arc-label) strong,
  body[data-page="project"] #roiViewBusiness .combined-margin-donut > div:not(.arc-label) strong {
    font-size:var(--margin-center-font,36px) !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-donut .arc-label,
  body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label {
    font-size:var(--arc-label-font,14px) !important;
  }

  body[data-page="project"] #roiViewInputs .power-combobox {
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 62px !important;
    grid-template-rows:48px !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    min-height:48px !important;
    overflow:visible !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-power {
    position:relative !important;
    inset:auto !important;
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 12px !important;
    border-right:0 !important;
    text-align:center !important;
    font-size:var(--mobile-power-font-size,16px) !important;
    line-height:48px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    direction:ltr !important;
    text-indent:0 !important;
    appearance:textfield !important;
    box-sizing:border-box !important;
  }
  body[data-page="project"] #roiViewInputs .power-menu-toggle {
    position:relative !important;
    inset:auto !important;
    grid-column:2 !important;
    grid-row:1 !important;
    width:62px !important;
    min-width:62px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-hours,
  body[data-page="project"] #roiViewInputs .equipment-saving-rate {
    box-sizing:border-box !important;
    width:100% !important;
    margin:0 !important;
    padding:0 12px !important;
    text-align:center !important;
    text-indent:0 !important;
    direction:ltr !important;
  }

  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    position:relative !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) 42px !important;
    align-items:center !important;
    justify-items:stretch !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle::before {
    content:"" !important;
    display:block !important;
    grid-column:1 !important;
    width:42px !important;
    height:1px !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
    position:static !important;
    grid-column:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:clamp(11px,3.25vw,13px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    transform:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot {
    position:static !important;
    grid-column:3 !important;
    grid-row:1 !important;
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    min-width:42px !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    pointer-events:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot i {
    width:9px !important;
    height:9px !important;
    margin:0 !important;
    transform:rotate(45deg) !important;
    transform-origin:50% 50% !important;
  }
  body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-arrow-slot i {
    transform:rotate(225deg) !important;
  }
}

/* Round 19 final authority. Keep this block at the physical end of the file. */
body[data-page="project"] #roiViewBusiness .margin-column {
  grid-template-rows:none !important;
  align-content:start !important;
  gap:22px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card {
  display:grid !important;
  grid-template-rows:auto auto auto !important;
  align-content:start !important;
  min-height:0 !important;
  padding:22px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card .margin-visual {
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  height:var(--margin-visual-height,360px) !important;
  min-height:var(--margin-visual-height,360px) !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut,
body[data-page="project"] #roiViewBusiness .combined-margin-donut,
body[data-page="project"] #roiViewBusiness .margin-donut.has-live-ring,
body[data-page="project"] #roiViewBusiness .combined-margin-donut.has-live-ring {
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:var(--margin-gauge-size,258px) !important;
  height:var(--margin-gauge-size,258px) !important;
  min-width:var(--margin-gauge-size,258px) !important;
  min-height:var(--margin-gauge-size,258px) !important;
  aspect-ratio:1 !important;
  margin:auto !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .live-ring-svg,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .live-ring-svg {
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div:not(.arc-label),
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div:not(.arc-label) {
  position:absolute !important;
  inset:17% !important;
  z-index:4 !important;
  display:grid !important;
  place-content:center !important;
  justify-items:center !important;
  min-width:0 !important;
  text-align:center !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div:not(.arc-label) strong,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div:not(.arc-label) strong {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  font-size:var(--margin-center-font,42px) !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label {
  position:absolute !important;
  left:var(--label-x-px,50%) !important;
  top:var(--label-y-px,50%) !important;
  right:auto !important;
  bottom:auto !important;
  z-index:8 !important;
  display:block !important;
  width:max-content !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:1px 3px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:var(--arc-label-font,17px) !important;
  font-weight:800 !important;
  font-style:normal !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
  transform:translate(-50%,-50%) !important;
  pointer-events:none !important;
  animation:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label::before,
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label::after,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label::before,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label::after {
  content:none !important;
  display:none !important;
}
body[data-page="project"] #roiViewBusiness .arc-label.base {
  color:#79eee8 !important;
  text-shadow:0 0 7px rgba(69,222,210,.9),0 0 16px rgba(69,222,210,.48) !important;
}
body[data-page="project"] #roiViewBusiness .arc-label.saving {
  color:#91f59d !important;
  text-shadow:0 0 7px rgba(114,237,133,.9),0 0 17px rgba(114,237,133,.5) !important;
}

/* The PDF clone is the live DOM at the current viewport, with operation layers hidden. */
.pdf-real-dom-capture .pdf-export-copy,
.pdf-real-dom-capture .pdf-export-copy .roi-view,
.pdf-real-dom-capture .pdf-export-copy .equipment-card,
.pdf-real-dom-capture .pdf-export-copy .equipment-row,
.pdf-real-dom-capture .pdf-export-copy .equipment-grid,
.pdf-real-dom-capture .pdf-export-copy .power-combobox {
  transform:none !important;
}
.pdf-real-dom-capture .pdf-operation-control {
  visibility:hidden !important;
  pointer-events:none !important;
}
.pdf-real-dom-capture .pdf-menu-layer {
  display:none !important;
}
.pdf-real-dom-capture #roiViewBusiness .margin-comparison-card,
.pdf-real-dom-capture #roiViewBusiness .margin-visual,
.pdf-real-dom-capture #roiViewBusiness .margin-donut,
.pdf-real-dom-capture #roiViewBusiness .combined-margin-donut {
  overflow:visible !important;
}

@media (max-width:720px) {
  body[data-page="project"] #roiViewBusiness .margin-column {
    gap:20px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-comparison-card {
    grid-template-rows:auto auto auto !important;
    min-height:0 !important;
    padding:20px 15px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-comparison-card .margin-visual {
    height:var(--margin-visual-height,322px) !important;
    min-height:var(--margin-visual-height,322px) !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-donut > div:not(.arc-label) strong,
  body[data-page="project"] #roiViewBusiness .combined-margin-donut > div:not(.arc-label) strong {
    font-size:var(--margin-center-font,36px) !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-donut .arc-label,
  body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label {
    font-size:var(--arc-label-font,14px) !important;
  }

  body[data-page="project"] #roiViewInputs .equipment-hours,
  body[data-page="project"] #roiViewInputs .equipment-saving-rate {
    box-sizing:border-box !important;
    width:100% !important;
    margin:0 !important;
    padding-left:12px !important;
    padding-right:74px !important;
    text-align:center !important;
    text-indent:0 !important;
    direction:ltr !important;
  }

  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    position:relative !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) 42px !important;
    align-items:center !important;
    justify-items:stretch !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle::before {
    content:"";
    grid-column:1;
    width:42px;
    height:1px;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
    position:static !important;
    grid-column:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    color:#f3fbf8 !important;
    font-size:clamp(11px,3.25vw,13px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    transform:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot {
    position:static !important;
    grid-column:3 !important;
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    height:100% !important;
    min-width:42px !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    pointer-events:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot i {
    width:9px !important;
    height:9px !important;
    margin:0 !important;
    transform:rotate(45deg) !important;
    transform-origin:50% 50% !important;
  }
  body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-arrow-slot i {
    transform:rotate(225deg) !important;
  }
}

/* Round 19 final authority: keep this block at the physical end of the file. */
body[data-page="project"] #roiViewBusiness .margin-column {
  grid-template-rows:none !important;
  align-content:start !important;
  gap:22px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card {
  display:grid !important;
  grid-template-rows:minmax(74px,auto) var(--margin-visual-height,348px) minmax(82px,auto) !important;
  min-height:calc(var(--margin-visual-height,348px) + 156px) !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card .margin-visual {
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:var(--margin-visual-height,348px) !important;
  min-height:var(--margin-visual-height,348px) !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut,
body[data-page="project"] #roiViewBusiness .combined-margin-donut {
  position:relative !important;
  flex:0 0 var(--margin-gauge-size,258px) !important;
  width:var(--margin-gauge-size,258px) !important;
  height:var(--margin-gauge-size,258px) !important;
  min-width:var(--margin-gauge-size,258px) !important;
  min-height:var(--margin-gauge-size,258px) !important;
  aspect-ratio:1 !important;
  margin:auto !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .live-ring-svg,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .live-ring-svg {
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div {
  position:absolute !important;
  inset:18% !important;
  z-index:4 !important;
  display:grid !important;
  place-content:center !important;
  justify-items:center !important;
  min-width:0 !important;
  text-align:center !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div strong,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div strong {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  font-size:var(--margin-center-font,44px) !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label {
  position:absolute !important;
  left:var(--label-x-px,50%) !important;
  top:var(--label-y-px,50%) !important;
  right:auto !important;
  bottom:auto !important;
  z-index:8 !important;
  display:block !important;
  width:max-content !important;
  max-width:none !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:translate(-50%,-50%) !important;
  font-size:var(--arc-label-font,17px) !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label::before,
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label::after,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label::before,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label::after {
  content:none !important;
  display:none !important;
}
body[data-page="project"] #roiViewBusiness .arc-label.base {
  color:#82f3ed !important;
  text-shadow:0 0 11px rgba(107,236,231,.62) !important;
}
body[data-page="project"] #roiViewBusiness .arc-label.saving {
  color:#92f48f !important;
  text-shadow:0 0 12px rgba(128,244,125,.64) !important;
}
.pdf-real-dom-capture #roiViewBusiness .margin-comparison-card,
.pdf-real-dom-capture #roiViewBusiness .margin-visual,
.pdf-real-dom-capture #roiViewBusiness .margin-donut,
.pdf-real-dom-capture #roiViewBusiness .combined-margin-donut {
  overflow:visible !important;
}

@media (max-width:720px) {
  body[data-page="project"] #roiViewBusiness .margin-comparison-card {
    grid-template-rows:minmax(68px,auto) var(--margin-visual-height,322px) minmax(76px,auto) !important;
    min-height:calc(var(--margin-visual-height,322px) + 144px) !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-comparison-card .margin-visual {
    height:var(--margin-visual-height,322px) !important;
    min-height:var(--margin-visual-height,322px) !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-field input.equipment-hours,
  body[data-page="project"] #roiViewInputs .equipment-field input.equipment-saving-rate {
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    margin:0 !important;
    padding:0 62px 0 0 !important;
    text-align:center !important;
    text-indent:0 !important;
    direction:ltr !important;
    line-height:normal !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    position:relative !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) 42px !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
    grid-column:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    line-height:1 !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot {
    position:static !important;
    grid-column:3 !important;
    grid-row:1 !important;
    display:grid !important;
    place-items:center end !important;
    align-self:stretch !important;
    width:42px !important;
    min-width:42px !important;
    height:100% !important;
    min-height:0 !important;
    padding:0 12px 0 0 !important;
    margin:0 !important;
    transform:none !important;
    pointer-events:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot i {
    display:block !important;
    width:9px !important;
    height:9px !important;
    margin:0 !important;
    transform:rotate(45deg) !important;
    transform-origin:50% 50% !important;
  }
  body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-arrow-slot i {
    transform:rotate(225deg) !important;
  }
}

/* Round 19: one authoritative business-gauge and mobile-control layout. */
body[data-page="project"] #roiViewBusiness .margin-column {
  grid-template-rows:none !important;
  align-content:start !important;
  gap:22px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card {
  display:grid !important;
  grid-template-rows:minmax(74px,auto) var(--margin-visual-height,348px) minmax(82px,auto) !important;
  min-height:calc(var(--margin-visual-height,348px) + 156px) !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card .margin-visual {
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:var(--margin-visual-height,348px) !important;
  height:var(--margin-visual-height,348px) !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut,
body[data-page="project"] #roiViewBusiness .combined-margin-donut {
  position:relative !important;
  flex:0 0 var(--margin-gauge-size,258px) !important;
  width:var(--margin-gauge-size,258px) !important;
  height:var(--margin-gauge-size,258px) !important;
  min-width:var(--margin-gauge-size,258px) !important;
  min-height:var(--margin-gauge-size,258px) !important;
  aspect-ratio:1 !important;
  margin:auto !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .live-ring-svg,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .live-ring-svg {
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div {
  position:absolute !important;
  inset:18% !important;
  z-index:4 !important;
  display:grid !important;
  place-content:center !important;
  justify-items:center !important;
  min-width:0 !important;
  text-align:center !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div strong,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div strong {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  font-size:var(--margin-center-font,44px) !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label {
  position:absolute !important;
  left:var(--label-x-px,50%) !important;
  top:var(--label-y-px,50%) !important;
  right:auto !important;
  bottom:auto !important;
  z-index:8 !important;
  display:block !important;
  width:max-content !important;
  max-width:none !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:translate(-50%,-50%) !important;
  font-size:var(--arc-label-font,17px) !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label::before,
body[data-page="project"] #roiViewBusiness .margin-donut .arc-label::after,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label::before,
body[data-page="project"] #roiViewBusiness .combined-margin-donut .arc-label::after {
  content:none !important;
  display:none !important;
}
body[data-page="project"] #roiViewBusiness .arc-label.base {
  color:#82f3ed !important;
  text-shadow:0 0 11px rgba(107,236,231,.62) !important;
}
body[data-page="project"] #roiViewBusiness .arc-label.saving {
  color:#92f48f !important;
  text-shadow:0 0 12px rgba(128,244,125,.64) !important;
}
.pdf-real-dom-capture #roiViewBusiness .margin-comparison-card,
.pdf-real-dom-capture #roiViewBusiness .margin-visual,
.pdf-real-dom-capture #roiViewBusiness .margin-donut,
.pdf-real-dom-capture #roiViewBusiness .combined-margin-donut {
  overflow:visible !important;
}

@media (max-width:720px) {
  body[data-page="project"] #roiViewBusiness .margin-comparison-card {
    grid-template-rows:minmax(68px,auto) var(--margin-visual-height,322px) minmax(76px,auto) !important;
    min-height:calc(var(--margin-visual-height,322px) + 144px) !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-comparison-card .margin-visual {
    min-height:var(--margin-visual-height,322px) !important;
    height:var(--margin-visual-height,322px) !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-field input.equipment-hours,
  body[data-page="project"] #roiViewInputs .equipment-field input.equipment-saving-rate {
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    margin:0 !important;
    padding:0 62px 0 0 !important;
    border-radius:0 !important;
    text-align:center !important;
    text-indent:0 !important;
    direction:ltr !important;
    line-height:normal !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    position:relative !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) 42px !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
    grid-column:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    line-height:1 !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot {
    position:static !important;
    grid-column:3 !important;
    grid-row:1 !important;
    display:grid !important;
    place-items:center end !important;
    align-self:stretch !important;
    width:42px !important;
    min-width:42px !important;
    height:100% !important;
    min-height:0 !important;
    padding:0 12px 0 0 !important;
    margin:0 !important;
    transform:none !important;
    pointer-events:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot i {
    display:block !important;
    width:9px !important;
    height:9px !important;
    margin:0 !important;
    transform:rotate(45deg) !important;
    transform-origin:50% 50% !important;
  }
  body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-arrow-slot i {
    transform:rotate(225deg) !important;
  }
}

/* Final mobile numeric axes: the value area matches the power input area exactly. */
@media (max-width:720px) {
  body[data-page="project"] #roiViewInputs .equipment-hours,
  body[data-page="project"] #roiViewInputs .equipment-saving-rate {
    padding:0 62px 0 0 !important;
    text-align:center !important;
    line-height:48px !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    padding-left:46px !important;
    padding-right:46px !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

/* Project final authority: gauges, mobile numeric axes and real-DOM PDF capture. */
body[data-page="project"] #roiViewBusiness .margin-column {
  grid-template-rows:repeat(2,minmax(468px,auto)) !important;
  gap:20px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card {
  display:grid !important;
  grid-template-rows:minmax(70px,auto) minmax(310px,auto) minmax(78px,auto) !important;
  min-height:468px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-card-head {
  min-height:70px !important;
  align-content:start !important;
}
body[data-page="project"] #roiViewBusiness .margin-visual {
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:310px !important;
  overflow:visible !important;
  isolation:isolate;
}
body[data-page="project"] #roiViewBusiness .margin-donut,
body[data-page="project"] #roiViewBusiness .combined-margin-donut {
  position:relative !important;
  width:var(--margin-gauge-size,244px) !important;
  height:var(--margin-gauge-size,244px) !important;
  min-width:var(--margin-gauge-size,244px) !important;
  min-height:var(--margin-gauge-size,244px) !important;
  margin:0 auto !important;
  overflow:visible !important;
  flex:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div {
  position:absolute !important;
  z-index:8 !important;
  inset:18% !important;
  display:grid !important;
  place-content:center !important;
  justify-items:center !important;
  min-width:0 !important;
  text-align:center !important;
  pointer-events:none;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div strong,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div strong {
  display:block !important;
  max-width:100% !important;
  margin:0 !important;
  color:inherit;
  font-size:var(--margin-center-font,36px) !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div span,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div span {
  margin-top:8px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}
body[data-page="project"] #roiViewBusiness .arc-label,
body[data-page="project"] #roiViewBusiness .arc-label[data-side] {
  position:absolute !important;
  z-index:12 !important;
  top:var(--label-y-px,50%) !important;
  left:var(--label-x-px,50%) !important;
  right:auto !important;
  bottom:auto !important;
  display:block !important;
  width:max-content !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#70e4df !important;
  font-size:var(--margin-label-font,16px) !important;
  font-style:normal !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  transform:translate(-50%,-50%) !important;
  text-shadow:0 0 10px rgba(80,225,216,.55) !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .arc-label::before,
body[data-page="project"] #roiViewBusiness .arc-label::after { content:none !important; display:none !important; }
body[data-page="project"] #roiViewBusiness .arc-label.saving {
  color:#8df19a !important;
  text-shadow:0 0 10px rgba(114,237,133,.58) !important;
}
body[data-page="project"] #roiViewBusiness .margin-legend {
  position:relative !important;
  z-index:10 !important;
  min-height:78px !important;
}

/* Direct PDF capture keeps the live module geometry. */
.pdf-real-dom-capture .pdf-export-copy,
.pdf-real-dom-capture .pdf-export-copy * { box-sizing:border-box !important; }
.pdf-real-dom-capture .pdf-export-copy { margin:0 !important; transform:none !important; }
.pdf-real-dom-capture .pdf-operation-control { visibility:hidden !important; pointer-events:none !important; }
.pdf-real-dom-capture .pdf-menu-layer { display:none !important; }

@media (max-width:720px) {
  body[data-page="project"] #roiViewBusiness .margin-column {
    grid-template-rows:repeat(2,minmax(450px,auto)) !important;
    gap:18px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-comparison-card {
    grid-template-rows:minmax(68px,auto) minmax(296px,auto) minmax(76px,auto) !important;
    min-height:450px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-visual { min-height:296px !important; }
  body[data-page="project"] #roiViewBusiness .margin-donut,
  body[data-page="project"] #roiViewBusiness .combined-margin-donut {
    width:var(--margin-gauge-size,224px) !important;
    height:var(--margin-gauge-size,224px) !important;
    min-width:var(--margin-gauge-size,224px) !important;
    min-height:var(--margin-gauge-size,224px) !important;
  }

  body[data-page="project"] #roiViewInputs .equipment-hours,
  body[data-page="project"] #roiViewInputs .equipment-saving-rate {
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    padding-left:12px !important;
    padding-right:74px !important;
    text-align:center !important;
    text-indent:0 !important;
    line-height:48px !important;
    direction:ltr !important;
  }

  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    padding:0 48px !important;
    overflow:hidden !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
    line-height:1 !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    transform:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot {
    position:absolute !important;
    z-index:4 !important;
    top:0 !important;
    right:4px !important;
    display:grid !important;
    place-items:center !important;
    width:40px !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    pointer-events:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot i {
    position:static !important;
    margin:0 !important;
    transform:rotate(45deg) !important;
    transform-origin:50% 50% !important;
  }
  body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-arrow-slot i {
    transform:rotate(225deg) !important;
  }
}
.roi-donut::before { content: ""; position: absolute; inset: 14px; border-radius: 50%; background: #091714; border: 1px solid var(--line); }
.roi-donut-svg { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; overflow: visible; transform: rotate(-90deg); }
.roi-donut-track,
.roi-donut-progress { fill: none; stroke-width: 11; }
.roi-donut-track { stroke: rgba(126,190,178,.13); }
.roi-donut-progress { stroke: var(--green); stroke-linecap: round; stroke-dasharray: 42.28 57.72; filter: drop-shadow(0 0 5px rgba(114,237,133,.5)); transition: stroke-dasharray .6s cubic-bezier(.2,.8,.2,1); }
.roi-donut .roi-donut-copy > strong { position: relative; z-index: 1; color: var(--green); font-size: 22px; line-height: 1; }
.roi-donut .roi-donut-copy > span { position: static; z-index: 1; color: var(--muted); font-size: 11px; }
.roi-chart-rows { min-width: 0; }
.roi-chart-row { display: grid; grid-template-columns: 96px minmax(44px, 1fr) minmax(112px, auto); gap: 8px; align-items: center; margin-top: 13px; }
.roi-chart-row span { color: var(--muted); font-size: 14px; }
.roi-chart-track { height: 18px; background: rgba(255,255,255,.055); overflow: hidden; }
.roi-chart-fill { display: block; position: relative; width: 0; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--green)); box-shadow: 0 0 18px rgba(69,222,210,.25); transition: width .55s cubic-bezier(.2,.8,.2,1); }
.roi-chart-row.after .roi-chart-fill { background: rgba(69,222,210,.42); }
.roi-chart-row.portfolio .roi-chart-fill { background: linear-gradient(90deg, var(--green), #c3ff79); }
.roi-chart-value { color: var(--text) !important; font: 700 15px/1.2 Consolas, monospace !important; text-align: right; white-space: nowrap; }
.roi-finance-bars { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: end; min-height: 190px; }
.roi-finance-bar { display: grid; grid-template-rows: minmax(0, 1fr) 34px 24px; gap: 8px; align-self: stretch; min-width: 0; height: 180px; text-align: center; }
.roi-finance-column { align-self: end; width: min(88px, 72%); height: 0; min-height: 3px; margin: 0 auto; background: linear-gradient(180deg, var(--cyan-2), var(--cyan)); box-shadow: 0 0 24px rgba(69,222,210,.25); transition: height .6s cubic-bezier(.2,.8,.2,1); }
.roi-finance-bar.portfolio .roi-finance-column { background: linear-gradient(180deg, #d4ff8b, var(--green)); box-shadow: 0 0 24px rgba(114,237,133,.25); }
.roi-finance-value { display: grid; place-items: center; min-height: 34px; color: var(--text); font: 700 18px/1.2 Consolas, monospace; overflow-wrap: anywhere; }
.roi-finance-label { display: grid; place-items: center; min-height: 24px; color: var(--muted); font-size: 14px; }
.equipment-builder { display: grid; gap: 18px; }
.equipment-builder-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.equipment-builder-head h3 { max-width: 420px; margin: 5px 0 0; font-size: 18px; line-height: 1.35; }
.equipment-kicker { margin: 0; color: var(--cyan-2); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.equipment-add { min-height: 42px; padding: 0 16px; white-space: nowrap; }
.equipment-add:disabled { cursor: not-allowed; opacity: .38; }
.equipment-rows { display: grid; gap: 14px; }
.equipment-row { position: relative; padding: 18px; border: 1px solid var(--line); background: rgba(255,255,255,.022); overflow: hidden; }
.equipment-row::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); opacity: .65; transform: translateX(-100%); animation: signalSweep 6s ease-in-out infinite; }
.equipment-row-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.equipment-row-head strong { color: var(--cyan-2); font: 700 12px/1 Consolas, monospace; letter-spacing: 0; }
.equipment-remove { width: 34px; height: 34px; border: 1px solid var(--line); color: var(--muted); background: rgba(255,255,255,.025); font-size: 22px; line-height: 1; cursor: pointer; }
.equipment-remove:hover:not(:disabled) { border-color: rgba(255,183,77,.55); color: var(--amber); background: rgba(255,183,77,.08); }
.equipment-remove:disabled { cursor: not-allowed; opacity: .3; }
.equipment-fields { display: grid; grid-template-columns: 1.15fr .8fr 1fr; gap: 12px; align-items: start; }
.power-combobox { display: grid; grid-template-columns: minmax(0,1fr) 44px; }
.power-combobox input { min-width: 0; border-right: 0; }
.equipment-subtotals { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line); }
.equipment-subtotals span { min-width: 0; }
.equipment-subtotals small { display: block; color: var(--muted); font-size: 11px; }
.equipment-subtotals b { display: block; margin-top: 4px; color: var(--text); font: 700 14px/1.25 Consolas, monospace; overflow-wrap: anywhere; }
.equipment-subtotals span:last-child b { color: var(--green); }
.equipment-limit { margin: -4px 0 0; color: var(--muted); font-size: 11px; }
.equipment-limit.limit-reached { color: var(--amber); }
.common-parameters { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.common-parameters .field-grid { margin-top: 14px; }
.business-value { grid-column: 1 / -1; padding: 34px; border-top: 1px solid var(--line); background: linear-gradient(100deg, rgba(69,222,210,.035), rgba(114,237,133,.025) 50%, rgba(255,183,77,.025)); }
.business-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 36px; align-items: end; }
.business-heading h3 { max-width: 640px; margin: 7px 0 0; font-size: 26px; line-height: 1.25; }
.business-heading > p { margin: 0; color: var(--muted); font-size: 13px; }
.business-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 760px; margin-top: 26px; }
.money-input { display: grid; grid-template-columns: 48px minmax(0,1fr); }
.money-input span { display: grid; place-items: center; border: 1px solid var(--line); border-right: 0; color: var(--green); background: #0b211c; font: 700 14px/1 Consolas, monospace; }
.money-input input { min-width: 0; }
.business-dashboard { display: grid; grid-template-columns: 190px minmax(230px,.7fr) minmax(320px,1.3fr); gap: 28px; align-items: center; margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--line); }
.margin-visual { text-align: center; }
.margin-donut { --margin-angle: 3%; position: relative; width: 154px; aspect-ratio: 1; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; background: conic-gradient(var(--green) 0 var(--margin-angle), rgba(255,183,77,.18) var(--margin-angle) 100%); box-shadow: 0 0 34px rgba(114,237,133,.12); transition: background .45s ease; }
.margin-donut::before { content: ""; position: absolute; inset: 18px; border: 1px solid var(--line); border-radius: 50%; background: #071613; }
.margin-donut div { position: relative; z-index: 1; display: grid; gap: 5px; }
.margin-donut strong { color: var(--green); font: 700 23px/1 Consolas, monospace; }
.margin-donut span { color: var(--muted); font-size: 11px; }
.margin-visual p { margin: 12px auto 0; color: var(--muted); font-size: 11px; }
.business-kpis { display: grid; gap: 12px; }
.business-kpis article { min-width: 0; padding: 18px; border-left: 2px solid var(--cyan); background: rgba(255,255,255,.024); }
.business-kpis article:last-child { border-left-color: var(--green); }
.business-kpis span { display: block; color: var(--muted); font-size: 12px; }
.business-kpis strong { display: block; margin-top: 7px; color: var(--text); font: 700 21px/1.25 Consolas, monospace; overflow-wrap: anywhere; }
.business-kpis article:last-child strong { color: var(--green); }
.revenue-bridge { display: grid; gap: 20px; min-width: 0; }
.revenue-bridge-row > div:first-child { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.revenue-bridge-row span { color: var(--muted); font-size: 12px; }
.revenue-bridge-row b { color: var(--text); font: 700 14px/1.2 Consolas, monospace; text-align: right; overflow-wrap: anywhere; }
.revenue-track { height: 22px; background: rgba(255,255,255,.055); overflow: hidden; }
.revenue-track i { display: block; position: relative; width: 0; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--green)); box-shadow: 0 0 22px rgba(69,222,210,.24); transition: width .6s cubic-bezier(.2,.8,.2,1); }
.revenue-bridge-row.revenue .revenue-track i { background: linear-gradient(90deg, var(--green), #d7ff91); }
.business-status { margin: 22px 0 0; color: var(--muted); font-size: 11px; }
.business-status.is-error { color: var(--amber); }

/* Compact estimator workbench */
.roi-panel { display: block; overflow: hidden; }
.roi-workbench-head { border-bottom: 1px solid var(--line); background: rgba(3,16,14,.72); }
.roi-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.roi-tab {
  position: relative;
  min-height: 52px;
  border: 0;
  border-right: 1px solid var(--line);
  color: var(--muted);
  background: transparent;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.roi-tab:last-child { border-right: 0; }
.roi-tab::after { content: ""; position: absolute; right: 24%; bottom: -1px; left: 24%; height: 2px; background: linear-gradient(90deg, var(--cyan), var(--green)); opacity: 0; transform: scaleX(.35); transition: opacity .2s ease, transform .25s ease; }
.roi-tab:hover, .roi-tab.active { color: var(--text); background: rgba(69,222,210,.045); }
.roi-tab.active::after { opacity: 1; transform: scaleX(1); background-size: 180% 100%; animation: roiTabFlow 2.4s linear infinite; }
.roi-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); padding: 0 24px; }
.roi-summary .result { min-width: 0; padding: 17px 22px; border-right: 1px solid var(--line); border-bottom: 0; }
.roi-summary .result:last-child { border-right: 0; }
.roi-summary .result span { font-size: 13px; }
.roi-summary .result strong { margin-top: 5px; font-size: clamp(24px, 2.15vw, 30px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.roi-views { min-height: 430px; }
.roi-view { animation: roiViewIn .28s ease both; }
.roi-view[hidden] { display: none !important; }
.roi-form { padding: 24px; border-right: 0; }
.equipment-builder { gap: 10px; }
.equipment-builder-head { align-items: center; }
.equipment-builder-head h3 { font-size: 18px; }
.equipment-kicker { font-size: 12px; }
.equipment-add { min-height: 38px; padding: 0 14px; font-size: 12px; }
.equipment-table-head,
.equipment-row {
  display: grid;
  grid-template-columns: 64px minmax(180px,1.2fr) 88px 104px minmax(126px,.9fr) minmax(126px,.9fr) 36px;
  gap: 10px;
  align-items: center;
}
.equipment-table-head { padding: 0 12px 9px; color: #a9bbb7; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.equipment-rows { max-height: 276px; gap: 0; overflow-y: auto; border: 1px solid var(--line); scrollbar-width: thin; scrollbar-color: rgba(69,222,210,.35) rgba(255,255,255,.03); }
.equipment-row {
  --row-index: 0;
  --glow-x: 50%;
  --glow-y: 50%;
  min-height: 78px;
  padding: 11px 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background-color: rgba(255,255,255,.018);
  background-image: radial-gradient(260px circle at var(--glow-x) var(--glow-y), rgba(69,222,210,.1), transparent 52%);
  overflow: hidden;
  animation: equipmentRowIn .38s calc(var(--row-index) * 55ms) cubic-bezier(.2,.8,.2,1) both;
  transition: background-color .25s ease, border-color .25s ease, opacity .2s ease, transform .2s ease, min-height .2s ease, padding .2s ease;
}
.equipment-row:last-child { border-bottom: 0; }
.equipment-row::before {
  display: block;
  top: 0;
  left: -42%;
  width: 42%;
  height: 2px;
  opacity: .8;
  transform: none;
  animation: equipmentSignal 4.8s calc(var(--row-index) * .42s) linear infinite;
}
.equipment-row:hover { background-color: rgba(69,222,210,.04); }
.equipment-row:focus-within { border-color: rgba(69,222,210,.58); background-color: rgba(69,222,210,.055); box-shadow: inset 0 0 0 1px rgba(69,222,210,.2), 0 0 24px rgba(69,222,210,.08); }
.equipment-row.is-removing { min-height: 0; padding-top: 0; padding-bottom: 0; opacity: 0; transform: translateX(18px); }
.equipment-identity { color: var(--cyan-2); font: 700 14px/1 Consolas, monospace; white-space: nowrap; }
.equipment-row .field label, .equipment-metric small { display: none; }
.equipment-row .field input, .equipment-row .field select { height: 44px; font-size: 16px; font-weight: 650; }
.power-combobox { grid-template-columns: minmax(0,1fr) 52px; }
.power-combobox input { border-right: 0; }
.power-select {
  min-width: 0;
  padding: 0 !important;
  color: var(--text) !important;
  background-color: #061310 !important;
  font-size: 1px !important;
  cursor: pointer;
}
.power-select option { color: #e7f3f0; background: #061310; font-size: 14px; }
.equipment-metric { position: relative; min-width: 0; padding: 8px 8px 7px; overflow: hidden; }
.equipment-metric b { position: relative; z-index: 2; display: block; color: var(--text); font: 700 16px/1.2 Consolas, monospace; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.equipment-metric.saving b { color: var(--green); }
.equipment-metric-track { position: absolute; z-index: 1; right: 8px; bottom: 3px; left: 8px; display: block; height: 4px; background: rgba(255,255,255,.055); overflow: hidden; }
.equipment-metric-track em { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #9b6727, var(--amber)); box-shadow: 0 0 14px rgba(244,186,98,.28); transition: width .55s cubic-bezier(.2,.8,.2,1); }
.equipment-metric.saving .equipment-metric-track em { background: linear-gradient(90deg, var(--cyan), var(--green)); box-shadow: 0 0 14px rgba(114,237,133,.34); }
.equipment-metric-track em::after { content: ""; float: right; width: 14px; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.85)); }
.equipment-remove { width: 32px; height: 32px; font-size: 20px; }
.common-parameters { margin-top: 18px; padding-top: 16px; }
.common-parameters .field-grid { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; margin-top: 10px; }
.common-parameters .field { position: relative; overflow: hidden; }
.common-parameters .field::after { content: ""; position: absolute; right: 100%; bottom: 0; width: 55%; height: 2px; background: linear-gradient(90deg, transparent, var(--cyan-2), var(--green)); opacity: 0; }
.common-parameters .field.is-updated::after { animation: parameterSweep .48s ease-out; }
.common-parameters .field label { font-size: 13px; }
.common-parameters .field input, .common-parameters .field select { height: 44px; font-size: 16px; font-weight: 650; }
.common-parameters .field:focus-within input, .common-parameters .field:focus-within select { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(69,222,210,.09), 0 0 18px rgba(69,222,210,.08); }
.roi-input-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; }
.roi-input-footer .equipment-limit { margin: 0; }
.roi-input-footer .btn { min-height: 42px; padding: 0 20px; }
.roi-view[data-roi-view="results"],
.roi-view[data-roi-view="business"] { min-height: 545px; }
.roi-output { display: grid; gap: 20px; padding: 28px; }
.roi-charts { grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr); gap: 20px; padding: 0; }
.roi-chart {
  --signal-delay: 0s;
  min-height: 390px;
  padding: 26px;
  background:
    linear-gradient(180deg, rgba(69,222,210,.035), transparent 42%),
    repeating-linear-gradient(90deg, transparent 0 54px, rgba(69,222,210,.025) 55px, transparent 56px);
}
.roi-chart::before { content: ""; position: absolute; z-index: 0; top: 0; bottom: 0; left: -36%; width: 34%; background: linear-gradient(90deg, transparent, rgba(69,222,210,.065), transparent); transform: skewX(-15deg); animation: dashboardScan 6.2s var(--signal-delay) ease-in-out infinite; pointer-events: none; }
.roi-chart.finance { --signal-delay: 1.15s; }
.roi-chart > * { position: relative; z-index: 1; }
.roi-chart h3 { margin-bottom: 24px; font-size: 19px; }
.roi-energy-layout { grid-template-columns: 172px minmax(0,1fr); gap: 24px; }
.roi-donut {
  width: 164px;
  border: 1px solid rgba(114,237,133,.38);
  box-shadow: 0 0 42px rgba(114,237,133,.19), inset 0 0 28px rgba(69,222,210,.07);
  animation: gaugeBreath 3.8s ease-in-out infinite;
}
.roi-donut::before { inset: 22px; box-shadow: inset 0 0 30px rgba(69,222,210,.07); }
.roi-donut .roi-donut-copy > strong { font-size: 34px; text-shadow: 0 0 22px rgba(114,237,133,.32); }
.roi-donut .roi-donut-copy > span { font-size: 14px; }
.roi-orbit,
.margin-orbit { position: absolute; z-index: 0; inset: -9px; border-radius: 50%; background: repeating-conic-gradient(from 0deg, rgba(144,255,243,.72) 0 1deg, transparent 1deg 10deg); -webkit-mask: radial-gradient(transparent 68%, #000 69% 73%, transparent 74%); mask: radial-gradient(transparent 68%, #000 69% 73%, transparent 74%); animation: orbitRotate 18s linear infinite; pointer-events: none; }
.roi-chart-row { grid-template-columns: 116px minmax(84px,1fr) minmax(146px,auto); gap: 12px; margin-top: 22px; }
.roi-chart-row span { font-size: 16px; font-weight: 650; }
.roi-chart-track { position: relative; height: 27px; border: 1px solid rgba(255,255,255,.035); background: rgba(255,255,255,.05); overflow: hidden; }
.roi-chart-track::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(105deg, transparent 0 18px, rgba(255,255,255,.035) 19px, transparent 21px); animation: trackCurrent 2.8s linear infinite; pointer-events: none; }
.roi-chart-fill { background-size: 180% 100%; animation: energyCurrent 2.2s linear infinite; }
.roi-chart-fill::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(105deg, transparent 0 22px, rgba(255,255,255,.22) 23px, transparent 26px); animation: trackCurrent 1.9s linear infinite; }
.roi-chart-fill::after { width: 28px; opacity: .9; filter: drop-shadow(0 0 8px #d8fff7); animation: endpointPulse 1.75s ease-in-out infinite; }
.roi-chart-row.after .roi-chart-fill { background: linear-gradient(90deg, rgba(69,222,210,.24), rgba(122,201,190,.58)); }
.roi-chart-value { font-size: 20px !important; text-shadow: 0 0 16px rgba(69,222,210,.14); }
.roi-finance-bars { min-height: 292px; gap: 28px; }
.roi-finance-bar { height: 282px; }
.roi-finance-column {
  position: relative;
  width: min(112px, 76%);
  min-height: 6px;
  border-top: 2px solid #d9fffb;
  background-size: 100% 180%;
  animation: financeCurrent 2.6s linear infinite;
}
.roi-finance-column::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 17px, rgba(255,255,255,.18) 18px, transparent 20px); animation: columnScan 2s linear infinite; pointer-events: none; }
.roi-finance-column::after { content: ""; position: absolute; top: -8px; left: 50%; width: 14px; height: 14px; border: 2px solid #e5fffb; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 18px rgba(69,222,210,.9); transform: translateX(-50%); animation: endpointPulse 1.55s ease-in-out infinite; }
.roi-finance-bar.portfolio .roi-finance-column::after { background: var(--green); box-shadow: 0 0 18px rgba(114,237,133,.9); }
.roi-finance-value { font-size: 23px; text-shadow: 0 0 16px rgba(69,222,210,.16); }
.roi-finance-label { font-size: 16px; font-weight: 650; }
.roi-actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.roi-actions .micro-note { max-width: 760px; margin: 0; }
.roi-actions .btn { flex: 0 0 auto; min-width: 220px; }
.business-value { position: relative; min-height: 545px; padding: 30px; border-top: 0; overflow: hidden; background: linear-gradient(100deg, rgba(69,222,210,.045), rgba(114,237,133,.025) 52%, rgba(244,186,98,.035)); }
.business-value::before { content: ""; position: absolute; top: 0; bottom: 0; left: -28%; width: 26%; background: linear-gradient(90deg, transparent, rgba(114,237,133,.065), transparent); transform: skewX(-15deg); animation: dashboardScan 7s 1.2s ease-in-out infinite; pointer-events: none; }
.business-value > * { position: relative; z-index: 1; }
.business-heading { grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: 28px; align-items: center; }
.business-heading h3 { font-size: 27px; }
.business-heading > p { font-size: 14px; line-height: 1.65; }
.business-year-inputs { display: grid; gap: 10px; margin-top: 20px; }
.business-year-row { display: grid; grid-template-columns: 116px repeat(2,minmax(0,1fr)); gap: 14px; padding: 14px; border: 1px solid var(--line); background: rgba(255,255,255,.018); }
.business-year-row .field label { font-size: 14px; }
.business-year-row .field input { height: 48px; font-size: 17px; font-weight: 650; }
.business-year-row .year-field input { color: var(--cyan-2); font-family: Consolas, monospace; }
.business-dashboard { position: relative; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; align-items: stretch; min-height: 650px; margin-top: 26px; padding-top: 26px; }
.business-dashboard::before { content: ""; position: absolute; top: -1px; left: 0; width: 22%; height: 2px; background: linear-gradient(90deg, transparent, var(--cyan-2), var(--green), transparent); animation: dashboardLine 4.8s linear infinite; pointer-events: none; }
.margin-donut { width: 182px; border: 1px solid rgba(114,237,133,.36); box-shadow: 0 0 45px rgba(114,237,133,.18), inset 0 0 28px rgba(244,186,98,.05); animation: gaugeBreath 4.2s .5s ease-in-out infinite; }
.margin-donut::before { inset: 23px; box-shadow: inset 0 0 28px rgba(69,222,210,.06); }
.margin-donut strong { font-size: 31px; text-shadow: 0 0 20px rgba(114,237,133,.28); }
.margin-donut span { font-size: 14px; }
.margin-visual p { max-width: 190px; font-size: 13px; line-height: 1.5; }
.margin-column { display: grid; grid-template-rows: minmax(0,.9fr) minmax(0,1.1fr); align-content: stretch; gap: 14px; min-width: 0; height: 100%; }
.margin-comparison-card { position: relative; display: grid; align-content: center; min-width: 0; padding: 18px; border: 1px solid rgba(126,190,178,.18); background: linear-gradient(145deg, rgba(13,37,32,.82), rgba(6,23,20,.86)); overflow: hidden; }
.margin-comparison-card.enhanced { border-color: rgba(114,237,133,.4); background: radial-gradient(circle at 50% 52%, rgba(114,237,133,.1), transparent 43%), linear-gradient(145deg, rgba(13,42,34,.94), rgba(6,25,21,.94)); box-shadow: inset 0 0 32px rgba(114,237,133,.04), 0 0 32px rgba(114,237,133,.07); }
.margin-card-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.margin-card-head span { color: #edf8f5; font-size: 15px; font-weight: 700; }
.margin-card-head small { color: var(--muted); font-size: 10px; text-align: right; }
.margin-visual { min-height: 0; display: grid; align-content: center; }
.margin-comparison-card .margin-donut { width: 154px; animation-duration: 5.2s; background: conic-gradient(var(--cyan) 0 var(--margin-angle), rgba(255,183,77,.14) var(--margin-angle) 100%); }
.margin-comparison-card .margin-donut strong { color: var(--cyan-2); font-size: 27px; }
.arc-label { position: absolute; z-index: 3; padding: 4px 7px; border: 1px solid currentColor; background: rgba(5,21,18,.9); font: 700 11px/1 Consolas, monospace; font-style: normal; white-space: nowrap; }
.margin-donut .arc-label.base { top: 17px; right: -32px; color: var(--cyan-2); }
.combined-margin-donut { --base-angle: 2.5%; --combined-angle: 3.01%; position: relative; width: 184px; aspect-ratio: 1; display: grid; place-items: center; margin: 0 auto; border: 1px solid rgba(114,237,133,.48); border-radius: 50%; background: conic-gradient(var(--cyan) 0 var(--base-angle), var(--green) var(--base-angle) var(--combined-angle), rgba(244,186,98,.14) var(--combined-angle) 100%); box-shadow: 0 0 48px rgba(114,237,133,.2), inset 0 0 28px rgba(69,222,210,.06); transition: --base-angle .65s ease, --combined-angle .9s cubic-bezier(.2,.8,.2,1); animation: enhancedGaugeBreath 3.6s ease-in-out infinite; }
.combined-margin-donut::before { content: ""; position: absolute; inset: 24px; border: 1px solid rgba(126,190,178,.24); border-radius: 50%; background: #071613; box-shadow: inset 0 0 32px rgba(114,237,133,.05); }
.combined-margin-donut > div { position: relative; z-index: 2; display: grid; gap: 6px; text-align: center; }
.combined-margin-donut strong { color: var(--green); font: 700 31px/1 Consolas, monospace; text-shadow: 0 0 20px rgba(114,237,133,.28); }
.combined-margin-donut span { color: #bdd0cb; font-size: 13px; }
.combined-margin-donut .arc-label.base { top: 15px; right: -29px; color: var(--cyan-2); }
.combined-margin-donut .arc-label.saving { top: 53px; right: -42px; color: var(--green); animation: savingLabelPulse 2.2s ease-in-out infinite; }
.combined-orbit { position: absolute; inset: -8px; border: 1px dashed rgba(114,237,133,.45); border-radius: 50%; animation: spin 13s linear infinite; }
.combined-orbit::after { content: ""; position: absolute; top: 50%; right: -3px; width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 15px var(--green); }
.margin-legend { display: grid; gap: 7px; margin-top: 14px; }
.margin-legend span { display: grid; grid-template-columns: 8px minmax(0,1fr) auto; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.margin-legend span > i { width: 7px; height: 7px; border-radius: 50%; }
.margin-legend .base > i { background: var(--cyan); box-shadow: 0 0 8px rgba(69,222,210,.6); }
.margin-legend .saving > i { background: var(--green); box-shadow: 0 0 9px rgba(114,237,133,.7); }
.margin-legend b { font-weight: 400; }
.margin-legend strong { color: var(--text); font: 700 11px/1 Consolas, monospace; }
@keyframes enhancedGaugeBreath { 0%,100% { box-shadow: 0 0 34px rgba(114,237,133,.13), inset 0 0 28px rgba(69,222,210,.04); } 50% { box-shadow: 0 0 60px rgba(114,237,133,.25), inset 0 0 34px rgba(69,222,210,.09); } }
@keyframes savingLabelPulse { 0%,100% { opacity: .72; } 50% { opacity: 1; box-shadow: 0 0 14px rgba(114,237,133,.26); } }
@property --base-angle { syntax: "<percentage>"; inherits: false; initial-value: 0%; }
@property --combined-angle { syntax: "<percentage>"; inherits: false; initial-value: 0%; }
.margin-trend { position: relative; min-width: 0; padding: 18px; border: 1px solid rgba(126,190,178,.3); background: linear-gradient(145deg, rgba(18,46,40,.96), rgba(9,29,25,.96)); box-shadow: inset 0 1px 0 rgba(185,255,239,.035), 0 18px 38px rgba(0,0,0,.12); overflow: hidden; }
.margin-trend::before { content: ""; position: absolute; top: 0; left: -42%; width: 38%; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan-2), var(--green), transparent); animation: trendScan 4.2s linear infinite; pointer-events: none; }
.margin-trend-head { display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.margin-trend-head span { color: #bdd0cb; font-size: 14px; }
.margin-trend-head strong { color: var(--green); font: 700 18px/1 Consolas, monospace; }
.margin-trend-plot { height: 142px; margin-top: 14px; padding: 8px 6px; border: 1px solid rgba(129,176,166,.15); background: linear-gradient(180deg, rgba(3,18,15,.86), rgba(8,31,26,.9)); box-shadow: inset 0 0 28px rgba(69,222,210,.025); }
.margin-trend-plot svg { display: block; width: 100%; height: 100%; overflow: visible; }
.trend-grid { stroke: rgba(171,205,197,.2); stroke-width: 1; }
.trend-line { stroke: url("#marginTrendGradient"); stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 9 6; filter: drop-shadow(0 0 6px rgba(114,237,133,.58)); animation: trendFlow 1.8s linear infinite; transition: y1 .45s ease, y2 .45s ease; }
.trend-point { stroke: #eafff2; stroke-width: 2; transition: cy .45s ease; }
.trend-point.a { fill: var(--cyan); filter: drop-shadow(0 0 6px rgba(69,222,210,.75)); }
.trend-point.b { fill: var(--green); filter: drop-shadow(0 0 7px rgba(114,237,133,.8)); animation: endpointPulse 1.8s ease-in-out infinite; }
.margin-trend-values { display: flex; justify-content: space-between; gap: 12px; margin-top: 4px; }
.margin-trend-values div { display: grid; gap: 3px; }
.margin-trend-values div:last-child { text-align: right; }
.margin-trend-values span { color: #a9c0ba; font-size: 13px; }
.margin-trend-values strong { color: #f3fbf9; font: 700 17px/1.2 Consolas, monospace; }
.margin-trend-values div:last-child strong { color: var(--green); }
.margin-trend-status { margin: 12px 0 0; color: #a9bdb8; font-size: 12px; line-height: 1.5; }
.margin-trend-status.is-error { color: var(--amber); }
.margin-trend-plot.is-invalid svg { opacity: .22; }
.margin-trend-plot.is-invalid .trend-line,
.margin-trend-plot.is-invalid .trend-point { animation: none; }
.margin-trend-head strong.trend-down { color: var(--amber); }
.business-kpis { grid-template-rows: repeat(3,minmax(0,1fr)); gap: 14px; min-width: 0; height: 100%; }
.business-kpis article { position: relative; display: grid; align-content: center; min-height: 0; padding: 22px; overflow: hidden; background: linear-gradient(100deg, rgba(69,222,210,.065), rgba(255,255,255,.018)); }
.business-kpis article::after { content: ""; position: absolute; top: 0; bottom: 0; left: -45%; width: 40%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent); animation: kpiScan 5.2s ease-in-out infinite; pointer-events: none; }
.business-kpis article:nth-child(2)::after { animation-delay: .9s; }
.business-kpis article:nth-child(3)::after { animation-delay: 1.8s; }
.business-kpis span { font-size: 14px; }
.business-kpis strong { font-size: 26px; text-shadow: 0 0 18px rgba(69,222,210,.16); }
.business-kpis article.multiplier { border-left-color: var(--amber); }
.business-kpis article.multiplier strong { color: var(--amber); }
.business-kpis small { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }
.revenue-bridge { position: relative; grid-template-rows: repeat(2,minmax(0,1fr)); align-content: stretch; justify-self: center; width: 100%; max-width: 430px; height: 100%; gap: 14px; padding-left: 18px; }
.bridge-signal { position: absolute; top: 13%; bottom: 13%; left: 0; width: 2px; background: linear-gradient(180deg, var(--cyan), var(--green), var(--amber), var(--green)); background-size: 100% 220%; box-shadow: 0 0 14px rgba(69,222,210,.35); animation: bridgeCurrent 2.8s linear infinite; pointer-events: none; }
.revenue-bridge-row span { font-size: 15px; }
.revenue-bridge-row b { font-size: 19px; }
.revenue-bridge-row { display: grid; align-content: center; min-height: 0; padding: 22px; border: 1px solid rgba(126,190,178,.16); background: linear-gradient(145deg, rgba(14,39,34,.76), rgba(7,25,21,.82)); }
.revenue-track { position: relative; height: 28px; border: 1px solid rgba(255,255,255,.04); overflow: hidden; }
.revenue-track::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(105deg, transparent 0 22px, rgba(255,255,255,.04) 23px, transparent 25px); animation: trackCurrent 2.8s linear infinite; pointer-events: none; }
.revenue-track i { background-size: 180% 100%; animation: energyCurrent 2.2s linear infinite; }
.revenue-track i::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(105deg, transparent 0 25px, rgba(255,255,255,.2) 26px, transparent 29px); animation: trackCurrent 2s linear infinite; }
.revenue-track i::after { content: ""; position: absolute; top: 50%; right: -7px; width: 14px; height: 14px; border: 2px solid #edfff6; border-radius: 50%; background: var(--green); box-shadow: 0 0 18px rgba(114,237,133,.85); transform: translateY(-50%); animation: endpointPulse 1.65s ease-in-out infinite; }
.business-status { margin-top: 20px; font-size: 13px; }
@keyframes roiViewIn { from { opacity: .55; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.roi-view.is-replaying .roi-chart-fill,
.roi-view.is-replaying .revenue-track i { transform-origin: left center; animation: roiFillReplay .68s cubic-bezier(.2,.8,.2,1) both; }
.roi-view.is-replaying .roi-finance-column { transform-origin: center bottom; animation: roiColumnReplay .68s cubic-bezier(.2,.8,.2,1) both; }
.roi-view.is-replaying .roi-donut,
.roi-view.is-replaying .margin-donut,
.roi-view.is-replaying .combined-margin-donut { animation: roiGaugeReplay .62s cubic-bezier(.2,.8,.2,1) both; }
.roi-view[data-roi-view="carbon"].is-replaying .carbon-energy-core-v3 {
  animation: carbonViewCoreReplay .82s cubic-bezier(.2,.8,.2,1) both;
}
.roi-view[data-roi-view="carbon"].is-replaying .carbon-conversion-flow {
  animation: carbonViewFlowReplay .78s .08s cubic-bezier(.2,.8,.2,1) both;
}
.roi-view[data-roi-view="carbon"].is-replaying .carbon-result-v2 {
  animation: carbonViewResultReplay .9s .06s cubic-bezier(.2,.8,.2,1) both;
}
.roi-view[data-roi-view="carbon"].is-replaying .carbon-result-v2.co2 { animation-delay:.12s; }
.roi-summary.result-updated strong { animation: summaryValuePulse .42s ease; }
body.roi-motion-paused .roi-view *,
body.roi-motion-paused .roi-view *::before,
body.roi-motion-paused .roi-view *::after { animation-play-state: paused !important; }

.scenario-grid { grid-template-columns: repeat(4, 1fr); }
.scenario-card { min-height: 430px; transition: border-color .25s ease, transform .3s ease; }
.scenario-card:hover { border-color: var(--line-strong); transform: translateY(-5px); }
.scenario-image {
  position: relative;
  height: 185px;
  overflow: hidden;
  background-image: linear-gradient(rgba(5,15,13,.05), rgba(5,15,13,.74)), var(--scene);
  background-position: center;
  background-size: cover;
  transition: transform .7s cubic-bezier(.2,.8,.2,1), background-position 1.2s ease;
}
.scenario-card:nth-child(1) .scenario-image { --scene: url("../images/scenarios/scenario-qsr.webp") !important; }
.scenario-card:nth-child(2) .scenario-image { --scene: url("../images/scenarios/scenario-high-heat.webp") !important; }
.scenario-card:nth-child(3) .scenario-image { --scene: url("../images/scenarios/scenario-bakery-pizza.webp") !important; }
.scenario-card:nth-child(4) .scenario-image { --scene: url("../images/scenarios/scenario-central-kitchen.webp") !important; }
.scenario-card:nth-child(5) .scenario-image { --scene: url("../images/scenarios/scenario-food-hall.webp") !important; }
.scenario-card:nth-child(6) .scenario-image { --scene: url("../images/scenarios/scenario-hotel-catering.webp") !important; }
.scenario-card:nth-child(7) .scenario-image { --scene: url("../images/scenarios/scenario-retrofit.webp") !important; }
.scenario-card:nth-child(8) .scenario-image { --scene: url("../images/scenarios/scenario-new-build.webp") !important; }
.scenario-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(104deg, transparent 0 32px, rgba(69,222,210,.11) 33px, transparent 35px);
  transform: translateX(-35%);
  opacity: 0;
  transition: opacity .25s ease, transform 1.1s ease;
}
.scenario-card:hover .scenario-image { transform: scale(1.045); background-position: 54% center; }
.scenario-card:hover .scenario-image::after { opacity: 1; transform: translateX(25%); }
.scenario-content { padding: 23px; }
.scenario-content h3 { min-height: 56px; }
.scenario-meta { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); color: #89a49e; font-size: 11px; }

.case-grid { grid-template-columns: repeat(3, 1fr); }
.case-card { min-height: 470px; padding: 28px; }
.case-metric { margin: 34px 0 24px; color: var(--green); font-size: 54px; font-weight: 800; line-height: 1; }
.mini-chart { display: flex; align-items: end; gap: 12px; height: 92px; margin: 26px 0; }
.mini-bar { flex: 1; height: var(--h); background: rgba(69, 222, 210, .25); border-top: 2px solid var(--cyan); transform-origin: bottom; }
.mini-bar.smart { background: rgba(114, 237, 133, .28); border-color: var(--green); }
.case-card .btn { position: absolute; left: 28px; bottom: 28px; }
.partner-wall { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.partner-logo { min-height: 108px; display: grid; place-items: center; padding: 22px; background: #f5f7f6; }
.partner-logo img { max-width: 115px; max-height: 54px; object-fit: contain; }

.case-summary { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: start; }
.case-big-number { padding: 30px; border: 1px solid var(--line-strong); background-color: rgba(69, 222, 210, .05); }
.case-big-number strong { display: block; color: var(--green); font-size: 72px; line-height: 1; }
.case-big-number span { color: var(--muted); font-size: 13px; }
.chart { display: grid; gap: 18px; margin-top: 34px; }
.chart-row { display: grid; grid-template-columns: 176px 1fr 112px; gap: 16px; align-items: center; }
.chart-label { color: var(--muted); font-size: 16px; }
.chart-track { height: 26px; background: rgba(255, 255, 255, .055); overflow: hidden; }
.chart-bar { display: block; position: relative; width: 0; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--green)); box-shadow: 0 0 18px rgba(69,222,210,.22); transition: width 1s cubic-bezier(.2,.8,.2,1); }
.chart-row.conventional .chart-bar { background: linear-gradient(90deg, #9b6727, var(--amber)); box-shadow: 0 0 18px rgba(244,186,98,.2); }
.chart-value { color: var(--text); font: 700 17px/1.1 Consolas, monospace; text-align: right; white-space: nowrap; }
.saving-gauge { margin: 24px 0 20px; }
.saving-gauge-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.saving-gauge-head span { color: var(--muted); font-size: 14px; }
.saving-gauge-head b { color: var(--green); font: 700 17px/1 Consolas, monospace; }
.saving-gauge-track { position: relative; height: 20px; background: rgba(255,255,255,.065); overflow: hidden; }
.saving-gauge-fill { display: block; position: relative; width: 0; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--green)); box-shadow: 0 0 22px rgba(114,237,133,.42); transition: width 1.2s cubic-bezier(.2,.8,.2,1); }
.daily-delta { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center; margin: 20px 0; padding: 14px; border: 1px solid rgba(114,237,133,.24); background: rgba(114,237,133,.045); }
.daily-delta::before { content: "Δ"; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--green); color: var(--green); font-weight: 800; }
.daily-delta b { display: block; color: var(--green); font-size: 20px; }
.daily-delta span { color: var(--muted); font-size: 11px; }
.boundary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.boundary { padding: 25px; border: 1px solid var(--line); }
.boundary.can { border-top-color: var(--green); }
.boundary.cannot { border-top-color: var(--amber); }
.boundary ul { padding-left: 18px; color: var(--muted); font-size: 14px; }

.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-card { padding: 32px; border: 1px solid var(--line); background: rgba(8, 25, 22, .72); }
.contact-card .region { color: var(--cyan); font: 700 12px/1 monospace; }
.contact-list { list-style: none; padding: 0; margin: 26px 0 0; }
.contact-list li { display: grid; grid-template-columns: 92px 1fr; gap: 14px; padding: 12px 0; border-top: 1px solid var(--line); }
.contact-list span { color: var(--muted); font-size: 12px; }
.contact-list strong { font-size: 14px; overflow-wrap: anywhere; }
.copy-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.copy-status { min-height: 24px; margin-top: 10px; color: var(--green); font-size: 12px; }
.pilot-summary { display: none; margin-top: 24px; padding: 22px; border-left: 3px solid var(--green); background: rgba(114, 237, 133, .055); }
.pilot-summary.visible { display: block; }
.pilot-summary pre { margin: 12px 0 0; color: var(--muted); font: 12px/1.65 Consolas, monospace; white-space: pre-wrap; }

.reveal { opacity: 1; transform: none; }
.motion-ready .reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s ease; }
.motion-ready .reveal.visible { opacity: 1; transform: none; }

.glow-surface {
  --glow-x: 50%;
  --glow-y: 50%;
  background-image: radial-gradient(360px circle at var(--glow-x) var(--glow-y), rgba(69,222,210,.105), transparent 46%);
  background-repeat: no-repeat;
}
.glow-surface.glow-energy {
  background-image: radial-gradient(360px circle at var(--glow-x) var(--glow-y), rgba(114,237,133,.11), transparent 46%);
}
.glow-surface.glow-heat {
  background-image: radial-gradient(360px circle at var(--glow-x) var(--glow-y), rgba(244,186,98,.105), transparent 46%);
}

@keyframes signalSweep { to { left: 110%; } }
@keyframes airflowPulse {
  from { transform: translateX(-110%); }
  to { transform: translateX(70%); }
}
@keyframes processSignal { to { left: 105%; } }
@keyframes hintPulse { 50% { opacity: .5; transform: translateX(3px); } }
@keyframes resultFlash {
  50% { color: var(--cyan-2); text-shadow: 0 0 18px rgba(69,222,210,.38); }
}
@keyframes equipmentRowIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
@keyframes equipmentSignal {
  0% { left: -42%; opacity: 0; }
  12% { opacity: .85; }
  58% { opacity: .65; }
  72%, 100% { left: 110%; opacity: 0; }
}
@keyframes parameterSweep {
  0% { right: 100%; opacity: 0; }
  22% { opacity: .9; }
  100% { right: -55%; opacity: 0; }
}
@keyframes roiTabFlow {
  to { background-position: 180% 0; }
}
@keyframes roiFillReplay {
  from { transform: scaleX(0); filter: brightness(1.7); }
  to { transform: scaleX(1); filter: none; }
}
@keyframes roiColumnReplay {
  from { transform: scaleY(0); filter: brightness(1.7); }
  to { transform: scaleY(1); filter: none; }
}
@keyframes roiGaugeReplay {
  from { opacity: .35; transform: scale(.86) rotate(-9deg); }
  to { opacity: 1; transform: none; }
}
@keyframes carbonViewCoreReplay {
  from { opacity:.52; transform:scale(.94); filter:brightness(1.55); }
  to { opacity:1; transform:none; filter:none; }
}
@keyframes carbonViewFlowReplay {
  from { opacity:0; transform:translateY(-10px); filter:brightness(1.5); }
  to { opacity:1; transform:none; filter:none; }
}
@keyframes carbonViewResultReplay {
  from { opacity:.28; transform:translateY(14px); filter:brightness(1.45); }
  to { opacity:1; transform:none; filter:none; }
}
@keyframes summaryValuePulse {
  45% { color: var(--cyan-2); text-shadow: 0 0 22px rgba(69,222,210,.38); }
}
@keyframes orbitRotate { to { transform: rotate(360deg); } }
@keyframes gaugeBreath {
  50% { box-shadow: 0 0 58px rgba(114,237,133,.27), inset 0 0 34px rgba(69,222,210,.1); }
}
@keyframes dashboardScan {
  0%, 14% { left: -36%; opacity: 0; }
  28% { opacity: 1; }
  72% { opacity: .55; }
  88%, 100% { left: 112%; opacity: 0; }
}
@keyframes dashboardLine {
  from { left: -22%; }
  to { left: 105%; }
}
@keyframes trackCurrent { to { background-position: 120px 0; } }
@keyframes energyCurrent { to { background-position: 180% 0; } }
@keyframes financeCurrent { to { background-position: 0 -180%; } }
@keyframes columnScan { to { background-position: 0 -120px; } }
@keyframes endpointPulse {
  50% { opacity: .55; filter: brightness(1.45); }
}
@keyframes kpiScan {
  0%, 18% { left: -45%; opacity: 0; }
  36% { opacity: 1; }
  72%, 100% { left: 112%; opacity: 0; }
}
@keyframes bridgeCurrent { to { background-position: 0 220%; } }
@keyframes trendFlow { to { stroke-dashoffset: -30; } }
@keyframes trendScan { to { left: 110%; } }
@keyframes touchPanelBreath {
  50% { border-color: rgba(69,222,210,.34); box-shadow: inset 0 0 16px rgba(69,222,210,.035); }
}
@keyframes entryDiamondPulse {
  0%, 100% { opacity: .24; transform: translate(-50%, -50%) scale(.9); }
  50% { opacity: .48; transform: translate(-50%, -50%) scale(1.02); }
}
@keyframes heroTitleBreath {
  0%, 100% { opacity: .62; text-shadow: 0 0 12px rgba(69,222,210,.1); }
  50% { opacity: 1; text-shadow: 0 0 30px rgba(69,222,210,.28), 0 0 54px rgba(114,237,133,.12); }
}
@keyframes cabinetScan {
  0%, 18% { transform: translateX(-110%); opacity: 0; }
  42% { opacity: .8; }
  68%, 100% { transform: translateX(110%); opacity: 0; }
}
.hero-breathing-title { animation: heroTitleBreath 4.2s ease-in-out infinite; }
.hero-breathing-title:hover { opacity: 1; animation-play-state: paused; }

.site-footer { padding: 54px 0 28px; border-top: 1px solid var(--line); background: var(--bg-deep); }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 60px; }
.footer-brand img { width: 160px; }
.footer-brand p { max-width: 390px; margin-top: 18px; color: var(--muted); font-size: 13px; }
.footer-title { color: var(--cyan-2); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; margin-top: 16px; }
.footer-links a, .footer-contact a { color: var(--muted); font-size: 13px; }
.footer-links a:hover, .footer-contact a:hover { color: var(--cyan-2); }
.footer-contact { display: grid; gap: 8px; margin-top: 16px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 42px; padding-top: 22px; border-top: 1px solid var(--line); color: #6f8580; font-size: 11px; }

:focus-visible { outline: 2px solid var(--cyan-2); outline-offset: 3px; }

@media (max-width: 1120px) {
  .brand { min-width: 190px; }
  .brand-copy { display: none; }
  .site-nav a { min-width: 62px; padding: 0 7px; font-size: 12px; }
  .hero-grid { grid-template-columns: 1fr .7fr; }
  .system-orbit { width: 350px; height: 350px; }
  .fan-core { inset: 118px; }
  .process { grid-template-columns: repeat(4, 1fr); }
  .process-step { min-height: 210px; }
  .scenario-grid { grid-template-columns: repeat(2, 1fr); }
  .equipment-table-head,
  .equipment-row {
    grid-template-columns: 54px minmax(150px,1fr) 72px 88px minmax(108px,.8fr) minmax(108px,.8fr) 34px;
    gap: 8px;
  }
  .roi-charts { grid-template-columns: minmax(0,1.1fr) minmax(330px,.9fr); }
  .roi-energy-layout { grid-template-columns: 150px minmax(0,1fr); gap: 18px; }
  .roi-donut { width: 148px; }
  .roi-chart-row { grid-template-columns: 102px minmax(70px,1fr) minmax(132px,auto); }
  .business-dashboard { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; min-height: 0; }
  .margin-column, .business-kpis { min-height: 650px; }
  .revenue-bridge { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: 1fr; max-width: none; min-height: 230px; height: auto; }
  .margin-donut { width: 168px; }
}

@media (max-width: 900px) {
  :root { --header: 68px; }
  .container { width: min(calc(100% - 32px), var(--max)); }
  h1 { font-size: 48px; }
  h2 { font-size: 32px; }
  .menu-toggle { display: block; }
  .site-nav {
    position: fixed;
    inset: var(--header) 0 0;
    display: grid;
    align-content: start;
    height: auto;
    padding: 20px 16px;
    background: rgba(3, 12, 11, .98);
    transform: translateX(100%);
    transition: transform .3s ease;
  }
  body.menu-open .site-nav { transform: translateX(0); }
  .site-nav a { display: flex; justify-content: space-between; min-height: 54px; padding: 0 10px; border-bottom: 1px solid var(--line); font-size: 16px; }
  .site-nav a::after { left: auto; right: 10px; bottom: 17px; width: 28px; }
  .brand img { width: 135px; }
  .site-header .brand { --site-logo-width: 135px; --site-logo-height: 35.163px; }
  .hero-grid, .split, .split.wide-left, .law-panel, .case-summary, .system-compare { grid-template-columns: 1fr; }
  .home-hero { min-height: 860px; }
  .hero-grid { padding-top: 60px; align-content: start; }
  .hero-system { position: absolute; right: -100px; bottom: 8px; width: 430px; opacity: .62; pointer-events: none; }
  .hero-stats { width: calc(100% - 180px); grid-template-columns: 1fr 1fr; }
  .entry-grid { grid-template-columns: 1fr 1fr; }
  .entry-card:nth-child(2) { border-right: 0; }
  .entry-card { border-bottom: 1px solid var(--line); }
  .architecture { grid-template-columns: 1fr 1fr; }
  .arch-layer:not(:last-child)::after { display: none; }
  .product-gallery { grid-template-columns: 1fr 1fr; }
  .product-gallery .cabinet-viewer { grid-column: 1 / -1; }
  .product-gallery .product-shot:first-child { grid-column: 1 / -1; }
  .capability-grid, .case-grid { grid-template-columns: 1fr 1fr; }
  .timeline { grid-template-columns: 1fr 1fr; row-gap: 36px; }
  .roi-panel { grid-template-columns: 1fr; }
  .roi-form { border-right: 0; border-bottom: 1px solid var(--line); }
  .roi-views { min-height: 0; }
  .equipment-table-head { display: none; }
  .equipment-rows {
    max-height: 430px;
    border: 0;
    background: transparent;
  }
  .equipment-row {
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 12px;
    margin-bottom: 10px;
    padding: 15px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.022);
  }
  .equipment-identity { grid-column: 1 / 6; }
  .equipment-remove { grid-column: 6; grid-row: 1; justify-self: end; }
  .equipment-row .field { grid-column: span 2; }
  .equipment-row .field label,
  .equipment-metric small { display: block; margin-bottom: 6px; color: var(--muted); font: 400 11px/1.3 Arial, sans-serif; }
  .equipment-metric { grid-column: span 3; padding: 10px 12px; border-left: 2px solid var(--cyan); background: rgba(69,222,210,.04); }
  .equipment-metric.saving { border-left-color: var(--green); }
  .equipment-metric b { font-size: 16px; }
  .common-parameters .field-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .roi-charts { grid-template-columns: 1fr; }
  .roi-chart { min-height: 0; }
  .roi-actions { align-items: stretch; flex-direction: column; }
  .roi-actions .btn { width: 100%; min-width: 0; }
  .business-heading { grid-template-columns: 1fr; gap: 14px; }
  .business-dashboard { grid-template-columns: repeat(2,minmax(0,1fr)); min-height: 0; }
  .law-panel { gap: 36px; }
  .airflow-demo { max-width: 650px; width: 100%; margin: 0 auto; }
  .margin-column, .business-kpis { min-height: 640px; }
  .revenue-bridge { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: 1fr; max-width: none; min-height: 220px; height: auto; }
  .partner-wall { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 24px), var(--max)); }
  h1 { font-size: 39px; }
  h2 { font-size: 28px; }
  .lead { font-size: 16px; }
  .section { padding: 68px 0; }
  .section-heading { display: block; margin-bottom: 30px; }
  .page-hero { min-height: 360px; }
  .page-hero h1 { font-size: 40px; }
  .hero-index { font-size: 110px; bottom: 8px; }
  .home-hero { min-height: 780px; }
  .hero-grid { padding: 45px 0 48px; }
  .hero-copy .lead { max-width: 95%; }
  .hero-value-logic { grid-template-columns: 1fr; gap: 0; margin-top: 22px; }
  .hero-value-item { padding: 14px 16px 15px; }
  .hero-value-item strong { font-size: 16px; }
  .hero-value-flow { justify-self: start; width: 1px; height: 28px; margin-left: 22px; background: linear-gradient(180deg, rgba(244,186,98,.4), var(--cyan), rgba(114,237,133,.6)); }
  .hero-value-flow::after { top: auto; right: auto; bottom: -1px; left: -3px; transform: rotate(135deg); }
  .hero-value-flow::before { top: 0; left: -2px; animation-name: valueFlowMobile; }
  .hero-system { display: none; }
  .hero-stats { width: 100%; margin-top: 32px; }
  .metric { min-height: 100px; padding: 15px 13px; }
  .metric strong { font-size: 25px; }
  .entry-grid, .capability-grid, .case-grid, .scenario-grid, .contact-grid, .boundary-grid, .architecture, .solution-grid, .footer-grid, .motor-compare, .compare-live { grid-template-columns: 1fr; }
  .entry-card { min-height: 245px; border-right: 0; }
  .solution-switch { display: flex; gap: 8px; }
  .solution-card { display: none; }
  .solution-card.mobile-active { display: block; }
  .product-gallery { grid-template-columns: 1fr; }
  .product-gallery .cabinet-viewer { grid-column: auto; }
  .product-gallery .product-shot:first-child { grid-column: auto; }
  .product-shot img { height: 230px; }
  .fact-strip { grid-template-columns: 1fr; }
  .fact { border-right: 0; border-bottom: 1px solid var(--line); }
  .fact:last-child { border-bottom: 0; }
  .timeline { grid-template-columns: 1fr; }
  .process { grid-template-columns: 1fr 1fr; }
  .process-step { min-height: 190px; }
  .field-grid { grid-template-columns: 1fr; }
  .roi-form, .roi-output { padding: 24px; }
  .roi-tab { min-height: 48px; padding: 0 6px; font-size: 11px; line-height: 1.25; }
  .roi-summary { grid-template-columns: 1fr 1fr; padding: 0 14px; }
  .roi-summary .result { padding: 14px 10px; }
  .roi-summary .result:first-child { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid var(--line); }
  .roi-summary .result:nth-child(2) { border-right: 1px solid var(--line); }
  .roi-summary .result span { font-size: 12px; }
  .roi-summary .result strong { font-size: clamp(20px, 5.5vw, 24px); white-space: normal; overflow-wrap: anywhere; }
  .equipment-builder-head { align-items: stretch; flex-direction: column; }
  .equipment-add { width: 100%; }
  .equipment-rows { max-height: none; gap: 14px; overflow: visible; border: 0; }
  .equipment-row { grid-template-columns: 1fr; gap: 12px; min-height: 0; padding: 16px; border: 1px solid var(--line); }
  .equipment-identity,
  .equipment-row .field,
  .equipment-metric { grid-column: 1; }
  .equipment-remove { grid-column: 1; grid-row: 1; }
  .equipment-row .field input,
  .equipment-row .field select { height: 44px; }
  .power-combobox { position: relative; grid-template-columns: minmax(0,1fr) 56px; }
  .power-combobox::after { content: ""; position: absolute; z-index: 3; top: 50%; right: 21px; width: 9px; height: 9px; border-right: 2px solid #e7f3f0; border-bottom: 2px solid #e7f3f0; transform: translateY(-68%) rotate(45deg); pointer-events: none; }
  .power-select { appearance: none; -webkit-appearance: none; color: transparent !important; }
  .equipment-metric { padding: 11px 12px; }
  .common-parameters .field-grid { grid-template-columns: 1fr; }
  .roi-input-footer { align-items: stretch; flex-direction: column; }
  .roi-input-footer .btn { width: 100%; }
  .equipment-fields, .equipment-subtotals, .business-inputs, .business-dashboard { grid-template-columns: 1fr; }
  .business-year-row { grid-template-columns: 1fr; gap: 12px; padding: 15px; }
  .margin-column { width: 100%; min-height: 0; gap: 18px; }
  .roi-output { gap: 12px; }
  .roi-chart { padding: 20px; }
  .roi-finance-bars { min-height: 190px; }
  .roi-finance-bar { height: 180px; }
  .business-value { padding: 24px; }
  .business-heading h3 { font-size: 24px; }
  .business-dashboard { grid-template-columns: 1fr; gap: 22px; min-height: 0; }
  .margin-visual { min-height: 240px; }
  .margin-comparison-card { padding: 18px 15px; }
  .margin-comparison-card .margin-visual { min-height: 0; }
  .margin-card-head { align-items: start; }
  .margin-card-head span { font-size: 14px; }
  .margin-card-head small { max-width: 120px; }
  .margin-comparison-card .margin-donut { width: 150px; }
  .combined-margin-donut { width: 176px; }
  .margin-donut .arc-label.base { right: -25px; }
  .combined-margin-donut .arc-label.base { right: -23px; }
  .combined-margin-donut .arc-label.saving { right: -31px; }
  .margin-trend { width: 100%; padding: 16px; }
  .margin-trend-plot { height: 156px; }
  .trend-point { r: 7px; }
  .margin-trend::before { opacity: .65; animation-duration: 6.5s; }
  .trend-line { animation-duration: 2.8s; }
  .business-kpis { grid-template-rows: none; min-height: 0; height: auto; }
  .business-kpis article { min-height: 122px; }
  .revenue-bridge { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: repeat(2,minmax(145px,auto)); width: 100%; max-width: none; min-height: 0; height: auto; }
  .revenue-bridge-row > div:first-child { display: grid; gap: 5px; }
  .revenue-bridge-row b { text-align: left; }
  .system-compare { padding: 20px; }
  .system-mode-tabs { grid-template-columns: 1fr; }
  .system-mode { min-height: 62px; }
  .compare-readout { border-left: 0; border-top: 1px solid var(--line); }
  .compare-saving { font-size: 46px; }
  .motor-visual + .motor-visual { border-left: 0; border-top: 1px solid var(--line); }
  .motor-visual { min-height: 390px; }
  .motor-visual img { height: 250px; }
  .law-stats { grid-template-columns: 1fr; }
  .roi-energy-layout { grid-template-columns: 1fr; }
  .roi-donut { margin: 0 auto; }
  .roi-chart-row { grid-template-columns: 1fr auto; gap: 8px; margin-top: 18px; }
  .roi-chart-row .roi-chart-track { grid-column: 1 / -1; grid-row: 2; }
  .roi-chart-row span { font-size: 16px; }
  .roi-chart-value { font-size: 18px !important; }
  .roi-finance-value { font-size: 20px; }
  .roi-finance-label { font-size: 15px; }
  .business-kpis span { font-size: 14px; }
  .business-kpis strong { font-size: 23px; }
  .revenue-bridge-row span { font-size: 14px; }
  .revenue-bridge-row b { font-size: 18px; }
  .cabinet-detail-stage { min-height: 300px; }
  .cabinet-detail-stage img { height: 270px; }
  .cabinet-controls { grid-template-columns: 1fr; }
  .cabinet-tab { min-height: 44px; }
  .scenario-image { height: 210px; }
  .power-dial { width: 270px; height: 270px; }
  .airflow-demo { grid-template-columns: 1fr; grid-template-rows: auto 76px auto auto; gap: 10px; min-height: 0; padding: 24px 18px; }
  .airflow-demo .power-dial { width: 190px; height: 190px; }
  .conditioned-flow { width: 120px; height: 76px; justify-self: center; }
  .conditioned-flow::before, .conditioned-flow::after { top: 0; bottom: 0; left: 35%; right: auto; width: 1px; height: auto; background: linear-gradient(180deg, transparent, rgba(69,222,210,.45), rgba(114,237,133,.35), transparent); }
  .conditioned-flow::after { left: 65%; }
  .conditioned-flow i { top: -34% !important; left: 18%; width: 2px; height: 34%; background: linear-gradient(180deg, transparent, rgba(156,255,242,.9)); animation-name: conditionedFlowMobile; }
  .conditioned-flow i:nth-child(2), .conditioned-flow i:nth-child(4), .conditioned-flow i:nth-child(6) { left: 44%; }
  .conditioned-flow i:nth-child(3), .conditioned-flow i:nth-child(5) { left: 70%; }
  .flow-arrow { inset: 50% 0 auto; font-size: 0; }
  .flow-arrow::before { content: "↓"; font-size: 26px; }
  .ac-load-stage { width: min(100%,260px); justify-self: center; }
  .power-value strong { font-size: 54px; }
  .partner-wall { grid-template-columns: 1fr 1fr; }
  .case-big-number strong { font-size: 58px; }
  .chart-row { grid-template-columns: 98px 1fr 100px; gap: 8px; }
  .chart-label { font-size: 15px; }
  .chart-value { font-size: 15px; }
  .contact-list li { grid-template-columns: 1fr; gap: 2px; }
  .footer-brand, .footer-grid > * { grid-column: auto; }
  .footer-bottom { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
  .site-flow-canvas { display: none; }
  .range-hint { animation: none; }
  .equipment-row { opacity: 1; transform: none; }
  .equipment-row::before, .common-parameters .field::after { display: none; }
  .roi-chart::before, .business-value::before, .business-dashboard::before,
  .roi-orbit, .margin-orbit, .bridge-signal { display: none; }
  .roi-donut, .margin-donut, .roi-chart-fill, .roi-finance-column,
  .revenue-track i, .business-kpis article::after, .margin-trend::before,
  .trend-line, .trend-point, .hero-value-item::after, .hero-value-flow::before,
  .conditioned-flow i, .ac-unit b, .ac-load-meter i, .combined-margin-donut,
  .combined-orbit, .arc-label { animation: none !important; }
}

@media (hover: none), (pointer: coarse) {
  .scenario-card:hover, .capability:hover, .arch-layer:hover, .process-step:hover, .entry-card:hover { transform: none; }
  .scenario-card:hover .scenario-image { transform: none; background-position: center; }
  .glow-surface { background-image: none; }
  .equipment-row { background-image: none; animation: equipmentRowIn .38s calc(var(--row-index) * 55ms) cubic-bezier(.2,.8,.2,1) both, touchPanelBreath 4.6s calc(.5s + var(--row-index) * .3s) ease-in-out infinite; }
}

/* Round six: clearer value flow, open airflow visual and normalized margin rings. */
.hero-grid { grid-template-columns: minmax(0,1.28fr) minmax(390px,.72fr); gap: 46px; padding: 92px 0 72px; }
.hero-copy { max-width: 820px; }
.hero-copy > .eyebrow { margin-bottom: 22px; }
.hero-copy h1 { margin-bottom: 30px; }
.hero-value-logic { grid-template-columns: minmax(250px,1fr) 108px minmax(250px,1fr); width: min(100%,820px); max-width: 820px; margin-top: 0; overflow: visible; }
.hero-value-item { min-height: 116px; padding: 20px 22px 21px; display: grid; align-content: center; }
.hero-value-item span { margin-bottom: 10px; font-size: 12px; }
.hero-value-item strong { font-size: 18px; line-height: 1.55; }
.hero-value-flow { width: calc(100% - 24px); justify-self: center; overflow: visible; box-shadow: 0 0 12px rgba(69,222,210,.25); }
.hero-value-flow::after { right: -7px; width: 13px; height: 13px; border-width: 2px 2px 0 0; filter: drop-shadow(0 0 5px rgba(114,237,133,.7)); }
.hero-value-flow::before { top: -4px; width: 9px; height: 9px; box-shadow: 0 0 6px #eafff2, 0 0 19px var(--cyan); }
.hero-copy .button-row { margin-top: 30px; }
.hero-stats { margin-top: 38px; }

.airflow-demo { --flow-stretch: 1.25; grid-template-columns: minmax(210px,.9fr) minmax(190px,1.15fr) minmax(190px,.9fr); gap: 26px 18px; min-height: 430px; padding: 22px 0 12px; border: 0; background: transparent; overflow: visible; }
.airflow-demo::before { display: none; }
.airflow-demo .power-dial { width: 226px; height: 226px; background: radial-gradient(circle, rgba(69,222,210,.1), transparent 66%); }
.airflow-demo .power-value strong { font-size: 44px; }
.airflow-demo .power-value span { font-size: 14px; }
.fan-stage { gap: 16px; }
.fan-stage-label { gap: 7px; font-size: 15px; }
.fan-stage-label strong { font-size: 17px; }
.conditioned-flow { height: 176px; overflow: visible; filter: drop-shadow(0 0 10px rgba(69,222,210,.3)); }
.conditioned-flow::before, .conditioned-flow::after { height: 2px; }
.conditioned-flow i { width: 42%; height: 3px; box-shadow: 14px 0 18px rgba(69,222,210,.62); }
.conditioned-flow i:nth-child(1) { top: 18%; }
.conditioned-flow i:nth-child(2) { top: 32%; }
.conditioned-flow i:nth-child(3) { top: 46%; }
.conditioned-flow i:nth-child(4) { top: 60%; }
.conditioned-flow i:nth-child(5) { top: 74%; }
.conditioned-flow i:nth-child(6) { top: 88%; }
.flow-arrow { inset: 50% 3px auto; color: transparent; font-size: 0; height: 48px; transform: translateY(-50%); }
.flow-arrow::before { content: "›  ›  ›"; display: block; color: var(--green); font: 700 46px/1 Consolas,monospace; letter-spacing: 8px; text-align: center; text-shadow: 0 0 9px rgba(114,237,133,.65),0 0 24px rgba(69,222,210,.42); animation: airflowChevron var(--flow-duration) ease-in-out infinite; }
@keyframes airflowChevron { 0%,100% { opacity:.32; transform:translateX(-12px); } 50% { opacity:1; transform:translateX(12px); } }
@keyframes airflowChevronMobile { 0%,100% { opacity:.32; transform:translateY(-8px) rotate(90deg); } 50% { opacity:1; transform:translateY(8px) rotate(90deg); } }
.ac-load-stage { gap: 12px; }
.ac-load-stage > span { font-size: 15px; }
.ac-load-stage > strong { font-size: 19px; }
.ac-unit { height: 132px; border-color: rgba(126,190,178,.46); box-shadow: 0 16px 38px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.06),0 0 22px rgba(69,222,210,.07); }
.ac-load-meter { height: 18px; }
.airflow-explainer { padding-top: 20px; color: #c8d9d5; font-size: 15px; line-height: 1.75; }
.law-panel > .reveal h2 { font-size: clamp(30px,3vw,44px); }
.range-row label { font-size: 16px; }
.range-row label strong { font-size: 20px; }
.range-hint, .range-scale { font-size: 14px; }

.margin-column { grid-template-rows: repeat(2,minmax(0,1fr)); gap: 18px; }
.margin-comparison-card { min-height: 312px; padding: 22px; overflow: visible; }
.margin-card-head { margin-bottom: 16px; }
.margin-card-head span { font-size: 17px; }
.margin-card-head small { font-size: 13px; }
.margin-comparison-card .margin-donut, .combined-margin-donut { width: 180px; height: 180px; }
.margin-comparison-card .margin-donut { background: conic-gradient(var(--cyan) 0 var(--margin-angle),rgba(126,190,178,.12) var(--margin-angle) 100%); }
.margin-comparison-card .margin-donut strong, .combined-margin-donut strong { font-size: 30px; }
.margin-comparison-card .margin-donut.is-empty, .combined-margin-donut.is-empty { background: conic-gradient(rgba(126,190,178,.12) 0 100%); }
.combined-margin-donut { background: conic-gradient(var(--cyan) 0 var(--base-angle),var(--green) var(--base-angle) var(--combined-angle),rgba(126,190,178,.12) var(--combined-angle) 100%); }
.margin-visual p { max-width: 260px; margin: 16px auto 0; font-size: 15px; line-height: 1.55; text-align: center; }
.arc-label { min-width: 62px; padding: 0; border: 0; background: transparent; font: 700 16px/1 Consolas,monospace; text-shadow: 0 0 12px currentColor; }
.arc-label::before { content:""; position:absolute; top:50%; width:34px; height:1px; background:currentColor; opacity:.72; }
.arc-label::after { content:""; position:absolute; top:calc(50% - 3px); width:7px; height:7px; border:1px solid currentColor; border-radius:50%; background:#071613; box-shadow:0 0 9px currentColor; }
.margin-donut .arc-label.base, .combined-margin-donut .arc-label.base, .combined-margin-donut .arc-label.saving { top:var(--label-y,18%); right:auto; bottom:auto; left:var(--label-x,82%); transform:translate(-50%,-50%); }
.arc-label::before { left:50%; transform:rotate(var(--leader-angle,180deg)); transform-origin:left center; }
.arc-label::after { display:none; }
.combined-margin-donut .arc-label.saving { animation:savingLabelPulse 2.8s ease-in-out infinite; text-align:center; }
.margin-donut.is-empty .arc-label.base, .combined-margin-donut.is-base-empty .arc-label.base, .combined-margin-donut.is-saving-empty .arc-label.saving { opacity:0; }
.combined-orbit { inset:-9px; border-color:rgba(114,237,133,.38); }
.combined-orbit::after { display:none; }
.orbit-node { position:absolute; z-index:4; inset:-7px; border-radius:50%; pointer-events:none; }
.orbit-node::after { content:""; position:absolute; top:50%; right:-4px; width:9px; height:9px; border:2px solid #e8fffa; border-radius:50%; }
.orbit-node.base-node { animation:orbitNodeSpin 8.6s linear infinite; }
.orbit-node.base-node::after { background:var(--cyan); box-shadow:0 0 8px var(--cyan),0 0 20px rgba(69,222,210,.8); }
.orbit-node.saving-node { animation:orbitNodeSpin 6.8s -2.7s linear infinite reverse; }
.orbit-node.saving-node::after { background:var(--green); box-shadow:0 0 8px var(--green),0 0 22px rgba(114,237,133,.85); }
@keyframes orbitNodeSpin { to { transform:rotate(360deg); } }
.combined-margin-donut.is-base-empty .base-node, .combined-margin-donut.is-saving-empty .saving-node { display:none; }
.margin-legend { gap:10px; margin-top:18px; }
.margin-legend span { grid-template-columns:11px minmax(0,1fr) auto; gap:10px; font-size:14px; }
.margin-legend span > i { width:10px; height:10px; }
.margin-legend strong { font-size:16px; }

@media (max-width:1024px) {
  .hero-grid { grid-template-columns:1fr; gap:28px; padding:62px 0 58px; }
  .hero-copy { max-width:820px; }
  .hero-system { display:none; }
  .hero-value-logic { width:100%; }
  .airflow-demo { max-width:760px; }
}

@media (max-width:720px) {
  .home-hero { min-height:auto; }
  .hero-grid { padding:48px 0 54px; }
  .hero-copy > .eyebrow { margin-bottom:18px; }
  .hero-copy h1 { margin-bottom:24px; }
  .hero-value-logic { grid-template-columns:1fr; gap:0; }
  .hero-value-item { min-height:108px; padding:18px; }
  .hero-value-flow { width:2px; height:48px; margin-left:25px; justify-self:start; background:linear-gradient(180deg,rgba(244,186,98,.42),var(--cyan),rgba(114,237,133,.68)); }
  .hero-value-flow::after { top:auto; right:auto; bottom:-6px; left:-5px; transform:rotate(135deg); }
  .hero-value-flow::before { top:0; left:-3px; animation-name:valueFlowMobile; }
  .hero-copy .button-row { margin-top:26px; }
  .hero-stats { margin-top:30px; }
  .airflow-demo { grid-template-columns:1fr; grid-template-rows:auto 112px auto auto; gap:16px; padding:14px 0 0; }
  .airflow-demo .power-dial { width:210px; height:210px; }
  .conditioned-flow { width:180px; height:112px; justify-self:center; }
  .conditioned-flow::before, .conditioned-flow::after { top:0; bottom:0; left:35%; right:auto; width:2px; height:auto; background:linear-gradient(180deg,transparent,rgba(69,222,210,.55),rgba(114,237,133,.42),transparent); }
  .conditioned-flow::after { left:65%; }
  .conditioned-flow i { top:-34% !important; left:18%; width:3px; height:40%; background:linear-gradient(180deg,transparent,rgba(156,255,242,.95)); animation-name:conditionedFlowMobile; }
  .conditioned-flow i:nth-child(2), .conditioned-flow i:nth-child(4), .conditioned-flow i:nth-child(6) { left:49%; }
  .conditioned-flow i:nth-child(3), .conditioned-flow i:nth-child(5) { left:80%; }
  .flow-arrow { inset:50% 0 auto; }
  .flow-arrow::before { font-size:42px; letter-spacing:5px; animation-name:airflowChevronMobile; }
  .ac-load-stage { width:min(100%,330px); }
  .airflow-explainer { font-size:15px; }
  .margin-comparison-card { min-height:340px; padding:20px 16px; overflow:hidden; }
  .margin-card-head { display:grid; gap:5px; }
  .margin-card-head small { max-width:none; text-align:left; font-size:13px; }
  .margin-comparison-card .margin-donut, .combined-margin-donut { width:170px; height:170px; }
  .arc-label { min-width:52px; font-size:14px; }
  .arc-label::before { width:22px; }
  .margin-legend span { font-size:14px; }
}

@media (prefers-reduced-motion:reduce) {
  .flow-arrow::before, .orbit-node, .combined-orbit { animation:none !important; }
}

/* Round 13: one continuous control topology without stage cards or divider rails. */
.control-system-section .solution-flow {
  position: relative;
  display: block;
  min-height: 700px;
  margin-top: 30px;
  padding: 0;
  overflow: visible;
  border: 0;
  background: none;
  isolation: isolate;
}
.control-system-section .solution-flow::before { display: none; }
.system-load-row,
.system-ai-node,
.system-cabinet-node,
.system-motor-routes,
.system-output-routes { position: absolute; z-index: 3; }
.system-load-row {
  top: 20px;
  left: 0;
  width: 45%;
  height: 150px;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: start;
}
.system-device,
.system-cabinet-node,
.system-output-machine { margin: 0; text-align: center; }
.system-device { display: grid; justify-items: center; gap: 9px; }
.system-device figcaption,
.system-cabinet-node figcaption,
.system-output-machine b,
.system-motor-route strong {
  color: #edf8f5;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: 0;
}
.system-ac-visual {
  position: relative;
  display: block;
  width: 112px;
  height: 70px;
  border: 1px solid rgba(88,232,223,.58);
  background: linear-gradient(155deg,rgba(38,81,76,.68),rgba(5,19,17,.88));
  box-shadow: 0 14px 28px rgba(35,181,168,.13),inset 0 1px rgba(255,255,255,.13);
}
.system-ac-visual::before {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 14px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg,var(--flow-cyan),var(--flow-green));
  box-shadow: 0 0 12px rgba(88,232,223,.7);
}
.system-ac-wheel {
  position: absolute;
  left: 15px;
  bottom: 10px;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(88,232,223,.38);
  border-radius: 50%;
}
.system-ac-wheel::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  background: conic-gradient(from 45deg,var(--flow-cyan),transparent 22%,var(--flow-cyan) 25% 46%,transparent 48% 72%,var(--flow-cyan) 75%);
  animation: fanSpin 2.4s linear infinite;
}
.system-ac-louver {
  position: absolute;
  right: 11px;
  bottom: 13px;
  width: 47px;
  height: 23px;
  background: repeating-linear-gradient(90deg,rgba(171,224,218,.54) 0 2px,transparent 2px 8px);
  transform: skewY(-5deg);
  animation: acLouver 2.6s ease-in-out infinite;
}
.system-ac-light {
  position: absolute;
  right: 7px;
  bottom: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--flow-green);
  box-shadow: 0 0 11px var(--flow-green);
}
.system-exhaust-visual {
  position: relative;
  display: block;
  width: 88px;
  height: 88px;
  border: 9px solid rgba(88,232,223,.22);
  border-radius: 30% 50% 50% 30%;
  box-shadow: inset 0 0 20px rgba(88,232,223,.2),0 0 22px rgba(88,232,223,.09);
}
.system-exhaust-visual::before {
  content: "";
  position: absolute;
  inset: 11px;
  border: 2px solid rgba(255,255,255,.16);
  border-radius: 50%;
}
.system-exhaust-rotor {
  position: absolute;
  inset: 20px;
  border-radius: 50%;
  background: conic-gradient(var(--flow-cyan),transparent 17%,var(--flow-cyan) 18% 32%,transparent 33% 50%,var(--flow-cyan) 51% 65%,transparent 66% 83%,var(--flow-cyan) 84%);
  filter: drop-shadow(0 0 6px rgba(88,232,223,.75));
  animation: fanSpin .92s linear infinite;
}
.system-exhaust-hub {
  position: absolute;
  inset: 33px;
  border-radius: 50%;
  background: #69e6dc;
  box-shadow: 0 0 15px rgba(88,232,223,.86);
}
.system-stove-visual {
  position: relative;
  display: block;
  width: 88px;
  height: 72px;
  border-bottom: 5px solid rgba(255,197,104,.62);
}
.system-stove-visual::before {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 3px;
  height: 10px;
  border: 2px solid rgba(255,197,104,.52);
  border-radius: 50%;
}
.system-stove-visual > i,
.system-stove-visual > b {
  position: absolute;
  bottom: 17px;
  border-radius: 50% 50% 38% 38%;
  transform-origin: 50% 100%;
  animation: stoveFlame 1.3s ease-in-out infinite alternate;
}
.system-stove-visual > i:nth-child(1) { left: 20px; width: 19px; height: 38px; background: linear-gradient(#ffe89a,#ff9d32 68%,#ff6448); }
.system-stove-visual > i:nth-child(2) { left: 37px; width: 17px; height: 29px; background: linear-gradient(#fff2ab,#ffb548 70%,#ff6a45); animation-delay: -.45s; }
.system-stove-visual > i:nth-child(3) { left: 52px; width: 14px; height: 33px; background: linear-gradient(#ffd98d,#ff8a3d); animation-delay: -.8s; }
.system-stove-visual > b {
  left: 15px;
  right: 12px;
  top: -30px;
  bottom: auto;
  height: 43px;
  background: repeating-radial-gradient(ellipse at center,rgba(255,197,104,.2) 0 2px,transparent 3px 10px);
  filter: blur(2px);
  animation: smokeRise 2.2s linear infinite;
}
.system-ai-node {
  top: 226px;
  left: 15.5%;
  width: 14%;
  min-width: 122px;
  text-align: center;
}
.system-ai-node .ai-wave {
  height: 55px;
  border-color: rgba(88,232,223,.46);
  background: radial-gradient(circle,rgba(88,232,223,.08),transparent 68%);
}
.system-ai-node strong { display: block; margin-top: 8px; color: #f1faf8; font-size: 16px; }
.system-ai-node small { display: block; margin-top: 4px; color: #b7c9c5; font-size: 12px; white-space: nowrap; }
.system-cabinet-node {
  top: 365px;
  left: 14%;
  width: 17%;
  display: grid;
  justify-items: center;
  gap: 12px;
}
.system-cabinet-node img {
  display: block;
  width: 232px;
  max-width: 100%;
  aspect-ratio: 1.29;
  object-fit: contain;
  filter: contrast(1.07) saturate(.94) drop-shadow(0 18px 24px rgba(0,0,0,.38));
}
.system-cabinet-node figcaption { font-size: 16px; }
.system-motor-routes {
  top: 128px;
  left: 48%;
  width: 15%;
  height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.system-motor-route {
  display: grid;
  justify-items: center;
  gap: 8px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #eaf6f3;
  cursor: pointer;
  transition: opacity .3s ease,filter .3s ease,transform .3s ease;
}
.system-motor-route img {
  width: 158px;
  height: 118px;
  object-fit: contain;
  filter: drop-shadow(0 15px 18px rgba(0,0,0,.38));
  animation: systemMotorBreathe 4s ease-in-out infinite;
}
.system-motor-route strong { line-height: 1.25; text-align: center; }
.system-motor-route:focus-visible { outline: 0; }
.system-motor-route:focus-visible img { filter: drop-shadow(0 0 14px rgba(88,232,223,.58)) brightness(1.08); }
.system-motor-route:focus-visible strong { color: var(--flow-cyan); text-decoration: underline; text-decoration-color: rgba(88,232,223,.72); text-underline-offset: 5px; }
.system-output-routes {
  top: 74px;
  left: 75%;
  right: 0;
  height: 584px;
}
.system-output-pair {
  position: absolute;
  left: 0;
  right: 0;
  height: 270px;
  display: grid;
  grid-template-rows: repeat(2,minmax(0,1fr));
  gap: 12px;
  transition: opacity .3s ease,filter .3s ease;
}
.system-output-pair.axial-results { top: 0; }
.system-output-pair.traditional-results { bottom: 0; }
.system-output-machine {
  display: grid;
  grid-template-rows: 78px auto;
  align-content: center;
  justify-items: center;
  gap: 6px;
  min-width: 0;
}
.system-output-machine figcaption { width: 150px; max-width: 100%; min-width: 0; text-align: center; }
.system-output-machine b { display: block; color: #dbeae7; font-size: 14px; }
.system-output-machine strong { display: block; margin-top: 4px; color: var(--flow-green); font: 800 19px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.system-fan-machine,
.system-pump-machine { position: relative; display: block; width: 90px; height: 82px; }
.system-fan-machine img { display: block; width: 90px; height: 82px; object-fit: contain; filter: drop-shadow(0 10px 14px rgba(0,0,0,.36)); }
.system-fan-machine > i {
  position: absolute;
  left: 18px;
  top: 23px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: conic-gradient(var(--flow-cyan),transparent 17%,var(--flow-cyan) 18% 35%,transparent 36% 52%,var(--flow-cyan) 53% 70%,transparent 71% 87%,var(--flow-cyan) 88%);
  filter: drop-shadow(0 0 5px var(--flow-cyan));
  animation: fanSpin 1.1s linear infinite;
}
.system-pump-machine { filter: drop-shadow(0 10px 14px rgba(0,0,0,.34)); }
.pump-volute {
  position: absolute;
  left: 16px;
  top: 14px;
  width: 58px;
  height: 54px;
  border-radius: 48% 48% 43% 52%;
  background: radial-gradient(circle at 48% 50%,#102c27 0 16%,#4b8f86 17% 27%,#183e37 29% 56%,#0d2520 58% 100%);
  box-shadow: inset 0 0 0 2px rgba(130,226,214,.38),inset 0 0 18px rgba(88,232,223,.2);
}
.pump-impeller {
  position: absolute;
  left: 34px;
  top: 31px;
  width: 22px;
  height: 22px;
  border: 3px dotted var(--flow-green);
  border-radius: 50%;
  box-shadow: 0 0 9px rgba(142,242,138,.5);
  animation: fanSpin 1.25s linear infinite;
}
.pump-inlet { position: absolute; left: 0; top: 32px; width: 22px; height: 20px; border-block: 4px solid #437e76; }
.pump-outlet { position: absolute; left: 45px; top: 2px; width: 20px; height: 22px; border-inline: 4px solid #437e76; }
.pump-base { position: absolute; left: 17px; right: 10px; bottom: 5px; height: 7px; border-radius: 2px; background: #2c5d56; }
.system-saving-track {
  display: block;
  position: relative;
  width: 100%;
  max-width: 150px;
  height: 9px;
  margin-top: 9px;
  overflow: hidden;
  background: rgba(128,168,160,.14);
  box-shadow: inset 0 0 0 1px rgba(142,208,196,.08);
}
.system-saving-track > i {
  display: block;
  width: var(--range-min);
  height: 100%;
  background: linear-gradient(90deg,var(--flow-cyan),var(--flow-green));
  box-shadow: 0 0 12px var(--flow-green);
  animation: systemSavingRange 4.8s ease-in-out var(--range-delay,0s) infinite alternate;
}
.system-topology-lines {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.system-topology-lines path {
  fill: none;
  stroke: rgba(88,232,223,.65);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 7 7;
  animation: topologyCurrent 1.2s linear infinite;
}
.system-topology-lines .topology-route path { stroke: rgba(109,235,176,.66); }
.system-topology-lines .topology-signals circle { fill: #74efff; }
.system-topology-lines .signal-axial,
.system-topology-lines .signal-traditional { fill: #8ef28a; }
.system-downward-wind {
  position: absolute;
  z-index: 2;
  top: 108px;
  left: calc(22.5% - 15px);
  width: 30px;
  height: 78px;
  pointer-events: none;
}
.system-downward-wind i {
  position: absolute;
  top: 0;
  width: 2px;
  height: 46px;
  border-radius: 50%;
  background: linear-gradient(180deg,transparent,rgba(88,232,223,.9),transparent);
  animation: systemWindDrop 1.35s linear infinite;
}
.system-downward-wind i:nth-child(1) { left: 3px; }
.system-downward-wind i:nth-child(2) { left: 14px; animation-delay: -.45s; }
.system-downward-wind i:nth-child(3) { left: 25px; animation-delay: -.9s; }
.system-downward-wind b {
  position: absolute;
  left: 9px;
  bottom: 2px;
  width: 12px;
  height: 12px;
  border-right: 2px solid var(--flow-cyan);
  border-bottom: 2px solid var(--flow-cyan);
  transform: rotate(45deg);
  filter: drop-shadow(0 0 5px var(--flow-cyan));
}
.solution-flow.has-route-focus[data-active-path="axial"] .system-motor-route.traditional,
.solution-flow.has-route-focus[data-active-path="axial"] .traditional-results,
.solution-flow.has-route-focus[data-active-path="traditional"] .system-motor-route.axial,
.solution-flow.has-route-focus[data-active-path="traditional"] .axial-results { opacity: .54; filter: saturate(.55); }
.solution-flow.has-route-focus[data-active-path="axial"] .topology-traditional,
.solution-flow.has-route-focus[data-active-path="traditional"] .topology-axial { opacity: .28; }
.solution-flow.has-route-focus .system-motor-route[aria-current="true"] { transform: scale(1.045); filter: drop-shadow(0 0 13px rgba(88,232,223,.32)); }
.solution-flow.is-paused * { animation-play-state: paused !important; }

@keyframes topologyCurrent { to { stroke-dashoffset: -28; } }
@keyframes systemMotorBreathe { 50% { transform: translateY(-3px); filter: drop-shadow(0 17px 21px rgba(0,0,0,.4)) brightness(1.06); } }
@keyframes systemSavingRange { from { width: var(--range-min); } to { width: var(--range-max); } }
@keyframes systemWindDrop { from { transform: translateY(-12px); opacity: 0; } 25%,75% { opacity: 1; } to { transform: translateY(42px); opacity: 0; } }

@media (max-width:1100px) {
  .control-system-section .solution-flow { min-height: 590px; }
  .system-load-row { width: 46%; }
  .system-ac-visual { width: 94px; height: 61px; }
  .system-exhaust-visual { width: 76px; height: 76px; }
  .system-stove-visual { width: 74px; height: 62px; }
  .system-ai-node { top: 194px; min-width: 105px; }
  .system-cabinet-node { top: 315px; }
  .system-cabinet-node img { width: 190px; }
  .system-motor-routes { top: 108px; height: 405px; }
  .system-motor-route img { width: 126px; height: 98px; }
  .system-output-routes { top: 60px; height: 492px; }
  .system-output-pair { height: 226px; gap: 7px; }
  .system-output-machine { grid-template-rows: 64px auto; gap: 4px; }
  .system-fan-machine,.system-pump-machine,.system-fan-machine img { width: 72px; height: 66px; }
  .system-output-machine strong { font-size: 16px; }
  .system-downward-wind { top: 91px; height: 64px; }
}

@media (max-width:640px) {
  .control-system-section .solution-flow { min-height: 410px; margin-top: 20px; }
  .system-load-row { top: 12px; width: 44%; height: 86px; }
  .system-device { gap: 4px; }
  .system-device figcaption,.system-cabinet-node figcaption,.system-motor-route strong { font-size: 8px; line-height: 1.2; }
  .system-ac-visual { width: 44px; height: 31px; }
  .system-ac-visual::before { left: 5px; right: 5px; top: 6px; height: 2px; }
  .system-ac-wheel { left: 5px; bottom: 4px; width: 13px; height: 13px; }
  .system-ac-wheel::after { inset: 3px; }
  .system-ac-louver { right: 4px; bottom: 5px; width: 19px; height: 10px; }
  .system-ac-light { right: 2px; bottom: 2px; width: 3px; height: 3px; }
  .system-exhaust-visual { width: 38px; height: 38px; border-width: 4px; }
  .system-exhaust-visual::before { inset: 4px; border-width: 1px; }
  .system-exhaust-rotor { inset: 8px; }
  .system-exhaust-hub { inset: 14px; }
  .system-stove-visual { width: 38px; height: 34px; border-bottom-width: 3px; }
  .system-stove-visual > i:nth-child(1) { left: 7px; width: 9px; height: 19px; }
  .system-stove-visual > i:nth-child(2) { left: 15px; width: 8px; height: 15px; }
  .system-stove-visual > i:nth-child(3) { left: 23px; width: 7px; height: 17px; }
  .system-stove-visual > b { left: 5px; right: 4px; top: -13px; height: 20px; }
  .system-ai-node { top: 132px; left: 17%; width: 11%; min-width: 48px; }
  .system-ai-node .ai-wave { height: 31px; gap: 2px; }
  .system-ai-node .ai-wave i { width: 2px; }
  .system-ai-node strong { margin-top: 4px; font-size: 8px; }
  .system-ai-node small { margin-top: 2px; font-size: 6px; white-space: normal; }
  .system-cabinet-node { top: 222px; left: 13%; width: 19%; gap: 5px; }
  .system-cabinet-node img { width: 72px; }
  .system-motor-routes { top: 72px; left: 47%; width: 17%; height: 283px; }
  .system-motor-route { gap: 3px; }
  .system-motor-route img { width: 62px; height: 50px; animation-duration: 5s; }
  .system-output-routes { top: 42px; left: 75%; height: 337px; }
  .system-output-pair { height: 145px; gap: 3px; }
  .system-output-machine { grid-template-rows: 31px auto; gap: 2px; }
  .system-output-machine figcaption { width: 100%; }
  .system-fan-machine,.system-pump-machine,.system-fan-machine img { width: 34px; height: 31px; }
  .system-fan-machine > i { left: 7px; top: 9px; width: 12px; height: 12px; }
  .system-output-machine b { font-size: 7px; }
  .system-output-machine strong { margin-top: 2px; font-size: 9px; }
  .system-saving-track { max-width: 58px; height: 4px; margin-top: 4px; }
  .pump-volute { left: 6px; top: 5px; width: 23px; height: 21px; }
  .pump-impeller { left: 13px; top: 12px; width: 9px; height: 9px; border-width: 1px; }
  .pump-inlet { left: 0; top: 12px; width: 9px; height: 8px; border-width: 2px; }
  .pump-outlet { left: 18px; top: 0; width: 8px; height: 9px; border-width: 2px; }
  .pump-base { left: 6px; right: 3px; bottom: 1px; height: 3px; }
  .system-downward-wind { top: 63px; left: calc(22.5% - 8px); width: 16px; height: 45px; }
  .system-downward-wind i { height: 26px; }
  .system-downward-wind i:nth-child(1) { left: 1px; }.system-downward-wind i:nth-child(2) { left: 7px; }.system-downward-wind i:nth-child(3) { left: 13px; }
  .system-downward-wind b { left: 5px; width: 7px; height: 7px; }
  .system-topology-lines path { stroke-width: 1.3; }
  .system-topology-lines .topology-signals circle { r: 3px; }
}

@media (prefers-reduced-motion:reduce) {
  .system-ac-wheel::after,.system-ac-louver,.system-exhaust-rotor,.system-stove-visual > *,
  .system-ai-node .ai-wave i,.system-motor-route img,.system-fan-machine > i,.pump-impeller,
  .system-saving-track > i,.system-downward-wind i,.system-topology-lines path { animation: none !important; }
  .system-topology-lines .topology-signals { display: none; }
  .system-saving-track > i { width: var(--range-max); }
}

/* Round 10: continuous system animation, balanced airflow stage and power picker. */
.control-system-section { overflow: clip; }
.solution-flow {
  --flow-cyan:#58e8df;
  --flow-green:#8ef28a;
  --flow-amber:#ffc568;
  position:relative;
  display:grid;
  grid-template-columns:minmax(250px,1.3fr) minmax(175px,.72fr) minmax(210px,.86fr) minmax(360px,1.45fr);
  min-height:620px;
  margin-top:34px;
  padding:42px 0 18px;
  isolation:isolate;
  border-block:1px solid rgba(88,232,223,.18);
  background:linear-gradient(90deg,transparent,rgba(26,91,78,.045) 42%,transparent);
}
.solution-flow::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0 24.8%,rgba(88,232,223,.16) 25%,transparent 25.2% 40.8%,rgba(88,232,223,.12) 41%,transparent 41.2% 59.8%,rgba(142,242,138,.14) 60%,transparent 60.2%);
  opacity:.55;
}
.solution-stage { position:relative; z-index:2; min-width:0; }
.solution-stage-label {
  position:absolute;
  top:-25px;
  left:14px;
  margin:0;
  color:#9fe9e1;
  font:700 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
}
.solution-input-stage { min-height:540px; }
.process-ac {
  position:absolute;
  top:70px;
  left:12px;
  width:112px;
  height:70px;
  border:1px solid rgba(88,232,223,.55);
  background:linear-gradient(155deg,rgba(38,81,76,.56),rgba(5,19,17,.76));
  box-shadow:0 14px 36px rgba(35,181,168,.12),inset 0 1px rgba(255,255,255,.12);
}
.process-ac::before { content:""; position:absolute; left:13px; right:13px; top:16px; height:4px; border-radius:4px; background:linear-gradient(90deg,var(--flow-cyan),var(--flow-green)); box-shadow:0 0 12px var(--flow-cyan); }
.process-ac-fan { position:absolute; left:14px; bottom:10px; width:32px; height:32px; border:1px solid rgba(88,232,223,.36); border-radius:50%; }
.process-ac-fan::after { content:""; position:absolute; inset:7px; background:conic-gradient(from 45deg,var(--flow-cyan),transparent 22%,var(--flow-cyan) 25% 46%,transparent 48% 72%,var(--flow-cyan) 75%); border-radius:50%; animation:fanSpin 2.5s linear infinite; }
.process-ac-louver { position:absolute; right:12px; bottom:12px; width:48px; height:24px; background:repeating-linear-gradient(90deg,rgba(171,224,218,.42) 0 2px,transparent 2px 8px); transform:skewY(-5deg); animation:acLouver 2.6s ease-in-out infinite; }
.process-ac > i { position:absolute; right:7px; bottom:7px; width:5px; height:5px; border-radius:50%; background:var(--flow-green); box-shadow:0 0 10px var(--flow-green); }
.process-exhaust {
  position:absolute;
  top:48px;
  left:50%;
  width:92px;
  height:92px;
  transform:translateX(-20%);
  border:10px solid rgba(88,232,223,.2);
  border-radius:28% 50% 50% 28%;
  box-shadow:inset 0 0 20px rgba(88,232,223,.18),0 0 25px rgba(255,197,104,.08);
}
.process-exhaust::before { content:""; position:absolute; inset:13px; border:2px solid rgba(255,255,255,.15); border-radius:50%; }
.process-exhaust > span { position:absolute; inset:23px; border-radius:50%; background:conic-gradient(var(--flow-amber),transparent 17%,var(--flow-amber) 18% 32%,transparent 33% 50%,var(--flow-amber) 51% 65%,transparent 66% 83%,var(--flow-amber) 84%); animation:fanSpin .78s linear infinite; filter:drop-shadow(0 0 5px rgba(255,197,104,.75)); }
.process-exhaust > i { position:absolute; inset:35px; border-radius:50%; background:#ffbd5e; box-shadow:0 0 16px rgba(255,197,104,.8); }
.process-stove { position:absolute; top:76px; right:4px; width:70px; height:55px; border-bottom:5px solid rgba(255,197,104,.55); }
.process-stove::before { content:""; position:absolute; left:7px; right:7px; bottom:3px; height:9px; border:2px solid rgba(255,197,104,.45); border-radius:50%; }
.process-stove span,.process-stove i,.process-stove b { position:absolute; bottom:15px; border-radius:50% 50% 38% 38%; transform-origin:50% 100%; animation:stoveFlame 1.3s ease-in-out infinite alternate; }
.process-stove span { left:15px; width:18px; height:34px; background:linear-gradient(#ffe89a,#ff9d32 68%,#ff6448); }
.process-stove i { left:30px; width:16px; height:26px; background:linear-gradient(#fff2ab,#ffb548 70%,#ff6a45); animation-delay:-.45s; }
.process-stove b { left:42px; width:13px; height:29px; background:linear-gradient(#ffd98d,#ff8a3d); animation-delay:-.8s; }
.process-stove::after { content:""; position:absolute; left:10px; right:8px; top:-42px; height:50px; background:repeating-radial-gradient(ellipse at center,rgba(255,197,104,.22) 0 2px,transparent 3px 10px); filter:blur(2px); animation:smokeRise 2.2s linear infinite; }
.process-air-stream { position:absolute; top:100px; left:116px; right:92px; height:28px; }
.process-air-stream i { position:absolute; left:0; width:100%; height:2px; background:linear-gradient(90deg,transparent,var(--flow-cyan),transparent); animation:systemAir 1.55s linear infinite; }
.process-air-stream i:nth-child(2){top:9px;animation-delay:-.5s}.process-air-stream i:nth-child(3){top:18px;animation-delay:-1s}
.process-ai {
  position:absolute;
  left:50%;
  top:245px;
  width:156px;
  transform:translateX(-50%);
  text-align:center;
}
.process-ai::before { content:""; position:absolute; left:50%; bottom:100%; height:90px; border-left:2px solid var(--flow-cyan); box-shadow:0 0 9px var(--flow-cyan); opacity:.72; }
.process-ai::after { content:""; position:absolute; left:50%; top:100%; height:126px; border-left:2px solid var(--flow-cyan); box-shadow:0 0 9px var(--flow-cyan); }
.ai-wave { display:flex; align-items:center; justify-content:center; gap:5px; height:58px; border:1px solid rgba(88,232,223,.34); border-radius:50%; box-shadow:0 0 26px rgba(88,232,223,.1); }
.ai-wave i { width:4px; height:13px; background:linear-gradient(var(--flow-cyan),var(--flow-green)); box-shadow:0 0 8px var(--flow-cyan); animation:aiWave 1.1s ease-in-out infinite; }
.ai-wave i:nth-child(2){animation-delay:-.2s}.ai-wave i:nth-child(3){animation-delay:-.4s}.ai-wave i:nth-child(4){animation-delay:-.6s}.ai-wave i:nth-child(5){animation-delay:-.8s}
.process-ai strong { display:block; margin-top:10px; color:#e9f8f5; font-size:17px; }
.process-ai small { display:block; margin-top:4px; color:#a9bdb8; font-size:12px; }
.solution-cabinet-stage { display:flex; align-items:center; justify-content:center; }
.solution-cabinet { position:relative; width:165px; margin:86px auto 0; text-align:center; }
.solution-cabinet img { display:block; width:100%; aspect-ratio:1.29; object-fit:cover; object-position:center; filter:contrast(1.04) saturate(.88) drop-shadow(0 18px 28px rgba(0,0,0,.35)); clip-path:inset(0 round 2px); }
.solution-cabinet::before { content:""; position:absolute; inset:-10px; border:1px solid rgba(88,232,223,.24); box-shadow:0 0 28px rgba(88,232,223,.09); }
.cabinet-screen-glow { position:absolute; left:9%; top:70%; width:22%; height:14%; background:rgba(68,183,255,.34); box-shadow:0 0 15px #3bc7ff; animation:controlPulse 1.8s ease-in-out infinite; }
.solution-cabinet figcaption { margin-top:20px; color:#ecf7f5; font-size:15px; font-weight:700; }
.solution-motor-stage { display:grid; align-content:center; gap:62px; padding:78px 12px 20px; }
.solution-motor-route { position:relative; display:grid; justify-items:center; gap:7px; min-width:0; padding:0; color:#c6d4d0; border:0; background:transparent; cursor:pointer; transition:opacity .35s,transform .35s,filter .35s; }
.solution-motor-route img { width:150px; height:118px; object-fit:contain; filter:drop-shadow(0 14px 18px rgba(0,0,0,.3)); }
.solution-motor-route strong { font-size:15px; }
.solution-motor-route.active { color:#fff; transform:scale(1.04); filter:drop-shadow(0 0 14px rgba(88,232,223,.28)); }
.solution-flow[data-active-path="axial"] .solution-motor-route[data-control-path="traditional"],.solution-flow[data-active-path="traditional"] .solution-motor-route[data-control-path="axial"] { opacity:.44; }
.motor-flux { position:absolute; top:13px; width:102px; height:82px; border:2px solid var(--flow-cyan); border-radius:50%; opacity:.2; animation:motorFlux 2.8s linear infinite; }
.solution-motor-route.active .motor-flux { opacity:.8; }
.solution-result-stage { display:grid; grid-template-rows:1fr 1fr; gap:10px; align-content:center; padding:42px 0 12px 12px; }
.solution-result-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:center; min-height:240px; transition:opacity .35s,filter .35s; }
.solution-flow[data-active-path="axial"] .traditional-results,.solution-flow[data-active-path="traditional"] .axial-results { opacity:.36; filter:saturate(.5); }
.dynamic-machine { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:10px; min-width:0; }
.dynamic-machine > img,.pump-body { width:88px; height:82px; object-fit:contain; filter:drop-shadow(0 12px 16px rgba(0,0,0,.32)); }
.dynamic-machine > div { min-width:0; }
.dynamic-machine b { display:block; color:#b7c9c5; font-size:13px; }
.dynamic-machine strong { display:block; margin-top:4px; color:var(--flow-green); font:800 21px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.dynamic-machine div > i { display:block; position:relative; height:8px; margin-top:10px; overflow:hidden; background:rgba(125,166,158,.12); }
.dynamic-machine div > i em { display:block; width:var(--result); height:100%; background:linear-gradient(90deg,var(--flow-cyan),var(--flow-green)); box-shadow:0 0 12px var(--flow-green); animation:solutionResultFill 11s cubic-bezier(.2,.8,.2,1) infinite; }
.machine-rotor { position:absolute; width:36px; height:36px; margin-left:20px; border-radius:50%; background:conic-gradient(var(--flow-cyan),transparent 17%,var(--flow-cyan) 18% 35%,transparent 36% 52%,var(--flow-cyan) 53% 70%,transparent 71% 87%,var(--flow-cyan) 88%); animation:fanSpin 1s linear infinite; opacity:.75; }
.pump-body { position:relative; display:block; border:2px solid rgba(88,232,223,.58); border-radius:18% 50% 50% 18%; background:linear-gradient(145deg,rgba(42,115,105,.42),rgba(4,21,18,.6)); }
.pump-body::before { content:""; position:absolute; left:16px; top:13px; width:48px; height:48px; border:6px solid rgba(88,232,223,.6); border-radius:50%; box-shadow:inset 0 0 12px rgba(88,232,223,.35); }
.pump-body::after { content:""; position:absolute; right:-12px; top:32px; width:24px; height:18px; border-block:3px solid var(--flow-cyan); }
.pump-body i { position:absolute; left:33px; top:30px; width:18px; height:18px; border:3px dotted var(--flow-green); border-radius:50%; animation:fanSpin 1.4s linear infinite; }
.pump-body b { position:absolute; inset:8px; border:1px solid transparent; border-top-color:var(--flow-cyan); border-radius:50%; animation:fanSpin 2.4s linear infinite reverse; }
.solution-wiring { position:absolute; inset:0; z-index:1; pointer-events:none; }
.solution-wiring span { position:absolute; display:block; color:var(--flow-cyan); border-color:currentColor; filter:drop-shadow(0 0 6px currentColor); }
.wire-load { left:20%; top:170px; width:5%; height:195px; border-right:2px solid; border-bottom:2px solid; }
.wire-ai { left:25%; top:364px; width:17%; border-top:2px solid; }
.wire-cabinet { left:41%; top:364px; width:19%; border-top:2px solid; }
.wire-axial,.wire-traditional { left:59.5%; width:9%; border-top:2px solid; }
.wire-axial { top:214px; }.wire-traditional { top:455px; }
.wire-axial-results,.wire-traditional-results { left:76%; width:8%; color:var(--flow-green); border-top:2px solid; }
.wire-axial-results { top:214px; }.wire-traditional-results { top:455px; }
.solution-wiring span::after { content:""; position:absolute; top:-5px; left:0; width:9px; height:9px; border-radius:50%; background:currentColor; box-shadow:0 0 13px currentColor; animation:wireSignal 2.2s linear infinite; }
.wire-traditional::after,.wire-traditional-results::after { animation-delay:-1.1s; }
.solution-flow.is-paused * { animation-play-state:paused !important; }

/* Fan law airflow: complete A/C on the left, conditioned air, exhaust fan on the right. */
.law-panel { align-items:center; }
.airflow-demo {
  --ac-duration:2.8s;
  display:grid;
  grid-template-columns:minmax(190px,1fr) minmax(160px,.78fr) minmax(190px,1fr);
  grid-template-rows:260px auto;
  align-items:end;
  gap:0 20px;
  padding:24px 8px 0;
  background:none !important;
  border:0 !important;
}
.airflow-demo .ac-load-stage,.airflow-demo .fan-stage { display:grid; align-content:end; justify-items:center; height:260px; min-width:0; }
.airflow-demo .ac-load-stage { grid-template-rows:176px 24px 16px 28px; row-gap:7px; }
.airflow-demo .fan-stage { grid-template-rows:176px 68px; row-gap:7px; }
.airflow-demo .ac-unit { position:relative; width:176px; height:112px; align-self:center; overflow:visible; border:1px solid rgba(88,232,223,.52); background:linear-gradient(155deg,rgba(38,84,78,.65),rgba(5,19,17,.82)); box-shadow:0 18px 42px rgba(38,173,161,.12),inset 0 1px rgba(255,255,255,.1); }
.airflow-demo .ac-unit::before { content:""; position:absolute; left:18px; right:18px; top:20px; height:5px; border-radius:5px; background:linear-gradient(90deg,var(--cyan),var(--green)); box-shadow:0 0 13px rgba(88,232,223,.65); }
.ac-display { position:absolute; right:14px; top:34px; width:28px; height:8px; border-top:2px solid rgba(213,238,233,.55); }
.ac-vent { position:absolute; left:19px; right:19px; bottom:21px; display:flex; justify-content:space-around; height:30px; border-block:1px solid rgba(129,181,173,.28); overflow:hidden; }
.ac-vent em { width:2px; height:30px; background:rgba(162,214,206,.38); transform:skewX(-8deg); animation:acLouver 2.6s ease-in-out infinite; }
.ac-wheel { position:absolute; left:24px; bottom:27px; width:22px; height:22px; border-radius:50%; background:conic-gradient(var(--cyan),transparent 20%,var(--cyan) 22% 44%,transparent 46% 67%,var(--cyan) 69% 90%,transparent 92%); animation:fanSpin var(--ac-duration) linear infinite; box-shadow:0 0 10px rgba(88,232,223,.45); }
.ac-status { position:absolute; right:13px; bottom:10px; width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 11px var(--green); text-decoration:none; animation:controlPulse 1.4s ease-in-out infinite; }
.airflow-demo .ac-load-stage > span,.airflow-demo .fan-stage-label > span { color:#e1ece9; font-size:16px; font-weight:700; text-align:center; }
.airflow-demo .ac-load-stage > strong,.airflow-demo .fan-stage-label strong,.airflow-demo .fan-stage-label b { font-size:19px; font-weight:800; line-height:1.2; text-align:center; }
.airflow-demo .ac-load-meter { width:176px; height:10px; margin:0; background:rgba(80,126,119,.13); }
.airflow-demo .conditioned-flow { position:relative; align-self:center; height:112px; opacity:var(--flow-opacity,.55); }
.airflow-demo .conditioned-flow::before,.airflow-demo .conditioned-flow::after { content:""; position:absolute; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,var(--cyan),var(--green),transparent); animation:systemAir var(--flow-duration,1.4s) linear infinite; }
.airflow-demo .conditioned-flow::before { top:30px; }.airflow-demo .conditioned-flow::after { top:78px; animation-delay:-.65s; }
.airflow-demo .conditioned-flow > i { position:absolute; left:0; width:18px; height:4px; border-radius:10px; background:#b6fff5; box-shadow:0 0 12px var(--cyan); animation:airParticle var(--flow-duration,1.4s) linear infinite; }
.airflow-demo .conditioned-flow > i:nth-child(1){top:23px}.airflow-demo .conditioned-flow > i:nth-child(2){top:51px;animation-delay:-.25s}.airflow-demo .conditioned-flow > i:nth-child(3){top:82px;animation-delay:-.5s}.airflow-demo .conditioned-flow > i:nth-child(4){top:34px;animation-delay:-.75s}.airflow-demo .conditioned-flow > i:nth-child(5){top:67px;animation-delay:-1s}.airflow-demo .conditioned-flow > i:nth-child(6){top:92px;animation-delay:-1.25s}
.airflow-demo .flow-arrow { position:absolute; inset:0; display:grid; place-items:center; color:var(--green); font-size:40px; text-shadow:0 0 14px var(--green); animation:arrowDrive var(--flow-duration,1.4s) ease-in-out infinite; }
.airflow-demo .power-dial { width:172px; height:172px; align-self:center; }
.airflow-demo .fan-spinner { transform-origin:center; }
.airflow-demo .fan-stage-label { display:grid; grid-template-rows:24px 28px; row-gap:7px; align-items:center; justify-items:center; }
.airflow-demo .airflow-explainer { grid-column:1 / -1; margin:18px 0 0; padding-top:17px; border-top:1px solid rgba(126,184,174,.2); color:#c8d7d3; font-size:15px; line-height:1.7; }

/* Estimator alignment and inline five-row power selector. */
.equipment-table-head,.equipment-row { grid-template-columns:72px minmax(160px,1.05fr) minmax(92px,.62fr) minmax(106px,.7fr) minmax(170px,1.15fr) minmax(170px,1.15fr) 44px; }
.equipment-table-head { align-items:end; gap:12px; padding:0 14px 11px; }
.equipment-table-head span { min-height:42px; padding:0 4px; color:#c9d9d5; font-size:14px; font-weight:650; line-height:1.35; text-align:center; }
.equipment-row { align-items:start; gap:12px; padding:16px 14px; }
.equipment-row .field label,.common-parameters .field label,.equipment-metric small { display:flex; align-items:flex-end; justify-content:center; min-height:38px; margin:0 0 10px; color:#bfcfcb; font-size:14px; font-weight:650; line-height:1.3; text-align:center; }
.equipment-row input,.common-parameters input,.common-parameters select { min-height:48px; font-size:16px; font-weight:700; text-align:center; }
.equipment-identity { align-self:center; padding-top:42px; text-align:center; font-size:14px; }
.equipment-metric { display:grid; grid-template-rows:38px 48px 9px; row-gap:10px; align-items:center; justify-items:center; min-width:0; }
.equipment-metric small { margin:0; }
.equipment-metric b { display:grid; place-items:center; width:100%; min-height:48px; font-size:16px; text-align:center; }
.equipment-metric-track { width:100%; }
.equipment-remove { margin-top:50px; }
.power-combobox { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 64px; align-items:start; }
.power-combobox .equipment-power { border-right:0; }
.power-menu-toggle { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 10px; color:#e8f4f1; border:1px solid rgba(104,165,155,.34); background:linear-gradient(160deg,rgba(22,55,50,.85),rgba(5,20,17,.96)); font:750 14px/1 ui-monospace,SFMono-Regular,Consolas,monospace; cursor:pointer; }
.power-menu-toggle i { width:8px; height:8px; border-right:2px solid var(--cyan); border-bottom:2px solid var(--cyan); transform:rotate(45deg) translateY(-2px); transition:transform .25s; }
.power-combobox.is-open .power-menu-toggle { color:var(--green); border-color:rgba(88,232,223,.65); box-shadow:0 0 18px rgba(88,232,223,.12); }
.power-combobox.is-open .power-menu-toggle i { transform:rotate(225deg) translate(-2px,-2px); }
.power-options { grid-column:1 / -1; max-height:205px; margin-top:8px; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:rgba(88,232,223,.55) rgba(3,15,13,.75); border:1px solid rgba(88,232,223,.33); background:linear-gradient(180deg,rgba(10,34,29,.98),rgba(3,16,14,.99)); box-shadow:0 18px 34px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.04); animation:powerMenuOpen .24s ease both; }
.power-options[hidden] { display:none; }
.power-options button { position:relative; display:grid; grid-template-columns:1fr 34px; width:100%; min-height:39px; padding:0 16px; color:#d7e5e1; border:0; border-bottom:1px solid rgba(107,157,149,.1); background:transparent; font:650 15px/1 ui-monospace,SFMono-Regular,Consolas,monospace; text-align:right; cursor:pointer; }
.power-options button span { color:#8eaaa4; font-size:12px; text-align:left; }
.power-options button::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--cyan); transform:scaleY(0); transition:transform .2s; }
.power-options button:hover,.power-options button:focus-visible { outline:0; color:#fff; background:linear-gradient(90deg,rgba(88,232,223,.14),rgba(142,242,138,.04)); }
.power-options button:hover::before,.power-options button:focus-visible::before,.power-options button.is-selected::before { transform:scaleY(1); }
.power-options button.is-selected { color:var(--green); background:rgba(142,242,138,.08); }
.equipment-row.power-open { z-index:5; }

@keyframes acLouver { 50% { transform:skewX(7deg); } }
@keyframes stoveFlame { 50% { transform:scale(.82,1.12) translateX(2px); filter:hue-rotate(12deg); } }
@keyframes smokeRise { from { transform:translateY(13px); opacity:.1; } 50% { opacity:.5; } to { transform:translateY(-20px); opacity:0; } }
@keyframes systemAir { from { transform:translateX(-28%); opacity:0; } 25%,75% { opacity:1; } to { transform:translateX(28%); opacity:0; } }
@keyframes aiWave { 50% { height:40px; } }
@keyframes motorFlux { to { transform:rotate(360deg); } }
@keyframes wireSignal { from { left:0; opacity:0; } 15%,80% { opacity:1; } to { left:100%; opacity:0; } }
@keyframes solutionResultFill { 0%,57% { width:0; } 78%,100% { width:var(--result); } }
@keyframes airParticle { from { transform:translateX(-18px); opacity:0; } 15%,80% { opacity:1; } to { transform:translateX(calc(100vw * .12)); opacity:0; } }
@keyframes arrowDrive { 50% { transform:translateX(10px); filter:brightness(1.35); } }
@keyframes powerMenuOpen { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }

@media (max-width:1100px) {
  .solution-flow { grid-template-columns:minmax(220px,1.15fr) minmax(150px,.7fr) minmax(175px,.78fr) minmax(300px,1.35fr); min-height:580px; }
  .solution-motor-route img { width:125px; height:105px; }
  .dynamic-machine { grid-template-columns:70px minmax(0,1fr); }
  .dynamic-machine > img,.pump-body { width:70px; height:68px; }
  .dynamic-machine strong { font-size:18px; }
}

@media (min-width:641px) and (max-width:900px) {
  .solution-flow { grid-template-columns:1.2fr .8fr 1fr 1.45fr; min-height:530px; padding-inline:4px; }
  .process-ac { width:90px; height:60px; left:2px; }.process-stove{right:0}.process-exhaust{width:78px;height:78px;left:45%}
  .solution-cabinet{width:130px}.solution-motor-route img{width:100px;height:88px}.solution-motor-stage{gap:70px;padding-inline:4px}
  .solution-result-pair{gap:5px}.dynamic-machine{grid-template-columns:54px minmax(0,1fr);gap:5px}.dynamic-machine>img,.pump-body{width:54px;height:52px}.dynamic-machine strong{font-size:15px}.dynamic-machine b{font-size:11px}
  .airflow-demo { grid-template-columns:minmax(185px,1fr) minmax(120px,.7fr) minmax(185px,1fr); grid-template-rows:250px auto; }
  .airflow-demo .ac-load-stage { grid-column:1; grid-row:1; }.airflow-demo .conditioned-flow{grid-column:2;grid-row:1;transform:none}.airflow-demo .fan-stage{grid-column:3;grid-row:1}.airflow-demo .airflow-explainer{grid-row:2}
}

@media (max-width:640px) {
  .control-system-section .section-heading h2 { font-size:25px; }
  .solution-flow { grid-template-columns:24% 21% 23% 32%; min-height:330px; margin-top:24px; padding:34px 0 8px; overflow:visible; }
  .solution-stage-label { top:-20px; left:2px; font-size:8px; white-space:nowrap; }
  .solution-input-stage { min-height:286px; }
  .process-ac { top:46px; left:0; width:48px; height:35px; }.process-ac::before{left:6px;right:6px;top:8px;height:2px}.process-ac-fan{left:5px;bottom:4px;width:14px;height:14px}.process-ac-fan::after{inset:3px}.process-ac-louver{right:4px;bottom:5px;width:21px;height:12px}.process-ac>i{right:3px;bottom:2px;width:3px;height:3px}
  .process-exhaust { top:38px; left:50%; width:52px; height:52px; border-width:6px; transform:translateX(-24%); }.process-exhaust>span{inset:12px}.process-exhaust>i{inset:20px}.process-stove{top:49px;right:0;width:35px;height:36px}.process-stove span{left:4px;width:10px;height:22px}.process-stove i{left:13px;width:9px;height:18px}.process-stove b{left:21px;width:8px;height:19px}
  .process-air-stream{top:63px;left:46px;right:40px;height:18px}.full-speed-state{font-size:7px!important;white-space:nowrap}
  .process-ai { top:145px; width:76px; }.process-ai::before{height:54px}.process-ai::after{height:72px}.ai-wave{height:36px;gap:3px}.ai-wave i{width:2px}.process-ai strong{font-size:10px;margin-top:5px}.process-ai small{font-size:7px}
  .solution-cabinet { width:68px; margin-top:88px; }.solution-cabinet::before{inset:-4px}.solution-cabinet figcaption{margin-top:8px;font-size:8px;line-height:1.25}.cabinet-screen-glow{box-shadow:0 0 6px #3bc7ff}
  .solution-motor-stage { gap:50px; padding:55px 0 0; }.solution-motor-route{gap:2px}.solution-motor-route img{width:64px;height:58px}.solution-motor-route strong{font-size:8px;line-height:1.25}.motor-flux{top:6px;width:48px;height:42px}
  .solution-result-stage { gap:6px; padding:28px 0 0 3px; }.solution-result-pair{grid-template-columns:1fr;gap:5px;min-height:133px}.dynamic-machine{grid-template-columns:38px minmax(0,1fr);gap:4px}.dynamic-machine>img,.pump-body{width:38px;height:36px}.machine-rotor{width:16px;height:16px;margin-left:9px}.pump-body::before{left:7px;top:6px;width:22px;height:22px;border-width:3px}.pump-body::after{right:-6px;top:14px;width:11px;height:8px}.pump-body i{left:14px;top:13px;width:9px;height:9px;border-width:2px}.dynamic-machine b{font-size:8px}.dynamic-machine strong{font-size:11px}.dynamic-machine div>i{height:4px;margin-top:4px}
  .wire-load{left:18%;top:100px;height:113px;width:6%}.wire-ai{left:24%;top:212px;width:21%}.wire-cabinet{left:43%;top:212px;width:17%}.wire-axial,.wire-traditional{left:58%;width:10%}.wire-axial{top:105px}.wire-traditional{top:237px}.wire-axial-results,.wire-traditional-results{left:78%;width:6%}.wire-axial-results{top:105px}.wire-traditional-results{top:237px}
  .system-boundary { margin-top:12px; font-size:11px; }

  .airflow-demo { grid-template-columns:minmax(118px,1.15fr) minmax(46px,.42fr) minmax(105px,1fr); grid-template-rows:196px auto; gap:0 4px; padding:10px 0 0; }
  .airflow-demo .ac-load-stage,.airflow-demo .fan-stage{height:196px}.airflow-demo .ac-load-stage{grid-template-rows:112px 20px 9px 24px;row-gap:5px}.airflow-demo .fan-stage{grid-template-rows:112px 53px;row-gap:5px}
  .airflow-demo .ac-unit{width:118px;height:76px}.airflow-demo .ac-unit::before{left:10px;right:10px;top:12px;height:3px}.ac-display{right:8px;top:23px;width:18px}.ac-vent{left:11px;right:11px;bottom:13px;height:22px}.ac-wheel{left:14px;bottom:17px;width:16px;height:16px}.ac-status{right:7px;bottom:6px;width:4px;height:4px}
  .airflow-demo .ac-load-meter{width:118px;height:8px}.airflow-demo .power-dial{width:108px;height:108px}.airflow-demo .power-value strong{font-size:25px}.airflow-demo .power-value span{font-size:9px}
  .airflow-demo .ac-load-stage>span,.airflow-demo .fan-stage-label>span{font-size:11px}.airflow-demo .ac-load-stage>strong,.airflow-demo .fan-stage-label strong,.airflow-demo .fan-stage-label b{font-size:14px}.airflow-demo .fan-stage-label{grid-template-rows:20px 24px;row-gap:5px}
  .airflow-demo .conditioned-flow{height:80px}.airflow-demo .conditioned-flow>i{width:10px}.airflow-demo .flow-arrow{font-size:25px}.airflow-demo .airflow-explainer{margin-top:8px;padding-top:10px;font-size:12px;line-height:1.55}

  .equipment-table-head { display:none; }
  .equipment-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px; }
  .equipment-identity { grid-column:1 / -1; padding:0; text-align:left; }
  .equipment-row .field label,.common-parameters .field label,.equipment-metric small { justify-content:flex-start; min-height:0; margin-bottom:7px; text-align:left; }
  .equipment-metric { grid-template-rows:auto 44px 8px; row-gap:7px; }
  .equipment-metric b { min-height:44px; font-size:15px; }
  .equipment-remove { position:absolute; top:10px; right:10px; margin:0; }
  .power-options { max-height:205px; }
}

@media (prefers-reduced-motion:reduce) {
  .solution-flow *,.airflow-demo *,.power-options { animation:none !important; }
  .dynamic-machine div > i em { width:var(--result) !important; }
}

/* Round seven: full-height hero alignment and shared fan/A-C readout baseline. */
.hero-grid {
  grid-template-columns: minmax(0,1fr) minmax(460px,520px);
  grid-template-areas:
    "copy system"
    "support system";
  grid-template-rows: auto auto;
  column-gap: 26px;
  row-gap: 26px;
  align-items: stretch;
  padding: 80px 0 68px;
}
.hero-copy { grid-area: copy; width: 100%; max-width: 760px; align-self: end; }
.hero-support { grid-area: support; width: 100%; max-width: 760px; align-self: start; }
.hero-system {
  grid-area: system;
  position: relative;
  right: auto;
  bottom: auto;
  width: 100%;
  min-height: 670px;
  align-self: stretch;
  justify-self: end;
  opacity: 1;
  pointer-events: none;
}
.hero-system .system-orbit {
  top: 52%;
  left: 58%;
  width: 500px;
  height: 500px;
  transform: translate(-50%,-50%);
}
.hero-system .system-orbit::before { inset: 66px; }
.hero-system .system-orbit::after { inset: 134px; }
.hero-system .fan-core { inset: 172px; }
.hero-system .fan-blade { width: 76px; height: 26px; margin-top: -13px; }
.hero-value-logic {
  grid-template-columns: minmax(235px,.85fr) 90px minmax(320px,1.15fr);
  width: min(100%,760px);
  max-width: 760px;
}
.hero-value-item { min-height: 112px; padding: 19px 20px 20px; }
.hero-value-item strong { white-space: nowrap; }
body[data-lang="en"] .hero-value-item strong { white-space: normal; font-size: 16px; line-height: 1.48; }
.hero-support .button-row { margin-top: 0; }
.hero-support .hero-stats { margin-top: 34px; }
.hero-support > .micro-note { margin-top: 16px; }

.airflow-demo {
  grid-template-rows: minmax(310px,auto) auto;
  align-items: end;
}
.airflow-demo .fan-stage,
.airflow-demo .ac-load-stage { height: 310px; align-content: end; align-self: end; }
.airflow-demo .fan-stage {
  grid-template-rows: 226px minmax(58px,auto);
}
.airflow-demo .conditioned-flow {
  align-self: center;
  margin-top: 34px;
}
.airflow-demo .ac-load-stage {
  grid-template-rows: 132px auto 18px auto;
}
.fan-stage-label { color: #d1e0dc; font-size: 16px; }
.fan-stage-label strong { color: var(--cyan-2); font-size: 19px; }
.fan-stage-label b { color: #f2fbf8; font-size: 19px; }
.ac-load-stage > span { color: #d1e0dc; font-size: 16px; line-height: 1.35; }
.ac-load-stage > strong { color: var(--green); font-size: 21px; line-height: 1.25; }
.ac-load-meter { border-color: rgba(126,190,178,.24); background: rgba(0,0,0,.36); }

@media (max-width:1200px) and (min-width:1025px) {
  .hero-grid { grid-template-columns: minmax(0,1fr) 430px; column-gap: 18px; }
  .hero-system .system-orbit { left: 60%; width: 460px; height: 460px; }
  .hero-system .system-orbit::before { inset: 61px; }
  .hero-system .system-orbit::after { inset: 123px; }
  .hero-system .fan-core { inset: 158px; }
  .hero-value-logic { grid-template-columns: minmax(220px,.8fr) 76px minmax(306px,1.2fr); }
  .hero-value-item { padding-inline: 17px; }
  .hero-value-item strong { font-size: 17px; }
}

@media (max-width:1024px) {
  .hero-grid {
    grid-template-columns: minmax(0,1fr);
    grid-template-areas:
      "copy"
      "system"
      "support";
    grid-template-rows: auto auto auto;
    gap: 24px;
    padding: 58px 0 56px;
  }
  .hero-copy, .hero-support { width: 100%; max-width: 820px; min-width: 0; }
  .hero-system {
    display: block;
    width: min(100%,760px);
    min-height: 430px;
    justify-self: center;
  }
  .hero-system .system-orbit {
    top: 50%;
    left: 50%;
    width: 380px;
    height: 380px;
  }
  .hero-system .system-orbit::before { inset: 50px; }
  .hero-system .system-orbit::after { inset: 102px; }
  .hero-system .fan-core { inset: 131px; }
  .hero-system .fan-blade { width: 58px; height: 20px; margin-top: -10px; }
  .hero-value-logic { width: min(100%,760px); }
}

@media (max-width:900px) {
  .airflow-demo {
    grid-template-columns: 1fr;
    grid-template-rows: auto 116px auto auto;
    gap: 16px;
    max-width: 620px;
    padding: 14px 0 0;
  }
  .airflow-demo .fan-stage,
  .airflow-demo .ac-load-stage { height: auto; align-content: center; justify-self: center; }
  .airflow-demo .fan-stage { grid-template-rows: auto auto; }
  .airflow-demo .conditioned-flow { width: 180px; height: 116px; margin-top: 0; justify-self: center; }
  .airflow-demo .conditioned-flow::before,
  .airflow-demo .conditioned-flow::after {
    top: 0;
    bottom: 0;
    left: 35%;
    right: auto;
    width: 2px;
    height: auto;
    background: linear-gradient(180deg,transparent,rgba(69,222,210,.55),rgba(114,237,133,.42),transparent);
  }
  .airflow-demo .conditioned-flow::after { left: 65%; }
  .airflow-demo .conditioned-flow i {
    top: -34% !important;
    left: 18%;
    width: 3px;
    height: 40%;
    background: linear-gradient(180deg,transparent,rgba(156,255,242,.95));
    animation-name: conditionedFlowMobile;
  }
  .airflow-demo .conditioned-flow i:nth-child(2),
  .airflow-demo .conditioned-flow i:nth-child(4),
  .airflow-demo .conditioned-flow i:nth-child(6) { left: 49%; }
  .airflow-demo .conditioned-flow i:nth-child(3),
  .airflow-demo .conditioned-flow i:nth-child(5) { left: 80%; }
  .airflow-demo .flow-arrow { inset: 50% 0 auto; }
  .airflow-demo .flow-arrow::before { font-size: 42px; letter-spacing: 5px; animation-name: airflowChevronMobile; }
  .airflow-demo .ac-load-stage { grid-template-rows: 132px auto 18px auto; width: min(100%,330px); }
  .airflow-demo .fan-stage-label,
  .airflow-demo .ac-load-stage { text-align: center; }
}

@media (max-width:720px) {
  .hero-grid { padding: 46px 0 52px; gap: 20px; }
  .hero-copy, .hero-support, .hero-system { width: 100%; max-width: 100%; min-width: 0; }
  .hero-value-logic { grid-template-columns: minmax(0,1fr); width: 100%; max-width: 100%; }
  .hero-value-item strong { white-space: normal; }
  .hero-system { min-height: 332px; width: 100%; }
  .hero-system .system-orbit { width: 290px; height: 290px; }
  .hero-system .system-orbit::before { inset: 38px; }
  .hero-system .system-orbit::after { inset: 78px; }
  .hero-system .fan-core { inset: 100px; }
  .hero-system .fan-blade { width: 44px; height: 16px; margin-top: -8px; }
  .hero-support .hero-stats { margin-top: 28px; }
}

@media (max-width:380px) {
  .hero-system { min-height: 316px; }
  .hero-system .system-orbit { width: 274px; height: 274px; }
  .hero-system .system-orbit::before { inset: 36px; }
  .hero-system .system-orbit::after { inset: 73px; }
  .hero-system .fan-core { inset: 94px; }
}

/* Round eight: compact mobile hero and horizontal fan/A-C demonstration. */
.airflow-label-mobile { display: none; }

@media (max-width:640px) {
  .home-hero { min-height: auto; }
  .hero-grid {
    grid-template-columns: minmax(0,1fr) 122px;
    grid-template-areas:
      "eyebrow eyebrow"
      "title system"
      "value value"
      "support support";
    grid-template-rows: auto minmax(126px,auto) auto auto;
    column-gap: 8px;
    row-gap: 16px;
    padding: 38px 0 42px;
    align-items: center;
  }
  .hero-copy { display: contents; }
  .hero-copy > .eyebrow {
    grid-area: eyebrow;
    margin: 0;
  }
  .hero-copy h1 {
    grid-area: title;
    align-self: center;
    margin: 0;
    font-size: 34px;
    line-height: 1.08;
  }
  body[data-lang="en"] .hero-copy h1 {
    font-size: 29px;
    line-height: 1.1;
  }
  .hero-system {
    grid-area: system;
    display: block;
    position: relative;
    width: 122px;
    min-height: 122px;
    height: 122px;
    justify-self: end;
    align-self: center;
    opacity: .9;
    overflow: visible;
  }
  .hero-system .system-orbit {
    top: 50%;
    left: 50%;
    width: 118px;
    height: 118px;
    transform: translate(-50%,-50%);
    box-shadow: inset 0 0 24px rgba(69,222,210,.08), 0 0 28px rgba(69,222,210,.1);
  }
  .hero-system .system-orbit::before { inset: 16px; }
  .hero-system .system-orbit::after { inset: 32px; }
  .hero-system .fan-core { inset: 32px; }
  .hero-system .fan-blade {
    width: 31px;
    height: 11px;
    margin: -5.5px 0 0 -4px;
    transform-origin: 4px 5.5px;
  }
  .hero-value-logic {
    grid-area: value;
    grid-template-columns: minmax(0,.92fr) 36px minmax(0,1.08fr);
    align-items: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: visible;
  }
  .hero-value-item {
    min-height: 124px;
    padding: 13px 12px 14px;
    align-content: center;
  }
  .hero-value-item span {
    margin-bottom: 8px;
    font-size: 10px;
  }
  .hero-value-item strong,
  body[data-lang="en"] .hero-value-item strong {
    white-space: normal;
    font-size: 14px;
    line-height: 1.48;
  }
  body[data-lang="en"] .hero-value-item strong { font-size: 13px; }
  .hero-value-flow {
    align-self: center;
    justify-self: center;
    width: 30px;
    height: 2px;
    margin: 0;
    background: linear-gradient(90deg,rgba(244,186,98,.42),var(--cyan),rgba(114,237,133,.72));
    box-shadow: 0 0 10px rgba(69,222,210,.28);
  }
  .hero-value-flow::after {
    top: 50%;
    right: -3px;
    bottom: auto;
    left: auto;
    width: 9px;
    height: 9px;
    border-width: 2px 2px 0 0;
    transform: translateY(-50%) rotate(45deg);
  }
  .hero-value-flow::before {
    top: -3px;
    left: 0;
    width: 8px;
    height: 8px;
    animation-name: valueFlow;
  }

  .hero-support {
    grid-area: support;
    width: 100%;
    margin-top: 0;
  }
  .hero-support .button-row {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    margin-top: 0;
  }
  .hero-support .btn {
    min-width: 0;
    min-height: 46px;
    padding: 0 9px;
    gap: 5px;
    font-size: 13px;
    line-height: 1.25;
    text-align: center;
  }
  body[data-lang="en"] .hero-support .btn { font-size: 12px; }
  .hero-support .hero-stats { margin-top: 22px; }
  .hero-support > .micro-note { margin-top: 12px; }

  .law-panel { gap: 24px; }
  .airflow-demo {
    grid-template-columns: 104px 40px minmax(0,1fr);
    grid-template-rows: 168px auto;
    align-items: end;
    gap: 10px 5px;
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding: 4px 0 0;
    overflow: visible;
  }
  .airflow-demo .fan-stage,
  .airflow-demo .ac-load-stage {
    width: 100%;
    height: 168px;
    min-width: 0;
    justify-self: stretch;
    align-self: end;
    align-content: end;
    text-align: center;
  }
  .airflow-demo .fan-stage {
    grid-template-rows: 108px 50px;
    gap: 8px;
  }
  .airflow-demo .power-dial {
    width: 104px;
    height: 104px;
  }
  .airflow-demo .power-dial::before { inset: 13px; }
  .airflow-demo .power-value strong { font-size: 25px; }
  .airflow-demo .power-value span { font-size: 9px; }
  .airflow-demo .fan-blade {
    width: 34px;
    height: 12px;
    margin: -6px 0 0 -5px;
    transform-origin: 5px 6px;
  }
  .airflow-demo .fan-stage-label {
    gap: 5px;
    align-self: end;
    font-size: 11px;
    line-height: 1.2;
  }
  .airflow-demo .fan-stage-label strong,
  .airflow-demo .fan-stage-label b {
    font-size: 12px;
    white-space: nowrap;
  }
  .airflow-label-desktop { display: none; }
  .airflow-label-mobile { display: inline; }

  .airflow-demo .conditioned-flow {
    width: 40px;
    height: 108px;
    margin: 0 0 38px;
    justify-self: stretch;
    align-self: end;
    overflow: hidden;
  }
  .airflow-demo .conditioned-flow::before,
  .airflow-demo .conditioned-flow::after {
    left: 0;
    right: 0;
    width: auto;
    height: 1px;
    background: linear-gradient(90deg,transparent,rgba(69,222,210,.58),rgba(114,237,133,.5),transparent);
  }
  .airflow-demo .conditioned-flow::before { top: 32%; bottom: auto; }
  .airflow-demo .conditioned-flow::after { top: 68%; bottom: auto; }
  .airflow-demo .conditioned-flow i {
    left: -42%;
    width: 42%;
    height: 2px;
    background: linear-gradient(90deg,transparent,rgba(156,255,242,.95));
    animation-name: conditionedFlow;
  }
  .airflow-demo .conditioned-flow i:nth-child(1) { top: 20% !important; left: -42%; }
  .airflow-demo .conditioned-flow i:nth-child(2) { top: 34% !important; left: -42%; }
  .airflow-demo .conditioned-flow i:nth-child(3) { top: 48% !important; left: -42%; }
  .airflow-demo .conditioned-flow i:nth-child(4) { top: 62% !important; left: -42%; }
  .airflow-demo .conditioned-flow i:nth-child(5) { top: 76% !important; left: -42%; }
  .airflow-demo .conditioned-flow i:nth-child(6) { top: 90% !important; left: -42%; }
  .airflow-demo .flow-arrow {
    inset: 50% 0 auto;
    height: 32px;
  }
  .airflow-demo .flow-arrow::before {
    content: "› ›";
    font-size: 25px;
    letter-spacing: 0;
    animation-name: airflowChevron;
  }

  .airflow-demo .ac-load-stage {
    grid-template-rows: 84px auto 13px auto;
    gap: 6px;
  }
  .airflow-demo .ac-unit { height: 84px; }
  .airflow-demo .ac-unit span {
    top: 12px;
    left: 12px;
    right: 12px;
    height: 4px;
  }
  .airflow-demo .ac-unit i {
    left: 12px;
    right: 12px;
    bottom: 19px;
    height: 22px;
  }
  .airflow-demo .ac-load-stage > span {
    font-size: 11px;
    line-height: 1.2;
  }
  .airflow-demo .ac-load-meter { height: 13px; }
  .airflow-demo .ac-load-stage > strong {
    font-size: 15px;
    line-height: 1.1;
  }
  .airflow-demo .airflow-explainer {
    grid-column: 1 / -1;
    margin: 0;
    padding-top: 12px;
    font-size: 13px;
    line-height: 1.55;
  }
}

@media (max-width:370px) {
  .hero-grid { grid-template-columns: minmax(0,1fr) 112px; }
  .hero-copy h1 { font-size: 32px; }
  body[data-lang="en"] .hero-copy h1 { font-size: 27px; }
  .hero-system { width: 112px; height: 112px; min-height: 112px; }
  .hero-system .system-orbit { width: 108px; height: 108px; }
  .hero-system .system-orbit::before { inset: 15px; }
  .hero-system .system-orbit::after { inset: 29px; }
  .hero-system .fan-core { inset: 29px; }
  .hero-value-logic { grid-template-columns: minmax(0,.92fr) 32px minmax(0,1.08fr); }
  .hero-value-item { padding-inline: 10px; }
  .hero-value-item strong { font-size: 13px; }
  .airflow-demo { grid-template-columns: 100px 36px minmax(0,1fr); gap-inline: 4px; }
  .airflow-demo .power-dial { width: 100px; height: 100px; }
  .airflow-demo .conditioned-flow { width: 36px; }
}

/* Round 9: customer-facing intelligent control system */
.control-system-section {
  position: relative;
  background:
    linear-gradient(180deg, rgba(6,25,21,.34), rgba(4,15,13,.82)),
    radial-gradient(circle at 48% 44%, rgba(69,222,210,.07), transparent 34%);
}
.control-system-section .section-heading { align-items: end; }
.control-system-section .section-heading p:not(.eyebrow) { max-width: 760px; }
.system-demo-badge {
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 1px solid rgba(69,222,210,.34);
  color: var(--cyan-2);
  font: 700 12px/1 Consolas, monospace;
  letter-spacing: 0;
  background: rgba(4,21,18,.7);
}
.control-system-map {
  --path-color: var(--cyan);
  position: relative;
  display: grid;
  grid-template-columns: minmax(190px,.72fr) minmax(240px,.9fr) minmax(510px,1.85fr);
  gap: 42px;
  min-height: 590px;
  margin-top: 34px;
  padding: 26px;
  border-block: 1px solid rgba(125,211,195,.18);
  background:
    linear-gradient(90deg, rgba(244,186,98,.025), rgba(69,222,210,.035) 42%, rgba(114,237,133,.028)),
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(140,224,207,.025) 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(140,224,207,.025) 40px);
  overflow: hidden;
}
.control-system-map::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -24%;
  width: 18%;
  background: linear-gradient(90deg, transparent, rgba(69,222,210,.06), transparent);
  transform: skewX(-14deg);
  animation: controlSystemScan 8s ease-in-out infinite;
  pointer-events: none;
}
.system-column-label {
  margin: 0 0 18px;
  color: var(--cyan-2);
  font: 700 12px/1.2 Consolas, monospace;
}
.system-load-column,
.system-control-column,
.system-execution-column { position: relative; z-index: 1; min-width: 0; }
.system-load-column { display: grid; align-content: center; gap: 14px; }
.system-load-column .system-column-label { position: absolute; top: 0; left: 0; }
.load-node {
  position: relative;
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 82px;
  padding: 15px 16px;
  border-left: 2px solid var(--amber);
  background: linear-gradient(90deg, rgba(244,186,98,.1), rgba(255,255,255,.015));
}
.load-node::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -44px;
  width: 44px;
  height: 1px;
  background: linear-gradient(90deg, var(--amber), rgba(69,222,210,.35));
  box-shadow: 0 0 10px rgba(244,186,98,.38);
}
.load-node > i {
  position: relative;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(244,186,98,.56);
  border-radius: 50%;
  box-shadow: inset 0 0 14px rgba(244,186,98,.1);
}
.load-node.ac > i::before,
.load-node.ac > i::after {
  content: "";
  position: absolute;
  inset: 7px 15px;
  border-radius: 2px;
  background: var(--cyan-2);
  transform: rotate(45deg);
}
.load-node.ac > i::after { transform: rotate(-45deg); }
.load-node.stove > i::before {
  content: "";
  position: absolute;
  left: 10px;
  bottom: 7px;
  width: 13px;
  height: 20px;
  border-radius: 70% 30% 60% 40%;
  background: linear-gradient(var(--amber), #ff7f3d);
  transform: rotate(12deg);
}
.load-node.full-speed > i::before {
  content: "MAX";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--amber);
  font: 700 9px/1 Consolas, monospace;
}
.load-node strong,
.load-node span { display: block; }
.load-node strong { color: #f1f8f6; font-size: 15px; }
.load-node span { margin-top: 5px; color: #afbfbc; font-size: 12px; }
.input-bus {
  position: absolute;
  top: 17%;
  right: -44px;
  bottom: 17%;
  width: 1px;
  background: linear-gradient(var(--amber), var(--cyan), var(--amber));
}
.input-bus i {
  position: absolute;
  right: -4px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 12px var(--amber);
  animation: inputBusPulse 2.6s linear infinite;
}
.input-bus i:nth-child(2) { animation-delay: -.85s; }
.input-bus i:nth-child(3) { animation-delay: -1.7s; }
.system-control-column {
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
}
.system-control-column .system-column-label { position: absolute; top: 0; left: 0; }
.control-cabinet-visual {
  position: relative;
  width: 208px;
  height: 286px;
  padding: 40px 30px 34px;
  border: 1px solid rgba(160,197,189,.48);
  background:
    linear-gradient(115deg, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(145deg, #29423d, #132823 58%, #0a1916);
  box-shadow: 0 24px 42px rgba(0,0,0,.34), inset 0 0 0 5px rgba(255,255,255,.025), 0 0 35px rgba(69,222,210,.08);
}
.control-cabinet-visual::before {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(204,231,225,.16);
  pointer-events: none;
}
.control-cabinet-visual img {
  width: 100%;
  height: 116px;
  object-fit: cover;
  object-position: 50% 45%;
  border: 1px solid rgba(69,222,210,.34);
  filter: contrast(1.06) saturate(.92);
}
.cabinet-status {
  position: absolute;
  top: 17px;
  left: 30px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--green);
  font: 700 10px/1 Consolas, monospace;
}
.cabinet-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 12px var(--green);
  animation: controlPulse 1.8s ease-in-out infinite;
}
.cabinet-warning {
  position: absolute;
  left: 34px;
  bottom: 48px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 30px;
  color: #101713;
  background: #f3cf49;
  clip-path: polygon(50% 0,100% 100%,0 100%);
  font-size: 15px;
}
.cabinet-selector {
  position: absolute;
  right: 37px;
  bottom: 42px;
  width: 38px;
  height: 38px;
  border: 7px solid #0b1210;
  border-radius: 50%;
  background: #c73528;
  box-shadow: 0 0 0 1px rgba(255,255,255,.28);
}
.cabinet-selector::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -13px;
  width: 3px;
  height: 14px;
  background: #dfe9e6;
  transform: translateX(-50%);
}
.system-control-column h3 { margin: 18px 0 10px; font-size: 18px; }
.control-logic { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; }
.control-logic span {
  padding: 6px 8px;
  border: 1px solid rgba(69,222,210,.22);
  color: #c9d8d5;
  font-size: 11px;
  background: rgba(69,222,210,.04);
}
.control-output {
  position: absolute;
  top: 50%;
  right: -42px;
  width: 42px;
  height: 70%;
  border-block: 1px solid rgba(69,222,210,.55);
  border-right: 1px solid rgba(69,222,210,.55);
}
.control-output i {
  position: absolute;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 14px var(--cyan);
  animation: outputPulse 2.2s linear infinite;
}
.control-output i:first-child { top: -5px; }
.control-output i:last-child { bottom: -5px; animation-delay: -1.1s; }
.system-execution-column { display: grid; grid-template-rows: auto 1fr 1fr; gap: 14px; }
.execution-path {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px,.9fr) minmax(150px,1fr) minmax(150px,1fr);
  gap: 14px;
  align-items: center;
  min-height: 225px;
  padding: 15px;
  border: 1px solid rgba(146,196,185,.13);
  background: rgba(4,18,15,.5);
  opacity: .48;
  filter: saturate(.72);
  transition: opacity .35s ease, border-color .35s ease, background .35s ease, filter .35s ease, transform .35s ease;
  cursor: pointer;
}
.execution-path::before {
  content: "";
  position: absolute;
  left: -43px;
  top: 50%;
  width: 43px;
  height: 1px;
  background: linear-gradient(90deg, var(--cyan), var(--green));
  box-shadow: 0 0 11px rgba(69,222,210,.45);
}
.execution-path::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 30%, rgba(114,237,133,.055) 50%, transparent 70%);
  transform: translateX(-100%);
  pointer-events: none;
}
.execution-path.active {
  opacity: 1;
  filter: none;
  border-color: rgba(114,237,133,.38);
  background: linear-gradient(90deg, rgba(69,222,210,.04), rgba(114,237,133,.055));
  transform: translateX(3px);
}
.execution-path.active::after { animation: pathSweep 3.6s ease-in-out infinite; }
.motor-node,
.result-node { min-width: 0; }
.motor-node { display: grid; justify-items: center; gap: 7px; text-align: center; }
.motor-node img {
  width: 100%;
  height: 112px;
  object-fit: contain;
  filter: drop-shadow(0 14px 16px rgba(0,0,0,.38));
}
.motor-node strong,
.motor-node span { display: block; }
.motor-node strong { color: #edf8f5; font-size: 14px; }
.motor-node span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.execution-path.active .motor-node img { animation: motorFloat 4s ease-in-out infinite; }
.result-node {
  display: grid;
  grid-template-columns: 62px minmax(0,1fr);
  gap: 10px;
  align-items: center;
}
.result-node > img {
  width: 62px;
  height: 68px;
  object-fit: contain;
  filter: drop-shadow(0 8px 10px rgba(0,0,0,.34));
}
.result-node span,
.result-node strong { display: block; }
.result-node span { color: #b9c9c6; font-size: 11px; }
.result-node strong { margin-top: 3px; color: var(--green); font: 700 18px/1.15 Consolas, monospace; }
.result-node div > i {
  display: block;
  height: 8px;
  margin-top: 8px;
  background: rgba(255,255,255,.055);
  overflow: hidden;
}
.result-node div > i em {
  display: block;
  height: 100%;
  width: 0 !important;
  background: linear-gradient(90deg, var(--cyan), var(--green));
  box-shadow: 0 0 11px rgba(114,237,133,.44);
}
.execution-path.active .result-node div > i em { width: var(--range-width, inherit) !important; animation: resultFill 1.15s ease both; }
.execution-path.axial .result-node.fan div > i em { --range-width: 65%; }
.execution-path.axial .result-node.pump div > i em { --range-width: 40%; }
.execution-path.traditional .result-node.fan div > i em { --range-width: 40%; }
.execution-path.traditional .result-node.pump div > i em { --range-width: 15%; }
.mini-fan,
.pump-icon {
  position: relative;
  display: block;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(69,222,210,.42);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(69,222,210,.14), transparent 68%);
}
.mini-fan i {
  position: absolute;
  inset: 18px;
  border-radius: 50% 12%;
  background: var(--cyan);
  box-shadow: 0 -12px 0 -3px var(--cyan), 10px 7px 0 -3px var(--cyan), -10px 7px 0 -3px var(--cyan);
}
.execution-path.active .mini-fan i { animation: fanSpin 1.25s linear infinite; }
.pump-icon { border-radius: 10px 50% 50% 10px; }
.pump-icon::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 14px;
  width: 26px;
  height: 26px;
  border: 5px solid var(--cyan);
  border-radius: 50%;
}
.pump-icon i {
  position: absolute;
  right: -8px;
  top: 23px;
  width: 18px;
  height: 12px;
  border-block: 2px solid var(--cyan);
}
.system-boundary { margin: 18px auto 0; max-width: 980px; text-align: center; }

/* Direction correction: conditioned air flows from A/C load to exhaust fan. */
.airflow-demo .ac-load-stage { grid-column: 1; text-align: center; }
.airflow-demo .conditioned-flow { grid-column: 2; }
.airflow-demo .fan-stage { grid-column: 3; }
.airflow-demo .power-dial { width: 182px; height: 182px; }
.airflow-demo .power-value strong { font-size: 36px; }
.airflow-demo .ac-load-stage > span,
.airflow-demo .fan-stage-label > span { font-size: 16px; font-weight: 600; color: #d4e0dd; }
.airflow-demo .ac-load-stage > strong,
.airflow-demo .fan-stage-label strong,
.airflow-demo .fan-stage-label b { font-size: 19px; font-weight: 750; line-height: 1.2; }
.airflow-demo .ac-load-stage > strong { color: var(--green); }
.airflow-demo .ac-load-stage { justify-items: center; }
.airflow-demo .ac-load-meter { width: 100%; }

/* Estimator unit hierarchy and native power selector. */
.equipment-table-head span {
  display: grid;
  place-items: center;
  min-height: 34px;
  text-align: center;
  font-size: 14px;
  line-height: 1.25;
}
.equipment-row .field label,
.common-parameters .field label {
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
}
.equipment-row input,
.common-parameters input,
.common-parameters select {
  font-size: 16px;
  font-weight: 650;
  text-align: center;
}
.power-select {
  color: #d9e8e5 !important;
  font: 650 13px/1.2 Arial, sans-serif;
  text-align: center;
  cursor: pointer;
}
.power-select option {
  color: #e7f3f0;
  background: #061310;
  font: 500 15px/1.7 Arial, sans-serif;
}

@keyframes controlSystemScan { 0%,20% { left:-24%; } 68%,100% { left:116%; } }
@keyframes inputBusPulse { from { top:0; opacity:0; } 15%,82% { opacity:1; } to { top:100%; opacity:0; } }
@keyframes controlPulse { 50% { opacity:.45; box-shadow:0 0 4px var(--green); } }
@keyframes outputPulse { from { left:-4px; } to { left:100%; } }
@keyframes pathSweep { 0%,15% { transform:translateX(-100%); } 65%,100% { transform:translateX(100%); } }
@keyframes motorFloat { 50% { transform:translateY(-4px); filter:drop-shadow(0 16px 18px rgba(69,222,210,.2)); } }
@keyframes resultFill { from { width:0; } }

@media (max-width:1100px) {
  .control-system-map {
    grid-template-columns: minmax(180px,.72fr) minmax(220px,.85fr) minmax(390px,1.5fr);
    gap: 28px;
    padding-inline: 18px;
  }
  .execution-path { grid-template-columns: 130px 1fr 1fr; gap: 8px; }
  .result-node { grid-template-columns: 48px minmax(0,1fr); gap: 7px; }
  .result-node > img,
  .mini-fan,
  .pump-icon { width: 48px; height: 48px; }
  .motor-node img { height: 96px; }
}

@media (min-width:641px) and (max-width:900px) {
  .control-system-map {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    grid-template-rows: auto auto;
    gap: 28px 34px;
    min-height: 0;
  }
  .system-execution-column { grid-column:1 / -1; }
  .execution-path { min-height: 200px; grid-template-columns: 150px 1fr 1fr; }
  .load-node::after,
  .input-bus,
  .control-output { display:none; }
  .airflow-demo {
    grid-template-columns:1fr;
    grid-template-rows:auto 112px auto auto;
  }
  .airflow-demo .ac-load-stage { grid-column:1; grid-row:1; }
  .airflow-demo .conditioned-flow { grid-column:1; grid-row:2; transform:rotate(90deg); }
  .airflow-demo .fan-stage { grid-column:1; grid-row:3; }
  .airflow-demo .airflow-explainer { grid-row:4; }
}

@media (max-width:640px) {
  .control-system-section .section-heading { display:block; }
  .system-demo-badge { display:inline-block; margin-top:14px; }
  .control-system-map {
    display:block;
    min-height:0;
    margin-top:22px;
    padding:18px 14px;
  }
  .system-column-label { margin-bottom:12px; font-size:11px; }
  .system-load-column { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; padding-top:28px; }
  .system-load-column .system-column-label { top:0; }
  .load-node { display:block; min-height:104px; padding:10px 7px; text-align:center; border-left:0; border-top:2px solid var(--amber); }
  .load-node > i { display:block; margin:0 auto 7px; width:28px; height:28px; }
  .load-node strong { font-size:12px; line-height:1.35; }
  .load-node span { font-size:10px; line-height:1.35; }
  .load-node::after,
  .input-bus,
  .control-output { display:none; }
  .system-control-column { margin-top:24px; padding-top:34px; }
  .system-control-column::before,
  .system-execution-column::before {
    content:"↓";
    position:absolute;
    top:-10px;
    left:50%;
    color:var(--cyan);
    text-shadow:0 0 10px var(--cyan);
    transform:translateX(-50%);
    animation:controlPulse 1.8s ease-in-out infinite;
  }
  .system-control-column .system-column-label { top:8px; }
  .control-cabinet-visual { width:174px; height:230px; padding:34px 24px 28px; }
  .control-cabinet-visual img { height:94px; }
  .system-control-column h3 { font-size:16px; }
  .system-execution-column { margin-top:32px; padding-top:30px; }
  .system-execution-column .system-column-label { position:absolute; top:0; left:0; }
  .execution-path {
    grid-template-columns:92px minmax(0,1fr);
    grid-template-rows:auto auto;
    min-height:0;
    margin-top:10px;
    padding:12px;
    gap:10px;
  }
  .execution-path::before { display:none; }
  .motor-node { grid-row:1 / 3; }
  .motor-node img { height:84px; }
  .motor-node strong { font-size:12px; }
  .result-node { grid-template-columns:42px minmax(0,1fr); }
  .result-node > img,
  .mini-fan,
  .pump-icon { width:42px; height:42px; }
  .result-node strong { font-size:16px; }
  .result-node span { font-size:10px; }
  .system-boundary { text-align:left; }

  .airflow-demo {
    grid-template-columns:minmax(0,1fr) 40px 104px;
    grid-template-rows:168px auto;
  }
  .airflow-demo .ac-load-stage { grid-column:1; }
  .airflow-demo .conditioned-flow { grid-column:2; }
  .airflow-demo .fan-stage { grid-column:3; }
  .airflow-demo .power-dial { width:104px; height:104px; }
  .airflow-demo .power-value strong { font-size:25px; }
  .airflow-demo .ac-load-stage > span,
  .airflow-demo .fan-stage-label > span { font-size:11px; }
  .airflow-demo .ac-load-stage > strong,
  .airflow-demo .fan-stage-label strong,
  .airflow-demo .fan-stage-label b { font-size:15px; }
  .power-select { color:#d9e8e5 !important; font-size:13px !important; }
  .equipment-row .field label,
  .common-parameters .field label { font-size:14px; text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  .control-system-map::after,
  .input-bus i,
  .cabinet-status i,
  .control-output i,
  .execution-path::after,
  .execution-path.active .motor-node img,
  .execution-path.active .mini-fan i { animation:none !important; }
  .execution-path.active .result-node div > i em { width:var(--range-width,100%) !important; animation:none !important; }
}

/* Final Round 10 cascade guard. */
.airflow-demo { grid-template-columns:minmax(190px,1fr) minmax(160px,.78fr) minmax(190px,1fr); grid-template-rows:260px auto; }
.airflow-demo .ac-load-stage { grid-column:1; grid-row:1; }
.airflow-demo .conditioned-flow { grid-column:2; grid-row:1; transform:none; }
.airflow-demo .fan-stage { grid-column:3; grid-row:1; }
.airflow-demo .airflow-explainer { grid-column:1 / -1; grid-row:2; }
.airflow-demo .power-dial { width:172px; height:172px; }
.airflow-demo .ac-unit,.airflow-demo .power-dial { align-self:end; }
.equipment-table-head,.equipment-row { grid-template-columns:72px minmax(160px,1.05fr) minmax(92px,.62fr) minmax(106px,.7fr) minmax(170px,1.15fr) minmax(170px,1.15fr) 44px; }
.equipment-row { align-items:start; gap:12px; padding:16px 14px; }
.power-options { display:block; }
.power-options[hidden] { display:none; }

@media (min-width:641px) and (max-width:900px) {
  .airflow-demo .power-dial { transform:translateY(-18px); }
}

@media (max-width:640px) {
  .airflow-demo { grid-template-columns:minmax(118px,1.15fr) minmax(46px,.42fr) minmax(105px,1fr); grid-template-rows:196px auto; gap:0 4px; }
  .airflow-demo .ac-load-stage { grid-column:1; grid-row:1; }
  .airflow-demo .conditioned-flow { grid-column:2; grid-row:1; transform:none; }
  .airflow-demo .fan-stage { grid-column:3; grid-row:1; }
  .airflow-demo .power-dial { width:108px; height:108px; }
  .equipment-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-height:0; padding:16px; }
  .equipment-identity { grid-column:1 / -1; padding:0; }
  .equipment-row .field,.equipment-row .equipment-metric { min-width:0; }
  .equipment-row .field,.equipment-row .equipment-metric { grid-column:auto; }
  .equipment-row .field label,.equipment-row .equipment-metric small { justify-content:flex-start; min-height:0; margin-bottom:7px; text-align:left; }
  .equipment-remove { position:absolute; top:10px; right:10px; margin:0; }
}

/* Round 11: restore the softer, continuous conditioned-air flow. */
.airflow-demo .conditioned-flow {
  overflow:hidden;
  filter:drop-shadow(0 0 8px rgba(69,222,210,.2));
}
.airflow-demo .conditioned-flow::before,
.airflow-demo .conditioned-flow::after {
  height:1px;
  opacity:calc(var(--flow-opacity,.55) * .55);
  background:linear-gradient(90deg,transparent 0%,rgba(69,222,210,.18) 18%,rgba(133,247,218,.48) 52%,rgba(114,237,133,.14) 82%,transparent 100%);
  animation:none;
}
.airflow-demo .conditioned-flow::before { top:32%; }
.airflow-demo .conditioned-flow::after { top:68%; }
.airflow-demo .conditioned-flow > i {
  left:-48%;
  width:48%;
  height:2px;
  border-radius:50%;
  opacity:var(--flow-opacity,.55);
  background:linear-gradient(90deg,transparent 0%,rgba(139,242,232,.16) 28%,rgba(184,255,246,.9) 100%);
  box-shadow:8px 0 12px rgba(69,222,210,.22);
  animation:restoredConditionedFlow var(--flow-duration,1.4s) linear infinite;
}
.airflow-demo .conditioned-flow > i:nth-child(1) { top:20%; width:54%; animation-delay:-.08s; }
.airflow-demo .conditioned-flow > i:nth-child(2) { top:33%; width:38%; animation-delay:-.62s; }
.airflow-demo .conditioned-flow > i:nth-child(3) { top:47%; width:58%; animation-delay:-.34s; }
.airflow-demo .conditioned-flow > i:nth-child(4) { top:61%; width:42%; animation-delay:-.91s; }
.airflow-demo .conditioned-flow > i:nth-child(5) { top:75%; width:52%; animation-delay:-.49s; }
.airflow-demo .conditioned-flow > i:nth-child(6) { top:88%; width:34%; animation-delay:-1.12s; }
.airflow-demo .flow-arrow {
  inset:50% 0 auto;
  height:24px;
  color:transparent;
  font-size:0;
  transform:translateY(-50%);
  animation:none;
}
.airflow-demo .flow-arrow::before {
  content:"›  ›";
  display:block;
  color:rgba(114,237,133,.62);
  font:700 20px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:5px;
  text-align:center;
  text-shadow:0 0 8px rgba(114,237,133,.32);
  animation:restoredAirArrow var(--flow-duration,1.4s) ease-in-out infinite;
}
@keyframes restoredConditionedFlow {
  from { transform:translateX(0) scaleX(.72); opacity:0; }
  16%,82% { opacity:var(--flow-opacity,.55); }
  to { transform:translateX(345%) scaleX(1.12); opacity:0; }
}
@keyframes restoredAirArrow {
  0%,100% { opacity:.62; transform:translateX(-5px); }
  50% { opacity:1; transform:translateX(5px); }
}

@media (max-width:640px) {
  .airflow-demo .conditioned-flow > i { left:-68%; width:68%; box-shadow:5px 0 8px rgba(69,222,210,.18); }
  .airflow-demo .conditioned-flow > i:nth-child(1),
  .airflow-demo .conditioned-flow > i:nth-child(3),
  .airflow-demo .conditioned-flow > i:nth-child(5) { width:78%; }
  .airflow-demo .conditioned-flow > i:nth-child(2),
  .airflow-demo .conditioned-flow > i:nth-child(4),
  .airflow-demo .conditioned-flow > i:nth-child(6) { width:55%; }
  .airflow-demo .flow-arrow::before { content:"›"; font-size:15px; letter-spacing:0; }
}

@media (prefers-reduced-motion:reduce) {
  .airflow-demo .conditioned-flow > i { left:5%; width:90%; opacity:.28; animation:none !important; }
  .airflow-demo .flow-arrow::before { opacity:.55; transform:none; animation:none !important; }
}

/* Round 12: stronger airflow contrast and tighter fan alignment. */
.airflow-demo .conditioned-flow {
  filter:drop-shadow(0 0 9px rgba(43,226,210,.42));
}
.airflow-demo .conditioned-flow::before,
.airflow-demo .conditioned-flow::after {
  opacity:var(--flow-opacity,.58);
  background:linear-gradient(90deg,transparent 0%,rgba(38,215,201,.28) 15%,rgba(67,235,217,.76) 50%,rgba(128,239,121,.38) 82%,transparent 100%);
}
.airflow-demo .conditioned-flow > i {
  background:linear-gradient(90deg,transparent 0%,rgba(40,221,207,.32) 24%,rgba(111,255,235,.98) 82%,rgba(151,255,220,.98) 100%);
  box-shadow:9px 0 15px rgba(43,226,210,.48),14px 0 24px rgba(114,237,133,.18);
}
.airflow-demo .flow-arrow::before {
  color:rgba(126,244,119,.88);
  text-shadow:0 0 8px rgba(114,237,133,.62),0 0 16px rgba(43,226,210,.28);
}
.airflow-demo .power-dial {
  width:156px;
  height:156px;
  transform:translate(-7px,6px);
}
.airflow-demo .power-value strong { font-size:33px; }

@media (min-width:641px) and (max-width:900px) {
  .airflow-demo .power-dial { transform:translate(-5px,4px); }
}

@media (max-width:640px) {
  .airflow-demo .conditioned-flow { filter:drop-shadow(0 0 6px rgba(43,226,210,.38)); }
  .airflow-demo .conditioned-flow > i { box-shadow:5px 0 9px rgba(43,226,210,.42); }
  .airflow-demo .power-dial { width:98px; height:98px; transform:translate(-2px,5px); }
  .airflow-demo .power-value strong { font-size:23px; }
}

/* Project estimator: consistent units and a compact, row-safe power menu. */
.equipment-table-head,
.equipment-row {
  --equipment-columns:72px minmax(180px,1.08fr) minmax(92px,.62fr) minmax(106px,.7fr) minmax(170px,1.15fr) minmax(170px,1.15fr) 44px;
  grid-template-columns:var(--equipment-columns);
}
.equipment-table-head span,
.equipment-row .field label,
.common-parameters .field label,
.equipment-metric small {
  font-family:Arial,"Microsoft YaHei",sans-serif;
  font-size:14px;
  font-weight:650;
  line-height:1.35;
  text-transform:none;
}
.equipment-row .field label,
.equipment-metric small {
  min-height:40px;
  margin-bottom:10px;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
}
.equipment-row input,
.common-parameters input,
.common-parameters select,
.power-menu-toggle {
  height:48px;
  min-height:48px;
  font-size:16px;
  line-height:1;
}
.equipment-metric {
  position:relative;
  grid-template-rows:40px 48px 9px;
  row-gap:10px;
  padding:0;
  overflow:visible;
}
.equipment-metric b {
  min-height:48px;
  font:700 16px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  font-variant-numeric:tabular-nums;
  text-align:center;
}
.equipment-metric-track {
  position:relative;
  inset:auto;
  display:block;
  width:78%;
  height:9px;
  margin-inline:auto;
}
.power-combobox {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 94px;
  align-items:start;
  width:100%;
}
.power-menu-toggle {
  width:94px;
  padding:0 12px;
  gap:10px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-weight:700;
}
.power-options {
  position:absolute;
  z-index:12;
  top:56px;
  right:0;
  grid-column:auto;
  width:94px;
  max-height:197px;
  margin:0;
  padding:3px 0 7px;
  overflow-x:hidden;
  overflow-y:auto;
  scroll-padding-block:6px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.power-options button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:38px;
  padding:0 5px;
  color:#d7e5e1;
  font:700 15px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  font-variant-numeric:tabular-nums;
  text-align:center;
  white-space:nowrap;
}
.power-options button span {
  margin-left:.42em;
  color:inherit;
  font:inherit;
  text-align:inherit;
}
.equipment-row {
  overflow:hidden;
  transition:background-color .25s ease,border-color .25s ease,opacity .2s ease,transform .2s ease,padding .24s ease;
}
.equipment-row.power-open {
  z-index:5;
  padding-bottom:222px;
  overflow:visible;
}
.equipment-rows:has(.equipment-row.power-open) { max-height:390px; }
.equipment-identity {
  align-self:start;
  display:flex;
  align-items:center;
  justify-content:center;
  height:48px;
  margin-top:50px;
  padding:0;
  text-align:center;
}
.equipment-remove { margin-top:50px; }

@media (max-width:640px) {
  .equipment-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .equipment-row .field label,
  .equipment-row .equipment-metric small,
  .common-parameters .field label {
    min-height:38px;
    margin-bottom:9px;
    align-items:flex-end;
    justify-content:center;
    text-align:center;
  }
  .equipment-row.power-open { padding-bottom:222px; }
  .power-combobox { grid-template-columns:minmax(0,1fr) 94px; }
  .power-options { width:94px; max-height:197px; }
  .equipment-metric-track { width:86%; }
  .equipment-identity {
    height:auto;
    margin-top:0;
    padding:0;
    justify-content:flex-start;
  }
}

/* Let equipment groups expand the page instead of clipping inside a short scroller. */
.equipment-rows,
.equipment-rows:has(.equipment-row.power-open) {
  max-height:none;
  gap:16px;
  overflow:visible;
  border:0;
}
.equipment-row,
.equipment-row:last-child {
  min-height:150px;
  border:1px solid var(--line);
}
.equipment-row.power-open { min-height:372px; }

@media (max-width:640px) {
  .equipment-rows { gap:14px; }
  .equipment-row,
  .equipment-row:last-child { min-height:0; }
  .equipment-row.power-open { min-height:0; }
}

/* Round 14: balanced control topology and one synchronized nine-second signal chain. */
.control-system-section .solution-flow {
  min-height:700px;
}
.system-load-row {
  top:6.5%;
  left:0;
  width:45%;
  height:150px;
  align-items:start;
}
.system-ai-node {
  top:31.5%;
  left:15.5%;
  width:14%;
}
.system-cabinet-node {
  top:55.7%;
  left:12%;
  width:21%;
  gap:10px;
}
.system-cabinet-node img {
  width:292px;
  height:150px;
  max-width:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center bottom;
  filter:contrast(1.09) saturate(.94) brightness(1.01) drop-shadow(0 18px 24px rgba(0,0,0,.38));
}
.system-motor-routes {
  top:14.3%;
  left:48.5%;
  width:15.5%;
  height:69.3%;
}
.system-output-routes {
  top:6.4%;
  left:74.5%;
  right:0;
  height:87.1%;
}
.system-output-pair {
  height:285px;
  gap:12px;
}
.system-output-pair.axial-results { top:0; }
.system-output-pair.traditional-results { bottom:0; }
.system-topology-lines .topology-signals circle,
.system-topology-lines .signal-axial,
.system-topology-lines .signal-traditional {
  fill:#74efff;
  filter:drop-shadow(0 0 5px rgba(116,239,255,.9));
}
.system-saving-track > i {
  animation-duration:2.2s;
}
.system-output-machine {
  animation:systemResultPulse 9s linear infinite;
}
.pump-inlet {
  border-top:0;
  border-bottom:4px solid #437e76;
}

@keyframes systemResultPulse {
  0%,85% { filter:none; }
  89%,96% { filter:drop-shadow(0 0 8px rgba(142,242,138,.28)); }
  100% { filter:none; }
}

@media (max-width:1100px) {
  .control-system-section .solution-flow { min-height:590px; }
  .system-load-row { top:6.5%; width:45%; }
  .system-ai-node { top:31.5%; left:15.5%; }
  .system-cabinet-node { top:55.7%; left:12%; width:21%; }
  .system-cabinet-node img { width:222px; height:114px; object-position:center bottom; }
  .system-motor-routes { top:14.3%; left:48.5%; width:15.5%; height:69.3%; }
  .system-output-routes { top:6.4%; left:74.5%; height:87.1%; }
  .system-output-pair { height:42%; }
}

@media (max-width:640px) {
  .control-system-section .solution-flow { min-height:410px; }
  .system-load-row { top:5%; left:0; width:45%; }
  .system-ai-node { top:31.5%; left:15.5%; width:14%; }
  .system-cabinet-node { top:55.7%; left:11.5%; width:22%; gap:4px; }
  .system-cabinet-node img { width:88px; height:46px; object-position:center bottom; }
  .system-motor-routes { top:14.3%; left:48%; width:17%; height:69.3%; }
  .system-output-routes { top:5.5%; left:74%; height:89%; }
  .system-output-pair { height:43%; }
  .pump-inlet { border-bottom-width:2px; }
}

@media (prefers-reduced-motion:reduce) {
  .system-output-machine { animation:none; }
}

/* Round 15: aligned devices, differentiated routes and stronger machinery motion. */
.system-load-row {
  align-items:start;
}
.system-device {
  position:relative;
  display:block;
  height:126px;
}
.system-device > .system-ac-visual,
.system-device > .system-exhaust-visual,
.system-device > .system-stove-visual {
  position:absolute;
  left:50%;
  bottom:30px;
  transform:translateX(-50%);
}
.system-device figcaption {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  margin:0;
  line-height:1.2;
}
.system-cabinet-node img {
  width:310px;
  height:auto;
  aspect-ratio:1159 / 891;
  object-fit:contain;
  object-position:center;
  filter:contrast(1.08) saturate(.94) brightness(1.01) drop-shadow(0 18px 24px rgba(0,0,0,.38));
}
.system-motor-routes {
  top:10.6%;
}
.system-output-routes {
  top:2.7%;
}
.system-topology-lines .topology-load-lines path,
.system-topology-lines .topology-traditional path {
  stroke:rgba(116,239,255,.72);
}
.system-topology-lines .topology-axial path {
  stroke:rgba(255,190,88,.86);
}
.system-topology-lines .topology-signals .signal-axial {
  fill:#ffc568;
  filter:drop-shadow(0 0 6px rgba(255,190,88,.98));
}
.system-topology-lines .topology-signals .signal-traditional,
.system-topology-lines .topology-signals .signal-load,
.system-topology-lines .topology-signals .signal-control {
  fill:#74efff;
  filter:drop-shadow(0 0 5px rgba(116,239,255,.92));
}
.solution-flow.has-route-focus[data-active-path="axial"] .system-motor-route.axial img,
.solution-flow.has-route-focus[data-active-path="axial"] .axial-results {
  filter:drop-shadow(0 0 12px rgba(255,190,88,.42));
}
.solution-flow.has-route-focus[data-active-path="axial"] .system-motor-route.axial strong {
  color:#ffc568;
}
.solution-flow.has-route-focus[data-active-path="traditional"] .system-motor-route.traditional img,
.solution-flow.has-route-focus[data-active-path="traditional"] .traditional-results {
  filter:drop-shadow(0 0 12px rgba(116,239,255,.38));
}
.solution-flow.has-route-focus[data-active-path="traditional"] .system-motor-route.traditional strong {
  color:#74efff;
}
.system-ac-wheel::after {
  animation-duration:1.25s;
  filter:drop-shadow(0 0 5px rgba(116,239,255,.72));
}
.system-ac-light {
  animation:systemDeviceStatus 1.55s ease-in-out infinite;
}
.system-exhaust-rotor {
  animation-duration:.72s;
}
.system-fan-machine > i {
  animation-duration:.72s;
}
.system-fan-machine::after {
  content:"";
  position:absolute;
  left:10px;
  top:15px;
  width:46px;
  height:46px;
  border:1px solid rgba(116,239,255,.58);
  border-radius:50%;
  opacity:0;
  transform:scale(.58);
  animation:systemIntakePulse 1.25s ease-out infinite;
  pointer-events:none;
}
.system-pump-machine::after {
  content:"";
  position:absolute;
  left:10px;
  top:8px;
  width:70px;
  height:66px;
  border:1px solid rgba(116,239,255,.45);
  border-radius:50%;
  opacity:.35;
  animation:systemPumpFlow 1.35s ease-in-out infinite;
  pointer-events:none;
}
.pump-impeller {
  animation:fanSpin .72s linear infinite,systemPumpGlow 1.35s ease-in-out infinite;
}
.system-output-machine {
  animation-duration:7.2s;
}

@keyframes systemDeviceStatus {
  50% { opacity:.62; box-shadow:0 0 18px var(--flow-green); }
}
@keyframes systemIntakePulse {
  0% { opacity:.62; transform:scale(.58); }
  100% { opacity:0; transform:scale(1.08); }
}
@keyframes systemPumpFlow {
  50% { opacity:.72; transform:scale(1.05); box-shadow:0 0 13px rgba(116,239,255,.24); }
}
@keyframes systemPumpGlow {
  50% { box-shadow:0 0 15px rgba(142,242,138,.82); }
}

@media (max-width:1100px) {
  .system-device { height:104px; }
  .system-device > .system-ac-visual,
  .system-device > .system-exhaust-visual,
  .system-device > .system-stove-visual { bottom:24px; }
  .system-device figcaption { min-height:20px; }
  .system-cabinet-node img { width:240px; height:auto; object-position:center; }
  .system-motor-routes { top:10.6%; }
  .system-output-routes { top:2.7%; }
}

@media (max-width:640px) {
  .system-device { height:58px; }
  .system-device > .system-ac-visual,
  .system-device > .system-exhaust-visual,
  .system-device > .system-stove-visual { bottom:14px; }
  .system-device figcaption { min-height:12px; }
  .system-cabinet-node img { width:92px; height:auto; object-position:center; }
  .system-motor-routes { top:10.6%; }
  .system-output-routes { top:1.8%; }
  .system-fan-machine::after { left:3px; top:4px; width:22px; height:22px; }
  .system-pump-machine::after { left:2px; top:1px; width:30px; height:28px; }
}

@media (prefers-reduced-motion:reduce) {
  .system-ac-light,
  .system-fan-machine::after,
  .system-pump-machine::after,
  .pump-impeller { animation:none !important; }
  .system-fan-machine::after { opacity:.25; transform:scale(1); }
  .system-pump-machine::after { opacity:.3; }
}

/* Axial route color separation. */
.solution-flow {
  --axial-route:#9f92ff;
  --axial-signal:#d0c9ff;
}
.system-topology-lines .topology-axial path {
  stroke:rgba(159,146,255,.88);
  filter:drop-shadow(0 0 3px rgba(159,146,255,.28));
}
.system-topology-lines .topology-signals .signal-axial {
  fill:var(--axial-signal);
  filter:drop-shadow(0 0 7px rgba(159,146,255,.98));
}
.solution-flow.has-route-focus[data-active-path="axial"] .system-motor-route.axial img,
.solution-flow.has-route-focus[data-active-path="axial"] .axial-results {
  filter:drop-shadow(0 0 13px rgba(159,146,255,.5));
}
.solution-flow.has-route-focus[data-active-path="axial"] .system-motor-route.axial strong {
  color:var(--axial-signal);
}

@media (max-width:640px) {
  .system-topology-lines .topology-signals circle {
    r:5px;
    stroke:rgba(235,255,255,.95);
    stroke-width:1.25px;
    paint-order:stroke fill;
  }
  .system-topology-lines .topology-signals .signal-load,
  .system-topology-lines .topology-signals .signal-control,
  .system-topology-lines .topology-signals .signal-traditional {
    fill:#8ff7ff;
    filter:drop-shadow(0 0 3px #8ff7ff) drop-shadow(0 0 8px rgba(83,232,255,.98));
  }
  .system-topology-lines .topology-signals .signal-axial {
    fill:#d9d3ff;
    stroke:#f4f1ff;
    filter:drop-shadow(0 0 3px #d9d3ff) drop-shadow(0 0 9px rgba(159,146,255,1));
  }
}

/* Keep the restored two-line fan-and-pump title intact beside the compact mobile fan. */
.hero-title-mobile { display:none; }
@media (max-width:640px) {
  .hero-copy h1 { font-size:30px; }
  .hero-copy h1 > span { white-space:nowrap; }
  .hero-title-desktop { display:none; }
  .hero-title-mobile { display:inline; }
  body[data-lang="en"] .hero-copy h1 { font-size:22px; }
}
@media (max-width:370px) {
  .hero-copy h1 { font-size:28px; }
  body[data-lang="en"] .hero-copy h1 { font-size:20px; }
}

/* Constrain the horizontal fan/A-C stage to the mobile content column. */
@media (max-width:640px) {
  .law-panel,
  .law-panel > *,
  .airflow-demo { min-width:0; max-width:100%; }
  .airflow-demo {
    width:auto;
    inline-size:auto;
    justify-self:stretch;
    grid-template-columns:minmax(112px,1.12fr) 42px minmax(100px,1fr);
  }
}
@media (max-width:370px) {
  .airflow-demo { grid-template-columns:minmax(104px,1.1fr) 36px minmax(96px,1fr); }
}

/* Content and layout refinement: preserve the reverted type system. */
.brand { min-width:146px; }

@media (min-width:1101px) {
  .eyebrow {
    gap:12px;
    font-size:15px;
  }
  .eyebrow::before { width:34px; }
  .entry-number,
  .arch-layer .layer-id,
  .process-step::before,
  .system-column-label,
  .solution-label,
  .motor-badge,
  .contact-card .region,
  .equipment-kicker {
    font-size:15px;
  }
  .system-mode strong { font-size:17px; }
  .system-mode span { font-size:14px; }

}

@media (min-width:641px) {
  .hero-breathing-title {
    width:max-content;
    max-width:none;
    color:var(--text);
    font-size:clamp(42px,4.7vw,58px);
    line-height:1.06;
    white-space:nowrap;
  }
  .hero-breathing-title br { display:none; }
  .hero-breathing-title .accent { color:inherit; }
  body[data-lang="en"] .hero-breathing-title { font-size:clamp(30px,3.15vw,38px); }
}

.single-line-heading {
  width:max-content;
  max-width:100%;
  white-space:nowrap;
}

.law-panel .power-dial .law-spinner { opacity:.38; }
.law-panel .power-dial .power-value {
  position:relative;
  z-index:4;
}

.roi-finance-value {
  min-width:17ch;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  font-variant-numeric:tabular-nums;
  justify-self:center;
}
.revenue-bridge { max-width:520px; }
.revenue-bridge-row > div:first-child {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:7px;
}
.revenue-bridge-row span,
.revenue-bridge-row b {
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
.revenue-bridge-row b {
  min-width:17ch;
  text-align:left;
  font-variant-numeric:tabular-nums;
}

@media (max-width:1100px) {
  .single-line-heading { font-size:clamp(13px,3.4vw,32px); }
  body[data-lang="en"] .single-line-heading { font-size:clamp(12px,2.75vw,27px); }
}

@media (max-width:640px) {
  .single-line-heading { font-size:clamp(13px,3.65vw,16px); }
  body[data-lang="en"] .single-line-heading { font-size:clamp(11px,3.1vw,13px); }

  .roi-finance-bars { gap:8px; }
  .roi-finance-value {
    min-width:0;
    width:max-content;
    max-width:none;
    font-size:16px;
  }
  .revenue-bridge-row { padding-inline:18px; }
  .revenue-bridge-row b { min-width:0; width:max-content; max-width:100%; }

  .power-menu-toggle { gap:8px; }
  .power-menu-toggle i { display:none; }
  .power-menu-toggle::after {
    content:"";
    width:8px;
    height:8px;
    border-right:2px solid #f4fbf9;
    border-bottom:2px solid #f4fbf9;
    transform:translateY(-2px) rotate(45deg);
    transition:transform .25s ease;
  }
  .power-combobox.is-open .power-menu-toggle::after {
    transform:translateY(2px) rotate(225deg);
  }

  .equipment-row { position:relative; padding-top:14px; }
  .equipment-identity {
    grid-column:1 / -1;
    width:100%;
    min-height:34px;
    padding-right:48px;
    align-items:center;
  }
  .equipment-remove {
    top:12px;
    right:12px;
    z-index:8;
    width:34px;
    height:34px;
    margin:0;
    border-color:rgba(226,244,239,.58);
    color:#f1f8f6;
    background:rgba(5,20,17,.94);
    box-shadow:0 0 12px rgba(69,222,210,.13);
    opacity:1;
  }
  .equipment-remove:disabled { opacity:.5; }
}

/* Round 11: broader product story, delivery comparison and carbon-impact dashboard. */
@media (min-width:641px) {
  .hero-breathing-title {
    width:min(760px,100%);
    white-space:normal;
    line-height:1.02;
  }
  .hero-breathing-title br { display:block; }
  .hero-breathing-title .accent { color:var(--accent); }
  body[data-lang="en"] .hero-breathing-title { width:min(720px,100%); }
}

.delivery-layout {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(28px,4vw,64px);
  align-items:center;
}
.delivery-copy > h3 { margin:0 0 16px; font-size:clamp(24px,2.4vw,34px); }
.delivery-copy > p { color:var(--muted); max-width:62ch; }
.delivery-copy .fact-strip { margin-top:28px; grid-template-columns:repeat(3,1fr); }
.delivery-copy .fact { padding:22px 18px; }

.motor-visual.traditional .motor-copy h3 { color:var(--accent); }
.motor-visual.axial .motor-copy h3 { color:var(--flow-green); }
.motor-comparison-facts { display:grid; gap:10px; margin-top:18px; }
.motor-comparison-facts > span {
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:18px;
  align-items:center;
  min-height:58px;
  padding:12px 14px;
  border-left:2px solid rgba(91,226,215,.48);
  background:linear-gradient(90deg,rgba(91,226,215,.08),rgba(91,226,215,.015));
}
.motor-visual.axial .motor-comparison-facts > span { border-color:rgba(142,242,138,.58); background:linear-gradient(90deg,rgba(142,242,138,.09),rgba(142,242,138,.015)); }
.motor-comparison-facts b { color:#dcebe8; font-size:13px; }
.motor-comparison-facts em { color:var(--muted); font-style:normal; line-height:1.6; }
.motor-comparison-facts .saving em { color:var(--flow-green); font:700 26px/1 var(--mono); }

.formula-explainer { margin-top:22px; border:1px solid var(--line); background:rgba(8,27,23,.7); }
.formula-explainer .formula { margin:0; padding:24px; border-bottom:1px solid var(--line); }
.formula-definitions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.formula-definitions span { display:grid; grid-template-columns:70px minmax(0,1fr); align-items:center; gap:12px; padding:15px 18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.formula-definitions span:nth-child(2n) { border-right:0; }
.formula-definitions b { color:var(--accent); font:700 18px/1 var(--mono); }
.formula-definitions em { color:var(--muted); font-style:normal; }

.control-system-section .system-load-row { top:3.5%; }
.control-system-section .system-motor-routes { top:10.6%; }
.control-system-section .system-output-routes { top:1.8%; }
.system-topology-lines .topology-traditional path { stroke-linejoin:round; }

.roi-tabs { grid-template-columns:repeat(4,1fr); }
.carbon-dashboard { min-height:610px; padding:30px; position:relative; overflow:hidden; background:linear-gradient(135deg,rgba(9,31,26,.92),rgba(4,18,16,.94)); }
.carbon-dashboard::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent,rgba(102,241,222,.035),transparent); transform:translateX(-100%); animation:carbonScan 5s linear infinite; }
.carbon-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:28px; }
.carbon-heading h3 { margin:4px 0 0; font-size:26px; }
.carbon-heading > p { max-width:430px; margin:0; color:var(--muted); text-align:right; }
.carbon-flow { position:relative; display:grid; grid-template-columns:minmax(230px,.8fr) minmax(180px,.52fr) repeat(2,minmax(220px,1fr)); gap:20px; align-items:center; min-height:260px; }
.carbon-energy-core { position:relative; z-index:2; display:grid; place-items:center; align-content:center; min-height:190px; padding:28px; text-align:center; border:1px solid rgba(91,226,215,.42); background:radial-gradient(circle,rgba(91,226,215,.14),rgba(5,22,18,.72) 62%); }
.carbon-energy-core strong { margin:12px 0 5px; color:#fff; font:700 clamp(25px,2.2vw,34px)/1.1 var(--mono); }
.carbon-energy-core span { color:var(--accent-2); }
.carbon-energy-core small { color:var(--muted); }
.carbon-pulse { position:absolute; inset:18px; border:1px solid rgba(91,226,215,.3); border-radius:50%; animation:carbonPulse 2.2s ease-out infinite; pointer-events:none; }
.carbon-branches { position:relative; height:190px; }
.carbon-branches::before { content:""; position:absolute; left:0; top:50%; width:47%; border-top:2px solid rgba(91,226,215,.7); }
.carbon-branches .branch { position:absolute; left:42%; width:58%; height:50%; border-left:2px solid rgba(91,226,215,.7); }
.carbon-branches .branch.coal { top:0; border-top:2px solid rgba(91,226,215,.7); }
.carbon-branches .branch.co2 { top:50%; border-bottom:2px solid rgba(142,242,138,.72); }
.carbon-branches .branch-node { position:absolute; left:calc(100% - 8px); width:10px; height:10px; border-radius:50%; box-shadow:0 0 15px currentColor; animation:carbonNode 1.8s ease-in-out infinite; }
.carbon-branches .branch-node.coal { top:-4px; color:var(--accent); background:currentColor; }
.carbon-branches .branch-node.co2 { bottom:-4px; color:var(--flow-green); background:currentColor; animation-delay:-.9s; }
.carbon-result { position:relative; min-height:230px; padding:24px; text-align:center; border:1px solid var(--line); background:rgba(9,29,25,.72); overflow:hidden; }
.carbon-result::after { content:""; position:absolute; inset:auto 0 0; height:3px; background:linear-gradient(90deg,transparent,var(--accent),transparent); animation:carbonTrack 2.4s linear infinite; }
.carbon-result.co2::after { background:linear-gradient(90deg,transparent,var(--flow-green),transparent); animation-delay:-1.2s; }
.carbon-result > span,.carbon-result > small { display:block; color:var(--muted); }
.carbon-result > strong { display:block; margin:12px 0 6px; color:#fff; font:700 clamp(25px,2vw,32px)/1.1 var(--mono); }
.carbon-gauge { --carbon-track:rgba(255,255,255,.08); position:relative; width:102px; height:102px; margin:0 auto 16px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--accent) var(--carbon-fill,0%),var(--carbon-track) 0); box-shadow:0 0 24px rgba(91,226,215,.1); }
.carbon-result.co2 .carbon-gauge { background:conic-gradient(var(--flow-green) var(--carbon-fill,0%),var(--carbon-track) 0); }
.carbon-gauge::after { content:""; position:absolute; inset:12px; border-radius:50%; background:#071c18; }
.carbon-gauge i { display:none; }
.carbon-gauge b { position:relative; z-index:2; color:#eaf7f4; }
.carbon-controls { display:grid; grid-template-columns:1fr 1fr auto; gap:16px; align-items:end; margin-top:26px; padding-top:24px; border-top:1px solid var(--line); }
.carbon-formulas { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }
.carbon-formulas p { margin:0; padding:14px 16px; background:rgba(255,255,255,.025); border-left:2px solid var(--accent); }
.carbon-formulas p:nth-child(2) { border-color:var(--flow-green); }
.carbon-formulas strong,.carbon-formulas span { display:block; }
.carbon-formulas span { margin-top:4px; color:var(--muted); }
.carbon-source a { color:var(--accent-2); }
@keyframes carbonPulse { 0%{opacity:.65;transform:scale(.78)} 100%{opacity:0;transform:scale(1.12)} }
@keyframes carbonNode { 50%{transform:scale(1.6);filter:brightness(1.3)} }
@keyframes carbonTrack { from{transform:translateX(-100%)} to{transform:translateX(100%)} }
@keyframes carbonScan { to{transform:translateX(100%)} }

.partner-logo img { max-width:140px; max-height:68px; }

@media (max-width:1100px) {
  .delivery-layout { grid-template-columns:1fr; }
  .carbon-flow { grid-template-columns:1fr 1fr; }
  .carbon-energy-core { grid-column:1 / -1; }
  .carbon-branches { display:none; }
}

@media (max-width:640px) {
  .roi-tabs { grid-template-columns:repeat(2,1fr); }
  .delivery-copy .fact-strip { grid-template-columns:1fr; }
  .motor-comparison-facts > span { grid-template-columns:1fr; gap:5px; }
  .formula-definitions { grid-template-columns:1fr; }
  .formula-definitions span,.formula-definitions span:nth-child(2n) { border-right:0; }
  .carbon-dashboard { min-height:0; padding:20px 14px; }
  .carbon-heading { display:block; }
  .carbon-heading h3 { font-size:22px; }
  .carbon-heading > p { margin-top:10px; text-align:left; }
  .carbon-flow { grid-template-columns:1fr; min-height:0; }
  .carbon-energy-core { grid-column:auto; min-height:150px; }
  .carbon-result { min-height:210px; }
  .carbon-controls,.carbon-formulas { grid-template-columns:1fr; }
  .carbon-controls .btn { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .carbon-dashboard::before,.carbon-pulse,.carbon-branches .branch-node,.carbon-result::after { animation:none !important; }
}

/* Round 12: clearer product hierarchy and a location-aware carbon dashboard. */
@media (min-width:641px) {
  .hero-breathing-title {
    width:min(720px,100%);
    font-size:clamp(52px,4.25vw,68px);
    line-height:1.02;
  }
  .hero-breathing-title > span:not(.hero-title-mobile) { display:inline-block; white-space:nowrap; }
  .hero-breathing-title .hero-title-mobile { display:none; }
  .hero-breathing-title .accent { margin-top:4px; color:#8fece4; }
  body[data-lang="en"] .hero-breathing-title { width:min(730px,100%); font-size:clamp(43px,3.55vw,58px); }
  .hero-stats .metric:nth-child(2) span,
  .hero-stats .metric:nth-child(3) span { white-space:nowrap; font-size:13px; color:#d7e8e4; }
}

.timeline-item time { display:block; margin-bottom:10px; color:#8ef28a; font:800 clamp(22px,2vw,30px)/1 var(--mono); }
.timeline-item h3 { margin:0 0 10px; font-size:18px; color:#f2faf8; }
.timeline-item p { margin:0; font-size:14px; line-height:1.7; }
.timeline-item::before { width:11px; height:11px; top:-6px; }

.delivery-layout { grid-template-columns:minmax(0,.78fr) minmax(430px,1.22fr); align-items:stretch; }
.delivery-layout .cabinet-viewer { max-width:620px; align-self:start; }
.delivery-layout .cabinet-detail-stage { min-height:300px; padding:12px; }
.delivery-layout .cabinet-detail-stage img { height:275px; }
.delivery-facts { display:grid; align-items:stretch; }
.delivery-facts .fact-strip { display:grid; grid-template-columns:1fr; gap:14px; margin:0; border:0; background:none; }
.delivery-facts .fact { position:relative; display:grid; grid-template-columns:150px 1fr; align-items:center; min-height:128px; padding:24px 30px; border:1px solid var(--line); background:linear-gradient(105deg,rgba(65,218,205,.1),rgba(7,26,22,.72) 58%); overflow:hidden; }
.delivery-facts .fact::after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 34%,rgba(255,255,255,.1) 50%,transparent 66%); transform:translateX(-110%); animation:deliveryFactScan 4.8s ease-in-out infinite; pointer-events:none; }
.delivery-facts .fact:nth-child(2)::after { animation-delay:-1.6s; }
.delivery-facts .fact:nth-child(3)::after { animation-delay:-3.2s; }
.delivery-facts .fact strong { margin:0; color:#92f28d; font-size:34px; }
.delivery-facts .fact span { color:#e9f5f2; font-size:17px; }
.delivery-facts .fact i { position:absolute; left:30px; right:30px; bottom:17px; height:2px; background:linear-gradient(90deg,var(--cyan),var(--green),transparent); opacity:.72; }
@keyframes deliveryFactScan { 0%,28%{transform:translateX(-110%)} 64%,100%{transform:translateX(110%)} }

.motor-versus-title { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.motor-versus-title span:first-child { color:#67dce2; }
.motor-versus-title span:last-child { color:#92f28d; }
.motor-versus-title b { display:grid; place-items:center; width:52px; height:32px; border:1px solid rgba(255,255,255,.22); color:#fff; font:800 15px/1 var(--mono); background:rgba(255,255,255,.045); }
.motor-compare { position:relative; gap:1px; overflow:visible; }
.motor-vs { position:absolute; z-index:6; left:50%; top:230px; display:grid; place-items:center; width:62px; height:62px; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.25); border-radius:50%; background:#071a17; color:#fff; font:800 16px/1 var(--mono); box-shadow:0 0 28px rgba(83,225,216,.22); }
.motor-visual { min-height:690px; }
.motor-visual img { height:300px; }
.motor-copy { padding:26px 30px 32px; }
.motor-copy h3 { margin:0 0 20px; font-size:26px; }
.motor-visual.traditional .motor-copy h3 { color:#67dce2; }
.motor-visual.axial .motor-copy h3 { color:#92f28d; }
.motor-comparison-facts { gap:12px; }
.motor-comparison-facts > span { position:relative; grid-template-columns:145px minmax(0,1fr); gap:18px; min-height:92px; padding:17px 18px 25px; overflow:hidden; }
.motor-comparison-facts b { color:#f0f8f6; font-size:15px; }
.motor-comparison-facts em { color:#b8cbc6; font-size:15px; line-height:1.55; }
.motor-comparison-facts > span > i { position:absolute; left:18px; right:18px; bottom:10px; height:4px; background:rgba(255,255,255,.055); overflow:hidden; }
.motor-comparison-facts > span > i::before { content:""; display:block; width:var(--fact-level); height:100%; background:linear-gradient(90deg,#3ccbd2,#80e9e1); box-shadow:0 0 12px rgba(80,224,222,.55); animation:motorMetricIn 1.1s cubic-bezier(.2,.8,.2,1) both; }
.motor-visual.axial .motor-comparison-facts > span > i::before { background:linear-gradient(90deg,#4bd89a,#b5f36f); box-shadow:0 0 14px rgba(128,238,135,.55); }
.motor-comparison-facts .saving { min-height:110px; align-items:center; }
.motor-comparison-facts .saving b { font-size:16px; }
.motor-comparison-facts .saving em { color:#8de98a; font-size:34px; }
.motor-visual.traditional .motor-comparison-facts .saving em { color:#69dce2; }
@keyframes motorMetricIn { from{width:0;filter:brightness(1.7)} }

.system-compare { grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr); }
.compare-live { min-height:390px; }
.compare-fan { min-height:390px; }
.compare-rotor { width:182px; }
.compare-readout { align-content:center; padding:38px 42px; }
.compare-readout .solution-label { font-size:16px; }
.compare-saving { margin-top:12px; font-size:72px; }
.compare-meter { gap:13px; }
.compare-meter span,.compare-meter-head b { font-size:15px; }
.compare-meter-track { height:16px; }

.law-panel > * { min-width:0; }
.law-panel > .law-copy .single-line-heading { font-size:clamp(26px,1.9vw,30px); }
.law-copy .range-row label { font-size:17px; }
.law-copy .range-row label strong { font-size:22px; }
.law-copy .law-stat span { font-size:14px; }
.law-copy .law-stat strong { font-size:28px; }
.formula-explainer { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr); border-color:rgba(87,223,213,.3); }
.formula-main { display:grid; align-content:center; padding:26px 28px; border-right:1px solid var(--line); background:radial-gradient(circle at 25% 50%,rgba(70,224,211,.12),transparent 60%); }
.formula-explainer .formula { padding:0; border:0; font-size:clamp(27px,2.25vw,36px); color:#f5fbfa; }
.formula-main p { display:flex; gap:22px; margin:22px 0 0; }
.formula-main p span { display:flex; align-items:center; gap:8px; color:var(--muted); }
.formula-main p b { color:var(--accent); font:800 19px/1 var(--mono); }
.formula-main p em,.formula-secondary em { font-style:normal; }
.formula-secondary { display:grid; align-content:center; gap:14px; padding:24px; }
.formula-secondary span { display:grid; grid-template-columns:92px 1fr; align-items:center; gap:16px; padding:14px 16px; background:rgba(255,255,255,.025); border-left:2px solid rgba(83,223,214,.44); }
.formula-secondary b { color:#9feee7; font:700 17px/1 var(--mono); }
.formula-secondary em { color:#9fb5b0; font-size:13px; line-height:1.5; }

.scenario-card { --sector:#6ee7d8; --sector-rgb:110,231,216; position:relative; overflow:hidden; border-top:3px solid var(--sector); }
.scenario-card.restaurant { --sector:#f2bd68; --sector-rgb:242,189,104; }
.scenario-card.hotel { --sector:#62d8e3; --sector-rgb:98,216,227; }
.scenario-card.factory { --sector:#8eec83; --sector-rgb:142,236,131; }
.scenario-card.cross-sector { --sector:#b3a5ff; --sector-rgb:179,165,255; }
.scenario-card:nth-child(1) .scenario-image { --scene:url("../images/scenarios/scenario-qsr.webp") !important; }
.scenario-card:nth-child(2) .scenario-image { --scene:url("../images/scenarios/scenario-central-kitchen.webp") !important; }
.scenario-card:nth-child(3) .scenario-image { --scene:url("../images/scenarios/scenario-high-heat.webp") !important; }
.scenario-card:nth-child(4) .scenario-image { --scene:url("../images/scenarios/scenario-hotel-catering.webp") !important; }
.scenario-card:nth-child(5) .scenario-image { --scene:url("../images/scenarios/scenario-hotel-hvac.webp") !important; }
.scenario-card:nth-child(6) .scenario-image { --scene:url("../images/scenarios/scenario-factory-ventilation.webp") !important; }
.scenario-card:nth-child(7) .scenario-image { --scene:url("../images/scenarios/scenario-factory-pumps.webp") !important; }
.scenario-card:nth-child(8) .scenario-image { --scene:url("../images/scenarios/scenario-retrofit.webp") !important; }
.scenario-card::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,transparent 28%,rgba(var(--sector-rgb),.12) 48%,transparent 68%); transform:translateX(-115%); animation:scenarioSectorScan 6s ease-in-out infinite; }
.scenario-card:nth-child(2n)::after { animation-delay:-2s; }
.scenario-card:nth-child(3n)::after { animation-delay:-4s; }
.scenario-sector { display:inline-flex; align-items:center; gap:7px; margin-bottom:13px; color:var(--sector); font:800 12px/1 var(--mono); }
.scenario-sector::before { content:""; width:18px; height:2px; background:currentColor; box-shadow:0 0 9px currentColor; }
.scenario-card:hover { border-color:rgba(var(--sector-rgb),.72); box-shadow:0 20px 45px rgba(var(--sector-rgb),.09); }
@keyframes scenarioSectorScan { 0%,38%{transform:translateX(-115%)} 72%,100%{transform:translateX(115%)} }

.carbon-dashboard-v2 { --carbon-cyan:#57e0d7; --carbon-green:#92f28a; --carbon-lime:#c8f36c; min-height:680px; padding:30px; border:1px solid rgba(89,224,211,.22); background:radial-gradient(circle at 52% 32%,rgba(55,190,165,.12),transparent 35%),linear-gradient(135deg,#071d19,#04120f 72%); }
.carbon-dashboard-v2::before { background:linear-gradient(90deg,transparent,rgba(101,239,220,.07),transparent); animation-duration:4s; }
.carbon-command { align-items:center; margin-bottom:22px; }
.carbon-command h3 { max-width:760px; font-size:30px; }
.carbon-region { min-width:260px; }
.carbon-region label,.carbon-region small { display:block; }
.carbon-region label { margin-bottom:7px; color:#bdd0cb; font-size:13px; }
.carbon-region select { width:100%; min-height:48px; padding:0 42px 0 15px; border:1px solid rgba(93,225,213,.4); background-color:#0a2621; color:#f2fbf9; font-size:15px; }
.carbon-region small { margin-top:7px; color:#7de6dc; }
.carbon-impact-stage { position:relative; display:grid; grid-template-columns:minmax(270px,.86fr) repeat(2,minmax(250px,1fr)); gap:24px; align-items:stretch; }
.carbon-energy-core-v2 { min-height:310px; padding:32px 22px; border:0; background:radial-gradient(circle,rgba(78,226,209,.2),rgba(7,32,27,.78) 48%,rgba(4,16,14,.85) 70%); overflow:hidden; }
.carbon-energy-core-v2::before,.carbon-energy-core-v2::after { content:""; position:absolute; inset:38px; border:1px solid rgba(91,225,214,.24); border-radius:50%; animation:carbonOrbitSpin 13s linear infinite; }
.carbon-energy-core-v2::after { inset:66px; border-style:dashed; animation-duration:8s; animation-direction:reverse; }
.carbon-energy-core-v2 > span,.carbon-energy-core-v2 > strong,.carbon-energy-core-v2 > small { position:relative; z-index:3; }
.carbon-energy-core-v2 > span { color:#bceee8; font-size:15px; }
.carbon-energy-core-v2 > strong { margin:17px 0 9px; font-size:clamp(31px,3vw,46px); text-shadow:0 0 22px rgba(83,225,213,.28); }
.carbon-energy-core-v2 > small { color:#8caea6; font-size:13px; }
.carbon-year-ring { position:absolute; inset:21px; border-radius:50%; animation:carbonOrbitSpin 24s linear infinite; }
.carbon-year-ring i { position:absolute; left:50%; top:0; width:2px; height:11px; background:#7de5db; transform-origin:1px 134px; opacity:.5; }
.carbon-year-ring i:nth-child(2){transform:rotate(30deg)} .carbon-year-ring i:nth-child(3){transform:rotate(60deg)} .carbon-year-ring i:nth-child(4){transform:rotate(90deg)} .carbon-year-ring i:nth-child(5){transform:rotate(120deg)} .carbon-year-ring i:nth-child(6){transform:rotate(150deg)} .carbon-year-ring i:nth-child(7){transform:rotate(180deg)} .carbon-year-ring i:nth-child(8){transform:rotate(210deg)} .carbon-year-ring i:nth-child(9){transform:rotate(240deg)} .carbon-year-ring i:nth-child(10){transform:rotate(270deg)} .carbon-year-ring i:nth-child(11){transform:rotate(300deg)} .carbon-year-ring i:nth-child(12){transform:rotate(330deg)}
.carbon-core-node { position:absolute; left:50%; bottom:25px; width:9px; height:9px; border-radius:50%; background:#eafff8; box-shadow:0 0 10px #fff,0 0 25px var(--carbon-cyan); animation:carbonCoreNode 2s ease-in-out infinite; }
.carbon-energy-links { position:absolute; z-index:4; left:calc(28.7% - 15px); right:0; top:50%; height:1px; pointer-events:none; }
.carbon-energy-links > span { position:absolute; left:0; width:34%; height:1px; transform-origin:left center; background:linear-gradient(90deg,var(--carbon-cyan),rgba(99,229,214,.18)); }
.carbon-energy-links .coal-link { top:-60px; transform:rotate(-10deg); }
.carbon-energy-links .co2-link { top:60px; transform:rotate(10deg); background:linear-gradient(90deg,var(--carbon-green),rgba(146,242,138,.18)); }
.carbon-energy-links i { position:absolute; inset:-1px 0 auto; height:2px; background:linear-gradient(90deg,transparent,#fff,transparent); animation:carbonLinkFlow 1.8s linear infinite; }
.carbon-energy-links b { position:absolute; right:-5px; top:-4px; width:9px; height:9px; border-radius:50%; background:#fff; box-shadow:0 0 16px currentColor; }
.carbon-result-v2 { display:grid; grid-template-columns:112px 1fr; grid-template-rows:1fr auto; align-items:center; gap:12px 20px; min-height:310px; padding:30px 28px 24px; text-align:left; border-color:rgba(97,224,212,.28); background:linear-gradient(145deg,rgba(20,57,48,.8),rgba(6,25,21,.82)); }
.carbon-result-v2.co2 { border-color:rgba(146,242,138,.3); background:linear-gradient(145deg,rgba(28,65,43,.78),rgba(6,25,20,.84)); }
.carbon-result-v2::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.08) 50%,transparent 68%); transform:translateX(-110%); animation:carbonCardSweep 3.8s ease-in-out infinite; }
.carbon-result-v2.co2::before { animation-delay:-1.9s; }
.carbon-result-v2 .carbon-gauge { width:108px; height:108px; margin:0; }
.carbon-result-copy span,.carbon-result-copy small { display:block; color:#aac0ba; }
.carbon-result-copy span { font-size:16px; }
.carbon-result-copy strong { display:block; margin:12px 0 7px; color:#fff; font:800 clamp(29px,2.45vw,40px)/1.05 var(--mono); white-space:nowrap; }
.carbon-result-v2.coal .carbon-result-copy strong { color:#8cece4; }
.carbon-result-v2.co2 .carbon-result-copy strong { color:#a6f39b; }
.carbon-result-copy small { font-size:13px; }
.carbon-impact-track { grid-column:1 / -1; position:relative; height:12px; background:rgba(255,255,255,.055); overflow:hidden; }
.carbon-impact-track i { display:block; width:var(--carbon-fill,60%); height:100%; background:linear-gradient(90deg,#4bd5d4,#8bf0df); transition:width .6s ease; }
.carbon-result-v2.co2 .carbon-impact-track i { background:linear-gradient(90deg,#60dc95,#c2f376); }
.carbon-impact-track b { position:absolute; top:0; bottom:0; width:34px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent); animation:carbonTrackShimmer 1.9s linear infinite; }
.carbon-controls-v2 { grid-template-columns:minmax(210px,.9fr) repeat(2,minmax(210px,1fr)) auto; gap:14px; margin-top:22px; padding:18px; border:1px solid var(--line); background:rgba(255,255,255,.022); }
.carbon-factor-intro { align-self:center; }
.carbon-factor-intro strong,.carbon-factor-intro span { display:block; }
.carbon-factor-intro strong { color:#e9f7f3; font-size:16px; }
.carbon-factor-intro span { margin-top:5px; color:#8fa9a3; font-size:12px; }
.carbon-controls-v2 .field label { min-height:18px; font-size:13px; }
.carbon-controls-v2 .field input { height:48px; font-size:17px; }
.carbon-formulas-v2 { margin-top:12px; }
.carbon-formulas-v2 p { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:11px 14px; }
.carbon-formulas-v2 strong { font-size:13px; }
.carbon-formulas-v2 span { margin:0; font-size:12px; text-align:right; }
.carbon-source { margin-top:12px; }
@keyframes carbonOrbitSpin { to{transform:rotate(360deg)} }
@keyframes carbonCoreNode { 50%{transform:translateY(-4px) scale(1.35);filter:brightness(1.3)} }
@keyframes carbonLinkFlow { from{transform:translateX(-70%)} to{transform:translateX(100%)} }
@keyframes carbonCardSweep { 0%,25%{transform:translateX(-110%)} 70%,100%{transform:translateX(110%)} }
@keyframes carbonTrackShimmer { from{left:-38px} to{left:100%} }

@media (max-width:1100px) {
  .delivery-layout { grid-template-columns:1fr; }
  .delivery-layout .cabinet-viewer { max-width:none; }
  .delivery-facts .fact-strip { grid-template-columns:repeat(3,1fr); }
  .delivery-facts .fact { grid-template-columns:1fr; min-height:130px; }
  .carbon-impact-stage { grid-template-columns:1fr 1fr; }
  .carbon-energy-core-v2 { grid-column:1 / -1; min-height:270px; }
  .carbon-energy-links { display:none; }
  .carbon-controls-v2 { grid-template-columns:1fr 1fr; }
  .carbon-factor-intro,.carbon-controls-v2 .btn { grid-column:1 / -1; }
}

@media (max-width:640px) {
  .delivery-layout .cabinet-detail-stage { min-height:260px; padding:10px; }
  .delivery-layout .cabinet-detail-stage img { height:235px; }
}

@media (max-width:640px) {
  .hero-breathing-title .hero-title-desktop { display:none; }
  .hero-breathing-title .hero-title-mobile { display:inline; }
  .hero-breathing-title { line-height:1.06; }
  .hero-breathing-title .accent { color:#8fece4; }
  .hero-stats .metric:nth-child(2) span,.hero-stats .metric:nth-child(3) span { font-size:11px; line-height:1.35; }
  .timeline { gap:0; }
  .timeline-item time { font-size:24px; }
  .timeline-item h3 { font-size:17px; }
  .delivery-facts .fact-strip { grid-template-columns:1fr; }
  .delivery-facts .fact { grid-template-columns:120px 1fr; min-height:100px; padding:20px; }
  .delivery-facts .fact strong { font-size:28px; }
  .delivery-facts .fact span { font-size:15px; }
  .motor-versus-title { gap:9px; font-size:23px; }
  .motor-versus-title b { width:40px; height:28px; font-size:12px; }
  .motor-vs { top:50%; width:48px; height:48px; }
  .motor-visual { min-height:0; }
  .motor-visual img { height:230px; }
  .motor-copy { padding:24px 18px 28px; }
  .motor-copy h3 { font-size:23px; }
  .motor-comparison-facts > span { grid-template-columns:1fr; gap:6px; min-height:112px; }
  .motor-comparison-facts b,.motor-comparison-facts em { font-size:14px; }
  .motor-comparison-facts .saving em { font-size:31px; }
  .system-compare { grid-template-columns:1fr; }
  .compare-live,.compare-fan { min-height:300px; }
  .compare-readout { padding:26px 20px; }
  .compare-saving { font-size:58px; }
  .law-copy .single-line-heading { font-size:25px; white-space:normal; }
  .law-copy .law-stat strong { font-size:24px; }
  .formula-explainer { grid-template-columns:1fr; }
  .formula-main { border-right:0; border-bottom:1px solid var(--line); }
  .formula-explainer .formula { font-size:28px; }
  .formula-secondary { gap:9px; padding:16px; }
  .formula-secondary span { grid-template-columns:78px 1fr; padding:12px; }
  .scenario-content { position:relative; }
  .scenario-sector { margin-bottom:10px; }
  .carbon-dashboard-v2 { padding:18px 13px; }
  .carbon-command { display:block; }
  .carbon-command h3 { font-size:24px; }
  .carbon-region { min-width:0; margin-top:18px; }
  .carbon-impact-stage { grid-template-columns:1fr; gap:14px; }
  .carbon-energy-core-v2 { grid-column:auto; min-height:250px; }
  .carbon-year-ring { inset:20px 44px; }
  .carbon-year-ring i { transform-origin:1px 104px; }
  .carbon-year-ring i:nth-child(2){transform:rotate(30deg)} .carbon-year-ring i:nth-child(3){transform:rotate(60deg)} .carbon-year-ring i:nth-child(4){transform:rotate(90deg)} .carbon-year-ring i:nth-child(5){transform:rotate(120deg)} .carbon-year-ring i:nth-child(6){transform:rotate(150deg)} .carbon-year-ring i:nth-child(7){transform:rotate(180deg)} .carbon-year-ring i:nth-child(8){transform:rotate(210deg)} .carbon-year-ring i:nth-child(9){transform:rotate(240deg)} .carbon-year-ring i:nth-child(10){transform:rotate(270deg)} .carbon-year-ring i:nth-child(11){transform:rotate(300deg)} .carbon-year-ring i:nth-child(12){transform:rotate(330deg)}
  .carbon-result-v2 { grid-template-columns:86px 1fr; min-height:210px; padding:22px 18px 18px; }
  .carbon-result-v2 .carbon-gauge { width:82px; height:82px; }
  .carbon-result-copy strong { font-size:27px; }
  .carbon-controls-v2 { grid-template-columns:1fr; padding:14px; }
  .carbon-factor-intro,.carbon-controls-v2 .btn { grid-column:auto; }
  .carbon-formulas-v2 { grid-template-columns:1fr; }
  .carbon-formulas-v2 p { display:block; }
  .carbon-formulas-v2 span { margin-top:5px; text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  .delivery-facts .fact::after,.motor-comparison-facts > span > i::before,.scenario-card::after,.carbon-year-ring,.carbon-energy-core-v2::before,.carbon-energy-core-v2::after,.carbon-core-node,.carbon-energy-links i,.carbon-result-v2::before,.carbon-impact-track b { animation:none !important; }
}

/* Round 12: balanced product story, protected margin visuals and high-motion carbon impact. */
body[data-page="about"] .page-hero h1,
body[data-page="project"] .project-hero-title { max-width:none; white-space:nowrap; }

.delivery-layout {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:32px;
  align-items:stretch;
}
.delivery-layout .cabinet-viewer { width:100%; max-width:none; }
.delivery-layout .cabinet-detail-stage { min-height:370px; padding:16px; }
.delivery-layout .cabinet-detail-stage img { width:100%; height:338px; object-fit:contain; }
.delivery-layout .cabinet-detail-caption { font-size:15px; }
.delivery-layout .cabinet-controls button { min-height:62px; font-size:15px; }
.delivery-layout .cabinet-reference { min-height:94px; font-size:14px; }
.delivery-layout .cabinet-reference img { width:118px; height:70px; object-fit:contain; }
.delivery-facts .fact-strip { align-content:center; gap:12px; }
.delivery-facts .fact {
  grid-template-columns:138px minmax(0,1fr);
  min-height:108px;
  padding:20px 26px;
}
.delivery-facts .fact strong { font-size:32px; }
.delivery-facts .fact span { font-size:16px; }
.delivery-facts .fact i { right:26px; bottom:13px; left:26px; }

.motor-versus-title { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.motor-versus-title span { min-width:0; }
.motor-versus-title span:last-child { text-align:right; }
.motor-compare { gap:28px; }
.motor-vs {
  top:206px;
  width:70px;
  height:70px;
  border-color:rgba(126,235,220,.52);
  background:radial-gradient(circle,rgba(82,221,209,.15),#071a17 68%);
  box-shadow:0 0 34px rgba(83,225,216,.3),inset 0 0 18px rgba(114,237,133,.08);
  animation:motorVsPulse 3.2s ease-in-out infinite;
}
.motor-vs::before,.motor-vs::after {
  content:"";
  position:absolute;
  inset:-8px;
  border:1px dashed rgba(102,222,220,.35);
  border-radius:50%;
  animation:motorVsSpin 12s linear infinite;
}
.motor-vs::after { inset:8px; border-color:rgba(140,240,133,.3); animation-direction:reverse; animation-duration:8s; }
.motor-visual { min-height:710px; border-color:rgba(117,191,181,.24); }
.motor-visual img { height:320px; }
.motor-copy { padding:28px 30px 32px; }
.motor-comparison-facts > span {
  transition:border-color .28s ease,background .28s ease,transform .28s ease,box-shadow .28s ease;
}
.motor-comparison-facts > span:hover,
.motor-compare:has([data-motor-metric="installation"]:hover) [data-motor-metric="installation"],
.motor-compare:has([data-motor-metric="efficiency"]:hover) [data-motor-metric="efficiency"],
.motor-compare:has([data-motor-metric="speed"]:hover) [data-motor-metric="speed"],
.motor-compare:has([data-motor-metric="saving"]:hover) [data-motor-metric="saving"] {
  transform:translateY(-2px);
  border-color:rgba(112,232,217,.34);
  background:linear-gradient(90deg,rgba(71,213,207,.1),rgba(255,255,255,.02));
  box-shadow:0 12px 26px rgba(0,0,0,.14),inset 0 0 24px rgba(72,220,210,.035);
}
.motor-visual.axial .motor-comparison-facts > span:hover,
.motor-compare:has(.axial [data-motor-metric]:hover) .axial [data-motor-metric]:hover {
  border-color:rgba(143,239,132,.42);
  background:linear-gradient(90deg,rgba(100,226,135,.12),rgba(255,255,255,.02));
}
.motor-comparison-facts b { color:#ecf8f5; font-size:16px; }
.motor-comparison-facts em { font-size:15px; }
.motor-comparison-facts .saving em { font-size:36px; }
@keyframes motorVsSpin { to{transform:rotate(360deg)} }
@keyframes motorVsPulse { 50%{box-shadow:0 0 48px rgba(83,225,216,.42),inset 0 0 24px rgba(114,237,133,.13)} }

.law-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
.law-stat.primary { background:linear-gradient(145deg,rgba(64,221,205,.12),rgba(112,236,127,.07)); box-shadow:inset 0 0 28px rgba(77,224,207,.06); }
.law-stat.primary strong { color:#a9f39e; text-shadow:0 0 16px rgba(114,237,133,.25); }
.formula-explainer.compact {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  margin-top:20px;
  border:1px solid rgba(87,223,213,.3);
  background:linear-gradient(110deg,rgba(70,224,211,.1),rgba(8,27,23,.72) 55%);
}
.formula-explainer.compact .formula-main {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  padding:22px 26px;
  border:0;
  border-bottom:1px solid var(--line);
}
.formula-explainer.compact .formula-main > span { color:#d9ece8; font-size:18px; font-weight:700; }
.formula-explainer.compact .formula { font-size:30px; white-space:nowrap; }
.formula-definitions-line { margin:0; padding:14px 26px; color:#9fb5b0; font-size:14px; }
body[data-lang="en"] .law-panel > .law-copy .single-line-heading { font-size:27px; }

.roi-tabs { gap:8px; padding:8px; border:1px solid rgba(106,205,191,.22); background:rgba(3,17,14,.72); }
.roi-tab {
  --tab-accent:#5edfd7;
  min-height:62px;
  border:1px solid rgba(255,255,255,.055);
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
  color:#aabdb8;
  font-weight:700;
  letter-spacing:.02em;
}
.roi-tab:nth-child(2) { --tab-accent:#8be78b; }
.roi-tab:nth-child(3) { --tab-accent:#f0b75d; }
.roi-tab:nth-child(4) { --tab-accent:#9f92ff; }
.roi-tab::before { content:""; width:8px; height:8px; margin-right:10px; border-radius:50%; background:var(--tab-accent); box-shadow:0 0 10px var(--tab-accent); opacity:.45; }
.roi-tab::after { right:14%; left:14%; height:3px; background:linear-gradient(90deg,transparent,var(--tab-accent),transparent); }
.roi-tab:hover,.roi-tab.active { border-color:color-mix(in srgb,var(--tab-accent) 48%,transparent); background:linear-gradient(180deg,color-mix(in srgb,var(--tab-accent) 10%,transparent),rgba(255,255,255,.012)); }
.roi-tab.active::before { opacity:1; animation:roiNodePulse 1.6s ease-in-out infinite; }
@keyframes roiNodePulse { 50%{transform:scale(1.35);filter:brightness(1.35)} }

.margin-column { grid-template-rows:repeat(2,minmax(390px,1fr)); gap:20px; }
.margin-comparison-card {
  min-height:390px;
  grid-template-rows:68px 208px 82px;
  align-content:stretch;
  padding:20px 22px;
  overflow:hidden;
}
.margin-card-head { align-items:start; min-height:68px; margin:0; }
.margin-card-head span { max-width:68%; font-size:17px; line-height:1.35; }
.margin-card-head small { max-width:32%; font-size:12px; line-height:1.4; }
.margin-visual { min-height:208px; place-items:center; overflow:visible; }
.margin-comparison-card .margin-donut,.combined-margin-donut { width:180px; height:180px; margin:auto; }
.margin-comparison-card .margin-donut > div,.combined-margin-donut > div { z-index:5; }
.margin-comparison-card .margin-donut strong,.combined-margin-donut strong { font-size:30px; }
.margin-legend { align-content:center; min-height:82px; margin:0; padding-top:12px; border-top:1px solid rgba(132,189,179,.16); }
.margin-legend span { min-height:25px; grid-template-columns:11px minmax(0,1fr) minmax(72px,auto); font-size:14px; }
.margin-legend strong { font-size:16px; text-align:right; white-space:nowrap; }
.baseline-legend { grid-template-rows:1fr; }
.arc-label { z-index:3; min-width:54px; font-size:13px; pointer-events:none; }
.margin-donut .arc-label.base { top:18px !important; right:-18px !important; left:auto !important; transform:none !important; }
.combined-margin-donut .arc-label.base { top:24px !important; right:auto !important; left:-19px !important; transform:none !important; }
.combined-margin-donut .arc-label.saving { top:112px !important; right:-23px !important; left:auto !important; transform:none !important; }
.arc-label::before { width:23px; }
.business-dashboard { min-height:820px; }

.carbon-dashboard-v2 {
  --carbon-coal:#efb85c;
  position:relative;
  min-height:720px;
  background:
    radial-gradient(circle at 20% 44%,rgba(239,184,92,.08),transparent 24%),
    radial-gradient(circle at 78% 44%,rgba(122,240,132,.1),transparent 27%),
    radial-gradient(circle at 50% 30%,rgba(55,190,165,.14),transparent 35%),
    linear-gradient(135deg,#071d19,#04120f 72%);
}
.carbon-dashboard-v2::after { content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(90deg,transparent 0 69px,rgba(120,191,180,.025) 70px),repeating-linear-gradient(0deg,transparent 0 69px,rgba(120,191,180,.02) 70px); }
.carbon-dashboard-v2 > * { position:relative; z-index:2; }
.carbon-energy-core-v2 { box-shadow:inset 0 0 42px rgba(69,222,210,.055),0 0 42px rgba(42,193,174,.06); }
.carbon-energy-core-v2 > strong { z-index:6; white-space:nowrap; }
.carbon-year-ring i { animation:carbonMonthPulse 3.6s ease-in-out infinite; }
.carbon-year-ring i:nth-child(2){animation-delay:-.3s}.carbon-year-ring i:nth-child(3){animation-delay:-.6s}.carbon-year-ring i:nth-child(4){animation-delay:-.9s}.carbon-year-ring i:nth-child(5){animation-delay:-1.2s}.carbon-year-ring i:nth-child(6){animation-delay:-1.5s}.carbon-year-ring i:nth-child(7){animation-delay:-1.8s}.carbon-year-ring i:nth-child(8){animation-delay:-2.1s}.carbon-year-ring i:nth-child(9){animation-delay:-2.4s}.carbon-year-ring i:nth-child(10){animation-delay:-2.7s}.carbon-year-ring i:nth-child(11){animation-delay:-3s}.carbon-year-ring i:nth-child(12){animation-delay:-3.3s}
.carbon-energy-links .coal-link { color:var(--carbon-coal); background:linear-gradient(90deg,var(--carbon-cyan),var(--carbon-coal),rgba(239,184,92,.2)); }
.carbon-energy-links .co2-link { color:var(--carbon-green); }
.carbon-impact-stage:has(.coal:hover) .coal-link,.carbon-impact-stage:has(.co2:hover) .co2-link { height:3px; filter:brightness(1.35) drop-shadow(0 0 8px currentColor); }
.carbon-result-v2 { isolation:isolate; overflow:hidden; transition:border-color .28s ease,transform .28s ease,box-shadow .28s ease; }
.carbon-result-v2:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(0,0,0,.18),inset 0 0 32px rgba(255,255,255,.025); }
.carbon-result-v2.coal { border-color:rgba(239,184,92,.34); background:linear-gradient(145deg,rgba(68,50,25,.72),rgba(18,26,22,.86)); }
.carbon-result-copy { position:relative; z-index:6; }
.carbon-result-v2.coal .carbon-result-copy strong { color:#f3c66e; }
.carbon-gauge { position:relative; z-index:4; background:conic-gradient(var(--carbon-coal) var(--carbon-fill,0%),rgba(255,255,255,.075) 0); transition:background .55s ease; }
.carbon-result-v2.co2 .carbon-gauge { background:conic-gradient(var(--carbon-green) var(--carbon-fill,0%),rgba(255,255,255,.075) 0); }
.carbon-gauge > i { display:block; position:absolute; z-index:2; inset:5px; border:1px dashed rgba(255,255,255,.48); border-radius:50%; animation:carbonGaugeSpin 9s linear infinite; }
.carbon-gauge > b { z-index:5; }
.carbon-gauge-particles { position:absolute; z-index:4; inset:0; border-radius:50%; animation:carbonGaugeSpin 5.6s linear infinite reverse; }
.carbon-gauge-particles u { position:absolute; width:5px; height:5px; border-radius:50%; background:var(--carbon-coal); box-shadow:0 0 10px currentColor; }
.co2 .carbon-gauge-particles u { background:var(--carbon-green); }
.carbon-gauge-particles u:nth-child(1){top:5%;left:48%}.carbon-gauge-particles u:nth-child(2){top:48%;right:4%}.carbon-gauge-particles u:nth-child(3){bottom:5%;left:48%}.carbon-gauge-particles u:nth-child(4){top:48%;left:4%}
.carbon-impact-track { z-index:5; height:14px; }
.carbon-impact-track i { width:var(--carbon-fill,0%); }
.carbon-result-v2.coal .carbon-impact-track i { background:linear-gradient(90deg,#b9782e,#f1c76e); }
.carbon-updated .carbon-energy-core-v2 { animation:carbonCoreReplay .8s ease both; }
.carbon-updated .carbon-result-v2 { animation:carbonResultReplay .85s ease both; }
.carbon-updated .carbon-result-v2.co2 { animation-delay:.12s; }
body.roi-motion-paused .carbon-dashboard-v2 *,
body.roi-motion-paused .carbon-dashboard-v2 *::before,
body.roi-motion-paused .carbon-dashboard-v2 *::after { animation-play-state:paused !important; }
@keyframes carbonMonthPulse { 0%,72%,100%{opacity:.28;filter:none} 15%,35%{opacity:1;filter:drop-shadow(0 0 7px #8ff7ea)} }
@keyframes carbonGaugeSpin { to{transform:rotate(360deg)} }
@keyframes carbonCoreReplay { from{filter:brightness(1.7);transform:scale(.96)} to{filter:none;transform:none} }
@keyframes carbonResultReplay { from{opacity:.45;transform:translateY(12px)} to{opacity:1;transform:none} }

@media (max-width:1100px) {
  body[data-lang="en"][data-page="project"] .project-hero-title { font-size:52px; }
  .delivery-layout { grid-template-columns:1fr; }
  .delivery-facts .fact-strip { grid-template-columns:repeat(3,1fr); }
  .delivery-facts .fact { grid-template-columns:1fr; min-height:124px; }
  .business-dashboard { min-height:0; }
  .margin-column { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; }
}

@media (max-width:720px) {
  body[data-page="about"] .page-hero h1 { font-size:20px; }
  body[data-page="project"] .project-hero-title { font-size:21px; }
  .delivery-layout .cabinet-detail-stage { min-height:290px; }
  .delivery-layout .cabinet-detail-stage img { height:265px; }
  .delivery-facts .fact-strip { grid-template-columns:1fr; }
  .delivery-facts .fact { grid-template-columns:112px 1fr; min-height:94px; padding:17px 18px; }
  .motor-versus-title { grid-template-columns:1fr; gap:5px; font-size:23px; }
  .motor-versus-title span:last-child { text-align:left; }
  .motor-compare { gap:14px; }
  .motor-vs { top:50%; width:52px; height:52px; }
  .motor-visual img { height:215px; }
  .motor-comparison-facts > span { min-height:124px; padding:15px 14px 24px; }
  .formula-explainer.compact .formula-main { grid-template-columns:1fr; gap:9px; padding:18px; }
  .formula-explainer.compact .formula-main > span { font-size:16px; }
  .formula-explainer.compact .formula { font-size:25px; }
  .formula-definitions-line { padding:12px 18px; }
  .roi-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .roi-tab { min-height:56px; padding:0 8px; font-size:12px; }
  .roi-tab::before { width:7px; height:7px; margin-right:6px; }
  .margin-column { grid-template-columns:1fr; }
  .margin-comparison-card { min-height:380px; grid-template-rows:72px 196px 82px; padding:18px 16px; }
  .margin-card-head { min-height:72px; display:grid; gap:4px; }
  .margin-card-head span,.margin-card-head small { max-width:none; text-align:left; }
  .margin-visual { min-height:196px; }
  .margin-comparison-card .margin-donut,.combined-margin-donut { width:170px; height:170px; }
  .margin-legend { min-height:82px; }
  .arc-label { font-size:12px; }
  .margin-donut .arc-label.base { right:-13px !important; }
  .combined-margin-donut .arc-label.base { left:-13px !important; }
  .combined-margin-donut .arc-label.saving { right:-16px !important; }
  .carbon-dashboard-v2 { min-height:0; }
  .carbon-energy-core-v2 > strong { font-size:30px; }
  .carbon-result-v2 { min-height:220px; }
  .carbon-result-copy strong { font-size:26px; }
}

/* Project controls and direct-DOM PDF capture: final authority. */
body[data-page="project"] #roiViewInputs .currency-menu-toggle {
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 34px !important;
  align-items:center !important;
  min-width:0;
  padding:0 8px 0 42px !important;
  overflow:hidden;
}
body[data-page="project"] #roiViewInputs .currency-menu-toggle::after {
  content:none !important;
  display:none !important;
}
body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
  grid-column:1;
  display:block !important;
  width:100% !important;
  min-width:0;
  padding:0 !important;
  text-align:center !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  line-height:1 !important;
  transform:none !important;
}
body[data-page="project"] #roiViewInputs .currency-arrow-slot {
  position:absolute !important;
  z-index:3;
  top:50% !important;
  right:6px !important;
  display:grid !important;
  place-items:center;
  width:30px !important;
  height:100% !important;
  padding:0 !important;
  transform:translateY(-50%) !important;
  pointer-events:none;
}
body[data-page="project"] #roiViewInputs .currency-arrow-slot i {
  display:block;
  width:9px;
  height:9px;
  margin:0;
  border-right:2px solid #eef8f5;
  border-bottom:2px solid #eef8f5;
  transform:rotate(45deg);
  transform-origin:50% 50%;
  transition:transform .2s ease,color .2s ease;
}
body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-arrow-slot i {
  transform:rotate(225deg);
}

.live-ring-svg {
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.live-ring-svg circle { fill:none; }
.margin-donut.has-live-ring,
.combined-margin-donut.has-live-ring,
.carbon-gauge.has-live-ring { background:#071b17 !important; }
.margin-donut.has-live-ring > div,
.combined-margin-donut.has-live-ring > div,
.carbon-gauge.has-live-ring > b,
.margin-donut.has-live-ring .arc-label,
.combined-margin-donut.has-live-ring .arc-label { position:relative; z-index:4; }
.margin-donut.has-live-ring .margin-orbit,
.combined-margin-donut.has-live-ring .combined-orbit,
.combined-margin-donut.has-live-ring .orbit-node,
.carbon-gauge.has-live-ring > i,
.carbon-gauge.has-live-ring .carbon-gauge-particles { z-index:2; }

/* Authoritative project layout: live gauges, mobile numeric axes and true-DOM PDF capture. */
body[data-page="project"] #roiViewBusiness .margin-column {
  grid-template-rows:repeat(2,minmax(440px,auto)) !important;
  gap:20px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card {
  min-height:440px !important;
  grid-template-rows:minmax(68px,auto) minmax(286px,auto) minmax(82px,auto) !important;
  align-content:start !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-visual {
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  min-width:0 !important;
  min-height:286px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut,
body[data-page="project"] #roiViewBusiness .combined-margin-donut {
  position:relative !important;
  width:var(--margin-gauge-size,220px) !important;
  height:var(--margin-gauge-size,220px) !important;
  min-width:var(--margin-gauge-size,220px) !important;
  min-height:var(--margin-gauge-size,220px) !important;
  margin:auto !important;
  overflow:visible !important;
  transition:width .32s ease,height .32s ease !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div {
  position:absolute !important;
  z-index:6 !important;
  inset:16% !important;
  display:grid !important;
  place-content:center !important;
  min-width:0 !important;
  text-align:center !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div > strong,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div > strong {
  display:block !important;
  max-width:100% !important;
  font-size:var(--margin-center-font,36px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
body[data-page="project"] #roiViewBusiness .margin-donut > div > span,
body[data-page="project"] #roiViewBusiness .combined-margin-donut > div > span {
  display:block !important;
  margin-top:8px !important;
  line-height:1.25 !important;
  white-space:nowrap !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card .arc-label,
body[data-page="project"] #roiViewBusiness .margin-donut.has-live-ring .arc-label,
body[data-page="project"] #roiViewBusiness .combined-margin-donut.has-live-ring .arc-label {
  position:absolute !important;
  z-index:9 !important;
  top:var(--label-y-px,50%) !important;
  left:var(--label-x-px,50%) !important;
  right:auto !important;
  bottom:auto !important;
  display:block !important;
  width:max-content !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:2px 4px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:var(--margin-label-font,16px) !important;
  font-weight:800 !important;
  font-style:normal !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
  transform:translate(-50%,-50%) !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-comparison-card .arc-label::before,
body[data-page="project"] #roiViewBusiness .margin-comparison-card .arc-label::after {
  content:none !important;
  display:none !important;
}
body[data-page="project"] #roiViewBusiness .arc-label.base {
  color:#6fe7df !important;
  text-shadow:0 0 7px rgba(69,222,210,.82),0 0 16px rgba(69,222,210,.42) !important;
}
body[data-page="project"] #roiViewBusiness .arc-label.saving {
  color:#8df59a !important;
  text-shadow:0 0 7px rgba(114,237,133,.82),0 0 16px rgba(114,237,133,.42) !important;
  animation:none !important;
}

/* A screenshot clone must inherit the live page layout, never a PDF-only grid. */
.pdf-real-dom-capture .pdf-export-copy {
  box-sizing:border-box !important;
  flex:none !important;
  transform:none !important;
}
.pdf-real-dom-capture .pdf-export-copy .pdf-operation-control {
  visibility:hidden !important;
  pointer-events:none !important;
}
.pdf-real-dom-capture .pdf-export-copy .pdf-menu-layer {
  display:none !important;
}

@media (max-width:720px) {
  body[data-page="project"] #roiViewBusiness .margin-column {
    grid-template-rows:repeat(2,minmax(426px,auto)) !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-comparison-card {
    min-height:426px !important;
    grid-template-rows:minmax(64px,auto) minmax(278px,auto) minmax(80px,auto) !important;
    padding-inline:15px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-visual {
    min-height:278px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-comparison-card .arc-label,
  body[data-page="project"] #roiViewBusiness .margin-donut.has-live-ring .arc-label,
  body[data-page="project"] #roiViewBusiness .combined-margin-donut.has-live-ring .arc-label {
    font-size:var(--margin-label-font,14px) !important;
  }

  body[data-page="project"] #roiViewInputs .equipment-hours,
  body[data-page="project"] #roiViewInputs .equipment-saving-rate {
    padding-left:12px !important;
    padding-right:74px !important;
    text-align:center !important;
    text-indent:0 !important;
  }

  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    grid-template-columns:none !important;
    padding:0 48px !important;
    overflow:hidden !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
    position:static !important;
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#f3fbf8 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    transform:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot {
    position:absolute !important;
    top:0 !important;
    right:5px !important;
    display:grid !important;
    place-items:center !important;
    width:40px !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot i {
    position:static !important;
    margin:0 !important;
    transform:rotate(45deg) !important;
  }
  body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-arrow-slot i {
    transform:rotate(225deg) !important;
  }
}

@media (max-width:380px) {
  body[data-page="about"] .page-hero h1 { font-size:19px; }
  body[data-page="project"] .project-hero-title { font-size:20px; }
}

@media (prefers-reduced-motion:reduce) {
  .motor-vs,.motor-vs::before,.motor-vs::after,.roi-tab::before,.carbon-year-ring i,.carbon-gauge > i,.carbon-gauge-particles,.carbon-updated .carbon-energy-core-v2,.carbon-updated .carbon-result-v2,
  .roi-view[data-roi-view="carbon"].is-replaying .carbon-energy-core-v3,
  .roi-view[data-roi-view="carbon"].is-replaying .carbon-conversion-flow,
  .roi-view[data-roi-view="carbon"].is-replaying .carbon-result-v2 { animation:none !important; }
}

/* Round 13: exact comparison alignment, transient pointer glow and compact formula. */
.glow-surface {
  --glow-alpha:0;
  background-image:radial-gradient(360px circle at var(--glow-x,50%) var(--glow-y,50%),rgba(69,222,210,var(--glow-alpha)),transparent 46%);
}
.glow-surface.glow-energy {
  background-image:radial-gradient(360px circle at var(--glow-x,50%) var(--glow-y,50%),rgba(114,237,133,var(--glow-alpha)),transparent 46%);
}
.glow-surface.glow-heat {
  background-image:radial-gradient(360px circle at var(--glow-x,50%) var(--glow-y,50%),rgba(244,186,98,var(--glow-alpha)),transparent 46%);
}
.glow-surface.is-glow-active { --glow-alpha:.115; }
.equipment-row {
  --row-glow-alpha:0;
  background-image:radial-gradient(260px circle at var(--glow-x,50%) var(--glow-y,50%),rgba(69,222,210,var(--row-glow-alpha)),transparent 52%);
}
.equipment-row.is-glow-active { --row-glow-alpha:.1; }

.motor-versus-title {
  grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);
  gap:20px;
  align-items:center;
  line-height:1.08;
}
.motor-title-vs {
  position:relative;
  display:grid;
  place-items:center;
  justify-self:center;
  align-self:center;
  width:46px;
  height:46px;
  transform:translateY(-2px);
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  color:#fff;
  font:800 15px/1 var(--mono);
  background:radial-gradient(circle,rgba(255,255,255,.09),rgba(5,20,17,.92) 70%);
  box-shadow:0 0 22px rgba(78,220,214,.16),inset 0 0 12px rgba(255,255,255,.06);
  text-shadow:0 0 9px rgba(255,255,255,.35);
  isolation:isolate;
}
.motor-title-vs::before,
.motor-title-vs::after {
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.motor-title-vs::before {
  inset:-7px;
  border:1px dashed rgba(65,211,213,.58);
  box-shadow:0 0 14px rgba(65,211,213,.22);
  animation:motorVsSpin 6.5s linear infinite;
}
.motor-title-vs::after {
  inset:4px;
  border:1px solid rgba(126,232,124,.48);
  border-left-color:transparent;
  border-bottom-color:rgba(126,232,124,.16);
  animation:motorVsSpinReverse 4.5s linear infinite;
}
.motor-compare {
  --motor-stage-height:320px;
  --motor-vs-y:206px;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:28px;
}
.motor-compare::before {
  content:"";
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,rgba(113,219,207,.3) 14%,rgba(113,219,207,.3) 86%,transparent);
  pointer-events:none;
}
.motor-visual + .motor-visual { border-left:0; }
.motor-vs { left:50%; top:var(--motor-vs-y); }
.motor-comparison-facts > span {
  grid-template-columns:168px minmax(0,1fr);
  gap:8px;
  align-items:center;
  justify-items:start;
  text-align:left;
}
.motor-comparison-facts b,
.motor-comparison-facts em { display:block; min-width:0; width:100%; text-align:left; }
.motor-comparison-facts b { font-size:15px; line-height:1.35; }
.motor-comparison-facts em { font-size:13px; line-height:1.45; }
body[data-lang="zh"] .motor-comparison-facts b,
body[data-lang="zh"] .motor-comparison-facts em { white-space:nowrap; }

.system-mode {
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
  min-width:0;
  min-height:82px;
  padding:10px 6px;
}
.system-mode strong { white-space:nowrap; line-height:1.2; }
.system-mode span {
  display:block;
  width:100%;
  min-height:0;
  margin-top:8px;
  font-size:12.5px;
  line-height:1.2;
  white-space:nowrap;
}
.system-range-wrap > label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.system-range-wrap > label .range-hint { margin-left:auto; white-space:nowrap; }

.formula-explainer.compact {
  margin-top:16px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.formula-explainer.compact .formula-main {
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  padding:13px 0 8px;
  border:0;
  background:transparent;
}
.formula-explainer.compact .formula-main > span { font-size:16px; }
.formula-explainer.compact .formula {
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  font-size:24px;
}
.formula-definitions-line { padding:6px 0 0; font-size:13px; }

@keyframes motorVsSpinReverse { to { transform:rotate(-360deg); } }

.roi-tab::after {
  right:0;
  left:0;
  bottom:0;
  height:3px;
  opacity:.28;
  transform:none;
  background:repeating-linear-gradient(90deg,transparent 0 12%,color-mix(in srgb,var(--tab-accent) 42%,transparent) 20%,var(--tab-accent) 25%,transparent 38% 50%);
  background-size:200% 100%;
  animation:roiTabEnergyContinuous 3.1s linear infinite;
}
.roi-tab.active::after {
  opacity:1;
  transform:none;
  background-size:200% 100%;
  animation:roiTabEnergyContinuous 2.2s linear infinite;
}
@keyframes roiTabEnergyContinuous { to { background-position:-200% 0; } }

@media (max-width:720px) {
  .motor-versus-title {
    grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);
    gap:6px;
    font-size:17px;
  }
  .motor-versus-title span { text-align:left; }
  .motor-versus-title span:last-child { text-align:right; }
  .motor-title-vs { width:34px; height:34px; transform:translateY(-1px); font-size:11px; }
  .motor-title-vs::before { inset:-5px; }
  .motor-title-vs::after { inset:3px; }
  .motor-comparison-facts > span { grid-template-columns:1fr; gap:5px; justify-items:start; text-align:left; }
  body[data-lang="zh"] .motor-comparison-facts b,
  body[data-lang="zh"] .motor-comparison-facts em { white-space:normal; }
  .system-mode { min-height:74px; padding:8px 3px; }
  .system-mode strong { font-size:13px; }
  .system-mode span { margin-top:6px; font-size:10.5px; letter-spacing:0; }
  .system-range-wrap > label { gap:6px; }
  .system-range-wrap > label .range-hint { font-size:10px; }
  .formula-explainer.compact .formula-main { grid-template-columns:1fr; gap:7px; padding:10px 0 5px; }
  .formula-explainer.compact .formula-main > span { font-size:15px; }
  .formula-explainer.compact .formula { font-size:21px; }
  .formula-definitions-line { padding:5px 0 0; font-size:12px; }
}

@media (prefers-reduced-motion:reduce) {
  .motor-title-vs::before,
  .motor-title-vs::after,
  .roi-tab::after { animation:none !important; }
}

/* Round 13: direct carbon-conversion topology and scalable result instruments. */
.carbon-impact-stage-v3 {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
  gap:0;
  min-height:0;
  isolation:isolate;
}
.carbon-energy-core-v3 {
  width:360px;
  height:360px;
  min-height:0;
  padding:64px 42px;
  border-radius:50%;
  border:1px solid rgba(90,229,216,.34);
  background:
    radial-gradient(circle at 50% 48%,rgba(77,231,212,.2),rgba(7,34,29,.86) 49%,rgba(3,16,14,.94) 72%),
    #071d19;
  box-shadow:inset 0 0 56px rgba(73,227,209,.09),0 0 52px rgba(40,207,187,.1);
  overflow:visible;
}
.carbon-energy-core-v3::before { inset:24px; border-color:rgba(87,224,215,.4); }
.carbon-energy-core-v3::after { inset:49px; border-color:rgba(146,242,138,.28); }
.carbon-energy-core-v3 > span {
  max-width:230px;
  color:#c9f4ef;
  font-size:16px;
  line-height:1.35;
}
.carbon-energy-core-v3 > strong {
  display:block;
  width:100%;
  margin:17px 0 3px;
  color:#f4fffc;
  font-family:"Cascadia Mono","SFMono-Regular",Consolas,monospace;
  font-size:48px;
  font-weight:800;
  line-height:1;
  letter-spacing:0;
  white-space:nowrap;
  text-align:center;
  text-shadow:0 0 26px rgba(83,225,213,.38);
}
.carbon-energy-core-v3 > strong[data-size="compact"] { font-size:38px; }
.carbon-energy-core-v3 > strong[data-size="dense"] { font-size:28px; }
.carbon-energy-core-v3 > em {
  position:relative;
  z-index:6;
  display:block;
  color:#8ef0e5;
  font-family:"Cascadia Mono","SFMono-Regular",Consolas,monospace;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  font-style:normal;
}
.carbon-energy-core-v3 > small { margin-top:16px; color:#91afa9; font-size:13px; }
.carbon-energy-core-v3 .carbon-year-ring { inset:17px; }
.carbon-energy-core-v3 .carbon-year-ring i { transform-origin:1px 163px; }
.carbon-core-orbit { position:absolute; inset:7px; border-radius:50%; animation:carbonOrbitSpin 10s linear infinite; pointer-events:none; }
.carbon-core-orbit i { position:absolute; width:7px; height:7px; border-radius:50%; background:#d8fffa; box-shadow:0 0 12px #fff,0 0 25px var(--carbon-cyan); }
.carbon-core-orbit i:nth-child(1) { left:49%; top:-3px; }
.carbon-core-orbit i:nth-child(2) { right:8%; top:72%; width:5px; height:5px; background:var(--carbon-green); }
.carbon-core-orbit i:nth-child(3) { left:8%; top:72%; width:4px; height:4px; opacity:.75; }
.carbon-energy-core-v3 .carbon-core-node { left:calc(50% - 6px); bottom:-7px; width:12px; height:12px; }

.carbon-conversion-flow {
  position:relative;
  z-index:5;
  width:100%;
  height:112px;
  pointer-events:none;
}
.carbon-trunk {
  position:absolute;
  left:calc(50% - 1px);
  top:0;
  width:2px;
  height:54px;
  overflow:hidden;
  background:linear-gradient(180deg,var(--carbon-cyan),rgba(87,224,215,.42));
  box-shadow:0 0 11px rgba(87,224,215,.42);
}
.carbon-trunk i {
  position:absolute;
  left:-3px;
  top:-12px;
  width:8px;
  height:16px;
  border-radius:8px;
  background:#effffc;
  box-shadow:0 0 12px #fff,0 0 20px var(--carbon-cyan);
  animation:carbonTrunkPulse 1.65s linear infinite;
}
.carbon-trunk i:nth-child(2) { animation-delay:-.82s; }
.carbon-fork-node {
  position:absolute;
  z-index:3;
  left:calc(50% - 8px);
  top:46px;
  width:16px;
  height:16px;
  border:2px solid #eafffb;
  border-radius:50%;
  background:#0c3831;
  box-shadow:0 0 15px #fff,0 0 31px var(--carbon-cyan);
  animation:carbonForkPulse 1.65s ease-in-out infinite;
}
.carbon-branch {
  position:absolute;
  top:53px;
  width:25%;
  height:59px;
  border-top:2px solid currentColor;
  color:var(--carbon-cyan);
  filter:drop-shadow(0 0 5px currentColor);
}
.carbon-branch.coal { left:25%; border-left:2px solid currentColor; color:var(--carbon-coal); }
.carbon-branch.co2 { left:50%; border-right:2px solid currentColor; color:var(--carbon-green); }
.carbon-branch i {
  position:absolute;
  top:-4px;
  width:10px;
  height:7px;
  border-radius:6px;
  background:#fff;
  box-shadow:0 0 11px #fff,0 0 20px currentColor;
}
.carbon-branch.coal i { left:calc(100% - 5px); animation:carbonBranchLeft 1.65s linear infinite; }
.carbon-branch.co2 i { left:-5px; animation:carbonBranchRight 1.65s linear infinite; }
.carbon-branch > b {
  position:absolute;
  bottom:-5px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 12px #fff,0 0 22px currentColor;
  animation:carbonOutputNode 1.65s ease-in-out infinite;
}
.carbon-branch.coal > b { left:-6px; }
.carbon-branch.co2 > b { right:-6px; }

.carbon-results-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  width:100%;
}
.carbon-results-grid .carbon-result-v2 {
  min-height:300px;
  grid-template-columns:132px minmax(0,1fr);
  padding:32px 34px 25px;
  outline:none;
}
.carbon-results-grid .carbon-result-v2 .carbon-gauge { width:126px; height:126px; }
.carbon-results-grid .carbon-result-copy span { color:#c4d4d0; font-size:17px; }
.carbon-results-grid .carbon-result-copy strong {
  margin:13px 0 8px;
  font-size:44px;
  line-height:1;
  letter-spacing:0;
}
.carbon-results-grid .carbon-result-copy small { color:#b3c7c1; font-size:14px; }
.carbon-results-grid .carbon-result-v2:focus-visible { box-shadow:0 0 0 2px #fff,0 0 0 5px currentColor; }
.carbon-impact-stage-v3:has(.coal:hover) .carbon-branch.coal,
.carbon-impact-stage-v3:has(.coal:focus-visible) .carbon-branch.coal,
.carbon-impact-stage-v3:has(.co2:hover) .carbon-branch.co2,
.carbon-impact-stage-v3:has(.co2:focus-visible) .carbon-branch.co2 { border-width:3px; filter:brightness(1.35) drop-shadow(0 0 9px currentColor); }
.carbon-impact-stage-v3:has(.coal:hover) .co2,
.carbon-impact-stage-v3:has(.coal:focus-visible) .co2,
.carbon-impact-stage-v3:has(.co2:hover) .coal,
.carbon-impact-stage-v3:has(.co2:focus-visible) .coal { opacity:.62; }

@keyframes carbonTrunkPulse { from { transform:translateY(-12px); opacity:0; } 18% { opacity:1; } to { transform:translateY(66px); opacity:0; } }
@keyframes carbonForkPulse { 0%,100% { transform:scale(.86); opacity:.72; } 50% { transform:scale(1.12); opacity:1; } }
@keyframes carbonBranchLeft { from { left:calc(100% - 5px); opacity:0; } 18% { opacity:1; } to { left:-5px; opacity:0; } }
@keyframes carbonBranchRight { from { left:-5px; opacity:0; } 18% { opacity:1; } to { left:calc(100% - 5px); opacity:0; } }
@keyframes carbonOutputNode { 0%,35%,100% { transform:scale(.72); opacity:.48; } 58% { transform:scale(1.35); opacity:1; } }

@media (max-width:1050px) {
  .carbon-energy-core-v3 { width:280px; height:280px; padding:50px 30px; }
  .carbon-energy-core-v3 > strong { font-size:40px; }
  .carbon-energy-core-v3 > strong[data-size="compact"] { font-size:33px; }
  .carbon-energy-core-v3 > strong[data-size="dense"] { font-size:27px; }
  .carbon-energy-core-v3 .carbon-year-ring i { transform-origin:1px 123px; }
  .carbon-results-grid .carbon-result-v2 { grid-template-columns:104px minmax(0,1fr); padding:26px 22px 22px; }
  .carbon-results-grid .carbon-result-v2 .carbon-gauge { width:98px; height:98px; }
  .carbon-results-grid .carbon-result-copy strong { font-size:35px; }
}

@media (max-width:720px) {
  .carbon-energy-core-v3 { width:242px; height:242px; padding:42px 24px; }
  .carbon-energy-core-v3::before { inset:17px; }
  .carbon-energy-core-v3::after { inset:35px; }
  .carbon-energy-core-v3 > span { font-size:13px; }
  .carbon-energy-core-v3 > strong { font-size:34px; }
  .carbon-energy-core-v3 > strong[data-size="compact"] { font-size:27px; }
  .carbon-energy-core-v3 > strong[data-size="dense"] { font-size:22px; }
  .carbon-energy-core-v3 > em { font-size:12px; }
  .carbon-energy-core-v3 > small { margin-top:10px; font-size:11px; }
  .carbon-energy-core-v3 .carbon-year-ring { inset:13px; }
  .carbon-energy-core-v3 .carbon-year-ring i { height:8px; transform-origin:1px 108px; }
  .carbon-conversion-flow { height:86px; }
  .carbon-trunk { height:40px; }
  .carbon-fork-node { top:33px; }
  .carbon-branch { top:40px; height:46px; }
  .carbon-results-grid { gap:9px; }
  .carbon-results-grid .carbon-result-v2 {
    display:block;
    min-height:245px;
    padding:17px 8px 15px;
    text-align:center;
  }
  .carbon-results-grid .carbon-result-v2 .carbon-gauge { width:78px; height:78px; margin:0 auto 13px; }
  .carbon-results-grid .carbon-result-copy span { min-height:34px; font-size:12px; line-height:1.35; }
  .carbon-results-grid .carbon-result-copy strong { font-size:28px; }
  .carbon-results-grid .carbon-result-copy small { min-height:34px; font-size:10px; line-height:1.35; }
  .carbon-results-grid .carbon-impact-track { margin-top:14px; }
}

@media (prefers-reduced-motion:reduce) {
  .carbon-core-orbit,
  .carbon-trunk i,
  .carbon-fork-node,
  .carbon-branch i,
  .carbon-branch > b { animation:none !important; }
}

/* Round 14: compact left-to-right carbon impact chain. */
.carbon-impact-stage-v3 {
  grid-template-columns:minmax(330px,.9fr) minmax(160px,.48fr) minmax(0,1.45fr);
  grid-template-rows:430px;
  align-items:center;
  justify-items:stretch;
  gap:20px;
  min-height:430px;
}
.carbon-impact-stage-v3 .carbon-energy-core-v3 {
  grid-column:1;
  grid-row:1;
  justify-self:center;
  width:350px;
  height:350px;
  padding:60px 38px;
}
.carbon-energy-core-v3 > span {
  max-width:245px;
  font-size:20px;
  font-weight:700;
}
.carbon-energy-core-v3 > em { font-size:16px; }
.carbon-energy-core-v3 > small {
  margin-top:14px;
  font-size:15px;
  line-height:1.35;
}
.carbon-impact-stage-v3 .carbon-energy-core-v3 .carbon-year-ring i { transform-origin:1px 158px; }
.carbon-impact-stage-v3 .carbon-energy-core-v3 .carbon-core-node {
  left:auto;
  right:-7px;
  bottom:calc(50% - 6px);
}

.carbon-impact-stage-v3 .carbon-conversion-flow {
  grid-column:2;
  grid-row:1;
  width:100%;
  height:100%;
}
.carbon-impact-stage-v3 .carbon-trunk {
  left:0;
  top:calc(50% - 1px);
  width:46%;
  height:2px;
  background:linear-gradient(90deg,var(--carbon-cyan),rgba(87,224,215,.48));
}
.carbon-impact-stage-v3 .carbon-trunk i {
  left:-12px;
  top:-3px;
  width:16px;
  height:8px;
  animation-name:carbonTrunkPulseHorizontal;
}
.carbon-impact-stage-v3 .carbon-fork-node {
  left:calc(46% - 8px);
  top:calc(50% - 8px);
}
.carbon-impact-stage-v3 .carbon-branch {
  left:46%;
  width:54%;
  height:25%;
  border-top:0;
}
.carbon-impact-stage-v3 .carbon-branch.coal {
  top:25%;
  border-left:2px solid currentColor;
  border-top:2px solid currentColor;
}
.carbon-impact-stage-v3 .carbon-branch.co2 {
  top:50%;
  border-left:2px solid currentColor;
  border-right:0;
  border-bottom:2px solid currentColor;
}
.carbon-impact-stage-v3 .carbon-branch i { top:-4px; }
.carbon-impact-stage-v3 .carbon-branch.coal i {
  left:-5px;
  animation-name:carbonBranchRight;
}
.carbon-impact-stage-v3 .carbon-branch.co2 i {
  top:auto;
  bottom:-4px;
}
.carbon-impact-stage-v3 .carbon-branch > b {
  left:auto;
  right:-6px;
  bottom:auto;
}
.carbon-impact-stage-v3 .carbon-branch.coal > b { top:-6px; }
.carbon-impact-stage-v3 .carbon-branch.co2 > b { top:auto; bottom:-6px; }

.carbon-impact-stage-v3 .carbon-results-grid {
  grid-column:3;
  grid-row:1;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:16px;
  height:100%;
}
.carbon-impact-stage-v3 .carbon-results-grid .carbon-result-v2 {
  min-height:0;
  height:100%;
  grid-template-columns:152px minmax(0,1fr);
  grid-template-rows:1fr auto;
  gap:10px 24px;
  padding:20px 28px 18px;
}
.carbon-impact-stage-v3 .carbon-results-grid .carbon-result-v2 .carbon-gauge {
  width:146px;
  height:146px;
}
.carbon-impact-stage-v3 .carbon-gauge > b {
  font-size:19px;
  letter-spacing:0;
}
.carbon-impact-stage-v3 .carbon-results-grid .carbon-result-copy span {
  font-size:20px;
  font-weight:700;
}
.carbon-impact-stage-v3 .carbon-results-grid .carbon-result-copy strong {
  margin:10px 0 7px;
  font-size:46px;
}
.carbon-impact-stage-v3 .carbon-results-grid .carbon-result-copy small { font-size:16px; }
.carbon-impact-stage-v3 .carbon-impact-track {
  height:15px;
  margin-top:0;
}
.carbon-impact-stage-v3 .carbon-impact-track i {
  position:relative;
  transition:width .65s cubic-bezier(.22,.72,.18,1);
}
.carbon-impact-stage-v3 .carbon-result-v2.is-valid .carbon-impact-track i::after {
  content:"";
  position:absolute;
  right:-4px;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 10px #fff,0 0 18px currentColor;
  transform:translateY(-50%);
}
.carbon-dashboard-v2 .carbon-controls-v2 {
  margin-top:10px;
  padding:20px;
}
.carbon-dashboard-v2 .carbon-factor-intro strong { font-size:19px; }
.carbon-dashboard-v2 .carbon-factor-intro span {
  margin-top:7px;
  font-size:14px;
  line-height:1.5;
}
.carbon-dashboard-v2 .carbon-controls-v2 .field label {
  min-height:21px;
  font-size:15px;
}
.carbon-dashboard-v2 .carbon-controls-v2 .field input {
  height:52px;
  font-size:20px;
}
.carbon-dashboard-v2 .carbon-controls-v2 .btn { font-size:15px; }
.carbon-dashboard-v2 .carbon-formulas-v2 { margin-top:10px; }
.carbon-dashboard-v2 .carbon-formulas-v2 p { padding:14px 16px; }
.carbon-dashboard-v2 .carbon-formulas-v2 strong { font-size:16px; }
.carbon-dashboard-v2 .carbon-formulas-v2 span {
  font-size:15px;
  line-height:1.45;
}
.carbon-dashboard-v2 .carbon-source {
  margin-top:10px;
  font-size:14px;
  line-height:1.65;
}
@keyframes carbonTrunkPulseHorizontal {
  from { left:-12px; opacity:0; }
  18% { opacity:1; }
  to { left:calc(100% - 4px); opacity:0; }
}

@media (max-width:1050px) {
  .carbon-impact-stage-v3 {
    grid-template-columns:minmax(238px,.82fr) minmax(104px,.38fr) minmax(0,1.42fr);
    grid-template-rows:390px;
    gap:12px;
    min-height:390px;
  }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 {
    width:260px;
    height:260px;
    padding:43px 26px;
  }
  .carbon-energy-core-v3 > span { font-size:17px; }
  .carbon-energy-core-v3 > em { font-size:14px; }
  .carbon-energy-core-v3 > small { margin-top:10px; font-size:13px; }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 .carbon-year-ring i { transform-origin:1px 113px; }
  .carbon-impact-stage-v3 .carbon-results-grid .carbon-result-v2 {
    grid-template-columns:112px minmax(0,1fr);
    padding:18px 18px 16px;
    gap:8px 16px;
  }
  .carbon-impact-stage-v3 .carbon-results-grid .carbon-result-v2 .carbon-gauge { width:108px; height:108px; }
  .carbon-impact-stage-v3 .carbon-results-grid .carbon-result-copy span { font-size:17px; }
  .carbon-impact-stage-v3 .carbon-results-grid .carbon-result-copy strong { font-size:36px; }
  .carbon-impact-stage-v3 .carbon-results-grid .carbon-result-copy small { font-size:13px; }
}

@media (max-width:720px) {
  .carbon-impact-stage-v3 {
    grid-template-columns:36% 14% 50%;
    grid-template-rows:286px;
    gap:0;
    min-height:286px;
    width:100%;
  }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 {
    width:clamp(118px,34vw,132px);
    height:clamp(118px,34vw,132px);
    padding:23px 10px 20px;
  }
  .carbon-impact-stage-v3 .carbon-energy-core-v3::before { inset:9px; }
  .carbon-impact-stage-v3 .carbon-energy-core-v3::after { inset:19px; }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 > span {
    max-width:98px;
    font-size:12px;
    line-height:1.2;
  }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 > strong {
    margin:7px 0 2px;
    font-size:22px;
  }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 > strong[data-size="compact"] { font-size:18px; }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 > strong[data-size="dense"] { font-size:10.5px; }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 > em { font-size:11px; }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 > small {
    max-width:100px;
    margin-top:5px;
    font-size:10px;
    line-height:1.15;
  }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 .carbon-year-ring { inset:7px; }
  .carbon-impact-stage-v3 .carbon-energy-core-v3 .carbon-year-ring i {
    height:6px;
    transform-origin:1px 55px;
  }
  .carbon-impact-stage-v3 .carbon-conversion-flow { height:286px; }
  .carbon-impact-stage-v3 .carbon-trunk { width:44%; }
  .carbon-impact-stage-v3 .carbon-fork-node { left:calc(44% - 6px); width:12px; height:12px; top:calc(50% - 6px); }
  .carbon-impact-stage-v3 .carbon-branch { left:44%; width:56%; }
  .carbon-impact-stage-v3 .carbon-results-grid { gap:8px; }
  .carbon-impact-stage-v3 .carbon-results-grid .carbon-result-v2 {
    display:grid;
    grid-template-columns:56px minmax(0,1fr);
    grid-template-rows:1fr auto;
    min-height:0;
    padding:8px 6px 7px;
    gap:4px 7px;
    text-align:left;
  }
  .carbon-impact-stage-v3 .carbon-results-grid .carbon-result-v2 .carbon-gauge {
    width:54px;
    height:54px;
    margin:0;
  }
  .carbon-impact-stage-v3 .carbon-gauge::after { inset:8px; }
  .carbon-impact-stage-v3 .carbon-gauge > b { font-size:11px; }
  .carbon-impact-stage-v3 .carbon-results-grid .carbon-result-copy span {
    min-height:0;
    font-size:12px;
    line-height:1.2;
  }
  .carbon-impact-stage-v3 .carbon-results-grid .carbon-result-copy strong {
    margin:5px 0 3px;
    font-size:25px;
  }
  .carbon-impact-stage-v3 .carbon-results-grid .carbon-result-copy small {
    min-height:0;
    font-size:10px;
    line-height:1.2;
  }
  .carbon-impact-stage-v3 .carbon-impact-track {
    height:8px;
    margin-top:0;
  }
  .carbon-dashboard-v2 .carbon-controls-v2 {
    margin-top:8px;
    padding:16px;
  }
  .carbon-dashboard-v2 .carbon-factor-intro strong { font-size:16px; }
  .carbon-dashboard-v2 .carbon-factor-intro span { font-size:13px; }
  .carbon-dashboard-v2 .carbon-controls-v2 .field label { font-size:14px; }
  .carbon-dashboard-v2 .carbon-controls-v2 .field input { height:48px; font-size:17px; }
  .carbon-dashboard-v2 .carbon-controls-v2 .btn { font-size:14px; }
  .carbon-dashboard-v2 .carbon-formulas-v2 strong { font-size:14px; }
  .carbon-dashboard-v2 .carbon-formulas-v2 span { font-size:13px; }
  .carbon-dashboard-v2 .carbon-source { font-size:12px; line-height:1.55; }
}

@media (prefers-reduced-motion:reduce) {
  .carbon-result-v2.is-valid .carbon-impact-track i::after { box-shadow:none; }
}

/* Round 13: navigation, equipment-day inputs and responsive alignment */
.hero-value-item span { font-size:14px; }
.hero-stats .metric span,
.hero-stats .metric:nth-child(2) span,
.hero-stats .metric:nth-child(3) span {
  min-height:2.8em;
  display:flex;
  align-items:flex-start;
  color:#d7e8e4;
  font-size:13px;
  line-height:1.4;
}
body[data-lang="en"] .hero-stats .metric span { font-size:12px; }

body[data-page="about"] .fact-strip .fact {
  display:grid;
  align-content:center;
  min-height:154px;
  padding:28px 30px;
}
body[data-page="about"] .fact-strip .fact strong {
  margin-bottom:12px;
  font-size:36px;
  line-height:1;
}
body[data-page="about"] .fact-strip .fact span {
  font-size:15px;
  line-height:1.5;
}

.equipment-table-head,
.equipment-row {
  grid-template-columns:72px minmax(142px,.82fr) minmax(92px,.56fr) minmax(108px,.68fr) minmax(108px,.68fr) minmax(162px,1fr) minmax(162px,1fr) 44px;
}
.equipment-row .days-field { min-width:0; }
.common-parameters .field-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.power-menu-toggle::after {
  content:"";
  width:8px;
  height:8px;
  margin-left:2px;
  border-right:2px solid #f4fbf9;
  border-bottom:2px solid #f4fbf9;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .25s ease;
}
.power-combobox.is-open .power-menu-toggle::after { transform:rotate(225deg) translate(-2px,-2px); }
.power-menu-toggle i { display:none !important; }

.margin-comparison-card .margin-donut,
.combined-margin-donut {
  width:var(--margin-gauge-size,180px);
  height:var(--margin-gauge-size,180px);
  overflow:visible;
  transition:width .35s ease,height .35s ease;
}
.margin-donut[data-size="wide"],.combined-margin-donut[data-size="wide"] { --margin-gauge-size:205px; }
.margin-donut[data-size="dense"],.combined-margin-donut[data-size="dense"] { --margin-gauge-size:224px; }
.margin-donut[data-size="wide"] strong,.combined-margin-donut[data-size="wide"] strong { font-size:27px; }
.margin-donut[data-size="dense"] strong,.combined-margin-donut[data-size="dense"] strong { font-size:23px; }
.margin-donut .arc-label.base,
.combined-margin-donut .arc-label.base,
.combined-margin-donut .arc-label.saving {
  top:var(--label-y,18%) !important;
  right:auto !important;
  bottom:auto !important;
  left:var(--label-x,82%) !important;
  transform:translate(-50%,-50%) !important;
}
.margin-gauge-zone { overflow:visible; }

@media (max-width:900px) {
  body::before {
    content:"";
    position:fixed;
    inset:var(--header) 0 0;
    z-index:98;
    background:rgba(0,7,6,.78);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease,visibility .25s ease;
  }
  body.menu-open::before { opacity:1; visibility:visible; pointer-events:auto; }
  .site-nav {
    position:fixed;
    inset:calc(var(--header) + 10px) var(--mobile-menu-right,24px) auto auto;
    z-index:102;
    width:var(--mobile-menu-width,min(324px,calc(100vw - 48px)));
    height:auto;
    max-height:calc(100dvh - var(--header) - 28px);
    display:grid;
    align-content:start;
    padding:10px 14px 14px;
    overflow:auto;
    border:1px solid rgba(92,231,215,.5);
    background:#071815;
    box-shadow:0 24px 70px rgba(0,0,0,.62),0 0 32px rgba(69,222,210,.1);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px) scale(.97);
    transform-origin:top right;
    transition:opacity .23s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility .23s;
  }
  .site-nav::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:2px;
    background:linear-gradient(90deg,transparent,var(--cyan-2),var(--green),transparent);
    animation:signalSweep 3.8s ease-in-out infinite;
  }
  body.menu-open .site-nav {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .site-nav a {
    min-height:50px;
    padding:0 14px;
    opacity:0;
    transform:translateX(14px);
    border-bottom:1px solid rgba(135,204,193,.14);
    background:transparent;
    transition:color .2s,background .2s,opacity .25s,transform .3s;
  }
  body.menu-open .site-nav a { opacity:1; transform:none; }
  body.menu-open .site-nav a:nth-child(2) { transition-delay:35ms; }
  body.menu-open .site-nav a:nth-child(3) { transition-delay:70ms; }
  body.menu-open .site-nav a:nth-child(4) { transition-delay:105ms; }
  body.menu-open .site-nav a:nth-child(5) { transition-delay:140ms; }
  body.menu-open .site-nav a:nth-child(6) { transition-delay:175ms; }
  body.menu-open .site-nav a:nth-child(7) { transition-delay:210ms; }
  .site-nav a:hover,.site-nav a.active { background:rgba(69,222,210,.075); }
  .equipment-table-head,.equipment-row {
    grid-template-columns:56px minmax(126px,.78fr) minmax(82px,.55fr) minmax(96px,.64fr) minmax(96px,.64fr) minmax(145px,1fr) minmax(145px,1fr) 40px;
  }
}

/* Estimator controls: persistent equipment context, polished export, and deliberate reset. */
.equipment-builder-head {
  align-items:end;
  gap:24px;
}
.equipment-builder-actions {
  display:grid;
  grid-template-columns:repeat(3,minmax(132px,auto));
  gap:10px;
  align-items:center;
}
.estimator-action-wrap { position:relative; }
.estimator-action,
.equipment-builder-actions > .equipment-add {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:48px;
  padding:0 18px;
  overflow:hidden;
  border:1px solid rgba(90,211,201,.4);
  background:rgba(5,20,17,.9);
  color:#eef9f6;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
  transition:border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.estimator-action::before,
.equipment-builder-actions > .equipment-add::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(100deg,transparent 8%,rgba(88,232,223,.13) 44%,rgba(142,242,138,.09) 55%,transparent 92%);
  transform:translateX(-115%);
  animation:estimatorActionScan 5.4s ease-in-out infinite;
  pointer-events:none;
}
.estimator-action:hover,
.estimator-action:focus-visible,
.equipment-builder-actions > .equipment-add:hover,
.equipment-builder-actions > .equipment-add:focus-visible {
  outline:0;
  border-color:rgba(102,239,223,.76);
  background:rgba(10,37,31,.96);
  box-shadow:0 0 22px rgba(69,222,210,.11),inset 0 0 18px rgba(69,222,210,.035);
}
.estimator-action > i {
  display:block;
  flex:0 0 auto;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 4px rgba(69,222,210,.08),0 0 14px rgba(69,222,210,.72);
}
.reset-toggle { border-color:rgba(255,111,97,.42); }
.reset-toggle > i {
  background:#ff6f61;
  box-shadow:0 0 0 4px rgba(255,111,97,.08),0 0 15px rgba(255,111,97,.72);
  animation:resetStatusPulse 2.1s ease-in-out infinite;
}
.reset-toggle:hover,.reset-toggle:focus-visible {
  border-color:rgba(255,125,110,.78);
  background:rgba(43,19,17,.96);
  box-shadow:0 0 22px rgba(255,98,83,.12),inset 0 0 18px rgba(255,98,83,.035);
}
.equipment-builder-actions > .equipment-add {
  border-color:rgba(126,234,139,.42);
  color:#dfffe4;
}
/* V16 export caret shares one vertical centre and reserves a clear text gap. */
.export-toggle { padding-right:40px; }
.export-toggle::after {
  content:"";
  position:absolute;
  right:17px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:translateY(-50%) rotate(45deg);
  transform-origin:50% 50%;
  transition:transform .2s ease;
}
.export-toggle[aria-expanded="true"]::after { transform:translateY(-50%) rotate(225deg); }
.estimator-action-panel[hidden] { display:none !important; }
.estimator-action-panel {
  z-index:1400;
  box-sizing:border-box;
  max-height:calc(100vh - 20px);
  padding:14px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(93,225,210,.58);
  background:
    linear-gradient(180deg,rgba(12,43,37,.99),rgba(4,20,17,.995)),
    #071a16;
  box-shadow:0 28px 76px rgba(0,0,0,.7),inset 0 0 0 1px rgba(157,246,234,.035);
  color:#eef9f6;
}
.estimator-action-panel.is-floating { position:fixed; }
.estimator-action-panel::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:46%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--green),transparent);
  animation:actionPanelSignal 2.8s linear infinite;
  pointer-events:none;
}
.action-panel-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding:4px 4px 12px;
  border-bottom:1px solid rgba(117,192,182,.2);
}
.action-panel-heading strong { font-size:16px; color:#fff; }
.action-panel-heading span { color:#9eb6b1; font-size:12px; line-height:1.4; text-align:right; }
.export-choice-list { display:grid; padding:6px 0; }
.export-choice {
  position:relative;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:48px;
  padding:0 12px;
  cursor:pointer;
  overflow:hidden;
  border-bottom:1px solid rgba(115,184,175,.14);
  color:#d6e5e1;
  transition:color .18s ease,background-color .18s ease;
}
.export-choice:last-child { border-bottom:0; }
.export-choice:hover,.export-choice:focus-within {
  color:#fff;
  background:linear-gradient(90deg,rgba(69,222,210,.12),rgba(142,242,138,.035));
}
.export-choice input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.export-choice > i {
  position:relative;
  width:16px;
  height:16px;
  border:1px solid rgba(137,210,201,.55);
  background:#061713;
  box-shadow:inset 0 0 0 3px rgba(5,24,20,.9);
}
.export-choice > i::before {
  content:"";
  position:absolute;
  inset:3px;
  background:linear-gradient(135deg,var(--cyan),var(--green));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
.export-choice input:checked + i {
  border-color:var(--green);
  box-shadow:0 0 12px rgba(126,239,139,.3),inset 0 0 0 3px rgba(5,24,20,.9);
}
.export-choice input:checked + i::before { transform:scaleX(1); }
.export-choice input:focus-visible + i { outline:2px solid rgba(126,239,225,.9); outline-offset:3px; }
.export-choice input:checked ~ span { color:#a5f59e; }
.action-panel-footer {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 4px 2px;
  border-top:1px solid rgba(117,192,182,.2);
}
.action-panel-footer > span { color:#9fb6b1; font-size:12px; }
.generate-pdf { min-height:42px; min-width:132px; }
.generate-pdf:disabled { opacity:.4; cursor:not-allowed; filter:saturate(.4); }
.generate-pdf.is-generating { animation:pdfGenerating 1.1s ease-in-out infinite; }
.reset-panel { border-color:rgba(255,111,97,.55); }
.reset-panel::before { background:linear-gradient(90deg,transparent,#ff7668,#ffb34d,transparent); }
.reset-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding-top:14px; }
.reset-actions .btn { min-height:44px; }
.confirm-reset {
  position:relative;
  overflow:hidden;
  border-color:rgba(255,111,97,.62);
  background:rgba(64,20,17,.5);
  color:#ffd9d4;
}
.confirm-reset::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:linear-gradient(90deg,#ff6658,#ffb34d);
}
.confirm-reset.is-confirming::after { width:100%; transition:width .46s linear; }

.equipment-row {
  grid-template-columns:minmax(142px,.82fr) minmax(92px,.56fr) minmax(108px,.68fr) minmax(108px,.68fr) minmax(162px,1fr) minmax(162px,1fr);
  gap:14px;
  overflow:visible;
}
.equipment-row-head {
  position:relative;
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(142px,.82fr) minmax(92px,.56fr) minmax(108px,.68fr) minmax(108px,.68fr) minmax(162px,1fr) minmax(162px,1fr);
  gap:14px;
  align-items:center;
  min-width:0;
  margin:0;
  padding:0 0 14px;
  border-bottom:1px solid rgba(101,178,168,.16);
}
.equipment-identity {
  grid-column:1;
  align-self:center;
  justify-self:stretch;
  min-width:0;
  padding:0;
  color:#bfcfcb;
  font-family:inherit;
  font-size:14px;
  font-weight:650;
  line-height:1.3;
  text-align:center;
  white-space:nowrap;
}
.equipment-identity b { font:inherit; }
.equipment-location {
  grid-column:2/6;
  min-width:0;
  padding-right:52px;
}
.equipment-location-control {
  --equipment-head-control-height:42px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 74px auto;
  align-items:stretch;
  min-width:0;
  min-height:var(--equipment-head-control-height);
  border:1px solid rgba(105,187,177,.32);
  background:rgba(2,14,12,.74);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.equipment-location-control:focus-within {
  border-color:rgba(83,230,214,.72);
  box-shadow:0 0 20px rgba(69,222,210,.09);
}
.equipment-location-input {
  width:100%;
  min-width:0;
  height:var(--equipment-head-control-height);
  min-height:var(--equipment-head-control-height);
  padding:0 12px;
  border:0;
  background:transparent;
  color:#f3fbf9;
  font:600 14px/1.2 inherit;
  text-align:center;
  white-space:nowrap;
  text-overflow:clip;
  outline:0;
}
.equipment-location-input::placeholder { color:#627a74; }
.equipment-location-input.is-confirmed { color:#a7f6a2; }
.equipment-location-input.is-invalid { animation:locationInvalid .45s ease; }
.equipment-location-toggle {
  display:flex;
  align-items:center;
  justify-content:center;
  height:var(--equipment-head-control-height);
  min-height:var(--equipment-head-control-height);
  padding:0 11px;
  border:0;
  border-left:1px solid rgba(105,187,177,.28);
  background:rgba(49,178,164,.08);
  color:#8feade;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.equipment-location-toggle:hover,.equipment-location-toggle:focus-visible {
  outline:0;
  background:rgba(69,222,210,.15);
  color:#fff;
}
.equipment-location-status {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 10px;
  color:#8ff38a;
  font-size:11px;
  white-space:nowrap;
}
.equipment-location-status[hidden] { display:none; }
.equipment-location-status i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 10px rgba(142,242,138,.75);
}
.equipment-remove { position:absolute; top:18px; right:18px; margin:0; }

.pdf-capture-shell {
  position:fixed;
  z-index:-100;
  left:-20000px;
  top:0;
  box-sizing:border-box;
  min-height:0;
  padding:var(--pdf-shell-padding,28px);
  background:#06130f;
  color:#eef9f6;
  overflow:visible;
}
.pdf-capture-shell > header {
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:24px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(90,218,205,.45);
}
.pdf-capture-shell > header span { color:#fff; font-size:28px; font-weight:800; }
.pdf-capture-shell > header small { color:#7cdfd4; font:700 12px/1.2 Consolas,monospace; letter-spacing:.08em; }
.pdf-export-summary {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0 0 24px;
  border:1px solid rgba(92,213,201,.32);
  background:rgba(8,32,26,.8);
}
.pdf-export-summary > div {
  display:grid;
  align-content:center;
  min-width:0;
  min-height:88px;
  padding:16px 20px;
  border-right:1px solid rgba(92,213,201,.22);
}
.pdf-export-summary > div:last-child { border-right:0; }
.pdf-export-summary span {
  color:#aebfbb;
  font-size:13px;
  line-height:1.35;
}
.pdf-export-summary strong {
  margin-top:8px;
  color:#8ff18a;
  font-size:23px;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.pdf-capture-shell .roi-view { display:block !important; opacity:1 !important; transform:none !important; }
.pdf-capture-shell .equipment-rows { max-height:none !important; overflow:visible !important; }
.pdf-capture-shell .equipment-row {
  break-inside:avoid;
  page-break-inside:avoid;
  overflow:visible !important;
}
.pdf-capture-shell .equipment-remove { display:none !important; }
.pdf-capture-shell .equipment-location-control {
  border-color:rgba(105,187,177,.28);
}
.pdf-location-value {
  color:#a7f6a2;
  font-size:14px;
  font-weight:650;
  line-height:1.45;
  text-align:center;
  overflow-wrap:anywhere;
  white-space:normal;
}
.pdf-capture-shell .margin-donut,
.pdf-capture-shell .combined-margin-donut,
.pdf-capture-shell .carbon-gauge { background:#071c18 !important; }
.pdf-capture-shell .margin-donut::before,
.pdf-capture-shell .combined-margin-donut::before,
.pdf-capture-shell .carbon-gauge::after { z-index:2; }
.pdf-capture-shell .margin-donut > div,
.pdf-capture-shell .combined-margin-donut > div,
.pdf-capture-shell .carbon-gauge > b { position:relative; z-index:3; }
.pdf-ring-label {
  position:absolute;
  z-index:7;
  display:block;
  width:max-content;
  max-width:118px;
  padding:0;
  border:0;
  background:transparent !important;
  box-shadow:none !important;
  font:800 14px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:0;
  white-space:nowrap;
  text-shadow:0 0 8px currentColor,0 1px 1px #06130f;
  pointer-events:none;
}
.pdf-capture-shell .pdf-carbon-static .carbon-year-ring,
.pdf-capture-shell .pdf-carbon-static .carbon-core-orbit,
.pdf-capture-shell .pdf-carbon-static .carbon-core-node,
.pdf-capture-shell .pdf-carbon-static .carbon-gauge-particles { display:none !important; }
.pdf-capture-shell .pdf-carbon-static .carbon-energy-core-v3::before,
.pdf-capture-shell .pdf-carbon-static .carbon-energy-core-v3::after,
.pdf-capture-shell .pdf-carbon-static .carbon-gauge::before,
.pdf-capture-shell .pdf-carbon-static .carbon-gauge::after { content:none !important; display:none !important; }
.pdf-capture-shell .pdf-carbon-core-static {
  display:grid !important;
  grid-template-rows:auto auto auto auto;
  align-content:center;
  justify-items:center;
  row-gap:5px;
  padding:18% 12% !important;
  box-sizing:border-box;
  overflow:visible !important;
}
.pdf-capture-shell .pdf-carbon-core-static > span,
.pdf-capture-shell .pdf-carbon-core-static > strong,
.pdf-capture-shell .pdf-carbon-core-static > em,
.pdf-capture-shell .pdf-carbon-core-static > small {
  position:relative;
  z-index:4;
  display:block;
  width:100%;
  max-width:78% !important;
  margin:0 !important;
  text-align:center;
}
.pdf-capture-shell .pdf-carbon-core-static > strong { line-height:1.02 !important; }
.pdf-capture-shell .pdf-carbon-core-static > em { line-height:1.15 !important; white-space:nowrap; }
.pdf-capture-shell .pdf-carbon-core-static > small { line-height:1.2 !important; }
.pdf-capture-shell .pdf-carbon-result-static {
  align-items:center !important;
  overflow:visible !important;
}
.pdf-capture-shell .pdf-carbon-result-static .carbon-result-copy {
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  gap:6px;
}
.pdf-capture-shell .pdf-carbon-result-static .carbon-result-copy > span,
.pdf-capture-shell .pdf-carbon-result-static .carbon-result-copy > strong,
.pdf-capture-shell .pdf-carbon-result-static .carbon-result-copy > small {
  position:relative;
  z-index:4;
  display:block;
  width:100%;
  margin:0 !important;
  line-height:1.2 !important;
  overflow:visible !important;
}
.pdf-capture-shell .pdf-carbon-result-static .carbon-result-copy > strong {
  min-height:46px;
  line-height:1.12 !important;
  white-space:nowrap;
}
.pdf-capture-shell .pdf-carbon-result-static .carbon-result-copy > small {
  min-height:19px;
  line-height:1.25 !important;
}
.pdf-capture-shell .pdf-carbon-result-static .carbon-impact-track { overflow:hidden !important; }
.pdf-capture-shell .pdf-carbon-result-static .carbon-impact-track i::after { content:none !important; display:none !important; }
.pdf-layout-mobile .pdf-ring-label { max-width:82px; font-size:11px; }
.pdf-layout-mobile .pdf-carbon-core-static { row-gap:2px; padding:17% 10% !important; }
.pdf-layout-mobile .pdf-carbon-core-static > span { font-size:11px !important; line-height:1.15 !important; }
.pdf-layout-mobile .pdf-carbon-core-static > em { font-size:10px !important; }
.pdf-layout-mobile .pdf-carbon-core-static > small { font-size:9px !important; }
.pdf-layout-mobile .pdf-carbon-result-static .carbon-result-copy { gap:3px; }
.pdf-layout-mobile .pdf-carbon-result-static .carbon-result-copy > strong { min-height:30px; }
.pdf-layout-mobile .pdf-carbon-result-static .carbon-result-copy > small { min-height:15px; }
.pdf-layout-mobile .pdf-export-summary { grid-template-columns:1fr; }
.pdf-layout-mobile .pdf-export-summary > div {
  min-height:64px;
  padding:12px 14px;
  border-right:0;
  border-bottom:1px solid rgba(92,213,201,.22);
}
.pdf-layout-mobile .pdf-export-summary > div:last-child { border-bottom:0; }
.pdf-layout-mobile .pdf-export-summary strong { font-size:19px; }
.pdf-capture-shell * { animation:none !important; transition:none !important; }

@keyframes estimatorActionScan { 0%,55% { transform:translateX(-115%); } 80%,100% { transform:translateX(115%); } }
@keyframes resetStatusPulse { 50% { filter:brightness(1.35); box-shadow:0 0 0 7px rgba(255,111,97,.045),0 0 19px rgba(255,111,97,.88); } }
@keyframes actionPanelSignal { from { transform:translateX(-105%); } to { transform:translateX(220%); } }
@keyframes pdfGenerating { 50% { filter:brightness(1.32); box-shadow:0 0 22px rgba(92,238,221,.22); } }
@keyframes locationInvalid { 25%,75% { transform:translateX(-4px); } 50% { transform:translateX(4px); } }

@media (max-width:900px) {
  .equipment-builder-actions { grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
  .estimator-action,.equipment-builder-actions > .equipment-add { min-height:46px; padding:0 12px; }
  .equipment-row {
    grid-template-columns:minmax(0,.82fr) minmax(0,.56fr) minmax(0,.68fr) minmax(0,.68fr) minmax(0,1fr) minmax(0,1fr);
    gap:10px;
  }
  .equipment-row-head {
    grid-template-columns:minmax(0,.82fr) minmax(0,.56fr) minmax(0,.68fr) minmax(0,.68fr) minmax(0,1fr) minmax(0,1fr);
    gap:10px;
  }
  .equipment-row .field,
  .equipment-row .equipment-metric { grid-column:auto; }
  .equipment-location { grid-column:2/6; }
}

@media (max-width:720px) {
  .equipment-builder-head { align-items:stretch; gap:16px; }
  .equipment-builder-actions { gap:8px; }
  .estimator-action,.equipment-builder-actions > .equipment-add { min-width:0; font-size:12px; }
  .export-toggle { padding-right:32px; }
  .export-toggle::after { right:4px; }
  .equipment-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 12px;
    overflow:hidden;
  }
  .equipment-row-head {
    grid-template-columns:44px minmax(0,1fr) 44px;
    grid-template-rows:auto auto;
    gap:12px;
    align-items:center;
    margin-bottom:0;
    padding:0 0 12px;
  }
  .equipment-identity {
    grid-column:2;
    grid-row:1;
    align-self:center;
    justify-self:center;
    min-height:44px;
    padding:0;
    text-align:center;
  }
  .equipment-remove {
    position:static;
    grid-column:3;
    grid-row:1;
    align-self:center;
    justify-self:end;
    margin:0;
    transform:none;
  }
  .equipment-location { grid-column:1/-1; grid-row:2; width:100%; padding-right:0; }
  .equipment-location-control { grid-template-columns:minmax(0,1fr) 70px; }
  .equipment-location-status { grid-column:1/-1; min-height:26px; padding:0 11px; border-top:1px solid rgba(105,187,177,.18); }
  .equipment-location-status[hidden] { display:none; }
  .equipment-location-input {
    padding-left:calc((100% + 70px - 12px) / 4 - 1ch);
    font-size:13px;
    text-align:left;
  }
  .action-panel-heading { align-items:start; }
  .action-panel-heading strong { font-size:15px; }
  .generate-pdf { min-width:118px; }
}

@media (max-width:380px) {
  .equipment-builder-actions { grid-template-columns:1fr 1fr; }
  .equipment-builder-actions > .equipment-add { grid-column:1/-1; }
}

@media (prefers-reduced-motion:reduce) {
  .estimator-action::before,
  .equipment-builder-actions > .equipment-add::before,
  .reset-toggle > i,
  .estimator-action-panel::before,
  .generate-pdf.is-generating { animation:none !important; }
}

@media (max-width:720px) {
  .hero-value-item span { font-size:13px; }
  .hero-stats .metric span,
  .hero-stats .metric:nth-child(2) span,
  .hero-stats .metric:nth-child(3) span,
  body[data-lang="en"] .hero-stats .metric span {
    min-height:3em;
    font-size:11px;
    line-height:1.35;
  }
  body[data-page="about"] .fact-strip .fact {
    min-height:126px;
    padding:23px 22px;
  }
  body[data-page="about"] .fact-strip .fact strong { font-size:31px; }
  body[data-page="about"] .fact-strip .fact span { font-size:14px; }

  body[data-page="about"] .timeline {
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin-top:42px;
    padding:0 0 0 34px;
    border-top:0;
  }
  body[data-page="about"] .timeline::after {
    top:0;
    bottom:0;
    left:6px;
    width:2px;
    height:auto;
    background:linear-gradient(180deg,var(--cyan),var(--green));
    transform:scaleY(0);
    transform-origin:top;
  }
  body[data-page="about"] .timeline.visible::after { transform:scaleY(1); }
  body[data-page="about"] .timeline-item {
    min-width:0;
    padding:0 0 34px 18px;
  }
  body[data-page="about"] .timeline-item::before {
    top:8px;
    left:-32px;
  }

  .equipment-rows { max-height:none; overflow:visible; }
  .equipment-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 12px;
    padding:18px 16px;
  }
  .equipment-row-head { grid-column:1/-1; }
  .equipment-row .field,.equipment-row .equipment-metric { grid-column:auto; }
  .equipment-row .field label,.equipment-row .equipment-metric small {
    min-height:2.8em;
    align-items:flex-end;
  }
  .equipment-row .power-combobox { position:relative; display:block; width:100%; min-height:48px; }
  .equipment-row .power-combobox .equipment-power {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:48px;
    padding-left:62px;
    padding-right:62px;
    border-right:1px solid rgba(104,165,155,.34);
    text-align:center;
    font-size:var(--mobile-power-font-size,16px);
    overflow-x:auto;
  }
  .equipment-row .equipment-hours {
    padding-left:calc(50% - 1ch);
    text-align:left;
  }
  .equipment-row .power-menu-toggle {
    position:absolute;
    z-index:2;
    top:0;
    right:0;
    width:62px;
    min-width:62px;
    min-height:48px;
    padding-inline:5px;
    gap:6px;
    font-size:16px;
  }
  .common-parameters { margin-top:18px; }
  .common-parameters .field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .process-step:last-child { grid-column:1/-1; }

  .margin-donut[data-size="wide"],.combined-margin-donut[data-size="wide"] { --margin-gauge-size:182px; }
  .margin-donut[data-size="dense"],.combined-margin-donut[data-size="dense"] { --margin-gauge-size:194px; }
  .margin-donut[data-size="wide"] strong,.combined-margin-donut[data-size="wide"] strong { font-size:24px; }
  .margin-donut[data-size="dense"] strong,.combined-margin-donut[data-size="dense"] strong { font-size:21px; }
}

@media (max-width:640px) {
  .motor-compare { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .motor-card { min-width:0; }
  .motor-metrics { display:grid; grid-template-rows:repeat(4,minmax(112px,auto)); }
  .motor-metric {
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(2.8em,auto) auto;
    align-content:start;
    min-height:112px;
    padding:13px 11px;
    text-align:left;
  }
  .motor-metric b { white-space:nowrap; font-size:11px; }
  .motor-metric em { min-height:2.8em; font-size:10.5px; line-height:1.4; }
  body[data-lang="en"] .motor-metric b { font-size:9.5px; }
  body[data-lang="en"] .motor-metric em { font-size:9px; }
}

@media (prefers-reduced-motion:reduce) {
  .site-nav::before,.site-nav a { animation:none !important; transition:none !important; }
}

body[data-page="about"] .page-hero h1 { white-space:normal; text-wrap:balance; }
.margin-column { grid-template-rows:repeat(2,minmax(420px,1fr)); }
.margin-comparison-card {
  min-height:420px;
  grid-template-rows:68px 238px 82px;
  overflow:visible;
}
.margin-visual { min-height:238px; }

@media (max-width:720px) {
  body[data-page="about"] .page-hero h1,
  body[data-page="project"] .project-hero-title {
    max-width:100%;
    font-size:40px;
    font-weight:800;
    line-height:1.08;
    white-space:normal;
    text-wrap:balance;
    overflow:visible;
  }
  .margin-column { grid-template-rows:repeat(2,minmax(404px,auto)); }
  .margin-comparison-card {
    min-height:404px;
    grid-template-rows:64px 236px 82px;
  }
  .margin-visual { min-height:236px; }
}

/* Round 14: motion rhythm, responsive alignment and margin-gauge leaders */
.hero-breathing-title {
  animation:heroTitleBreath 4.2s ease-in-out infinite !important;
  will-change:opacity,filter;
}
.architecture .arch-layer {
  display:grid;
  grid-template-rows:auto auto minmax(5.2em,1fr) auto;
}
.architecture .tag-list { align-self:end; }

.delivery-layout {
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  gap:42px;
}
.delivery-facts .fact-strip { gap:20px; }
.delivery-facts .fact { min-height:142px; }

@media (max-width:1100px) {
  .delivery-layout { grid-template-columns:1fr; gap:28px; }
  .delivery-facts .fact-strip { gap:14px; }
}

@media (max-width:720px) {
  .hero-value-item span { font-size:15px; line-height:1.15; }
  body[data-lang="en"] .hero-value-item span { font-size:13px; }

  body[data-page="about"] .timeline::after {
    top:var(--timeline-line-top,14px);
    bottom:var(--timeline-line-bottom,28px);
  }
  body[data-page="about"] .timeline-item::before { top:8px; }

  .process {
    gap:1px;
    border:0;
    background:transparent;
  }
  .process-step {
    border:1px solid var(--line);
  }
  .process-step:last-child { grid-column:1 !important; }

  .motor-compare {
    --motor-stage-height:94px;
    --motor-vs-y:50%;
    align-items:start;
  }
  .motor-visual { min-height:0; }
  .motor-visual > img { height:var(--motor-stage-height); object-fit:contain; }
  .motor-copy > h3 { min-height:3em; display:grid; align-items:end; }
  .motor-comparison-facts {
    display:grid;
    grid-template-rows:repeat(3,158px) 124px;
    gap:10px;
  }
  .motor-comparison-facts > span,
  .motor-comparison-facts .saving {
    min-height:0;
    height:100%;
    align-content:start;
  }
  .motor-comparison-facts b { min-height:2.8em; }
  .motor-comparison-facts em { min-height:5.6em; }
  .motor-comparison-facts .saving em { min-height:0; }
  .motor-vs { top:var(--motor-vs-y); }

  .law-panel { display:block; }
  .law-copy { display:flex; flex-direction:column; }
  .law-copy > .eyebrow { order:1; }
  .law-copy > .single-line-heading { order:2; }
  .law-copy > .airflow-demo { order:3; width:100%; margin:20px 0 24px; }
  .law-copy > .range-row { order:4; }
  .law-copy > .law-stats { order:5; }
  .law-copy > .formula-explainer { order:6; }
  .law-copy > .micro-note { order:7; }
  .airflow-explainer { display:none !important; }

}

@media (prefers-reduced-motion:reduce) {
  .hero-breathing-title { animation:none !important; opacity:1 !important; filter:none !important; }
}

/* Round 15: terminology, authentic delivery assets and project evidence polish */
.delivery-layout .cabinet-detail-stage {
  padding:0;
  background:#071411;
}
.delivery-layout .cabinet-detail-stage::after { opacity:.34; }
.delivery-layout .cabinet-detail-stage img {
  width:100%;
  height:370px;
  object-fit:contain;
  background:transparent;
}
.delivery-layout .cabinet-detail-caption {
  left:14px;
  bottom:14px;
}

.axial-benefit {
  display:inline-flex;
  align-items:center;
  margin-right:12px;
  color:#a8f49a;
  font-weight:800;
  white-space:nowrap;
  text-shadow:0 0 14px rgba(126,241,137,.45);
  animation:axialBenefitPulse 2.8s ease-in-out infinite;
}
.axial-benefit:nth-child(2) { animation-delay:-1.15s; }
@keyframes axialBenefitPulse {
  50% { color:#d6ffc5; text-shadow:0 0 22px rgba(126,241,137,.72); }
}

@media (min-width:901px) {
  .motor-compare {
    --motor-stage-height:210px;
    --motor-vs-y:118px;
  }
  .motor-visual {
    min-height:610px;
  }
  .motor-visual > img {
    height:var(--motor-stage-height);
    margin-top:10px;
  }
  .motor-copy { padding-top:16px; }
  .motor-vs { top:var(--motor-vs-y); }
  .motor-comparison-facts > span { min-height:54px; }
  .motor-visual.axial .motor-comparison-facts [data-motor-metric="installation"] em {
    font-size:14px;
    white-space:nowrap;
  }
}

.mini-chart {
  align-items:stretch;
  height:126px;
  margin:34px 0 30px;
}
.mini-column {
  min-width:0;
  height:100%;
  display:grid;
  flex:1 1 0;
  grid-template-rows:18px minmax(0,1fr);
  align-items:end;
  gap:8px;
}
.mini-column b {
  display:block;
  color:#eef8f5;
  font:700 13px/1.15 var(--mono);
  text-align:center;
  white-space:nowrap;
}
.mini-column .mini-bar {
  display:block;
  align-self:end;
  width:100%;
  height:var(--h);
}

.margin-comparison-card { overflow:visible; }
.arc-label {
  min-width:max-content;
  padding:4px 0;
  border:0;
  background:transparent;
  font-size:15px;
  line-height:1;
  text-shadow:0 0 13px currentColor;
}
.arc-label[data-side="right"] {
  padding-left:30px;
  text-align:left;
  transform:translate(0,-50%) !important;
}
.arc-label[data-side="left"] {
  padding-right:30px;
  text-align:right;
  transform:translate(-100%,-50%) !important;
}
.arc-label[data-side="right"]::before {
  left:0;
  right:auto;
  width:24px;
  transform:rotate(var(--leader-angle,180deg));
  transform-origin:left center;
}
.arc-label[data-side="left"]::before {
  right:0;
  left:auto;
  width:24px;
  transform:rotate(var(--leader-angle,0deg));
  transform-origin:right center;
}

@media (max-width:900px) {
  .delivery-layout .cabinet-detail-stage img { height:290px; }
}

@media (max-width:720px) {
  .delivery-layout .cabinet-detail-stage img { height:238px; }
  .axial-benefit { display:flex; width:max-content; margin:0 0 3px; }
  .mini-chart { height:116px; }
  .mini-column b { font-size:11px; }
  .arc-label { font-size:13px; }
  .arc-label[data-side="right"] { padding-left:24px; }
  .arc-label[data-side="left"] { padding-right:24px; }
  .arc-label[data-side]::before { width:19px; }
}

@media (prefers-reduced-motion:reduce) {
  .axial-benefit { animation:none !important; }
}

/* Local-only refinement: authentic media, clean margin labels and case evidence charts. */
.qualifications-split {
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:48px;
  align-items:center;
}
.qualification-frame {
  overflow:hidden;
  background:#0b213a;
}
.qualification-frame img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  transform:none;
  transition:filter .35s ease;
}
.qualification-frame:hover img {
  transform:none;
  filter:brightness(1.025) contrast(1.02);
}
body[data-lang="zh"] .qualification-frame img { aspect-ratio:1499 / 522; }
body[data-lang="en"] .qualification-frame img { aspect-ratio:1746 / 582; }
.qualification-content {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.qualification-actions { margin-top:24px; }

.delivery-viewer .cabinet-detail-stage {
  padding:0;
  background:#397fba;
  transition:background-color .32s ease;
}
.delivery-viewer[data-stage-tone="interface"] .cabinet-detail-stage { background:#397fba; }
.delivery-viewer[data-stage-tone="switch"] .cabinet-detail-stage { background:#aaa496; }
.delivery-viewer[data-stage-tone="motor"] .cabinet-detail-stage { background:#fff; }
.delivery-viewer .cabinet-detail-stage::after { opacity:.12; }
.delivery-viewer .cabinet-detail-stage img {
  width:100%;
  height:370px;
  object-fit:contain;
  background:transparent;
}

.margin-comparison-card .arc-label {
  padding:4px 0 !important;
}
.margin-comparison-card .arc-label::before,
.margin-comparison-card .arc-label::after {
  content:none !important;
  display:none !important;
}
.margin-comparison-card .arc-label[data-side="right"] {
  padding:4px 0 !important;
  transform:translate(9px,-50%) !important;
}
.margin-comparison-card .arc-label[data-side="left"] {
  padding:4px 0 !important;
  transform:translate(calc(-100% - 9px),-50%) !important;
}
.case-card {
  display:flex;
  flex-direction:column;
  min-height:510px;
}
.case-card .mini-chart {
  display:flex;
  align-items:flex-end;
  gap:14px;
  height:164px;
  margin:auto 0 0;
  padding-top:30px;
  overflow:visible;
}
.case-card .mini-column {
  position:relative;
  display:block;
  flex:1 1 0;
  min-width:0;
  height:134px;
}
.case-card .mini-column .mini-bar {
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:var(--h);
  transform-origin:bottom;
  animation:caseBarRise .9s cubic-bezier(.22,.74,.18,1) both;
}
.case-card .mini-column b {
  position:absolute;
  z-index:2;
  left:50%;
  bottom:calc(var(--h) + 9px);
  display:block;
  color:#eef8f5;
  font:700 13px/1.15 var(--mono);
  text-align:center;
  white-space:nowrap;
  transform:translateX(-50%);
  animation:caseValueIn .45s .86s ease-out both,caseValueGlow 3.2s 1.35s ease-in-out infinite;
}
.case-card .mini-column.baseline b {
  color:#76ded7;
  text-shadow:0 0 12px rgba(69,222,210,.42);
}
.case-card .mini-column.saving b {
  color:#93ed92;
  text-shadow:0 0 12px rgba(114,237,133,.42);
}
.case-card .btn {
  position:static;
  align-self:flex-start;
  margin-top:26px;
}
@keyframes caseBarRise {
  from { opacity:.42; transform:scaleY(.04); }
  to { opacity:1; transform:scaleY(1); }
}
@keyframes caseValueIn {
  from { opacity:0; transform:translate(-50%,7px); }
  to { opacity:1; transform:translate(-50%,0); }
}
@keyframes caseValueGlow {
  50% { filter:brightness(1.24); }
}

@media (max-width:900px) {
  .qualifications-split { grid-template-columns:1fr; gap:30px; }
  .qualifications-split .qualification-content { display:contents; }
  .qualifications-split .qualification-copy { order:1; }
  .qualifications-split .qualification-frame { order:2; }
  .qualifications-split .qualification-actions { order:3; margin-top:0; }
  .delivery-viewer .cabinet-detail-stage img { height:290px; }
}

@media (max-width:720px) {
  .qualification-frame { width:100%; }
  .delivery-viewer .cabinet-detail-stage img { height:238px; }
  .case-card { min-height:500px; }
  .case-card .mini-chart { height:154px; gap:10px; padding-top:35px; }
  .case-card .mini-column { height:119px; }
  .case-card .mini-column b { bottom:calc(var(--h) + 8px); font-size:14px; }
  .case-card .btn { margin-top:22px; }
}

@media (max-width:380px) {
  .case-card .mini-column b { font-size:13px; }
}

@media (prefers-reduced-motion:reduce) {
  .case-card .mini-column .mini-bar,
  .case-card .mini-column b { animation:none !important; }
}

/* Round 16: route-local interaction, aligned controls and mobile navigation. */
.control-system-section .system-load-row { left:-3%; }
.control-system-section .system-ai-node { left:12.5%; }
.control-system-section .system-cabinet-node { left:10.5%; }
.system-topology-lines .topology-route { pointer-events:stroke; cursor:pointer; }
.motor-visual > img { height:var(--motor-stage-height); object-fit:contain; }
.motor-visual.axial > img { transform:scale(.84); }
.motor-visual.axial:hover > img { transform:scale(.88); }

.power-combobox::after { content:none !important; display:none !important; }
.power-menu-toggle::after {
  flex:0 0 auto;
  width:8px;
  height:8px;
  margin-left:auto;
  border-right:2px solid #f4fbf9;
  border-bottom:2px solid #f4fbf9;
}
#currency {
  padding-inline:44px;
  text-align:center;
  text-align-last:center;
}
body[data-lang="en"] .equipment-row .field label {
  white-space:pre-line;
  line-height:1.25;
}

/* Round 17: delivery-height, currency-axis and business-title alignment. */
@media (min-width:1101px) {
  .delivery-layout .cabinet-viewer {
    align-self:stretch;
  }
  .delivery-facts,
  .delivery-facts .fact-strip {
    height:100%;
    min-height:0;
  }
  .delivery-facts .fact-strip {
    grid-template-rows:repeat(3,minmax(0,1fr));
    align-content:stretch;
    gap:14px;
  }
  .delivery-facts .fact {
    min-height:0;
    padding-block:18px;
  }

  .margin-comparison-card .margin-card-head {
    display:grid;
    grid-template-rows:auto auto;
    align-content:start;
    align-items:start;
    justify-content:stretch;
    gap:6px;
    min-height:68px;
    margin:0;
    text-align:left;
  }
  .margin-comparison-card .margin-card-head span,
  .margin-comparison-card .margin-card-head small {
    display:block;
    width:100%;
    max-width:none;
    margin:0;
    text-align:left;
  }
  .margin-comparison-card .margin-card-head small {
    min-height:1.4em;
  }
  body[data-lang="zh"] .margin-comparison-card .margin-card-head small {
    white-space:nowrap;
  }
}

.currency-field {
  position:relative;
  overflow:visible;
}
.currency-field label {
  justify-content:center !important;
  text-align:center !important;
}
.common-parameters .field-grid {
  position:relative;
  isolation:isolate;
}
.common-parameters .field {
  position:relative;
  z-index:1;
}
.currency-field {
  position:relative;
}
.currency-field:has(.currency-combobox.is-open) {
  z-index:120;
  overflow:visible;
}
.currency-combobox {
  position:relative;
  width:100%;
}
.currency-native-select {
  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;
}
.carbon-region-native-select {
  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;
}
.currency-menu-toggle {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:0 46px;
  color:#f1f8f6;
  border:1px solid rgba(104,165,155,.34);
  background:#061310;
  font:750 16px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  cursor:pointer;
  transition:border-color .22s,box-shadow .22s,color .22s;
}
.currency-menu-toggle > span {
  display:block;
  min-width:0;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  letter-spacing:0;
}
.currency-menu-toggle::after {
  content:"";
  position:absolute;
  right:18px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid #f4fbf9;
  border-bottom:2px solid #f4fbf9;
  transform:translateY(-70%) rotate(45deg);
  transition:transform .24s,border-color .24s;
  pointer-events:none;
}
.currency-combobox.is-open .currency-menu-toggle {
  color:var(--green);
  border-color:rgba(88,232,223,.72);
  box-shadow:0 0 20px rgba(88,232,223,.13),inset 0 0 18px rgba(88,232,223,.035);
}
.currency-combobox.is-open .currency-menu-toggle::after {
  border-color:var(--green);
  transform:translateY(-25%) rotate(225deg);
}
.currency-options {
  position:absolute;
  z-index:80;
  top:calc(100% + 7px);
  left:0;
  width:100%;
  padding:5px 0;
  overflow:hidden;
  border:1px solid rgba(88,232,223,.42);
  background:#061310;
  box-shadow:0 20px 42px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.04);
  animation:powerMenuOpen .24s ease both;
}
.currency-options.is-floating,
.carbon-region-options.is-floating {
  position:fixed;
  z-index:10000;
  top:0;
  left:0;
  right:auto;
  margin:0;
}
.currency-options[hidden] { display:none; }
.currency-options::before {
  content:"";
  position:absolute;
  top:0;
  left:-40%;
  width:36%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--green),transparent);
  animation:currencySignal 2.8s linear infinite;
  pointer-events:none;
}
.currency-options button {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:43px;
  padding:0 32px;
  color:#d7e5e1;
  border:0;
  border-bottom:1px solid rgba(107,157,149,.1);
  background:#061310;
  font:700 15px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  text-align:center;
  cursor:pointer;
  transition:color .18s,background .18s;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  letter-spacing:0;
}
.currency-options button:last-child { border-bottom:0; }
.currency-options button::before {
  content:"";
  position:absolute;
  left:11px;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 11px rgba(88,232,223,.8);
  opacity:0;
  transform:translateY(-50%) scale(.5);
  transition:opacity .18s,transform .18s;
}
.currency-options button::after {
  content:"";
  position:absolute;
  right:11px;
  width:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green));
  opacity:0;
  transform:scaleX(.35);
  transform-origin:right;
  transition:opacity .18s,transform .18s;
}
.currency-options button:hover,
.currency-options button:focus-visible {
  outline:0;
  color:#fff;
  background:linear-gradient(90deg,rgba(88,232,223,.14),rgba(142,242,138,.05),rgba(88,232,223,.08));
}
.currency-options button.is-selected {
  color:var(--green);
  background:linear-gradient(90deg,rgba(88,232,223,.12),rgba(142,242,138,.1),rgba(88,232,223,.06));
  box-shadow:inset 2px 0 var(--cyan);
}
.currency-options button.is-selected::before,
.currency-options button.is-selected::after,
.currency-options button:hover::before,
.currency-options button:focus-visible::before { opacity:1; transform:translateY(-50%) scale(1); }
.currency-options button.is-selected::after { opacity:1; transform:scaleX(1); }
@keyframes currencySignal { to { transform:translateX(390%); } }

.carbon-region-combobox {
  position:relative;
  width:100%;
}
.carbon-region-toggle {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:0 46px;
  color:#f1f8f6;
  border:1px solid rgba(93,225,213,.4);
  background:linear-gradient(160deg,rgba(15,50,43,.98),rgba(6,29,25,.995));
  font:700 15px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  text-align:center;
  cursor:pointer;
  transition:border-color .22s,box-shadow .22s,color .22s;
}
.carbon-region-toggle::after {
  content:"";
  position:absolute;
  right:18px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid #f4fbf9;
  border-bottom:2px solid #f4fbf9;
  transform:translateY(-70%) rotate(45deg);
  transition:transform .24s,border-color .24s;
  pointer-events:none;
}
.carbon-region-combobox.is-open .carbon-region-toggle {
  color:var(--green);
  border-color:rgba(88,232,223,.72);
  box-shadow:0 0 20px rgba(88,232,223,.13),inset 0 0 18px rgba(88,232,223,.04);
}
.carbon-region-combobox.is-open .carbon-region-toggle::after {
  border-color:var(--green);
  transform:translateY(-25%) rotate(225deg);
}
.carbon-region-options {
  position:absolute;
  z-index:80;
  top:calc(100% + 7px);
  left:0;
  width:100%;
  max-height:245px;
  padding:5px 0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  border:1px solid rgba(88,232,223,.46);
  background:linear-gradient(180deg,rgba(13,48,41,.998),rgba(5,27,23,.999));
  box-shadow:0 20px 42px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.04);
  animation:powerMenuOpen .24s ease both;
}
.carbon-region-options[hidden] { display:none; }
.carbon-region-options::before {
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  left:-40%;
  width:36%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--green),transparent);
  animation:currencySignal 2.8s linear infinite;
  pointer-events:none;
}
.carbon-region-options button {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:43px;
  padding:7px 34px;
  color:#d7e5e1;
  border:0;
  border-bottom:1px solid rgba(107,157,149,.12);
  background:transparent;
  font:700 14px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;
  text-align:center;
  cursor:pointer;
  transition:color .18s,background .18s;
}
.carbon-region-options button:last-child { border-bottom:0; }
.carbon-region-options button::before {
  content:"";
  position:absolute;
  left:11px;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 11px rgba(88,232,223,.8);
  opacity:0;
  transform:translateY(-50%) scale(.5);
  transition:opacity .18s,transform .18s;
}
.carbon-region-options button::after {
  content:"";
  position:absolute;
  right:11px;
  width:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--green));
  opacity:0;
  transform:scaleX(.35);
  transform-origin:right;
  transition:opacity .18s,transform .18s;
}
.carbon-region-options button:hover,
.carbon-region-options button:focus-visible {
  outline:0;
  color:#fff;
  background:linear-gradient(90deg,rgba(88,232,223,.14),rgba(142,242,138,.05),rgba(88,232,223,.08));
}
.carbon-region-options button.is-selected {
  color:var(--green);
  background:linear-gradient(90deg,rgba(88,232,223,.13),rgba(142,242,138,.1),rgba(88,232,223,.07));
  box-shadow:inset 2px 0 var(--cyan);
}
.carbon-region-options button.is-selected::before,
.carbon-region-options button.is-selected::after,
.carbon-region-options button:hover::before,
.carbon-region-options button:focus-visible::before { opacity:1; transform:translateY(-50%) scale(1); }
.carbon-region-options button.is-selected::after { opacity:1; transform:scaleX(1); }

@media (prefers-reduced-motion:reduce) {
  .currency-options,
  .currency-options::before,
  .carbon-region-options,
  .carbon-region-options::before { animation:none !important; }
}

@media (max-width:900px) {
  .site-nav {
    padding:12px;
    border-color:rgba(91,231,216,.58);
    background:
      linear-gradient(180deg,rgba(13,43,38,.98),rgba(5,22,19,.99)),
      #061714;
    box-shadow:0 28px 80px rgba(0,0,0,.72),inset 0 0 0 1px rgba(132,244,225,.035);
  }
  .site-nav a {
    position:relative;
    display:grid;
    grid-template-columns:12px minmax(0,1fr) 52px;
    gap:12px;
    align-items:center;
    min-height:54px;
    padding:0 14px;
    text-align:left;
    overflow:hidden;
  }
  .site-nav a::before {
    content:"";
    position:static;
    width:7px;
    height:7px;
    border:1px solid rgba(148,201,193,.52);
    border-radius:50%;
    background:#0b2420;
    box-shadow:none;
    transform:none;
  }
  .site-nav a::after {
    content:"";
    position:static;
    inset:auto;
    width:100%;
    height:2px;
    border:0;
    background:linear-gradient(90deg,rgba(90,166,156,.16),rgba(90,166,156,.42));
    opacity:.7;
    transform:none;
  }
  .site-nav a:hover,
  .site-nav a:focus-visible {
    color:#f2fbf8;
    background:linear-gradient(90deg,rgba(53,205,191,.08),rgba(53,205,191,.025));
  }
  .site-nav a.active {
    color:#9ff8ea;
    background:linear-gradient(90deg,rgba(43,203,188,.18),rgba(99,233,146,.055));
  }
  .site-nav a.active::before {
    border-color:#6cf0df;
    background:#6cf0df;
    box-shadow:0 0 0 5px rgba(80,231,215,.1),0 0 16px rgba(80,231,215,.82);
    animation:mobileNavNode 2s ease-in-out infinite;
  }
  .site-nav a.active::after {
    background:linear-gradient(90deg,#54e4d6,#91ed8f);
    box-shadow:0 0 12px rgba(84,228,214,.48);
    animation:mobileNavSignal 2.4s linear infinite;
  }
  @keyframes mobileNavNode { 50% { filter:brightness(1.35); box-shadow:0 0 0 7px rgba(80,231,215,.055),0 0 22px rgba(80,231,215,.9); } }
  @keyframes mobileNavSignal { 50% { filter:brightness(1.45); transform:scaleX(.9); transform-origin:right; } }
}

@media (max-width:720px) {
  .control-system-section .system-load-row { left:-2.5%; }
  .control-system-section .system-ai-node { left:12%; }
  .control-system-section .system-cabinet-node { left:9.5%; }
  .motor-visual > img { margin-bottom:0; }
  .motor-copy { padding-top:0; }
  .motor-copy > h3 {
    min-height:2.35em;
    margin-top:0;
    align-items:start;
  }
  .motor-comparison-facts {
    grid-template-rows:none;
  }
  .motor-comparison-facts > span,
  .motor-comparison-facts .saving {
    height:auto;
    min-height:var(--motor-metric-height, auto);
    overflow:visible;
    align-content:start;
  }
  .motor-comparison-facts b,
  .motor-comparison-facts em,
  .motor-comparison-facts .saving em {
    min-height:0;
  }
  .motor-visual.axial [data-motor-metric="installation"] em {
    white-space:normal;
  }
  .motor-visual.axial [data-motor-metric="installation"] .axial-benefit {
    display:block;
    margin:0 0 3px;
  }
  body[data-lang="zh"] .motor-comparison-facts .saving em,
  body[data-lang="en"] .motor-comparison-facts .saving em {
    max-width:100%;
    font-size:clamp(17px,4.6vw,19px);
    line-height:1;
    white-space:nowrap;
  }
  body[data-lang="en"] .equipment-row .field label {
    min-height:3.15em;
    align-items:flex-end;
  }
  body[data-lang="en"] .equipment-metric-label {
    display:grid;
    grid-template-rows:auto auto;
    align-content:start;
    justify-items:center;
    min-height:3.2em;
    line-height:1.25;
    text-align:center;
    font-size:clamp(10px,2.8vw,12px);
  }
  body[data-lang="en"] .equipment-metric-label > span {
    display:block;
    width:100%;
    white-space:nowrap;
  }
  body[data-lang="en"] .equipment-metric-unit { font-variant-ligatures:none; }
}

@media (prefers-reduced-motion:reduce) {
  .site-nav a.active::before,.site-nav a.active::after { animation:none !important; }
}

/* Keep English equipment result headings on the same two-line rhythm at every size. */
body[data-lang="en"] .equipment-metric-label {
  display:grid;
  grid-template-rows:auto auto;
  align-content:start;
  justify-items:center;
  min-height:3.2em;
  line-height:1.25;
  text-align:center;
}
body[data-lang="en"] .equipment-metric-label > span {
  display:block;
  width:100%;
}

/* Final mobile hero rhythm: keep a line when it fits, then wrap naturally. */
@media (max-width:720px) {
  html body[data-page="about"] .page-hero h1,
  html body[data-lang][data-page="project"] h1.project-hero-title {
    max-width:100%;
    max-height:none;
    font-size:40px;
    font-weight:800;
    line-height:1.08;
    white-space:normal;
    text-wrap:wrap;
    word-break:normal;
    overflow-wrap:break-word;
    overflow:visible;
  }

  body[data-lang="en"] .equipment-row .equipment-metric {
    grid-template-rows:calc(3.2em + 9px) 44px 8px;
  }
  body[data-lang="en"] .equipment-row .equipment-metric-label {
    box-sizing:border-box;
    min-height:calc(3.2em + 9px);
    padding-top:9px;
    margin-bottom:0;
    align-content:start;
    align-self:start;
  }
}

/* Equipment labels share one type scale without adding another mobile layout override. */
.equipment-row-head .equipment-identity,
.equipment-row .field label,
.equipment-row .equipment-metric small {
  font-family:Arial,"Microsoft YaHei",sans-serif;
  font-size:14px;
  font-weight:650;
  line-height:1.3;
  justify-content:center;
  text-align:center;
}
.equipment-row-head .equipment-identity { height:auto; margin:0; }
.equipment-row-head .equipment-location { align-self:center; }
.equipment-row[data-location-confirmed="true"] .equipment-location-control,
.equipment-row[data-location-confirmed="true"] .equipment-location-input,
.equipment-row[data-location-confirmed="true"] .equipment-location-status { cursor:text; }

@media (max-width:720px) {
  .equipment-row .power-combobox .equipment-power {
    appearance:textfield;
    -moz-appearance:textfield;
  }
  .equipment-row .power-combobox .equipment-power::-webkit-inner-spin-button,
  .equipment-row .power-combobox .equipment-power::-webkit-outer-spin-button {
    margin:0;
    -webkit-appearance:none;
  }
  .equipment-row .power-combobox .power-options { top:48px; right:0; }
}

/* Per-equipment type and saving rate: final estimator layout authority. */
body[data-page="project"] #roiViewInputs .equipment-row {
  grid-template-columns:minmax(122px,1.02fr) minmax(92px,.72fr) minmax(104px,.84fr) minmax(104px,.84fr) minmax(108px,.82fr) minmax(148px,1.1fr) minmax(148px,1.1fr);
  gap:12px;
  overflow:visible;
}
body[data-page="project"] #roiViewInputs .equipment-row-head {
  grid-template-columns:minmax(122px,1.02fr) minmax(92px,.72fr) minmax(104px,.84fr) minmax(104px,.84fr) minmax(108px,.82fr) minmax(148px,1.1fr) minmax(148px,1.1fr);
  gap:12px;
}
body[data-page="project"] #roiViewInputs .equipment-location {
  grid-column:2/7;
  width:min(100%,760px);
  padding-right:0;
  justify-self:center;
}
body[data-page="project"] #roiViewInputs .equipment-location-control {
  --equipment-head-control-height:42px;
  grid-template-columns:minmax(0,1fr) 116px 70px;
  height:var(--equipment-head-control-height);
  max-height:var(--equipment-head-control-height);
  overflow:visible;
}
.equipment-type-combobox {
  position:relative;
  align-self:stretch;
  height:var(--equipment-head-control-height,42px);
  max-height:var(--equipment-head-control-height,42px);
  min-width:0;
  margin:0;
}
.equipment-type {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.equipment-type-toggle {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  height:var(--equipment-head-control-height,42px);
  min-height:var(--equipment-head-control-height,42px);
  max-height:var(--equipment-head-control-height,42px);
  margin:0;
  padding:0 28px 0 10px;
  border:0;
  border-left:1px solid rgba(105,187,177,.28);
  background:rgba(19,61,51,.56);
  color:#dff8f4;
  font:700 13px/1 Arial,"Microsoft YaHei",sans-serif;
  cursor:pointer;
}
.equipment-type-toggle::after {
  content:"";
  position:absolute;
  top:50%;
  right:12px;
  width:8px;
  height:8px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:translateY(-50%) rotate(45deg);
  transition:transform .2s ease,border-color .2s ease;
}
.equipment-type-combobox.is-open .equipment-type-toggle::after {
  transform:translateY(-50%) rotate(225deg);
}
.equipment-type-toggle:hover,
.equipment-type-toggle:focus-visible {
  outline:0;
  background:rgba(42,121,105,.42);
  box-shadow:inset 0 -2px 0 rgba(88,230,214,.66);
}
.equipment-type-options {
  position:absolute;
  z-index:30;
  top:calc(100% + 5px);
  left:0;
  width:100%;
  min-width:116px;
  padding:5px;
  border:1px solid rgba(91,220,207,.62);
  background:#071713;
  box-shadow:0 16px 34px rgba(0,0,0,.46),0 0 24px rgba(67,218,201,.1);
}
.equipment-type-options[hidden] { display:none !important; }
.equipment-type-options button {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:38px;
  padding:0 10px;
  border:0;
  border-bottom:1px solid rgba(96,176,166,.16);
  background:transparent;
  color:#d4e4e0;
  font:700 13px/1 Arial,"Microsoft YaHei",sans-serif;
  cursor:pointer;
}
.equipment-type-options button:last-child { border-bottom:0; }
.equipment-type-options button:hover,
.equipment-type-options button:focus-visible,
.equipment-type-options button.is-selected {
  outline:0;
  color:#9af494;
  background:linear-gradient(90deg,rgba(63,211,193,.13),rgba(132,239,135,.09));
}
.equipment-type-options button.is-selected::before {
  content:"";
  width:6px;
  height:6px;
  margin-right:8px;
  border-radius:50%;
  background:#84ef87;
  box-shadow:0 0 10px rgba(132,239,135,.82);
}
.equipment-row.type-open { z-index:20 !important; }
.equipment-location-status {
  grid-column:1/-1;
  min-height:24px;
  border-top:1px solid rgba(105,187,177,.15);
}
body[data-page="project"] #roiViewInputs .common-parameters .field-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:1000px) and (min-width:721px) {
  body[data-page="project"] #roiViewInputs .equipment-row,
  body[data-page="project"] #roiViewInputs .equipment-row-head {
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:8px;
  }
  body[data-page="project"] #roiViewInputs .equipment-row { padding-inline:10px; }
  body[data-page="project"] #roiViewInputs .equipment-location { grid-column:2/7; }
  body[data-page="project"] #roiViewInputs .equipment-row .field label,
  body[data-page="project"] #roiViewInputs .equipment-metric-label { font-size:11px; }
}

@media (max-width:720px) {
  body[data-page="project"] #roiViewInputs .equipment-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 12px;
    padding:18px 16px;
    overflow:visible;
  }
  body[data-page="project"] #roiViewInputs .equipment-row-head {
    grid-template-columns:44px minmax(0,1fr) 44px;
    grid-template-rows:auto auto;
    gap:12px;
  }
  body[data-page="project"] #roiViewInputs .equipment-location {
    grid-column:1/-1;
    grid-row:2;
    width:100%;
  }
  body[data-page="project"] #roiViewInputs .equipment-location-control {
    --equipment-head-control-height:46px;
    grid-template-columns:minmax(0,1fr) 82px 64px;
  }
  body[data-page="project"] #roiViewInputs .equipment-location-input {
    min-width:0;
    padding:0 10px;
    text-align:center;
    overflow-x:auto;
  }
  body[data-page="project"] #roiViewInputs .equipment-type-toggle {
    padding-right:25px;
    font-size:12px;
  }
  body[data-page="project"] #roiViewInputs .equipment-location-toggle {
    padding-inline:8px;
  }
  body[data-page="project"] #roiViewInputs .equipment-saving-field {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(118px,.9fr);
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border-left:2px solid rgba(139,239,135,.68);
    background:rgba(27,78,62,.18);
  }
  body[data-page="project"] #roiViewInputs .equipment-saving-field label {
    min-height:0;
    margin:0;
    justify-content:flex-start;
    text-align:left;
  }
  body[data-page="project"] #roiViewInputs .equipment-saving-field input { min-height:44px; }
  body[data-page="project"] #roiViewInputs .common-parameters .field-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  body[data-page="project"] #roiViewInputs .common-parameters .field label {
    min-height:3.1em;
    justify-content:center;
    font-size:11px;
    line-height:1.3;
    text-align:center;
  }
  body[data-page="project"] #roiViewInputs .common-parameters input,
  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    min-height:48px;
    padding-inline:36px;
    font-size:clamp(11px,3.25vw,13px);
  }
  body[data-page="project"] #roiViewInputs .currency-options button {
    padding-inline:28px;
    font-size:clamp(11px,3.25vw,13px);
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle > span,
  body[data-page="project"] #roiViewInputs .currency-options button {
    white-space:nowrap;
    word-break:keep-all;
    overflow-wrap:normal;
    line-height:1;
  }
}

/* Final equipment/PDF layout authority: the capture inherits the live viewport. */
body[data-page="project"] #roiViewInputs .equipment-row,
body[data-page="project"] #roiViewInputs .equipment-row-head {
  grid-template-columns:minmax(122px,.96fr) minmax(118px,.9fr) minmax(112px,.86fr) minmax(112px,.86fr) minmax(124px,.92fr) minmax(148px,1.1fr) minmax(148px,1.1fr);
  gap:12px;
}
body[data-page="project"] #roiViewInputs .equipment-row > .field {
  min-width:0;
  align-self:start;
}
body[data-page="project"] #roiViewInputs .equipment-field-label,
body[data-page="project"] #roiViewInputs .equipment-metric-label {
  box-sizing:border-box;
  display:flex !important;
  min-height:3.35em !important;
  margin:0 0 10px !important;
  align-items:flex-end !important;
  justify-content:center !important;
  gap:0 .25em;
  line-height:1.28 !important;
  text-align:center !important;
}
body[data-page="project"] #roiViewInputs .equipment-metric-label {
  position:static !important;
  inset:auto !important;
  transform:none !important;
}
body[data-page="project"] #roiViewInputs .equipment-metric {
  grid-template-rows:auto 48px 9px !important;
  align-items:start !important;
}
body[data-page="project"] #roiViewInputs .equipment-metric > b {
  align-self:center;
}
body[data-page="project"][data-lang="en"] #roiViewInputs .equipment-field-label,
body[data-page="project"][data-lang="en"] #roiViewInputs .equipment-metric-label {
  flex-direction:column;
  flex-wrap:nowrap;
  gap:0;
}
body[data-page="project"][data-lang="en"] #roiViewInputs .equipment-field-label > span,
body[data-page="project"][data-lang="en"] #roiViewInputs .equipment-metric-label > span {
  display:block;
  width:100%;
  white-space:nowrap;
}
body[data-page="project"] #roiViewInputs .equipment-type-toggle,
body[data-page="project"] #roiViewInputs .equipment-location-input,
body[data-page="project"] #roiViewInputs .equipment-location-toggle {
  height:var(--equipment-head-control-height,42px);
  min-height:var(--equipment-head-control-height,42px);
  max-height:var(--equipment-head-control-height,42px);
  box-sizing:border-box;
  margin:0;
  line-height:1;
}
body[data-page="project"] #roiViewInputs .equipment-type-current {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  line-height:1;
  text-align:center;
}

body[data-page="project"] #roiViewInputs .currency-menu-toggle,
body[data-page="project"] #roiViewInputs .currency-menu-toggle > span,
body[data-page="project"] #roiViewInputs .currency-options button {
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}
body[data-page="project"] #roiViewInputs .currency-menu-toggle > span,
body[data-page="project"] #roiViewInputs .currency-options button {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  line-height:1;
}
body[data-page="project"] #roiViewInputs .equipment-type-options button.is-selected::before {
  position:absolute;
  top:50%;
  left:10px;
  margin:0;
  transform:translateY(-50%);
}
.pdf-capture-shell[data-pdf-view="inputs"] .equipment-location-input,
.pdf-capture-shell[data-pdf-view="inputs"] .equipment-type-toggle,
.pdf-capture-shell[data-pdf-view="inputs"] .equipment-location-toggle {
  opacity:1 !important;
  cursor:default !important;
}
.roi-finance-value {
  display:grid;
  place-items:center;
  width:100%;
  max-width:100%;
  min-width:0;
  padding-inline:4px;
  box-sizing:border-box;
  font-size:var(--roi-finance-font-size,23px) !important;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  overflow:hidden;
  overflow-wrap:normal;
}
.roi-finance-bar.portfolio .roi-finance-value {
  justify-items:center;
  text-align:center;
}

@media (min-width:721px) {
  .roi-finance-bars {
    align-items:stretch;
  }
  .roi-finance-bar {
    grid-template-rows:minmax(210px,1fr) 32px 24px;
    align-items:end;
    height:100%;
  }
  .roi-finance-value {
    min-height:32px;
    place-items:center;
    align-self:stretch;
    line-height:1.15;
  }
  .roi-finance-label {
    min-height:24px;
    place-items:start center;
    align-self:stretch;
    line-height:1.2;
  }
}

@media (max-width:1000px) and (min-width:721px) {
  body[data-page="project"] #roiViewInputs .equipment-row,
  body[data-page="project"] #roiViewInputs .equipment-row-head {
    grid-template-columns:minmax(78px,.78fr) minmax(82px,.78fr) minmax(124px,1.16fr) minmax(132px,1.22fr) minmax(105px,.95fr) minmax(126px,1.08fr) minmax(126px,1.08fr);
    gap:8px;
  }
}

@media (min-width:1001px) {
  body[data-page="project"] #roiViewInputs .equipment-row {
    align-items:start !important;
    padding-top:12px !important;
    padding-bottom:11px !important;
    row-gap:8px !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-row > .field,
  body[data-page="project"] #roiViewInputs .equipment-row > .equipment-metric {
    display:grid !important;
    grid-template-rows:44px 48px 9px !important;
    row-gap:7px !important;
    align-items:start !important;
    min-height:0 !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-field-label,
  body[data-page="project"] #roiViewInputs .equipment-metric-label {
    height:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    align-items:flex-end !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-row > .field > input,
  body[data-page="project"] #roiViewInputs .equipment-row > .field > .power-combobox {
    grid-row:2 !important;
    align-self:stretch !important;
    min-height:48px !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-metric > b {
    grid-row:2 !important;
    display:grid !important;
    place-items:center !important;
    min-height:48px !important;
    margin:0 !important;
    align-self:stretch !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-metric-track {
    grid-row:3 !important;
    align-self:start !important;
    margin:0 !important;
  }
}

@media (max-width:720px) {
  body[data-page="project"] #roiViewInputs .equipment-row,
  body[data-page="project"] #roiViewInputs .equipment-row-head {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body[data-page="project"] #roiViewInputs .equipment-row-head {
    grid-template-columns:44px minmax(0,1fr) 44px;
  }
  body[data-page="project"] #roiViewInputs .equipment-field-label,
  body[data-page="project"] #roiViewInputs .equipment-metric-label {
    min-height:3.35em !important;
    margin-bottom:10px !important;
  }
  body[data-page="project"][data-lang="en"] #roiViewInputs .equipment-metric-label {
    padding-inline:2px;
    font-size:12px !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-saving-field {
    grid-column:1 !important;
    display:block !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-saving-field label {
    min-height:3.35em !important;
    margin:0 0 10px !important;
    align-items:flex-end !important;
    justify-content:center !important;
    text-align:center !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-saving-field input {
    width:100%;
    min-height:48px;
  }
  body[data-page="project"] #roiViewInputs .equipment-metric.baseline { grid-column:1 !important; }
  body[data-page="project"] #roiViewInputs .equipment-metric.saving { grid-column:2 !important; }
  body[data-page="project"] #roiViewInputs .power-combobox {
    position:relative;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 62px !important;
    width:100%;
    min-height:48px;
  }
  body[data-page="project"] #roiViewInputs .equipment-power {
    grid-column:1/3 !important;
    width:100% !important;
    min-height:48px;
    padding-left:62px !important;
    padding-right:62px !important;
    text-align:center !important;
    font-size:clamp(13px,4vw,16px) !important;
  }
  body[data-page="project"] #roiViewInputs .power-menu-toggle {
    position:absolute !important;
    inset:0 0 0 auto !important;
    width:62px !important;
    height:48px !important;
  }
  .roi-finance-bars {
    min-height:300px !important;
    gap:10px !important;
    align-items:end;
  }
  .roi-finance-bar {
    height:292px !important;
    grid-template-rows:minmax(210px,1fr) minmax(2.8em,auto) 1.4em !important;
    gap:8px;
  }
  .roi-finance-value {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    font-size:var(--roi-finance-font-size,clamp(12px,3.8vw,16px)) !important;
    line-height:1.2 !important;
    text-align:center;
    white-space:nowrap !important;
  }
}

/* Confirmed equipment location and mobile numeric alignment: final authority. */
body[data-page="project"] #roiViewInputs .equipment-location-control {
  grid-template-columns:minmax(0,1fr) 116px 70px;
  grid-template-rows:42px;
  height:42px;
  max-height:none;
  min-height:42px;
  overflow:visible;
}
body[data-page="project"] #roiViewInputs .equipment-row[data-location-confirmed="true"] .equipment-location-control {
  grid-template-columns:minmax(0,1fr) 116px 70px 88px;
}
body[data-page="project"] #roiViewInputs .equipment-location-status {
  position:relative;
  grid-column:4;
  grid-row:1;
  min-width:0;
  min-height:42px;
  height:42px;
  padding:0 8px 0 18px;
  border-top:0;
  border-left:1px solid rgba(105,187,177,.28);
  background:rgba(76,205,103,.07);
  box-sizing:border-box;
}
body[data-page="project"] #roiViewInputs .equipment-location-status i {
  position:absolute;
  left:9px;
  top:50%;
  transform:translateY(-50%);
}

@media (max-width:720px) {
  body[data-page="project"] #roiViewInputs .equipment-location-control,
  body[data-page="project"] #roiViewInputs .equipment-row[data-location-confirmed="true"] .equipment-location-control {
    grid-template-columns:minmax(0,1fr) 82px 64px;
    grid-template-rows:46px auto;
    height:auto;
    max-height:none;
    min-height:46px;
  }
  body[data-page="project"] #roiViewInputs .equipment-location-status {
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    min-height:28px;
    height:28px;
    padding:0 12px;
    border-top:1px solid rgba(105,187,177,.22);
    border-left:0;
    background:rgba(76,205,103,.055);
  }
  body[data-page="project"] #roiViewInputs .equipment-location-status i {
    position:static;
    transform:none;
  }
  body[data-page="project"] #roiViewInputs .equipment-location-input {
    padding:0 12px;
    text-align:center;
  }
  body[data-page="project"] #roiViewInputs .equipment-type-toggle::after {
    top:calc(50% - 2px);
    transform-origin:50% 50%;
    transform:translateY(-50%) rotate(45deg);
  }
  body[data-page="project"] #roiViewInputs .equipment-type-combobox.is-open .equipment-type-toggle::after {
    transform:translateY(-50%) rotate(225deg);
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    padding-inline:40px;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle::after {
    right:10px;
    transform-origin:50% 50%;
    transform:translateY(-50%) rotate(45deg);
  }
  body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-menu-toggle::after {
    right:10px;
    transform:translateY(-50%) rotate(225deg);
  }
  body[data-page="project"] #roiViewInputs .equipment-power {
    padding-left:62px !important;
    padding-right:62px !important;
    text-align:center !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-hours,
  body[data-page="project"] #roiViewInputs .equipment-count,
  body[data-page="project"] #roiViewInputs .equipment-days,
  body[data-page="project"] #roiViewInputs .equipment-saving-rate {
    padding-left:12px !important;
    padding-right:12px !important;
    text-align:center !important;
  }
}

/* Final project control overrides. Keep this block last. */
body[data-page="project"] #roiViewInputs .currency-menu-toggle {
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 34px !important;
  align-items:center !important;
  min-width:0;
  padding:0 8px 0 42px !important;
  overflow:hidden;
}
body[data-page="project"] #roiViewInputs .currency-menu-toggle::after { content:none !important; display:none !important; }
body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
  grid-column:1;
  display:block !important;
  width:100% !important;
  min-width:0;
  padding:0 !important;
  text-align:center !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  line-height:1 !important;
  transform:none !important;
}
body[data-page="project"] #roiViewInputs .currency-arrow-slot {
  position:absolute !important;
  z-index:3;
  top:50% !important;
  right:6px !important;
  display:grid !important;
  place-items:center;
  width:30px !important;
  height:100% !important;
  padding:0 !important;
  transform:translateY(-50%) !important;
  pointer-events:none;
}
body[data-page="project"] #roiViewInputs .currency-arrow-slot i {
  display:block;
  width:9px;
  height:9px;
  margin:0;
  border-right:2px solid #eef8f5;
  border-bottom:2px solid #eef8f5;
  transform:rotate(45deg);
  transform-origin:50% 50%;
  transition:transform .2s ease;
}
body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-arrow-slot i { transform:rotate(225deg); }

@media (max-width:720px) {
  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    display:flex !important;
    grid-template-columns:none !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 38px 0 8px !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
    grid-column:auto !important;
    width:auto !important;
    min-width:max-content !important;
    max-width:calc(100% - 4px) !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot {
    position:absolute !important;
    top:0 !important;
    right:4px !important;
    bottom:0 !important;
    width:28px !important;
    min-width:28px !important;
    height:auto !important;
    transform:none !important;
  }
  body[data-page="project"] #roiViewInputs .power-combobox {
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 62px !important;
    grid-template-rows:48px !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    min-height:48px !important;
    overflow:visible !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-power {
    position:relative !important;
    inset:auto !important;
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 12px !important;
    border-right:0 !important;
    text-align:center !important;
    font-size:var(--mobile-power-font-size,16px) !important;
    line-height:48px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    direction:ltr !important;
    text-indent:0 !important;
    appearance:textfield;
    -moz-appearance:textfield;
    box-sizing:border-box !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-power::-webkit-inner-spin-button,
  body[data-page="project"] #roiViewInputs .equipment-power::-webkit-outer-spin-button {
    margin:0;
    -webkit-appearance:none;
  }
  body[data-page="project"] #roiViewInputs .power-menu-toggle {
    position:relative !important;
    inset:auto !important;
    grid-column:2 !important;
    grid-row:1 !important;
    width:62px !important;
    min-width:62px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
}

/* Round 18 authoritative tail overrides. */
body[data-page="project"] #roiViewBusiness .margin-column {
  grid-template-rows:repeat(2,minmax(500px,auto)) !important;
  gap:22px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-card {
  min-height:500px !important;
  grid-template-rows:minmax(74px,auto) minmax(340px,auto) minmax(82px,auto) !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-visual {
  min-height:340px !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut,
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut.has-live-ring {
  position:relative !important;
  width:var(--margin-gauge-size,244px) !important;
  height:var(--margin-gauge-size,244px) !important;
  min-width:var(--margin-gauge-size,244px) !important;
  min-height:var(--margin-gauge-size,244px) !important;
  aspect-ratio:1 !important;
  margin:auto !important;
  overflow:visible !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .live-ring-svg {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
  z-index:1 !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut > div:not(.arc-label) {
  position:absolute !important;
  inset:17% !important;
  display:grid !important;
  place-content:center !important;
  justify-items:center !important;
  text-align:center !important;
  z-index:4 !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut strong {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  font-size:var(--margin-center-font,42px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-align:center !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label {
  position:absolute !important;
  left:var(--label-x-px,50%) !important;
  top:var(--label-y-px,50%) !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  display:block !important;
  width:max-content !important;
  max-width:none !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:var(--arc-label-font,17px) !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  z-index:6 !important;
  pointer-events:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label::before,
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label::after {
  content:none !important;
  display:none !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label-base {
  color:#82f3ed !important;
  text-shadow:0 0 11px rgba(107,236,231,.62) !important;
}
body[data-page="project"] #roiViewBusiness .margin-column .margin-donut .arc-label-saving {
  color:#92f48f !important;
  text-shadow:0 0 12px rgba(128,244,125,.64) !important;
}
.pdf-real-dom-capture .pdf-export-copy,
.pdf-real-dom-capture .pdf-export-copy .roi-view,
.pdf-real-dom-capture .pdf-export-copy .equipment-card,
.pdf-real-dom-capture .pdf-export-copy .equipment-grid,
.pdf-real-dom-capture .pdf-export-copy .power-combobox {
  transform:none !important;
}
.pdf-real-dom-capture .pdf-export-copy .margin-column,
.pdf-real-dom-capture .pdf-export-copy .margin-card,
.pdf-real-dom-capture .pdf-export-copy .margin-visual,
.pdf-real-dom-capture .pdf-export-copy .margin-donut {
  overflow:visible !important;
}

@media (max-width:720px) {
  body[data-page="project"] #roiViewBusiness .margin-column {
    grid-template-rows:repeat(2,minmax(470px,auto)) !important;
    gap:20px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-column .margin-card {
    min-height:470px !important;
    grid-template-rows:minmax(68px,auto) minmax(320px,auto) minmax(76px,auto) !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-column .margin-visual {
    min-height:320px !important;
  }
  body[data-page="project"] #roiViewBusiness .margin-column .margin-donut strong {
    font-size:var(--margin-center-font,36px) !important;
  }
  body[data-page="project"] #roiViewInputs .equipment-hours,
  body[data-page="project"] #roiViewInputs .equipment-saving-rate {
    box-sizing:border-box !important;
    width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:62px !important;
    text-align:center !important;
    text-indent:0 !important;
    direction:ltr !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    grid-template-columns:none !important;
    padding:0 48px !important;
    overflow:hidden !important;
  }
  body[data-page="project"] #roiViewInputs .currency-menu-toggle .currency-current {
    display:block !important;
    grid-column:auto !important;
    width:100% !important;
    min-width:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    line-height:1 !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot {
    position:absolute !important;
    top:0 !important;
    right:4px !important;
    bottom:0 !important;
    left:auto !important;
    display:grid !important;
    place-items:center !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:28px !important;
    height:100% !important;
    min-width:28px !important;
    padding:0 !important;
    margin:0 !important;
    transform:none !important;
    pointer-events:none !important;
  }
  body[data-page="project"] #roiViewInputs .currency-arrow-slot i {
    width:9px !important;
    height:9px !important;
    margin:0 !important;
    transform:rotate(45deg) !important;
    transform-origin:50% 50% !important;
  }
  body[data-page="project"] #roiViewInputs .currency-combobox.is-open .currency-arrow-slot i {
    transform:rotate(225deg) !important;
  }
}
