:root {
  --ebm-green: #126044;
  --ebm-green-dark: #082d22;
  --ebm-graphite: #18211e;
  --ebm-gold: #c5a13c;
  --ebm-orange: #d97920;
  --ebm-gas-blue: #246fa8;
  --ebm-light: #f3f6f4;
  --ebm-white: #ffffff;
  --ebm-muted: #607069;
  --ebm-border: #d8e1dc;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --shadow-soft: 0 10px 30px rgba(10, 37, 28, .08);
  --shadow-premium: 0 22px 55px rgba(8, 35, 27, .14);
  --glass-background: rgba(255, 255, 255, .82);
  --glass-border: rgba(255, 255, 255, .48);
  --section-gap-desktop: 72px;
  --section-gap-mobile: 48px;
  --motion-fast: 140ms;
  --motion-normal: 260ms;
  --motion-slow: 520ms;
  color-scheme: light;
}

html[data-theme="dark"] {
  --ebm-light: #111a17;
  --ebm-white: #18231f;
  --ebm-graphite: #edf3f0;
  --ebm-muted: #a9b8b1;
  --ebm-border: #34433d;
  --glass-background: rgba(18, 29, 25, .88);
  --glass-border: rgba(255, 255, 255, .12);
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  html[data-theme="auto"] {
    --ebm-light: #111a17;
    --ebm-white: #18231f;
    --ebm-graphite: #edf3f0;
    --ebm-muted: #a9b8b1;
    --ebm-border: #34433d;
    --glass-background: rgba(18, 29, 25, .88);
    --glass-border: rgba(255, 255, 255, .12);
    color-scheme: dark;
  }
}

html { background: var(--ebm-white); }
body { background: var(--ebm-white); color: var(--ebm-graphite); letter-spacing: 0; }
h1, h2, h3, h4, p, a, button, input, select, textarea { letter-spacing: 0; }
h1 { font-size: 64px; line-height: 1.04; }
h2 { font-size: 42px; line-height: 1.08; }
h3 { font-size: 21px; }
.wrap { width: min(1240px, calc(100% - 48px)); }
.section { padding: var(--section-gap-desktop) 0; }
.section.soft, .calculator-section, .decision-band { background: var(--ebm-light); }
.section-head { margin-bottom: 28px; align-items: start; }
.section-head p, .lead, .card-body p, .feature span, .qspec small, .prose p, .prose li, .faq details p, .form-note { color: var(--ebm-muted); }

.site-header { background: var(--glass-background); border-color: var(--ebm-border); }
.head { height: 72px; gap: 20px; }
.brand img { width: 250px; }
.nav { gap: 17px; font-size: 13px; }
.nav a { padding: 25px 0 23px; border-bottom: 2px solid transparent; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--ebm-green); border-color: var(--ebm-gold); }
.head-call { color: var(--ebm-green); white-space: nowrap; }
.theme-button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--ebm-border); border-radius: var(--radius-md); background: var(--ebm-white); color: var(--ebm-graphite); cursor: pointer; font-size: 18px; }

.hero { min-height: 650px; background: #e6ece8; }
.hero .wrap { min-height: 650px; }
.hero-bg { inset: 0; background-size: cover; background-position: center; transform: none; }
.hero-copy { max-width: 720px; padding: 68px 0; }
.hero h1 { max-width: 760px; }
.hero .lead { color: #384b43; max-width: 670px; }
.hero-facts { gap: 8px; }
.fact { min-height: 82px; border-radius: var(--radius-lg); background: rgba(255, 255, 255, .86); border-color: rgba(18, 96, 68, .14); }
.eyebrow, .kicker { color: var(--ebm-green); }
.dot { background: var(--ebm-orange); }

.btn { min-height: 46px; padding: 12px 18px; border-radius: var(--radius-md); background: var(--ebm-green); border-color: var(--ebm-green); transition: transform var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast); }
.btn:hover { box-shadow: 0 8px 22px rgba(18, 96, 68, .18); }
.btn.gold { background: var(--ebm-orange); border-color: var(--ebm-orange); color: #fff; }
.btn.alt { background: var(--ebm-white); color: var(--ebm-graphite); border-color: var(--ebm-border); }
.btn.glass { background: var(--glass-background); border-color: var(--glass-border); color: var(--ebm-graphite); backdrop-filter: blur(10px); }

.grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.grid.four { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card, .value-card, .feature, .benefit, .process-step, .decision-card, .stat, .qspec, .contact-card, .tool-form, .tool-aside, .related-link, .explain-grid article, .document-panel, .document-card, .document-link, .model-figure, .compare-wrap, .retrofit-flow > div, .panel-frame {
  border-radius: var(--radius-lg);
  border-color: var(--ebm-border);
  background: var(--ebm-white);
}
.card { min-width: 0; transition: transform var(--motion-normal), box-shadow var(--motion-normal), border-color var(--motion-normal); }
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow-soft); }
.card-media { height: 244px; background: var(--ebm-light); }
.card-media img { object-fit: contain; padding: 14px; }
.card-body { padding: 20px; }
.tag, .chip, .badge { border-radius: var(--radius-sm); }
.tag { background: rgba(18, 96, 68, .10); color: var(--ebm-green); }
.arrow, .text-link, .contact-card a { color: var(--ebm-green); }

.trust-strip { border-color: var(--ebm-border); background: var(--ebm-white); }
.trust-item { border-color: var(--ebm-border); }
.value-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.value-card { min-height: 174px; padding: 22px; }
.value-card::before { display: none; }
.value-icon { border-radius: var(--radius-md); background: rgba(18, 96, 68, .10); color: var(--ebm-green); }
.stats { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.stat { min-height: 98px; }
.stat strong { color: var(--ebm-green); }
.process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.process-grid-seven { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.process-step { min-height: 154px; padding: 20px; }
.process-step::before { color: var(--ebm-orange); }

.page-hero, .product-hero { background: var(--ebm-light); border-bottom: 1px solid var(--ebm-border); }
.page-hero { padding: 48px 0; }
.page-hero h1, .product-hero h1 { font-size: 54px; }
.product-hero { padding: 34px 0 52px; }
.product-image { min-height: 440px; border-radius: var(--radius-lg); background: var(--ebm-white); border-color: var(--ebm-border); }
.product-image img { height: 440px; object-fit: contain; padding: 22px; }
.quick-specs { gap: 8px; }
.qspec { min-height: 72px; padding: 12px 14px; }
.spec-table { border-radius: var(--radius-lg); border-color: var(--ebm-border); background: var(--ebm-white); }
.spec-table td { border-color: var(--ebm-border); }
.product-story { border-radius: var(--radius-lg); background: #0b392c; }
.product-story img { border-radius: var(--radius-md); object-fit: contain; }
.gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery figure { border-radius: var(--radius-lg); }
.gallery img { object-fit: contain; background: var(--ebm-light); }
.cta { border-radius: var(--radius-lg); background: #0b4c38; }
.footer { margin-top: 48px; background: #07130f; }

.series-switcher { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--ebm-border); border-radius: var(--radius-lg); background: var(--ebm-white); margin: 20px 0 28px; }
.series-switcher button { min-width: 210px; min-height: 48px; padding: 10px 16px; border: 0; border-radius: var(--radius-md); background: transparent; color: var(--ebm-muted); font: inherit; font-weight: 800; cursor: pointer; }
.series-switcher button.active { background: var(--ebm-green); color: #fff; }
.series-switcher button[data-series-target="zsg"].active { background: var(--ebm-gas-blue); }
[data-series-panel][hidden] { display: none !important; }
.series-panel { min-height: 390px; }
.series-panel .grid { align-items: stretch; }
.contact-grid > * { min-width: 0; }
.gas-accent { border-top: 3px solid var(--ebm-gas-blue); }
.solid-accent { border-top: 3px solid var(--ebm-orange); }

.technology-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.technology-band { min-height: 270px; padding: 26px; border: 1px solid var(--ebm-border); border-radius: var(--radius-lg); background: var(--ebm-white); }
.technology-band[data-tech="indirect"] { border-top: 4px solid var(--ebm-green); }
.technology-band[data-tech="straw"] { border-top: 4px solid var(--ebm-gold); }
.technology-band[data-tech="direct"] { border-top: 4px solid var(--ebm-orange); }
.technology-band p { color: var(--ebm-muted); }
.technical-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; align-items: stretch; }
.technical-flow > div { position: relative; min-height: 112px; padding: 18px; border: 1px solid var(--ebm-border); border-radius: var(--radius-lg); background: var(--ebm-white); }
.technical-flow > div:not(:last-child)::after { content: ""; position: absolute; right: -6px; top: 50%; width: 12px; height: 2px; background: var(--ebm-gold); }

.transport-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.transport-nav a { min-height: 112px; padding: 20px; border: 1px solid var(--ebm-border); border-left: 4px solid var(--ebm-green); border-radius: var(--radius-lg); background: var(--ebm-white); }
.transport-nav strong { display: block; margin-bottom: 6px; }
.transport-nav span { color: var(--ebm-muted); font-size: 14px; }

.calculator-shell { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 24px; align-items: start; }
.calculator-panel { padding: 24px; border: 1px solid var(--ebm-border); border-radius: var(--radius-lg); background: var(--ebm-white); box-shadow: var(--shadow-soft); }
.calculator-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.calculator-group { padding: 18px; border: 1px solid var(--ebm-border); border-radius: var(--radius-lg); }
.calculator-group h2 { font-size: 22px; margin: 0 0 14px; }
.calculator-group.current { border-top: 4px solid var(--ebm-gas-blue); }
.calculator-group.alternative { border-top: 4px solid var(--ebm-orange); }
.calculator-panel label { display: grid; gap: 6px; margin-bottom: 12px; font-size: 13px; font-weight: 750; }
.calculator-panel input, .calculator-panel select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--ebm-border); border-radius: var(--radius-md); background: var(--ebm-white); color: var(--ebm-graphite); font: inherit; }
.calculator-results { position: sticky; top: 96px; padding: 24px; border-radius: var(--radius-lg); background: var(--ebm-green-dark); color: #fff; }
.result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.result-item { min-height: 84px; padding: 12px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-md); }
.result-item small { display: block; color: #b8cdc4; }
.result-item strong { display: block; margin-top: 4px; font-size: 18px; }
.result-item.savings { border-color: rgba(197,161,60,.56); }
.calculator-results .disclaimer { color: #b8cdc4; font-size: 12px; }
.calculator-future { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.calculator-future article { min-height: 120px; padding: 18px; border: 1px solid var(--ebm-border); border-radius: var(--radius-lg); background: var(--ebm-white); }
.calculator-future small { color: var(--ebm-muted); }

.mobile-cta { border-radius: var(--radius-lg); }
.mobile-cta a { border-radius: var(--radius-md); }
.mobile-cta .write { background: #eef4f1; }
.mobile-cta .calculate { background: var(--ebm-orange); color: #fff; }
.mobile-cta .select { background: var(--ebm-graphite); color: var(--ebm-white); }

.reveal-ready { opacity: 0; transform: translateY(14px); transition: opacity var(--motion-slow), transform var(--motion-slow); }
.reveal-ready.is-visible { opacity: 1; transform: none; }
.skeleton { min-height: 80px; background: var(--ebm-light); border: 1px solid var(--ebm-border); animation: ebmPulse 1.4s ease-in-out infinite; }
.state-success { border-left: 4px solid var(--ebm-green); }
.state-error { border-left: 4px solid #b42318; }
.empty-state { padding: 28px; border: 1px dashed var(--ebm-border); border-radius: var(--radius-lg); color: var(--ebm-muted); text-align: center; }
.context-brand-logo { display: block; width: min(260px, 56vw); height: 72px; margin: 0 0 18px; object-fit: contain; object-position: left center; }
.card-brand-mark { display: block; width: 120px; height: 38px; margin-bottom: 12px; object-fit: contain; object-position: left center; }
.product-media-shell { min-width: 0; }
.product-media-tabs { display: flex; gap: 6px; margin-bottom: 10px; padding: 4px; border: 1px solid var(--ebm-border); border-radius: var(--radius-md); background: var(--ebm-white); }
.product-media-tabs button { min-height: 42px; flex: 1; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--ebm-muted); font: inherit; font-weight: 800; cursor: pointer; }
.product-media-tabs button.active { background: var(--ebm-green); color: #fff; }
.product-media-panel[hidden] { display: none !important; }
.product-media-panel { min-height: 440px; border: 1px solid var(--ebm-border); border-radius: var(--radius-lg); background: var(--ebm-white); overflow: hidden; }
.product-media-panel.product-image { display: grid; place-items: center; }
.product-media-panel.product-image.product-photo-gallery { display: grid; grid-template-rows: minmax(0, 1fr) auto; place-items: stretch; min-width: 0; }
.product-photo-stage { min-height: 350px; display: grid; place-items: center; padding: 12px; overflow: hidden; }
.product-photo-stage > img { width: 100%; height: 100%; max-height: 500px; object-fit: contain; }
.product-photo-thumbs { display: flex; gap: 8px; max-width: 100%; overflow-x: auto; padding: 10px; border-top: 1px solid var(--ebm-border); scrollbar-width: thin; }
.product-photo-thumbs button { flex: 0 0 92px; width: 92px; height: 68px; padding: 3px; border: 2px solid transparent; border-radius: var(--radius-sm); background: var(--ebm-light); cursor: pointer; }
.product-photo-thumbs button.active { border-color: var(--ebm-green); }
.product-photo-thumbs img { display: block; width: 100%; height: 100%; object-fit: contain; }
.product-media-panel model-viewer { display: block; width: 100%; height: 440px; background: var(--ebm-light); }
.product-media-panel video { display: block; width: 100%; height: 440px; object-fit: contain; background: #07130f; }
.product-media-panel[data-media-panel="video"] { display: grid; place-items: center; padding: 18px; }
.model-loading { position: absolute; z-index: 1; inset: 50% auto auto 50%; transform: translate(-50%, -50%); padding: 10px 14px; border-radius: var(--radius-sm); background: var(--ebm-white); color: var(--ebm-muted); box-shadow: var(--shadow-soft); }
.product-media-panel[data-media-panel="model"] { position: relative; }
.model-controls { position: absolute; z-index: 2; left: 12px; right: 12px; bottom: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
.model-controls button { min-height: 38px; border: 1px solid var(--ebm-border); border-radius: var(--radius-sm); background: rgba(255,255,255,.94); color: var(--ebm-graphite); padding: 8px 11px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
@keyframes ebmPulse { 50% { opacity: .62; } }

html[data-theme="dark"] .hero .lead, html[data-theme="dark"] .fact span { color: #43574f; }
html[data-theme="dark"] .card-media, html[data-theme="dark"] .product-image, html[data-theme="dark"] .gallery img { background: #eef3f0; }
html[data-theme="dark"] .foot-logo { filter: brightness(0) invert(1); }

@media (max-width: 1100px) {
  h1 { font-size: 52px; }
  h2 { font-size: 36px; }
  .nav { gap: 13px; }
  .head-call { display: none; }
  .grid, .grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .value-grid, .calculator-future { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .wrap { width: min(100% - 36px, 1240px); }
  .grid, .grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .technology-grid, .transport-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator-shell { grid-template-columns: 1fr; }
  .calculator-results { position: static; }
  .technical-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .technical-flow > div::after { display: none; }
  .product-hero .cols { grid-template-columns: 1fr; }
  .nav { padding: 14px 18px; }
  .nav a { width: 100%; padding: 10px 0; }
}

@media (max-width: 640px) {
  :root { --section-gap-mobile: 44px; }
  .wrap { width: min(100% - 26px, 1240px); }
  .section { padding: var(--section-gap-mobile) 0; }
  h1, .hero h1, .page-hero h1, .product-hero h1 { font-size: 38px; line-height: 1.06; }
  h2 { font-size: 30px; }
  h3 { font-size: 20px; }
  .head { height: 64px; }
  .brand img { width: 205px; }
  .theme-button { width: 36px; height: 36px; }
  .hero, .hero .wrap { min-height: 600px; }
  .hero-copy { padding: 48px 0 116px; }
  .hero-bg { background-position: 66% center; }
  .hero-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fact { min-height: 88px; padding: 10px; }
  .grid, .grid.four, .value-grid, .stats, .process-grid, .process-grid-seven, .technology-grid, .transport-nav, .calculator-grid, .calculator-future, .technical-flow, .gallery { grid-template-columns: 1fr; }
  .card-media { height: 238px; }
  .series-switcher { width: 100%; }
  .series-switcher button { min-width: 0; flex: 1; font-size: 13px; }
  .product-image, .product-image img { min-height: 300px; height: 300px; }
  .product-media-panel, .product-media-panel model-viewer, .product-media-panel video { min-height: 300px; height: 300px; }
  .product-media-panel.product-photo-gallery { min-height: 0; height: auto; }
  .product-photo-stage { min-height: 280px; height: 280px; padding: 8px; }
  .product-photo-stage > img { min-height: 0; height: 100%; max-height: 100%; }
  .model-controls button { flex: 1; min-width: 120px; }
  .calculator-panel, .calculator-results { padding: 18px; }
  .result-grid { grid-template-columns: 1fr; }
  .mobile-cta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); left: 8px; right: 8px; bottom: 8px; padding: 6px; gap: 5px; }
  .mobile-cta a { min-width: 0; padding: 9px 4px; font-size: 11px; line-height: 1.1; display: grid; place-items: center; }
  .footer { padding-bottom: 98px; }
  .horizontal-mobile { display: grid; grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: 1fr; width: 100%; max-width: 100%; min-width: 0; overflow-x: visible; scroll-snap-type: none; padding-bottom: 0; }
  .horizontal-mobile > * { scroll-snap-align: none; }
}

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

/* prelaunch-catalog-2026 */
.brand img,.foot-logo{object-fit:contain;object-position:left center}
.product-price-note{margin:14px 0;padding:12px 14px;border-left:4px solid var(--ebm-gold);background:rgba(197,161,60,.09);color:var(--ebm-graphite);font-size:14px;font-weight:750}
.catalog-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.catalog-tree-group{padding:20px;border:1px solid var(--ebm-border);border-radius:var(--radius-lg);background:var(--ebm-white)}
.catalog-tree-group h2{margin:0 0 12px;font-size:22px}.catalog-tree-group h2 a{color:var(--ebm-green)}
.catalog-tree-links{display:grid;gap:8px}.catalog-tree-links a{color:var(--ebm-muted);font-size:14px}.catalog-tree-links a:hover{color:var(--ebm-green)}
.card-media img{width:100%;height:100%;object-fit:contain}
.site-header .brand{display:flex;align-items:center;height:100%;min-width:170px}.site-header .brand img{max-height:64px}
.footer .foot-logo{max-width:180px;max-height:180px}
html[data-theme="dark"] .product-price-note{color:#edf6f1;background:rgba(197,161,60,.14)}
@media(max-width:980px){.catalog-tree{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.catalog-tree{grid-template-columns:1fr}.site-header .brand img{max-height:54px}.footer .foot-logo{max-width:150px}}

/* Live demo additions: compact solution cards and honest missing-media state. */
.solutions-grid { align-items: stretch; }
.solution-card .card-media {
  background-position: center;
  background-size: cover;
  padding: 0;
}
.solution-card[data-solution="farm"] .card-media { background-image: var(--ebm-card-zsm); }
.solution-card[data-solution="pro"] .card-media { background-image: var(--ebm-card-cleaning); }
.solution-card[data-solution="industrial"] .card-media { background-image: var(--ebm-card-transport); }
.solution-card[data-solution="retrofit"] .card-media { background-image: var(--ebm-card-modernization); }
.solution-card[data-solution="custom"] .card-media { background-image: var(--ebm-card-service); }
.media-placeholder {
  display: grid;
  place-items: center;
  min-height: 260px;
  padding: 24px;
  background: #edf2ef;
  color: #56645e;
  font-weight: 800;
  text-align: center;
}
html[data-theme="dark"] .media-placeholder {
  background: #17241f;
  color: #c8d3ce;
}
