/* Industrial edition. Shared visual layer; original content and form logic stay intact. */
:root {
  --ink: #151b21;
  --navy: #19222b;
  --blue: #285675;
  --accent: #bb3037;
  --accent-dark: #95242b;
  --paper: #f5f5f1;
  --soft: #e9eceb;
  --soft-blue: #e6eaec;
  --line: #cbd1d1;
  --text: #222a30;
  --muted: #56626b;
  --radius: 0;
  --container: 1360px;
  --shadow: none;
  --industrial-heading: 'Bahnschrift', 'Arial Narrow', 'Segoe UI', sans-serif;
}
html { scroll-padding-top: 100px; }
body { background: var(--paper); font-family: 'Segoe UI', Arial, sans-serif; }
::selection { color: #fff; background: var(--accent); }
:focus-visible { outline: 3px solid #427faf; outline-offset: 5px; }
.container { width: min(calc(100% - 80px), var(--container)); }
.topbar { background: #19232c; font-size: 10px; letter-spacing: .035em; }
.topbar-inner { min-height: 30px; }
.site-header { background: #f5f5f1; backdrop-filter: none; border-bottom: 1px solid #c0c6c9; }
.header-inner { min-height: 88px; gap: 26px; }
.brand img { width: 186px; max-height: 61px; }
.brand-divider { height: 38px; margin: 0 18px; background: #b9c1c6; }
.brand-project strong { font-family: var(--industrial-heading); text-transform: uppercase; font-weight: 750; font-size: 18px; letter-spacing: .025em; }
.brand-project small { font-size: 10px; }
.site-nav { gap: 20px; }
.site-nav a { font-size: 11px; font-weight: 750; padding: 27px 0; }
.site-nav a:last-child { padding: 13px 16px; border: 1px solid var(--ink); }
.site-nav a:last-child::after { display: none; }
.site-nav a:last-child:hover { background: var(--ink); color: white; }
.site-header::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; background: var(--accent); transform: scaleX(var(--reading-progress, 0)); transform-origin: left; }
.button { border-radius: 0; min-height: 54px; font-size: 12px; font-weight: 750; letter-spacing: .015em; padding: 15px 22px; }
.button span { transition: transform .25s; }
.button:hover span { transform: translateX(4px); }
.button-accent { border: 1px solid #c94c51; }
.button-outline-light { background: rgba(19,27,35,.55); }
h1, h2, h3 { font-family: var(--industrial-heading); font-weight: 700; }
h2 { font-size: clamp(32px, 3.2vw, 47px); line-height: 1.07; letter-spacing: -.025em; }
.hero { background: #101820; padding: 58px 0 0; isolation: isolate; }
.industrial-hero-art { position: absolute; z-index: -3; inset: 0 0 125px; background: url('assets/industrial/factory-hero.webp') center right / cover no-repeat; animation: industrial-arrival 1.5s ease-out both; }
.hero::before { z-index: -2; inset: 0; background: linear-gradient(90deg,rgba(12,20,27,.94) 0%,rgba(12,20,27,.8) 32%,rgba(12,20,27,.2) 75%),linear-gradient(0deg,#101820 0%,transparent 55%); mask-image: none; }
.hero::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(211,227,237,.065) 25%); }
.hero-decoration { display: none; }
.hero-grid { display: block; }
.hero-copy { max-width: 820px; }
.hero-kicker, .section-kicker { font-family: 'Consolas', monospace; font-size: 11px; font-weight: 600; letter-spacing: .1em; }
.hero-kicker { display: flex; align-items: center; gap: 12px; color: #d5dce0; margin-bottom: 24px; }
.hero-kicker::before { content: ''; flex: 0 0 23px; height: 3px; background: #d74045; }
.hero h1 { max-width: 815px; font-size: clamp(44px, 4.6vw, 72px); text-transform: uppercase; line-height: 1.015; letter-spacing: -.018em; margin: 0 0 22px; text-wrap: balance; }
.hero h1 span { color: #e0e4e7; }
.hero-lead { max-width: 650px; font-size: 17px; line-height: 1.55; color: #cbd2d8; margin-bottom: 26px; }
.hero-actions { gap: 12px; }
.hero-meta { max-width: 700px; margin-top: 29px; border-top: 1px solid #47525b; }
.hero-meta div { padding: 16px 20px 24px 0; }
.hero-meta strong { font-size: 11px; letter-spacing: .02em; }
.hero-meta span { color: #acb8c3; font-size: 10px; }
.hero-system { position: relative; display: grid; grid-template-columns: 1.05fr 2.5fr; gap: 24px 35px; padding: 28px 0; margin-top: 22px; border: 0; border-top: 1px solid #63717c; background: #101820; box-shadow: none; backdrop-filter: none; }
.hero-system::before { content: ''; position: absolute; top: -1px; left: 0; width: 62px; height: 3px; background: #d74045; }
.system-head { border: 0; padding: 0; grid-template-columns: 1fr; align-content: start; gap: 7px; }
.system-head .status-dot { display: none; }
.system-head > small, .system-head > strong, .system-head > p { grid-column: 1; }
.system-head > small { color: #b4c4ce; font-family: 'Consolas',monospace; font-size: 9px; font-weight: 400; }
.system-head > strong { font-family: var(--industrial-heading); font-size: 24px; line-height: 1.15; max-width: 330px; }
.system-head p { color: #a9b6bf; font-size: 11px; }
.system-scale { display: grid; grid-template-columns: .8fr .9fr 1.3fr 1fr; padding: 0; }
.scale-item, .scale-item:nth-child(even) { min-height: 0; padding: 4px 15px 0 22px; border: 0; border-left: 1px solid #3c4852; }
.scale-item strong { font-family: var(--industrial-heading); font-size: clamp(30px,3.2vw,49px); font-weight: 550; letter-spacing: -.04em; white-space: nowrap; margin-bottom: 10px; }
.scale-item span { color: #b8c3cb; font-size: 11px; }
.scale-item-wide strong { font-size: clamp(24px,2.5vw,37px); color: #fff; }
.system-note { grid-column: 1 / -1; display: flex; gap: 10px; padding: 13px 0 0; border-color: #35424d; }
.system-note span { background: transparent; color: #d95155; border-radius: 0; width: 20px; height: 20px; }
.system-note strong { color: #aebcc6; font-size: 11px; font-weight: 450; }
.positioning { background: #e5e9e9; border-bottom: 1px solid #b9c3c7; }
.sales-channels { min-height: 105px; grid-template-columns: 240px 40px 1fr; gap: 22px; }
.channel-source span { font-family: 'Consolas',monospace; font-size: 9px; letter-spacing: .07em; }
.channel-source strong { font-family: var(--industrial-heading); font-size: 20px; }
.channel-arrow { color: var(--accent); }
.channel-routes { border-color: #b0bec4; background: rgba(255,255,255,.2); }
.channel-routes span { color: #283944; border-color: #b0bec4; font-family: 'Consolas',monospace; font-size: 12px; font-weight: 500; }
.section { padding: 68px 0; }
.section-head { gap: 50px; margin-bottom: 35px; align-items: start; }
.section-head > div { max-width: 660px; }
.section-head > p { max-width: 365px; font-size: 14px; padding-top: 27px; }
.section-kicker { color: #8c3339; margin-bottom: 17px; }
.service-grid { gap: 1px; border: 1px solid #bfc8cc; background: #bfc8cc; }
.service-card { position: relative; overflow: hidden; min-height: 272px; padding: 25px 28px; border: 0; background: #f5f5f1; box-shadow: none; transition: background .25s; }
.service-card:hover { background: #e8edee; transform: none; box-shadow: none; }
.service-icon { width: 45px; height: 45px; border: 1px solid #b7c4cc; background: none; color: #2c536d; margin-bottom: 28px; }
.service-icon svg { width: 25px; height: 25px; stroke-width: 1.3; }
.service-number { font-family: var(--industrial-heading); color: #8d9ca5; font-size: 31px; font-weight: 400; top: 26px; right: 28px; }
.service-card h3 { font-size: 26px; line-height: 1.04; letter-spacing: -.01em; max-width: 310px; }
.service-card p { font-size: 13px; max-width: 310px; margin-bottom: 16px; }
.service-card > a:not(.button) { font-size: 12px; }
.service-card-featured { background: #16222a; color: #fff; isolation: isolate; }
.service-card-featured::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(15,24,32,.93),rgba(15,24,32,.5)),url('assets/industrial/capacitors.webp') 76% 50% / cover; z-index: -1; transition: transform .7s; }
.service-card-featured:hover { background: #16222a; }
.service-card-featured:hover::before { transform: scale(1.04); }
.service-card-featured .service-icon { color: #c2d9e7; border-color: #607686; }
.service-card-featured h3, .service-card-featured > a:not(.button) { color: #fff; }
.service-card-featured p { color: #c1cbd2; }
.service-card-featured .service-number { color: #95a9b6; }
.service-card-cta { background: #dce3e5; justify-content: center; }
.service-card-cta h3 { font-size: 27px; max-width: 330px; }
.service-card-cta .service-cta-label { color: #7e3339; font-family: 'Consolas',monospace; }
.service-card-cta .button { background: #1c2934; }
.competence-section { background: #19232b; color: #fff; padding: 0; }
.competence-section > .container { display: grid; grid-template-columns: .9fr 1.15fr; column-gap: 55px; align-items: center; }
.competence-visual { position: relative; grid-row: 1 / 3; align-self: stretch; overflow: hidden; min-height: 360px; margin-left: -40px; }
.competence-visual img { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; transition: transform 1s; }
.competence-visual:hover img { transform: scale(1.035); }
.competence-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 65%,#19232b); }
.drawing-mark { position: absolute; z-index: 1; left: 24px; bottom: 24px; width: 48px; height: 48px; border-left: 1px solid #c7d6e2; border-bottom: 1px solid #c7d6e2; }
.competence-head { display: block; grid-column: 2; margin: 0; padding-top: 38px; }
.competence-head h2 { color: #f3f5f5; font-size: clamp(29px,2.7vw,38px); }
.competence-head .section-kicker { color: #b5c3ce; font-size: 10px; }
.competence-head > p { color: #b8c5ce; padding-top: 17px; font-size: 13px; max-width: 560px; margin: 0; }
.competence-line { grid-column: 2; gap: 6px; padding: 22px 0 38px; }
.competence-line span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 0; border: 1px solid #566570; color: #d4dfe5; background: transparent; font-size: 10px; font-weight: 450; }
.competence-line span:hover { color: #fff; border-color: #b6c7d2; transform: none; }
.competence-line svg { flex: 0 0 14px; width: 14px; height: 14px; margin: 0; stroke: #b5d1e2; }
.models-section { background: var(--paper); }
.model-row { grid-template-columns: 62px 1.2fr 1.5fr .9fr; min-height: 96px; gap: 22px; padding: 17px 0; }
.model-index { border: 1px solid #b2bfc7; width: 46px; height: 52px; color: #32566d; border-radius: 0; }
.model-row:hover .model-index { background: #253c4b; border-color: #253c4b; }
.model-name strong { font-family: var(--industrial-heading); font-size: 21px; line-height: 1.15; }
.model-name small { font-size: 11px; color: #5e6971; }
.model-logic { gap: 6px; }
.model-logic span { border: 0; border-bottom: 1px solid #aebcc5; padding: 8px 4px; background: transparent; font-size: 11px; }
.model-logic b { color: #9a3b42; }
.model-result { color: #2d4656; background: #e0e7e9; font-family: var(--industrial-heading); font-size: 15px; line-height: 1.2; padding: 9px 12px; max-width: 185px; }
.process-section { background: #172129; color: #fff; }
.process-section::after { display: none; }
.process-section .section-kicker { color: #b9c8d2; }
.process-section h2 { color: #fff; }
.process-section .section-head > p { color: #b9c6ce; }
.timeline { border-color: #50606b; grid-template-columns: repeat(5,minmax(0,1fr)); }
.timeline li { border-color: #50606b; padding: 22px 20px; min-height: 192px; }
.timeline li:last-child { background: #243a48; border-top: 2px solid #c2484e; padding-top: 20px; }
.timeline-icon { margin-bottom: 29px; color: #c7dce9; }
.timeline-icon small { color: #bdccd6; font-family: 'Consolas',monospace; font-weight: 400; }
.timeline strong { color: #fff; font-family: var(--industrial-heading); font-size: 21px; font-weight: 550; }
.timeline p { color: #b4c3ce; font-size: 11px; }
.timeline li:not(:last-child)::after { background: #172129; color: #c9dce8; border-color: #758a98; border-radius: 0; }
.request-section { background: #e8ebeb; padding: 65px 0; }
.request-shell { grid-template-columns: .85fr 1.15fr; gap: 70px; }
.request-intro { position: relative; }
.request-intro::after { content: ''; display: block; height: 160px; margin-top: 28px; background: linear-gradient(90deg,rgba(21,31,39,.1),rgba(21,31,39,.3)),url('assets/industrial/circuit-board.webp') center 48% / cover; }
.request-intro h2 { color: var(--ink); font-size: 43px; }
.request-intro > p:not(.section-kicker) { font-size: 15px; color: var(--muted); }
.request-contacts { margin-top: 26px; }
.request-contacts > * { padding: 14px 0; }
.request-contacts span { font-family: 'Consolas',monospace; color: #566872; font-size: 10px; }
.request-contacts strong { font-size: 14px; }
.request-form { padding: 32px; border: 1px solid #bac4c9; border-top: 3px solid #253c4c; border-radius: 0; box-shadow: none; background: #f6f7f4; }
.form-title strong { font-family: var(--industrial-heading); font-size: 23px; font-weight: 650; }
.request-form input:not([type=checkbox]), .request-form select, .request-form textarea { border-radius: 0; border-color: #b7c2c7; background: #fff; }
.request-form label > span { color: #384d5b; font-size: 11px; }
.request-form .consent > span { color: #53626b; }
.request-form .submit-button { font-size: 11px; }
.site-footer { background: #131c24; padding-top: 35px; }
.footer-main { gap: 55px; }
.footer-brand img { width: 185px; background: #f4f5f0; padding: 8px; }
.footer-brand strong { font-family: var(--industrial-heading); font-size: 20px; }
.footer-brand p, .footer-links a, .footer-contact a, .footer-contact span { color: #afbdc6; }
.footer-legal { border-color: #3c4a55; color: #a0b0ba; }
.footer-legal a { color: #becbd3; }
.product-brand strong { font-family: var(--industrial-heading); font-size: 23px; }
.products-hero { background: linear-gradient(90deg,rgba(12,20,27,.95),rgba(12,20,27,.4)),url('assets/industrial/circuit-board.webp') center / cover; }
.products-hero h1 { font-family: var(--industrial-heading); text-transform: uppercase; line-height: 1.03; }
.product-grid { gap: 1px; background: #bec8cf; border: 1px solid #bec8cf; }
.product-card { border: 0; background: #f6f7f3; }
.product-card:hover { box-shadow: none; transform: none; background: #edf0ed; }
.product-visual { background: #dfe5e6; border-bottom: 1px solid #b9c7ce; }
.product-visual::before, .product-visual::after { transform: none; border-color: #b6c5ce; }
.product-visual svg { color: #244f6b; }
.product-card h3 { font-family: var(--industrial-heading); }
/* Visible by default: animation adds emphasis without hiding content if JS is disabled. */
.industrial-enter { animation: industrial-reveal .7s cubic-bezier(.18,.6,.2,1) both; animation-delay: var(--stagger,0ms); }
@keyframes industrial-reveal { from { opacity: .35; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes industrial-arrival { from { opacity: .5; transform: scale(1.04); } to { opacity: 1; transform: scale(1); } }
@media (min-width: 1600px) { .competence-visual { margin-left: 0; } }
@media (max-width: 1170px) {
  .brand-project, .brand-divider { display: none; }
  .site-nav { gap: 18px; }
  .hero h1 { font-size: 57px; max-width: 730px; }
  .hero-copy { max-width: 760px; }
  .hero-system { grid-template-columns: .9fr 2fr; gap: 20px; }
  .scale-item, .scale-item:nth-child(even) { padding-left: 14px; }
  .scale-item strong { font-size: 35px; }
  .scale-item-wide strong { font-size: 27px; }
  .service-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .service-card { padding: 22px; }
  .service-card h3 { font-size: 24px; }
  .model-row { grid-template-columns: 52px 1.05fr 1.4fr .8fr; gap: 15px; }
  .model-result { grid-column: auto; justify-self: end; font-size: 13px; }
  .request-shell { gap: 35px; }
  .timeline li { padding: 20px 13px; }
  .timeline strong { font-size: 19px; }
}
@media (max-width: 960px) {
  .container { width: calc(100% - 48px); }
  .header-inner { min-height: 78px; }
  .site-nav { gap: 12px; }
  .site-nav a { font-size: 10px; }
  .brand img { width: 161px; }
  .hero h1 { font-size: 53px; max-width: 680px; }
  .hero-system { grid-template-columns: 1fr; }
  .system-head { grid-template-columns: 1fr 2fr; gap: 7px 25px; }
  .system-head > small { grid-column: 1; }
  .system-head > strong { grid-column: 2; grid-row: 1 / 3; max-width: 450px; }
  .system-head > p { grid-column: 1; }
  .scale-item:first-child { border-left: 0; padding-left: 0; }
  .sales-channels { grid-template-columns: 200px 22px 1fr; gap: 14px; }
  .channel-routes span { font-size: 10px; padding: 12px 5px; }
  .competence-section > .container { gap: 28px; }
  .competence-visual { margin-left: -24px; }
  .competence-head h2 { font-size: 30px; }
  .model-row { grid-template-columns: 46px 1fr 1.25fr; }
  .model-result { grid-column: 2 / -1; justify-self: start; font-size: 12px; padding: 6px 10px; }
  .timeline strong { font-size: 17px; }
  .request-intro h2 { font-size: 35px; }
}
@media (max-width: 820px) {
  html { scroll-padding-top: 88px; }
  .brand img { width: 185px; }
  .menu-toggle { width: 45px; height: 45px; border: 1px solid #aebbc3; }
  .site-nav { top: 78px; background: #f5f5f1; padding: 12px 24px 20px; border-color: #aebbc3; box-shadow: none; }
  .site-nav a { font-size: 15px; padding: 14px 0; }
  .site-nav a:last-child { margin-top: 9px; padding: 13px; }
  .hero { padding-top: 43px; }
  .industrial-hero-art { bottom: 250px; background-position: 68% 50%; }
  .hero::before { background: linear-gradient(90deg,rgba(12,20,27,.9),rgba(12,20,27,.52)),linear-gradient(0deg,#101820 12%,transparent 75%); }
  .hero h1 { font-size: clamp(38px,6.3vw,52px); }
  .hero-lead { font-size: 16px; }
  .sales-channels { grid-template-columns: 1fr; padding: 22px 0; gap: 14px; }
  .channel-arrow { display: none; }
  .section { padding: 50px 0; }
  .section-head { display: block; }
  .section-head > p { padding-top: 18px; max-width: 550px; }
  .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .competence-section { padding: 0; }
  .competence-head { padding: 28px 0 0; }
  .competence-head h2 { font-size: 28px; }
  .competence-line { padding-bottom: 30px; }
  .timeline { grid-template-columns: 1fr; }
  .timeline li, .timeline li:last-child { padding: 18px 20px 18px 81px; min-height: 89px; }
  .timeline-icon { position: absolute; top: 19px; left: 23px; flex-direction: column; gap: 5px; margin: 0; }
  .timeline-icon svg { width: 26px; height: 26px; }
  .timeline li:not(:last-child)::after { content: '↓'; top: auto; right: auto; bottom: -11px; left: 26px; }
  .timeline strong { font-size: 21px; }
  .timeline p { font-size: 12px; }
  .request-shell { grid-template-columns: 1fr; }
  .request-intro::after { display: none; }
  .request-contacts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
  .request-contacts strong { font-size: 12px; }
  .request-form { padding: 28px; }
  .footer-main { gap: 30px; }
}
@media (max-width: 560px) {
  .container { width: calc(100% - 32px); }
  .header-inner { min-height: 74px; }
  .brand img { width: 176px; }
  .site-nav { top: 74px; }
  .hero { padding-top: 32px; }
  .hero-kicker { font-size: 9px; line-height: 1.5; margin-bottom: 21px; gap: 9px; }
  .hero h1 { font-size: clamp(30px,8.6vw,45px); line-height: 1.075; letter-spacing: -.025em; }
  .hero-lead { font-size: 14px; line-height: 1.65; margin-bottom: 23px; }
  .hero-actions { flex-direction: column; gap: 8px; }
  .hero-actions .button { font-size: 11px; min-height: 50px; }
  .hero-meta { display: grid; grid-template-columns: 1fr; margin-top: 23px; }
  .hero-meta div { display: grid; grid-template-columns: 1fr 1.3fr; gap: 10px; align-items: start; padding: 10px 0; }
  .hero-meta strong { font-size: 10px; margin: 0; }
  .hero-meta span { font-size: 10px; }
  .hero-system { margin-top: 25px; padding: 22px 0; gap: 18px; }
  .system-head { display: block; }
  .system-head > small { display: block; margin-bottom: 7px; }
  .system-head > strong { display: block; max-width: 320px; font-size: 25px; }
  .system-head p { margin-top: 6px; }
  .system-scale { grid-template-columns: 1fr 1fr; row-gap: 20px; }
  .scale-item, .scale-item:nth-child(even) { padding: 3px 8px 0 15px; }
  .scale-item:nth-child(odd) { border-left: 0; padding-left: 0; }
  .scale-item strong { font-size: 39px; }
  .scale-item-wide strong { font-size: 30px; }
  .scale-item span { font-size: 10px; }
  .system-note strong { font-size: 10px; }
  .section { padding: 40px 0; }
  h2 { font-size: 33px; }
  .section-kicker { font-size: 10px; }
  .section-head { margin-bottom: 25px; }
  .section-head > p { font-size: 13px; }
  .channel-routes span { padding: 11px 2px; font-size: 9px; }
  .channel-source strong { font-size: 20px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: auto; padding: 25px; }
  .service-icon { margin-bottom: 25px; }
  .service-card h3 { font-size: 28px; }
  .service-card p { font-size: 13px; }
  .service-card-cta { padding-top: 30px; padding-bottom: 30px; }
  .competence-section { padding: 0; }
  .competence-section > .container { display: block; }
  .competence-visual { margin: 0 -16px; height: 215px; min-height: 0; }
  .competence-visual::after { background: linear-gradient(0deg,#19232b,transparent 60%); }
  .competence-head { padding-top: 20px; margin-bottom: 0; }
  .competence-head h2 { font-size: 31px; }
  .competence-line { padding: 22px 0 30px; }
  .competence-line span { flex: 0 1 auto; text-align: left; }
  .model-row { grid-template-columns: 42px minmax(0,1fr); gap: 11px 15px; padding: 21px 0; }
  .model-index { width: 38px; height: 49px; }
  .model-name strong { font-size: 22px; }
  .model-logic { grid-column: 2; }
  .model-logic span { font-size: 10px; padding: 5px 2px; }
  .model-result { grid-column: 2; font-size: 12px; }
  .request-section { padding: 40px 0; }
  .request-intro h2 { font-size: 36px; }
  .request-contacts { display: block; }
  .request-contacts strong { font-size: 14px; }
  .request-form { padding: 22px 18px; }
  .request-form .submit-button { width: 100%; min-height: 54px; }
  .form-title { align-items: start; }
  .footer-main { gap: 25px; }
  .footer-legal { gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
