/* MIRO public-site light theme v11
   Loaded after the existing site, commerce and product SEO styles. */
:root {
  color-scheme: light;
  --miro-page: #f4f8fb;
  --miro-surface: #ffffff;
  --miro-surface-soft: #edf7fa;
  --miro-text: #102a43;
  --miro-muted: #334e5c;
  --miro-line: #cfdee6;
  --miro-brand: #007f98;
  --miro-accent: #00a9c6;
  --miro-accent-soft: #dff6fa;
  --miro-shadow: 0 14px 40px rgba(24, 64, 82, .10);
}

/* V15 — modular product discovery and fast ordering */
.commerce-route { background: linear-gradient(135deg,#f3fbff 0%,#fff 65%); border: 1px solid #b9dfeb; }
.quick-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:24px 0; }
.quick-category-grid a { display:flex; flex-direction:column; gap:8px; min-height:108px; padding:20px; color:#092a3b; background:#fff; border:1px solid #b9dbe6; border-radius:14px; text-decoration:none; box-shadow:0 8px 22px rgba(9,42,59,.06); }
.quick-category-grid a:hover { border-color:#00a9d2; transform:translateY(-2px); }
.quick-category-grid b { font-size:1.05rem; }
.quick-category-grid span { color:#007c9d; font-weight:800; }
.commerce-steps,.shop-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0; }
.commerce-steps>div,.shop-progress>div { display:grid; grid-template-columns:42px 1fr; gap:4px 12px; align-items:center; padding:18px; background:#0d2c3e; border-radius:14px; color:#fff; }
.commerce-steps i,.shop-progress i { grid-row:1/3; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:#062536; background:#3ee2ff; font-style:normal; font-weight:900; }
.commerce-steps b,.shop-progress b { color:#fff; font-size:1rem; }
.commerce-steps span,.shop-progress span { color:#d2e9f1; line-height:1.45; }
.product-card-commerce { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:14px 0; padding:11px 13px; background:#ecfaff; border-radius:9px; }
.product-card-commerce strong { color:#082a3c; font-size:1.15rem; }
.product-card-commerce span { color:#087a58; font-weight:800; }
.catalog-product-actions,.product-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.quick-add-form { margin:0; }
.quick-add-form button { min-height:42px; padding:9px 16px; color:#052434; background:#20c9e8; border:0; border-radius:8px; font-weight:900; cursor:pointer; }
.catalog-product-image { display:block; }
.mobile-shop-bar { display:none; }

@media (max-width: 900px) {
  .quick-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .commerce-steps,.shop-progress { grid-template-columns:1fr; }
  body { padding-bottom:72px !important; }
  .mobile-shop-bar { position:fixed; z-index:9998; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(3,1fr); min-height:64px; padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); background:rgba(7,35,50,.98); border-top:1px solid #28cbe8; box-shadow:0 -8px 24px rgba(0,0,0,.18); }
  .mobile-shop-bar a { display:grid; place-items:center; align-content:center; gap:2px; min-height:52px; color:#fff; text-decoration:none; }
  .mobile-shop-bar a:nth-child(2) { background:#15badb; color:#052434; border-radius:10px; }
  .mobile-shop-bar b { font-size:.92rem; }
  .mobile-shop-bar span { font-size:.7rem; opacity:.82; }
  .catalog-product-actions>* { flex:1 1 120px; text-align:center; }
  .quick-add-form button { width:100%; min-height:48px; }
}

@media (max-width: 480px) {
  .quick-category-grid { grid-template-columns:1fr; }
  .quick-category-grid a { min-height:0; }
  .product-card-commerce { align-items:flex-start; flex-direction:column; }
}

/* V15.1 — high-contrast, one-click purchasing steps */
.shop-progress > a {
  display:grid !important;
  grid-template-columns:46px 1fr !important;
  gap:5px 14px !important;
  align-items:center !important;
  min-height:150px !important;
  padding:22px !important;
  color:#ffffff !important;
  background:linear-gradient(135deg,#092b3e 0%,#123c52 100%) !important;
  border:2px solid #24cbe8 !important;
  border-radius:14px !important;
  box-shadow:0 10px 26px rgba(4,34,50,.18) !important;
  text-decoration:none !important;
}
.shop-progress > a:hover,.shop-progress > a:focus-visible {
  background:linear-gradient(135deg,#0b354b 0%,#17536d 100%) !important;
  border-color:#5ee8ff !important;
  transform:translateY(-3px);
}
.shop-progress > a i {
  grid-row:1 / 4 !important;
  display:grid !important;
  place-items:center !important;
  width:42px !important;
  height:42px !important;
  color:#062536 !important;
  background:#43ddf5 !important;
  border-radius:50% !important;
  font-size:1.08rem !important;
  font-style:normal !important;
  font-weight:900 !important;
}
.shop-progress > a b {
  color:#ffffff !important;
  font-size:1.12rem !important;
  font-weight:900 !important;
  line-height:1.25 !important;
}
.shop-progress > a span {
  color:#d9edf4 !important;
  font-size:.96rem !important;
  font-weight:600 !important;
  line-height:1.5 !important;
}
.shop-progress > a em {
  color:#64e9ff !important;
  font-size:.9rem !important;
  font-style:normal !important;
  font-weight:900 !important;
}
@media (max-width:900px) {
  .shop-progress > a { min-height:124px !important; }
}

/* V15.7 — focused B2B ordering page header */
.active-product-filter {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-bottom:22px;
  padding:22px 24px;
  color:#ffffff;
  background:linear-gradient(135deg,#082e43,#0f5871);
  border:2px solid #31d6ee;
  border-radius:14px;
}
.active-product-filter span { color:#6eeaff !important; font-size:.76rem; font-weight:900; letter-spacing:.12em; }
.active-product-filter h2 { margin:5px 0 !important; color:#ffffff !important; font-size:1.55rem !important; }
.active-product-filter p { margin:0 !important; color:#dff5fb !important; font-weight:600; }
.active-product-filter > a { flex:0 0 auto; padding:11px 16px; color:#06293a !important; background:#ffffff; border-radius:9px; font-weight:900; text-decoration:none; }
@media (max-width:700px) {
  .active-product-filter { align-items:stretch; flex-direction:column; padding:18px; }
  .active-product-filter > a { text-align:center; }
}

/* V15.3 — hero Shop Products lands exactly on the homepage order section */
html { scroll-behavior:smooth; }
#products { scroll-margin-top:118px; }
.hero + .home-featured-products--after-hero {
  margin-top:0 !important;
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
}
@media (max-width:900px) {
  #products { scroll-margin-top:82px; }
}

/* V15.5 — force readable copy inside homepage ordering steps */
.commerce-route .commerce-steps > div {
  min-height:126px !important;
  background:linear-gradient(135deg,#082c40 0%,#11465f 100%) !important;
  border:2px solid #2ddaf4 !important;
  box-shadow:0 9px 22px rgba(5,39,55,.16) !important;
}
.commerce-route .commerce-steps > div > b {
  display:block !important;
  color:#ffffff !important;
  opacity:1 !important;
  font-size:1.1rem !important;
  font-weight:900 !important;
  line-height:1.3 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.35) !important;
}
.commerce-route .commerce-steps > div > span {
  display:block !important;
  color:#def5fb !important;
  opacity:1 !important;
  font-size:.96rem !important;
  font-weight:650 !important;
  line-height:1.55 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.3) !important;
}
.commerce-route .commerce-steps > div > i {
  color:#05283a !important;
  background:#43e0f8 !important;
  opacity:1 !important;
}

/* V15.6 — B2B category discovery and persistent quote CTA */
.seo-entry-grid > a { cursor:pointer; }
.seo-entry-grid > a::after {
  content:"View matching products →";
  display:block;
  margin-top:16px;
  color:#62e8ff;
  font-weight:900;
  font-size:.86rem;
}
.floating-b2b-quote {
  position:fixed;
  z-index:9997;
  right:24px;
  bottom:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:190px;
  min-height:66px;
  padding:10px 22px;
  color:#052536 !important;
  background:linear-gradient(135deg,#35dcf4,#3b82f6);
  border:2px solid #ffffff;
  border-radius:16px;
  box-shadow:0 12px 32px rgba(6,66,91,.3);
  text-decoration:none !important;
}
.floating-b2b-quote b { color:#052536 !important; font-size:1.05rem; font-weight:950; }
.floating-b2b-quote span { color:#123f52 !important; font-size:.75rem; font-weight:800; }
.floating-b2b-quote:hover { transform:translateY(-3px); filter:brightness(1.04); }
@media (max-width:900px) {
  .floating-b2b-quote {
    right:12px;
    bottom:78px;
    min-width:158px;
    min-height:58px;
    padding:8px 16px;
    border-radius:13px;
  }
}

html, body { background: var(--miro-page) !important; color: var(--miro-text) !important; }
body { text-rendering: optimizeLegibility; }
body::before, body::after { opacity: .12 !important; }

/* Keep the technology pattern, but turn it into a restrained light watermark. */
.bg-layer { background: var(--miro-page) !important; opacity: 1 !important; }
.bg-base {
  background:
    radial-gradient(circle at 15% 12%, rgba(0,169,198,.13), transparent 34%),
    radial-gradient(circle at 86% 30%, rgba(37,99,235,.08), transparent 36%),
    linear-gradient(180deg, #f8fcfe 0%, #edf5f8 100%) !important;
}
.bg-circuit, .bg-circuit-pulse, .bg-grid, .bg-grid-dots,
.bg-radar, .bg-scan, .bg-particles { opacity: .10 !important; filter: none !important; }

/* Header */
.status-bar { background: #e9f5f8 !important; color: #466675 !important; border-color: var(--miro-line) !important; }
.status-bar b, .status-bar .dot { color: var(--miro-brand) !important; }
.site-header {
  background: rgba(255,255,255,.96) !important;
  border-color: var(--miro-line) !important;
  box-shadow: 0 7px 24px rgba(31,67,83,.08) !important;
  backdrop-filter: blur(14px);
}
.brand-logo, .brand-company { color: #123b4a !important; text-shadow: none !important; }
.brand-sub, .site-nav a { color: #476473 !important; }
.site-nav a:hover, .site-nav a:focus, .site-nav a.active,
.site-nav .cart-nav { color: var(--miro-brand) !important; }
.lang, .global-lang, .nav-toggle {
  background: #f7fbfc !important; color: #173c4a !important; border-color: #b9d4de !important;
}

/* Typography and links */
main, main p, main li, main dd, main span, main label { color: var(--miro-muted); }
main h1, main h2, main h3, main h4, main strong, main b, main dt { color: var(--miro-text) !important; text-shadow: none !important; }
main a:not(.button) { color: var(--miro-brand); }
.eyebrow { color: var(--miro-brand) !important; text-shadow: none !important; }

/* Hero areas */
.hero, .page-hero, .product-detail, .global-supply, .quote, .contact-cs {
  background:
    linear-gradient(120deg, rgba(255,255,255,.98), rgba(229,247,251,.96)) !important;
  color: var(--miro-text) !important;
  border-color: var(--miro-line) !important;
  box-shadow: var(--miro-shadow) !important;
}
.hero::before, .hero::after, .page-hero::before, .page-hero::after,
.product-detail::before, .global-supply::before { opacity: .10 !important; }
.hero h1, .hero .lead, .page-hero h1, .page-hero p,
.product-detail h1, .product-detail .lead, .global-supply h2,
.global-supply p, .quote h2, .quote p, .contact-cs h2, .contact-cs p {
  color: var(--miro-text) !important; text-shadow: none !important;
}
.hero-frame, .hero-rec, .hero-coord, .hero-scan { opacity: .28 !important; }

/* Reusable content surfaces */
.section,
.product-card, .solution-card, .certificate-card, .decision-grid article,
.decision-link-grid article, .download-card, .faq-list details,
.source-panel, .product-purchase-checklist, .purchase-check-grid article,
.product-buyer-links, .product-search-topics, .product-pathway-grid article,
.seo-entry-grid article, .specs > div, .cs-panel, .company-video-frame,
.video-detail-shot, .booking-panel, .empty-cart, .cart-items article,
.cart-summary, .checkout-form, .commerce-alert, .legal-checkout-notice,
.payment-pending {
  background-color: var(--miro-surface) !important;
  color: var(--miro-text) !important;
  border-color: var(--miro-line) !important;
  box-shadow: var(--miro-shadow) !important;
}
.section { box-shadow: none !important; }
.product-card:hover, .solution-card:hover, .decision-link-grid article:hover,
.seo-entry-grid article:hover { border-color: var(--miro-accent) !important; box-shadow: 0 18px 42px rgba(0,127,152,.15) !important; }
.product-card img, .product-visual, .certificate-paper { background: #f5fafc !important; border-color: var(--miro-line) !important; }
.facts, .specs, .catalog-toolbar, .filters, .product-buy-bar {
  background: var(--miro-surface-soft) !important; border-color: var(--miro-line) !important;
}
.facts dt, .facts dd, .specs b, .specs span, .product-buy-bar span,
.product-buy-bar strong, .product-buy-bar small { color: var(--miro-text) !important; }

/* Forms and commerce */
input, select, textarea {
  background: #fff !important; color: var(--miro-text) !important;
  border-color: #b8cdd7 !important; box-shadow: none !important;
}
input::placeholder, textarea::placeholder { color: #78909c !important; }
input:focus, select:focus, textarea:focus {
  border-color: var(--miro-accent) !important;
  box-shadow: 0 0 0 3px rgba(0,169,198,.14) !important;
  outline: none !important;
}
.button {
  background: linear-gradient(135deg, #00a9c6, #347df0) !important;
  color: #061e28 !important; border-color: transparent !important;
  box-shadow: 0 9px 22px rgba(0,127,152,.18) !important;
}
.button:hover, .button:focus { filter: brightness(.97); transform: translateY(-1px); }
.button.ghost {
  background: #fff !important; color: var(--miro-brand) !important;
  border-color: var(--miro-brand) !important; box-shadow: none !important;
}
.filters a { background: #fff !important; color: #365968 !important; border-color: var(--miro-line) !important; }
.filters a.active, .filters a:hover { background: var(--miro-accent-soft) !important; color: #00677c !important; border-color: var(--miro-accent) !important; }
.cart-summary p, .cart-items article, .cart-total, .checkout-form h2 { border-color: var(--miro-line) !important; }
.legal-hold, .commerce-alert { background: #fff7ed !important; color: #8a3f0b !important; border-color: #fdba74 !important; }

/* Map remains readable on the light surface. */
.supply-map-panel { background: #e8f5f8 !important; border-color: #bed9e3 !important; box-shadow: var(--miro-shadow) !important; }
.supply-map .map-grid, .supply-map .map-equator { opacity: .20 !important; }
.supply-map .map-land path { fill: #d5e8ee !important; stroke: #769dad !important; }
.supply-map text { fill: #244b5a !important; text-shadow: none !important; }
.supply-country-list span { background: #fff !important; color: #315969 !important; border-color: var(--miro-line) !important; }

/* Keep only the footer dark for a clear visual ending. */
.site-footer { background: #092b37 !important; color: #d9edf2 !important; border-color: #174a59 !important; }
.site-footer p, .site-footer span, .site-footer a { color: #bcd6de !important; }
.site-footer strong, .site-footer .footer-contact-heading,
.site-footer .footer-company-name { color: #fff !important; }

@media (max-width: 900px) {
  .site-nav { background: #fff !important; border-color: var(--miro-line) !important; box-shadow: var(--miro-shadow) !important; }
  .status-bar { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .bg-circuit-pulse, .bg-radar, .bg-scan, .bg-particles *, .hero-scan { animation: none !important; }
}

/* v12: high-contrast, buyer-friendly typography */
body {
  font-family: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.72 !important;
  letter-spacing: .005em;
  -webkit-font-smoothing: antialiased;
}

main p, main li, main dd, main span, main label,
.product-card p, .decision-grid p, .decision-link-grid p,
.faq-list p, .section-head > p, .lead {
  color: #294654 !important;
  font-size: 1rem;
  font-weight: 500 !important;
  line-height: 1.75 !important;
}

h1, main h1 {
  color: #071f2b !important;
  font-size: clamp(2.25rem, 4.8vw, 4.75rem) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}
h2, main h2 {
  color: #092938 !important;
  font-size: clamp(1.7rem, 2.7vw, 2.65rem) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -.018em !important;
}
h3, main h3 {
  color: #103747 !important;
  font-size: clamp(1.15rem, 1.7vw, 1.42rem) !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
}

.hero .lead, .page-hero > p, .product-detail .lead,
.global-supply-copy .lead, .quote > div > p {
  color: #203f4d !important;
  font-size: clamp(1.06rem, 1.35vw, 1.25rem) !important;
  font-weight: 550 !important;
  line-height: 1.75 !important;
  max-width: 72ch;
}

.eyebrow {
  color: #006b80 !important;
  font-size: .82rem !important;
  font-weight: 850 !important;
  line-height: 1.3 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
}

.site-nav a {
  color: #203f4d !important;
  font-size: .96rem !important;
  font-weight: 700 !important;
}
.brand-company { font-weight: 850 !important; letter-spacing: .015em !important; }
.brand-sub { color: #486773 !important; font-weight: 650 !important; }

.product-card small, .product-card h3, .product-card p,
.product-card a, .facts dt, .facts dd, .specs b, .specs span,
.purchase-check-grid b, .purchase-check-grid span,
.product-pathway-grid b, .product-pathway-grid span {
  opacity: 1 !important;
}
.product-card small {
  color: #006b80 !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
}
.product-card h3 { color: #0a2b39 !important; font-weight: 800 !important; }
.product-card p { color: #365361 !important; }
.product-card a, .decision-link-grid a, .product-buyer-links a,
.download-card b, .faq-list summary {
  color: #006b80 !important;
  font-weight: 800 !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.faq-list summary { font-size: 1.06rem !important; line-height: 1.45 !important; }

label, .checkout-form label, .quote label, .booking-form label {
  color: #173846 !important;
  font-size: .96rem !important;
  font-weight: 750 !important;
}
input, select, textarea {
  color: #0b2a37 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}
.button, button.button {
  font-size: 1rem !important;
  font-weight: 850 !important;
  letter-spacing: .01em !important;
  line-height: 1.25 !important;
}

.cart-summary p, .cart-items span, .checkout-form p,
.legal-checkout-notice, .payment-pending p {
  color: #294654 !important;
  font-weight: 600 !important;
}
.cart-total, .cart-total b, .product-buy-bar strong {
  color: #071f2b !important;
  font-size: 1.18rem !important;
  font-weight: 850 !important;
}

.site-footer { font-size: .96rem !important; }
.site-footer p, .site-footer span, .site-footer a {
  color: #d3e5ea !important;
  font-weight: 550 !important;
}
.site-footer a:hover, .site-footer a:focus { color: #fff !important; }

@media (max-width: 700px) {
  body { font-size: 16px !important; line-height: 1.66 !important; }
  h1, main h1 { font-size: clamp(2rem, 10vw, 3rem) !important; }
  h2, main h2 { font-size: clamp(1.55rem, 7vw, 2.15rem) !important; }
  .hero .lead, .page-hero > p, .product-detail .lead { font-size: 1.03rem !important; }
}

/* v12.1: connectivity selector contrast correction */
.technology-selector {
  background: linear-gradient(135deg, #ffffff 0%, #eef8fb 100%) !important;
  border: 1px solid #c9dfe7 !important;
  border-radius: 22px;
}
.technology-selector .section-head {
  border-bottom: 1px solid #d6e6ec;
  padding-bottom: 24px;
  margin-bottom: 28px;
}
.technology-selector .section-head h2 {
  color: #062737 !important;
  font-weight: 900 !important;
  max-width: 660px;
}
.technology-selector .section-head > p {
  color: #284b5a !important;
  font-size: 1.05rem !important;
  font-weight: 650 !important;
  line-height: 1.65 !important;
  max-width: 430px;
}
.technology-selector .section-head .eyebrow {
  color: #006e84 !important;
  font-weight: 900 !important;
}

.technology-grid > a {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #0a3143 0%, #123f52 100%) !important;
  border: 1px solid #1f6075 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(8, 46, 62, .18) !important;
  padding: 26px !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.technology-grid > a::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(25, 205, 232, .10), transparent 50%);
}
.technology-grid > a:hover,
.technology-grid > a:focus {
  transform: translateY(-4px);
  border-color: #20c9e5 !important;
  box-shadow: 0 18px 38px rgba(0, 105, 132, .25) !important;
}
.technology-grid > a > b {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: fit-content;
  background: #18bdd8 !important;
  color: #052a37 !important;
  border: 1px solid #53d8eb !important;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: .76rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase;
}
.technology-grid > a > strong {
  position: relative;
  z-index: 1;
  display: block;
  color: #ffffff !important;
  font-size: 1.18rem !important;
  font-weight: 850 !important;
  line-height: 1.42 !important;
  margin: 18px 0 10px;
  text-shadow: 0 1px 1px rgba(0,0,0,.18) !important;
}
.technology-grid > a > span {
  position: relative;
  z-index: 1;
  display: block;
  color: #d8edf3 !important;
  font-size: .98rem !important;
  font-weight: 550 !important;
  line-height: 1.7 !important;
  opacity: 1 !important;
}

@media (max-width: 700px) {
  .technology-selector .section-head { padding-bottom: 18px; margin-bottom: 20px; }
  .technology-grid > a { padding: 22px !important; }
  .technology-grid > a > strong { font-size: 1.1rem !important; }
}

/* v12.2: manufacturer category card contrast correction */
.seo-entry-section {
  background: linear-gradient(135deg, #ffffff 0%, #f0f8fb 100%) !important;
  border: 1px solid #c9dfe7 !important;
  border-radius: 22px;
}
.seo-entry-section .section-head {
  border-bottom: 1px solid #d6e6ec;
  padding-bottom: 24px;
  margin-bottom: 28px;
}
.seo-entry-section .section-head h2 {
  color: #062737 !important;
  font-weight: 900 !important;
  max-width: 700px;
}
.seo-entry-section .section-head > p {
  color: #284b5a !important;
  font-size: 1.05rem !important;
  font-weight: 650 !important;
  line-height: 1.65 !important;
  max-width: 520px;
}
.seo-entry-section .section-head .eyebrow {
  color: #006e84 !important;
  font-weight: 900 !important;
}

.seo-entry-section .seo-entry-grid > a {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #0a3143 0%, #123f52 100%) !important;
  border: 1px solid #1f6075 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(8, 46, 62, .18) !important;
  padding: 26px !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.seo-entry-section .seo-entry-grid > a::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(25,205,232,.10), transparent 52%);
}
.seo-entry-section .seo-entry-grid > a:hover,
.seo-entry-section .seo-entry-grid > a:focus {
  transform: translateY(-4px);
  border-color: #20c9e5 !important;
  box-shadow: 0 18px 38px rgba(0,105,132,.25) !important;
}
.seo-entry-section .seo-entry-grid > a > span {
  position: relative;
  z-index: 1;
  display: block;
  color: #55d9ec !important;
  font-size: .80rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .12em !important;
  opacity: 1 !important;
}
.seo-entry-section .seo-entry-grid > a > b {
  position: relative;
  z-index: 1;
  display: block;
  color: #ffffff !important;
  font-size: 1.15rem !important;
  font-weight: 850 !important;
  line-height: 1.4 !important;
  margin: 18px 0 10px;
  opacity: 1 !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.18) !important;
}
.seo-entry-section .seo-entry-grid > a > small {
  position: relative;
  z-index: 1;
  display: block;
  color: #d8edf3 !important;
  font-size: .96rem !important;
  font-weight: 550 !important;
  line-height: 1.68 !important;
  opacity: 1 !important;
}

@media (max-width: 700px) {
  .seo-entry-section .section-head { padding-bottom: 18px; margin-bottom: 20px; }
  .seo-entry-section .seo-entry-grid > a { padding: 22px !important; }
  .seo-entry-section .seo-entry-grid > a > b { font-size: 1.08rem !important; }
}

/* v12.3: manufacturing facts and buyer-need card contrast */
.home-proof {
  background: linear-gradient(145deg, #0a3143 0%, #123f52 100%) !important;
  border: 1px solid #1f6075 !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 34px rgba(8,46,62,.20) !important;
  overflow: hidden;
}
.home-proof > div {
  background: transparent !important;
  border-color: rgba(117,211,229,.38) !important;
  padding: 28px 26px !important;
}
.home-proof > div > b {
  display: block;
  color: #ffffff !important;
  font-size: clamp(2rem, 3vw, 2.75rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em !important;
  opacity: 1 !important;
  text-shadow: 0 2px 4px rgba(0,0,0,.22) !important;
}
.home-proof > div > span {
  display: block;
  color: #d8edf3 !important;
  font-size: .94rem !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  margin-top: 10px;
  opacity: 1 !important;
}

.buyer-needs {
  background: linear-gradient(135deg, #ffffff 0%, #f0f8fb 100%) !important;
  border: 1px solid #c9dfe7 !important;
  border-radius: 22px;
}
.buyer-needs .section-head {
  border-bottom: 1px solid #d6e6ec;
  padding-bottom: 24px;
  margin-bottom: 28px;
}
.buyer-needs .section-head h2 {
  color: #062737 !important;
  font-weight: 900 !important;
}
.buyer-needs .section-head > p {
  color: #284b5a !important;
  font-size: 1.05rem !important;
  font-weight: 650 !important;
  line-height: 1.65 !important;
  max-width: 480px;
}
.buyer-needs .section-head .eyebrow {
  color: #006e84 !important;
  font-weight: 900 !important;
}
.buyer-need-grid > a {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #0a3143 0%, #123f52 100%) !important;
  border: 1px solid #1f6075 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(8,46,62,.18) !important;
  padding: 28px 26px !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.buyer-need-grid > a::after {
  content: "→";
  position: absolute;
  right: 22px;
  bottom: 15px;
  color: #55d9ec;
  font-size: 1.25rem;
  font-weight: 900;
}
.buyer-need-grid > a:hover,
.buyer-need-grid > a:focus {
  transform: translateY(-4px);
  border-color: #20c9e5 !important;
  box-shadow: 0 18px 38px rgba(0,105,132,.25) !important;
}
.buyer-need-grid > a > b {
  position: relative;
  z-index: 1;
  display: block;
  color: #ffffff !important;
  font-size: 1.15rem !important;
  font-weight: 850 !important;
  line-height: 1.4 !important;
  margin-bottom: 12px;
  opacity: 1 !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.18) !important;
}
.buyer-need-grid > a > span {
  position: relative;
  z-index: 1;
  display: block;
  color: #d8edf3 !important;
  font-size: .98rem !important;
  font-weight: 550 !important;
  line-height: 1.7 !important;
  padding-right: 12px;
  opacity: 1 !important;
}

@media (max-width: 700px) {
  .home-proof > div { padding: 22px 20px !important; }
  .home-proof > div > b { font-size: 2rem !important; }
  .buyer-needs .section-head { padding-bottom: 18px; margin-bottom: 20px; }
  .buyer-need-grid > a { padding: 23px 22px 30px !important; }
}

/* v13: site-wide typography and contrast safety net */
.brand-logo, .brand-company {
  background: none !important;
  color: #103747 !important;
  -webkit-text-fill-color: #103747 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
.brand-logo { font-weight: 900 !important; }
.site-nav a, .global-lang, .lang, .cart-nav {
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}

main :where(p, li, dt, dd, label, small, em, summary, figcaption) {
  opacity: 1 !important;
  text-shadow: none !important;
}
main :where(p, li, dd, label, summary) {
  font-weight: 550 !important;
}
main small, main figcaption {
  color: #3c5966 !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}
.section-head h2 { color: #062737 !important; font-weight: 900 !important; }
.section-head > p { color: #294b59 !important; font-weight: 650 !important; opacity: 1 !important; }

/* Hero metrics and floating cards */
.metrics > div, .stage-card {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid #b9d8e2 !important;
  box-shadow: 0 10px 28px rgba(16,55,71,.14) !important;
}
.metrics > div > b, .stage-card > b {
  color: #073247 !important;
  font-weight: 900 !important;
  opacity: 1 !important;
}
.metrics > div > span, .stage-card > span {
  color: #315462 !important;
  font-weight: 650 !important;
  opacity: 1 !important;
}
.hero-tags span {
  background: #eef9fb !important;
  color: #174858 !important;
  border-color: #58cbe0 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* Product family cards */
.family-card {
  background: #ffffff !important;
  border: 1px solid #cadfe7 !important;
  box-shadow: 0 10px 28px rgba(16,55,71,.10) !important;
}
.family-copy > b { color: #0a2b39 !important; font-weight: 850 !important; opacity: 1 !important; }
.family-copy > small { color: #365361 !important; font-weight: 600 !important; opacity: 1 !important; }
.family-copy > em { color: #006e84 !important; font-weight: 800 !important; opacity: 1 !important; }

/* Featured products */
.product-card h3 { color: #092c3b !important; -webkit-text-fill-color: #092c3b !important; }
.product-card p { color: #365361 !important; opacity: 1 !important; }
.product-card-actions a { color: #006e84 !important; font-weight: 850 !important; opacity: 1 !important; }
.pc-live, .pc-tag {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 850 !important;
  opacity: 1 !important;
}

/* Application cards use a light reading surface. */
.application-card {
  background: #ffffff !important;
  border: 1px solid #cadfe7 !important;
  box-shadow: 0 10px 28px rgba(16,55,71,.10) !important;
}
.application-card .app-number { color: #00839a !important; font-weight: 900 !important; opacity: 1 !important; }
.application-card .app-icon { color: #007b91 !important; background: #e5f8fb !important; border-color: #6dd7e7 !important; }
.application-card h3 { color: #092c3b !important; font-weight: 850 !important; }
.application-card p { color: #365361 !important; font-weight: 600 !important; opacity: 1 !important; }

/* All explicitly dark sections must always carry light text. */
main .section.dark {
  background: linear-gradient(145deg, #092f41, #123f52) !important;
  border-color: #1d6075 !important;
  box-shadow: 0 14px 34px rgba(8,46,62,.20) !important;
}
main .section.dark :where(h1, h2, h3, h4, strong) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
main .section.dark :where(p, li, span, small, em, dd, label) {
  color: #d8edf3 !important;
  -webkit-text-fill-color: #d8edf3 !important;
  opacity: 1 !important;
}
main .section.dark .eyebrow { color: #56d9ec !important; -webkit-text-fill-color: #56d9ec !important; }
.feature-grid article {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(105,214,233,.44) !important;
}
.feature-grid article > b { color: #55d9ec !important; font-weight: 900 !important; opacity: 1 !important; }
.feature-grid article h3 { color: #ffffff !important; font-weight: 850 !important; }

/* Quality, certificates, resource and decision cards */
.quality-steps > span, .certificate-card, .download-card,
.decision-grid article, .decision-link-grid article,
.purchase-check-grid article, .product-pathway-grid article,
.seo-entry-grid article {
  background: #ffffff !important;
  border-color: #cadfe7 !important;
}
.quality-steps > span > b, .quality-steps > span > em,
.certificate-card h3, .download-card h2,
.decision-grid h2, .decision-link-grid h2,
.purchase-check-grid b, .product-pathway-grid b {
  color: #092c3b !important;
  font-weight: 850 !important;
  opacity: 1 !important;
}
.certificate-card p, .decision-grid p, .decision-link-grid p,
.purchase-check-grid span, .product-pathway-grid span {
  color: #365361 !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}
.cert-ribbon { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; font-weight: 900 !important; }

/* Product details and specifications */
.product-detail .eyebrow, .product-search-topics .eyebrow,
.product-buyer-links .eyebrow, .product-purchase-checklist .eyebrow {
  color: #006e84 !important;
}
.facts dt, .specs b { color: #092c3b !important; font-weight: 850 !important; }
.facts dd, .specs span { color: #294b59 !important; font-weight: 600 !important; }
.product-search-topics li, .product-buyer-links a {
  color: #174858 !important;
  font-weight: 750 !important;
  opacity: 1 !important;
}

/* Commerce, legal pages and alerts */
.cart-summary h2, .checkout-form h2, .empty-cart h2,
.source-panel h2, .decision-cta h2 { color: #092c3b !important; font-weight: 900 !important; }
.cart-summary p, .checkout-form p, .empty-cart p,
.legal-checkout-notice, .payment-pending p,
.source-panel p, .source-panel li, .decision-cta p {
  color: #294b59 !important;
  opacity: 1 !important;
}
.commerce-alert, .legal-hold, .payment-pending {
  font-weight: 650 !important;
}
.faq-list summary { color: #0b4052 !important; font-weight: 850 !important; }
.faq-list p { color: #365361 !important; font-weight: 600 !important; }

/* Quote/contact surfaces and modal */
.quote label, .booking-panel label { color: #173846 !important; font-weight: 800 !important; }
.quote form p, .booking-lead, .booking-status, .cs-text span, .cs-text a {
  color: #315462 !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}
.booking-panel h2, .cs-intro h2 { color: #092c3b !important; font-weight: 900 !important; }

/* Preserve strong footer contrast. */
.site-footer, .site-footer * { opacity: 1 !important; }
.site-footer a { color: #d3e5ea !important; font-weight: 650 !important; }
.site-footer strong, .site-footer h2, .site-footer h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Visible keyboard focus across the whole storefront. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #00a9c6 !important;
  outline-offset: 3px !important;
}

/* v13.1: high-emphasis company identity in the light header */
header.site-header .brand {
  gap: 16px !important;
  text-decoration: none !important;
}
header.site-header .brand-text {
  position: relative;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding-left: 18px !important;
}
header.site-header .brand-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #00b8d4, #1473e6);
  box-shadow: 0 0 12px rgba(0,184,212,.28);
}
header.site-header .brand .brand-logo {
  background: none !important;
  color: #063247 !important;
  -webkit-text-fill-color: #063247 !important;
  filter: none !important;
  text-shadow: none !important;
  font-weight: 950 !important;
  letter-spacing: .14em !important;
  opacity: 1 !important;
}
header.site-header .brand .brand-company {
  display: block !important;
  background: none !important;
  background-image: none !important;
  color: #062c3d !important;
  -webkit-text-fill-color: #062c3d !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
  font-size: clamp(1.08rem, 1.55vw, 1.48rem) !important;
  font-weight: 950 !important;
  line-height: 1.16 !important;
  letter-spacing: .012em !important;
  opacity: 1 !important;
}
header.site-header .brand .brand-sub {
  display: block !important;
  color: #3b5b69 !important;
  -webkit-text-fill-color: #3b5b69 !important;
  filter: none !important;
  text-shadow: none !important;
  font-size: .72rem !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  letter-spacing: .18em !important;
  margin-top: 7px !important;
  opacity: 1 !important;
}

@media (max-width: 1100px) {
  header.site-header .brand .brand-company { font-size: 1rem !important; }
  header.site-header .brand .brand-sub { font-size: .65rem !important; letter-spacing: .12em !important; }
}
@media (max-width: 700px) {
  header.site-header .brand { gap: 10px !important; }
  header.site-header .brand-text { padding-left: 11px !important; }
  header.site-header .brand .brand-company { font-size: .84rem !important; line-height: 1.15 !important; }
  header.site-header .brand .brand-sub { display: none !important; }
}

/* v13.2: coordinated color for the empty gutters beside the homepage hero */
body {
  background:
    linear-gradient(90deg,
      #dcecf2 0%,
      #e7f3f6 11%,
      #f1f7f9 21%,
      #f1f7f9 79%,
      #e7f3f6 89%,
      #dcecf2 100%) !important;
}
.bg-layer, .bg-base {
  background:
    radial-gradient(circle at 0% 24%, rgba(0,169,198,.16), transparent 28%),
    radial-gradient(circle at 100% 30%, rgba(45,111,219,.13), transparent 30%),
    linear-gradient(90deg,
      #dcecf2 0%,
      #e8f3f6 14%,
      #f3f8fa 25%,
      #f3f8fa 75%,
      #e8f3f6 86%,
      #dcecf2 100%) !important;
}
main > .hero#home {
  border-left: 1px solid rgba(0,145,175,.16) !important;
  border-right: 1px solid rgba(45,111,219,.13) !important;
  box-shadow:
    -24px 0 44px rgba(0,126,154,.06),
    24px 0 44px rgba(45,111,219,.06) !important;
}

@media (max-width: 700px) {
  body, .bg-layer, .bg-base {
    background: linear-gradient(180deg, #edf6f8 0%, #f4f8fa 100%) !important;
  }
}

/* v13.3: product-center purchasing path contrast */
.product-pathways {
  background: linear-gradient(135deg, #ffffff 0%, #eef8fb 100%) !important;
  border: 1px solid #c9dfe7 !important;
  border-radius: 22px !important;
}
.product-pathways .section-head {
  border-bottom: 1px solid #d6e6ec;
  padding-bottom: 24px;
  margin-bottom: 28px;
}
.product-pathways .section-head h2 {
  color: #062737 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
}
.product-pathways .section-head .eyebrow {
  color: #006e84 !important;
  font-weight: 900 !important;
}
.product-pathway-grid > a {
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
  min-height: 150px;
  background: linear-gradient(145deg, #0a3143 0%, #123f52 100%) !important;
  border: 1px solid #1f6075 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(8,46,62,.18) !important;
  padding: 28px 26px 34px !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-pathway-grid > a::after {
  content: "Explore →";
  position: absolute;
  left: 26px;
  bottom: 13px;
  color: #55d9ec;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .04em;
}
.product-pathway-grid > a:hover,
.product-pathway-grid > a:focus {
  transform: translateY(-4px);
  border-color: #20c9e5 !important;
  box-shadow: 0 18px 38px rgba(0,105,132,.25) !important;
}
.product-pathway-grid > a > b,
.product-pathway-grid > a > strong {
  position: relative;
  z-index: 1;
  display: block;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 1.16rem !important;
  font-weight: 900 !important;
  line-height: 1.38 !important;
  margin-bottom: 12px;
  opacity: 1 !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.18) !important;
}
.product-pathway-grid > a > span,
.product-pathway-grid > a > small,
.product-pathway-grid > a > p {
  position: relative;
  z-index: 1;
  display: block;
  color: #d8edf3 !important;
  -webkit-text-fill-color: #d8edf3 !important;
  font-size: .98rem !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  opacity: 1 !important;
}

@media (max-width: 700px) {
  .product-pathways .section-head { padding-bottom: 18px; margin-bottom: 20px; }
  .product-pathway-grid > a { min-height: 142px; padding: 23px 22px 34px !important; }
  .product-pathway-grid > a::after { left: 22px; }
}

/* v13.4: complete mobile usability layer */
@media (max-width: 900px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden !important; }
  body { font-size: 16px !important; -webkit-text-size-adjust: 100%; }
  img, video, iframe, svg { max-width: 100% !important; }

  .site-header {
    position: sticky !important;
    top: 0;
    z-index: 1000;
    min-height: 68px;
    padding: 10px 16px !important;
  }
  .site-header .brand { min-width: 0; max-width: calc(100% - 64px); }
  header.site-header .brand .brand-logo { font-size: 1.2rem !important; letter-spacing: .10em !important; }
  header.site-header .brand .brand-company {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: clamp(.76rem, 2.7vw, .95rem) !important;
  }
  .nav-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 44px;
    padding: 9px 12px !important;
    font-size: .92rem !important;
    font-weight: 800 !important;
  }
  .site-nav {
    max-height: calc(100vh - 72px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .site-nav a, .site-nav button, .site-nav select, .site-nav label {
    min-height: 44px;
    font-size: 1rem !important;
  }

  main { width: 100%; min-width: 0; }
  main > section, main .section, .page-hero, .product-detail,
  .global-supply, .quote, .contact-cs {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding: 30px 22px !important;
    border-radius: 18px !important;
  }
  .section-head, .split, .checkout-layout, .cart-layout,
  .product-detail, .global-supply, .quote, .contact-cs {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .section-head { align-items: start !important; }
  .section-head > p { max-width: none !important; }
  h1, main h1 { font-size: clamp(2rem, 10vw, 3.15rem) !important; line-height: 1.08 !important; }
  h2, main h2 { font-size: clamp(1.55rem, 7.4vw, 2.2rem) !important; line-height: 1.18 !important; }
  h3, main h3 { font-size: 1.16rem !important; }
  main p, main li, main dd, main span, main label { overflow-wrap: anywhere; }

  .hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    min-height: 0 !important;
  }
  .hero-copy, .hero-stage {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
  }
  .hero-copy { order: 1; }
  .hero-stage {
    order: 2;
    display: grid !important;
    place-items: center;
    min-height: 0 !important;
    aspect-ratio: 1 / 1;
    overflow: hidden !important;
  }
  .hero-stage > img {
    position: relative !important;
    inset: auto !important;
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
  .hero .actions, .home-product-actions, .product-detail-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .hero .actions .button, .home-product-actions .button,
  .product-detail-actions .button { width: 100% !important; min-height: 48px; }
  .metrics { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 10px !important; }
  .hero-tags { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }

  .home-proof, .buyer-need-grid, .family-grid, .seo-entry-grid,
  .product-grid, .technology-grid, .applications-grid,
  .feature-grid, .quality-steps, .certificate-grid,
  .decision-grid, .decision-link-grid, .download-grid,
  .purchase-check-grid, .product-pathway-grid,
  .video-detail-gallery, .checkout-grid, .form-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .home-proof > div, .buyer-need-grid > a, .technology-grid > a,
  .seo-entry-grid > a, .product-pathway-grid > a {
    width: 100% !important;
    min-width: 0 !important;
  }
  .family-card { grid-template-columns: minmax(110px, 35%) 1fr !important; }
  .family-media { min-height: 150px; }
  .family-media img, .product-card img, .application-card img,
  .product-visual img, .company-video-frame video {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .product-visual { min-height: 0 !important; padding: 14px !important; }
  .facts, .specs { width: 100%; }
  .specs > div { grid-template-columns: 1fr !important; gap: 6px !important; }
  .product-buy-bar {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 18px 0 !important;
  }
  .product-buy-bar form { display: grid !important; grid-template-columns: 90px 1fr !important; gap: 10px !important; }

  .cart-summary { position: static !important; width: 100% !important; }
  .cart-items article {
    grid-template-columns: 80px 1fr !important;
    gap: 12px !important;
  }
  .cart-items article > form, .cart-items article > strong {
    grid-column: 1 / -1;
  }
  .checkout-form, .cart-summary, .cart-items article { padding: 20px !important; }
  input, select, textarea { width: 100% !important; min-height: 46px; font-size: 16px !important; }
  textarea { min-height: 130px; }
  .button, button, input[type="submit"] { min-height: 44px; }

  table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .supply-map-panel { overflow-x: auto; }
  .supply-map { min-width: 700px; }
  .company-video-frame { aspect-ratio: 16 / 9; padding: 0 !important; }
  .company-video-frame video { width: 100% !important; height: 100% !important; }

  .booking-panel {
    width: calc(100% - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    overflow-y: auto !important;
    padding: 24px 18px !important;
  }
  .booking-fab { right: 14px !important; bottom: 14px !important; }

  .footer-contact-links, .footer-seo-links {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .site-footer { padding: 34px 20px !important; }
}

@media (max-width: 480px) {
  main > section, main .section, .page-hero, .product-detail,
  .global-supply, .quote, .contact-cs {
    width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    padding: 24px 16px !important;
  }
  .metrics { grid-template-columns: 1fr !important; }
  .family-card { grid-template-columns: 1fr !important; }
  .family-media { min-height: 190px; }
  .cart-items article { grid-template-columns: 64px 1fr !important; }
  .product-buy-bar form { grid-template-columns: 76px 1fr !important; }
}

/* MIRO GLOBAL FULL-WIDTH RESPONSIVE V3 */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
}

body {
    width: 100%;
    min-width: 0;
    margin: 0;
    overflow-x: hidden;
}

main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

main > section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 0 !important;
}

img,
video,
picture,
iframe,
svg {
    max-width: 100%;
}

img,
picture,
video {
    height: auto;
}

input,
select,
textarea,
button {
    max-width: 100%;
    font: inherit;
}

h1, h2, h3, h4, p, li, a, span {
    overflow-wrap: break-word;
    word-break: normal;
}

.site-header,
.site-footer,
header,
footer {
    width: 100%;
    max-width: none;
}

@media (max-width: 980px) {
    main > section {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .split,
    .feature-grid,
    .product-grid,
    .applications-grid,
    .technology-grid,
    .buyer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    img {
        object-position: center;
    }
}

@media (max-width: 640px) {
    main > section {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .split,
    .feature-grid,
    .product-grid,
    .applications-grid,
    .technology-grid,
    .buyer-grid {
        grid-template-columns: 1fr !important;
    }

    h1 {
        font-size: clamp(34px, 10vw, 46px) !important;
        line-height: 1.08 !important;
    }

    h2 {
        font-size: clamp(27px, 8vw, 38px) !important;
        line-height: 1.15 !important;
    }

    .button,
    button,
    input[type="submit"] {
        min-height: 48px;
    }

    table {
        display: block;
        width: 100%;
        overflow-x: auto;
    }
}

/* MIRO GLOBAL CONTACT SIDEBAR */
.miro-contact-sidebar {
    position: fixed;
    z-index: 998;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    width: 54px;
    border-radius: 8px;
    overflow: visible;
    box-shadow: 0 14px 34px rgba(4, 45, 75, .22);
}

.miro-side-action {
    width: 54px;
    min-height: 54px;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.22);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: linear-gradient(135deg, #05b9d4, #2878ef);
    cursor: pointer;
    text-decoration: none !important;
    transition: filter .2s ease, transform .2s ease;
}

.miro-side-action:first-of-type {
    border-radius: 8px 8px 0 0;
}

.miro-side-action:last-child {
    border-bottom: 0;
    border-radius: 0 0 8px 8px;
}

.miro-side-action:hover,
.miro-side-action:focus-visible {
    filter: brightness(.9);
    transform: translateX(-3px);
}

.miro-side-action svg {
    width: 23px;
    height: 23px;
    fill: currentColor;
    flex: 0 0 auto;
}

.miro-side-icon {
    font-size: 13px;
    font-weight: 900;
    letter-spacing: -.03em;
}

.miro-side-label {
    position: absolute;
    right: 62px;
    padding: 7px 10px;
    border-radius: 5px;
    background: #07334a;
    color: #fff;
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translateX(7px);
    transition: .2s ease;
    pointer-events: none;
}

.miro-side-action:hover .miro-side-label,
.miro-side-action:focus-visible .miro-side-label {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.miro-contact-panel {
    position: absolute;
    top: 0;
    right: 66px;
    width: min(320px, calc(100vw - 96px));
    padding: 20px;
    border: 1px solid #cce3ec;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(4, 45, 75, .2);
    color: #16394b;
}

.miro-contact-panel strong,
.miro-contact-panel span,
.miro-contact-panel a {
    display: block;
}

.miro-contact-panel strong {
    margin-bottom: 5px;
    font-size: 19px;
    color: #062d42;
}

.miro-contact-panel span {
    margin-bottom: 14px;
    font-size: 13px;
    color: #66808d;
}

.miro-contact-panel a {
    padding: 8px 0;
    color: #007d9c !important;
    font-size: 14px;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.miro-back-top {
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    min-height: 0;
    overflow: hidden;
}

.miro-back-top.is-visible {
    opacity: 1;
    visibility: visible;
    max-height: 54px;
    min-height: 54px;
}

@media (max-width: 720px) {
    .miro-contact-sidebar {
        top: auto;
        right: 10px;
        bottom: 88px;
        width: 46px;
        transform: none;
    }

    .miro-side-action {
        width: 46px;
        min-height: 46px;
    }

    .miro-side-action svg {
        width: 20px;
        height: 20px;
    }

    .miro-back-top.is-visible {
        max-height: 46px;
        min-height: 46px;
    }

    .miro-contact-panel {
        top: auto;
        right: 55px;
        bottom: 0;
        width: min(285px, calc(100vw - 76px));
    }

    .miro-side-label {
        display: none;
    }
}
