/* ═══════════════════════════════════════════════════════════════════════════
   SHARED STYLESHEET — Product Detail Pages
   Used by: products/detail/product-*.html
   Pattern reference: products/detail/product-c-series.html (the canonical page).
   Any change here propagates to every detail page that links it.
   ═══════════════════════════════════════════════════════════════════════════ */

* { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; scroll-behavior:smooth; }
body { font-family:'DM Sans',Arial,sans-serif; color:#1C1C1C; background:#fff; -webkit-font-smoothing:antialiased; }
a { text-decoration:none; color:inherit; }

/* ── NAV ── */
.nav { position:fixed; top:0; left:0; right:0; z-index:999; height:74px; background:rgba(255,255,255,.97); border-bottom:1px solid transparent; display:flex; align-items:center; padding:0 64px; gap:24px; transition:border-color .25s,box-shadow .25s; }
.nav.stuck { border-color:#E8E8E8; box-shadow:0 1px 16px rgba(0,0,0,.06); }
.nav-logo { display:flex; align-items:center; gap:10px; margin-right:auto; flex-shrink:0; }
.nav-links { display:flex; align-items:center; list-style:none; gap:2px; }
.nav-links a { display:block; padding:7px 13px; font-size:14px; color:#6B6B6B; border-radius:6px; transition:color .15s,background .15s; text-transform:uppercase; letter-spacing:.06em; }
.nav-links a:hover { color:#1C1C1C; background:#F7F7F5; }
.nav-links a.active { color:#E84A0C; }
.nav-cta-btn { flex-shrink:0; display:inline-flex; align-items:center; gap:6px; padding:10px 22px; border-radius:8px; background:#E84A0C; color:#fff; font-size:14px; font-weight:600; transition:background .2s; text-transform:uppercase; letter-spacing:.06em; }
.nav-cta-btn:hover { background:#C03E09; }

/* ── BREADCRUMB ── */
.breadcrumb { display:flex; align-items:center; gap:8px; font-size:13px; color:rgba(255,255,255,.4); margin-bottom:20px; flex-wrap:wrap; }
.breadcrumb a { color:rgba(255,255,255,.4); transition:color .15s; }
.breadcrumb a:hover { color:#E84A0C; }

/* ── HERO ── */
.hero { display:table; width:100%; margin-top:74px; border-collapse:collapse; background:#1C1C1C; position:relative; overflow:hidden; min-height:560px; }
.hero::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(232,74,12,.15) 0%,transparent 60%); pointer-events:none; z-index:0; }
.hero-left { display:table-cell; vertical-align:middle; width:50%; padding:40px 64px 60px; background:transparent; position:relative; z-index:1; }
.hero-right { display:table-cell; vertical-align:middle; width:50%; position:relative; overflow:hidden; z-index:1; padding:0; }

.product-kicker { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#E84A0C; margin-bottom:14px; }
.product-title { font-family:'DM Serif Display',Georgia,serif; font-size:48px; font-weight:400; line-height:1.05; letter-spacing:-.02em; color:#fff; margin-bottom:24px; }
.product-title em { font-style:italic; color:#E84A0C; }

.hero-bullets { margin-bottom:14px; }
.hero-bullet { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:400; color:rgba(255,255,255,.75); margin-bottom:9px; }
.hero-bullet:last-child { margin-bottom:0; }
.hero-bullet-dot { width:7px; height:7px; border-radius:50%; background:#E84A0C; flex-shrink:0; }

.hero-specs-grid { display:table; table-layout:fixed; width:100%; border-collapse:collapse; border:1px solid #E8E8E8; border-radius:10px; overflow:hidden; margin-bottom:0; }
.hs-cell { display:table-cell; padding:16px 18px; border-right:1px solid #E8E8E8; vertical-align:top; }
.hs-cell:last-child { border-right:none; }
.hs-label { font-size:11px; font-weight:600; color:rgba(255,255,255,.45); letter-spacing:.05em; text-transform:uppercase; margin-bottom:4px; }
.hs-value { font-size:14px; font-weight:500; color:#fff; line-height:1.35; }

.btn { display:inline-block; padding:12px 26px; border-radius:8px; font-size:14px; font-weight:600; transition:background .2s,transform .15s,border-color .2s,color .2s; }
.btn-orange { background:#E84A0C; color:#fff; }
.btn-orange:hover { background:#C03E09; transform:translateY(-2px); }
.btn-outline { border:1.5px solid #E8E8E8; color:#3D3D3D; }
.btn-outline:hover { border-color:#E84A0C; color:#E84A0C; transform:translateY(-2px); }

/* HERO TIMELINE STRIP — left-edge to mid, pinned to bottom of hero */
.timeline-strip { position:absolute; bottom:0; left:0; width:50%; border-top:1px solid rgba(255,255,255,.08); z-index:2; }
.timeline-inner { display:flex; width:100%; }
.timeline-step { flex:1; padding:14px 16px 16px; border-right:1px solid rgba(255,255,255,.07); transition:background .2s; }
.timeline-step:last-child { border-right:none; }
.timeline-step:hover { background:rgba(255,255,255,.03); }
.timeline-step-head { display:flex; align-items:baseline; gap:10px; justify-content:center; }
.timeline-step-num { font-family:'DM Serif Display',Georgia,serif; font-size:16px; color:#E84A0C; letter-spacing:.02em; flex-shrink:0; }
.timeline-step-title { font-size:13px; font-weight:600; color:#fff; line-height:1.3; }

.hero-img-frame { position:absolute; inset:0; margin:0; background:transparent; overflow:hidden; }
.hero-img-frame img { position:absolute; top:50%; left:0; width:100%; height:auto; transform:translateY(-50%); display:block; }
.hero-image-ph { padding:80px 40px; background:#F7F7F5; border-radius:12px; margin-bottom:0; display:inline-block; width:100%; }
.hero-image-ph svg { display:block; margin:0 auto 12px; }
.hero-image-ph p { font-size:12px; color:#bbb; text-align:center; line-height:1.5; }

/* ── AT A GLANCE ── */
.glance { background:#F7F7F5; padding:80px 64px; }
.glance-inner { max-width:1200px; margin:0 auto; display:table; width:100%; border-collapse:collapse; }
.glance-left { display:table-cell; vertical-align:top; width:55%; padding-right:72px; }
.glance-right { display:table-cell; vertical-align:middle; width:45%; position:relative; }
.section-kicker { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#E84A0C; margin-bottom:14px; }
.section-title { font-family:'DM Serif Display',Georgia,serif; font-size:36px; font-weight:400; line-height:1.1; letter-spacing:-.02em; color:#1C1C1C; margin-bottom:18px; }
.section-title em { font-style:italic; color:#E84A0C; }
.section-body { font-size:15px; font-weight:300; color:#6B6B6B; line-height:1.82; margin-bottom:32px; }

/* Accordion — pure CSS, no JS required */
.accordion { border-top:1px solid #E8E8E8; }
.acc-item { border-bottom:1px solid #E8E8E8; }
.acc-item input[type="checkbox"] { display:none; }
.acc-trigger { display:flex; align-items:center; justify-content:space-between; padding:18px 0; cursor:pointer; transition:color .15s; user-select:none; }
.acc-trigger:hover .acc-title { color:#E84A0C; }
.acc-title { font-size:15px; font-weight:500; color:#1C1C1C; transition:color .15s; }
.acc-icon { width:22px; height:22px; border-radius:50%; border:1.5px solid #E8E8E8; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .2s,border-color .2s; }
.acc-icon svg { transition:transform .25s; }
.acc-item input:checked ~ .acc-trigger .acc-icon { background:#E84A0C; border-color:#E84A0C; }
.acc-item input:checked ~ .acc-trigger .acc-icon svg { transform:rotate(45deg); }
.acc-item input:checked ~ .acc-trigger .acc-icon path { stroke:#fff; }
.acc-item input:checked ~ .acc-trigger .acc-title { color:#E84A0C; }
.acc-body { display:none; padding:0 0 18px; font-size:14px; font-weight:300; color:#6B6B6B; line-height:1.75; }
.acc-item input:checked ~ .acc-body { display:block; }

.glance-image { border-radius:14px; overflow:hidden; background:#fff; border:1px solid #E8E8E8; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.glance-image img { width:100%; height:100%; object-fit:contain; display:block; }
.glance-image-ph { padding:80px 40px; text-align:center; color:#bbb; min-height:340px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.glance-image-ph svg { display:block; margin:0 auto 10px; }
.glance-image-ph p { font-size:12px; line-height:1.5; }

/* ── TECH DATA TABLE ── */
.techdata { background:#fff; padding:80px 64px; }
.techdata-inner { max-width:1200px; margin:0 auto; }
.techdata-head { margin-bottom:32px; }
.techdata-desc { font-size:15px; font-weight:300; color:#6B6B6B; line-height:1.75; margin-top:12px; max-width:780px; }

.data-table-wrap { overflow-x:auto; border:1px solid #E8E8E8; border-radius:12px; overflow:hidden; }
.data-table { width:100%; border-collapse:collapse; min-width:800px; }
.data-table thead tr { background:#1C1C1C; }
.data-table thead th { padding:13px 16px; font-size:12px; font-weight:600; color:#fff; letter-spacing:.04em; text-align:left; white-space:nowrap; }
.data-table thead th.num { text-align:right; }
.data-table tbody tr { border-bottom:1px solid #F0F0F0; transition:background .15s; }
.data-table tbody tr:last-child { border-bottom:none; }
.data-table tbody tr:hover { background:rgba(232,74,12,.12); }
.data-table tbody td { padding:12px 16px; font-size:13.5px; color:#1C1C1C; white-space:nowrap; }
.data-table tbody td:first-child { font-weight:600; color:#E84A0C; }
.data-table tbody td.num { text-align:right; font-weight:300; color:#6B6B6B; }
.data-table tbody td.muted { font-weight:300; color:#6B6B6B; }

/* ── PRODUCT RANGE ── */
.range-section { background:#F7F7F5; padding:80px 64px; }
.range-inner { max-width:1200px; margin:0 auto; }
.range-grid { display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; align-items:stretch; }
.range-card-cell { flex:1 1 calc(33.333% - 11px); display:flex; min-width:0; }
.range-card { width:100%; background:#fff; border:1px solid #E8E8E8; border-radius:12px; padding:24px 20px; transition:border-color .2s,transform .2s,box-shadow .2s; display:flex; flex-direction:column; }
.range-card:hover { border-color:#F9D5C5; transform:translateY(-3px); box-shadow:0 8px 24px rgba(232,74,12,.07); }
.range-card-tag { font-size:11px; font-weight:600; color:#E84A0C; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
.range-card-title { font-size:16px; font-weight:600; color:#1C1C1C; margin-bottom:6px; }
.range-card-desc { font-size:13px; font-weight:300; color:#6B6B6B; line-height:1.6; }

/* ── INDUSTRIES ── */
.industries { background:#fff; padding:80px 64px; }
.industries-inner { max-width:1200px; margin:0 auto; }
.ind-grid { display:flex; flex-wrap:wrap; gap:12px; margin-top:40px; align-items:stretch; }
.ind-cell { flex:1 1 0; min-width:0; text-align:center; display:flex; }
.ind-tile { width:100%; background:#F7F7F5; border:1px solid #E8E8E8; border-radius:12px; padding:24px 12px; transition:background .2s,border-color .2s,transform .2s; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.ind-tile:hover { background:rgba(232,74,12,.12); border-color:#F9D5C5; transform:translateY(-2px); }
.ind-icon { font-size:28px; display:block; margin-bottom:8px; }
.ind-label { font-size:13px; font-weight:500; color:#3D3D3D; }

/* ── DOWNLOADS ── */
.downloads { background:#F7F7F5; padding:64px 64px; border-top:1px solid #E8E8E8; }
.downloads-inner { max-width:1200px; margin:0 auto; }
.dl-grid { display:flex; gap:20px; margin-top:32px; align-items:stretch; }
.dl-cell { flex:1; display:flex; min-width:0; }
.dl-card { width:100%; background:#fff; border:1px solid #E8E8E8; border-radius:12px; padding:22px 20px; display:flex; align-items:center; gap:16px; transition:border-color .2s,transform .2s; cursor:pointer; }
.dl-card:hover { border-color:#F9D5C5; transform:translateY(-2px); }
.dl-icon { width:44px; height:44px; border-radius:10px; background:rgba(232,74,12,.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.dl-title { font-size:14px; font-weight:600; color:#1C1C1C; margin-bottom:2px; }
.dl-sub { font-size:12px; font-weight:300; color:#999; }

/* ── ALSO IN RANGE ── */
.also { background:#fff; padding:64px 64px; }
.also-inner { max-width:1200px; margin:0 auto; }
.also-strip { display:flex; gap:16px; margin-top:32px; align-items:stretch; }
.also-cell { flex:1; display:flex; min-width:0; }
.also-card { width:100%; background:#F7F7F5; border:1px solid #E8E8E8; border-radius:12px; padding:20px 18px; display:flex; justify-content:space-between; align-items:center; transition:border-color .2s,background .2s; }
.also-card:hover { background:rgba(232,74,12,.12); border-color:#F9D5C5; }
.also-name { font-size:14px; font-weight:600; color:#1C1C1C; margin-bottom:3px; }
.also-range { font-size:12px; font-weight:300; color:#999; }
.also-arrow { color:#E84A0C; font-size:18px; font-weight:300; }

/* ═══════════════════════════════════════════════════════════════════════════
   EXTENDED PATTERNS — shared across multiple detail pages
   Hero badges, dual-range strip, range switcher, features grid, options band,
   grouped downloads. Pages link to these by class name without inline CSS.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hero certification badges (bluekat, se-spf, se-sef-spf-2s) */
.badge-row { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px; }
.hero-badge { display:inline-flex; align-items:center; gap:7px; background:rgba(232,74,12,.15); border:1px solid rgba(232,74,12,.3); border-radius:20px; padding:6px 13px; }
.hero-badge span { font-size:11px; font-weight:600; color:#E84A0C; letter-spacing:.06em; text-transform:uppercase; }

/* Oil-free badge variant (so2, so3) */
.oilfree-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(232,74,12,.15); border:1px solid rgba(232,74,12,.3); border-radius:20px; padding:6px 14px; margin-bottom:20px; }
.oilfree-badge span { font-size:12px; font-weight:600; color:#E84A0C; letter-spacing:.06em; text-transform:uppercase; }

/* Dual-range hero strip (s3, s4, so2) */
.range-badges { display:table; border-collapse:collapse; margin-bottom:24px; border:1px solid rgba(255,255,255,.12); border-radius:10px; overflow:hidden; }
.rb-cell { display:table-cell; vertical-align:top; padding:14px 20px; border-right:1px solid rgba(255,255,255,.1); }
.rb-cell:last-child { border-right:none; }
.rb-label { font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:5px; }
.rb-val { font-size:15px; font-weight:600; color:#fff; margin-bottom:2px; }
.rb-sub { font-size:11px; font-weight:300; color:rgba(255,255,255,.45); }
.rb-divider { display:table-cell; vertical-align:middle; padding:0 14px; border-right:1px solid rgba(255,255,255,.1); }
.rb-divider span { display:block; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#E84A0C; white-space:nowrap; }

/* Range tab switcher (s3, s4, so2) */
.range-switch { background:#fff; padding:48px 64px 0; border-bottom:2px solid #E8E8E8; }
.range-switch-inner { max-width:1200px; margin:0 auto; }
.range-switch-label { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#999; margin-bottom:20px; }
.rs-tabs { display:flex; gap:0; }
.rs-tab { display:inline-block; padding:14px 32px; font-size:14px; font-weight:500; color:#6B6B6B; border-bottom:2px solid transparent; margin-bottom:-2px; cursor:pointer; transition:color .15s,border-color .15s; }
.rs-tab:hover { color:#1C1C1C; }
.rs-tab.rs-active { color:#E84A0C; border-bottom-color:#E84A0C; font-weight:600; }

/* Range panel toggle (s3, s4, so2) */
.range-panel { display:none; }
.range-panel.rp-active { display:block; }

/* Features grid (s3, s4, bluekat, ecoline, se-spf, se-sef-spf-2s, so2, so3 — 8 pages) */
.features { background:#fff; padding:80px 64px; }
.features-inner { max-width:1200px; margin:0 auto; }
.features-grid { display:flex; flex-wrap:wrap; gap:24px 20px; margin-top:48px; align-items:stretch; }
.feat-row { display:contents; }
.feat-cell { flex:1 1 calc(33.333% - 14px); display:flex; flex-direction:column; min-width:0; }
.feat-icon { width:48px; height:48px; border-radius:12px; background:rgba(232,74,12,.12); display:flex; align-items:center; justify-content:center; margin-bottom:14px; flex-shrink:0; }
.feat-title { font-size:15px; font-weight:600; color:#1C1C1C; margin-bottom:6px; }
.feat-body { font-size:14px; font-weight:300; color:#6B6B6B; line-height:1.7; }

/* Options band (s3, s4, ecoline, se-spf, se-sef-spf-2s, so2, so3 — 7 pages) */
.options-band { background:#1C1C1C; padding:64px 64px; position:relative; overflow:hidden; }
.options-band::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(232,74,12,.12) 0%,transparent 60%); pointer-events:none; }
.options-inner { max-width:1200px; margin:0 auto; position:relative; z-index:1; }
.options-grid { display:flex; flex-wrap:wrap; gap:16px; margin-top:40px; align-items:stretch; }
.opt-cell { flex:1 1 calc(25% - 12px); display:flex; min-width:0; }
.opt-card { width:100%; border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:22px 18px; transition:border-color .2s,background .2s; display:flex; flex-direction:column; }
.opt-card:hover { border-color:rgba(232,74,12,.4); background:rgba(232,74,12,.05); }
.opt-card-dot { width:8px; height:8px; border-radius:50%; background:#E84A0C; margin-bottom:12px; }
.opt-card-title { font-size:14px; font-weight:600; color:#fff; margin-bottom:6px; }
.opt-card-body { font-size:13px; font-weight:300; color:rgba(255,255,255,.5); line-height:1.65; }

/* Grouped download blocks (s3, s4, so2) */
.dl-group { margin-bottom:40px; }
.dl-group:last-child { margin-bottom:0; }
.dl-group-label { font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#999; margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid #F0F0F0; }

/* ── CTA ── */
.cta { background:rgba(232,74,12,.12); border-top:1px solid #F9D5C5; padding:64px 64px; text-align:center; }
.cta-inner { max-width:600px; margin:0 auto; }
.cta h2 { font-family:'DM Serif Display',Georgia,serif; font-size:36px; font-weight:400; color:#1C1C1C; margin-bottom:12px; letter-spacing:-.02em; }
.cta h2 em { font-style:italic; color:#E84A0C; }
.cta p { font-size:16px; font-weight:300; color:#6B6B6B; margin-bottom:32px; line-height:1.7; }
.cta-btns { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.cta-note { margin-top:18px; font-size:13px; color:#999; }

/* ── FOOTER ── */
footer { background:#111; padding:64px 64px 36px; }
.footer-row { display:flex; gap:40px; align-items:flex-start; margin-bottom:48px; flex-wrap:wrap; }
.footer-brand { display:flex; gap:28px; align-items:center; flex:1 1 60%; min-width:360px; }
.footer-contact { flex:0 1 400px; font-size:13px; font-weight:300; color:rgba(255,255,255,.45); line-height:1.9; margin-top:0; white-space:nowrap; }
.footer-contact div { margin-bottom:4px; }
.footer-contact strong { color:rgba(255,255,255,.65); font-weight:500; }
.footer-contact a { color:inherit; }
.footer-contact a:hover { color:#E84A0C; }
.footer-col-wrap { display:table-cell; vertical-align:top; }
.footer-cols { display:table; width:100%; border-collapse:collapse; }
.footer-col { display:table-cell; vertical-align:top; width:33.333%; padding-right:24px; }
.footer-col:last-child { padding-right:0; }
.footer-logo { flex-shrink:0; }
.footer-desc { flex:1; font-size:13px; font-weight:300; color:rgba(255,255,255,.6); line-height:1.7; margin:0; max-width:460px; }
.footer-cr { font-size:13px; color:rgba(255,255,255,.45); margin-bottom:5px; font-weight:300; }
.footer-cr strong { color:rgba(255,255,255,.65); font-weight:500; }
.footer-col h4 { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.25); margin-bottom:18px; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:9px; }
.footer-col a { font-size:13.5px; font-weight:300; color:rgba(255,255,255,.5); transition:color .2s; }
.footer-col a:hover { color:#E84A0C; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.07); padding-top:26px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-copy { font-size:12px; font-weight:400; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.08em; }
.footer-agent { display:flex; align-items:center; gap:10px; font-size:11px; font-weight:400; color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:.08em; }
.footer-agent-pip { display:none; }

/* ── MOBILE ── */
.nav-hamburger { display:none; }
@media (max-width:768px) {
  html, body { overflow-x:hidden; }
  .nav { height:64px; padding:0 16px; gap:8px; }
  .nav-logo img:first-child { height:44px !important; }
  .nav-logo img:last-child { height:28px !important; width:auto !important; }
  .nav-links {
    position:fixed; top:64px; left:0; right:0;
    flex-direction:column; align-items:stretch;
    background:rgba(255,255,255,.98); backdrop-filter:blur(8px);
    padding:12px 16px; gap:2px;
    border-bottom:1px solid #E8E8E8; box-shadow:0 8px 28px rgba(0,0,0,.08);
    max-height:0; opacity:0; overflow:hidden; pointer-events:none;
    transition:max-height .3s ease, opacity .2s ease;
  }
  .nav-links.open { max-height:80vh; opacity:1; pointer-events:auto; overflow-y:auto; }
  .nav-links li { width:100%; }
  .nav-links a { display:block; padding:13px 14px; font-size:14px; border-radius:8px; }
  .nav-cta-btn { display:none !important; }
  .nav-hamburger {
    display:block; background:transparent; border:0; cursor:pointer;
    padding:10px 8px; margin-left:4px; flex-shrink:0;
  }
  .nav-hamburger span {
    display:block; width:24px; height:2px; background:#1C1C1C;
    margin:5px 0; border-radius:2px;
    transition:transform .25s ease, opacity .25s ease;
  }
  .nav-hamburger.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .nav-hamburger.active span:nth-child(2) { opacity:0; }
  .nav-hamburger.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .hero { padding:40px 20px 36px; min-height:auto; }
  .hero-inner { display:block !important; }
  .hero-left { display:block !important; width:100% !important; padding-right:0 !important; padding-bottom:0 !important; }
  .hero-right { display:block !important; width:100% !important; margin-top:28px; text-align:center; }
  .product-title { font-size:34px !important; }
  .hero-specs-grid { display:block; }
  .hs-cell { display:block; border-right:none; border-bottom:1px solid #E8E8E8; }
  .hs-cell:last-child { border-bottom:none; }
  /* Timeline strip → full-width static row when hero stacks */
  .timeline-strip { position:static; width:100%; margin-top:24px; }
  .timeline-step { padding:18px 14px 20px; }
  .timeline-step-title { font-size:12.5px; }
  .glance { padding:48px 20px; }
  .glance-inner { display:block !important; }
  .glance-left { display:block !important; width:100% !important; padding-right:0 !important; }
  .glance-right { display:block !important; width:100% !important; margin-top:32px; }
  .techdata { padding:48px 20px !important; }
  .dl-grid, tr { display:block !important; }
  .dl-cell { display:block !important; width:100% !important; padding-right:0 !important; margin-bottom:12px; }
  .range-section { padding:48px 20px; }
  .range-grid { display:block; }
  .range-card-cell { display:block; width:100%; padding-right:0; margin-bottom:12px; }
  .industries { padding:48px 20px; }
  .ind-grid { display:block; }
  .ind-cell { display:inline-block; width:calc(50% - 8px); margin-bottom:12px; vertical-align:top; }
  .downloads { padding:48px 20px; }
  .also { padding:48px 20px; }
  .also-strip { display:block; }
  .also-cell { display:block; width:100%; padding-right:0; margin-bottom:10px; }
  /* Extended patterns — mobile fallbacks */
  .features { padding:48px 20px; }
  .features-grid { display:block; }
  .feat-cell { display:block; width:100%; padding-bottom:24px; }
  .options-band { padding:48px 20px; }
  .options-grid { display:block; }
  .opt-cell { display:block; width:100%; padding-bottom:16px; }
  .range-switch { padding:32px 20px 0; }
  .rs-tab { padding:12px 18px; font-size:13px; }
  .range-badges { display:block; }
  .rb-cell { display:block; border-right:none; border-bottom:1px solid rgba(255,255,255,.1); }
  .rb-cell:last-child { border-bottom:none; }
  .rb-divider { display:none; }
  .cta { padding:48px 20px; }
  footer { padding:48px 20px 28px; }
  .footer-row { flex-direction:column; gap:28px; margin-bottom:32px; }
  .footer-brand { flex-direction:column; align-items:flex-start; min-width:0; gap:18px; }
  .footer-logo img { height:120px !important; }
  .footer-desc { max-width:none; }
  .footer-contact { white-space:normal; line-height:1.8; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:14px; }
  h1, h2, h3, p, a, span, div { overflow-wrap:break-word; word-wrap:break-word; }
}
@media (max-width:400px) {
  .product-title { font-size:28px !important; }
  .ind-cell { width:100%; }
}
