/* Robat / Consultar-inspired editorial direction. Local fonts and real products. */
:root {
  --ink: #172a43;
  --muted: #667183;
  --cobalt: #315bdc;
  --cobalt-dark: #2448b9;
  --paper: #f7f8fa;
  --line: #e3e7ee;
  --brass: #b29460;
  --radius: 12px;
}

html { scroll-padding-top: 28px; }
body { color: var(--ink); background: #fff; line-height: 1.9; }
html[lang="en"] body { font-family: Arial, Helvetica, sans-serif; line-height: 1.7; }
img { max-width: 100%; }
button, input, textarea, select { font: inherit; }
a, button, input, textarea, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
summary:focus-visible, .hero-carousel:focus-visible {
  outline: 3px solid var(--cobalt);
  outline-offset: 4px;
}
h1, h2, h3 { color: var(--ink); font-weight: 700; }
h1 { font-size: clamp(2.25rem, 4.05vw, 3.55rem); line-height: 1.45; letter-spacing: -.025em; }
h2 { font-size: clamp(1.85rem, 2.65vw, 2.55rem); line-height: 1.5; letter-spacing: -.02em; }
h3 { line-height: 1.65; }
html[lang="en"] h1 { line-height: 1.13; letter-spacing: -.045em; }
html[lang="en"] h2 { line-height: 1.25; letter-spacing: -.035em; }
html[lang="en"] h3 { line-height: 1.35; letter-spacing: -.015em; }
.wrap, .families-section { max-width: 1264px; padding-inline: 40px; margin-inline: auto; }
.section, .section:not(.company-intro):not(.families-section) { padding-block: 88px; }
.eyebrow {
  color: var(--cobalt);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .04em;
  margin-bottom: 18px;
  line-height: 1.9;
}
html[lang="en"] .eyebrow { letter-spacing: .14em; font-size: .68rem; line-height: 1.6; }
.eyebrow::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 2px;
  margin-inline-end: 10px;
  vertical-align: middle;
  background: currentColor;
}
.lead { color: var(--muted); font-size: 1.04rem; line-height: 2; }
html[lang="en"] .lead { line-height: 1.8; }
.button {
  min-height: 52px;
  padding: 12px 25px;
  border: 1px solid transparent;
  border-radius: 5px;
  font-size: .88rem;
  font-weight: 700;
  gap: 14px;
  transition: background .2s, border-color .2s, color .2s, transform .2s;
}
.primary { background: var(--cobalt); color: #fff; }
.primary:hover { background: var(--cobalt-dark); color: #fff; }
.outline { border-color: #cbd3df; color: var(--ink); background: transparent; }
.outline:hover { background: var(--paper); border-color: var(--cobalt); color: var(--cobalt); }
.text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 12px;
  color: var(--cobalt);
  font-size: .82rem;
  font-weight: 700;
}
.text-link::after { content: "←"; font-family: Arial, sans-serif; font-size: 1.15rem; line-height: 1; }
.text-link > span[aria-hidden="true"] { display: none; }
html[dir="ltr"] .text-link::after { content: "→"; }
.text-link:hover { color: var(--cobalt-dark); }
.skip { background: var(--ink); border-radius: 4px; z-index: 60; }

/* A quiet utility line above a single, balanced navigation row. */
.topline { display: block; background: var(--paper); color: var(--muted); padding: 0; font-size: .7rem; border-bottom: 1px solid #eef0f4; }
.topline .wrap { min-height: 35px; align-items: center; gap: 20px; }
.topline .wrap > span { max-width: none; }
.topline a { display: inline-flex; align-items: center; min-height: 35px; color: #59677a; }
.topline .topline-contact { display: flex; align-items: center; gap: 24px; }
.topline .topline-contact a + a { padding-inline-start: 24px; border-inline-start: 1px solid #dce1e9; }
header { position: relative; z-index: 40; background: #fff; border-bottom: 1px solid var(--line); }
.header-inner { display: flex; min-height: 99px; align-items: center; gap: 22px; padding-block: 12px; }
.brand { order: 0; display: flex; align-items: center; gap: 13px; margin: 0; min-width: 0; }
.brand img { width: 66px; height: 49px; max-height: none; object-fit: contain; }
.brand strong { font-size: 1.2rem; font-weight: 700; line-height: 1.65; white-space: nowrap; }
.brand small { color: #8290a1; font: .57rem/1.8 Arial, sans-serif; letter-spacing: .13em; }
html[dir="ltr"] .brand strong { font-size: .91rem; }
.header-inner nav {
  order: 1;
  display: flex;
  align-items: center;
  width: auto;
  margin: 0;
  margin-inline-start: auto;
  border: 0;
  padding: 0;
  gap: 22px;
  font-size: .8rem;
}
.header-inner nav > a, .header-inner nav .nav-group > a { padding: 14px 0; font-size: .9rem; min-height: 48px; border-bottom: 2px solid transparent; color: #4a566a; white-space: nowrap; }
.header-inner nav a:hover, .header-inner nav a[aria-current] { color: var(--cobalt); border-color: var(--cobalt); }
.header-inner nav .nav-group { display: flex; align-items: center; gap: 0; }
.header-inner nav .nav-trigger { width: 28px; min-height: 44px; color: #6e7b8d; }
.header-inner nav .nav-trigger:hover, .header-inner nav .nav-trigger[aria-expanded="true"] { color: var(--cobalt); }
.header-inner nav .nav-dropdown { padding: 10px; min-width: 245px; border: 1px solid var(--line); border-top: 2px solid var(--cobalt); border-radius: 0 0 8px 8px; box-shadow: 0 14px 35px #172a4312; }
.header-inner nav .nav-dropdown a { padding: 11px 14px; min-height: 44px; color: var(--ink); font-size: .8rem; }
.header-inner nav .nav-dropdown a:hover, .header-inner nav .nav-dropdown a:focus-visible { background: var(--paper); color: var(--cobalt); }
.header-inner nav :is(a,button):focus-visible { outline: 3px solid var(--cobalt); outline-offset: 3px; }
.language { order: 2; display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 4px 9px; margin: 0; align-self: center; font-size: .78rem; border: 1px solid var(--line); border-radius: 5px; }
.language:hover { color: var(--cobalt); border-color: var(--cobalt); }
.header-contact { order: 3; display: inline-flex; align-items: center; justify-content: center; min-height: 45px; margin: 0; padding: 9px 17px; align-self: center; font-size: .77rem; font-weight: 700; white-space: nowrap; border: 1px solid var(--cobalt); border-radius: 5px; color: var(--cobalt); }
.header-contact:hover { background: var(--cobalt); color: #fff; }
.menu-toggle { order: 4; display: none; min-width: 44px; min-height: 44px; margin: 0; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 5px; padding: 6px 12px; font-size: .78rem; }
@media (min-width: 1101px) {
  html[dir="rtl"] .header-inner { width: calc(100% - 64px); max-width: none; }
  html[dir="rtl"] .header-inner nav { margin-inline: auto; }
}

/* One full-width blue hero field for the copy and actual product photos. */
.hero { display: block; position: relative; overflow: hidden; background: #144fb5; color: #fff; border-radius: 0; }
.hero::before { content: none; display: none; }
.hero-grid, .hero-with-carousel {
  display: grid;
  grid-template-columns: minmax(0,1.03fr) minmax(0,1fr);
  align-items: center;
  min-height: 440px;
  gap: 66px;
  padding-block: 30px 36px;
}
.hero-with-carousel .hero-copy, .hero-copy { position: relative; padding: 4px 0; max-width: none; }
.hero .eyebrow { color: #d3e2ff; font-size: .72rem; letter-spacing: .035em; margin-bottom: 12px; }
html[lang="en"] .hero .eyebrow { font-size: .63rem; letter-spacing: .1em; }
.hero h1 { color: #fff; font-size: clamp(2rem, 3vw, 2.65rem); font-weight: 700; max-width: 550px; line-height: 1.4; margin-bottom: 14px; }
html[lang="en"] .hero h1 { font-size: clamp(2.35rem, 3.3vw, 3rem); line-height: 1.12; letter-spacing: -.052em; }
.hero .lead { color: #dce8ff; font-size: .93rem; line-height: 1.9; max-width: 500px; }
html[lang="en"] .hero .lead { font-size: .95rem; line-height: 1.75; }
.hero .actions { margin-top: 20px; gap: 13px; align-items: center; }
.hero .button { font-size: .82rem; padding: 10px 20px; min-height: 48px; }
.hero .primary { background: #fff; border-color: #fff; color: #144fb5; }
.hero .primary:hover { background: #e9f0ff; border-color: #e9f0ff; color: #144fb5; }
.hero .primary::after { content: "↖"; font: 1.1rem/1 Arial, sans-serif; }
.hero .primary > span[aria-hidden="true"] { display: none; }
html[dir="ltr"] .hero .primary::after { content: "↗"; }
.hero .outline { color: #fff; border-color: #ffffff60; padding-inline: 17px; background: transparent; }
.hero .outline:hover { color: #fff; border-color: #ffffffb3; background: #ffffff12; }
.hero :is(a,button,.hero-carousel):focus-visible { outline-color: #fff; }
.hero-note { color: #cadbfa; font-size: .75rem; margin-top: 31px; gap: 13px; }
.hero-note span { border-color: #ffffff40; color: #fff; }
.hero-index { display: flex; flex-wrap: wrap; align-items: center; gap: 17px; color: #ceddfa; margin-top: 24px; padding-top: 12px; border-top: 1px solid #ffffff30; font-size: .66rem; line-height: 1.7; direction: ltr; }
.hero-index strong { color: #fff; font: 700 .71rem/1.5 Arial, sans-serif; letter-spacing: .1em; }
.hero-index > span + span { padding-inline-start: 17px; border-inline-start: 1px solid #ffffff30; }
.hero-art {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 345px;
  min-width: 0;
  background: transparent;
  border-radius: 0;
  isolation: isolate;
}
.hero-art::before, .hero-art::after { content: none; display: none; }
.hero-art .hero-carousel { width: 100%; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; padding: 40px 24px 62px; }
.hero-art .hero-slides { min-width: 0; }
.hero-art .hero-slide { animation: hero-slide-in .65s ease; }
.hero-art .hero-slide[hidden] { display: none; }
.hero-art .hero-slide img { height: 250px; width: 100%; aspect-ratio: auto; object-fit: contain; background: transparent; filter: drop-shadow(0 22px 17px #0b1a2940); }
.hero-art-label { position: absolute; top: 16px; inset-inline-start: 55px; color: #ceddfa; font: .59rem/1.6 Arial, sans-serif; letter-spacing: .19em; display: flex; align-items: center; gap: 12px; direction: ltr; }
.hero-art-label strong { font-size: .73rem; color: #fff; letter-spacing: .12em; border-inline-end: 1px solid #ffffff30; padding-inline-end: 13px; }
.hero-art-label span { display: block; }
.hero-badge { position: absolute; inset-inline-start: 28px; bottom: 10px; display: flex; align-items: center; gap: 14px; background: #fff; color: var(--ink); padding: 14px 19px; min-width: 172px; border-radius: 7px; box-shadow: 0 12px 40px #101f3515; }
.hero-badge strong { font: 700 2.2rem/1.2 Arial, sans-serif; color: var(--cobalt); }
.hero-badge small { display: block; max-width: 110px; font-size: .69rem; line-height: 1.9; color: #677387; }
.hero-badge > span { color: var(--brass); margin-inline-start: auto; font: 1.3rem/1 Arial, sans-serif; }
.hero-proof { border-block: 1px solid var(--line); background: #fff; }
.hero-proof.wrap, .hero-proof > .wrap { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 76px; padding-block: 14px; }
.hero-proof strong { font-size: .71rem; font-weight: 500; color: #8891a0; }
.hero-proof .proof-items, .hero-proof.wrap > div { display: flex; align-items: center; flex-wrap: wrap; gap: 40px; }
.hero-proof span, .hero-proof a { font-size: .79rem; color: #516075; }
.hero-proof.wrap > span { font-size: .71rem; font-weight: 500; color: #8891a0; }
.hero-proof .proof-items span::before, .hero-proof.wrap > div > span::before { content: ""; display: inline-block; width: 5px; height: 5px; border: 1px solid var(--brass); margin-inline-end: 11px; vertical-align: middle; }

.facts { background: var(--paper); border-bottom: 1px solid var(--line); color: var(--ink); }
.facts-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding-block: 28px; }
.facts-grid > div { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding-inline: 36px; border-inline-start: 1px solid #dce1e9; }
.facts-grid > div:first-child { padding-inline-start: 0; border: 0; }
.facts strong { font-size: 1.4rem; line-height: 1.6; font-weight: 700; color: var(--ink); }
.facts span { font-size: .75rem; color: #778295; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > .text-link { flex-shrink: 0; margin: 0; }

/* Expertise and the factory form the editorial introduction. */
.expertise-section { padding-block: 74px 78px !important; }
.expertise-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.expertise-card { position: relative; border: 0; border-bottom: 1px solid var(--line); padding: 5px 2px 23px; }
.expertise-number { display: block; color: var(--brass); font: .8rem/1.5 Arial, sans-serif; letter-spacing: .07em; margin-bottom: 20px; }
.expertise-card h3 { font-size: 1.13rem; margin-bottom: 12px; }
.expertise-card p { font-size: .86rem; color: var(--muted); margin-bottom: 12px; line-height: 1.95; }
.expertise-card a { font-size: .78rem; }
.company-intro { padding-block: 24px 80px; }
.company-intro .about-grid { display: grid; grid-template-columns: minmax(0,1fr); align-items: center; gap: 40px; }
.about-visual { margin: 0; position: relative; min-width: 0; }
.about-page-model { margin: 42px 0 58px; }
.factory-model { display: block; width: 100%; height: 600px; background: #f3f6fb; border-radius: 9px; border-start-end-radius: 75px; }
.company-intro .intro-copy { order: -1; max-width: 900px; margin-inline: auto; width: 100%; }
@media (max-width: 560px) { .factory-model { height: 280px; border-start-end-radius: 60px; } }
.about-visual > img { width: 100%; height: 345px; object-fit: cover; object-position: center; border-radius: 9px; border-start-end-radius: 75px; }
.about-stamp { position: absolute; inset-inline-end: -20px; bottom: -22px; background: var(--cobalt); color: #fff; padding: 23px 27px; border-radius: 5px; border: 7px solid #fff; }
.about-stamp strong { display: block; font: 700 1.7rem/1.2 Arial, sans-serif; }
.about-stamp span, .about-stamp small { display: block; margin-top: 5px; font-size: .62rem; line-height: 1.75; color: #e0e7ff; }
.company-intro h2 { max-width: 470px; font-size: clamp(1.85rem, 2.8vw, 2.5rem); margin-bottom: 23px; }
.intro-copy { font-size: .93rem; color: var(--muted); }
.intro-copy p { line-height: 2; font-size: .93rem; color: var(--muted); margin-bottom: 16px; }
.intro-copy p:last-child { font-size: .88rem; color: var(--muted); margin-bottom: 15px; }
.intro-copy .text-link { margin-top: 5px; }
.families-section { max-width: 1360px; padding-block: 60px 88px; }
.families-footer { display: flex; justify-content: flex-end; margin-top: 24px; }
html[dir="ltr"] .families-footer { justify-content: flex-start; }
.families-section .families { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.families-section .family-card { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: none; overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.families-section .family-card:hover { transform: translateY(-5px); border-color: #b8c8ef; box-shadow: 0 14px 30px #172a430a; }
.families-section .family-card img { height: auto; aspect-ratio: 4 / 3; width: calc(100% - 24px); margin: 12px auto 0; object-fit: contain; padding: 8px; background: #144fb5; filter: url("assets/family-background-filter.svg?v=20261012-family-blue#banner-blue-background"); }
.families-section .family-number { top: 15px; inset-inline-start: 16px; padding: 0; background: transparent; color: #8792a4; font: .65rem/1.5 Arial, sans-serif; letter-spacing: .07em; }
.families-section .family-card > div { display: flex; flex-direction: column; flex: 1; min-height: 236px; background: #fff; padding: 23px 22px 17px; border: 0; border-top: 1px solid #edf0f4; }
.families-section .family-card h3 { color: var(--ink); font-size: .98rem; line-height: 1.7; margin-bottom: 12px; }
.families-section .family-card p { color: var(--muted); font-size: .76rem; line-height: 1.95; min-height: 0; margin-bottom: 13px; }
.families-section .family-card .text-link { min-height: 44px; margin-top: auto; font-size: .73rem; color: var(--cobalt); }

/* Applications: a calm navy field, distinct from the white product catalogue. */
.industries-section { background: var(--ink); color: #fff; }
.industries-section .section { padding-block: 75px; }
.industries-section .eyebrow { color: #9db6ff; }
.industries-section h2 { color: #fff; }
.industries-section .section-heading > p { font-size: .85rem; color: #acbad0; margin: 0; max-width: 315px; }
.industry-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 21px; }
.industry-card { padding: 29px 24px 20px; border: 1px solid #ffffff13; border-radius: 9px; background: #20344e; box-shadow: none; transition: background .2s, border-color .2s, transform .2s; }
.industry-card:hover { background: #263d59; border-color: #ffffff38; transform: translateY(-4px); box-shadow: none; }
.industry-icon { color: #a1b9fe; font-size: 35px; margin-bottom: 22px; line-height: 1.25; }
.industry-card h3 { color: #fff; font-size: 1.01rem; line-height: 1.6; margin-bottom: 13px; }
.industry-card p { color: #b7c4d6; font-size: .77rem; line-height: 1.9; min-height: 64px; margin-bottom: 13px; }
.industry-card .text-link { color: #c1d0ff; font-size: .72rem; }
.material-strip { background: var(--paper); color: var(--ink); padding-block: 26px; border-bottom: 1px solid var(--line); }
.material-strip > .wrap { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.material-strip strong { font-size: .89rem; font-weight: 600; }
.material-strip .wrap > div { gap: 10px; }
.material-strip a { display: inline-flex; min-height: 44px; align-items: center; padding: 7px 20px; color: #59687d; border: 1px solid #dce2ec; border-radius: 5px; background: #fff; font-size: .78rem; }
.material-strip a:hover { color: var(--cobalt); background: #fff; border-color: var(--cobalt); }
.featured-section { padding-block: 87px !important; }
.product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.product-card { background: #fff; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; transition: border-color .2s, box-shadow .2s, transform .2s; }
.product-card:hover { border-color: #b9c8ed; box-shadow: 0 12px 27px #172a430a; transform: translateY(-3px); }
.product-photo { background: var(--paper); }
.product-photo img { object-fit: contain; height: 214px; width: 100%; padding: 15px; filter: none; }
.card-copy { padding: 20px 20px 14px; border: 0; border-top: 1px solid #edf0f4; }
.product-code { display: block; color: #8390a3; font: .66rem/1.6 Arial, sans-serif; letter-spacing: .1em; }
.card-copy h3 { min-height: 45px; margin-top: 7px; margin-bottom: 8px; font-size: .92rem; line-height: 1.7; }
.card-copy .text-link { font-size: .73rem; }
.process-section { padding-block: 20px 90px !important; }
.process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px; }
.process-step { position: relative; padding-top: 25px; border-top: 1px solid #d9e0ed; }
.step-number { display: block; font: 700 2.4rem/1.3 Arial, sans-serif; letter-spacing: -.04em; color: #d7dfee; margin-bottom: 20px; }
.process-step h3 { font-size: 1.07rem; margin-bottom: 12px; }
.process-step p { color: var(--muted); font-size: .84rem; line-height: 1.95; margin-bottom: 0; }

/* The enquiry and footer close with one clear contact action. */
.contact-band { padding-block: 56px; background: var(--cobalt); color: #fff; }
.contact-band > .wrap { display: flex; align-items: center; justify-content: space-between; gap: 42px; }
.contact-band .eyebrow { color: #d3ddff; margin-bottom: 10px; }
.contact-band h2 { color: #fff; font-size: 1.72rem; line-height: 1.6; max-width: 790px; margin-bottom: 0; }
html[lang="en"] .contact-band h2 { line-height: 1.35; }
.contact-band .primary { border: 1px solid #fff; background: #fff; color: var(--cobalt); border-radius: 5px; flex-shrink: 0; min-height: 53px; }
.contact-band .primary:hover { background: #e9eeff; border-color: #e9eeff; }
footer { background: #122238; color: #c5cdd9; padding-top: 59px; font-size: .81rem; }
.footer-grid { grid-template-columns: 1.8fr 1fr 1.2fr; gap: 70px; }
.footer-grid strong { color: #fff; font-weight: 600; margin-bottom: 18px; }
.footer-grid .footer-brand { font-size: 1.3rem; }
.footer-grid p { color: #95a4ba; font-size: .78rem; max-width: 330px; }
.footer-grid a { display: flex; align-items: center; min-height: 44px; margin-bottom: 0; color: #a9b6c9; font-size: .78rem; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { border-color: #ffffff12; color: #8291a8; font-size: .64rem; margin-top: 39px; padding-block: 22px; }
.footer-bottom span:last-child { font-size: .6rem; letter-spacing: .12em; }

/* Inner pages share the same typographic and material language. */
.page-products .section > h1, .page-gallery .section > h1, .page-contact .section > h1 { font-size: clamp(2rem, 3.4vw, 2.9rem); }
.breadcrumbs { color: #8490a1; font-size: .77rem; gap: 13px; margin-bottom: 30px; }
.breadcrumbs a { color: #69768a; }
.breadcrumbs a:hover { color: var(--cobalt); }
.filters { margin-block: 26px 33px; gap: 9px; }
.filters a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 17px; border: 1px solid var(--line); border-radius: 5px; font-size: .78rem; color: #627086; }
.filters a[aria-current] { background: var(--ink); border-color: var(--ink); color: #fff; }
.filters a:hover { border-color: var(--cobalt); }
.group-description { padding: 29px 32px; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; }
.group-description h2 { font-size: 1.5rem; }
.group-description p, .richtext p { color: var(--muted); }
.richtext h2 { font-size: 1.55rem; }
.richtext h3 { font-size: 1.05rem; }
.richtext td, .richtext th { border-color: var(--line); padding: 13px 15px; }
.richtext th { background: var(--paper); color: var(--ink); }
.richtext .note { color: #8792a3; }
.detail-grid { gap: 62px; margin-bottom: 72px; }
.detail-grid h1 { font-size: 2.2rem; }
.detail-photo { border: 1px solid var(--line); background: var(--paper); border-radius: 12px; overflow: hidden; }
.detail-photo img { object-fit: contain; height: 480px; padding: 26px; }
.product-tags a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 13px; color: #596b89; background: var(--paper); border: 1px solid var(--line); border-radius: 5px; font-size: .75rem; }
.product-tags a:hover { color: var(--cobalt); border-color: var(--cobalt); }
.family-reference { color: var(--muted); }
.family-reference summary { min-height: 44px; border-color: var(--line); }
.spec-panel h2 { font-size: 1.23rem; }
.spec-table { font-size: .84rem; }
.spec-table th, .spec-table td { border-color: var(--line); }
.spec-table th { background: var(--paper); color: var(--ink); }
.approval-note { color: #806333; background: #faf7f1; border-color: var(--brass); border-radius: 0 5px 5px 0; }
.factory-figure { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: var(--paper); }
.factory-figure figcaption { color: var(--muted); font-size: .75rem; }
.about-grid { gap: 65px; }
.capabilities { border-radius: 9px; background: var(--ink); padding: 36px; }
.capabilities h2 { color: #fff; font-size: 1.6rem; }
.capabilities .eyebrow { color: #a4baff; }
.capabilities li { color: #c0ccdd; border-color: #ffffff17; font-size: .88rem; }
.contact-content { gap: 24px; }
.contact-content article { background: var(--paper); border: 1px solid var(--line); border-radius: 9px; padding: 31px; }
.contact-content a { color: var(--cobalt); }
.contact-content address { color: var(--muted); }
.contact-content h2 { font-size: 1.5rem; }
.location-map { border-color: #d9e0eb; border-radius: 7px; }
.product-search label, .enquiry-form label { color: var(--ink); font-size: .82rem; }
.product-search input, .enquiry-form input, .enquiry-form textarea { min-height: 50px; border: 1px solid #cfd7e4; border-radius: 5px; color: var(--ink); font-size: .85rem; }
.product-search input:focus, .enquiry-form input:focus, .enquiry-form textarea:focus { outline: 3px solid #315bdc40; outline-offset: 2px; border-color: var(--cobalt); }
.results-count { color: var(--muted); font-size: .84rem; }
.results-count a, .industry-label a { color: var(--cobalt); }
.empty-results, .industry-label { background: var(--paper); border-radius: 7px; }
.enquiry-panel { background: var(--paper); border: 1px solid var(--line); border-radius: 10px; padding: 39px; gap: 54px; }
.enquiry-panel h2 { font-size: 1.8rem; }
.enquiry-panel p { color: var(--muted); font-size: .87rem; }
.enquiry-form label > span { color: #8e743e; }
.enquiry-form .form-note { font-size: .73rem; }
.enquiry-product { border-color: var(--cobalt); border-radius: 5px; }
.gallery-grid { gap: 23px; }
.gallery-item { background: #fff; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.gallery-item img { height: 245px; object-fit: contain; padding: 15px; background: var(--paper); }
.gallery-item > span { font-size: .84rem; padding: 18px 20px; }
.gallery-item small { margin-top: 3px; color: #8491a4; font-size: .71rem; }
.gallery-item:hover { border-color: #bccbef; }
dialog { color: var(--ink); border-radius: 10px; }
dialog::backdrop { background: #122238dc; }
dialog .close { color: var(--ink); min-height: 44px; }
.catalogue-download { color: var(--cobalt) !important; border-color: #bccbf0 !important; }
.catalog-group { margin-top: 60px; }

.assistant-launcher { background: var(--cobalt); min-height: 48px; border-radius: 7px; box-shadow: 0 5px 22px #172a4326; }
.assistant-launcher:hover { background: var(--cobalt-dark); }
.assistant-dialog { color: var(--ink); border-radius: 10px; }
.assistant-heading, .assistant-question { background: var(--ink); }
.assistant-close { min-width: 44px; min-height: 44px; }
.assistant-answer { background: var(--paper); }
.assistant-sources a { color: var(--cobalt); border-color: #bccbf0; }
.assistant-suggestions button { min-height: 44px; color: #627189; border-color: var(--line); border-radius: 5px; }
.assistant-status { color: #66758c; }
.assistant-form textarea { border-color: #cfd7e4; }

@media (max-width: 1200px) {
  .header-inner { gap: 16px; }
  .header-inner nav { gap: 15px; }
  .brand { gap: 9px; }
  .brand strong { font-size: .9rem; }
  .brand img { width: 58px; }
  .header-contact { padding-inline: 13px; font-size: .71rem; }
  .hero-grid, .hero-with-carousel { gap: 43px; }
  .hero-art { min-height: 335px; }
  .hero-art .hero-slide img { height: 240px; }
  .company-intro .about-grid { gap: 55px; }
  .families-section .family-card > div { padding-inline: 18px; }
  .industry-card { padding-inline: 21px; }
}

@media (max-width: 1100px) {
  .header-inner { position: relative; flex-wrap: wrap; min-height: 87px; gap: 12px; padding-block: 14px; }
  .brand { margin-inline-end: auto; }
  .brand strong, html[dir="ltr"] .brand strong { font-size: .96rem; }
  .header-contact { display: none; }
  .language { margin: 0; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 6px; justify-content: center; }
  .header-inner nav { display: none; order: 5; flex-basis: 100%; width: 100%; flex-direction: column; align-items: stretch; gap: 0; margin: 5px 0 0; border-top: 1px solid var(--line); padding-top: 8px; }
  .header-inner nav.open { display: flex; max-height: calc(100dvh - 140px); overflow-y: auto; }
  .header-inner nav > a, .header-inner nav .nav-group > a { padding: 12px 3px; min-height: 48px; font-size: .89rem; border-bottom: 1px solid #edf0f4; }
  .header-inner nav .nav-group { flex-wrap: wrap; width: 100%; }
  .header-inner nav .nav-group > a { flex: 1; }
  .header-inner nav .nav-trigger { width: 44px; min-height: 48px; }
  .header-inner nav .nav-dropdown { position: static; width: 100%; flex-basis: 100%; max-width: none; min-width: 0; padding: 4px 10px; border: 0; border-inline-start: 2px solid var(--cobalt); border-radius: 0; box-shadow: none; background: var(--paper); }
  .header-inner nav .nav-dropdown a { font-size: .82rem; }
  .hero h1 { font-size: 2.3rem; }
  html[lang="en"] .hero h1 { font-size: 2.55rem; }
  .hero-grid, .hero-with-carousel { min-height: 420px; gap: 32px; padding-block: 26px 30px; }
  .hero-art { min-height: 335px; border-radius: 0; }
  .hero-art .hero-carousel { padding: 36px 16px 56px; }
  .hero-art .hero-slide img { height: 230px; }
  .hero-art-label { inset-inline-start: 37px; top: 15px; }
  .hero-badge { inset-inline-start: 20px; bottom: 8px; padding: 11px 15px; min-width: 153px; }
  .hero-badge strong { font-size: 1.9rem; }
  .hero-proof .proof-items, .hero-proof.wrap > div { gap: 22px; }
  .families-section .families, .product-grid, .industry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .families-section .family-card > div { min-height: 190px; padding-inline: 25px; }
  .families-section .family-card img { height: auto; padding-inline: 8px; }
  .industry-card p { min-height: 0; }
  .expertise-grid { gap: 24px; }
  .expertise-card h3 { font-size: 1.05rem; }
  .company-intro .about-grid { gap: 45px; }
  .about-visual > img { height: 325px; }
  .about-stamp { inset-inline-end: -14px; }
  .detail-grid { gap: 38px; }
  .detail-photo img { height: 390px; }
  .enquiry-panel { padding: 30px; gap: 32px; }
}

@media (max-width: 800px) {
  .wrap, .families-section { padding-inline: 25px; }
  .section, .section:not(.company-intro):not(.families-section) { padding-block: 62px; }
  .topline .wrap { min-height: 33px; font-size: .64rem; gap: 12px; }
  .topline .topline-contact { gap: 15px; }
  .topline .topline-contact a + a { display: none; }
  .header-inner { min-height: 86px; }
  .brand img { width: 61px; height: 47px; }
  .hero-grid, .hero-with-carousel { grid-template-columns: minmax(0,1fr); min-height: 0; gap: 16px; padding-block: 28px 30px; }
  .hero-with-carousel .hero-copy { max-width: 625px; padding: 0; }
  .hero h1 { font-size: 2.25rem; max-width: 620px; line-height: 1.4; }
  html[lang="en"] .hero h1 { font-size: 2.65rem; max-width: 570px; }
  .hero .lead { max-width: 600px; }
  .hero-index { margin-top: 24px; }
  .hero-art { min-height: 300px; max-width: 580px; width: 100%; justify-self: center; border-radius: 0; }
  .hero-art .hero-carousel { padding: 32px 25px 58px; }
  .hero-art .hero-slide img { height: 215px; }
  .hero-art-label { inset-inline-start: 46px; top: 14px; }
  .hero-badge { bottom: 7px; inset-inline-start: 23px; }
  .hero-proof.wrap, .hero-proof > .wrap { min-height: 91px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; }
  .hero-proof .proof-items, .hero-proof.wrap > div { gap: 12px 22px; }
  .hero-proof span, .hero-proof a { font-size: .75rem; }
  .facts-grid { padding-block: 23px; }
  .facts-grid > div { padding-inline: 20px; }
  .facts strong { font-size: 1.14rem; }
  .facts span { font-size: .67rem; }
  .expertise-section { padding-block: 57px 50px !important; }
  .expertise-grid { gap: 20px; }
  .expertise-card h3 { font-size: .94rem; }
  .expertise-card p { font-size: .78rem; }
  .expertise-number { margin-bottom: 15px; }
  .company-intro { padding-block: 13px 42px; }
  .company-intro .about-grid { grid-template-columns: minmax(0,1fr); gap: 51px; }
  .about-visual { width: 100%; max-width: 580px; }
  .about-visual > img { height: 335px; }
  .about-stamp { inset-inline-end: 15px; bottom: -20px; }
  .company-intro h2 { max-width: none; font-size: 2.1rem; }
  .families-section { padding-block: 25px 60px; }
  .section-heading { margin-bottom: 27px; gap: 20px; }
  .section-heading h2 { font-size: 1.85rem; }
  .families-section .families { gap: 20px; }
  .families-section .family-card img { height: auto; }
  .families-section .family-card > div { min-height: 214px; padding: 22px 21px 15px; }
  .industries-section .section { padding-block: 55px; }
  .material-strip > .wrap { align-items: flex-start; flex-direction: column; gap: 14px; }
  .material-strip { padding-block: 25px; }
  .featured-section { padding-block: 59px !important; }
  .product-photo img { height: 230px; }
  .process-section { padding-block: 8px 65px !important; }
  .process-grid { gap: 26px; }
  .process-step h3 { font-size: .95rem; }
  .process-step p { font-size: .78rem; }
  .contact-band { padding-block: 43px; }
  .contact-band > .wrap { gap: 25px; flex-direction: column; align-items: flex-start; }
  .contact-band h2 { font-size: 1.6rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 29px; }
  .footer-grid > div:first-child { grid-column: 1/-1; }
  .footer-bottom { margin-top: 28px; flex-direction: column; gap: 5px; }
  .about-grid, .detail-grid, .contact-content { grid-template-columns: minmax(0,1fr); gap: 29px; }
  .detail-grid { margin-bottom: 51px; }
  .detail-photo img { height: 380px; }
  .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 19px; }
  .gallery-item img { height: 215px; }
  .enquiry-panel { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .factory-figure img { aspect-ratio: 2.5/1; }
}

@media (max-width: 600px) {
  .topline .wrap { justify-content: center; flex-wrap: nowrap; }
  .topline .wrap > span { display: none; }
  .topline .topline-contact { flex-wrap: nowrap; justify-content: center; }
  .topline a { white-space: nowrap; }
}

@media (max-width: 560px) {
  .wrap, .families-section { padding-inline: 21px; }
  body { font-size: 15px; }
  h1 { font-size: 2rem; }
  h2 { font-size: 1.65rem; }
  .topline .wrap > span { max-width: none; font-size: .59rem; }
  .topline .wrap { gap: 8px; min-height: 31px; }
  .topline a { font-size: .63rem; min-height: 31px; }
  .header-inner { min-height: 80px; gap: 9px; padding-block: 12px; }
  .brand { gap: 9px; }
  .brand img { width: 49px; height: 42px; }
  .brand strong, html[dir="ltr"] .brand strong { font-size: .81rem; max-width: 168px; white-space: normal; line-height: 1.5; }
  .brand small { font-size: .48rem; letter-spacing: .08em; }
  .language { min-width: 44px; font-size: .72rem; padding-inline: 7px; }
  .menu-toggle { min-width: 44px; padding: 6px 9px; font-size: 0; gap: 0; }
  .menu-toggle span { font-size: 1rem; margin: 0; }
  .header-inner nav.open { max-height: calc(100dvh - 120px); }
  .hero-grid, .hero-with-carousel { padding-block: 24px 26px; gap: 14px; }
  .hero::before { display: none; }
  .hero .eyebrow { font-size: .61rem; margin-bottom: 12px; letter-spacing: 0; }
  html[lang="en"] .hero .eyebrow { font-size: .55rem; letter-spacing: .05em; }
  .hero h1 { font-size: 2rem; line-height: 1.4; margin-bottom: 12px; }
  html[lang="en"] .hero h1 { font-size: 2.35rem; line-height: 1.12; }
  .hero .lead { font-size: .86rem; line-height: 1.85; }
  html[lang="en"] .hero .lead { font-size: .92rem; }
  .hero .actions { gap: 6px; margin-top: 16px; }
  .hero .button { font-size: .72rem; min-height: 44px; padding: 9px 12px; gap: 9px; }
  .hero .outline { padding-inline: 10px; }
  .hero-index { margin-top: 16px; padding-top: 10px; gap: 11px; font-size: .59rem; }
  .hero-index strong { font-size: .65rem; }
  .hero-index > span + span { padding-inline-start: 11px; }
  .hero-note { font-size: .67rem; margin-top: 22px; }
  .hero-art { min-height: 245px; border-radius: 0; }
  .hero-art .hero-carousel { padding: 26px 13px 52px; }
  .hero-art .hero-slide img { height: 165px; }
  .hero-art-label { inset-inline-start: 31px; top: 6px; font-size: .48rem; letter-spacing: .12em; gap: 9px; }
  .hero-art-label strong { font-size: .64rem; padding-inline-end: 10px; }
  .hero-badge { inset-inline-start: 15px; bottom: 0; gap: 10px; min-width: 136px; padding: 9px 13px; border-radius: 5px; }
  .hero-badge strong { font-size: 1.7rem; }
  .hero-badge small { font-size: .58rem; max-width: 91px; }
  .hero-proof.wrap, .hero-proof > .wrap { padding-block: 15px; gap: 6px; }
  .hero-proof .proof-items, .hero-proof.wrap > div { gap: 7px 17px; }
  .hero-proof span, .hero-proof a { font-size: .66rem; }
  .hero-proof strong, .hero-proof.wrap > span { font-size: .63rem; }
  .hero-proof .proof-items span::before, .hero-proof.wrap > div > span::before { margin-inline-end: 7px; }
  .facts-grid { padding-block: 21px; }
  .facts-grid > div { padding-inline: 12px; gap: 4px; }
  .facts strong { font-size: 1rem; line-height: 1.5; }
  .facts span { font-size: .6rem; line-height: 1.6; }
  .facts-grid > div:last-child strong { font-size: .81rem; }
  .section, .section:not(.company-intro):not(.families-section) { padding-block: 47px; }
  .eyebrow { font-size: .66rem; margin-bottom: 12px; }
  .expertise-section { padding-block: 42px 40px !important; }
  .expertise-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .expertise-card { padding: 0 0 14px; }
  .expertise-number { float: inline-start; margin: 3px 0 0; margin-inline-end: 14px; font-size: .7rem; }
  .expertise-card h3 { font-size: 1.01rem; margin-bottom: 10px; }
  .expertise-card p { font-size: .81rem; margin-bottom: 4px; }
  .expertise-card .text-link { font-size: .73rem; }
  .company-intro { padding-block: 6px 35px; }
  .company-intro .about-grid { gap: 42px; }
  .about-visual > img { height: 258px; border-start-end-radius: 60px; }
  .about-stamp { padding: 17px 19px; border-width: 5px; inset-inline-end: 10px; bottom: -20px; }
  .about-stamp strong { font-size: 1.4rem; }
  .about-stamp span, .about-stamp small { font-size: .56rem; }
  .company-intro h2 { font-size: 1.78rem; margin-bottom: 17px; }
  .intro-copy, .intro-copy p, .intro-copy p:last-child { font-size: .84rem; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 24px; }
  .section-heading h2 { font-size: 1.67rem; }
  .section-heading > .text-link { font-size: .74rem; }
  .families-section { padding-block: 13px 47px; }
  .families-section .families { gap: 13px; }
  .families-section .family-card { border-radius: 9px; }
  .families-section .family-card img { height: auto; padding: 6px; }
  .families-section .family-number { top: 11px; inset-inline-start: 12px; font-size: .57rem; }
  .families-section .family-card > div { padding: 17px 13px 11px; min-height: 215px; }
  .families-section .family-card h3 { font-size: .85rem; line-height: 1.65; margin-bottom: 9px; }
  .families-section .family-card p { font-size: .67rem; line-height: 1.9; margin-bottom: 9px; }
  .families-section .family-card .text-link { font-size: .63rem; gap: 7px; }
  .text-link::after { font-size: 1rem; }
  .industries-section .section { padding-block: 44px; }
  .industry-grid { gap: 13px; }
  .industry-card { padding: 23px 16px 15px; border-radius: 7px; }
  .industry-icon { font-size: 29px; margin-bottom: 16px; }
  .industry-card h3 { font-size: .86rem; margin-bottom: 10px; }
  .industry-card p { font-size: .69rem; line-height: 1.85; margin-bottom: 8px; }
  .industry-card .text-link { font-size: .63rem; gap: 7px; }
  .material-strip { padding-block: 23px; }
  .material-strip strong { font-size: .8rem; }
  .material-strip a { font-size: .72rem; padding-inline: 14px; }
  .material-strip .wrap > div { gap: 8px; }
  .featured-section { padding-block: 47px !important; }
  .product-grid { gap: 13px; }
  .product-photo img { height: 161px; padding: 10px; }
  .card-copy { padding: 15px 13px 10px; }
  .product-code { font-size: .6rem; }
  .card-copy h3 { font-size: .79rem; min-height: 46px; line-height: 1.7; margin-top: 6px; margin-bottom: 4px; }
  .card-copy .text-link { font-size: .66rem; gap: 6px; }
  .process-section { padding-block: 4px 47px !important; }
  .process-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .process-step { padding-top: 18px; }
  .step-number { font-size: 1.75rem; float: inline-start; margin: 2px 0 0; margin-inline-end: 21px; }
  .process-step h3 { font-size: 1rem; margin-bottom: 8px; }
  .process-step p { font-size: .82rem; }
  .contact-band { padding-block: 37px; }
  .contact-band > .wrap { gap: 22px; }
  .contact-band h2 { font-size: 1.48rem; }
  .contact-band .button { min-height: 49px; font-size: .78rem; }
  footer { padding-top: 43px; }
  .footer-grid { gap: 22px 18px; }
  .footer-grid strong { font-size: .83rem; margin-bottom: 13px; }
  .footer-grid .footer-brand { font-size: 1.11rem; }
  .footer-grid p { font-size: .73rem; }
  .footer-grid a { font-size: .7rem; overflow-wrap: anywhere; }
  .footer-bottom { font-size: .59rem; }
  .footer-bottom span:last-child { font-size: .54rem; }
  .page-products .section > h1, .page-gallery .section > h1, .page-contact .section > h1 { font-size: 1.92rem; }
  .lead { font-size: .91rem; }
  .product-search > div { flex-direction: column; }
  .product-search { margin-block: 26px; }
  .filters { gap: 7px; margin-block: 24px; }
  .filters a { font-size: .72rem; padding-inline: 12px; }
  .group-description { padding: 23px 20px; }
  .group-description h2 { font-size: 1.3rem; }
  .richtext table { font-size: .78rem; }
  .richtext td, .richtext th { padding: 10px 9px; font-size: .77rem; }
  .breadcrumbs { gap: 9px; font-size: .69rem; margin-bottom: 22px; }
  .detail-photo img { height: 315px; padding: 20px; }
  .detail-grid h1 { font-size: 1.78rem; }
  .spec-table { font-size: .77rem; }
  .spec-table th, .spec-table td { padding: 11px 9px; }
  .approval-note { font-size: .75rem; }
  .capabilities { padding: 28px; }
  .capabilities h2 { font-size: 1.4rem; }
  .contact-content article { padding: 25px; }
  .enquiry-panel { margin-top: 32px; padding: 23px 19px; gap: 21px; }
  .enquiry-panel h2 { font-size: 1.55rem; }
  .form-pair { grid-template-columns: minmax(0,1fr); }
  .enquiry-form button { width: 100%; }
  .gallery-grid { gap: 13px; }
  .gallery-item img { height: 165px; padding: 10px; }
  .gallery-item > span { padding: 14px 12px; font-size: .75rem; }
  .gallery-item small { font-size: .62rem; }
  .factory-figure img { aspect-ratio: 2/1; }
  .factory-figure figcaption { font-size: .68rem; padding: 12px 14px; }
  .assistant-launcher { font-size: .75rem; padding: 10px 13px; bottom: 16px; inset-inline-end: 16px; }
}

@media (max-width: 360px) {
  .wrap, .families-section { padding-inline: 17px; }
  .brand strong, html[dir="ltr"] .brand strong { font-size: .75rem; max-width: 132px; }
  .brand small { font-size: .42rem; }
  .brand img { width: 42px; }
  .header-inner { gap: 7px; }
  .hero h1 { font-size: 2rem; }
  html[lang="en"] .hero h1 { font-size: 2.4rem; }
  .families-section .families, .product-grid, .gallery-grid { grid-template-columns: minmax(0,1fr); }
  .families-section .family-card img { height: auto; }
  .families-section .family-card > div { min-height: 0; padding: 21px; }
  .families-section .family-card h3 { font-size: 1rem; }
  .families-section .family-card p { font-size: .8rem; }
  .families-section .family-card .text-link { font-size: .74rem; }
  .product-photo img, .gallery-item img { height: 230px; }
  .card-copy h3 { min-height: 0; font-size: .93rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .family-card:hover, .product-card:hover, .industry-card:hover { transform: none !important; }
}

@media print {
  :root { --ink: #000; --muted: #333; }
  body { color: #000; background: #fff; font-size: 10pt; line-height: 1.6; }
  header, .topline, footer, .contact-band, .material-strip, .button, .skip,
  .text-link, .product-search, .filters, .enquiry-panel, .assistant-launcher,
  .assistant-dialog, .hero-proof, .approval-note { display: none !important; }
  .wrap, .families-section { max-width: none; padding-inline: 0; }
  .section, .section:not(.company-intro):not(.families-section), .featured-section,
  .expertise-section, .company-intro, .families-section, .process-section { padding-block: 0 !important; }
  h1 { font-size: 24pt; }
  h2 { font-size: 18pt; }
  h3 { font-size: 11pt; }
  .catalog-group { break-before: page; margin: 0; }
  .catalog-group:first-of-type { break-before: auto; }
  .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
  .families-section .family-card img { filter: none; background: #fff; }
  .product-card { break-inside: avoid; border: 1px solid #ccc; box-shadow: none; border-radius: 3px; }
  .product-photo img { height: 105px; padding: 6px; }
  .card-copy { padding: 9px; border-top: 1px solid #ddd; }
  .card-copy h3 { min-height: 0; font-size: 10pt; }
  .product-code { color: #555; font-size: 8pt; }
  .richtext td, .richtext th, .spec-table td, .spec-table th { font-size: 9pt; padding: 7px 9px; }
  .spec-table { break-inside: avoid; }
  .detail-grid { gap: 22px; }
  .hero, .hero-art, .industries-section, .industry-card { background: #fff; color: #000; }
  .hero h1, .hero .lead, .hero .eyebrow, .hero-index, .hero-index strong,
  .hero-note, .hero-note span, .hero-art-label, .hero-art-label strong,
  .hero .button { color: #000; }
  .hero-index, .hero-index > span + span, .hero-note span { border-color: #ccc; }
  .hero .button { background: #fff; border-color: #ccc; }
  .industries-section h2, .industry-card h3, .industry-card p { color: #000; }
  @page { size: A4; margin: 15mm; }
}

/* Animated ceramic manufacturing journey */
.ceramic-journey{position:relative;isolation:isolate;overflow:hidden;margin-block:8px 30px;padding:clamp(26px,4vw,54px);border-radius:26px;background:linear-gradient(125deg,#f5f7fb 0%,#fff 52%,#f4f7fc 100%);border:1px solid #e4eaf3}.journey-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;max-width:1000px;margin-inline:auto}.journey-heading h2{max-width:760px;margin:8px 0 10px;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.6}.journey-heading p{max-width:680px;color:var(--muted);line-height:1.9;margin:0}.journey-toggle{flex:none;border:1px solid #d4dce8;background:#fff;border-radius:22px;padding:9px 15px;color:var(--ink);font:inherit;font-size:.78rem;cursor:pointer}.journey-toggle:hover{border-color:var(--cobalt);color:var(--cobalt)}.journey-track{position:absolute;z-index:-1;left:13%;right:13%;top:55%;height:3px;background:linear-gradient(90deg,#d6dfef,#a9bad5,#d6dfef);direction:ltr}.journey-track>span{position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#bd7748,#ce9c70,#e98045,#356dde);animation:journey-line 15s linear infinite}.journey-track>i{position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;border:3px solid white;border-radius:50%;background:#8da0bd;box-shadow:0 0 0 1px #cad4e2}.journey-track>i:nth-of-type(1){left:0}.journey-track>i:nth-of-type(2){left:33.33%}.journey-track>i:nth-of-type(3){left:66.66%}.journey-track>i:nth-of-type(4){right:0}.journey-track::after{content:"";position:absolute;top:-5px;left:0;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid #356dde;box-shadow:0 0 16px #356dde99;animation:journey-orb 15s linear infinite}.journey-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,25px);list-style:none;margin:38px 0 0;padding:0}.journey-step{position:relative;min-width:0;padding:18px 18px 20px;border:1px solid #e3e9f2;border-radius:17px;background:#ffffffed;box-shadow:0 10px 30px #1a31500a;animation:journey-focus 15s infinite;transition:border-color .25s,box-shadow .25s}.journey-step:nth-child(2){animation-delay:3.75s}.journey-step:nth-child(3){animation-delay:7.5s}.journey-step:nth-child(4){animation-delay:11.25s}.journey-index{position:absolute;top:14px;inset-inline-start:14px;color:#8290a3;font:700 .69rem Arial,sans-serif;letter-spacing:.08em}.journey-illustration{display:grid;place-items:center;height:137px;margin:2px 0 12px}.journey-illustration svg{width:164px;height:128px;overflow:visible}.mineral-pile,.scoop{fill:#b77b50}.mineral-highlight{fill:none;stroke:#e0b58e;stroke-width:3;stroke-linecap:round}.tray,.mixer-base,.press-foot,.kiln-base{fill:#52637b}.scoop-handle{stroke:#52637b;stroke-width:5;stroke-linecap:round}.grain{fill:#cb8e5d;animation:grain-drop 2.4s ease-in infinite}.g2{animation-delay:.8s}.g3{animation-delay:1.6s}.mixer-top,.mixer-rim,.mixer-arm{fill:#7587a0}.mixer-bowl{fill:#dce4ef;stroke:#71839b;stroke-width:3}.mixer-shaft{fill:#344967;transform-origin:90px 78px;animation:mixer-turn 2s linear infinite}.mixer-knob{fill:#356dde}.press-frame,.die{fill:#536780}.press-head{fill:#356dde;animation:press-down 3.75s ease-in-out infinite}.press-ram{fill:#8495aa;animation:ram-down 3.75s ease-in-out infinite}.formed-clay{fill:#bd8358;animation:clay-form 3.75s ease-in-out infinite}.kiln{fill:#63738a}.kiln-door{fill:#8998ab}.kiln-inside{fill:#26364c}.kiln-shelf{fill:#9ba7b6}.kiln-fire{fill:#f2994a;transform-origin:center bottom;animation:kiln-flame .7s ease-in-out infinite alternate}.f2{fill:#ffd166;animation-delay:.23s}.finished-piece{fill:#f0ece3;stroke:#d0c7b9;stroke-width:2}.kiln-light{fill:#ffad62;filter:drop-shadow(0 0 4px #ff9b48);animation:kiln-glow 1.4s ease-in-out infinite alternate}.journey-step h3{margin:0 0 7px;font-size:1rem;line-height:1.8}.journey-step p{margin:0;color:#627087;font-size:.78rem;line-height:1.95}.journey-foot{display:flex;justify-content:center;gap:8px;margin-top:23px;color:#687991;font-size:.75rem}.journey-foot span{color:#356dde;font:700 .7rem Arial,sans-serif;letter-spacing:.1em}.ceramic-journey.is-paused *, .ceramic-journey.is-paused *::before,.ceramic-journey.is-paused *::after{animation-play-state:paused!important}
@keyframes journey-line{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}@keyframes journey-orb{0%{left:0}100%{left:calc(100% - 19px)}}@keyframes journey-focus{0%,21%,100%{border-color:#e3e9f2;box-shadow:0 10px 30px #1a31500a;transform:translateY(0)}5%,17%{border-color:#8faee9;box-shadow:0 12px 34px #356dde20;transform:translateY(-4px)}}@keyframes grain-drop{0%{transform:translateY(-13px);opacity:0}25%{opacity:1}85%,100%{transform:translateY(22px);opacity:0}}@keyframes mixer-turn{to{transform:rotate(360deg)}}@keyframes press-down{0%,15%,80%,100%{transform:translateY(0)}35%,58%{transform:translateY(10px)}}@keyframes ram-down{0%,15%,80%,100%{transform:translateY(0)}35%,58%{transform:translateY(10px)}}@keyframes clay-form{0%,20%{transform:scaleY(.65) translateY(8px)}55%,100%{transform:scaleY(1)}}@keyframes kiln-flame{to{transform:scale(.84) translateY(2px);opacity:.72}}@keyframes kiln-glow{to{opacity:.45;filter:drop-shadow(0 0 1px #ff9b48)}}
@media(max-width:900px){.ceramic-journey{padding:28px}.journey-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.journey-track{top:57%;left:12%;right:12%;transform:rotate(90deg);width:75%;left:12%;right:auto;top:51%;opacity:.35}.journey-step:nth-child(3),.journey-step:nth-child(4){margin-top:8px}.journey-heading{align-items:flex-start}.journey-toggle{font-size:.7rem}}
@media(max-width:560px){.ceramic-journey{padding:22px 16px;border-radius:18px}.journey-heading{display:block}.journey-toggle{margin-top:16px}.journey-steps{gap:10px;margin-top:24px}.journey-step{padding:14px 12px}.journey-illustration{height:105px}.journey-illustration svg{width:136px;height:105px}.journey-step h3{font-size:.89rem}.journey-step p{font-size:.7rem}.journey-track{display:none}}
@media(prefers-reduced-motion:reduce){.journey-step,.journey-track>span,.journey-track::after,.grain,.mixer-shaft,.press-head,.press-ram,.formed-clay,.kiln-fire,.kiln-light{animation:none!important}.journey-toggle{display:none}}
/* Documentary process frames replace the schematic icons with real equipment imagery. */
.journey-track>span{transform-origin:right;animation-name:journey-line-rtl}.journey-track::after{animation-name:journey-orb-rtl}.journey-illustration{position:relative;display:block;height:340px;overflow:hidden;border-radius:12px;background-image:linear-gradient(180deg,#0c1b3020 0%,transparent 32%,transparent 72%,#0c1b3030 100%),url('/templates/robat_consultar/assets/ceramic-process-storyboard.png');background-repeat:no-repeat;background-size:400% auto,400% auto;background-position:0 50%,0 50%;box-shadow:inset 0 0 0 1px #20344a20}.journey-step:nth-child(2) .journey-illustration{background-position:0 50%,33.333% 50%}.journey-step:nth-child(3) .journey-illustration{background-position:0 50%,66.666% 50%}.journey-step:nth-child(4) .journey-illustration{background-position:0 50%,100% 50%}.journey-illustration svg{display:none}.journey-index{z-index:1;padding:5px 8px;border-radius:5px;background:#10243dbb;color:#fff}.journey-step{animation-name:journey-focus-rtl}.journey-step h3{font-size:1.02rem}.journey-step p{font-size:.81rem}.journey-step:nth-child(4) .journey-illustration{box-shadow:inset 0 0 0 1px #e9934840}
@keyframes journey-line-rtl{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}@keyframes journey-orb-rtl{0%{left:calc(100% - 19px)}100%{left:0}}@keyframes journey-focus-rtl{0%,21%,100%{border-color:#e3e9f2;box-shadow:0 10px 30px #1a31500a;transform:translateY(0)}5%,17%{border-color:#8faee9;box-shadow:0 12px 34px #356dde20;transform:translateY(-4px)}}
@media(max-width:900px){.journey-track{transform:none;top:57%;width:auto;left:12%;right:12%;opacity:.35}.journey-illustration{height:clamp(250px,44vw,340px)}}
@media(max-width:560px){.journey-illustration{height:clamp(220px,70vw,310px)}.journey-step p{font-size:.72rem}}
html[dir="ltr"] .journey-track>span{transform-origin:left;animation-name:journey-line}@keyframes journey-focus-ltr{0%,21%,100%{border-color:#e3e9f2;box-shadow:0 10px 30px #1a31500a;transform:translateY(0)}5%,17%{border-color:#8faee9;box-shadow:0 12px 34px #356dde20;transform:translateY(-4px)}}html[dir="ltr"] .journey-track::after{animation-name:journey-orb}@media(max-width:900px){html[dir="ltr"] .journey-track{transform:none}}
/* Photo-sequence process animation: one cinematic frame, synchronized stage copy and controls. */
.ceramic-journey .journey-track,.ceramic-journey .journey-steps{display:none}.ceramic-journey{padding:clamp(26px,4vw,54px)}.journey-motion{display:grid;grid-template-columns:minmax(0,.82fr) minmax(330px,.62fr);align-items:center;gap:clamp(32px,6vw,88px);max-width:1060px;margin:34px auto 25px}.journey-stage-copy{max-width:510px}.journey-stage-kicker{display:flex;align-items:center;gap:8px;color:#77869c;font:700 .7rem/2 Arial,sans-serif;letter-spacing:.08em}.journey-stage-kicker b{color:#356dde;font-size:1rem}.journey-stage-kicker [data-stage-label]{font:500 .72rem/1.8 inherit;letter-spacing:.03em}.journey-stage-copy h3{margin:16px 0 10px;font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.55;color:#14243a}.journey-stage-copy>p{min-height:5.5em;margin:0;color:#596a80;font-size:.95rem;line-height:2.1}.journey-controls{display:flex;gap:10px;margin-top:22px;direction:ltr}.journey-controls button{width:42px;height:42px;border:1px solid #d6deea;border-radius:50%;background:#fff;color:#263c58;font:26px/1 Arial,sans-serif;cursor:pointer;transition:.2s}.journey-controls button:hover{background:#356dde;color:#fff;border-color:#356dde}.journey-stage-copy .journey-foot{justify-content:flex-start;margin-top:30px}.journey-stage-photo{position:relative;width:100%;max-width:470px;justify-self:center;aspect-ratio:.72;max-height:650px;overflow:hidden;border-radius:18px;background:#17263a;box-shadow:0 24px 60px #15243b30;isolation:isolate;transition:opacity .28s,transform .5s}.journey-stage-photo::before{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,#0b172c70,transparent 19%,transparent 77%,#0b172c28),url('/templates/robat_consultar/assets/ceramic-process-storyboard.png');background-repeat:no-repeat;background-size:500% auto,500% auto;background-position:0 50%,var(--frame-position,0%) 50%;animation:process-camera-move 5.1s ease-in-out infinite alternate;transition:filter .35s}.journey-stage-photo.is-transitioning{opacity:.55;transform:scale(.985)}.journey-stage-photo>span:first-child{position:absolute;top:17px;inset-inline-start:17px;z-index:2;padding:7px 10px;border:1px solid #ffffff50;border-radius:6px;background:#0c192bbd;color:#fff;font:700 .7rem/1 Arial,sans-serif;letter-spacing:.1em;direction:ltr;unicode-bidi:isolate;backdrop-filter:blur(6px)}.journey-photo-sweep{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.13;background:linear-gradient(115deg,transparent 35%,#ddebff 48%,transparent 58%);transform:translateX(-120%);animation:process-sweep 5.1s ease-in-out infinite}.journey-timeline{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:1060px;margin:0 auto;padding:0;list-style:none}.journey-timeline::before{content:"";position:absolute;top:8px;left:0;right:0;height:2px;background:#dce3ee}.journey-timeline li{position:relative;min-width:0}.journey-timeline button{position:relative;display:grid;grid-template-rows:16px auto;justify-items:start;gap:12px;width:100%;padding:0;border:0;background:none;text-align:start;color:#7a8798;cursor:pointer}.journey-timeline button>span{z-index:1;display:grid;place-items:center;width:17px;height:17px;border:2px solid #c8d2e1;border-radius:50%;background:#f8f9fc;color:transparent;font-size:0;transition:.25s}.journey-timeline button>b{font-size:.73rem;line-height:1.7;font-weight:600}.journey-timeline button[aria-current=step]{color:#1d3e76}.journey-timeline button[aria-current=step]>span{border-color:#356dde;background:#356dde;box-shadow:0 0 0 4px #356dde20}.journey-timeline button[aria-current=step]>i{position:absolute;z-index:2;top:7px;left:0;width:0;height:2px;background:#356dde;animation:timeline-stage 5.1s linear forwards}.journey-timeline button:focus-visible,.journey-toggle:focus-visible,.journey-controls button:focus-visible{outline:3px solid #8bb2ff;outline-offset:4px;border-radius:5px}.journey-toggle{border-color:#cfd9e7}.ceramic-journey.is-paused .journey-stage-photo::before,.ceramic-journey.is-paused .journey-photo-sweep,.ceramic-journey.is-paused .journey-timeline button[aria-current=step]>i{animation-play-state:paused!important}.journey-toggle[hidden]{display:none!important}
@keyframes process-camera-move{from{transform:scale(1.015)}to{transform:scale(1.075)}}@keyframes process-sweep{0%,25%{transform:translateX(-120%);opacity:0}40%{opacity:.14}75%,100%{transform:translateX(120%);opacity:0}}@keyframes timeline-stage{to{width:100%}}
@media(max-width:760px){.journey-motion{grid-template-columns:1fr;gap:22px;margin-top:24px}.journey-stage-copy{grid-row:2;max-width:none}.journey-stage-photo{grid-row:1;width:min(100%,430px);aspect-ratio:.82;max-height:none}.journey-stage-copy h3{margin:9px 0}.journey-stage-copy>p{min-height:0}.journey-stage-copy .journey-foot{margin-top:22px}.journey-timeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.journey-timeline button>b{font-size:.62rem;line-height:1.5}.journey-timeline button{gap:8px}.journey-timeline button[aria-current=step]>i{display:none}}
@media(max-width:430px){.journey-timeline{grid-template-columns:repeat(5,minmax(54px,1fr));overflow-x:auto;padding-bottom:8px}.journey-stage-photo{aspect-ratio:.78}.journey-toggle{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.journey-stage-photo::before,.journey-photo-sweep,.journey-timeline button[aria-current=step]>i{animation:none!important}.journey-stage-photo::before{transform:none}}
/* Injection-molded ceramic electrode route: six aligned visual stages. */
.injection-journey .journey-stage-photo::before{background-image:linear-gradient(180deg,#0b172c70,transparent 19%,transparent 77%,#0b172c28),url('/templates/robat_consultar/assets/ceramic-injection-storyboard.png');background-size:600% auto,600% auto}
.injection-journey .journey-timeline{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:760px){.injection-journey .journey-timeline{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:430px){.injection-journey .journey-timeline{grid-template-columns:repeat(6,minmax(58px,1fr))}}
/* Image-led injection sequence: six frames in one row, lifting and enlarging in turn. */
.injection-journey{overflow:visible}.injection-journey .journey-heading{align-items:center;margin-bottom:8px}.injection-journey .journey-heading h2{margin-bottom:0}.injection-sequence{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:clamp(8px,1.35vw,18px);direction:ltr;padding:42px 18px 28px;overflow:visible}.injection-frame{position:relative;z-index:0;display:block;width:100%;aspect-ratio:.82;padding:0;border:1px solid #dbe2ec;border-radius:13px;background-color:#e6ebf1;background-image:url('/templates/robat_consultar/assets/ceramic-injection-storyboard.png');background-repeat:no-repeat;background-size:600% auto;background-position:var(--frame-position) 50%;box-shadow:0 8px 22px #1b2d450c;opacity:.76;transform:scale(.91);transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .35s,box-shadow .4s,border-color .35s;cursor:pointer}.injection-frame>span{position:absolute;top:9px;left:9px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #ffffff80;border-radius:50%;background:#14243bbd;color:white;font:700 .68rem Arial,sans-serif;direction:ltr}.injection-frame.is-active{z-index:2;opacity:1;transform:translateY(-20px) scale(1.14);border-color:#5483df;box-shadow:0 24px 42px #2038582c}.injection-frame:focus-visible{z-index:3;outline:3px solid #8bb2ff;outline-offset:4px}.injection-journey.is-paused .injection-frame{transition-duration:.2s}
@media(max-width:760px){.injection-sequence{grid-template-columns:repeat(6,minmax(112px,1fr));gap:8px;padding:38px 12px 22px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#bbc8da transparent;scrollbar-width:thin}.injection-frame{aspect-ratio:.8}.injection-frame.is-active{transform:translateY(-15px) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.injection-frame,.injection-frame.is-active{transform:none;transition:none}}
/* Pressed ceramic route uses the same image-led sequence as injection molding. */
.pressed-journey{overflow:visible}.pressed-journey .journey-heading{align-items:center;margin-bottom:8px}.pressed-journey .journey-heading h2{margin-bottom:0}.pressed-sequence{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:clamp(8px,1.5vw,20px);direction:ltr;padding:42px 18px 28px;overflow:visible}.pressed-frame{position:relative;z-index:0;display:block;width:100%;aspect-ratio:.82;padding:0;border:1px solid #dbe2ec;border-radius:13px;background-color:#e6ebf1;background-image:url('/templates/robat_consultar/assets/ceramic-process-storyboard.png');background-repeat:no-repeat;background-size:500% auto;background-position:var(--frame-position) 50%;box-shadow:0 8px 22px #1b2d450c;opacity:.76;transform:scale(.91);transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .35s,box-shadow .4s,border-color .35s;cursor:pointer}.pressed-frame>span{position:absolute;top:9px;left:9px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #ffffff80;border-radius:50%;background:#14243bbd;color:white;font:700 .68rem Arial,sans-serif;direction:ltr}.pressed-frame.is-active{z-index:2;opacity:1;transform:translateY(-20px) scale(1.14);border-color:#5483df;box-shadow:0 24px 42px #2038582c}.pressed-frame:focus-visible{z-index:3;outline:3px solid #8bb2ff;outline-offset:4px}
@media(max-width:760px){.pressed-sequence{grid-template-columns:repeat(5,minmax(112px,1fr));gap:8px;padding:38px 12px 22px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#bbc8da transparent;scrollbar-width:thin}.pressed-frame{aspect-ratio:.8}.pressed-frame.is-active{transform:translateY(-15px) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.pressed-frame,.pressed-frame.is-active{transform:none;transition:none}}

/* Robat product image backgrounds 20261016-product-images */
.product-photo,.product-photo img,.detail-photo,.detail-photo img,.gallery-item img{background-color:#144fb5;}
