/* Imported by styles.css: buyer-journey.css */
#product-catalog-title{scroll-margin-top:calc(var(--site-header-height,80px) + 1.5rem)}
.buyer-use-chooser{max-width:1440px;margin:clamp(3rem,7vw,7rem) auto 0;padding:0 clamp(1.25rem,4vw,4.5rem)}
.buyer-use-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(16rem,1.2fr);gap:2rem;align-items:end;border-block-end:1px solid rgba(255,255,255,.18);padding-block-end:1.5rem}.buyer-use-head h2{font-size:clamp(1.7rem,3vw,3.25rem);letter-spacing:-.04em;margin:0}.buyer-use-head p{max-width:52ch;margin:0;color:var(--muted,#aaa);line-height:1.6}
.buyer-use-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.16);margin-block-start:1px}.buyer-use-option{display:flex;min-height:9rem;flex-direction:column;justify-content:space-between;padding:1.4rem;background:var(--bg,#080808);color:inherit;text-decoration:none;transition:background-color .22s,transform .22s}.buyer-use-option:hover,.buyer-use-option:focus-visible,.buyer-use-option.is-active{background:#22211e}.buyer-use-option:active{transform:translateY(1px)}.buyer-use-option span{color:var(--muted,#aaa);font-size:.86rem;line-height:1.45}.buyer-use-option.is-active{box-shadow:inset 0 3px #d7ff45}.buyer-use-status{border-inline-start:3px solid #d7ff45;padding:.8rem 1rem;color:inherit!important}
.case-filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-block-end:2.25rem;padding-block:1rem;border-block:1px solid rgba(255,255,255,.18)}.case-filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.case-filter-button{border:1px solid rgba(255,255,255,.25);background:transparent;color:inherit;padding:.68rem 1rem;border-radius:0;cursor:pointer;transition:background-color .2s,color .2s}.case-filter-button:hover,.case-filter-button:focus-visible,.case-filter-button.is-active{background:#f1efe9;color:#0b0b0b}.case-filter-status{margin:0;color:var(--muted,#aaa);font-variant-numeric:tabular-nums;white-space:nowrap}.case-filter-empty{padding:4rem 0;text-align:center}.work-card[hidden]{display:none}.case-enquiry-link{display:flex;max-width:1440px;margin:clamp(3rem,6vw,6rem) auto;padding:1.5rem clamp(1.25rem,4vw,4.5rem);border-block:1px solid rgba(255,255,255,.2);color:inherit;text-decoration:none;font-size:clamp(1.3rem,2.6vw,2.5rem);transition:background-color .2s}.case-enquiry-link:hover,.case-enquiry-link:focus-visible{background:#d7ff45;color:#080808}
.case-year-filter{display:flex;align-items:center;gap:.65rem;color:var(--muted,#aaa);font-size:.78rem;white-space:nowrap}.case-year-select{min-height:42px;padding:.45rem 1.8rem .45rem .65rem;border:0;border-bottom:1px solid rgba(255,255,255,.38);border-radius:0;background:#080808;color:inherit;font:inherit;cursor:pointer}.work-card-date,.case-content-date{color:#8a8a85;font-size:.7rem;font-variant-numeric:tabular-nums;letter-spacing:.03em;text-transform:none;white-space:nowrap}.work-card-date time,.case-content-date time{color:#b7b7b0}.case-content-date{margin-inline-start:auto}
.home-case-date{display:flex;justify-content:flex-end;gap:.42rem;margin-top:.75rem;color:#85877f;font-size:.7rem;font-variant-numeric:tabular-nums;letter-spacing:.03em;white-space:nowrap}.home-case-date time{color:#b9bab1}
[dir=rtl] .buyer-use-status{border-inline-start:3px solid #d7ff45}
@media(max-width:900px){.buyer-use-options{grid-template-columns:repeat(2,minmax(0,1fr))}.buyer-use-head{grid-template-columns:1fr}.case-filter-bar{align-items:flex-start;flex-direction:column}.case-content-date{margin-inline-start:0}}
@media(max-width:520px){.buyer-use-options{grid-template-columns:1fr}.buyer-use-option{min-height:7rem}.case-filter-status{white-space:normal}}
@media(prefers-reduced-motion:reduce){.buyer-use-option,.case-filter-button,.case-enquiry-link{transition:none}}

@media(max-width:760px){#product-catalog-title{scroll-margin-top:calc(var(--site-header-height,80px) + 5rem)}}

@media(min-width:761px){.case-note > p,.case-note > ul{grid-column:2}}

/* Imported by styles.css: seo-upgrade.css */
.buyer-breadcrumb{padding-block:1.1rem;border-bottom:1px solid #343632;font-size:.82rem;color:#bbbdb7}
.buyer-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem .85rem;padding:0;margin:0}
.buyer-breadcrumb li{display:inline-flex;gap:.85rem;align-items:center;min-width:0;overflow-wrap:anywhere}
.buyer-breadcrumb li:not(:last-child)::after{content:'/';color:#858780}
.buyer-breadcrumb a{display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-underline-offset:.25em}
.buyer-breadcrumb [aria-current]{color:#e6e7e1}
.buyer-related{padding-block:2rem 3rem;border-top:1px solid #343632}
.buyer-related h2{font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.4;margin:0 0 1rem}
.buyer-related>div{display:flex;flex-wrap:wrap;gap:1rem 2rem}
.buyer-related a{min-height:44px;display:inline-flex;align-items:center}
.buyer-breadcrumb a:focus-visible,.buyer-related a:focus-visible{outline:2px solid #efeee8;outline-offset:4px}
@media(max-width:760px){.buyer-breadcrumb{padding-block:.75rem}.buyer-breadcrumb a{min-height:40px}}

/* styles.css */
@font-face {
  font-family: "Clash Display";
  src: url("./assets/fonts/clash-display-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("./assets/fonts/general-sans-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("./assets/fonts/general-sans-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

:root {
  --black: #080808;
  --black-soft: #151515;
  --graphite: #5c6061;
  --paper: #f2f0eb;
  --muted: #a6a6a1;
  --line: rgba(242, 240, 235, .22);
  --accent: #cd5239;
  --accent-solid: #b8462f;
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --max-width: 1500px;
  --site-header-height: 6rem;
  /* Shared boundary budget: adjacent half-spaces make one complete section gap. */
  --section-space: clamp(4rem, 6vw, 6rem);
  --section-half: calc(var(--section-space) / 2);
  --section-inner: clamp(2rem, 3vw, 3rem);
  color: var(--paper);
  background: var(--black);
  font-family: "General Sans", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

:root[lang="ja"] {
  font-family: "Hiragino Sans", "Yu Gothic", "YuGothic", "Noto Sans JP", ui-sans-serif, sans-serif;
}

:root[lang="ja"] h1,
:root[lang="ja"] h2,
:root[lang="ja"] h3 {
  letter-spacing: -.035em;
  line-break: strict;
  word-break: normal;
}

/* 繁體中文：與日文同等的 CJK 排版處理 */
:root[lang="zh-Hant"] {
  font-family: "PingFang TC", "Hiragino Sans CNS", "Microsoft JhengHei", "Noto Sans TC", ui-sans-serif, sans-serif;
}

:root[lang="zh-Hant"] h1,
:root[lang="zh-Hant"] h2,
:root[lang="zh-Hant"] h3 {
  letter-spacing: -.035em;
  line-break: strict;
  word-break: normal;
}

:root[lang="zh-Hant"] .page-kicker,
:root[lang="zh-Hant"] .hero-context,
:root[lang="zh-Hant"] .section-heading > p,
:root[lang="zh-Hant"] .capability-title > p,
:root[lang="zh-Hant"] .process-heading > p,
:root[lang="zh-Hant"] .rfq-heading > p,
:root[lang="zh-Hant"] .positioning-copy > p {
  letter-spacing: .08em;
  text-transform: none;
}

/* 阿拉伯文：宣告具阿拉伯字形覆蓋的字型堆疊，避免依賴系統遞補 */
:root[lang="ar"] {
  font-family: "SF Arabic", "Geeza Pro", "Segoe UI", "Noto Sans Arabic", "Tahoma", ui-sans-serif, sans-serif;
}

:root[lang="ar"] h1,
:root[lang="ar"] h2,
:root[lang="ar"] h3 {
  letter-spacing: 0;
}

:root[lang="ar"] .page-kicker,
:root[lang="ar"] .hero-context,
:root[lang="ar"] .section-heading > p,
:root[lang="ar"] .capability-title > p,
:root[lang="ar"] .process-heading > p,
:root[lang="ar"] .rfq-heading > p,
:root[lang="ar"] .positioning-copy > p {
  letter-spacing: 0;
  text-transform: none;
}

:root[lang="ja"] .page-kicker,
:root[lang="ja"] .hero-context,
:root[lang="ja"] .section-heading > p,
:root[lang="ja"] .capability-title > p,
:root[lang="ja"] .process-heading > p,
:root[lang="ja"] .rfq-heading > p,
:root[lang="ja"] .positioning-copy > p {
  letter-spacing: .08em;
  text-transform: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { min-width: 320px; margin: 0; overflow-x: hidden; color: var(--paper); background: var(--black); }
body::after {
  position: fixed;
  inset: 0;
  z-index: 40;
  pointer-events: none;
  content: "";
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
img { display: block; width: 100%; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
h1, h2, h3, p, figure { margin-top: 0; }
.content-shell { width: min(calc(100% - (var(--gutter) * 2)), var(--max-width)); margin-inline: auto; }

.skip-link {
  position: fixed;
  top: -4rem;
  left: 1rem;
  z-index: 60;
  padding: .75rem 1rem;
  color: var(--black);
  background: var(--paper);
  text-decoration: none;
}
.skip-link:focus { top: 1rem; }

.scroll-meter {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  width: 2px;
  pointer-events: none;
  background: rgba(255, 255, 255, .08);
}
.scroll-meter span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--accent);
  transform: scaleY(0);
  transform-origin: top;
  will-change: transform;
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 2rem;
  min-height: 6rem;
  padding: 1.25rem var(--gutter);
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  transition: background-color .35s ease, border-color .35s ease;
}
.site-header.is-scrolled {
  background: rgba(8, 8, 8, .88);
  border-color: rgba(255, 255, 255, .1);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.brand { display: inline-flex; flex-direction: column; text-decoration: none; }
.brand > span { font-family: "Clash Display", sans-serif; font-size: 1.9rem; letter-spacing: -.045em; line-height: .82; }
.brand > small { margin-left: .12rem; font-size: .68rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: clamp(.75rem, 1.1vw, 1.4rem); margin-inline-start: auto; font-size: .86rem; }
.primary-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem 0; white-space: nowrap; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .2s ease, opacity .2s ease; }
.primary-nav a:hover, .primary-nav a:focus-visible { border-color: currentColor; }
.menu-toggle { display: none; padding: .65rem .85rem; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.7); }
.header-tools { display: flex; align-items: center; align-self: stretch; margin-inline-start: clamp(.15rem, .8vw, .85rem); padding-inline-start: clamp(1rem, 1.5vw, 1.6rem); border-inline-start: 1px solid rgba(255,255,255,.22); }
.language-switcher { display: grid; min-width: 8.6rem; gap: .12rem; }
.language-switcher-label { color: rgba(255,255,255,.58); font-size: .68rem; font-weight: 600; letter-spacing: .13em; line-height: 1; text-transform: uppercase; }
.language-select-control { position: relative; display: flex; align-items: center; }
.language-select-control::after { position: absolute; inset-inline-end: .1rem; pointer-events: none; content: "↓"; font-size: .65rem; opacity: .65; }
.language-switcher select {
  width: 100%;
  min-width: 0;
  padding: .28rem 1.1rem .28rem 0;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: .78rem;
  appearance: none;
  cursor: pointer;
}
.language-switcher option { color: #111; background: #fff; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.hero {
  position: relative;
  display: grid;
  min-height: 100svh;
  place-items: center;
  overflow: hidden;
  color: #fff;
  background: #111;
}
.hero-media, .hero-shade { position: absolute; inset: 0; }
.hero-slide { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: 44% center; opacity: 1; }
.hero-shade { background: rgba(4, 4, 4, .47); }
.hero-content { position: relative; z-index: 2; padding-top: 5rem; text-align: center; }
.hero-context { margin-bottom: 1.4rem; font-size: .76rem; letter-spacing: .11em; text-transform: uppercase; }
h1, h2 { font-weight: 400; letter-spacing: -.055em; text-wrap: balance; }
h1 { max-width: 75rem; margin: 0 auto; font-size: clamp(4.2rem, 8.4vw, 9.3rem); line-height: .83; text-transform: uppercase; }
.hero-line { display: block; overflow: hidden; }
.hero-line > span { display: block; padding-bottom: .06em; }
.hero-intro { max-width: 38rem; margin: 2rem auto 0; font-size: clamp(1rem, 1.35vw, 1.15rem); line-height: 1.55; text-wrap: pretty; }
.hero-footer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.6rem;
  /* F06: Increased from 0.76rem to improve visual hierarchy */
  font-size: clamp(0.875rem, 1.5vw, 1rem);
}
.hero-footer a { display: inline-flex; gap: .7rem; align-items: center; min-height: 44px; text-decoration: none; }
.hero-footer a:hover, .hero-footer a:focus-visible { text-decoration: underline; text-underline-offset: .35rem; }

.work { padding: var(--section-half) 0 var(--section-space); background: var(--black); }
.section-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; align-items: end; margin-bottom: 4rem; }
.section-heading > p, .capability-title > p, .process-heading > p, .rfq-heading > p, .positioning-copy > p { color: #7e7e79; font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; }
.section-heading > p { grid-column: 1 / 3; align-self: start; padding-top: .8rem; }
.section-heading h2 { grid-column: 3 / 10; margin-bottom: 0; font-size: clamp(3rem, 5.7vw, 6.3rem); line-height: .96; }
.arrow-link { grid-column: 10 / 13; justify-self: end; padding-bottom: .35rem; font-size: .86rem; text-decoration: none; border-bottom: 1px solid currentColor; }
.arrow-link:hover, .arrow-link:focus-visible { color: var(--accent); }

.project-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2.1vw, 2.2rem); }
.project-card a { display: block; text-decoration: none; }
.project-card figure { aspect-ratio: 3 / 4; margin: 0 0 1.2rem; overflow: hidden; background: #202020; }
.project-card img { height: 100%; object-fit: cover; filter: saturate(.75) brightness(.86); transition: transform .6s cubic-bezier(.2,.75,.25,1), filter .35s ease; }
.project-card:nth-child(1) img { object-position: 44% center; }
.project-card:nth-child(2) img { object-position: center; }
.project-card:nth-child(3) img { object-position: 55% center; }
.project-card:nth-child(4) img { object-position: center; }
.project-card h3 { margin-bottom: .4rem; font-size: clamp(1.25rem, 1.7vw, 1.7rem); font-weight: 400; letter-spacing: -.025em; }
.project-card p { margin-bottom: 0; color: #858580; font-size: .78rem; }
.project-card a:hover img, .project-card a:focus-visible img { transform: scale(1.018); filter: saturate(.95) brightness(.98); }

.positioning { padding: 0; background: var(--black); }
.positioning-copy { padding-bottom: var(--section-space); }
.positioning-copy h2 { max-width: 82rem; margin: 0; font-size: clamp(3.15rem, 6.1vw, 6.7rem); line-height: .99; }
/* Only armed by the head bootstrap. Missing JS stays readable; timeout,
   interaction and reduced motion release this gate without a late replay. */
:root[data-motion-boot="pending"] :is(.hero, .page-hero) :is(h1, .hero-context, .page-kicker, .hero-footer, .page-hero-meta) { visibility: hidden; }
:root[data-motion-boot="pending"] :is(.hero-media, .page-hero-media) img { opacity: .48; transform: scale(1.045); }
@media (max-width: 760px) {
  :root[data-motion-boot="pending"] :is(.hero-media, .page-hero-media) img { transform: scale(1.018); }
}
.motion-text-inner { position: relative; display: block; }
.motion-text-source { display: block; }
.motion-lines-active > .motion-text-source { opacity: 0; }
.motion-line-layer { position: absolute; inset: 0; display: block; pointer-events: none; user-select: none; }
.motion-line-window { position: absolute; left: 0; width: 100%; display: block; overflow: hidden; }
.motion-line-offset { position: absolute; inset: 0; display: block; overflow: hidden; }
.motion-line-copy { position: absolute; left: 0; width: 100%; display: block; }
.motion-image-active img { transition: none !important; }
.motion-image-frame { overflow: hidden; isolation: isolate; }
.motion-image-frame:not(.hero-media):not(.page-hero-media):not(.production-feature) { position: relative; }
.motion-image-frame img { transform-origin: center center; }
.production-feature { position: relative; min-height: min(76vw, 860px); margin: 0; overflow: hidden; }
.production-feature::after { position: absolute; inset: 0; content: ""; background: rgba(0,0,0,.28); }
.production-feature img { position: absolute; inset: 0; height: 100%; object-fit: cover; filter: saturate(.66) contrast(1.05); }
.production-feature figcaption {
  position: absolute;
  bottom: clamp(2rem, 5vw, 5rem);
  left: var(--gutter);
  z-index: 2;
  width: min(38rem, calc(100% - (var(--gutter) * 2)));
  padding: clamp(1.5rem, 3vw, 2.8rem);
  color: #fff;
  background: rgba(8, 8, 8, .82);
}
.production-feature figcaption > span { display: block; margin-bottom: 1rem; font-size: clamp(1.6rem, 2.5vw, 2.5rem); }
.production-feature figcaption p { max-width: 34rem; margin-bottom: 1.5rem; color: #c5c5c0; line-height: 1.55; }
.outline-button { display: inline-flex; min-width: 10.5rem; min-height: 3.4rem; align-items: center; justify-content: center; padding: .7rem 1.2rem; border: 1px solid rgba(255,255,255,.8); text-decoration: none; transition: color .2s ease, background-color .2s ease; }
.outline-button:hover, .outline-button:focus-visible { color: var(--black); background: #fff; }

.capabilities { background: var(--black); }
.capability-title { padding: var(--section-space) 0 var(--section-inner); }
.capability-title h2 { max-width: 65rem; margin-bottom: 0; font-size: clamp(3.1rem, 5.4vw, 6rem); line-height: .98; }
.service {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 31rem);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
  min-height: 33rem;
  padding: clamp(3rem, 6vw, 6rem) var(--gutter);
  overflow: hidden;
}
.service-light { color: #fff; background: var(--graphite); }
.service-dark { color: var(--paper); background: var(--black-soft); }
.service-copy { width: min(100%, 56rem); }
.service-copy > span { display: block; margin-bottom: 2.5rem; color: rgba(255,255,255,.79); font-variant-numeric: tabular-nums; }
.service-copy h3 { margin-bottom: 1.5rem; font-size: clamp(2rem, 3.4vw, 3.7rem); font-weight: 400; letter-spacing: -.04em; }
.service-copy p { max-width: 48rem; margin-bottom: 0; color: rgba(255,255,255,.9); font-size: clamp(1rem, 1.28vw, 1.14rem); line-height: 1.65; text-wrap: pretty; }
.service figure { margin: 0; overflow: hidden; }
.service img { aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.62) contrast(1.04); transition: transform .6s cubic-bezier(.2,.75,.25,1), filter .3s ease; }
.service:hover img { transform: scale(1.025); filter: saturate(.82) contrast(1.04); }

.process { padding: var(--section-half) 0; background: var(--black); }
.capabilities + .process, .production-feature + .process { padding-top: var(--section-space); }
.process-heading { display: grid; grid-template-columns: 1fr 3fr; align-items: start; gap: 2rem; margin-bottom: var(--section-inner); }
.process-heading h2 { max-width: 58rem; margin-bottom: 0; font-size: clamp(3rem, 5.5vw, 6rem); line-height: .97; }
.process-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.2rem, 3vw, 3.5rem); margin-block: 0; padding: 0; list-style: none; }
.process-list li { min-width: 0; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.process-list span { display: block; margin-bottom: var(--section-inner); color: #8a8a85; font-size: .78rem; font-variant-numeric: tabular-nums; }
.process-list strong { display: block; margin-bottom: .8rem; font-size: 1.12rem; font-weight: 600; }
.process-list p { margin-bottom: 0; color: #888883; font-size: .86rem; line-height: 1.55; }

.rfq { padding: var(--section-half) 0 1.5rem; color: var(--paper); background: #111; border-top: 1px solid var(--line); }
.rfq-heading { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; align-items: start; margin-bottom: 4rem; }
.rfq-heading > p { grid-column: 1 / 3; }
.rfq-heading h2 { grid-column: 3 / 10; margin-bottom: 0; font-size: clamp(3.2rem, 6.1vw, 6.8rem); line-height: .94; }
.rfq-heading > div { grid-column: 10 / 13; font-size: .86rem; }
.rfq-heading > div span { display: block; margin-bottom: .7rem; color: #8a8a85; }
.rfq-heading ul { padding: 0; margin: 0; line-height: 1.55; list-style: none; }
.rfq-form { min-width: 0; border-top: 1px solid rgba(255,255,255,.7); }
.form-row { display: grid; grid-template-columns: minmax(13rem, 24%) 1fr; border-bottom: 1px solid rgba(255,255,255,.4); }
.form-row > span { padding: 1.25rem 1.5rem 1.25rem 0; border-right: 1px solid var(--line); font-weight: 600; }
.form-row input, .form-row select, .form-row textarea {
  width: 100%;
  min-width: 0;
  color: var(--paper);
  background: transparent;
  border: 0;
  border-radius: 0;
  outline: 0;
}
.form-row input, .form-row select { min-height: 4.1rem; padding: .9rem 1.25rem; }
.rfq-form input[type="date"] { color-scheme: dark; }
.form-row textarea { min-height: 9.5rem; padding: 1rem 1.25rem; resize: vertical; }
.form-row select option { color: #111; }
.form-row:focus-within { background: rgba(255,255,255,.04); }
.form-row:focus-within > span { color: #fff; }
.form-actions { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 1.5rem; padding: 1.5rem 0 2rem; }
.solid-button { min-width: 14rem; min-height: 3.7rem; padding: .8rem 1.4rem; color: #fff; background: var(--accent-solid); border: 0; font-weight: 600; transition: background-color .2s ease, transform .2s ease; }
.solid-button:hover, .solid-button:focus-visible { background: #ae3f2b; transform: translateY(-2px); }
.solid-button:active { transform: translateY(0); }
.form-actions p { margin: 0; color: #7f7f7a; font-size: .78rem; }
.form-status { justify-self: end; max-width: 28rem; text-align: right; }
.form-status[data-tone="success"] { color: #8fc4a6; }
.form-status[data-tone="error"] { color: #f0937c; }
.form-status[data-tone="info"] { color: var(--muted); }

.form-consent { display: grid; grid-template-columns: auto 1fr; gap: .85rem; align-items: start; padding: 1.35rem 0 .35rem; font-size: .86rem; line-height: 1.65; color: var(--muted); }
.form-consent input { width: 1.15rem; height: 1.15rem; margin: .2rem 0 0; accent-color: var(--accent-solid); flex: none; }
.form-consent a { color: var(--paper); text-underline-offset: .25em; }
.form-consent a:hover, .form-consent a:focus-visible { color: var(--accent); }
.form-consent:focus-within { color: var(--paper); }
.form-mailto[hidden] { display: none; }
.form-mailto { font-size: .84rem; }
.tel-link { display: inline-block; margin-inline-start: .75rem; font-size: .78rem; color: var(--muted); text-underline-offset: .25em; }
.tel-link:hover, .tel-link:focus-visible { color: var(--accent); }

.direct-contact {
  display: grid;
  grid-template-columns: .85fr .85fr 1.8fr;
  gap: 2rem;
  padding: 1.5rem 0;
  border-top: 1px solid rgba(255,255,255,.7);
}
.direct-contact p { margin: 0; color: #b2b2ad; font-size: .8rem; line-height: 1.55; }
.direct-contact span { display: block; margin-bottom: .35rem; color: #8a8a85; font-size: .7rem; letter-spacing: .11em; text-transform: uppercase; }
.direct-contact a { text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); transition: color .2s ease, border-color .2s ease; }
.direct-contact a:hover, .direct-contact a:focus-visible { color: #fff; border-color: currentColor; }

.footer { display: grid; grid-template-columns: 1fr auto auto; gap: 2rem; align-items: end; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.7); color: #8a8a85; font-size: .7rem; }
.footer p { margin-bottom: 0; }
.footer-brand { display: inline-flex; flex-direction: column; justify-self: start; color: var(--paper); }
.footer-brand span { font-family: "Clash Display", sans-serif; font-size: 1.55rem; letter-spacing: -.04em; line-height: .82; }
.footer-brand small { font-size: .48rem; letter-spacing: .18em; text-transform: uppercase; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(205, 82, 57, .65); outline-offset: 3px; }

@media (max-width: 1320px) {
  .site-header { gap: 1rem; padding-inline: 2rem; }
  .primary-nav { gap: .8rem; }
  .header-tools { margin-inline-start: 0; padding-inline-start: 1rem; }
  .language-switcher { min-width: 7.6rem; }
}

/* Keep every destination visible in narrow desktop windows, including split view. */
@media (min-width: 761px) and (max-width: 1100px) {
  :root { --site-header-height: 8.5rem; }
  .site-header { flex-wrap: wrap; gap: .5rem 1rem; padding: .8rem var(--gutter) .4rem; }
  .brand { margin-inline-end: auto; }
  .header-tools { order: 1; align-self: center; }
  .primary-nav { order: 2; flex: 1 0 100%; flex-wrap: wrap; justify-content: space-between; gap: 0 .9rem; margin: 0; padding-top: .25rem; border-top: 1px solid rgba(255,255,255,.16); }
  .hero-content { padding-top: calc(var(--site-header-height, 8.5rem) - 1rem); }
}

@media (max-width: 760px) {
  :root { --site-header-height: 4.9rem; }
  .site-header { min-height: 4.9rem; gap: 0; padding-block: .9rem; }
  .brand { margin-inline-end: auto; }
  .brand > span { font-size: 1.55rem; }
  .menu-toggle { display: block; order: 3; }
  .primary-nav {
    position: absolute;
    top: 100%;
    right: var(--gutter);
    left: var(--gutter);
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-inline-start: 0;
    color: var(--paper);
    background: rgba(8,8,8,.96);
    border: 1px solid rgba(255,255,255,.28);
  }
  .primary-nav.is-open { display: flex; }
  .primary-nav { max-height: calc(100dvh - var(--site-header-height) - 1rem); overflow-y: auto; overscroll-behavior: contain; }
  .primary-nav a { padding: 1rem; border-bottom: 1px solid rgba(255,255,255,.2); }
  .primary-nav a:last-child { border-bottom: 0; }
  .header-tools { order: 2; align-self: auto; margin: 0; margin-inline-end: .7rem; padding: 0; border: 0; }
  .language-switcher { min-width: 0; }
  .language-switcher-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .language-select-control { width: clamp(6.6rem, 27vw, 8.4rem); min-height: 2.75rem; padding-inline: .72rem; border: 1px solid rgba(255,255,255,.46); }
  .language-select-control::after { inset-inline-end: .7rem; }
  .language-switcher select { padding: .55rem 1rem .55rem 0; font-size: .74rem; }
}

@media (max-width: 980px) {
  .project-track { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 3rem; }
  .service { grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem); }
  .process-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 3rem; }
  .rfq-heading h2 { grid-column: 3 / 9; }
  .rfq-heading > div { grid-column: 9 / 13; }
}

@media (max-width: 760px) {
  .hero-content { padding-top: 3rem; }
  h1 { font-size: clamp(2.4rem, 13vw, 5.5rem); line-height: .9; }
  .hero-context { margin-bottom: 1rem; }
  .hero-intro { max-width: 29rem; }
  .hero-footer { align-items: flex-end; }
  .hero-footer > span { max-width: 12rem; line-height: 1.45; }
  .hero-slide:nth-child(1) { object-position: 46% center; }
  .hero-slide:nth-child(2) { object-position: 58% center; }

  .section-heading { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2.8rem; }
  .section-heading > p, .section-heading h2, .arrow-link { grid-column: auto; }
  .arrow-link { justify-self: start; margin-top: .5rem; }

  .project-track {
    width: 100%;
    grid-template-columns: none;
    grid-auto-columns: min(76vw, 24rem);
    grid-auto-flow: column;
    gap: 1.1rem;
    padding: 0 var(--gutter) 1rem;
    overflow-x: auto;
    scroll-padding-inline: var(--gutter);
    scroll-snap-type: x mandatory;
  }
  .project-card { scroll-snap-align: start; scroll-snap-stop: always; }
  .project-card figure { aspect-ratio: 4 / 3; }
  .project-card img { width: 100%; height: 100%; }
  .project-card:nth-child(1) img { object-position: 50% 68%; }

  .positioning-copy h2 { font-size: clamp(2.9rem, 12vw, 4.7rem); }
  .production-feature { min-height: 46rem; }
  .production-feature img { object-position: 58% center; }
  .production-feature figcaption { right: var(--gutter); width: auto; }

  .service { grid-template-columns: 1fr; gap: 2.5rem; min-height: 0; }
  .service figure { width: min(100%, 31rem); }
  .service img { aspect-ratio: 4 / 3; }
  .service-copy > span { margin-bottom: 1.6rem; }

  .process-heading { grid-template-columns: 1fr; gap: 1rem; }
  .rfq-heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .rfq-heading > p, .rfq-heading h2, .rfq-heading > div { grid-column: auto; }
  .rfq-heading > div { display: grid; gap: .7rem; }
  .rfq-heading > div span { margin-bottom: 0; }
  .rfq-heading ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .2rem 1.5rem; }
  .form-actions { grid-template-columns: auto 1fr; }
  .form-status { grid-column: 1 / -1; justify-self: start; text-align: left; }
  .direct-contact { grid-template-columns: 1fr 1fr; }
  .direct-contact p:last-child { grid-column: 1 / -1; }
  .footer { grid-template-columns: 1fr 1fr; }
  .footer p:last-child { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .hero-footer > span { display: none; }
  .hero-footer { justify-content: flex-end; }
  .hero-intro { font-size: .93rem; }
  .work { padding-top: var(--section-half); }
  .production-feature { min-height: 39rem; }
  .production-feature figcaption { bottom: 1.25rem; padding: 1.35rem; }
  .service { padding-block: 3.5rem; }
  .process-list { grid-template-columns: 1fr; }
  .process-list span { margin-bottom: 1.5rem; }
  .form-row { grid-template-columns: 1fr; }
  .form-row > span { padding-bottom: .2rem; border-right: 0; }
  .form-row input, .form-row select, .form-row textarea { padding-left: 0; }
  .form-actions { display: flex; align-items: flex-start; flex-direction: column; }
  .solid-button { width: 100%; }
  .direct-contact { grid-template-columns: 1fr; gap: 1.25rem; }
  .direct-contact p:last-child { grid-column: auto; }
  .footer { grid-template-columns: 1fr; gap: 1rem; }
  .footer p:last-child { grid-column: auto; }
}

@media (max-width: 760px) {
  :root:is([lang="fr"], [lang="it"]) #hero-title { font-size: clamp(2.25rem, 11vw, 4.5rem); line-height: .94; }
  :root[lang="de"] #hero-title { font-size: clamp(2.2rem, 10.5vw, 4.4rem); line-height: .94; hyphens: none; overflow-wrap: normal; word-break: normal; }
}

@media (max-height: 500px) and (orientation: landscape) {
  .hero { display: block; min-height: 100svh; padding-block: calc(var(--site-header-height, 6rem) + 2rem) 2rem; }
  .hero-content { padding-top: 0; }
  .hero-footer { position: relative; inset: auto; margin-top: 2rem; padding-bottom: 0; }
  .hero-video-toggle { position: relative; inset: auto; margin: 1rem auto 0; margin-inline-start: var(--gutter); }
}

/* Multi-page V1.0 architecture */
.primary-nav a[aria-current="page"] { border-color: currentColor; }
.service-link {
  display: inline-flex;
  gap: .65rem;
  margin-top: 2rem;
  font-size: .82rem;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.55);
}
.service-link:hover, .service-link:focus-visible { color: #fff; border-color: currentColor; }
.home-cta { min-height: 0; display: flex; align-items: center; }
.home-cta .rfq-heading { margin-bottom: var(--section-inner); }
.home-cta .rfq-heading > div { color: #aaa9a3; line-height: 1.65; }
.cta-actions { display: flex; align-items: center; gap: 1rem; padding-bottom: var(--section-inner); }
.cta-actions .solid-button, .cta-actions .outline-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.home-cta .outline-button { color: #fff; }
.footer a { text-decoration: none; }
.footer a:hover, .footer a:focus-visible { color: var(--paper); }

.subpage-body { background: var(--black); }
.subpage-body .site-header { background: rgba(8,8,8,.16); }
.subpage-body .site-header.is-scrolled { background: rgba(8,8,8,.9); }
.page-hero {
  position: relative;
  display: grid;
  min-height: min(86svh, 920px);
  align-items: end;
  overflow: hidden;
  padding: clamp(10rem, 15vw, 14rem) 0 clamp(4rem, 7vw, 7rem);
  background: #111;
}
.page-hero-media, .page-hero-shade { position: absolute; inset: 0; }
.page-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.62) brightness(.72); }
.page-hero-shade { background: linear-gradient(180deg, rgba(5,5,5,.28) 0%, rgba(5,5,5,.42) 42%, rgba(5,5,5,.9) 100%); }
.page-hero-content { position: relative; z-index: 2; }
.page-kicker { margin-bottom: 1.2rem; color: rgba(255,255,255,.65); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.page-title { max-width: 76rem; margin: 0; font-size: clamp(3.8rem, 7.2vw, 8rem); line-height: .88; text-transform: uppercase; }
.page-title-line { display: block; overflow: hidden; }
.page-title-line > span { display: block; padding-bottom: .06em; }
.page-lede { max-width: 48rem; margin: 2rem 0 0 auto; font-size: clamp(1.05rem, 1.65vw, 1.45rem); line-height: 1.55; text-wrap: pretty; }
.page-hero-meta { display: flex; justify-content: space-between; gap: 2rem; margin-top: clamp(3rem, 6vw, 6rem); padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.42); color: #b9b8b2; font-size: .76rem; }
.page-hero-meta a { text-decoration: none; border-bottom: 1px solid currentColor; }

.page-intro {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 2rem;
  padding-block: var(--section-space);
}
.page-intro > p:first-child { grid-column: 1 / 3; color: #8a8a85; font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; }
.page-intro > h2 { grid-column: 3 / 10; margin-bottom: 0; font-size: clamp(3rem, 5.7vw, 6rem); line-height: .98; }
.page-intro > div { grid-column: 10 / 13; align-self: end; color: #94948e; line-height: 1.65; }

.work-index { padding-bottom: var(--section-half); }
.work-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(3rem, 6vw, 6rem) clamp(1.2rem, 3vw, 3rem); }
.work-card { grid-column: span 6; }
.work-card:nth-child(4n + 2), .work-card:nth-child(4n + 3) { padding-top: clamp(2rem, 4vw, 4rem); }
.work-card a { display: block; text-decoration: none; }
.work-card figure { aspect-ratio: 4 / 3; margin: 0 0 1.5rem; overflow: hidden; background: #1d1d1d; }
.work-card img { height: 100%; object-fit: cover; filter: saturate(.7) brightness(.88); transition: transform .7s cubic-bezier(.2,.75,.25,1), filter .35s ease; }
.work-card a:hover img, .work-card a:focus-visible img { transform: scale(1.018); filter: saturate(.92) brightness(.98); }
.work-card-meta { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; color: #8a8a85; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.work-card h2 { max-width: 37rem; margin-bottom: .65rem; font-size: clamp(1.7rem, 2.45vw, 2.75rem); line-height: 1.04; }
.work-card p { max-width: 38rem; margin-bottom: 0; color: #898984; line-height: 1.55; }

.case-hero { min-height: 100svh; }
.case-hero .page-title { max-width: 72rem; font-size: clamp(3.35rem, 6.4vw, 7.2rem); }
.case-summary {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 2rem;
  padding-block: var(--section-space);
}
/* F06: Reduce case summary heading size for better readability */
.case-summary h2 { grid-column: 1 / 8; margin-bottom: 0; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.15; }
.case-summary-copy { grid-column: 9 / 13; }
.case-summary-copy p { color: #aaa9a3; font-size: 1.02rem; line-height: 1.7; }
.case-summary-copy p + p { margin-top: 1rem; }
.case-summary-description { color: #7f7f7a; }
.case-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; margin-top: 2.5rem; }
.case-facts div { padding-top: 1rem; border-top: 1px solid var(--line); }
.case-facts dt { margin-bottom: .45rem; color: #8a8a85; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.case-facts dd { margin: 0; color: var(--paper); line-height: 1.5; }
.case-gallery {
  display: grid;
  width: min(calc(100% - (var(--gutter) * 2)), 1240px);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);
  padding-bottom: var(--section-half);
}
.case-gallery figure { align-self: start; margin: 0; overflow: hidden; background: #1c1c1c; }
.case-gallery figure:first-child { grid-column: 1 / 8; }
.case-gallery figure:nth-child(2) { grid-column: 9 / 13; align-self: end; margin-top: clamp(3rem, 8vw, 8rem); }
.case-gallery figure:nth-child(3) { grid-column: 3 / 11; margin-top: clamp(1rem, 3vw, 3rem); }
.case-gallery img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.case-gallery figure:nth-child(2) img { aspect-ratio: 4 / 5; }
.case-gallery figure:nth-child(3) img { aspect-ratio: 16 / 10; }
.case-notes { padding-block: var(--section-half); background: #111; }
.case-notes-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; }
.case-notes-grid > h2 { grid-column: 1 / 6; font-size: clamp(3rem, 5vw, 5.5rem); line-height: .98; }
.case-note-list { grid-column: 7 / 13; }
.case-note { display: grid; grid-template-columns: 8rem 1fr; gap: 1.5rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.case-note span { color: #8a8a85; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.case-note p, .case-note ul { margin: 0; color: #aaa9a3; line-height: 1.65; }
.case-note ul { padding-left: 1.2rem; }
.next-project { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: end; padding-block: var(--section-half) var(--section-space); text-decoration: none; }
.next-project > span { min-width: 0; color: #8a8a85; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.next-project strong { display: block; max-width: 58rem; margin-top: 1rem; overflow-wrap: anywhere; font-size: clamp(2rem, 4.2vw, 4.5rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.12; text-wrap: balance; }
:root[lang="zh-Hant"] .next-project strong, :root[lang="ja"] .next-project strong { line-break: strict; word-break: normal; }
:root[lang="ar"] .next-project strong { letter-spacing: 0; }
.next-project i { font-size: clamp(2rem, 4vw, 4rem); font-style: normal; }

.product-category-index { padding-block: var(--section-space) var(--section-half); }
.product-category-list { display: grid; gap: 1px; background: var(--line); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-category-card { display: grid; grid-template-columns: minmax(18rem, 42%) 1fr; min-height: 28rem; color: var(--paper); background: var(--black); text-decoration: none; }
.product-category-card:nth-child(even) { grid-template-columns: 1fr minmax(18rem, 42%); }
.product-category-card:nth-child(even) figure { order: 2; }
.product-category-card figure { margin: 0; overflow: hidden; background: #1b1b1b; }
.product-category-card img { height: 100%; object-fit: cover; filter: saturate(.68) brightness(.84); transition: transform .7s cubic-bezier(.2,.75,.25,1), filter .35s ease; }
.product-category-card:hover img, .product-category-card:focus-visible img { filter: saturate(.9) brightness(.96); }
.product-category-copy { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2rem, 5vw, 5rem); }
.product-category-copy > span { color: #8a8a85; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.product-category-copy h2 { max-width: 46rem; margin: auto 0 1.2rem; font-size: clamp(2.8rem, 5vw, 5.7rem); line-height: .94; }
.product-category-copy p { max-width: 40rem; margin-bottom: 0; color: #92928d; font-size: 1rem; line-height: 1.65; }
.home-product-overview { padding-top: clamp(6rem, 9vw, 9rem); }
.home-product-overview .page-intro { padding-top: 0; }
.home-product-overview .product-category-card { min-height: 20rem; grid-template-columns: minmax(16rem, 34%) 1fr; }
.home-product-overview .product-category-card:nth-child(even) { grid-template-columns: 1fr minmax(16rem, 34%); }
.home-product-overview .product-category-copy h2 { font-size: clamp(2.3rem, 4vw, 4.5rem); }
.home-product-overview .category-destination { display: block; margin-top: 1.25rem; font-size: .875rem; line-height: 1.5; text-decoration: underline; text-underline-offset: .3em; }
.product-catalog { padding-bottom: clamp(8rem, 13vw, 13rem); }
.product-catalog-heading { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 2rem; align-items: end; padding-bottom: 3rem; }
.product-catalog-heading > p { grid-column: 1 / 3; color: #8a8a85; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.product-catalog-heading h2 { grid-column: 3 / 10; margin-bottom: 0; font-size: clamp(3rem, 5.5vw, 6rem); line-height: .98; }
.catalog-download { grid-column: 10 / 13; justify-self: end; padding-bottom: .35rem; text-decoration: none; border-bottom: 1px solid currentColor; }
.product-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: clamp(3rem, 6vw, 6rem) clamp(1.2rem, 3vw, 3rem); }
.product-card { grid-column: span 6; }
.product-card:nth-child(4n + 2), .product-card:nth-child(4n + 3) { padding-top: clamp(2rem, 6vw, 6rem); }
.product-card figure { aspect-ratio: 4 / 3; margin: 0 0 1.4rem; overflow: hidden; background: #1b1b1b; }
.product-card img { height: 100%; object-fit: cover; filter: saturate(.72) brightness(.9); transition: transform .65s cubic-bezier(.2,.75,.25,1), filter .3s ease; }
.product-card:hover img { filter: saturate(.92) brightness(.98); }
.product-card-meta { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; color: #8a8a85; font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; }
.product-card h3 { max-width: 38rem; margin-bottom: .8rem; font-size: clamp(1.8rem, 3vw, 3.3rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.product-card p { max-width: 42rem; color: #90908b; line-height: 1.65; }
.product-card a { display: inline-flex; margin-top: .5rem; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.45); }
.product-card a:hover, .product-card a:focus-visible { color: #fff; border-color: currentColor; }
.product-category-nav { display: flex; flex-wrap: wrap; gap: .75rem; padding: 0 0 clamp(4rem, 7vw, 7rem); }
.product-category-nav a { padding: .75rem 1rem; color: #aaa9a3; border: 1px solid var(--line); text-decoration: none; transition: color .2s ease, background-color .2s ease; }
.product-category-nav a[aria-current="page"], .product-category-nav a:hover, .product-category-nav a:focus-visible { color: var(--black); background: var(--paper); }
.product-brief { padding-block: clamp(7rem, 11vw, 11rem); background: #121212; }
.product-brief-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 2rem; }
.product-brief h2 { grid-column: 1 / 7; margin-bottom: 0; font-size: clamp(3rem, 5.5vw, 6rem); line-height: .98; }
.product-brief-copy { grid-column: 8 / 13; color: #aaa9a3; line-height: 1.7; }
.product-brief-copy ul { padding: 0; margin: 2rem 0 0; list-style: none; border-top: 1px solid var(--line); }
.product-brief-copy li { padding: .85rem 0; border-bottom: 1px solid var(--line); }
.product-empty { grid-column: 1 / -1; min-height: 16rem; padding: 2rem 0; color: #858580; }

body[data-page="products"] .page-hero,
body[data-page="product-category"] .page-hero { min-height: min(66svh, 700px); }
body[data-page="work"] .page-intro > h2 { grid-column: 3 / 9; font-size: clamp(2.8rem, 4.7vw, 5rem); }
body[data-page="work"] .page-intro > div { grid-column: 9 / 13; }
.product-directory {
  display: grid;
  grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
  gap: clamp(3.5rem, 6vw, 7rem);
  align-items: start;
  padding-block: var(--section-space) var(--section-half);
}
.product-sidebar { position: sticky; top: calc(var(--site-header-height, 6rem) + .6rem); min-width: 0; align-self: start; }
.product-sidebar-sticky { padding-top: 1rem; border-top: 1px solid var(--line); }
.product-sidebar-head > p { margin-bottom: 1.1rem; color: #8a8a85; font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; }
.product-sidebar-toggle { display: none; }
.product-sidebar-nav { display: grid; border-top: 1px solid var(--line); }
.product-sidebar-nav a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  min-height: 4.1rem;
  padding: .85rem .8rem;
  color: #a09f99;
  text-decoration: none;
  border-bottom: 1px solid var(--line);
  transition: color .22s ease, background-color .22s ease, padding-inline .22s ease;
}
.product-sidebar-nav a:hover, .product-sidebar-nav a:focus-visible { color: var(--paper); background: #141414; padding-inline: 1rem .65rem; }
.product-sidebar-nav a[aria-current="page"] { color: var(--black); background: var(--paper); }
.product-sidebar-nav em { color: inherit; font-size: .7rem; font-style: normal; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.product-sidebar-brief { margin-top: 3.2rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.product-sidebar-brief strong { display: block; max-width: 14rem; font-size: 1.05rem; font-weight: 500; line-height: 1.35; }
.product-sidebar-brief p { margin: .85rem 0 0; color: #8a8a85; font-size: .82rem; line-height: 1.6; text-wrap: pretty; }
.product-sidebar-actions { display: grid; gap: .75rem; margin-top: 1.6rem; }
.product-sidebar-actions a { justify-self: start; color: #aaa9a3; font-size: .75rem; line-height: 1.4; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.38); }
.product-sidebar-actions .product-sidebar-rfq { justify-self: stretch; padding: .9rem 1rem; color: var(--black); background: var(--paper); text-align: center; border: 1px solid var(--paper); transition: color .2s ease, background-color .2s ease; }
.product-sidebar-actions .product-sidebar-rfq:hover, .product-sidebar-actions .product-sidebar-rfq:focus-visible { color: var(--paper); background: transparent; }
.product-directory-main { min-width: 0; }
.product-directory-header {
  display: grid;
  grid-template-columns: minmax(8rem, .65fr) minmax(0, 1.7fr);
  gap: .7rem clamp(2rem, 4vw, 4.5rem);
  padding: 1rem 0 var(--section-inner);
  border-top: 1px solid var(--line);
}
.product-directory-header > p:first-child { grid-row: 1 / 3; margin-bottom: 0; color: #8a8a85; font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; }
.product-directory-header h2 { grid-column: 2; max-width: 48rem; margin: 0; font-size: clamp(2.8rem, 4.8vw, 5.4rem); font-weight: 400; letter-spacing: -.05em; line-height: .94; text-wrap: balance; }
.product-directory-header > p:last-child { grid-column: 2; max-width: 42rem; margin: 1rem 0 0; color: #8f8e88; line-height: 1.65; text-wrap: pretty; }
.product-groups { display: grid; gap: var(--section-space); }
.product-group { scroll-margin-top: calc(var(--site-header-height, 6rem) + 2rem); }
.product-group-heading {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr) auto;
  gap: 1.2rem;
  align-items: center;
  padding: 1rem 0 1.2rem;
  border-top: 1px solid var(--line);
}
.product-group-heading > span, .product-group-heading > em { color: #8a8a85; font-size: .7rem; font-style: normal; font-variant-numeric: tabular-nums; letter-spacing: .12em; }
.product-group-heading > em { justify-self: end; }
.product-group-heading a { display: flex; gap: 1rem; align-items: baseline; justify-content: space-between; text-decoration: none; }
.product-group-heading h3 { margin: 0; font-size: clamp(2.3rem, 4vw, 4.5rem); font-weight: 400; letter-spacing: -.045em; line-height: .98; }
.product-group-heading i { color: #8a8a85; font-size: 1rem; font-style: normal; transition: color .2s ease, transform .25s ease; }
.product-group-heading a:hover i, .product-group-heading a:focus-visible i { color: var(--paper); transform: translate(3px, -3px); }
.product-directory .product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--section-inner) clamp(1.4rem, 2.6vw, 2.8rem); }
.product-directory .product-card { display: flex; grid-column: auto; min-width: 0; flex-direction: column; padding: 0; }
.product-directory .product-card:nth-child(4n + 2), .product-directory .product-card:nth-child(4n + 3) { padding-top: 0; }
.product-directory .product-card figure { aspect-ratio: 5 / 4; margin-bottom: 1.15rem; }
.product-directory .product-card img { height: 100%; }
.product-directory .product-card-meta { padding-bottom: .65rem; margin-bottom: .95rem; border-bottom: 1px solid var(--line); }
.product-directory .product-card h3 { max-width: 28rem; font-size: clamp(1.65rem, 2.45vw, 2.65rem); line-height: 1.04; text-wrap: balance; }
.product-directory .product-card p { display: -webkit-box; max-width: 36rem; overflow: hidden; line-height: 1.62; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.product-directory .product-card > a { align-self: flex-start; margin-top: auto; padding-top: 1rem; }

@media (max-width: 980px) and (min-width: 761px) {
  .product-directory { grid-template-columns: minmax(12rem, 14rem) minmax(0, 1fr); gap: 2.8rem; }
  .product-directory .product-grid { grid-template-columns: 1fr; }
  .product-directory-header { grid-template-columns: 1fr; }
  .product-directory-header > p:first-child, .product-directory-header h2, .product-directory-header > p:last-child { grid-column: auto; grid-row: auto; }
}

.capability-index { padding-block: var(--section-half); }
.capability-nav { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.capability-nav a { display: flex; min-height: 10rem; flex-direction: column; justify-content: space-between; padding: 1.2rem; text-decoration: none; border-right: 1px solid var(--line); }
.capability-nav li:last-child a { border-right: 0; }
.capability-nav span { color: #8a8a85; font-size: .72rem; }
.capability-nav strong { font-size: clamp(1.4rem, 2.3vw, 2.5rem); font-weight: 400; }
.capability-detail { display: grid; grid-template-columns: minmax(0,1fr) minmax(22rem, 42%); gap: clamp(3rem, 7vw, 8rem); align-items: center; min-height: 44rem; padding: clamp(5rem, 8vw, 8rem) var(--gutter); }
.capability-detail:nth-child(even) { background: var(--graphite); }
.capability-detail:nth-child(odd) { background: #141414; }
.capability-detail-copy > span { display: block; margin-bottom: 2rem; color: rgba(255,255,255,.48); }
.capability-detail h2 { margin-bottom: 1.5rem; font-size: clamp(2.8rem, 4.8vw, 5.4rem); line-height: .98; }
.capability-detail p { max-width: 48rem; color: rgba(255,255,255,.72); font-size: 1.04rem; line-height: 1.7; }
.capability-detail ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 2rem; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255,255,255,.25); color: #d2d1cb; }
.capability-detail li::before { margin-right: .55rem; color: var(--accent); content: "—"; }
.capability-detail figure { margin: 0; overflow: hidden; }
.capability-detail img { aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.68); }

.about-story { padding-block: clamp(7rem, 12vw, 12rem); }
.about-statement { max-width: 75rem; margin: 0 0 clamp(5rem, 9vw, 9rem); font-size: clamp(3.2rem, 6vw, 6.6rem); line-height: .98; }
.about-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); }
.about-fact { min-height: 18rem; padding: 1.5rem 1.5rem 1.5rem 0; border-right: 1px solid var(--line); }
.about-fact:last-child { border-right: 0; padding-left: 1.5rem; }
.about-fact:nth-child(2) { padding-left: 1.5rem; }
.about-fact strong { display: block; margin-bottom: 3rem; font-size: clamp(3rem, 5vw, 5.8rem); font-weight: 400; }
.about-fact p { max-width: 24rem; color: #888883; line-height: 1.6; }
.trust-section { padding-block: var(--section-half); background: #121212; }
.trust-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem); gap: clamp(3rem, 7vw, 8rem); align-items: end; margin-bottom: var(--section-inner); }
.trust-heading { max-width: 72rem; }
.trust-heading .page-kicker { margin-bottom: 1.25rem; }
.trust-heading h2 { max-width: 64rem; font-size: clamp(3rem, 5.2vw, 5.8rem); line-height: .98; text-wrap: balance; }
.trust-lede { max-width: 52rem; margin: 1.6rem 0 0; color: #9a9a95; font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.68; }
.certificate-download { display: flex; min-height: 6rem; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 1.35rem; color: var(--paper); text-decoration: none; border: 1px solid rgba(255,255,255,.38); transition: color .25s ease, background-color .25s ease, border-color .25s ease; }
.certificate-download span { font-size: .95rem; font-weight: 600; }
.certificate-download i { font-size: 1.5rem; font-style: normal; transition: transform .25s ease; }
.certificate-download:hover { color: #111; background: var(--paper); border-color: var(--paper); }
.certificate-download:hover i { transform: translateY(3px); }
.certificate-download:active { transform: translateY(1px); }
.certificate-download:focus-visible, .cert-preview:focus-visible, .cert-view-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.trust-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: clamp(2.5rem, 3.5vw, 4rem) clamp(1.5rem, 2.4vw, 2.5rem); }
.trust-card { display: flex; min-width: 0; flex-direction: column; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.cert-preview { display: block; overflow: hidden; padding: clamp(.35rem, .7vw, .65rem); background: #eceae4; }
.trust-card .cert-preview img { display: block; width: 100%; height: auto; aspect-ratio: auto; margin: 0; object-fit: contain; filter: none; transition: opacity .3s ease; }
.cert-preview:hover img { opacity: .92; }
.cert-card-body { display: flex; flex: 1; flex-direction: column; padding-top: 1.45rem; }
.cert-index { margin-bottom: 1.1rem; color: #8a8a85; font-size: .7rem; font-variant-numeric: tabular-nums; letter-spacing: .12em; }
.trust-card h3 { max-width: 28rem; margin: 0; font-size: clamp(1.35rem, 1.8vw, 1.75rem); font-weight: 500; line-height: 1.15; text-wrap: balance; }
.trust-card .cert-standard { margin: .7rem 0 1.5rem; color: #c9c8c2; font-size: .83rem; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.cert-facts { display: grid; gap: 1rem; margin: 0 0 1.5rem; }
.cert-facts div { padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.13); }
.cert-facts dt { margin-bottom: .3rem; color: #8a8a85; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.cert-facts dd { margin: 0; color: #a9a8a3; font-size: .85rem; line-height: 1.55; overflow-wrap: anywhere; }
.cert-view-link { align-self: flex-start; margin-top: auto; padding-bottom: .18rem; color: var(--paper); font-size: .88rem; font-weight: 600; text-decoration: none; border-bottom: 1px solid currentColor; transition: color .22s ease; }
.cert-view-link:hover { color: var(--accent); }
.certificate-record { display: grid; grid-template-columns: minmax(0, 1fr) minmax(24rem, .85fr); gap: clamp(3rem, 7vw, 8rem); margin-top: var(--section-inner); padding-top: 1.4rem; border-top: 1px solid var(--line); }
.certificate-entity { max-width: 58rem; margin: 0; color: #aaa9a4; font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.65; }
.certificate-record dl { display: grid; gap: 1rem; margin: 0; }
.certificate-record dl div { display: grid; grid-template-columns: minmax(7rem, .38fr) 1fr; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,.13); }
.certificate-record dt { color: #8a8a85; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.certificate-record dd { margin: 0; color: #aaa9a4; font-size: .84rem; line-height: 1.55; }

/* Two real company locations, presented as an editorial directory, not customer proof. */
.location-eyebrow { margin: 0 0 1.2rem; color: var(--muted); font-size: .73rem; line-height: 1.5; letter-spacing: .06em; }
.location-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; padding-block: clamp(3rem, 5vw, 5rem); border-bottom: 1px solid var(--line); }
.location-intro h2, .location-profile h2, .regional-contact h2 { margin: 0; max-width: 24ch; font-size: clamp(1.9rem, 3.4vw, 3.6rem); line-height: 1.13; text-wrap: balance; }
.location-intro-copy > p, .location-profile-heading > p:last-child, .location-office-detail > p, .regional-contact-copy > p:not(.regional-contact-company) { max-width: 58ch; margin: 0 0 1.4rem; color: var(--muted); font-size: .95rem; line-height: 1.7; text-wrap: pretty; }
.location-link { display: inline-flex; align-items: baseline; gap: .8rem; max-width: 100%; padding-block: .45rem; color: var(--paper); border-bottom: 1px solid var(--line); font-size: .85rem; line-height: 1.5; text-decoration: none; transition: border-color .2s ease; }
.location-link > span:first-child { min-width: 0; }
.location-link > span[aria-hidden] { flex-shrink: 0; transition: transform .2s ease; }
.location-link:hover, .location-link:focus-visible { border-bottom-color: currentColor; }
.location-link:hover > span[aria-hidden] { transform: translateY(-2px); }
.location-link:focus-visible, .location-email:focus-visible, .footer-locations a:focus-visible { outline: 2px solid var(--paper); outline-offset: 5px; }
.location-intro + .home-product-overview { padding-top: var(--section-half); }
.location-profile { padding-block: 2rem clamp(5rem, 9vw, 9rem); scroll-margin-top: calc(var(--site-header-height) + 2rem); }
.location-profile-heading { max-width: 58rem; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.location-profile-heading h2 { max-width: 25ch; margin-bottom: 1.6rem; font-size: clamp(2.2rem, 4.5vw, 4.6rem); }
.location-office { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(1.5rem, 3vw, 3rem); padding-block: clamp(2rem, 4vw, 4rem); border-top: 1px solid var(--line); }
.location-office-label { display: flex; align-items: baseline; gap: 1rem; color: var(--muted); font-size: .8rem; line-height: 1.6; }
.location-index { color: var(--paper); font-variant-numeric: tabular-nums; }
.location-office-branch .location-index { border-top: 2px solid var(--accent); padding-top: .4rem; }
.location-office-name h3 { margin: 0 0 1rem; font-size: clamp(1.65rem, 2.5vw, 2.65rem); line-height: 1.1; overflow-wrap: anywhere; }
.location-office-name h3 small { display: block; margin-top: .5rem; font-size: .55em; letter-spacing: 0; }
.location-office-name > p { color: var(--muted); font-size: .8rem; }
.location-email { display: block; width: fit-content; max-width: 100%; margin-top: 1.1rem; color: var(--muted); font-size: .84rem; overflow-wrap: anywhere; text-underline-offset: .3em; }
.location-entity-note { max-width: 88ch; margin: .5rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; line-height: 1.7; }
.regional-contact { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(3rem, 5vw, 5rem); border-bottom: 1px solid var(--line); }
.regional-contact-company { margin: 0 0 .8rem; font-size: 1.15rem; }
.regional-contact-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.8rem; }
.regional-contact + .contact-layout { padding-top: clamp(4rem, 7vw, 7rem); }
.footer-locations { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .8rem 2rem; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); }
.footer-locations > span { color: var(--muted); }
.footer-directory-links { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .7rem clamp(1.5rem, 3vw, 3rem); }
.footer-locations-links { display: flex; flex-wrap: wrap; gap: .7rem 2rem; }
.footer-locations a { color: var(--paper); line-height: 1.6; text-underline-offset: .35rem; }
.footer-locations a:hover { text-decoration: underline; }
.footer-social { display: flex; align-items: center; flex: none; padding-inline-start: clamp(1rem, 2vw, 2rem); border-inline-start: 1px solid var(--line); }
.footer > .footer-social { grid-column: 1 / -1; justify-self: end; padding-inline-start: 0; border-inline-start: 0; }
.footer-social-links { display: flex; align-items: center; gap: .55rem; }
.footer-social-link { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; flex: none; color: #c9c8c2; text-decoration: none; border: 1px solid rgba(255,255,255,.16); touch-action: manipulation; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.footer-social-icon { display: block; width: 1.12rem; height: 1.12rem; transition: transform .2s ease; }
.footer-social-link:hover, .footer-social-link:focus-visible { color: #fff; background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.46); }
.footer-social-link:hover .footer-social-icon { transform: translateY(-1px); }
:root[dir="rtl"] .location-eyebrow { letter-spacing: 0; }
@media (max-width: 900px) {
  .location-office { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
  .location-office-label { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .location-intro, .regional-contact, .location-office { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .location-office-label { grid-column: auto; }
  .location-intro h2, .location-profile h2, .regional-contact h2 { max-width: 100%; }
  .location-office-name > p { margin-bottom: 0; }
  .footer-directory-links { width: 100%; align-items: stretch; flex-direction: column; gap: .7rem; }
  .footer-locations-links { flex-direction: column; gap: .7rem; }
  .footer-locations { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .footer-directory-links .footer-social { width: 100%; padding: .8rem 0 0; border-inline-start: 0; border-top: 1px solid var(--line); }
}
@media (prefers-reduced-motion: reduce) {
  .location-link, .location-link > span[aria-hidden], .footer-social-link, .footer-social-icon { transition: none; }
  .location-link:hover > span[aria-hidden], .footer-social-link:hover .footer-social-icon { transform: none; }
}

.contact-layout { display: grid; grid-template-columns: minmax(18rem, 30%) 1fr; gap: clamp(3rem, 7vw, 8rem); padding-block: clamp(7rem, 11vw, 11rem); }
.contact-aside { align-self: start; position: sticky; top: calc(var(--site-header-height) + 2rem); }
.contact-aside h2 { margin-bottom: 1.5rem; font-size: clamp(2.4rem, 4vw, 4.6rem); line-height: 1; }
.contact-aside > p { color: #8c8c87; line-height: 1.65; }
.contact-aside .direct-contact { grid-template-columns: 1fr; margin-top: 3rem; }
.contact-aside .direct-contact p:last-child { grid-column: auto; }
.contact-form-wrap .rfq-form { border-top-color: rgba(255,255,255,.65); }
.footer-legal { grid-column: 1 / -1; padding-top: 1.1rem; margin-top: .4rem; border-top: 1px solid var(--line); }
.footer-legal a { color: var(--muted); text-underline-offset: .3rem; }
.footer-legal a:hover, .footer-legal a:focus-visible { color: var(--paper); text-decoration: underline; }

.page-hero--plain { padding: clamp(7rem, 12vw, 11rem) 0 clamp(3rem, 5vw, 4.5rem); background: var(--black); }
.legal-body { display: grid; gap: 0; padding-bottom: clamp(5rem, 9vw, 8rem); }
.legal-section { display: grid; grid-template-columns: 4.5rem 1fr; gap: 1.5rem; padding: clamp(1.75rem, 3vw, 2.75rem) 0; border-top: 1px solid var(--line); }
.legal-section:last-child { border-bottom: 1px solid var(--line); }
.legal-index { color: var(--muted); font-size: .78rem; font-variant-numeric: tabular-nums; padding-top: .35rem; }
.legal-section h2 { margin-bottom: .9rem; font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 400; letter-spacing: -.02em; }
.legal-section p { max-width: 62ch; margin-bottom: 0; color: #cfcfc9; line-height: 1.85; }
@media (max-width: 720px) {
  .legal-section { grid-template-columns: 1fr; gap: .6rem; }
  .legal-index { padding-top: 0; }
}

.page-footer { padding: 1.5rem var(--gutter); border-top: 1px solid var(--line); }
.page-footer .footer { width: min(100%, var(--max-width)); margin-inline: auto; }


@media (max-width: 980px) {
  .page-intro > h2 { grid-column: 3 / 9; }
  .page-intro > div { grid-column: 9 / 13; }
  .case-summary h2 { grid-column: 1 / 8; }
  .case-summary-copy { grid-column: 8 / 13; }
  .capability-detail { grid-template-columns: minmax(0,1fr) minmax(18rem, 38%); }
}

@media (max-width: 760px) {
  .home-cta { min-height: 0; }
  .cta-actions { align-items: stretch; flex-direction: column; }
  .cta-actions > * { width: 100%; }
  .page-hero { min-height: 78svh; padding-top: 8rem; }
  .page-title { font-size: clamp(2.4rem, 10.8vw, 4.7rem); line-height: .92; }
  .page-lede { margin-left: 0; font-size: 1rem; }
  .page-hero-meta { align-items: flex-start; flex-direction: column; gap: .7rem; }
  .page-intro { grid-template-columns: 1fr; gap: 1.2rem; }
  .page-intro > p:first-child, .page-intro > h2, .page-intro > div { grid-column: auto; }
  .work-grid { grid-template-columns: 1fr; }
  .work-card { grid-column: auto; }
  .work-card:nth-child(4n + 2), .work-card:nth-child(4n + 3) { padding-top: 0; }
  body[data-page="work"] .page-intro > h2,
  body[data-page="work"] .page-intro > div { grid-column: auto; }
  .work-card figure { aspect-ratio: 4 / 3; }
  /* F06: Reduce mobile case summary heading for better readability */
  .case-summary { grid-template-columns: 1fr; gap: 2.5rem; }
  .case-summary h2 { grid-column: auto; font-size: clamp(1.75rem, 7vw, 2.4rem); }
  .case-summary-copy { grid-column: auto; }
  .case-gallery { grid-template-columns: 1fr; gap: 1.25rem; }
  .case-gallery figure, .case-gallery figure:first-child, .case-gallery figure:nth-child(2), .case-gallery figure:nth-child(3) { grid-column: auto; margin-top: 0; }
  .case-gallery img, .case-gallery figure:nth-child(2) img, .case-gallery figure:nth-child(3) img { height: auto; aspect-ratio: 4 / 3; }
  .case-notes-grid { grid-template-columns: 1fr; }
  .case-notes-grid > h2, .case-note-list { grid-column: auto; }
  .case-note { grid-template-columns: 1fr; gap: .65rem; }
  .next-project { grid-template-columns: 1fr auto; }
  .capability-nav { grid-template-columns: 1fr; }
  .capability-nav a { min-height: 7rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .capability-detail { grid-template-columns: 1fr; min-height: 0; }
  .capability-detail ul { grid-template-columns: 1fr; }
  .about-facts, .trust-grid { grid-template-columns: 1fr; }
  .about-fact, .about-fact:nth-child(2), .about-fact:last-child { min-height: 0; padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .about-fact strong { margin-bottom: 1rem; }
  .trust-header, .certificate-record { grid-template-columns: 1fr; gap: 2.5rem; }
  .trust-heading h2 { font-size: clamp(2.7rem, 12vw, 4.2rem); }
  .certificate-download { min-height: 5rem; }
  .certificate-record dl div { grid-template-columns: 1fr; gap: .35rem; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-aside { position: static; }
  .product-category-card,
  .product-category-card:nth-child(even),
  .home-product-overview .product-category-card,
  .home-product-overview .product-category-card:nth-child(even) {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .product-category-card:nth-child(even) figure { order: 0; }
  .product-category-card figure { min-height: 0; aspect-ratio: 4 / 3; }
  .product-category-copy { min-height: 16rem; }
  .product-catalog-heading { grid-template-columns: 1fr; gap: 1rem; }
  .product-catalog-heading > p, .product-catalog-heading h2, .catalog-download { grid-column: auto; }
  .catalog-download { justify-self: start; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card { grid-column: auto; }
  .product-card:nth-child(4n + 2), .product-card:nth-child(4n + 3) { padding-top: 0; }
  .product-brief-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .product-brief h2, .product-brief-copy { grid-column: auto; }
  body[data-page="products"] .page-hero, body[data-page="product-category"] .page-hero { min-height: 68svh; }
  .product-directory { grid-template-columns: 1fr; gap: 0; padding-block: 0 var(--section-half); }
  .product-sidebar { position: sticky; z-index: 6; top: var(--site-header-height); align-self: start; margin-inline: calc(var(--gutter) * -1); background: rgba(8,8,8,.97); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
  .product-sidebar-sticky { position: static; padding-top: 0; border-top: 0; }
  .product-sidebar-head > p { display: none; }
  .product-sidebar-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem var(--gutter); color: var(--paper); background: transparent; border: 0; text-align: start; }
  .product-sidebar-toggle span { font-size: .82rem; letter-spacing: .06em; }
  .product-sidebar-toggle i { font-size: 1.15rem; font-style: normal; font-weight: 300; transition: transform .25s ease; }
  .product-sidebar.is-open .product-sidebar-toggle i { transform: rotate(45deg); }
  .product-sidebar-panel { max-height: calc(100dvh - 9rem); overflow: auto; padding: 0 var(--gutter) 1.2rem; }
  html[data-motion-boot] .product-sidebar-panel { display: none; }
  html[data-motion-boot] .product-sidebar.is-open .product-sidebar-panel { display: block; }
  .product-sidebar-nav a { min-height: 3.65rem; padding-inline: .75rem; }
  .product-sidebar-brief { display: none; }
  .product-sidebar-actions { grid-template-columns: 1fr 1fr; align-items: center; margin-top: 1rem; }
  .product-sidebar-actions a { justify-self: stretch; }
  .product-directory-main { padding-top: 4rem; }
  .product-directory-header { grid-template-columns: 1fr; gap: 1rem; padding-bottom: var(--section-inner); }
  .product-directory-header > p:first-child, .product-directory-header h2, .product-directory-header > p:last-child { grid-column: auto; grid-row: auto; }
  .product-directory-header h2 { font-size: clamp(2.8rem, 12vw, 4.2rem); }
  .product-groups { gap: var(--section-space); }
  .product-group { scroll-margin-top: calc(var(--site-header-height) + 4.5rem); }
  .product-group-heading { grid-template-columns: 1.8rem minmax(0, 1fr) auto; gap: .75rem; }
  .product-group-heading h3 { font-size: clamp(2rem, 9vw, 3rem); }
  .product-directory .product-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .product-directory .product-card h3 { font-size: clamp(1.8rem, 8vw, 2.65rem); }
  .product-directory .product-card p { -webkit-line-clamp: 5; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .scroll-meter { display: none; }
  .hero-slide { display: none; }
  .hero-slide:first-child { display: block; opacity: 1; transform: none; }
  .motion-text-inner { transform: none !important; }
  .motion-line-layer { display: none !important; }
  :root[data-motion-boot="pending"] :is(.hero, .page-hero) :is(h1, .hero-context, .page-kicker, .hero-intro, .page-lede, .hero-footer, .page-hero-meta) { visibility: visible; }
  :root[data-motion-boot="pending"] :is(.hero-media, .page-hero-media) img { opacity: 1; transform: none; }
  .motion-lines-active > .motion-text-source { opacity: 1 !important; }
  .motion-image-frame img { transform: none !important; }
}

.next-project em { font-style: normal; display: block; }
h1, h2, h3, .page-title, .page-lede, .about-statement, .hero-intro, .positioning h2, .section-heading h2, .capability-title h2, .rfq-heading h2, .trust-section h2, .work-card h3, .product-card h3, .page-intro h2, .process-heading h2, .next-project strong, .next-project em {
  overflow-wrap: anywhere;
}
:root[lang="de"] h1,
:root[lang="de"] h2,
:root[lang="de"] h3,
:root[lang="de"] .page-title,
:root[lang="de"] .page-lede,
:root[lang="de"] .about-statement,
:root[lang="de"] .hero-intro,
:root[lang="de"] .positioning h2,
:root[lang="de"] .section-heading h2,
:root[lang="de"] .capability-title h2,
:root[lang="de"] .rfq-heading h2,
:root[lang="de"] .trust-section h2,
:root[lang="de"] .page-intro h2,
:root[lang="de"] .next-project strong {
  hyphens: auto;
}

/* Source-specific focal points; approved frame sizes and motion remain unchanged. */
img[data-photo-id="hq-print-room"] { object-position: 50% 55%; }
img[data-photo-id="wide-format-press"] { object-position: 58% 52%; }
img[data-photo-id="artwork-workstation"] { object-position: 50% 38%; }
img[data-photo-id="roll-print-output"] { object-position: 50% 50%; }
img[data-photo-id="display-assembly"] { object-position: 50% 45%; }
img[data-photo-id="cutting-workshop"] { object-position: 50% 48%; }
img[data-photo-id="board-processing-line"] { object-position: 45% 55%; }
img[data-photo-id="colour-printing-line"] { object-position: 50% 52%; }
img[data-photo-id="cutting-layout-console"] { object-position: 50% 50%; }
img[data-photo-id="xingyi-printer"] { object-position: 50% 55%; }
img[data-photo-id="contour-cutting-head"] { object-position: 50% 50%; }
img[data-photo-id="dispatch-cartons"] { object-position: 50% 56%; }
img[data-photo-id="printed-board-output"] { object-position: 50% 65%; }
img[data-photo-id="chain-cooler-wall"] { object-position: 50% 48%; }
img[data-photo-id="fashion-elevator-graphic"] { object-position: 50% 45%; }
img[data-photo-id="commercial-corner-graphic"] { object-position: 50% 42%; }
img[data-photo-id="fashion-campaign-wall"] { object-position: 50% 50%; }
img[data-photo-id="chain-cooler-detail"] { object-position: 50% 50%; }
img[data-photo-id="fashion-display-pedestals"] { object-position: 50% 52%; }
img[data-photo-id="commercial-wall-poster"] { object-position: 50% 45%; }
img[data-photo-id="mall-lower-level-campaign"] { object-position: 50% 52%; }
img[data-photo-id="mall-opening-campaign"] { object-position: 50% 50%; }

/* Four source-led subpage heroes: expose the photograph, shade the reading area.
   Scope excludes the approved homepage video and all other image treatments. */
.page-hero--photo-refined .page-hero-media img {
  filter: saturate(.88) brightness(.98);
}
.page-hero--photo-refined .page-hero-shade {
  background:
    linear-gradient(180deg, rgba(5,5,5,.48), transparent 28%, rgba(5,5,5,.20) 48%, rgba(5,5,5,.76) 70%, rgba(5,5,5,.90)),
    linear-gradient(90deg, rgba(5,5,5,.64), rgba(5,5,5,.48) 38%, rgba(5,5,5,.10) 78%);
}
:root[dir="rtl"] .page-hero--photo-refined .page-hero-shade {
  background:
    linear-gradient(180deg, rgba(5,5,5,.48), transparent 28%, rgba(5,5,5,.20) 48%, rgba(5,5,5,.76) 70%, rgba(5,5,5,.90)),
    linear-gradient(270deg, rgba(5,5,5,.64), rgba(5,5,5,.48) 38%, rgba(5,5,5,.10) 78%);
}
.page-hero--photo-refined img[data-photo-id="products-display"] { object-position: 50% 52%; }
.page-hero--photo-refined img[data-photo-id="services-making"] { object-position: 65% 50%; }
.page-hero--photo-refined img[data-photo-id="cases-window"] { object-position: 50% 59%; }
.page-hero--photo-refined img[data-photo-id="contact-office"] { object-position: 52% 54%; }
@media (max-width: 760px) {
  .page-hero--photo-refined .page-hero-shade,
  :root[dir="rtl"] .page-hero--photo-refined .page-hero-shade {
    background: linear-gradient(180deg, rgba(5,5,5,.48), rgba(5,5,5,.40) 25%, rgba(5,5,5,.58) 52%, rgba(5,5,5,.90));
  }
  .page-hero--photo-refined img[data-photo-id="products-display"] { object-position: 50% 50%; }
  .page-hero--photo-refined img[data-photo-id="services-making"] { object-position: 65% 50%; }
  .page-hero--photo-refined img[data-photo-id="cases-window"] { object-position: 49% 55%; }
  .page-hero--photo-refined img[data-photo-id="contact-office"] { object-position: 52% 50%; }
}

/* Company and service content: scoped additions to the approved editorial layout. */
.company-page .page-intro, .service-page .page-intro { padding-block: clamp(4rem, 7vw, 7rem); }
.company-page .page-intro > h2, .service-page .page-intro > h2 { grid-column: 3 / 8; font-size: clamp(2.5rem, 4.1vw, 4.5rem); line-height: 1.1; }
.company-page .page-intro > div, .service-page .page-intro > div { grid-column: 9 / 13; align-self: start; color: #b7b7b0; }
.company-page .page-intro > div p:last-child { margin-bottom: 0; }
.company-page .about-story { padding-block: 0 clamp(4rem, 6vw, 6rem); }
.company-page .about-statement { max-width: 58rem; margin-bottom: var(--section-inner); font-size: clamp(1.8rem, 3vw, 3.1rem); line-height: 1.35; }
.company-page .about-fact strong { font-size: clamp(2rem, 3.2vw, 3.5rem); }
.company-audiences { padding-block: 0 clamp(5rem, 8vw, 8rem); }
.company-audiences .section-heading { display: block; max-width: 54rem; margin-bottom: 2.5rem; }
.company-audiences .section-heading h2 { font-size: clamp(2.4rem, 4vw, 4.3rem); line-height: 1.12; }
.editorial-row { display: grid; grid-template-columns: 3rem minmax(0, 1fr) minmax(0, 1.25fr); gap: 2rem; align-items: baseline; padding-block: 1.75rem; border-top: 1px solid var(--line); }
.row-index { color: #9c9c94; font-size: .75rem; font-variant-numeric: tabular-nums; }
.editorial-row h3 { margin: 0; font-size: clamp(1.2rem, 1.8vw, 1.8rem); font-weight: 400; line-height: 1.35; }
.editorial-row p { margin: 0; color: #b7b7b0; line-height: 1.65; }
.company-process .process-heading h2 { max-width: 56rem; font-size: clamp(2.5rem, 4.5vw, 4.8rem); line-height: 1.12; }
.service-range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 3rem; padding-bottom: var(--section-half); }
.service-range-item { display: grid; grid-template-columns: 2rem minmax(0, 1fr) 1.5rem; gap: 1rem; padding-block: 1.8rem; border-top: 1px solid var(--line); text-decoration: none; }
.service-range-item h3 { margin-bottom: .75rem; font-size: clamp(1.4rem, 2vw, 2rem); font-weight: 400; line-height: 1.25; }
.service-range-item p { margin: 0; max-width: 35rem; color: #b7b7b0; line-height: 1.6; }
.service-range-item .range-arrow { transition: transform .3s ease, color .3s ease; }
.service-range-item:hover .range-arrow { color: var(--accent); transform: translateY(-3px); }
.service-range-item:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.capability-nav--expanded { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.capability-nav--expanded a { min-height: 7rem; gap: 1rem; padding-inline: 1rem; border-right: 0; border-inline-end: 1px solid var(--line); }
.capability-nav--expanded li:last-child a { border-inline-end: 0; }
.capability-nav--expanded strong { font-size: clamp(1rem, 1.35vw, 1.4rem); line-height: 1.35; }
.service-page .capability-detail { min-height: 0; padding-block: var(--section-half); padding-inline: max(var(--gutter), calc((100% - var(--max-width)) / 2)); gap: clamp(2rem, 5vw, 6rem); }
.service-page .capability-detail:nth-child(even) { background: #1b1d1c; }
.service-page .capability-detail[id] { scroll-margin-top: calc(var(--site-header-height, 6rem) + 1rem); }
.service-page .capability-detail h2 { font-size: clamp(2.35rem, 3.8vw, 4.1rem); line-height: 1.12; }
.service-page .capability-detail-copy > span { margin-bottom: 1.5rem; color: #a5a59d; font-size: .8rem; }
.service-page .capability-detail ul { gap: .85rem 1.5rem; line-height: 1.5; }
.service-page .capability-detail li::before { margin-right: 0; margin-inline-end: .55rem; }
.service-page .capability-detail img { width: 100%; display: block; filter: saturate(.92); }
.service-page .capability-detail figure figcaption { padding-top: 1rem; color: #aaa99f; font-size: .8rem; line-height: 1.6; }
.service-brief { padding: clamp(1.5rem, 3vw, 3rem); background: #1c1c1a; border-top: 2px solid var(--accent); }
.service-brief h3 { font-size: 1.35rem; font-weight: 400; line-height: 1.4; }
.service-page .service-brief ul { grid-template-columns: 1fr; padding-top: 1rem; }
.service-page .service-brief .service-brief-note { margin: 1.5rem 0 0; color: #aaa99f; font-size: .85rem; line-height: 1.65; }
@media (max-width: 760px) {
  .company-page .page-intro > h2, .company-page .page-intro > div,
  .service-page .page-intro > h2, .service-page .page-intro > div { grid-column: auto; }
  .editorial-row { grid-template-columns: 2rem minmax(0, 1fr); gap: .7rem 1rem; }
  .editorial-row p { grid-column: 2; }
  .service-range { grid-template-columns: 1fr; }
  .capability-nav--expanded { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capability-nav--expanded a { min-height: 6rem; }
  .capability-nav--expanded li:nth-child(even) a { border-inline-end: 0; }
  .capability-nav--expanded li:last-child { grid-column: 1 / -1; }
  .service-page .capability-detail { grid-template-columns: 1fr; }
  .service-page .capability-detail h2 { font-size: clamp(2.2rem, 8vw, 3rem); }
  .service-page .capability-detail p { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .service-range-item .range-arrow { transition: none; transform: none; } }

/* Homepage footage: native motion, no extra zoom or scroll-driven transform. */
.hero-with-video .hero-slide,
.hero-with-video .hero-video { object-position: 50% 50%; }
.hero-video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; opacity: 0; pointer-events: none;
  transition: opacity .6s ease;
}
.hero-with-video[data-video-ready="true"] .hero-video { opacity: 1; }
.hero-video-toggle {
  position: absolute; z-index: 3; inset-inline-start: var(--gutter); bottom: 4.25rem;
  display: inline-flex; align-items: center; gap: .6rem; min-height: 44px;
  max-width: calc(100% - var(--gutter) * 2); padding: .6rem .9rem;
  color: #fff; background: rgba(10,10,10,.62); border: 1px solid rgba(255,255,255,.5);
  font-size: .75rem; line-height: 1.4; text-align: start;
  transition: background-color .2s ease, border-color .2s ease;
}
.hero-video-toggle[hidden] { display: none; }
.hero-video-toggle:hover { background: rgba(10,10,10,.88); border-color: #fff; }
.hero-video-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.hero-video-icon { flex: 0 0 16px; }
.hero-video-pause-icon,
.hero-video-toggle[data-action="pause"] .hero-video-play-icon { display: none; }
.hero-video-toggle[data-action="pause"] .hero-video-pause-icon { display: block; }
@media (max-width: 760px) {
  .hero-with-video .hero-slide,
  .hero-with-video .hero-video { object-position: 62% 50%; }
  .hero-video-toggle { bottom: 5.5rem; }
}
@media (max-width: 520px) {
  .hero-video-toggle { bottom: 4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-video { transition: none; }
}

/* Release refinement: readable content and navigation do not depend on motion. */
.rfq-mode-note { grid-column: 1 / -1; margin: 0 0 1.5rem; padding: 1rem 1.25rem; border-inline-start: 2px solid var(--accent); color: #c9c8c2; font-size: 1rem; line-height: 1.65; background: #171817; }
.rfq-draft { grid-column: 1 / -1; min-width: 0; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.rfq-draft[hidden] { display: none; }
.rfq-draft label { display: block; margin-bottom: .8rem; }
.rfq-draft textarea { display: block; width: 100%; margin-bottom: 1rem; padding: 1rem; font: inherit; font-size: 1rem; line-height: 1.6; background: #171817; color: var(--paper); border: 1px solid #696963; resize: vertical; }
.rfq-draft button, .form-mailto, .product-empty button { min-height: 44px; }
.rfq-draft-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: stretch; margin-top: 1rem; min-width: 0; }
.rfq-draft-actions .solid-button,
.rfq-draft-actions .outline-button { flex: 1 1 16rem; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }

/* F05: Form validation error styles */
.field-error { display: block; margin-top: 0.5rem; padding: 0.5rem 1.25rem; color: #f0937c; font-size: 0.875rem; line-height: 1.5; }
.field-error[hidden] { display: none; }
.form-row.has-field-error { border-bottom-color: #f0937c; }
.form-row input[aria-invalid="true"], 
.form-row select[aria-invalid="true"], 
.form-row textarea[aria-invalid="true"] { border-inline-start: 2px solid #f0937c; }
.field-indicator { font-weight: 400; color: var(--muted); font-size: 0.85em; }
.form-consent.has-field-error { color: #f0937c; }
.form-consent .field-error { grid-column: 2; padding: 0; margin-top: 0.35rem; }
.form-error-summary { grid-column: 1 / -1; margin: 1rem 0; padding: 1rem 1.25rem; color: #ffd1c7; background: #251714; border-inline-start: 2px solid #f0937c; }
.form-error-summary[hidden] { display: none; }
.form-error-summary p { margin: 0 0 .5rem; font-weight: 600; }
.form-error-summary ul { margin: 0; padding-inline-start: 1.25rem; }
.form-error-summary a { color: inherit; text-underline-offset: .2em; }
.form-error-summary:focus-visible { outline: 2px solid #f0937c; outline-offset: 3px; }
@media (max-width: 1024px) {
  .rfq-draft-actions { flex-direction: column; }
  .rfq-draft-actions .solid-button,
  .rfq-draft-actions .outline-button { flex-basis: auto; width: 100%; }
}

/* F03: Ensure form title can receive focus */
#contact-form-title[tabindex="-1"]:focus { outline: none; }
#contact-form-title { scroll-margin-top: calc(var(--site-header-height, 6rem) + 2rem); }
.form-actions { align-items: start; }
.product-empty { grid-column: 1 / -1; padding-block: 2rem; color: #c9c8c2; }
.product-empty a { display: inline-flex; align-items: center; min-height: 44px; margin-inline-start: 1rem; }
.arrow-link, .cert-view-link, .hero-footer a, .page-hero-meta a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-nav, .footer-legal { display: flex; flex-wrap: wrap; align-items: center; column-gap: 1.25rem; font-size: 0; }
.footer-nav a, .footer-legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: .85rem; line-height: 1.5; }
.footer-locations-links a, .contact-strip a { display: inline-flex; align-items: center; min-height: 44px; }
.footer > p:not(.footer-brand):not(.footer-nav):not(.footer-legal) { font-size: .8rem; line-height: 1.6; }
.service-page .capability-detail-copy > p { max-width: 62ch; line-height: 1.75; }
.service-page .capability-detail figcaption { max-width: 60ch; }
.trust-card .cert-preview img { aspect-ratio: 1280 / 1827; }
@media (min-width: 961px) {
  :root:is([lang="de"],[lang="fr"],[lang="it"]) #hero-title { font-size: clamp(4rem,6.9vw,7.4rem); line-height: .98; }
  .service-page #cutting { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); }
  .service-page #cutting > figure { grid-column: 1; grid-row: 1; }
  .service-page #cutting > .capability-detail-copy { grid-column: 2; grid-row: 1; }
  .service-page #finishing { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
}
@media (max-width: 760px) {
  .trust-grid { gap: 1.75rem; }
  .trust-card { display: grid; grid-template-columns: minmax(80px,.35fr) minmax(0,1fr); align-items: start; gap: 1.25rem; }
  .trust-card .cert-card-body { padding-top: 0; }
  .trust-card h3 { font-size: 1.15rem; line-height: 1.45; }
  .trust-card .cert-standard { margin-block: .7rem 1rem; line-height: 1.6; }
  .trust-card .cert-facts { margin-block: 0; }
  .trust-card .cert-view-link { margin-top: .5rem; }
  .footer-nav { gap: 0 1.5rem; }
  .footer-legal { gap: 0 1.5rem; }
  .hero-intro { font-size: 1rem; }
}

/* Short phones in landscape need a content-led hero. Keep every control in
   document flow so translated copy cannot collide with the footer or video. */
@media (max-height: 500px) and (orientation: landscape) {
  .hero {
    min-height: 100svh;
    height: auto;
    padding-block: calc(var(--site-header-height, 6rem) + 2rem) 2rem;
  }
  .hero-content { padding-top: 0; }
  .hero-footer,
  .hero-video-toggle {
    position: relative;
    inset: auto;
  }
  .hero-footer { margin-top: 2rem; padding-bottom: 0; }
  .hero-video-toggle { margin: 1rem var(--gutter) 0; }
}

@media (max-width: 360px) {
  :root:is([lang="fr"], [lang="it"]) #hero-title {
    font-size: clamp(2rem, 10vw, 3rem);
    line-height: .98;
  }
  :root[lang="de"] #hero-title {
    font-size: clamp(1.9rem, 9.5vw, 2.85rem);
    line-height: .98;
    overflow-wrap: anywhere;
  }
}

/* Enquiry trap field: present in the DOM but unreachable by sight, keyboard and
   assistive technology, so only an automated sender will ever fill it. */
.form-trap {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Launch repair: WCAG 2.5.8 target size for standalone action links.
   The visible type is unchanged; an invisible overlay supplies the hit area. */
.service-link, .direct-contact a, .location-email, .tel-link, .knowledge-email,
.product-sidebar-actions a:not(.product-sidebar-rfq), .regional-contact-actions a { position: relative; }
.service-link::after, .direct-contact a::after, .location-email::after,
.tel-link::after, .knowledge-email::after,
.product-sidebar-actions a:not(.product-sidebar-rfq)::after,
.regional-contact-actions a::after {
  position: absolute;
  inset: -3px -4px;
  min-height: 24px;
  content: "";
}

/* knowledge.css */
/* Reading-led additions; retain the approved photo-led sections and motion system. */
.knowledge-home { padding-block: var(--section-half); background: #131412; border-top: 1px solid var(--line); }
.knowledge-home-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.25fr); gap: 4rem clamp(2rem, 7vw, 7rem); }
.knowledge-home .section-heading { display: block; margin: 0 0 2rem; }
.knowledge-home .section-heading h2 { font-size: clamp(2.6rem, 4.2vw, 4.6rem); line-height: 1.14; max-width: 13ch; margin-block: 1.4rem; }
.knowledge-home .section-heading > p:last-child { color: #b7b7b0; font-size: 1rem; letter-spacing: normal; line-height: 1.7; text-transform: none; max-width: 30rem; }
.guide-link { display: grid; grid-template-columns: 1.6rem minmax(0,1fr) 1.2rem; align-items: start; gap: 1rem; padding-block: 1.75rem 2rem; border-top: 1px solid var(--line); text-decoration: none; }
.guide-index { color: #a6a69d; font-size: .75rem; font-variant-numeric: tabular-nums; }
.guide-topic { color: #b5b4aa; font-size: .76rem; margin-bottom: .8rem; letter-spacing: .03em; }
.guide-link h3 { font-family: inherit; font-size: clamp(1.3rem, 1.85vw, 2rem); font-weight: 400; line-height: 1.4; letter-spacing: -.015em; margin-bottom: .7rem; }
.guide-summary { color: #b7b7b0; max-width: 47rem; font-size: .94rem; line-height: 1.7; margin: 0; }
.guide-arrow { font-size: 1.3rem; transition: transform .25s ease, color .25s ease; }
.knowledge-home .guide-link { grid-template-columns: 1.6rem minmax(0,1fr) minmax(7.5rem,auto); }
.guide-home-meta { display: flex; min-height: 100%; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.guide-home-meta .content-date { color: #85877f; }
.guide-home-meta .content-date time { color: #b9bab1; }
.guide-link:hover .guide-arrow, .guide-link:focus-visible .guide-arrow { transform: translateY(-3px); color: #ec967e; }
.guide-link:hover h3 { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.knowledge-home-faq { padding-top: 2rem; border-top: 1px solid var(--line); }
.knowledge-home-faq h2 { font-size: clamp(1.6rem,2.3vw,2.4rem); line-height: 1.4; max-width: 20ch; margin-bottom: 1.5rem; }
.reading-page .site-header { background: rgba(13,14,12,.96); }
.reading-page .knowledge-hero { min-height: 0; padding-block: clamp(9rem, 13vw, 12rem) clamp(3rem, 5vw, 5rem); background: #131412; }
.reading-page .knowledge-title { font-family: inherit; font-size: clamp(2.6rem, 5.8vw, 6rem); font-weight: 400; line-height: 1.15; letter-spacing: -.035em; text-transform: none; max-width: 19ch; text-wrap: balance; }
.reading-page .page-lede { max-width: 45rem; margin: 2rem 0 0; font-size: clamp(1rem,1.3vw,1.2rem); color: #b7b7b0; line-height: 1.75; }
.reading-page .page-hero-meta { margin-top: 2.5rem; justify-content: flex-start; flex-wrap: wrap; border-color: var(--line); font-size: .86rem; }
.knowledge-index { padding-top: clamp(2rem,4vw,4rem); }
.knowledge-index > .guide-list { max-width: 62rem; margin-inline-start: auto; }
.knowledge-index .guide-link { padding-block: 2.5rem; }
.knowledge-index .guide-link h3 { font-size: clamp(1.6rem,2.8vw,2.8rem); }
.knowledge-contact { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: end; padding-block: 3rem 4rem; margin-top: 4rem; border-top: 1px solid var(--line); }
.knowledge-contact h2 { font-family: inherit; font-size: clamp(1.8rem,3vw,3rem); font-weight: 400; line-height: 1.3; margin-bottom: 1rem; }
.knowledge-contact p { color: #b7b7b0; max-width: 40rem; line-height: 1.75; margin: 0; }
.knowledge-contact > div:last-child { display: grid; gap: 1rem; justify-items: start; }
.knowledge-email { color: #b7b7b0; font-size: .88rem; text-decoration: none; }
.knowledge-load-note { padding-block: 1rem; color: #ddd6bd; line-height: 1.6; }
.faq-layout, .guide-layout { display: grid; grid-template-columns: minmax(11rem,.55fr) minmax(0,1.7fr); gap: clamp(2rem,7vw,7rem); align-items: start; padding-block: 3rem; }
.faq-sidebar, .guide-contents { position: sticky; top: 8rem; }
.faq-sidebar a, .guide-contents a { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-block: 1rem; border-bottom: 1px solid var(--line); text-decoration: none; font-size: .93rem; line-height: 1.5; }
.guide-contents a { justify-content: flex-start; }
.faq-sidebar a:hover, .guide-contents a:hover { color: #ec967e; }
.faq-group { scroll-margin-top: 8rem; margin-bottom: 4rem; }
.faq-group > h2 { display: flex; align-items: baseline; gap: 1rem; font-family: inherit; font-weight: 400; font-size: clamp(1.65rem,2.5vw,2.4rem); line-height: 1.35; margin-bottom: 1.8rem; }
.faq-group > h2 > span { color: #a6a69d; font-size: .75rem; letter-spacing: normal; }
.faq-row { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.2fr); gap: 2rem; padding-block: 1.7rem; border-top: 1px solid var(--line); scroll-margin-top: 8rem; }
.faq-row h3 { font-family: inherit; font-size: 1.08rem; line-height: 1.6; font-weight: 500; margin: 0; letter-spacing: normal; }
.faq-row p { color: #b7b7b0; font-size: .96rem; line-height: 1.8; margin: 0; }
.faq-row--compact { grid-template-columns: 1fr; gap: .6rem; }
.faq-search { margin-bottom: 3rem; }
.faq-search label { display: block; font-size: .85rem; margin-bottom: .8rem; }
.faq-search-control { display: flex; border: 1px solid #72736b; }
.faq-search input { width: 100%; min-width: 0; min-height: 3.4rem; padding: .85rem 1rem; color: var(--paper); background: #181a17; border: 0; font: inherit; border-radius: 0; }
.faq-search input::placeholder { color: #a6a69d; opacity: 1; }
.faq-search button { flex: 0 0 auto; white-space: nowrap; padding: .6rem 1rem; border: 0; border-inline-start: 1px solid #72736b; background: transparent; color: var(--paper); font: inherit; font-size: .8rem; cursor: pointer; }
.faq-search button:disabled { opacity: .6; cursor: default; }
.faq-search button:not(:disabled):hover { background: #252721; }
.faq-search [role="status"] { min-height: 1.3em; margin: .85rem 0 0; color: #b7b7b0; font-size: .8rem; }
.faq-empty { color: #b7b7b0; line-height: 1.8; padding-block: 1.5rem 4rem; }
.faq-main [hidden] { display: none !important; }
.guide-body { max-width: 47rem; }
.guide-section { margin-bottom: 3.5rem; scroll-margin-top: 8rem; }
.guide-section h2, .guide-sources h2 { font-family: inherit; font-weight: 400; font-size: clamp(1.5rem,2vw,2rem); line-height: 1.4; margin-bottom: 1.2rem; letter-spacing: -.015em; }
.guide-section p { color: #c4c4bc; font-size: 1.1rem; line-height: 1.9; margin: 0; }
.guide-sources { border-top: 1px solid var(--line); padding-block: 2rem 1rem; }
.guide-sources p, .guide-note { color: #a6a69d; font-size: .85rem; line-height: 1.75; }
.guide-sources h2 { font-size: 1rem; }
.guide-sources a { color: #c4c4bc; text-underline-offset: .2em; }
.knowledge-related { border-top: 1px solid var(--line); padding-top: 2rem; }
.knowledge-related > h2 { font-size: 1.4rem; font-weight: 400; margin-bottom: 2rem; }
.knowledge-related .guide-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3rem; }
:root[lang="ar"] .knowledge-title, :root[lang="ar"] .guide-link h3, :root[lang="ar"] .guide-section h2 { letter-spacing: 0; }
:root[lang="ar"] .guide-arrow { transform: scaleX(-1); }
@media (max-width: 980px) {
  .faq-row { grid-template-columns: 1fr; gap: .7rem; }
  .knowledge-home-grid { grid-template-columns: minmax(0,.7fr) minmax(0,1fr); gap: 3rem 2rem; }
}
@media (max-width: 760px) {
  .knowledge-home-grid, .faq-layout, .guide-layout, .knowledge-contact { grid-template-columns: 1fr; }
  .knowledge-home .section-heading h2 { max-width: 15ch; }
  .knowledge-home-faq { margin-top: 1rem; }
  .knowledge-home-grid { row-gap: 2rem; }
  .guide-link { grid-template-columns: 1.3rem minmax(0,1fr) 1rem; gap: .65rem; }
  .knowledge-home .guide-link { grid-template-columns: 1.3rem minmax(0,1fr) auto; }
  .guide-home-meta { min-width: 5.4rem; }
  .knowledge-contact { margin-top: 2rem; padding-bottom: 3rem; }
  .faq-sidebar, .guide-contents { position: static; }
  .faq-sidebar nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1rem; }
  .faq-sidebar .guide-topic { grid-column: 1 / -1; }
  .faq-layout, .guide-layout { gap: 2rem; }
  .faq-search input { font-size: 1rem; }
  .faq-search button { padding-inline: .8rem; }
  .knowledge-related .guide-list { grid-template-columns: 1fr; gap: 0; }
  .guide-section p { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .guide-arrow { transition: none; } .guide-link:hover .guide-arrow { transform: none; } }

/* Reading revision 03: an editorial spread and an inline, categorized reference.
   Scope stays within the reading pages; the approved home module is unchanged. */
.reading-page {
  --reading-bg: #10110f;
  --reading-muted: #b9bab1;
  --reading-accent: #eca58c;
  --reading-line: #3b3e36;
  background: var(--reading-bg);
}
.reading-page .site-header { background: var(--reading-bg); }
.reading-page .knowledge-hero { padding-block: clamp(8.5rem,10.5vw,10rem) 2.75rem; background: var(--reading-bg); }
.reading-page .knowledge-title { font-size: clamp(2.6rem,5.3vw,5.2rem); max-width: 21ch; line-height: 1.12; }
.reading-page .knowledge-hero .page-kicker { color: var(--reading-muted); letter-spacing: .05em; margin-bottom: 1.25rem; font-size: .75rem; }
.reading-page .knowledge-index-header .page-hero-content,
.reading-page .knowledge-faq-header .page-hero-content { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: clamp(2rem,5vw,5rem); align-items: end; }
.reading-page .knowledge-index-header .page-lede { margin: 0 0 .3rem; font-size: 1rem; max-width: 29rem; }
.reading-page .knowledge-index { padding-top: 0; }
.insight-feature { display: grid; grid-template-columns: minmax(0,1fr) minmax(13rem,.48fr); gap: clamp(2rem,5vw,5rem); align-items: center; padding-block: 2.5rem; border-block: 1px solid var(--reading-line); }
.insight-feature-copy { max-width: 45rem; }
.insight-feature-copy .guide-topic { display: flex; gap: 1.25rem; align-items: baseline; color: var(--reading-accent); font-size: .8rem; }
.insight-feature-copy h2 { font-family: inherit; font-weight: 400; font-size: clamp(2rem,3.25vw,3.5rem); line-height: 1.3; letter-spacing: -.025em; margin-block: 1.4rem 1.1rem; text-wrap: balance; }
.insight-feature-copy h2 a { text-decoration: none; }
.insight-feature-summary { color: var(--reading-muted); font-size: 1.05rem; line-height: 1.8; max-width: 36rem; }
.insight-chapters { padding: 0; list-style: none; margin: 1.5rem 0; color: var(--reading-muted); font-size: .88rem; display: flex; flex-wrap: wrap; gap: .65rem 1.3rem; }
.insight-chapters li { display: flex; align-items: baseline; gap: .6rem; }
.insight-chapters li::before { content: ''; flex: 0 0 .35rem; width: .35rem; height: .35rem; border: 1px solid var(--reading-muted); }
.insight-read { display: inline-flex; align-items: center; gap: 2.5rem; min-height: 44px; padding-block: .8rem; border-bottom: 1px solid var(--paper); text-decoration: none; font-size: .95rem; }
.insight-read > span { font-size: 1.4rem; transition: transform .25s; }
.insight-feature-visual { text-decoration: none; display: block; width: 100%; max-width: 22rem; justify-self: end; }
.insight-feature-visual figure { margin: 0; }
.knowledge-feature-media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--reading-line); }
.knowledge-feature-media img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .9s cubic-bezier(.22,.61,.36,1); }
.insight-feature-visual figcaption { color: var(--reading-muted); font-size: .75rem; line-height: 1.6; padding-top: .65rem; }
.insight-secondary { padding-block: 2rem 1rem; }
.insight-secondary-heading { margin-bottom: 1.5rem; }
.insight-secondary-heading h2 { font-size: .85rem; font-family: inherit; color: var(--reading-muted); font-weight: 400; letter-spacing: normal; }
.insight-secondary > div:last-child { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,5vw,5rem); }
.insight-secondary-link { display: grid; grid-template-columns: 1.5rem minmax(0,1fr) 1.2rem; gap: 1rem; padding-block: 1.5rem 2rem; border-top: 1px solid var(--reading-line); text-decoration: none; }
.insight-secondary-link h3 { font-family: inherit; font-size: clamp(1.45rem,2.05vw,2.1rem); line-height: 1.4; font-weight: 400; letter-spacing: -.015em; margin-bottom: .8rem; text-wrap: balance; }
.insight-secondary-link .guide-topic { color: var(--reading-accent); font-size: .8rem; }
.insight-secondary-link .guide-summary { max-width: 32rem; color: var(--reading-muted); }
:is(.knowledge-index,.faq-layout) .knowledge-contact { background: transparent; border-top: 1px solid var(--reading-line); padding-block: 2.5rem; margin-block: 2.5rem 3rem; }
.reading-page .knowledge-contact h2 { font-size: clamp(1.6rem,2.6vw,2.6rem); }
.reading-page .knowledge-contact p { font-size: .95rem; }
.reading-page .guide-layout { grid-template-columns: minmax(11rem,.45fr) minmax(0,1.3fr); padding-top: 3.5rem; }
.reading-page .guide-body { max-width: 43rem; }
.reading-page .guide-section p { font-size: 1.06rem; line-height: 1.95; }

/* Topic rail stays separate from questions, which expand at their reading position. */
.reading-page .knowledge-faq-header .page-lede { max-width: 33rem; font-size: 1rem; margin-top: 1.2rem; }
:is(.knowledge-faq-header,.faq-layout) .faq-search { margin: 0; padding-bottom: .25rem; }
:is(.knowledge-faq-header,.faq-layout) .faq-search label { color: var(--reading-muted); font-size: .8rem; }
:is(.knowledge-faq-header,.faq-layout) .faq-search-control { align-items: center; border: 1px solid #7f8276; padding-inline: 1rem .5rem; }
:is(.knowledge-faq-header,.faq-layout) .faq-search input { background: transparent; padding-inline: .8rem; font-size: 1rem; }
:is(.knowledge-faq-header,.faq-layout) .faq-search button { border: 0; min-height: 44px; padding-inline: .5rem; }
:is(.knowledge-faq-header,.faq-layout) .faq-search-icon { display: block; width: 15px; height: 15px; border: 1px solid var(--reading-muted); border-radius: 50%; flex: 0 0 15px; position: relative; }
.faq-search-icon::after { content: ''; position: absolute; width: 6px; border-top: 1px solid var(--reading-muted); bottom: -3px; right: -4px; transform: rotate(45deg); }
:is(.knowledge-faq-header,.faq-layout) .faq-search [role="status"] { margin-top: .7rem; color: var(--reading-muted); }
.reading-page .faq-layout { display: block; padding-block: 2.5rem 0; border-top: 1px solid var(--reading-line); }
.reading-page .faq-directory { display: grid; grid-template-columns: minmax(12rem,.3fr) minmax(0,1fr); gap: 0 clamp(2rem,6vw,6rem); align-items: start; }
.faq-topics { display: flex; flex-direction: column; align-self: start; position: sticky; top: 8rem; padding-inline-end: 1rem; }
.faq-topics a { display: grid; grid-template-columns: 1.4rem minmax(0,1fr) auto; align-items: baseline; gap: .65rem; min-height: 44px; padding-block: 1rem; color: var(--reading-muted); border-bottom: 1px solid var(--reading-line); font-size: .95rem; line-height: 1.6; text-decoration: none; }
.faq-topic-count { font-size: .75rem; font-variant-numeric: tabular-nums; }
.faq-topics a:last-child { display: block; font-size: .85rem; margin-top: .75rem; border-bottom: 0; }
.faq-topics a[aria-current] { color: var(--reading-accent); border-bottom-color: var(--reading-accent); }
.faq-topics a[aria-current] > span:nth-child(2) { text-decoration: underline; text-underline-offset: .3em; }
.faq-enhanced #faq-groups { display: block; }
.faq-enhanced .faq-group { display: block; margin-bottom: 2.5rem; }
.faq-enhanced .faq-group:last-child { margin-bottom: 0; }
.faq-enhanced .faq-group > h2 { display: block; position: static; width: auto; height: auto; margin: 0 0 1.7rem; padding: 0; overflow: visible; clip: auto; white-space: normal; font-size: clamp(1.4rem,2vw,2rem); font-weight: 400; line-height: 1.4; }
.faq-enhanced .faq-row { display: block; border-top: 1px solid var(--reading-line); padding: 0; }
.faq-question { appearance: none; display: grid; grid-template-columns: 1.5rem minmax(0,1fr) 1.25rem; align-items: baseline; gap: 1rem; width: 100%; min-height: 60px; border: 0; border-radius: 0; padding: 1.35rem 0; background: none; color: var(--paper); font-family: inherit; font-size: clamp(1.05rem,1.4vw,1.3rem); font-weight: 400; line-height: 1.6; text-align: start; cursor: pointer; transition: color .2s; }
.faq-question-number { font-family: 'General Sans',sans-serif; font-size: .75rem; font-weight: 400; color: var(--reading-muted); font-variant-numeric: tabular-nums; }
.faq-question-symbol { align-self: center; display: flex; color: var(--reading-muted); }
.faq-question-symbol svg { transition: transform .25s; }
.faq-question[aria-expanded="true"] .faq-question-symbol svg { transform: rotate(45deg); }
.faq-question[aria-expanded="true"] .faq-question-number,
.faq-question[aria-expanded="true"] .faq-question-symbol { color: var(--reading-accent); }
.faq-enhanced .faq-answer { position: static; min-height: 0; padding: 0 3rem 1.75rem 2.5rem; padding-inline: 2.5rem 3rem; background: transparent; }
.faq-row .faq-answer > p { font-size: 1rem; line-height: 1.85; color: var(--reading-muted); max-width: 65ch; margin: 0; }
.faq-answer:not([hidden]) { animation: knowledge-answer-in .25s ease-out; }
@keyframes knowledge-answer-in { from { opacity:.4; transform:translateY(4px); } to { opacity:1; transform:none; } }
.faq-bottom { display: flex; justify-content: space-between; gap: 3rem; padding-block: 1.8rem; margin-top: 2.5rem; border-top: 1px solid var(--reading-line); }
.faq-bottom > span { max-width: 43rem; color: var(--reading-muted); font-size: .8rem; line-height: 1.8; }
.faq-bottom > a { flex-shrink: 0; font-size: .9rem; align-self: start; min-height: 44px; }
.reading-page .faq-empty { border-top: 1px solid var(--reading-line); padding-block: 2rem; min-height: 10rem; }
.reading-page :is(.faq-question,.faq-topics a,.insight-read,.insight-secondary-link,.insight-feature-visual):focus-visible { outline: 2px solid var(--reading-accent); outline-offset: 4px; }
:root[lang="ar"] :is(.insight-feature-copy h2,.insight-secondary-link h3) { letter-spacing: normal; }
@media (hover: hover) and (pointer: fine) {
  .insight-feature-visual:hover img { transform: scale(1.025); }
  .insight-read:hover, .insight-secondary-link:hover h3, .faq-topics a:hover, .faq-question:hover { color: var(--reading-accent); }
  .insight-read:hover > span { transform: translate(2px,-2px); }
}
@media (max-width: 980px) {
  .insight-feature { grid-template-columns: minmax(0,1fr) minmax(10rem,.48fr); gap: 2rem; }
  .insight-feature-copy h2 { font-size: 2rem; }
  .insight-chapters { display: grid; gap: .6rem; }
  .reading-page .faq-directory { grid-template-columns: minmax(10rem,.35fr) minmax(0,1fr); gap: 0 2rem; }
}
@media (max-width: 760px) {
  .reading-page .knowledge-index-header .page-hero-content,
  .reading-page .knowledge-faq-header .page-hero-content { grid-template-columns: 1fr; gap: 1.3rem; }
  .reading-page .knowledge-hero { padding-block: 8rem 1.8rem; }
  .reading-page .knowledge-title { font-size: clamp(2.5rem,9vw,3.8rem); }
  .reading-page .knowledge-hero .page-kicker { margin-bottom: 1rem; }
  .reading-page .knowledge-index-header .page-lede { font-size: .96rem; }
  .insight-feature { grid-template-columns: 1fr; gap: 1.75rem; padding-block: 1.6rem 2rem; }
  .insight-feature-copy h2 { font-size: clamp(1.8rem,7.5vw,2.3rem); margin-block: 1rem; }
  .insight-feature-summary { font-size: 1rem; }
  .insight-chapters { margin-block: 1rem; font-size: .84rem; }
  .insight-feature-visual { max-width: 12rem; justify-self: start; }
  .insight-feature-visual figure { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.7fr); align-items: end; gap: 1rem; }
  .insight-feature-visual { max-width: 100%; }
  .knowledge-feature-media { max-width: 12rem; }
  .insight-feature-visual figcaption { max-width: 10rem; }
  .insight-secondary { padding-top: 1.5rem; }
  .insight-secondary > div:last-child { grid-template-columns: 1fr; gap: 0; }
  .insight-secondary-link { gap: .7rem; }
  .reading-page .guide-layout { grid-template-columns: 1fr; }
  .reading-page .faq-layout { padding-top: 1rem; }
  .reading-page .faq-directory { display: block; }
  .faq-topics { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1rem; padding: 0; margin-bottom: 2rem; }
  .faq-topics a { font-size: .88rem; grid-template-columns: minmax(0,1fr) auto; gap: .4rem; padding-block: .9rem; }
  .faq-topics .guide-index { display: none; }
  .faq-topics a:last-child { grid-column: 1 / -1; margin-top: 0; padding-block: .6rem; }
  .faq-enhanced .faq-group > h2 { margin-bottom: 1.2rem; font-size: 1.4rem; }
  .faq-question { font-size: 1.05rem; padding-block: 1.15rem; gap: .7rem; }
  .faq-enhanced .faq-answer { padding-inline: 2.2rem 0; padding-bottom: 1.5rem; }
  .faq-row .faq-answer > p { font-size: 1rem; line-height: 1.8; }
  .faq-bottom { display: block; padding-block: 1.5rem; margin-top: 2rem; }
  .faq-bottom > span { display: block; margin-bottom: 1rem; }
  .faq-bottom > a { display: inline-flex; }
  :is(.knowledge-index,.faq-layout) .knowledge-contact { margin-block: 1rem 2rem; padding-block: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .knowledge-feature-media img,.insight-read > span,.faq-question,.faq-question-symbol svg { transition: none; }
  .faq-answer:not([hidden]) { animation: none; }
  .insight-feature-visual:hover img { transform: none; }
}

/* Anchor and sidebar clearance follows the real one- or two-row header. */
.faq-sidebar, .guide-contents, .faq-topics { top: calc(var(--site-header-height, 6rem) + 1.5rem); }
.faq-group, .faq-row, .guide-section { scroll-margin-top: calc(var(--site-header-height, 6rem) + 1.5rem); }
@media (min-width: 761px) and (max-width: 1100px) {
  .reading-page .knowledge-hero { padding-top: calc(var(--site-header-height, 8.5rem) + 2.5rem); }
}

/* Technical information revision 04: quieter archive rail, dates at the reading edge. */
.reading-page .knowledge-index-header .page-hero-content { display: block; }
.reading-page .knowledge-index-header .page-lede { max-width: 39rem; margin: 1rem 0 0; }
.reading-page .knowledge-index-header .knowledge-title { max-width: 14ch; }
.reading-page .knowledge-index { padding-top: 0; }
.insight-directory {
  display: grid;
  grid-template-columns: minmax(9rem, 12rem) minmax(0, 1fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}
.insight-filter-rail {
  position: sticky;
  top: calc(var(--site-header-height, 6rem) + 1.5rem);
  padding-top: 2.25rem;
}
.insight-topic-nav > p,
.insight-year-filter > p {
  margin: 0 0 .75rem;
  color: #85877f;
  font-size: .7rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.insight-topic-nav a {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: .65rem;
  align-items: baseline;
  min-height: 44px;
  padding-block: .6rem;
  color: var(--reading-muted);
  font-size: .92rem;
  line-height: 1.45;
  text-decoration: none;
}
.insight-topic-nav a[aria-current] { color: var(--reading-accent); }
.insight-topic-nav a[aria-current] span:last-child { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .55em; }
.insight-year-filter { margin-top: 2.5rem; }
.insight-year-filter button {
  display: block;
  width: fit-content;
  min-height: 40px;
  padding: .55rem 0;
  border: 0;
  background: transparent;
  color: var(--reading-muted);
  font: inherit;
  font-size: .9rem;
  text-align: start;
  cursor: pointer;
}
.insight-year-filter button[aria-pressed="true"] { color: var(--reading-accent); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .55em; }
.insight-stream { border-top: 1px solid var(--reading-line); }
.insight-stream .insight-feature {
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .72fr);
  align-items: start;
  gap: clamp(2rem, 4vw, 4rem);
  padding-block: 2.2rem 3rem;
  border: 0;
  scroll-margin-top: calc(var(--site-header-height, 6rem) + 1.5rem);
}
.insight-stream .insight-feature-copy { max-width: 42rem; }
.insight-stream .insight-feature-copy h2 { margin-block: 1rem .85rem; }
.insight-stream .insight-chapters { display: grid; gap: 0; margin-block: 1.25rem; max-width: 31rem; }
.insight-stream .insight-chapters li { min-height: 42px; padding-block: .55rem; }
.insight-stream .insight-feature-visual { max-width: none; }
.insight-stream .knowledge-feature-media img { object-fit: cover; }
.insight-feature-visual figcaption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
}
.content-date {
  display: inline-flex;
  gap: .45rem;
  justify-content: flex-end;
  color: #8e9088;
  font-size: .7rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: .03em;
  white-space: nowrap;
}
.content-date time { color: #b9bab1; }
.insight-secondary { padding: 0; }
.insight-secondary > article {
  border-top: 1px solid var(--reading-line);
  scroll-margin-top: calc(var(--site-header-height, 6rem) + 1.5rem);
}
.insight-secondary-link {
  grid-template-columns: 1.5rem minmax(0, 1fr) minmax(7.5rem, auto);
  align-items: start;
  gap: 1rem;
  padding-block: 1.55rem 1.8rem;
  border: 0;
}
.insight-secondary-link h3 { margin: .2rem 0 .45rem; }
.insight-secondary-meta {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  justify-content: space-between;
  align-items: end;
  gap: 1.2rem;
}
.insight-secondary-meta .guide-arrow { color: var(--paper); }
[data-insight-entry][hidden] { display: none !important; }
.reading-page .page-hero-meta .content-date { margin-inline-start: auto; }
.reading-page :is(.insight-topic-nav a,.insight-year-filter button):focus-visible { outline: 2px solid var(--reading-accent); outline-offset: 4px; }

@media (hover: hover) and (pointer: fine) {
  .insight-topic-nav a:hover,
  .insight-year-filter button:hover { color: var(--reading-accent); }
}

@media (max-width: 980px) {
  .insight-directory { grid-template-columns: minmax(8rem, 10rem) minmax(0, 1fr); gap: 2rem; }
  .insight-stream .insight-feature { grid-template-columns: minmax(0, 1fr) minmax(15rem, .75fr); gap: 2rem; }
}

@media (max-width: 760px) {
  .reading-page .knowledge-index-header .page-lede { margin-top: .75rem; }
  .insight-directory { grid-template-columns: 1fr; gap: 1.25rem; }
  .insight-filter-rail { position: static; padding-top: 1.35rem; }
  .insight-topic-nav { display: flex; gap: 1rem; overflow-x: auto; padding-bottom: .35rem; scrollbar-width: none; }
  .insight-topic-nav::-webkit-scrollbar { display: none; }
  .insight-topic-nav > p { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .insight-topic-nav a { grid-template-columns: auto auto; flex: 0 0 auto; font-size: .84rem; }
  .insight-year-filter { display: flex; align-items: baseline; gap: 1rem; margin-top: .65rem; }
  .insight-year-filter > p { margin: 0 auto 0 0; }
  .insight-year-filter button { font-size: .82rem; }
  .insight-stream .insight-feature { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 1.6rem 2rem; }
  .insight-stream .insight-feature-visual { justify-self: stretch; }
  .insight-stream .knowledge-feature-media { max-width: none; }
  .insight-feature-visual figure { display: block; }
  .insight-feature-visual figcaption { max-width: none; }
  .insight-secondary-link { grid-template-columns: 1.25rem minmax(0, 1fr); gap: .75rem; }
  .insight-secondary-meta { grid-column: 2; flex-direction: row-reverse; align-items: center; }
  .insight-secondary-link .guide-summary { font-size: .9rem; }
  .reading-page .page-hero-meta .content-date { margin-inline-start: 0; }
}

/* Search follows the scene hero on a readable light surface. */
.faq-layout > .faq-search{max-width:52rem;margin:0 0 2.5rem;padding:0}

/* One information centre: shared hero, in-page navigation and complete FAQ. */
.information-jump{display:flex;gap:3rem;border-bottom:1px solid var(--reading-line);padding-block:1.4rem}
.information-jump a{display:flex;align-items:center;gap:2rem;font-size:1rem;padding:.5rem 0}
.information-jump a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.information-section-heading{margin-bottom:2rem}
.information-section-heading>p:first-child{font-size:.75rem;letter-spacing:.07em;margin:0 0 1rem}
.information-section-heading h2{font-size:clamp(2rem,3vw,3.5rem);line-height:1.2;margin:0 0 1rem;font-weight:500}
.information-section-heading>p:last-child{max-width:48rem;line-height:1.8}
.information-guides,.information-faq{scroll-margin-top:calc(var(--site-header-height,6rem) + 1.5rem)}
.information-faq{border-top:1px solid var(--reading-line);padding-top:3.5rem}
.information-faq .faq-search{margin-bottom:2rem}
@media(max-width:760px){.information-jump{gap:1.5rem;justify-content:space-between}.information-jump a{gap:.75rem;font-size:.9rem}.information-faq{padding-top:2.5rem}.information-section-heading{margin-bottom:1.5rem}}

.information-guides{padding-top:2.5rem}
.reading-page .information-faq{padding-top:3rem}

/* site-upgrade.css */
.upgrade-hero-actions{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:clamp(1.5rem,3vw,2.25rem)}
.upgrade-hero-actions .solid-button{min-width:0;padding:.85rem 1.1rem;background:#f1ff42;color:#090909}
.upgrade-text-link{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55);padding:.72rem 0;transition:border-color .2s ease,color .2s ease}
.upgrade-text-link:hover,.upgrade-text-link:focus-visible{color:#f1ff42;border-color:#f1ff42}
.location-intro--trust{padding-block:clamp(1.5rem,4vw,3rem);border-block:1px solid rgba(255,255,255,.16)}
.location-intro--trust h2{font-size:clamp(1.35rem,2.6vw,2.3rem)}
.upgrade-trust-links{display:flex;flex-wrap:wrap;gap:.75rem 1.35rem;margin-top:1rem}
.upgrade-trust-links .location-link{display:inline-flex;width:auto}
.home-product-overview .product-category-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.17)}
.home-product-overview .product-category-card{display:grid;grid-template-rows:minmax(9rem,14vw) 1fr;background:#0b0b0b;min-width:0}
.home-product-overview .product-category-copy{padding:1.25rem}
.home-product-overview .product-category-copy h2{font-size:clamp(1.05rem,1.5vw,1.45rem)}
.home-product-overview .product-category-copy p{font-size:.92rem}
.upgrade-collaboration{padding-block:clamp(3.5rem,8vw,7rem);border-block:1px solid rgba(255,255,255,.14)}
.upgrade-collaboration>header{display:grid;grid-template-columns:minmax(8rem,.5fr) 1.5fr;gap:2rem;margin-bottom:clamp(2rem,5vw,4rem)}
.upgrade-collaboration>header h2{max-width:18ch;font-size:clamp(2rem,4.5vw,4.6rem);line-height:.98;letter-spacing:-.045em}
.upgrade-collaboration>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.18)}
.upgrade-collaboration article{background:#0b0b0b;padding:clamp(1.2rem,3vw,2.2rem)}
.upgrade-collaboration article span{color:#f1ff42;font-variant-numeric:tabular-nums}.upgrade-collaboration h3{margin:2.5rem 0 .8rem;font-size:clamp(1.15rem,2vw,1.7rem)}.upgrade-collaboration article p{max-width:38ch;color:rgba(255,255,255,.7);line-height:1.65}
[dir="rtl"] .upgrade-hero-actions,[dir="rtl"] .upgrade-trust-links{direction:rtl}
@media(max-width:900px){.home-product-overview .product-category-list{grid-template-columns:repeat(2,minmax(0,1fr))}.upgrade-collaboration>div{grid-template-columns:1fr}.upgrade-collaboration>header{grid-template-columns:1fr}}
@media(max-width:560px){[data-upgrade-copy="home.heroLine1"],[data-upgrade-copy="home.heroLine2"]{font-size:clamp(2rem,8.5vw,2.4rem);letter-spacing:-.045em;text-wrap:balance}.upgrade-hero-actions{align-items:stretch;flex-direction:column;gap:.35rem;width:100%}.upgrade-hero-actions .solid-button{width:100%;text-align:center}.upgrade-text-link{text-align:center;align-self:center}.home-product-overview .product-category-list{grid-template-columns:1fr}.home-product-overview .product-category-card{grid-template-columns:7.5rem 1fr;grid-template-rows:auto}.home-product-overview .product-category-card figure{min-height:100%;height:auto}}
@media(prefers-reduced-motion:reduce){.upgrade-text-link{transition:none}}

/* Replace the former alternating two-column rows with compact use cards. */
.home-product-overview .product-category-card,.home-product-overview .product-category-card:nth-child(even){grid-template-columns:minmax(0,1fr)}
.home-product-overview .product-category-card figure{order:0;min-width:0;aspect-ratio:auto}
.home-product-overview .product-category-copy{min-width:0;overflow-wrap:anywhere}
html:lang(de) .hero-with-video #hero-title{font-size:clamp(3rem,5vw,6rem)}
@media(max-width:560px){.home-product-overview .product-category-card,.home-product-overview .product-category-card:nth-child(even){grid-template-columns:7.5rem minmax(0,1fr)}html:lang(de) .hero-with-video #hero-title{font-size:clamp(2.3rem,9.5vw,3.4rem)}}

@media(max-width:560px){html:lang(zh-Hant) [data-upgrade-copy^="home.heroLine"]{font-size:clamp(2.5rem,11.5vw,3.2rem)}html:lang(ja) [data-upgrade-copy^="home.heroLine"]{font-size:clamp(2rem,9.4vw,2.65rem)}}

/* visual-detail-repair.css */
.visual-detail-list .visual-detail {
  display: block;
  padding: 0;
}

.visual-detail summary {
  display: grid;
  grid-template-columns: minmax(2.5rem, .35fr) minmax(0, 1.65fr) auto;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: start;
  padding: clamp(1.4rem, 2.5vw, 2.4rem) 0;
  cursor: pointer;
  list-style: none;
}

.visual-detail summary::-webkit-details-marker { display: none; }
.visual-detail-copy h3, .visual-detail-copy p { margin: 0; }
.visual-detail-copy p { margin-top: .75rem; max-width: 62ch; }
.visual-detail-action { align-self: center; white-space: nowrap; border-bottom: 1px solid currentColor; padding-bottom: .22rem; }
.visual-detail-action::after { content: " +"; }
.visual-detail[open] .visual-detail-action::after { content: " −"; }
.visual-detail summary:focus-visible { outline: 2px solid #f25a3c; outline-offset: 6px; }

.visual-detail figure {
  margin: 0 0 clamp(1.5rem, 4vw, 3.5rem);
  padding-inline-start: clamp(3.5rem, 9vw, 10rem);
  overflow: hidden;
}
.visual-detail figure img { display: block; width: 100%; height: min(54vw, 34rem); object-fit: cover; }
.visual-detail figure figcaption, .project-review-photo figcaption { margin-top: .75rem; color: var(--muted, #a5a5a2); font-size: .82rem; }

.capability-detail--with-evidence {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .82fr);
  align-items: start;
}
.capability-detail--with-evidence .project-review-photo { grid-column: 2; grid-row: 1; margin: 0; }
.capability-detail--with-evidence .project-review-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 35%; }
.capability-detail--with-evidence .service-brief { grid-column: 1 / -1; }

@media (max-width: 760px) {
  .visual-detail summary { grid-template-columns: 2.5rem minmax(0, 1fr); }
  .visual-detail-action { grid-column: 2; justify-self: start; margin-top: .25rem; }
  .visual-detail figure { padding-inline-start: 0; }
  .visual-detail figure img { height: 72vw; }
  .capability-detail--with-evidence { grid-template-columns: 1fr; }
  .capability-detail--with-evidence .project-review-photo,
  .capability-detail--with-evidence .service-brief { grid-column: 1; grid-row: auto; }
}

@media (prefers-reduced-motion: no-preference) {
  .visual-detail summary { transition: color 180ms ease; }
  .visual-detail summary:hover { color: #fff; }
}

/* malaysia.css */
/* Malaysia-specific layout and content presentation. */
.brand>span{font-size:2.5rem;letter-spacing:-.055em}
.brand>small{font-size:.51rem;letter-spacing:.15em;white-space:nowrap}
.footer-brand>span{font-size:2.3rem}
.footer-brand>small{font-size:.56rem;letter-spacing:.15em}
.hero-intro{max-width:43rem;text-wrap:pretty}
.hero-shade{background:linear-gradient(180deg,rgba(8,8,8,.56),rgba(8,8,8,.58) 48%,rgba(8,8,8,.7))}
/* The strengthened scrim keeps white headline text legible over the footage. */

.case-fact-note,
.form-runtime-notice {
  max-width: 48rem;
  padding: .9rem 1rem;
  color: #c7c6c0;
  background: rgba(255,255,255,.045);
  border-inline-start: 2px solid var(--accent);
  font-size: .82rem;
  line-height: 1.65;
}
.project-card .case-fact-note,
.work-card .case-fact-note { margin-top: .85rem; }
.form-runtime-notice { margin: 0 0 1.25rem; }
.form-runtime-notice a { color: inherit; }

/* ---------------------------------------------------------------------------
   Hero scale, aligned with the main site's footer05 version.
   Source: 網站優化/dist/visual-repair.css lines 2-13 and 33-34, which the HGS
   build never received. Without it the HGS hero title renders at 120.96px
   against the reference 77.76px at 1440px. The HGS brand button colour and the
   HGS video are kept; only type scale, content width and control sizing follow
   the reference.
   --------------------------------------------------------------------------- */
html .hero.hero-with-video .hero-content {
  width: min(100%, 82rem);
  padding: calc(var(--site-header-height, 6rem) + 3rem) 1.5rem 10rem;
}
html .hero.hero-with-video #hero-title {
  max-width: 100%;
  font-size: clamp(3rem, 5.4vw, 6.2rem);
  line-height: 1.16;
  letter-spacing: -.025em;
}
html .hero.hero-with-video #hero-title .hero-line { overflow: visible; }
html .hero.hero-with-video .hero-intro {
  max-width: 43rem;
  margin-top: 1.8rem;
  font-size: clamp(1rem, 1.15vw, 1.13rem);
  line-height: 1.8;
}
html .hero.hero-with-video .hero-actions { gap: 1rem; margin-top: 1.8rem; align-items: stretch; }
/* The reference styles.css also carries an F06 hierarchy fix and a 44px touch
   target for this bar that the HGS copy of the file predates. */
html .hero.hero-with-video .hero-footer { font-size: clamp(.875rem, 1.5vw, 1rem); }
html .hero.hero-with-video .hero-footer a { align-items: center; min-height: 44px; }
html .hero.hero-with-video .hero-actions a {
  min-width: 12rem;
  min-height: 3.6rem;
  padding: .85rem 1.7rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 900px) {
  html .hero.hero-with-video #hero-title { font-size: clamp(2.6rem, 6vw, 4.3rem); }
}
@media (max-width: 560px) {
  html .hero.hero-with-video .hero-content { padding: calc(var(--site-header-height, 5rem) + 3rem) 1.2rem 10rem; }
  html .hero.hero-with-video #hero-title { font-size: clamp(2rem, 8.6vw, 2.8rem); line-height: 1.18; }
  html:lang(zh-Hant) .hero.hero-with-video #hero-title { font-size: clamp(2.15rem, 9vw, 2.9rem); }
  html .hero.hero-with-video .hero-actions { gap: .8rem; }
  html .hero.hero-with-video .hero-actions a { width: 100%; min-width: 0; align-self: stretch; }
}
/* The previous three-column page footer was replaced by the footer05-derived
   editorial footer. Its superseded rules were removed here instead of being
   layered over, so exactly one rule set owns the footer. */
.knowledge-home-heading{display:grid;grid-template-columns:1fr 2fr;gap:1.5rem 3rem;margin-bottom:3rem}
.knowledge-home-heading>h2{font-size:clamp(2rem,4vw,4rem);line-height:1.18;max-width:19ch;text-wrap:balance}
.knowledge-home-heading>p:not(.page-kicker){grid-column:2;color:var(--muted);max-width:42rem;line-height:1.7}
.knowledge-home-heading>.arrow-link{grid-column:2;justify-self:start}
.hgs-home-faq{border-top:1px solid var(--line);margin-top:4rem;padding-top:3rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 4rem}
.hgs-home-faq>*{min-width:0}
.hgs-home-faq>h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.25}
.hgs-home-faq>.arrow-link{grid-column:auto;justify-self:end;align-self:start}
.hgs-home-faq article h3{font-size:1.2rem;margin-bottom:1rem;line-height:1.5}
.hgs-home-faq article p{color:var(--muted);line-height:1.8}
.hgs-audiences{padding-block:5rem}
.hgs-audience-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}
.hgs-audience-list article{border-top:1px solid var(--line);padding-top:1.5rem}
.hgs-audience-list span{font-size:.75rem;color:var(--muted)}
.hgs-audience-list h3{font-size:1.65rem;line-height:1.3;margin:1.2rem 0}
.hgs-audience-list p{line-height:1.8;color:var(--muted)}
.hgs-faq-tools{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:3rem;align-items:center}
.faq-layout{display:block}
.faq-list{max-width:62rem;margin-inline:auto}
.faq-list .faq-row{padding-block:.7rem 1.8rem}
.faq-list .faq-answer{padding-inline-start:4rem}
.hgs-faq-tools input{font:inherit;color:var(--paper);background:transparent;border:0;border-bottom:1px solid var(--line);padding:1rem .2rem;width:100%;border-radius:0}
.hgs-question{cursor:default;grid-template-columns:3rem 1fr!important}
.faq-answer{max-height:none!important;visibility:visible!important;opacity:1!important}
[hidden]{display:none!important}
.hgs-legal{padding-top:5rem;padding-bottom:7rem;max-width:62rem}
.detail-photo img,.product-card img{filter:none}
.product-card figure img{object-fit:contain}
.product-card h3{line-height:1.2}
.page-title,.detail-title{overflow-wrap:break-word}
.hgs-case-content{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);padding-block:3rem 8rem;align-items:start}
.hgs-case-content figure{margin:0}
.hgs-case-content img{display:block;width:100%;height:auto}
.hgs-case-content figcaption{margin-top:1rem;color:var(--muted);line-height:1.6;font-size:.9rem}
.hgs-case-content h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.2;margin-block:1rem 1.5rem}
.hgs-case-content aside>p:not(.page-kicker){line-height:1.8;color:var(--muted)}
.hgs-case-content .outline-button{margin-top:2rem}
.hgs-case-gallery{display:grid;gap:3rem}
.hgs-source-case-facts{padding-bottom:clamp(3rem,6vw,6rem)}
.hgs-source-case-facts h2{font-size:clamp(1.6rem,2.6vw,2.7rem);line-height:1.2}
.hgs-source-case-facts .case-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.hgs-source-case{padding-top:0}
.hgs-source-case .hgs-case-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.hgs-source-case .hgs-case-gallery figure:first-child{grid-column:1/-1}
.hgs-source-case .hgs-case-gallery img{height:auto;object-fit:cover}
.hgs-source-case aside{position:sticky;top:7rem}
.hgs-source-case-notes .case-notes-grid>h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.12}
.case-disclaimer{padding-bottom:4rem;color:var(--muted);line-height:1.8}
@media(min-width:1001px){html[lang="ms"] .primary-nav{gap:.8rem}html[lang="ms"] .primary-nav a{font-size:.78rem}}
@media(max-width:760px){
 .brand>span{font-size:2rem}.brand>small{font-size:.43rem}
 .language-select-control{width:8.25rem;padding-inline:.6rem}
 .knowledge-home-heading{grid-template-columns:1fr;gap:1rem}
 .knowledge-home-heading>p:not(.page-kicker),.knowledge-home-heading>.arrow-link{grid-column:1}
 .hgs-home-faq,.hgs-audience-list,.hgs-faq-tools{grid-template-columns:1fr;gap:1.5rem}
 .hgs-home-faq>.arrow-link{justify-self:start}
 .hgs-home-faq article{padding-top:1rem}
 .hgs-audiences{padding-block:3rem}
 .hgs-faq-tools{gap:.5rem}
 .hgs-question{grid-template-columns:2rem 1fr!important}
 .faq-list .faq-answer{padding-inline-start:3rem}
 .footer{grid-template-columns:1fr;gap:.65rem}
 .footer-nav,.footer-legal{justify-self:stretch;font-size:initial}
 .footer-nav{display:block;width:100%}
 .footer-nav ul{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem;justify-content:stretch}
 .footer-legal ul{justify-content:flex-start;gap:0 1.5rem}
 .footer-nav a{width:100%}
 .footer-copyright{margin-top:.35rem}
 .hgs-case-content{grid-template-columns:1fr;padding-bottom:4rem}
 .hgs-source-case aside{position:static}
 .hgs-source-case-facts .case-facts{grid-template-columns:1fr}
 .hgs-source-case .hgs-case-gallery{gap:1rem}
}
@media(max-width:380px){.site-header{padding-inline:1.25rem}.language-select-control{width:7.6rem}.brand>span{font-size:1.8rem}.brand>small{font-size:.4rem}.header-tools{margin-inline-end:.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ==========================================================================
   HGS Malaysia Auditfix Styles (R1 - R7)
   ========================================================================== */

/* R1 & R5: Form Draft Bar, Badges & Validation */
.form-draft-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  margin-bottom: 1.5rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line);
  font-size: 0.85rem;
  color: var(--muted);
}
.form-draft-bar.is-warning {
  border-color: #e0a800;
  color: #ffc107;
}
.form-draft-clear {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--paper);
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
  cursor: pointer;
  border-radius: 2px;
  transition: all 0.2s ease;
}
.form-draft-clear:hover,
.form-draft-clear:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
}
.form-row-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
}
.field-title {
  color: var(--paper);
  font-weight: 500;
}
.field-badge {
  font-size: 0.72rem;
  padding: 0.15rem 0.45rem;
  border-radius: 2px;
  line-height: 1.2;
}
.field-required-badge {
  background: rgba(205, 82, 57, 0.15);
  color: var(--accent);
  border: 1px solid rgba(205, 82, 57, 0.35);
}
.field-optional-badge {
  background: rgba(255, 255, 255, 0.05);
  color: var(--muted);
  border: 1px solid var(--line);
}
.field-error {
  display: none;
  color: #ff5555;
  font-size: 0.82rem;
  margin-top: 0.35rem;
  line-height: 1.4;
}
.field-error:not(:empty) {
  display: block;
}
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
  border-color: #ff5555 !important;
  outline: 1px solid #ff5555 !important;
}
.summary-stale-notice {
  background: rgba(255, 170, 0, 0.12);
  border: 1px solid rgba(255, 170, 0, 0.4);
  color: #ffaa00;
  font-size: 0.85rem;
  padding: 0.5rem 0.85rem;
  margin-bottom: 0.85rem;
  line-height: 1.5;
}

/* R2: Product Card Actions & Touch Targets */
.product-card-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 1.2rem !important;
  align-items: stretch !important;
}
.product-card-actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0.6rem 1rem !important;
  font-size: 0.88rem !important;
  line-height: 1.35 !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.product-card-actions a:first-child {
  border: 1px solid var(--line) !important;
  color: var(--paper) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}
.product-card-actions a:first-child:hover,
.product-card-actions a:first-child:focus-visible {
  border-color: var(--paper) !important;
  background: rgba(255, 255, 255, 0.1) !important;
}
.product-card-actions a:last-child {
  border: 1px solid var(--accent) !important;
  color: var(--accent) !important;
  background: transparent !important;
}
.product-card-actions a:last-child:hover,
.product-card-actions a:last-child:focus-visible {
  background: var(--accent) !important;
  color: #080808 !important;
}
@media (max-width: 480px) {
  .product-card-actions {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .product-card-actions a {
    width: 100% !important;
    text-align: center !important;
  }
}

/* R3: Compact Product Directory & Category Header */
.product-hero {
  padding-top: calc(var(--site-header-height, 6rem) + clamp(1rem, 2.2vw, 1.8rem)) !important;
  padding-bottom: 0.5rem !important;
  min-height: auto !important;
}
.product-hero .page-title {
  font-size: clamp(1.85rem, 3.5vw, 2.75rem) !important;
  margin-block: 0.2rem 0.45rem !important;
  line-height: 1.15 !important;
}
.product-hero .page-lede {
  font-size: clamp(0.9rem, 1.25vw, 1.02rem) !important;
  max-width: 44rem !important;
  margin-bottom: 0.5rem !important;
  line-height: 1.45 !important;
}
.product-hero .page-hero-meta {
  gap: 1rem !important;
  margin-top: 0.35rem !important;
}
.product-directory {
  padding-top: 0.4rem !important;
  padding-block-start: 0.4rem !important;
}
body[data-page="products"] .material-guide {
  margin-bottom: 1.5rem;
}
.product-group-heading {
  padding: 0.5rem 0 0.75rem !important;
}
.product-directory-header {
  display: none !important;
}
.product-page-disclaimer {
  display: none !important;
}
.product-sidebar-sticky {
  top: calc(var(--site-header-height, 6rem) + .6rem) !important;
}

/* R4: Home Action Hierarchy */
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: clamp(1.4rem, 2.5vw, 2.2rem);
  align-items: center;
  position: relative;
  z-index: 3;
  justify-content: center;
}
.hero-actions .solid-button,
.hero-actions .outline-button {
  min-height: 44px;
  padding: 0.65rem 1.6rem;
  font-size: 0.95rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 2px;
}
.hero-actions .outline-button {
  background: rgba(8, 8, 8, 0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: var(--paper);
}
.hero-actions .outline-button:hover,
.hero-actions .outline-button:focus-visible {
  background: rgba(255, 255, 255, 0.15);
  border-color: var(--paper);
}
@media (max-width: 480px) {
  .hero-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 1.25rem;
  }
  .hero-actions .solid-button,
  .hero-actions .outline-button {
    width: 100%;
    text-align: center;
  }
}

/* Local section rhythm: adjacent sections share one useful pause instead of
   stacking the full bottom and top spacing from the upstream theme. */
.home-product-overview {
  padding-block: clamp(4rem, 5vw, 5rem) 2.5rem;
}
.home-product-overview > .page-intro {
  padding-bottom: 3rem;
}
body:not([data-page]) > main > .work {
  padding-block: 3.5rem 4rem;
}
body:not([data-page]) > main > .positioning {
  padding-bottom: 3rem;
}
body:not([data-page]) > main > .positioning .positioning-copy {
  padding-bottom: clamp(3.5rem, 5vw, 5rem);
}
.knowledge-home {
  padding-block: 3rem;
}
.home-cta {
  padding-top: 3rem;
}
body:not([data-page]) > main > .capabilities > .capability-title {
  padding-top: 3rem;
}
body:not([data-page]) > main > .process {
  padding-block: 4rem 3rem;
}

body[data-page="about"] .page-intro,
body[data-page="capabilities"] .page-intro,
body[data-page="work"] .page-intro {
  padding-block: clamp(4rem, 5vw, 5rem);
}
body[data-page="about"] .about-story {
  padding-block: 0 2rem;
}
body[data-page="about"] .about-statement {
  margin-bottom: clamp(2.5rem, 3.5vw, 3.5rem);
}
body[data-page="about"] .about-fact {
  min-height: 12rem;
}
body[data-page="about"] .hgs-audiences {
  padding-block: 3rem 5rem;
}
body[data-page="about"] .hgs-audiences > .page-intro {
  padding-block: 0;
  margin-bottom: 3rem;
}

body[data-page="capabilities"] .capability-index {
  padding-block: 0 5rem;
}
body[data-page="capabilities"] .capability-detail {
  min-height: 0;
  padding-block: clamp(4rem, 5vw, 5rem);
}
body[data-page="capabilities"] .process {
  padding-block: 5rem 3rem;
}
body[data-page="capabilities"] .next-project {
  padding-block: 3rem 5rem;
}

body[data-page="work"] .work-index {
  padding-bottom: 4rem;
}
body[data-page="work"] .next-project {
  padding-block: 3rem 5rem;
}

body[data-page="contact"] .contact-layout {
  padding-block: 0 5rem;
}

/* Homepage material directory: compact, aligned rows for quick comparison. */
.home-product-overview .product-category-list {
  gap: 0;
}
.home-product-overview .product-category-card,
.home-product-overview .product-category-card:nth-child(even) {
  grid-template-columns: 11rem minmax(0, 1fr);
  gap: 1.25rem;
  align-items: center;
  min-height: 0;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--line);
  transition: background-color .25s ease;
}
.home-product-overview .product-category-card:last-child {
  border-bottom: 0;
}
.home-product-overview .product-category-card:nth-child(even) figure {
  order: 0;
}
.home-product-overview .product-category-card figure {
  width: 11rem;
  height: 7.75rem;
  aspect-ratio: auto;
}
.home-product-overview .product-category-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .45s cubic-bezier(.2,.75,.25,1), filter .25s ease;
}
.home-product-overview .product-category-copy {
  display: grid;
  grid-template-columns: minmax(13rem, .75fr) minmax(16rem, 1.25fr);
  grid-template-rows: auto 1fr;
  gap: .25rem clamp(1.5rem, 3vw, 3.5rem);
  align-items: center;
  min-width: 0;
  min-height: 0;
  padding: 0;
}
.home-product-overview .product-category-copy > span {
  grid-column: 1;
  grid-row: 1;
}
.home-product-overview .product-category-copy h2 {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  max-width: 24rem;
  margin: .2rem 0 0;
  font-size: clamp(1.4rem, 2vw, 2rem);
  line-height: 1.1;
}
.home-product-overview .product-category-copy p {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  max-width: 42rem;
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
}
.home-product-overview .product-category-card:focus-visible {
  background: #111;
  outline: 3px solid rgba(205, 82, 57, .75);
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  .home-product-overview .product-category-card:hover {
    background: #111;
  }
  .home-product-overview .product-category-card:hover img {
    transform: scale(1.015);
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .home-product-overview .product-category-card,
  .home-product-overview .product-category-card:nth-child(even) {
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
  }
  .home-product-overview .product-category-card figure {
    width: 8rem;
    height: 6rem;
  }
  .home-product-overview .product-category-copy {
    grid-template-columns: minmax(10rem, .8fr) minmax(0, 1.2fr);
    gap: .2rem 1.5rem;
  }
  .home-product-overview .product-category-copy h2 {
    font-size: clamp(1.3rem, 2.6vw, 1.65rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-product-overview .product-category-card,
  .home-product-overview .product-category-card img {
    transition: none;
  }
  .home-product-overview .product-category-card:hover img {
    transform: none;
  }
}

@media (max-width: 760px) {
  .home-product-overview { padding-block: 3rem 1.25rem; }
  .home-product-overview > .page-intro { padding-bottom: 2rem; }
  body:not([data-page]) > main > .work { padding-block: 1.75rem 2.5rem; }
  body:not([data-page]) > main > .positioning { padding-bottom: 1.5rem; }
  body:not([data-page]) > main > .positioning .positioning-copy { padding-bottom: 2.5rem; }
  body:not([data-page]) > main > .capabilities > .capability-title { padding-top: 1.5rem; }
  body:not([data-page]) > main > .process { padding-block: 2rem 1.5rem; }
  .knowledge-home { padding-block: 1.5rem 2rem; }
  .home-cta { padding-top: 2rem; }

  body[data-page="about"] .page-intro,
  body[data-page="capabilities"] .page-intro,
  body[data-page="work"] .page-intro { padding-block: 3rem; }
  body[data-page="about"] .about-story { padding-bottom: 1rem; }
  body[data-page="about"] .about-statement { margin-bottom: 2.5rem; }
  body[data-page="about"] .about-fact { min-height: 0; }
  body[data-page="about"] .hgs-audiences { padding-block: 2rem 4rem; }
  body[data-page="about"] .hgs-audiences > .page-intro { padding-block: 0; margin-bottom: 2rem; }

  body[data-page="capabilities"] .capability-index { padding-block: 0 3rem; }
  body[data-page="capabilities"] .capability-detail { padding-block: 3rem; }
  body[data-page="capabilities"] .process { padding-block: 3rem 1.5rem; }
  body[data-page="capabilities"] .next-project { padding-block: 1.5rem 3rem; }
  body[data-page="work"] .work-index { padding-bottom: 2.5rem; }
  body[data-page="work"] .next-project { padding-block: 1.5rem 3rem; }
  body[data-page="contact"] .contact-layout { padding-block: 0 3rem; }

  .home-product-overview .product-category-card,
  .home-product-overview .product-category-card:nth-child(even) {
    grid-template-columns: 6rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding: 1rem .75rem;
  }
  .home-product-overview .product-category-card figure {
    width: 6rem;
    height: 6rem;
  }
  .home-product-overview .product-category-copy {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: .35rem;
    align-items: start;
  }
  .home-product-overview .product-category-copy > span,
  .home-product-overview .product-category-copy h2,
  .home-product-overview .product-category-copy p {
    grid-column: 1;
    grid-row: auto;
  }
  .home-product-overview .product-category-copy h2 {
    margin-top: 0;
    font-size: clamp(1.25rem, 5.8vw, 1.5rem);
    line-height: 1.15;
  }
  .home-product-overview .product-category-copy p {
    font-size: clamp(.9375rem, 4vw, 1rem);
    line-height: 1.5;
  }
}

/* Homepage business overview: the selected four-column photo-led direction.
   Proportions are matched against the main site footer05 version at the same
   viewport (1440px: 4 columns, figure ratio ≈1.6, card title 23.04px). */
.home-business-overview > .page-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(15rem, .85fr);
  column-gap: clamp(2rem, 6vw, 6rem);
  row-gap: 1.1rem;
  align-items: end;
  padding: 0 0 3rem;
  text-align: start;
}
.home-business-overview > .page-intro > .page-kicker {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0;
}
.home-business-overview > .page-intro > h2 {
  grid-column: 1;
  max-width: 100%;
  margin: 0;
  font-size: clamp(2.4rem, 4vw, 4.25rem);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.home-business-overview > .page-intro > div {
  grid-column: 2;
  max-width: 34rem;
  margin: 0;
  color: #c0bfb8;
  font-size: 1rem;
  line-height: 1.75;
}
.home-business-overview > .page-intro > div p {
  margin: 0;
}
.home-business-overview .product-category-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: row;
  gap: clamp(1rem, 1.6vw, 1.75rem);
  background: transparent;
  border: 0;
}
.home-business-overview .product-category-card,
.home-business-overview .product-category-card:nth-child(even) {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.home-business-overview .product-category-card:nth-child(even) figure {
  order: 0;
}
.home-business-overview .product-category-card figure {
  width: 100%;
  height: auto;
  aspect-ratio: 8 / 5;
  background: #1b1b1b;
}
.home-business-overview .product-category-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: none;
}
.home-business-overview .product-category-card:hover img,
.home-business-overview .product-category-card:focus-visible img {
  filter: none;
}
.home-business-overview .product-category-copy {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: .65rem;
  margin-top: .75rem;
  padding: 1rem 0 0;
  border-top: 1px solid rgba(255,255,255,.55);
}
.home-business-overview .product-category-copy > *,
.home-business-overview .product-category-copy h3,
.home-business-overview .product-category-copy p {
  display: block;
  grid-column: auto;
  grid-row: auto;
  align-self: flex-start;
  width: auto;
  margin: 0;
}
.home-business-overview .home-business-number {
  color: var(--accent);
  font-size: 1rem;
  line-height: 1.3;
  letter-spacing: 0;
}
.home-business-overview .product-category-copy h3 {
  max-width: 20rem;
  font-size: clamp(1.35rem, 1.6vw, 1.75rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.14;
}
.home-business-overview .product-category-copy p {
  max-width: 30rem;
  color: #aaa9a3;
  font-size: clamp(.95rem, 1.05vw, 1.0625rem);
  line-height: 1.6;
}
.home-business-overview .home-business-action {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-top: auto;
  padding-top: .4rem;
  color: var(--paper);
  font-size: clamp(.875rem, 1vw, 1rem);
  line-height: 1.45;
  text-transform: none;
  letter-spacing: 0;
  border-bottom: 1px solid rgba(255,255,255,.65);
}
.home-business-overview .home-business-action::after {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  background: var(--accent);
  content: "";
  -webkit-mask: url("/assets/icons/tabler-arrow-right.svg") center / contain no-repeat;
  mask: url("/assets/icons/tabler-arrow-right.svg") center / contain no-repeat;
}
.home-business-overview .product-category-card:hover,
.home-business-overview .product-category-card:focus-visible {
  background: transparent;
}
.home-business-overview .product-category-card:focus-visible {
  outline: 3px solid rgba(205,82,57,.75);
  outline-offset: 5px;
}
.home-business-overview .product-category-card:hover .home-business-action,
.home-business-overview .product-category-card:focus-visible .home-business-action {
  color: var(--accent);
  border-bottom-color: currentColor;
}

@media (min-width: 760px) and (max-width: 1279px) {
  .home-business-overview .product-category-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-business-overview .product-category-card figure {
    height: clamp(12rem, 24vw, 16rem);
    aspect-ratio: auto;
  }
}

@media (max-width: 759px) {
  .home-business-overview > .page-intro {
    grid-template-columns: minmax(0, 1fr);
    padding-bottom: 2rem;
  }
  .home-business-overview > .page-intro > h2 {
    grid-column: 1;
    font-size: clamp(2rem, 9vw, 2.125rem);
    line-height: 1.08;
    overflow-wrap: normal;
    word-break: normal;
  }
  .home-business-overview > .page-intro > div {
    grid-column: 1;
    margin-top: .75rem;
    font-size: 1.125rem;
  }
  .home-business-overview .product-category-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .home-business-overview .product-category-card,
  .home-business-overview .product-category-card:nth-child(even) {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding: 1rem 0;
    border-top: 1px solid var(--line);
  }
  .home-business-overview .product-category-card:last-child {
    border-bottom: 1px solid var(--line);
  }
  .home-business-overview .product-category-card figure {
    width: 6rem;
    height: 6rem;
    aspect-ratio: auto;
  }
  .home-business-overview .product-category-copy {
    display: flex;
    gap: .4rem;
    margin-top: 0;
    padding: 0;
    border-top: 0;
  }
  .home-business-overview .home-business-number {
    font-size: .875rem;
  }
  .home-business-overview .product-category-copy h3 {
    font-size: clamp(1.25rem, 5.8vw, 1.5rem);
    line-height: 1.15;
  }
  .home-business-overview .product-category-copy p {
    font-size: clamp(.9375rem, 4vw, 1rem);
    line-height: 1.5;
  }
  .home-business-overview .home-business-action {
    margin-top: .25rem;
    padding-top: 0;
    font-size: .875rem;
  }
}

/* R6: Verified Case Specifications (When Confirmed) */
.case-verified-specs {
  margin-top: 2rem;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--line);
}
.case-verified-specs h3 {
  font-size: 1.1rem;
  margin-bottom: 1rem;
  color: var(--paper);
}
.case-verified-specs dl {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 0.8rem;
  margin: 0;
}
.case-verified-specs dt {
  color: var(--muted);
  font-size: 0.9rem;
}
.case-verified-specs dd {
  margin: 0;
  color: var(--paper);
  font-size: 0.9rem;
}

/* ---------------------------------------------------------------------------
   DS05: quick / full enquiry modes.
   The rows themselves use the `hidden` attribute, driven by enquiry.js, so a
   field that is off screen also loses `required` and cannot block validation.
   --------------------------------------------------------------------------- */
.form-mode-switch {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--line);
}
.form-mode-label {
  margin: 0 0 .75rem;
  color: #8a8a85;
  font-size: .72rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.form-mode-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.form-mode-button {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  min-width: 13rem;
  min-height: 44px;
  padding: .85rem 1.1rem;
  color: #c8c7c2;
  font: inherit;
  font-size: 1rem;
  text-align: start;
  background: transparent;
  border: 1px solid var(--line);
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
.form-mode-button small { color: #8a8a85; font-size: .8125rem; line-height: 1.45; }
.form-mode-button:hover { color: var(--paper); border-color: rgba(255,255,255,.5); }
.form-mode-button:focus-visible { outline: 3px solid rgba(205, 82, 57, .75); outline-offset: 3px; }
.form-mode-button[aria-pressed="true"] { color: #111; background: var(--paper); border-color: var(--paper); }
.form-mode-button[aria-pressed="true"] small { color: #4a4a46; }

.form-mode-note { margin: 1rem 0 0; color: #aaa9a3; line-height: 1.7; max-width: 46rem; }
.form-prefill-note {
  margin: .75rem 0 0;
  padding: .7rem 1rem;
  color: var(--paper);
  font-size: .95rem;
  line-height: 1.6;
  background: rgba(255,255,255,.05);
  border-inline-start: 3px solid var(--accent);
}
.form-prefill-note[hidden] { display: none; }

.form-not-sent {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin: 0;
  padding: .35rem .8rem;
  color: var(--paper);
  font-size: .8125rem;
  letter-spacing: .06em;
  border: 1px solid var(--line);
  border-radius: 999px;
}
.form-not-sent::before {
  width: .5rem;
  height: .5rem;
  background: var(--accent);
  border-radius: 50%;
  content: "";
}
.form-privacy-note { margin: 1rem 0 0; color: #8a8a85; font-size: .875rem; line-height: 1.7; max-width: 46rem; }

/* Follow-up repair: keep the homepage CTA compact now that contact details
   live once in the shared footer. */
.home-cta {
  min-height: 0;
  padding-block: clamp(4rem, 7vw, 6rem);
}
.home-cta .cta-actions { padding-bottom: 0; }

/* The catalogue target is moved onto the visible product groups by the
   products-template repair. Offset it below the fixed site header. */
#product-catalog-title {
  scroll-margin-top: calc(var(--site-header-height, 6rem) + 1.5rem);
}

/* Five action children need explicit rows at desktop widths. This prevents
   status and privacy copy from collapsing into the residual grid column. */
@media (min-width: 521px) {
  .form-actions {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 1rem 1.5rem;
  }
  .form-actions > .solid-button { grid-column: 1; grid-row: 1; }
  .form-actions > .form-preview-note { grid-column: 2; grid-row: 1; justify-self: start; }
  .form-actions > .form-status {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
    width: min(100%, 46rem);
    max-width: none;
    text-align: start;
  }
  .form-actions > .form-not-sent { grid-column: 1 / -1; grid-row: 3; justify-self: start; }
  .form-actions > .form-privacy-note {
    grid-column: 1 / -1;
    grid-row: 4;
    justify-self: start;
    width: min(100%, 46rem);
    max-width: none;
  }
}

@media (max-width: 480px) {
  .form-mode-button { min-width: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .form-mode-button { transition: none; }
}

/* DS04: static enquiry entry on each project-reference page. */
.case-enquiry-line { margin: 0; padding: 0 clamp(1.25rem, 4vw, 4rem) 1.5rem; }
.case-enquiry-line .case-enquiry-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--paper);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.45);
}
.case-enquiry-line .case-enquiry-link:hover,
.case-enquiry-line .case-enquiry-link:focus-visible { color: var(--accent); border-color: currentColor; }

/* DS06: at phone widths the knowledge-entry arrow column was 5px too narrow,
   so the ↗ glyph and the row itself clipped. Give the arrow its own width. */
@media (max-width: 760px) {
  .guide-link { grid-template-columns: 1.3rem minmax(0, 1fr) auto; }
  .guide-link > * { min-width: 0; }
  .guide-arrow { justify-self: end; }
}

/* ---------------------------------------------------------------------------
   Catalogue structure: data-driven navigation, reserved categories and the
   derived "compare" block. See content/products.json groups[].
   --------------------------------------------------------------------------- */
.product-sidebar-group {
  margin: 1.4rem 0 .5rem;
  color: #8a8a85;
  font-size: .72rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.product-sidebar-group:first-child { margin-top: 0; }
.product-sidebar-nav em.is-pending {
  color: #8a8a85;
  font-size: .72rem;
  letter-spacing: .04em;
}

.catalogue-pending-note {
  margin: 1.5rem 0 0;
  padding: 1rem 1.2rem;
  color: var(--paper);
  line-height: 1.7;
  background: rgba(255, 255, 255, .05);
  border-inline-start: 3px solid var(--accent);
}

.detail-related-note {
  max-width: 46rem;
  margin: 0 0 1.25rem;
  color: #aaa9a3;
  font-size: .9375rem;
  line-height: 1.7;
}
.detail-related-link { margin: 0; }

@media (max-width: 760px) {
  .product-sidebar-group { margin-top: 1.1rem; }
}

/* Use navigation: a use that is a fabrication service links to the catalogue
   category that will hold its own items. */
.buyer-use-catlink { margin: .2rem 0 0; color: #aaa9a3; line-height: 1.7; max-width: 62rem; }
.buyer-use-catlink a { color: var(--paper); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); }
.buyer-use-catlink a:hover, .buyer-use-catlink a:focus-visible { color: var(--accent); border-color: currentColor; }

/* Project-built catalogue categories have no fixed SKU cards. Keep the page
   complete and compact: the service status, enquiry route and verified project
   references carry the main column to the same visual depth as its navigation. */
.catalogue-project-page .product-directory {
  padding-block-start: clamp(2.5rem, 4vw, 4rem) !important;
}
.catalogue-project-page .product-sidebar-nav a { min-height: 3.55rem; }
.catalogue-project-page .product-sidebar-group { margin-top: 1rem; }
.catalogue-project-page .product-sidebar-brief,
.catalogue-project-page .product-sidebar-actions { display: none; }
.catalogue-project-main {
  display: grid;
  gap: clamp(3.5rem, 6vw, 6rem);
  min-width: 0;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.catalogue-project-intro {
  display: grid;
  grid-template-columns: minmax(8rem, .55fr) minmax(0, 1.65fr);
  gap: 1rem clamp(2rem, 4vw, 4rem);
  align-items: start;
}
.catalogue-project-intro > .page-kicker {
  grid-row: 1 / 4;
  margin: .35rem 0 0;
}
.catalogue-project-intro > h2 {
  grid-column: 2;
  max-width: 42rem;
  margin: 0;
  font-size: clamp(2.35rem, 4.5vw, 4.8rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1;
  text-wrap: balance;
}
.catalogue-project-copy {
  grid-column: 2;
  max-width: 46rem;
  margin: .4rem 0 0;
  color: #aaa9a3;
  line-height: 1.75;
  text-wrap: pretty;
}
.catalogue-project-intro > .buyer-use-cta {
  grid-column: 2;
  margin-top: .65rem;
}
.catalogue-project-examples {
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.catalogue-project-examples > .page-kicker { margin: 0 0 .65rem; }
.catalogue-project-examples > h2 {
  max-width: 38rem;
  margin: 0 0 clamp(1.75rem, 3vw, 2.75rem);
  font-size: clamp(2rem, 3.2vw, 3.4rem);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.catalogue-project-examples .buyer-use-refs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 2.5vw, 2.5rem);
}
.catalogue-project-examples .buyer-use-refs img { aspect-ratio: 16 / 10; }
.catalogue-project-examples .buyer-use-refs a {
  min-height: 44px;
  overflow: hidden;
}
.catalogue-project-examples .buyer-use-refs img {
  transition: transform .7s cubic-bezier(.2,.65,.2,1);
}
.catalogue-project-examples .buyer-use-refs a:hover img,
.catalogue-project-examples .buyer-use-refs a:focus-visible img { transform: scale(1.025); }

@media (max-width: 980px) {
  .catalogue-project-intro { grid-template-columns: 1fr; }
  .catalogue-project-intro > .page-kicker,
  .catalogue-project-intro > h2,
  .catalogue-project-copy,
  .catalogue-project-intro > .buyer-use-cta { grid-column: auto; grid-row: auto; }
}

@media (max-width: 760px) {
  .catalogue-project-page .product-directory { padding-block-start: 0 !important; }
  .catalogue-project-page .product-sidebar-nav a { min-height: 3.65rem; }
  .catalogue-project-page .product-sidebar-actions { display: grid; }
  .catalogue-project-main { gap: 3.5rem; padding-top: 2.5rem; }
  .catalogue-project-intro > h2 { font-size: clamp(2.25rem, 11vw, 3.4rem); }
  .catalogue-project-examples .buyer-use-refs { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .catalogue-project-examples .buyer-use-refs img { transition: none; }
}

/* F03: the generated enquiry summary is a reading panel, not one inline row.
   The result area stacks vertically, the read-only textarea uses the available
   form width and keeps enough height for a long, selectable summary. The
   [hidden] rules stay explicit because a grid display would otherwise override
   the user-agent rule that hides the panel until a summary is prepared. */
.enquiry-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  padding: 1.25rem 1.25rem 2rem;
}
.enquiry-result[hidden],
.enquiry-result > .summary-stale-notice[hidden] { display: none; }
.enquiry-result > label { display: block; font-weight: 600; line-height: 1.5; }
.enquiry-result > .summary-stale-notice { margin-bottom: 0; }
.enquiry-result > textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 15rem;
  padding: .95rem 1.1rem;
  font: inherit;
  font-size: .95rem;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  resize: vertical;
}
.enquiry-result > .solid-button { justify-self: start; }

@media (max-width: 520px) {
  .enquiry-result { padding: 1rem 1rem 1.5rem; }
  .enquiry-result > textarea { min-height: 13rem; padding: .8rem .9rem; }
}

/* service-layout.css */
/* Services page layout refinement.
   One repeatable editorial module keeps image scale, reading order and rhythm
   consistent across every production stage. */

.service-page .capability-detail {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: "copy media";
  column-gap: clamp(2.75rem, 5vw, 5.5rem);
  row-gap: clamp(1.75rem, 3vw, 2.75rem);
  align-items: start;
  min-height: 0;
  padding-block: clamp(4.25rem, 6.5vw, 6.5rem);
  border-top: 1px solid rgba(255, 255, 255, .08);
}

/* Reset the older per-stage column ratios so every stage uses one scale. */
.service-page #project-review,
.service-page #production,
.service-page #cutting,
.service-page #finishing,
.service-page #packing {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.service-page .capability-detail > .capability-detail-copy {
  grid-area: copy;
  min-width: 0;
  align-self: center;
}

.service-page .capability-detail > figure,
.service-page #cutting > figure,
.service-page #finishing > figure,
.service-page .capability-detail--with-evidence > .project-review-photo {
  grid-column: auto;
  grid-row: auto;
  grid-area: media;
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.service-page #cutting > .capability-detail-copy,
.service-page #finishing > .capability-detail-copy {
  grid-area: copy;
}

.service-page #cutting > figure,
.service-page #finishing > figure {
  grid-area: media;
}

.service-page .capability-detail > figure > img,
.service-page .capability-detail--with-evidence .project-review-photo > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.service-page .capability-detail > figure > figcaption {
  min-height: 3.35rem;
  padding-top: 1rem;
  margin-top: 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.service-page .capability-detail--with-evidence {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "copy media"
    "brief media";
}

.service-page .capability-detail--with-evidence > .capability-detail-copy {
  align-self: start;
}

.service-page .capability-detail--with-evidence > .service-brief {
  grid-area: brief;
  grid-column: auto;
  grid-row: auto;
  align-self: start;
  width: 100%;
  padding: clamp(1.35rem, 2.1vw, 1.85rem);
  background: #1b1b19;
  border-top: 2px solid var(--accent);
}

/* These IDs outrank the older repair selectors that pinned the two elements. */
.service-page #project-review > .project-review-photo {
  grid-area: media;
}

.service-page #project-review > .service-brief {
  grid-area: brief;
}

.service-page .service-brief h3 {
  margin: 0;
  font-size: clamp(1.1rem, 1.4vw, 1.3rem);
}

.service-page .service-brief ul {
  gap: .55rem;
  margin: 1.05rem 0 0;
  padding-top: 1rem;
}

.service-page .service-brief .service-brief-note {
  margin-top: 1.1rem;
}

@media (max-width: 960px) {
  .service-page .capability-detail,
  .service-page .capability-detail--with-evidence {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "media";
    gap: 2.25rem;
    padding-block: clamp(3.5rem, 8vw, 5rem);
  }

  .service-page #project-review,
  .service-page #production,
  .service-page #cutting,
  .service-page #finishing,
  .service-page #packing {
    grid-template-columns: 1fr;
  }

  .service-page .capability-detail--with-evidence {
    grid-template-areas:
      "copy"
      "media"
      "brief";
  }

  .service-page .capability-detail > .capability-detail-copy,
  .service-page #cutting > .capability-detail-copy,
  .service-page #finishing > .capability-detail-copy,
  .service-page .capability-detail > figure,
  .service-page #cutting > figure,
  .service-page #finishing > figure,
  .service-page .capability-detail--with-evidence > .project-review-photo,
  .service-page .capability-detail--with-evidence > .service-brief {
    grid-column: auto;
    grid-row: auto;
  }

  .service-page .capability-detail > .capability-detail-copy {
    align-self: start;
  }

  .service-page .capability-detail > figure {
    max-width: none;
  }
}

@media (max-width: 560px) {
  .service-page .capability-detail {
    gap: 1.65rem;
    padding-block: 3.5rem;
  }

  .service-page .capability-detail > figure > figcaption {
    min-height: 0;
    padding-top: .85rem;
  }

  .service-page .capability-detail--with-evidence > .service-brief {
    padding: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-page .capability-detail .motion-image-frame,
  .service-page .capability-detail .motion-image-frame img {
    transform: none !important;
  }
}

/* buyer-journey.css */
#product-catalog-title{scroll-margin-top:calc(var(--site-header-height,80px) + 1.5rem)}
.buyer-use-chooser{max-width:1440px;margin:clamp(3rem,7vw,7rem) auto 0;padding:0 clamp(1.25rem,4vw,4.5rem)}
.buyer-use-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(16rem,1.2fr);gap:2rem;align-items:end;border-block-end:1px solid rgba(255,255,255,.18);padding-block-end:1.5rem}.buyer-use-head h2{font-size:clamp(1.7rem,3vw,3.25rem);letter-spacing:-.04em;margin:0}.buyer-use-head p{max-width:52ch;margin:0;color:var(--muted,#aaa);line-height:1.6}
.buyer-use-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.16);margin-block-start:1px}.buyer-use-option{display:flex;min-height:9rem;flex-direction:column;justify-content:space-between;padding:1.4rem;background:var(--bg,#080808);color:inherit;text-decoration:none;transition:background-color .22s,transform .22s}.buyer-use-option:hover,.buyer-use-option:focus-visible,.buyer-use-option.is-active{background:#22211e}.buyer-use-option:active{transform:translateY(1px)}.buyer-use-option span{color:var(--muted,#aaa);font-size:.86rem;line-height:1.45}.buyer-use-option.is-active{box-shadow:inset 0 3px #d7ff45}.buyer-use-status{border-inline-start:3px solid #d7ff45;padding:.8rem 1rem;color:inherit!important}
.case-filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-block-end:2.25rem;padding-block:1rem;border-block:1px solid rgba(255,255,255,.18)}.case-filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.case-filter-button{border:1px solid rgba(255,255,255,.25);background:transparent;color:inherit;padding:.68rem 1rem;border-radius:0;cursor:pointer;transition:background-color .2s,color .2s}.case-filter-button:hover,.case-filter-button:focus-visible,.case-filter-button.is-active{background:#f1efe9;color:#0b0b0b}.case-filter-status{margin:0;color:var(--muted,#aaa);font-variant-numeric:tabular-nums;white-space:nowrap}.case-filter-empty{padding:4rem 0;text-align:center}.work-card[hidden]{display:none}.case-enquiry-link{display:flex;max-width:1440px;margin:clamp(3rem,6vw,6rem) auto;padding:1.5rem clamp(1.25rem,4vw,4.5rem);border-block:1px solid rgba(255,255,255,.2);color:inherit;text-decoration:none;font-size:clamp(1.3rem,2.6vw,2.5rem);transition:background-color .2s}.case-enquiry-link:hover,.case-enquiry-link:focus-visible{background:#d7ff45;color:#080808}
.case-year-filter{display:flex;align-items:center;gap:.65rem;color:var(--muted,#aaa);font-size:.78rem;white-space:nowrap}.case-year-select{min-height:42px;padding:.45rem 1.8rem .45rem .65rem;border:0;border-bottom:1px solid rgba(255,255,255,.38);border-radius:0;background:#080808;color:inherit;font:inherit;cursor:pointer}.work-card-date,.case-content-date{color:#8a8a85;font-size:.7rem;font-variant-numeric:tabular-nums;letter-spacing:.03em;text-transform:none;white-space:nowrap}.work-card-date time,.case-content-date time{color:#b7b7b0}.case-content-date{margin-inline-start:auto}
.home-case-date{display:flex;justify-content:flex-end;gap:.42rem;margin-top:.75rem;color:#85877f;font-size:.7rem;font-variant-numeric:tabular-nums;letter-spacing:.03em;white-space:nowrap}.home-case-date time{color:#b9bab1}
[dir=rtl] .buyer-use-status{border-inline-start:3px solid #d7ff45}
@media(max-width:900px){.buyer-use-options{grid-template-columns:repeat(2,minmax(0,1fr))}.buyer-use-head{grid-template-columns:1fr}.case-filter-bar{align-items:flex-start;flex-direction:column}.case-content-date{margin-inline-start:0}}
@media(max-width:520px){.buyer-use-options{grid-template-columns:1fr}.buyer-use-option{min-height:7rem}.case-filter-status{white-space:normal}}
@media(prefers-reduced-motion:reduce){.buyer-use-option,.case-filter-button,.case-enquiry-link{transition:none}}

@media(max-width:760px){#product-catalog-title{scroll-margin-top:calc(var(--site-header-height,80px) + 5rem)}}

@media(min-width:761px){.case-note > p,.case-note > ul{grid-column:2}}

/* footer-editorial.css */
.footer.footer-editorial {
  display: block;
  width: 100%;
  padding: clamp(4.35rem, 5vw, 5rem) 0 clamp(2.35rem, 3vw, 2.75rem);
  border-top: 1px solid rgba(255, 255, 255, .28);
  color: #c8c7c2;
  font-size: .875rem;
  overflow: clip;
}

.footer.footer-editorial .footer-editorial-main {
  display: grid;
  grid-template-columns: minmax(0, 35fr) minmax(0, 22fr) minmax(0, 27fr) minmax(0, 16fr);
  gap: clamp(2.2rem, 3vw, 2.8rem);
  align-items: start;
}

.footer.footer-editorial .footer-editorial-column { min-width: 0; }
.footer.footer-editorial .footer-editorial-brand {
  min-height: 18.75rem;
  padding-inline-end: clamp(1.5rem, 3vw, 4rem);
  border-inline-end: 1px solid rgba(255, 255, 255, .22);
}
.footer.footer-editorial .footer-brand { display: inline-flex; margin: 0 0 2.25rem; color: #fff; }
.footer.footer-editorial .footer-brand span { font-size: clamp(3.4rem, 5vw, 5.2rem); line-height: .76; }
.footer.footer-editorial .footer-brand small { margin-top: .7rem; font-size: clamp(.72rem, .9vw, .95rem); letter-spacing: .25em; }
.footer.footer-editorial .footer-editorial-tagline {
  max-width: 19ch;
  margin: 0 0 1.1rem;
  color: #f4f3ef;
  font-size: clamp(1.35rem, 1.7vw, 1.5rem);
  line-height: 1.35;
  text-wrap: balance;
}
.footer.footer-editorial .footer-editorial-description { max-width: 34ch; margin: 0; color: #aaa9a4; font-size: clamp(1rem, 1.2vw, 1.1rem); line-height: 1.7; }
.footer.footer-editorial .footer-editorial-heading { margin: 0 0 2rem; color: #aaa9a4; font-size: 1rem; font-weight: 400; line-height: 1.5; }

.footer.footer-editorial .footer-editorial-contact-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.05rem;
  padding: 0;
  border: 0;
}
.footer.footer-editorial .footer-editorial-contact-list p { margin: 0; color: #d2d1cc; font-size: clamp(1.35rem, 1.65vw, 1.5rem); line-height: 1.4; overflow-wrap: anywhere; }
.footer.footer-editorial .footer-editorial-contact-list a[href^="mailto:"] { font-size: clamp(1rem, 1.25vw, 1.125rem); }
.footer.footer-editorial .footer-editorial-contact-list span { margin-bottom: .15rem; color: #8f8e89; font-size: .875rem; line-height: 1.5; }
.footer.footer-editorial .footer-editorial-contact-list a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #f3f2ee;
  border-bottom: 1px solid rgba(255,255,255,.34);
  text-decoration: none;
}
.footer.footer-editorial .footer-editorial-address {
  max-width: 38ch;
  margin: .35rem 0 2rem;
  color: #aaa9a4;
  font-size: 1.125rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.footer.footer-editorial .footer-locations { display: block; padding: 0; border: 0; }
.footer.footer-editorial .footer-locations-links { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.footer.footer-editorial .footer-locations-links a {
  display: inline-flex;
  align-items: flex-start;
  width: fit-content;
  min-height: 44px;
  max-width: 100%;
  color: #f3f2ee;
  font-size: 1.125rem;
  line-height: 1.55;
  text-decoration: none;
  overflow-wrap: anywhere;
  gap: .35em;
}
.footer.footer-editorial .footer-locations-links a:last-child { margin-top: 2rem; }
.footer.footer-editorial .footer-nav { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0; margin: 0; font-size: inherit; }
.footer.footer-editorial .footer-nav a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 44px;
  color: #f0efeb;
  font-size: 1.25rem;
  line-height: 1.35;
  text-decoration: none;
}
.footer.footer-editorial a:hover,
.footer.footer-editorial a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: .35em; }

.footer.footer-editorial .footer-social { width: auto; margin-top: 2.35rem; padding: 0; border: 0; }
.footer.footer-editorial .footer-social-links { gap: .55rem; }
.footer.footer-editorial .footer-social-link { border: 0; color: #d4a277; }
.footer.footer-editorial .footer-social-link + .footer-social-link { border-inline-start: 1px solid rgba(255,255,255,.28); }
.footer.footer-editorial .footer-social-link:hover,
.footer.footer-editorial .footer-social-link:focus-visible { color: #fff; background: transparent; }

.footer.footer-editorial .footer-editorial-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  margin-top: clamp(2.25rem, 3vw, 2.75rem);
  padding-top: 1.55rem;
  border-top: 1px solid rgba(255,255,255,.28);
}
.footer.footer-editorial .footer-editorial-bottom > p { margin: 0; color: #aaa9a4; font-size: .78rem; line-height: 1.6; }
.footer.footer-editorial .footer-legal { display: flex; gap: 1.5rem; padding: 0; margin: 0; border: 0; }
.footer.footer-editorial .footer-legal a { min-height: 44px; color: #c8c7c2; font-size: .78rem; }
.footer.footer-editorial .consent-reopen {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  color: #c8c7c2;
  background: transparent;
  font: inherit;
  font-size: .78rem;
  cursor: pointer;
}

:root[dir="rtl"] .footer.footer-editorial .footer-brand small { letter-spacing: .16em; }
:root[dir="rtl"] .footer.footer-editorial .footer-editorial-address { text-align: start; }

@media (max-width: 1024px) {
  .footer.footer-editorial .footer-editorial-main { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 3rem 2.5rem; }
  .footer.footer-editorial .footer-editorial-brand { min-height: 0; grid-row: span 2; }
  .footer.footer-editorial .footer-editorial-nav { grid-column: 2; }
}

@media (max-width: 767px) {
  .footer.footer-editorial { padding-top: 4rem; }
  .footer.footer-editorial .footer-editorial-main { grid-template-columns: minmax(0, 1fr); gap: 2.75rem; }
  .footer.footer-editorial .footer-editorial-brand { grid-row: auto; padding-inline-end: 0; padding-bottom: 2.75rem; border-inline-end: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
  .footer.footer-editorial .footer-brand span { font-size: clamp(3rem, 16vw, 4.3rem); }
  .footer.footer-editorial .footer-editorial-heading { margin-bottom: 1.25rem; }
  .footer.footer-editorial .footer-editorial-nav { grid-column: auto; }
  .footer.footer-editorial .footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .15rem 1rem; }
  .footer.footer-editorial .footer-editorial-bottom { align-items: flex-start; flex-direction: column; gap: .4rem; }
  .footer.footer-editorial .footer-legal { width: 100%; justify-content: space-between; gap: 1rem; }
}

@media (max-width: 390px) {
  .footer.footer-editorial .footer-brand span { font-size: clamp(2.7rem, 15vw, 3.6rem); }
  .footer.footer-editorial .footer-editorial-description { font-size: .9rem; }
  .footer.footer-editorial .footer-nav { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .footer.footer-editorial *, .footer.footer-editorial *::before, .footer.footer-editorial *::after { scroll-behavior: auto; transition: none; animation: none; }
}

.footer.footer-editorial .footer-social-icon { width:26px; height:26px; }
.footer.footer-editorial .footer-social-link { width:52px; height:48px; }
.footer.footer-editorial .footer-editorial-bottom > p,
.footer.footer-editorial .footer-legal a { font-size:14px; }
@media(max-width:767px) {
  .footer.footer-editorial .footer-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-items:start; gap:0 16px; }
}

/* Keep both international contact rows consistent at every column width. */
.footer.footer-editorial .footer-editorial-contact-list [data-contact-region] .tel-link { display: flex; width: fit-content; margin-inline-start: 0; }

/* motion-repair.css */
.motion-line-probe { display: block; }
.motion-line-token { display: inline; }
.motion-line-real { display: block; overflow: visible; }
:root[data-motion-boot="pending"] :is(.hero, .page-hero) :is(.hero-intro, .page-lede, .upgrade-hero-actions) { visibility: hidden; }

@media (min-width: 901px) {
  @supports (overflow: clip) {
    html,
    body { overflow-x: clip; }
  }
  @supports not (overflow: clip) {
    html { overflow-x: hidden; }
    body { overflow-x: visible; }
  }
  body:not(.subpage-body) .capabilities { isolation: isolate; }
  body:not(.subpage-body) .capabilities > .service {
    position: sticky;
    top: var(--site-header-height, 6rem);
    z-index: 1;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
  }
  body:not(.subpage-body) .capabilities > .service:nth-of-type(2) { z-index: 2; }
  body:not(.subpage-body) .capabilities > .service:nth-of-type(3) { z-index: 3; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-line-real,
  .motion-line-token,
  .motion-image-frame,
  .motion-image-frame img { opacity: 1 !important; visibility: visible !important; transform: none !important; clip-path: none !important; }
}

/* visual-repair.css */
/* September visual review: readable type, deliberate grouping and equal CTAs. */
html .hero-with-video .hero-content{width:min(100%,82rem);padding:calc(var(--site-header-height,6rem) + 3rem) 1.5rem 10rem}
html .hero-with-video #hero-title{max-width:100%;font-size:clamp(3rem,5.4vw,6.2rem);line-height:1.16;letter-spacing:-.025em}
html .hero-with-video #hero-title .hero-line{overflow:visible}
html .hero-with-video #hero-title [data-upgrade-copy]{font-size:inherit;letter-spacing:inherit;line-height:inherit}
html .hero-with-video .hero-intro{max-width:43rem;margin-top:1.8rem;line-height:1.8;font-size:clamp(1rem,1.15vw,1.13rem)}
html .upgrade-hero-actions{gap:1rem;margin-top:1.8rem;align-items:stretch}
html .upgrade-hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:3.6rem;padding:.85rem 1.7rem;line-height:1.4;font-size:1rem;font-weight:500;text-decoration:none;transition:background-color .25s,color .25s,border-color .25s}
html .upgrade-hero-actions .solid-button{background:var(--paper);color:#111;border:1px solid var(--paper);min-width:12rem}
html .upgrade-hero-actions .upgrade-text-link{border:1px solid rgba(255,255,255,.6);color:#fff;min-width:12rem}
html .upgrade-hero-actions .solid-button:hover{background:white}
html .upgrade-hero-actions .upgrade-text-link:hover{background:rgba(255,255,255,.13);border-color:white}
html .upgrade-hero-actions a:focus-visible{outline:2px solid #fff;outline-offset:5px}
html .home-product-overview .page-intro,html .rfq-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(15rem,.85fr);column-gap:clamp(2rem,6vw,6rem);row-gap:1.1rem;align-items:end;margin-bottom:clamp(2.5rem,4vw,4rem)}
/* Keep the home category heading and cards together; do not stack page-intro padding with its margin. */
html .home-product-overview .page-intro{padding-bottom:0;margin-bottom:clamp(1.5rem,2.5vw,2.5rem)}
html .home-product-overview .page-intro>p,html .rfq-heading>p{grid-column:1/-1;padding:0;margin:0}
html .home-product-overview .page-intro>h2,html .rfq-heading>h2{grid-column:1;max-width:100%;font-size:clamp(2.4rem,4vw,4.25rem);line-height:1.2;letter-spacing:-.025em;margin:0}
html .home-product-overview .page-intro>div,html .rfq-heading>div{grid-column:2;max-width:34rem;font-size:1rem;line-height:1.75;margin:0;padding:0}
html .home-product-overview .page-intro>div p{margin:0}
html .home-product-overview .product-category-copy{display:flex;flex-direction:column;padding:1.4rem;gap:.75rem}
html .home-product-overview .product-category-copy h2{font-size:clamp(1.3rem,1.6vw,1.75rem);line-height:1.35;margin:0}
html .home-product-overview .product-category-copy p{margin:0 0 1rem;line-height:1.7}
html .home-product-overview .category-destination{margin-top:auto;padding-top:.5rem}
html .footer{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2rem 3rem;align-items:center;padding-top:2rem}
html .footer-locations{grid-column:1/-1;margin:0;padding-bottom:2rem}
html .footer-directory-links{width:100%;justify-content:space-between;gap:1.5rem}
html .footer-locations>span{display:none}
html .footer-brand{grid-column:1;grid-row:2}
html .footer>p:not(.footer-brand):not(.footer-nav):not(.footer-legal){grid-column:1/-1;grid-row:4;margin:0;font-size:.8rem;color:#aaa9a4}
html .footer-nav{grid-column:2;grid-row:2;justify-content:flex-end;gap:.4rem 1.6rem}
html .footer-legal{grid-column:1/-1;grid-row:3;margin:0;padding-top:1.5rem}
html .footer-social{padding-inline-start:1.5rem}
html .footer-nav a,html .footer-legal a{line-height:1.7}
@media(max-width:900px){html .hero-with-video #hero-title{font-size:clamp(2.6rem,6vw,4.3rem)}html .home-product-overview .page-intro,html .rfq-heading{grid-template-columns:1fr;gap:1.3rem}html .home-product-overview .page-intro>div,html .rfq-heading>div{grid-column:1}html .footer{grid-template-columns:1fr}html .footer-brand{grid-column:1;grid-row:2}html .footer-nav{grid-column:1;grid-row:3;justify-content:flex-start}html .footer-legal{grid-row:4}html .footer>p:not(.footer-brand):not(.footer-nav):not(.footer-legal){grid-row:5}}
@media(max-width:560px){html .hero-with-video .hero-content{padding:calc(var(--site-header-height,5rem) + 3rem) 1.2rem 10rem}html .hero-with-video #hero-title{font-size:clamp(2rem,8.6vw,2.8rem);line-height:1.18}html:lang(zh-Hant) .hero-with-video #hero-title{font-size:clamp(2.15rem,9vw,2.9rem)}html .upgrade-hero-actions{gap:.8rem}html .upgrade-hero-actions a{width:100%;min-width:0;align-self:stretch}html .home-product-overview .product-category-copy{padding:1.05rem;gap:.5rem}html .home-product-overview .product-category-copy h2{font-size:1.15rem}html .footer-directory-links{align-items:flex-start}html .footer-social{padding-inline-start:0}}
@media(prefers-reduced-motion:reduce){html .upgrade-hero-actions a{transition:none}}

/* product-b2b.css */
/* Catalogue 05: product-led browsing and a quiet, legible buying workspace. */
body[data-product-catalogue]{--b2b-paper:#f8f8f4;--b2b-ink:#232821;--b2b-muted:#62685e;--b2b-line:#d8dbd1;--b2b-accent:#935638;background:var(--b2b-paper);color:var(--b2b-ink);min-width:0}
body[data-product-catalogue] .site-header,body[data-product-catalogue] .site-header.is-scrolled{background:#10140f;border-bottom:1px solid #30382c}
body[data-product-catalogue] main{padding-top:var(--site-header-height,96px);background:var(--b2b-paper);min-height:70vh}
body[data-product-catalogue] .page-footer{background:#10140f;color:#f2f0eb}
body[data-product-catalogue] [data-catalogue-browse]:not(.b2b){padding-block:28px}
body[data-product-catalogue] [data-catalogue-browse]:not(.b2b) h1{font:500 36px/1.3 'General Sans',sans-serif;color:#27351f}
.b2b{width:min(1440px,calc(100% - 80px));margin-inline:auto;padding:23px 0 64px;color:var(--b2b-ink);font-family:'General Sans',Arial,'Noto Sans TC',sans-serif}
.b2b *,.b2b-dialog *,.b2b-compare-tray *{box-sizing:border-box}
.b2b :is(h1,h2,h3,p,figure,dl){margin:0}
.b2b :is(h1,h2,h3){color:var(--b2b-ink);font-family:inherit;letter-spacing:-.035em;font-weight:550;text-wrap:pretty;max-width:none;text-transform:none}
.b2b p{line-height:1.7;color:var(--b2b-muted)}.b2b a{color:inherit;text-decoration:none}
.b2b :is(a,button,input,select,summary):focus-visible,.b2b-dialog :is(a,button,div):focus-visible,.b2b-compare-tray button:focus-visible{outline:2px solid #935638;outline-offset:4px}
.b2b button,.b2b-dialog button,.b2b-compare-tray button{font:inherit;cursor:pointer;letter-spacing:0}
.b2b [id]{scroll-margin-top:calc(var(--site-header-height,96px) + 24px)}
.b2b [hidden],.b2b-compare-tray[hidden],.b2b-mobile-quote[hidden]{display:none!important}
.b2b-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.b2b-breadcrumb{display:flex;flex-wrap:wrap;gap:8px 12px;color:#6a7064;font-size:12px;line-height:1.6;margin-bottom:26px}
.b2b-breadcrumb a:hover{color:#935638;text-decoration:underline}.b2b-breadcrumb>[aria-current]{color:#30372b}
.b2b-kicker{font-size:10px!important;letter-spacing:.11em;text-transform:uppercase;color:#616959!important;font-weight:500;line-height:1.6;display:block}
.b2b-kicker>span{margin-inline-start:8px;letter-spacing:.02em;color:#777e70}
.b2b-intro{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:end;gap:40px;padding-bottom:32px;margin-bottom:30px;border-bottom:1px solid var(--b2b-line)}
.b2b-intro h1{font-size:clamp(30px,3vw,46px);line-height:1.18;margin:10px 0 12px;letter-spacing:-.045em}
.b2b-intro .b2b-lede{font-size:14px;max-width:650px;line-height:1.65}
.b2b-landing-link{margin:.7rem 0 0;font-size:14px;line-height:1.6}.b2b-landing-link a{font-weight:700;text-decoration:underline;text-underline-offset:.22em}
.b2b-project-link{display:flex;flex-direction:column;justify-content:center;gap:9px;border-inline-start:1px solid var(--b2b-line);padding-block:8px;padding-inline-start:25px;font-size:12px;color:#6a7064!important}
.b2b-project-link strong{display:flex;align-items:center;gap:20px;font-weight:500;font-size:15px;color:var(--b2b-ink)}
.b2b-arrow{display:inline-block;font-family:Arial,sans-serif;font-size:21px;line-height:1;flex:none}
.b2b-project-link:hover strong,.b2b-collection-heading a:hover,.b2b-card h3 a:hover{color:var(--b2b-accent)}
.b2b-layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:38px;align-items:start}
.b2b-sidebar{position:sticky;top:calc(var(--site-header-height,96px) + 25px);min-width:0}
.b2b-side-title{display:block;font-size:11px;letter-spacing:.06em;color:#747b6b;margin-bottom:12px}
.b2b-sidebar nav{display:flex;flex-direction:column;gap:4px}
.b2b-sidebar nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px;min-height:46px;border:1px solid transparent;font-size:13px;line-height:1.5}
.b2b-sidebar nav a>span{display:flex;align-items:center;gap:9px}.b2b-sidebar nav i{font:10px Arial,sans-serif;color:#7d846f;font-style:normal}.b2b-sidebar nav small{font-size:11px;color:#758069;flex:none}
.b2b-sidebar nav a[aria-current]{background:#e9ede1;border-color:#d7ddcd;color:#2e3d26}.b2b-sidebar nav a:hover{background:#eff1e9}
.b2b-side-help{margin-top:30px;padding:25px 10px 0;border-top:1px solid var(--b2b-line)}.b2b-side-help p{font-size:12px;line-height:1.8;margin:8px 0 18px}.b2b-side-help a{display:flex;align-items:center;justify-content:space-between;font-size:13px;gap:10px}
.b2b-results{min-width:0}.b2b-toolbar{display:flex;gap:8px;align-items:center;margin:0;padding:0;min-height:45px}.b2b-search{flex:1;min-width:120px;position:relative}
.b2b-search>span{position:absolute;inset-inline-start:12px;top:6px;font-family:Arial,sans-serif;font-size:26px;color:#6c7561;pointer-events:none}
.b2b-search input{width:100%;height:45px;background:transparent;color:var(--b2b-ink);border:1px solid #c9cebf;padding:10px 14px;padding-inline-start:40px;border-radius:0;font:inherit;font-size:13px;outline-offset:2px}.b2b-search input::placeholder{color:#777e6f;opacity:1}
.b2b-filter-controls{display:flex;gap:8px;min-width:0}.b2b-filter-controls label{min-width:0}
.b2b-filter-controls select{height:45px;max-width:180px;min-width:120px;padding-inline:12px 28px;border:1px solid #c9cebf;background:transparent;color:#3c4434;border-radius:0;font:inherit;font-size:12px;cursor:pointer;text-overflow:ellipsis}
.b2b-reset{background:transparent;border:0;padding:5px;min-height:44px;font-size:11px!important;color:#6b4e3b;text-decoration:underline;flex:none}.b2b-mobile-filters{display:none}
.b2b-results-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0 22px;font-size:11px;line-height:1.6;color:#6c7363}.b2b-results-meta>span:last-child{text-align:end;max-width:55%;font-size:10px}
.b2b-collection+.b2b-collection{margin-top:42px;padding-top:32px;border-top:1px solid var(--b2b-line)}
.b2b-collection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.b2b-collection-heading h2{font-size:21px;line-height:1.5;display:flex;align-items:center;gap:12px}.b2b-collection-heading h2>span{font-size:10px;font-weight:400;color:#869077;letter-spacing:0}
.b2b-collection-heading>a{display:flex;align-items:center;gap:5px;font-size:12px;flex:none;color:#4e5942}.b2b-collection-heading>a .b2b-arrow{font-size:16px;margin-inline-start:6px}.b2b-collection-heading>span{font-size:12px;color:#79816e}
.b2b-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.b2b-card{min-width:0;display:flex;flex-direction:column;position:relative}
.b2b-card-image{display:block;position:relative;aspect-ratio:4/3;background:#efeee7;overflow:hidden;border:1px solid #e6e6dc}.b2b-card-image img{width:100%;height:100%;object-fit:contain;filter:none;display:block;transition:transform .35s ease}.b2b-card-image.is-reference img{object-fit:cover}.b2b-card-image:hover img{transform:scale(1.025)}
.b2b-image-label{position:absolute;bottom:7px;inset-inline-start:7px;background:rgba(248,248,244,.96);color:#5e6656;font-size:9px;line-height:1.5;padding:3px 5px;max-width:calc(100% - 14px);letter-spacing:0;overflow-wrap:anywhere}
.b2b-open{position:absolute;top:10px;inset-inline-end:10px;display:grid;place-items:center;width:28px;height:28px;background:rgba(248,248,244,.94);font-size:19px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.b2b-card-image:is(:hover,:focus-visible) .b2b-open{opacity:1;transform:translateY(0)}
.b2b-card-meta{display:flex;justify-content:space-between;align-items:start;gap:8px;margin:12px 0 7px;font-size:10px;line-height:1.5;color:#69725c;letter-spacing:.015em}.b2b-reference{font-size:10px!important;letter-spacing:.045em;white-space:nowrap;font-family:Arial,sans-serif;direction:ltr}
.b2b-card h3{font-size:17px;line-height:1.5;letter-spacing:-.025em;margin-bottom:6px;overflow-wrap:anywhere}.b2b-card-use{font-size:11px;line-height:1.6!important;margin-bottom:12px!important;color:#747b6b!important}
.b2b-card-material{font-size:11px!important;line-height:1.65!important;color:#4d6045!important;margin:0 0 12px!important;overflow-wrap:anywhere}.b2b-card-material strong{font-weight:600;color:#35492f}
.b2b-card-size{font-size:11px!important;line-height:1.65!important;color:#4d6045!important;margin:0 0 12px!important;overflow-wrap:anywhere}.b2b-card-size strong{font-weight:600;color:#35492f}
.b2b-card-action{display:flex;justify-content:space-between;align-items:center;gap:6px;border-top:1px solid var(--b2b-line);padding-top:4px;margin-top:auto}.b2b-card-action>a{font-size:11px;line-height:1.5;display:flex;align-items:center;gap:12px;min-height:38px;color:#444d39}
.b2b-compare-toggle{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:5px 0;background:transparent;border:0;color:#5e6951;font-size:11px!important;line-height:1.5}.b2b-compare-toggle>[aria-hidden]{font-family:Arial,sans-serif;border:1px solid #a6af98;width:14px;height:14px;display:grid;place-items:center;font-size:12px;flex:none;line-height:1}.b2b-compare-toggle[aria-pressed=true]{color:#344d27}.b2b-compare-toggle[aria-pressed=true]>[aria-hidden]{background:#3f5531;color:#fff;border-color:#3f5531}
.b2b-collection-more{border-top:1px solid var(--b2b-line);border-bottom:1px solid var(--b2b-line);display:flex;align-items:center;justify-content:center;gap:7px;padding:13px;margin-top:19px;color:#5b674c!important;font-size:12px;min-height:46px}.b2b-collection-more:hover{background:#eef0e7}.b2b-collection-more .b2b-arrow{font-size:17px;margin-inline-start:7px}
.b2b-empty{border:1px solid var(--b2b-line);padding:45px 25px;min-height:220px}.b2b-empty h2{font-size:21px;line-height:1.6;margin-bottom:24px}.b2b-empty button,.b2b-empty a{display:inline-flex;background:transparent;color:var(--b2b-ink);border:0;border-bottom:1px solid var(--b2b-line);margin-inline-end:20px;padding:12px 0;font-size:14px}
.b2b-project{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:50px;background:#e8ebdf;padding:35px 40px;margin-top:48px;border:1px solid #d7deca}.b2b-project h2{font-size:28px;line-height:1.4;margin:8px 0 10px;grid-column:1}.b2b-project p{font-size:13px;max-width:650px;grid-column:1}.b2b-project .b2b-button{grid-column:2;grid-row:1/4;align-self:center}
.b2b-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:13px 22px;border:1px solid #34442b;background:#34442b;color:#fff!important;text-decoration:none;font-size:13px;line-height:1.5;font-weight:500;cursor:pointer;transition:background .15s}.b2b-button:hover{background:#46593a}.b2b-button:disabled{background:#c3cab8;color:#57654b!important;border-color:#c3cab8;cursor:default}
.b2b-steps{padding-top:38px;margin-top:55px;border-top:1px solid var(--b2b-line)}.b2b-steps>h2{font-size:25px;margin-bottom:24px}.b2b-steps>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.b2b-steps article{position:relative;padding-inline-start:37px}.b2b-steps article>span{position:absolute;inset-inline-start:0;top:4px;font-size:11px;color:#8c967e}.b2b-steps h3{font-size:16px;line-height:1.6;margin-bottom:8px}.b2b-steps p{font-size:12px;max-width:320px}
.b2b-detail .b2b-breadcrumb{margin-bottom:30px}.b2b-detail-top{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:60px;align-items:start}.b2b-gallery{min-width:0}.b2b-main-image{aspect-ratio:4/3;background:#eeede6;position:relative;overflow:hidden;border:1px solid #e1e3d8}.b2b-main-image img{display:block;width:100%;height:100%;object-fit:contain;filter:none}.b2b-main-image .b2b-image-label{font-size:10px;bottom:10px;inset-inline-start:10px}
.b2b-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,74px));gap:10px;margin-top:12px;min-width:0}.b2b-thumbnails button{width:100%;min-width:0;min-height:54px;aspect-ratio:4/3;padding:2px;border:1px solid #d1d7c6;background:#eeede6}.b2b-thumbnails button[aria-pressed=true]{border:2px solid #596d45}.b2b-thumbnails img{width:100%;height:100%;object-fit:contain;filter:none}
.b2b-gallery-line{display:flex;justify-content:space-between;gap:20px;padding-top:12px;color:#747d68;font-size:11px;line-height:1.7}.b2b-gallery-line>span:first-child{font-family:Arial,sans-serif;letter-spacing:.07em}
.b2b-detail-summary{padding-top:5px;min-width:0}.b2b-detail-summary h1{font-size:clamp(28px,2.8vw,40px);line-height:1.3;margin:14px 0 16px}.b2b-detail-lede{font-size:14px;line-height:1.85!important;max-width:500px}.b2b-detail-facts{margin-top:24px!important;border-top:1px solid var(--b2b-line)}.b2b-detail-facts>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:15px;border-bottom:1px solid var(--b2b-line);padding:12px 0;font-size:12px;line-height:1.8}.b2b-detail-facts dt{color:#77806b}.b2b-detail-facts dd{margin:0;color:#35432c}
.b2b-size-note{margin:20px 0!important;padding:16px 18px;background:#eef1e8;border:1px solid #d7dfcf;color:#3f5038}.b2b-size-note strong{color:#34472e}
.b2b-detail-actions{display:flex;gap:20px;align-items:center;margin-top:24px}.b2b-detail-actions>.b2b-button{flex:1}.b2b-detail-actions>.b2b-compare-toggle{padding:10px 0;min-height:48px;flex:none}.b2b-detail-note{font-size:11px;line-height:1.8!important;margin-top:14px!important;color:#7a826e!important}.b2b-underlink{display:inline-flex;gap:16px;align-items:center;border-bottom:1px solid #b2baaa;font-size:12px;margin-top:16px;padding-block:7px}
.b2b-detail-nav{display:flex;flex-wrap:wrap;gap:10px 30px;border-bottom:1px solid var(--b2b-line);margin-top:38px}.b2b-detail-nav a{padding:15px 0;min-height:48px;font-size:13px;color:#667457}.b2b-detail-nav a:hover{box-shadow:inset 0 -2px #61794c;color:#28361e}
.b2b-detail-section{display:grid;grid-template-columns:1fr 1.7fr;gap:60px;padding-block:40px;border-bottom:1px solid var(--b2b-line)}.b2b-detail-section h2{font-size:27px;line-height:1.5;margin:10px 0 15px}.b2b-detail-section h3{font-size:14px;margin-block:24px 15px}.b2b-detail-section p{font-size:13px;line-height:1.9}.b2b-spec-content dl{margin-top:24px}.b2b-spec-content dl>div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:30px;padding:13px 0;border-top:1px solid var(--b2b-line);font-size:12px;line-height:1.8}.b2b-spec-content dt{color:#7a826f}.b2b-spec-content dd{margin:0;color:#3a4732}.b2b-options{display:flex;flex-wrap:wrap;gap:8px}.b2b-options span{font-size:11px;border:1px solid var(--b2b-line);padding:7px 12px;color:#4b5a3f}
.b2b-material-panel{margin:22px 0;padding:20px 22px;background:#eef1e8;border:1px solid #d7dfcf}.b2b-material-panel h3{margin:0 0 10px!important;font-size:14px!important;color:#34472e}.b2b-material-panel h3:not(:first-child){margin-top:20px!important}.b2b-material-panel ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 16px;padding:0}.b2b-material-panel li{font-size:12px;line-height:1.5;padding:6px 10px;background:#fff;border:1px solid #cbd8c2;color:#35482f}.b2b-material-panel p{margin:0 0 12px!important}.b2b-material-panel .b2b-material-note{font-size:11px!important;color:#64715b!important;border-top:1px solid #d2dbc9;padding-top:10px}
.b2b-needs{padding:0;margin:0 0 22px;list-style:none}.b2b-needs li{display:flex;align-items:start;gap:20px;font-size:13px;line-height:1.7;padding:11px 0;border-bottom:1px solid var(--b2b-line)}.b2b-needs li>span{color:#879279;font-size:10px;line-height:2.2;font-family:Arial,sans-serif;flex:none}.b2b-artwork{border-bottom:1px solid var(--b2b-line);margin-bottom:24px}.b2b-artwork summary{list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:13px;cursor:pointer;padding:13px 0 20px;gap:15px}.b2b-artwork summary::-webkit-details-marker{display:none}.b2b-artwork[open] summary>span{transform:rotate(45deg)}.b2b-artwork p{padding-bottom:20px}
.b2b-related,.b2b-case-section{padding-top:38px}.b2b-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.b2b-case-grid figure{aspect-ratio:16/9;overflow:hidden;background:#ecefe6;margin-bottom:14px}.b2b-case-grid img{width:100%;height:100%;object-fit:cover;filter:none}.b2b-case-grid h3{font-size:20px;line-height:1.5;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:10px}.b2b-case-grid>a>span{font-size:12px;color:#68785b}.b2b-mobile-quote{display:none}
.b2b-compare-tray{position:fixed;z-index:100;bottom:22px;inset-inline:0;margin-inline:auto;display:flex;align-items:center;justify-content:center;gap:22px;width:fit-content;max-width:calc(100% - 32px);padding:12px 20px;background:#fff;color:#27351f;border:1px solid #bac5af;box-shadow:0 7px 32px #19271024;font-family:'General Sans',Arial,sans-serif}.b2b-tray-label{display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.5;max-width:145px}.b2b-tray-label strong{font-weight:500}.b2b-tray-label>span{font-size:10px;color:#758467}.b2b-tray-items{display:flex;gap:7px}.b2b-tray-items>div{position:relative;width:55px;height:44px;background:#f0f1e9;border:1px solid #dde2d3}.b2b-tray-items img{height:100%;width:100%;object-fit:contain;filter:none}.b2b-tray-items button{position:absolute;top:-8px;inset-inline-end:-6px;width:22px;height:22px;border:1px solid #a7b39c;background:#fff;color:#4c5f3e;font-size:17px;display:grid;place-items:center;line-height:1;padding:0}.b2b-tray-slot{display:grid;place-items:center;color:#9daa8e;font-size:17px}.b2b-tray-clear{color:#738265;background:none;border:0;min-height:44px;font-size:11px!important;text-decoration:underline}
.b2b-dialog{inset:0;width:min(1050px,calc(100% - 60px));max-height:88dvh;border:0;padding:30px;background:#f8f8f4;color:#29371f;overflow:auto;font-family:'General Sans',Arial,sans-serif;box-sizing:border-box}.b2b-dialog::backdrop{background:#11190dd4;backdrop-filter:blur(3px)}.b2b-dialog header{display:flex;justify-content:space-between;gap:25px;padding-bottom:20px}.b2b-dialog h2{color:#26361d;font:500 30px/1.4 'General Sans',Arial,sans-serif;margin:6px 0 10px;letter-spacing:-.02em}.b2b-dialog p{font-size:13px;line-height:1.8;margin:0;color:#6c7960}.b2b-dialog .b2b-close{width:40px;height:40px;flex:none;border:1px solid #d2dbca;background:transparent;color:#455c32;font-size:28px}
.b2b-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.b2b-dialog table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:12px;line-height:1.7;color:#3e5031}.b2b-dialog th{font-weight:400;text-align:start;vertical-align:top}.b2b-dialog thead th{padding:14px 12px;border-bottom:1px solid #cfd8c4;min-width:130px}.b2b-dialog th:first-child{width:135px;font-size:11px;color:#738467}.b2b-dialog thead a{color:#334b24;font-size:15px;text-decoration:none;display:block;margin:12px 0 7px;overflow-wrap:anywhere}.b2b-dialog .b2b-reference{display:block;color:#738467}.b2b-compare-image{height:155px;position:relative;background:#eeefe6}.b2b-compare-image img{width:100%;height:100%;object-fit:contain;filter:none}.b2b-compare-image small{position:absolute;inset-inline-start:5px;bottom:5px;background:#f8f8f4e8;color:#66765a;font-size:9px;padding:2px 4px;max-width:calc(100% - 10px)}.b2b-dialog button[data-remove]{border:0;border-bottom:1px solid #c0cbb4;background:none;font-size:11px;color:#738467;padding:8px 0;margin-top:5px}.b2b-dialog tbody :is(th,td){padding:17px 12px;border-bottom:1px solid #dce1d5;vertical-align:top;overflow-wrap:anywhere}.b2b-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:22px}.b2b-dialog footer p{max-width:420px;font-size:11px}
@media(min-width:1600px){.b2b-grid{gap:34px 25px}.b2b-card h3{font-size:19px}.b2b-card-meta,.b2b-card-use,.b2b-card-action>a,.b2b-compare-toggle{font-size:12px!important}}
@media(max-width:1100px){.b2b{width:calc(100% - 48px)}.b2b-layout{grid-template-columns:175px minmax(0,1fr);gap:25px}.b2b-sidebar nav a{padding:10px 7px;font-size:12px}.b2b-sidebar nav i{display:none}.b2b-filter-controls select{max-width:150px;min-width:90px;font-size:11px}.b2b-search input{font-size:12px}.b2b-toolbar{flex-wrap:wrap}.b2b-search{min-width:150px}.b2b-results-meta>span:last-child{display:none}.b2b-grid{gap:24px 14px}.b2b-card h3{font-size:15px}.b2b-card-meta{font-size:9px}.b2b-card-action{flex-wrap:wrap}.b2b-detail-top,.b2b-detail-section{gap:30px}.b2b-detail-actions{gap:14px}.b2b-intro{grid-template-columns:minmax(0,1fr) 235px;gap:25px}}
@media(min-width:701px) and (max-width:900px){.b2b-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.b2b-collection-heading{align-items:start}.b2b-collection-heading h2{font-size:18px}.b2b-collection-heading>a{font-size:10px}.b2b-intro h1{font-size:34px}.b2b-detail-actions{flex-direction:column;align-items:stretch}.b2b-detail-summary h1{font-size:27px}.b2b-project{padding:28px;column-gap:20px}.b2b-project h2{font-size:24px}.b2b-project .b2b-button{max-width:230px}}
@media(max-width:700px){
 .b2b{width:calc(100% - 32px);padding:15px 0 32px}.b2b-breadcrumb{font-size:10px;gap:5px 8px;margin-bottom:20px}.b2b-kicker{font-size:9px!important;letter-spacing:.07em}.b2b-intro{grid-template-columns:1fr;gap:14px;padding-bottom:20px;margin-bottom:18px}.b2b-intro h1{font-size:31px;line-height:1.28;margin:9px 0 10px}.b2b-intro .b2b-lede{font-size:12px;line-height:1.7}.b2b-project-link{border:0;padding:0;flex-direction:row;align-items:center;justify-content:space-between;gap:15px;font-size:10px}.b2b-project-link strong{font-size:12px;gap:10px}.b2b-project-link .b2b-arrow{font-size:18px}.b2b-layout{display:block}.b2b-sidebar{position:static;margin-bottom:20px}.b2b-side-title,.b2b-side-help{display:none}.b2b-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.b2b-sidebar nav a{border:1px solid #d6dccd;min-height:40px;padding:9px 10px;font-size:11px}.b2b-sidebar nav a:first-child{grid-column:1/-1;min-height:32px;padding:4px 1px;border:0;background:transparent}.b2b-sidebar nav a:first-child[aria-current]{font-weight:600;color:#324528}.b2b-sidebar nav a>span{gap:6px}.b2b-sidebar nav small{font-size:10px}.b2b-toolbar{gap:8px;flex-wrap:wrap}.b2b-search{flex:1;min-width:150px}.b2b-search input{height:43px;font-size:12px}.b2b-mobile-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;height:43px;min-width:70px;padding:9px 12px;background:transparent;border:1px solid #c9cebf;font-size:12px!important;color:#526245}.b2b-filter-controls{display:none;flex:1 1 100%;gap:8px}.filters-open .b2b-filter-controls{display:flex}.b2b-filter-controls label{flex:1;width:50%}.b2b-filter-controls select{width:100%;max-width:none;height:43px;font-size:12px}.b2b-reset{order:5;min-height:30px!important;font-size:11px!important;padding:5px 0}.b2b-results-meta{padding:12px 0 19px;font-size:10px}.b2b-collection-heading{gap:12px;margin-bottom:13px;align-items:center}.b2b-collection-heading h2{font-size:17px;gap:7px;line-height:1.5}.b2b-collection-heading h2>span{font-size:9px}.b2b-collection-heading>a{font-size:10px;gap:3px;white-space:nowrap}.b2b-collection-heading .b2b-arrow{font-size:14px!important;margin-inline-start:0!important}.b2b-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.b2b-card-image{aspect-ratio:4/3}.b2b-card h3{font-size:14px;line-height:1.55;letter-spacing:-.025em;margin-bottom:5px}.b2b-card-meta{gap:4px;flex-wrap:wrap;margin:10px 0 5px;font-size:9px}.b2b-card-meta>.b2b-reference{font-size:8px!important}.b2b-card-use{font-size:10px;margin-bottom:8px!important}.b2b-card-action{gap:2px;justify-content:space-between;flex-wrap:nowrap}.b2b-card-action>a{font-size:10px;gap:3px;min-height:38px}.b2b-compare-toggle{font-size:10px!important;gap:4px;min-height:38px}.b2b-image-label{font-size:8px;padding:2px 3px;bottom:4px;inset-inline-start:4px;max-width:calc(100% - 8px)}.b2b-compare-toggle>[aria-hidden]{width:12px;height:12px;font-size:10px}.b2b-collection-more{font-size:11px;padding:11px;margin-top:16px}.b2b-collection+.b2b-collection{margin-top:28px;padding-top:23px}.b2b-steps{margin-top:30px;padding-top:28px}.b2b-steps>h2{font-size:21px;line-height:1.5;margin-bottom:23px}.b2b-steps>div{grid-template-columns:1fr;gap:22px}.b2b-steps article{padding-inline-start:35px}.b2b-steps h3{font-size:15px;margin-bottom:5px}.b2b-steps p{font-size:12px}.b2b-project{display:block;padding:25px 22px;margin-top:30px}.b2b-project h2{font-size:23px;margin-top:8px}.b2b-project p{font-size:12px}.b2b-project .b2b-button{margin-top:20px;width:100%}.b2b-button{font-size:12px;gap:14px;min-height:46px;padding:12px 17px}.b2b-detail .b2b-breadcrumb{margin-bottom:20px}.b2b-detail-top{grid-template-columns:1fr;gap:22px}.b2b-detail-summary{padding-top:0}.b2b-detail-summary h1{font-size:29px;margin:10px 0 14px;line-height:1.3}.b2b-detail-lede{font-size:13px}.b2b-detail-facts{margin-top:20px!important}.b2b-detail-facts>div{font-size:12px;padding:11px 0;grid-template-columns:80px 1fr;gap:14px}.b2b-detail-actions{margin-top:20px;gap:14px}.b2b-detail-nav{gap:4px 17px;margin-top:25px}.b2b-detail-nav a{font-size:11px;min-height:42px;padding:12px 0}.b2b-detail-section{grid-template-columns:1fr;gap:22px;padding-block:26px}.b2b-detail-section h2{font-size:24px;margin:7px 0 10px}.b2b-detail-section p{font-size:12px}.b2b-spec-content dl{margin-top:20px}.b2b-spec-content dl>div{grid-template-columns:85px 1fr;gap:15px;font-size:12px}.b2b-needs li{font-size:12px;gap:16px}.b2b-options span{font-size:11px}.b2b-quote-section .b2b-button{width:100%}.b2b-case-grid{grid-template-columns:1fr;gap:22px}.b2b-case-grid h3{font-size:18px}.b2b-related .b2b-collection-heading{flex-wrap:wrap}.b2b-related,.b2b-case-section{padding-top:28px}.b2b-mobile-quote{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:90;align-items:center;gap:12px;justify-content:space-between;background:#f8f8f4f5;border-top:1px solid #cbd4bf;box-shadow:0 -3px 20px #2d3b2012;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.b2b-mobile-quote>span{font-size:11px;line-height:1.5;max-width:38%;color:#445836}.b2b-mobile-quote .b2b-button{font-size:11px;min-height:42px;padding:10px 12px;max-width:62%}.has-b2b-comparison .b2b-mobile-quote{display:none}body[data-product-catalogue][data-page=product-detail]{padding-bottom:78px}.b2b-compare-tray{bottom:0;max-width:none;width:100%;justify-content:space-between;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border:0;border-top:1px solid #bbc7ad}.b2b-tray-items{display:none}.b2b-tray-label{font-size:11px;max-width:100px}.b2b-compare-tray .b2b-button{padding:11px 15px;font-size:11px;gap:12px}.b2b-tray-clear{font-size:10px!important}.b2b-dialog{width:calc(100% - 20px);max-height:90dvh;padding:18px 14px}.b2b-dialog header{gap:15px}.b2b-dialog h2{font-size:25px}.b2b-dialog p{font-size:11px}.b2b-dialog .b2b-close{width:34px;height:34px;font-size:24px}.b2b-dialog table{min-width:440px;font-size:11px}.b2b-dialog th:first-child{width:80px;font-size:10px}.b2b-dialog thead th{padding:9px 8px}.b2b-compare-image{height:105px}.b2b-dialog thead a{font-size:13px}.b2b-dialog tbody :is(th,td){padding:12px 8px}.b2b-dialog footer{flex-direction:column;align-items:stretch;gap:15px}.b2b-dialog footer .b2b-button{font-size:12px}.b2b-empty{padding:25px 20px}.b2b-empty h2{font-size:18px}
}
@media(max-width:360px){.b2b{width:calc(100% - 24px)}.b2b-grid{gap:20px 10px}.b2b-card h3{font-size:13px}.b2b-card-action{flex-wrap:wrap;gap:0}.b2b-card-action>a,.b2b-compare-toggle{font-size:10px!important;min-height:32px}.b2b-card-meta>.b2b-reference{display:none}.b2b-collection-heading h2{font-size:15px}.b2b-intro h1{font-size:28px}.b2b-sidebar nav a{padding:8px;font-size:10px}.b2b-project-link{font-size:9px}.b2b-project-link strong{font-size:11px}.b2b-detail-actions{flex-wrap:wrap}.b2b-detail-actions .b2b-button{flex:1 1 65%}}
/* Keep product identifiers and small controls readable at narrow widths. */
.b2b-card-meta,.b2b-card-use{font-size:12px}.b2b-card-action>a,.b2b-compare-toggle{font-size:12px!important}.b2b-image-label{font-size:10px}.b2b-sidebar nav a{font-size:14px}.b2b-results-meta{font-size:12px}.b2b-results-meta>span:last-child{font-size:11px}.b2b-card h3{font-size:18px}
.b2b-compare-tray[data-limit]:not([data-limit=""])::before{content:attr(data-limit);position:absolute;inset-inline:0;bottom:calc(100% + 8px);background:#34442b;color:#fff;padding:12px 18px;font-size:12px;line-height:1.6}
@media(max-width:1100px){.b2b-sidebar nav a{font-size:12px}.b2b-card h3{font-size:16px}.b2b-card-action{flex-wrap:wrap}}
@media(max-width:700px){.b2b-card h3{font-size:15px}.b2b-card-meta{font-size:10px}.b2b-card-use{font-size:11px}.b2b-card-action>a,.b2b-compare-toggle{font-size:11px!important}.b2b-image-label{font-size:9px}.b2b-sidebar nav a{font-size:12px}.b2b-results-meta{font-size:11px}.b2b-card-meta>.b2b-reference{display:block;font-size:9px!important}.b2b-side-title{font-size:12px}.b2b-card-action{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.b2b *{scroll-behavior:auto!important;transition:none!important}.b2b-card-image:hover img{transform:none}}

/* Compare tray: readable at small text sizes, including inactive actions. */
.b2b-compare-tray .b2b-tray-label>span,.b2b-compare-tray .b2b-tray-clear{color:#46553b}
.b2b-compare-tray .b2b-button{background:#34442b;color:#fff;border-color:#34442b}
.b2b-compare-tray .b2b-button:disabled{background:#e2e8da;color:#46553b;opacity:1;border-color:#bcc7b1}

/* Material cards retain their complete labels and offer a readable full-size view. */
.b2b-card-image.is-material img{object-fit:contain}
.b2b-main-image .b2b-material-link{font-size:12px;min-height:36px;padding:8px 10px;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center}
.b2b-material-link:focus-visible{outline:2px solid #435736;outline-offset:2px}

/* Material application photographs: preserve complete photos and readable captions. */
.b2b-application-section{scroll-margin-top:130px}
.b2b-application-grid{display:grid;gap:26px;min-width:0}
.b2b-application-grid figure{margin:0;min-width:0}
.b2b-application-image{display:flex;align-items:center;justify-content:center;background:#eeede6;border:1px solid #e1e3d8;min-width:0}
.b2b-application-image img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;filter:none}
.b2b-application-grid figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:12px;font-size:12px;line-height:1.7}
.b2b-application-grid figcaption a{white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.b2b-application-image:focus-visible,.b2b-application-grid figcaption a:focus-visible{outline:2px solid #435736;outline-offset:4px}
@media(max-width:700px){.b2b-application-section{scroll-margin-top:90px}.b2b-application-image img{max-height:460px}.b2b-application-grid figcaption{font-size:11px;gap:10px}}

/* Model tables synced from the main-site 20260926-acceptance01 product data. */
.b2b-card-spec{font-size:11px;line-height:1.6;color:#526245;margin:0 0 8px;overflow-wrap:anywhere}.b2b-card-spec strong{color:#35432c}
.b2b-spec-preview{border-inline-start:3px solid #81916e;background:#eef1e8;padding:14px 17px;margin-top:20px}.b2b-spec-preview p{font-size:13px;line-height:1.8;margin:5px 0 8px;color:#34442b}.b2b-spec-preview a{display:inline-flex;gap:16px;font-size:12px;border-bottom:1px solid #a8b29b;padding-bottom:3px}
.b2b-equipment-specs{padding:36px 0 40px;border-bottom:1px solid var(--b2b-line);scroll-margin-top:130px}.b2b-equipment-specs header{margin-bottom:24px;max-width:860px}.b2b-equipment-specs h2{font-size:27px;line-height:1.5;margin:7px 0 10px}.b2b-equipment-specs header>p:last-child,.b2b-spec-footnote{font-size:12px;line-height:1.85}
.b2b-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.b2b-model-spec{width:100%;table-layout:fixed;border-collapse:collapse;border:1px solid #d4dbc9;font-size:13px;line-height:1.8;color:#34442b}.b2b-model-spec caption{text-align:start;background:#e8eddf;border:1px solid #d4dbc9;border-bottom:0;padding:15px 18px;font-size:15px;font-weight:550;overflow-wrap:anywhere}.b2b-model-spec th,.b2b-model-spec td{text-align:start;vertical-align:top;padding:12px 18px;border-bottom:1px solid #dce2d3;overflow-wrap:anywhere}.b2b-model-spec th{width:32%;font-weight:400;color:#68775b;background:#f0f3ea}.b2b-model-spec td{background:#fafbf7}.b2b-equipment-specs .b2b-spec-footnote{margin-top:20px;color:#64715b}
@media(max-width:900px){.b2b-spec-grid{grid-template-columns:1fr}}
@media(max-width:700px){.b2b-card-spec{font-size:10px}.b2b-spec-preview{padding:12px 14px;margin-top:16px}.b2b-spec-preview p{font-size:12px}.b2b-equipment-specs{padding:26px 0;scroll-margin-top:90px}.b2b-equipment-specs h2{font-size:24px}.b2b-spec-grid{gap:18px}.b2b-model-spec{font-size:12px}.b2b-model-spec caption{font-size:14px;padding:12px}.b2b-model-spec th,.b2b-model-spec td{padding:10px 12px}}

/* Preserve complete silhouettes of the new custom scenic products. */
.b2b-card-image.is-contained img{object-fit:contain}
.b2b-card-image.is-contained:hover img{transform:none}

/* Real application photo opens the product centre; filters remain on a light surface. */
.b2b.has-centre-hero{width:100%;padding-top:0}
.b2b.has-centre-hero>:not(.b2b-centre-hero){width:min(1440px,calc(100% - 80px));margin-inline:auto}
.b2b.has-centre-hero>.b2b-breadcrumb{padding-block:24px;border-bottom:1px solid var(--b2b-line);margin-bottom:30px}
.b2b-centre-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(440px,57svh,560px);background:#242820;overflow:hidden}
.b2b-centre-photo,.b2b-centre-shade{position:absolute;inset:0;z-index:-2}
.b2b-centre-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.b2b-centre-shade{z-index:-1;background:linear-gradient(90deg,rgba(13,22,17,.88),rgba(13,22,17,.7) 33%,rgba(13,22,17,.27) 60%,rgba(13,22,17,.07))}
.b2b-centre-copy{width:min(1440px,calc(100% - 80px));margin-inline:auto;padding-block:64px}
.b2b .b2b-centre-kicker{color:#e8ede5;font-size:12px;letter-spacing:.08em;margin-bottom:22px}
.b2b .b2b-centre-hero h1{color:#fff;font-size:clamp(36px,3.8vw,58px);line-height:1.2;max-width:650px;font-weight:500}
.b2b .b2b-centre-lede{color:#f0f2ec;font-size:17px;line-height:1.8;max-width:520px;margin-top:22px}
.b2b-centre-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:30px}
.b2b-centre-actions a{min-height:48px;display:inline-flex;align-items:center;gap:28px;padding:12px 22px;border:1px solid #f8f8f4;color:#fff;font-size:14px;font-weight:500}
.b2b-centre-actions a:first-child{background:#f8f8f4;color:#23301e}
.b2b-centre-actions a:hover{background:#e4ecd9;color:#23301e}
.b2b-centre-actions a:focus-visible{outline:2px solid white;outline-offset:5px}
html[dir=rtl] .b2b-centre-shade{background:linear-gradient(270deg,rgba(13,22,17,.88),rgba(13,22,17,.7) 33%,rgba(13,22,17,.27) 60%,rgba(13,22,17,.07))}
@media(max-width:1100px){.b2b.has-centre-hero>:not(.b2b-centre-hero),.b2b-centre-copy{width:calc(100% - 48px)}}
@media(max-width:700px){
 .b2b.has-centre-hero>:not(.b2b-centre-hero),.b2b-centre-copy{width:calc(100% - 32px)}
 .b2b-centre-hero{min-height:470px;align-items:flex-end}
 .b2b-centre-photo img{object-position:57% 30%}
 .b2b-centre-shade,html[dir=rtl] .b2b-centre-shade{background:linear-gradient(180deg,rgba(13,22,17,.12),rgba(13,22,17,.35) 25%,rgba(13,22,17,.86) 65%,rgba(13,22,17,.94))}
 .b2b-centre-copy{padding-block:36px}
 .b2b .b2b-centre-kicker{font-size:10px;margin-bottom:16px}
 .b2b .b2b-centre-hero h1{font-size:32px;line-height:1.25}
 .b2b .b2b-centre-lede{font-size:14px;margin-top:16px;max-width:360px}
 .b2b-centre-actions{gap:10px;margin-top:24px}
 .b2b-centre-actions a{font-size:12px;padding:10px 15px;gap:18px}
 .b2b.has-centre-hero>.b2b-breadcrumb{padding-block:18px;margin-bottom:22px}
}

/* Reviewed product-intent routes and five need-based catalogue entrances. */
.b2b-needs-nav{padding:32px 0 38px}
.b2b-needs-nav h2{font-size:22px;font-weight:500;line-height:1.4;color:#293a25;margin:0 0 18px}
.b2b-needs-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.b2b-needs-links a{display:flex;flex-direction:column;gap:8px;min-height:122px;padding:17px 16px;border:1px solid #d5ddcd;background:#f7f9f4;color:#31452c;text-decoration:none;transition:background .2s,border-color .2s}
.b2b-needs-links a:hover,.b2b-needs-links a:focus-visible{background:#e9efe3;border-color:#869d7d}
.b2b-needs-links strong{font-size:14px;font-weight:600;line-height:1.4}
.b2b-needs-links span{font-size:11px;line-height:1.65;color:#61715d}
.b2b-comparison-guides{padding:0 0 40px}
.b2b-comparison-guides h2{font-size:22px;font-weight:500;line-height:1.4;color:#293a25;margin:0 0 18px}
.b2b-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.b2b-guide-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:21px 22px;border:1px solid #d5ddcd;background:#fff}
.b2b-guide-grid h3{font-size:16px;font-weight:600;line-height:1.45;color:#30412c;margin:0 0 8px}
.b2b-guide-grid p{font-size:12px;line-height:1.65;color:#61715d;margin:0 0 20px}
.b2b-guide-grid :is(button,a){display:inline-flex;align-items:center;gap:12px;margin-top:auto;border:0;background:transparent;padding:0;color:#2b5128;font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.b2b-guide-grid :is(button,a):focus-visible{outline:2px solid #446b3b;outline-offset:4px}
.b2b-dialog .b2b-swipe-hint{display:none}
.b2b-search-intent{padding:14px 17px;margin:0 0 22px;border-inline-start:3px solid #879b7a;background:#f0f4ec;color:#354731;font-size:12px;line-height:1.7}
.b2b-search-intent strong{font-weight:600}
.b2b-search-intent a{display:inline-flex;gap:5px;color:#244b25;font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.b2b-needs-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.b2b-needs-nav{padding:20px 0 26px}.b2b-needs-nav h2,.b2b-comparison-guides h2{font-size:19px}.b2b-needs-links{display:flex;overflow-x:auto;gap:9px;padding-bottom:5px;scroll-snap-type:x proximity}.b2b-needs-links a{flex:0 0 min(230px,72vw);min-height:110px;scroll-snap-align:start}.b2b-comparison-guides{padding-bottom:28px}.b2b-guide-grid{grid-template-columns:1fr}.b2b-guide-grid article{padding:18px 17px}.b2b-guide-grid p{margin-bottom:15px}.b2b-search-intent{font-size:11px;padding:12px 14px}}
@media(max-width:700px){.b2b-dialog .b2b-swipe-hint{display:block;margin:16px 0 5px;color:#526649;font-size:11px;line-height:1.5}}

/* Preview03: search precedes discovery, comparisons expand on demand. */
.b2b-discovery{padding:6px 0 24px}
.b2b-discovery>.b2b-toolbar{width:100%;margin:0}
.b2b-discovery .b2b-needs-nav{padding:24px 0 18px}
.b2b-comparison-guides{padding:0 0 18px}
.b2b-comparison-guides>summary{cursor:pointer;font-size:16px;font-weight:600;line-height:1.5;padding:15px 0;color:#30412c;border-bottom:1px solid #d5ddcd}
.b2b-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.b2b-guide-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:20px;border:1px solid #d5ddcd;background:#fff}
.b2b-guide-grid h3{font-size:16px;line-height:1.45;margin:0 0 8px;color:#30412c}
.b2b-guide-grid p{font-size:12px;line-height:1.65;margin:0 0 18px;color:#61715d}
.b2b-guide-grid :is(a,button){margin-top:auto;border:0;padding:8px 0;background:none;color:#2b5128;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
.b2b-search-intent button{padding:4px 9px;margin-left:8px;border:1px solid #b2bda9;background:#fff;color:#30412c;cursor:pointer}
.b2b-guide-grid :is(a,button):focus-visible,.b2b-comparison-guides>summary:focus-visible{outline:2px solid #446b3b;outline-offset:4px}
@media(max-width:700px){
 .b2b-centre-hero{min-height:280px}.b2b-centre-copy{padding-block:26px}
 .b2b-discovery{padding:0 0 10px}.b2b-discovery .b2b-needs-nav{padding:20px 0 12px}
 .b2b-guide-grid{grid-template-columns:1fr}.b2b-comparison-guides>summary{font-size:14px}
 .b2b-guide-grid article{padding:16px}.b2b-discovery>.b2b-toolbar{scroll-margin-top:95px}
}
@media(min-width:701px) and (max-width:1100px){.b2b-centre-hero{min-height:380px}.b2b-centre-copy{padding-block:40px}}

/* site-light.css */
/* Isolated light-site preview. Loaded last; original styles and media retained. */
:root {
  --light-bg: #f8f8f4;
  --light-surface: #eeefe8;
  --light-ink: #232821;
  --light-muted: #596052;
  --light-line: #d3d7cb;
  --light-brand: #34442b;
  --black: var(--light-bg);
  --black-soft: var(--light-surface);
  --graphite: #e9ece3;
  --paper: var(--light-ink);
  --muted: var(--light-muted);
  --line: var(--light-line);
  --accent: var(--light-brand);
  --accent-solid: var(--light-brand);
  --bg: var(--light-bg);
  color: var(--light-ink);
  background: var(--light-bg);
  color-scheme: light;
}
html body, html body.subpage-body, html body.reading-page { color: var(--light-ink); background: var(--light-bg); min-width: 0; }
html .reading-page { --reading-bg: var(--light-bg); --reading-muted: var(--light-muted); --reading-accent: var(--light-brand); --reading-line: var(--light-line); }
html body .site-header.site-header, html body .site-header.site-header.is-scrolled {
  color: var(--light-ink); background: rgba(248,248,244,.97); border-color: var(--light-line);
}
html .site-header .language-switcher-label { color: var(--light-muted); }
html .site-header .header-tools { border-color: var(--light-line); }
html .site-header .menu-toggle { color: inherit; border-color: #87917e; }
html body .site-header .primary-nav { color: inherit; }
html .site-header .language-switcher { color: inherit; }
html .site-header .language-switcher select { color: inherit; }
html .site-header .primary-nav a:hover { color: var(--light-brand); }
html :focus-visible { outline-color: var(--light-brand); }
html ::selection { color: #fff; background: var(--light-brand); }

/* Image-led home opening and dark closing frame share the same brand palette. */
html .hero, html .production-feature, html .page-footer, html .footer {
  --paper: #f2f0eb; --black: #10140f; --muted: #c1c6b9; --line: rgba(242,240,235,.24);
  color: #f2f0eb;
}
html .hero { background: #10140f; }
html body:has(.hero) .site-header:not(.is-scrolled) { background: rgba(16,20,15,.32); color: #fff; border-color: rgba(255,255,255,.25); }
html body:has(.hero) .site-header:not(.is-scrolled) .language-switcher-label { color: #d4d9ce; }
html body:has(.hero) .site-header:not(.is-scrolled) .header-tools { border-color: rgba(255,255,255,.25); }
html body:has(.hero) .site-header:not(.is-scrolled) .primary-nav a:hover { color: #fff; }
html .page-footer, html .footer.footer-editorial { background: #10140f; }
html .page-footer .footer, html .footer.footer-editorial { border-color: rgba(255,255,255,.25); }
html .production-feature img { filter: none; }
html .production-feature .outline-button { border-color: rgba(255,255,255,.7); color: #fff; }
html .hero .solid-button { color: #232821; background: #f8f8f4; }
html .hero .solid-button:hover { background: #fff; }
html .hero .upgrade-text-link { color: #fff; border-color: rgba(255,255,255,.65); }

/* Subpage opening: readable text on paper, unshaded project photograph beside it. */
html body .page-hero { background: var(--light-bg); color: var(--light-ink); }
html body .page-hero:has(.page-hero-media) {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center;
  gap: clamp(2rem,4.5vw,5rem); min-height: 0;
  padding: calc(var(--site-header-height) + 3.5rem) var(--gutter) 4rem;
  border-bottom: 1px solid var(--light-line);
}
html body .page-hero:has(.page-hero-media) .page-hero-media {
  position: relative; inset: auto; order: 2; width: 100%; min-width: 0; aspect-ratio: 4 / 3; margin: 0;
}
html body .page-hero:has(.page-hero-media) .page-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: none; }
html body .page-hero:has(.page-hero-media) .page-hero-shade { display: none; }
html body .page-hero:has(.page-hero-media) .page-hero-content { order: 1; width: 100%; max-width: none; padding: 0; margin: 0; min-width: 0; }
html body .page-hero:has(.page-hero-media) .page-title { font-size: clamp(2.5rem,4vw,4.5rem); line-height: 1.18; letter-spacing: -.035em; text-transform: none; }
html body .page-hero:has(.page-hero-media) .page-lede { margin: 1.7rem 0 0; font-size: clamp(1rem,1.15vw,1.15rem); line-height: 1.8; color: var(--light-muted); }
html body .page-hero-meta { color: var(--light-muted); border-color: var(--light-line); }
html .page-kicker { color: var(--light-muted); }

/* Shared content surfaces and secondary text. */
html .knowledge-home, html .trust-section, html .case-notes,
html .service-light, html .service-dark, html .capability-detail,
html .service-page .capability-detail:nth-child(n),
html .home-product-overview .product-category-card, html .upgrade-collaboration article {
  color: var(--light-ink); background: var(--light-bg);
}
html .service-light, html .trust-section, html .case-notes, html .knowledge-home { background: var(--light-surface); }
html .capability-detail, html .service-page .capability-detail { border-color: var(--light-line); }
html .service-page .capability-detail--with-evidence > .service-brief, html .service-brief,
html .rfq-mode-note, html .rfq-draft, html .rfq-mode-switch { background: var(--light-surface); border-color: var(--light-line); color: var(--light-ink); }
html .home-product-overview .product-category-list, html .upgrade-collaboration > div,
html .buyer-use-options { background: var(--light-line); }
html .buyer-use-option { background: var(--light-bg); }
html .buyer-use-option:hover, html .buyer-use-option:focus-visible, html .buyer-use-option.is-active { background: #e6ebdf; color: var(--light-ink); }
html .buyer-use-option.is-active { box-shadow: inset 0 3px var(--light-brand); }
html .buyer-use-status { border-inline-start-color: var(--light-brand); }
html .case-filter-bar, html .buyer-use-head, html .upgrade-collaboration,
html .location-intro--trust, html .case-enquiry-link, html .rfq-honesty-note,
html .service-page .capability-detail figure figcaption { border-color: var(--light-line); }
html .case-filter-button { border-color: #8d9785; }
html .case-filter-button:is(:hover,:focus-visible,.is-active) { color: #fff; background: var(--light-brand); border-color: var(--light-brand); }
html .case-year-select { background: var(--light-bg); color: var(--light-ink); border-color: #87917e; }
html .case-enquiry-link:is(:hover,:focus-visible) { background: #e6ebdf; color: var(--light-brand); }
html :is(.page-intro,.company-page .page-intro,.service-page .page-intro) > div,
html :is(.work-card,.project-card,.process-list li,.about-fact,.editorial-row,.service-range-item,.case-summary-copy,.case-note,.contact-aside,.legal-section) p,
html .case-note ul, html .service-copy p, html .service-copy > span,
html .capability-detail p, html .capability-detail ul, html .capability-detail-copy > span,
html .service-page .service-brief .service-brief-note,
html .service-page .capability-detail figure figcaption,
html .home-product-overview .product-category-copy p, html .product-category-link span,
html .upgrade-collaboration article p, html .home-cta .rfq-heading > div,
html .trust-lede, html .trust-card .cert-standard, html .cert-facts dd, html .certificate-entity, html .certificate-record dd,
html .knowledge-home .section-heading > p:last-child, html .guide-summary, html .guide-topic, html .guide-index,
html .knowledge-contact p, html .knowledge-email, html .knowledge-load-note,
html .faq-row p, html .guide-section p, html .guide-sources p, html .guide-note, html .guide-sources a,
html .work-card-meta, html .work-card-date, html .work-card-date time, html .home-case-date, html .home-case-date time,
html .case-content-date, html .case-content-date time, html .guide-home-meta .content-date, html .guide-home-meta .content-date time,
html .case-facts dt, html .cert-facts dt, html .cert-index, html .row-index, html .certificate-record dt,
html .form-actions p, html .form-note, html .contact-aside > p, html .rfq-mode-hint {
  color: var(--light-muted);
}
html .upgrade-collaboration article span { color: var(--light-brand); }
html .project-card img, html .work-card img, html .service img { filter: none; }
html .outline-button { color: var(--light-brand); border-color: #738268; }
html .outline-button:is(:hover,:focus-visible), html .solid-button:is(:hover,:focus-visible) { background: #26361e; border-color: #26361e; color: #fff; }
html .home-cta .outline-button { color: var(--light-brand); }
html .home-cta .outline-button:is(:hover,:focus-visible) { color: #fff; }
html .solid-button { color: #fff; background: var(--light-brand); }
html .certificate-download { border-color: #87917e; }
html .certificate-download:hover { background: var(--light-brand); color: #fff; }
html .service-link:is(:hover,:focus-visible), html .visual-detail summary:hover,
html .guide-link:hover .guide-arrow, html .faq-sidebar a:hover, html .guide-contents a:hover { color: var(--light-brand); }

/* Form fields and expanded reading states need their own light backgrounds. */
html .rfq-form, html .contact-form-wrap .rfq-form, html .form-row { border-color: var(--light-line); }
html .form-row :is(input,select,textarea), html .faq-search input, html .rfq-draft textarea {
  color: var(--light-ink); background: #fff; border-color: #87917e; caret-color: var(--light-brand);
}
html .form-row:focus-within { background: #edf1e7; }
html .form-row:focus-within > span { color: var(--light-brand); }
html :is(input,textarea)::placeholder { color: #697361; opacity: 1; }
html .rfq-mode-switch button[aria-pressed="true"] { color: #fff; background: var(--light-brand); }
html .rfq-honesty-note strong, html .rfq-draft-badge { color: var(--light-brand); }
html .faq-search button:not(:disabled):hover { background: #e6ebdf; }
html .form-error-summary { color: #8f2c1d; background: #fbede8; border-color: #a23926; }
html .field-error, html .form-consent.has-field-error, html [data-form-status][data-tone="error"] { color: #a23926; }
html [data-form-status][data-tone="success"] { color: #315c2c; }
html .reading-page .knowledge-hero, html .reading-page .site-header { background: var(--light-bg); }
html .reading-page .page-lede { color: var(--light-muted); }
html .direct-contact { color: var(--light-ink); }
html .direct-contact p, html .direct-contact span { color: var(--light-muted); }
html .direct-contact a:is(:hover,:focus-visible) { color: var(--light-brand); }
html .footer .direct-contact p, html .footer .direct-contact span { color: #c1c6b9; }
html .rfq.home-cta { background: var(--light-surface); color: var(--light-ink); }
html .buyer-breadcrumb, html .buyer-breadcrumb [aria-current], html .buyer-breadcrumb li::after { color: var(--light-muted); }
html .buyer-breadcrumb, html .buyer-related { border-color: var(--light-line); }
html .page-intro > p:first-child, html .rfq-heading > p,
html .positioning-copy > p, html .section-heading > p, html .capability-title > p,
html .process-heading > p, html .capability-nav span,
html .insight-topic-nav > p, html .insight-year-filter > p,
html .content-date, html .content-date time,
html .next-project > span, html .next-project em, html .next-project strong { color: var(--light-muted); }
html .home-cta .rfq-heading > div span { color: var(--light-muted); }
html .home-cta p, html .home-cta p span, html .process-list span,
html .service-page .capability-detail-copy > span, html .case-note > span,
html .b2b-kicker span, html .b2b-side-title, html .b2b-sidebar nav small,
html .b2b-collection-heading > span, html .b2b-card-use, html .b2b-steps article > span,
html .b2b-needs li > span { color: var(--light-muted); }
html body .b2b .b2b-card-use, html body .b2b .b2b-gallery-line,
html body .b2b .b2b-detail-facts dt, html body .b2b .b2b-detail-note,
html body .b2b .b2b-spec-content dt { color: var(--light-muted); }
/* The catalogue's original secondary copy uses important declarations. */
html body .b2b .b2b-card-use, html body .b2b .b2b-detail-note { color: var(--light-muted) !important; }
html .b2b-collection-heading h2 > span { color: var(--light-muted); }

@media (max-width: 900px) {
  html body .page-hero:has(.page-hero-media) { grid-template-columns: 1fr; gap: 2rem; padding-top: calc(var(--site-header-height) + 2rem); padding-bottom: 2.5rem; }
  html body .page-hero:has(.page-hero-media) .page-hero-media { aspect-ratio: 16 / 10; }
  html body .page-hero:has(.page-hero-media) .page-title { font-size: clamp(2rem,6vw,3.5rem); }
  html body .page-hero:has(.page-hero-media) .page-hero-meta { margin-top: 2rem; }
}
@media (max-width: 760px) {
  html body .site-header .primary-nav { color: var(--light-ink); background: var(--light-bg); border-color: var(--light-line); }
  html body:has(.hero) .site-header:not(.is-scrolled) .primary-nav a:hover { color: var(--light-brand); }
  html .site-header .language-switcher { border-color: #87917e; }
}

/* hero-scene.css */
/* Scene-led openings; catalogue, reading and enquiry content stay light. */
html body .page-hero.page-hero--scene:has(.page-hero-media) {
  --paper: #fff; --muted: #e0e5dc; --line: rgba(255,255,255,.32);
  display: flex; align-items: center; gap: 0;
  margin-top: var(--site-header-height); min-height: clamp(480px,64svh,620px);
  padding: clamp(2.25rem,4vw,4rem) var(--gutter);
  background: #182019; color: #fff; border: 0; isolation: isolate;
}
html body .page-hero.page-hero--scene .page-hero-media {
  position: absolute; inset: 0; order: initial; width: 100%; height: 100%; aspect-ratio: auto; z-index: -2;
}
html body .page-hero.page-hero--scene .page-hero-media img { object-fit: cover; object-position: 60% 46%; filter: none; }
html body .page-hero.page-hero--scene .page-hero-shade {
  display: block; z-index: -1;
  background: linear-gradient(90deg,rgba(12,20,14,.9) 0%,rgba(12,20,14,.78) 35%,rgba(12,20,14,.57) 55%,rgba(12,20,14,.13) 80%,rgba(12,20,14,.06) 100%);
}
html body .page-hero.page-hero--scene .page-hero-content { width: 100%; max-width: 1500px; padding: 0; margin: 0 auto; min-width: 0; }
html body .page-hero.page-hero--scene :is(.page-title,.page-lede,.page-hero-meta) { width: min(720px,60%); max-width: none; }
html body .page-hero.page-hero--scene .page-kicker { color: #e0e5dc; margin: 0 0 1.3rem; font-size: .75rem; }
html body .page-hero.page-hero--scene .page-title { color: #fff; font-size: clamp(2.6rem,4.4vw,4.75rem); line-height: 1.17; letter-spacing: -.035em; text-transform: none; text-wrap: pretty; }
html body .page-hero.page-hero--scene .page-title-line { overflow: visible; }
html body .page-hero.page-hero--scene .page-lede { margin: 1.6rem 0 0; color: #f0f3ec; font-size: clamp(1rem,1.15vw,1.15rem); line-height: 1.75; text-wrap: pretty; }
html body .page-hero.page-hero--scene .page-hero-meta { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 1.1rem 1.5rem; padding: 0; margin: 2rem 0 0; border: 0; color: #e0e5dc; }
html body .page-hero.page-hero--scene .page-hero-meta > span { order: 2; font-size: .78rem; }
html body .page-hero.page-hero--scene .page-hero-meta a {
  order: 1; display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
  padding: .85rem 1.35rem; border: 1px solid #f8f8f4; background: #f8f8f4; color: #23301e;
  text-decoration: none; font-size: .9rem; font-weight: 600; line-height: 1.5;
  transition: background-color .18s,color .18s,border-color .18s;
}
html body .page-hero.page-hero--scene .page-hero-meta a:hover { background: #e4ecd9; color: #172510; border-color: #e4ecd9; }
html body .page-hero.page-hero--scene .page-hero-meta a:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
html body .page-hero.page-hero--scene.case-hero .page-hero-meta > a:not([data-hero-case-enquiry]) { order: 2; color: #fff; background: transparent; border-color: rgba(255,255,255,.65); }
html body .page-hero.page-hero--scene.case-hero .page-hero-meta > span { flex-basis: 100%; order: 3; }
html body .page-hero.page-hero--scene .case-content-date { order: 4; flex-basis: 100%; margin: 0; }
html body .page-hero.page-hero--scene .case-content-date, html body .page-hero.page-hero--scene .case-content-date time { color: #e0e5dc; }
html[dir=rtl] body .page-hero.page-hero--scene .page-hero-shade { background: linear-gradient(270deg,rgba(12,20,14,.9),rgba(12,20,14,.78) 35%,rgba(12,20,14,.57) 55%,rgba(12,20,14,.13) 80%,rgba(12,20,14,.06)); }
html[dir=rtl] body .page-hero.page-hero--scene .page-lede, html[dir=rtl] body .page-hero.page-hero--scene .page-hero-meta { margin-inline: 0; }
html body[data-page="work"] .page-hero.page-hero--scene .page-hero-media img { object-position: 60% 22%; }
@media(max-width:1000px) {
  html body .page-hero.page-hero--scene :is(.page-title,.page-lede,.page-hero-meta) { width: min(660px,78%); }
  html body .page-hero.page-hero--scene .page-hero-shade { background: linear-gradient(90deg,rgba(12,20,14,.91),rgba(12,20,14,.75) 60%,rgba(12,20,14,.2)); }
  html[dir=rtl] body .page-hero.page-hero--scene .page-hero-shade { background: linear-gradient(270deg,rgba(12,20,14,.91),rgba(12,20,14,.75) 60%,rgba(12,20,14,.2)); }
}
@media(max-width:700px) {
  html body .page-hero.page-hero--scene:has(.page-hero-media) { min-height: 500px; align-items: flex-end; padding: 3.75rem var(--gutter) 2rem; }
  html body .page-hero.page-hero--scene :is(.page-title,.page-lede,.page-hero-meta) { width: 100%; }
  html body .page-hero.page-hero--scene .page-hero-media img { object-position: 63% 45%; }
  html body .page-hero.page-hero--scene .page-hero-shade, html[dir=rtl] body .page-hero.page-hero--scene .page-hero-shade { background: linear-gradient(180deg,rgba(12,20,14,.18),rgba(12,20,14,.68) 27%,rgba(12,20,14,.86) 65%,rgba(12,20,14,.92)); }
  html body .page-hero.page-hero--scene .page-title { font-size: clamp(1.95rem,7.5vw,2.6rem); line-height: 1.22; }
  html body .page-hero.page-hero--scene .page-kicker { font-size: .7rem; margin-bottom: 1rem; }
  html body .page-hero.page-hero--scene .page-lede { margin-top: 1.15rem; font-size: .96rem; line-height: 1.7; }
  html body .page-hero.page-hero--scene .page-hero-meta { margin-top: 1.5rem; gap: .85rem 1rem; }
  html body .page-hero.page-hero--scene .page-hero-meta a { padding: .75rem 1.05rem; min-height: 48px; font-size: .85rem; }
  html body .page-hero.page-hero--scene .page-hero-meta > span { flex-basis: 100%; font-size: .73rem; }
}
@media(max-height:500px) and (orientation:landscape) {
  html body .page-hero.page-hero--scene:has(.page-hero-media) { min-height: 0; padding-block: 2rem; }
}
@media(prefers-reduced-motion:reduce) { html body .page-hero.page-hero--scene .page-hero-meta a { transition: none; } }

/* Information landing pages share the scene opening; article bodies stay light. */
html body .page-hero.page-hero--scene.knowledge-scene-header .page-hero-content { display: block; }
html body[data-page="contact"] .page-hero.page-hero--scene .page-hero-media img { object-position: 64% 54%; }
html body .knowledge-scene-header .page-hero-media img { object-position: 62% 52%; }

/* Frame the material rolls and laminating equipment on the information centre. */
html body .page-hero.page-hero--scene.knowledge-scene-header .page-hero-media img{object-position:65% 55%}
@media(max-width:700px){html body .page-hero.page-hero--scene.knowledge-scene-header .page-hero-media img{object-position:72% 55%}}

/* hgs-light.css */
/* Malaysia adapters for the main site's RC02 light design. */
html .footer-band {background:#10140f;color:#f2f0eb;--paper:#f2f0eb;--muted:#c1c6b9;--line:rgba(242,240,235,.24)}
html .footer.footer-editorial {display:block;padding:0;background:transparent}
html .footer-editorial .footer-brand {grid-column:auto;grid-row:auto}
html .footer-editorial .footer-nav {display:flex;flex-direction:column;align-items:flex-start;grid-column:auto;grid-row:auto;gap:.5rem}
html .footer-editorial .footer-locations {margin:0;padding:0;grid-column:auto}
html .footer-editorial .footer-legal {padding:0;grid-column:auto;grid-row:auto}
html .footer-editorial :is(.footer-editorial-heading,.footer-editorial-tagline,.footer-brand) {color:#f2f0eb}
html .footer-editorial :is(.footer-editorial-description,.footer-editorial-address,.direct-contact p,.direct-contact span,.footer-editorial-bottom p) {color:#c1c6b9}
html .footer-editorial a:hover {color:#fff}
html .hero .hero-actions .outline-button {color:#fff;border-color:#d6dccd}
html .hero .hero-context,html .hero .hero-footer {color:#f2f0eb}
html .home-product-overview .page-intro {padding-bottom:0;margin-bottom:clamp(1.5rem,2.5vw,2.5rem)}
html .home-product-overview .product-category-copy h3 {font-size:clamp(1.3rem,1.6vw,1.75rem);line-height:1.35}
html .home-product-overview .product-category-list {gap:1px;background:var(--light-line)}
html .home-product-overview .product-category-card {background:var(--light-bg)}
html .home-business-action {color:var(--light-brand)}
html :is(.form-mode-note,.form-privacy-note,.form-mode-button small,.product-image-note,.hgs-catalogue-note,.product-sidebar-group,.detail-photo figcaption,.detail-related-note,.product-description,.form-enquiry-draft,.form-draft-notice,.buyer-use-catlink,.hgs-pending-category p,.hgs-pending-category li) {color:var(--light-muted)}
html .form-mode-button {border-color:var(--light-line);color:var(--light-ink)}
html .form-mode-button[aria-pressed=true] {background:var(--light-brand);color:#fff;border-color:var(--light-brand)}
html .form-mode-button[aria-pressed=true] small {color:#e4ecd9}
html :is(.form-enquiry-draft,.enquiry-result,.form-draft-notice,.form-prefill-note,.catalogue-pending,.hgs-category-pending) {background:var(--light-surface);border-color:var(--light-line)}
html .enquiry-result textarea {background:white;color:var(--light-ink);border-color:var(--light-line)}
html .product-sidebar {background:var(--light-bg)}
html .product-sidebar a[aria-current=page],html .product-sidebar-toggle {background:var(--light-surface);color:var(--light-ink)}
html .detail-photo,html .detail-related a,html .material-photo-dialog {background:var(--light-surface);color:var(--light-ink)}
html .material-photo-dialog button {color:var(--light-ink);border-color:var(--light-line)}
html .faq-row details summary {cursor:pointer;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.6;padding:1rem 0;color:var(--light-ink)}
html .faq-row .faq-answer {display:block;padding:0 0 1.5rem}
html .faq-row .faq-answer p {color:var(--light-muted)}
html .page-hero--scene .page-hero-shade {position:absolute;inset:0}
html .page-hero--scene .case-content-date {color:#e0e5dc}
/* The full product catalogue retains the exact RC02 component styles. */
html .b2b-dialog footer {padding:0;display:flex;grid-template-columns:none;background:transparent}

/* home-category-images.css */
/* Category scenes retain their complete composition on desktop and mobile. */
html .home-product-overview .product-category-card,
html .home-product-overview .product-category-card:nth-child(even){grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-height:0}
html .home-product-overview .product-category-card figure{position:relative;aspect-ratio:3/2;height:auto;min-height:0;background:#efeee6}
html .home-product-overview .product-category-card img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;filter:none}
html .home-product-overview .product-category-card:hover img,
html .home-product-overview .product-category-card:focus-visible img{filter:none}
@media(max-width:560px){html .home-product-overview .product-category-copy{min-height:0}}

/* home-scenes.css */
/* Selected project photographs. Original compositions remain available in the viewer. */
.case-photo-open{overflow:hidden}
.case-photo-dialog{width:min(90vw,76rem);max-width:calc(100vw - 2rem);max-height:92dvh;padding:0;border:0;background:#f8f8f4;color:#242b20;box-shadow:0 1rem 6rem #0005}
.case-photo-dialog::backdrop{background:#172015cf}
.case-photo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem}
.case-photo-toolbar h3{font-size:1rem;line-height:1.5;margin:0}
.case-photo-toolbar button{display:flex;align-items:center;gap:.7rem;flex-shrink:0;min-height:44px;font:inherit;font-size:.85rem;color:inherit;background:transparent;border:1px solid #a6af9b;padding:.4rem .8rem;cursor:pointer}
.case-photo-toolbar button:focus-visible{outline:2px solid #4d6139;outline-offset:3px}
.case-photo-dialog [data-photo-full]{display:block;width:100%;height:auto;max-height:calc(92dvh - 6rem);object-fit:contain;background:#e7e5dc}
@media(max-width:700px){.case-photo-dialog{width:calc(100vw - 1.5rem);max-width:calc(100vw - 1.5rem)}.case-photo-toolbar{padding:.65rem;gap:.65rem}.case-photo-toolbar h3{font-size:.85rem}.case-photo-toolbar button{font-size:.75rem;gap:.4rem;padding:.35rem .5rem}}
.home-scenes{padding-block:var(--section-half) var(--section-space);scroll-margin-top:7rem}
.home-scenes-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.75fr);gap:1rem 3rem;align-items:end;margin-bottom:2rem}
.home-scenes .scene-kicker{font-size:.72rem;line-height:1.5;letter-spacing:.09em;color:#59634f;margin:0;text-transform:uppercase}
.home-scenes-heading>.scene-kicker{grid-column:1/-1}
.home-scenes-heading h2{font-size:clamp(2.25rem,4vw,4.1rem);line-height:1.2;letter-spacing:-.035em;margin:0;max-width:19ch}
.home-scenes-intro{font-size:1rem;line-height:1.75;margin:0;color:#616a5b;max-width:30rem}
.scene-card{min-width:0}
.scene-card--feature{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(17rem,1fr);align-items:stretch;background:#eeeFE7}
.scene-image{position:relative;display:block;overflow:hidden;min-width:0;color:#263025;text-decoration:none;background:#e7e5dc}
.scene-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:none;transition:transform .5s ease}
.scene-image:focus-visible:not(.motion-image-active) img{transform:scale(1.018)}
@media(hover:hover) and (pointer:fine){.scene-image:hover:not(.motion-image-active) img{transform:scale(1.018)}}
.scene-image-arrow{position:absolute;inset-inline-end:1rem;bottom:1rem;display:grid;place-items:center;width:2.6rem;height:2.6rem;background:#f8f8f4ed;font-size:1.25rem;line-height:1}
.scene-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.scene-card--feature .scene-copy{justify-content:center;padding:clamp(1.5rem,2.7vw,3rem)}
.scene-copy h3{font-size:clamp(1.6rem,2.2vw,2.4rem);line-height:1.3;letter-spacing:-.025em;margin:1rem 0 1rem;text-wrap:balance}
.scene-description{font-size:.95rem;line-height:1.85;margin:0;color:#5c6656;max-width:44ch}
.scene-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1.25rem;max-width:100%;font-size:.88rem;line-height:1.6;color:#283522;text-decoration:none;border-bottom:1px solid #8a947e;padding-block:.55rem}
.scene-copy .scene-link{margin-top:1.5rem}
.scene-link>span:first-child{min-width:0}
.scene-link>span[aria-hidden]{flex-shrink:0}
.scene-link:hover{color:#4d6139;border-color:currentColor}
.scene-image:focus-visible,.scene-link:focus-visible{outline:2px solid #4d6139;outline-offset:5px}
.home-scenes-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2.5rem);margin-top:clamp(1.5rem,3vw,3rem)}
.home-scenes-secondary .scene-card{display:flex;flex-direction:column}
.home-scenes-secondary .scene-copy{padding-top:1.25rem;flex:1}
.home-scenes-secondary .scene-copy h3{font-size:clamp(1.4rem,2vw,2rem);margin-block:.6rem .65rem}
.home-scenes-secondary .scene-description{max-width:50ch;margin-bottom:.8rem}
.home-scenes-secondary .scene-copy .scene-link{margin-top:auto}
.home-scenes-proof{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2.5rem;padding-block:1.5rem;border-block:1px solid #d5dacc}
.home-scenes-proof h3{font-size:1.2rem;line-height:1.5;margin:0 0 .4rem}
.home-scenes-proof p{font-size:.9rem;line-height:1.7;color:#616a5b;margin:0}
.home-scenes-proof .scene-link{flex-shrink:0}
@media(min-width:1700px){.scene-card--feature .scene-copy{padding:3rem}}
@media(max-width:1000px){.scene-card--feature{grid-template-columns:1fr}.scene-card--feature .scene-copy{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 2rem;padding:1.5rem 2rem}.scene-card--feature .scene-kicker{grid-column:1/-1}.scene-card--feature h3{margin:0;grid-column:1;grid-row:2/4}.scene-card--feature .scene-description,.scene-card--feature .scene-link{grid-column:2}.scene-card--feature .scene-link{margin:0;justify-self:start}.home-scenes-heading{grid-template-columns:1fr 1fr;gap:1rem 2rem}}
@media(max-width:700px){.home-scenes{scroll-margin-top:6rem}.home-scenes-heading{grid-template-columns:1fr;gap:.8rem;margin-bottom:1.5rem}.home-scenes-heading h2{font-size:clamp(2rem,7.4vw,2.8rem);max-width:100%}.home-scenes-intro{font-size:.95rem}.scene-card--feature .scene-copy{display:flex;gap:0;padding:1.3rem}.scene-card--feature h3{margin:.6rem 0 .8rem}.scene-copy h3{font-size:1.55rem}.scene-card--feature .scene-copy .scene-link{margin-top:1rem}.home-scenes-secondary{grid-template-columns:1fr;gap:2rem;margin-top:2rem}.home-scenes-secondary .scene-copy h3{font-size:1.45rem}.home-scenes-proof{align-items:flex-start;flex-direction:column;gap:1rem;margin-top:2rem}.scene-image-arrow{width:2.25rem;height:2.25rem;bottom:.75rem;inset-inline-end:.75rem}.home-scenes .scene-kicker{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.scene-image img{transition:none}.scene-image:hover img,.scene-image:focus-visible img{transform:none}}

/* Content publication dates, independent of project completion dates. */
.home-scenes .scene-date{align-self:flex-end;margin:1rem 0 0;font-size:.72rem;line-height:1.5;color:#687163;text-align:end;grid-column:2;justify-self:end}
.home-scenes .scene-date time{display:inline-block;direction:ltr;unicode-bidi:isolate;white-space:nowrap}

/* home-products-alignment.css */
/* Category section alignment with main site 20260916-release-rc02-categories-real02.
 *
 * The branch carries an earlier `.home-business-overview` card treatment in
 * malaysia.css. Where that treatment disagrees with the main-site sheets the
 * branch now follows, this file restores the main-site value. It is loaded after
 * home-category-images.css so it wins on order, and every declaration below was
 * checked against the live main site with Chrome DevTools Protocol.
 *
 * Only properties that actually differed are listed; everything else already
 * matches and is left to the main-site sheets. The verification records that
 * back these values live with the build's acceptance evidence, not here.
 */

/* Main site: styles.css `.page-intro > p:first-child`.
   Branch kicker is a class, not :first-child, so it needs the same treatment. */
html .home-product-overview .page-intro > .page-kicker {
  grid-column: 1 / -1;
  letter-spacing: .13em;
  text-transform: uppercase;
}

/* Main site: site-upgrade.css `.product-category-card{display:grid;...}` plus
   home-category-images.css row sizing. The branch used flex column instead.
   `background` is here because malaysia.css sets `background:transparent` on
   `.home-business-overview .product-category-card:nth-child(even)` at
   specificity (0,3,0), which outranks hgs-light.css's cream rule at (0,2,1).
   Only the even cards lost their background, so the four tiles rendered with
   two different fills. */
html .home-product-overview .product-category-card,
html .home-product-overview .product-category-card:nth-child(even) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  min-width: 0;
  background: var(--light-bg, #f8f8f4);
}

/* Main site: site-upgrade.css `.product-category-copy p{font-size:.92rem}`
   with line-height 1.7 inherited from visual-repair.css. */
html .home-product-overview .product-category-copy p {
  font-size: .92rem;
  line-height: 1.7;
}

/* Main site: styles.css `.product-category-copy{justify-content:space-between}`
   plus site-upgrade.css `min-width:0`. malaysia.css added `margin-top:.75rem`
   and `justify-content:flex-start`, which made every card roughly 12px taller
   than the main site's and stopped the action link sitting on the baseline. */
html .home-product-overview .product-category-copy {
  justify-content: space-between;
  margin-top: 0;
}

/* Main site: styles.css `.product-category-copy > span` sets the index number.
   The branch's `.home-business-number` overrode it with a larger accent-green
   figure, which added ~5px of height and a different visual weight. */
html .home-product-overview .product-category-copy > .home-business-number {
  color: #8a8a85;
  font-size: .72rem;
  line-height: normal;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Main site: `.category-destination` resolves to 14px / 21px (0.875rem, lh 1.5). */
html .home-product-overview .category-destination {
  font-size: .875rem;
  line-height: 1.5;
}

/* Main site leaves the card gap at its initial `normal`; malaysia.css set it to
   0, and its `:nth-child(even)` selector outranked the first attempt at this
   rule, so only the odd cards were corrected. Both render the same, but keeping
   the initial value makes the computed comparison meaningful. */
html .home-product-overview .product-category-card,
html .home-product-overview .product-category-card:nth-child(even) {
  gap: normal;
}

/* Main site: the card title is an <h2>, so it resolves through `h1,h2
   {letter-spacing:-.055em}` with a `:root[lang="zh-Hant"] h1,h2,h3{-.035em}`
   override. The branch title is an <h3>, which those rules miss, and
   malaysia.css pinned it at -.025em. Measured live: main is -.035em for
   zh-Hant and -.055em for en. Main has no Malay locale, so ms follows the
   non-zh-Hant default. */
html .home-product-overview .product-category-copy > h3 {
  letter-spacing: -.055em;
}
html:lang(zh-Hant) .home-product-overview .product-category-copy > h3 {
  letter-spacing: -.035em;
}

/* Main sizes the title through its `visual-repair.css` h2 rules:
   `clamp(1.3rem,1.6vw,1.75rem)`, dropping to a flat `1.15rem` at <=560px. The
   branch's <h3> misses those, and malaysia.css applies its own scale (up to
   1.5rem on small screens), so the title rendered larger than the main site's --
   most visibly at 600px, where main is 20.8px and the branch was 24px. */
html .home-product-overview .product-category-copy > h3 {
  font-size: clamp(1.3rem, 1.6vw, 1.75rem);
}
@media (max-width: 560px) {
  html .home-product-overview .product-category-copy > h3 {
    font-size: 1.15rem;
  }
}

/* Main resolves to `min-height:auto` with no border on the copy box;
   malaysia.css set `min-height:0` and added a 1px white top border, which left
   every card exactly 1px taller than the main site's. Scoped above the mobile
   breakpoint so home-category-images.css keeps its 560px min-height rule. */
@media (min-width: 561px) {
  html .home-product-overview .product-category-copy {
    min-height: auto;
  }
}
html .home-product-overview .product-category-copy {
  border-top: 0;
}

/* ---------------------------------------------------------------------------
 * Responsive breakpoints.
 *
 * malaysia.css carries its own treatment for this section: a compact divided
 * list with 96px thumbnails at <=759px, a fixed-height figure band from 760 to
 * 1279px, and a one-column list up to 759px. The main site instead keeps a 3:2
 * full-width image and switches columns at 900px and 560px. Measured live at
 * 390 / 560 / 600 / 760 / 900 / 1000 / 1280 / 1440px; the rules below reproduce
 * the main site's values at every one of those widths.
 * ------------------------------------------------------------------------- */

/* Main: repeat(4) above 900px, repeat(2) at <=900px, single column at <=560px. */
html .home-product-overview .product-category-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
}
@media (max-width: 900px) {
  html .home-product-overview .product-category-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  html .home-product-overview .product-category-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Main never turns the card into a divided row, so undo the branch's compact
   variant across its whole range (<=759px) and its tablet figure band. */
html .home-product-overview .product-category-card,
html .home-product-overview .product-category-card:nth-child(even) {
  grid-template-columns: minmax(0, 1fr);
  padding: 0;
  border-top: 0;
  border-bottom: 0;
}

/* Main keeps the image at 3:2 and full column width at every breakpoint. */
html .home-product-overview .product-category-card figure {
  width: auto;
  height: auto;
  aspect-ratio: 3 / 2;
  min-height: 0;
}

/* ---------------------------------------------------------------------------
 * WebKit compatibility: render the four category photos in Safari.
 *
 * home-category-images.css sizes the tile with `aspect-ratio:3/2;height:auto`
 * on the figure and makes the photo an absolutely positioned only child with
 * `height:100%`. WebKit does not resolve a child's percentage height against a
 * box whose height comes only from `aspect-ratio`, so the figure collapsed and
 * all four photos were missing on a fresh Safari navigation even though the
 * files, the img tags and Chrome were fine.
 *
 * The photo is put back into normal flow and sizes its own 3:2 box, so the
 * image is rendered from intrinsic layout instead of a percentage chain. The
 * main site's crop, column counts (4 / 2 / 1) and hover treatment are
 * unchanged, and nothing here depends on a script, placeholder or error icon.
 * ------------------------------------------------------------------------- */
html .home-product-overview .product-category-card img {
  position: static;
  inset: auto;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
}

/* Main's intro collapses to one column at <=900px with a 1.3rem gap and no
   extra bottom padding; the branch used a 759px breakpoint and added spacing. */
@media (max-width: 900px) {
  html .home-product-overview .page-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.3rem;
    padding-bottom: 0;
  }
  html .home-product-overview .page-intro > .page-kicker,
  html .home-product-overview .page-intro > h2,
  html .home-product-overview .page-intro > div {
    grid-column: 1;
  }
  html .home-product-overview .page-intro > div {
    margin-top: 0;
  }
}

