/*
Theme Name: POSON Solar Systems
Theme URI: https://poson.net/
Author: POSON
Description: A fast, portable, inquiry-led B2B WordPress theme for solar and energy storage products.
Version: 0.11.2
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: poson-solar
*/

:root {
    --navy-950: #101442;
    --navy-900: #161b5c;
    --navy-800: #1d2088;
    --navy-700: #3135a1;
    --green-600: #e88900;
    --green-500: #f39800;
    --green-100: #fff0d5;
    --gold-500: #ffcb31;
    --ink: #231815;
    --muted: #5e6b76;
    --line: #d9e0e4;
    --soft: #f3f6f5;
    --white: #ffffff;
    --container: min(1280px, calc(100vw - 48px));
    --shadow: 0 24px 70px rgba(5, 19, 33, .12);
    --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
:where(a, button, input, textarea, select):focus-visible { outline: 3px solid var(--green-500); outline-offset: 4px; }
h1, h2, h3, h4 { margin: 0 0 .75em; color: var(--navy-950); font-weight: 700; letter-spacing: 0; line-height: 1.12; text-wrap: pretty; }
h1 { font-size: clamp(2.75rem, 5vw, 5.2rem); }
h2 { font-size: clamp(2.05rem, 3.4vw, 3.65rem); }
h3 { font-size: clamp(1.25rem, 1.75vw, 1.8rem); line-height: 1.18; }
p { margin: 0 0 1.4em; }
.container { width: var(--container); margin-inline: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -60px; left: 20px; z-index: 1000; padding: 12px 18px; background: var(--white); color: var(--navy-950); }
.skip-link:focus { top: 20px; }
.eyebrow { margin: 0 0 18px; color: var(--green-600); font-size: .73rem; font-weight: 800; letter-spacing: .18em; line-height: 1.3; text-transform: uppercase; }
.eyebrow--light { color: #ffd27d; }
.section { padding: clamp(80px, 9vw, 145px) 0; }
.section--flush-top { padding-top: 0; }
.section--soft { background: var(--soft); }
.section--navy { color: #dce8ed; background: var(--navy-950); }
.section--navy h2, .section--navy h3 { color: var(--white); }
.section-lead { color: var(--muted); font-size: clamp(1.1rem, 1.7vw, 1.4rem); line-height: 1.6; }
.section-heading { display: grid; grid-template-columns: minmax(0, .95fr) minmax(320px, .55fr); gap: clamp(36px, 6vw, 96px); align-items: end; margin-bottom: 56px; }
.section-heading > p { color: var(--muted); font-size: 1.08rem; }
.section-heading--light > p { color: #a9bbc4; }
.section-heading h2 { max-width: 760px; margin-bottom: 0; }
.split-heading { display: grid; grid-template-columns: .6fr 1.4fr; gap: clamp(38px, 7vw, 110px); align-items: start; }
.split-heading h2 { max-width: 880px; }
.split-heading .section-lead { max-width: 750px; }
.content-narrow { max-width: 900px; }
.entry-content > * + * { margin-top: 1.25em; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; color: var(--white); transition: background .3s ease, box-shadow .3s ease, transform .3s ease; }
body.admin-bar .site-header { top: 32px; }
.site-header.is-scrolled { color: var(--navy-950); background: rgba(255, 255, 255, .95); box-shadow: 0 10px 35px rgba(5, 19, 33, .08); backdrop-filter: blur(16px); }
.site-header__inner { display: flex; min-height: 88px; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 13px; min-width: max-content; }
.brand__logos { position: relative; display: block; width: clamp(132px, 11vw, 168px); aspect-ratio: 3.66 / 1; }
.brand__logo { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.brand__logo--color { position: absolute; inset: 0; opacity: 0; }
.brand__descriptor { padding-left: 13px; border-left: 1px solid rgba(255,255,255,.35); font-size: .52rem; font-weight: 800; letter-spacing: .18em; line-height: 1.35; }
.site-header.is-scrolled .brand__logo--white { opacity: 0; }
.site-header.is-scrolled .brand__logo--color { opacity: 1; }
.site-header.is-scrolled .brand__descriptor { border-left-color: rgba(35,24,21,.25); }
body.single-poson_product .site-header, body.term-solar-panels .site-header, body.error404 .site-header { color: var(--navy-950); background: rgba(255, 255, 255, .95); box-shadow: 0 10px 35px rgba(5, 19, 33, .08); backdrop-filter: blur(16px); }
body.single-poson_product .brand__logo--white, body.term-solar-panels .brand__logo--white, body.error404 .brand__logo--white { opacity: 0; }
body.single-poson_product .brand__logo--color, body.term-solar-panels .brand__logo--color, body.error404 .brand__logo--color { opacity: 1; }
body.single-poson_product .brand__descriptor, body.term-solar-panels .brand__descriptor, body.error404 .brand__descriptor { border-left-color: rgba(35,24,21,.25); }
body.single-poson_product .header-cta, body.term-solar-panels .header-cta, body.error404 .header-cta { border-color: var(--navy-950); }
.site-nav { margin-left: auto; }
.site-nav__list { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 38px); margin: 0; padding: 0; list-style: none; }
.site-nav__list > li { position: relative; display: flex; align-items: center; }
.site-nav__list > li > a { padding: 32px 0; font-size: .92rem; font-weight: 600; }
.site-nav__list > li > a::after { content: ""; position: absolute; right: 0; bottom: 24px; left: 0; height: 2px; background: var(--green-500); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.site-nav__list > li > a:hover::after, .site-nav__list > li > a:focus-visible::after { transform: scaleX(1); }
.site-nav__contact { display: none !important; }
.submenu-toggle { padding: 6px 0 6px 8px; border: 0; background: transparent; cursor: pointer; }
.header-cta { padding: 13px 18px; border: 1px solid rgba(255,255,255,.45); border-radius: 999px; font-size: .85rem; font-weight: 700; transition: background .2s ease, color .2s ease; }
.site-header.is-scrolled .header-cta { border-color: var(--navy-950); }
.header-cta:hover { color: var(--white); background: var(--green-600); border-color: var(--green-600); }
.nav-toggle { display: none; width: 46px; height: 46px; padding: 11px; border: 1px solid currentColor; border-radius: 50%; background: transparent; }
.nav-toggle > span:not(.screen-reader-text) { display: block; width: 100%; height: 1px; margin: 5px 0; background: currentColor; }
.mega-menu { position: fixed; top: 86px; right: 3vw; left: 3vw; display: grid; grid-template-columns: .8fr 1.7fr; gap: 55px; padding: 46px; color: var(--ink); background: rgba(255,255,255,.98); border: 1px solid rgba(7,27,47,.08); border-radius: 0 0 24px 24px; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(-12px); transition: opacity .2s ease, transform .2s ease; backdrop-filter: blur(18px); }
.has-mega-menu:hover .mega-menu, .has-mega-menu:focus-within .mega-menu, .has-mega-menu.is-open .mega-menu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.mega-menu__title { max-width: 430px; margin-bottom: .75em; color: var(--navy-950); font-size: 2rem; font-weight: 700; letter-spacing: 0; line-height: 1.14; text-wrap: pretty; }
.mega-menu__intro p:not(.eyebrow) { color: var(--muted); }
.mega-menu__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; }
.mega-menu__item { position: relative; display: grid; grid-template-columns: 42px 1fr; padding: 22px 0; border-bottom: 1px solid var(--line); }
.mega-menu__item strong { font-size: 1rem; }
.mega-menu__item > span:last-child { grid-column: 2; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.mega-menu__number { color: var(--green-600); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.mega-menu__item:hover strong { color: var(--green-600); }

.hero { position: relative; display: flex; min-height: 92vh; align-items: flex-end; color: var(--white); background-image: var(--hero-image); background-position: center; background-size: cover; overflow: hidden; }
.hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,19,33,.94) 0%, rgba(5,19,33,.78) 32%, rgba(5,19,33,.24) 58%, rgba(5,19,33,.16) 100%), linear-gradient(0deg, rgba(5,19,33,.68), transparent 48%); }
.hero__content { position: relative; z-index: 2; padding-top: 170px; padding-bottom: 155px; }
.hero h1 { max-width: 920px; color: var(--white); font-size: clamp(3rem, 4.35vw, 4.7rem); letter-spacing: 0; line-height: 1.1; text-wrap: pretty; }
.hero__copy { max-width: 760px; color: #e1ebef; font-size: clamp(1.02rem, 1.25vw, 1.2rem); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.hero__note { max-width: 660px; margin-top: 22px; color: rgba(255,255,255,.76); font-size: .76rem; }
.hero__rail { position: absolute; right: 0; bottom: 0; left: 0; z-index: 3; border-top: 1px solid rgba(255,255,255,.25); background: rgba(5,19,33,.46); backdrop-filter: blur(10px); }
.hero__rail-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.hero__rail-grid a { min-width: 0; padding: 18px; color: rgba(255,255,255,.62); font-size: .7rem; letter-spacing: .08em; transition: background .2s ease, color .2s ease; }
.hero__rail-grid a + a { border-left: 1px solid rgba(255,255,255,.2); }
.hero__rail-grid a:hover, .hero__rail-grid a:focus-visible { color: var(--white); background: rgba(255,255,255,.08); }
.hero__rail-grid strong { display: block; margin-top: 3px; color: var(--white); font-size: .82rem; letter-spacing: .02em; line-height: 1.35; }
.poson-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; padding: 13px 22px; border: 1px solid transparent; border-radius: 999px; font-size: .88rem; font-weight: 800; line-height: 1.2; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.poson-button:hover { transform: translateY(-2px); }
.poson-button--primary { color: var(--white); background: var(--green-600); }
.poson-button--primary:hover { background: #c97100; }
.poson-button--ghost { color: var(--white); border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.05); }
.poson-button--ghost:hover { background: rgba(255,255,255,.14); }
.poson-button--outline { color: var(--navy-950); border-color: var(--navy-950); background: transparent; }
.poson-button--light { color: var(--navy-950); background: var(--white); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--navy-950); font-size: .9rem; font-weight: 800; border-bottom: 1px solid currentColor; }
.text-link--light { color: var(--white); }

.category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.category-card { position: relative; min-height: 500px; background-image: linear-gradient(0deg, rgba(5,19,33,.87), rgba(5,19,33,.05) 70%), var(--card-image); background-position: center; background-size: cover; background-repeat: no-repeat; border-radius: var(--radius); overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.category-card--wide { min-height: 620px; grid-row: span 1; }
.category-card::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.2); border-radius: inherit; pointer-events: none; }
.category-card > a { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; color: var(--white); }
.category-card__top { display: flex; justify-content: space-between; color: rgba(255,255,255,.7); font-size: .75rem; font-weight: 700; letter-spacing: .08em; }
.category-card__content { max-width: 570px; transform: translateY(8px); transition: transform .35s ease; }
.category-card__content h3 { margin-bottom: 12px; color: var(--white); font-size: clamp(1.9rem, 2.8vw, 3.15rem); line-height: 1.1; }
.category-card__content > p:last-child { max-width: 500px; margin-bottom: 0; color: #d6e2e8; }
.category-card:hover .category-card__content { transform: translateY(0); }
.category-card:hover { transform: translateY(-4px); box-shadow: 0 24px 54px rgba(5,19,33,.18); }

.editorial { display: grid; grid-template-columns: 1.05fr .95fr; padding: 0; background: var(--navy-950); }
.editorial__image { min-height: 720px; background-image: var(--editorial-image); background-position: center; background-size: cover; }
.editorial__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(60px, 8vw, 130px); color: #b9c8d0; }
.editorial__content h2 { max-width: 680px; color: var(--white); }
.check-list { display: grid; gap: 14px; margin: 28px 0 38px; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 30px; }
.check-list li::before { content: "↗"; position: absolute; left: 0; color: var(--green-500); font-weight: 800; }
.check-list--light { color: #c7d5dc; }

.audience-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.audience-grid article { min-height: 310px; padding: 30px 26px; }
.audience-grid article + article { border-left: 1px solid rgba(255,255,255,.18); }
.audience-grid span { color: var(--green-500); font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.audience-grid h3 { margin-top: 72px; font-size: 1.4rem; }
.audience-grid p { color: #9fb0b8; font-size: .94rem; }

.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.product-grid--archive { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--line); border-radius: 18px; background: var(--white); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.product-card__media { position: relative; aspect-ratio: 1 / .76; background: #eaf0f1; overflow: hidden; }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.product-card:hover .product-card__media img { transform: scale(1.035); }
.product-card__concept { position: absolute; right: 10px; bottom: 10px; left: 10px; padding: 7px 9px; color: #dbe7ec; background: rgba(5,19,33,.78); border-radius: 8px; font-size: .62rem; text-align: center; backdrop-filter: blur(8px); }
.product-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.product-card__body h3 { font-size: 1.3rem; }
.product-card__body h3 a:hover { color: var(--green-600); }
.product-card__meta { display: grid; gap: 8px; margin: 8px 0 26px; color: var(--muted); font-size: .78rem; }
.product-card__body .text-link { margin-top: auto; align-self: flex-start; }
.product-card--pv-series .product-card__media { aspect-ratio: 1 / .9; background: radial-gradient(circle at 50% 38%, #ffffff 0%, #f4f6f8 58%, #e7ebef 100%); }
.product-card--pv-series .product-card__media::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(29,32,136,.08); border-radius: 13px; pointer-events: none; }
.product-card--pv-series .product-card__media img { position: relative; z-index: 1; width: 100%; height: 100%; padding: 24px 30px; object-fit: contain; filter: drop-shadow(0 18px 18px rgba(16,20,66,.18)); }
.product-card--pv-series:hover .product-card__media img { transform: translateY(-4px) scale(1.015); }

/* The POSN78BI datasheet artwork has an opaque white canvas. Multiply the
 * canvas into POSON's neutral display stages so the verified product itself
 * remains unchanged while the surrounding white rectangle disappears. */
img[src*="posn78bi-datasheet-product.png"] {
    mix-blend-mode: multiply;
    filter: none !important;
}

/* POSN48BI uses the verified all-black product artwork extracted from its
 * datasheet. Its near-black studio canvas is blended into dedicated dark
 * stages so the 96-cell product geometry remains untouched and visually
 * integrated instead of appearing as a rectangular image. */
img[src*="posn48bi-all-black-product.png"] {
    mix-blend-mode: screen;
    filter: none !important;
}
.product-card--posn48bi .product-card__media {
    background: radial-gradient(circle at 72% 38%, rgba(243,152,0,.2), transparent 29%), linear-gradient(145deg, #11141b, #050609 72%);
}
.product-card--posn48bi .product-card__media::after { border-color: rgba(255,255,255,.1); }
.product-card--posn48bi .product-card__media img { padding: 16px 28px; }
.product-card--posn48bi .product-card__series-badge { color: #101217; background: #f39800; box-shadow: 0 10px 28px rgba(243,152,0,.23); }
.product-card__series-badge { position: absolute; right: 18px; bottom: 18px; z-index: 2; padding: 8px 12px; color: var(--white); background: rgba(16,20,66,.94); border-radius: 999px; box-shadow: 0 10px 26px rgba(16,20,66,.2); font-size: .7rem; font-weight: 800; letter-spacing: .06em; }
.product-card--battery-series .product-card__media { aspect-ratio: 1.25 / .9; background: #080d22; }
.product-card--battery-series .product-card__media img { object-fit: contain; }
.product-card--battery-series .product-card__series-badge { color: var(--navy-950); background: var(--green-500); }
.product-card--pv-series .product-card__meta strong { color: var(--navy-950); font-weight: 800; }
.series-landing-heading { margin-top: 18px; }

/* POSNBAT low-voltage battery series */
.battery-catalog { background: var(--white); }
.battery-catalog-hero { position: relative; padding: 148px 0 100px; color: #dce4ef; background: radial-gradient(circle at 84% 16%, rgba(49,53,161,.55), transparent 28%), linear-gradient(135deg, #060a1b 0%, #0c1230 58%, #101442 100%); overflow: hidden; }
.battery-catalog-hero::before { content: ""; position: absolute; top: -18vw; right: -12vw; width: 56vw; height: 56vw; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: inset 0 0 0 7vw rgba(243,152,0,.035), inset 0 0 0 15vw rgba(255,255,255,.018); }
.battery-catalog-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.88fr) minmax(480px,1.12fr); gap: clamp(48px,7vw,110px); align-items: center; min-height: 620px; }
.back-link--light { display: inline-flex; margin-bottom: 52px; color: #b8c3d5; }
.battery-catalog-hero h1 { max-width: 720px; color: var(--white); font-size: clamp(3rem,5.3vw,5.5rem); line-height: 1.02; }
.battery-catalog-hero__copy > p:not(.eyebrow) { max-width: 670px; color: #b7c2d5; font-size: clamp(1.05rem,1.3vw,1.22rem); }
.battery-catalog-hero__facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 40px 0 34px; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.battery-catalog-hero__facts > div { padding: 20px 18px 20px 0; }
.battery-catalog-hero__facts > div + div { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.15); }
.battery-catalog-hero__facts strong, .battery-catalog-hero__facts span { display: block; }
.battery-catalog-hero__facts strong { color: var(--white); font-size: 1.08rem; line-height: 1.25; }
.battery-catalog-hero__facts span { margin-top: 7px; color: #8f9bb0; font-size: .7rem; line-height: 1.4; }
.battery-catalog-hero__visual { position: relative; min-height: 580px; border: 1px solid rgba(255,255,255,.12); border-radius: 32px; background: linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015)); box-shadow: 0 32px 80px rgba(0,0,0,.35); overflow: hidden; }
.battery-catalog-hero__visual::after { content: ""; position: absolute; inset: 24px; border: 1px solid rgba(255,255,255,.07); border-radius: 22px; pointer-events: none; }
.battery-catalog-hero__visual img { width: 100%; height: 100%; min-height: 580px; object-fit: cover; }
.battery-catalog-hero__label, .battery-catalog-hero__note { position: absolute; z-index: 2; padding: 10px 14px; border-radius: 999px; font-size: .67rem; font-weight: 800; letter-spacing: .1em; }
.battery-catalog-hero__label { top: 22px; left: 22px; color: var(--white); background: rgba(6,10,27,.72); }
.battery-catalog-hero__note { right: 22px; bottom: 22px; color: var(--navy-950); background: var(--green-500); }
.battery-family-section { background: linear-gradient(180deg,#fff,#f6f8fb); }
.battery-family-card { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(440px,.95fr); border: 1px solid var(--line); border-radius: 28px; background: var(--white); box-shadow: 0 24px 70px rgba(16,20,66,.09); overflow: hidden; }
.battery-family-card__visual { position: relative; min-height: 620px; background: #080d22; overflow: hidden; }
.battery-family-card__visual img { width: 100%; height: 100%; min-height: 620px; object-fit: cover; transition: transform .6s ease; }
.battery-family-card:hover .battery-family-card__visual img { transform: scale(1.025); }
.battery-family-card__visual > span { position: absolute; bottom: 24px; left: 24px; padding: 10px 15px; color: var(--white); background: rgba(6,10,27,.72); border: 1px solid rgba(255,255,255,.13); border-radius: 999px; font-size: .72rem; letter-spacing: .08em; backdrop-filter: blur(12px); }
.battery-family-card__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(44px,5vw,78px); }
.battery-family-card__content h2 { margin-bottom: 12px; font-size: clamp(2.7rem,4.2vw,4.4rem); }
.battery-family-card__lead { color: var(--muted); font-size: 1.08rem; }
.battery-family-card__models { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.battery-family-card__models > div { padding: 20px 14px 20px 0; }
.battery-family-card__models > div + div { padding-left: 14px; border-left: 1px solid var(--line); }
.battery-family-card__models span, .battery-family-card__models strong, .battery-family-card__models small { display: block; }
.battery-family-card__models span { color: var(--green-600); font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.battery-family-card__models strong { margin-top: 6px; color: var(--navy-950); font-size: 1.04rem; }
.battery-family-card__models small { margin-top: 4px; color: var(--muted); }
.battery-family-card__metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; }
.battery-family-card__metrics > div { padding: 14px 0; border-bottom: 1px solid var(--line); }
.battery-family-card__metrics > div:nth-child(even) { padding-left: 22px; border-left: 1px solid var(--line); }
.battery-family-card__metrics dt { color: var(--muted); font-size: .72rem; }
.battery-family-card__metrics dd { margin: 5px 0 0; color: var(--navy-950); font-weight: 700; }
.battery-family-card__actions { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 30px; }
.battery-footnote { max-width: 900px; margin: 22px 0 0; color: var(--muted); font-size: .74rem; }

.battery-detail { background: var(--white); }
.battery-detail-hero { position: relative; padding: 140px 0 96px; color: #dce4ef; background: radial-gradient(circle at 78% 18%,rgba(49,53,161,.48),transparent 30%),linear-gradient(135deg,#050819 0%,#0a1029 52%,#101442 100%); overflow: hidden; }
.battery-detail-hero::after { content: ""; position: absolute; top: 10%; right: -13vw; width: 52vw; height: 52vw; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; box-shadow: inset 0 0 0 8vw rgba(243,152,0,.035),inset 0 0 0 16vw rgba(255,255,255,.018); }
.breadcrumbs--light { color: #a9b5c9; }
.breadcrumbs--light a { color: #dbe3ef; }
.battery-detail-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.95fr) minmax(520px,1.05fr); gap: clamp(54px,7vw,112px); align-items: center; min-height: 650px; }
.battery-detail-hero h1 { max-width: 760px; color: var(--white); font-size: clamp(3.2rem,5.5vw,5.8rem); line-height: 1.01; }
.battery-detail-hero__lead { max-width: 700px; color: #b8c3d5; font-size: clamp(1.08rem,1.35vw,1.28rem); }
.battery-capacity-selector { margin: 34px 0 30px; }
.battery-capacity-selector__label { display: block; margin-bottom: 12px; color: #8f9bb0; font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.battery-capacity-selector > div { display: flex; flex-wrap: wrap; gap: 10px; }
.battery-capacity-selector a { padding: 10px 15px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #dbe3ef; font-size: .78rem; font-weight: 800; }
.battery-capacity-selector a:hover, .battery-capacity-selector a.is-active { color: var(--navy-950); background: var(--green-500); border-color: var(--green-500); }
.battery-detail-quickfacts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 720px; margin: 0 0 32px; border-top: 1px solid rgba(255,255,255,.15); }
.battery-detail-quickfacts > div { padding: 17px 18px 17px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.battery-detail-quickfacts > div:nth-child(even) { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.15); }
.battery-detail-quickfacts dt { color: #8f9bb0; font-size: .7rem; }
.battery-detail-quickfacts dd { margin: 4px 0 0; color: var(--white); font-size: 1.04rem; font-weight: 800; }
.battery-detail-hero__visual { position: relative; min-height: 610px; border: 1px solid rgba(255,255,255,.12); border-radius: 32px; background: rgba(255,255,255,.025); box-shadow: 0 34px 88px rgba(0,0,0,.38); overflow: hidden; }
.battery-detail-hero__visual img { width: 100%; height: 100%; min-height: 610px; object-fit: cover; }
.battery-detail-hero__series { position: absolute; top: 22px; left: 22px; z-index: 2; padding: 10px 14px; color: var(--white); background: rgba(5,8,25,.74); border-radius: 999px; font-size: .67rem; font-weight: 800; letter-spacing: .1em; }
.battery-detail-hero__selected { position: absolute; right: 22px; bottom: 22px; z-index: 2; min-width: 175px; padding: 15px 18px; color: var(--navy-950); background: rgba(255,255,255,.95); border-radius: 15px; box-shadow: 0 18px 40px rgba(0,0,0,.24); }
.battery-detail-hero__selected span, .battery-detail-hero__selected strong, .battery-detail-hero__selected small { display: block; }
.battery-detail-hero__selected span { color: var(--muted); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.battery-detail-hero__selected strong { margin-top: 5px; font-size: 1.1rem; }
.battery-detail-hero__selected small { margin-top: 2px; color: var(--muted); }
.battery-platform-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.battery-platform-grid article { min-height: 280px; padding: 30px 28px; }
.battery-platform-grid article + article { border-left: 1px solid var(--line); }
.battery-platform-grid span { color: var(--green-600); font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.battery-platform-grid h3 { margin-top: 66px; }
.battery-platform-grid p { color: var(--muted); }
.battery-selected-grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(480px,1.28fr); gap: clamp(50px,8vw,120px); align-items: start; }
.battery-selected-models { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 38px; }
.battery-selected-models a { padding: 18px 14px; border: 1px solid var(--line); background: var(--white); }
.battery-selected-models a:first-child { border-radius: 14px 0 0 14px; }
.battery-selected-models a:last-child { border-radius: 0 14px 14px 0; }
.battery-selected-models a + a { border-left: 0; }
.battery-selected-models a.is-active { color: var(--white); background: var(--navy-950); border-color: var(--navy-950); }
.battery-selected-models span,.battery-selected-models strong,.battery-selected-models small { display: block; }
.battery-selected-models span { font-size: .62rem; font-weight: 800; letter-spacing: .06em; }
.battery-selected-models strong { margin-top: 7px; font-size: .9rem; }
.battery-selected-models small { margin-top: 4px; color: var(--muted); }
.battery-selected-models a.is-active small { color: #abb5cc; }
.battery-selected-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--line); border-radius: 20px; background: var(--white); overflow: hidden; }
.battery-selected-specs > div { padding: 23px 24px; border-bottom: 1px solid var(--line); }
.battery-selected-specs > div:nth-child(even) { border-left: 1px solid var(--line); }
.battery-selected-specs > div:nth-last-child(-n+2) { border-bottom: 0; }
.battery-selected-specs span,.battery-selected-specs strong { display: block; }
.battery-selected-specs span { color: var(--muted); font-size: .72rem; }
.battery-selected-specs strong { margin-top: 7px; color: var(--navy-950); font-size: 1rem; }
.battery-comparison { border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.battery-comparison__row { display: grid; grid-template-columns: 1.15fr repeat(3,1fr); }
.battery-comparison__row > * { min-width: 0; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.battery-comparison__row > * + * { border-left: 1px solid var(--line); }
.battery-comparison__row:nth-child(odd):not(.battery-comparison__head) { background: #f7f9fb; }
.battery-comparison__row span { color: var(--muted); font-size: .76rem; }
.battery-comparison__row strong { color: var(--navy-950); font-size: .83rem; }
.battery-comparison__head { color: var(--white); background: var(--navy-950); }
.battery-comparison__head > * { color: var(--white); border-color: rgba(255,255,255,.14); }
.battery-comparison__row:last-child > * { border-bottom: 0; }
.battery-system-section { color: #b9c5d8; background: linear-gradient(135deg,#090e24,#101442); }
.battery-system-grid { display: grid; grid-template-columns: minmax(0,.75fr) minmax(520px,1.25fr); gap: clamp(52px,8vw,120px); }
.battery-system-grid h2 { color: var(--white); }
.battery-system-data { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; overflow: hidden; }
.battery-system-data > div { padding: 22px 24px; border-bottom: 1px solid rgba(255,255,255,.14); }
.battery-system-data > div:nth-child(even) { border-left: 1px solid rgba(255,255,255,.14); }
.battery-system-data > div:nth-last-child(-n+2) { border-bottom: 0; }
.battery-system-data dt { color: #8692a8; font-size: .7rem; }
.battery-system-data dd { margin: 6px 0 0; color: var(--white); font-weight: 700; }
.battery-information__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: clamp(50px,8vw,120px); align-items: start; }
.battery-information__grid > article:first-child { padding-top: 20px; }
.battery-application-panel { padding: clamp(38px,5vw,70px); color: #c5cfde; background: linear-gradient(145deg,#101442,#1d2088); border-radius: 24px; box-shadow: var(--shadow); }
.battery-application-panel h2 { color: var(--white); }
.battery-application-panel ul { display: grid; gap: 14px; padding-left: 20px; }
.battery-application-panel li::marker { color: var(--green-500); }
.battery-application-panel > p:last-child { margin-top: 30px; color: #9facbf; font-size: .78rem; }
.battery-detail-cta { padding: 82px 0; color: #c6d0df; background: #070b1d; }
.battery-detail-cta__inner { display: grid; grid-template-columns: 1fr .8fr; gap: 60px; align-items: center; }
.battery-detail-cta h2 { color: var(--white); }

/* POSN66BI catalog and detail experience */
.pv-catalog { background: var(--white); }
.pv-catalog-hero { position: relative; padding: 154px 0 92px; background: radial-gradient(circle at 12% 15%, rgba(243,152,0,.14), transparent 27%), linear-gradient(135deg, #ffffff 0%, #f4f7fb 58%, #edf1f8 100%); overflow: hidden; }
.pv-catalog-hero::after { content: ""; position: absolute; top: 70px; right: -12vw; width: 54vw; height: 54vw; border: 1px solid rgba(29,32,136,.1); border-radius: 50%; box-shadow: inset 0 0 0 7vw rgba(29,32,136,.025), inset 0 0 0 15vw rgba(243,152,0,.018); }
.pv-catalog-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .72fr); gap: clamp(52px, 8vw, 120px); align-items: center; min-height: 610px; }
.back-link--dark { margin-bottom: 55px; color: var(--muted); }
.pv-catalog-hero h1 { max-width: 820px; font-size: clamp(3rem, 5.5vw, 5.6rem); line-height: 1.02; }
.pv-catalog-hero__copy > p:not(.eyebrow) { max-width: 690px; color: var(--muted); font-size: clamp(1.06rem, 1.35vw, 1.25rem); }
.pv-catalog-hero__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 730px; margin-top: 45px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pv-catalog-hero__facts > div { padding: 22px 20px 22px 0; }
.pv-catalog-hero__facts > div + div { padding-left: 20px; border-left: 1px solid var(--line); }
.pv-catalog-hero__facts strong { display: block; color: var(--navy-950); font-size: clamp(1.15rem, 1.7vw, 1.55rem); line-height: 1.15; }
.pv-catalog-hero__facts span { display: block; margin-top: 7px; color: var(--muted); font-size: .73rem; line-height: 1.35; }
.pv-catalog-hero__visual { position: relative; display: grid; min-height: 610px; place-items: center; background: linear-gradient(145deg, #ffffff 0%, #f7f8f9 62%, #eef1f3 100%); border: 1px solid #dfe4e8; border-radius: 32px; box-shadow: 0 26px 70px rgba(35,24,21,.09); overflow: hidden; isolation: isolate; }
.pv-catalog-hero__visual::before { content: ""; position: absolute; inset: 24px; border: 1px solid rgba(35,24,21,.055); border-radius: 22px; pointer-events: none; }
.pv-catalog-hero__module { position: relative; z-index: 1; width: min(295px, 66%); height: 555px; object-fit: contain; filter: drop-shadow(0 28px 24px rgba(35,24,21,.18)); }
.pv-catalog-hero__model { position: absolute; right: 22px; bottom: 22px; z-index: 2; min-width: 176px; padding: 15px 19px; color: var(--navy-950); background: rgba(255,255,255,.94); border: 1px solid rgba(35,24,21,.12); border-radius: 14px; box-shadow: 0 14px 34px rgba(35,24,21,.11); backdrop-filter: blur(10px); }
.pv-catalog-hero__model span { display: block; color: var(--muted); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.pv-catalog-hero__model strong { display: block; margin-top: 4px; font-size: 1.35rem; }
.pv-model-section { position: relative; }
.pv-model-section__heading { align-items: center; }
.pv-model-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pv-model-card { position: relative; min-width: 0; background: var(--white); border: 1px solid #e1e5eb; border-radius: 24px; box-shadow: 0 12px 36px rgba(16,20,66,.055); overflow: hidden; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.pv-model-card:hover { transform: translateY(-8px); border-color: rgba(29,32,136,.25); box-shadow: 0 28px 70px rgba(16,20,66,.13); }
.pv-model-card__link { display: flex; min-height: 100%; flex-direction: column; }
.pv-model-card__visual { position: relative; display: grid; height: 390px; place-items: center; background: linear-gradient(145deg, #f8f9fb, #edf1f5); overflow: hidden; }
.pv-model-card__visual::after { content: ""; position: absolute; right: -30%; bottom: -55%; width: 100%; aspect-ratio: 1; border: 1px solid rgba(29,32,136,.1); border-radius: 50%; box-shadow: inset 0 0 0 50px rgba(29,32,136,.018); }
.pv-model-card__visual > img { position: relative; z-index: 1; width: 150px; height: 330px; object-fit: contain; filter: drop-shadow(0 22px 18px rgba(5,19,33,.18)); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.pv-model-card:hover .pv-model-card__visual > img { transform: translateY(-5px) scale(1.025); }
.pv-model-card__power { position: absolute; top: 22px; left: 22px; z-index: 3; color: var(--navy-950); font-size: 2rem; font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.pv-model-card__power small { margin-left: 2px; color: var(--green-600); font-size: .8rem; letter-spacing: 0; }
.pv-model-card__brand { position: absolute; top: 23px; right: 22px; z-index: 3; display: block; width: 92px; padding: 7px 8px; background: rgba(255,255,255,.86); border: 1px solid rgba(29,32,136,.1); border-radius: 7px; backdrop-filter: blur(8px); }
.pv-model-card__brand img { width: 100%; height: auto; }
.pv-model-card__body { display: flex; flex: 1; flex-direction: column; padding: 28px; }
.pv-model-card__body .eyebrow { margin-bottom: 12px; font-size: .64rem; }
.pv-model-card__body h2 { margin-bottom: 8px; font-size: 1.42rem; }
.pv-model-card__body > p:not(.eyebrow) { color: var(--muted); font-size: .88rem; }
.pv-model-card__metrics { margin: 18px 0 24px; border-top: 1px solid var(--line); }
.pv-model-card__metrics > div { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.pv-model-card__metrics dt { color: var(--muted); font-size: .7rem; }
.pv-model-card__metrics dd { margin: 0; color: var(--navy-950); font-size: .77rem; font-weight: 800; text-align: right; }
.pv-model-card__cta { display: flex; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 22px; color: var(--navy-950); border-top: 1px solid var(--line); font-size: .82rem; font-weight: 800; }
.pv-model-card:hover .pv-model-card__cta { color: var(--green-600); }
.pv-catalog-cta, .pv-detail-cta { padding: clamp(76px, 8vw, 120px) 0; color: #cbd5ea; background: linear-gradient(120deg, var(--navy-950), var(--navy-800)); }
.pv-catalog-cta__inner, .pv-detail-cta__inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .65fr); gap: clamp(45px, 8vw, 110px); align-items: end; }
.pv-catalog-cta h2, .pv-detail-cta h2 { max-width: 760px; margin: 0; color: var(--white); }
.pv-catalog-cta__inner > div:last-child p, .pv-detail-cta__inner > div:last-child p { color: #cbd5ea; }

.pv-detail { background: var(--white); }
.pv-detail-hero { padding: 140px 0 100px; background: radial-gradient(circle at 90% 5%, rgba(243,152,0,.12), transparent 24%), linear-gradient(145deg, #f7f8fb, #ffffff 68%); }
.pv-detail-grid { display: grid; grid-template-columns: minmax(390px, .82fr) minmax(0, 1.18fr); gap: clamp(54px, 8vw, 120px); align-items: center; }
.pv-detail-stage { position: relative; display: grid; min-height: 670px; place-items: center; background: linear-gradient(145deg, #f0f3f6, #e8edf1); border: 1px solid #dde3e8; border-radius: 30px; box-shadow: 0 24px 70px rgba(16,20,66,.09); overflow: hidden; }
.pv-detail-stage::before { content: ""; position: absolute; top: -35%; right: -35%; width: 80%; aspect-ratio: 1; border: 1px solid rgba(29,32,136,.12); border-radius: 50%; box-shadow: inset 0 0 0 60px rgba(29,32,136,.025); }
.pv-detail-stage__module { position: relative; z-index: 1; width: 270px; height: 570px; object-fit: contain; filter: drop-shadow(0 30px 28px rgba(5,19,33,.2)); transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.pv-detail-stage:hover .pv-detail-stage__module { transform: translateY(-7px) scale(1.012); }
.pv-detail-stage__label { position: absolute; top: 24px; left: 24px; z-index: 2; padding: 8px 12px; color: var(--navy-950); background: rgba(255,255,255,.84); border: 1px solid rgba(29,32,136,.12); border-radius: 999px; font-size: .7rem; font-weight: 800; backdrop-filter: blur(8px); }
.pv-detail-stage__brand { position: absolute; top: 24px; right: 24px; z-index: 2; display: block; width: 110px; padding: 8px 10px; background: rgba(255,255,255,.86); border: 1px solid rgba(29,32,136,.12); border-radius: 8px; backdrop-filter: blur(8px); }
.pv-detail-stage__brand img { width: 100%; }
.pv-detail-stage__power { position: absolute; right: 22px; bottom: 22px; z-index: 2; min-width: 175px; padding: 14px 18px; color: var(--white); background: rgba(16,20,66,.93); border-radius: 14px; box-shadow: 0 16px 36px rgba(16,20,66,.18); backdrop-filter: blur(10px); }
.pv-detail-stage__power span { display: block; color: #cbd5ea; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.pv-detail-stage__power strong { display: block; margin-top: 2px; font-size: 1.4rem; }
.pv-detail-summary h1 { max-width: 760px; font-size: clamp(2.6rem, 4.3vw, 4.8rem); line-height: 1.04; overflow-wrap: normal; }
.pv-detail-summary__lead { max-width: 720px; color: var(--muted); font-size: clamp(1.05rem, 1.35vw, 1.22rem); }
.pv-variant-selector { margin: 34px 0 30px; }
.pv-variant-selector__label { display: block; margin-bottom: 12px; color: var(--navy-950); font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pv-variant-selector > div { display: flex; flex-wrap: wrap; gap: 9px; }
.pv-variant-selector a { padding: 9px 13px; color: var(--muted); background: var(--white); border: 1px solid var(--line); border-radius: 999px; font-size: .78rem; font-weight: 800; transition: color .2s ease, border-color .2s ease, background .2s ease; }
.pv-variant-selector a:hover, .pv-variant-selector a.is-active { color: var(--white); background: var(--navy-800); border-color: var(--navy-800); }
.pv-detail-quickfacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 32px; border-top: 1px solid var(--line); }
.pv-detail-quickfacts > div { padding: 17px 18px 17px 0; border-bottom: 1px solid var(--line); }
.pv-detail-quickfacts > div:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--line); }
.pv-detail-quickfacts dt { color: var(--muted); font-size: .7rem; }
.pv-detail-quickfacts dd { margin: 3px 0 0; color: var(--navy-950); font-size: 1rem; font-weight: 800; }
.pv-spec-section { background: var(--white); }
.pv-spec-section__heading { align-items: center; }
.pv-spec-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 54px; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: var(--navy-950); overflow: hidden; }
.pv-spec-grid article { min-height: 215px; padding: 28px; color: #cbd5df; }
.pv-spec-grid article + article { border-left: 1px solid rgba(255,255,255,.14); }
.pv-spec-grid span { color: var(--green-500); font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.pv-spec-grid strong { display: block; margin-top: 55px; color: var(--white); font-size: clamp(1.3rem, 2vw, 1.8rem); line-height: 1.1; }
.pv-spec-grid p { margin: 8px 0 0; color: #9eafba; font-size: .8rem; }
.pv-spec-table { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--navy-950); }
.pv-spec-table > div { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(0, 1.2fr); gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.pv-spec-table > div:nth-child(odd) { padding-right: 34px; }
.pv-spec-table > div:nth-child(even) { padding-left: 34px; border-left: 1px solid var(--line); }
.pv-spec-table span { color: var(--muted); font-size: .78rem; }
.pv-spec-table strong { color: var(--navy-950); font-size: .92rem; }
.pv-electrical-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 38px; }
.pv-data-panel { padding: clamp(24px, 3vw, 38px); background: #f7f8fb; border: 1px solid #e1e5eb; border-radius: 22px; }
.pv-data-panel__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.pv-data-panel__head h3 { margin: 0; font-size: 1.35rem; }
.pv-data-panel__head span { color: var(--green-600); font-size: .66rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.pv-data-list { margin: 0; border-top: 1px solid var(--navy-950); }
.pv-data-list > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.pv-data-list dt { color: var(--muted); font-size: .76rem; }
.pv-data-list dd { margin: 0; color: var(--navy-950); font-size: .82rem; font-weight: 800; text-align: right; }
.pv-series-data { margin-top: 56px; }
.pv-series-data h3 { margin-bottom: 22px; font-size: 1.65rem; }
.pv-information__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, .86fr); gap: clamp(42px, 8vw, 110px); align-items: stretch; }
.pv-information__grid > article:first-child { padding: 24px 0; }
.pv-information__grid > article:first-child h2 { max-width: 680px; }
.pv-information__grid > article:first-child p:not(.eyebrow) { max-width: 760px; color: var(--muted); font-size: 1.02rem; }
.pv-application-panel { padding: clamp(34px, 4vw, 56px); color: #cbd5df; background: linear-gradient(145deg, var(--navy-950), var(--navy-800)); border-radius: 26px; box-shadow: 0 28px 70px rgba(16,20,66,.16); }
.pv-application-panel h2 { color: var(--white); font-size: clamp(2rem, 3vw, 3rem); }
.pv-application-panel ul { display: grid; gap: 16px; margin: 30px 0; padding: 0; list-style: none; }
.pv-application-panel li { position: relative; padding: 0 0 16px 28px; border-bottom: 1px solid rgba(255,255,255,.16); }
.pv-application-panel li::before { content: "↗"; position: absolute; left: 0; color: var(--green-500); font-weight: 800; }
.pv-application-panel__note { margin: 0; color: #93a6b3; font-size: .77rem; }

/* All-black series: premium dark presentation confined to POSN48BI. */
.pv-catalog--all-black { color: #d5d8df; background: #090b10; }
.pv-catalog--all-black .pv-catalog-hero {
    color: #d5d8df;
    background: radial-gradient(circle at 76% 42%, rgba(243,152,0,.2), transparent 22%), radial-gradient(circle at 15% 14%, rgba(255,255,255,.06), transparent 24%), linear-gradient(135deg, #050609, #0d1017 58%, #161a23);
}
.pv-catalog--all-black .pv-catalog-hero::after { border-color: rgba(255,255,255,.08); box-shadow: inset 0 0 0 7vw rgba(255,255,255,.018), inset 0 0 0 15vw rgba(243,152,0,.018); }
.pv-catalog--all-black .back-link--dark { color: #9fa6b1; }
.pv-catalog--all-black .pv-catalog-hero h1 { color: #ffffff; }
.pv-catalog--all-black .pv-catalog-hero__copy > p:not(.eyebrow) { color: #adb4bf; }
.pv-catalog--all-black .pv-catalog-hero__facts { border-color: rgba(255,255,255,.14); }
.pv-catalog--all-black .pv-catalog-hero__facts > div + div { border-color: rgba(255,255,255,.14); }
.pv-catalog--all-black .pv-catalog-hero__facts strong { color: #ffffff; }
.pv-catalog--all-black .pv-catalog-hero__facts span { color: #929ba7; }
.pv-catalog--all-black .pv-catalog-hero__visual {
    background: radial-gradient(circle at 70% 42%, rgba(243,152,0,.17), transparent 28%), linear-gradient(145deg, #11141b, #030405 78%);
    border-color: rgba(255,255,255,.12);
    box-shadow: 0 36px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.05);
}
.pv-catalog--all-black .pv-catalog-hero__visual::before { border-color: rgba(255,255,255,.08); }
.pv-catalog--all-black .pv-catalog-hero__module { width: min(330px, 72%); filter: none; }
.pv-catalog--all-black .pv-catalog-hero__model { color: #ffffff; background: rgba(11,13,19,.88); border-color: rgba(255,255,255,.14); box-shadow: 0 16px 42px rgba(0,0,0,.38); }
.pv-catalog--all-black .pv-catalog-hero__model span { color: #f39800; }
.pv-catalog--all-black .pv-model-section { background: linear-gradient(180deg, #0a0c11, #10131a); }
.pv-catalog--all-black .pv-model-section h2 { color: #ffffff; }
.pv-catalog--all-black .pv-model-section__heading > p { color: #9fa7b2; }
.pv-model-card--all-black { color: #d0d4db; background: #12151c; border-color: rgba(255,255,255,.1); box-shadow: 0 18px 46px rgba(0,0,0,.22); }
.pv-model-card--all-black:hover { border-color: rgba(243,152,0,.42); box-shadow: 0 32px 78px rgba(0,0,0,.38); }
.pv-model-card--all-black .pv-model-card__visual { background: radial-gradient(circle at 68% 42%, rgba(243,152,0,.18), transparent 27%), linear-gradient(145deg, #141821, #050609 78%); }
.pv-model-card--all-black .pv-model-card__visual::after { border-color: rgba(255,255,255,.08); box-shadow: inset 0 0 0 50px rgba(255,255,255,.012); }
.pv-model-card--all-black .pv-model-card__visual > img { filter: none; }
.pv-model-card--all-black .pv-model-card__power { color: #ffffff; }
.pv-model-card--all-black .pv-model-card__brand { background: rgba(10,12,17,.76); border-color: rgba(255,255,255,.11); }
.pv-model-card--all-black .pv-model-card__body h2,
.pv-model-card--all-black .pv-model-card__metrics dd,
.pv-model-card--all-black .pv-model-card__cta { color: #ffffff; }
.pv-model-card--all-black .pv-model-card__body > p:not(.eyebrow),
.pv-model-card--all-black .pv-model-card__metrics dt { color: #9ba3ae; }
.pv-model-card--all-black .pv-model-card__metrics,
.pv-model-card--all-black .pv-model-card__metrics > div,
.pv-model-card--all-black .pv-model-card__cta { border-color: rgba(255,255,255,.1); }
.pv-model-card--all-black:hover .pv-model-card__cta { color: #f39800; }

.pv-detail--all-black .pv-detail-hero {
    color: #d5d8df;
    background: radial-gradient(circle at 16% 20%, rgba(243,152,0,.1), transparent 25%), linear-gradient(135deg, #050609, #11141b 64%, #181c25);
}
.pv-detail--all-black .breadcrumbs { color: #8f98a4; }
.pv-detail--all-black .pv-detail-stage {
    background: radial-gradient(circle at 68% 42%, rgba(243,152,0,.16), transparent 28%), linear-gradient(145deg, #151923, #030405 78%);
    border-color: rgba(255,255,255,.12);
    box-shadow: 0 34px 85px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
}
.pv-detail--all-black .pv-detail-stage::before { border-color: rgba(255,255,255,.08); box-shadow: inset 0 0 0 60px rgba(255,255,255,.012); }
.pv-detail--all-black .pv-detail-stage__module { filter: none; }
.pv-detail--all-black .pv-detail-stage__label,
.pv-detail--all-black .pv-detail-stage__brand { color: #ffffff; background: rgba(9,11,16,.8); border-color: rgba(255,255,255,.12); }
.pv-detail--all-black .pv-detail-stage__power { color: #101217; background: rgba(243,152,0,.96); box-shadow: 0 16px 38px rgba(243,152,0,.24); }
.pv-detail--all-black .pv-detail-stage__power span { color: #4f3310; }
.pv-detail--all-black .pv-detail-summary h1 { color: #ffffff; }
.pv-detail--all-black .pv-detail-summary__lead { color: #aab1bc; }
.pv-detail--all-black .pv-variant-selector__label { color: #ffffff; }
.pv-detail--all-black .pv-variant-selector a { color: #aab1bc; background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.14); }
.pv-detail--all-black .pv-variant-selector a:hover,
.pv-detail--all-black .pv-variant-selector a.is-active { color: #111318; background: #f39800; border-color: #f39800; }
.pv-detail--all-black .pv-detail-quickfacts { border-color: rgba(255,255,255,.14); }
.pv-detail--all-black .pv-detail-quickfacts > div { border-color: rgba(255,255,255,.14); }
.pv-detail--all-black .pv-detail-quickfacts > div:nth-child(even) { border-color: rgba(255,255,255,.14); }
.pv-detail--all-black .pv-detail-quickfacts dt { color: #8f98a4; }
.pv-detail--all-black .pv-detail-quickfacts dd { color: #ffffff; }
.pv-detail--all-black .poson-button--outline { color: #ffffff; border-color: rgba(255,255,255,.55); }
.pv-detail--all-black .poson-button--outline:hover { color: #111318; background: #ffffff; }

body.reveal-ready [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1); }
body.reveal-ready [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

.process-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10vw; align-items: start; }
.process-list { margin: 0; padding: 0; list-style: none; counter-reset: steps; }
.process-list li { display: grid; grid-template-columns: 65px 1fr; gap: 24px; padding: 30px 0; border-top: 1px solid var(--line); }
.process-list li:last-child { border-bottom: 1px solid var(--line); }
.process-list span { color: var(--green-600); font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.process-list h3 { margin-bottom: 8px; font-size: 1.35rem; }
.process-list p { margin-bottom: 0; color: var(--muted); }
.final-cta { color: var(--white); background: linear-gradient(130deg, #c97100, var(--green-600) 43%, var(--navy-800)); }
.final-cta__inner { display: grid; grid-template-columns: 1.25fr .75fr; gap: 8vw; align-items: end; }
.final-cta h2 { max-width: 760px; color: var(--white); }
.final-cta p:not(.eyebrow) { max-width: 720px; color: #fff2db; }
.final-cta__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }

.page-hero, .category-hero { position: relative; display: flex; min-height: 68vh; align-items: flex-end; padding: 190px 0 100px; color: var(--white); background: radial-gradient(circle at 80% 20%, rgba(243,152,0,.3), transparent 30%), linear-gradient(120deg, var(--navy-950), var(--navy-700)); overflow: hidden; }
.page-hero::after { content: ""; position: absolute; right: -10vw; bottom: -30vw; width: 62vw; height: 62vw; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: inset 0 0 0 5vw rgba(255,255,255,.025), inset 0 0 0 11vw rgba(255,255,255,.02); }
.page-hero .container { position: relative; z-index: 2; }
.page-hero h1 { max-width: 1000px; color: var(--white); font-size: clamp(2.8rem, 4.6vw, 4.9rem); line-height: 1.08; }
.page-hero p:last-child { max-width: 720px; color: #c7d7de; font-size: 1.16rem; }
.category-hero { min-height: 72vh; background-image: var(--category-image); background-position: center; background-size: cover; }
.category-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,19,33,.9), rgba(5,19,33,.35) 65%, rgba(5,19,33,.12)); }
.category-hero__content { position: relative; z-index: 2; }
.category-hero h1 { max-width: 850px; color: var(--white); font-size: clamp(2.8rem, 4.4vw, 4.7rem); line-height: 1.08; }
.category-hero p:last-child { max-width: 650px; color: #d5e1e7; font-size: 1.15rem; }
.back-link { display: inline-block; margin-bottom: 70px; color: #d6e5eb; font-size: .85rem; }
.filter-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 50px; }
.filter-nav a { padding: 10px 15px; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; font-size: .82rem; font-weight: 700; }
.filter-nav a:hover, .filter-nav a.is-active { color: var(--white); background: var(--navy-950); border-color: var(--navy-950); }

.product-detail-hero { padding: 150px 0 100px; background: var(--soft); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 38px; color: var(--muted); font-size: .76rem; }
.breadcrumbs a:hover { color: var(--green-600); }
.product-detail-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 7vw; align-items: center; }
.product-detail-media { position: relative; aspect-ratio: 1 / .82; background: #e4eaec; border-radius: var(--radius); overflow: hidden; }
.product-detail-media img { width: 100%; height: 100%; object-fit: cover; }
.concept-banner { position: absolute; right: 16px; bottom: 16px; left: 16px; padding: 10px 12px; color: #dce7ec; background: rgba(5,19,33,.82); border-radius: 8px; font-size: .7rem; text-align: center; }
.product-detail-summary h1 { font-size: clamp(2.2rem, 3.5vw, 3.8rem); line-height: 1.12; overflow-wrap: anywhere; }
.product-detail-intro { color: var(--muted); font-size: 1.15rem; }
.feature-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; }
.feature-chips span { padding: 8px 12px; color: #754500; background: var(--green-100); border-radius: 999px; font-size: .76rem; font-weight: 700; }
.product-detail-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.product-spec-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9vw; align-items: start; }
.spec-table { border-top: 1px solid var(--navy-950); }
.spec-table > div { display: grid; grid-template-columns: .7fr 1.3fr; gap: 28px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.spec-table span { color: var(--muted); font-size: .82rem; }
.spec-table strong { font-weight: 700; }
.product-copy .entry-content { font-size: 1.05rem; }
.download-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 42px; }
.document-required { display: inline-flex; padding: 10px 13px; color: #7b5720; background: var(--green-100); border: 1px solid #efd79d; border-radius: 999px; font-size: .76rem; font-weight: 700; }

.solution-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.solution-grid article { min-height: 360px; padding: 36px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.solution-grid article:nth-child(even) { border-right: 0; }
.solution-grid span, .value-grid span { color: var(--green-600); font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.solution-grid h2 { margin-top: 80px; font-size: 2.1rem; }
.solution-grid p { color: var(--muted); }
.about-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10vw; }
.value-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.value-grid article { min-height: 300px; padding: 28px; border: 1px solid var(--line); border-right: 0; background: var(--white); }
.value-grid article:last-child { border-right: 1px solid var(--line); }
.value-grid h3 { margin-top: 65px; font-size: 1.35rem; }
.value-grid p { color: var(--muted); font-size: .92rem; }
.download-table { border-top: 1px solid var(--navy-950); }
.download-table article { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; padding: 34px 0; border-bottom: 1px solid var(--line); }
.download-table h2 { margin-bottom: 8px; font-size: 1.75rem; }
.download-table p:last-child { margin-bottom: 0; color: var(--muted); }
.contact-layout { display: grid; grid-template-columns: .68fr 1.32fr; gap: 8vw; align-items: start; }
.contact-panel { position: sticky; top: 130px; display: flex; flex-direction: column; align-items: flex-start; padding: 38px; color: #c6d4da; background: var(--navy-950); border-radius: 22px; }
.contact-panel h2 { color: var(--white); }
.contact-panel > a { margin-bottom: 12px; color: var(--white); font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.35); }
.contact-panel > p:not(.eyebrow) { margin-top: 24px; color: #9eb1ba; }
.contact-note { display: flex; flex-direction: column; gap: 8px; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); }
.contact-note span { color: #9eb1ba; font-size: .85rem; }
.contact-form-wrap h2 { margin-bottom: 32px; }
.poson-inquiry-form { position: relative; }
.poson-honeypot { position: absolute; left: -9999px; }
.poson-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.poson-inquiry-form label { display: flex; flex-direction: column; gap: 8px; color: var(--navy-950); font-size: .8rem; font-weight: 700; }
.poson-inquiry-form input, .poson-inquiry-form select, .poson-inquiry-form textarea { width: 100%; padding: 13px 14px; color: var(--ink); background: var(--white); border: 1px solid #c9d2d7; border-radius: 8px; outline: 0; }
.poson-inquiry-form input:focus, .poson-inquiry-form select:focus, .poson-inquiry-form textarea:focus { border-color: var(--green-600); box-shadow: 0 0 0 3px rgba(243,152,0,.14); }
.poson-form-wide { grid-column: 1 / -1; }
.poson-consent { flex-direction: row !important; align-items: flex-start; margin: 22px 0; font-weight: 500 !important; }
.poson-consent input { width: auto; margin-top: 4px; }
.poson-form-success { margin-bottom: 24px; padding: 16px 18px; color: #0d5f47; background: var(--green-100); border-left: 4px solid var(--green-600); }

.insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.insight-card { border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.insight-card img { aspect-ratio: 1.4; object-fit: cover; }
.insight-card div { padding: 24px; }
.insight-card h2 { font-size: 1.45rem; }
.insight-card p { color: var(--muted); }
.empty-state { max-width: 720px; padding: 50px; background: var(--soft); border-radius: var(--radius); }
.not-found { display: flex; min-height: 85vh; align-items: center; padding: 160px 0 100px; background: var(--soft); }
.not-found h1 { max-width: 900px; }
.not-found p { max-width: 600px; color: var(--muted); font-size: 1.15rem; }

.site-footer { color: #9fb0b9; background: var(--navy-950); }
.site-footer__lead { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding: 90px 0 55px; border-bottom: 1px solid rgba(255,255,255,.16); }
.site-footer__lead h2 { max-width: 800px; margin-bottom: 0; color: var(--white); }
.site-footer__grid { display: grid; grid-template-columns: 1.5fr .75fr .75fr 1fr; gap: 5vw; padding: 65px 0; }
.brand--footer { color: var(--white); margin-bottom: 22px; }
.brand__logo--footer { width: 190px; height: auto; }
.site-footer__grid h3 { color: var(--white); font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; }
.site-footer__grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.site-footer__grid > div:first-child p { max-width: 420px; }
.site-footer__grid a:hover { color: var(--green-500); }
.site-footer__grid p { margin: 0; font-size: .88rem; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 30px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.16); font-size: .72rem; }

.pagination { margin-top: 45px; }
.pagination .nav-links { display: flex; gap: 8px; }
.pagination a, .pagination .current { display: grid; min-width: 40px; height: 40px; place-items: center; border: 1px solid var(--line); border-radius: 50%; }
.pagination .current { color: var(--white); background: var(--navy-950); }

@media (max-width: 1120px) {
    .site-header__inner { min-height: 76px; }
    .nav-toggle { display: block; margin-left: auto; }
    .header-cta { display: none; }
    .site-nav { position: fixed; inset: 76px 0 auto; max-height: calc(100vh - 76px); margin: 0; padding: 28px 24px 40px; color: var(--navy-950); background: var(--white); overflow-y: auto; opacity: 0; pointer-events: none; transform: translateY(-10px); transition: .2s ease; }
    .site-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
    .site-nav__list { display: block; }
    .site-nav__list > li { display: grid; grid-template-columns: 1fr auto; border-bottom: 1px solid var(--line); }
    .site-nav__list > li > a { padding: 18px 0; }
    .site-nav__list > li > a::after { display: none; }
    .site-nav__contact { display: grid !important; margin-top: 16px; border-bottom: 0 !important; }
    .site-nav__contact > a { display: flex; justify-content: space-between; padding: 15px 18px !important; color: var(--white); background: var(--green-600); border-radius: 999px; }
    .mega-menu { position: static; grid-column: 1 / -1; display: none; grid-template-columns: 1fr; gap: 20px; padding: 22px 0 32px; border: 0; box-shadow: none; opacity: 1; transform: none; pointer-events: auto; }
    .has-mega-menu:hover .mega-menu, .has-mega-menu:focus-within .mega-menu { display: none; }
    .has-mega-menu.is-open .mega-menu { display: grid; }
    .mega-menu__intro { display: none; }
    .mega-menu__grid { grid-template-columns: 1fr; }
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-grid--archive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pv-catalog-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(330px, .62fr); gap: 48px; }
    .pv-catalog-hero h1 { font-size: clamp(3rem, 6vw, 4.6rem); }
    .pv-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pv-detail-grid { grid-template-columns: minmax(340px, .78fr) minmax(0, 1.22fr); gap: 52px; }
    .pv-detail-stage { min-height: 610px; }
    .pv-detail-stage__module { width: 235px; height: 520px; }
    .pv-spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pv-spec-grid article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
    .pv-spec-grid article:nth-child(4) { border-top: 1px solid rgba(255,255,255,.14); }
    .battery-catalog-hero__grid, .battery-detail-hero__grid { grid-template-columns: minmax(0,.9fr) minmax(410px,1.1fr); gap: 48px; }
    .battery-family-card { grid-template-columns: 1fr 1fr; }
    .battery-selected-grid, .battery-system-grid { grid-template-columns: 1fr 1.2fr; gap: 55px; }
    .audience-grid { grid-template-columns: repeat(2, 1fr); }
    .audience-grid article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
    .audience-grid article:nth-child(4) { border-top: 1px solid rgba(255,255,255,.18); }
    .value-grid { grid-template-columns: repeat(2, 1fr); }
    .value-grid article:nth-child(2) { border-right: 1px solid var(--line); }
    .site-footer__grid { grid-template-columns: 1.2fr repeat(3, .8fr); gap: 30px; }
}

@media (max-width: 782px) {
    body.admin-bar .site-header { top: 46px; }
}

@media (max-width: 820px) {
    :root { --container: min(100% - 32px, 1280px); }
    h1 { font-size: clamp(2.45rem, 10.5vw, 3.75rem); }
    h2 { font-size: clamp(1.95rem, 7.5vw, 3rem); }
    .section { padding: 80px 0; }
    .section-heading, .split-heading, .process-layout, .about-layout, .contact-layout, .product-spec-layout, .final-cta__inner { grid-template-columns: 1fr; gap: 35px; }
    .hero { min-height: max(760px, 100svh); background-position: 68% center; }
    .hero__overlay { background: linear-gradient(90deg, rgba(5,19,33,.94), rgba(5,19,33,.55)), linear-gradient(0deg, rgba(5,19,33,.75), transparent 45%); }
    .hero__content { padding-top: 150px; padding-bottom: 210px; }
    .hero h1 { max-width: 720px; font-size: clamp(2.45rem, 9vw, 3.6rem); line-height: 1.08; }
    .hero__rail-grid { grid-template-columns: repeat(2, 1fr); }
    .hero__rail-grid a:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
    .hero__rail-grid a:nth-child(4) { border-top: 1px solid rgba(255,255,255,.2); }
    .category-grid, .editorial, .product-detail-grid, .solution-grid { grid-template-columns: 1fr; }
    .category-card, .category-card--wide { min-height: 480px; }
    .editorial__image { min-height: 520px; }
    .editorial__content { padding: 70px 28px; }
    .product-grid, .product-grid--archive { grid-template-columns: 1fr; }
    .product-card__media { aspect-ratio: 1.3; }
    .pv-catalog-hero { padding: 128px 0 70px; }
    .pv-catalog-hero__grid, .pv-detail-grid, .pv-information__grid, .pv-catalog-cta__inner, .pv-detail-cta__inner { grid-template-columns: 1fr; }
    .pv-catalog-hero__grid { gap: 50px; min-height: 0; }
    .back-link--dark { margin-bottom: 36px; }
    .pv-catalog-hero h1 { font-size: clamp(2.6rem, 10vw, 4rem); }
    .pv-catalog-hero__visual { min-height: 560px; }
    .pv-catalog-hero__module { height: 500px; }
    .pv-catalog-hero__model { right: 6%; }
    .pv-model-grid { grid-template-columns: 1fr; }
    .pv-model-card__visual { height: 430px; }
    .pv-model-card__visual > img { width: 165px; height: 365px; }
    .pv-detail-hero { padding: 120px 0 80px; }
    .pv-detail-stage { min-height: 620px; }
    .pv-detail-stage__module { width: 255px; height: 530px; }
    .pv-detail-summary h1 { font-size: clamp(2.45rem, 10vw, 4rem); }
    .pv-spec-table { grid-template-columns: 1fr; }
    .pv-electrical-grid { grid-template-columns: 1fr; }
    .pv-spec-table > div:nth-child(odd), .pv-spec-table > div:nth-child(even) { padding-right: 0; padding-left: 0; border-left: 0; }
    .product-detail-hero { padding-top: 120px; }
    .page-hero h1, .category-hero h1 { font-size: clamp(2.4rem, 9vw, 3.55rem); }
    .product-detail-summary h1 { font-size: clamp(2.1rem, 8vw, 3.1rem); }
    .back-link { margin-bottom: 42px; }
    .solution-grid article { border-right: 0; }
    .contact-panel { position: static; }
    .battery-catalog-hero { padding: 126px 0 76px; }
    .battery-catalog-hero__grid, .battery-detail-hero__grid, .battery-family-card, .battery-selected-grid, .battery-system-grid, .battery-information__grid, .battery-detail-cta__inner { grid-template-columns: 1fr; }
    .battery-catalog-hero__grid, .battery-detail-hero__grid { min-height: 0; }
    .battery-catalog-hero__visual, .battery-catalog-hero__visual img { min-height: 510px; }
    .battery-family-card__visual, .battery-family-card__visual img { min-height: 520px; }
    .battery-detail-hero { padding: 120px 0 78px; }
    .battery-detail-hero__visual, .battery-detail-hero__visual img { min-height: 540px; }
    .battery-platform-grid { grid-template-columns: 1fr; }
    .battery-platform-grid article { min-height: 220px; }
    .battery-platform-grid article + article { border-top: 1px solid var(--line); border-left: 0; }
    .battery-platform-grid h3 { margin-top: 36px; }
    .battery-comparison { overflow-x: auto; }
    .battery-comparison__row { min-width: 760px; }
    .site-footer__lead { align-items: flex-start; flex-direction: column; }
    .site-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .site-footer__grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
    .brand__descriptor { display: none; }
    .hero__actions, .product-detail-actions { flex-direction: column; align-items: stretch; }
    .poson-button { width: 100%; }
    .category-card > a { padding: 22px; }
    .audience-grid { grid-template-columns: 1fr; }
    .audience-grid article, .audience-grid article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
    .audience-grid article:first-child { border-top: 0; }
    .value-grid { grid-template-columns: 1fr; }
    .value-grid article { border-right: 1px solid var(--line); }
    .spec-table > div { grid-template-columns: 1fr; gap: 5px; }
    .pv-catalog-hero__facts { grid-template-columns: 1fr; }
    .pv-catalog-hero__facts > div, .pv-catalog-hero__facts > div + div { padding: 16px 0; border-left: 0; }
    .pv-catalog-hero__facts > div + div { border-top: 1px solid var(--line); }
    .pv-catalog-hero__visual { min-height: 480px; }
    .pv-catalog-hero__module { width: 62%; height: 425px; }
    .pv-catalog-hero__model { right: 0; bottom: 2%; min-width: 165px; padding: 14px 17px; }
    .pv-model-card__visual { height: 370px; }
    .pv-model-card__visual > img { width: 145px; height: 315px; }
    .pv-model-card__body { padding: 24px; }
    .pv-detail-stage { min-height: 520px; border-radius: 22px; }
    .pv-detail-stage__module { width: 205px; height: 430px; }
    .pv-detail-stage__label { top: 16px; left: 16px; }
    .pv-detail-stage__brand { top: 16px; right: 16px; width: 88px; }
    .pv-detail-stage__power { right: 15px; bottom: 15px; min-width: 145px; padding: 11px 14px; }
    .pv-detail-quickfacts { grid-template-columns: 1fr; }
    .pv-detail-quickfacts > div:nth-child(even) { padding-left: 0; border-left: 0; }
    .pv-spec-grid { grid-template-columns: 1fr; }
    .pv-spec-grid article { min-height: 175px; }
    .pv-spec-grid article + article, .pv-spec-grid article:nth-child(3), .pv-spec-grid article:nth-child(4) { border-top: 1px solid rgba(255,255,255,.14); border-left: 0; }
    .pv-spec-grid strong { margin-top: 35px; }
    .pv-spec-table > div { grid-template-columns: 1fr; gap: 5px; }
    .pv-application-panel { padding: 30px 24px; }
    .battery-catalog-hero h1, .battery-detail-hero h1 { font-size: clamp(2.65rem,11vw,4rem); }
    .battery-catalog-hero__facts { grid-template-columns: 1fr; }
    .battery-catalog-hero__facts > div, .battery-catalog-hero__facts > div + div { padding: 15px 0; border-left: 0; }
    .battery-catalog-hero__facts > div + div { border-top: 1px solid rgba(255,255,255,.15); }
    .battery-catalog-hero__visual, .battery-catalog-hero__visual img { min-height: 390px; }
    .battery-family-card__visual, .battery-family-card__visual img { min-height: 390px; }
    .battery-family-card__content { padding: 34px 24px; }
    .battery-family-card__models, .battery-family-card__metrics, .battery-detail-quickfacts, .battery-selected-specs, .battery-system-data { grid-template-columns: 1fr; }
    .battery-family-card__models > div, .battery-family-card__models > div + div { padding: 14px 0; border-left: 0; }
    .battery-family-card__models > div + div { border-top: 1px solid var(--line); }
    .battery-family-card__metrics > div:nth-child(even), .battery-detail-quickfacts > div:nth-child(even), .battery-selected-specs > div:nth-child(even), .battery-system-data > div:nth-child(even) { padding-left: 0; border-left: 0; }
    .battery-selected-specs > div, .battery-selected-specs > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
    .battery-system-data > div, .battery-system-data > div:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
    .battery-selected-specs > div:last-child, .battery-system-data > div:last-child { border-bottom: 0; }
    .battery-detail-hero__visual, .battery-detail-hero__visual img { min-height: 410px; }
    .battery-detail-hero__selected { right: 14px; bottom: 14px; min-width: 155px; }
    .battery-selected-models { grid-template-columns: 1fr; }
    .battery-selected-models a:first-child, .battery-selected-models a:last-child { border-radius: 0; }
    .battery-selected-models a:first-child { border-radius: 14px 14px 0 0; }
    .battery-selected-models a:last-child { border-radius: 0 0 14px 14px; }
    .battery-selected-models a + a { border-top: 0; border-left: 1px solid var(--line); }
    .poson-form-grid { grid-template-columns: 1fr; }
    .poson-form-wide { grid-column: auto; }
    .download-table article { grid-template-columns: 1fr; }
    .site-footer__grid { grid-template-columns: 1fr; }
    .site-footer__grid > div:first-child { grid-column: auto; }
    .site-footer__bottom { flex-direction: column; }
}

/* Battery portfolio v2: preserve the category -> series -> detail hierarchy. */
.page-hero--products { min-height: clamp(560px,64vh,720px); padding-top: 172px; padding-bottom: 82px; }
.product-card--battery-series .product-card__media { aspect-ratio: 16 / 9; background: #050819; }
.product-card--battery-series .product-card__media img { padding: 10px; object-fit: contain; }
.product-card--battery-series .product-card__body { padding-top: 34px; }
.product-card--battery-series .product-card__meta { gap: 9px; }
.product-grid--battery-series { grid-template-columns: repeat(2,minmax(0,1fr)); }

.battery-portfolio-hero { position: relative; min-height: min(820px,82vh); color: var(--white); background: #060a1b; overflow: hidden; }
.battery-portfolio-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.battery-portfolio-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,8,22,.96) 0%,rgba(4,8,22,.82) 35%,rgba(4,8,22,.2) 68%,rgba(4,8,22,.08) 100%); }
.battery-portfolio-hero__inner { position: relative; z-index: 1; display: flex; align-items: center; min-height: min(820px,82vh); padding-top: 126px; padding-bottom: 86px; }
.battery-portfolio-hero__copy { width: min(680px,52vw); }
.battery-portfolio-hero h1 { color: var(--white); font-size: clamp(3.3rem,5.6vw,6rem); line-height: 1; }
.battery-portfolio-hero__copy > p:not(.eyebrow) { max-width: 640px; color: #c1cbda; font-size: clamp(1.06rem,1.35vw,1.24rem); }
.battery-portfolio-hero .battery-catalog-hero__facts { margin-top: 38px; }
.battery-family-section { scroll-margin-top: 92px; }
.battery-additional-heading { margin-top: 96px; }
.battery-family-card__visual { display: flex; align-items: center; justify-content: center; min-height: 590px; padding: 18px; background: #050819; }
.battery-family-card__visual img { min-height: 0; object-fit: contain; border-radius: 20px; }

.battery-detail-hero__visual { display: flex; align-items: center; justify-content: center; background: #050819; }
.battery-detail-hero__visual img { min-height: 0; padding: 16px; object-fit: contain; }
.battery-installation-showcase { position: relative; min-height: min(760px,78vh); color: var(--navy-950); background: #e9edf1; overflow: hidden; }
.battery-installation-showcase > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.battery-installation-showcase::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 29%,rgba(255,255,255,.15) 55%,transparent 76%); }
.battery-installation-showcase__content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; min-height: min(760px,78vh); }
.battery-installation-showcase__content > * { max-width: 520px; }
.battery-installation-showcase__content h2 { font-size: clamp(2.7rem,4.7vw,5rem); line-height: 1.02; }
.battery-installation-showcase__content > p:last-child { color: #4d5968; font-size: 1.04rem; }

@media (max-width: 900px) {
    .product-grid--battery-series { grid-template-columns: 1fr; }
    .battery-portfolio-hero { min-height: 760px; }
    .battery-portfolio-hero__image { object-position: 62% center; }
    .battery-portfolio-hero__shade { background: linear-gradient(90deg,rgba(4,8,22,.96),rgba(4,8,22,.72)); }
    .battery-portfolio-hero__inner { min-height: 760px; }
    .battery-portfolio-hero__copy { width: min(620px,82vw); }
    .battery-family-card__visual { min-height: 480px; }
    .battery-installation-showcase::after { background: linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.78) 55%,rgba(255,255,255,.18)); }
}

@media (max-width: 560px) {
    .page-hero--products { min-height: 590px; padding-top: 142px; padding-bottom: 58px; }
    .product-card--battery-series .product-card__media { aspect-ratio: 1 / .92; }
    .product-card--battery-series .product-card__media img { padding: 6px; object-position: center; }
    .battery-portfolio-hero { min-height: 760px; }
    .battery-portfolio-hero__image { object-position: 68% center; }
    .battery-portfolio-hero__shade { background: linear-gradient(180deg,rgba(4,8,22,.9) 0%,rgba(4,8,22,.72) 55%,rgba(4,8,22,.96) 100%); }
    .battery-portfolio-hero__inner { align-items: flex-end; min-height: 760px; padding-top: 110px; padding-bottom: 48px; }
    .battery-portfolio-hero__copy { width: 100%; }
    .battery-portfolio-hero h1 { font-size: clamp(2.75rem,12vw,4rem); }
    .battery-portfolio-hero .battery-catalog-hero__facts { grid-template-columns: 1fr; margin-top: 24px; }
    .battery-portfolio-hero .battery-catalog-hero__facts > div,.battery-portfolio-hero .battery-catalog-hero__facts > div + div { padding: 11px 0; border-left: 0; }
    .battery-portfolio-hero .battery-catalog-hero__facts > div + div { border-top: 1px solid rgba(255,255,255,.15); }
    .battery-family-card__visual { min-height: 330px; padding: 10px; }
    .battery-family-card__visual img { min-height: 0; }
    .battery-detail-hero__visual,.battery-detail-hero__visual img { min-height: 360px; }
    .battery-installation-showcase { min-height: 690px; }
    .battery-installation-showcase > img { object-position: 69% center; }
    .battery-installation-showcase::after { background: linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.72) 58%,rgba(255,255,255,.96) 100%); }
    .battery-installation-showcase__content { justify-content: flex-end; min-height: 690px; padding-bottom: 48px; }
    .battery-installation-showcase__content h2 { font-size: clamp(2.45rem,11vw,3.4rem); }
}

/* POSNPOWER portable power station portfolio and model details. */
.product-card--portable-series .product-card__media { aspect-ratio: 16 / 10; background: #050817; }
.product-card--portable-series .product-card__media img { padding: 10px; object-fit: contain; }
.product-card--portable-series .product-card__series-badge { color: var(--navy-950); background: var(--green-500); }

.portable-catalog,.portable-detail { background: var(--white); }
.portable-catalog-hero,.portable-detail-hero { position: relative; padding: 145px 0 92px; color: #dce4ef; background: radial-gradient(circle at 78% 12%,rgba(49,53,161,.55),transparent 29%),linear-gradient(135deg,#050817,#0a102b 54%,#161b5c); overflow: hidden; }
.portable-catalog-hero::after,.portable-detail-hero::after { content: ""; position: absolute; right: -14vw; bottom: -24vw; width: 60vw; height: 60vw; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: inset 0 0 0 8vw rgba(243,152,0,.03),inset 0 0 0 17vw rgba(255,255,255,.018); }
.portable-catalog-hero__grid,.portable-detail-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.88fr) minmax(520px,1.12fr); gap: clamp(52px,7vw,108px); align-items: center; min-height: 640px; }
.portable-catalog-hero h1,.portable-detail-hero h1 { max-width: 760px; color: var(--white); font-size: clamp(3.2rem,5.4vw,5.7rem); line-height: 1.01; }
.portable-catalog-hero__copy > p:not(.eyebrow),.portable-detail-hero__lead { max-width: 680px; color: #bac5d7; font-size: clamp(1.06rem,1.35vw,1.25rem); }
.portable-hero-facts,.portable-detail-quickfacts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 38px 0 32px; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.portable-hero-facts > div,.portable-detail-quickfacts > div { padding: 18px 16px 18px 0; }
.portable-hero-facts > div + div,.portable-detail-quickfacts > div + div { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.15); }
.portable-hero-facts strong,.portable-hero-facts span,.portable-detail-quickfacts dt,.portable-detail-quickfacts dd { display: block; }
.portable-hero-facts strong,.portable-detail-quickfacts dd { color: var(--white); font-size: 1.05rem; font-weight: 800; }
.portable-hero-facts span,.portable-detail-quickfacts dt { margin-top: 5px; color: #8f9bb0; font-size: .68rem; }
.portable-detail-quickfacts { grid-template-columns: repeat(2,minmax(0,1fr)); }
.portable-detail-quickfacts dd { margin: 5px 0 0; }
.portable-catalog-hero__visual,.portable-detail-hero__visual { position: relative; min-height: 600px; border: 1px solid rgba(255,255,255,.13); border-radius: 32px; background: #040714; box-shadow: 0 34px 90px rgba(0,0,0,.38); overflow: hidden; }
.portable-catalog-hero__visual::after,.portable-detail-hero__visual::after { content: ""; position: absolute; inset: 24px; border: 1px solid rgba(255,255,255,.08); border-radius: 22px; pointer-events: none; }
.portable-catalog-hero__visual img,.portable-detail-hero__visual img { width: 100%; height: 100%; min-height: 600px; object-fit: contain; }
.portable-catalog-hero__label,.portable-catalog-hero__note,.portable-detail-hero__series { position: absolute; z-index: 2; padding: 10px 14px; border-radius: 999px; font-size: .66rem; font-weight: 800; letter-spacing: .1em; }
.portable-catalog-hero__label,.portable-detail-hero__series { top: 22px; left: 22px; color: var(--white); background: rgba(5,8,24,.76); }
.portable-catalog-hero__note { right: 22px; bottom: 22px; color: var(--navy-950); background: var(--green-500); }

.portable-model-section { scroll-margin-top: 90px; background: linear-gradient(180deg,#fff,#f5f7fa); }
.portable-model-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.portable-model-card { display: grid; grid-template-columns: minmax(280px,.9fr) minmax(0,1.1fr); min-width: 0; border: 1px solid var(--line); border-radius: 24px; background: var(--white); box-shadow: 0 20px 56px rgba(16,20,66,.08); overflow: hidden; transition: transform .25s ease,box-shadow .25s ease; }
.portable-model-card:hover { transform: translateY(-5px); box-shadow: 0 28px 70px rgba(16,20,66,.14); }
.portable-model-card__visual { position: relative; min-height: 430px; background: #050817; overflow: hidden; }
.portable-model-card__visual img { width: 175%; max-width: none; height: 100%; object-fit: contain; object-position: center; transition: transform .5s ease; }
.portable-model-card--posnps1000 .portable-model-card__visual img { transform: translateX(10%); }
.portable-model-card--posnps2000 .portable-model-card__visual img { transform: translateX(-44.5%); }
.portable-model-card:hover .portable-model-card__visual img { filter: brightness(1.06); }
.portable-model-card__visual > span { position: absolute; right: 18px; bottom: 18px; padding: 9px 13px; color: var(--navy-950); background: var(--green-500); border-radius: 999px; font-size: .72rem; font-weight: 800; }
.portable-model-card__body { padding: 38px 34px; }
.portable-model-card__body h2 { font-size: clamp(2rem,2.8vw,3rem); }
.portable-model-card__body dl { margin: 24px 0 30px; }
.portable-model-card__body dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.portable-model-card__body dt { color: var(--muted); font-size: .73rem; }
.portable-model-card__body dd { margin: 0; color: var(--navy-950); font-size: .8rem; font-weight: 800; text-align: right; }
.portable-series-actions { display: flex; align-items: center; gap: 28px; margin-top: 40px; }
.portable-series-actions p { max-width: 580px; margin: 0; color: var(--muted); font-size: .76rem; }
.portable-additional-heading { margin-top: 95px; }

.portable-model-selector { margin: 32px 0 26px; }
.portable-model-selector > span { display: block; margin-bottom: 11px; color: #8f9bb0; font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.portable-model-selector > div { display: flex; flex-wrap: wrap; gap: 10px; }
.portable-model-selector a { padding: 10px 15px; color: #dbe3ef; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-size: .78rem; font-weight: 800; }
.portable-model-selector a:hover,.portable-model-selector a.is-active { color: var(--navy-950); background: var(--green-500); border-color: var(--green-500); }
.portable-detail-hero__selected { position: absolute; right: 22px; bottom: 22px; z-index: 2; min-width: 190px; padding: 15px 18px; color: var(--navy-950); background: rgba(255,255,255,.96); border-radius: 15px; box-shadow: 0 18px 42px rgba(0,0,0,.25); }
.portable-detail-hero__selected span,.portable-detail-hero__selected strong,.portable-detail-hero__selected small { display: block; }
.portable-detail-hero__selected span { color: var(--muted); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.portable-detail-hero__selected strong { margin-top: 5px; font-size: 1.08rem; }
.portable-detail-hero__selected small { color: var(--muted); }

.portable-benefit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.portable-benefit-grid article { min-height: 285px; padding: 30px 25px; }
.portable-benefit-grid article + article { border-left: 1px solid var(--line); }
.portable-benefit-grid span { color: var(--green-600); font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.portable-benefit-grid h3 { margin-top: 55px; }
.portable-benefit-grid p { color: var(--muted); font-size: .9rem; }
.portable-selected-grid,.portable-system-grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(520px,1.28fr); gap: clamp(50px,8vw,120px); align-items: start; }
.portable-selected-models { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 36px; }
.portable-selected-models a { padding: 18px 15px; border: 1px solid var(--line); background: var(--white); }
.portable-selected-models a:first-child { border-radius: 14px 0 0 14px; }
.portable-selected-models a:last-child { border-left: 0; border-radius: 0 14px 14px 0; }
.portable-selected-models a.is-active { color: var(--white); background: var(--navy-950); border-color: var(--navy-950); }
.portable-selected-models span,.portable-selected-models strong,.portable-selected-models small { display: block; }
.portable-selected-models span { font-size: .62rem; font-weight: 800; letter-spacing: .06em; }
.portable-selected-models strong { margin-top: 7px; font-size: .92rem; }
.portable-selected-models small { margin-top: 3px; color: var(--muted); }
.portable-selected-models a.is-active small { color: #adb8cc; }
.portable-selected-specs,.portable-system-data { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; border: 1px solid var(--line); border-radius: 20px; background: var(--white); overflow: hidden; }
.portable-selected-specs > div,.portable-system-data > div { padding: 22px 23px; border-bottom: 1px solid var(--line); }
.portable-selected-specs > div:nth-child(even),.portable-system-data > div:nth-child(even) { border-left: 1px solid var(--line); }
.portable-selected-specs > div:nth-last-child(-n+2),.portable-system-data > div:nth-last-child(-n+2) { border-bottom: 0; }
.portable-selected-specs span,.portable-selected-specs strong { display: block; }
.portable-selected-specs span,.portable-system-data dt { color: var(--muted); font-size: .71rem; }
.portable-selected-specs strong,.portable-system-data dd { margin: 6px 0 0; color: var(--navy-950); font-size: .92rem; font-weight: 800; }
.portable-comparison { border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.portable-comparison__row { display: grid; grid-template-columns: 1.15fr repeat(2,1fr); }
.portable-comparison__row > * { min-width: 0; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.portable-comparison__row > * + * { border-left: 1px solid var(--line); }
.portable-comparison__row:nth-child(odd):not(.portable-comparison__head) { background: #f7f9fb; }
.portable-comparison__row span { color: var(--muted); font-size: .76rem; }
.portable-comparison__row strong { color: var(--navy-950); font-size: .83rem; }
.portable-comparison__head { background: var(--navy-950); }
.portable-comparison__head > * { color: var(--white); border-color: rgba(255,255,255,.14); }
.portable-comparison__row:last-child > * { border-bottom: 0; }
.portable-system-section { color: #b9c5d8; background: linear-gradient(135deg,#070b1d,#101442); }
.portable-system-grid h2 { color: var(--white); }
.portable-system-data { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.025); }
.portable-system-data > div { border-color: rgba(255,255,255,.14); }
.portable-system-data > div:nth-child(even) { border-left-color: rgba(255,255,255,.14); }
.portable-system-data dt { color: #8d99ae; }
.portable-system-data dd { color: var(--white); }
.portable-information__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: clamp(50px,8vw,120px); align-items: start; }
.portable-information__grid > article:first-child { padding-top: 20px; }
.portable-application-panel { padding: clamp(38px,5vw,70px); color: #c5cfde; background: linear-gradient(145deg,#101442,#1d2088); border-radius: 24px; box-shadow: var(--shadow); }
.portable-application-panel h2 { color: var(--white); }
.portable-application-panel ul { display: grid; gap: 14px; padding-left: 20px; }
.portable-application-panel li::marker { color: var(--green-500); }
.portable-application-panel > p:last-child { margin-top: 30px; color: #a0abc0; font-size: .78rem; }
.portable-detail-cta { padding: 82px 0; color: #c6d0df; background: #050817; }
.portable-detail-cta__inner { display: grid; grid-template-columns: 1fr .8fr; gap: 60px; align-items: center; }
.portable-detail-cta h2 { color: var(--white); }

@media (max-width: 1100px) {
    .portable-catalog-hero__grid,.portable-detail-hero__grid { grid-template-columns: minmax(0,.9fr) minmax(430px,1.1fr); gap: 46px; }
    .portable-model-card { grid-template-columns: 1fr; }
    .portable-model-card__visual { min-height: 360px; }
}

@media (max-width: 900px) {
    .portable-catalog-hero__grid,.portable-detail-hero__grid,.portable-selected-grid,.portable-system-grid,.portable-information__grid,.portable-detail-cta__inner { grid-template-columns: 1fr; }
    .portable-catalog-hero__grid,.portable-detail-hero__grid { min-height: 0; }
    .portable-catalog-hero__visual,.portable-catalog-hero__visual img,.portable-detail-hero__visual,.portable-detail-hero__visual img { min-height: 500px; }
    .portable-model-grid { grid-template-columns: 1fr; }
    .portable-benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .portable-benefit-grid article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
    .portable-benefit-grid article:nth-child(4) { border-top: 1px solid var(--line); }
    .portable-comparison { overflow-x: auto; }
    .portable-comparison__row { min-width: 720px; }
}

@media (max-width: 560px) {
    .product-card--portable-series .product-card__media { aspect-ratio: 1 / .88; }
    .portable-catalog-hero,.portable-detail-hero { padding: 122px 0 66px; }
    .portable-catalog-hero h1,.portable-detail-hero h1 { font-size: clamp(2.65rem,11.5vw,3.9rem); }
    .portable-hero-facts,.portable-detail-quickfacts { grid-template-columns: 1fr; }
    .portable-hero-facts > div,.portable-hero-facts > div + div,.portable-detail-quickfacts > div,.portable-detail-quickfacts > div + div { padding: 13px 0; border-left: 0; }
    .portable-hero-facts > div + div,.portable-detail-quickfacts > div + div { border-top: 1px solid rgba(255,255,255,.15); }
    .portable-catalog-hero__visual,.portable-catalog-hero__visual img,.portable-detail-hero__visual,.portable-detail-hero__visual img { min-height: 340px; }
    .portable-catalog-hero__visual img,.portable-detail-hero__visual img { padding: 4px; }
    .portable-model-card__visual { min-height: 320px; }
    .portable-model-card__body { padding: 32px 24px; }
    .portable-model-card__body dl > div { align-items: flex-start; }
    .portable-series-actions { align-items: flex-start; flex-direction: column; }
    .portable-benefit-grid { grid-template-columns: 1fr; }
    .portable-benefit-grid article,.portable-benefit-grid article:nth-child(3),.portable-benefit-grid article:nth-child(4) { min-height: 220px; border-top: 1px solid var(--line); border-left: 0; }
    .portable-benefit-grid article:first-child { border-top: 0; }
    .portable-benefit-grid h3 { margin-top: 32px; }
    .portable-selected-models,.portable-selected-specs,.portable-system-data { grid-template-columns: 1fr; }
    .portable-selected-models a:first-child { border-radius: 14px 14px 0 0; }
    .portable-selected-models a:last-child { border-top: 0; border-left: 1px solid var(--line); border-radius: 0 0 14px 14px; }
    .portable-selected-specs > div,.portable-selected-specs > div:nth-last-child(-n+2),.portable-system-data > div,.portable-system-data > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
    .portable-selected-specs > div:nth-child(even),.portable-system-data > div:nth-child(even) { border-left: 0; }
    .portable-selected-specs > div:last-child,.portable-system-data > div:last-child { border-bottom: 0; }
    .portable-system-data > div,.portable-system-data > div:nth-last-child(-n+2) { border-bottom-color: rgba(255,255,255,.14); }
    .portable-detail-hero__selected { right: 14px; bottom: 14px; min-width: 165px; }
}

/* 8–12 kW single-phase hybrid inverter presentation */
.product-card--inverter-series .product-card__media { aspect-ratio: 4 / 3; background: #080d19; }
.product-card--inverter-series .product-card__media img { object-fit: cover; object-position: center; }
.product-card--inverter-series .product-card__series-badge { color: var(--navy-950); background: var(--green-500); }

.inverter-catalog,.inverter-detail { background: var(--white); }
.inverter-catalog-hero,.inverter-detail-hero { position: relative; padding: 142px 0 92px; color: #c5cfde; background: radial-gradient(circle at 78% 12%,rgba(40,47,127,.5),transparent 30%),linear-gradient(135deg,#050817 0%,#0b112c 55%,#11174b 100%); overflow: hidden; }
.inverter-catalog-hero::before,.inverter-detail-hero::before { content: ""; position: absolute; right: -17vw; bottom: -28vw; width: 68vw; height: 68vw; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; box-shadow: inset 0 0 0 10vw rgba(243,152,0,.022),inset 0 0 0 22vw rgba(255,255,255,.012); pointer-events: none; }
.inverter-catalog-hero__grid,.inverter-detail-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.88fr) minmax(520px,1.12fr); gap: clamp(52px,7vw,112px); align-items: center; min-height: 620px; }
.inverter-catalog-hero__copy h1,.inverter-detail-hero__copy h1 { max-width: 760px; color: var(--white); font-size: clamp(3rem,5.3vw,5.4rem); line-height: 1.02; }
.inverter-catalog-hero__copy > p:not(.eyebrow),.inverter-detail-hero__lead { max-width: 700px; color: #b7c3d4; font-size: clamp(1.02rem,1.4vw,1.23rem); }
.inverter-hero-facts,.inverter-detail-quickfacts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 40px 0 32px; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.inverter-hero-facts > div,.inverter-detail-quickfacts > div { padding: 20px 18px 20px 0; }
.inverter-hero-facts > div + div,.inverter-detail-quickfacts > div + div { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.15); }
.inverter-hero-facts dt,.inverter-detail-quickfacts dt { color: #8f9bb0; font-size: .68rem; letter-spacing: .05em; text-transform: uppercase; }
.inverter-hero-facts dd,.inverter-detail-quickfacts dd { margin: 5px 0 0; color: var(--white); font-size: .96rem; font-weight: 800; }
.inverter-catalog-hero__visual,.inverter-detail-hero__visual { position: relative; aspect-ratio: 4 / 3; border: 1px solid rgba(255,255,255,.13); border-radius: 30px; background: #070b18; box-shadow: 0 34px 90px rgba(0,0,0,.42); overflow: hidden; }
.inverter-catalog-hero__visual::after,.inverter-detail-hero__visual::after { content: ""; position: absolute; inset: 22px; border: 1px solid rgba(255,255,255,.08); border-radius: 21px; pointer-events: none; }
.inverter-catalog-hero__visual img,.inverter-detail-hero__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.inverter-catalog-hero__label,.inverter-catalog-hero__note,.inverter-detail-hero__series { position: absolute; z-index: 2; padding: 10px 14px; border-radius: 999px; font-size: .66rem; font-weight: 800; letter-spacing: .1em; }
.inverter-catalog-hero__label,.inverter-detail-hero__series { top: 22px; left: 22px; color: var(--white); background: rgba(5,8,23,.76); }
.inverter-catalog-hero__note { right: 22px; bottom: 22px; color: var(--navy-950); background: var(--green-500); }
.inverter-detail-hero__selected { position: absolute; right: 22px; bottom: 22px; z-index: 2; min-width: 190px; padding: 15px 18px; color: var(--navy-950); background: rgba(255,255,255,.96); border-radius: 15px; box-shadow: 0 18px 42px rgba(0,0,0,.25); }
.inverter-detail-hero__selected span,.inverter-detail-hero__selected strong,.inverter-detail-hero__selected small { display: block; }
.inverter-detail-hero__selected span { color: var(--muted); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.inverter-detail-hero__selected strong { margin-top: 5px; font-size: 1.08rem; }
.inverter-detail-hero__selected small { color: var(--muted); }

.inverter-series-section { background: linear-gradient(180deg,#fff,#f5f7fa); scroll-margin-top: 90px; }
.inverter-series-card { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(420px,.92fr); border: 1px solid var(--line); border-radius: 28px; background: var(--white); box-shadow: 0 24px 70px rgba(16,20,66,.1); overflow: hidden; }
.inverter-series-card__visual { position: relative; min-height: 620px; background: #080d19; overflow: hidden; }
.inverter-series-card__visual img { width: 100%; height: 100%; min-height: 620px; object-fit: cover; object-position: center; transition: transform .55s ease; }
.inverter-series-card:hover .inverter-series-card__visual img { transform: scale(1.025); }
.inverter-series-card__visual > span { position: absolute; right: 24px; bottom: 24px; padding: 10px 16px; color: var(--navy-950); background: var(--green-500); border-radius: 999px; font-size: .76rem; font-weight: 800; }
.inverter-series-card__body { padding: clamp(40px,5.4vw,78px); align-self: center; }
.inverter-series-card__body h2 { font-size: clamp(2.35rem,4vw,4rem); }
.inverter-series-card__body > p:not(.eyebrow) { color: var(--muted); font-size: 1rem; }
.inverter-series-card__facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 32px 0 38px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.inverter-series-card__facts > div { padding: 18px; }
.inverter-series-card__facts > div:nth-child(even) { border-left: 1px solid var(--line); }
.inverter-series-card__facts > div:nth-child(n+3) { border-top: 1px solid var(--line); }
.inverter-series-card__facts dt { color: var(--muted); font-size: .68rem; }
.inverter-series-card__facts dd { margin: 5px 0 0; color: var(--navy-950); font-size: .86rem; font-weight: 800; }
.inverter-additional-heading { margin-top: 95px; }

.inverter-design-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.inverter-design-grid article { min-height: 285px; padding: 30px 28px; }
.inverter-design-grid article + article { border-left: 1px solid var(--line); }
.inverter-design-grid span { color: var(--green-600); font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.inverter-design-grid h3 { margin-top: 54px; }
.inverter-design-grid p { color: var(--muted); }
.inverter-information__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: clamp(50px,8vw,120px); align-items: start; }
.inverter-information__grid > article:first-child { padding-top: 18px; }
.inverter-application-panel { padding: clamp(38px,5vw,70px); color: #c5cfde; background: linear-gradient(145deg,#101442,#1d2088); border-radius: 24px; box-shadow: var(--shadow); }
.inverter-application-panel h2 { color: var(--white); }
.inverter-application-panel ul { display: grid; gap: 14px; padding-left: 20px; }
.inverter-application-panel li::marker { color: var(--green-500); }
.inverter-application-panel > p:last-child { margin-top: 30px; color: #a6b1c5; font-size: .79rem; }
.inverter-contact-panel { padding: 88px 0; color: #bec8d8; background: #050817; }
.inverter-contact-panel__inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,.7fr); gap: clamp(50px,8vw,120px); align-items: center; }
.inverter-contact-panel h2 { color: var(--white); }
.inverter-contact-panel__inner > div p:last-child { max-width: 720px; }
.inverter-contact-email { display: block; padding: 30px 32px; color: var(--navy-950); background: var(--white); border-radius: 20px; box-shadow: 0 24px 68px rgba(0,0,0,.25); transition: transform .25s ease,box-shadow .25s ease; }
.inverter-contact-email:hover { transform: translateY(-4px); box-shadow: 0 30px 75px rgba(0,0,0,.34); }
.inverter-contact-email span,.inverter-contact-email strong,.inverter-contact-email small { display: block; }
.inverter-contact-email span { color: var(--muted); font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.inverter-contact-email strong { margin-top: 8px; font-size: clamp(1.05rem,2vw,1.42rem); overflow-wrap: anywhere; }
.inverter-contact-email small { margin-top: 15px; color: var(--green-600); font-weight: 800; }

@media (max-width: 1120px) {
    .inverter-catalog-hero__grid,.inverter-detail-hero__grid { grid-template-columns: minmax(0,.88fr) minmax(430px,1.12fr); gap: 44px; }
    .inverter-series-card { grid-template-columns: 1fr; }
    .inverter-series-card__visual,.inverter-series-card__visual img { min-height: 560px; }
}
@media (max-width: 860px) {
    .inverter-catalog-hero__grid,.inverter-detail-hero__grid,.inverter-information__grid,.inverter-contact-panel__inner { grid-template-columns: 1fr; }
    .inverter-catalog-hero__grid,.inverter-detail-hero__grid { min-height: 0; }
    .inverter-catalog-hero__visual,.inverter-detail-hero__visual { max-width: 720px; }
    .inverter-design-grid { grid-template-columns: 1fr; }
    .inverter-design-grid article { min-height: 220px; border-top: 1px solid var(--line); border-left: 0 !important; }
    .inverter-design-grid article:first-child { border-top: 0; }
    .inverter-design-grid h3 { margin-top: 30px; }
}
@media (max-width: 620px) {
    .inverter-catalog-hero,.inverter-detail-hero { padding: 122px 0 62px; }
    .inverter-catalog-hero__copy h1,.inverter-detail-hero__copy h1 { font-size: clamp(2.55rem,11.5vw,3.85rem); }
    .inverter-hero-facts,.inverter-detail-quickfacts { grid-template-columns: 1fr; }
    .inverter-hero-facts > div,.inverter-hero-facts > div + div,.inverter-detail-quickfacts > div,.inverter-detail-quickfacts > div + div { padding: 13px 0; border-left: 0; }
    .inverter-hero-facts > div + div,.inverter-detail-quickfacts > div + div { border-top: 1px solid rgba(255,255,255,.15); }
    .inverter-catalog-hero__visual,.inverter-detail-hero__visual { border-radius: 22px; }
    .inverter-catalog-hero__visual::after,.inverter-detail-hero__visual::after { inset: 12px; border-radius: 15px; }
    .inverter-catalog-hero__label,.inverter-detail-hero__series { top: 14px; left: 14px; }
    .inverter-catalog-hero__note { right: 14px; bottom: 14px; }
    .inverter-detail-hero__selected { right: 14px; bottom: 14px; min-width: 155px; padding: 12px 14px; }
    .inverter-series-card__visual,.inverter-series-card__visual img { min-height: 360px; }
    .inverter-series-card__body { padding: 34px 24px; }
    .inverter-series-card__facts { grid-template-columns: 1fr; }
    .inverter-series-card__facts > div:nth-child(even) { border-left: 0; }
    .inverter-series-card__facts > div + div { border-top: 1px solid var(--line); }
    .inverter-contact-panel { padding: 64px 0; }
    .inverter-contact-email { padding: 24px 22px; }
}

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