﻿/* ============================================
 VOLTRIQ Premium Light Theme
 ============================================ */

:root {
    --blue: #1565c0;
    --blue-2: #1e88e5;
    --blue-pale: #e3f2fd;
    --blue-deep: #0d47a1;
    --text: #0f172a;
    --muted: #64748b;
    --bg: #ffffff;
    --soft: #f8fafc;
    --border: #e2e8f0;
    --grad: linear-gradient(135deg, #42a5f5 0%, #1565c0 52%, #0d47a1 100%);
    --shadow: 0 4px 24px rgba(15,23,42,0.06);
    --shadow-lg: 0 20px 50px rgba(15,23,42,0.1);
    --radius: 10px;
    --radius-lg: 16px;
    --font: 'Plus Jakarta Sans', system-ui, sans-serif;
    --font-display: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
    --ease-out: cubic-bezier(.22,1,.36,1);
    --ease-spring: cubic-bezier(.34,1.56,.64,1);
    --section-y: 72px;
    --section-y-sm: 48px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
    scroll-behavior: smooth;
    overflow-x: clip;
    max-width: 100%;
}
body {
    font-family: var(--font); font-size: 16px; line-height: 1.65; color: var(--text); background: var(--bg);
    -webkit-font-smoothing: antialiased;
    overflow-x: clip;
    max-width: 100%;
    width: 100%;
    position: relative;
}
h1, h2, h3, h4, .section-head h2, .hero-content h1, .wc-focus h1 {
    font-family: var(--font-display);
    letter-spacing: -.03em;
    text-transform: capitalize;
}
.page-banner h1,
.about-hero h1,
.corp-hero h1,
.about-panel-head h2,
.about-mission-card h3,
.about-build-card h3,
.about-value-card strong,
.corp-reason-card h3,
.corp-scenario-card h3,
.corp-panel h2,
.corp-series-card h3,
.pillar-card h3,
.contact-card h4,
.contact-form-box h3,
.contact-forms-list h4,
.oem-cta-bar h2,
.empty-state h3,
.empty-state h1,
.shop-banner-copy h1,
.pl-banner-copy h1,
.theme-banner-overlay h3 {
    text-transform: capitalize;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; transition: color .25s var(--ease-out), background .25s var(--ease-out), border-color .25s var(--ease-out), transform .25s var(--ease-out), box-shadow .25s var(--ease-out); }
ul { list-style: none; }
.wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; width: 100%; }
.hide-m { display: initial; }
.show-m { display: none; }
.hide-xs { display: inline; }
.show-xs { display: none; }

.text-gradient {
    background: var(--grad);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.text-gradient-light {
    background: linear-gradient(135deg, #fff 0%, #90caf9 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Scroll progress */
.scroll-progress {
    position: fixed; top: 0; left: 0; height: 3px; width: 0;
    background: var(--grad); z-index: 9999; transition: width .1s linear;
}

/* Reveal + motion */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s var(--ease-out), transform .75s var(--ease-out); }
.reveal.visible { opacity: 1; transform: none; }
.reveal.delay-1 { transition-delay: .1s; }
.reveal.delay-2 { transition-delay: .2s; }
.reveal.delay-3 { transition-delay: .3s; }
@media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1; transform: none; transition: none; }
    html { scroll-behavior: auto; }
}

/* Buttons */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 26px; font-family: var(--font); font-size: 14px; font-weight: 600;
    border-radius: var(--radius); border: 2px solid transparent; cursor: pointer;
    transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out), background .25s ease, border-color .25s ease, color .25s ease;
}
.btn-lg { padding: 15px 32px; font-size: 15px; }
.btn-block { width: 100%; }
.btn-primary { background: var(--grad); color: #fff; box-shadow: 0 4px 16px rgba(21,101,192,.3); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(21,101,192,.42); }
.btn-primary:active { transform: translateY(0); }
.btn-ghost { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.35); backdrop-filter: blur(8px); }
.btn-ghost:hover { background: rgba(255,255,255,.22); border-color: #fff; }
.btn-ghost-dark { background: #fff; color: var(--blue); border: 2px solid var(--border); }
.btn-ghost-dark:hover { border-color: var(--blue); background: var(--blue-pale); }
.btn-outline { background: #fff; color: var(--blue-deep); border: 2px solid #bbdefb; }
.btn-outline:hover { border-color: var(--blue); background: var(--blue-pale); color: var(--blue-deep); }
.btn-white { background: #fff; color: var(--blue); }
.btn-white:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.btn-ghost-white { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.5); }
.btn-ghost-white:hover { background: rgba(255,255,255,.12); border-color: #fff; }

/* Form focus polish */
input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(21,101,192,.14);
}

/* Sections */
.section { padding: var(--section-y) 0; }
.section-soft { background: var(--soft); }
.section-soft + .section-soft { border-top: 1px solid var(--border); }
.section-head { margin-bottom: 36px; max-width: 560px; }
.section-head.center { text-align: center; margin-left: auto; margin-right: auto; }
.section-head.center p { color: var(--muted); margin-top: 12px; }
.label { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--blue-2); margin-bottom: 12px; }
.label-light { color: rgba(255,255,255,.75); }
.section-head h2 { font-size: clamp(1.85rem, 3.2vw, 2.5rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.15; }
.lead { font-size: 17px; color: var(--muted); margin-bottom: 24px; line-height: 1.7; }

/* Topbar */
.topbar { background: var(--blue-deep); color: rgba(255,255,255,.9); font-size: 12px; padding: 7px 0; }
.topbar-inner { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.topbar-left { display: flex; gap: 18px; flex-wrap: wrap; }
.topbar-left a { color: #fff; font-weight: 500; }
.topbar-left a:hover { opacity: .85; }
.topbar-left i { margin-right: 5px; opacity: .7; font-size: 11px; }
.topbar-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.topbar-pill { font-size: 11px; font-weight: 600; color: #90caf9; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.topbar-pill i { color: #ffd54f; margin-right: 4px; }
.topbar-mii-logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
  border-radius: 2px;
  background: #fff;
  padding: 1px;
}
.topbar-gem { background: #ff6f00; color: #fff !important; padding: 5px 12px; border-radius: 6px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.topbar-gem:hover { background: #e65100; }

/* Header — only main logo bar sticks on scroll (topbar + catbar scroll away) */
.header {
    background: #fff;
    position: relative;
    z-index: 1000;
    width: 100%;
}
.header-placeholder {
    display: none;
    width: 100%;
    pointer-events: none;
}
.header.is-stuck {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 8px 28px rgba(15,23,42,.08);
}
.header.is-stuck + .header-placeholder,
.header-placeholder.is-active {
    display: block;
}
/* Must beat page-shop/page-pl header z-index so drawer sits above overlay */
body.nav-open .header { z-index: 10060 !important; }
body.nav-open .nav-overlay { z-index: 10050 !important; }
body.nav-open .nav { z-index: 10070 !important; }
.header-inner {
    display: flex; align-items: center; gap: 16px;
    height: 68px; max-width: 1240px;
    position: relative;
    z-index: 1;
    isolation: isolate;
    transition: box-shadow .25s var(--ease-out);
}
.header-inner::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    background: #fff;
    border-bottom: 1px solid var(--border);
    pointer-events: none;
    transition: box-shadow .25s var(--ease-out), border-color .25s var(--ease-out);
}
.header.scrolled .header-inner::before,
.header.is-stuck .header-inner::before {
    box-shadow: none;
    border-bottom-color: rgba(226,232,240,.85);
}
.brand { flex-shrink: 0; display: flex; align-items: center; max-width: 220px; }
.brand img {
    height: 48px; width: auto; max-width: 200px; object-fit: contain; display: block;
    background: transparent; padding: 0; border-radius: 0;
}

.nav {
    display: flex; align-items: center; justify-content: center;
    flex: 1; min-width: 0; gap: 2px;
}
.nav > a, .nav-drop > button {
    padding: 8px 12px; font-size: 13px; font-weight: 600; color: var(--text);
    background: none; border: none; cursor: pointer; font-family: inherit; border-radius: 7px;
    display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
    line-height: 1.2;
}
.nav > a:hover, .nav > a.active, .nav-drop > button:hover { color: var(--blue); background: var(--blue-pale); }
.nav-drop { position: relative; }
.nav-drop > button i { font-size: 9px; opacity: .45; }
.nav-drop-menu {
    position: absolute; top: calc(100% + 8px); left: 0; min-width: 220px;
    background: #fff; border: 1px solid var(--border); border-radius: 12px;
    box-shadow: var(--shadow-lg); padding: 8px; opacity: 0; visibility: hidden;
    transform: translateY(6px); transition: .18s ease; z-index: 1100;
}
.nav-drop:hover .nav-drop-menu, .nav-drop:focus-within .nav-drop-menu {
    opacity: 1; visibility: visible; transform: none;
}
.nav-drop-menu a {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px; font-size: 13px; font-weight: 500; color: #475569; border-radius: 8px;
}
.nav-drop-menu a i { width: 16px; color: var(--blue-2); font-size: 12px; }
.nav-cat-ico {
    width: 32px; height: 32px; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 8px; background: #f1f5f9; border: 1px solid #e2e8f0;
    overflow: hidden;
}
.nav-cat-ico img {
    width: 100%; height: 100%; object-fit: contain; padding: 3px;
}
.nav-cat-ico--fa { background: var(--blue-pale); border-color: #bbdefb; }
.nav-cat-ico--fa i {
    width: auto; font-size: 14px; color: var(--blue-deep); margin: 0;
}
.nav-drop-menu a:hover .nav-cat-ico { border-color: #90caf9; background: #e3f2fd; }
.nav-drop-menu a:hover { background: var(--soft); color: var(--blue); }
.nav-mega {
    display: grid; grid-template-columns: 1fr 1fr; min-width: 460px; gap: 2px;
}
.nav-mega-all { grid-column: 1 / -1; margin-top: 4px; border-top: 1px solid var(--border); border-radius: 0 0 8px 8px !important; font-weight: 700 !important; color: var(--blue) !important; }

.header-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; margin-left: auto; }
.header-cta {
    display: inline-flex; align-items: center; justify-content: center;
    height: 40px; padding: 0 18px; border-radius: var(--radius);
    background: var(--grad); color: #fff !important; font-size: 13px; font-weight: 700;
    box-shadow: 0 4px 14px rgba(21,101,192,.28); white-space: nowrap; line-height: 1;
}
.header-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(21,101,192,.35); }

.nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; z-index: 1001; }
.nav-toggle span { display: block; width: 20px; height: 2px; background: var(--text); transition: .2s; border-radius: 2px; }
.nav-toggle.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* Category strip */
.catbar { background: #f8fafc; border-top: 1px solid var(--border); }
.catbar-inner { display: flex; align-items: center; gap: 8px; min-height: 42px; }
.catbar-label { display: none !important; } /* hide "Categories" text label only */
.catbar-scroll {
    display: flex; align-items: center; gap: 4px;
    overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    flex: 1; min-width: 0; padding: 4px 0;
}
.catbar-scroll::-webkit-scrollbar { display: none; }
.catbar-scroll a {
    flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px; font-size: 12px; font-weight: 600;
    color: #64748b; white-space: nowrap; border-radius: 999px; border: 1px solid transparent;
}
.catbar-scroll a i {
    font-size: 12px; color: var(--blue); width: 14px; text-align: center;
}
.catbar-scroll a:hover { color: var(--blue-deep); background: #fff; border-color: #bbdefb; }
.catbar-scroll a:hover i { color: var(--blue-deep); }

/* Hero - banner only */
.hero { position: relative; overflow: hidden; }
.hero::after { display: none; }
.hero-slider, .hero-slide { height: 690px; }
.hero-slider--mobile { display: none; }
.hero-slide {
    background-size: cover; background-position: center center; position: relative;
    display: flex; align-items: center;
    isolation: isolate;
}
/* Soft blue overlay — text banners */
.hero-slide::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(105deg, rgba(7, 42, 98, .42) 0%, rgba(13, 71, 161, .28) 46%, rgba(13, 71, 161, .1) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .06) 0%, transparent 42%, rgba(7, 22, 55, .12) 100%);
}
/* Soft blue overlay — image-only banners */
.hero-slide--image-only::before {
    display: block;
    background:
        linear-gradient(105deg, rgba(7, 42, 98, .16) 0%, rgba(13, 71, 161, .08) 34%, rgba(13, 71, 161, .03) 58%, rgba(0, 0, 0, .04) 100%),
        linear-gradient(180deg, rgba(7, 22, 55, .1) 0%, rgba(7, 22, 55, .02) 36%, transparent 58%, rgba(7, 22, 55, .12) 100%);
}
.hero-slide::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    box-shadow: inset 0 0 80px rgba(7, 42, 98, .06);
}
.hero-slide--image-only::after {
    background:
        radial-gradient(ellipse 90% 55% at 50% 105%, rgba(7, 42, 98, .12) 0%, transparent 68%),
        linear-gradient(180deg, transparent 70%, rgba(0, 0, 0, .08) 100%);
    box-shadow: inset 0 0 60px rgba(7, 42, 98, .04);
}
.hero-slider--desktop .hero-slide--image-only {
    background-size: cover;
    background-position: center center;
}
.hero-slide-link { position: absolute; inset: 0; z-index: 3; }
.hero-inner { position: relative; z-index: 2; width: 100%; }
.hero-content { color: #fff; max-width: 620px; }
.hero-tag {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.16); backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.28); padding: 6px 14px; border-radius: 50px;
    font-size: 12px; font-weight: 600; margin-bottom: 18px;
}
.hero-content h1 {
    font-size: clamp(1.9rem, 4vw, 2.85rem); font-weight: 800;
    line-height: 1.12; letter-spacing: -.04em; margin-bottom: 14px;
    text-shadow: 0 2px 18px rgba(0,0,0,.18);
}
.hero-content p { font-size: 16px; opacity: .95; line-height: 1.65; margin-bottom: 26px; max-width: 480px; }
.hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-btns .btn-ghost {
    background: #fff; color: var(--blue-deep); border-color: #fff; font-weight: 700;
}
.hero-btns .btn-ghost:hover { background: #e3f2fd; border-color: #e3f2fd; color: var(--blue-deep); }
.hero-dots .swiper-pagination-bullet { width: 8px; height: 8px; background: rgba(255,255,255,.4); opacity: 1; }
.hero-dots .swiper-pagination-bullet-active { background: #fff; width: 28px; border-radius: 4px; }
.hero-dots { z-index: 5 !important; }
.hero-arrow { color: #fff !important; background: rgba(255,255,255,.14) !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; border: 1px solid rgba(255,255,255,.28) !important; backdrop-filter: blur(6px); z-index: 5 !important; }
.hero-arrow:hover { background: rgba(255,255,255,.22) !important; }
.hero-arrow::after { font-size: 14px !important; font-weight: 700; }

/* Stats */
.stats-wrap { margin-top: -44px; position: relative; z-index: 10; }
.stats-bar {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
    background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
    border: 1px solid var(--border); overflow: hidden;
}
.stat {
    display: flex; align-items: center; gap: 14px; padding: 22px 20px;
    border-right: 1px solid var(--border); transition: .25s;
}
.stat:last-child { border-right: none; }
.stat:hover { background: var(--soft); }
.stat-icon {
    width: 42px; height: 42px; background: var(--blue-pale); border-radius: 10px;
    display: flex; align-items: center; justify-content: center; color: var(--blue); font-size: 16px; flex-shrink: 0;
}
.stat strong { font-size: 1.5rem; font-weight: 800; color: var(--blue-deep); letter-spacing: -.02em; }
.stat span { font-size: 1rem; font-weight: 700; color: var(--blue-2); }
.stat small { display: block; font-size: 11px; color: var(--muted); font-weight: 600; margin-top: 1px; }

/* Quick actions */
.quick-bar { padding: 28px 0 0; }
.quick-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
}
.quick-item {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    gap: 4px; padding: 18px 12px; background: #fff;
    border: 1px solid var(--border); border-radius: var(--radius);
    cursor: pointer; font-family: inherit; transition: .25s;
}
.quick-item:hover { border-color: var(--blue-pale); box-shadow: var(--shadow); transform: translateY(-2px); }
.quick-item i { font-size: 20px; color: var(--blue); margin-bottom: 2px; }
.quick-item span { font-size: 13px; font-weight: 700; color: var(--text); }
.quick-item small { font-size: 11px; color: var(--muted); font-weight: 500; }

/* Cert strip */
.cert-strip { padding: 24px 0 0; }
.cert-row-inner {
    display: flex; justify-content: space-between; align-items: center; gap: 16px;
    background: var(--soft); border: 1px solid var(--border); border-radius: var(--radius);
    padding: 16px 24px; flex-wrap: wrap;
}
.cert-item {
    display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; color: var(--text);
}
.cert-item img { height: 36px; width: auto; object-fit: contain; }

/* Products */
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.product-card {
    background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg);
    overflow: hidden; display: block; transition: .3s ease;
}
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--blue-pale); }
.product-img {
    position: relative; height: 210px; overflow: hidden;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}
.product-img img {
    width: 100%; height: 100%; object-fit: contain; padding: 16px;
    transition: transform .4s ease;
    position: relative; z-index: 1;
}
.product-card:hover .product-img img { transform: scale(1.04); }
.product-badge {
    position: absolute; top: 12px; left: 12px; z-index: 3;
    background: linear-gradient(135deg, #ff9933, #138808); color: #fff;
    font-size: 9px; font-weight: 700; text-transform: uppercase; padding: 4px 9px; border-radius: 4px;
    pointer-events: none;
}
.product-body { padding: 18px 20px 20px; }
.product-cat { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--blue-2); }
.product-body h3 { font-size: 16px; font-weight: 700; margin: 5px 0 6px; }
.product-body p { font-size: 13px; color: var(--muted); line-height: 1.5; margin-bottom: 10px; }
.product-link { font-size: 13px; font-weight: 600; color: var(--blue); display: inline-flex; align-items: center; gap: 6px; }
.product-link i { font-size: 11px; transition: transform .2s; }
.product-card:hover .product-link i { transform: translateX(3px); }

/* Sectors */
.sectors { padding: 56px 0; }
.sector-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sector-card {
    text-align: center; padding: 24px 16px; background: #fff;
    border: 1px solid var(--border); border-radius: var(--radius-lg); transition: .25s;
}
.sector-card:hover { border-color: var(--blue-pale); box-shadow: var(--shadow); transform: translateY(-3px); }
.sector-card i { font-size: 24px; color: var(--blue); margin-bottom: 12px; }
.sector-card h4 { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.sector-card p { font-size: 12px; color: var(--muted); }

/* Clients live-style autoplay carousel */
.clients-strip { padding: 48px 0; background: var(--soft); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.clients-block { display: flex; align-items: center; gap: 32px; }
.clients-head { flex-shrink: 0; width: 160px; padding-top: 0; }
.clients-head h3 { font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
.clients-head .label { margin-bottom: 6px; }
.clients-swiper { flex: 1; min-width: 0; overflow: hidden; }
.clients-swiper .swiper-wrapper { transition-timing-function: linear !important; }
.clients-swiper .swiper-slide { width: auto; height: auto; display: flex; align-items: center; justify-content: center; }
.client-logo {
    width: 100px; height: 72px; display: flex; align-items: center; justify-content: center;
    background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px;
    transition: .2s;
}
.client-logo:hover { border-color: var(--blue-pale); box-shadow: var(--shadow); }
.client-logo img { max-height: 48px; max-width: 76px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .7; transition: .25s; }
.client-logo:hover img { filter: none; opacity: 1; }
.client-logo.partner img { max-height: 40px; max-width: 72px; }
.client-logo.partner a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }

/* Split */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.split-reverse .about-img { order: -1; }
.check-list { margin-bottom: 28px; }
.check-list li { display: flex; align-items: center; gap: 12px; padding: 9px 0; font-weight: 600; font-size: 15px; }
.check-list i { width: 22px; height: 22px; background: var(--blue-pale); color: var(--blue); border-radius: 50%; font-size: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.split-content h2 { font-size: clamp(1.7rem, 3vw, 2.15rem); font-weight: 800; letter-spacing: -.03em; margin-bottom: 16px; line-height: 1.15; }
.split-content p { color: var(--muted); margin-bottom: 14px; }

.feature-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.feature-box {
    background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg);
    padding: 26px; transition: .25s;
}
.feature-box:hover { box-shadow: var(--shadow); border-color: var(--blue-pale); transform: translateY(-3px); }
.feature-icon { width: 46px; height: 46px; background: var(--blue-pale); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: var(--blue); font-size: 18px; margin-bottom: 14px; }
.feature-box h4 { font-size: 15px; font-weight: 700; margin-bottom: 5px; }
.feature-box p { font-size: 13px; color: var(--muted); }

/* About */
.about-img { position: relative; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); }
.about-img img { width: 100%; height: 380px; object-fit: cover; }
.about-badge {
    position: absolute; bottom: 20px; left: 20px; background: #fff;
    padding: 18px 26px; border-radius: var(--radius); box-shadow: var(--shadow-lg);
}
.about-badge strong { display: block; font-size: 1.6rem; font-weight: 800; color: var(--blue); }
.about-badge span { font-size: 12px; color: var(--muted); font-weight: 600; }
.about-stats { display: flex; gap: 36px; margin: 24px 0 28px; padding: 22px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.about-stats strong { display: block; font-size: 1.45rem; font-weight: 800; color: var(--blue); }
.about-stats span { font-size: 12px; color: var(--muted); font-weight: 600; }

/* Gallery */
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.gallery-grid-portfolio { grid-template-columns: repeat(4, 1fr); gap: 16px; }
.gallery-item { position: relative; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4/3; cursor: pointer; display:block; background:#e2e8f0; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.gallery-overlay {
    position: absolute; inset: 0; background: linear-gradient(180deg,transparent 35%,rgba(13,71,161,.88));
    display: flex; flex-direction:column; align-items: center; justify-content: flex-end; gap:8px;
    opacity: 0; transition: .3s; color: #fff; padding:16px; text-align:center;
}
.gallery-overlay span{font-size:12px;font-weight:600;line-height:1.35;max-width:92%}
.gallery-overlay i{font-size:18px}
.gallery-item:hover img { transform: scale(1.06); }
.gallery-item:hover .gallery-overlay { opacity: 1; }

/* Exhibition video (home) — split layout + slider */
.exhibition-video-sec { padding-top: 64px; padding-bottom: 72px; }
.exhibition-swiper {
    position: relative;
    overflow: hidden;
}
.exhibition-swiper--multi {
    padding-bottom: 52px;
}
.exhibition-swiper .swiper-slide {
    height: auto;
}
.exhibition-split {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: center;
}
.exhibition-player { min-width: 0; }
.exhibition-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 20px;
    overflow: hidden;
    background: #0f172a;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
    border: 1px solid rgba(21, 101, 192, 0.12);
}
.exhibition-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.exhibition-youtube {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    background: #000;
}
.exhibition-video-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: rgba(255, 255, 255, .65);
    font-size: 14px;
    font-weight: 600;
}
.exhibition-video-fallback i { font-size: 28px; opacity: .7; }
.exhibition-controls {
    position: absolute;
    left: 16px;
    bottom: 16px;
    display: flex;
    gap: 10px;
    z-index: 2;
}
.ex-ctrl {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.48);
    color: #fff;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    transition: background .25s var(--ease-out), transform .25s var(--ease-out), border-color .25s ease;
}
.ex-ctrl:hover {
    background: rgba(21, 101, 192, 0.85);
    border-color: rgba(255, 255, 255, 0.45);
    transform: translateY(-1px);
}
.ex-ctrl:active { transform: translateY(0); }
.ex-ctrl:focus-visible {
    outline: 2px solid #90caf9;
    outline-offset: 2px;
}
.exhibition-copy { max-width: 440px; }
.exhibition-copy h2 {
    font-size: clamp(1.65rem, 2.8vw, 2.2rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.15;
    margin-bottom: 14px;
}
.exhibition-copy h2 .text-gradient { display: inline; }
.exhibition-copy > p {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 20px;
}
.exhibition-points {
    list-style: none;
    margin: 0 0 26px;
    display: grid;
    gap: 12px;
}
.exhibition-points li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    line-height: 1.4;
}
.exhibition-points i {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--blue-pale);
    color: var(--blue);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    margin-top: 1px;
}
.exhibition-dots {
    bottom: 0 !important;
    position: absolute;
    left: 0;
    right: 0;
}
.exhibition-dots .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #cbd5e1;
    opacity: 1;
    transition: width .25s ease, background .25s ease;
}
.exhibition-dots .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 4px;
    background: var(--blue);
}
.exhibition-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(21, 101, 192, 0.15);
    background: rgba(255, 255, 255, 0.92);
    color: var(--blue-deep);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.exhibition-arrow:hover {
    background: var(--blue);
    color: #fff;
    box-shadow: 0 10px 28px rgba(13, 71, 161, 0.25);
}
.exhibition-arrow--prev { left: -12px; }
.exhibition-arrow--next { right: -12px; }
@media (max-width: 900px) {
    .exhibition-split {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .exhibition-copy { max-width: none; }
    .exhibition-arrow--prev { left: 4px; }
    .exhibition-arrow--next { right: 4px; }
}
@media (max-width: 768px) {
    .exhibition-frame { border-radius: 14px; }
    .exhibition-controls { left: 12px; bottom: 12px; gap: 8px; }
    .ex-ctrl { width: 40px; height: 40px; border-radius: 10px; font-size: 14px; }
    .exhibition-copy h2 { font-size: clamp(1.35rem, 5vw, 1.65rem); }
    .exhibition-swiper--multi { padding-bottom: 44px; }
    .exhibition-arrow { width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
    .ex-ctrl, .exhibition-arrow { transition: none; }
}

.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.album-card{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;text-align:left;cursor:pointer;padding:0;font:inherit;color:inherit;transition:.25s;box-shadow:var(--shadow)}
.album-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#bbdefb}
.album-media{height:180px;overflow:hidden;background:linear-gradient(180deg,#e3f2fd,#fff)}
.album-media img{width:100%;height:100%;object-fit:cover;transition:.4s}
.album-card:hover .album-media img{transform:scale(1.05)}
.album-body{padding:14px 16px 16px}
.album-body h3{font-size:15px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px;line-height:1.35}
.album-body span{font-size:12px;color:var(--muted);font-weight:600}
.gallery-albums-sec{padding-bottom:24px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.gfilter{border:1px solid var(--border);background:#fff;color:#475569;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.gfilter:hover,.gfilter.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.gallery-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:36px}
.gallery-empty{text-align:center;color:var(--muted);padding:40px 0}
.glightbox{position:fixed;inset:0;z-index:4000;background:rgba(2,8,23,.92);display:flex;align-items:center;justify-content:center;padding:24px}
.glightbox[hidden]{display:none !important}
.glight-inner{max-width:min(1100px,94vw);max-height:90vh;text-align:center}
.glight-inner img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.glight-inner p{color:#e2e8f0;margin-top:14px;font-size:14px;font-weight:600}
.glight-inner small{display:block;color:#94a3b8;margin-top:6px;font-size:12px}
.glight-counter{color:#cbd5e1;font-size:12px;font-weight:700;margin-bottom:10px;letter-spacing:.04em}
.glight-close{position:absolute;top:16px;right:20px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer;line-height:1}
.glight-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
.glight-nav.prev{left:16px}.glight-nav.next{right:16px}
.glight-nav:hover,.glight-close:hover{background:rgba(255,255,255,.22)}
@media(max-width:1100px){.album-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.album-grid{grid-template-columns:1fr 1fr;gap:10px}.album-media{height:140px}.glight-nav{display:none}}

/* Live photo-gallery layout (match voltriq.com) */
.gallery-banner-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.btn-watch-videos{
    display:inline-flex;align-items:center;gap:8px;
    background:#fff;color:#c62828;border:1px solid rgba(255,255,255,.35);
    padding:10px 16px;border-radius:8px;font-size:13px;font-weight:800;
    box-shadow:0 6px 18px rgba(0,0,0,.12);white-space:nowrap;
}
.btn-watch-videos:hover{background:#ffebee;color:#b71c1c}
.btn-watch-videos i{font-size:16px}
.gallery-live{padding-top:36px}
.live-album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:40px}
.live-album-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;text-align:center;transition:.25s;box-shadow:var(--shadow)}
.live-album-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:#bbdefb}
.live-album-media{height:200px;background:linear-gradient(180deg,#eef5ff,#fff);display:flex;align-items:center;justify-content:center;overflow:hidden}
.live-album-media img{width:100%;height:100%;object-fit:cover;transition:.35s}
.live-album-card:hover .live-album-media img{transform:scale(1.04)}
.live-album-card h3{font-size:15px;font-weight:800;padding:14px 12px 16px;letter-spacing:-.02em;line-height:1.35;color:var(--text)}
.live-event-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.live-event-gallery-lg{grid-template-columns:repeat(3,1fr)}
.live-event-item{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:.25s;display:block}
.live-event-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.live-event-media{aspect-ratio:4/3;overflow:hidden;background:#e2e8f0}
.live-event-media img{width:100%;height:100%;object-fit:cover;transition:.35s}
.live-event-item:hover .live-event-media img{transform:scale(1.05)}
.live-event-item p{padding:12px 14px 14px;font-size:13px;font-weight:700;color:#334155;line-height:1.4;min-height:3.2em}
@media(max-width:1100px){
  .live-album-grid,.live-event-gallery,.live-event-gallery-lg{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .live-album-grid,.live-event-gallery,.live-event-gallery-lg{grid-template-columns:1fr 1fr;gap:10px}
  .live-album-media{height:140px}
  .gallery-banner-row{align-items:flex-start}
}

/* Reviews */
.review-slider { padding-bottom: 48px; }
.review-card {
    background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg);
    padding: 32px; height: 100%; transition: .25s;
}
.review-card:hover { box-shadow: var(--shadow); border-color: var(--blue-pale); }
.stars { color: #f59e0b; font-size: 16px; letter-spacing: 2px; margin-bottom: 16px; }
.review-card > p { font-size: 15px; color: var(--muted); line-height: 1.75; font-style: italic; margin-bottom: 22px; }
.review-author { display: flex; align-items: center; gap: 14px; }
.avatar {
    width: 44px; height: 44px; background: var(--grad); color: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; flex-shrink: 0;
}
.review-author strong { display: block; font-size: 14px; }
.review-author span { font-size: 12px; color: var(--muted); }
.review-slider .swiper-pagination-bullet-active { background: var(--blue); width: 24px; border-radius: 4px; }

/* CTA */
.cta { position: relative; padding: 64px 0; overflow: hidden; background: var(--blue-deep); }
.cta-bg {
    position: absolute; inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.cta-inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.cta h2 { font-size: clamp(1.5rem, 2.8vw, 2rem); font-weight: 800; color: #fff; margin-bottom: 10px; letter-spacing: -.02em; }
.cta p { color: rgba(255,255,255,.82); font-size: 16px; }
.cta-btns { display: flex; gap: 14px; flex-wrap: wrap; }

/* Footer */
.footer { background: #0f172a; color: rgba(255,255,255,.6); padding: 72px 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1.2fr 1fr; gap: 40px; padding-bottom: 36px; max-width: 1100px; }
.footer-brand img { margin-bottom: 18px; }
.footer-brand p { font-size: 14px; line-height: 1.75; margin-bottom: 22px; }
.footer-reach a { color: rgba(255,255,255,.78); font-weight: 600; }
.footer-reach a:hover { color: #90caf9; }
.footer-forms {
    display: flex; align-items: center; gap: 16px 24px; flex-wrap: wrap;
    padding: 16px 0 18px;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.footer-forms-label {
    flex-shrink: 0; color: #fff; font-size: 13px; font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase;
}
.footer-forms-links {
    display: flex; flex-wrap: wrap; gap: 0; align-items: center;
}
.footer-forms-links a {
    display: inline-flex; align-items: center; padding: 4px 0;
    margin-right: 18px; font-size: 13px; font-weight: 600;
    color: rgba(255,255,255,.58); text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color .2s ease, border-color .2s ease;
}
.footer-forms-links a:last-child { margin-right: 0; }
.footer-forms-links a:hover {
    color: #90caf9; border-bottom-color: rgba(144,202,249,.45);
}
.footer-app {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 12px 16px;
    margin-top: 4px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .08);
}
.footer-app-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, .72);
}
.footer-app-label i { color: #90caf9; font-size: 15px; }
.footer-app a {
    font-size: 12px;
    font-weight: 700;
    color: #bfdbfe;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(144, 202, 249, .22);
    background: rgba(21, 101, 192, .2);
    transition: background .2s ease, color .2s ease;
}
.footer-app a:hover {
    color: #fff;
    background: rgba(21, 101, 192, .45);
}
.social { display: flex; gap: 10px; }
.social a { width: 38px; height: 38px; background: rgba(255,255,255,.07); border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 14px; color: rgba(255,255,255,.7); }
.social a:hover { background: var(--blue); color: #fff; transform: translateY(-2px); }
.footer h4 { color: #fff; font-size: 14px; font-weight: 700; margin-bottom: 20px; }
.footer ul li { margin-bottom: 11px; }
.footer ul li a { font-size: 14px; color: rgba(255,255,255,.52); }
.footer ul li a:hover { color: #90caf9; }
.footer-contact li { display: flex; gap: 10px; font-size: 14px; margin-bottom: 13px !important; }
.footer-contact i { color: var(--blue-2); margin-top: 4px; flex-shrink: 0; }

/* Newsletter / catalog subscribe band */
.subscribe-band--home {
    padding: 56px 0;
    background: linear-gradient(180deg, #f8fafc 0%, #eef4fc 100%);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.subscribe-band--footer {
    margin-top: 8px;
    padding: 22px 0 0;
}
.subscribe-band--footer .subscribe-band-inner {
    padding: 22px 24px;
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, rgba(21, 101, 192, .2) 0%, rgba(15, 23, 42, .88) 100%);
    border: 1px solid rgba(144, 202, 249, .16);
}
.subscribe-band-inner {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 36px;
    align-items: center;
}
.subscribe-band--form-only .subscribe-band-inner {
    grid-template-columns: 1fr;
    max-width: none;
    margin: 0;
    width: 100%;
}
.subscribe-band--form-only .subscribe-band-form-wrap {
    width: 100%;
}
.subscribe-band--form-only .subscribe-band-form {
    width: 100%;
}
.subscribe-band--form-only .subscribe-band-form input[type="email"] {
    flex: 1 1 auto;
}
.subscribe-band-head {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 14px;
}
.subscribe-band-icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--blue);
    background: #fff;
    border: 1px solid #dbeafe;
    box-shadow: 0 8px 20px rgba(13, 71, 161, .08);
}
.subscribe-band--footer .subscribe-band-icon {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .12);
    color: #90caf9;
    box-shadow: none;
}
.subscribe-band-title {
    margin: 0 0 8px;
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.2;
    color: var(--text);
}
.subscribe-band--footer .subscribe-band-title {
    color: #fff;
    font-size: clamp(1.1rem, 2vw, 1.3rem);
}
.subscribe-band-desc {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    color: var(--muted);
    max-width: 48ch;
}
.subscribe-band--footer .subscribe-band-desc {
    color: rgba(255, 255, 255, .68);
    font-size: 14px;
}
.subscribe-band-catalog {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    color: var(--blue-deep);
    background: #fff;
    border: 1px solid #bfdbfe;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.subscribe-band-catalog:hover {
    background: var(--blue-pale);
    border-color: #90caf9;
    transform: translateY(-1px);
}
.subscribe-band--footer .subscribe-band-catalog {
    color: #bfdbfe;
    background: rgba(255, 255, 255, .06);
    border-color: rgba(144, 202, 249, .22);
}
.subscribe-band--footer .subscribe-band-catalog:hover {
    color: #fff;
    background: rgba(21, 101, 192, .35);
}
.subscribe-band-form-wrap { min-width: 0; }
.subscribe-band-form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: stretch;
}
.subscribe-band-form input[type="email"] {
    flex: 1 1 200px;
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 15px;
    background: #fff;
    color: var(--text);
    box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
}
.subscribe-band--footer .subscribe-band-form input[type="email"] {
    border-color: rgba(255, 255, 255, .14);
}
.subscribe-band-form input[type="email"]:focus {
    outline: 2px solid rgba(21, 101, 192, .35);
    outline-offset: 1px;
    border-color: #90caf9;
}
.subscribe-band-form button {
    flex: 0 0 auto;
    border: 0;
    border-radius: 12px;
    padding: 14px 20px;
    background: linear-gradient(135deg, #1565c0, #0d47a1);
    color: #fff;
    font-weight: 800;
    font-size: 14px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 22px rgba(13, 71, 161, .22);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.subscribe-band-form button:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
}
.subscribe-band-form button:disabled { opacity: .72; cursor: wait; transform: none; }
.subscribe-band-note {
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 1.45;
    color: var(--muted);
}
.subscribe-band--footer .subscribe-band-note { color: rgba(255, 255, 255, .42); }
.nl-msg {
    width: 100%;
    margin: 10px 0 0;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}
.nl-msg[hidden] { display: none !important; }
.nl-msg--ok {
    color: #166534;
    background: #dcfce7;
    border: 1px solid #86efac;
}
.subscribe-band--footer .nl-msg--ok {
    color: #dcfce7;
    background: rgba(22, 163, 74, .18);
    border-color: rgba(74, 222, 128, .25);
}
.nl-msg--err {
    color: #991b1b;
    background: #fee2e2;
    border: 1px solid #fca5a5;
}
.subscribe-band--footer .nl-msg--err {
    color: #fecaca;
    background: rgba(220, 38, 38, .16);
    border-color: rgba(248, 113, 113, .25);
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.footer-bottom { padding: 22px 0; text-align: center; font-size: 13px; }

/* Floating action stack: WhatsApp (bottom) AI Back to top */
:root {
    --float-right: 22px;
    --float-size: 56px;
    --float-gap: 12px;
    --float-bottom: 22px;
}
.whatsapp-float {
    position: fixed;
    right: var(--float-right);
    bottom: var(--float-bottom);
    width: var(--float-size);
    height: var(--float-size);
    background: #25d366; color: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 28px;
    box-shadow: 0 6px 24px rgba(37,211,102,.45); z-index: 940; transition: .25s;
}
.whatsapp-float:hover { transform: scale(1.06); color: #fff; }

.back-top {
    position: fixed;
    right: calc(var(--float-right) + (var(--float-size) - 44px) / 2);
    bottom: calc(var(--float-bottom) + var(--float-size) + var(--float-gap));
    width: 44px; height: 44px;
    background: #fff; color: var(--blue); border: 1px solid var(--border);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 14px; cursor: pointer; z-index: 942; box-shadow: var(--shadow);
    opacity: 0; visibility: hidden; transform: translateY(8px); transition: .25s;
}
.back-top.visible { opacity: 1; visibility: visible; transform: none; }
.back-top:hover { background: var(--blue); color: #fff; border-color: var(--blue); }

/* Modal */
.modal {
    position: fixed; inset: 0; background: rgba(15,23,42,.55); backdrop-filter: blur(6px);
    z-index: 2000; display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden; transition: .3s; padding: 20px;
}
.modal.open { opacity: 1; visibility: visible; }
.modal-box {
    background: #fff; border-radius: var(--radius-lg); padding: 36px; max-width: 440px; width: 100%;
    transform: translateY(20px) scale(.97); transition: .3s; position: relative;
}
.modal.open .modal-box { transform: none; }
.modal-close { position: absolute; top: 14px; right: 16px; background: var(--soft); border: none; width: 34px; height: 34px; border-radius: 50%; font-size: 20px; cursor: pointer; color: var(--muted); }
.modal-box h3 { font-size: 1.35rem; font-weight: 800; margin-bottom: 6px; }
.modal-box > p { font-size: 14px; color: var(--muted); margin-bottom: 22px; }
.modal-box input, .modal-box select, .modal-box textarea {
    width: 100%; padding: 13px 16px; margin-bottom: 12px; border: 2px solid var(--border);
    border-radius: 8px; font-family: var(--font); font-size: 14px; transition: .2s;
}
.modal-box input:focus, .modal-box select:focus, .modal-box textarea:focus { outline: none; border-color: var(--blue-2); box-shadow: 0 0 0 3px rgba(30,136,229,.12); }
.form-success { text-align: center; padding: 20px 0; }
.form-success i { font-size: 48px; color: #22c55e; margin-bottom: 12px; }

/* Lightbox */
.lightbox {
    position: fixed; inset: 0; background: rgba(15,23,42,.92); z-index: 3000;
    display: flex; align-items: center; justify-content: center; padding: 20px; cursor: pointer;
}
.lightbox[hidden],
#custLightbox[hidden],
.cust-lightbox[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
.lightbox-inner { position: relative; max-width: 90%; max-height: 90%; }
.lightbox-inner img { max-width: 100%; max-height: 85vh; border-radius: var(--radius-lg); }
.lightbox-inner button { position: absolute; top: -44px; right: 0; background: none; border: none; color: #fff; font-size: 32px; cursor: pointer; }

.nav-drawer-head,
.nav-drawer-cta { display: none; }

/* Nav overlay (mobile) */
.nav-overlay {
    position: fixed; inset: 0; background: rgba(2, 12, 32, .55);
    z-index: 10050; opacity: 0; visibility: hidden; transition: .28s ease;
    backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
}
.nav-overlay.open { opacity: 1; visibility: visible; }

/* Mobile bottom nav hidden on desktop */
.m-bottom-nav { display: none; }

/* Responsive collapse nav earlier so CTA never overflows */
@media (max-width: 1100px) {
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .sector-grid { grid-template-columns: repeat(2, 1fr); }
    .clients-block { flex-direction: column; gap: 20px; align-items: stretch; }
    .clients-head { width: 100%; }
    .gallery-grid-portfolio { grid-template-columns: repeat(3, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .footer-brand { grid-column: 1 / -1; }
    .subscribe-band-inner { grid-template-columns: 1fr; gap: 22px; }

    .nav-toggle { display: flex; position: relative; z-index: 10060; }
    .nav-drawer-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 14px 4px 16px;
        margin-bottom: 6px;
        border-bottom: 1px solid var(--border);
        position: sticky;
        top: 0;
        background: #fff;
        z-index: 2;
    }
    .nav-drawer-brand {
        display: flex; align-items: center; gap: 10px; min-width: 0;
    }
    .nav-drawer-brand img { height: 28px; width: auto; }
    .nav-drawer-brand span {
        font-size: 12px; font-weight: 800; letter-spacing: .06em;
        text-transform: uppercase; color: var(--blue-deep);
    }
    .nav-drawer-close {
        width: 36px; height: 36px; border: 1px solid var(--border); border-radius: 10px;
        background: #f8fafc; color: #0f172a; cursor: pointer;
        display: inline-flex; align-items: center; justify-content: center;
    }
    .nav-drawer-cta {
        display: grid; gap: 8px; margin-top: 18px; padding-top: 14px;
        border-top: 1px solid var(--border);
    }
    .nav-drawer-cta .btn-ghost-dark {
        background: #fff; color: var(--blue-deep); border: 1.5px solid var(--border);
    }

    .nav {
        position: fixed;
        top: 0;
        right: 0;
        left: auto;
        width: min(80vw, 360px);
        max-width: 80%;
        height: 100vh; height: 100dvh;
        background: #fff;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        padding: 10px 14px calc(24px + env(safe-area-inset-bottom));
        box-shadow: -18px 0 40px rgba(2, 12, 32, .18);
        transition: transform .32s cubic-bezier(.22,1,.36,1), visibility .32s;
        z-index: 10070;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        flex: none;
        transform: translate3d(100%, 0, 0);
        visibility: hidden;
        pointer-events: none;
        will-change: transform;
    }
    .nav.open {
        transform: translate3d(0, 0, 0);
        visibility: visible;
        pointer-events: auto;
    }
    body.nav-open {
        overflow: hidden;
        touch-action: none;
    }
    .nav > a, .nav-drop > button {
        padding: 13px 10px; border-bottom: 1px solid #eef2f7;
        border-radius: 0; width: 100%; justify-content: space-between; font-size: 14px;
        font-weight: 700; color: #0f172a;
    }
    .nav-drop-menu {
        position: static; opacity: 1; visibility: visible; transform: none;
        box-shadow: none; border: none; display: none; padding: 0 0 8px 8px;
        min-width: 0; background: transparent;
    }
    .nav-mega { grid-template-columns: 1fr; min-width: 0; }
    .nav-drop.open .nav-drop-menu { display: block; }
    .nav-drop-menu a { padding: 10px 10px; font-size: 13px; border-radius: 8px; }
    .header-cta { height: 36px; padding: 0 12px; font-size: 12px; }
    .header-inner { height: 62px; }
    .brand img { height: 34px; }
    .catbar-label { display: none; }
}

/* Responsive Mobile (premium compact) */
@media (max-width: 768px) {
    .hide-m { display: none !important; }
    .show-m { display: flex !important; }
    .hide-xs { display: none !important; }
    .show-xs { display: inline !important; }
    .wrap { padding: 0 14px; }
    body { font-size: 14px; line-height: 1.6; }

    /* -- Site chrome: topbar + catbar scroll; main header sticks via JS -- */
    :root {
        --m-topbar-h: 34px;
        --m-header-h: 54px;
        --m-catbar-h: 44px;
        --m-chrome-h: 0px;
        --m-bottom-h: 64px;
    }
    .topbar {
        display: block !important;
        position: relative !important;
        top: auto !important;
        left: auto;
        right: auto;
        z-index: 40;
        padding: 5px 0;
        width: 100%;
        max-width: 100%;
    }
    .topbar-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 4px;
        width: 100%;
        max-width: 100%;
        flex-wrap: nowrap;
        overflow: hidden;
    }
    .topbar-left,
    .topbar-right {
        display: contents;
    }
    .topbar-left a,
    .topbar-pill,
    .topbar-gem {
        flex: 1 1 0;
        min-width: 0;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 4px;
        white-space: nowrap;
        font-size: 10.5px;
        margin: 0;
    }
    .topbar-left a.hide-m {
        display: none !important;
    }
    .topbar-pill {
        background: transparent;
        color: #90caf9;
        padding: 0;
    }
    .topbar-mii-logo {
        width: 16px;
        height: 16px;
    }
    .topbar-gem {
        padding: 3px 6px;
        font-size: 10px;
        border-radius: 4px;
    }
    .header {
        position: relative !important;
        top: auto !important;
        left: auto;
        right: auto;
        z-index: 1000;
        background: #fff;
        width: 100%;
        max-width: 100%;
        border-bottom: 1px solid var(--border);
    }
    .header.is-stuck {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1000;
    }
    .header-inner {
        position: relative;
        top: auto;
        isolation: auto;
    }
    .header-inner::before {
        display: none;
    }
    body {
        padding-top: 0;
        padding-bottom: calc(var(--m-bottom-h) + env(safe-area-inset-bottom, 0px));
    }
    /* Locked shop-like pages keep flex height under fixed chrome */
    body.page-shop,
    body.page-pl,
    body.page-drivers,
    body.page-stores {
        --m-chrome-h: calc(var(--m-topbar-h) + var(--m-header-h) + var(--m-catbar-h));
        padding-top: var(--m-chrome-h) !important;
        padding-bottom: 0 !important;
        box-sizing: border-box;
    }
    body.page-shop > .topbar,
    body.page-pl > .topbar,
    body.page-drivers > .topbar,
    body.page-stores > .topbar {
        position: fixed !important;
        top: 0 !important;
        left: 0;
        right: 0;
        z-index: 1001;
        flex-shrink: 0;
    }
    body.page-shop > .header,
    body.page-pl > .header,
    body.page-drivers > .header,
    body.page-stores > .header {
        position: fixed !important;
        top: var(--m-topbar-h) !important;
        left: 0;
        right: 0;
        z-index: 1000;
        flex-shrink: 0;
    }
    body.page-shop > .catbar,
    body.page-pl > .catbar,
    body.page-drivers > .catbar,
    body.page-stores > .catbar {
        position: fixed !important;
        top: calc(var(--m-topbar-h) + var(--m-header-h)) !important;
        left: 0;
        right: 0;
        z-index: 999;
        flex-shrink: 0;
        background: #f8fafc;
    }
    body.page-shop > main,
    body.page-pl > main,
    body.page-drivers > main,
    body.page-stores > main {
        max-height: calc(100dvh - var(--m-chrome-h));
        padding-bottom: calc(var(--m-bottom-h) + env(safe-area-inset-bottom, 0px));
        box-sizing: border-box;
    }

    /* Compact premium buttons */
    .btn {
        padding: 9px 14px;
        font-size: 12.5px;
        gap: 6px;
        border-radius: 8px;
        border-width: 1.5px;
    }
    .btn-lg { padding: 10px 16px; font-size: 13px; }
    .btn-sm { padding: 7px 12px; font-size: 12px; }

    /* Topbar + header heights */
    .header-inner { height: var(--m-header-h); gap: 8px; }
    .brand img { height: 30px; }
    .header-cta { display: none; }
    /* Category chips strip - keep visible on mobile (horizontal scroll) */
    .catbar {
        display: block !important;
        border-top: 1px solid #e2e8f0;
        background: #fff;
    }
    .catbar-inner {
        min-height: var(--m-catbar-h);
        padding: 0 2px;
    }
    .catbar-scroll {
        gap: 2px;
        padding: 4px 0;
    }
    .catbar-scroll a {
        padding: 5px 10px;
        font-size: 11px;
        font-weight: 700;
        color: #334155;
        border: 1px solid #e2e8f0;
        background: #f8fafc;
    }
    .catbar-scroll a i {
        font-size: 11px;
    }
    .catbar-scroll a:first-child,
    .catbar-scroll a.active {
        background: #e3f2fd;
        border-color: #90caf9;
        color: #0d47a1;
    }
    .nav-toggle { width: 40px; height: 40px; }

    /* Hero - separate mobile banners */
    .hero-slider--desktop { display: none; }
    .hero-slider--mobile { display: block; }
    .hero-slider--mobile,
    .hero-slider--mobile .hero-slide {
        height: auto;
        min-height: 0;
        aspect-ratio: 1 / 1;
        max-height: min(100vw, 520px);
    }
    .hero-slider--mobile .hero-slide {
        align-items: flex-end;
        padding-bottom: 36px;
        background-position: center top;
    }
    .hero-slider--mobile .hero-slide--image-only {
        padding-bottom: 0;
        align-items: stretch;
    }
    /* Soft overlay on mobile banners */
    .hero-slider--mobile .hero-slide::before,
    .hero-slider--mobile .hero-slide--image-only::before {
        display: block;
        background:
            linear-gradient(180deg, rgba(7, 22, 55, .1) 0%, rgba(7, 22, 55, .03) 34%, rgba(7, 22, 55, .08) 72%, rgba(7, 22, 55, .16) 100%),
            linear-gradient(135deg, rgba(13, 71, 161, .08) 0%, transparent 52%);
        pointer-events: none;
        z-index: 1;
    }
    .hero-slider--mobile .hero-slide::after,
    .hero-slider--mobile .hero-slide--image-only::after {
        box-shadow: none;
        background:
            radial-gradient(ellipse 100% 45% at 50% 100%, rgba(7, 42, 98, .1) 0%, transparent 70%),
            linear-gradient(180deg, transparent 70%, rgba(0, 0, 0, .08) 100%);
    }
    .hero::after { display: none; }
    .hero-slider { height: auto; }
    .hero-slide { height: 100%; min-height: 420px; align-items: flex-end; padding-bottom: 40px; }
    .hero-slider--desktop .hero-slide::before {
        background: linear-gradient(180deg, rgba(13,71,161,.1) 0%, rgba(13,71,161,.28) 52%, rgba(7,42,98,.36) 100%);
    }
    .hero-inner { padding-top: 24px; }
    .hero-content { max-width: 100%; }
    .hero-tag { font-size: 10px; padding: 4px 10px; margin-bottom: 10px; letter-spacing: .02em; }
    .hero-content h1 {
        font-size: clamp(1.35rem, 5.6vw, 1.75rem);
        margin-bottom: 8px;
        letter-spacing: -.03em;
        line-height: 1.18;
    }
    .hero-content p { font-size: 13px; margin-bottom: 14px; line-height: 1.55; max-width: 36ch; }
    .hero-btns { flex-direction: row; flex-wrap: wrap; gap: 8px; }
    .hero-btns .btn {
        width: auto;
        flex: 1 1 auto;
        min-width: 132px;
        justify-content: center;
        padding: 9px 12px;
        font-size: 12.5px;
    }
    .hero-arrow { display: none !important; }
    .hero-dots { bottom: 10px !important; }

    /* Stats */
    .stats-wrap { margin-top: -24px; }
    .stats-bar {
        grid-template-columns: repeat(2, 1fr);
        border-radius: 14px;
        box-shadow: 0 12px 28px rgba(15,23,42,.1);
    }
    .stat {
        padding: 12px 10px; gap: 8px;
        border-right: 1px solid var(--border); border-bottom: 1px solid var(--border);
    }
    .stat:nth-child(2n) { border-right: none; }
    .stat:nth-child(3), .stat:nth-child(4) { border-bottom: none; }
    .stat-icon { width: 32px; height: 32px; font-size: 13px; border-radius: 8px; }
    .stat strong { font-size: 1.1rem; }
    .stat span { font-size: .85rem; }
    .stat small { font-size: 9px; line-height: 1.25; }

    /* Quick bar */
    .quick-bar { padding: 16px 0 0; }
    .quick-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .quick-item {
        padding: 12px 8px;
        min-height: 76px;
        justify-content: center;
        border-radius: 12px;
        gap: 2px;
    }
    .quick-item i { font-size: 16px; margin-bottom: 2px; }
    .quick-item span { font-size: 12px; }
    .quick-item small { font-size: 10px; }

    /* Cert */
    .cert-strip { padding: 14px 0 0; }
    .cert-row-inner {
        display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;
        padding: 12px; border-radius: 12px; justify-items: center;
    }
    .cert-item { flex-direction: column; text-align: center; gap: 5px; font-size: 10px; font-weight: 600; }
    .cert-item img { height: 26px; }

    /* Sections / headings */
    .section { padding: 40px 0; }
    .section-head { margin-bottom: 20px; max-width: 100%; }
    .section-head h2 { font-size: clamp(1.25rem, 5vw, 1.55rem); letter-spacing: -.025em; }
    .section-head p,
    .section-head .cat-subline { font-size: 13px; margin-top: 8px; line-height: 1.5; }
    .label { font-size: 10px; letter-spacing: 1.5px; margin-bottom: 8px; }
    .lead { font-size: 14px; margin-bottom: 16px; }
    .sectors { padding: 32px 0; }

    /* Products / showcase */
    .product-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .product-card { border-radius: 12px; }
    .product-img { height: 140px; }
    .product-img img { padding: 8px; }
    .product-body { padding: 10px 10px 12px; }
    .product-body h3 { font-size: 12.5px; line-height: 1.35; margin: 0 0 4px; }
    .product-cat { font-size: 10px; }
    .product-link { font-size: 11px; }
    .product-body p { font-size: 11px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

    .showcase { padding-top: 8px; }
    .showcase-grid { gap: 10px; }
    .showcase-card { border-radius: 12px; }
    .showcase-media { height: 110px; }
    .showcase-body { padding: 10px; }
    .showcase-body span { font-size: 9px; }
    .showcase-body h3 { font-size: 12.5px; margin: 2px 0 4px; }
    .showcase-body em { font-size: 11px; }

    /* Sectors */
    .sector-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .sector-card { padding: 14px 10px; border-radius: 12px; }
    .sector-card i { font-size: 18px; margin-bottom: 6px; }
    .sector-card h4 { font-size: 12.5px; }
    .sector-card p { font-size: 10.5px; }

    /* Why / Split */
    .split { grid-template-columns: 1fr; gap: 20px; }
    .split-reverse .about-img { order: 0; }
    .split-content h2 { font-size: clamp(1.25rem, 5vw, 1.5rem); }
    .check-list li { font-size: 13px; padding: 6px 0; }
    .feature-cards { grid-template-columns: 1fr 1fr; gap: 8px; }
    .feature-box { padding: 14px; border-radius: 12px; }
    .feature-icon { width: 36px; height: 36px; font-size: 14px; margin-bottom: 8px; border-radius: 9px; }
    .feature-box h4 { font-size: 12.5px; }
    .feature-box p { font-size: 11px; }

    /* Clients */
    .clients-strip { padding: 28px 0; }
    .clients-block { gap: 12px; }
    .clients-head { text-align: center; width: 100%; }
    .clients-head h3 { font-size: 1rem; }
    .client-logo { width: 78px; height: 54px; padding: 6px; border-radius: 10px; }
    .client-logo img { max-height: 36px; max-width: 60px; }

    /* About */
    .about-img img { height: 210px; border-radius: 14px; }
    .about-badge { padding: 10px 12px; bottom: 12px; left: 12px; border-radius: 10px; }
    .about-badge strong { font-size: 1.1rem; }
    .about-badge span { font-size: 10px; }
    .about-stats { gap: 14px; flex-wrap: wrap; margin: 16px 0 18px; padding: 14px 0; }
    .about-stats strong { font-size: 1.15rem; }
    .about-stats span { font-size: 11px; }

    /* Gallery */
    .gallery-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .gallery-grid-portfolio { grid-template-columns: 1fr 1fr; }
    .gallery-item { border-radius: 10px; }

    /* Reviews */
    .review-slider { padding-bottom: 32px; }
    .review-card { padding: 16px 14px; border-radius: 12px; }
    .review-card > p { font-size: 13px; }
    .review-card-home { padding: 16px 14px; border-radius: 12px; }
    .review-card-home h3 { font-size: 13px; }
    .review-card-home p { font-size: 12px; }

    /* CTA */
    .cta { padding: 36px 0; }
    .cta-inner { flex-direction: column; text-align: center; gap: 16px; }
    .cta h2 { font-size: clamp(1.2rem, 5vw, 1.45rem); }
    .cta p { font-size: 13px; }
    .cta-btns { flex-direction: row; flex-wrap: wrap; width: 100%; gap: 8px; justify-content: center; }
    .cta-btns .btn { width: auto; flex: 1 1 140px; justify-content: center; }

    /* Footer */
    .footer { padding: 40px 0 0; }
    .footer-grid { grid-template-columns: 1fr; gap: 22px; padding-bottom: 24px; }
    .footer-brand { grid-column: auto; }
    .footer h4 { font-size: 13px; margin-bottom: 10px; }
    .footer-brand p { font-size: 12.5px; }
    .footer ul a { font-size: 13px; }
    .footer-forms { align-items: flex-start; flex-direction: column; gap: 8px; padding: 12px 0 14px; }
    .footer-forms-label { font-size: 11px; }
    .footer-forms-links a { margin-right: 12px; margin-bottom: 4px; font-size: 12px; }
    .footer-app { padding: 10px 12px; justify-content: center; text-align: center; }
    .footer-app-label { font-size: 12px; }
    .footer-app a { font-size: 11px; padding: 5px 10px; }
    .footer-bottom { padding: 14px 0; font-size: 11px; }
    .subscribe-band--home { padding: 40px 0; }
    .subscribe-band-inner { grid-template-columns: 1fr; gap: 20px; }
    .subscribe-band-head { gap: 12px; }
    .subscribe-band-icon { width: 44px; height: 44px; font-size: 17px; }
    .subscribe-band-title { font-size: 1.2rem; }
    .subscribe-band-desc { font-size: 14px; }
    .subscribe-band-form { flex-direction: column; }
    .subscribe-band-form input[type="email"],
    .subscribe-band-form button { width: 100%; justify-content: center; }
    .subscribe-band--footer .subscribe-band-inner { padding: 16px; }

    /* Float buttons smaller premium, sit above bottom nav */
    :root { --float-right: 14px; --float-size: 46px; --float-gap: 8px; --float-bottom: 78px; }
    .whatsapp-float { font-size: 22px; }
    .back-top { width: 36px; height: 36px; font-size: 12px; }
    .vai-fab { width: var(--float-size); height: var(--float-size); }

    /* Mobile bottom navbar - always fixed */
    .m-bottom-nav {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        position: fixed !important;
        left: 0; right: 0; bottom: 0;
        z-index: 10030;
        background: rgba(255,255,255,.96);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border-top: 1px solid #e2e8f0;
        box-shadow: 0 -8px 24px rgba(15,23,42,.08);
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
        width: 100%;
        max-width: 100%;
    }
    .m-bottom-item {
        appearance: none;
        border: 0;
        background: transparent;
        color: #64748b;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        padding: 6px 2px;
        font-family: inherit;
        font-size: 10px;
        font-weight: 700;
        text-decoration: none;
        cursor: pointer;
        min-height: 52px;
        line-height: 1.1;
    }
    .m-bottom-item i { font-size: 16px; }
    .m-bottom-item.active,
    .m-bottom-item:hover { color: var(--blue-deep); }
    .m-bottom-enquire .m-bottom-fab {
        width: 42px; height: 42px; margin-top: -18px; margin-bottom: 2px;
        border-radius: 50%;
        display: inline-flex; align-items: center; justify-content: center;
        background: linear-gradient(135deg, #42a5f5, #0d47a1);
        color: #fff;
        box-shadow: 0 8px 18px rgba(13,71,161,.35);
        border: 3px solid #fff;
    }
    .m-bottom-enquire .m-bottom-fab i { font-size: 16px; color: #fff; }
    .m-bottom-enquire span:last-child { color: var(--blue-deep); }
    .compare-bar {
        bottom: calc(var(--m-bottom-h) + 10px + env(safe-area-inset-bottom, 0px)) !important;
    }
    .pd-sticky-cta { bottom: calc(var(--m-bottom-h) + env(safe-area-inset-bottom, 0px)); }

    /* Modal - above bottom nav; extra bottom padding so Send button is clear */
    .modal {
        z-index: 10050;
        align-items: flex-end;
        padding: 0;
    }
    .modal-box {
        border-radius: 16px 16px 0 0;
        padding: 20px 16px calc(24px + var(--m-bottom-h) + env(safe-area-inset-bottom, 0px));
        max-height: 90vh;
        overflow-y: auto;
        width: 100%;
        max-width: 100%;
    }
    .modal-box h3 { font-size: 1.15rem; }
    .modal-box p { font-size: 13px; }
    .modal-box input, .modal-box select, .modal-box textarea {
        font-size: 16px;
        padding: 11px 12px;
        border-radius: 8px;
    }
    .modal-box .btn-block {
        margin-bottom: 8px;
        position: relative;
        z-index: 1;
    }

    /* Keep floats above bottom dock */
    .whatsapp-float {
        bottom: calc(var(--m-bottom-h) + 14px + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 10020;
    }
    .vai-fab {
        bottom: calc(var(--m-bottom-h) + 14px + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 10020;
    }
    .back-top {
        bottom: calc(var(--m-bottom-h) + 14px + var(--float-size) + var(--float-gap) + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 10020;
    }

    /* Inner pages */
    .page-banner { padding: 28px 0 24px; }
    .page-banner h1 { font-size: clamp(1.25rem, 5vw, 1.55rem); margin-top: 6px; }
    .page-banner p { font-size: 13px; margin-top: 6px; }
    .breadcrumb { font-size: 12px; }
    .pagination { gap: 6px; margin-top: 24px; }
    .pagination a { min-width: 34px; height: 34px; font-size: 12px; border-radius: 7px; }

    /* Shop keep Amazon-style side filters (overridden in shop block) */
    .shop-section { padding-top: 18px; }
    .pl-card-wrap { gap: 4px; }
    .compare-chip { font-size: 11px; }

    /* Product detail */
    .pd-page { padding-top: 12px; }
    .pd-crumb { font-size: 12px; margin-bottom: 12px; }
    .pd-info h1 { font-size: clamp(1.2rem, 5vw, 1.45rem); }
    .pd-actions { gap: 8px; }
    .pd-btn { padding: 10px 12px; font-size: 12.5px; border-radius: 9px; }
    .pd-quote-note { font-size: 12px; }
    .pd-sticky-cta { padding: 8px 0; }
    .pd-sticky-inner { gap: 8px; }
    .pd-sticky-inner strong { font-size: 12px; max-width: 48%; }
    .pd-sticky-actions .pd-btn { width: auto; }
    .pd-compare-toggle { font-size: 12px; }
    .pd-related .section-head h2 { font-size: 1.1rem; }

    /* Compare / downloads */
    .compare-table th, .compare-table td { padding: 8px; font-size: 12px; }
    .compare-table img { width: 64px; height: 64px; }
    .dl-item { padding: 12px; border-radius: 10px; gap: 10px; }
    .dl-item h3 { font-size: 14px; }
    .dl-filters a { padding: 6px 10px; font-size: 12px; }
    .faq-item { padding: 10px 12px; border-radius: 8px; }
    .faq-item summary { font-size: 13px; }
    .compare-bar {
        left: 12px; right: 12px; transform: none; width: auto;
        bottom: calc(var(--float-bottom) + (var(--float-size) + var(--float-gap)) * 2 + 8px);
        justify-content: space-between; padding: 8px 10px; font-size: 12px; border-radius: 12px;
    }
    .compare-bar a { padding: 7px 10px; font-size: 12px; }
}

/* Responsive Small phones */
@media (max-width: 480px) {
    .wrap { padding: 0 12px; }
    .hero-slider--desktop .hero-slide { min-height: 380px; padding-bottom: 34px; }
    .hero-slider--mobile,
    .hero-slider--mobile .hero-slide {
        min-height: 0;
        max-height: min(100vw, 480px);
    }
    .hero-content h1 { font-size: 1.3rem; }
    .hero-content p { font-size: 12.5px; margin-bottom: 12px; }
    .hero-btns .btn { min-width: 0; flex: 1 1 calc(50% - 4px); padding: 8px 10px; font-size: 12px; }
    .stats-wrap { margin-top: -20px; }
    .stat { padding: 10px 8px; gap: 6px; }
    .stat-icon { width: 28px; height: 28px; font-size: 12px; }
    .stat strong { font-size: 1rem; }
    .stat small { font-size: 8.5px; }
    .quick-item { min-height: 68px; padding: 10px 6px; }
    .section { padding: 32px 0; }
    .section-head { margin-bottom: 16px; }
    .section-head h2 { font-size: 1.2rem; }
    .product-grid,
    .showcase-grid,
    .home-product-grid,
    .pro-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .product-img { height: 120px; }
    .product-body h3 { font-size: 11.5px; }
    .showcase-media { height: 96px; }
    .showcase-body h3 { font-size: 11.5px; }
    .sector-grid, .feature-cards { grid-template-columns: 1fr 1fr; gap: 8px; }
    .gallery-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .client-logo { width: 68px; height: 44px; }
    .client-logo img { max-height: 28px; }
    .about-stats { gap: 10px; justify-content: space-between; }
    .about-stats > div { flex: 1; text-align: center; }
    .about-stats strong { font-size: 1rem; }
    .cta-btns { flex-direction: column; }
    .cta-btns .btn { width: 100%; flex: none; }
    .pillar-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .pillar-card { padding: 14px 10px; }
    .pillar-card h3 { font-size: 13px; }
    .pillar-card p { font-size: 11px; }
    .pd-related-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .reviews-grid { grid-template-columns: 1fr; }
}

/* Safe area for notched phones */
@supports (padding: max(0px)) {
    .whatsapp-float {
        bottom: max(var(--float-bottom), env(safe-area-inset-bottom));
        right: max(var(--float-right), env(safe-area-inset-right));
    }
    .vai-fab {
        right: max(var(--float-right), env(safe-area-inset-right));
        bottom: max(var(--float-bottom), env(safe-area-inset-bottom));
    }
    .back-top {
        right: max(calc(var(--float-right) + (var(--float-size) - 44px) / 2), env(safe-area-inset-right));
        bottom: calc(max(var(--float-bottom), env(safe-area-inset-bottom)) + var(--float-size) + var(--float-gap));
    }
    .modal-box { padding-bottom: max(32px, env(safe-area-inset-bottom)); }
    .pd-sticky-cta { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
}

/* Mobile enquiry sheet: clear fixed bottom nav (overrides safe-area-only padding) */
@media (max-width: 768px) {
    .modal#enquiryModal,
    .modal {
        z-index: 10050 !important;
    }
    .modal#enquiryModal .modal-box,
    .modal.open .modal-box {
        padding-bottom: calc(28px + var(--m-bottom-h, 64px) + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* ===== CMS / Inner pages ===== */
.page-banner{background:linear-gradient(180deg,#f7fbff 0%,#eef5ff 100%);color:var(--text);padding:40px 0 36px;border-bottom:1px solid #dceaf8}
.page-banner h1{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em;margin-top:8px;color:var(--blue-deep)}
.page-banner p{color:var(--muted);margin-top:8px;max-width:640px}
.breadcrumb{font-size:13px;opacity:.85;display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--muted)}
.breadcrumb a{color:var(--blue);text-decoration:underline}
.list-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.list-meta p{font-size:14px;color:var(--muted)}
.empty-state{text-align:center;padding:60px 20px;background:#fff;border:1px dashed var(--border);border-radius:16px}
.empty-state i{font-size:42px;color:var(--blue-2);margin-bottom:12px}
.pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:32px}
.pagination a{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;font-weight:700;font-size:13px;background:#fff}
.pagination a.active,.pagination a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.page-intro{margin-bottom:20px;color:var(--muted);font-size:14px}
.pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:36px}
.pagination a{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:700;padding:0 10px}
.pagination a.active,.pagination a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.empty-state{text-align:center;padding:60px 20px}
.empty-state i{font-size:42px;color:var(--blue);margin-bottom:12px}
.empty-state h3,.empty-state h1{margin:12px 0}
/* =========================================================
 SHOP PAGE Desktop / Tablet / Mobile (separate layouts)
 Desktop : classic wide sidebar + 4-col grid
 Tablet : side filters + 3/2-col grid
 Mobile : compact Amazon-style (icon-top cats + 2-col)
 ========================================================= */

/* DESKTOP (default) */
.shop-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.shop-banner{position:relative;overflow:hidden}
.shop-banner::after{display:none}
.shop-banner-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:0}
.shop-banner .breadcrumb{display:none}
.shop-banner-copy{flex:1;min-width:240px}
.shop-banner-copy h1{margin:0;font-size:clamp(1.55rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em}
.shop-banner-copy p{margin:8px 0 0;max-width:52ch;opacity:.92;font-size:14.5px;line-height:1.55}
.shop-search{max-width:420px;flex:1;min-width:260px}
.shop-section{
  padding-top:28px;padding-bottom:64px;
  background:linear-gradient(180deg,#f8fafc 0%,#fff 42%)
}

.shop-sidebar{
  background:#0f172a;
  border:0;
  border-radius:16px;
  padding:18px 14px;
  margin:0;
  position:sticky;
  top:88px;
  max-height:calc(100vh - 110px);
  overflow:auto;
  box-shadow:0 10px 30px rgba(15,23,42,.12);
  display:flex;
  flex-direction:column;
  min-height:0
}
.shop-sidebar h4{
  font-size:12px;margin:0 0 12px;padding:0 8px;
  color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;
  border:0;font-weight:800;text-align:left;flex-shrink:0
}
.shop-sidebar ul{
  list-style:none;margin:0;padding:0;
  display:grid;gap:4px;
  flex:1 1 auto;min-height:0
}
.shop-sidebar li{margin:0;padding:0;width:100%}
.shop-sidebar a{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  gap:10px;
  margin:0;
  font-size:13px;font-weight:600;line-height:1.35;
  color:#cbd5e1;padding:10px 10px;border-radius:10px;
  text-decoration:none;transition:.15s;background:transparent;
  white-space:normal;border:0
}
.shop-sidebar a i{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:auto;margin:0;padding:0;
  border-radius:0;background:transparent;color:#93c5fd;
  font-size:13px;flex-shrink:0;line-height:1
}
.shop-sidebar a span{
  display:inline;margin:0;padding:0;
  min-width:0;width:auto;line-height:1.35;font-size:13px;
  white-space:normal;overflow:visible;max-width:none;
  word-break:normal
}
.shop-sidebar a:hover{background:rgba(255,255,255,.06);color:#fff;border-color:transparent}
.shop-sidebar a:hover i{background:transparent;color:#bfdbfe}
.shop-sidebar a.active{background:rgba(59,130,246,.22);color:#fff}
.shop-sidebar a.active i{background:transparent;color:#bfdbfe}

.shop-search{
  display:flex;align-items:center;gap:0;margin:0;max-width:none;width:100%;flex:1;min-width:0;
  background:#fff;border-radius:12px;padding:4px 4px 4px 14px;
  border:1px solid #d6e8fb;box-shadow:0 4px 14px rgba(21,101,192,.06)
}
.shop-search > i{color:#64748b;font-size:13px;flex-shrink:0}
.shop-search input{
  flex:1;min-width:0;padding:11px 12px;border:none;border-radius:8px;
  font:inherit;font-size:14px;background:transparent;outline:none
}
.shop-search .btn{flex-shrink:0;padding:10px 16px;border-radius:9px;margin:0}

.shop-main{min-width:0;margin:0}
.shop-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;
  background:transparent;border:0;border-radius:0;
  padding:0;margin:0 0 16px;box-shadow:none
}
.shop-toolbar .shop-cat-more{flex-shrink:0;white-space:nowrap}
.shop-toolbar .shop-search{flex:1;min-width:0}
.shop-sort{display:flex;align-items:center;flex-shrink:0;margin:0}
.shop-sort select{
  font:inherit;font-size:13px;font-weight:600;padding:10px 12px;border:1px solid var(--border);
  border-radius:9px;background:#fff;color:var(--text);cursor:pointer;min-height:42px;max-width:140px
}
.shop-cat-block .pl-size-filters{margin:12px 0 0}
.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0
}
.shop-trust{display:none !important}

.shop-cat-block{
  margin:0 0 36px;padding:0;background:transparent;
  border:0;border-radius:0
}
.shop-cat-block:last-child{margin-bottom:0}
.shop-cat-head,.shop-list-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 16px;
  padding:0 0 12px;border-bottom:1px solid var(--border)
}
.shop-cat-head h2,.shop-list-head h2{
  margin:0;font-size:1.2rem;color:#0f172a;display:flex;align-items:center;gap:10px;letter-spacing:-.02em
}
.shop-cat-head h2 i{color:var(--blue);font-size:1rem}
.shop-cat-count{margin:4px 0 0;font-size:12px;color:var(--muted);font-weight:600}
.shop-cat-more{
  font-size:13px;font-weight:700;color:var(--blue);text-decoration:none;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;padding:0;margin:0
}
.shop-cat-more:hover{text-decoration:underline}
.shop-cat-more i{font-size:11px;transition:transform .2s}
.shop-cat-more:hover i{transform:translateX(3px)}

.shop-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:0
}
.shop-card-wrap{display:flex;flex-direction:column;gap:8px;min-width:0;height:100%;margin:0}
.shop-card{
  height:100%;
  display:flex;flex-direction:column;
  border-radius:14px;
  border:1px solid #e8eef5;
  box-shadow:0 1px 2px rgba(15,23,42,.03);
  background:#fff;
  overflow:hidden;
  margin:0;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.shop-card:hover,
.product-card.shop-card:hover{
  transform:none!important;
  box-shadow:0 16px 36px rgba(15,23,42,.1);
  border-color:#bbdefb
}
.shop-card .product-img{
  height:190px;
  background:linear-gradient(165deg,#f1f5f9 0%,#fff 70%);
  border-bottom:1px solid #f1f5f9;
  margin:0;
  overflow:hidden;
  position:relative;
  isolation:isolate
}
.shop-card .product-img img{
  padding:16px;object-fit:contain;
  position:relative;z-index:0!important
}
.shop-card .product-badge,
.shop-card .product-cat{display:none !important}
.shop-card:hover .product-img img,
.product-card.shop-card:hover .product-img img{transform:scale(1.03)}
.shop-card .product-body{
  padding:14px 16px 16px;
  display:flex;flex-direction:column;flex:1;margin:0
}
.shop-card .product-cat{font-size:10px;margin:0 0 4px;color:var(--blue-2);letter-spacing:.04em;text-transform:uppercase}
.shop-card .product-body h3{
  font-size:14px;line-height:1.35;margin:0 0 8px;font-weight:700;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:2.7em;color:#0f172a
}
.shop-card-meta{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:0 2px
}
.shop-wa-link{
  display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;
  color:#128c7e;text-decoration:none;margin:0
}
.shop-wa-link:hover{text-decoration:underline}
.shop-card .product-price{margin:0 0 0;font-size:15px;font-weight:800;color:#0f172a}
.shop-card .product-price .price-quote{color:var(--blue);font-size:12px}
.shop-card .product-link{display:none}
.shop-card-wrap .compare-chip{
  justify-content:flex-start;align-items:center;gap:6px;margin:0;padding:0;
  border:0;background:transparent;color:#475569;font-size:12px;font-weight:600
}
.shop-card-wrap .compare-chip input{margin:0;accent-color:#1565c0}
.shop-empty{
  text-align:center;padding:56px 16px;color:var(--muted);background:#fff;
  border:1px dashed var(--border);border-radius:16px;margin:0
}
.shop-empty i{font-size:32px;opacity:.5;margin:0 0 10px}
.shop-empty h3{color:var(--text);margin:0 0 8px}
.shop-empty p{margin:0}
.shop-empty .btn{margin-top:14px}

/* Desktop/tablet shop: freeze chrome, only products scroll */
@media (min-width: 769px) {
  body.page-shop {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
  }
  body.page-shop > .scroll-progress { display: none !important; }
  body.page-shop > .topbar,
  body.page-shop > .header,
  body.page-shop > .catbar {
    flex-shrink: 0;
    position: relative;
    top: auto;
    z-index: 60;
  }
  body.page-shop > .header { background: #fff; }
  body.page-shop > .catbar { z-index: 55; }
  body.page-shop > main {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }
  body.page-shop > .footer { display: none !important; }

  body.page-shop .shop-banner { display: none !important; }

  body.page-shop .shop-toolbar {
    display: flex !important;
    position: sticky;
    top: 0;
    z-index: 5;
    background: linear-gradient(180deg, #f8fafc 0%, #f8fafc 70%, transparent);
    padding: 0 0 12px;
    margin: 0 0 8px;
  }
  body.page-shop .shop-search {
    max-width: none;
    width: 100%;
    margin: 0;
  }

  body.page-shop .shop-section {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 16px 0 18px;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 42%);
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
  }
  body.page-shop .shop-section > .wrap.shop-layout {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    width: 100%;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    gap: 22px;
    align-items: stretch;
    overflow: hidden;
  }

  body.page-shop .shop-sidebar {
    position: relative;
    top: auto;
    height: 100%;
    min-height: 0;
    max-height: none;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #0f172a;
    border: 0;
    border-radius: 16px;
    padding: 18px 14px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .12);
  }
  body.page-shop .shop-sidebar h4 {
    font-size: 12px;
    margin: 0 0 12px;
    padding: 0 8px;
    text-align: left;
    color: #94a3b8;
    border: 0;
    flex-shrink: 0;
  }
  body.page-shop .shop-sidebar ul {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  body.page-shop .shop-sidebar a {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    gap: 10px;
    padding: 10px;
    border-radius: 10px;
    font-size: 13px;
    color: #cbd5e1;
    border: 0;
    background: transparent;
  }
  body.page-shop .shop-sidebar a i {
    width: 18px;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: #93c5fd;
    font-size: 13px;
  }
  body.page-shop .shop-sidebar a span {
    display: inline;
    width: auto;
    font-size: 13px;
    word-break: normal;
  }
  body.page-shop .shop-sidebar a:hover { background: rgba(255,255,255,.06); color: #fff; }
  body.page-shop .shop-sidebar a:hover i { background: transparent; color: #bfdbfe; }
  body.page-shop .shop-sidebar a.active { background: rgba(59,130,246,.22); color: #fff; }
  body.page-shop .shop-sidebar a.active i { background: transparent; color: #bfdbfe; }

  body.page-shop .shop-main {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 4px;
  }

  body.page-shop .shop-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
  body.page-shop .shop-cat-block { margin: 0 0 36px; padding: 0; background: transparent; border: 0; }
  body.page-shop .shop-card { border-radius: 14px; }
  body.page-shop .shop-card .product-img { height: 190px; }
  body.page-shop .shop-card .product-badge,
  body.page-shop .shop-card .product-cat { display: none !important; }
}

@media (max-width: 1100px) and (min-width: 769px) {
  body.page-shop .shop-section > .wrap.shop-layout {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 16px;
  }
  body.page-shop .shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  body.page-shop .shop-card .product-img { height: 170px; }
  body.page-shop .shop-sidebar { padding: 14px 12px; }
  body.page-shop .shop-sidebar a { font-size: 12.5px; padding: 9px; }
}

/* MOBILE only (768px): locked chrome, ONLY products scroll */
@media (max-width: 768px) {
  .shop-trust { display: none !important; }

  /* Freeze page chrome fixed, products pane scrolls */
  body.page-shop {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
  }
  body.page-shop > .scroll-progress { display: none !important; }
  body.page-shop > .topbar,
  body.page-shop > .header,
  body.page-shop > .catbar {
    flex-shrink: 0;
    position: relative;
    top: auto;
    z-index: 50;
  }
  body.page-shop > .header { background: #fff; }
  body.page-shop > .catbar { z-index: 45; }
  body.page-shop > main {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }
  body.page-shop > .footer { display: none !important; }

  body.page-shop .shop-banner { display: none !important; }

  body.page-shop .shop-toolbar {
    display: flex !important;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    z-index: 5;
    background: #eaeded;
    padding: 0 0 8px;
    margin: 0 0 4px;
    flex-wrap: wrap;
    gap: 8px;
  }
  body.page-shop .shop-sort {
    width: 100%;
  }
  body.page-shop .shop-sort select {
    width: 100%;
    max-width: none;
    min-height: 40px;
  }
  body.page-shop .shop-search {
    padding: 3px 3px 3px 10px;
    border-radius: 10px;
    margin: 0;
    max-width: none;
    width: 100%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
    border: 1px solid #d0d7de;
  }
  body.page-shop .shop-search input { padding: 10px 8px; font-size: 16px; }
  body.page-shop .shop-search .btn { padding: 9px 12px; font-size: 12.5px; }

  body.page-shop .shop-section {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 8px 0 calc(78px + env(safe-area-inset-bottom, 0px));
    background: #eaeded;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
  }
  body.page-shop .shop-section > .wrap.shop-layout {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    width: 100%;
    max-width: 100%;
    padding-left: 8px;
    padding-right: 8px;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    gap: 6px;
    align-items: stretch;
    margin: 0 auto;
    overflow: hidden;
  }

  body.page-shop .shop-sidebar {
    background: #0f172a;
    border: 0;
    border-radius: 10px;
    padding: 8px 4px;
    margin: 0;
    position: relative;
    top: auto;
    z-index: 1;
    height: 100%;
    min-height: 0;
    max-height: none;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .12);
  }

  body.page-shop .shop-sidebar h4 {
    font-size: 8px;
    margin: 0;
    padding: 4px 2px 6px;
    color: #94a3b8;
    text-align: center;
    border-bottom: 1px solid rgba(148, 163, 184, .2);
    position: sticky;
    top: 0;
    background: #0f172a;
    z-index: 1;
    flex-shrink: 0;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  body.page-shop .shop-sidebar ul {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px 0 0;
    margin: 0;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  body.page-shop .shop-sidebar li { margin: 0; width: 100%; }
  body.page-shop .shop-sidebar a {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 3px;
    margin: 0;
    padding: 7px 3px;
    border-radius: 8px;
    font-size: 8.5px;
    color: #cbd5e1;
    background: transparent;
    border: 1px solid transparent;
  }

  body.page-shop .shop-sidebar a i {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: rgba(255,255,255,.06);
    color: #93c5fd;
    font-size: 11px;
  }

  body.page-shop .shop-sidebar a span {
    display: block;
    width: 100%;
    font-size: 8.5px;
    line-height: 1.25;
    word-break: break-word;
  }

  body.page-shop .shop-sidebar a:hover { background: rgba(255,255,255,.06); border-color: transparent; color: #fff; }
  body.page-shop .shop-sidebar a:hover i { background: rgba(59,130,246,.25); color: #bfdbfe; }
  body.page-shop .shop-sidebar a.active { background: rgba(59,130,246,.22); border-color: transparent; color: #fff; }
  body.page-shop .shop-sidebar a.active i { background: #1565c0; color: #fff; }

  /* ONLY products pane scrolls */
  body.page-shop .shop-main {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 8px;
  }

  body.page-shop .shop-cat-block {
    margin: 0 0 10px;
    padding: 8px;
    background: #fff;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
  }

  body.page-shop .shop-cat-head,
  body.page-shop .shop-list-head { margin: 0 0 8px; padding: 0 0 8px; }
  body.page-shop .shop-cat-head h2,
  body.page-shop .shop-list-head h2 { font-size: .95rem; }
  body.page-shop .shop-cat-count { font-size: 10px; margin: 2px 0 0; }
  body.page-shop .shop-cat-more { font-size: 12px; }

  body.page-shop .shop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.page-shop .shop-card {
    border-radius: 6px;
    border-color: #d5d9d9;
    box-shadow: none;
    transform: none;
  }

  body.page-shop .shop-card:hover {
    transform: none;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .08);
    border-color: #007185;
  }

  body.page-shop .shop-card .product-img { height: 120px; background: #fff; border-bottom: 1px solid #f0f2f2; }
  body.page-shop .shop-card .product-img img { padding: 8px; }
  body.page-shop .shop-card .product-body { padding: 8px; }
  body.page-shop .shop-card .product-badge,
  body.page-shop .shop-card .product-cat { display: none !important; }
  body.page-shop .shop-card .product-body h3 {
    font-size: 12px;
    margin: 0 0 4px;
    min-height: 0;
    -webkit-line-clamp: 2;
    font-weight: 500;
  }
  
  body.page-shop .shop-card .product-price { font-size: 13px; margin: 0; }
  body.page-shop .shop-card-wrap .compare-chip,
  body.page-shop .shop-wa-link { font-size: 10px; }
  body.page-shop .shop-empty { border-radius: 8px; padding: 40px 14px; }

  .shop-banner-copy { display: block !important; }
}

@media (max-width: 380px) {
  body.page-shop .shop-section > .wrap.shop-layout {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 5px;
  }
  body.page-shop .shop-card .product-img { height: 104px; }
  body.page-shop .shop-card .product-body h3 { font-size: 11px; }
  body.page-shop .shop-sidebar a i { width: 22px; height: 22px; font-size: 10px; }
}


/* Product list base tweaks (shared) */
.pl-banner-copy,
.pl-banner .breadcrumb{display:none!important}
.pl-search{
  display:flex;align-items:center;gap:0;margin:0;max-width:420px;width:100%;
  background:#fff;border-radius:12px;padding:4px 4px 4px 14px;
  box-shadow:0 10px 28px rgba(2,12,32,.18)
}
.pl-search > i{color:#64748b;font-size:13px;flex-shrink:0}
.pl-search input{
  flex:1;min-width:0;padding:11px 12px;border:none;border-radius:8px;
  font:inherit;font-size:14px;background:transparent;outline:none
}
.pl-search .btn{flex-shrink:0;padding:10px 16px;border-radius:9px;margin:0}
.pl-card .product-img{position:relative;isolation:isolate;overflow:hidden}
.pl-card .product-img img{position:relative;z-index:0!important}
.pl-card .product-badge,
.pl-card .product-cat{display:none !important}

.pl-card:hover,
.product-card.pl-card:hover{transform:none!important}
.pl-card:hover .product-img img,
.product-card.pl-card:hover .product-img img{transform:scale(1.03)}
.pl-card .product-link{display:none}

/* Desktop/tablet product-list: freeze chrome, only products scroll */
@media (min-width: 769px) {
  body.page-pl {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
  }

  body.page-pl > .scroll-progress { display: none !important; }
  body.page-pl > .topbar,
  body.page-pl > .header {
    flex-shrink: 0;
    position: relative;
    top: auto;
    z-index: 60;
  }

  body.page-pl > .header { background: #fff; }
  body.page-pl > main {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }

  body.page-pl > .footer { display: none !important; }

  body.page-pl .pl-banner {
    flex-shrink: 0;
    position: relative;
    z-index: 50;
    padding: 8px 0;
    margin: 0;
    background: linear-gradient(135deg, #0d47a1, #1565c0);
    box-shadow: 0 8px 20px rgba(2, 12, 32, .14);
  }

  body.page-pl .pl-banner::after { display: none; }
  body.page-pl .pl-banner-row {
    margin: 0;
    justify-content: center;
    align-items: center;
  }

  body.page-pl .pl-search {
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
  }

  body.page-pl .pl-section {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 16px 0 18px;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 42%);
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
  }

  body.page-pl .pl-section > .wrap.pl-layout {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    width: 100%;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 22px;
    align-items: stretch;
    overflow: hidden;
  }

  body.page-pl .pl-sidebar,
  body.page-pl .shop-sidebar.pl-sidebar {
    position: relative;
    top: auto;
    height: 100%;
    max-height: none;
    align-self: stretch;
    overflow-x: hidden;
    overflow-y: auto;
    background: #0f172a;
    border: 0;
    border-radius: 16px;
    padding: 18px 14px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .12);
  }

  body.page-pl .pl-sidebar h4 {
    font-size: 12px;
    margin: 0 0 12px;
    padding: 0 8px;
    text-align: left;
    color: #94a3b8;
    border: 0;
  }
  body.page-pl .pl-sidebar ul {
    display: block;
    flex-wrap: unset;
    overflow: visible;
    gap: 0;
    padding: 0;
  }
  body.page-pl .pl-sidebar li { margin: 0; width: auto; flex: unset; }
  body.page-pl .pl-sidebar a {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    gap: 10px;
    padding: 10px;
    border-radius: 10px;
    font-size: 13px;
    color: #cbd5e1;
    border: 0;
    background: transparent;
    white-space: normal;
  }
  body.page-pl .pl-sidebar a i {
    width: 18px;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: #93c5fd;
    font-size: 13px;
  }
  body.page-pl .pl-sidebar a span {
    display: inline;
    width: auto;
    font-size: 13px;
    max-width: none;
    overflow: visible;
    text-overflow: unset;
    word-break: normal;
  }
  body.page-pl .pl-sidebar a:hover { background: rgba(255,255,255,.06); color: #fff; }
  body.page-pl .pl-sidebar a:hover i { background: transparent; color: #bfdbfe; }
  body.page-pl .pl-sidebar a.active { background: rgba(59,130,246,.22); color: #fff; }
  body.page-pl .pl-sidebar a.active i { background: transparent; color: #bfdbfe; }

  body.page-pl .pl-main {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 4px;
  }

  body.page-pl .pl-toolbar {
    margin: 0 0 14px;
    padding: 0 0 12px;
    position: sticky;
    top: 0;
    z-index: 5;
    background: linear-gradient(180deg, #f8fafc 70%, rgba(248,250,252,0));
  }
  body.page-pl .pl-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }
  body.page-pl .pl-card { border-radius: 14px; }
  body.page-pl .pl-card .product-img { height: 190px; }
  body.page-pl .pl-card .product-badge,
  body.page-pl .pl-card .product-cat { display: none !important; }
  body.page-pl .pl-pagination { margin-top: 24px; padding-bottom: 12px; }
}

@media (max-width: 1100px) and (min-width: 769px) {
  body.page-pl .pl-section > .wrap.pl-layout {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 16px;
  }
  body.page-pl .pl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  body.page-pl .pl-card .product-img { height: 170px; }
  body.page-pl .pl-sidebar { padding: 14px 12px; }
  body.page-pl .pl-sidebar a { font-size: 12.5px; padding: 9px; }
}

/* MOBILE only: product-list locked like shop */
@media (max-width: 768px) {
  body.page-pl .pl-toolbar,
  body.page-pl .pl-size-filters { display: none !important; }

  body.page-pl {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
  }
  body.page-pl > .scroll-progress { display: none !important; }
  body.page-pl > .topbar,
  body.page-pl > .header {
    flex-shrink: 0;
    position: relative;
    /* top: auto; */
    z-index: 50;
  }
  body.page-pl > .header { background: #fff; }
  body.page-pl > main {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }
  body.page-pl > .footer { display: none !important; }

  body.page-pl .pl-banner {
    flex-shrink: 0;
    position: relative;
    top: auto;
    z-index: 40;
    padding: 8px 0;
    margin: 0;
    background: linear-gradient(135deg, #0d47a1, #1565c0);
    box-shadow: 0 6px 16px rgba(2, 12, 32, .18);
  }
  body.page-pl .pl-banner::after { display: none; }
  body.page-pl .pl-banner-row { margin: 0; align-items: stretch; }
  body.page-pl .pl-search {
    padding: 3px 3px 3px 10px;
    border-radius: 10px;
    margin: 0;
    max-width: none;
    width: 100%;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .16);
  }
  body.page-pl .pl-search input { padding: 10px 8px; font-size: 16px; }
  body.page-pl .pl-search .btn { padding: 9px 12px; font-size: 12.5px; }

  body.page-pl .pl-section {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 8px 0 calc(78px + env(safe-area-inset-bottom, 0px));
    background: #eaeded;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
  }
  body.page-pl .pl-section > .wrap.pl-layout {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    width: 100%;
    max-width: 100%;
    padding-left: 8px;
    padding-right: 8px;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 6px;
    align-items: stretch;
    margin: 0 auto;
    overflow: hidden;
  }

  body.page-pl .pl-sidebar,
  body.page-pl .shop-sidebar.pl-sidebar {
    background: #fff;
    border: 1px solid #d5d9d9;
    border-radius: 6px;
    padding: 4px 2px;
    margin: 0;
    position: relative;
    top: auto;
    z-index: 1;
    height: 100%;
    max-height: none;
    align-self: stretch;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    box-shadow: none;
  }
  body.page-pl .pl-sidebar h4 {
    font-size: 7px;
    margin: 0;
    padding: 3px 1px 5px;
    color: #565959;
    text-align: center;
    border-bottom: 1px solid #eaecef;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
  }
  body.page-pl .pl-sidebar ul {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2px;
    padding: 3px 0 0;
    margin: 0;
    overflow: visible;
  }
  body.page-pl .pl-sidebar li { margin: 0; width: 100%; flex: unset; }
  body.page-pl .pl-sidebar a {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 2px;
    margin: 0;
    padding: 5px 2px;
    border-radius: 6px;
    font-size: 8px;
    color: #0f1111;
    background: transparent;
    border: 1px solid transparent;
    white-space: normal;
  }
  body.page-pl .pl-sidebar a i {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: #f3f6f8;
    color: #1565c0;
    font-size: 11px;
  }
  body.page-pl .pl-sidebar a span {
    display: block;
    width: 100%;
    max-width: none;
    font-size: 8px;
    line-height: 1.25;
    word-break: break-word;
    overflow: visible;
    text-overflow: unset;
  }
  body.page-pl .pl-sidebar a:hover { background: #f7fafa; border-color: #e3e6e6; }
  body.page-pl .pl-sidebar a:hover i { background: #e3f2fd; color: #1565c0; }
  body.page-pl .pl-sidebar a.active { background: #e7f4ff; border-color: #bbdefb; color: #0c59a4; }
  body.page-pl .pl-sidebar a.active i { background: #1565c0; color: #fff; }

  body.page-pl .pl-main {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 8px;
  }

  body.page-pl .pl-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  body.page-pl .pl-card {
    border-radius: 6px;
    border-color: #d5d9d9;
    box-shadow: none;
    transform: none;
  }
  body.page-pl .pl-card:hover {
    transform: none !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .08);
    border-color: #007185;
  }
  body.page-pl .pl-card .product-img { height: 120px; background: #fff; border-bottom: 1px solid #f0f2f2; }
  body.page-pl .pl-card .product-img img { padding: 8px; }
  body.page-pl .pl-card .product-body { padding: 8px; }
  body.page-pl .pl-card .product-body h3 {
    font-size: 12px;
    margin: 0 0 4px;
    min-height: 0;
    -webkit-line-clamp: 2;
    font-weight: 500;
  }
  body.page-pl .pl-card .product-body p { display: none; }
  body.page-pl .pl-card-wrap .compare-chip { font-size: 10px; }
  body.page-pl .shop-empty { border-radius: 8px; padding: 40px 14px; }
  body.page-pl .pl-pagination { margin-top: 14px; gap: 4px; }
}

@media (max-width: 380px) {
  body.page-pl .pl-section > .wrap.pl-layout {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 5px;
  }
  body.page-pl .pl-card .product-img { height: 104px; }
  body.page-pl .pl-card .product-body h3 { font-size: 11px; }
  body.page-pl .pl-sidebar a i { width: 22px; height: 22px; font-size: 10px; }
}


/* Product list (category pages) */
.pl-banner .pl-banner-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:0}
.pl-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:10px 0 0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.9}
.pl-eyebrow i{font-size:13px}
.pl-banner h1{margin-top:6px}
.pl-section{padding-top:28px;padding-bottom:64px;background:linear-gradient(180deg,#f8fafc 0%,#fff 40%)}
.pl-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.pl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.pl-toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.pl-toolbar h2{margin:0;font-size:1.2rem;font-weight:800;letter-spacing:-.02em;color:#0f172a}
.pl-filter-chip{display:inline-flex;align-items:center;gap:8px;background:#e3f2fd;color:#0d47a1;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px}
.pl-filter-chip a{color:#0d47a1;text-decoration:none;font-size:15px;line-height:1}
.pl-sort{display:flex;align-items:center;gap:8px}
.pl-sort label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.pl-sort select{font:inherit;font-size:13px;font-weight:600;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);cursor:pointer}
.pl-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pl-card .product-img{height:180px}
.pl-card .product-body{padding:14px 16px 16px}
.pl-card .product-body h3{font-size:14px;min-height:2.6em;line-height:1.35;margin:4px 0 6px}
.pl-card .product-body p{font-size:12px;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pl-pagination{margin-top:36px;gap:6px}
.pl-pagination .pl-page-nav{padding:0 14px;gap:6px}
.pl-pagination .pl-page-gap{display:inline-flex;align-items:center;justify-content:center;min-width:24px;color:var(--muted);font-weight:700}

@media(max-width:1100px){
  /* legacy fallback locked page-pl overrides this */
  body:not(.page-pl) .pl-layout{grid-template-columns:1fr}
  body:not(.page-pl) .pl-sidebar{position:static}
  body:not(.page-pl) .pl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:768px){
  .pl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pl-card .product-img{height:150px}
  .pl-banner-row{align-items:stretch}
  .pl-search{max-width:none}
  .pl-toolbar{align-items:flex-start}
}
@media(max-width:480px){
  .pl-grid{grid-template-columns:1fr}
}
.pd-page{padding:24px 0 8px;background:#fff;color:#0f172a}
.pd-page .breadcrumb,.pd-crumb{margin-bottom:18px;color:#0f172a;opacity:1;font-size:13px}
.pd-page .breadcrumb a,.pd-crumb a{color:#0f172a;text-decoration:none;font-weight:600}
.pd-page .breadcrumb a:hover,.pd-crumb a:hover{color:#1f4c94;text-decoration:underline}
.pd-page .breadcrumb span,.pd-crumb span{color:#0f172a}
.pd-hero{display:grid;grid-template-columns:minmax(340px,1fr) minmax(0,1.15fr);gap:36px;align-items:start;padding-bottom:28px}
.pd-gallery{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start;position:sticky;top:88px}
.pd-gallery:not(:has(.pd-thumbs)){grid-template-columns:1fr}
.pd-thumbs-side{display:flex;flex-direction:column;gap:8px;max-height:460px;overflow:auto;padding-right:2px}
.pd-thumb{width:68px;height:68px;flex:0 0 auto;border:1px solid #e5e7eb;border-radius:8px;padding:4px;background:#fff;cursor:pointer;transition:.15s}
.pd-thumb:hover,.pd-thumb.active{border-color:#1f4c94;box-shadow:0 0 0 2px rgba(31,76,148,.15)}
.pd-thumb img{width:100%;height:100%;object-fit:contain}
.pd-zoom-wrap{position:relative;min-width:0}
.pd-main{
  position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px;
  display:flex;align-items:center;justify-content:center;min-height:440px;overflow:hidden;cursor:zoom-in;
  width:100%;font:inherit;color:inherit;appearance:none;-webkit-appearance:none;text-align:center;
}
.pd-main img{max-height:400px;width:auto;max-width:100%;object-fit:contain;transform:scale(1);transform-origin:center center;transition:transform .28s ease;will-change:transform;user-select:none;pointer-events:none}
.pd-zoom-wrap.is-zooming .pd-main img{transition:transform .12s ease-out}
.pd-zoom-hint{position:absolute;right:12px;bottom:12px;z-index:3;font-size:12px;font-weight:600;color:#475569;background:rgba(255,255,255,.95);border:1px solid #e5e7eb;padding:5px 9px;border-radius:999px;transition:opacity .2s ease}
.pd-zoom-hint--mobile{display:none}
.pd-zoom-wrap.is-zooming .pd-zoom-hint{opacity:0;pointer-events:none}
.pd-info h1{font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:700;margin:0 0 10px;letter-spacing:-.02em;color:#0f172a;line-height:1.3}
.pd-badge{
  display:inline-flex;align-items:center;margin:0 0 8px;padding:4px 10px;border-radius:6px;
  background:#e3f2fd;color:#0d47a1;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase
}
.pd-datasheet{margin:14px 0 0}
.pd-datasheet .btn{font-size:14px}
.product-img{position:relative}
.product-badge{
  position:absolute;top:10px;left:10px;z-index:2;padding:4px 9px;border-radius:6px;
  background:rgba(13,71,161,.92);color:#fff;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.compare-head-card{position:relative}
.compare-badge{position:static;display:inline-flex;margin:0 0 8px;background:#1565c0}
.compare-ds{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;color:#1565c0}
.pd-cat-line{margin:0 0 18px;font-size:13.5px;color:#64748b}
.pd-cat-line span{font-weight:700;color:#0f172a;margin-right:6px}
.pd-cat-line a{color:var(--blue-deep);font-weight:700;text-decoration:none}
.pd-cat-line a:hover{text-decoration:underline}
.pd-short{margin:0;font-size:14px;color:#0f172a}

/* Specs: label left — value right */
.pd-spec-list{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin:0 0 14px;
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.pd-spec-row{
  display:grid;
  grid-template-columns:minmax(150px,36%) minmax(0,1fr);
  gap:0;
  align-items:center;
  border-bottom:1px solid #eef2f7;
  min-width:0;
}
.pd-spec-row:last-child{border-bottom:0}
.pd-spec-row:nth-child(even) .pd-spec-key{background:#f5f9ff}
.pd-spec-row:nth-child(even) .pd-spec-val{background:#fafcff}
.pd-spec-key{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:#f8fafc;
  min-width:0;
  border-right:1px solid #eef2f7;
}
.pd-spec-ico{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:10px;
  background:#fff;
  border:1px solid #e2e8f0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:var(--blue-deep);
  font-size:16px;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.pd-spec-ico i{line-height:1}
.pd-spec-ico img{
  max-width:24px!important;
  max-height:24px!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  display:block!important;
  object-fit:contain;
}
.pd-spec-label{
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.01em;
  color:#0f172a;
  line-height:1.35;
  text-transform:capitalize;
}
.pd-spec-val{
  padding:12px 14px;
  font-size:13.5px;
  line-height:1.55;
  color:#334155;
  min-width:0;
  word-break:break-word;
}
.pd-spec-val img{
  display:inline-block!important;
  vertical-align:middle;
  max-height:32px!important;
  width:auto!important;
  height:auto!important;
  margin:2px 8px 2px 0!important;
  object-fit:contain;
}
.pd-spec-note{
  margin:12px 0 0;
  padding:12px 14px;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid var(--border);
  font-size:13px;
  color:#475569;
  line-height:1.5;
}
.pd-spec-note strong{color:#0f172a}
@media(max-width:640px){
  .pd-spec-row{
    grid-template-columns:1fr;
  }
  .pd-spec-key{
    border-right:0;
    border-bottom:1px solid #eef2f7;
    padding-bottom:8px;
  }
  .pd-spec-val{padding-top:8px}
}

.pd-short table,.pd-spec-table{width:100%!important;max-width:100%;height:auto!important;border-collapse:collapse;font-size:14px;margin:0 0 12px;background:#fff}
.pd-short table th,.pd-spec-table th{border:1px solid #e5e7eb;padding:10px 12px;vertical-align:middle;color:#0f172a;line-height:1.5;font-size:13px;font-weight:700;background:#f8fafc;text-align:left;letter-spacing:.02em}
.pd-spec-table thead th:first-child,.pd-short table thead th:first-child{width:36%}
.pd-short table td,.pd-spec-table td{border:1px solid #e5e7eb;padding:10px 12px;vertical-align:middle;color:#0f172a;line-height:1.5;font-size:14px}
.pd-short table tr td:first-child,.pd-spec-table tr td:first-child{width:36%;font-weight:700;background:#f8fafc;color:#0f172a;white-space:normal;font-size:13px;text-align:left;vertical-align:middle}
.pd-short table tr td:first-child img{
  display:block!important;
  margin:0 auto 8px!important;
  max-height:52px;
  width:auto!important;
  height:auto!important;
  float:none!important
}
.pd-short table td img,
.pd-short img{
  display:inline-block!important;
  vertical-align:middle;
  width:auto!important;
  max-height:48px;
  height:auto!important;
  margin:4px 6px 4px 0!important;
  float:none!important
}
.pd-short table tr td:last-child{white-space:normal}
.pd-short table tr td:last-child img{
  display:inline-block!important;
  vertical-align:middle;
  max-height:52px;
  margin:4px 8px 4px 0!important
}
.pd-short .aligncenter,
.pd-short .alignnone,
.pd-short .alignleft,
.pd-short .alignright{
  display:inline-block!important;
  float:none!important;
  margin:4px 8px 4px 0!important
}
.pd-short strong{font-size:14px;color:#0f172a}
.pd-short ul{margin:0 0 12px;padding-left:1.15em;list-style:disc}
.pd-short li{margin-bottom:6px;line-height:1.55;color:#0f172a}
.pd-short label{display:block;font-weight:700;margin-bottom:8px;color:#0f172a}
.pd-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;margin-top:4px}
.pd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 14px;border-radius:var(--radius);font:inherit;font-size:14px;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:.18s ease;width:100%;box-sizing:border-box}
.pd-btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 18px rgba(21,101,192,.28)}
.pd-btn-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px rgba(21,101,192,.38)}
.pd-btn-outline{background:#fff;color:var(--blue-deep);border-color:#cbd5e1}
.pd-btn-outline:hover{border-color:var(--blue);background:var(--blue-pale)}
.pd-btn-wa{background:#128c7e;color:#fff}
.pd-btn-wa:hover{background:#075e54;color:#fff}
.pd-desc-wrap{padding:40px 0 52px;border-top:1px solid #eef2f7;background:var(--soft)}
.pd-desc-heading{font-size:clamp(1.2rem,2vw,1.45rem);font-weight:800;margin:0 0 22px;color:#0f172a;letter-spacing:-.02em}
.pd-desc{max-width:1100px;font-size:15px;color:#334155;line-height:1.75}
.pd-desc-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.pd-desc-card:last-child:nth-child(odd){
  grid-column:1 / -1;
  max-width:100%;
}
.pd-desc-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:26px 24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.pd-desc-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  border-color:var(--blue-pale);
}
.pd-desc-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.pd-desc-card-ico{
  flex:0 0 auto;
  width:46px;
  height:46px;
  border-radius:12px;
  background:var(--blue-pale);
  color:var(--blue);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  overflow:hidden;
}
.pd-desc-card-ico--img{
  background:#fff;
  border:1px solid var(--border);
  padding:6px;
}
.pd-desc-card-ico img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.pd-desc-card-title{
  margin:0;
  font-size:15px;
  font-weight:800;
  color:#0f172a;
  line-height:1.35;
  letter-spacing:-.01em;
  text-transform:capitalize;
  flex:1;
  min-width:0;
}
.pd-desc-card-text{
  margin:0;
  font-size:14px;
  color:var(--muted);
  line-height:1.65;
}
.pd-desc-bullets{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pd-desc-bullets li{
  position:relative;
  margin:0;
  padding:0 0 0 18px;
  font-size:14px;
  color:var(--muted);
  line-height:1.55;
}
.pd-desc-bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 0 3px var(--blue-pale);
}
.pd-desc .pd-spec-list{margin:16px 0 20px}
.pd-desc p{margin:0 0 14px}
.pd-desc h3,.pd-desc h4{margin:1.25em 0 .65em;font-size:1.05rem;font-weight:800;color:#0f172a;line-height:1.35;text-transform:capitalize}
.pd-desc hr{border:none;border-top:1px solid #eef2f7;margin:20px 0}
.pd-desc strong{
  display:inline;font-weight:700;color:#0f172a;
  letter-spacing:normal;text-transform:none;margin:0;
}
.pd-desc img{max-width:min(160px,100%);height:auto;margin:6px 12px 6px 0;display:inline-block;vertical-align:middle;border-radius:6px}
.pd-desc ul,.pd-desc ol{margin:0 0 14px;padding-left:1.2em}
.pd-desc li{margin-bottom:6px}
@media(max-width:720px){
  .pd-desc-grid{grid-template-columns:1fr;gap:12px}
  .pd-desc-card{padding:20px 18px}
}
.pd-related .section-head h2{font-size:1.25rem;color:#0f172a;margin:0 0 6px}
.pd-related-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;
}
.pd-related-head .section-head,.pd-related-head > div:first-child{margin:0}
.pd-related-head p{margin:0;font-size:13px;color:var(--muted)}
.pd-related-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pd-related-nav{display:inline-flex;gap:8px}
.pd-related-prev,.pd-related-next{
  width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--blue-deep);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;
}
.pd-related-prev:hover,.pd-related-next:hover{border-color:var(--blue);background:var(--blue-pale)}
.pd-related-all{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--blue-deep);text-decoration:none;
}
.pd-related-all:hover{color:var(--blue);text-decoration:underline}
.pd-related-swiper{overflow:hidden;padding-bottom:4px}
.pd-related-swiper .swiper-slide{height:auto}
.pd-related-swiper .product-card{
  display:flex;flex-direction:column;height:100%;border-radius:12px;border:1px solid var(--border);background:#fff;overflow:hidden;
}
.pd-related-swiper .product-img{height:150px;display:flex;align-items:center;justify-content:center;padding:12px;background:#f8fafc}
.pd-related-swiper .product-img img{max-height:120px;width:auto;max-width:100%;object-fit:contain;padding:0}
.pd-related-swiper .product-body{padding:12px 14px 16px;flex:1;display:flex;flex-direction:column;gap:8px}
.pd-related-swiper .product-body h3{font-size:13px;font-weight:700;margin:0;line-height:1.35;color:#0f172a}
.pd-related-swiper .product-link{font-size:12px;margin-top:auto}

/* Category pillars fallback */
.pd-pillars-wrap{padding:36px 0 40px;background:#fff;border-top:1px solid #eef2f7}
.pd-pillars-wrap .section-head{margin-bottom:18px}
.pd-pillars-wrap .section-head h2{margin:0 0 6px;font-size:clamp(1.15rem,2vw,1.4rem);font-weight:800;color:#0f172a}
.pd-pillars-wrap .section-head p{margin:0;color:var(--muted);font-size:14px}
.pd-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pd-pillar-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 18px;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.pd-pillar-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--blue-pale)}
.pd-pillar-ico{
  width:42px;height:42px;border-radius:12px;background:var(--blue-pale);color:var(--blue);
  display:inline-flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:12px;
}
.pd-pillar-card h3{margin:0 0 6px;font-size:15px;font-weight:800;color:#0f172a}
.pd-pillar-card p{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}
.pd-tagline{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--muted)}
.pd-use-chips{
  list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;
}
.pd-use-chips li{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;
  background:var(--soft);border:1px solid var(--border);font-size:12.5px;font-weight:600;color:#0f172a;
}
.pd-use-chips i{color:var(--blue);font-size:12px}

/* Fullscreen gallery lightbox */
body.pd-lightbox-open{overflow:hidden}
.pd-lightbox[hidden]{display:none!important}
.pd-lightbox{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:16px}
.pd-lightbox-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.88)}
.pd-lightbox-dialog{
  position:relative;z-index:1;width:min(960px,100%);max-height:min(90vh,900px);
  display:flex;align-items:center;justify-content:center;
}
.pd-lightbox-dialog img{
  max-width:100%;max-height:min(82vh,820px);width:auto;height:auto;object-fit:contain;
  border-radius:12px;background:#fff;padding:12px;box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.pd-lightbox-close,.pd-lightbox-nav{
  position:absolute;border:0;background:rgba(255,255,255,.95);color:#0f172a;cursor:pointer;
  width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:2;
}
.pd-lightbox-close{top:-6px;right:-6px;font-size:18px}
.pd-lightbox-prev{left:8px;top:50%;transform:translateY(-50%)}
.pd-lightbox-next{right:8px;top:50%;transform:translateY(-50%)}
.pd-lightbox-count{
  position:absolute;left:50%;bottom:-36px;transform:translateX(-50%);
  margin:0;color:#e2e8f0;font-size:13px;font-weight:600;letter-spacing:.02em;
}
.pd-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pd-related-grid .product-card{border-radius:10px}
.pd-related-grid .product-img{height:140px}
.pd-related-grid .product-img img{padding:10px}
.pd-related-grid .product-body{padding:12px 12px 14px}
.pd-related-grid .product-body h3{font-size:13px;font-weight:700;margin:0 0 6px;line-height:1.35;color:#0f172a}
.pd-related-grid .product-link{font-size:12px}
.btn-ghost-dark{background:#fff;color:var(--blue);border:2px solid var(--border)}
.btn-ghost-dark:hover{border-color:var(--blue);background:var(--blue-pale)}
.btn-whatsapp{background:#25d366;color:#fff}
.btn-whatsapp:hover{background:#1ebe57;transform:translateY(-2px)}
@media(max-width:1100px){
  .pd-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pd-pillars{grid-template-columns:1fr 1fr}
}
@media(max-width:960px){
  .pd-hero,.pd-actions{grid-template-columns:1fr}
  .pd-gallery{position:static;grid-template-columns:1fr}
  .pd-thumbs-side{flex-direction:row;max-height:none;overflow:auto}
  .pd-main{min-height:300px;cursor:pointer}
  .pd-zoom-hint--desktop{display:none}
  .pd-zoom-hint--mobile{display:inline-flex;align-items:center;gap:6px}
  .pd-short table tr td:first-child{white-space:normal;width:40%}
  .pd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
@media(max-width:720px){
  .pd-pillars{grid-template-columns:1fr}
  .pd-lightbox-prev{left:0}
  .pd-lightbox-next{right:0}
}
@media(max-width:520px){
  .pd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-related-grid .product-img{height:120px}
  .pd-related-all{width:100%}
}
.cms-content{font-size:15px;line-height:1.7;color:#334155}
.pd-assure{background:linear-gradient(125deg,#071a3a 0%,#0d47a1 55%,#1565c0 100%);color:#fff;padding:48px 0}
.pd-assure-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.pd-assure h2{margin:0 0 10px;font-size:clamp(1.3rem,2.4vw,1.8rem)}
.pd-assure-grid > div > p{opacity:.92;line-height:1.6;margin:0 0 14px}
.pd-assure-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pd-assure-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.pd-assure-list i{color:#93c5fd;margin-top:3px}
.pd-assure-cta{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.pd-assure-cta strong{font-size:1.05rem}
.pd-assure-cta p{margin:0;opacity:.92;font-size:14px;line-height:1.5}
.pd-assure-cta .pd-btn{width:100%}
.btn-ghost-dark{background:#fff;color:var(--blue);border:2px solid var(--border)}
.btn-ghost-dark:hover{border-color:var(--blue);background:var(--blue-pale)}
.btn-whatsapp{background:#25d366;color:#fff}
.btn-whatsapp:hover{background:#1ebe57;transform:translateY(-2px)}
@media(max-width:960px){
  .pd-hero,.pd-actions{grid-template-columns:1fr}
  .pd-gallery{position:static}
  .pd-main{min-height:320px;cursor:pointer}
  .pd-zoom-hint--desktop{display:none}
  .pd-zoom-hint--mobile{display:inline-flex;align-items:center;gap:6px}
}
.cms-content{font-size:15px;line-height:1.7;color:#334155}
.pd-assure{background:linear-gradient(125deg,#071a3a 0%,#0d47a1 55%,#1565c0 100%);color:#fff;padding:48px 0}
.pd-assure-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.pd-assure h2{margin:0 0 10px;font-size:clamp(1.3rem,2.4vw,1.8rem)}
.pd-assure > .wrap > div > p,.pd-assure-grid > div > p{opacity:.92;line-height:1.6;margin:0 0 14px}
.pd-assure-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pd-assure-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.pd-assure-list i{color:#93c5fd;margin-top:3px}
.pd-assure-cta{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.pd-assure-cta strong{font-size:1.05rem}
.pd-assure-cta p{margin:0;opacity:.92;font-size:14px;line-height:1.5}
.pd-assure-cta .btn{justify-content:center}
.btn-ghost-dark{background:#fff;color:var(--blue);border:2px solid var(--border)}
.btn-ghost-dark:hover{border-color:var(--blue);background:var(--blue-pale)}
.btn-whatsapp{background:#25d366;color:#fff}
.btn-whatsapp:hover{background:#1ebe57;transform:translateY(-2px)}
@media(max-width:960px){
  .pd-hero,.pd-pillars,.pd-assure-grid,.pd-specs{grid-template-columns:1fr}
  .pd-gallery{position:static}
  .pd-main{min-height:300px}
  .pd-actions .btn{width:100%;justify-content:center}
}
.cms-content{font-size:15px;line-height:1.75;color:var(--text)}
.cms-content p{margin-bottom:14px}
.cms-content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}
.cms-content th,.cms-content td{border:1px solid var(--border);padding:10px 12px;text-align:left}
.cms-content img{max-width:100%;height:auto;border-radius:8px}
.page-content{max-width:860px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}
.contact-card i{color:var(--blue);font-size:20px;margin-bottom:10px}
.contact-card h4{font-size:14px;margin-bottom:6px}
.contact-card p,.contact-card a{font-size:13px;color:var(--muted)}
.contact-form-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px}
.contact-form-box h3{margin-bottom:16px;font-size:1.2rem}
.contact-form-box input,.contact-form-box select,.contact-form-box textarea{width:100%;padding:12px 14px;margin-bottom:12px;border:2px solid var(--border);border-radius:8px;font-family:inherit;font-size:14px}
.contact-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px;grid-column:1/-1}
.contact-forms-list{grid-column:1/-1;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px}
.contact-forms-list h4{margin:0 0 10px;font-size:14px}
.contact-forms-list ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.contact-forms-list a{font-size:13px;font-weight:600;color:var(--blue)}
.contact-map{border-radius:16px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);min-height:320px}
.contact-map iframe{width:100%;height:360px;border:0;display:block}
@media(max-width:900px){
  .pd-hero,.contact-layout{grid-template-columns:1fr}
  .contact-cards{grid-template-columns:1fr 1fr}
  .pd-main{min-height:260px}
  .pd-actions .btn{width:100%;justify-content:center}
}
@media(max-width:768px){
  body.page-contact{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  body.page-contact .page-banner{padding:18px 0 16px}
  body.page-contact .page-banner h1{font-size:1.4rem;margin:4px 0 6px}
  body.page-contact .page-banner p{font-size:13px;margin:0}
  body.page-contact .section{padding:20px 0 28px}
  body.page-contact .contact-layout{gap:14px}
  body.page-contact .contact-cards{grid-template-columns:1fr 1fr;gap:8px}
  body.page-contact .contact-card{padding:12px;border-radius:12px}
  body.page-contact .contact-card i{font-size:16px;margin-bottom:6px}
  body.page-contact .contact-card h4{font-size:13px;margin-bottom:4px}
  body.page-contact .contact-card p,
  body.page-contact .contact-card a{font-size:12px;line-height:1.4;word-break:break-word}
  body.page-contact .contact-cta-row{flex-direction:column;gap:8px;margin:2px 0 8px}
  body.page-contact .contact-cta-row .btn{width:100%;justify-content:center;min-height:44px}
  body.page-contact .contact-forms-list{padding:12px 14px;border-radius:12px}
  body.page-contact .contact-forms-list ul{gap:6px}
  body.page-contact .contact-forms-list a{display:block;padding:8px 0;border-bottom:1px solid #eef2f7;min-height:36px}
  body.page-contact .contact-forms-list li:last-child a{border-bottom:0}
  body.page-contact .contact-form-box{padding:16px 14px;border-radius:14px}
  body.page-contact .contact-form-box h3{font-size:1.05rem;margin-bottom:8px}
  body.page-contact .contact-form-box input,
  body.page-contact .contact-form-box select,
  body.page-contact .contact-form-box textarea{
    font-size:16px;min-height:46px;margin-bottom:10px;padding:12px;border-radius:10px
  }
  body.page-contact .contact-form-box textarea{min-height:110px}
  body.page-contact .contact-form-box .btn{width:100%;min-height:48px;justify-content:center}
  body.page-contact .contact-map{border-radius:12px;min-height:240px}
  body.page-contact .contact-map iframe{height:240px}
}
@media(max-width:480px){
  body.page-contact .page-banner p{display:none}
  body.page-contact .contact-cards{grid-template-columns:1fr}
}

/* Primary category highlight UI */
.catbar-label{display:none!important}
.cat-highlight-grid{grid-template-columns:repeat(5,1fr)}
.cat-icon-wrap{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#e3f2fd,#fff);min-height:150px;height:150px;padding:14px}
.cat-icon-wrap img{max-height:120px;width:auto;max-width:100%;object-fit:contain}
.cat-icon{width:72px;height:72px;border-radius:18px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 10px 24px rgba(21,101,192,.25)}
.cat-card .product-body{text-align:center}
.cat-card h3{font-size:14px;min-height:2.6em}
.nav-cats-menu{min-width:280px}
.nav-cats-menu a i{width:18px;color:var(--blue-2);margin-right:4px}
.page-layout{display:grid;grid-template-columns:1fr 280px;gap:32px;align-items:start}
.page-aside .aside-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px}
.page-aside h4{font-size:14px;margin-bottom:12px}
.page-aside li{margin-bottom:8px}
.page-aside a{font-size:13px;font-weight:600;color:var(--muted);display:flex;gap:8px;align-items:center}
.page-aside a:hover{color:var(--blue)}
.page-aside a i{color:var(--blue-2);width:16px}
.sector-grid a.sector-card{display:block;color:inherit}
@media(max-width:1100px){.cat-highlight-grid{grid-template-columns:repeat(3,1fr)}.page-layout{grid-template-columns:1fr}}
@media(max-width:768px){.cat-highlight-grid{grid-template-columns:repeat(2,1fr)}.catbar-label{display:none}}
@media(max-width:480px){.cat-highlight-grid{grid-template-columns:1fr}}

/* Professional forms */
.form-pro{max-width:920px;margin:0 auto}
.pro-form{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:var(--shadow)}
.pro-form h3{font-size:1.05rem;margin:18px 0 12px;padding-top:8px;border-top:1px solid var(--border)}
.pro-form h3:first-child{border:0;margin-top:0;padding-top:0}
.pro-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pro-grid .wide{grid-column:1/-1}
.pro-form label{display:block;font-size:12px;font-weight:700;color:#475569;margin-bottom:6px}
.pro-form input,.pro-form select,.pro-form textarea{width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:8px;font:inherit;font-size:14px;background:#f8fafc}
.pro-form input:focus,.pro-form select:focus,.pro-form textarea:focus{outline:none;border-color:var(--blue-2);background:#fff;box-shadow:0 0 0 3px rgba(30,136,229,.12)}
.pro-form .btn{margin-top:18px}
.alert-ok,.alert-err{padding:14px 16px;border-radius:10px;margin-bottom:18px;font-weight:600}
.alert-ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.alert-err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.chip-list{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;background:#fff;cursor:pointer}
.chip input{width:auto;margin:0}

/* Live-style showcase */
.showcase{padding:72px 0;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
.showcase .section-head{max-width:none}
.showcase .cat-subline{
  margin-top:12px;color:var(--muted);font-size:clamp(10px,1.35vw,14px);
  white-space:nowrap;letter-spacing:.01em;line-height:1.4;
}
.showcase-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.home-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-product-grid .product-img{height:170px}
.home-product-grid .product-body h3{font-size:14px;min-height:2.5em}
.home-product-grid .product-body p{font-size:12px}
.showcase-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.showcase-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:#bbdefb}
.showcase-media{height:170px;background:linear-gradient(180deg,#e3f2fd,#fff);display:flex;align-items:center;justify-content:center;padding:16px}
.showcase-media img{/* max-height:140px; */width:auto;max-width:100%;object-fit:contain}
.showcase-body{padding:18px 16px 20px;text-align:center}
.showcase-body span{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--blue-2)}
.showcase-body h3{font-size:16px;font-weight:800;margin:8px 0 4px;letter-spacing:-.02em}
.showcase-body p{font-size:13px;color:var(--muted);margin-bottom:12px}
.showcase-body em{font-style:normal;font-size:13px;font-weight:700;color:var(--blue)}

/* CMS content polish */
.cms-content h2,.cms-content h3{margin:1.2em 0 .5em;letter-spacing:-.02em}
.cms-content p{margin-bottom:1em;color:#334155}
.cms-content ul{list-style:disc;padding-left:1.2em;margin:0 0 1em}
.cms-content li{margin-bottom:.35em}
.page-banner{background:linear-gradient(180deg,#f7fbff 0%,#eef5ff 55%,#fff 100%)}

/* Smart Chat (VAI) */
.vai-fab{
    position:fixed;
    right:var(--float-right);
    bottom:var(--float-bottom);
    z-index:941;
    width:var(--float-size);height:var(--float-size);border-radius:50%;border:0;cursor:pointer;
    background:linear-gradient(145deg,#0d47a1 0%,#1565c0 55%,#1e88e5 100%);color:#fff;
    box-shadow:0 12px 28px rgba(13,71,161,.38), inset 0 0 0 2px rgba(255,255,255,.22);
    display:flex;align-items:center;justify-content:center;
    transition:transform .25s ease, box-shadow .25s ease;
}
.vai-fab:hover{transform:scale(1.06);box-shadow:0 16px 34px rgba(13,71,161,.48), inset 0 0 0 2px rgba(255,255,255,.32)}
.vai-fab-tip{
    position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);
    background:#0f172a;color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;
    padding:7px 12px;border-radius:999px;white-space:nowrap;pointer-events:none;
    opacity:0;visibility:hidden;transition:opacity .2s ease, transform .2s ease;
    box-shadow:0 8px 20px rgba(15,23,42,.22);
}
.vai-fab-tip::after{
    content:"";position:absolute;right:-5px;top:50%;transform:translateY(-50%);
    border:5px solid transparent;border-left-color:#0f172a;
}
.vai-fab:hover .vai-fab-tip,.vai-fab:focus-visible .vai-fab-tip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(-2px)}
.vai-fab .vai-pulse{
    position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(66,165,245,.5);
    animation:vaiPulse 2.2s infinite;pointer-events:none;
}
.vai-fab-icon,.vai-fab-close{display:flex;align-items:center;justify-content:center;line-height:0}
.vai-fab-icon img{display:block;width:34px;height:34px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.22))}
.vai-avatar img{
    display:block;width:38px;height:38px;border-radius:12px;
    background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.08));
    padding:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.vai-fab-close{display:none;font-size:18px}
.vai-fab.is-open .vai-fab-icon{display:none}
.vai-fab.is-open .vai-fab-close{display:flex}
.vai-fab.is-open .vai-pulse{display:none}
.vai-fab.is-open .vai-fab-tip{display:none}
@keyframes vaiPulse{0%{transform:scale(.92);opacity:.75}70%{transform:scale(1.28);opacity:0}100%{opacity:0}}

.vai-panel{
    position:fixed;
    right:var(--float-right);
    bottom:calc(var(--float-bottom) + var(--float-size) + var(--float-gap) + 8px);
    z-index:960;width:min(390px,calc(100% - 24px));
    height:min(540px,72vh);background:#0f172a;border-radius:18px;overflow:hidden;
    box-shadow:0 24px 60px rgba(15,23,42,.38);display:none;flex-direction:column;
    border:1px solid #1e293b;
    transform:translateY(12px) scale(.98);
    opacity:0;
    transition:transform .28s var(--ease-out), opacity .28s var(--ease-out), width .2s ease, height .2s ease, inset .2s ease, border-radius .2s ease;
}
.vai-panel.open{display:flex;transform:translateY(0) scale(1);opacity:1}
.vai-backdrop{
    position:fixed;inset:0;z-index:10040;
    background:rgba(2,8,23,.58);display:none;border:0;padding:0;cursor:pointer;
}
.vai-backdrop.open{display:block !important}
.vai-panel.is-full{
    inset:0 !important;
    top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;
    width:100% !important;height:100dvh !important;max-width:none !important;
    border-radius:0;z-index:10050 !important;
    box-shadow:none;
}
body.vai-full-open{overflow:hidden}
body.vai-full-open .header,
body.vai-full-open .nav,
body.vai-full-open .nav-drop-menu,
body.vai-full-open .whatsapp-float,
body.vai-full-open .back-top,
body.vai-full-open .vai-fab{
    z-index:1 !important;
}
body.vai-full-open .vai-fab{display:none}
.vai-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(120deg,#0d47a1,#1565c0);color:#fff;gap:10px}
.vai-head-brand{display:flex;align-items:center;gap:10px;min-width:0}
.vai-avatar{flex-shrink:0;display:flex}
.vai-head strong{display:block;font-size:14px;letter-spacing:-.01em}
.vai-head small{
    display:inline-flex;align-items:center;gap:6px;opacity:.92;font-size:11px;line-height:1.3;
}
.vai-status-dot{
    width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;
    box-shadow:0 0 0 2px rgba(74,222,128,.25);animation:vaiOnline 2s ease-in-out infinite;
}
@keyframes vaiOnline{0%,100%{opacity:1}50%{opacity:.55}}
.vai-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.vai-head-actions button{
    background:rgba(255,255,255,.15);border:0;color:#fff;width:30px;height:30px;border-radius:8px;cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;
}
.vai-head-actions button.is-full-active{background:rgba(255,255,255,.28)}
.vai-lead{
  flex:1;overflow-y:auto;padding:16px;background:#0b1220;
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
}
.vai-lead-card{
  width:100%;max-width:100%;
  background:linear-gradient(180deg,#111827 0%,#0b1220 100%);
  border:1px solid #1e293b;border-radius:14px;padding:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.vai-panel.is-full .vai-lead{
  align-items:center;justify-content:center;padding:28px 20px;
}
.vai-panel.is-full .vai-lead-card{
  max-width:480px;width:100%;padding:22px 22px 18px;
  box-shadow:0 18px 40px rgba(0,0,0,.25);
}
.vai-lead-intro{margin:0 0 14px;color:#cbd5e1;font-size:13px;line-height:1.55;display:flex;align-items:flex-start;gap:8px}
.vai-lead-intro i{color:#60a5fa;margin-top:2px;flex-shrink:0}
.vai-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vai-lead-grid .wide{grid-column:1/-1}
.vai-lead label{display:block;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#94a3b8;margin-bottom:5px}
.vai-lead input,.vai-lead select{
  width:100%;padding:10px 11px;border:1px solid #334155;border-radius:9px;background:#0b1220;color:#fff;
  font:inherit;font-size:13px;
}
.vai-lead input:focus,.vai-lead select:focus{outline:none;border-color:#42a5f5;box-shadow:0 0 0 3px rgba(66,165,245,.18)}
.vai-lead-actions{margin-top:14px;display:flex;justify-content:flex-start}
.vai-lead-submit{
  width:auto;min-width:132px;border:0;border-radius:10px;padding:11px 22px;cursor:pointer;
  font:inherit;font-weight:800;font-size:13px;color:#fff;
  background:linear-gradient(135deg,#42a5f5,#1565c0);
  box-shadow:0 8px 18px rgba(21,101,192,.28);
}
.vai-lead-submit:hover{filter:brightness(1.05)}
.vai-lead-submit:disabled{opacity:.7;cursor:wait}
.vai-lead-error{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:#450a0a;border:1px solid #7f1d1d;color:#fecaca;font-size:12px;font-weight:600}
.vai-lead-note{margin:10px 0 0;font-size:11px;color:#64748b;line-height:1.45}
.vai-chat-stage{flex:1;min-height:0;display:flex;flex-direction:column}
.vai-chat-stage[hidden],.vai-lead[hidden]{display:none !important}
@media(max-width:560px){
  .vai-lead-grid{grid-template-columns:1fr}
  .vai-lead-actions{justify-content:flex-start}
  .vai-lead-submit{width:auto;min-width:140px}
}
.vai-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#0b1220;min-height:0}
.vai-msg{max-width:92%;padding:12px 14px;border-radius:12px;font-size:13.5px;line-height:1.6;color:#e2e8f0;word-break:break-word}
.vai-msg.bot{align-self:flex-start;background:#1e293b;border:1px solid #334155;max-width:96%}
.vai-panel.is-full .vai-msg.bot{max-width:720px}
.vai-msg.user{align-self:flex-end;background:#1565c0;color:#fff;white-space:pre-wrap}
.vai-msg p{margin:0 0 .65em}
.vai-msg p:last-child{margin-bottom:0}
.vai-msg h1,.vai-msg h2,.vai-msg h3,.vai-msg h4{
    margin:.2em 0 .45em;color:#fff;font-weight:800;letter-spacing:-.02em;line-height:1.25;
}
.vai-msg h1{font-size:1.1rem}.vai-msg h2{font-size:1.02rem}.vai-msg h3,.vai-msg h4{font-size:.95rem}
.vai-msg ul,.vai-msg ol{margin:.35em 0 .7em;padding-left:1.2em}
.vai-msg li{margin:.25em 0}
.vai-msg strong{color:#fff;font-weight:800}
.vai-msg em{font-style:italic;color:#cbd5e1}
.vai-msg blockquote{
    margin:.5em 0;padding:.55em .8em;border-left:3px solid #42a5f5;background:rgba(15,23,42,.55);
    color:#cbd5e1;border-radius:0 8px 8px 0;
}
.vai-msg code{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;
    background:#0f172a;padding:.1em .35em;border-radius:4px;color:#93c5fd;
}
.vai-msg pre{
    margin:.55em 0;padding:10px 12px;background:#0f172a;border:1px solid #334155;border-radius:8px;overflow-x:auto;
}
.vai-msg pre code{background:transparent;padding:0;color:#e2e8f0}
.vai-table-wrap{width:100%;overflow-x:auto;margin:.55em 0;border:1px solid #334155;border-radius:8px}
.vai-msg table{width:100%;border-collapse:collapse;margin:0;font-size:12.5px;min-width:280px}
.vai-msg th,.vai-msg td{border-bottom:1px solid #334155;padding:8px 10px;text-align:left;vertical-align:top}
.vai-msg th{background:#0f172a;color:#90caf9;font-weight:700;white-space:nowrap}
.vai-msg tr:last-child td{border-bottom:0}
.vai-msg a,.vai-msg a.vai-cta{
  display:inline-flex;align-items:center;gap:6px;margin:6px 0 2px;padding:8px 14px;
  border-radius:9px;font-size:12.5px;font-weight:800;line-height:1.2;text-decoration:none;
  color:#fff !important;background:linear-gradient(135deg,#42a5f5,#1565c0);
  box-shadow:0 6px 14px rgba(21,101,192,.28);border:0;
}
.vai-msg a.vai-cta:hover{filter:brightness(1.06);text-decoration:none}
.vai-msg hr{border:0;border-top:1px solid #334155;margin:.75em 0}
.vai-msg.typing{opacity:.85}
.vai-msg.typing span{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:#94a3b8;animation:vaiDot 1s infinite}
.vai-msg.typing span:nth-child(2){animation-delay:.15s}
.vai-msg.typing span:nth-child(3){animation-delay:.3s}
@keyframes vaiDot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.vai-chips{display:flex;gap:6px;overflow-x:auto;padding:0 12px 8px;background:#0b1220;scrollbar-width:none}
.vai-chips::-webkit-scrollbar{display:none}
.vai-chips button{
    flex-shrink:0;display:inline-flex;align-items:center;gap:5px;
    border:1px solid #334155;background:#1e293b;color:#cbd5e1;border-radius:999px;
    padding:6px 11px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;
    transition:border-color .2s ease, background .2s ease, color .2s ease;
}
.vai-chips button i{font-size:10px;color:#60a5fa}
.vai-chips button:hover{border-color:#60a5fa;color:#fff;background:#172554}
.vai-foot{display:flex;gap:8px;padding:12px;background:#111827;border-top:1px solid #1e293b}
.vai-foot input{
    flex:1;border:1px solid #334155;background:#0b1220;color:#fff;border-radius:10px;
    padding:10px 12px;font:inherit;font-size:13px;transition:border-color .2s ease, box-shadow .2s ease;
}
.vai-foot input:focus{outline:none;border-color:#42a5f5;box-shadow:0 0 0 3px rgba(66,165,245,.16)}
.vai-foot button{
    border:0;background:linear-gradient(135deg,#42a5f5,#1565c0);color:#fff;border-radius:10px;width:42px;cursor:pointer;
    transition:transform .2s ease, filter .2s ease;
}
.vai-foot button:hover{filter:brightness(1.06);transform:translateY(-1px)}
.vai-foot button:active{transform:translateY(0)}
@media(max-width:768px){
  .vai-fab-tip{display:none !important}
  .vai-panel{right:12px;left:12px;width:auto;bottom:calc(var(--float-bottom) + var(--float-size) + var(--float-gap) + 8px)}
  .vai-panel.is-full{inset:0 !important;border-radius:0;width:100% !important;height:100dvh !important}
}

@media(max-width:1100px){.showcase-grid,.home-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:768px){.showcase-grid,.pro-grid,.home-product-grid{grid-template-columns:1fr 1fr;gap:10px}}
@media(max-width:480px){.showcase-grid,.home-product-grid,.pro-grid{grid-template-columns:1fr 1fr;gap:8px}}

/* ===== About Us (live-matched) ===== */
.narrow-wrap{max-width:860px;margin:0 auto}
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pillar-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 18px;text-align:center;transition:transform .2s,box-shadow .2s}
.pillar-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pillar-card i{font-size:26px;color:var(--blue);margin-bottom:12px}
.pillar-card h3{font-size:16px;font-weight:800;margin-bottom:8px}
.pillar-card p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}
.mission-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 28px;box-shadow:var(--shadow)}
.mission-box p{color:var(--muted);margin-bottom:14px;line-height:1.7}
.mission-box p:last-child{margin-bottom:0}
.mission-sign{font-weight:700;color:var(--blue)!important;margin-top:8px}
.partner-feature{display:flex;justify-content:center;margin:8px 0 28px}
.partner-feature img{max-width:280px;width:100%;height:auto;object-fit:contain}
.partner-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;align-items:center}
.partner-logo{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 10px;display:flex;align-items:center;justify-content:center;min-height:84px;transition:box-shadow .2s,border-color .2s}
.partner-logo:hover{border-color:var(--blue-pale);box-shadow:var(--shadow)}
.partner-logo img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain;filter:none}
.about-partners .section-head p{max-width:560px;margin:10px auto 0;color:var(--muted);font-size:14px}

/* ===== About Us — premium enterprise page ===== */
body.about-page .page-banner{display:none}
body.about-page .section{padding:64px 0}
body.about-page .section-head{margin-bottom:28px}
body.about-page .section-head p{max-width:560px;margin-left:auto;margin-right:auto}

.about-hero{
  position:relative;
  padding:56px 0 60px;
  background:
    radial-gradient(ellipse 70% 80% at 90% 20%, rgba(30,136,229,.32), transparent 55%),
    linear-gradient(125deg, #0a3d91 0%, #0d47a1 45%, #1565c0 100%);
  color:#fff;
  overflow:hidden;
}
.about-hero-grid{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:40px;
  align-items:center;
}
.about-hero-crumb{color:rgba(255,255,255,.7);margin-bottom:16px}
.about-hero-crumb a{color:rgba(255,255,255,.88)}
.about-hero-crumb a:hover{color:#fff}
.about-hero-copy .label{margin-bottom:12px}
.about-hero h1{
  font-size:clamp(1.9rem,4vw,2.75rem);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1.1;
  color:#fff;
  margin:0 0 16px;
}
.about-hero-copy > p{
  font-size:16px;
  line-height:1.7;
  color:rgba(255,255,255,.88);
  max-width:48ch;
  margin:0 0 26px;
}
.about-hero-ctas{display:flex;flex-wrap:wrap;gap:10px}
.about-hero-visual{
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.18);
  aspect-ratio:4/3;
  background:rgba(255,255,255,.08);
}
.about-hero-visual img{width:100%;height:100%;object-fit:cover;display:block}

.about-panel{
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  padding:36px 40px;
  box-shadow:0 10px 40px rgba(15,23,42,.04);
}
.about-panel-head{margin-bottom:18px}
.about-panel-head h2{font-size:clamp(1.5rem,2.8vw,2rem);letter-spacing:-.03em;margin:0}
.about-panel-head p{margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.5;max-width:42rem}
.about-intro-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:24px;
}
.about-intro-cols p{margin:0;color:var(--muted);line-height:1.7;font-size:15px}
.about-mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.about-mv-grid article,
.about-mv-card{
  background:linear-gradient(180deg,#f8fbff,#f1f5f9);
  border:1px solid var(--border);
  border-radius:14px;
  padding:22px 20px;
  transition:transform .28s var(--ease-out),box-shadow .28s var(--ease-out),border-color .28s ease;
}
.about-mv-card:hover{
  transform:translateY(-3px);
  border-color:#bbdefb;
  box-shadow:0 12px 28px rgba(15,23,42,.07);
}
.about-mv-card > i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:12px;
  margin-bottom:12px;
  background:linear-gradient(145deg,#e8f3ff,#dbeafe);
  color:var(--blue-deep);
  font-size:18px;
  box-shadow:inset 0 0 0 1px rgba(21,101,192,.1);
  transition:transform .28s var(--ease-out),background .28s ease,color .28s ease,box-shadow .28s ease;
}
.about-mv-card:hover > i{
  transform:scale(1.06);
  background:var(--grad);
  color:#fff;
  box-shadow:0 8px 18px rgba(21,101,192,.28);
}
.about-mv-grid span,
.about-mv-card span{
  display:block;
  font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--blue);margin-bottom:8px;
}
.about-mv-grid p,
.about-mv-card p{margin:0;font-size:14px;line-height:1.6;color:var(--text);font-weight:600}

.about-values-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.about-value-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:24px 20px;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.about-value-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#bbdefb}
.about-values-index{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:12px;
  background:var(--blue-pale);color:var(--blue);
  font-size:12px;font-weight:800;margin-bottom:14px;
}
.about-value-card strong{display:block;font-size:1.05rem;font-weight:800;margin-bottom:8px;letter-spacing:-.02em}
.about-value-card p{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted)}

.about-mission-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.about-mission-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:26px 20px;
  min-height:100%;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.about-mission-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#bbdefb}
.about-mission-card i{
  width:46px;height:46px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;
  background:var(--blue-pale);color:var(--blue);
  font-size:18px;margin-bottom:14px;
}
.about-mission-card h3{font-size:1.02rem;font-weight:800;margin:0 0 8px;letter-spacing:-.02em}
.about-mission-card p{margin:0;font-size:13.5px;line-height:1.6;color:var(--muted);flex:1}
.about-mission-link{
  display:inline-flex;align-items:center;gap:7px;margin-top:14px;
  font-size:12.5px;font-weight:700;color:var(--blue);
}
.about-mission-link i{
  width:auto;height:auto;background:none;font-size:10px;margin:0;border-radius:0;display:inline;
}

.about-ambition-shell{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--border);border-radius:20px;padding:32px 34px;
  box-shadow:0 10px 40px rgba(15,23,42,.04);
}
.about-ambition-shell h2{
  font-size:clamp(1.35rem,2.6vw,1.85rem);letter-spacing:-.03em;margin:0 0 10px;max-width:22ch;
}
.about-ambition-shell p{margin:0;color:var(--muted);max-width:52ch;font-size:15px;line-height:1.6}

.about-trust-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.about-trust-partners{
  margin-top:36px;
  padding-top:28px;
  border-top:1px solid rgba(21,101,192,.12);
}
.about-trust-partners h3{
  margin:0 0 16px;
  text-align:center;
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:-.02em;
}
.about-partners-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:12px;
}
.about-partner-cell{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #d6e8fb;
  border-radius:14px;
  padding:14px 12px;
  min-height:88px;
  box-shadow:0 6px 20px rgba(21,101,192,.04);
}
.about-partner-cell img{
  max-height:52px;
  max-width:100%;
  width:auto;
  object-fit:contain;
  filter:none;
  opacity:1;
}
@media(max-width:980px){
  .about-partners-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:560px){
  .about-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
.lightbox--gallery .lightbox-inner{
  position:relative;
  max-width:min(920px,92vw);
}
.lightbox--gallery .lightbox-close{
  position:absolute;
  top:-44px;
  right:0;
  background:none;
  border:none;
  color:#fff;
  font-size:32px;
  cursor:pointer;
}
.lightbox--gallery .lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(15,23,42,.45);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.lightbox--gallery .lightbox-prev{left:-56px}
.lightbox--gallery .lightbox-next{right:-56px}
.lightbox--gallery .lightbox-caption{
  margin:12px 0 0;
  color:#fff;
  text-align:center;
  font-weight:600;
}
.lightbox--gallery .lightbox-counter{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.75);
  text-align:center;
  font-size:13px;
}
@media(max-width:768px){
  .lightbox--gallery .lightbox-prev{left:8px}
  .lightbox--gallery .lightbox-next{right:8px}
}
.about-trust-chip{
  display:flex;align-items:flex-start;gap:12px;
  background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:16px 16px;font-size:14px;font-weight:600;color:var(--text);line-height:1.45;
}
.about-trust-chip i{
  flex:0 0 auto;width:28px;height:28px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--blue-pale);color:var(--blue);font-size:11px;margin-top:1px;
}

.about-build-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.about-build-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:28px 22px;
  transition:transform .2s,box-shadow .2s;
}
.about-build-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.about-build-card i{font-size:24px;color:var(--blue);margin-bottom:14px}
.about-build-card h3{font-size:1.1rem;font-weight:800;margin:0 0 8px}
.about-build-card p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}

.about-make-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
  align-items:center;
  margin-bottom:36px;
}
.about-make-media{
  border-radius:18px;overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/3;
  background:#e2e8f0;
}
.about-make-media img{width:100%;height:100%;object-fit:cover;display:block}
.about-make-copy h2{font-size:clamp(1.45rem,2.8vw,1.95rem);letter-spacing:-.03em;margin:0 0 10px}
.about-make-copy > p{color:var(--muted);line-height:1.55;margin:0 0 16px}
.about-oem-process h3{font-size:1.05rem;font-weight:800;margin:0 0 16px;text-align:center;letter-spacing:-.02em}
.about-oem-flow{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
body.oem-page .oem-page-flow{
  margin-top:8px;
}
body.oem-page .oem-page-flow article{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px 14px;
  text-align:center;
}
body.oem-page .page-banner p{max-width:42rem}

/* OEM page — process-first layout (no repeated photos) */
body.oem-page .home-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:10px;
  padding:6px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#1565c0;
  background:linear-gradient(120deg,#e3f2fd,#e0f7fa);
  border:1px solid #bbdefb;
}
body.oem-page .home-kicker--center{
  display:inline-flex;
  margin-left:auto;
  margin-right:auto;
}
body.oem-page .oem-crumb{margin:0 0 22px}
body.oem-page .oem-intro{padding-top:28px}
body.oem-page .oem-intro-copy h1{
  margin:0 0 12px;
  font-size:clamp(1.55rem,3vw,2.1rem);
  font-weight:800;
  letter-spacing:-.03em;
  color:#0f172a;
  line-height:1.15;
}
body.oem-page .oem-intro-grid,
body.oem-page .oem-scale-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:0;
  align-items:stretch;
  background:linear-gradient(165deg,#fff,#f3f9ff);
  border:1px solid #cfe4fb;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(21,101,192,.08);
}
body.oem-page .oem-scale-grid{grid-template-columns:.95fr 1.05fr}
body.oem-page .oem-intro-copy,
body.oem-page .oem-scale-copy{
  padding:36px 32px;
  position:relative;
}
body.oem-page .oem-intro-copy::before,
body.oem-page .oem-scale-copy::before{
  content:"";
  position:absolute;
  left:0;top:28px;bottom:28px;
  width:4px;
  border-radius:0 8px 8px 0;
  background:linear-gradient(180deg,#1565c0,#00bcd4 55%,#f59e0b);
}
body.oem-page .oem-intro-copy h2,
body.oem-page .oem-scale-copy h2{
  margin:0 0 12px;
  font-size:clamp(1.45rem,2.8vw,2rem);
  font-weight:800;
  letter-spacing:-.03em;
  background:linear-gradient(120deg,#0d47a1 20%,#0288d1 70%,#00897b);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
body.oem-page .oem-intro-copy > p,
body.oem-page .oem-scale-copy > p{
  margin:0 0 14px;
  color:#334155;
  font-size:15px;
  line-height:1.65;
}
body.oem-page .oem-intro-media,
body.oem-page .oem-scale-media{
  min-height:100%;
  background:linear-gradient(145deg,#0d47a1,#1565c0 45%,#0288d1);
}
body.oem-page .oem-intro-media img,
body.oem-page .oem-scale-media img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  display:block;
}
body.oem-page .oem-process-sec{
  background:
    radial-gradient(ellipse 50% 60% at 50% 0%, rgba(21,101,192,.08), transparent 55%),
    linear-gradient(180deg,#fff 0%,#f5faff 100%);
}
body.oem-page .oem-process{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  counter-reset:none;
}
body.oem-page .oem-process-step{
  position:relative;
  background:#fff;
  border:1px solid #d6e8fb;
  border-radius:18px;
  padding:22px 16px 20px;
  text-align:center;
  box-shadow:0 12px 28px rgba(21,101,192,.06);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
body.oem-page .oem-process-step:hover{
  transform:translateY(-3px);
  border-color:#90caf9;
  box-shadow:0 16px 36px rgba(21,101,192,.12);
}
body.oem-page .oem-process-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:42px;
  right:-10px;
  width:18px;
  height:2px;
  background:linear-gradient(90deg,#90caf9,#1565c0);
  z-index:1;
}
body.oem-page .oem-process-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;height:52px;
  border-radius:16px;
  margin:0 auto 14px;
  background:linear-gradient(145deg,#e3f2fd,#e0f7fa);
  border:1px solid #bbdefb;
  color:#1565c0;
  box-shadow:0 8px 18px rgba(21,101,192,.12);
}
body.oem-page .oem-process-ico .v-icon{
  margin:0;
  width:24px;
  height:24px;
  color:inherit;
}
body.oem-page .oem-process-body h3{
  margin:0 0 8px;
  font-size:15px;
  font-weight:800;
  color:#0d47a1;
}
body.oem-page .oem-process-body p{
  margin:0;
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
}
body.oem-page .oem-scope-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.oem-page .oem-scope-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid #d6e8fb;
  border-radius:16px;
  padding:16px 14px;
  text-align:center;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  box-shadow:0 10px 24px rgba(21,101,192,.05);
}
body.oem-page .oem-scope-card:hover{
  transform:translateY(-3px);
  border-color:#90caf9;
  box-shadow:0 14px 32px rgba(21,101,192,.12);
}
body.oem-page .oem-scope-media{
  height:110px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#eef6ff,#fff);
  border-radius:12px;
  margin-bottom:4px;
}
body.oem-page .oem-scope-media img{
  max-height:88px;
  max-width:100%;
  width:auto;
  object-fit:contain;
}
body.oem-page .oem-scope-card strong{
  font-size:14px;
  font-weight:800;
  color:#0d47a1;
}
body.oem-page .oem-scope-card span{
  font-size:12.5px;
  font-weight:700;
  color:var(--blue);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
body.oem-page .oem-cta{
  position:relative;
  padding:52px 0;
  overflow:hidden;
  background:
    radial-gradient(ellipse 55% 70% at 8% 90%, rgba(0,188,212,.14), transparent 55%),
    radial-gradient(ellipse 45% 55% at 92% 10%, rgba(245,158,11,.1), transparent 50%),
    linear-gradient(180deg,#eef6ff 0%,#e3f2fd 100%);
  border-top:1px solid #d6e8fb;
}
body.oem-page .oem-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  flex-wrap:wrap;
}
body.oem-page .oem-cta h2{
  margin:0 0 10px;
  font-size:clamp(1.35rem,3vw,1.85rem);
  letter-spacing:-.03em;
  max-width:24ch;
  background:linear-gradient(120deg,#0d47a1,#0288d1);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
body.oem-page .oem-cta p{
  margin:0;
  color:var(--muted);
  max-width:46ch;
  line-height:1.55;
}
body.oem-page .oem-cta-btns{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:1100px){
  body.oem-page .oem-process{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.oem-page .oem-process-step:not(:last-child)::after{display:none}
  body.oem-page .oem-scope-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  body.oem-page .oem-intro-grid,
  body.oem-page .oem-scale-grid{grid-template-columns:1fr}
  body.oem-page .oem-intro-media img,
  body.oem-page .oem-scale-media img{min-height:260px}
  body.oem-page .oem-process{grid-template-columns:1fr 1fr}
  body.oem-page .oem-scope-grid{grid-template-columns:1fr 1fr}
  body.oem-page .oem-cta-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  body.oem-page .oem-process{grid-template-columns:1fr}
  body.oem-page .oem-scope-grid{grid-template-columns:1fr}
  body.oem-page .oem-intro-copy,
  body.oem-page .oem-scale-copy{padding:24px 20px}
  body.oem-page .oem-cta-btns .btn{width:100%;justify-content:center}
}
.about-oem-flow article{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px 12px 16px;
  text-align:center;
  transition:border-color .2s,box-shadow .2s;
}
.about-oem-flow article:hover{border-color:#bbdefb;box-shadow:var(--shadow)}
.about-oem-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:999px;
  background:var(--blue-pale);color:var(--blue);
  font-size:11px;font-weight:800;margin-bottom:8px;
}
.about-oem-flow i{display:block;font-size:17px;color:var(--blue);margin-bottom:8px}
.about-oem-flow h4{font-size:13.5px;font-weight:800;margin:0 0 4px}
.about-oem-flow p{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}

.about-value-shell{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:32px;
  align-items:center;
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  padding:36px;
  box-shadow:0 10px 40px rgba(15,23,42,.04);
}
.about-value-copy h2{font-size:clamp(1.45rem,2.8vw,1.95rem);letter-spacing:-.03em;margin:0 0 10px}
.about-value-copy p{color:var(--muted);margin:0;line-height:1.55}
.about-value-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.about-value-list li{
  display:flex;gap:12px;align-items:flex-start;
  background:var(--soft);
  border:1px solid var(--border);
  border-radius:12px;
  padding:13px 14px;
  font-size:14px;font-weight:600;line-height:1.45;color:var(--text);
}
.about-value-list i{color:var(--blue);margin-top:2px;flex:0 0 auto}

.about-ops-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.about-ops-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px 12px;
  text-align:center;
  transition:transform .2s,box-shadow .2s;
}
.about-ops-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.about-ops-card i{font-size:18px;color:var(--blue);margin-bottom:8px}
.about-ops-card strong{display:block;font-size:13px;font-weight:800;margin-bottom:4px}
.about-ops-card p{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}
.about-scale-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.about-scale-links--center{justify-content:center}
.about-scale-links a{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:999px;
  border:1px solid var(--border);background:#fff;
  color:var(--text);font-size:13px;font-weight:700;text-decoration:none;transition:.2s;
}
.about-scale-links a:hover{border-color:var(--blue);color:var(--blue);background:#f8fbff}
.about-scale-links i{color:var(--blue)}

.about-cats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.about-cat-card{
  display:flex;flex-direction:column;gap:10px;
  background:#fff;border:1px solid var(--border);border-radius:16px;
  padding:22px 18px;text-decoration:none;color:inherit;
  transition:transform .2s,box-shadow .2s,border-color .2s;
  min-height:140px;
}
.about-cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#bbdefb}
.about-cat-card i{font-size:20px;color:var(--blue)}
.about-cat-card span{font-size:14px;font-weight:800;line-height:1.35;letter-spacing:-.01em}
.about-cat-card em{margin-top:auto;font-style:normal;font-size:12px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:6px}

@keyframes bandOrbFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-18px,14px,0) scale(1.08)}
}
@keyframes heroVisualFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes lightSheen{
  0%{transform:translateX(-120%) skewX(-12deg);opacity:0}
  35%{opacity:.45}
  100%{transform:translateX(160%) skewX(-12deg);opacity:0}
}

.about-cta{
  position:relative;
  padding:52px 0;
  overflow:hidden;
  color:var(--text);
  background:
    radial-gradient(ellipse 55% 70% at 8% 90%, rgba(30,136,229,.12), transparent 55%),
    radial-gradient(ellipse 45% 55% at 92% 10%, rgba(2,136,209,.1), transparent 50%),
    linear-gradient(180deg,#f4f9ff 0%,#eef6ff 100%);
  border-top:1px solid #d6e8fb;
}
.about-cta::before{
  content:"";
  position:absolute;
  width:220px;height:220px;
  right:-60px;top:-80px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(66,165,245,.22),transparent 70%);
  animation:bandOrbFloat 9s ease-in-out infinite;
  pointer-events:none;
}
.about-cta-inner{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
}
.about-cta h2{color:var(--blue-deep);font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:-.03em;margin:0 0 10px;max-width:28ch}
.about-cta p{margin:0;color:var(--muted);max-width:48ch;line-height:1.55}
.about-cta-btns{display:flex;flex-wrap:wrap;gap:10px}

/* About page — colorful polish (Voltriq blue family) */
body.about-page{
  --about-sky:#e3f2fd;
  --about-mint:#e0f7fa;
  --about-ice:#e8f5e9;
  --about-sand:#fff8e1;
  --about-coral:#fff3e0;
  --about-ink:#0d47a1;
  --about-teal:#00897b;
  --tone-blue:#1565c0;
  --tone-teal:#00897b;
  --tone-cyan:#0288d1;
  --tone-amber:#f59e0b;
  --tone-rose:#e11d48;
  --tone-indigo:#3949ab;
}

/* ===== About V2 — brochure layout ===== */
body.about-page .about-v2-top{
  position:relative;
  padding:36px 0 28px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 55% 70% at 0% 0%, rgba(30,136,229,.16), transparent 55%),
    radial-gradient(ellipse 45% 55% at 100% 20%, rgba(0,188,212,.12), transparent 50%),
    radial-gradient(ellipse 40% 50% at 70% 100%, rgba(245,158,11,.08), transparent 55%),
    linear-gradient(180deg,#f3f9ff 0%,#eef7ff 45%,#fff 100%);
}
body.about-page .about-v2-top::before,
body.about-page .about-v2-top::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
body.about-page .about-v2-top::before{
  width:280px;height:280px;right:-80px;top:-100px;
  background:radial-gradient(circle,rgba(66,165,245,.22),transparent 70%);
  animation:bandOrbFloat 11s ease-in-out infinite;
}
body.about-page .about-v2-top::after{
  width:180px;height:180px;left:8%;bottom:-70px;
  background:radial-gradient(circle,rgba(0,188,212,.16),transparent 70%);
  animation:bandOrbFloat 13s ease-in-out infinite reverse;
}
body.about-page .about-v2-top > .wrap{position:relative;z-index:1}
body.about-page .about-v2-crumb{margin-bottom:18px}
body.about-page .about-v2-kicker,
body.about-page .about-v2-sec-label,
body.about-page .about-v2-card-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.about-page .about-v2-kicker{
  margin-bottom:14px;
  color:#1565c0;
  background:linear-gradient(120deg,#e3f2fd,#e0f7fa);
  border:1px solid #bbdefb;
}
body.about-page .about-v2-sec-label{
  margin-bottom:10px;
  color:#00897b;
  background:linear-gradient(120deg,#e0f7fa,#e8f5e9);
  border:1px solid #b2ebf2;
}
body.about-page .about-v2-card-label{
  margin-bottom:12px;
  color:#fff;
  background:linear-gradient(120deg,#1565c0,#0288d1);
  box-shadow:0 8px 18px rgba(21,101,192,.22);
}
body.about-page .about-v2-intro{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:0;
  align-items:stretch;
  background:
    linear-gradient(165deg,rgba(255,255,255,.96) 0%,rgba(243,249,255,.98) 100%);
  border:1px solid #cfe4fb;
  border-radius:28px;
  overflow:hidden;
  box-shadow:
    0 20px 50px rgba(21,101,192,.1),
    0 0 0 1px rgba(255,255,255,.7) inset;
}
body.about-page .about-v2-intro-copy{
  padding:40px 36px 34px;
  position:relative;
}
body.about-page .about-v2-intro-copy::before{
  content:"";
  position:absolute;
  left:0;top:28px;bottom:28px;
  width:4px;
  border-radius:0 8px 8px 0;
  background:linear-gradient(180deg,#1565c0,#00bcd4 55%,#f59e0b);
}
body.about-page .about-v2-intro-copy h1{
  margin:0 0 8px;
  font-size:clamp(2rem,3.4vw,2.7rem);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--about-ink);
  line-height:1.12;
  background:linear-gradient(120deg,#0d47a1 20%,#0288d1 70%,#00897b);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
body.about-page .about-v2-tagline{
  margin:0 0 18px;
  color:var(--about-teal);
  font-weight:800;
  font-size:1.08rem;
  letter-spacing:-.01em;
}
body.about-page .about-v2-intro-copy > p{
  margin:0 0 12px;
  color:#334155;
  font-size:15px;
  line-height:1.65;
  max-width:54ch;
}
body.about-page .about-v2-intro-media{
  position:relative;
  min-height:100%;
  background:
    linear-gradient(145deg,#0d47a1,#1565c0 45%,#0288d1);
}
body.about-page .about-v2-intro-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(13,71,161,.28));
  pointer-events:none;
}
body.about-page .about-v2-intro-media img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  display:block;
  border-radius:0 0 0 56px;
  mix-blend-mode:normal;
}
body.about-page .about-v2-stats{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
}
body.about-page .about-v2-stat{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:8px;
  padding:22px 14px;
  border:1px solid #d6e8fb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(21,101,192,.06);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
body.about-page .about-v2-stat:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(21,101,192,.12);
  border-color:#90caf9;
}
body.about-page .about-v2-stat:last-child{border-right:1px solid #d6e8fb}
body.about-page .about-v2-stat-icon{
  width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:17px;
}
body.about-page .about-v2-stat.tone-blue .about-v2-stat-icon{background:rgba(21,101,192,.12);color:var(--tone-blue)}
body.about-page .about-v2-stat.tone-teal .about-v2-stat-icon{background:rgba(0,137,123,.12);color:var(--tone-teal)}
body.about-page .about-v2-stat.tone-amber .about-v2-stat-icon{background:rgba(245,158,11,.14);color:#d97706}
body.about-page .about-v2-stat.tone-cyan .about-v2-stat-icon{background:rgba(2,136,209,.12);color:var(--tone-cyan)}
body.about-page .about-v2-stat strong{
  font-size:1.4rem;font-weight:800;color:var(--about-ink);letter-spacing:-.02em;line-height:1.1;
}
body.about-page .about-v2-stat span{
  font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);line-height:1.35;max-width:16ch;
}
body.about-page .about-v2-mv{
  background:
    radial-gradient(ellipse 40% 60% at 0% 50%, rgba(21,101,192,.06), transparent 60%),
    radial-gradient(ellipse 40% 60% at 100% 50%, rgba(0,188,212,.07), transparent 60%);
}
body.about-page .about-v2-mv-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
body.about-page .about-v2-mv-card{
  position:relative;
  border-radius:22px;
  padding:28px 26px;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(21,101,192,.08);
  transition:transform .25s,box-shadow .25s;
}
body.about-page .about-v2-mv-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(21,101,192,.14);
}
body.about-page .about-v2-mv-card--mission{
  background:
    linear-gradient(160deg,#fff 0%,#eef6ff 55%,#e3f2fd 100%);
  border:1px solid #bbdefb;
}
body.about-page .about-v2-mv-card--vision{
  background:
    linear-gradient(160deg,#fff 0%,#e0f7fa 55%,#e8f5e9 100%);
  border:1px solid #b2ebf2;
}
body.about-page .about-v2-mv-card--vision .about-v2-card-label{
  background:linear-gradient(120deg,#00897b,#26a69a);
  box-shadow:0 8px 18px rgba(0,137,123,.22);
}
body.about-page .about-v2-mv-card h2{
  margin:0 0 12px;
  font-size:1.35rem;
  color:var(--about-ink);
}
body.about-page .about-v2-mv-card p{
  margin:0;
  color:#334155;
  font-size:15px;
  line-height:1.65;
}
body.about-page .about-v2-values{
  background:
    radial-gradient(ellipse 50% 60% at 50% 0%, rgba(0,188,212,.08), transparent 55%),
    linear-gradient(180deg,#f7fbff 0%,#f0faf9 100%);
}
body.about-page .about-v2-values-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
body.about-page .about-v2-chip{
  width:48px;height:48px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  margin:0 auto 12px;
}
body.about-page .about-v2-chip .v-icon{margin:0;width:22px;height:22px}
body.about-page .about-v2-value{
  background:#fff;
  border:1px solid #d6e8fb;
  border-radius:18px;
  padding:24px 18px;
  text-align:center;
  box-shadow:0 10px 28px rgba(21,101,192,.05);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
body.about-page .about-v2-value:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(21,101,192,.12);
}
body.about-page .about-v2-value h3{
  margin:0;
  font-size:15px;
  font-weight:700;
  color:var(--about-ink);
  line-height:1.35;
}
body.about-page .about-v2-why{
  background:
    radial-gradient(ellipse 45% 55% at 100% 0%, rgba(245,158,11,.08), transparent 50%),
    linear-gradient(180deg,#fff 0%,#f5faff 100%);
}
body.about-page .about-v2-why-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.about-page .about-v2-why-card{
  background:#fff;
  border:1px solid #d6e8fb;
  border-radius:18px;
  padding:22px 16px;
  text-align:center;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
body.about-page .about-v2-why-card:hover{
  border-color:#90caf9;
  box-shadow:0 14px 32px rgba(33,150,243,.14);
  transform:translateY(-3px);
}
body.about-page .about-v2-why-card h3{
  margin:0;
  font-size:14px;
  font-weight:700;
  color:var(--about-ink);
  line-height:1.35;
}
body.about-page .tone-blue .about-v2-chip{background:rgba(21,101,192,.12);color:var(--tone-blue)}
body.about-page .tone-teal .about-v2-chip{background:rgba(0,137,123,.12);color:var(--tone-teal)}
body.about-page .tone-cyan .about-v2-chip{background:rgba(2,136,209,.12);color:var(--tone-cyan)}
body.about-page .tone-amber .about-v2-chip{background:rgba(245,158,11,.14);color:#d97706}
body.about-page .tone-rose .about-v2-chip{background:rgba(225,29,72,.1);color:var(--tone-rose)}
body.about-page .tone-indigo .about-v2-chip{background:rgba(57,73,171,.12);color:var(--tone-indigo)}
body.about-page .tone-blue .about-v2-chip .v-icon,
body.about-page .tone-teal .about-v2-chip .v-icon,
body.about-page .tone-cyan .about-v2-chip .v-icon,
body.about-page .tone-amber .about-v2-chip .v-icon,
body.about-page .tone-rose .about-v2-chip .v-icon,
body.about-page .tone-indigo .about-v2-chip .v-icon{color:inherit}
body.about-page .about-trust{
  background:
    radial-gradient(ellipse 50% 60% at 50% 100%, rgba(21,101,192,.06), transparent 55%),
    linear-gradient(180deg,#f8fbff,#fff);
}
body.about-page .about-trust-partners h3{
  text-align:center;
  font-size:clamp(1.35rem,2.4vw,1.7rem);
  color:var(--about-ink);
  margin:0 0 22px;
}
body.about-page .about-partners-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:12px;
}
body.about-page .about-partner-cell{
  background:#fff;
  border:1px solid #e3f2fd;
  border-radius:14px;
  min-height:88px;
  display:flex;align-items:center;justify-content:center;
  padding:12px;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
body.about-page .about-partner-cell:hover{
  transform:translateY(-2px);
  border-color:#90caf9;
  box-shadow:0 12px 28px rgba(21,101,192,.1);
}
body.about-page .about-partner-cell img{
  max-width:100%;
  max-height:52px;
  object-fit:contain;
  filter:none;
  opacity:1;
}
body.about-page .about-cta{
  background:
    radial-gradient(ellipse 55% 70% at 8% 90%, rgba(0,188,212,.14), transparent 55%),
    radial-gradient(ellipse 45% 55% at 92% 10%, rgba(245,158,11,.1), transparent 50%),
    linear-gradient(180deg,#eef6ff 0%,#e3f2fd 100%);
}
@media(max-width:1100px){
  body.about-page .about-partners-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:980px){
  body.about-page .about-v2-intro{grid-template-columns:1fr}
  body.about-page .about-v2-intro-media img{min-height:280px;border-radius:0}
  body.about-page .about-v2-stats{grid-template-columns:1fr 1fr}
  body.about-page .about-v2-mv-grid,
  body.about-page .about-v2-values-grid{grid-template-columns:1fr}
  body.about-page .about-v2-why-grid{grid-template-columns:1fr 1fr}
  body.about-page .about-partners-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  body.about-page .about-v2-stats{grid-template-columns:1fr}
  body.about-page .about-v2-why-grid{grid-template-columns:1fr}
  body.about-page .about-v2-intro-copy{padding:24px 20px}
  body.about-page .about-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion: reduce){
  body.about-page .about-v2-top::before,
  body.about-page .about-v2-top::after{animation:none !important}
}

body.about-page .about-intro{
  background:
    radial-gradient(ellipse 50% 60% at 0% 0%, rgba(30,136,229,.08), transparent 55%),
    linear-gradient(180deg,#f7fbff 0%,#fff 100%);
}
body.about-page .about-missions{
  background:
    radial-gradient(ellipse 40% 50% at 100% 10%, rgba(0,172,193,.1), transparent 50%),
    var(--soft);
}
body.about-page .about-values{
  background:
    radial-gradient(ellipse 45% 55% at 0% 80%, rgba(46,125,50,.07), transparent 50%),
    linear-gradient(180deg,#f3faf6 0%,#f8fafc 100%);
}
body.about-page .about-build{
  background:
    radial-gradient(ellipse 40% 50% at 100% 0%, rgba(251,140,0,.08), transparent 50%),
    var(--soft);
}
body.about-page .about-scale{
  background:
    radial-gradient(ellipse 50% 60% at 50% 100%, rgba(21,101,192,.07), transparent 55%),
    #fff;
}
body.about-page .about-stats{
  padding-top:24px;
  padding-bottom:24px;
  background:linear-gradient(180deg,#f7fbff 0%,#eef7ff 100%);
}
body.about-page .about-stats .stats-bar{
  border-color:#d6e8fb;
  box-shadow:0 14px 40px rgba(21,101,192,.08);
}
body.about-page .about-trust{
  background:
    radial-gradient(ellipse 40% 50% at 0% 0%, rgba(2,136,209,.08), transparent 50%),
    linear-gradient(180deg,#eef7ff 0%,#f8fafc 100%);
}
body.about-page .about-partners{
  background:linear-gradient(180deg,#fff 0%,#f5f9ff 100%);
}
body.about-page .section-head.center h2{
  position:relative;
  display:inline-block;
}
body.about-page .section-head.center h2::after{
  content:"";
  display:block;
  width:48px;height:4px;border-radius:999px;margin:12px auto 0;
  background:linear-gradient(90deg,#1565c0,#26c6da);
}

.about-hero{
  background:
    radial-gradient(ellipse 55% 70% at 15% 85%, rgba(0,188,212,.28), transparent 55%),
    radial-gradient(ellipse 70% 80% at 90% 20%, rgba(66,165,245,.38), transparent 55%),
    linear-gradient(125deg,#063a8a 0%,#0d47a1 42%,#1976d2 78%,#0288d1 100%);
}
.about-hero::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.14) 0 1px, transparent 1.5px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.1) 0 1px, transparent 1.5px);
  background-size:28px 28px, 36px 36px;
}
.about-hero-visual{
  box-shadow:0 28px 64px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.2);
}

.about-panel{
  background:linear-gradient(165deg,#fff 0%,#f3f9ff 100%);
  border-color:#d6e8fb;
  box-shadow:0 16px 44px rgba(21,101,192,.08);
}
.about-mv-card:nth-child(1){
  background:linear-gradient(160deg,#e3f2fd,#fff);
  border-color:#bbdefb;
}
.about-mv-card:nth-child(2){
  background:linear-gradient(160deg,#e0f7fa,#fff);
  border-color:#b2ebf2;
}
.about-mv-card:nth-child(1) > .v-icon,
.about-mv-card:nth-child(1) > .about-mv-ico,
.about-mv-card:nth-child(1) > i{
  background:linear-gradient(145deg,#bbdefb,#90caf9)!important;
  color:#0d47a1!important;
}
.about-mv-card:nth-child(2) > .v-icon,
.about-mv-card:nth-child(2) > .about-mv-ico,
.about-mv-card:nth-child(2) > i{
  background:linear-gradient(145deg,#b2ebf2,#4dd0e1)!important;
  color:#006064!important;
}
.about-mv-card:nth-child(2) span{color:#00838f}

.about-mission-card:nth-child(1){background:linear-gradient(165deg,#fff,#e3f2fd);border-color:#bbdefb}
.about-mission-card:nth-child(2){background:linear-gradient(165deg,#fff,#e8f5e9);border-color:#c8e6c9}
.about-mission-card:nth-child(3){background:linear-gradient(165deg,#fff,#fff8e1);border-color:#ffe082}
.about-mission-card:nth-child(4){background:linear-gradient(165deg,#fff,#e0f7fa);border-color:#80deea}
.about-mission-card:nth-child(1) > .v-icon,
.about-mission-card:nth-child(1) > i{background:#bbdefb!important;color:#0d47a1!important}
.about-mission-card:nth-child(2) > .v-icon,
.about-mission-card:nth-child(2) > i{background:#c8e6c9!important;color:#1b5e20!important}
.about-mission-card:nth-child(3) > .v-icon,
.about-mission-card:nth-child(3) > i{background:#ffe082!important;color:#e65100!important}
.about-mission-card:nth-child(4) > .v-icon,
.about-mission-card:nth-child(4) > i{background:#80deea!important;color:#006064!important}

.about-ambition-shell{
  background:
    radial-gradient(ellipse 60% 80% at 100% 0%, rgba(41,182,246,.18), transparent 50%),
    linear-gradient(120deg,#0d47a1 0%,#1565c0 55%,#0288d1 100%);
  border:none;
  color:#fff;
  box-shadow:0 18px 48px rgba(13,71,161,.28);
}
.about-ambition-shell h2{color:#fff}
.about-ambition-shell p{color:rgba(255,255,255,.88)}
.about-ambition-shell .btn-outline{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.55);
  color:#fff;
}
.about-ambition-shell .btn-outline:hover{
  background:#fff;color:var(--blue-deep);border-color:#fff;
}

.about-value-card:nth-child(1) .about-values-index{background:#bbdefb;color:#0d47a1}
.about-value-card:nth-child(2) .about-values-index{background:#c8e6c9;color:#1b5e20}
.about-value-card:nth-child(3) .about-values-index{background:#ffe082;color:#e65100}
.about-value-card:nth-child(4) .about-values-index{background:#b2ebf2;color:#006064}
.about-value-card:nth-child(1){border-top:3px solid #1976d2}
.about-value-card:nth-child(2){border-top:3px solid #43a047}
.about-value-card:nth-child(3){border-top:3px solid #fb8c00}
.about-value-card:nth-child(4){border-top:3px solid #00acc1}

.about-value-shell{
  background:
    linear-gradient(135deg,rgba(227,242,253,.95),rgba(255,255,255,.98)),
    #fff;
  border-color:#bbdefb;
  box-shadow:0 16px 40px rgba(21,101,192,.08);
}
.about-value-list li{
  background:#fff;
  border:1px solid #e3f2fd;
  border-radius:12px;
  padding:12px 14px;
}
.about-value-list i{color:#2e7d32}

.about-build-card:nth-child(1){
  background:linear-gradient(165deg,#fff,#e3f2fd);border-color:#90caf9;
}
.about-build-card:nth-child(2){
  background:linear-gradient(165deg,#fff,#e8f5e9);border-color:#a5d6a7;
}
.about-build-card:nth-child(3){
  background:linear-gradient(165deg,#fff,#fff3e0);border-color:#ffcc80;
}
.about-build-card:nth-child(1) > .v-icon,
.about-build-card:nth-child(1) > i{color:#1565c0!important}
.about-build-card:nth-child(2) > .v-icon,
.about-build-card:nth-child(2) > i{color:#2e7d32!important}
.about-build-card:nth-child(3) > .v-icon,
.about-build-card:nth-child(3) > i{color:#ef6c00!important}

.about-ops-card:nth-child(6n+1){background:linear-gradient(160deg,#e3f2fd,#fff);border-color:#90caf9}
.about-ops-card:nth-child(6n+2){background:linear-gradient(160deg,#e0f7fa,#fff);border-color:#4dd0e1}
.about-ops-card:nth-child(6n+3){background:linear-gradient(160deg,#e8f5e9,#fff);border-color:#81c784}
.about-ops-card:nth-child(6n+4){background:linear-gradient(160deg,#fff8e1,#fff);border-color:#ffd54f}
.about-ops-card:nth-child(6n+5){background:linear-gradient(160deg,#fff3e0,#fff);border-color:#ffb74d}
.about-ops-card:nth-child(6n+6){background:linear-gradient(160deg,#e8eaf6,#fff);border-color:#9fa8da}
.about-ops-card:nth-child(6n+1) > .v-icon,
.about-ops-card:nth-child(6n+1) > i{color:#1565c0!important}
.about-ops-card:nth-child(6n+2) > .v-icon,
.about-ops-card:nth-child(6n+2) > i{color:#00838f!important}
.about-ops-card:nth-child(6n+3) > .v-icon,
.about-ops-card:nth-child(6n+3) > i{color:#2e7d32!important}
.about-ops-card:nth-child(6n+4) > .v-icon,
.about-ops-card:nth-child(6n+4) > i{color:#f9a825!important}
.about-ops-card:nth-child(6n+5) > .v-icon,
.about-ops-card:nth-child(6n+5) > i{color:#ef6c00!important}
.about-ops-card:nth-child(6n+6) > .v-icon,
.about-ops-card:nth-child(6n+6) > i{color:#3949ab!important}

.about-trust-chip{
  background:linear-gradient(90deg,#fff,#f3f9ff);
  border-color:#d6e8fb;
}
.about-trust-chip:nth-child(even){
  background:linear-gradient(90deg,#fff,#f1fbf7);
  border-color:#c8e6c9;
}
.about-trust-chip:nth-child(even) i{
  background:#c8e6c9;color:#1b5e20;
}
.about-trust-chip i{
  background:#bbdefb;color:#0d47a1;
}

body.about-page .about-scale-links a{
  background:#fff;
  border:1px solid #bbdefb;
  color:var(--blue-deep);
  box-shadow:0 6px 18px rgba(21,101,192,.08);
}
body.about-page .about-scale-links a:hover{
  background:var(--blue-pale);
  border-color:var(--blue);
}

body.about-page .partner-feature{
  background:linear-gradient(135deg,#e3f2fd,#fff);
  border:1px solid #bbdefb;
  border-radius:18px;
  padding:20px;
  box-shadow:0 12px 32px rgba(21,101,192,.08);
}
body.about-page .partner-logo{
  background:#fff;
  border:1px solid #e3f2fd;
  box-shadow:0 4px 14px rgba(15,23,42,.04);
}
body.about-page .partner-logo:hover{
  border-color:#90caf9;
  box-shadow:0 10px 24px rgba(21,101,192,.12);
}

@media (prefers-reduced-motion: reduce){
  .corp-hero::before,.corp-hero::after,.corp-cta::before,.about-cta::before,
  .page-banner::after,.corp-hero-visual,.corp-hero-visual::after,
  .sales-page .sales-hero::before,.sales-page .sales-hero::after,
  .ticket-page .ticket-hero::after,.career-page .hero::after,.sp-hero::before{animation:none !important}
}

@media(max-width:1100px){
  .partner-grid{grid-template-columns:repeat(5,1fr)}
  .pillar-grid{grid-template-columns:repeat(2,1fr)}
  .about-hero-grid{grid-template-columns:1fr;gap:28px}
  .about-hero-visual{max-width:520px}
  .about-values-grid,.about-mission-grid,.about-cats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-oem-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .about-ops-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .about-make-grid,.about-value-shell{grid-template-columns:1fr;gap:24px}
}
@media(max-width:900px){
  .about-build-grid{grid-template-columns:1fr}
  .about-cta-inner{flex-direction:column;align-items:flex-start}
  .about-intro-cols,.about-mv-grid{grid-template-columns:1fr}
  .about-panel{padding:28px 22px}
  .about-ambition-shell{flex-direction:column;align-items:flex-start;padding:26px 22px}
  .about-trust-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  body.about-page .section{padding:48px 0}
  .partner-grid{grid-template-columns:repeat(3,1fr);gap:10px}
  .partner-logo{min-height:72px;padding:10px}
  .mission-box{padding:22px 18px}
  .about-hero{padding:36px 0 40px}
  .about-hero-ctas .btn{width:100%;justify-content:center}
  .about-values-grid,.about-mission-grid,.about-cats-grid{grid-template-columns:1fr;gap:12px}
  .about-oem-flow,.about-ops-grid{grid-template-columns:1fr 1fr}
  .about-cta{padding:40px 0}
  .about-cta-btns{width:100%}
  .about-cta-btns .btn{flex:1 1 100%;justify-content:center}
  .about-value-shell{padding:24px 18px}
}
@media(max-width:480px){
  .partner-grid{grid-template-columns:repeat(2,1fr)}
  .pillar-grid{grid-template-columns:1fr}
  .about-oem-flow{grid-template-columns:1fr}
}

/* ===== Certifications ===== */
.cert-page{padding-top:28px;padding-bottom:56px;background:linear-gradient(180deg,#f8fafc 0%,#fff 38%)}
.cert-crumb{margin:0 0 18px}
.cert-page-head{margin:0 0 28px;max-width:none}
.cert-page-head h1{margin:0;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:800;letter-spacing:-.03em;color:#0f172a}
.cert-page-head p{margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.cert-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cert-card{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  background:#fff;border:1px solid #e2e8f0;border-radius:14px;
  padding:16px 12px 14px;color:inherit;cursor:default;user-select:none;
  box-shadow:none;transition:border-color .2s ease
}
.cert-card:hover{border-color:#cbd5e1}
.cert-thumb{
  width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  background:#f8fafc;border-radius:10px;overflow:hidden;padding:14px;pointer-events:none
}
.cert-thumb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.cert-caption{font-size:13px;font-weight:700;text-align:center;color:#0f172a;margin:0;line-height:1.3}
.cert-cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}
@media(max-width:1100px){.cert-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){
  .cert-page{padding-top:18px;padding-bottom:40px}
  .cert-page-head{margin-bottom:20px}
  .cert-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:480px){
  .cert-grid{gap:10px}
  .cert-thumb{padding:8px}
  .cert-caption{font-size:12px}
  .cert-card{padding:12px 8px 10px;border-radius:12px}
}

/* Keep certifications page flat — override global card polish */
body.page-certs .cert-card,
body.page-certs .cert-card:hover{
  background:#fff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:14px !important;
  box-shadow:none !important;
  transform:none !important;
}

.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:10px;font-weight:700;font-size:14px;border:1.5px solid var(--blue);color:var(--blue);background:#fff}
/* Invert outline on dark panels: white fill + dark text (avoids white-on-white) */
.btn-outline-invert,
.on-dark .btn-outline{
  background:#fff;color:#0f172a;border-color:#fff;
}
.btn-outline-invert:hover,
.on-dark .btn-outline:hover{
  background:#e2e8f0;color:#0f172a;border-color:#e2e8f0;
}

/* ===== Customer Satisfaction Letters ===== */
.cust-page{padding-top:28px;padding-bottom:56px;background:linear-gradient(180deg,#f8fafc 0%,#fff 38%)}
.cust-crumb{margin:0 0 18px}
.cust-page-head{margin:0 0 28px;max-width:none}
.cust-page-head h1{margin:0;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:800;letter-spacing:-.03em;color:#0f172a}
.cust-page-head p{margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.cust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cust-card{margin:0;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;cursor:pointer;transition:border-color .2s ease;display:flex;flex-direction:column;box-shadow:none}
.cust-card:hover,.cust-card:focus{border-color:#cbd5e1;outline:none;transform:none;box-shadow:none}
.cust-thumb{aspect-ratio:3/4;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cust-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cust-caption{padding:12px 12px 14px;font-size:12px;font-weight:700;line-height:1.35;text-align:center;color:#0f172a;min-height:58px;display:flex;align-items:center;justify-content:center}
body.page-cust-certs .cust-card,
body.page-cust-certs .cust-card:hover{
  background:#fff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:14px !important;
  box-shadow:none !important;
  transform:none !important;
}
@media(max-width:1100px){.cust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){
  .cust-page{padding-top:18px;padding-bottom:40px}
  .cust-page-head{margin-bottom:20px}
  .cust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:480px){.cust-grid{gap:10px}.cust-caption{font-size:11px;min-height:48px;padding:10px 8px}}
#custLightbox .lightbox-inner{display:flex;flex-direction:column;align-items:center;max-width:min(920px,94vw);position:relative}
#custLightbox img{max-height:78vh;max-width:100%;border-radius:10px;background:#fff;object-fit:contain}
#custLightbox .cust-lb-caption{color:#fff;margin-top:12px;font-weight:700;font-size:14px;text-align:center;max-width:90%}
#custLightbox .cust-lb-close{position:absolute;top:-48px;right:0;background:none;border:0;color:#fff;font-size:36px;cursor:pointer;line-height:1}
#custLightbox .cust-lb-prev,#custLightbox .cust-lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.14);border:0;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer}
#custLightbox .cust-lb-prev{left:-56px}
#custLightbox .cust-lb-next{right:-56px}
@media(max-width:768px){
  #custLightbox .cust-lb-prev{left:8px}
  #custLightbox .cust-lb-next{right:8px}
}

/* ===== GEM Profile ===== */
.gem-page{padding-top:28px;padding-bottom:24px;background:linear-gradient(180deg,#f8fafc 0%,#fff 50%)}
.gem-crumb{margin:0 0 18px}
.gem-page-head{margin:0 0 24px;max-width:none}
.gem-page-head h1{margin:0;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:800;letter-spacing:-.03em;color:#0f172a}
.gem-page-head p{margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.gem-download-card{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:28px 26px;box-shadow:none}
.gem-download-copy h2{font-size:clamp(1.25rem,2.4vw,1.55rem);font-weight:800;letter-spacing:-.02em;margin:0 0 10px}
.gem-download-copy p{color:var(--muted);line-height:1.65;margin-bottom:18px}
.gem-actions{display:flex;flex-wrap:wrap;gap:10px}
.gem-download-btn i{margin-right:6px}
.gem-cover-stack{position:relative;min-height:220px}
.gem-cover-stack img{width:100%;max-width:360px;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 10px 28px rgba(15,23,42,.1);background:#fff;display:block}
.gem-cover-stack img:first-child{transform:rotate(-3deg)}
.gem-cover-stack img:last-child{position:absolute;right:0;bottom:0;max-width:300px;transform:rotate(4deg)}
.gem-preview-section{padding-top:12px}
.gem-preview-frame{background:#0b1220;border-radius:14px;overflow:hidden;border:1px solid #1e293b;box-shadow:none;min-height:800px}
.gem-preview-frame iframe{width:100%;height:min(85vh,960px);min-height:800px;border:0;display:block;background:#fff}
.gem-preview-fallback{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin-top:18px}
.gem-preview-fallback p{width:100%;text-align:center;color:var(--muted);margin:0 0 4px;font-size:13px}
@media(max-width:900px){
  .gem-page{padding-top:18px}
  .gem-download-card{grid-template-columns:1fr;padding:22px 16px}
  .gem-cover-stack{min-height:180px;max-width:340px;margin:0 auto}
  .gem-preview-frame,.gem-preview-frame iframe{min-height:70vh}
}

/* ===== OEM Solution ===== */
.oem-cta-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:linear-gradient(120deg,#0d47a1,#1565c0 55%,#1e88e5);color:#fff;border-radius:var(--radius-lg);padding:28px 32px;box-shadow:var(--shadow-lg)}
.oem-cta-bar .label{color:rgba(255,255,255,.8)}
.oem-cta-bar h2{color:#fff;font-size:clamp(1.35rem,2.5vw,1.85rem);margin:6px 0 8px;font-weight:800;letter-spacing:-.02em}
.oem-cta-bar p{color:rgba(255,255,255,.9);margin:0;max-width:520px;font-size:14px;line-height:1.55}
.oem-cta-bar .btn-primary{background:#fff;color:var(--blue);border:0}
.oem-cta-bar .btn-primary:hover{background:#e3f2fd}
.oem-benefit-grid{margin-top:8px}
.oem-intro .split-content p,.oem-cost .split-content p{margin-bottom:12px}
@media(max-width:768px){
  .oem-cta-bar{padding:22px 18px}
  .oem-cta-bar .btn-primary{width:100%;justify-content:center}
}

/* ===== Drivers explorer ===== */
.drivers-banner-copy,
.drivers-banner .breadcrumb{display:none!important}
.drivers-banner-row{
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin:0
}
.drivers-search{
  position:relative;display:flex;align-items:center;gap:0;
  margin:0;max-width:640px;width:100%;
  background:#fff;border-radius:12px;padding:4px 4px 4px 14px;
  box-shadow:0 10px 28px rgba(2,12,32,.18)
}
.drivers-search > i{color:#64748b;font-size:13px;flex-shrink:0;position:static;transform:none}
.drivers-search input{
  flex:1;min-width:0;width:auto;height:auto;border:none;border-radius:8px;
  padding:11px 12px;font:inherit;font-size:14px;background:transparent;outline:none;box-shadow:none
}
.drivers-search input:focus{outline:0;border:none;box-shadow:none}
.drivers-clear{
  position:relative;right:auto;top:auto;transform:none;flex-shrink:0;
  width:32px;height:32px;border:0;border-radius:8px;background:#e2e8f0;color:#334155;
  cursor:pointer;font-size:18px;line-height:1;margin-right:2px
}
.drivers-meta{display:none}
.drivers-toolbar{display:none}

.drivers-page{padding-top:28px;padding-bottom:64px;background:linear-gradient(180deg,#f8fafc 0%,#fff 42%)}
.drivers-layout{
  display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start
}
.drivers-sidebar{
  background:#0f172a;color:#e2e8f0;border-radius:16px;overflow:hidden;
  box-shadow:0 10px 30px rgba(15,23,42,.12);
  position:sticky;top:88px;max-height:calc(100vh - 110px);
  display:flex;flex-direction:column;margin:0;padding:0
}
.drivers-side-head{
  display:flex;gap:12px;align-items:center;padding:16px 14px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0
}
.drivers-side-head i{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:rgba(59,130,246,.2);color:#93c5fd;flex-shrink:0
}
.drivers-side-head strong{display:block;font-size:14px}
.drivers-side-head small{color:#94a3b8;font-size:11px}
.drivers-folder-list{
  list-style:none;margin:0;padding:8px;overflow:auto;flex:1;min-height:0;
  display:block
}
.drivers-folder-list > li{margin:0;width:100%}
.drivers-folder{
  width:100%;display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;
  text-align:left;border:0;background:transparent;color:#cbd5e1;padding:10px;
  border-radius:10px;cursor:pointer;font:inherit;font-size:13px
}
.drivers-folder:hover{background:rgba(255,255,255,.06);color:#fff}
.drivers-folder.active{background:rgba(59,130,246,.22);color:#fff}
.drivers-folder i{color:#fbbf24;font-size:14px}
.drivers-folder[data-model="__all"] i{color:#93c5fd}
.drivers-folder span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.drivers-folder em{
  font-style:normal;font-size:11px;color:#94a3b8;background:rgba(255,255,255,.08);
  padding:2px 7px;border-radius:999px
}

.drivers-pane{min-width:0;display:flex;flex-direction:column;gap:16px}
.drivers-main{
  background:#fff;border:1px solid var(--border);border-radius:16px;
  box-shadow:0 1px 2px rgba(15,23,42,.03);min-height:420px;overflow:hidden;margin:0
}
.drivers-path{
  display:flex;align-items:center;gap:8px;padding:14px 18px;
  border-bottom:1px solid var(--border);background:#f8fafc;font-size:13px;color:#475569;flex-wrap:wrap
}
.drivers-path > i{color:#f59e0b}
.drivers-path .sep{opacity:.5}
.drivers-back,.drivers-crumb{border:0;background:transparent;cursor:pointer;font:inherit;color:#334155;padding:4px 6px;border-radius:8px}
.drivers-back:hover,.drivers-crumb:hover{background:#e2e8f0;color:var(--blue)}
.drivers-back{width:32px;height:32px;display:grid;place-items:center}
.drivers-back i{color:inherit;font-size:13px}
.drivers-page [hidden]{display:none!important}
.drivers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:18px}
.drivers-card{
  display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--border);
  background:#fff;border-radius:12px;padding:14px 12px;cursor:pointer;font:inherit;
  transition:border-color .15s,box-shadow .15s,transform .15s
}
.drivers-card:hover{border-color:#93c5fd;box-shadow:0 8px 24px rgba(15,23,42,.08);transform:translateY(-1px)}
.drivers-card strong{display:block;font-size:14px;color:var(--text)}
.drivers-card small{color:var(--muted);font-size:12px}
.drivers-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;font-size:18px}
.drivers-icon.folder{background:#fff7ed;color:#f59e0b}
.drivers-icon.zip{background:#eff6ff;color:#2563eb}
.drivers-icon.iso{background:#ecfdf5;color:#059669}
.drivers-detail{padding:8px 18px 22px}
.drivers-model-block{animation:driversFade .2s ease}
.drivers-os-block{margin-top:18px}
.drivers-os-block h3{display:flex;align-items:center;gap:8px;font-size:15px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--border);color:#0f172a}
.drivers-os-block h3 i{color:var(--blue);font-size:14px}
.drivers-file-list{display:flex;flex-direction:column;gap:8px}
.drivers-file-list--pad{padding:18px;display:flex;flex-direction:column;gap:8px}
.drivers-search-files{grid-column:1/-1;margin-top:8px}
.drivers-search-files h3{font-size:14px;margin:0 0 10px;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.drivers-crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.drivers-crumb-current{font-weight:700;color:#0f172a}
.drivers-file{
  display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;
  padding:12px;border:1px solid var(--border);border-radius:12px;text-decoration:none;
  color:inherit;background:#fff;transition:border-color .15s,background .15s
}
.drivers-file:hover{border-color:#93c5fd;background:#f8fbff}
.drivers-file-meta strong{display:block;font-size:14px;word-break:break-word}
.drivers-file-meta small{color:var(--muted);font-size:12px}
.drivers-dl{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--blue);white-space:nowrap}
.drivers-empty{text-align:center;padding:64px 20px;color:var(--muted)}
.drivers-empty i{font-size:28px;margin-bottom:10px;opacity:.6}
.drivers-empty h3{color:var(--text);margin:0 0 6px}
.drivers-help{
  margin:0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:linear-gradient(120deg,#0d47a1,#1565c0 55%,#1e88e5);color:#fff;border-radius:16px;padding:24px 28px
}
.drivers-help h3{margin:0 0 6px;font-size:1.2rem}
.drivers-help p{margin:0;opacity:.92;font-size:14px;max-width:560px}
.drivers-help-actions{display:flex;gap:10px;flex-wrap:wrap}
.drivers-help .btn-primary{background:#fff;color:var(--blue);border:0}
.drivers-help .btn-outline{
  background:#fff;color:#0f172a;border-color:#fff;
}
.drivers-help .btn-outline:hover{
  background:#e2e8f0;color:#0f172a;border-color:#e2e8f0;
}
@keyframes driversFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* Desktop/tablet drivers: freeze chrome, models side, content scrolls */
@media (min-width: 769px) {
  body.page-drivers {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
  }
  body.page-drivers > .scroll-progress { display: none !important; }
  body.page-drivers > .topbar,
  body.page-drivers > .header {
    flex-shrink: 0;
    position: relative;
    top: auto;
    z-index: 60;
  }
  body.page-drivers > .header { background: #fff; }
  body.page-drivers > main {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }
  body.page-drivers > .footer { display: none !important; }

  body.page-drivers .drivers-banner {
    flex-shrink: 0;
    position: relative;
    z-index: 50;
    padding: 8px 0;
    margin: 0;
    background: linear-gradient(135deg, #0d47a1, #1565c0);
    box-shadow: 0 8px 20px rgba(2, 12, 32, .14);
  }
  body.page-drivers .drivers-banner::after { display: none; }
  body.page-drivers .drivers-banner-row { margin: 0; justify-content: center; }
  body.page-drivers .drivers-search { max-width: 640px; margin: 0 auto; }

  body.page-drivers .drivers-page {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 16px 0 18px;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 42%);
  }
  body.page-drivers .drivers-page > .wrap.drivers-layout {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    width: 100%;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 22px;
    align-items: stretch;
    overflow: hidden;
  }
  body.page-drivers .drivers-sidebar {
    position: relative;
    top: auto;
    height: 100%;
    max-height: none;
    align-self: stretch;
    overflow: hidden;
  }
  body.page-drivers .drivers-folder-list {
    overflow-x: hidden;
    overflow-y: auto;
  }
  body.page-drivers .drivers-pane {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 4px;
    gap: 14px;
  }
  body.page-drivers .drivers-main {
    min-height: 0;
    flex: 0 0 auto;
  }
}

@media (max-width: 1100px) and (min-width: 769px) {
  body.page-drivers .drivers-page > .wrap.drivers-layout {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 16px;
  }
  body.page-drivers .drivers-side-head { padding: 14px 12px 10px; }
  body.page-drivers .drivers-folder { font-size: 12.5px; padding: 9px; }
}

/* MOBILE drivers: shop-like side models + locked scroll */
@media (max-width: 768px) {
  body.page-drivers {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
  }
  body.page-drivers > .scroll-progress { display: none !important; }
  body.page-drivers > .topbar,
  body.page-drivers > .header {
    flex-shrink: 0;
    position: relative;
    top: auto;
    z-index: 50;
  }
  body.page-drivers > .header { background: #fff; }
  body.page-drivers > main {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }
  body.page-drivers > .footer { display: none !important; }

  body.page-drivers .drivers-banner {
    flex-shrink: 0;
    position: relative;
    z-index: 40;
    padding: 8px 0;
    margin: 0;
    background: linear-gradient(135deg, #0d47a1, #1565c0);
    box-shadow: 0 6px 16px rgba(2, 12, 32, .18);
  }
  body.page-drivers .drivers-banner::after { display: none; }
  body.page-drivers .drivers-banner-row { margin: 0; align-items: stretch; }
  body.page-drivers .drivers-search {
    padding: 3px 3px 3px 10px;
    border-radius: 10px;
    max-width: none;
    width: 100%;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .16);
  }
  body.page-drivers .drivers-search input { padding: 10px 8px; font-size: 16px; }
  body.page-drivers .drivers-clear { width: 28px; height: 28px; }

  body.page-drivers .drivers-page {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 8px 0 calc(78px + env(safe-area-inset-bottom, 0px));
    background: #eaeded;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
  }
  body.page-drivers .drivers-page > .wrap.drivers-layout {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    width: 100%;
    max-width: 100%;
    padding-left: 8px;
    padding-right: 8px;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 6px;
    align-items: stretch;
    margin: 0 auto;
    overflow: hidden;
  }

  body.page-drivers .drivers-sidebar {
    background: #fff;
    border: 1px solid #d5d9d9;
    border-radius: 6px;
    padding: 0;
    margin: 0;
    position: relative;
    top: auto;
    z-index: 1;
    height: 100%;
    max-height: none;
    align-self: stretch;
    overflow: hidden;
    box-shadow: none;
    display: flex;
    flex-direction: column;
  }
  body.page-drivers .drivers-side-head {
    display: none;
  }
  body.page-drivers .drivers-folder-list {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2px;
    padding: 4px 2px;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  body.page-drivers .drivers-folder-list > li { width: 100%; flex: unset; }
  body.page-drivers .drivers-folder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 2px;
    width: 100%;
    margin: 0;
    padding: 5px 2px;
    border-radius: 6px;
    font-size: 8px;
    color: #0f1111;
    background: transparent;
    border: 1px solid transparent;
    grid-template-columns: none;
    white-space: normal;
    min-height: 0;
  }
  body.page-drivers .drivers-folder i {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: #f3f6f8;
    color: #1565c0;
    font-size: 11px;
    display: grid;
    place-items: center;
  }
  body.page-drivers .drivers-folder[data-model="__all"] i { color: #1565c0; }
  body.page-drivers .drivers-folder span {
    display: block;
    width: 100%;
    font-size: 8px;
    line-height: 1.25;
    word-break: break-word;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 2.5em;
  }
  body.page-drivers .drivers-folder em { display: none; }
  body.page-drivers .drivers-folder:hover {
    background: #f7fafa;
    border-color: #e3e6e6;
    color: #0f1111;
  }
  body.page-drivers .drivers-folder:hover i { background: #e3f2fd; color: #1565c0; }
  body.page-drivers .drivers-folder.active {
    background: #e7f4ff;
    border-color: #bbdefb;
    color: #0c59a4;
  }
  body.page-drivers .drivers-folder.active i { background: #1565c0; color: #fff; }

  body.page-drivers .drivers-pane {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 8px;
    gap: 8px;
  }
  body.page-drivers .drivers-main {
    border-radius: 8px;
    border: 1px solid #d5d9d9;
    box-shadow: none;
    min-height: 0;
    background: #fff;
  }
  body.page-drivers .drivers-path {
    padding: 10px 12px;
    gap: 6px;
    font-size: 12px;
    position: sticky;
    top: 0;
    z-index: 2;
  }
  body.page-drivers .drivers-crumb,
  body.page-drivers .drivers-crumb-current {
    max-width: 36vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body.page-drivers .drivers-grid {
    grid-template-columns: 1fr;
    padding: 10px;
    gap: 8px;
  }
  body.page-drivers .drivers-card {
    padding: 12px;
    border-radius: 10px;
    transform: none;
    min-height: 52px;
  }
  body.page-drivers .drivers-card:hover { transform: none; }
  body.page-drivers .drivers-card strong { font-size: 13px; word-break: break-word; }
  body.page-drivers .drivers-icon { width: 36px; height: 36px; font-size: 16px; }
  body.page-drivers .drivers-file {
    grid-template-columns: 36px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 8px 10px;
    padding: 12px;
  }
  body.page-drivers .drivers-dl {
    grid-column: 2;
    justify-self: start;
    padding: 6px 10px;
    border-radius: 8px;
    background: #eff6ff;
    min-height: 32px;
  }
  body.page-drivers .drivers-help {
    margin: 0;
    padding: 14px 12px;
    border-radius: 8px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  body.page-drivers .drivers-help h3 { font-size: 1rem; }
  body.page-drivers .drivers-help p { font-size: 12.5px; max-width: none; }
  body.page-drivers .drivers-help-actions { width: 100%; }
  body.page-drivers .drivers-help-actions .btn {
    flex: 1;
    justify-content: center;
    min-height: 42px;
    font-size: 12.5px;
  }
  body.page-drivers .drivers-empty { padding: 36px 14px; }
}

@media (max-width: 380px) {
  body.page-drivers .drivers-page > .wrap.drivers-layout {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 5px;
  }
  body.page-drivers .drivers-folder i { width: 22px; height: 22px; font-size: 10px; }
  body.page-drivers .drivers-folder span { font-size: 7.5px; }
}


/* Recovery help has 3 CTAs stack cleanly on small phones */
@media (max-width: 480px) {
  body.page-recovery .drivers-help-actions {
    flex-direction: column;
  }
  body.page-recovery .drivers-help-actions .btn {
    width: 100%;
    flex: none;
  }
}
/* ===== Warranty Check ===== */
.wc-page{padding-top:28px;padding-bottom:56px;background:linear-gradient(180deg,#f8fafc 0%,#fff 40%)}
.wc-page-inner{max-width:none !important;width:100% !important;margin:0 !important}
.wc-crumb{margin:0 0 18px;color:var(--muted)}
.wc-crumb a{color:var(--blue)}
.wc-page-head{margin:0 0 22px}
.wc-page-head h1{margin:0;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:800;letter-spacing:-.03em;color:#0f172a}
.wc-page-head p{margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.wc-hero-card{
  background:#fff;color:var(--text);border-radius:14px;padding:22px 20px;
  border:1px solid #e2e8f0;box-shadow:none;margin-bottom:28px
}
.wc-form label{display:block;font-weight:700;font-size:14px;margin-bottom:8px}
.wc-input-row{display:flex;gap:10px;flex-wrap:wrap}
.wc-input-row input{flex:1;min-width:180px;height:52px;border:1px solid #d6e8fb;border-radius:12px;padding:0 14px;font:inherit;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.wc-input-row input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,101,192,.12)}
.wc-input-row .btn{height:52px;white-space:nowrap;padding:0 22px}
.wc-input-row .btn.is-loading{opacity:.8;pointer-events:none}
.wc-hint{margin:12px 0 0;color:var(--muted);font-size:12.5px;line-height:1.5;display:flex;gap:8px;align-items:flex-start}
.wc-hint i{margin-top:2px;color:var(--blue)}
.wc-status{margin-top:16px}
.wc-result{border:1px solid var(--border);border-radius:14px;padding:16px;background:#f8fafc}
.wc-result.ok{border-color:#bbf7d0;background:#f0fdf4}
.wc-result.fail{border-color:#fecaca;background:#fff7f7}
.wc-result.loading{display:flex;align-items:center;gap:12px;color:var(--muted)}
.wc-spinner{width:22px;height:22px;border:2px solid #cbd5e1;border-top-color:var(--blue);border-radius:50%;animation:wcSpin .7s linear infinite}
@keyframes wcSpin{to{transform:rotate(360deg)}}
.wc-result-top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.wc-result-top small{color:var(--muted);font-size:12px}
.wc-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}
.wc-pill.success{background:#dcfce7;color:#166534}
.wc-pill.warn{background:#fee2e2;color:#991b1b}
.wc-dl{display:grid;gap:8px;margin:0}
.wc-dl > div{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:10px 12px;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:10px}
.wc-dl dt{color:var(--muted);font-size:12px;font-weight:600}
.wc-dl dd{margin:0;font-weight:700;word-break:break-word}
.wc-warranty{color:#0d47a1}
.wc-result h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:16px 0 8px}
.wc-components{display:flex;flex-direction:column;gap:6px}
.wc-comp{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:9px 12px;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:10px;font-size:13px}
.wc-comp strong{color:#334155}
.wc-next{margin-top:16px;padding-top:14px;border-top:1px dashed #cbd5e1}
.wc-next p{margin:0 0 10px;font-weight:600}
.wc-next-actions{display:flex;flex-wrap:wrap;gap:8px}
.wc-small{color:var(--muted);font-size:13px;margin:0 0 12px}
.wc-faq-wrap h2{margin:0 0 14px;font-size:1.15rem;font-weight:800;color:#0f172a}
.wc-faq-wrap details{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-bottom:10px}
.wc-faq-wrap summary{cursor:pointer;font-weight:700;list-style:none}
.wc-faq-wrap summary::-webkit-details-marker{display:none}
.wc-faq-wrap details p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
@media(max-width:768px){
  body.page-wc{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  .wc-page{padding-top:18px;padding-bottom:40px}
  .wc-crumb{margin-bottom:12px;font-size:12px}
  .wc-page-head h1{font-size:clamp(1.45rem,6vw,1.9rem)}
  .wc-page-head p{font-size:14px}
  .wc-hero-card{padding:16px 14px;border-radius:12px;margin-bottom:22px}
  .wc-input-row{flex-direction:column;gap:8px}
  .wc-input-row input{min-width:0;width:100%;height:48px;font-size:16px}
  .wc-input-row .btn{width:100%;height:48px;justify-content:center}
  .wc-dl > div,
  .wc-comp{grid-template-columns:1fr;gap:4px}
  .wc-next-actions{flex-direction:column}
  .wc-next-actions .btn{width:100%;justify-content:center}
  .wc-faq-wrap details{padding:12px 14px}
  .wc-faq-wrap summary{font-size:14px}
  .wc-faq-wrap details p{font-size:13px}
}

/* ===== Online Diagnostic Tool ===== */
.diag-hero{background:linear-gradient(130deg,#06203f 0%,#0d47a1 50%,#1976d2 100%);color:#fff;padding:40px 0 56px;position:relative;overflow:hidden}
.diag-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.12),transparent 40%),radial-gradient(circle at 0% 100%,rgba(56,189,248,.12),transparent 36%);pointer-events:none}
.diag-hero-inner{position:relative;z-index:1}
.diag-crumb{color:rgba(255,255,255,.75)}
.diag-crumb a{color:#fff}
.diag-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;margin-top:18px}
.diag-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:7px 12px;border-radius:999px;font-size:12px;font-weight:600}
.diag-hero-copy h1{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:14px 0 12px;max-width:18ch}
.diag-hero-copy > p{opacity:.94;max-width:48ch;line-height:1.65;margin:0 0 16px}
.diag-trust-pills{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.diag-trust-pills li{display:inline-flex;align-items:center;gap:7px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.12);padding:8px 12px;border-radius:10px;font-size:13px}
.diag-trust-pills i{color:#86efac}
.diag-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.diag-hero .btn-ghost{border:1px solid rgba(255,255,255,.45);color:#fff;background:transparent}
.diag-hero .btn-ghost:hover{background:rgba(255,255,255,.1)}
.diag-file-meta{margin:0;font-size:12px;opacity:.85}
.diag-file-meta code{background:rgba(0,0,0,.25);padding:2px 6px;border-radius:6px}
.diag-visual-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:12px;backdrop-filter:blur(6px);box-shadow:0 24px 50px rgba(0,0,0,.25)}
.diag-visual-card img{width:100%;display:block;border-radius:12px;background:#0b1220}
.diag-visual-caption{display:flex;flex-direction:column;gap:2px;padding:12px 8px 4px}
.diag-visual-caption strong{font-size:15px}
.diag-visual-caption span{font-size:13px;opacity:.85}
.diag-about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.diag-bullets{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.diag-bullets li{display:flex;gap:10px;align-items:flex-start;color:#334155;line-height:1.5}
.diag-bullets i{color:#16a34a;margin-top:3px}
.diag-side-card{background:#0f172a;color:#e2e8f0;border-radius:16px;padding:22px 20px;box-shadow:var(--shadow-lg)}
.diag-side-card h3{margin:0 0 10px;font-size:1.05rem;display:flex;align-items:center;gap:8px}
.diag-side-card p{margin:0 0 12px;color:#cbd5e1;font-size:14px;line-height:1.55}
.diag-side-cta{font-weight:700;color:#fff!important;margin-bottom:10px!important}
.diag-side-card .btn-primary{background:#fff;color:var(--blue);border:0;width:100%;justify-content:center}
.diag-check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.diag-check-grid article{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 16px;box-shadow:var(--shadow)}
.diag-check-grid i{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#e3f2fd;color:var(--blue);margin-bottom:12px}
.diag-check-grid h3{margin:0 0 8px;font-size:1rem}
.diag-check-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.diag-step-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-width:820px;margin-inline:auto}
.diag-step-list li{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.diag-step-num{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#eff6ff;color:var(--blue);font-weight:800;font-size:14px}
.diag-step-list h3{margin:0 0 4px;font-size:1.02rem}
.diag-step-list p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.diag-download-bar{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:linear-gradient(120deg,#0d47a1,#1565c0 55%,#1e88e5);color:#fff;border-radius:16px;padding:24px 28px}
.diag-download-bar h3{margin:0 0 6px;font-size:1.2rem}
.diag-download-bar p{margin:0;opacity:.92;font-size:14px;max-width:520px}
.diag-download-bar .btn-primary{background:#fff;color:var(--blue);border:0}
.diag-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.diag-help{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 16px;transition:border-color .15s,transform .15s,box-shadow .15s;min-height:140px}
.diag-help:hover{border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.08)}
.diag-help i{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#e3f2fd;color:var(--blue)}
.diag-help .fa-whatsapp{background:#ecfdf5;color:#16a34a}
.diag-help strong{font-size:14px}
.diag-help span{color:var(--muted);font-size:13px;line-height:1.45}
.diag-faq-wrap{max-width:760px}
.diag-faq details{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px}
.diag-faq summary{cursor:pointer;font-weight:700;list-style:none}
.diag-faq summary::-webkit-details-marker{display:none}
.diag-faq details p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.diag-faq code{font-size:12px;background:#f1f5f9;padding:1px 5px;border-radius:4px}
@media(max-width:960px){
  .diag-hero-grid,.diag-about-grid{grid-template-columns:1fr}
  .diag-check-grid{grid-template-columns:1fr 1fr}
  .diag-help-grid{grid-template-columns:1fr 1fr}
  .diag-hero-copy h1{max-width:none}
}
@media(max-width:768px){
  body.page-diag{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  body.page-diag .diag-hero{padding:18px 0 22px}
  body.page-diag .diag-crumb{margin-bottom:6px;font-size:12px}
  body.page-diag .diag-hero-grid{display:flex;flex-direction:column;gap:14px;margin-top:8px}
  body.page-diag .diag-hero-copy{display:flex;flex-direction:column}
  body.page-diag .diag-badge{order:0}
  body.page-diag .diag-hero-copy h1{order:1}
  body.page-diag .diag-hero-actions{order:2}
  body.page-diag .diag-file-meta{order:3}
  body.page-diag .diag-trust-pills{order:4}
  body.page-diag .diag-hero-copy > p{order:5}
  body.page-diag .diag-hero-visual{order:1}
  body.page-diag .diag-badge{font-size:11px;padding:6px 10px;gap:6px;align-self:flex-start}
  body.page-diag .diag-hero-copy h1{font-size:clamp(1.35rem,5.8vw,1.7rem);margin:10px 0 8px;max-width:none;letter-spacing:-.02em}
  body.page-diag .diag-hero-copy > p{font-size:13.5px;line-height:1.5;margin:0 0 12px;max-width:none}
  body.page-diag .diag-trust-pills{gap:6px;margin:0 0 14px}
  body.page-diag .diag-trust-pills li{font-size:11.5px;padding:6px 9px;border-radius:8px}
  body.page-diag .diag-hero-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
  body.page-diag .diag-hero-actions .btn{width:100%;justify-content:center;min-height:48px;border-radius:12px;font-size:14px;flex:none}
  body.page-diag .diag-file-meta{font-size:11.5px;line-height:1.4;word-break:break-word}
  body.page-diag .diag-file-meta code{display:inline-block;max-width:100%;font-size:11px;word-break:break-all;margin-top:2px}
  body.page-diag .diag-visual-card{border-radius:14px;padding:8px;background:rgba(255,255,255,.1)}
  body.page-diag .diag-visual-card img{border-radius:10px}
  body.page-diag .diag-visual-caption{padding:10px 6px 2px;gap:2px}
  body.page-diag .diag-visual-caption strong{font-size:14px}
  body.page-diag .diag-visual-caption span{font-size:12px}
  body.page-diag .diag-about{padding-top:28px;padding-bottom:28px}
  body.page-diag .diag-about-grid{gap:14px}
  body.page-diag .diag-about .section-head h2{font-size:1.2rem}
  body.page-diag .diag-about .section-head p{font-size:13.5px}
  body.page-diag .diag-bullets{gap:10px}
  body.page-diag .diag-bullets li{font-size:13.5px;gap:8px}
  body.page-diag .diag-side-card{padding:16px 14px;border-radius:12px}
  body.page-diag .diag-side-card h3{font-size:1rem}
  body.page-diag .diag-side-card p{font-size:13px}
  body.page-diag .diag-side-card .btn-primary{min-height:44px}
  body.page-diag .diag-checks{padding-top:24px;padding-bottom:28px}
  body.page-diag .diag-checks .section-head h2{font-size:1.15rem}
  body.page-diag .diag-checks .section-head p{font-size:13px}
  body.page-diag .diag-check-grid{grid-template-columns:1fr 1fr;gap:8px}
  body.page-diag .diag-check-grid article{padding:12px;border-radius:12px}
  body.page-diag .diag-check-grid i{width:34px;height:34px;border-radius:9px;font-size:14px;margin-bottom:8px}
  body.page-diag .diag-check-grid h3{font-size:.92rem;margin:0 0 4px}
  body.page-diag .diag-check-grid p{font-size:12px;line-height:1.4}
  body.page-diag .diag-steps{padding-top:24px;padding-bottom:28px}
  body.page-diag .diag-steps .section-head h2{font-size:1.15rem}
  body.page-diag .diag-steps .section-head p{font-size:13px}
  body.page-diag .diag-step-list{gap:8px}
  body.page-diag .diag-step-list li{grid-template-columns:40px 1fr;gap:10px;padding:12px;border-radius:12px}
  body.page-diag .diag-step-num{width:36px;height:36px;border-radius:10px;font-size:12px}
  body.page-diag .diag-step-list h3{font-size:.95rem}
  body.page-diag .diag-step-list p{font-size:13px}
  body.page-diag .diag-download-bar{margin-top:16px;padding:16px 14px;border-radius:12px;flex-direction:column;align-items:stretch;gap:12px}
  body.page-diag .diag-download-bar h3{font-size:1.05rem}
  body.page-diag .diag-download-bar p{font-size:13px;max-width:none}
  body.page-diag .diag-download-bar .btn{width:100%;justify-content:center;min-height:48px}
  body.page-diag .diag-support{padding-top:24px;padding-bottom:28px}
  body.page-diag .diag-support .section-head h2{font-size:1.15rem}
  body.page-diag .diag-support .section-head p{font-size:13px}
  body.page-diag .diag-help-grid{grid-template-columns:1fr 1fr;gap:8px}
  body.page-diag .diag-help{min-height:0;padding:12px;border-radius:12px;gap:6px;transform:none}
  body.page-diag .diag-help:hover{transform:none}
  body.page-diag .diag-help i{width:34px;height:34px;border-radius:9px;font-size:14px}
  body.page-diag .diag-help strong{font-size:12.5px;line-height:1.3}
  body.page-diag .diag-help span{font-size:11.5px;line-height:1.35}
  body.page-diag .diag-faq{padding-top:24px;padding-bottom:32px}
  body.page-diag .diag-faq .section-head h2{font-size:1.15rem}
  body.page-diag .diag-faq details{padding:12px 14px;border-radius:10px;margin-bottom:8px}
  body.page-diag .diag-faq summary{font-size:14px;line-height:1.35;min-height:24px;display:flex;align-items:center}
  body.page-diag .diag-faq details p{font-size:13px;margin-top:8px}
}
@media(max-width:480px){
  body.page-diag .diag-hero-copy > p{display:none}
  body.page-diag .diag-trust-pills{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  body.page-diag .diag-trust-pills::-webkit-scrollbar{display:none}
  body.page-diag .diag-trust-pills li{flex:0 0 auto;white-space:nowrap}
  body.page-diag .diag-check-grid p,
  body.page-diag .diag-help span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  body.page-diag .diag-visual-caption span{display:none}
}

/* ===== E-Waste (simple live-like layout) ===== */
.ew-simple{padding-top:40px}
.ew-simple h2{font-size:clamp(1.4rem,2.4vw,1.85rem);margin:0 0 14px;color:#0d47a1;font-weight:800}
.ew-simple h3{font-size:1.15rem;margin:28px 0 12px;color:#1565c0;font-weight:700}
.ew-simple p{color:#475569;line-height:1.7;margin:0 0 14px}
.ew-duty-banner{margin:22px 0 28px}
.ew-duty-banner img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--border);background:#fff}
.ew-ol,.ew-ul{margin:0 0 18px;padding-left:1.25rem;color:#475569}
.ew-ol li,.ew-ul li{margin:0 0 10px;line-height:1.65}
.ew-zero-simple{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;margin:8px 0 36px}
.ew-zero-copy p{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.ew-zero-img img{width:100%;max-width:340px;display:block;margin-left:auto;border-radius:12px}
.ew-steps{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 8px;padding:12px 0 8px}
.ew-step{text-align:center;min-width:110px}
.ew-step img{width:72px;height:72px;object-fit:contain;display:block;margin:0 auto 8px}
.ew-step h3{margin:0;font-size:15px;color:#0d47a1}
.ew-arrow{width:56px;height:auto;opacity:.85}
@media(max-width:768px){
  .ew-zero-simple{grid-template-columns:1fr}
  .ew-zero-img img{margin:0 auto}
  .ew-arrow{display:none}
  .ew-steps{gap:18px}
}

/* ===== Service Partner Registration ===== */
.sp-hero{
  background:
    radial-gradient(ellipse 70% 80% at 92% 12%, rgba(30,136,229,.14), transparent 55%),
    radial-gradient(ellipse 45% 55% at 0% 100%, rgba(2,136,209,.08), transparent 50%),
    linear-gradient(180deg,#f7fbff 0%,#eef5ff 48%,#fff 100%);
  color:var(--text);padding:48px 0 40px;position:relative;overflow:hidden;
  border-bottom:1px solid #dceaf8;
}
.sp-hero::before{
  content:"";position:absolute;width:240px;height:240px;right:-60px;top:-80px;border-radius:50%;
  background:radial-gradient(circle,rgba(66,165,245,.2),transparent 70%);
  animation:bandOrbFloat 10s ease-in-out infinite;pointer-events:none;
}
.sp-hero .wrap{position:relative;z-index:1}
.sp-hero-copy{width:100%}
.sp-hero h1{
  font-size:clamp(1.75rem,3.4vw,2.45rem);font-weight:800;letter-spacing:-.035em;
  margin:0 0 12px;line-height:1.12;color:var(--blue-deep)
}
.sp-hero-copy > p{color:var(--muted);font-size:16px;line-height:1.7;margin:0;width:100%}
.sp-section{padding-top:28px;padding-bottom:48px}
.sp-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;margin-bottom:16px}
.sp-alert i{margin-top:2px}
.sp-alert strong{display:block;margin-bottom:3px;font-size:14px}
.sp-alert p,.sp-alert ul{margin:0;font-size:13px;line-height:1.45}
.sp-alert ul{padding-left:1.1rem}
.sp-alert.ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.sp-alert.warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}
.sp-alert.err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.sp-form{
  background:#fff;border:1px solid #d6e8fb;border-radius:18px;padding:10px 22px 22px;
  box-shadow:0 14px 36px rgba(21,101,192,.07)
}
.sp-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.sp-block{padding:18px 0;border-bottom:1px solid #e8eef7}
.sp-block:last-of-type{border-bottom:0}
.sp-block-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.sp-block-head span{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:#e3f2fd;color:var(--blue);font-weight:800;font-size:12px;flex-shrink:0
}
.sp-block-head h2{margin:0 0 4px;font-size:1.05rem;letter-spacing:-.02em;color:var(--text)}
.sp-block-head p{margin:0;font-size:13px;color:var(--muted);line-height:1.45}
.sp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px}
.sp-grid .wide{grid-column:1/-1}
.sp-grid .span-2{grid-column:span 2}
.sp-grid-docs{grid-template-columns:repeat(3,minmax(0,1fr))}
.sp-form label{display:block;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#64748b;margin-bottom:6px;line-height:1.3}
.sp-form label em{color:#dc2626;font-style:normal}
.sp-form input,.sp-form select,.sp-form textarea{
  width:100%;padding:11px 12px;border:1.5px solid #e2e8f0;border-radius:10px;font:inherit;font-size:14px;background:#f8fafc;min-height:44px;color:var(--text)
}
.sp-form textarea{min-height:72px;resize:vertical}
.sp-form input[type=file]{padding:8px 10px;background:#fff;font-size:13px;min-height:42px;border-style:dashed;border-color:#bfdbfe}
.sp-form input:focus,.sp-form select:focus,.sp-form textarea:focus{outline:0;border-color:#1e88e5;background:#fff;box-shadow:0 0 0 3px rgba(30,136,229,.14)}
.sp-note{margin:14px 0 0;padding:14px 16px;background:#f8fbff;border:1px solid #d6e8fb;border-radius:12px}
.sp-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:#334155;font-weight:500}
.sp-check input{width:auto;margin-top:3px;min-height:0}
.sp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px}
.sp-actions .btn{
  background:linear-gradient(135deg,#42a5f5,#1565c0);border:0;color:#fff;
  box-shadow:0 10px 24px rgba(21,101,192,.25);font-weight:800
}
.sp-secure-hint{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}
.sp-secure-hint i{color:#059669}
@media(max-width:1100px){
  .sp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sp-grid .span-2{grid-column:span 3}
}
@media(max-width:900px){
  .sp-grid,.sp-grid-docs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-grid .span-2{grid-column:span 2}
}
@media(max-width:640px){
  .sp-form{padding:8px 14px 16px}
  .sp-grid,.sp-grid-docs{grid-template-columns:1fr}
  .sp-grid .wide,.sp-grid .span-2{grid-column:1}
  .sp-actions .btn{width:100%;justify-content:center}
}
@media(max-width:768px){
  body.sp-page{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  body.sp-page .sp-hero{padding:22px 0 24px}
  body.sp-page .sp-hero h1{font-size:clamp(1.35rem,5.8vw,1.75rem);margin:0 0 8px}
  body.sp-page .sp-hero-copy > p{font-size:14px;line-height:1.55}
  body.sp-page .sp-section{padding-top:16px;padding-bottom:28px}
  body.sp-page .sp-form{border-radius:14px}
  body.sp-page .sp-block{padding:14px 0}
  body.sp-page .sp-block-head{margin-bottom:10px;gap:10px}
  body.sp-page .sp-block-head h2{font-size:1rem}
  body.sp-page .sp-grid,.sp-page .sp-grid-docs{grid-template-columns:1fr;gap:10px}
  body.sp-page .sp-grid .wide,
  body.sp-page .sp-grid .span-2{grid-column:1}
  body.sp-page .sp-form input,
  body.sp-page .sp-form select,
  body.sp-page .sp-form textarea{font-size:16px;min-height:46px;padding:12px}
  body.sp-page .sp-form textarea{min-height:88px}
  body.sp-page .sp-form input[type=file]{font-size:14px;min-height:44px}
  body.sp-page .sp-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:12px}
  body.sp-page .sp-actions .btn{width:100%;justify-content:center;min-height:48px}
  body.sp-page .sp-secure-hint{text-align:center;font-size:12px}
  body.sp-page .sp-alert{padding:12px;border-radius:10px}
  body.sp-page .sp-note{padding:12px;border-radius:10px;font-size:12.5px}
}

/* ===== Service Centers / Our Stores ===== */
.sc-banner{display:none}
.sc-banner-copy,
.sc-finder-banner .breadcrumb{display:none!important}
.sc-banner-row{
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin:0
}
.sc-search{
  position:relative;display:flex;align-items:center;gap:0;
  margin:0;max-width:640px;width:100%;
  background:#fff;border-radius:12px;padding:4px 4px 4px 14px;
  box-shadow:0 10px 28px rgba(2,12,32,.18)
}
.sc-search > i{color:#64748b;font-size:13px;flex-shrink:0;position:static;transform:none}
.sc-search input{
  flex:1;min-width:0;width:auto;height:auto;border:none;border-radius:8px;
  padding:11px 12px;font:inherit;font-size:14px;background:transparent;outline:none;box-shadow:none
}
.sc-search input:focus{outline:0;border:none;box-shadow:none}
.sc-clear{
  position:relative;right:auto;top:auto;transform:none;flex-shrink:0;
  width:32px;height:32px;border:0;border-radius:8px;background:#e2e8f0;color:#334155;
  cursor:pointer;font-size:18px;line-height:1;margin-right:2px
}
.sc-state-select,.sc-toolbar,.sc-find-head{display:none!important}

.sc-section{padding-top:28px;padding-bottom:64px;background:linear-gradient(180deg,#f8fafc 0%,#fff 42%)}
.sc-layout{
  display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start
}
.sc-states{
  background:#0f172a;color:#e2e8f0;border-radius:16px;overflow:hidden;
  box-shadow:0 10px 30px rgba(15,23,42,.12);
  position:sticky;top:88px;max-height:calc(100vh - 110px);
  display:flex;flex-direction:column;margin:0;padding:0
}
.sc-side-head{
  padding:16px 14px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0
}
.sc-side-head strong{display:block;font-size:14px;color:#fff}
.sc-side-head small{color:#94a3b8;font-size:11px}
.sc-state-list{
  list-style:none;margin:0;padding:8px;overflow:auto;flex:1;min-height:0;
  display:flex;flex-direction:column;gap:2px
}
.sc-state-btn{
  width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;
  color:#cbd5e1;padding:10px;border-radius:10px;cursor:pointer;font:inherit;font-size:13px;text-align:left
}
.sc-state-btn i{width:16px;color:#93c5fd;font-size:12px;flex-shrink:0;text-align:center}
.sc-state-btn:hover{background:rgba(255,255,255,.06);color:#fff}
.sc-state-btn.active{background:rgba(59,130,246,.22);color:#fff}
.sc-state-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

.sc-pane{min-width:0;display:flex;flex-direction:column;gap:12px}
.sc-support-strip{
  display:flex;flex-wrap:wrap;gap:8px;margin:0
}
.sc-support-strip a{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--border);
  color:#0f172a;text-decoration:none;font-size:12.5px;font-weight:700
}
.sc-support-strip a:hover{border-color:#93c5fd;color:var(--blue)}
.sc-support-strip .fa-whatsapp{color:#16a34a}
.sc-main{min-width:0}
.sc-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sc-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;box-shadow:0 1px 2px rgba(15,23,42,.03);margin:0}
.sc-card-top{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.sc-pill{display:inline-flex;align-self:flex-start;font-size:11px;font-weight:700;color:#0d47a1;background:#e3f2fd;padding:3px 8px;border-radius:999px}
.sc-card-top strong{font-size:15px;color:#0f172a}
.sc-addr,.sc-person{margin:0 0 6px;color:#475569;font-size:13px;line-height:1.45}
.sc-addr i,.sc-person i{color:var(--blue);width:14px;margin-right:4px}
.sc-phones{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.sc-phones a{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--blue);text-decoration:none;background:#eff6ff;padding:5px 8px;border-radius:8px;min-height:32px}
.sc-phones a:hover{background:#dbeafe}
.sc-muted{color:#94a3b8;font-size:13px}
.sc-empty{text-align:center;padding:48px 16px;color:var(--muted);background:#fff;border:1px dashed var(--border);border-radius:14px}
.sc-empty i{font-size:28px;margin-bottom:8px;opacity:.6}
.sc-empty h3{color:var(--text);margin:0 0 6px}
.sc-more-wrap{text-align:center;margin-top:16px;padding-bottom:8px}
.sc-more-wrap .btn{min-height:44px}
.sc-load-err{color:#b91c1c}

/* Desktop/tablet stores: freeze chrome, states side, results scroll */
@media (min-width: 769px) {
  body.page-stores {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
  }
  body.page-stores > .scroll-progress { display: none !important; }
  body.page-stores > .topbar,
  body.page-stores > .header {
    flex-shrink: 0;
    position: relative;
    top: auto;
    z-index: 60;
  }
  body.page-stores > .header { background: #fff; }
  body.page-stores > main {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }
  body.page-stores > .footer { display: none !important; }

  body.page-stores .sc-finder-banner {
    flex-shrink: 0;
    position: relative;
    z-index: 50;
    padding: 8px 0;
    margin: 0;
    background: linear-gradient(135deg, #0d47a1, #1565c0);
    box-shadow: 0 8px 20px rgba(2, 12, 32, .14);
  }
  body.page-stores .sc-finder-banner::after { display: none; }
  body.page-stores .sc-search { max-width: 640px; margin: 0 auto; }

  body.page-stores .sc-section {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 16px 0 18px;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 42%);
  }
  body.page-stores .sc-section > .wrap.sc-layout {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    width: 100%;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 22px;
    align-items: stretch;
    overflow: hidden;
  }
  body.page-stores .sc-states {
    position: relative;
    top: auto;
    height: 100%;
    max-height: none;
    align-self: stretch;
    overflow: hidden;
  }
  body.page-stores .sc-state-list {
    overflow-x: hidden;
    overflow-y: auto;
  }
  body.page-stores .sc-pane {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 4px;
  }
  body.page-stores .sc-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) and (min-width: 769px) {
  body.page-stores .sc-section > .wrap.sc-layout {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 16px;
  }
  body.page-stores .sc-state-btn { font-size: 12.5px; padding: 9px; }
}

/* MOBILE stores: shop-like side states + locked scroll */
@media (max-width: 768px) {
  body.page-stores {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
  }
  body.page-stores > .scroll-progress { display: none !important; }
  body.page-stores > .topbar,
  body.page-stores > .header {
    flex-shrink: 0;
    position: relative;
    top: auto;
    z-index: 50;
  }
  body.page-stores > .header { background: #fff; }
  body.page-stores > main {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }
  body.page-stores > .footer { display: none !important; }

  body.page-stores .sc-finder-banner {
    flex-shrink: 0;
    position: relative;
    z-index: 40;
    padding: 8px 0;
    margin: 0;
    background: linear-gradient(135deg, #0d47a1, #1565c0);
    box-shadow: 0 6px 16px rgba(2, 12, 32, .18);
  }
  body.page-stores .sc-finder-banner::after { display: none; }
  body.page-stores .sc-banner-row { margin: 0; align-items: stretch; }
  body.page-stores .sc-search {
    padding: 3px 3px 3px 10px;
    border-radius: 10px;
    max-width: none;
    width: 100%;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .16);
  }
  body.page-stores .sc-search input { padding: 10px 8px; font-size: 16px; }
  body.page-stores .sc-clear { width: 28px; height: 28px; }

  body.page-stores .sc-section {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 8px 0 calc(78px + env(safe-area-inset-bottom, 0px));
    background: #eaeded;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
  }
  body.page-stores .sc-section > .wrap.sc-layout {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    width: 100%;
    max-width: 100%;
    padding-left: 8px;
    padding-right: 8px;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 6px;
    align-items: stretch;
    margin: 0 auto;
    overflow: hidden;
  }

  body.page-stores .sc-states {
    background: #fff;
    border: 1px solid #d5d9d9;
    border-radius: 6px;
    padding: 0;
    margin: 0;
    position: relative;
    top: auto;
    z-index: 1;
    height: 100%;
    max-height: none;
    align-self: stretch;
    overflow: hidden;
    box-shadow: none;
    display: flex;
    flex-direction: column;
  }
  body.page-stores .sc-side-head { display: none; }
  body.page-stores .sc-state-list {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2px;
    padding: 4px 2px;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  body.page-stores .sc-state-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 2px;
    width: 100%;
    margin: 0;
    padding: 5px 2px;
    border-radius: 6px;
    font-size: 8px;
    color: #0f1111;
    background: transparent;
    border: 1px solid transparent;
    white-space: normal;
  }
  body.page-stores .sc-state-btn i {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: #f3f6f8;
    color: #1565c0;
    font-size: 11px;
    display: grid;
    place-items: center;
  }
  body.page-stores .sc-state-btn span {
    display: block;
    width: 100%;
    font-size: 8px;
    line-height: 1.25;
    word-break: break-word;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 2.5em;
  }
  body.page-stores .sc-state-btn:hover {
    background: #f7fafa;
    border-color: #e3e6e6;
    color: #0f1111;
  }
  body.page-stores .sc-state-btn:hover i { background: #e3f2fd; color: #1565c0; }
  body.page-stores .sc-state-btn.active {
    background: #e7f4ff;
    border-color: #bbdefb;
    color: #0c59a4;
  }
  body.page-stores .sc-state-btn.active i { background: #1565c0; color: #fff; }

  body.page-stores .sc-pane {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 8px;
    gap: 8px;
  }
  body.page-stores .sc-support-strip {
    gap: 6px;
  }
  body.page-stores .sc-support-strip a {
    flex: 1 1 calc(50% - 6px);
    justify-content: center;
    min-height: 36px;
    padding: 7px 8px;
    font-size: 11.5px;
    border-radius: 8px;
  }
  body.page-stores .sc-results {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  body.page-stores .sc-card {
    padding: 12px;
    border-radius: 10px;
    border-color: #d5d9d9;
    box-shadow: none;
  }
  body.page-stores .sc-card-top strong { font-size: 14px; }
  body.page-stores .sc-addr,
  body.page-stores .sc-person { font-size: 12.5px; }
  body.page-stores .sc-phones a { min-height: 36px; font-size: 12px; }
  body.page-stores .sc-empty {
    border-radius: 8px;
    padding: 36px 14px;
  }
  body.page-stores .sc-more-wrap .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 380px) {
  body.page-stores .sc-section > .wrap.sc-layout {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 5px;
  }
  body.page-stores .sc-state-btn i { width: 22px; height: 22px; font-size: 10px; }
  body.page-stores .sc-state-btn span { font-size: 7.5px; }
}

/* ===== Audit fixes: blog, partners, app, filters, contact ===== */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.pl-side-more{margin-top:18px!important}
.pl-size-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.pl-size-chip{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:700;color:var(--text);background:#fff;text-decoration:none}
.pl-size-chip:hover,.pl-size-chip.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.pd-quote-note{margin:10px 0 0;font-size:12px;color:var(--muted);line-height:1.45}
.partners-home{padding:40px 0}
.partners-strip{background:#fff;border-top:none}
.partners-swiper{flex:1;min-width:0;overflow:hidden}
.partners-swiper .swiper-wrapper{transition-timing-function:linear!important}
.partners-swiper .swiper-slide{width:auto;height:auto;display:flex;align-items:center;justify-content:center}
.partner-logo-slide{width:140px;height:72px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px 14px}
.partner-logo-slide img{max-width:100%;max-height:48px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:.25s}
.partner-logo-slide:hover img{filter:none;opacity:1}
.app-promo{padding:48px 0}
.app-promo-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;background:linear-gradient(135deg,#0d47a1,#1565c0);color:#fff;border-radius:20px;padding:32px 36px}
.app-promo-copy .label{color:rgba(255,255,255,.75)}
.app-promo-copy h2{color:#fff;margin:6px 0 10px;font-size:clamp(1.4rem,3vw,1.9rem)}
.app-promo-copy p{color:rgba(255,255,255,.88);margin:0 0 16px;max-width:480px}
.app-promo-qr{background:#fff;border-radius:14px;padding:12px;box-shadow:var(--shadow-lg)}
.blog-list-sec{padding-top:36px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.blog-grid-sm{grid-template-columns:repeat(3,minmax(0,1fr))}
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:.25s;box-shadow:var(--shadow)}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#bbdefb}
.blog-card-media{height:180px;background:#e2e8f0}
.blog-card-media img{width:100%;height:100%;object-fit:cover}
.blog-card-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:28px;opacity:.5}
.blog-card-body{padding:18px}
.blog-card-body time{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.blog-card-body h2{font-size:1.05rem;margin:8px 0;line-height:1.35}
.blog-card-body p{font-size:13px;color:var(--muted);margin:0 0 12px}
.blog-post-wrap{max-width:820px;margin:0 auto}
.blog-post-head{margin:8px 0 24px}
.blog-post-head time{font-size:12px;font-weight:700;color:var(--muted)}
.blog-post-head h1{font-size:clamp(1.6rem,3vw,2.2rem);margin:8px 0 12px;letter-spacing:-.03em}
.blog-post-dek{font-size:1.05rem;color:var(--muted);margin:0}
.blog-post-hero{border-radius:16px;overflow:hidden;margin-bottom:28px}
.blog-post-hero img{width:100%;height:auto;display:block}
.blog-post-body{font-size:1.02rem;line-height:1.75}
.blog-post-cta{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0;padding-top:24px;border-top:1px solid var(--border)}
.blog-related{margin-top:40px}
.blog-related h3{margin:0 0 16px;font-size:1.15rem}
.contact-map{border-radius:16px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);background:#e2e8f0}
.contact-map iframe{width:100%;height:360px;border:0;display:block}
.contact-cta-row{display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1}
.contact-map-sec{padding-top:12px}
@media(max-width:900px){
  .blog-grid,.blog-grid-sm{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .blog-grid,.blog-grid-sm{grid-template-columns:1fr}
  .app-promo-inner{padding:24px;justify-content:center;text-align:center}
  .app-promo-copy p{margin-left:auto;margin-right:auto}
  .contact-map iframe{height:280px}
}

/* Prices + reviews */
/* Prices hidden site-wide quote-based catalog */
.product-price,
.pd-price-block,
.price-main,
.price-sale,
.price-mrp,
.price-quote { display: none !important; }

.product-price{margin:6px 0 8px;font-size:14px;font-weight:800;color:#0f172a;display:none;align-items:baseline;gap:8px;flex-wrap:wrap}
.price-main,.price-sale{color:#0d47a1}
.price-mrp{font-size:12px;font-weight:600;color:#94a3b8;text-decoration:line-through}
.price-quote{font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.02em}
.pd-price-block{margin:14px 0 4px;font-size:1.35rem}
.pd-price-block .price-mrp{font-size:1rem}
.reviews-home{padding-top:48px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.reviews-swiper{overflow:hidden;padding-bottom:36px}
.reviews-dots{bottom:0!important}
.review-source-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#1a73e8;
  background:#e8f0fe;padding:4px 8px;border-radius:999px;margin-bottom:10px
}
.review-card-home{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px 20px;box-shadow:var(--shadow);height:100%;box-sizing:border-box}
.review-stars{color:#f59e0b;font-size:13px;margin-bottom:10px;letter-spacing:1px}
.review-card-home h3{font-size:15px;margin:0 0 8px}
.review-card-home p{font-size:13px;color:var(--muted);margin:0 0 14px;line-height:1.55}
.review-card-home footer{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.review-card-home footer strong{font-size:13px}
.review-card-home footer span{font-size:12px;color:var(--muted)}
.pd-reviews{padding-top:24px}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.reviews-grid{grid-template-columns:1fr}}

.contact-forms-list{grid-column:1/-1;margin-top:8px;padding:18px 16px;background:#fff;border:1px solid var(--border);border-radius:14px}
.contact-forms-list h4{margin:0 0 10px;font-size:14px;font-weight:800;color:#0f172a}
.contact-forms-list ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.contact-forms-list a{display:block;padding:10px 4px;font-size:14px;font-weight:600;color:#0f172a;text-decoration:none;border-bottom:1px solid #f1f5f9}
.contact-forms-list li:last-child a{border-bottom:0}
.contact-forms-list a:hover{color:var(--blue)}

/* Fast feature pack: compare, downloads, sticky CTA, search, newsletter */
.header-search{display:flex;align-items:center;background:#f1f5f9;border-radius:999px;padding:2px 2px 2px 12px;border:1px solid #e2e8f0}
.header-search input{border:0;background:transparent;width:140px;font:inherit;font-size:13px;outline:none}
.header-search button{border:0;background:var(--blue);color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer}
.header-compare{font-size:13px;font-weight:700;color:#0f172a;text-decoration:none;white-space:nowrap}
.header-compare.has-items{color:var(--blue)}
.pl-card-wrap{position:relative;display:flex;flex-direction:column;gap:6px}
.compare-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#475569;cursor:pointer;user-select:none}
.pd-btn-wa{background:#128c7e!important;color:#fff!important;border-color:#128c7e!important}
.pd-compare-toggle{display:inline-flex;gap:8px;align-items:center;margin-top:12px;font-size:13px;font-weight:600;color:#475569}
.pd-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--border);box-shadow:0 -8px 24px rgba(15,23,42,.08);padding:10px 0}
.pd-sticky-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pd-sticky-actions{display:flex;gap:8px}
.pd-sticky-actions .pd-btn{width:auto}
.compare-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.compare-table{width:100%;border-collapse:collapse;background:#fff;min-width:640px}
.compare-table th,.compare-table td{border:1px solid #eef2f7;padding:12px 14px;vertical-align:top;font-size:13px;line-height:1.5;color:#334155}
.compare-table thead th{background:#f8fafc;text-align:center;font-weight:700}
.compare-table tbody th.compare-sticky-col{
  background:#f8fafc;color:#0f172a;font-weight:800;text-align:left;
  position:sticky;left:0;z-index:2;min-width:180px;white-space:normal;
}
.compare-spec-label{display:inline-flex;align-items:center;gap:8px;line-height:1.35}
.compare-spec-ico{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:8px;
  background:#fff;border:1px solid #e2e8f0;color:var(--blue-deep);font-size:12px;
}
.compare-head-card{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:220px;margin:0 auto}
.compare-table img{width:96px;height:96px;object-fit:contain;display:block;margin:0 auto 4px;background:#fff;border-radius:10px;border:1px solid #eef2f7;padding:8px}
.compare-head-name{font-size:13px;font-weight:800;color:#0f172a;text-decoration:none;line-height:1.35}
.compare-head-name:hover{color:var(--blue);text-decoration:underline}
.compare-head-cat{font-size:11px;font-weight:600;color:var(--muted)}
.compare-section-row th{
  background:linear-gradient(90deg,var(--blue-pale),#fff)!important;
  color:var(--blue-deep)!important;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  position:static!important;
}
.compare-row-diff td{background:#fff}
.compare-row-same td{background:#fcfdff;color:#64748b}
.compare-na{color:#94a3b8}
.compare-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.compare-actions .btn{justify-content:center}
.compare-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.compare-toolbar-note{margin:0;font-size:13px;font-weight:600;color:var(--muted)}
.compare-empty{text-align:center;padding:40px 16px;background:#fff;border:1px dashed var(--border);border-radius:14px}
.dl-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.dl-filters a{padding:8px 12px;border-radius:999px;background:#f1f5f9;color:#0f172a;text-decoration:none;font-size:13px;font-weight:700}
.dl-filters a.active,.dl-filters a:hover{background:var(--blue);color:#fff}
.dl-grid{display:grid;gap:12px}
.dl-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff}
.dl-cat{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--blue)}
.faq-block{margin-top:36px}
.faq-item{border:1px solid var(--border);border-radius:10px;background:#fff;margin-bottom:8px;padding:12px 14px}
.faq-item summary{cursor:pointer;font-weight:700}
.home-faq .section-head{margin-bottom:22px}
.home-faq .home-faq-list{
    margin:0 auto;
    max-width:none;
    width:100%;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 4px 18px rgba(15,23,42,.04);
}
.home-faq .faq-block{margin-top:0}
.home-faq .faq-item{
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    border-bottom:1px solid var(--border);
    transition:none;
}
.home-faq .faq-item:last-child{border-bottom:0}
.home-faq .faq-item[open]{border-color:var(--border);box-shadow:none;background:rgba(248,250,252,.85)}
.home-faq .faq-item summary{
    font-size:15px;
    line-height:1.45;
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px 20px;
    font-weight:700;
    color:var(--text);
}
.home-faq .faq-item summary::-webkit-details-marker{display:none}
.home-faq .faq-item summary::after{
    content:'+';
    flex:0 0 auto;
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--soft);
    color:var(--blue);
    font-size:18px;
    font-weight:500;
    line-height:1;
    opacity:1;
}
.home-faq .faq-item[open] summary::after{content:'–'}
.home-faq .faq-item > div{
    padding:0 20px 16px;
    color:var(--muted);
    font-size:14.5px;
    line-height:1.65;
}
.compare-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:35;display:flex;gap:12px;align-items:center;background:#0f172a;color:#fff;padding:10px 14px;border-radius:999px;box-shadow:var(--shadow-lg);font-size:13px;font-weight:700}
.compare-bar[hidden]{display:none!important}
.compare-bar a{color:#fff;background:var(--blue);padding:8px 12px;border-radius:999px;text-decoration:none}
@media(max-width:900px){
  .header-search{display:none}
  .header-compare{display:none}
  .dl-item{flex-direction:column;align-items:flex-start}
  .pd-sticky-inner strong{font-size:12px;max-width:45%}
}

/* ===== Premium mobile polish (global fine-tune) ===== */
@media (max-width: 900px) {
  .partners-swiper .swiper-slide,
  .clients-swiper .swiper-slide { width: auto; }
  .partners-logo,
  .partner-slide img { max-height: 42px; }
  .cms-content { font-size: 14px; line-height: 1.65; }
  .cms-content h2 { font-size: 1.2rem; }
  .cms-content h3 { font-size: 1.05rem; }
  .mission-box { padding: 20px 16px; border-radius: 14px; }
  .album-media { height: 150px; }
}

/* =========================================================
 SITE-WIDE MOBILE UX (all pages) thumb-friendly, no zoom,
 fast scan, sticky category chips, safe areas, readable forms
 ========================================================= */
@media (max-width: 768px) {
  /* Base */
  h1, .page-banner h1 { word-wrap: break-word; overflow-wrap: anywhere; }
  h2 { font-size: clamp(1.15rem, 4.8vw, 1.4rem); }
  h3 { font-size: clamp(1rem, 4vw, 1.15rem); }
  .header-inner,
  .topbar-inner,
  .catbar-inner,
  main,
  .footer,
  .hero,
  .section { max-width: 100%; overflow-x: clip; }
  .nav a, .nav-drop > button { font-size: 14px; }

  /* Touch-friendly inputs (stops iOS zoom) */
  input, select, textarea, .pro-form input, .pro-form select, .pro-form textarea,
  .contact-form-box input, .contact-form-box select, .contact-form-box textarea,
  .sp-form input, .sp-form select, .sp-form textarea,
  .wc-input-row input, .drivers-search input, .sc-search input,
  .shop-search input, .pl-search input, .header-search input {
    font-size: 16px !important;
  }
  input, select, textarea, button, .btn, a.btn, .pd-btn {
    -webkit-tap-highlight-color: rgba(21,101,192,.12);
  }

  /* Tables / CMS scroll inside, never blow page width */
  .cms-content, .pd-desc, .pd-short, .page-content, .blog-post-body {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .cms-content table, .pd-desc table, .pd-short table, .blog-post-body table {
    width: 100% !important;
    max-width: 100%;
    font-size: 12.5px;
  }
  .cms-content th, .cms-content td,
  .pd-desc th, .pd-desc td,
  .pd-short td { padding: 8px 9px; }
  .cms-content img, .pd-desc img, .blog-post-body img {
    max-width: 100% !important;
    height: auto !important;
  }
  .cms-content iframe, .blog-post-body iframe, .page-content iframe {
    max-width: 100%;
  }

  /* Category list chip strip not used on locked page-pl */
  body:not(.page-pl) .pl-layout { gap: 14px; }
  body:not(.page-pl) .pl-sidebar {
    position: sticky;
    top: 54px;
    z-index: 25;
    padding: 10px;
    border-radius: 12px;
    max-height: none;
  }
  body:not(.page-pl) .pl-sidebar h4 {
    font-size: 10px;
    margin: 0 0 8px 4px;
  }
  body:not(.page-pl) .pl-sidebar ul {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  body:not(.page-pl) .pl-sidebar ul::-webkit-scrollbar { display: none; }
  body:not(.page-pl) .pl-sidebar li { flex: 0 0 auto; margin: 0; }
  body:not(.page-pl) .pl-sidebar a {
    white-space: nowrap;
    padding: 9px 12px;
    border-radius: 999px;
    font-size: 12.5px;
    gap: 7px;
    background: rgba(255,255,255,.06);
  }
  body:not(.page-pl) .pl-sidebar a i { width: auto; }

  /* Shop page mobile: handled in shop desktop/tablet/mobile block above */
  .shop-search {
    max-width: none;
    width: 100%;
    flex-wrap: nowrap;
    margin: 0;
  }
  .shop-search input { min-width: 0; width: auto; flex: 1 1 auto; font-size: 16px !important; }
  .shop-search .btn { width: auto; flex-shrink: 0; justify-content: center; }
  .shop-list-head, .shop-cat-head {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 6px;
  }
  .shop-list-head h2 { font-size: 1.05rem; }
  .shop-cat-more { font-size: 12px; }
  .list-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 14px;
    padding-bottom: 10px;
  }
  .list-meta p { font-size: 12.5px; }
  .empty-state { padding: 36px 14px; border-radius: 12px; }
  .empty-state i { font-size: 32px; }
  .empty-state h3, .empty-state h1 { font-size: 1.1rem; }
  .pl-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .pl-sort { width: 100%; justify-content: space-between; }
  .pl-sort select { flex: 1; min-height: 42px; }
  .pl-size-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .pl-size-filters::-webkit-scrollbar { display: none; }
  .pl-size-chip { flex: 0 0 auto; min-height: 36px; }
  .pl-card-wrap { gap: 4px; }
  .compare-chip { font-size: 11px; min-height: 36px; }

  /* Product detail */
  .pd-page { padding-bottom: 88px; }
  .pd-hero { gap: 16px; padding-bottom: 18px; }
  .pd-main {
    min-height: 260px;
    padding: 14px;
    border-radius: 12px;
  }
  .pd-main img { max-height: 280px; }
  .pd-thumbs-side {
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .pd-thumbs-side::-webkit-scrollbar { display: none; }
  .pd-thumb { width: 58px; height: 58px; flex: 0 0 auto; }
  .pd-info h1 { margin-bottom: 10px; }
  .pd-actions { grid-template-columns: 1fr; gap: 8px; }
  .pd-btn { min-height: 46px; }
  .pd-desc-heading { font-size: 1.15rem; }
  .pd-desc { font-size: 14px; }
  .pd-assure { padding: 32px 0; }
  .pd-assure-cta { padding: 16px; }
  .pd-sticky-cta {
    bottom: calc(64px + env(safe-area-inset-bottom, 0px));
    padding: 8px 0 max(8px, env(safe-area-inset-bottom, 0px));
  }
  .pd-sticky-inner { gap: 8px; }
  .pd-sticky-inner strong {
    font-size: 12px;
    max-width: 42%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .pd-sticky-actions { flex-shrink: 0; }

  /* Contact / forms */
  .contact-layout { gap: 16px; }
  .contact-form-box { padding: 18px 14px; border-radius: 14px; }
  .contact-form-box h3 { font-size: 1.05rem; }
  .contact-forms-list { padding: 14px 12px; border-radius: 12px; }
  .contact-forms-list a { font-size: 13px; padding: 10px 2px; min-height: 44px; display: flex; align-items: center; }
  .contact-cta-row .btn { flex: 1 1 140px; justify-content: center; }
  .pro-form { padding: 18px 14px; border-radius: 14px; }
  .pro-grid { grid-template-columns: 1fr; gap: 12px; }
  .pro-form .btn { width: 100%; justify-content: center; min-height: 46px; }
  .chip { min-height: 40px; }

  /* Support tools: warranty / diag / stores / drivers */
  .sc-intro h1,
  .diag-hero-copy h1,
  .wc-hero-copy h1,
  .sp-hero h1 { font-size: clamp(1.35rem, 5.5vw, 1.7rem); }
  .wc-hero, .diag-hero, .sp-hero { padding: 28px 0 36px; }
  .wc-hero-card { padding: 16px; border-radius: 14px; }
  .wc-input-row { flex-direction: column; }
  .wc-input-row input { min-width: 0; width: 100%; height: 48px; }
  .wc-input-row .btn { width: 100%; height: 48px; }
  .wc-trust-pills li, .diag-trust-pills li, .sp-trust li {
    font-size: 12px;
    padding: 7px 10px;
  }
  .wc-next-actions .btn, .diag-hero-actions .btn {
    flex: 1 1 140px;
    justify-content: center;
  }
  .diag-trust-pills, .diag-hero-copy ul { gap: 6px; }
  .diag-step-list li { grid-template-columns: 44px 1fr; gap: 10px; padding: 12px 12px; }
  .diag-step-num { width: 40px; height: 40px; font-size: 12px; }
  .diag-visual-card { padding: 8px; }
  /* stores mobile: primary rules live with Service Centers block above */
  /* drivers mobile: primary rules live with Drivers explorer block above */

  /* Service partner / sales / tickets style forms */
  .sp-section { padding-top: 20px; padding-bottom: 32px; }
  .sp-form { border-radius: 12px; }
  .sp-block-head h2 { font-size: .95rem; }
  .sp-actions { flex-direction: column; align-items: stretch; }
  .sp-secure-hint { text-align: center; }

  /* Gallery / albums / certs */
  .gallery-filters, .dl-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .gallery-filters::-webkit-scrollbar,
  .dl-filters::-webkit-scrollbar { display: none; }
  .gallery-filters a, .dl-filters a { flex: 0 0 auto; white-space: nowrap; }
  .album-grid { grid-template-columns: 1fr 1fr !important; gap: 10px; }
  .album-media { height: 130px; }
  .live-album-grid,
  .live-event-gallery,
  .live-event-gallery-lg { grid-template-columns: 1fr 1fr !important; gap: 10px; }
  .gallery-cta .btn { flex: 1 1 140px; justify-content: center; }
  .cert-grid, .cust-grid { gap: 10px; }
  #custLightbox .cust-lb-prev,
  #custLightbox .cust-lb-next { left: 8px; right: auto; }
  #custLightbox .cust-lb-next { left: auto; right: 8px; }
  #custLightbox .cust-lb-close { top: -40px; font-size: 30px; }
  #custLightbox .cust-lb-caption { font-size: 13px; }

  /* Blog / about / OEM / GEM */
  .blog-post-head h1 { font-size: clamp(1.35rem, 5.5vw, 1.7rem); }
  .blog-post-dek { font-size: 14px; }
  .blog-post-cta .btn { flex: 1 1 140px; justify-content: center; }
  .blog-card-media { height: 150px; }
  .blog-card-body { padding: 14px; }
  .about-partners .section-head { text-align: left; }
  .partner-feature { text-align: center; }
  .oem-cta-bar { gap: 14px; }
  .oem-cta-bar .btn-primary { width: 100%; }
  .gem-download-card { padding: 18px 14px; gap: 20px; }
  .gem-actions .btn { flex: 1 1 140px; justify-content: center; }
  .gem-preview-frame, .gem-preview-frame iframe {
    min-height: 55vh;
    height: 55vh;
  }

  /* Compare / downloads / FAQ */
  .compare-table-wrap {
    margin: 0 -14px;
    padding: 0 14px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .compare-table { min-width: 520px; }
  .compare-table th, .compare-table td { padding: 8px; font-size: 12px; }
  .compare-table img { width: 56px; height: 56px; }
  .compare-bar {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: calc(100% - 24px);
    transform: none !important;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px) + 8px) !important;
    border-radius: 14px;
    justify-content: space-between;
  }
  .dl-item {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px;
  }
  .dl-item .btn { width: 100%; justify-content: center; }
  .faq-item { padding: 12px; }
  .faq-item summary { font-size: 13.5px; min-height: 40px; display: flex; align-items: center; }

  /* Reviews / app promo / partners strip */
  .app-promo-inner { padding: 20px 16px; gap: 16px; }
  .app-promo-qr img { max-width: 120px; margin: 0 auto; display: block; }
  .partner-logo-slide { width: 120px; height: 64px; }
  .review-card-home { padding: 16px 14px; }

  /* E-waste / recovery reuse drivers styles */
  .ew-simple { padding-top: 28px; }
  .ew-simple h2 { font-size: 1.25rem; }
  .ew-simple h3 { font-size: 1.05rem; margin-top: 22px; }
  .ew-step { min-width: 96px; }
  .ew-step img { width: 56px; height: 56px; }

  /* 404 / empty / pagination */
  .pagination a { min-width: 38px; min-height: 38px; }
  .page-banner { padding: 24px 0 20px; }
  .page-banner p { font-size: 13px; }

  /* VAI chat panel */
  .vai-panel {
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    max-width: none;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    height: min(70dvh, 520px);
    border-radius: 16px;
  }
  .vai-panel.is-full {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    border-radius: 0;
  }
  .vai-lead-grid { grid-template-columns: 1fr; }

  /* CRM public wraps (ticket / sales / career) */
  .ticket-page .ticket-hero,
  .sales-page .sales-hero { padding: 28px 0 32px; }
  .ticket-page .form-card,
  .ticket-page .side-card,
  .sales-page .form-card,
  .sales-page .side-card { padding: 16px 14px; border-radius: 14px; }
  .ticket-page input,
  .ticket-page select,
  .ticket-page textarea,
  .sales-page input,
  .sales-page select,
  .sales-page textarea { font-size: 16px !important; min-height: 44px; }
  .ticket-page .success-actions a,
  .sales-page .btn { min-height: 44px; justify-content: center; }
  .ticket-page .success-actions { flex-direction: column; }
  .ticket-page .success-actions a { width: 100%; justify-content: center; }

  /* About partner logos */
  .partner-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 8px; }
  .partner-logo { min-height: 64px; padding: 10px 8px; }
  .partner-logo img { max-height: 36px; }
  .pillar-grid { grid-template-columns: 1fr 1fr !important; gap: 8px; }

  /* Bottom safe space for floats above nav */
  body {
    padding-top: var(--m-chrome-h);
    padding-bottom: calc(var(--m-bottom-h) + env(safe-area-inset-bottom, 0px));
  }
  body.page-shop,
  body.page-pl,
  body.page-drivers,
  body.page-stores {
    padding-bottom: 0 !important;
  }
}

@media (max-width: 480px) {
  .product-grid,
  .showcase-grid,
  .home-product-grid,
  .pl-grid { grid-template-columns: 1fr 1fr !important; gap: 8px; }
  .pd-related-grid { grid-template-columns: 1fr 1fr !important; }
  .wc-help-grid,
  .diag-help-grid,
  .diag-check-grid { grid-template-columns: 1fr 1fr !important; }
  .wc-help, .diag-help { min-height: 0; padding: 14px 12px; }
  .sc-results { grid-template-columns: 1fr !important; }
  .pro-grid { grid-template-columns: 1fr !important; }
  .blog-grid, .blog-grid-sm { grid-template-columns: 1fr !important; }
  .feature-cards, .sector-grid { grid-template-columns: 1fr 1fr !important; }
  .pd-actions { grid-template-columns: 1fr !important; }
  .m-bottom-item { font-size: 9.5px; padding: 4px 1px; }
  .m-bottom-item i { font-size: 15px; }
  .pl-sidebar a span { max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
  /* shop mobile fine-tune only */
  .shop-layout { grid-template-columns: 64px minmax(0, 1fr); }
  .shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ===== Software Solutions - Recovery/Drivers explorer extras ===== */
.swsol-icon-img{overflow:hidden;padding:0}
.swsol-icon-img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:10px}
.swsol-row-badge{
  display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:800;
  letter-spacing:.04em;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;margin-right:6px;vertical-align:middle;
}
.swsol-file .drivers-file-meta small{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.swsol-row-actions{
  display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;white-space:normal;
}
.swsol-row-actions a{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--blue);
  padding:6px 10px;border-radius:8px;background:#eff6ff;text-decoration:none;
}
.swsol-row-actions a:hover{background:#dbeafe}
.swsol-row-muted{font-size:12px;color:#94a3b8;font-weight:600}
body.page-software-solutions .drivers-side-head i{color:#93c5fd}
@media (max-width:480px){
  body.page-software-solutions .drivers-help-actions{flex-direction:column}
  body.page-software-solutions .drivers-help-actions .btn{width:100%;flex:none}
  body.page-software-solutions .swsol-row-actions{width:100%;justify-content:flex-start}
}

/* ===== Product detail polish ===== */
.pd-page{padding-top:28px}
.pd-info h1{font-family:var(--font-display);font-weight:800}
.pd-actions{gap:12px}
.pd-btn{border-radius:10px;transition:transform .22s var(--ease-out),box-shadow .22s ease,background .2s ease}
.pd-btn-primary{background:var(--grad)!important;box-shadow:0 8px 20px rgba(21,101,192,.28)!important}
.pd-btn-primary:hover{transform:translateY(-2px);filter:brightness(1.04)}
.pd-main{border-radius:14px;box-shadow:0 1px 0 rgba(15,23,42,.03)}
.pd-quote-note{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:14px;padding:12px 14px;border-radius:12px;background:#f0f9ff;border:1px solid #bae6fd;color:#0c4a6e;font-size:13px;line-height:1.45}
.pd-quote-note i{color:var(--blue)}
.pd-quote-note a{color:var(--blue-deep);font-weight:800;text-decoration:underline}
.pd-sticky-cta{
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  background:rgba(255,255,255,.94);
  border-top:1px solid rgba(226,232,240,.9);
  box-shadow:0 -12px 32px rgba(15,23,42,.1);
  padding:12px 0;
}
.pd-sticky-inner{align-items:center;gap:14px}
.pd-sticky-inner strong{
  font-family:var(--font-display);
  font-size:15px;
  font-weight:700;
  letter-spacing:-.02em;
  color:#0f172a;
  line-height:1.3;
  min-width:0;
}
.pd-sticky-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.pd-sticky-actions .pd-btn{
  width:auto;
  min-width:0;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:none;
}
.pd-sticky-actions .pd-sticky-quote{
  background:var(--grad)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 8px 22px rgba(21,101,192,.32)!important;
}
.pd-sticky-actions .pd-sticky-quote:hover{
  transform:translateY(-1px);
  filter:brightness(1.05);
  box-shadow:0 10px 26px rgba(21,101,192,.4)!important;
}
.pd-sticky-actions .pd-sticky-wa{
  background:linear-gradient(135deg,#25d366 0%,#128c7e 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 8px 20px rgba(18,140,126,.28)!important;
  padding:0 16px;
}
.pd-sticky-actions .pd-sticky-wa:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
  box-shadow:0 10px 24px rgba(18,140,126,.36)!important;
}
.pd-sticky-actions .pd-btn i{font-size:15px;line-height:1}
.pd-sticky-actions .pd-btn span{white-space:nowrap}
@media(max-width:640px){
  .pd-sticky-actions{gap:8px}
  .pd-sticky-actions .pd-btn{
    min-height:42px;
    padding:0 14px;
    font-size:12.5px;
  }
  .pd-sticky-actions .pd-sticky-wa span{display:none}
  .pd-sticky-actions .pd-sticky-wa{
    width:42px;
    padding:0;
    border-radius:50%;
  }
  .pd-sticky-actions .pd-sticky-wa i{font-size:18px}
}
.product-card{transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),border-color .25s ease}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.showcase-card{transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}
.showcase-card:hover{transform:translateY(-3px)}
.cert-item img{transition:transform .3s var(--ease-out)}
.cert-item:hover img{transform:scale(1.04)}

/* Kill accidental horizontal scroll site-wide */
html, body { overflow-x: hidden !important; }
body > * { max-width: 100%; }
.swiper, .swiper-wrapper, .swiper-slide { max-width: 100%; }
img, video { max-width: 100%; height: auto; }
.wrap, main, .section, .shop-main, .pl-main, .drivers-main, .sc-main, .pd-info, .pd-zoom-wrap {
  min-width: 0;
}

/* ========== Professional polish pass (site-wide) ========== */
@media (max-width: 768px) {
  :root { --section-y: 48px; }
  .section { padding: var(--section-y) 0; }
}

.sectors.section-soft { background: #fff; }
.exhibition-video-sec { padding-top: var(--section-y); padding-bottom: var(--section-y); }

.page-banner {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 60% 80% at 92% 10%, rgba(66,165,245,.16), transparent 55%),
    linear-gradient(180deg, #f7fbff 0%, #eef5ff 55%, #fff 100%);
  padding: 44px 0 40px;
  color: var(--text);
  border-bottom: 1px solid #dceaf8;
}
.page-banner::after{
  content:"";
  position:absolute;
  width:200px;height:200px;
  right:-50px;top:-70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(30,136,229,.14),transparent 70%);
  animation:bandOrbFloat 10s ease-in-out infinite;
  pointer-events:none;
}
.page-banner .wrap{position:relative;z-index:1}
.page-banner .breadcrumb a { color: var(--blue); }
.page-banner .breadcrumb span { color: var(--muted); }
.page-banner h1{color:var(--blue-deep)}
.page-banner p{color:var(--muted);opacity:1}

.contact-form-box input,
.contact-form-box select,
.contact-form-box textarea,
.modal-box input,
.modal-box select,
.modal-box textarea {
  width: 100%;
  padding: 13px 16px;
  margin-bottom: 12px;
  border: 2px solid var(--border);
  border-radius: var(--radius);
  font-family: var(--font);
  font-size: 14px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.contact-form-hint {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 14px;
}
.contact-form-hint a { color: var(--blue); font-weight: 600; }
.contact-cta-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.contact-forms-list h4 { margin-bottom: 10px; }
.contact-forms-list a { font-weight: 600; }

.showcase .section-head { max-width: 640px; }
.cat-subline { color: var(--muted); font-size: 14px; margin-top: 10px; letter-spacing: .01em; }
.showcase-body span { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--blue-2); }

.home-cta-center { text-align: center; margin-top: 32px; }

/* Theme banners — innovation / tech future / AI */
.theme-banners{padding:56px 0}
body.home-page .theme-banners,
body.about-page .theme-banners{padding:56px 0}
body.home-page .theme-banners--home{padding:0 0 56px}
body.about-page .theme-banners--about{padding:0 0 64px}
.theme-banners-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.theme-banner{
  position:relative;
  display:block;
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--border);
  min-height:240px;
  box-shadow:0 12px 40px rgba(15,23,42,.06);
  text-decoration:none;
  color:#fff;
  isolation:isolate;
  transition:transform .25s ease,box-shadow .25s ease;
}
.theme-banner:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 48px rgba(15,23,42,.12);
}
.theme-banner > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  z-index:0;
  transform:scale(1.02);
  transition:transform .45s ease;
}
.theme-banner:hover > img{transform:scale(1.06)}
.theme-banner-overlay{
  position:relative;
  z-index:1;
  min-height:240px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px 26px;
  background:
    linear-gradient(180deg, rgba(10,40,90,.18) 0%, rgba(7,28,70,.78) 62%, rgba(5,20,55,.92) 100%);
}
.theme-banner-overlay h3{
  margin:0 0 8px;
  font-size:clamp(1.2rem,2.2vw,1.45rem);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.2;
  color:#fff;
}
.theme-banner-overlay p{
  margin:0 0 14px;
  font-size:14px;
  line-height:1.5;
  color:rgba(255,255,255,.88);
  max-width:34ch;
}
.theme-banner-overlay span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
  color:#fff;
}
.theme-banner-overlay span i{font-size:11px;transition:transform .2s}
.theme-banner:hover .theme-banner-overlay span i{transform:translateX(3px)}
@media(max-width:768px){
  .theme-banners-grid{grid-template-columns:1fr;gap:12px}
  .theme-banner,
  .theme-banner-overlay{min-height:200px}
  .theme-banner-overlay{padding:22px 18px}
  body.home-page .theme-banners--home,
  body.about-page .theme-banners--about{padding:0 0 40px}
}

/* ===== Corporate page ===== */
body.corporate-page .page-banner{display:none}
body.corporate-page .section{padding:56px 0}
body.corporate-page .section-head{margin-bottom:28px}
body.corporate-page .section-head p{max-width:560px;margin-left:auto;margin-right:auto}

body.corporate-page .corp-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#1565c0;background:linear-gradient(120deg,#e3f2fd,#e0f7fa);
  border:1px solid #bbdefb;border-radius:999px;padding:6px 12px;margin-bottom:14px;
}
body.corporate-page .corp-kicker--center{display:inline-flex;margin-left:auto;margin-right:auto}

.corp-hero{
  position:relative;
  padding:56px 0 48px;
  overflow:hidden;
  color:var(--text);
  background:
    radial-gradient(ellipse 70% 80% at 92% 12%, rgba(30,136,229,.14), transparent 55%),
    radial-gradient(ellipse 45% 55% at 0% 100%, rgba(2,136,209,.08), transparent 50%),
    linear-gradient(180deg,#f7fbff 0%,#eef5ff 48%,#fff 100%);
  border-bottom:1px solid #dceaf8;
}
.corp-hero::before,
.corp-hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
.corp-hero::before{
  width:280px;height:280px;
  right:-70px;top:-90px;
  background:radial-gradient(circle,rgba(66,165,245,.2),transparent 70%);
  animation:bandOrbFloat 10s ease-in-out infinite;
}
.corp-hero::after{
  width:180px;height:180px;
  left:6%;bottom:-70px;
  background:radial-gradient(circle,rgba(21,101,192,.12),transparent 70%);
  animation:bandOrbFloat 12s ease-in-out infinite reverse;
}
.corp-hero-grid{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:36px;
  align-items:center;
}
.corp-hero-crumb{color:var(--muted);margin-bottom:14px}
.corp-hero-crumb a{color:var(--blue)}
.corp-hero h1{
  font-size:clamp(1.75rem,3.6vw,2.55rem);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1.12;
  color:var(--blue-deep);
  margin:0 0 14px;
}
.corp-hero-copy > p{
  font-size:15.5px;
  line-height:1.65;
  color:var(--muted);
  max-width:48ch;
  margin:0 0 18px;
}
.corp-hero-pills{
  list-style:none;margin:0 0 22px;padding:0;
  display:flex;flex-wrap:wrap;gap:8px;
}
.corp-hero-pills li{
  font-size:12.5px;font-weight:700;color:#0d47a1;
  background:#fff;border:1px solid #d6e8fb;border-radius:999px;
  padding:7px 12px;box-shadow:0 4px 14px rgba(21,101,192,.06);
}
.corp-hero-ctas{display:flex;flex-wrap:wrap;gap:10px}
.corp-hero-visual{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  border:1px solid #d6e8fb;
  box-shadow:0 20px 48px rgba(21,101,192,.12);
  aspect-ratio:4/3;
  background:#fff;
  animation:heroVisualFloat 6.5s ease-in-out infinite;
}
.corp-hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
  width:45%;
  animation:lightSheen 5.5s ease-in-out infinite;
  pointer-events:none;
}
.corp-hero-visual img{width:100%;height:100%;object-fit:cover;display:block}

.corp-stats-band{margin-top:-28px;position:relative;z-index:2;padding:0 0 8px}
.corp-stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
  background:#fff;border:1px solid #d6e8fb;border-radius:18px;
  padding:18px;box-shadow:0 16px 40px rgba(21,101,192,.1);
}
.corp-stat{
  text-align:center;padding:10px 8px;border-radius:12px;
  background:linear-gradient(180deg,#f7fbff,#fff);
}
.corp-stat strong{display:block;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:var(--blue-deep);margin-bottom:4px}
.corp-stat span{font-size:12.5px;color:var(--muted);font-weight:600}
.corp-stat.tone-teal strong{color:#00796b}
.corp-stat.tone-amber strong{color:#d97706}
.corp-stat.tone-cyan strong{color:#0277bd}

.corp-audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.corp-panel{
  background:linear-gradient(165deg,#fff,#f7fbff);
  border:1px solid #d6e8fb;
  border-radius:18px;
  padding:28px 26px;
  box-shadow:0 10px 40px rgba(21,101,192,.06);
  position:relative;overflow:hidden;
}
.corp-panel::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,#42a5f5,#1565c0);
}
.corp-panel--proc::before{background:linear-gradient(180deg,#26a69a,#00796b)}
.corp-panel-ico{
  width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(21,101,192,.1);color:#1565c0;margin-bottom:14px;
}
.corp-panel--proc .corp-panel-ico{background:rgba(0,137,123,.12);color:#00796b}
.corp-panel-ico .v-icon{width:20px;height:20px}
.corp-panel h2{font-size:1.25rem;letter-spacing:-.02em;margin:0 0 10px}
.corp-panel p{margin:0 0 16px;color:var(--muted);font-size:14.5px;line-height:1.6}
.corp-panel a{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13.5px;font-weight:700;color:var(--blue);text-decoration:none;
}
.corp-panel a:hover i{transform:translateX(3px)}
.corp-panel a i{font-size:11px;transition:transform .2s}

.corp-reason-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.corp-reason-card{
  background:#fff;
  border:1px solid #d6e8fb;
  border-radius:16px;
  padding:22px 18px;
  transition:transform .22s var(--ease-out),box-shadow .22s ease,border-color .22s ease;
  box-shadow:0 8px 24px rgba(21,101,192,.05);
}
.corp-reason-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(21,101,192,.12);border-color:#90caf9}
.corp-reason-ico{
  width:42px;height:42px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(21,101,192,.1);color:#1565c0;margin-bottom:12px;
}
.corp-reason-ico .v-icon{width:18px;height:18px}
.corp-reason-card.tone-teal .corp-reason-ico{background:rgba(0,137,123,.12);color:#00796b}
.corp-reason-card.tone-cyan .corp-reason-ico{background:rgba(2,136,209,.12);color:#0277bd}
.corp-reason-card.tone-amber .corp-reason-ico{background:rgba(245,158,11,.14);color:#d97706}
.corp-reason-card.tone-indigo .corp-reason-ico{background:rgba(57,73,171,.12);color:#3949ab}
.corp-reason-card h3{font-size:15px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px}
.corp-reason-card p{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}

.corp-port-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.corp-port-card{
  display:flex;flex-direction:column;gap:6px;
  background:linear-gradient(165deg,#fff,#f7fbff);
  border:1px solid #d6e8fb;border-radius:16px;
  padding:16px 14px 18px;text-decoration:none;color:inherit;
  transition:transform .22s var(--ease-out),box-shadow .22s ease,border-color .22s ease;
  box-shadow:0 8px 24px rgba(21,101,192,.05);
}
.corp-port-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(21,101,192,.12);border-color:#90caf9}
.corp-port-media{
  height:110px;display:flex;align-items:center;justify-content:center;
  margin-bottom:6px;border-radius:12px;
  background:linear-gradient(180deg,#e3f2fd,#fff);
}
.corp-port-media img{max-height:88px;width:auto;max-width:100%;object-fit:contain}
.corp-port-card strong{font-size:14px;font-weight:800;letter-spacing:-.01em}
.corp-port-card em{font-style:normal;font-size:12.5px;color:var(--muted)}
.corp-port-card span{font-size:12.5px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:6px;margin-top:4px}
.corp-port-card span i{font-size:10px}
.corp-center-cta{text-align:center;margin-top:24px}
.corp-center-cta--row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

.corp-series-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.corp-series-card{
  background:#fff;border:1px solid #d6e8fb;border-radius:18px;
  padding:26px 22px;box-shadow:0 8px 28px rgba(21,101,192,.05);
  transition:transform .22s var(--ease-out),box-shadow .22s ease;
}
.corp-series-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(21,101,192,.1)}
.corp-series-card.is-featured{
  border-color:#90caf9;
  background:linear-gradient(165deg,#fff,#eef7ff);
  box-shadow:0 14px 36px rgba(21,101,192,.12);
  position:relative;
}
.corp-series-card.is-featured::after{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,#42a5f5,#1565c0,#26c6da);
  border-radius:18px 18px 0 0;
}
.corp-series-tag{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--blue);background:var(--blue-pale);
  padding:5px 10px;border-radius:999px;margin-bottom:12px;
}
.corp-series-card h3{font-size:1.2rem;margin:0 0 8px;letter-spacing:-.02em}
.corp-series-for{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}
.corp-series-card ul{list-style:none;margin:0 0 14px;padding:0}
.corp-series-card li{
  display:flex;gap:10px;align-items:flex-start;
  font-size:13.5px;font-weight:600;padding:6px 0;color:var(--text);
}
.corp-series-card li i{color:var(--blue);margin-top:3px;font-size:11px}
.corp-series-roles{margin:0;font-size:13px;color:var(--muted);line-height:1.5}

.corp-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.corp-scenario-card{
  background:#fff;border:1px solid #d6e8fb;border-radius:16px;padding:22px 18px;
  box-shadow:0 8px 24px rgba(21,101,192,.04);
  transition:transform .22s var(--ease-out),box-shadow .22s ease;
}
.corp-scenario-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(21,101,192,.1)}
.corp-scenario-ico{
  width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(21,101,192,.1);color:#1565c0;margin-bottom:12px;
}
.corp-scenario-ico .v-icon{width:18px;height:18px}
.corp-scenario-card.tone-teal .corp-scenario-ico{background:rgba(0,137,123,.12);color:#00796b}
.corp-scenario-card.tone-cyan .corp-scenario-ico{background:rgba(2,136,209,.12);color:#0277bd}
.corp-scenario-card.tone-amber .corp-scenario-ico{background:rgba(245,158,11,.14);color:#d97706}
.corp-scenario-card.tone-indigo .corp-scenario-ico{background:rgba(57,73,171,.12);color:#3949ab}
.corp-scenario-card.tone-rose .corp-scenario-ico{background:rgba(225,29,72,.1);color:#e11d48}
.corp-scenario-card h3{font-size:15px;font-weight:800;margin:0 0 8px;letter-spacing:-.02em}
.corp-scenario-card p{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted)}

.corp-life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.corp-life-card{
  background:#fff;border:1px solid #d6e8fb;border-radius:16px;padding:24px 20px;
  box-shadow:0 8px 24px rgba(21,101,192,.05);
}
.corp-life-ico{
  width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0;margin-bottom:14px;
}
.corp-life-ico .v-icon{width:20px;height:20px}
.corp-life-card h3{font-size:1.05rem;margin:0 0 12px;letter-spacing:-.02em}
.corp-life-card ul{list-style:none;margin:0;padding:0}
.corp-life-card li{
  position:relative;padding:8px 0 8px 16px;font-size:13.5px;color:var(--muted);line-height:1.5;
  border-bottom:1px solid #eef5ff;
}
.corp-life-card li:last-child{border-bottom:0}
.corp-life-card li::before{
  content:'';position:absolute;left:0;top:15px;
  width:6px;height:6px;border-radius:50%;background:var(--blue);
}

.corp-advantage-grid{
  display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:center;
}
.corp-advantage-media{
  border-radius:18px;overflow:hidden;border:1px solid #d6e8fb;
  box-shadow:0 16px 40px rgba(21,101,192,.1);
}
.corp-advantage-media img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block}
.corp-advantage-copy{
  background:linear-gradient(165deg,#fff,#f5faff);
  border:1px solid #d6e8fb;border-radius:18px;padding:32px 28px;
  box-shadow:0 10px 32px rgba(21,101,192,.06);
  position:relative;
}
.corp-advantage-copy::before{
  content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:4px;
  background:linear-gradient(180deg,#42a5f5,#1565c0);
}
.corp-advantage-copy h2{
  font-size:clamp(1.35rem,2.5vw,1.75rem);letter-spacing:-.03em;margin:0 0 12px;color:var(--blue-deep);
}
.corp-advantage-copy > p{margin:0 0 14px;color:var(--muted);font-size:14.5px;line-height:1.6;max-width:48ch}
.corp-advantage-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

.corp-cta{
  position:relative;
  padding:56px 0;
  overflow:hidden;
  color:var(--text);
  background:
    radial-gradient(ellipse 50% 70% at 90% 20%, rgba(30,136,229,.12), transparent 55%),
    radial-gradient(ellipse 40% 50% at 5% 90%, rgba(2,136,209,.1), transparent 50%),
    linear-gradient(180deg,#f4f9ff 0%,#eaf3ff 100%);
  border-top:1px solid #d6e8fb;
}
.corp-cta::before{
  content:"";
  position:absolute;
  width:240px;height:240px;
  left:-80px;top:-40px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(66,165,245,.18),transparent 70%);
  animation:bandOrbFloat 11s ease-in-out infinite;
  pointer-events:none;
}
.corp-cta-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.corp-cta h2{color:var(--blue-deep);font-size:clamp(1.35rem,3vw,1.85rem);letter-spacing:-.03em;margin:0 0 10px;max-width:22ch}
.corp-cta p{margin:0;color:var(--muted);max-width:42ch;line-height:1.55}
.corp-cta-btns{display:flex;flex-wrap:wrap;gap:10px}

@media(max-width:1100px){
  .corp-reason-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .corp-port-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .corp-hero-grid,.corp-audience-grid,.corp-series-grid,.corp-life-grid,.corp-advantage-grid{grid-template-columns:1fr}
  .corp-scenario-grid{grid-template-columns:1fr 1fr}
  .corp-reason-grid,.corp-port-grid,.corp-stats{grid-template-columns:1fr 1fr}
  .corp-hero-visual{max-width:520px}
  .corp-cta-inner{flex-direction:column;align-items:flex-start}
  .corp-advantage-media img{min-height:240px}
}
@media(max-width:768px){
  body.corporate-page .section{padding:44px 0}
  .corp-hero{padding:36px 0 40px}
  .corp-stats-band{margin-top:-18px}
  .corp-stats{grid-template-columns:1fr 1fr;padding:14px}
  .corp-hero-ctas .btn,.corp-cta-btns .btn,.corp-advantage-ctas .btn{width:100%;justify-content:center}
  .corp-scenario-grid,.corp-reason-grid,.corp-port-grid{grid-template-columns:1fr}
  .corp-cta{padding:40px 0}
  .corp-advantage-copy{padding:24px 20px}
}

/* ===== Home — premium outlined grids ===== */
body.home-page .home-sec{padding:56px 0}
body.home-page .home-sec--soft{background:var(--soft)}
body.home-page .section-head{margin-bottom:24px;max-width:560px}
body.home-page .section-head.center{margin-left:auto;margin-right:auto}
body.home-page .section-head h2{
  font-size:clamp(1.45rem,2.8vw,1.95rem);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.15;
  margin:0;
}
body.home-page .section-head p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.5;
}

.home-shell{
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  padding:32px 32px 28px;
  box-shadow:0 10px 40px rgba(15,23,42,.04);
}
.home-shell--row{padding:22px 24px}
.home-shell--flush{padding:28px;overflow:hidden}
.home-shell .section-head{margin-bottom:22px}
.home-shell .home-cta-center{margin-top:24px}

body.home-page .stats-wrap{margin-top:-40px}
body.home-page .stats-bar{
  border-radius:18px;
  box-shadow:0 16px 48px rgba(15,23,42,.1);
}
body.home-page .home-eco-row--clients{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
}
body.home-page .home-eco-row--clients h3{
  margin:0;
  font-size:2.05rem;
  font-weight:800;
  letter-spacing:-.02em;
  text-align:center;
  width:100%;
}
body.home-page .home-clients-swiper{
  min-width:0;
  overflow:hidden;
}
body.home-page .home-clients-swiper .swiper-wrapper{
  transition-timing-function:linear !important;
  align-items:center;
}
body.home-page .home-clients-swiper .swiper-slide{
  width:auto;
  height:auto;
}
body.home-page .client-logo--strip{
  width:118px;
  height:84px;
  padding:12px 14px;
  border-radius:12px;
}
body.home-page .client-logo--strip img{
  max-height:58px;
  max-width:92px;
  filter:none !important;
  opacity:1 !important;
}
body.home-page .client-logo--strip:hover img{
  filter:none !important;
  opacity:1 !important;
}
@media(max-width:768px){
  body.home-page .client-logo--strip{
    width:96px;
    height:70px;
  }
  body.home-page .client-logo--strip img{
    max-height:48px;
    max-width:78px;
  }
}
body.home-page .home-category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  max-width:none;
}
body.home-page .home-category-store{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--blue);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:border-color .2s,background .2s,color .2s;
}
body.home-page .home-category-store:hover{
  border-color:var(--blue);
  background:var(--blue);
  color:#fff;
}
body.home-page .home-category-swiper{
  overflow:hidden;
}
body.home-page .home-category-card{
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  height:100%;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
body.home-page .home-category-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg);
  border-color:#bbdefb;
}
body.home-page .home-category-media{
  height:160px;
  background:linear-gradient(180deg,#f8fafc,#fff);
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}
body.home-page .home-category-media img{
  /* max-height:132px; */
  width:auto;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
body.home-page .home-category-card .showcase-body{
  padding:14px 14px 16px;
  text-align:center;
  flex-shrink:0;
  position:relative;
  z-index:2;
  background:#fff;
}
body.home-page .home-category-card .showcase-body h3{
  font-size:14px;
  font-weight:800;
  margin:0;
  min-height:2.4em;
  color:#0d47a1;
  -webkit-text-fill-color:#0d47a1;
  background:none;
  line-height:1.35;
}
body.home-page .home-category-card .product-link{
  font-size:12.5px;
  font-weight:700;
  color:var(--blue);
}
@media(max-width:768px){
  body.home-page .home-category-media{height:130px}
}

body.home-page .home-product-grid{gap:14px}
body.home-page .home-product-card{
  border-radius:14px;
  box-shadow:none;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
body.home-page .home-product-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 32px rgba(15,23,42,.08);
  border-color:#bbdefb;
}
body.home-page .home-product-card .product-img{height:160px;background:linear-gradient(180deg,#f8fafc,#fff)}
body.home-page .home-product-card .product-body{padding:14px 16px 16px}
body.home-page .home-product-card h3{font-size:13.5px;min-height:2.4em;margin:4px 0 8px}

.home-about-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:0;
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 40px rgba(15,23,42,.04);
}
.home-about-media{
  min-height:100%;
  background:#0f172a;
}
.home-about-media img{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
  display:block;
}
.home-about-copy{
  padding:40px 36px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.home-about-copy .label{margin-bottom:10px}
.home-about-copy h2{
  font-size:clamp(1.45rem,2.8vw,1.95rem);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.15;
  margin:0 0 12px;
}
.home-about-copy > p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
  max-width:42ch;
}
.home-about-copy > p:last-of-type{margin-bottom:22px}

.home-ecosystem{
  padding:28px 28px 24px;
  display:flex;
  flex-direction:column;
  gap:0;
}
.home-eco-row{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:20px;
  align-items:center;
  min-width:0;
}
.home-eco-row h3{
  margin:0;
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.25;
  color:var(--text);
}
.home-eco-divider{
  border:0;
  border-top:1px solid var(--border);
  margin:18px 0;
}
body.home-page .home-ecosystem .client-logo{
  width:108px;
  height:76px;
  border-radius:12px;
  background:#fff;
  flex:0 0 auto;
}

/* Continuous logo marquee (clients / partners) */
.logo-marquee{
  min-width:0;
  width:100%;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
.logo-marquee-track{
  display:flex;
  align-items:center;
  gap:14px;
  width:max-content;
  animation:logo-marquee-scroll 40s linear infinite;
  will-change:transform;
}
.logo-marquee--reverse .logo-marquee-track{
  animation-duration:46s;
  animation-direction:reverse;
}
.logo-marquee:hover .logo-marquee-track{animation-play-state:paused}
@keyframes logo-marquee-scroll{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media (prefers-reduced-motion:reduce){
  .logo-marquee-track{animation:none}
}

body.home-page .exhibition-video-sec{padding-top:56px;padding-bottom:56px}
body.home-page .home-shell--flush .exhibition-split{
  gap:28px;
  align-items:center;
}
body.home-page .exhibition-frame{
  border-radius:14px;
  border:1px solid var(--border);
  overflow:hidden;
}
body.home-page .exhibition-copy{max-width:420px;padding-right:8px}
body.home-page .exhibition-copy h2{
  font-size:clamp(1.35rem,2.6vw,1.75rem);
  margin:0 0 10px;
}
body.home-page .exhibition-copy > p{
  margin:0 0 14px;
  font-size:14.5px;
  line-height:1.55;
  color:var(--muted);
}
body.home-page .exhibition-points{margin:0 0 18px}

body.home-page .review-card-home{
  box-shadow:none;
  border-radius:14px;
  background:var(--soft);
}
body.home-page .reviews-home .home-shell{padding-bottom:36px}

.home-trust-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.home-trust-card{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px 16px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:0 6px 24px rgba(15,23,42,.03);
  transition:border-color .2s,box-shadow .2s;
}
.home-trust-card:hover{border-color:#bbdefb;box-shadow:var(--shadow)}
.home-trust-card img{height:34px;width:auto;object-fit:contain}
.home-trust-card span{font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.01em}

body.home-page .home-faq .home-faq-list{
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:none;
  overflow:hidden;
}
body.home-page .home-faq .section-head{margin-bottom:18px}

body.home-page .subscribe-band--home{
  padding:56px 0 64px;
  background:#fff;
  border-top:0;
  border-bottom:0;
}
body.home-page .subscribe-band--home .subscribe-band-inner{
  background:var(--soft);
  border:1px solid var(--border);
  border-radius:20px;
  padding:28px 32px;
  box-shadow:0 10px 40px rgba(15,23,42,.04);
}
body.home-page .subscribe-band-desc{font-size:14px;line-height:1.5}

@media(max-width:980px){
  .home-about-grid{grid-template-columns:1fr}
  .home-about-media img{min-height:240px;max-height:280px}
  .home-about-copy{padding:28px 24px}
  .home-trust-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  body.home-page .home-sec{padding:40px 0}
  .home-shell{padding:22px 18px 20px;border-radius:16px}
  .home-shell--row{padding:16px}
  .home-shell--flush{padding:16px}
  .home-ecosystem{padding:20px 16px 16px}
  .home-eco-row{
    grid-template-columns:1fr;
    gap:12px;
    align-items:stretch;
  }
  .home-eco-divider{margin:14px 0}
  .logo-marquee-track{gap:12px;animation-duration:34s}
  .logo-marquee--reverse .logo-marquee-track{animation-duration:38s}
  .home-trust-grid{gap:10px}
  .home-trust-card{flex-direction:column;text-align:center;padding:14px 10px;gap:8px}
  .home-trust-card span{font-size:12px}
  body.home-page .subscribe-band--home .subscribe-band-inner{padding:22px 18px;border-radius:16px}
  body.home-page .exhibition-copy{padding-right:0}
}

/* ===== Home — About-style colorful premium polish ===== */
body.home-page{
  --home-ink:#0d47a1;
  --home-teal:#00897b;
}
body.home-page .home-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:10px;
  padding:6px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#1565c0;
  background:linear-gradient(120deg,#e3f2fd,#e0f7fa);
  border:1px solid #bbdefb;
}
body.home-page .home-kicker--center{
  display:inline-flex;
  margin-left:auto;
  margin-right:auto;
}
body.home-page .home-sec{position:relative;overflow:hidden}
body.home-page .home-sec--soft{
  background:
    radial-gradient(ellipse 50% 60% at 0% 0%, rgba(30,136,229,.1), transparent 55%),
    radial-gradient(ellipse 40% 50% at 100% 100%, rgba(0,188,212,.08), transparent 50%),
    linear-gradient(180deg,#f5faff 0%,#eef7ff 100%);
}
body.home-page .home-sec--products{
  background:
    radial-gradient(ellipse 45% 55% at 100% 0%, rgba(245,158,11,.08), transparent 50%),
    radial-gradient(ellipse 50% 60% at 0% 100%, rgba(21,101,192,.08), transparent 55%),
    linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%);
}
body.home-page .home-sec--about{
  background:
    radial-gradient(ellipse 55% 70% at 0% 50%, rgba(21,101,192,.08), transparent 55%),
    radial-gradient(ellipse 45% 55% at 100% 40%, rgba(0,188,212,.1), transparent 50%),
    linear-gradient(180deg,#fff 0%,#f3f9ff 100%);
}
body.home-page .home-sec--clients{
  background:
    radial-gradient(ellipse 50% 60% at 50% 0%, rgba(0,188,212,.1), transparent 55%),
    linear-gradient(180deg,#f0faf9 0%,#f5faff 100%);
}
body.home-page .reviews-home{
  background:
    radial-gradient(ellipse 45% 55% at 90% 20%, rgba(245,158,11,.08), transparent 50%),
    linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%);
}
body.home-page .exhibition-video-sec{
  background:
    radial-gradient(ellipse 50% 60% at 10% 80%, rgba(21,101,192,.08), transparent 55%),
    linear-gradient(180deg,#fff 0%,#f5faff 100%);
}
body.home-page .section-head h2,
body.home-page .home-eco-row--clients h3,
body.home-page .home-about-copy h2,
body.home-page .exhibition-copy h2{
  background:linear-gradient(120deg,#0d47a1 15%,#0288d1 65%,#00897b);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
body.home-page .home-shell{
  background:linear-gradient(165deg,rgba(255,255,255,.98) 0%,rgba(243,249,255,.96) 100%);
  border:1px solid #cfe4fb;
  border-radius:22px;
  box-shadow:0 16px 44px rgba(21,101,192,.08),0 0 0 1px rgba(255,255,255,.7) inset;
}
body.home-page .home-category-store{
  border-radius:12px;
  border:1px solid #bbdefb;
  background:linear-gradient(135deg,#fff,#e3f2fd);
  box-shadow:0 6px 16px rgba(21,101,192,.08);
}
body.home-page .home-category-store:hover{
  background:linear-gradient(135deg,#1565c0,#0288d1);
  border-color:#1565c0;
  color:#fff;
  box-shadow:0 10px 24px rgba(21,101,192,.22);
}
body.home-page .home-category-card{
  border:1px solid #d6e8fb;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(21,101,192,.05);
}
body.home-page .home-category-card:hover{
  border-color:#90caf9;
  box-shadow:0 16px 36px rgba(21,101,192,.14);
}
body.home-page .home-category-media{
  background:linear-gradient(180deg,#eef6ff,#fff 55%);
  position:relative;
  overflow:hidden;
}
body.home-page .home-category-card .showcase-body{
  background:linear-gradient(180deg,#fff,#f7fbff);
}
body.home-page .home-category-card .showcase-body h3{
  color:#0d47a1 !important;
  -webkit-text-fill-color:#0d47a1 !important;
  background:none !important;
}
body.home-page .home-about-grid{
  background:linear-gradient(165deg,#fff,#f3f9ff);
  border:1px solid #cfe4fb;
  border-radius:28px;
  box-shadow:0 20px 50px rgba(21,101,192,.1);
}
body.home-page .home-about-media{
  position:relative;
  background:linear-gradient(145deg,#0d47a1,#1565c0 45%,#0288d1);
}
body.home-page .home-about-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(13,71,161,.25));
  pointer-events:none;
}
body.home-page .home-about-copy{position:relative}
body.home-page .home-about-copy::before{
  content:"";
  position:absolute;
  left:0;top:28px;bottom:28px;
  width:4px;
  border-radius:0 8px 8px 0;
  background:linear-gradient(180deg,#1565c0,#00bcd4 55%,#f59e0b);
}
body.home-page .client-logo--strip{
  background:#fff;
  border:1px solid #e3f2fd;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(21,101,192,.05);
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
body.home-page .client-logo--strip:hover{
  transform:translateY(-2px);
  border-color:#90caf9;
  box-shadow:0 12px 26px rgba(21,101,192,.1);
}
body.home-page .exhibition-frame{
  border:1px solid #d6e8fb;
  border-radius:18px;
  box-shadow:0 14px 36px rgba(21,101,192,.1);
}
body.home-page .review-card-home{
  background:linear-gradient(165deg,#fff,#f7fbff);
  border:1px solid #d6e8fb;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(21,101,192,.06);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
body.home-page .review-card-home:hover{
  transform:translateY(-3px);
  border-color:#90caf9;
  box-shadow:0 14px 32px rgba(21,101,192,.12);
}
body.home-page #trust{
  background:
    radial-gradient(ellipse 50% 60% at 50% 100%, rgba(21,101,192,.07), transparent 55%),
    linear-gradient(180deg,#f8fbff,#fff);
}
body.home-page .home-trust-card{
  border:1px solid #d6e8fb;
  border-radius:16px;
  background:linear-gradient(165deg,#fff,#f5faff);
  box-shadow:0 10px 28px rgba(21,101,192,.05);
}
body.home-page .home-trust-card:hover{
  border-color:#90caf9;
  box-shadow:0 14px 32px rgba(21,101,192,.12);
}
body.home-page .home-faq .home-faq-list{
  background:linear-gradient(165deg,#fff,#f5faff);
  border:1px solid #d6e8fb;
  border-radius:18px;
}
body.home-page .subscribe-band--home{
  background:
    radial-gradient(ellipse 55% 70% at 8% 90%, rgba(0,188,212,.14), transparent 55%),
    radial-gradient(ellipse 45% 55% at 92% 10%, rgba(245,158,11,.1), transparent 50%),
    linear-gradient(180deg,#eef6ff 0%,#e3f2fd 100%);
}
body.home-page .subscribe-band--home .subscribe-band-inner{
  background:#fff;
  border:1px solid #cfe4fb;
  border-radius:22px;
  box-shadow:0 16px 40px rgba(21,101,192,.08);
}

/* Mobile float stack: bottom nav + WhatsApp + AI; hide back-top on small screens */
@media (max-width: 900px) {
  :root {
    --float-right: 14px;
    --float-size: 48px;
    --float-gap: 10px;
    --float-bottom: 78px;
  }
  .back-top { display: none !important; }
  .whatsapp-float {
    bottom: var(--float-bottom);
    right: var(--float-right);
    width: var(--float-size);
    height: var(--float-size);
    font-size: 22px;
    z-index: 940;
  }
  .vai-fab {
    bottom: var(--float-bottom) !important;
    right: var(--float-right) !important;
    width: var(--float-size) !important;
    height: var(--float-size) !important;
  }
}

@media (max-width: 960px) {
  .pd-actions { grid-template-columns: 1fr; }
}

.footer h4 {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #90caf9;
  margin-bottom: 16px;
}
.footer-forms {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.1);
  margin-bottom: 8px;
}

.shop-banner-row { align-items: flex-end; }
@media (max-width: 768px) {
  .shop-banner-row { align-items: stretch; }
  .shop-banner-copy p { font-size: 13px; }
  .shop-search { max-width: none; width: 100%; }
}

/* =========================================================
   Inner-pages polish (homepage excluded)
   Typography · buttons · icons · hover · grids
   ========================================================= */
body:not(.home-page) {
  --section-y: 56px;
  --section-y-sm: 40px;
  font-size: 15.5px;
  line-height: 1.65;
}

body:not(.home-page) h1,
body:not(.home-page) h2,
body:not(.home-page) h3,
body:not(.home-page) h4,
body:not(.home-page) .section-head h2 {
  font-family: var(--font-display);
  letter-spacing: -.025em;
  font-weight: 700;
}

body:not(.home-page) .page-banner {
  padding: 36px 0 32px;
  background:
    radial-gradient(ellipse 60% 80% at 92% 10%, rgba(66,165,245,.14), transparent 55%),
    linear-gradient(180deg, #f7fbff 0%, #eef5ff 48%, #fff 100%);
  color: var(--text);
}
body:not(.home-page) .page-banner h1 {
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.2;
  margin-top: 6px;
  color: var(--blue-deep);
}
body:not(.home-page) .page-banner p {
  font-size: 14.5px;
  line-height: 1.55;
  opacity: 1;
  color: var(--muted);
  max-width: 52ch;
  margin-top: 8px;
}
body:not(.home-page) .breadcrumb {
  font-size: 12.5px;
  letter-spacing: .01em;
}

body:not(.home-page) .section-head {
  margin-bottom: 28px;
  max-width: 540px;
}
body:not(.home-page) .section-head h2 {
  font-size: clamp(1.3rem, 2.2vw, 1.65rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.028em;
}
body:not(.home-page) .section-head p,
body:not(.home-page) .section-head.center p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--muted);
  margin-top: 8px;
}
body:not(.home-page) .label {
  font-size: 10.5px;
  letter-spacing: 1.6px;
  margin-bottom: 10px;
}
body:not(.home-page) .lead {
  font-size: 15px;
  line-height: 1.65;
}

/* Buttons — cleaner, professional */
body:not(.home-page) .btn {
  padding: 11px 22px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: .01em;
  border-radius: 9px;
  gap: 8px;
  transition:
    transform .28s var(--ease-out),
    box-shadow .28s var(--ease-out),
    background .25s ease,
    border-color .25s ease,
    color .25s ease;
}
body:not(.home-page) .btn-lg {
  padding: 13px 26px;
  font-size: 14px;
}
body:not(.home-page) .btn i {
  font-size: .9em;
  line-height: 1;
  transition: transform .28s var(--ease-out);
}
body:not(.home-page) .btn:hover {
  transform: translateY(-2px);
}
body:not(.home-page) .btn:active {
  transform: translateY(0);
}
body:not(.home-page) .btn-primary {
  box-shadow: 0 4px 14px rgba(21,101,192,.26);
}
body:not(.home-page) .btn-primary:hover {
  box-shadow: 0 10px 26px rgba(21,101,192,.38);
}
body:not(.home-page) .btn-outline,
body:not(.home-page) .btn-ghost-dark {
  background: #fff;
  border-width: 1.5px;
}
body:not(.home-page) .btn-outline:hover,
body:not(.home-page) .btn-ghost-dark:hover {
  border-color: var(--blue);
  background: #f0f7ff;
}
body:not(.home-page) .btn:hover .fa-arrow-right,
body:not(.home-page) a:hover > .fa-arrow-right {
  transform: translateX(3px);
}
body:not(.home-page) .header-cta {
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .01em;
  transition: transform .28s var(--ease-out), box-shadow .28s var(--ease-out);
}
body:not(.home-page) .header-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(21,101,192,.35);
}

/* Icon wells — consistent, relevant look */
body:not(.home-page) .contact-card > i,
body:not(.home-page) .pillar-card > i,
body:not(.home-page) .about-mission-card > i,
body:not(.home-page) .about-ops-card > i,
body:not(.home-page) .corp-reason-card > i,
body:not(.home-page) .corp-scenario-card > i,
body:not(.home-page) .about-oem-flow article > i,
body:not(.home-page) .oem-page-flow article > i,
body:not(.home-page) .cert-card > i,
body:not(.home-page) .empty-state > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background: linear-gradient(145deg, #e8f3ff, #f0f7ff);
  color: var(--blue-deep);
  font-size: 17px;
  margin-bottom: 12px;
  box-shadow: inset 0 0 0 1px rgba(21,101,192,.08);
  transition: transform .28s var(--ease-out), background .28s ease, color .28s ease, box-shadow .28s ease;
}
body:not(.home-page) .contact-card:hover > i,
body:not(.home-page) .pillar-card:hover > i,
body:not(.home-page) .about-mission-card:hover > i,
body:not(.home-page) .about-ops-card:hover > i,
body:not(.home-page) .corp-reason-card:hover > i,
body:not(.home-page) .corp-scenario-card:hover > i,
body:not(.home-page) .about-oem-flow article:hover > i,
body:not(.home-page) .oem-page-flow article:hover > i,
body:not(.home-page) .cert-card:hover > i {
  transform: scale(1.06);
  background: var(--grad);
  color: #fff;
  box-shadow: 0 8px 18px rgba(21,101,192,.28);
}

/* Soft card hover — grids / boxes */
body:not(.home-page) .contact-card,
body:not(.home-page) .contact-form-box,
body:not(.home-page) .contact-forms-list,
body:not(.home-page) .pillar-card,
body:not(.home-page) .cert-card,
body:not(.home-page) .cust-card,
body:not(.home-page) .partner-logo,
body:not(.home-page) .aside-box,
body:not(.home-page) .showcase-card,
body:not(.home-page) .product-card,
body:not(.home-page) .shop-card,
body:not(.home-page) .pl-card,
body:not(.home-page) .about-value-card,
body:not(.home-page) .about-mission-card,
body:not(.home-page) .about-panel,
body:not(.home-page) .about-ops-card,
body:not(.home-page) .corp-panel,
body:not(.home-page) .corp-reason-card,
body:not(.home-page) .corp-scenario-card,
body:not(.home-page) .corp-series-card,
body:not(.home-page) .about-oem-flow article,
body:not(.home-page) .oem-page-flow article,
body:not(.home-page) .faq-item,
body:not(.home-page) .mission-box {
  transition:
    transform .3s var(--ease-out),
    box-shadow .3s var(--ease-out),
    border-color .3s ease,
    background .3s ease;
}

body:not(.home-page) .contact-card:hover,
body:not(.home-page) .pillar-card:hover,
body:not(.home-page) .cert-card:hover,
body:not(.home-page) .cust-card:hover,
body:not(.home-page) .about-value-card:hover,
body:not(.home-page) .about-mission-card:hover,
body:not(.home-page) .about-ops-card:hover,
body:not(.home-page) .corp-reason-card:hover,
body:not(.home-page) .corp-scenario-card:hover,
body:not(.home-page) .corp-series-card:hover,
body:not(.home-page) .about-oem-flow article:hover,
body:not(.home-page) .oem-page-flow article:hover,
body:not(.home-page) .product-card:hover,
body:not(.home-page) .shop-card:hover,
body:not(.home-page) .pl-card:hover,
body:not(.home-page) .showcase-card:hover,
body:not(.home-page) .partner-logo:hover {
  transform: translateY(-4px);
  border-color: #bbdefb;
  box-shadow: 0 14px 36px rgba(15,23,42,.08);
}

body:not(.home-page) .contact-form-box:hover,
body:not(.home-page) .about-panel:hover,
body:not(.home-page) .corp-panel:hover,
body:not(.home-page) .aside-box:hover {
  border-color: #cfe4fc;
  box-shadow: 0 12px 32px rgba(15,23,42,.06);
}

/* Grid rhythm */
body:not(.home-page) .contact-layout,
body:not(.home-page) .contact-cards,
body:not(.home-page) .pillar-grid,
body:not(.home-page) .cert-grid,
body:not(.home-page) .cust-grid,
body:not(.home-page) .about-values-grid,
body:not(.home-page) .about-mission-grid,
body:not(.home-page) .about-ops-grid,
body:not(.home-page) .corp-audience-grid,
body:not(.home-page) .corp-reason-grid,
body:not(.home-page) .corp-scenario-grid,
body:not(.home-page) .corp-series-grid,
body:not(.home-page) .oem-benefit-grid,
body:not(.home-page) .about-oem-flow,
body:not(.home-page) .oem-page-flow,
body:not(.home-page) .product-grid,
body:not(.home-page) .shop-grid,
body:not(.home-page) .pl-grid,
body:not(.home-page) .showcase-grid {
  gap: clamp(12px, 1.6vw, 18px);
}

body:not(.home-page) .contact-card,
body:not(.home-page) .pillar-card,
body:not(.home-page) .cert-card,
body:not(.home-page) .cust-card,
body:not(.home-page) .about-value-card,
body:not(.home-page) .about-mission-card,
body:not(.home-page) .corp-reason-card,
body:not(.home-page) .corp-scenario-card {
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--border);
}

body:not(.home-page) .contact-card h4,
body:not(.home-page) .pillar-card h3,
body:not(.home-page) .about-mission-card h3,
body:not(.home-page) .corp-reason-card h3,
body:not(.home-page) .corp-scenario-card h3 {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.02em;
  margin-bottom: 6px;
}
body:not(.home-page) .contact-card p,
body:not(.home-page) .pillar-card p,
body:not(.home-page) .about-mission-card p,
body:not(.home-page) .corp-reason-card p,
body:not(.home-page) .corp-scenario-card p {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--muted);
}

/* Enterprise heroes — keep headings compact */
body:not(.home-page).about-page .about-hero h1,
body:not(.home-page).corporate-page .corp-hero h1 {
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -.035em;
}
body:not(.home-page).about-page .about-hero-copy > p,
body:not(.home-page).corporate-page .corp-hero-copy > p {
  font-size: 15px;
  line-height: 1.6;
}
body:not(.home-page).about-page .about-panel-head h2,
body:not(.home-page).corporate-page .corp-panel h2 {
  font-size: clamp(1.2rem, 2vw, 1.4rem);
}
body:not(.home-page).about-page .section,
body:not(.home-page).corporate-page .section,
body:not(.home-page).oem-page .section {
  padding: 52px 0;
}

/* Forms list / links polish */
body:not(.home-page) .contact-forms-list a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid #eef2f7;
  transition: color .2s ease, padding-left .25s var(--ease-out);
}
body:not(.home-page) .contact-forms-list li:last-child a { border-bottom: 0; }
body:not(.home-page) .contact-forms-list a:hover {
  color: var(--blue-deep);
  padding-left: 4px;
}
body:not(.home-page) .contact-forms-list a::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--blue-2);
  flex-shrink: 0;
  opacity: .75;
}

/* Pagination / empty */
body:not(.home-page) .pagination a {
  border-radius: 9px;
  transition: transform .2s var(--ease-out), background .2s ease, border-color .2s ease, color .2s ease;
}
body:not(.home-page) .pagination a:hover {
  transform: translateY(-1px);
}

/* Nav dropdown links — light hover */
body:not(.home-page) .nav-drop-menu a {
  transition: background .2s ease, color .2s ease, padding-left .25s var(--ease-out);
}
body:not(.home-page) .nav-drop-menu a:hover {
  padding-left: 4px;
}

/* Footer form chips */
body:not(.home-page) .footer-forms-links a {
  transition: background .22s ease, color .22s ease, transform .22s var(--ease-out);
}
body:not(.home-page) .footer-forms-links a:hover {
  transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
  body:not(.home-page) .btn,
  body:not(.home-page) .contact-card,
  body:not(.home-page) .pillar-card,
  body:not(.home-page) .cert-card,
  body:not(.home-page) .product-card,
  body:not(.home-page) .shop-card,
  body:not(.home-page) .pl-card,
  body:not(.home-page) .about-value-card,
  body:not(.home-page) .about-mission-card,
  body:not(.home-page) .corp-reason-card,
  body:not(.home-page) .corp-scenario-card,
  body:not(.home-page) .about-oem-flow article,
  body:not(.home-page) .oem-page-flow article {
    transition: none !important;
  }
  body:not(.home-page) .contact-card:hover,
  body:not(.home-page) .pillar-card:hover,
  body:not(.home-page) .cert-card:hover,
  body:not(.home-page) .product-card:hover,
  body:not(.home-page) .shop-card:hover,
  body:not(.home-page) .pl-card:hover,
  body:not(.home-page) .about-value-card:hover,
  body:not(.home-page) .about-mission-card:hover,
  body:not(.home-page) .corp-reason-card:hover,
  body:not(.home-page) .corp-scenario-card:hover,
  body:not(.home-page) .about-oem-flow article:hover,
  body:not(.home-page) .oem-page-flow article:hover {
    transform: none;
  }
}

@media (max-width: 768px) {
  body:not(.home-page) {
    --section-y: 40px;
    font-size: 15px;
  }
  body:not(.home-page) .page-banner { padding: 24px 0 22px; }
  body:not(.home-page) .page-banner h1 { font-size: 1.35rem; }
  body:not(.home-page) .section-head h2 { font-size: 1.28rem; }
  body:not(.home-page) .btn { min-height: 44px; }
  body:not(.home-page) .contact-card:hover,
  body:not(.home-page) .pillar-card:hover,
  body:not(.home-page) .about-mission-card:hover,
  body:not(.home-page) .corp-reason-card:hover,
  body:not(.home-page) .corp-scenario-card:hover {
    transform: none;
  }
}

/* Local SVG icons */
.v-icon{
  display:inline-block;
  width:1.15em;
  height:1.15em;
  flex-shrink:0;
  vertical-align:-.125em;
  overflow:visible;
}
svg.v-icon{
  display:inline-block;
  fill:currentColor;
}
.v-icon-inline{
  width:14px;
  height:14px;
  margin-right:6px;
}
.about-mv-card > .v-icon,
.about-mv-card > .about-mv-ico,
.contact-card > .v-icon,
.pillar-card > .v-icon,
.about-mission-card > .v-icon,
.about-ops-card > .v-icon,
.about-build-card > .v-icon,
.corp-reason-card > .v-icon,
.corp-scenario-card > .v-icon,
.about-oem-flow article > .v-icon,
.oem-page-flow article > .v-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:11px;
  box-sizing:border-box;
  border-radius:12px;
  margin-bottom:12px;
  background:linear-gradient(145deg,#e8f3ff,#dbeafe);
  color:var(--blue-deep);
  box-shadow:inset 0 0 0 1px rgba(21,101,192,.1);
  transition:transform .28s var(--ease-out),background .28s ease,color .28s ease,box-shadow .28s ease;
}
.about-mv-card:hover > .v-icon,
.about-mv-card:hover > .about-mv-ico,
.contact-card:hover > .v-icon,
.pillar-card:hover > .v-icon,
.about-mission-card:hover > .v-icon,
.about-ops-card:hover > .v-icon,
.about-build-card:hover > .v-icon,
.corp-reason-card:hover > .v-icon,
.corp-scenario-card:hover > .v-icon,
.about-oem-flow article:hover > .v-icon,
.oem-page-flow article:hover > .v-icon{
  transform:scale(1.06);
  background:var(--grad);
  color:#fff;
  box-shadow:0 8px 18px rgba(21,101,192,.28);
}
.about-mv-card > .v-icon svg,
.contact-card > .v-icon,
.pillar-card > .v-icon,
.about-mission-card > .v-icon,
.about-ops-card > .v-icon,
.about-build-card > .v-icon,
.corp-reason-card > .v-icon,
.corp-scenario-card > .v-icon,
.about-oem-flow article > .v-icon,
.oem-page-flow article > .v-icon{
  /* path size inside well */
}
.about-scale-links a{
  display:inline-flex;
  align-items:center;
  gap:2px;
}


/* =========================================================
   Sitewide colorful touch — Products / Company / Support /
   Service Centers / Contact (all inner pages)
   ========================================================= */
body:not(.home-page){
  --site-ink:#0d47a1;
  --site-teal:#00897b;
  --site-cyan:#0288d1;
  --site-amber:#f59e0b;
}
body:not(.home-page) .page-banner,
body:not(.home-page) .shop-banner,
body:not(.home-page) .pl-banner,
body:not(.home-page) .drivers-banner,
body:not(.home-page) .sc-finder-banner,
body:not(.home-page) .wc-hero,
body:not(.home-page) .diag-hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid #dceaf8;
  background:
    radial-gradient(ellipse 60% 80% at 92% 10%, rgba(66,165,245,.16), transparent 55%),
    radial-gradient(ellipse 40% 50% at 0% 100%, rgba(0,188,212,.1), transparent 50%),
    linear-gradient(180deg,#f7fbff 0%,#eef5ff 48%,#fff 100%) !important;
  color:var(--text);
}
body:not(.home-page) .page-banner h1,
body:not(.home-page) .shop-banner-copy h1,
body:not(.home-page) .pl-banner h1,
body:not(.home-page) .drivers-banner h1,
body:not(.home-page) .sc-finder-banner h1,
body:not(.home-page) .wc-hero h1,
body:not(.home-page) .diag-hero h1,
body:not(.home-page) .corp-hero h1{
  background:linear-gradient(120deg,#0d47a1 15%,#0288d1 65%,#00897b);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}
body:not(.home-page) .section-soft{
  background:
    radial-gradient(ellipse 50% 60% at 0% 0%, rgba(30,136,229,.08), transparent 55%),
    radial-gradient(ellipse 40% 50% at 100% 100%, rgba(0,188,212,.07), transparent 50%),
    linear-gradient(180deg,#f5faff 0%,#eef7ff 100%) !important;
}
body:not(.home-page) .section{
  position:relative;
}
body:not(.home-page) .section-head h2,
body:not(.home-page) .shop-cat-head h2,
body:not(.home-page) .shop-list-head h2,
body:not(.home-page) .pl-toolbar strong,
body:not(.home-page) .contact-form-box h3,
body:not(.home-page) .drivers-help h2,
body:not(.home-page) .sc-finder-copy h2{
  background:linear-gradient(120deg,#0d47a1 20%,#0288d1 70%,#00897b);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
body:not(.home-page) .label{
  display:inline-flex;
  padding:5px 10px;
  border-radius:999px;
  background:linear-gradient(120deg,#e3f2fd,#e0f7fa);
  border:1px solid #bbdefb;
  color:#1565c0 !important;
}

/* Cards & product tiles */
body:not(.home-page) .product-card,
body:not(.home-page) .shop-card,
body:not(.home-page) .pl-card,
body:not(.home-page) .contact-card,
body:not(.home-page) .contact-form-box,
body:not(.home-page) .contact-forms-list,
body:not(.home-page) .corp-panel,
body:not(.home-page) .corp-reason-card,
body:not(.home-page) .corp-series-card,
body:not(.home-page) .corp-scenario-card,
body:not(.home-page) .corp-life-card,
body:not(.home-page) .corp-port-card,
body:not(.home-page) .cert-card,
body:not(.home-page) .gallery-card,
body:not(.home-page) .blog-card,
body:not(.home-page) .oem-card,
body:not(.home-page) .pillar-card,
body:not(.home-page) .drivers-model-block,
body:not(.home-page) .sc-store-card,
body:not(.home-page) .store-card,
body:not(.home-page) .home-trust-card{
  background:linear-gradient(165deg,#fff 0%,#f7fbff 100%) !important;
  border:1px solid #d6e8fb !important;
  border-radius:16px !important;
  box-shadow:0 10px 28px rgba(21,101,192,.06);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
body:not(.home-page) .product-card:hover,
body:not(.home-page) .shop-card:hover,
body:not(.home-page) .pl-card:hover,
body:not(.home-page) .contact-card:hover,
body:not(.home-page) .corp-reason-card:hover,
body:not(.home-page) .corp-port-card:hover,
body:not(.home-page) .cert-card:hover,
body:not(.home-page) .blog-card:hover,
body:not(.home-page) .gallery-card:hover,
body:not(.home-page) .sc-store-card:hover,
body:not(.home-page) .store-card:hover{
  transform:translateY(-3px);
  border-color:#90caf9 !important;
  box-shadow:0 16px 36px rgba(21,101,192,.14);
}
body:not(.home-page) .product-img,
body:not(.home-page) .shop-card .product-img,
body:not(.home-page) .pl-card .product-img{
  background:linear-gradient(180deg,#eef6ff,#fff 60%) !important;
}

/* Sidebars & toolbars */
body:not(.home-page) .shop-toolbar,
body:not(.home-page) .pl-toolbar,
body:not(.home-page) .shop-cat-head,
body:not(.home-page) .shop-list-head{
  border-color:#d6e8fb !important;
}
body:not(.home-page) .shop-section,
body:not(.home-page) .pl-section{
  background:
    radial-gradient(ellipse 45% 55% at 100% 0%, rgba(245,158,11,.06), transparent 50%),
    linear-gradient(180deg,#f8fbff 0%,#fff 45%) !important;
}

/* Forms / support panels */
body:not(.home-page) .contact-form-box input,
body:not(.home-page) .contact-form-box select,
body:not(.home-page) .contact-form-box textarea,
body:not(.home-page) .wc-form input,
body:not(.home-page) .wc-form select,
body:not(.home-page) .drivers-form input,
body:not(.home-page) .drivers-form select,
body:not(.home-page) .sc-finder input,
body:not(.home-page) .sc-finder select{
  border-color:#d6e8fb !important;
  background:#f8fbff !important;
}
body:not(.home-page) .contact-form-box input:focus,
body:not(.home-page) .contact-form-box select:focus,
body:not(.home-page) .contact-form-box textarea:focus{
  border-color:#1e88e5 !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(30,136,229,.14);
}
body:not(.home-page) .drivers-help,
body:not(.home-page) .drivers-help.on-dark{
  background:
    radial-gradient(ellipse 50% 70% at 90% 20%, rgba(30,136,229,.12), transparent 55%),
    linear-gradient(180deg,#f4f9ff 0%,#eaf3ff 100%) !important;
  color:var(--text) !important;
  border:1px solid #d6e8fb;
  border-radius:18px;
}
body:not(.home-page) .drivers-help h2,
body:not(.home-page) .drivers-help p{color:inherit !important}

/* Contact / corporate / oem surfaces */
body:not(.home-page) .contact-map{
  border:1px solid #d6e8fb !important;
  border-radius:18px !important;
  box-shadow:0 14px 36px rgba(21,101,192,.1);
}
body:not(.home-page) .oem-page .section,
body:not(.home-page).oem-page .section-soft,
body:not(.home-page).corporate-page .section-soft,
body:not(.home-page).page-stores .section-soft,
body:not(.home-page).page-drivers .section-soft{
  background:
    radial-gradient(ellipse 50% 60% at 0% 0%, rgba(30,136,229,.08), transparent 55%),
    linear-gradient(180deg,#f5faff 0%,#eef7ff 100%);
}
body:not(.home-page) .corp-series-tag,
body:not(.home-page) .sp-badge,
body:not(.home-page) .eyebrow{
  background:linear-gradient(120deg,#e3f2fd,#e0f7fa) !important;
  border:1px solid #bbdefb !important;
  color:#1565c0 !important;
}

/* FAQ / empty / misc shells */
body:not(.home-page) .faq-list,
body:not(.home-page) .empty-state,
body:not(.home-page) .shop-empty,
body:not(.home-page) .compare-table-wrap,
body:not(.home-page) .pd-main,
body:not(.home-page) .pd-specs,
body:not(.home-page) .pd-related{
  border:1px solid #d6e8fb;
  border-radius:16px;
  background:linear-gradient(165deg,#fff,#f7fbff);
  box-shadow:0 10px 28px rgba(21,101,192,.05);
}
body:not(.home-page) .btn-primary{
  background:linear-gradient(135deg,#42a5f5,#1565c0) !important;
  border:0 !important;
  box-shadow:0 8px 20px rgba(21,101,192,.25);
  color:#fff;
}
body:not(.home-page) .btn-outline{
  border-color:#bbdefb !important;
  background:#fff !important;
}
body:not(.home-page) .btn-outline:hover{
  background:#e3f2fd !important;
  border-color:#90caf9 !important;
}

/* Sales / ticket / career already light — keep cards consistent when site chrome wraps */
body.sales-page .side-card,
body.sales-page .form-card,
body.ticket-page .side-card,
body.ticket-page .form-card,
body.career-page .perk,
body.career-page .role,
body.career-page .form-card{
  border:1px solid #d6e8fb !important;
  box-shadow:0 14px 36px rgba(21,101,192,.08) !important;
}

/* Full wrap width for cleaned support pages */
body.page-wc .wc-page > .wrap,
body.page-certs .cert-page > .wrap,
body.page-cust-certs .cust-page > .wrap,
body.page-gem .gem-page > .wrap{
  max-width:1240px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.page-wc .wc-page-inner{
  max-width:none !important;
  width:100% !important;
}
