/*
Theme Name: iBalancing Industrial
Theme URI: https://www.ibalancing.com/
Author: iBalancing
Description: Fast, accessible industrial product theme designed for search, GEO and qualified enquiries.
Version: 1.6.28
Requires at least: 6.8
Requires PHP: 8.1
Text Domain: ibalancing
*/

:root {
  --ink: #122032;
  --muted: #56667a;
  --line: #dce4ec;
  --soft: #f3f6f8;
  --white: #fff;
  --brand: #e54220;
  --brand-dark: #b72c12;
  --navy: #0c2138;
  --blue: #134f78;
  --green: #217a56;
  --shadow: 0 18px 50px rgba(7, 31, 52, .10);
  --radius: 18px;
  --content: 1220px;
  --narrow: 820px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--brand); }
button, input, textarea, select { font: inherit; }
h1, h2, h3, h4 { margin: 0 0 .65em; color: var(--navy); font-weight: 760; line-height: 1.12; letter-spacing: -.025em; }
h1 { font-size: clamp(2.6rem, 5.8vw, 5.4rem); }
h2 { font-size: clamp(2rem, 3.5vw, 3.25rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.55rem); }
p { margin: 0 0 1.25em; }
.container { width: min(calc(100% - 40px), var(--content)); margin-inline: auto; }
.narrow { width: min(calc(100% - 40px), var(--narrow)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed; z-index: 99999; top: 12px; left: 12px; width: auto; height: auto; padding: 12px 18px; color: var(--navy); background: var(--white); clip: auto; }
.skip-link { font-weight: 700; }
.eyebrow { margin: 0 0 12px; color: var(--brand); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.lede { max-width: 720px; color: var(--muted); font-size: clamp(1.08rem, 1.5vw, 1.3rem); }
.button, .button-primary, .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 22px;
  border: 1px solid var(--navy);
  border-radius: 7px;
  color: var(--navy);
  background: transparent;
  font-size: .92rem;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.button:hover { color: var(--white); background: var(--navy); transform: translateY(-2px); }
.button-primary, .wp-block-button__link { border-color: var(--brand); color: var(--white); background: var(--brand); }
.button-primary:hover, .wp-block-button__link:hover { border-color: var(--brand-dark); color: var(--white); background: var(--brand-dark); transform: translateY(-2px); }

.site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgba(220, 228, 236, .9); background: rgba(255,255,255,.95); backdrop-filter: blur(14px); }
.utility-bar { color: #d9e4ed; background: var(--navy); font-size: .77rem; }
.utility-inner { display: flex; align-items: center; justify-content: space-between; min-height: 34px; gap: 16px; }
.utility-inner p { margin: 0; }
.utility-inner a { color: var(--white); text-decoration: none; }
.utility-contacts { display: flex; align-items: center; gap: 9px; }
.utility-contacts a:hover { color: #ff9a84; }
.site-language-switcher { position: relative; }
.site-language-switcher > summary { display: flex; align-items: center; justify-content: center; list-style: none; white-space: nowrap; cursor: pointer; gap: 8px; }
.site-language-switcher > summary::-webkit-details-marker { display: none; }
.site-language-chevron { flex: 0 0 auto; transition: transform .18s ease; }
.site-language-switcher[open] .site-language-chevron { transform: rotate(180deg); }
.desktop-language-switcher { margin-left: auto; }
.desktop-language-switcher > summary { min-width: 112px; height: 26px; padding: 0 10px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: var(--white); background: rgba(255,255,255,.06); font-size: .75rem; font-weight: 800; }
.desktop-language-switcher > summary:hover, .desktop-language-switcher > summary:focus-visible, .desktop-language-switcher[open] > summary { border-color: #ff9a84; color: #ff9a84; outline: 0; }
.site-language-menu { position: absolute; z-index: 35; top: calc(100% + 8px); right: 0; display: grid; width: 180px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: var(--shadow); gap: 2px; }
.site-language-menu a, .site-language-menu span { display: flex; align-items: center; min-height: 38px; padding: 7px 11px; border-radius: 7px; color: var(--navy); font-size: .8rem; font-weight: 800; letter-spacing: .02em; text-decoration: none; }
.site-language-menu a:hover, .site-language-menu a:focus-visible { color: var(--brand); background: var(--soft); outline: 0; }
.site-language-menu [aria-current="page"] { color: var(--white); background: var(--brand); }
.site-language-menu .language-external { margin-top: 4px; box-shadow: inset 0 1px var(--line); }
.header-main { display: flex; align-items: center; min-height: 78px; gap: 30px; }
.site-branding { display: flex; align-items: center; flex: 0 0 auto; }
.custom-logo { width: auto; max-height: 44px; }
.brand-wordmark { display: inline-flex; align-items: center; color: var(--navy); font-size: 1.4rem; font-weight: 850; letter-spacing: -.04em; text-decoration: none; gap: 9px; }
.brand-mark { width: 39px; height: 39px; object-fit: contain; }
.brand-wordmark .brand-i { color: var(--brand); }
.primary-nav { margin-left: auto; }
.primary-nav ul { margin: 0; padding: 0; list-style: none; }
.primary-nav > ul { display: flex; align-items: center; gap: 4px; }
.primary-nav li { position: relative; }
.primary-nav a { display: block; padding: 11px 13px; color: var(--navy); font-size: .88rem; font-weight: 700; text-decoration: none; }
.primary-nav .current-menu-item > a, .primary-nav a:hover { color: var(--brand); }
.primary-nav .sub-menu { position: absolute; z-index: 20; top: calc(100% + 8px); left: 0; display: none; width: 250px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); box-shadow: var(--shadow); }
.primary-nav .sub-menu::before { content: ""; position: absolute; top: -10px; right: 0; left: 0; height: 10px; }
.primary-nav .sub-menu a { padding: 9px 11px; border-radius: 5px; font-size: .8rem; line-height: 1.35; }
.primary-nav .sub-menu a:hover { background: var(--soft); }
.primary-nav .sub-menu .sub-menu { top: -11px; left: calc(100% + 8px); }
.primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu { display: block; }
.mobile-language-switcher { display: none; }
.mobile-language-switcher > summary { min-width: 104px; height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--navy); background: var(--white); font-size: .77rem; font-weight: 850; letter-spacing: .02em; }
.mobile-language-switcher > summary:hover, .mobile-language-switcher > summary:focus-visible, .mobile-language-switcher[open] > summary { border-color: var(--brand); color: var(--brand); outline: 0; }
.mobile-language-menu { top: calc(100% + 10px); }
.menu-toggle { display: none; margin-left: auto; width: 46px; height: 42px; padding: 8px; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 6px 0; background: var(--navy); }
.header-cta { white-space: nowrap; }
@media (min-width: 981px) { .primary-nav .menu-item-header-quote { display: none; } }

.hero { position: relative; overflow: hidden; min-height: 680px; color: var(--white); background: var(--navy); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .23; background-image: linear-gradient(115deg, transparent 45%, rgba(255,255,255,.08) 45%), repeating-linear-gradient(0deg, transparent 0 44px, rgba(255,255,255,.04) 45px); }
.hero::after { content: ""; position: absolute; right: -16vw; bottom: -37vw; width: 75vw; height: 75vw; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 90px rgba(255,255,255,.035), 0 0 0 190px rgba(255,255,255,.025); }
.hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: end; min-height: 680px; padding-block: 110px 80px; gap: 70px; }
.hero h1, .hero-heading { max-width: 870px; color: var(--white); font-size: clamp(2.35rem, 5.1vw, 4.8rem); }
.hero .lede { color: #cedbe5; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero .button:not(.button-primary) { border-color: rgba(255,255,255,.55); color: var(--white); }
.hero .button:not(.button-primary):hover { background: var(--white); color: var(--navy); }
.hero-proof { align-self: end; padding: 26px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.07); backdrop-filter: blur(8px); }
.hero-proof strong { display: block; margin-bottom: 6px; color: var(--white); font-size: 1.15rem; }
.hero-proof p { margin: 0; color: #cedbe5; font-size: .91rem; }
.hero-proof ul { margin: 20px 0 0; padding: 0; list-style: none; }
.hero-proof li { padding: 10px 0; border-top: 1px solid rgba(255,255,255,.13); font-size: .87rem; }
.hero-media { display: grid; align-self: center; min-width: 0; gap: 18px; }
.hero-media > picture { display: block; min-width: 0; }
.hero-media > img, .hero-media > picture > img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); background: rgba(255,255,255,.04); object-fit: contain; box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.hero-media .hero-proof { position: static; max-width: none; background: rgba(20,48,73,.9); box-shadow: 0 16px 44px rgba(0,0,0,.2); }
.hero-carousel { min-height: 680px; }
.hero-slides { position: relative; z-index: 1; }
.hero-slide[hidden] { display: none; }
.hero-slide-straightening .hero-media > img, .hero-slide-straightening .hero-media > picture > img { padding: 0; object-fit: cover; background: #f7f9fb; }
.hero-carousel-controls { position: absolute; z-index: 4; right: 0; bottom: 22px; left: 0; display: none; align-items: center; justify-content: center; pointer-events: none; gap: 9px; }
.hero-carousel.is-enhanced .hero-carousel-controls { display: flex; }
.hero-carousel-controls button { display: grid; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(255,255,255,.36); border-radius: 50%; color: var(--white); background: rgba(7,28,46,.72); cursor: pointer; pointer-events: auto; place-items: center; font: inherit; font-size: .76rem; font-weight: 850; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.hero-carousel-controls button:hover, .hero-carousel-controls button:focus-visible { border-color: var(--white); background: var(--brand); transform: translateY(-1px); }
.hero-carousel-dots { display: flex; gap: 7px; }
.hero-carousel-dots button { width: 12px; height: 12px; border-width: 2px; color: transparent; background: transparent; }
.hero-carousel-dots button.is-active { border-color: var(--brand); background: var(--brand); }

.trust-strip { border-bottom: 1px solid var(--line); background: var(--white); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { min-height: 112px; padding: 26px 28px; border-left: 1px solid var(--line); }
.trust-item:last-child { border-right: 1px solid var(--line); }
.trust-item strong { display: block; color: var(--navy); font-size: 1rem; }
.trust-item span { color: var(--muted); font-size: .83rem; }

.section { padding-block: clamp(76px, 9vw, 126px); }
#home-applications { padding-bottom: max(26px, calc(clamp(76px, 9vw, 126px) - 50px)); }
#home-product-families { padding-top: calc(clamp(76px, 9vw, 126px) - 50px); }
.is-product article.product > .section:first-of-type { padding-top: max(0px, calc(clamp(76px, 9vw, 126px) - 100px)); }
.section-soft { background: var(--soft); }
.section-dark { color: #d9e4ed; background: var(--navy); }
.section-dark h2, .section-dark h3 { color: var(--white); }
.section-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 42px; gap: 30px; }
.section-head h2, .section-head p { margin-bottom: 0; }
.section-head .lede { max-width: 600px; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.cards-listing { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cards-listing .card { display: flex; flex-direction: column; }
.card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 8px 24px rgba(7,31,52,.04); transition: transform .25s ease, box-shadow .25s ease; }
.card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.card-media { position: relative; overflow: hidden; aspect-ratio: 1; background: #dce5eb; }
.card-media picture { display: block; width: 100%; height: 100%; }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.product-card .card-media { background: var(--white); }
.product-card .card-media img { padding: 12px; object-fit: contain; }
.card-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(145deg, #edf2f6, #dce5eb); }
.card:hover .card-media img { transform: scale(1.035); }
.card-body { padding: 25px; }
.cards-listing .card-body { display: flex; flex: 1; flex-direction: column; }
.cards-listing .card-link { margin-top: auto; }
.card-body h3 { margin-bottom: 10px; font-size: 1.05rem; font-weight: 800; line-height: 1.35; }
.card-body h3 a { color: inherit; text-decoration: none; }
.card-body p { color: var(--muted); font-size: .93rem; }
.card-link { color: var(--brand); font-size: .86rem; font-weight: 800; text-decoration: none; }
.category-card { min-height: 330px; padding: 34px; color: var(--white); border: 0; border-radius: var(--radius); background: linear-gradient(145deg, #153e5d, #071d32); }
.category-card:nth-child(2n) { background: linear-gradient(145deg, #24536d, #0d293f); }
.category-card h3, .category-card a { color: var(--white); }
.category-card p { color: #c9d6df; }
.category-card .count { display: inline-flex; margin-bottom: 72px; padding: 5px 9px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; font-size: .72rem; }
.category-card .card-link { color: #ffb6a7; }

.answer-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; }
.answer-list { border-top: 1px solid var(--line); }
.answer { padding: 26px 0; border-bottom: 1px solid var(--line); }
.answer h3 { margin-bottom: 8px; font-size: 1.15rem; }
.answer p { margin: 0; color: var(--muted); }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); counter-reset: steps; gap: 18px; }
.process-step { min-height: 220px; padding: 26px; border: 1px solid rgba(255,255,255,.15); counter-increment: steps; }
.process-step::before { content: "0" counter(steps); display: block; margin-bottom: 52px; color: #f47a60; font-size: .8rem; font-weight: 800; letter-spacing: .14em; }
.process-step p { margin: 0; color: #bfcdd8; font-size: .9rem; }

.partner-section { padding-top: clamp(64px, 7vw, 96px); }
.partner-logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.partner-logo { display: grid; min-height: 128px; margin: 0; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); place-items: center; }
.partner-logo img { width: auto; max-width: 100%; height: auto; max-height: 88px; object-fit: contain; }

.page-hero { position: relative; overflow: hidden; padding-block: 70px; color: var(--white); background: var(--navy); }
.page-hero::after { content: ""; position: absolute; right: -13vw; bottom: -27vw; width: 52vw; height: 52vw; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 72px rgba(255,255,255,.02), 0 0 0 148px rgba(255,255,255,.015); pointer-events: none; }
.page-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); align-items: center; gap: clamp(28px, 4vw, 58px); }
.page-hero-copy { min-width: 0; }
.page-hero-visual { display: grid; overflow: visible; width: 100%; height: clamp(310px, 31vw, 440px); margin: 0; padding: 0; border: 0; background: transparent; place-items: center; }
.page-hero-visual .page-hero-image { width: 112%; max-width: none; height: 112%; object-fit: contain; filter: none; }
.page-hero h1 { max-width: 960px; color: var(--white); font-size: clamp(2.4rem, 4.5vw, 4.4rem); }
.page-hero .lede { color: #cbd8e2; }
.breadcrumb { margin-bottom: 30px; color: #75879a; font-size: .78rem; }
.page-hero .breadcrumb { color: #aabac7; }
.breadcrumb a { color: inherit; }
.breadcrumb span { margin-inline: 8px; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 70px; }
.entry-content { min-width: 0; }
.entry-content > * { max-width: var(--narrow); }
.entry-content > .alignwide { max-width: 1100px; }
.entry-content > .alignfull { max-width: none; }
.entry-content h2 { margin-top: 1.65em; }
.is-product .entry-content h2 { font-size: 1.65rem; }
.entry-content h3 { margin-top: 1.45em; }
.entry-content table { display: block; overflow-x: auto; width: 100%; max-width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: 13px 15px; border: 1px solid var(--line); text-align: left; }
.is-product .entry-content .product-section-title { margin: 0 0 24px; font-size: clamp(1.65rem, 3vw, 2.15rem); font-weight: 850; line-height: 1.12; letter-spacing: -.025em; }
.is-product .entry-content .product-specifications { width: 100%; max-width: none; margin: 0 0 46px; }
.is-product .entry-content .product-specifications table { width: 100% !important; max-width: none; height: auto !important; margin: 0; background: var(--white); border-collapse: collapse; }
.is-product .entry-content .product-specifications tr:first-child > *, .is-product .entry-content .product-specifications tr > :first-child { color: var(--navy); background: #f4f7fa; }
.is-product .entry-content .product-specifications tr:first-child > * { font-weight: 850; }
.is-product .entry-content .product-specifications tr > :first-child { font-weight: 800; }
.is-product .entry-content .product-specifications tr > :nth-child(2), .is-product .entry-content .product-specifications tr > :nth-child(2) :is(b, strong), .is-product .entry-content .product-specifications tr > :only-child, .is-product .entry-content .product-specifications tr > :only-child :is(b, strong) { font-weight: 400; }
.is-product .entry-content .product-specifications tr > :only-child { color: inherit; background: var(--white); }
.is-product .entry-content .product-specifications th, .is-product .entry-content .product-specifications td { min-width: 170px; padding: 10px 14px; border-color: #d5deea; line-height: 1.4; vertical-align: top; }
.is-product .entry-content .product-specifications-note { margin: 14px 0 0; color: var(--muted); font-size: .9rem; }
.is-product .entry-content .product-features-title { margin-top: 0; }
.is-product .entry-content .product-features-body, .is-product .entry-content .product-features-body * { font-weight: 400 !important; }
.entry-content blockquote { margin: 30px 0; padding: 4px 0 4px 24px; border-left: 4px solid var(--brand); color: var(--muted); font-size: 1.15rem; }
.entry-content img { margin-block: 24px; border-radius: 10px; }
.entry-content img.aligncenter { margin-inline: auto; }
.entry-content .wp-caption { width: auto !important; max-width: 100% !important; }
.entry-content .wp-caption img { width: 100%; height: auto; margin-block: 0; }
.entry-content iframe, .entry-content video { max-width: 100%; }
.sidebar-card { position: sticky; top: 135px; padding: 26px; border: 1px solid var(--line); border-radius: 12px; }
.sidebar-card h2 { font-size: 1.25rem; }
.sidebar-card ul { margin: 0; padding-left: 20px; }
.product-sidebar-navigation details { border-top: 1px solid var(--line); }
.product-sidebar-navigation details:last-child { border-bottom: 1px solid var(--line); }
.product-sidebar-navigation summary { padding: 14px 2px; color: var(--navy); font-weight: 800; cursor: pointer; }
.product-sidebar-navigation .product-nav-list { max-height: 310px; margin: 0 0 14px; padding: 0 2px 0 12px; overflow-y: auto; list-style: none; }
.product-sidebar-navigation .product-nav-list ul { margin: 7px 0 0; padding-left: 14px; list-style: none; }
.product-sidebar-navigation .product-nav-list li { margin: 0; padding: 5px 0; line-height: 1.35; }
.product-sidebar-navigation .product-nav-list a { color: var(--muted); font-size: .82rem; font-weight: 700; text-decoration: none; }
.product-sidebar-navigation .product-nav-list a:hover, .product-sidebar-navigation .product-nav-list .current-cat > a { color: var(--orange); }

.product-hero { padding-block: 60px 82px; background: linear-gradient(180deg, var(--soft), var(--white)); }
.product-hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.product-visual { display: grid; overflow: hidden; aspect-ratio: 1; border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); place-items: center; }
.product-visual img { width: 100%; height: 100%; object-fit: contain; }
.product-hero h1 { font-size: clamp(2.15rem, 3.9vw, 4rem); }
.product-taxonomies { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.product-taxonomies a { padding: 5px 10px; border-radius: 99px; color: var(--blue); background: #e6f0f6; font-size: .73rem; font-weight: 750; text-decoration: none; }
.product-actions { display: flex; flex-wrap: wrap; margin-top: 28px; gap: 12px; }
.product-facts { margin: 0 0 52px; padding: 32px; border-radius: var(--radius); background: var(--soft); }
.product-facts h2 { font-size: 1.65rem; }
.product-facts dl { margin: 0; }
.product-facts dl > div { display: grid; grid-template-columns: minmax(180px, .45fr) 1fr; padding: 13px 0; border-top: 1px solid var(--line); gap: 22px; }
.product-facts dt { color: var(--muted); font-size: .83rem; font-weight: 700; }
.product-facts dd { margin: 0; color: var(--navy); font-weight: 650; }
.product-gallery { margin-top: 56px; }
.product-gallery h2 { font-size: 1.65rem; }
.product-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.product-gallery-grid figure { margin: 0; overflow: hidden; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.product-gallery-grid img { width: 100%; height: 100%; object-fit: contain; }
.product-video { display: block; width: 100%; max-width: 820px; margin-bottom: 20px; aspect-ratio: 16/9; border: 0; }
.product-video iframe { width: 100%; height: 100%; }

.video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.video-card .card-media { display: block; aspect-ratio: 16 / 9; background: #071827; }
.video-card .card-media img { width: 100%; height: 100%; padding: 0; object-fit: cover; }
.video-card .card-body { display: flex; flex: 1; flex-direction: column; }
.video-card .card-body .card-link { margin-top: auto; }
.video-play-icon { position: absolute; top: 50%; left: 50%; display: grid; width: 58px; height: 58px; border: 1px solid rgba(255,255,255,.62); border-radius: 50%; background: rgba(225,64,36,.93); box-shadow: 0 10px 28px rgba(0,0,0,.28); transform: translate(-50%, -50%); transition: transform .25s ease, background .25s ease; place-items: center; }
.video-play-icon span { width: 0; height: 0; margin-left: 4px; border-top: 9px solid transparent; border-bottom: 9px solid transparent; border-left: 14px solid var(--white); }
.video-card-play:hover .video-play-icon, .video-card-play:focus-visible .video-play-icon { background: var(--orange); transform: translate(-50%, -50%) scale(1.08); }
.video-duration, .video-featured { position: absolute; z-index: 2; padding: 5px 8px; border-radius: 4px; color: var(--white); background: rgba(7,24,39,.88); font-size: .7rem; font-weight: 800; line-height: 1; }
.video-duration { right: 10px; bottom: 10px; }
.video-featured { top: 10px; left: 10px; background: var(--brand); text-transform: uppercase; letter-spacing: .06em; }
.video-category-nav { margin-bottom: 34px; }
.video-dialog { width: min(940px, calc(100vw - 32px)); max-width: none; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); color: var(--white); background: #06121f; box-shadow: 0 30px 90px rgba(0,0,0,.55); }
.video-dialog::backdrop { background: rgba(4,17,29,.82); backdrop-filter: blur(5px); }
.video-dialog-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; gap: 20px; }
.video-dialog-head h2 { margin: 0; color: var(--white); font-size: clamp(1.1rem, 2vw, 1.45rem); }
.video-dialog-head button { display: grid; flex: 0 0 40px; width: 40px; height: 40px; padding: 0; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: var(--white); background: transparent; font-size: 1.65rem; line-height: 1; cursor: pointer; place-items: center; }
.video-dialog-frame { width: 100%; aspect-ratio: 16 / 9; background: #000; }
.video-dialog-frame iframe, .video-dialog-frame video { width: 100%; height: 100%; border: 0; background: #000; object-fit: contain; }
.video-dialog > p { margin: 0; padding: 14px 22px 18px; }
.video-dialog > p a, .video-youtube-link a { color: #ff9a84; font-weight: 800; text-decoration: none; }
.video-watch-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: clamp(32px, 5vw, 68px); }
.video-watch-frame { overflow: hidden; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius); background: #06121f; box-shadow: var(--shadow); }
.video-watch-frame iframe, .video-watch-frame video { width: 100%; height: 100%; border: 0; background: #000; object-fit: contain; }
.video-youtube-link { margin: 16px 0 0; }
.video-detail-meta { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); }
.video-detail-meta h2 { font-size: 1.2rem; }
.video-detail-meta ul { margin: 0 0 24px; padding: 0; list-style: none; }
.video-detail-meta li { padding: 8px 0; border-top: 1px solid var(--line); }
.video-detail-meta a:not(.button) { color: var(--blue); font-weight: 750; text-decoration: none; }
.product-related-videos { border-top: 1px solid var(--line); }

.solutions-hero { position: relative; overflow: hidden; }
.solutions-hero::after { content: ""; position: absolute; right: -15vw; bottom: -33vw; width: 62vw; height: 62vw; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 82px rgba(255,255,255,.025), 0 0 0 172px rgba(255,255,255,.018); pointer-events: none; }
.solutions-hero .container { position: relative; z-index: 1; }
.solutions-hero .button:not(.button-primary) { border-color: rgba(255,255,255,.48); color: var(--white); }
.solutions-hero .button:not(.button-primary):hover { color: var(--navy); background: var(--white); }
.cards-taxonomy { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.taxonomy-card .card-media { background: var(--white); }
.taxonomy-card .card-media img { padding: 16px; object-fit: contain; }
.taxonomy-card .card-body > p:not(.eyebrow) { margin-bottom: 18px; }
.solution-visual { overflow: visible; border-radius: 0; background: transparent; box-shadow: none; }
.solution-visual img { padding: 0; filter: none; transform: scale(1.12); }
.solution-workpieces, .product-applications { max-width: none !important; margin-top: 56px; }
.solution-workpieces h2, .product-applications h2 { font-size: 1.65rem; }
.compact-taxonomy-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compact-taxonomy-cards .card-body { padding: 20px; }
.application-index { position: sticky; z-index: 30; top: 112px; padding-top: 22px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.application-index .archive-tools { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 18px; margin-bottom: 0; scrollbar-width: thin; }
.application-index .archive-tools a { flex: 0 0 auto; white-space: nowrap; }
.section-head .count { color: var(--muted); font-size: .84rem; font-weight: 750; }
.section-head h2 a { color: inherit; text-decoration: none; }
.empty-relation { padding: clamp(28px, 5vw, 56px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.empty-relation h3 { max-width: 720px; }
.empty-relation p { max-width: 760px; color: var(--muted); }

.archive-tools { display: flex; flex-wrap: wrap; margin-bottom: 38px; gap: 8px; }
.archive-tools a { padding: 8px 13px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); font-size: .8rem; font-weight: 700; text-decoration: none; }
.archive-tools a:hover, .archive-tools a.active { border-color: var(--brand); color: var(--brand); }
.product-catalog-section { padding-top: calc(clamp(76px, 9vw, 126px) - 50px); }
.product-search-form { margin-bottom: 38px; }
.product-search-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.product-search-main input[type="search"] { width: 100%; min-width: 0; min-height: 54px; padding: 12px 16px; border: 1px solid #b9c7d3; border-radius: 7px; color: var(--ink); background: var(--white); }
.product-search-main input[type="search"]:focus, .product-search-filters select:focus { border-color: var(--blue); outline: 3px solid rgba(19,79,120,.16); outline-offset: 1px; }
.product-search-main .button { min-width: 162px; }
.product-search-panel, .product-search-results-form { padding: clamp(22px, 3vw, 32px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.product-search-panel { margin-bottom: 38px; }
.product-search-results-form { margin-bottom: 54px; background: var(--white); box-shadow: 0 12px 34px rgba(7,31,52,.07); }
.product-search-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 16px; gap: 12px; }
.product-search-filters label { min-width: 0; color: var(--muted); font-size: .76rem; font-weight: 750; }
.product-search-filters label span { display: block; margin: 0 0 5px 2px; }
.product-search-filters select { width: 100%; min-height: 46px; padding: 9px 36px 9px 12px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: var(--white); }
.product-search-hint { margin: 10px 0 0; color: var(--muted); font-size: .78rem; }
.product-search-home-families { margin-bottom: 48px; padding: clamp(22px, 3vw, 32px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 34px rgba(7,31,52,.07); }
.product-search-sidebar { margin: 0 0 22px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.product-search-sidebar .product-search-main { grid-template-columns: 1fr; }
.product-search-sidebar .product-search-main input[type="search"] { min-height: 46px; padding: 9px 11px; font-size: .8rem; }
.product-search-sidebar .product-search-main .button { min-width: 0; min-height: 44px; padding: 10px 13px; font-size: .8rem; }
.product-search-results-head { align-items: flex-start; margin-top: 50px; }
.product-search-results-head h2 { margin-bottom: 0; font-size: clamp(1.75rem, 3vw, 2.55rem); }
.product-search-reset { max-width: 260px; color: var(--brand); font-size: .84rem; font-weight: 750; text-align: right; }
.product-search-empty { padding: clamp(28px, 6vw, 64px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.product-search-empty h2 { max-width: 760px; }
.product-search-empty > p:not(.eyebrow) { max-width: 760px; color: var(--muted); }
.product-search-empty-actions { display: flex; flex-wrap: wrap; margin-top: 28px; gap: 10px; }
.news-tabs { flex-wrap: nowrap; overflow-x: auto; margin-bottom: 38px; border-bottom: 1px solid var(--line); gap: 4px; scrollbar-width: thin; }
.news-tabs a { flex: 0 0 auto; margin-bottom: -1px; padding: 11px 15px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; white-space: nowrap; }
.news-tabs a:hover, .news-tabs a.active { border-color: var(--brand); color: var(--brand); background: rgba(231, 61, 35, .045); }
.news-listing-layout, .directory-sidebar-layout { display: grid; grid-template-columns: 238px minmax(0, 1fr); align-items: start; gap: clamp(38px, 5vw, 72px); }
.listing-filter-sidebar, .directory-sidebar { position: sticky; top: 136px; min-width: 0; }
.listing-filter-sidebar h2, .directory-sidebar h2 { margin-bottom: 24px; font-size: 1.45rem; }
.listing-filter-sidebar .news-tabs { display: flex; overflow: visible; flex-direction: column; margin: 0; border: 0; gap: 0; }
.listing-filter-sidebar .news-tabs a { display: flex; flex: initial; justify-content: space-between; margin: 0; padding: 13px 14px; border: 0; border-bottom: 1px solid var(--line); border-left: 3px solid transparent; white-space: normal; }
.listing-filter-sidebar .news-tabs a:first-child { border-top: 1px solid var(--line); }
.listing-filter-sidebar .news-tabs a:hover, .listing-filter-sidebar .news-tabs a.active { border-left-color: var(--brand); color: var(--brand); background: #fff6f3; }
.listing-results { min-width: 0; }
.news-listing-layout .cards-news, .directory-workpiece-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workpiece-application-nav { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.workpiece-application-nav a { display: flex; align-items: center; justify-content: space-between; padding: 12px 13px; border-bottom: 1px solid var(--line); border-left: 3px solid transparent; color: var(--muted); font-size: .82rem; font-weight: 750; line-height: 1.35; text-decoration: none; gap: 12px; }
.workpiece-application-nav a:hover, .workpiece-application-nav a.active { border-left-color: var(--brand); color: var(--brand); background: #fff6f3; }
.directory-results-head { align-items: start; }
.directory-results-head h2 { margin-bottom: 12px; }
.directory-results-head .lede { max-width: 720px; margin-top: 12px; font-size: 1rem; }
.pagination { margin-top: 50px; }
.pagination .nav-links { display: flex; gap: 7px; }
.pagination a, .pagination span { min-width: 42px; padding: 8px 11px; border: 1px solid var(--line); text-align: center; text-decoration: none; }
.pagination .current { color: var(--white); border-color: var(--navy); background: var(--navy); }

.enquiry-panel { display: grid; grid-template-columns: .8fr 1.2fr; padding: clamp(30px, 5vw, 60px); border-radius: var(--radius); color: var(--white); background: var(--navy); gap: 55px; }
.enquiry-panel h2 { color: var(--white); }
.enquiry-panel p { color: #c8d6e1; }
.enquiry-panel form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.enquiry-panel form p { margin: 0; }
.enquiry-panel form p:last-of-type { grid-column: 1 / -1; }
.enquiry-panel label { display: block; color: var(--white); font-size: .8rem; font-weight: 700; }
.enquiry-panel input, .enquiry-panel textarea { width: 100%; margin-top: 6px; padding: 12px 13px; border: 1px solid #536779; border-radius: 6px; color: var(--ink); background: var(--white); }
.enquiry-panel textarea { resize: vertical; }
.enquiry-panel button { justify-self: start; }
.form-honeypot { position: absolute; left: -9999px; }
.form-message { grid-column: 1 / -1; padding: 12px; border-radius: 5px; }
.form-success { background: rgba(33,122,86,.3); }
.form-error { background: rgba(229,66,32,.3); }
.enquiry-dialog { width: min(calc(100% - 30px), 520px); max-width: none; padding: 0; border: 0; border-top: 6px solid var(--green); border-radius: 12px; color: var(--ink); background: var(--white); box-shadow: 0 24px 70px rgba(7,31,52,.32); }
.enquiry-dialog-error { border-top-color: var(--brand); }
.enquiry-dialog::backdrop { background: rgba(7,24,39,.68); backdrop-filter: blur(3px); }
.enquiry-dialog-body { padding: clamp(26px, 5vw, 40px); }
.enquiry-dialog .eyebrow { margin-bottom: 8px; color: var(--brand); }
.enquiry-dialog h2 { margin-bottom: 12px; color: var(--navy); font-size: 1.55rem; }
.enquiry-dialog p:not(.eyebrow) { margin: 0; color: var(--muted); }
.enquiry-panel .enquiry-dialog form { display: block; margin-top: 24px; }
.manual-dialog a { color: var(--brand); font-weight: 750; }
.manual-dialog form { display: block; margin-top: 24px; }
.localized-product-enquiry { width: min(calc(100% - 30px), 760px); }
.localized-product-enquiry-body { padding: clamp(24px, 4vw, 38px); }
.localized-product-enquiry-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.localized-product-enquiry-head h2 { margin-bottom: 0; }
.localized-product-enquiry-head form { flex: 0 0 auto; margin: 0; }
.localized-product-enquiry-close { display: grid; width: 42px; height: 42px; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--navy); background: var(--white); font-size: 1.65rem; line-height: 1; cursor: pointer; place-items: center; }
.localized-product-enquiry-close:hover, .localized-product-enquiry-close:focus-visible { border-color: var(--brand); color: var(--brand); outline: 0; }
.localized-product-enquiry .localized-product-enquiry-intro { margin: 14px 0 24px; }
.localized-product-enquiry-status { margin: 0 0 20px !important; padding: 12px 14px; border-left: 3px solid var(--blue); border-radius: 4px; background: #edf4f8; }
.localized-product-enquiry-status[data-status="success"] { border-left-color: var(--green); background: #edf7f1; }
.localized-product-enquiry-status[data-status="error"] { border-left-color: var(--brand); background: #fff0ed; }
.localized-product-enquiry-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.localized-product-enquiry-form p { margin: 0; }
.localized-product-enquiry-form label { display: block; color: var(--navy); font-size: .8rem; font-weight: 750; }
.localized-product-enquiry-form input, .localized-product-enquiry-form textarea { width: 100%; margin-top: 6px; padding: 12px 13px; border: 1px solid #a8b7c4; border-radius: 6px; color: var(--ink); background: var(--white); }
.localized-product-enquiry-form input:focus, .localized-product-enquiry-form textarea:focus { border-color: var(--blue); outline: 2px solid rgba(19,79,120,.16); }
.localized-product-enquiry-details { grid-column: 1 / -1; }
.localized-product-enquiry-form textarea { resize: vertical; }
.localized-product-enquiry-form .button-primary { justify-self: start; }
.localized-product-enquiry-form .button-primary:disabled { opacity: .55; cursor: wait; transform: none; }
.faq-list { margin-block: 60px; }
.faq-list details { padding: 18px 0; border-bottom: 1px solid var(--line); }
.faq-list summary { color: var(--navy); font-weight: 750; cursor: pointer; }
.faq-list details p { margin: 12px 0 0; color: var(--muted); }

.floating-contact { position: fixed; z-index: 90; top: 50%; right: 0; display: flex; flex-direction: column; align-items: flex-end; overflow: visible; transform: translateY(-50%); filter: drop-shadow(0 10px 24px rgba(7,31,52,.18)); }
.floating-contact a { display: flex; align-items: center; justify-content: flex-end; overflow: hidden; width: 50px; min-height: 50px; color: var(--white); border-bottom: 1px solid rgba(255,255,255,.18); background: var(--blue); text-decoration: none; transition: width .2s ease, background .2s ease; }
.floating-contact a:first-child { border-radius: 9px 0 0; }
.floating-contact a:last-child { border-bottom: 0; border-radius: 0 0 0 9px; }
.floating-contact a:hover, .floating-contact a:focus-visible { width: 260px; color: var(--white); background: var(--brand); outline: 0; }
.floating-contact a.floating-contact-whatsapp { background: var(--green); }
.floating-contact a.floating-contact-whatsapp:hover, .floating-contact a.floating-contact-whatsapp:focus-visible { width: 280px; background: #176944; }
.floating-contact-icon { display: grid; flex: 0 0 50px; width: 50px; height: 50px; font-size: .7rem; font-weight: 900; letter-spacing: -.02em; place-items: center; }
.floating-contact-icon svg { width: 23px; height: 23px; fill: currentColor; }
.floating-contact-label { overflow: hidden; padding-left: 16px; font-size: .78rem; font-weight: 750; white-space: nowrap; }

@media (min-width: 981px) {
  .is-product .content-layout { grid-template-columns: minmax(0, 1fr) 300px; }
  .is-product .entry-content > table, .is-product .entry-content .product-specifications table { display: table; width: 100%; max-width: none; table-layout: fixed; }
  .is-product .entry-content > .product-gallery { width: 100%; max-width: none; }
}

.about-hero { position: relative; overflow: hidden; padding-block: clamp(68px, 8vw, 112px); color: var(--white); background: var(--navy); }
.about-hero::after { content: ""; position: absolute; right: -24vw; bottom: -42vw; width: 78vw; height: 78vw; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 90px rgba(255,255,255,.025), 0 0 0 190px rgba(255,255,255,.018); pointer-events: none; }
.about-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr); align-items: center; gap: clamp(42px, 6vw, 84px); }
.about-hero-copy { min-width: 0; }
.about-hero h1 { max-width: 720px; color: var(--white); font-size: clamp(2.65rem, 5vw, 4.9rem); }
.about-hero .lede { max-width: 690px; color: #cbd8e2; }
.about-hero .breadcrumb { color: #aabac7; }
.about-hero .button:not(.button-primary) { border-color: rgba(255,255,255,.5); color: var(--white); }
.about-hero .button:not(.button-primary):hover { color: var(--navy); background: var(--white); }
.about-hero-media { position: relative; overflow: hidden; margin: 0; border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius); background: #173851; box-shadow: 0 30px 80px rgba(0,0,0,.3); }
.about-hero-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.about-hero-media figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 38px 22px 17px; color: var(--white); background: linear-gradient(transparent, rgba(5,20,34,.82)); font-size: .75rem; font-weight: 750; }
.about-proof-strip { border-bottom: 1px solid var(--line); background: var(--white); }
.about-proof-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.about-proof-item { min-height: 128px; padding: 28px; border-left: 1px solid var(--line); }
.about-proof-item:last-child { border-right: 1px solid var(--line); }
.about-proof-item strong { display: block; margin-bottom: 5px; color: var(--navy); font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.2; }
.about-proof-item span { color: var(--muted); font-size: .82rem; }
.about-positioning-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr); align-items: start; gap: clamp(45px, 7vw, 96px); }
.about-positioning-grid h2 { max-width: 760px; font-size: clamp(2rem, 3.6vw, 3.45rem); }
.about-positioning-copy { padding-top: 30px; color: var(--muted); font-size: 1.05rem; }
.about-capability-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(46px, 7vw, 86px); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.about-capability-grid article { min-height: 270px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.about-capability-grid article > span { display: inline-block; margin-bottom: 54px; color: var(--brand); font-size: .76rem; font-weight: 850; letter-spacing: .12em; }
.about-capability-grid h3 { font-size: 1.08rem; }
.about-capability-grid p { margin: 0; color: var(--muted); font-size: .88rem; }
.about-section-head { align-items: start; }
.about-factory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.about-factory-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 10px 32px rgba(7,31,52,.06); }
.about-factory-card figure { overflow: hidden; margin: 0; aspect-ratio: 16 / 10; background: #dce5eb; }
.about-factory-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.about-factory-card:hover img { transform: scale(1.025); }
.about-factory-card > div { padding: clamp(26px, 4vw, 42px); }
.about-factory-card h3 { margin-bottom: 12px; font-size: clamp(1.8rem, 3vw, 2.65rem); }
.about-factory-card p:last-child { margin: 0; color: var(--muted); }
.about-operations-grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); align-items: center; gap: clamp(48px, 7vw, 96px); }
.about-operations-copy > p:not(.eyebrow) { color: var(--muted); }
.about-check-list { margin: 30px 0 0; padding: 0; list-style: none; }
.about-check-list li { position: relative; padding: 14px 0 14px 32px; border-top: 1px solid var(--line); color: var(--navy); font-size: .9rem; font-weight: 750; }
.about-check-list li::before { content: "✓"; position: absolute; left: 2px; color: var(--green); font-weight: 900; }
.about-operations-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.about-operations-gallery figure { position: relative; overflow: hidden; margin: 0; border-radius: 12px; background: var(--soft); }
.about-operations-gallery .about-operations-feature { grid-column: 1 / -1; }
.about-operations-gallery img { width: 100%; height: 100%; min-height: 210px; aspect-ratio: 16 / 10; object-fit: cover; }
.about-operations-gallery figcaption { position: absolute; right: 12px; bottom: 12px; padding: 6px 10px; border-radius: 5px; color: var(--white); background: rgba(7,24,39,.8); font-size: .72rem; font-weight: 750; }
.about-video-grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); align-items: center; gap: clamp(44px, 7vw, 90px); }
.about-video-grid p:not(.eyebrow) { color: #cbd8e2; }
.about-video-link { color: #ff9a84; font-weight: 800; text-decoration: none; }
.about-video-link:hover { color: var(--white); }
.about-video-frame { overflow: hidden; width: 100%; aspect-ratio: 16 / 9; border: 1px solid rgba(255,255,255,.17); border-radius: var(--radius); background: #06121f; box-shadow: 0 28px 70px rgba(0,0,0,.3); }
.about-video-frame iframe { width: 100%; height: 100%; border: 0; }
.about-showroom-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: 14px; }
.about-showroom-grid figure { overflow: hidden; margin: 0; border-radius: 12px; background: var(--soft); }
.about-showroom-grid img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; transition: transform .45s ease; }
.about-showroom-grid figure:hover img { transform: scale(1.025); }
.about-cta { display: flex; align-items: center; justify-content: space-between; padding: clamp(32px, 5vw, 58px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); gap: 42px; }
.about-cta > div { max-width: 760px; }
.about-cta h2 { margin-bottom: 12px; }
.about-cta p:last-child { margin: 0; color: var(--muted); }
.about-cta .button { flex: 0 0 auto; }

.service-hero h1 { font-size: clamp(2.5rem, 4.5vw, 4.45rem); }
.service-hero-media img { aspect-ratio: 4 / 3; object-fit: cover; }
.service-local-nav { position: sticky; z-index: 35; top: 112px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.97); backdrop-filter: blur(12px); }
.service-local-nav .container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.service-local-nav a { padding: 16px 14px; border-right: 1px solid var(--line); border-bottom: 3px solid transparent; color: var(--muted); font-size: .8rem; font-weight: 800; text-align: center; text-decoration: none; }
.service-local-nav a:first-child { border-left: 1px solid var(--line); }
.service-local-nav a:hover, .service-local-nav a.active { border-bottom-color: var(--brand); color: var(--brand); background: #fff7f4; }
.service-capability-grid { margin-top: clamp(42px, 6vw, 74px); }
.service-process-section { position: relative; overflow: hidden; }
.service-process-section::after { content: ""; position: absolute; right: -18vw; bottom: -44vw; width: 72vw; height: 72vw; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 90px rgba(255,255,255,.018); pointer-events: none; }
.service-section-head { position: relative; z-index: 1; max-width: 850px; }
.service-process-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.service-process-grid article { min-height: 300px; padding: 30px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.service-process-grid article > span { display: inline-block; margin-bottom: 62px; color: #ff8b72; font-size: .78rem; font-weight: 850; letter-spacing: .12em; }
.service-process-grid h3 { font-size: 1.12rem; }
.service-process-grid p { margin: 0; color: #bdcbd6; font-size: .88rem; }
.service-feature-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); align-items: center; gap: clamp(44px, 7vw, 92px); }
.service-feature-grid figure { overflow: hidden; margin: 0; border-radius: var(--radius); background: var(--soft); box-shadow: var(--shadow); }
.service-feature-grid img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.service-feature-grid .lede { font-size: 1.04rem; }
.service-enquiry-intro { margin-bottom: 38px; }
.service-enquiry-intro h2 { margin-bottom: 14px; }
.service-enquiry-intro .lede { max-width: 840px; }

.quote-hero .eyebrow { margin-bottom: 10px; color: #ff8b72; }
.quote-brief-grid { display: grid; grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr); align-items: start; gap: clamp(48px, 7vw, 96px); }
.quote-brief-copy h2 { font-size: clamp(2rem, 3.5vw, 3.35rem); }
.quote-brief-copy .lede { color: var(--muted); font-size: 1rem; }
.quote-direct-links { display: grid; margin-top: 34px; border-top: 1px solid var(--line); }
.quote-direct-links a { display: grid; grid-template-columns: 110px 1fr; padding: 15px 2px; border-bottom: 1px solid var(--line); color: var(--navy); text-decoration: none; gap: 18px; }
.quote-direct-links a:hover span { color: var(--brand); }
.quote-direct-links strong { color: var(--brand); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.quote-direct-links span { font-weight: 750; transition: color .2s ease; }
.quote-requirements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.quote-requirements article { min-height: 240px; padding: clamp(24px, 3vw, 36px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.quote-requirements article > span, .quote-process-grid article > span { display: inline-block; margin-bottom: 44px; color: var(--brand); font-size: .78rem; font-weight: 850; letter-spacing: .12em; }
.quote-requirements h3, .quote-process-grid h3 { font-size: 1.15rem; }
.quote-requirements p, .quote-process-grid p { margin: 0; color: var(--muted); font-size: .9rem; }
.quote-section-head { align-items: start; }
.quote-section-head .lede { max-width: 360px; color: var(--muted); }
.quote-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.quote-process-grid article { min-height: 250px; padding: clamp(24px, 3vw, 36px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.quote-form-intro { max-width: 820px; margin-bottom: 36px; }
.quote-form-intro h2 { margin-bottom: 12px; font-size: clamp(2rem, 3.3vw, 3.15rem); }
.quote-form-intro p:last-child { color: var(--muted); }
.quote-form-section .enquiry-panel { box-shadow: var(--shadow); }

.certificates-hero-media { background: #f7f9fb; }
.certificates-hero-media img { aspect-ratio: 8 / 5; padding: clamp(12px, 2vw, 24px); object-fit: contain; background: #f7f9fb; }
.certificates-section-head { align-items: start; }
.certificates-section-head .lede { max-width: 430px; color: var(--muted); font-size: 1rem; }
.certificate-grid { display: grid; gap: 24px; }
.certificate-grid-core { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.certificate-grid-international { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.certificate-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 38px rgba(7,31,52,.07); }
.certificate-image-link { display: block; border-bottom: 1px solid var(--line); background: #edf2f6; }
.certificate-image-link figure { overflow: hidden; margin: 0; }
.certificate-card-core .certificate-image-link figure { aspect-ratio: 4 / 3; }
.certificate-card-record .certificate-image-link figure { aspect-ratio: 4 / 5; }
.certificate-image-link img { width: 100%; height: 100%; padding: 22px; object-fit: contain; transition: transform .35s ease; }
.certificate-image-link:hover img { transform: scale(1.025); }
.certificate-card-body { padding: clamp(24px, 3vw, 34px); }
.certificate-card-body .eyebrow { margin-bottom: 9px; }
.certificate-card-body h3 { margin-bottom: 10px; font-size: clamp(1.15rem, 2vw, 1.5rem); }
.certificate-card-body > p:last-of-type { margin-bottom: 20px; color: var(--muted); font-size: .9rem; }
.certificate-card-body .certificate-meta { margin-bottom: 15px; color: var(--navy); font-size: .78rem; font-weight: 800; }
.certificate-open-link { color: var(--brand); font-size: .82rem; font-weight: 850; text-decoration: none; }
.certificate-open-link:hover { color: var(--brand-dark); }
.certificate-note { margin: 30px 0 0; padding: 18px 22px; border-left: 3px solid var(--brand); color: var(--muted); background: #fff7f4; font-size: .82rem; }
.certificate-note strong { color: var(--navy); }
.certificates-innovation-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr); align-items: center; gap: clamp(48px, 7vw, 96px); }
.certificates-innovation-grid > figure { overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: var(--radius); background: #eef3f6; box-shadow: var(--shadow); }
.certificates-innovation-grid > figure img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.certificates-innovation-grid .lede { color: var(--muted); font-size: 1rem; }
.certificates-innovation-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 30px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.certificates-innovation-stats div { min-height: 116px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.certificates-innovation-stats strong { display: block; margin-bottom: 5px; color: var(--brand); font-size: 1.6rem; }
.certificates-innovation-stats span { display: block; color: var(--muted); font-size: .78rem; }

.sales-network-hero-panel { align-self: stretch; padding: clamp(30px, 5vw, 54px); border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius); background: linear-gradient(145deg, rgba(34,83,118,.76), rgba(7,28,46,.9)); box-shadow: 0 30px 80px rgba(0,0,0,.3); }
.sales-network-hero-panel .eyebrow { color: #ff8b72; }
.sales-network-hero-panel > strong { display: block; margin-top: 18px; color: var(--white); font-size: clamp(4.5rem, 9vw, 7.8rem); line-height: .9; }
.sales-network-hero-panel > span { display: block; margin: 9px 0 34px; color: #d3e0e9; font-size: 1.05rem; font-weight: 750; }
.sales-network-region-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); }
.sales-network-region-list div { min-height: 88px; padding: 16px; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.sales-network-region-list b { display: block; color: #ff8b72; font-size: 1.25rem; }
.sales-network-region-list span { color: #cbd8e2; font-size: .72rem; }
.sales-network-section-head { align-items: start; }
.sales-network-section-head .lede { max-width: 430px; color: var(--muted); font-size: 1rem; }
.network-map-shell { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #eef2f3; box-shadow: var(--shadow); }
.network-map-shell > img { width: 100%; aspect-ratio: 1200 / 473; object-fit: cover; }
.network-map-marker { position: absolute; z-index: 2; display: inline-flex; align-items: center; border-radius: 999px; background: var(--white); box-shadow: 0 8px 24px rgba(7,31,52,.24); transform: translate(-50%, -50%); }
.network-map-marker b { display: grid; flex: 0 0 30px; width: 30px; height: 30px; border: 3px solid var(--white); border-radius: 50%; color: var(--white); background: var(--brand); place-items: center; font-size: .7rem; }
.network-map-marker span { padding: 0 12px 0 6px; color: var(--navy); font-size: .68rem; font-weight: 850; white-space: nowrap; }
.network-map-germany { top: 31%; left: 34%; }
.network-map-austria { top: 43%; left: 37%; }
.network-map-korea { top: 42%; left: 58%; }
.network-map-india { top: 62%; left: 47%; }
.network-map-brazil { top: 70%; left: 80%; }
.sales-location-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 30px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.sales-location-card { display: flex; min-height: 178px; padding: 24px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); gap: 15px; }
.sales-location-card > span { color: var(--brand); font-size: .74rem; font-weight: 850; }
.sales-location-card p { margin: 0 0 6px; color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.sales-location-card h3 { margin: 0 0 14px; font-size: 1.02rem; }
.sales-location-card small { color: var(--muted); font-size: .72rem; }
.network-service-note { margin: 24px 0 0; padding: 18px 22px; border-left: 3px solid var(--brand); color: var(--muted); background: #fff7f4; font-size: .82rem; }
.network-service-note strong { color: var(--navy); }
.sales-network-capability-grid { margin-top: 0; }
.sales-network-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr); align-items: center; gap: clamp(48px, 8vw, 110px); }
.sales-network-contact-grid .lede { color: var(--muted); }
.sales-network-contact-cards { display: grid; gap: 20px; }
.sales-network-contact-card { padding: clamp(28px, 4vw, 44px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.sales-network-contact-card h3 { margin-bottom: 24px; }
.sales-network-contact-card > a, .sales-network-contact-detail { display: grid; grid-template-columns: 90px minmax(0, 1fr); padding: 15px 0; border-top: 1px solid var(--line); color: var(--navy); text-decoration: none; gap: 16px; }
.sales-network-contact-card > a:hover span { color: var(--brand); }
.sales-network-contact-card strong, .sales-network-contact-detail strong { color: var(--brand); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.sales-network-contact-card span, .sales-network-contact-detail span { font-size: .86rem; font-weight: 750; transition: color .2s ease; }
.sales-network-shanghai-card h3 { margin-bottom: 8px; }
.sales-network-company-cn { margin: 0 0 22px; color: var(--muted); font-size: .86rem; }

.contact-hero .hero-actions { margin-top: 30px; }
.contact-hero-media img { aspect-ratio: 16 / 11; }
.contact-proof .about-proof-item strong { font-size: clamp(1.05rem, 2vw, 1.45rem); }
.contact-section-head { align-items: start; }
.contact-section-head .lede { max-width: 450px; color: var(--muted); font-size: 1rem; }
.contact-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.contact-route-card { min-height: 320px; padding: clamp(26px, 3vw, 38px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-route-card > span, .contact-preparation-grid article > span { display: inline-block; margin-bottom: 46px; color: var(--brand); font-size: .76rem; font-weight: 850; letter-spacing: .12em; }
.contact-route-card .eyebrow { margin-bottom: 9px; color: var(--muted); font-size: .68rem; }
.contact-route-card h3 { font-size: 1.25rem; }
.contact-route-card p:not(.eyebrow) { color: var(--muted); font-size: .9rem; }
.contact-route-card > a { color: var(--brand); font-size: .82rem; font-weight: 850; text-decoration: none; }
.contact-route-card > a:hover { color: var(--brand-dark); }
.contact-location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 26px; }
.contact-location-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.contact-location-card > figure { position: relative; overflow: hidden; margin: 0; background: #dce5eb; }
.contact-location-card > figure img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.contact-location-card > figure figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 42px 24px 18px; color: var(--white); background: linear-gradient(transparent, rgba(5,20,34,.88)); font-size: .76rem; font-weight: 800; }
.contact-location-body { padding: clamp(28px, 4vw, 44px); }
.contact-location-body h3 { margin-bottom: 9px; font-size: clamp(1.65rem, 2.8vw, 2.35rem); }
.contact-company-name { margin: 0; color: var(--navy); font-size: .95rem; font-weight: 800; }
.contact-company-name-cn { margin: 4px 0 0; color: var(--muted); font-size: .84rem; }
.contact-location-role { margin: 20px 0 26px; color: var(--muted); font-size: .92rem; }
.contact-detail-list { margin: 0; }
.contact-detail-list > div { display: grid; grid-template-columns: 105px minmax(0, 1fr); padding: 14px 0; border-top: 1px solid var(--line); gap: 16px; }
.contact-detail-list dt { color: var(--brand); font-size: .7rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.contact-detail-list dd { min-width: 0; margin: 0; color: var(--navy); font-size: .85rem; font-weight: 700; overflow-wrap: anywhere; }
.contact-detail-list a { color: inherit; text-decoration: none; }
.contact-detail-list a:hover { color: var(--brand); }
.contact-location-actions { display: flex; flex-wrap: wrap; margin-top: 28px; gap: 10px; }
.contact-location-actions .button { min-height: 46px; padding: 11px 18px; font-size: .84rem; }
.contact-preparation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.contact-preparation-grid article { min-height: 260px; padding: clamp(26px, 3vw, 38px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-preparation-grid h3 { font-size: 1.18rem; }
.contact-preparation-grid p { margin: 0; color: var(--muted); font-size: .9rem; }
.contact-form-intro { max-width: 820px; margin-bottom: 36px; }
.contact-form-intro h2 { margin-bottom: 12px; }
.contact-form-intro p:last-child { color: var(--muted); }
.contact-form-section .enquiry-panel { box-shadow: var(--shadow); }

.post-meta { display: flex; flex-wrap: wrap; margin: -5px 0 26px; color: #8493a2; font-size: .82rem; gap: 8px 18px; }
.comments-area { margin-top: 65px; padding-top: 42px; border-top: 1px solid var(--line); }
.comment-list { padding-left: 22px; }
.comment-list li { margin-bottom: 25px; }
.comment-meta { color: var(--muted); font-size: .82rem; }
.comment-form input, .comment-form textarea { display: block; width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 5px; }
.comment-form .submit { width: auto; border-color: var(--brand); color: var(--white); background: var(--brand); cursor: pointer; }
.no-results { padding: 70px 0; }

.site-footer { color: #bccbd6; background: #071827; }
.footer-main { display: grid; grid-template-columns: 1.25fr .7fr .7fr 1fr; padding-block: 72px; gap: 45px; }
.footer-main h2, .footer-main h3 { color: var(--white); }
.footer-main h2 { font-size: 1.5rem; }
.footer-main h3 { margin-bottom: 18px; font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-main p, .footer-main li { font-size: .86rem; }
.footer-main ul { margin: 0; padding: 0; list-style: none; }
.footer-main li { margin-bottom: 9px; }
.footer-main a { color: #dce7ef; text-decoration: none; }
.footer-main a:hover { color: #ff866d; }
.footer-social-links { display: flex; flex-wrap: wrap; gap: 8px; }
.footer-main .footer-social-links li { margin: 0; }
.footer-social-links a { display: inline-flex; align-items: center; padding: 5px 9px; border: 1px solid rgba(255,255,255,.2); border-radius: 99px; font-size: .73rem; gap: 6px; }
.footer-social-links a:hover { border-color: #ff866d; }
.footer-social-icon { flex: 0 0 15px; width: 15px; height: 15px; fill: currentColor; }
.footer-social-icon-stroke { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-block: 20px; border-top: 1px solid rgba(255,255,255,.1); font-size: .74rem; gap: 20px; }
.footer-privacy-button { padding: 0; border: 0; color: #dce7ef; background: transparent; font-size: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.footer-privacy-button:hover { color: #ff866d; }

.privacy-consent[hidden], .privacy-gpc-note[hidden], [data-consent-placeholder][hidden] { display: none !important; }
.privacy-consent { position: fixed; z-index: 1000; right: 18px; bottom: 18px; left: 18px; }
.privacy-consent-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: min(100%, 1420px); margin-inline: auto; padding: clamp(28px, 4vw, 48px); border: 1px solid rgba(255,255,255,.28); border-radius: 18px; color: #dce7ef; background: var(--blue); box-shadow: 0 26px 80px rgba(4,21,36,.42); gap: 36px; }
.privacy-consent-copy h2 { margin-bottom: 14px; color: var(--white); font-size: clamp(1.55rem, 2.5vw, 2.15rem); }
.privacy-consent-copy p { max-width: 940px; margin-bottom: 22px; font-size: clamp(.92rem, 1.4vw, 1.05rem); }
.privacy-consent-copy a { color: var(--white); font-weight: 750; }
.privacy-consent-actions { display: flex; align-items: end; align-self: end; gap: 14px; }
.privacy-consent-actions button { min-height: 50px; white-space: nowrap; cursor: pointer; }
.privacy-consent-manage { padding: 11px 8px; border: 0; color: #dce3ea; background: transparent; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }
.privacy-consent-manage:hover { color: var(--white); }
.privacy-consent-choice { padding: 12px 24px; border: 1px solid #f2f4f7; border-radius: 8px; color: #11171b; background: #f2f4f7; font-weight: 800; }
.privacy-consent-choice:hover { color: var(--white); background: transparent; }
.has-privacy-banner .floating-contact { opacity: 0; pointer-events: none; }

.privacy-settings { width: min(calc(100% - 32px), 720px); max-height: min(86vh, 820px); padding: 0; overflow-y: auto; border: 1px solid var(--line); border-radius: 18px; color: var(--ink); background: var(--white); box-shadow: 0 30px 100px rgba(0,0,0,.35); }
.privacy-settings::backdrop { background: rgba(5,17,28,.72); backdrop-filter: blur(5px); }
.privacy-settings > p, .privacy-settings-options, .privacy-settings-actions { margin-right: clamp(24px, 5vw, 42px); margin-left: clamp(24px, 5vw, 42px); }
.privacy-settings > p { color: var(--muted); font-size: .92rem; }
.privacy-settings-head { display: flex; align-items: start; justify-content: space-between; padding: clamp(26px, 5vw, 42px) clamp(24px, 5vw, 42px) 12px; gap: 24px; }
.privacy-settings-head h2 { margin-bottom: 0; font-size: clamp(1.7rem, 3.5vw, 2.5rem); }
.privacy-settings-close { flex: 0 0 42px; width: 42px; height: 42px; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--navy); background: var(--white); font-size: 1.6rem; line-height: 1; cursor: pointer; }
.privacy-settings-options { margin-top: 28px; border-top: 1px solid var(--line); }
.privacy-settings-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-height: 94px; padding: 18px 0; border-bottom: 1px solid var(--line); gap: 24px; }
.privacy-settings-option strong, .privacy-settings-option span { display: block; }
.privacy-settings-option strong { color: var(--navy); font-size: 1rem; }
.privacy-settings-option span { color: var(--muted); font-size: .8rem; }
.privacy-settings-option input { width: 24px; height: 24px; accent-color: var(--brand); }
.privacy-always-active { color: var(--green) !important; font-weight: 800; }
.privacy-gpc-note { margin-top: 18px; padding: 14px 16px; border-left: 3px solid var(--green); background: #f0f7f3; }
.privacy-settings-actions { display: flex; justify-content: flex-end; padding: 28px 0 36px; gap: 10px; }
.privacy-settings-actions .button { min-height: 46px; padding: 11px 17px; }
.privacy-embed-placeholder { display: grid; min-height: 100%; padding: 30px; color: #dce7ef; background: #071827; place-items: center; text-align: center; }
.privacy-embed-placeholder p { max-width: 520px; margin-bottom: 14px; }
.privacy-embed-placeholder button { border: 0; color: #ff9a84; background: transparent; font-weight: 800; text-decoration: underline; cursor: pointer; }
.privacy-card-placeholder { display: grid; width: 100%; height: 100%; color: #aebdca; background: linear-gradient(135deg, #071827, #0e2c43); font-size: .8rem; font-weight: 750; letter-spacing: .04em; place-items: center; text-transform: uppercase; }

@media (max-width: 980px) {
  .utility-bar, .header-cta { display: none; }
  .header-main { min-height: 68px; gap: 12px; }
  .mobile-language-switcher { display: block; margin-left: auto; }
  .menu-toggle { display: block; margin-left: 0; }
  .primary-nav { position: absolute; top: 68px; right: 0; left: 0; display: none; margin: 0; padding: 14px 20px 22px; border-bottom: 1px solid var(--line); background: var(--white); }
  .primary-nav.open { display: block; }
  .primary-nav > ul { display: block; }
  .primary-nav a { padding: 12px 0; }
  .primary-nav .sub-menu, .primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu { display: none; }
  .primary-nav > ul > .menu-item-has-children > .sub-menu { position: static; display: block; width: auto; margin: 0; padding: 0 0 4px 16px; border: 0; background: transparent; box-shadow: none; }
  .primary-nav > ul > .menu-item-has-children > .sub-menu > li > a { padding: 8px 0; font-size: .8rem; }
  .primary-nav .menu-item-products > .sub-menu, .primary-nav .menu-item-products > .sub-menu .sub-menu { position: static; display: block; width: auto; margin: 0; padding: 0 0 4px 16px; border: 0; background: transparent; box-shadow: none; }
  .primary-nav .menu-item-products > .sub-menu a { padding: 8px 0; font-size: .8rem; }
  .hero, .hero-inner { min-height: auto; }
  .hero-inner, .product-hero-grid, .answer-grid, .enquiry-panel { grid-template-columns: 1fr; }
  .hero-inner { padding-block: 88px 64px; }
  .hero-proof { max-width: 600px; }
  .hero-media { width: min(100%, 720px); }
  .page-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(240px, .75fr); gap: 34px; }
  .page-hero-visual { height: 320px; }
  .about-hero-grid { grid-template-columns: 1fr; }
  .about-hero-media { width: min(100%, 780px); }
  .about-positioning-grid, .about-operations-grid, .about-video-grid { grid-template-columns: 1fr; }
  .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .video-watch-layout { grid-template-columns: 1fr; }
  .about-positioning-copy { padding-top: 0; }
  .about-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-capability-grid article { min-height: 235px; }
  .about-showroom-grid { grid-template-columns: 1fr 1fr; }
  .about-showroom-grid figure:first-child { grid-column: 1 / -1; }
  .about-cta { align-items: flex-start; flex-direction: column; }
  .news-listing-layout, .directory-sidebar-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 34px; }
  .news-listing-layout .cards-news, .directory-workpiece-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .listing-filter-sidebar, .directory-sidebar { top: 92px; }
  .service-local-nav { top: 68px; }
  .service-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-process-grid article { min-height: 245px; }
  .service-feature-grid { grid-template-columns: 1fr; }
  .quote-brief-grid { grid-template-columns: 1fr; }
  .certificate-grid-international { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .certificates-innovation-grid { grid-template-columns: 1fr; }
  .sales-location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sales-network-contact-grid { grid-template-columns: 1fr; }
  .contact-route-grid, .contact-preparation-grid { grid-template-columns: 1fr; }
  .contact-route-card, .contact-preparation-grid article { min-height: auto; }
  .contact-route-card > span, .contact-preparation-grid article > span { margin-bottom: 28px; }
  .contact-location-grid { grid-template-columns: 1fr; }
  .cards { grid-template-columns: repeat(2, 1fr); }
  .partner-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .content-layout { grid-template-columns: 1fr; }
  .sidebar-card { position: static; }
  .footer-main { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-main > :first-child { grid-column: 1 / -1; }
  .application-index { top: 68px; }
}

@media (max-width: 680px) {
  body { font-size: 16px; }
  .container, .narrow { width: min(calc(100% - 30px), var(--content)); }
  .custom-logo { max-width: 180px; max-height: 38px; }
  .brand-wordmark { font-size: 1.15rem; gap: 7px; }
  .brand-mark { width: 34px; height: 34px; }
  .mobile-language-switcher > summary { min-width: 96px; height: 38px; padding-inline: 10px; }
  .menu-toggle { width: 42px; padding-inline: 6px; }
  .localized-product-enquiry-form { grid-template-columns: 1fr; }
  .localized-product-enquiry-details { grid-column: auto; }
  .hero-inner { padding-block: 70px 50px; gap: 45px; }
  .hero h1, .hero-heading { font-size: clamp(2.25rem, 12vw, 3.6rem); }
  .hero-carousel-controls { bottom: 15px; }
  .hero-media { width: 100%; }
  .hero-media > img { min-height: 0; aspect-ratio: 16/9; }
  .hero-media .hero-proof { margin: 0; }
  .page-hero { padding-block: 48px; }
  .page-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .page-hero-visual { height: clamp(190px, 54vw, 240px); }
  .page-hero-visual .page-hero-image { width: 92%; max-width: 440px; height: clamp(190px, 54vw, 240px); max-height: none; object-fit: contain; object-position: center; }
  .about-hero { padding-block: 54px; }
  .about-hero-grid { gap: 36px; }
  .about-hero h1 { font-size: clamp(2.35rem, 12vw, 3.6rem); }
  .about-proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-proof-item { min-height: 112px; padding: 20px; border-bottom: 1px solid var(--line); }
  .about-proof-item:nth-child(2n) { border-right: 1px solid var(--line); }
  .about-capability-grid, .about-factory-grid, .about-operations-gallery, .about-showroom-grid { grid-template-columns: 1fr; }
  .about-capability-grid article { min-height: auto; }
  .about-capability-grid article > span { margin-bottom: 28px; }
  .about-operations-gallery .about-operations-feature, .about-showroom-grid figure:first-child { grid-column: auto; }
  .about-showroom-grid img { min-height: 240px; }
  .about-cta { padding: 28px 22px; gap: 28px; }
  .about-hero-media img, .service-hero-media img { object-fit: contain; object-position: center; }
  .service-hero h1 { font-size: clamp(2.25rem, 11vw, 3.25rem); }
  .service-local-nav { position: static; }
  .service-local-nav .container { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .service-local-nav a { padding: 13px 8px; border-bottom: 1px solid var(--line); font-size: .72rem; }
  .news-listing-layout, .directory-sidebar-layout { grid-template-columns: 1fr; gap: 46px; }
  .listing-filter-sidebar, .directory-sidebar { position: static; }
  .listing-filter-sidebar .news-tabs, .workpiece-application-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
  .listing-filter-sidebar .news-tabs a, .workpiece-application-nav a { min-height: 52px; padding: 10px; border-top: 0; border-right: 1px solid var(--line); border-left: 0; font-size: .75rem; }
  .listing-filter-sidebar .news-tabs a:hover, .listing-filter-sidebar .news-tabs a.active, .workpiece-application-nav a:hover, .workpiece-application-nav a.active { box-shadow: inset 3px 0 var(--brand); }
  .news-listing-layout .cards-news, .directory-workpiece-cards { grid-template-columns: 1fr; }
  .directory-results-head .count { display: inline-block; margin-top: 16px; }
  .service-process-grid { grid-template-columns: 1fr; }
  .service-process-grid article { min-height: auto; }
  .service-process-grid article > span { margin-bottom: 28px; }
  .quote-requirements, .quote-process-grid { grid-template-columns: 1fr; }
  .quote-requirements article, .quote-process-grid article { min-height: auto; }
  .quote-requirements article > span, .quote-process-grid article > span { margin-bottom: 24px; }
  .quote-direct-links a { grid-template-columns: 90px 1fr; }
  .certificate-grid-core, .certificate-grid-international { grid-template-columns: 1fr; }
  .certificate-card-core .certificate-image-link figure, .certificate-card-record .certificate-image-link figure { aspect-ratio: 4 / 3; }
  .certificates-innovation-stats div { min-height: 104px; padding: 18px; }
  .sales-network-region-list { grid-template-columns: 1fr; }
  .sales-network-region-list div { min-height: 58px; }
  .network-map-marker span { display: none; }
  .sales-location-grid { grid-template-columns: 1fr; }
  .sales-location-card { min-height: auto; }
  .contact-detail-list > div { grid-template-columns: 1fr; gap: 3px; }
  .contact-location-actions .button { width: 100%; }
  .solution-visual img { transform: none; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item { min-height: 100px; padding: 20px; border-bottom: 1px solid var(--line); }
  .section { padding-block: 70px; }
  #home-product-families { padding-top: 20px; }
  .product-catalog-section { padding-top: 20px; }
  .section-head { display: block; }
  .section-head .button { margin-top: 20px; }
  .product-search-main, .product-search-filters { grid-template-columns: 1fr; }
  .product-search-main .button { width: 100%; }
  .product-search-results-form { padding: 20px; }
  .product-search-results-head { margin-top: 40px; }
  .product-search-reset { display: inline-block; margin-top: 18px; text-align: left; }
  .cards, .process-grid { grid-template-columns: 1fr; }
  #home-applications .cards-taxonomy,
  #home-products .cards-products,
  #home-cases .cards-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  #home-applications .card-body,
  #home-products .card-body,
  #home-cases .card-body { padding: 14px; }
  #home-applications .card-body h3,
  #home-products .card-body h3,
  #home-cases .card-body h3 { font-size: .88rem; }
  #home-applications .card-body p,
  #home-products .card-body p,
  #home-cases .card-body p { font-size: .78rem; line-height: 1.5; }
  #home-applications .card-link,
  #home-products .card-link,
  #home-cases .card-link { font-size: .76rem; }
  #home-products .product-card .card-media img,
  #home-applications .taxonomy-card .card-media img { padding: 7px; }
  #home-quick-answers,
  #home-news { display: none; }
  .video-grid { grid-template-columns: 1fr; }
  .video-play-icon { width: 52px; height: 52px; }
  .compact-taxonomy-cards { grid-template-columns: 1fr; }
  .partner-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-logo { min-height: 108px; padding: 14px; }
  .category-card { min-height: 280px; }
  .product-hero { padding-block: 38px 60px; }
  .product-hero-grid { gap: 35px; }
  .product-facts { padding: 22px; }
  .product-facts dl > div { grid-template-columns: 1fr; gap: 2px; }
  .product-gallery-grid { grid-template-columns: 1fr; }
  .enquiry-panel { padding: 28px 22px; gap: 30px; }
  .enquiry-panel form { grid-template-columns: 1fr; }
  .enquiry-panel form p:last-of-type { grid-column: auto; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-main > :first-child { grid-column: 1 / -1; }
  .footer-bottom { display: block; }
  .footer-bottom > * { display: block; margin-bottom: 6px; }
  .privacy-consent { right: 10px; bottom: 10px; left: 10px; }
  .privacy-consent-panel { grid-template-columns: 1fr; max-height: calc(100vh - 20px); padding: 24px; overflow-y: auto; gap: 22px; }
  .privacy-consent-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 10px; }
  .privacy-consent-manage { grid-column: 1 / -1; order: 3; }
  .privacy-consent-choice { width: 100%; padding-inline: 14px; }
  .privacy-settings-actions { display: grid; grid-template-columns: 1fr; }
  .privacy-settings-actions .button { width: 100%; }
  .brand-mark { width: 34px; height: 34px; }
  .floating-contact { top: auto; right: 0; bottom: 18px; transform: none; }
  .floating-contact a, .floating-contact a:hover, .floating-contact a:focus-visible { width: 42px; min-height: 42px; }
  .floating-contact a.floating-contact-whatsapp, .floating-contact a.floating-contact-whatsapp:hover, .floating-contact a.floating-contact-whatsapp:focus-visible { width: 42px; }
  .floating-contact-icon { flex-basis: 42px; width: 42px; height: 42px; }
  .floating-contact-label { display: none; }
}

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