.stacker-page { background: #fff; }

/* Hero */
.stacker-hero { position: relative; min-height: min(900px,100vh); margin-top:72px; overflow:hidden; background:#0d1a22; color:#fff; }
.stacker-hero__media,.stacker-hero__shade { position:absolute; inset:0; }
.stacker-hero__media img { width:100%; height:100%; object-fit:cover; object-position:62% center; filter:saturate(.78) contrast(1.04); }
.stacker-hero__shade { background:linear-gradient(90deg,rgba(5,14,19,.98),rgba(5,14,19,.88) 43%,rgba(5,14,19,.32) 76%,rgba(5,14,19,.1)),linear-gradient(0deg,rgba(5,14,19,.78),transparent 52%); }
.stacker-hero__inner { position:relative; z-index:1; padding:30px 0 58px; }
.stacker-breadcrumbs { margin-bottom:70px; }
.stacker-breadcrumbs ol { margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; list-style:none; }
.stacker-breadcrumbs li { color:rgba(255,255,255,.42); font-size:.64rem; }
.stacker-breadcrumbs li:not(:last-child)::after { content:'→'; margin-left:8px; color:rgba(180,211,214,.65); }
.stacker-breadcrumbs a:hover { color:#b4d3d6; }
.stacker-hero__layout { display:grid; grid-template-columns:1.16fr .5fr; gap:80px; align-items:end; }
.stacker-hero h1 { max-width:950px; margin:0; font-size:clamp(3.4rem,6.4vw,7rem); font-weight:800; letter-spacing:-.07em; line-height:.9; }
.stacker-hero h1 em { display:block; color:#b4d3d6; font-style:normal; }
.stacker-hero__layout>div:first-child>p { max-width:680px; margin:34px 0 0; color:rgba(255,255,255,.7); font-size:1.05rem; line-height:1.72; }
.stacker-hero__facts { margin-top:42px; display:flex; flex-wrap:wrap; gap:12px 26px; }
.stacker-hero__facts span { position:relative; padding-left:16px; color:rgba(255,255,255,.68); font-size:.7rem; font-weight:600; }
.stacker-hero__facts span::before { content:''; position:absolute; top:.4em; left:0; width:6px; height:6px; border-radius:50%; background:#cc000c; }
.stacker-hero__module { min-height:270px; padding:28px; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid rgba(180,211,214,.3); background:rgba(5,14,19,.72); backdrop-filter:blur(12px); }
.stacker-hero__module::before { content:attr(data-file); margin-bottom:auto; color:rgba(255,255,255,.28); font-size:.56rem; }
.stacker-hero__module span { color:#b4d3d6; font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.stacker-hero__module strong { margin:9px 0; font-size:2.4rem; letter-spacing:-.05em; }
.stacker-hero__module small { color:rgba(255,255,255,.48); line-height:1.45; }

/* Shared local headings */
.stacker-rhythm h2,.stacker-capacity h2,.stacker-charger h2,.stacker-bms h2,.stacker-production h2,.stacker-fleet h2,.stacker-data h2,.stacker-brands h2 { margin:0; font-size:clamp(2.2rem,4.2vw,4.3rem); font-weight:800; letter-spacing:-.055em; line-height:.98; }
.stacker-rhythm p,.stacker-capacity p,.stacker-charger p,.stacker-bms p,.stacker-production p,.stacker-fleet p,.stacker-data p,.stacker-brands p { margin:28px 0 0; color:rgba(0,0,0,.58); line-height:1.75; }

/* Fit */
.stacker-fit { background:#f4f7f7; }
.stacker-fit__grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:4px; }
.stacker-fit__core { min-height:390px; padding:36px; display:flex; flex-direction:column; justify-content:flex-end; background:#285f7e; color:#fff; }
.stacker-fit__core strong { margin-bottom:auto; color:#b4d3d6; font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; }
.stacker-fit__core span { max-width:14ch; font-size:1.9rem; font-weight:800; line-height:1.15; }
.stacker-fit__grid ul { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #dedede; border-left:1px solid #dedede; list-style:none; }
.stacker-fit__grid li { min-height:96px; padding:22px; display:flex; align-items:flex-end; border-right:1px solid #dedede; border-bottom:1px solid #dedede; background:#fff; font-size:.75rem; font-weight:600; }
.stacker-answer { max-width:880px; margin:34px 0 0 auto; padding-left:28px; border-left:3px solid #cc000c; color:#285f7e; font-size:1.05rem; font-weight:600; line-height:1.55; }

/* Types */
.stacker-types__composition { min-height:650px; display:grid; grid-template-columns:1.2fr .8fr .8fr; grid-template-rows:1fr 1fr; gap:4px; }
.stacker-types article { position:relative; min-height:260px; padding:28px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; background:#eaf0f0; }
.stacker-types article.is-photo { grid-row:1/3; color:#fff; }
.stacker-types article.is-wide { grid-column:2/4; background:#285f7e; color:#fff; }
.stacker-types img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.78); }
.stacker-types article.is-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 35%,rgba(5,14,19,.9)); }
.stacker-types strong,.stacker-types span { position:relative; z-index:1; font-size:clamp(1.05rem,1.9vw,1.9rem); }
.stacker-types span { margin-top:8px; font-size:.72rem; opacity:.55; }

/* Retrofit */
.stacker-retrofit { background:#f5f6f6; }

/* Rhythm */
.stacker-rhythm { background:#0d1a22; color:#fff; }
.stacker-rhythm__inner,.stacker-capacity__inner,.stacker-charger__inner,.stacker-bms__inner,.stacker-production__inner,.stacker-fleet__inner,.stacker-data__inner,.stacker-brands__inner { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:center; }
.stacker-rhythm p,.stacker-bms p,.stacker-fleet p { color:rgba(255,255,255,.58); }
.stacker-rhythm ul { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.14); border-left:1px solid rgba(255,255,255,.14); list-style:none; }
.stacker-rhythm li { min-height:120px; padding:22px; display:flex; align-items:flex-end; border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.66); font-size:.72rem; line-height:1.45; }

/* Compact */
.stacker-compact__visual { display:grid; grid-template-columns:1.15fr .85fr; gap:4px; }
.stacker-compact__visual>div { min-height:550px; padding:34px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(145deg,rgba(40,95,126,.94),rgba(13,26,34,.98)); color:#fff; }
.stacker-compact__visual>div::before { content:attr(data-file); margin-bottom:auto; color:rgba(255,255,255,.34); font-size:.58rem; }
.stacker-compact__visual>div span { color:#b4d3d6; font-size:.65rem; text-transform:uppercase; letter-spacing:.12em; }
.stacker-compact__visual>div strong { margin:12px 0; font-size:clamp(3rem,6vw,6rem); letter-spacing:-.07em; }
.stacker-compact__visual>div small { color:rgba(255,255,255,.5); }
.stacker-compact ul { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #dedede; border-left:1px solid #dedede; list-style:none; }
.stacker-compact li { padding:22px; display:flex; align-items:flex-end; border-right:1px solid #dedede; border-bottom:1px solid #dedede; font-size:.75rem; font-weight:600; }

/* Capacity */
.stacker-capacity { background:#f5f7f7; }
.stacker-capacity__formula { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }
.stacker-capacity__formula span { min-height:150px; padding:20px; display:flex; align-items:flex-end; background:#fff; border:1px solid #dedede; font-size:.7rem; font-weight:600; }
.stacker-capacity__formula i { display:none; }
.stacker-capacity__formula strong { grid-column:1/-1; min-height:180px; padding:28px; display:flex; align-items:flex-end; background:#285f7e; color:#fff; font-size:1.7rem; }

/* Day timeline */
.stacker-day { background:#285f7e; color:#fff; }
.stacker-day .traction-heading--split>p { color:rgba(255,255,255,.6); }
.stacker-day ol { position:relative; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); list-style:none; }
.stacker-day ol::before { content:''; position:absolute; top:58px; right:8%; left:8%; height:2px; background:#b4d3d6; }
.stacker-day li { position:relative; z-index:1; min-height:210px; padding:0 12px; text-align:center; }
.stacker-day li::before { content:''; width:14px; height:14px; margin:32px auto 26px; display:block; border:5px solid #285f7e; border-radius:50%; background:#b4d3d6; box-shadow:0 0 0 1px #b4d3d6; }
.stacker-day li.is-charge::before { background:#cc000c; box-shadow:0 0 0 1px #cc000c,0 0 22px rgba(204,0,12,.5); }
.stacker-day time { display:block; font-size:1.7rem; font-weight:800; }
.stacker-day li span { max-width:18ch; margin:8px auto 0; display:block; color:rgba(255,255,255,.62); font-size:.72rem; line-height:1.4; }
.stacker-day__footer { padding-top:32px; display:flex; gap:40px; align-items:center; justify-content:space-between; border-top:1px solid rgba(255,255,255,.18); }
.stacker-day__footer strong { max-width:600px; line-height:1.5; }

/* Shifts */
.stacker-shifts { background:#f5f6f6; }

/* Charger */
.stacker-charger { padding:130px 0; background:#0d1a22; color:#fff; }
.stacker-charger p { color:rgba(255,255,255,.58); margin-bottom:34px; }
.stacker-charger__flow { min-height:480px; display:grid; grid-template-columns:1fr; gap:4px; }
.stacker-charger__flow span { padding:24px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.15); background:rgba(40,95,126,.28); font-size:.78rem; font-weight:600; }
.stacker-charger__flow i { display:none; }

/* BMS */
.stacker-bms { background:#0d1a22; color:#fff; }

/* Production */
.stacker-production p { margin-bottom:34px; }
.stacker-production ol { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #dedede; border-left:1px solid #dedede; list-style:none; counter-reset:prod; }
.stacker-production li { counter-increment:prod; min-height:170px; padding:24px; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid #dedede; border-bottom:1px solid #dedede; font-size:.82rem; font-weight:600; }
.stacker-production li::before { content:counter(prod,decimal-leading-zero); color:#285f7e; font-size:.62rem; }

/* Fleet */
.stacker-fleet { background:#285f7e; color:#fff; }
.stacker-fleet p { margin-bottom:34px; }
.stacker-fleet ul { margin:0; padding:0; border-top:1px solid rgba(255,255,255,.18); list-style:none; }
.stacker-fleet li { padding:21px 0; border-bottom:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.7); font-size:.78rem; }

/* Series */
.stacker-series__scale { margin-bottom:34px; display:flex; align-items:center; justify-content:space-between; }
.stacker-series__scale>span { color:#285f7e; font-size:clamp(2.6rem,5vw,5rem); font-weight:800; letter-spacing:-.06em; }
.stacker-series__scale small { margin-top:8px; display:block; color:rgba(0,0,0,.48); font-size:.62rem; font-weight:500; letter-spacing:0; }
.stacker-series__scale i { color:#cc000c; font-style:normal; }

/* Cases */
.stacker-cases__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.stacker-cases article { padding:30px; border:1px solid #d8dede; background:#f4f6f6; }
.stacker-cases article>span { color:#285f7e; font-size:.62rem; font-weight:700; text-transform:uppercase; }
.stacker-cases article>div { min-height:180px; margin:24px 0; padding:18px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(145deg,rgba(40,95,126,.9),rgba(13,26,34,.97)); color:rgba(255,255,255,.7); font-size:.68rem; }
.stacker-cases article>div::before { content:attr(data-file); margin-bottom:auto; color:rgba(255,255,255,.34); font-size:.56rem; }
.stacker-cases dl { margin:0; }
.stacker-cases dt { margin-top:17px; color:rgba(0,0,0,.4); font-size:.57rem; font-weight:700; text-transform:uppercase; }
.stacker-cases dd { margin:6px 0 0; font-size:.73rem; }

/* Data */
.stacker-data { background:#eef2f2; }
.stacker-data p { margin-bottom:34px; }
.stacker-data ul { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(40,95,126,.2); border-left:1px solid rgba(40,95,126,.2); list-style:none; }
.stacker-data li { min-height:84px; padding:20px; display:flex; align-items:center; border-right:1px solid rgba(40,95,126,.2); border-bottom:1px solid rgba(40,95,126,.2); background:rgba(255,255,255,.56); font-size:.73rem; }

/* Brands */
.stacker-brands__architecture { min-height:350px; padding:40px; display:grid; gap:8px; align-content:center; background:#0d1a22; color:#fff; }
.stacker-brands__architecture span,.stacker-brands__architecture strong { padding:18px; border:1px solid rgba(255,255,255,.16); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.78rem; }
.stacker-brands__architecture strong { color:#b4d3d6; }
.stacker-brands__architecture i { display:none; }
.stacker-brands__architecture small { margin-top:15px; color:rgba(255,255,255,.42); }

/* Form */
.stacker-contact .production-form select { width:100%; padding:14px 0; border:0; border-bottom:1px solid rgba(13,26,34,.24); border-radius:0; outline:none; background:#fff; color:#0d1a22; }
.stacker-contact .production-form select:focus { border-color:#285f7e; }

@media (max-width:1200px) { .stacker-hero__layout { grid-template-columns:1fr .42fr; gap:50px; } .stacker-types__composition { min-height:580px; } }

@media (max-width:1024px) {
  .stacker-hero__layout,.stacker-fit__grid,.stacker-rhythm__inner,.stacker-capacity__inner,.stacker-charger__inner,.stacker-bms__inner,.stacker-production__inner,.stacker-fleet__inner,.stacker-data__inner,.stacker-brands__inner { grid-template-columns:1fr; gap:48px; }
  .stacker-hero__module { max-width:520px; min-height:190px; }
  .stacker-types__composition { grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr 1fr; }
  .stacker-types article.is-photo { grid-row:1/3; }
  .stacker-types article.is-wide { grid-column:1/3; }
  .stacker-compact__visual { grid-template-columns:1fr; }
  .stacker-cases__grid { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  .stacker-hero { min-height:840px; }
  .stacker-hero__media img { object-position:64% center; }
  .stacker-hero__shade { background:linear-gradient(90deg,rgba(5,14,19,.96),rgba(5,14,19,.58)),linear-gradient(0deg,rgba(5,14,19,.94),transparent 58%); }
  .stacker-breadcrumbs { margin-bottom:44px; }
  .stacker-hero h1 { font-size:clamp(2.7rem,11vw,4.5rem); }
  .stacker-hero__module { display:none; }
  .stacker-fit__grid ul,.stacker-compact ul,.stacker-production ol,.stacker-data ul { grid-template-columns:1fr; }
  .stacker-types__composition { min-height:0; grid-template-columns:1fr; grid-template-rows:none; }
  .stacker-types article,.stacker-types article.is-photo,.stacker-types article.is-wide { grid-column:auto; grid-row:auto; min-height:300px; }
  .stacker-rhythm ul { grid-template-columns:1fr; }
  .stacker-capacity__formula { grid-template-columns:1fr 1fr; }
  .stacker-capacity__formula strong { grid-column:1/-1; }
  .stacker-day ol { grid-template-columns:1fr; }
  .stacker-day ol::before { top:30px; bottom:30px; left:7px; width:2px; height:auto; }
  .stacker-day li { min-height:100px; padding:0 0 0 42px; display:grid; grid-template-columns:90px 1fr; align-items:center; text-align:left; }
  .stacker-day li::before { position:absolute; top:37px; left:0; margin:0; }
  .stacker-day li span { margin:0; }
  .stacker-day__footer { flex-direction:column; align-items:stretch; }
  .stacker-series__scale { flex-direction:column; align-items:stretch; gap:16px; }
  .stacker-series__scale i { display:none; }
  .stacker-series__scale>span { padding-bottom:15px; border-bottom:1px solid #dedede; }
}

@media (max-width:460px) {
  .stacker-rhythm h2,.stacker-capacity h2,.stacker-charger h2,.stacker-bms h2,.stacker-production h2,.stacker-fleet h2,.stacker-data h2,.stacker-brands h2 { font-size:2.2rem; }
  .stacker-hero__facts { flex-direction:column; }
  .stacker-capacity__formula { grid-template-columns:1fr; }
  .stacker-capacity__formula strong { grid-column:auto; }
}
