/* Bule Electrical Materials — framework-free production stylesheet */
:root {
  --navy: #071d34;
  --navy-2: #0d2c4a;
  --blue: #14689b;
  --sky: #eaf4f8;
  --gold: #d7a62b;
  --gold-2: #f0c85e;
  --ink: #122536;
  --muted: #617383;
  --line: #dbe4e9;
  --paper: #fff;
  --soft: #f5f8fa;
  --max: 1180px;
  --shadow: 0 18px 50px rgba(7, 29, 52, 0.1);
  --radius: 18px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
.container {
  width: min(var(--max), calc(100% - 40px));
  margin-inline: auto;
}
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 9999;
  background: #fff;
  padding: 10px 14px;
  border-radius: 8px;
  transform: translateY(-150%);
}
.skip-link:focus {
  transform: none;
}
.icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}
.mini-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}
.utility {
  background: #06182b;
  color: #bed0de;
  font-size: 12px;
}
.utility-inner {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.utility-inner > div {
  display: flex;
  gap: 22px;
  align-items: center;
}
.utility a,
.utility-inner > div > span {
  display: flex;
  align-items: center;
  gap: 7px;
}
.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(219, 228, 233, 0.88);
}
.header-inner {
  height: 78px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: max-content;
}
.brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.brand span {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.brand b {
  font-size: 20px;
  letter-spacing: 0.02em;
}
.brand small {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  margin-top: 5px;
  color: var(--muted);
}
.nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 4px;
}
.nav a {
  padding: 11px 10px;
  font-weight: 650;
  font-size: 14px;
  color: #324859;
  border-radius: 8px;
}
.nav a:hover,
.nav a[aria-current] {
  color: var(--navy);
  background: #f1f5f7;
}
.header-quote {
  margin-left: 4px;
}
.nav-toggle {
  display: none;
  border: 0;
  background: transparent;
  padding: 8px;
  color: var(--navy);
}
.close-icon {
  display: none;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 47px;
  padding: 0 19px;
  border-radius: 9px;
  font-weight: 750;
  font-size: 14px;
  border: 1px solid transparent;
  transition: 0.2s ease;
  cursor: pointer;
}
.btn:hover {
  transform: translateY(-1px);
}
.btn-primary {
  background: var(--navy);
  color: #fff;
}
.btn-primary:hover {
  background: #0d3155;
}
.btn-gold {
  background: var(--gold-2);
  color: #172330;
}
.btn-gold:hover {
  background: #f6d97f;
}
.btn-outline {
  border-color: #aebcc6;
  background: #fff;
  color: var(--navy);
}
.btn-outline:hover {
  border-color: var(--navy);
}
.btn-outline-light {
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
  background: rgba(255, 255, 255, 0.04);
}
.text-action {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-weight: 750;
  color: var(--blue);
}
.text-action:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.text-action.light {
  color: #fff;
}
.eyebrow {
  display: inline-block;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #1d719e;
  margin-bottom: 16px;
}
.eyebrow.light {
  color: #9bd6f1;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1,
h2,
h3 {
  font-weight: 760;
  letter-spacing: -0.025em;
  line-height: 1.08;
  color: var(--navy);
}
h1 {
  font-size: clamp(40px, 5.7vw, 72px);
}
h2 {
  font-size: clamp(30px, 3.5vw, 47px);
}
h3 {
  font-size: 22px;
}
.lead {
  font-size: 20px;
  color: #334d60;
}
.section {
  padding: 88px 0;
}
.section-tint {
  background: var(--soft);
}
.section-dark {
  background: var(--navy);
  color: #d8e5ee;
}
.section-dark h2,
.section-dark h3,
.light h2,
.light h3 {
  color: #fff;
}
.section-head {
  max-width: 760px;
  margin-bottom: 42px;
}
.section-head h2 {
  margin-bottom: 13px;
}
.section-head p {
  font-size: 17px;
  color: var(--muted);
  max-width: 700px;
}
.section-head.center {
  text-align: center;
  margin-inline: auto;
}
.center-action {
  text-align: center;
  margin-top: 36px;
}
.home-hero {
  background: linear-gradient(135deg, #06172a, #0b2948);
  color: #fff;
  padding: 76px 0 0;
  overflow: hidden;
}
.home-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  gap: 54px;
}
.home-copy {
  padding-bottom: 60px;
}
.home-copy h1 {
  color: #fff;
  margin-bottom: 23px;
}
.home-copy h1 em {
  font-style: normal;
  color: var(--gold-2);
}
.home-copy p {
  font-size: 19px;
  color: #ccdae4;
  max-width: 660px;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.home-visual {
  position: relative;
  margin: 0;
  align-self: stretch;
  min-height: 530px;
}
.home-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 24px 24px 0 0;
}
.home-visual:before {
  content: "";
  position: absolute;
  inset: -18px -18px auto auto;
  width: 130px;
  height: 130px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
}
.home-visual figcaption {
  position: absolute;
  left: 24px;
  bottom: 24px;
  background: rgba(5, 22, 40, 0.9);
  backdrop-filter: blur(8px);
  padding: 16px 18px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  flex-direction: column;
}
.home-visual figcaption b {
  font-size: 15px;
}
.home-visual figcaption span {
  font-size: 12px;
  color: #c2d4df;
  margin-top: 3px;
}
.home-proof {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.home-proof > div {
  padding: 22px 22px 24px;
  border-right: 1px solid rgba(255, 255, 255, 0.13);
  display: flex;
  flex-direction: column;
}
.home-proof > div:first-child {
  padding-left: 0;
}
.home-proof > div:last-child {
  border-right: 0;
}
.home-proof strong {
  font-size: 24px;
  color: #fff;
}
.home-proof span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #9fb4c3;
}
.brand-strip {
  padding: 54px 0;
  border-bottom: 1px solid var(--line);
}
.brand-strip-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 30px;
}
.brand-strip-head h2 {
  font-size: 29px;
  margin: 0;
}
.brand-logos {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}
.brand-logos a {
  height: 100px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.brand-logos img {
  max-height: 55px;
  object-fit: contain;
}
.category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.category-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 24px rgba(7, 29, 52, 0.04);
  transition: 0.2s;
}
.category-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.category-card img {
  width: 100%;
  aspect-ratio: 14/8;
  object-fit: cover;
}
.category-card > div {
  padding: 24px;
}
.category-card span,
.card-no,
.brand-card > span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7b8c98;
}
.category-card h3 {
  margin: 8px 0 10px;
}
.category-card p {
  color: var(--muted);
  font-size: 14px;
  min-height: 68px;
}
.category-card b {
  font-size: 13px;
  color: var(--blue);
}
.split-feature {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 70px;
  align-items: start;
}
.split-feature > div:first-child p {
  font-size: 17px;
  color: var(--muted);
}
.steps {
  display: grid;
  gap: 12px;
}
.steps article {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 20px;
  padding: 23px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.steps article > span,
.solution-grid article > span,
.process-grid article > span,
.type-grid article > span {
  font-weight: 800;
  color: #1d719e;
  font-size: 12px;
  letter-spacing: 0.12em;
}
.steps h3 {
  font-size: 19px;
  margin-bottom: 5px;
}
.steps p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}
.solution-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}
.solution-grid article {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.solution-grid h3 {
  margin: 26px 0 8px;
}
.solution-grid p {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 0;
}
.project-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 55px;
  align-items: center;
}
.project-image img {
  border-radius: 18px;
  width: 100%;
  box-shadow: var(--shadow);
}
.project-grid p {
  color: var(--muted);
  font-size: 17px;
}
.tick-list {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  display: grid;
  gap: 12px;
}
.tick-list li {
  display: flex;
  gap: 11px;
  align-items: flex-start;
}
.check {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #e2f2e8;
  color: #167342;
  font-size: 13px;
  font-weight: 900;
  flex: 0 0 22px;
}
.tick-list.light .check {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.page-hero {
  background: #f4f7f9;
  padding: 64px 0;
  border-bottom: 1px solid var(--line);
}
.page-hero.dark {
  background: var(--navy);
  color: #d4e3ec;
}
.page-hero.dark h1 {
  color: #fff;
}
.page-hero.dark p {
  color: #bad0dd;
}
.page-hero-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 60px;
  align-items: center;
}
.page-hero-copy h1 {
  font-size: clamp(40px, 5vw, 66px);
  margin-bottom: 20px;
}
.page-hero-copy p {
  font-size: 18px;
  color: var(--muted);
  max-width: 700px;
}
.page-hero-media {
  margin: 0;
}
.page-hero-media img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: var(--shadow);
}
.page-hero-media img[src*="brands/"] {
  object-fit: contain;
  background: #fff;
  padding: 42px;
}
.search-row {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 25px;
}
.search-row .section-head {
  margin-bottom: 0;
}
.search-box {
  width: min(360px, 100%);
  height: 52px;
  border: 1px solid #bdcbd5;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  background: #fff;
}
.search-box svg {
  width: 19px;
}
.search-box input {
  border: 0;
  outline: 0;
  width: 100%;
  background: transparent;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 40px;
}
.product-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.product-card a {
  display: block;
  padding: 26px;
  height: 100%;
}
.product-card h2 {
  font-size: 23px;
  margin: 16px 0 9px;
}
.product-card p {
  color: var(--muted);
  font-size: 14px;
  min-height: 68px;
}
.product-card b {
  font-size: 13px;
  color: var(--blue);
}
.empty {
  padding: 30px;
  text-align: center;
  background: #f7f9fa;
  border-radius: 12px;
}
.group-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.group-grid article {
  background: #fff;
  padding: 27px;
  border-radius: 14px;
  border: 1px solid var(--line);
}
.group-grid article > span {
  color: #1d719e;
  font-size: 12px;
  font-weight: 800;
}
.group-grid h3 {
  margin: 18px 0 8px;
  font-size: 21px;
}
.group-grid p {
  font-size: 14px;
  color: var(--muted);
}
.group-grid small {
  color: #728492;
  font-weight: 700;
}
.category-intro {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 70px;
  align-items: start;
}
.enquiry-panel {
  background: #f2f6f8;
  border: 1px solid var(--line);
  padding: 28px;
  border-radius: 14px;
}
.enquiry-panel > span {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 800;
  color: #1d719e;
}
.enquiry-panel h3 {
  margin: 10px 0;
}
.enquiry-panel p {
  color: var(--muted);
  font-size: 14px;
}
.type-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.type-grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 26px;
}
.type-grid h3 {
  font-size: 20px;
  margin: 18px 0 8px;
}
.type-grid p {
  font-size: 14px;
  color: var(--muted);
  margin: 0;
}
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.two-col p {
  color: var(--muted);
}
.faq-wrap {
  max-width: 900px;
}
.faq-list {
  display: grid;
  gap: 10px;
}
.faq-list details {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0 20px;
}
.faq-list summary {
  cursor: pointer;
  font-weight: 750;
  padding: 18px 0;
  color: var(--navy);
}
.faq-list p {
  color: var(--muted);
  padding: 0 0 18px;
  margin: 0;
}
.related {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 50px;
  align-items: start;
}
.related > div:last-child {
  display: grid;
  gap: 10px;
}
.related > div:last-child a {
  display: flex;
  justify-content: space-between;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-weight: 750;
}
.brand-directory {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 17px;
}
.brand-card {
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 24px;
  background: #fff;
}
.brand-logo-box {
  height: 110px;
  display: grid;
  place-items: center;
  border-bottom: 1px solid var(--line);
  margin-bottom: 17px;
  padding: 10px;
}
.brand-logo-box img {
  max-height: 70px;
  object-fit: contain;
}
.brand-card h2 {
  font-size: 22px;
  margin: 11px 0 7px;
}
.brand-card p {
  color: var(--muted);
  font-size: 14px;
  min-height: 48px;
}
.family-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.family-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.family-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.family-card > div {
  padding: 20px;
}
.family-card span {
  font-size: 18px;
  font-weight: 800;
  color: var(--navy);
}
.family-card p {
  font-size: 14px;
  color: var(--muted);
  min-height: 67px;
}
.family-card b {
  font-size: 13px;
  color: var(--blue);
}
.range-list {
  border-top: 1px solid var(--line);
}
.range-list article {
  display: grid;
  grid-template-columns: 58px 1fr 190px;
  gap: 20px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.range-list article > span {
  font-size: 12px;
  color: #82929e;
  font-weight: 800;
}
.range-list h3 {
  font-size: 19px;
  margin-bottom: 4px;
}
.range-list p {
  font-size: 14px;
  color: var(--muted);
  margin: 0;
}
.project-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.project-card-grid article {
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
}
.project-card-grid img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}
.project-card-grid div {
  padding: 23px;
}
.project-card-grid h2 {
  font-size: 23px;
  margin-bottom: 9px;
}
.project-card-grid p {
  font-size: 14px;
  color: var(--muted);
}
.process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.process-grid article {
  padding: 25px;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.process-grid h3 {
  margin: 22px 0 8px;
}
.process-grid p {
  font-size: 14px;
  color: var(--muted);
}
.guide-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.guide-grid article {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 28px;
}
.guide-grid article > span {
  font-size: 12px;
  color: #78909f;
  font-weight: 800;
}
.guide-grid h2 {
  font-size: 24px;
  margin: 17px 0 9px;
}
.guide-grid p {
  color: var(--muted);
  font-size: 14px;
}
.article-hero {
  background: var(--navy);
  color: #d1e1eb;
  padding: 70px 0;
}
.article-hero-inner {
  max-width: 900px;
}
.article-hero h1 {
  color: #fff;
  font-size: clamp(40px, 5vw, 64px);
  margin-bottom: 18px;
}
.article-hero p {
  font-size: 18px;
  max-width: 720px;
}
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
  color: #9bb3c3;
  margin-bottom: 30px;
}
.breadcrumbs b {
  color: #fff;
}
.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 70px;
}
.article-section {
  padding-bottom: 34px;
  margin-bottom: 34px;
  border-bottom: 1px solid var(--line);
}
.article-section h2 {
  font-size: 30px;
}
.article-section p,
.article-section li {
  color: #506777;
}
.article-section li {
  margin-bottom: 8px;
}
.article-side {
  position: sticky;
  top: 112px;
  border: 1px solid var(--line);
  padding: 26px;
  border-radius: 14px;
  background: #fff;
  height: max-content;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
.article-side h2 {
  font-size: 24px;
  margin: 0;
}
.article-side p {
  color: var(--muted);
  font-size: 14px;
}
.article-note {
  padding: 22px;
  background: #f6f8fa;
  border-left: 4px solid var(--gold);
  border-radius: 8px;
}
.article-note p {
  margin: 5px 0 0;
  color: var(--muted);
}
.about-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 70px;
}
.about-grid p:not(.lead) {
  color: var(--muted);
}
.about-panel {
  padding: 30px;
  border-radius: 14px;
  background: #f4f7f9;
  border: 1px solid var(--line);
}
.about-panel > span {
  font-weight: 800;
  color: var(--navy);
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.stats > div {
  padding: 18px 28px;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
  display: flex;
  flex-direction: column;
}
.stats > div:last-child {
  border: 0;
}
.stats strong {
  font-size: 38px;
  color: #fff;
}
.stats span {
  color: #a9c0cf;
  font-size: 13px;
}
.contact-quick {
  border-bottom: 1px solid var(--line);
}
.contact-quick > .container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.contact-quick a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 23px 28px;
  border-right: 1px solid var(--line);
}
.contact-quick a:first-child {
  border-left: 1px solid var(--line);
}
.contact-quick svg {
  color: #1d719e;
}
.contact-quick span {
  display: flex;
  flex-direction: column;
}
.contact-quick small {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 10px;
  color: #7d8e99;
}
.contact-quick b {
  font-size: 14px;
}
.contact-layout,
.quote-layout {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: 65px;
}
.contact-info > p {
  color: var(--muted);
}
.contact-line {
  display: flex;
  gap: 14px;
  padding: 17px 0;
  border-top: 1px solid var(--line);
}
.contact-line > svg {
  color: #1d719e;
  margin-top: 3px;
}
.contact-line > div {
  display: flex;
  flex-direction: column;
}
.contact-line small {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 10px;
  color: #82929d;
  margin-bottom: 5px;
}
.contact-line a,
.contact-line span {
  font-size: 14px;
  margin: 2px 0;
}
.form-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 34px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(7, 29, 52, 0.06);
}
.form-card h2 {
  font-size: 30px;
}
.web-form {
  display: grid;
  gap: 16px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.web-form label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 700;
  color: #324b5e;
}
.web-form input,
.web-form select,
.web-form textarea {
  width: 100%;
  border: 1px solid #bfcdd6;
  border-radius: 9px;
  padding: 12px 13px;
  background: #fff;
  color: var(--ink);
  outline: none;
}
.web-form input:focus,
.web-form select:focus,
.web-form textarea:focus {
  border-color: #287aaa;
  box-shadow: 0 0 0 3px rgba(40, 122, 170, 0.12);
}
.web-form textarea {
  resize: vertical;
}
.web-form > small {
  font-size: 11px;
  color: #788b99;
}
.hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.form-status {
  font-size: 13px;
  min-height: 20px;
}
.form-status.success {
  color: #126a3c;
}
.form-status.error {
  color: #a22c2c;
}
.form-note {
  padding: 14px 16px;
  background: #f5f8fa;
  border-radius: 9px;
  font-size: 13px;
  color: #526979;
}
.location-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  max-width: 900px;
  margin: auto;
}
.location-grid article {
  background: #fff;
  border: 1px solid var(--line);
  padding: 27px;
  border-radius: 14px;
  display: flex;
  gap: 18px;
}
.location-grid svg {
  color: #1d719e;
}
.location-grid span {
  font-size: 11px;
  color: #7a8b96;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.location-grid h3 {
  margin: 6px 0;
}
.location-grid p {
  color: var(--muted);
  font-size: 14px;
}
.process-strip {
  background: #0c2b48;
  color: #d8e5ec;
}
.process-strip > .container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.process-strip article {
  display: flex;
  gap: 16px;
  padding: 23px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.process-strip article:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}
.process-strip article > span {
  color: var(--gold-2);
  font-weight: 800;
}
.process-strip b {
  color: #fff;
}
.process-strip p {
  font-size: 12px;
  margin: 3px 0 0;
  color: #abc0cd;
}
.quote-layout > aside p {
  color: var(--muted);
}
.form-help {
  margin-top: 30px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.form-help a {
  font-size: 14px;
  color: var(--blue);
}
.legal {
  max-width: 850px;
}
.legal h2 {
  font-size: 28px;
  margin-top: 38px;
}
.legal p {
  color: #506676;
}
.notfound {
  padding: 120px 0;
}
.notfound .container {
  max-width: 760px;
  text-align: center;
}
.notfound span {
  font-size: 14px;
  color: #718593;
  letter-spacing: 0.2em;
}
.notfound h1 {
  margin: 14px 0;
}
.notfound p {
  font-size: 18px;
  color: var(--muted);
}
.notfound .hero-actions {
  justify-content: center;
}
.cta-band {
  background: #0a2946;
  color: #d6e4ed;
}
.cta-band-inner {
  padding: 58px 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  align-items: center;
}
.cta-band h2 {
  color: #fff;
  font-size: 36px;
  margin-bottom: 10px;
}
.cta-band p {
  margin: 0;
  color: #aec4d2;
}
.cta-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.footer {
  background: #06182b;
  color: #a9becb;
}
.footer-grid {
  padding: 66px 0;
  display: grid;
  grid-template-columns: 1.4fr 0.8fr 1.1fr 0.9fr;
  gap: 45px;
}
.footer .brand b,
.footer h2 {
  color: #fff;
}
.footer h2 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
}
.footer-brand p {
  max-width: 300px;
  font-size: 14px;
}
.footer-brand strong {
  font-size: 13px;
  color: #d4e2ea;
}
.footer-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-col a {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 13px;
}
.footer-col p {
  font-size: 13px;
  margin: 0;
}
.footer-col small {
  display: block;
  color: #7794a5;
}
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  color: #7d98a8;
}
.footer-bottom div {
  display: flex;
  gap: 18px;
}
.mobile-bar {
  display: none;
}
@media (max-width: 1000px) {
  .header-inner {
    gap: 16px;
  }
  .nav a {
    padding: 10px 7px;
    font-size: 13px;
  }
  .header-quote {
    display: none;
  }
  .home-hero-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  .brand-logos {
    grid-template-columns: repeat(3, 1fr);
  }
  .category-grid,
  .product-grid,
  .brand-directory {
    grid-template-columns: repeat(2, 1fr);
  }
  .solution-grid,
  .group-grid,
  .type-grid,
  .process-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .family-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-grid {
    grid-template-columns: 1.3fr 1fr 1fr;
  }
  .footer-grid > div:last-child {
    display: none;
  }
}
@media (max-width: 780px) {
  body {
    padding-bottom: 58px;
  }
  .utility {
    display: none;
  }
  .header-inner {
    height: 68px;
  }
  .brand img {
    width: 43px;
    height: 43px;
  }
  .brand b {
    font-size: 18px;
  }
  .nav-toggle {
    display: block;
    margin-left: auto;
  }
  .nav {
    display: none;
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom: 1px solid var(--line);
    padding: 12px 20px 20px;
    box-shadow: 0 20px 40px rgba(7, 29, 52, 0.12);
    flex-direction: column;
    align-items: stretch;
  }
  .nav.open {
    display: flex;
  }
  .nav a {
    padding: 12px;
  }
  .nav-toggle[aria-expanded="true"] .open-icon {
    display: none;
  }
  .nav-toggle[aria-expanded="true"] .close-icon {
    display: block;
  }
  .container {
    width: min(var(--max), calc(100% - 28px));
  }
  .section {
    padding: 64px 0;
  }
  h1 {
    font-size: 42px;
  }
  h2 {
    font-size: 32px;
  }
  .home-hero {
    padding-top: 48px;
  }
  .home-hero-grid,
  .page-hero-grid,
  .split-feature,
  .project-grid,
  .category-intro,
  .two-col,
  .related,
  .about-grid,
  .contact-layout,
  .quote-layout,
  .article-layout {
    grid-template-columns: 1fr;
  }
  .home-copy {
    padding-bottom: 0;
  }
  .home-visual {
    min-height: 0;
  }
  .home-visual img {
    aspect-ratio: 4/3;
    border-radius: 18px 18px 0 0;
  }
  .home-proof {
    grid-template-columns: repeat(2, 1fr);
  }
  .home-proof > div {
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  }
  .home-proof > div:first-child {
    padding-left: 22px;
  }
  .brand-strip-head,
  .search-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .category-grid,
  .product-grid,
  .brand-directory,
  .project-card-grid,
  .guide-grid {
    grid-template-columns: 1fr 1fr;
  }
  .solution-grid,
  .group-grid,
  .type-grid,
  .process-grid {
    grid-template-columns: 1fr 1fr;
  }
  .family-grid {
    grid-template-columns: 1fr 1fr;
  }
  .range-list article {
    grid-template-columns: 45px 1fr;
  }
  .range-list article .text-action {
    grid-column: 2;
  }
  .article-side {
    position: static;
  }
  .stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .stats > div {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }
  .contact-quick > .container,
  .process-strip > .container {
    grid-template-columns: 1fr;
  }
  .contact-quick a,
  .contact-quick a:first-child,
  .process-strip article,
  .process-strip article:first-child {
    border-left: 1px solid var(--line);
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .process-strip article,
  .process-strip article:first-child {
    border-color: rgba(255, 255, 255, 0.12);
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .location-grid {
    grid-template-columns: 1fr;
  }
  .cta-band-inner {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer-brand {
    grid-column: 1/-1;
  }
  .footer-bottom {
    padding: 20px 0;
    flex-direction: column;
    gap: 7px;
  }
  .mobile-bar {
    position: fixed;
    z-index: 120;
    left: 0;
    right: 0;
    bottom: 0;
    height: 58px;
    background: #fff;
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .mobile-bar a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 800;
    border-right: 1px solid var(--line);
  }
  .mobile-bar a:last-child {
    background: var(--navy);
    color: #fff;
  }
  .page-hero-media {
    order: -1;
  }
  .page-hero {
    padding: 48px 0;
  }
  .page-hero-media img {
    max-height: 380px;
  }
  .article-hero {
    padding: 55px 0;
  }
  .project-grid {
    gap: 30px;
  }
}
@media (max-width: 540px) {
  .brand small {
    font-size: 9px;
  }
  .home-proof,
  .brand-logos,
  .category-grid,
  .product-grid,
  .brand-directory,
  .solution-grid,
  .group-grid,
  .type-grid,
  .project-card-grid,
  .process-grid,
  .guide-grid,
  .family-grid,
  .stats {
    grid-template-columns: 1fr;
  }
  .home-proof > div {
    border-right: 0;
  }
  .brand-logos a {
    height: 90px;
  }
  .category-card p,
  .product-card p,
  .brand-card p {
    min-height: 0;
  }
  .project-card-grid img {
    height: auto;
  }
  .stats > div {
    border-right: 0;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-col {
    display: flex;
  }
  .page-hero-copy h1 {
    font-size: 40px;
  }
  .cta-band h2 {
    font-size: 30px;
  }
  .range-list article {
    grid-template-columns: 1fr;
  }
  .range-list article .text-action {
    grid-column: 1;
  }
  .range-list article > span {
    display: none;
  }
  .form-card {
    padding: 23px;
  }
  .location-grid article {
    padding: 22px;
  }
  .home-visual figcaption {
    left: 14px;
    bottom: 14px;
  }
  .hero-actions > .btn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
.range-catalog {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line);
}
.range-catalog-row {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 56px;
  padding: 34px 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
}
.range-catalog-row h3 {
  font-size: 26px;
  margin: 10px 0 8px;
}
.range-catalog-row p {
  color: var(--muted);
  font-size: 14px;
}
.range-catalog-row ul {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px 28px;
  padding-left: 20px;
  color: #455d6e;
  font-size: 14px;
}
.authority-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  margin: -12px 0 28px;
}
.authority-note > div {
  display: flex;
  flex-direction: column;
}
.authority-note b {
  font-size: 13px;
  color: var(--navy);
}
.authority-note span {
  font-size: 14px;
  color: var(--muted);
  margin-top: 2px;
}
.vortice-details {
  display: grid;
  gap: 54px;
}
.vortice-detail-block {
  padding-bottom: 54px;
  border-bottom: 1px solid var(--line);
}
.vortice-detail-block:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.vortice-detail-head {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: flex-end;
  margin-bottom: 22px;
}
.vortice-detail-head > div {
  max-width: 760px;
}
.vortice-detail-head h3 {
  font-size: 30px;
  margin-bottom: 8px;
}
.vortice-detail-head p {
  color: var(--muted);
  margin: 0;
}
.vortice-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.vortice-mini-grid article {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 20px;
  background: #fff;
}
.vortice-mini-grid h4 {
  font-size: 17px;
  line-height: 1.25;
  color: var(--navy);
  margin: 0 0 8px;
}
.vortice-mini-grid p {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 13px;
}
.vortice-mini-grid a {
  font-size: 12px;
  font-weight: 800;
  color: var(--blue);
}
@media (max-width: 780px) {
  .range-catalog-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .vortice-detail-head {
    display: block;
  }
  .vortice-detail-head .text-action {
    margin-top: 12px;
  }
  .vortice-mini-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 540px) {
  .range-catalog-row ul,
  .vortice-mini-grid {
    grid-template-columns: 1fr;
  }
}


/* ---- September UI refinement overlay ---- */
:root{--shadow-soft:0 18px 45px rgba(8,27,46,.10);--shadow-card:0 14px 30px rgba(7,29,52,.08)}
.brand-strip,.section-tint{background:#f5f8fb}
.section-dark{background:linear-gradient(135deg,#07203a 0%,#0c2b48 100%)}
.home-hero{background:radial-gradient(circle at top right,rgba(255,198,76,.16),transparent 28%),linear-gradient(120deg,#061a2e 0%,#082542 55%,#0b3154 100%)}
.home-visual{box-shadow:var(--shadow-soft);overflow:hidden;position:relative}
.home-visual img{filter:saturate(1.03) contrast(1.03)}
.home-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.22) 100%);pointer-events:none}
.home-proof{border-radius:0 0 20px 20px;background:rgba(255,255,255,.03);backdrop-filter:blur(4px)}
.brand-logos a{background:#fff;box-shadow:0 8px 18px rgba(7,29,52,.04)}
.brand-logos a:hover,.category-card:hover,.brand-card:hover,.guide-grid article:hover,.project-card-grid article:hover,.family-grid article:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(7,29,52,.10)}
.category-card,.brand-card,.guide-grid article,.project-card-grid article,.family-grid article,.type-grid article,.solution-grid article,.process-grid article{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.catalog-thumb,.guide-thumb,.mini-hero-thumb{display:block;margin:-28px -28px 18px;border-radius:16px 16px 0 0;overflow:hidden;background:#eff4f7;border-bottom:1px solid #e2eaee}
.catalog-thumb img,.guide-thumb img,.mini-hero-thumb img{width:100%;height:190px;object-fit:cover;display:block}
.guide-thumb img{height:170px}
.catalog-meta{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#738492;font-weight:800;margin-bottom:8px}
.feature-band{padding:26px 0;background:#fff;border-bottom:1px solid var(--line)}
.feature-band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.feature-band article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;box-shadow:0 8px 20px rgba(7,29,52,.04)}
.feature-band article span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6f8391;font-weight:800}
.feature-band article h3{font-size:18px;margin:8px 0 6px}
.feature-band article p{font-size:14px;color:var(--muted);margin:0}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.timeline article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 18px rgba(7,29,52,.04)}
.timeline strong{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#1d719e;margin-bottom:10px}
.timeline h3{font-size:22px;margin-bottom:8px}
.timeline p{margin:0;color:var(--muted);font-size:14px}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:24px}
.trust-strip article{padding:18px 20px;background:#f6f9fb;border:1px solid var(--line);border-radius:14px}
.trust-strip h3{font-size:18px;margin-bottom:8px}.trust-strip p{font-size:14px;color:var(--muted);margin:0}
.brand-card .brand-logo-box{height:130px;border-radius:14px;background:linear-gradient(180deg,#fff,#f7fafc);border:1px solid #e7edf2;display:flex;align-items:center;justify-content:center;padding:18px;margin-bottom:18px}
.brand-card .brand-logo-box img{max-width:82%;max-height:72px;object-fit:contain}
.brand-card h2{margin-top:0}
.section-head.compact{margin-bottom:26px}
.jump-nav{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 28px;padding:0;list-style:none}
.jump-nav a{display:inline-flex;padding:11px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:800;color:#0d2b47;box-shadow:0 6px 14px rgba(7,29,52,.04)}
.jump-nav a:hover{border-color:#a7c0d0;color:#14466e}
.vortice-detail-block{scroll-margin-top:95px}
.vortice-detail-head{align-items:flex-start}
.vortice-detail-block::before{content:"";display:block;height:1px;background:linear-gradient(90deg,#e2ebf1,transparent);margin-bottom:22px}
.upload-field input[type=file]{padding:11px 13px;border:1px dashed #a9bcc9;background:#f7fbfd}
.upload-help{font-size:12px;color:#6c7d89;margin-top:8px;display:block}
.cta-band{background:linear-gradient(135deg,#08233d 0%,#0c2e4d 100%)}
.project-image img{border-radius:18px;box-shadow:var(--shadow-soft)}
.guide-grid article{overflow:hidden;padding-top:28px}
.guide-grid article>span{display:none}
.resource-page .guide-grid h2{font-size:24px;line-height:1.22}
.catalog-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.catalog-highlights article{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 22px rgba(7,29,52,.05)}
.catalog-highlights article img{display:block;width:100%;height:210px;object-fit:cover}
.catalog-highlights article div{padding:22px}
.catalog-highlights article h3{font-size:22px;margin-bottom:8px}
.catalog-highlights article p{margin:0 0 14px;color:var(--muted);font-size:14px}
.catalog-highlights article a{font-weight:800;font-size:14px;color:#1d719e}
.info-note{padding:18px 20px;background:#f7fafc;border:1px solid #dfe8ed;border-radius:14px;color:#506676;font-size:14px}
.guide-grid article p,.brand-card p,.category-card p,.product-card p{color:#556c7c}
.two-col.light ul{margin:0;padding-left:0}
.contact-layout .form-card,.quote-layout .form-card{box-shadow:var(--shadow-card)}
.resource-page .page-hero-media img,.page-hero-media img{box-shadow:var(--shadow-soft)}

@media(max-width:1000px){.feature-band-grid,.timeline,.trust-strip,.catalog-highlights{grid-template-columns:repeat(2,1fr)} }
@media(max-width:780px){.feature-band{padding:18px 0}.catalog-thumb,.guide-thumb,.mini-hero-thumb{margin:-24px -24px 16px}.catalog-thumb img{height:170px}.jump-nav{overflow:auto;flex-wrap:nowrap;padding-bottom:6px}.jump-nav a{white-space:nowrap}.feature-band-grid,.timeline,.trust-strip,.catalog-highlights{grid-template-columns:1fr}.guide-thumb img{height:180px}}

/* Footer brand mark: white on the dark footer */
.footer-logo img{filter:brightness(0) invert(1);}
.footer-logo small{color:#fff;}


/* ===== Products + brands premium catalogue refinement ===== */
.product-grid{grid-template-columns:repeat(3,1fr);gap:22px}
.product-card{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(7,29,52,.055)}
.product-card>a{display:flex;height:100%;flex-direction:column;padding:0}
.product-card .catalog-thumb{margin:0;border-radius:0;height:180px;border:0;overflow:hidden}
.product-card .catalog-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.product-card:hover .catalog-thumb img{transform:scale(1.035)}
.product-card .product-card-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.product-card .product-card-body .card-no{margin-bottom:12px}
.product-card .product-card-body b{margin-top:auto;padding-top:14px}
.card-brand-tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0}
.card-brand-tags span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#f1f5f8;border:1px solid #e0e8ed;padding:6px 8px;border-radius:999px;color:#4d6574}
.catalog-jump{display:flex;align-items:center;gap:10px;overflow:auto;padding:3px 0 7px;margin:-6px 0 28px;scrollbar-width:thin}
.catalog-jump a{white-space:nowrap;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:800;color:#244760}
.catalog-jump a:hover{border-color:#8fb0c4;color:#0f527c}
.range-catalog{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.range-catalog-row{display:block;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 7px 18px rgba(7,29,52,.035)}
.range-catalog-row summary{list-style:none;cursor:pointer;padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.range-catalog-row summary::-webkit-details-marker{display:none}
.range-catalog-row summary::after{content:"+";width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f0f5f8;color:#123c5d;font-size:20px;font-weight:700}
.range-catalog-row[open] summary::after{content:"–"}
.range-catalog-row summary h3{margin:4px 0 4px;font-size:22px}
.range-catalog-row summary p{margin:0;color:var(--muted);font-size:14px}
.range-catalog-row .range-catalog-content{border-top:1px solid var(--line);padding:20px 24px 24px}
.range-catalog-row .range-catalog-content ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin:0 0 16px;padding:0;list-style:none}
.range-catalog-row .range-catalog-content li{position:relative;padding-left:15px;font-size:13px;color:#456072}
.range-catalog-row .range-catalog-content li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:#d6a32d}
.category-jump{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.category-jump .container{display:flex;gap:10px;overflow:auto;padding-top:12px;padding-bottom:12px}
.category-jump a{white-space:nowrap;font-size:12px;font-weight:800;color:#35586f;padding:8px 12px;border-radius:999px;background:#f5f8fa;border:1px solid #e0e8ed}
.category-page .type-grid article{position:relative;overflow:hidden;padding:26px;border-radius:17px;background:#fff;box-shadow:0 8px 18px rgba(7,29,52,.04)}
.category-page .type-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#0b2b49;color:#fff;font-weight:800;font-size:12px;margin-bottom:18px}
.category-page .type-grid article h3{font-size:20px;line-height:1.25;margin-bottom:9px}
.product-family-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.product-family-chips span{padding:8px 11px;border-radius:999px;background:#eef4f7;border:1px solid #dde7ec;color:#35566d;font-size:12px;font-weight:800}
.brand-match-section{background:linear-gradient(180deg,#fff,#f7fafc)}
.brand-match-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.brand-match-grid.single{grid-template-columns:minmax(0,520px)}
.brand-match-card{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;text-decoration:none;box-shadow:0 8px 18px rgba(7,29,52,.04);transition:.25s ease}
.brand-match-card:hover{transform:translateY(-3px);box-shadow:0 18px 32px rgba(7,29,52,.08);border-color:#bfd1dc}
.brand-match-logo{height:105px;display:flex;align-items:center;justify-content:center;background:#f7fafc;border:1px solid #e5edf1;border-radius:13px;padding:15px}
.brand-match-logo img{max-width:100%;max-height:62px;object-fit:contain}
.brand-match-card h3{font-size:20px;margin:0 0 5px}.brand-match-card p{margin:0 0 10px;color:var(--muted);font-size:13px}.brand-match-card span{font-size:12px;font-weight:800;color:#1d719e}
.no-brand-panel{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:24px 26px;border:1px solid var(--line);border-radius:18px;background:#fff}
.no-brand-panel h3{margin:0 0 7px;font-size:22px}.no-brand-panel p{margin:0;color:var(--muted)}
.procurement-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.procurement-steps article{padding:20px;border:1px solid var(--line);background:#fff;border-radius:15px}
.procurement-steps span{font-size:11px;font-weight:900;letter-spacing:.1em;color:#1d719e}.procurement-steps h3{font-size:18px;margin:9px 0 6px}.procurement-steps p{font-size:13px;margin:0;color:var(--muted)}
.brand-directory{grid-template-columns:repeat(2,1fr);gap:22px}
.brand-card{padding:24px;border-radius:18px;display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center}
.brand-card .brand-logo-box{margin:0;height:118px}.brand-card>span{display:none}.brand-card h2{font-size:23px;margin:0 0 6px}.brand-card p{margin:0 0 12px}
.brand-card .text-action{align-self:start}
.brand-feature-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px}
.brand-feature-row a{background:#fff;border:1px solid var(--line);border-radius:14px;min-height:105px;display:flex;align-items:center;justify-content:center;padding:18px;transition:.2s ease}
.brand-feature-row a:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(7,29,52,.07)}
.brand-feature-row img{max-width:100%;max-height:50px;object-fit:contain}
.brand-detail-page .page-hero-media{background:#fff;border:1px solid var(--line);border-radius:20px;padding:48px;display:flex;align-items:center;justify-content:center;min-height:360px;box-shadow:0 20px 45px rgba(7,29,52,.08)}
.brand-detail-page .page-hero-media img{width:100%;height:auto;max-height:150px;object-fit:contain;box-shadow:none;border-radius:0}
.brand-scope-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.brand-scope-grid article{padding:25px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 18px rgba(7,29,52,.04)}
.brand-scope-grid article span{font-size:11px;font-weight:900;letter-spacing:.1em;color:#1d719e}.brand-scope-grid article h3{font-size:21px;margin:8px 0}.brand-scope-grid article p{margin:0;color:var(--muted);font-size:14px}
.brand-category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.brand-category-card{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden;text-decoration:none;transition:.25s ease}
.brand-category-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(7,29,52,.08)}
.brand-category-card img{width:180px;height:135px;object-fit:cover}.brand-category-card div{padding:16px 18px 16px 0}.brand-category-card h3{font-size:20px;margin:0 0 6px}.brand-category-card p{font-size:13px;color:var(--muted);margin:0 0 8px}.brand-category-card span{font-size:12px;font-weight:800;color:#1d719e}
.brand-disclaimer{margin-top:22px;padding:17px 19px;border-radius:13px;background:#f4f8fa;border:1px solid #dfe8ed;color:#566d7c;font-size:13px}
.brand-enquiry-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:start}
.brand-enquiry-panel{padding:27px;border-radius:18px;background:#0a2946;color:#d6e4ed}.brand-enquiry-panel h3{color:#fff;font-size:25px}.brand-enquiry-panel p{color:#b8cbd7}.brand-enquiry-panel .btn{margin-top:8px}
.vortice-range-toggle{border-top:1px solid #e4ebef;margin-top:22px;padding-top:18px}
.vortice-range-toggle summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:13px;font-weight:900;color:#164e76;padding:10px 0}
.vortice-range-toggle summary::-webkit-details-marker{display:none}.vortice-range-toggle summary::after{content:"+";display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef4f7;color:#123c5d;font-size:18px}.vortice-range-toggle[open] summary::after{content:"–"}
.vortice-range-toggle .vortice-mini-grid{margin-top:16px}
.chigo-page .selection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.chigo-page .selection-grid article{border:1px solid var(--line);background:#fff;border-radius:15px;padding:20px}.chigo-page .selection-grid span{font-size:11px;font-weight:900;color:#1d719e;letter-spacing:.09em}.chigo-page .selection-grid h3{font-size:18px;margin:8px 0 5px}.chigo-page .selection-grid p{font-size:13px;color:var(--muted);margin:0}

@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,1fr)}.range-catalog{grid-template-columns:1fr}.brand-feature-row{grid-template-columns:repeat(3,1fr)}.procurement-steps{grid-template-columns:repeat(2,1fr)}.chigo-page .selection-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.brand-card{grid-template-columns:120px 1fr;padding:18px}.brand-card .brand-logo-box{height:92px}.brand-match-card{grid-template-columns:115px 1fr}.brand-match-logo{height:90px}.brand-category-card{grid-template-columns:120px 1fr}.brand-category-card img{width:120px;height:120px}.brand-enquiry-layout{grid-template-columns:1fr}.brand-detail-page .page-hero-media{min-height:250px;padding:34px}}
@media(max-width:560px){.product-grid,.brand-directory,.brand-match-grid,.brand-scope-grid,.brand-category-grid,.procurement-steps,.chigo-page .selection-grid{grid-template-columns:1fr}.product-card .catalog-thumb{height:165px}.brand-card{grid-template-columns:1fr}.brand-card .brand-logo-box{height:100px}.brand-match-card{grid-template-columns:100px 1fr}.brand-feature-row{grid-template-columns:repeat(2,1fr)}.range-catalog-row .range-catalog-content ul{grid-template-columns:1fr}.no-brand-panel{grid-template-columns:1fr}.brand-category-card{grid-template-columns:105px 1fr}.brand-category-card img{width:105px;height:120px}}

/* brand directory grid placement fix */
.brand-card .brand-logo-box{grid-column:1;grid-row:1/4}.brand-card>h2,.brand-card>p,.brand-card>.text-action{grid-column:2}.brand-card>h2{grid-row:1}.brand-card>p{grid-row:2}.brand-card>.text-action{grid-row:3}@media(max-width:560px){.brand-card .brand-logo-box,.brand-card>h2,.brand-card>p,.brand-card>.text-action{grid-column:1;grid-row:auto}}


/* ===== Products grid premium card correction ===== */
.products-page .product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.products-page .product-card{
  position:relative;
  display:flex;
  min-width:0;
  overflow:hidden;
  border:1px solid #dbe5ec;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(7,29,52,.055);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.products-page .product-card:hover{
  transform:translateY(-5px);
  border-color:#b7cbd8;
  box-shadow:0 22px 45px rgba(7,29,52,.11);
}
.products-page .product-card>a{
  display:flex;
  width:100%;
  min-width:0;
  height:100%;
  flex-direction:column;
  color:inherit;
  text-decoration:none;
  padding:0;
}
.products-page .product-card .catalog-thumb{
  position:relative;
  display:block;
  width:100%;
  height:178px;
  margin:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#edf3f6;
}
.products-page .product-card .catalog-thumb::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(5,23,40,.16));
  pointer-events:none;
}
.products-page .product-card .catalog-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .42s ease,filter .42s ease;
}
.products-page .product-card:hover .catalog-thumb img{
  transform:scale(1.035);
  filter:saturate(1.03) contrast(1.02);
}
.products-page .product-card .product-card-body{
  display:flex;
  flex:1;
  min-height:245px;
  flex-direction:column;
  padding:22px 24px 23px;
}
.products-page .product-card .card-topline{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 13px;
}
.products-page .product-card .card-no{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  min-width:34px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:#0a2d4b;
  color:#fff;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
}
.products-page .product-card .card-type-label{
  color:#748896;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.products-page .product-card h2{
  margin:0 0 9px;
  color:#071d34;
  font-size:22px;
  line-height:1.18;
  letter-spacing:-.025em;
}
.products-page .product-card p{
  margin:0;
  min-height:0;
  color:#526a7b;
  font-size:14px;
  line-height:1.58;
}
.products-page .product-card .card-brand-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:14px 0 0;
}
.products-page .product-card .card-brand-tags span{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:5px 9px;
  border:1px solid #dfe8ed;
  border-radius:999px;
  background:#f4f8fa;
  color:#3e5c70;
  font-size:9px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.products-page .product-card .card-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  margin-top:auto;
  padding-top:18px;
  color:#0e659a;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
}
.products-page .product-card .card-cta-arrow{
  display:grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#edf5f9;
  color:#0e659a;
  font-size:16px;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.products-page .product-card:hover .card-cta-arrow{
  transform:translateX(3px);
  background:#0a2d4b;
  color:#fff;
}
.products-page .product-card[hidden]{display:none!important}

@media(max-width:1000px){
  .products-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .products-page .product-card .catalog-thumb{height:190px}
}
@media(max-width:620px){
  .products-page .product-grid{grid-template-columns:1fr;gap:16px}
  .products-page .product-card{border-radius:17px}
  .products-page .product-card .catalog-thumb{height:165px}
  .products-page .product-card .product-card-body{min-height:0;padding:19px 20px 20px}
  .products-page .product-card h2{font-size:21px}
}


/* ===== Product category grid V2 — isolated, cache-busted ===== */
.products-page .premium-category-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  margin-top:32px!important;
  align-items:stretch!important;
}
.products-page .premium-category-card{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid #d9e4eb!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(7,29,52,.06)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.products-page .premium-category-card:hover{
  transform:translateY(-5px)!important;
  border-color:#b8ccd9!important;
  box-shadow:0 22px 45px rgba(7,29,52,.12)!important;
}
.products-page .premium-category-link{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  color:inherit!important;
  text-decoration:none!important;
}
.products-page .premium-category-media{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:190px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#eaf1f5!important;
}
.products-page .premium-category-media::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(4,21,36,.02) 45%,rgba(4,21,36,.32) 100%)!important;
  pointer-events:none!important;
}
.products-page .premium-category-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  transition:transform .42s ease,filter .42s ease!important;
}
.products-page .premium-category-card:hover .premium-category-media img{
  transform:scale(1.04)!important;
  filter:saturate(1.04) contrast(1.03)!important;
}
.products-page .premium-category-number{
  position:absolute!important;
  z-index:2!important;
  left:18px!important;
  bottom:16px!important;
  display:inline-grid!important;
  place-items:center!important;
  min-width:38px!important;
  height:30px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:rgba(7,29,52,.92)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  box-shadow:0 5px 14px rgba(0,0,0,.18)!important;
}
.products-page .premium-category-body{
  display:flex!important;
  flex:1 1 auto!important;
  min-height:250px!important;
  flex-direction:column!important;
  padding:22px 24px 22px!important;
}
.products-page .premium-category-kicker{
  display:block!important;
  margin:0 0 8px!important;
  color:#758a98!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.products-page .premium-category-body h2{
  margin:0 0 10px!important;
  color:#071d34!important;
  font-size:23px!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}
.products-page .premium-category-body p{
  margin:0!important;
  min-height:0!important;
  color:#536b7b!important;
  font-size:14px!important;
  line-height:1.58!important;
}
.products-page .premium-category-brands{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:14px!important;
}
.products-page .premium-category-brands>span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:27px!important;
  padding:5px 9px!important;
  border:1px solid #dfe8ed!important;
  border-radius:999px!important;
  background:#f4f8fa!important;
  color:#426176!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1.15!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
}
.products-page .premium-category-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:20px!important;
  color:#0c659b!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.2!important;
}
.products-page .premium-category-arrow{
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:#edf5f9!important;
  color:#0c659b!important;
  font-size:16px!important;
  transition:transform .2s ease,background .2s ease,color .2s ease!important;
}
.products-page .premium-category-card:hover .premium-category-arrow{
  transform:translateX(3px)!important;
  background:#0a2d4b!important;
  color:#fff!important;
}
.products-page .premium-category-card[hidden]{display:none!important}
@media(max-width:1000px){
  .products-page .premium-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
  .products-page .premium-category-media{height:200px!important}
}
@media(max-width:620px){
  .products-page .premium-category-grid{grid-template-columns:1fr!important;gap:16px!important}
  .products-page .premium-category-card{border-radius:17px!important}
  .products-page .premium-category-media{height:175px!important}
  .products-page .premium-category-body{min-height:0!important;padding:19px 20px 20px!important}
  .products-page .premium-category-body h2{font-size:21px!important}
}


/* ---- Full image + mobile QA final pass ---- */
html{overflow-x:hidden}
body{overflow-x:hidden;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
.page-hero-media{overflow:hidden;border-radius:20px}
.page-hero-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center}
.brand-detail-page .page-hero-media{padding:0!important;background:#edf3f6!important;overflow:hidden!important}
.brand-detail-page .page-hero-media .brand-hero-visual{width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:16/10!important;object-fit:cover!important;padding:0!important;border-radius:18px!important;background:transparent!important}
.home-visual img{object-position:center}
.category-card img,.product-card img,.premium-category-media img,.brand-category-card img,.guide-thumb img,.project-card-grid img{object-position:center}
.vortice-page .family-grid img{width:100%;height:210px;object-fit:cover;background:#f4f8fa}
.vortice-family-page .page-hero-media img{object-fit:cover;padding:0;background:#f4f8fa}
.brand-feature-row img,.brand-logo-box img{height:auto!important}
input,select,textarea,button{font:inherit}

@media(max-width:900px){
  .page-hero-grid{gap:34px}
  .page-hero-copy h1{font-size:clamp(36px,6.2vw,50px);line-height:1.03}
  .page-hero-copy p{font-size:16px}
  .section-head h2{font-size:clamp(30px,4.8vw,40px)}
  .brand-feature-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:780px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .mobile-bar{height:calc(58px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}
  .nav{max-height:calc(100vh - 68px);overflow-y:auto}
  .nav a,.nav-toggle,.mobile-bar a,.btn{min-height:44px}
  .section{padding:54px 0}
  .page-hero{padding:34px 0 46px}
  .page-hero-grid{gap:24px}
  .page-hero-media{order:-1;border-radius:16px}
  .page-hero-media img{aspect-ratio:16/10;max-height:none;border-radius:16px}
  .page-hero-copy h1{font-size:clamp(34px,9vw,44px);line-height:1.02;margin-bottom:14px;overflow-wrap:anywhere}
  .page-hero-copy p{font-size:16px;line-height:1.6}
  .home-copy h1{font-size:clamp(40px,11vw,52px);line-height:1.01}
  .home-hero-grid{gap:24px}
  .home-visual img{aspect-ratio:16/10}
  .home-proof>div{padding:18px 16px!important}
  .home-proof strong{font-size:22px}
  .section-head{margin-bottom:26px}
  .section-head h2{font-size:clamp(29px,8vw,36px);line-height:1.08}
  .brand-feature-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;gap:10px}
  .brand-feature-row a{min-width:155px;scroll-snap-align:start;min-height:90px;padding:14px}
  .brand-detail-page .page-hero-media{min-height:0!important;padding:0!important}
  .brand-detail-page .page-hero-media .brand-hero-visual{aspect-ratio:16/10!important}
  .brand-category-card{grid-template-columns:110px 1fr!important}
  .brand-category-card img{width:110px!important;height:118px!important}
  .premium-category-media{height:190px!important}
  .products-page .premium-category-grid{gap:16px!important}
  .products-page .premium-category-body{padding:18px 18px 20px!important}
  .products-page .premium-category-body h2{font-size:22px!important}
  .products-page .premium-category-body p{font-size:14px!important;line-height:1.5}
  .form-card{padding:22px}
  .web-form input,.web-form select,.web-form textarea{font-size:16px}
  .cta-band-inner{padding:46px 0;gap:26px}
  .cta-band h2{font-size:clamp(28px,8vw,34px)}
  .footer-grid{padding:48px 0;gap:34px}
}

@media(max-width:600px){
  .container{width:min(var(--max),calc(100% - 24px))}
  .utility{display:none}
  .brand span small{letter-spacing:.08em}
  .page-hero-copy h1{font-size:clamp(32px,9.4vw,40px)}
  .home-copy h1{font-size:clamp(38px,11.5vw,48px)}
  .hero-actions{gap:10px}
  .hero-actions>.btn{width:100%;justify-content:center}
  .category-grid,.product-grid,.brand-directory,.project-card-grid,.guide-grid,.family-grid,.solution-grid,.group-grid,.type-grid,.process-grid,.stats{grid-template-columns:1fr!important}
  .brand-directory{gap:14px}
  .brand-card{grid-template-columns:1fr!important;padding:18px!important}
  .brand-card .brand-logo-box{height:96px!important;margin-bottom:4px}
  .brand-feature-row a{min-width:145px}
  .brand-category-card{grid-template-columns:96px 1fr!important}
  .brand-category-card img{width:96px!important;height:110px!important}
  .brand-category-card div{padding:14px 14px 14px 0!important}
  .brand-category-card h3{font-size:18px!important}
  .premium-category-media{height:168px!important}
  .premium-category-number{top:12px!important;left:12px!important}
  .catalog-jump{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:8px;padding-bottom:8px;scrollbar-width:none}
  .catalog-jump::-webkit-scrollbar{display:none}
  .catalog-jump a{white-space:nowrap}
  .search-row .search-box{width:100%;max-width:none}
  .project-card-grid img{aspect-ratio:16/10;object-fit:cover}
  .guide-thumb img{height:165px!important}
  .vortice-page .family-grid img{height:180px}
  .timeline,.trust-strip,.catalog-highlights,.feature-band-grid{grid-template-columns:1fr!important}
  .footer-bottom{text-align:center}
}

@media(max-width:390px){
  .container{width:calc(100% - 20px)}
  .page-hero-copy h1{font-size:32px}
  .home-copy h1{font-size:38px}
  .brand b{font-size:17px}
  .brand small{font-size:8px}
  .premium-category-media{height:155px!important}
  .mobile-bar a{font-size:11px}
}

/* Mobile navigation icon sizing */
.menu-icon{width:24px;height:24px;display:block;flex:0 0 24px}
.nav-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center}
@media(max-width:780px){.nav-toggle{display:flex}.nav-toggle .close-icon{display:none}.nav-toggle[aria-expanded="true"] .open-icon{display:none}.nav-toggle[aria-expanded="true"] .close-icon{display:block}}


/* ---- Mobile visual polish pass 2026-09-21 ---- */
@media(max-width:780px){
  html{scroll-padding-top:74px}
  .header{box-shadow:0 7px 22px rgba(7,29,52,.055)}
  .header-inner{height:66px;gap:12px}
  .brand{gap:9px}
  .brand img{width:42px;height:42px}
  .brand b{font-size:18px;line-height:1}
  .brand small{font-size:8.5px;letter-spacing:.10em;margin-top:4px}
  .nav-toggle{width:44px;height:44px;border:1px solid #dce6ec;border-radius:12px;background:#f8fafb;box-shadow:0 4px 12px rgba(7,29,52,.04)}
  .nav{top:66px;left:12px;right:12px;padding:10px;background:rgba(255,255,255,.985);border:1px solid #dbe5eb;border-radius:0 0 16px 16px;box-shadow:0 22px 42px rgba(7,29,52,.16)}
  .nav a{display:flex;align-items:center;min-height:46px;padding:11px 13px;border-radius:10px;font-size:15px}
  .nav a+ a{border-top:1px solid #edf2f5}
  .nav a[aria-current]{background:#eef4f7}

  .page-hero{padding:30px 0 42px}
  .page-hero-grid{gap:21px}
  .page-hero-copy .eyebrow{margin-bottom:9px}
  .page-hero-copy h1{letter-spacing:-.035em;margin-bottom:13px}
  .page-hero-copy p{font-size:15.5px;line-height:1.58}
  .brands-page .page-hero-copy h1,.vortice-page .page-hero-copy h1{font-size:clamp(31px,8.3vw,37px);line-height:1.035}
  .category-page .page-hero-copy h1{font-size:clamp(31px,8.5vw,39px);line-height:1.035}
  .page-hero-media{border-radius:15px;box-shadow:0 13px 32px rgba(7,29,52,.10)}
  .page-hero-media img{border-radius:15px}

  .section{padding:50px 0}
  .section-head{margin-bottom:23px}
  .section-head p{font-size:15px;line-height:1.58}
  .eyebrow{letter-spacing:.12em}
  .lead{font-size:17px;line-height:1.6}

  .premium-category-card,.brand-card,.brand-category-card,.guide-grid article,.project-card-grid article,.family-grid article,.type-grid article,.solution-grid article,.process-grid article,.timeline article,.trust-strip article{border-radius:16px!important;box-shadow:0 8px 22px rgba(7,29,52,.055)}
  .products-page .premium-category-media{height:172px!important}
  .products-page .premium-category-body{padding:18px 18px 19px!important}
  .products-page .premium-category-body h2{font-size:21px!important;line-height:1.15!important;margin-bottom:8px!important}
  .products-page .premium-category-body p{font-size:14px!important;line-height:1.48!important}
  .premium-category-number{font-size:11px!important;min-width:32px!important;height:32px!important;border-radius:10px!important}
  .premium-category-arrow{width:34px!important;height:34px!important;min-width:34px!important}

  .brand-card .brand-logo-box{border-radius:13px!important}
  .brand-card h2{font-size:21px!important}
  .brand-card p{font-size:14px!important;line-height:1.5!important}
  .brand-category-card{overflow:hidden}

  .catalog-jump,.jump-nav,.brand-feature-row{position:relative;overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;padding-right:30px!important;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 26px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 26px),transparent 100%)}
  .catalog-jump::-webkit-scrollbar,.jump-nav::-webkit-scrollbar,.brand-feature-row::-webkit-scrollbar{display:none}
  .catalog-jump a,.jump-nav a,.brand-feature-row a{scroll-snap-align:start}
  .catalog-jump a,.jump-nav a{min-height:42px;display:inline-flex;align-items:center}

  .faq-list details{border-radius:13px;overflow:hidden}
  .faq-list summary{min-height:50px;padding:15px 44px 15px 16px;display:flex;align-items:center;line-height:1.35}
  .faq-list details p{padding:0 16px 16px;font-size:14.5px;line-height:1.6}

  .form-card{padding:20px;border-radius:16px}
  .web-form{gap:16px}
  .web-form label{gap:7px}
  .web-form input,.web-form select,.web-form textarea{min-height:48px;border-radius:10px}
  .web-form textarea{min-height:140px}
  .form-note{font-size:12.5px;line-height:1.5}

  .cta-band-inner{padding:42px 0;gap:22px}
  .cta-band h2{line-height:1.08}
  .cta-band p{font-size:14.5px;line-height:1.58}
  .cta-actions{gap:12px}
  .cta-actions .btn{width:100%}

  .footer-grid{padding:44px 0 38px;gap:28px}
  .footer-brand p{font-size:13.5px;line-height:1.55}
  .footer-col{gap:9px}
  .footer-col a,.footer-col p{font-size:13px;line-height:1.45}
  .footer-bottom{padding:18px 0 22px}

  .mobile-bar{height:calc(60px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);backdrop-filter:blur(14px);box-shadow:0 -8px 22px rgba(7,29,52,.10);border-top-color:#dbe5eb}
  .mobile-bar a{min-width:0;gap:5px;font-size:11px;font-weight:800;letter-spacing:.01em}
  .mobile-bar a .mini-icon{width:16px;height:16px}
  .mobile-bar a:last-child{background:linear-gradient(135deg,#08233d,#0d365d)}
}

@media(max-width:430px){
  .container{width:calc(100% - 24px)}
  .home-copy h1{font-size:clamp(36px,10.5vw,44px);line-height:1.01}
  .home-copy p{font-size:15.5px;line-height:1.55}
  .home-hero{padding-top:38px}
  .home-proof{grid-template-columns:1fr 1fr!important}
  .home-proof>div{padding:15px 13px!important}
  .home-proof strong{font-size:20px}
  .home-proof span{font-size:10px;line-height:1.3}
  .page-hero-copy h1{font-size:clamp(30px,8.8vw,36px)}
  .brands-page .page-hero-copy h1,.vortice-page .page-hero-copy h1{font-size:30px}
  .category-page .page-hero-copy h1{font-size:30px}
  .section-head h2{font-size:clamp(27px,7.8vw,33px)}
  .products-page .premium-category-media{height:160px!important}
  .brand-feature-row a{min-width:140px}
  .brand-card{padding:16px!important}
  .brand-card .brand-logo-box{height:88px!important}
  .brand-category-card{grid-template-columns:88px 1fr!important}
  .brand-category-card img{width:88px!important;height:104px!important}
  .brand-category-card div{padding:12px 12px 12px 0!important}
  .project-card-grid article>div{padding:18px!important}
}

@media(max-width:350px){
  .container{width:calc(100% - 20px)}
  .brand img{width:39px;height:39px}
  .brand b{font-size:17px}
  .brand small{font-size:7.5px}
  .home-copy h1{font-size:35px}
  .page-hero-copy h1,.brands-page .page-hero-copy h1,.vortice-page .page-hero-copy h1,.category-page .page-hero-copy h1{font-size:29px}
  .page-hero-copy p{font-size:15px}
  .section{padding:46px 0}
  .products-page .premium-category-media{height:150px!important}
  .mobile-bar a{font-size:10px}
  .mobile-bar a .mini-icon{width:15px;height:15px}
}

/* Two-number WhatsApp chooser */
.wa-choice-open{overflow:hidden}
.wa-choice-overlay[hidden]{display:none!important}
.wa-choice-overlay{position:fixed;z-index:9999;inset:0;background:rgba(3,18,32,.56);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .18s ease;backdrop-filter:blur(4px)}
.wa-choice-overlay.open{opacity:1}
.wa-choice-panel{position:relative;width:min(460px,100%);background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 80px rgba(4,22,39,.32);transform:translateY(10px) scale(.985);transition:transform .18s ease}
.wa-choice-overlay.open .wa-choice-panel{transform:none}
.wa-choice-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid #dce6ec;border-radius:50%;background:#f7fafc;color:#16334d;font-size:26px;line-height:1;cursor:pointer}
.wa-choice-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#1d719e;margin-bottom:8px}
.wa-choice-panel h2{font-size:28px;line-height:1.15;margin:0 38px 8px 0;color:#071d34}
.wa-choice-panel>p{margin:0 0 20px;color:#607481;font-size:14px}
.wa-choice-links{display:grid;gap:10px}
.wa-choice-links a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label arrow" "number arrow";align-items:center;gap:2px 18px;padding:16px 17px;border:1px solid #dce6ec;border-radius:13px;background:#f9fbfc;color:#0b2b47;text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.wa-choice-links a:hover{border-color:#9db9ca;transform:translateY(-1px);box-shadow:0 10px 22px rgba(7,29,52,.08)}
.wa-choice-links span{grid-area:label;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#6a7f8d;font-weight:800}
.wa-choice-links strong{grid-area:number;font-size:17px}
.wa-choice-links b{grid-area:arrow;font-size:22px;color:#1d719e}
@media(max-width:540px){
  .wa-choice-overlay{align-items:flex-end;padding:12px 12px calc(72px + env(safe-area-inset-bottom,0px))}
  .wa-choice-panel{border-radius:18px;padding:24px 20px}
  .wa-choice-panel h2{font-size:24px}
  .wa-choice-links a{min-height:68px;padding:13px 15px}
  .wa-choice-links strong{font-size:16px}
}
