
/* ─── tokens ──────────────────────────────────────────────────────────
   JALIN · American Industrial Minimalism. Four brand colors, everything
   else derived. Do not introduce raw hex outside this block. */
:root {
  --bg: #F7F6F2;                 /* Warm white — canvas */
  --surface: #FFFFFF;            /* raised panels */
  --ink: #10161D;                /* Graphite — dark surfaces, headings */
  --fg: #10161D;                 /* Graphite — primary text */
  --fg-2: #333B46;               /* body graphite */
  --muted: #5C6674;              /* secondary text */
  --meta: #AAB2BB;               /* Aluminum — captions, borders, meta */
  --border: #E7E4DE;             /* hairline on warm white */
  --border-strong: #C6CBD3;      /* stronger delineation */
  --accent: #1647E8;             /* Cobalt — sole accent */
  --accent-on: #FFFFFF;
  --accent-hover: color-mix(in oklab, #1647E8 88%, black);
  --accent-soft: color-mix(in oklab, #1647E8 12%, transparent);
  --focus-ring: 0 0 0 3px color-mix(in oklab, #1647E8 38%, transparent);

  --font-display: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, monospace;

  --fs-h1: clamp(42px, 6.5vw, 84px);
  --fs-h2: clamp(28px, 3.4vw, 46px);
  --fs-h3: 20px;
  --fs-lead: 19px;
  --fs-body: 16px;
  --fs-meta: 13px;

  --gap-xs: 8px; --gap-sm: 12px; --gap-md: 20px; --gap-lg: 32px;
  --gap-xl: 56px; --gap-2xl: 96px;
  --container: 1240px; --gutter: 32px;
  --radius: 4px; --radius-md: 8px; --radius-lg: 12px;
  --nav-h: 72px;
  --motion: 330ms;
  --ease: cubic-bezier(0.5, 0, 0, 0.75);
}
html[lang="zh-CN"] { --font-display: "PingFang SC", "Microsoft YaHei", sans-serif; --font-body: "PingFang SC", "Microsoft YaHei", sans-serif; }
html[lang="zh-TW"] { --font-display: "PingFang TC", "Microsoft JhengHei", sans-serif; --font-body: "PingFang TC", "Microsoft JhengHei", sans-serif; }

/* ─── reset & base ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 12px); }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font-family: var(--font-body); font-size: var(--fs-body); line-height: 1.55;
  text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
p { text-wrap: pretty; }
h1, h2, h3, h4 { text-wrap: balance; }
ul, ol { margin: 0; padding: 0; }
figure { margin: 0; }
.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; }

/* ─── layout primitives ──────────────────────────────────────────── */
.container { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: clamp(56px, 8vw, 112px); }
.stack { display: flex; flex-direction: column; }
.row { display: flex; align-items: center; gap: var(--gap-md); }
.row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--gap-md); }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap-2xl); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap-lg); }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap-lg); }
.grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--gap-lg); }

/* ─── type ───────────────────────────────────────────────────────── */
.h1, h1 { font-family: var(--font-display); font-size: var(--fs-h1); line-height: 1.02; letter-spacing: -0.022em; font-weight: 700; margin: 0; }
.h2, h2 { font-family: var(--font-display); font-size: var(--fs-h2); line-height: 1.08; letter-spacing: -0.018em; font-weight: 700; margin: 0; }
.h3, h3 { font-family: var(--font-display); font-size: var(--fs-h3); line-height: 1.28; letter-spacing: -0.01em; font-weight: 600; margin: 0; }
.lead { font-size: var(--fs-lead); line-height: 1.55; color: var(--muted); max-width: 60ch; margin: 0; }
.eyebrow {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--muted); display: flex; align-items: center; gap: 10px; margin: 0 0 20px;
}
.eyebrow .dot { width: 8px; height: 8px; background: var(--accent); flex: none; }
.meta { font-family: var(--font-mono); font-size: var(--fs-meta); color: var(--muted); letter-spacing: 0.02em; }
.num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* dark section utilities */
.dark { background: var(--ink); color: #F7F6F2; }
.on-dark { color: #F7F6F2; }
.lead.on-dark { color: var(--meta); }
.eyebrow.on-dark { color: var(--meta); }
.meta.on-dark { color: var(--meta); }

/* section head */
.sec-head { max-width: 780px; margin-bottom: var(--gap-xl); }
.sec-head h2 { margin: 0 0 16px; }
.sec-head .lead { margin: 0; }

/* ─── nav ────────────────────────────────────────────────────────── */
.topnav {
  position: sticky; top: 0; z-index: 50; background: var(--ink); color: #F7F6F2;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.topnav-inner { display: flex; align-items: center; justify-content: space-between; height: var(--nav-h); }
.brand { display: inline-flex; align-items: center; color: #F7F6F2; }
.brand-lockup { width: 144px; height: auto; flex: none; overflow: visible; }
.brand-lockup .logo-tagline {
  fill: var(--meta); font-family: "Gill Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 17px; font-weight: 600; letter-spacing: 5px;
}
.brand-lockup .logo-main {
  fill: #F7F6F2; font-family: "Futura-Bold", Futura, "Century Gothic", "Helvetica Neue", Arial, sans-serif;
  font-size: 154px; letter-spacing: 20px;
}
.brand-lockup .logo-accent { fill: #68B9E6; }
.brand-lockup .logo-line { fill: #68B9E6; }
.brand-lockup .logo-line-tail { fill: #F7F6F2; }
.pagefoot .brand-lockup { width: 176px; }
.nav-links { display: flex; align-items: center; gap: 30px; }
.nav-links a:not(.btn) { color: var(--meta); font-size: 14px; font-weight: 500; transition: color var(--motion) var(--ease); }
.nav-links a:not(.btn):hover { color: #FFFFFF; }
.nav-cta { padding: 10px 18px; font-size: 14px; }
.language-switcher { position: relative; flex: none; }
.language-select {
  min-height: 38px; padding: 0 10px; border: 1px solid rgba(255,255,255,.22); border-radius: var(--radius);
  background: var(--ink); color: #F7F6F2; font-family: var(--font-mono); font-size: 11px; letter-spacing: .03em;
  color-scheme: dark; cursor: pointer;
}
.language-select:hover { border-color: rgba(255,255,255,.52); }
.language-select:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.nav-toggle { display: none; background: none; border: 0; padding: 10px; flex-direction: column; gap: 5px; border-radius: var(--radius); }
.nav-toggle span { width: 22px; height: 2px; background: #F7F6F2; display: block; transition: transform var(--motion) var(--ease), opacity var(--motion) var(--ease); }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ─── buttons ────────────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 12px 22px; border-radius: var(--radius);
  border: 1px solid transparent; font-family: var(--font-body); font-size: 15px; font-weight: 600;
  letter-spacing: -0.005em; white-space: nowrap;
  transition: color var(--motion) var(--ease), background-color var(--motion) var(--ease), border-color var(--motion) var(--ease);
}
.btn-primary { background: var(--accent); color: var(--accent-on); border-color: var(--accent); }
.btn-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.btn-secondary { background: transparent; color: var(--fg); border-color: var(--border-strong); }
.btn-secondary:hover { border-color: var(--fg); }
.btn-ghost { background: transparent; color: var(--fg); padding-inline: 10px; }
.btn-ghost:hover { color: var(--accent); }
.btn-outline-light { background: transparent; color: #F7F6F2; border-color: rgba(255,255,255,0.4); }
.btn-outline-light:hover { border-color: #FFFFFF; background: rgba(255,255,255,0.06); }
.btn-arrow::after { content: '→'; transition: transform var(--motion) var(--ease); }
.btn-arrow:hover::after { transform: translateX(3px); }

:is(a, button):focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius); }

/* ─── tag / pill ─────────────────────────────────────────────────── */
.tag {
  display: inline-flex; align-items: center; padding: 5px 11px; background: transparent;
  color: var(--muted); border: 1px solid var(--border-strong); border-radius: var(--radius);
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.03em;
}

/* ─── placeholders (photography / data) ──────────────────────────── */
.ph {
  position: relative; overflow: hidden; border: 1px solid var(--border-strong);
  background: var(--surface); border-radius: var(--radius); display: grid; place-items: center;
}
.ph::before {
  content: ""; position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M40 0H0V40' fill='none' stroke='%2310161D' stroke-opacity='0.06' stroke-width='1'/%3E%3C/svg%3E");
}
.ph-dark { background: var(--ink); border-color: rgba(255,255,255,0.16); }
.ph-dark::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M40 0H0V40' fill='none' stroke='%23FFFFFF' stroke-opacity='0.06' stroke-width='1'/%3E%3C/svg%3E");
}
.ph-label {
  position: relative; text-align: center; padding: 0 20px; line-height: 1.7;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted);
}
.ph-label strong { display: block; font-family: var(--font-display); font-weight: 600; font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--fg-2); }
.ph-label .hint { display: block; opacity: 0.62; margin-top: 4px; }
.ph-dark .ph-label { color: var(--meta); }
.ph-dark .ph-label strong { color: #F7F6F2; }
.ph-square { aspect-ratio: 1 / 1; }
.ph-wide { aspect-ratio: 16 / 9; }
.media { position: relative; overflow: hidden; border: 1px solid var(--border-strong); border-radius: var(--radius); background: var(--surface); }
.media img { width: 100%; height: 100%; object-fit: cover; }
.media-product img { object-fit: contain; padding: 10px; background: var(--surface); }
.media-dark { border-color: rgba(255,255,255,0.16); background: var(--ink); }
.media-dark img { filter: saturate(0.78) contrast(1.04); }
.crop-bottom img { height: 112%; object-position: center top; }

/* ─── hero ───────────────────────────────────────────────────────── */
.hero {
  position: relative; min-height: 92vh; display: flex; align-items: flex-end;
  padding-block: clamp(120px, 16vh, 200px) clamp(64px, 10vh, 120px);
  background: var(--ink); overflow: hidden; color: #F7F6F2;
}
.hero-bg { position: absolute; inset: 0; background: var(--ink); }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0.42; filter: saturate(0.58) contrast(1.12); }
.hero-bg::before {
  content: ""; position: absolute; inset: -20%;
  background-image: linear-gradient(90deg, rgba(16,22,29,0.96) 18%, rgba(16,22,29,0.72) 58%, rgba(16,22,29,0.34)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M40 0H0V40' fill='none' stroke='%23FFFFFF' stroke-opacity='0.05' stroke-width='1'/%3E%3C/svg%3E");
  animation: drift 60s linear infinite;
}
.hero-bg::after {
  content: ""; position: absolute; top: -18%; right: -8%; width: 58%; height: 150%;
  background: color-mix(in oklab, #FFFFFF 3.5%, transparent); transform: rotate(-16deg);
}
@keyframes drift { from { transform: translate(0,0); } to { transform: translate(40px, 40px); } }
.hero-inner { position: relative; z-index: 1; max-width: 760px; }
html[lang^="zh"] .hero-inner { max-width: 920px; }
html[lang^="zh"] .hero-inner h1 { font-size: clamp(44px, 5vw, 72px); line-height: 1.08; }
.hero-inner h1 { margin-bottom: 24px; }
.hero-inner .lead { margin-bottom: 36px; }
.hero-note {
  position: absolute; top: calc(var(--nav-h) + 24px); right: var(--gutter); z-index: 1;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--meta); text-align: right; line-height: 1.7;
}
.hero-note b { display: block; color: #F7F6F2; font-weight: 600; }
.hero-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 44px;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--meta);
}
.hero-meta .sep { width: 5px; height: 5px; background: var(--accent); }
.hero-cta { display: inline-flex; flex-wrap: wrap; gap: var(--gap-sm); }
.hero-inner > * { animation: rise 0.7s var(--ease) both; }
.hero-inner > *:nth-child(2) { animation-delay: 0.06s; }
.hero-inner > *:nth-child(3) { animation-delay: 0.12s; }
.hero-inner > *:nth-child(4) { animation-delay: 0.18s; }
.hero-inner > *:nth-child(5) { animation-delay: 0.24s; }
@keyframes rise { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

/* ─── proof bar ──────────────────────────────────────────────────── */
.proof-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 40px; }
.proof-intro { max-width: 760px; }
.proof-intro h2 { max-width: 13ch; }
html[lang^="zh"] .proof-intro h2 { max-width: none; font-size: clamp(30px, 3vw, 42px); white-space: nowrap; }
.company-location {
  display: flex; align-items: center; gap: 9px; margin: 18px 0 0; color: var(--muted);
  font-family: var(--font-mono); font-size: 12px; letter-spacing: .045em;
}
.company-location::before { content: ""; width: 8px; height: 8px; border: 2px solid var(--accent); border-radius: 50%; flex: none; }
.campus-trigger {
  flex: 0 0 300px; display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 14px;
  padding: 8px 12px 8px 8px; border: 1px solid var(--border-strong); border-radius: var(--radius-md);
  background: var(--surface); color: var(--fg); text-align: left; cursor: pointer;
  transition: border-color var(--motion) var(--ease), box-shadow var(--motion) var(--ease), transform var(--motion) var(--ease);
}
.campus-trigger:hover { border-color: var(--accent); box-shadow: 0 12px 34px rgba(16,22,29,.08); transform: translateY(-2px); }
.campus-trigger-thumb {
  width: 72px; height: 54px; overflow: hidden; border-radius: var(--radius); background-color: var(--ink);
  background-image: linear-gradient(rgba(5,14,25,.08), rgba(5,14,25,.08)), url('refined/gallery/campus-overview.webp');
  /* phase34-webp: */ background-image: linear-gradient(rgba(5,14,25,.08), rgba(5,14,25,.08)), image-set(url('refined/gallery/campus-overview.webp') type('image/webp'), url('refined/gallery/campus-overview.webp') type('image/jpeg'));
  background-size: cover; background-position: center;
}
.campus-trigger-copy { min-width: 0; }
.campus-trigger-kicker {
  display: block; margin-bottom: 4px; color: var(--muted); font-family: var(--font-mono);
  font-size: 9px; letter-spacing: .11em; text-transform: uppercase;
}
.campus-trigger-title { display: block; font-family: var(--font-display); font-size: 15px; font-weight: 600; line-height: 1.25; }
.campus-trigger-cue { color: var(--accent); font-size: 20px; transition: transform var(--motion) var(--ease); }
.campus-trigger:hover .campus-trigger-cue { transform: translate(2px, -2px); }
.proof-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 2px solid var(--fg); padding-top: 28px; }
.proof-item .proof-num { font-family: var(--font-display); font-weight: 700; font-size: clamp(30px, 3vw, 46px); letter-spacing: -0.02em; line-height: 1; color: var(--fg); }
.proof-capacity .proof-num { font-size: clamp(28px, 2.4vw, 36px); }
.proof-item .proof-num sup { font-size: 0.48em; vertical-align: top; position: relative; top: 0.08em; }
.proof-unit { margin-left: 6px; font-family: var(--font-mono); font-size: 0.34em; font-weight: 500; letter-spacing: 0.04em; color: var(--muted); text-transform: uppercase; }
.proof-item .proof-label { color: var(--muted); font-size: 14px; margin-top: 8px; line-height: 1.4; }
.proof-summary {
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr); gap: clamp(40px, 7vw, 88px);
  margin-top: clamp(44px, 6vw, 72px); padding-top: clamp(36px, 5vw, 56px); border-top: 1px solid var(--border-strong);
}
.proof-copy h3 { font-size: clamp(24px, 2.6vw, 34px); margin-bottom: 18px; }
.proof-copy > p:not(.eyebrow):not(.proof-source) { color: var(--muted); font-size: 16px; margin: 0 0 16px; }
.proof-source { margin: 26px 0 0; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.07em; text-transform: uppercase; color: var(--meta); }
.growth-list { list-style: none; border-top: 1px solid var(--border-strong); }
.growth-step {
  display: grid; grid-template-columns: 100px 1fr; gap: 20px; padding: 18px 0;
  border-bottom: 1px solid var(--border); position: relative;
}
.growth-step::before { content: ""; position: absolute; left: 0; top: -4px; width: 7px; height: 7px; background: var(--accent); }
.growth-year { font-family: var(--font-mono); font-size: 13px; font-weight: 600; color: var(--fg); }
.growth-body strong { display: block; font-family: var(--font-display); font-size: 17px; margin-bottom: 5px; }
.growth-body p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }

/* Factory campus viewer */
.campus-lightbox .solution-lightbox-panel { width: min(1600px, 100%); }
.campus-lightbox-stage { min-height: 0; padding-top: 22px; }
.campus-lightbox-figure { height: 100%; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; }
.campus-lightbox-image-wrap {
  min-height: 0; overflow: auto; display: grid; place-items: center; background: transparent; overscroll-behavior: contain;
}
.campus-lightbox-image-wrap:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.campus-lightbox-image { width: 100%; height: 100%; object-fit: contain; cursor: zoom-in; }
.campus-lightbox-image-wrap.is-zoomed { place-items: start; }
.campus-lightbox-image-wrap.is-zoomed .campus-lightbox-image { width: 2000px; height: auto; max-width: none; cursor: zoom-out; }
.campus-map-layer { position: relative; width: 100%; height: auto; aspect-ratio: 2560 / 1374; }
.campus-lightbox-image-clean { display: block; width: 100%; height: auto; aspect-ratio: 2560 / 1374; }
.campus-map-layer .campus-lightbox-image { position: absolute; inset: 0; width: 100%; height: 100%; clip-path: polygon(0 0, 100% 0, 100% 100%, 36% 100%, 36% 82%, 0 82%); }
.campus-lightbox-image-wrap.is-zoomed .campus-map-layer { width: 2000px; height: auto; }
.campus-lightbox-image-wrap.is-zoomed .campus-map-layer .campus-lightbox-image { width: 100%; height: 100%; cursor: zoom-out; }
.campus-lightbox-caption {
  display: flex; justify-content: space-between; gap: 18px; padding-top: 13px; color: rgba(255,255,255,.58);
  font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
}

/* ─── solutions ──────────────────────────────────────────────────── */
.sol-heading-line { display: block; }
.sol-card {
  position: relative; isolation: isolate; overflow: hidden; border-top: 2px solid var(--fg);
  padding-top: 22px; min-height: 214px; transition: border-color 220ms ease;
}
.sol-card.has-gallery { cursor: pointer; }
.sol-card > :not(.sol-preview) { position: relative; z-index: 2; }
.sol-idx {
  display: block; font-family: var(--font-mono); font-size: 13px; color: var(--meta);
  margin-bottom: 18px; transition: color 220ms ease;
}
.sol-card h3 { font-size: 19px; margin-bottom: 10px; }
.sol-title-trigger {
  display: block; width: 100%; padding: 0 40px 0 0; border: 0; background: none; color: var(--fg);
  font: inherit; line-height: inherit; text-align: left; cursor: pointer; transition: color 220ms ease;
}
.sol-cue {
  position: absolute; top: -5px; right: 0; display: grid; width: 28px; height: 28px; place-items: center;
  border: 1px solid var(--border-strong); border-radius: 50%; font-family: var(--font-mono);
  font-size: 13px; transition: color 220ms ease, border-color 220ms ease, transform 220ms ease;
}
.sol-title-trigger:hover .sol-cue, .sol-title-trigger:focus-visible .sol-cue { transform: rotate(45deg); }
.sol-title-trigger:focus-visible { outline: none; }
.sol-title-trigger:focus-visible .sol-cue { outline: 2px solid var(--accent); outline-offset: 3px; }
.sol-card p { color: var(--muted); font-size: 15px; margin: 0 0 18px; transition: opacity 180ms ease, transform 220ms ease; }
.sol-tags { display: flex; flex-wrap: wrap; gap: 8px; transition: opacity 180ms ease, transform 220ms ease; }
.sol-preview {
  position: absolute; z-index: 1; inset: 0; margin: 0; overflow: hidden; background: #071323;
  opacity: 0; clip-path: inset(100% 0 0 0); pointer-events: none;
  transition: opacity 280ms ease, clip-path 420ms cubic-bezier(.2,.72,.18,1);
}
.sol-preview img {
  width: 100%; height: 100%; object-fit: cover; transform: scale(1.035); opacity: 1;
  transition: transform 3.2s ease, opacity 160ms ease;
}
.sol-preview::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5,14,25,.76) 0%, rgba(5,14,25,.12) 46%, rgba(5,14,25,.78) 100%);
}
.sol-preview-meta {
  position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; display: flex;
  justify-content: space-between; gap: 12px; color: rgba(255,255,255,.88); font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .09em; text-transform: uppercase;
}
.sol-card.is-previewing { border-color: var(--accent); }
.sol-card.is-previewing .sol-preview { opacity: 1; clip-path: inset(0); }
.sol-card.is-previewing .sol-preview img { transform: scale(1); }
.sol-card.is-previewing.is-swapping .sol-preview img { opacity: 0; }
.sol-card.is-previewing .sol-idx { opacity: 0; color: rgba(255,255,255,.7); }
.sol-card.is-previewing h3 {
  position: absolute; z-index: 3; left: 18px; right: 18px; bottom: 38px; margin: 0;
}
.sol-card.is-previewing .sol-title-trigger { color: #fff; text-shadow: 0 1px 18px rgba(0,0,0,.34); }
.sol-card.is-previewing .sol-cue { color: #fff; border-color: rgba(255,255,255,.58); transform: rotate(90deg); }
.sol-card.is-previewing > p, .sol-card.is-previewing > .sol-tags { opacity: 0; transform: translateY(8px); }

body.lightbox-open { overflow: hidden; }
.solution-lightbox {
  position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; padding: clamp(14px, 3vw, 40px);
  color: #fff; opacity: 0; transition: opacity 240ms ease;
}
.solution-lightbox.is-open { opacity: 1; }
.solution-lightbox[hidden] { display: none !important; }
.solution-lightbox-backdrop { position: absolute; inset: 0; background: rgba(3,10,18,.92); backdrop-filter: blur(16px); }
.solution-lightbox-panel {
  position: relative; z-index: 1; display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(1500px, 100%);
  height: min(920px, calc(100vh - clamp(28px, 6vw, 80px))); min-height: 0;
}
.solution-lightbox-head {
  display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,.17);
}
.solution-lightbox-kicker {
  display: block; margin-bottom: 7px; color: rgba(255,255,255,.58); font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .13em; text-transform: uppercase;
}
.solution-lightbox-head h2 { margin: 0; color: #fff; font-size: clamp(24px, 3vw, 42px); }
.solution-lightbox-close {
  display: inline-flex; align-items: center; gap: 10px; padding: 9px 0 9px 14px; border: 0; background: none;
  color: rgba(255,255,255,.76); font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em;
  text-transform: uppercase; cursor: pointer;
}
.solution-lightbox-close span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; font-size: 18px; }
.solution-lightbox-close:hover, .solution-lightbox-close:focus-visible { color: #fff; outline: none; }
.solution-lightbox-close:focus-visible span { outline: 2px solid var(--accent); outline-offset: 3px; }
.solution-lightbox-stage { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) 64px; gap: 18px; min-height: 0; padding-top: 22px; }
.solution-lightbox-figure { min-width: 0; min-height: 0; margin: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; }
.solution-lightbox-image-wrap { min-height: 0; overflow: hidden; background: #091522; }
.solution-lightbox-image {
  width: 100%; height: 100%; object-fit: contain; opacity: 1; transform: scale(1);
  transition: opacity 160ms ease, transform 480ms cubic-bezier(.2,.72,.18,1);
}
.solution-lightbox.is-changing .solution-lightbox-image { opacity: 0; transform: scale(.985); }
.solution-lightbox-caption {
  display: flex; justify-content: space-between; gap: 18px; padding-top: 13px; color: rgba(255,255,255,.55);
  font-family: var(--font-mono); font-size: 10px; letter-spacing: .09em; text-transform: uppercase;
}
.solution-lightbox-count { color: rgba(255,255,255,.9); }
.solution-lightbox-nav {
  align-self: center; display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%; background: rgba(255,255,255,.04); color: #fff; font-size: 23px; cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.solution-lightbox-nav:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.62); transform: scale(1.04); }
.solution-lightbox-nav:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .sol-preview, .sol-preview img, .sol-card p, .sol-tags, .sol-cue,
  .solution-lightbox, .solution-lightbox-image, .solution-lightbox-nav { transition: none; }
}

/* ─── process track ──────────────────────────────────────────────── */
.process-track { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--gap-lg); border-top: 1px solid var(--border-strong); position: relative; }
.process-track li { position: relative; padding-top: 26px; }
.process-track li::before { content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; background: var(--fg); }
.process-track .pt-idx { display: block; font-family: var(--font-mono); font-size: 13px; color: var(--meta); margin-bottom: 14px; }
.process-track h3 { font-size: 18px; margin-bottom: 8px; }
.process-track p { color: var(--muted); font-size: 15px; margin: 0; }

/* ─── on-site process photography ──────────────────────────────── */
.process-stories { margin-top: clamp(44px, 7vw, 88px); }
.process-story {
  display: grid; grid-template-columns: minmax(180px, 236px) minmax(0, 1fr); gap: var(--gap-lg);
  padding: clamp(22px, 3vw, 36px); margin-top: 18px; background: var(--surface);
  border: 1px solid var(--border-strong); border-radius: var(--radius-md);
  content-visibility: auto; contain-intrinsic-size: 760px;
}
.process-story:first-child { margin-top: 0; }
.process-story-head { position: sticky; top: calc(var(--nav-h) + 24px); align-self: start; }
.story-index {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted);
}
.story-index::before { content: ""; width: 8px; height: 8px; background: var(--accent); }
.process-story-head h3 { font-size: clamp(24px, 2.4vw, 32px); margin-bottom: 12px; }
.process-story-head p { margin: 0; color: var(--muted); font-size: 15px; }
.story-count { display: block; margin-top: 18px; color: var(--meta); }
.process-gallery {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: 132px;
  gap: 12px; min-width: 0;
}
.process-shot {
  position: relative; overflow: hidden; min-width: 0; background: var(--ink);
  border: 1px solid var(--border-strong); border-radius: var(--radius);
}
.process-shot img {
  width: 100%; height: 100%; object-fit: cover; filter: saturate(0.92) contrast(1.02);
  transition: transform 600ms var(--ease), filter 600ms var(--ease);
}
.process-shot::after {
  content: ""; position: absolute; inset: 42% 0 0;
  background: linear-gradient(to top, color-mix(in oklab, var(--ink) 92%, transparent), transparent);
  pointer-events: none;
}
.process-shot figcaption {
  position: absolute; z-index: 1; left: 14px; right: 14px; bottom: 12px; color: var(--surface);
  font-family: var(--font-mono); font-size: 11px; line-height: 1.45; letter-spacing: 0.05em; text-transform: uppercase;
}
.process-shot:hover img { transform: scale(1.025); filter: saturate(1) contrast(1.04); }
.span-4 { grid-column: span 4; }
.span-5 { grid-column: span 5; }
.span-7 { grid-column: span 7; }
.span-8 { grid-column: span 8; }
.span-12 { grid-column: 1 / -1; }
.rows-2 { grid-row: span 2; }
.rows-3 { grid-row: span 3; }
.rows-4 { grid-row: span 4; }
.focus-right img { object-position: 68% center; }
.focus-left img { object-position: 32% center; }
.focus-top img { object-position: center 28%; }
.brand-crop img { transform: scale(1.38); transform-origin: right center; }
.process-shot.brand-crop:hover img { transform: scale(1.41); }

/* ─── product catalog ────────────────────────────────────────────── */
.prod-list { border-top: 1px solid var(--fg); }
.prod-row {
  display: grid; grid-template-columns: 150px 1fr auto; gap: var(--gap-lg); align-items: center;
  padding: 26px 0; border-bottom: 1px solid var(--border);
}
.prod-thumb { aspect-ratio: 4 / 3; }
.prod-thumb img { width: 100%; height: 100%; object-fit: contain; padding: 8px; background: var(--surface); }
.prod-code { font-size: 12px; color: var(--meta); margin-bottom: 8px; letter-spacing: 0.04em; text-transform: uppercase; }
.prod-info h3 { font-size: 20px; margin-bottom: 8px; }
.prod-info p { color: var(--muted); font-size: 15px; margin: 0; }
.prod-cat { font-size: 12px; color: var(--muted); text-align: right; white-space: nowrap; }

/* ─── factory ────────────────────────────────────────────────────── */
.factory-hero { margin-bottom: var(--gap-lg); }
.factory-hero.ph, .factory-hero.media { aspect-ratio: 21 / 9; }
.factory-hero img { object-position: center 45%; }
.factory-old-gallery[hidden] { display: none !important; }
.fg-cell .ph, .fg-cell .media { margin-bottom: 12px; }
.fg-cell figcaption { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.07em; text-transform: uppercase; color: var(--meta); }
.factory-advantages {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--gap-lg);
  border: 1px solid rgba(255,255,255,0.16); border-radius: var(--radius-md); overflow: hidden;
}
.factory-advantage { padding: clamp(24px, 3vw, 36px); border-left: 1px solid rgba(255,255,255,0.14); }
.factory-advantage:first-child { border-left: 0; }
.fa-index { display: block; margin-bottom: 22px; color: var(--meta); font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; }
.fa-metric { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; color: var(--surface); font-family: var(--font-display); font-size: clamp(38px, 4vw, 58px); font-weight: 700; line-height: 1; letter-spacing: -0.03em; }
.fa-metric small { font-family: var(--font-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--meta); }
.factory-advantage h3 { margin-bottom: 12px; color: var(--surface); font-size: 20px; }
.factory-advantage p { margin: 0; color: var(--meta); font-size: 14px; line-height: 1.6; }
.factory-evidence {
  grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px;
  padding: 16px clamp(24px, 3vw, 36px); border-top: 1px solid rgba(255,255,255,0.14);
  color: var(--meta); font-family: var(--font-mono); font-size: 11px; line-height: 1.55; letter-spacing: 0.04em; text-transform: uppercase;
}
.factory-evidence strong { color: var(--surface); font-weight: 600; }

/* ─── quality ────────────────────────────────────────────────────── */
.quality-grid { align-items: start; }
.quality-photo { aspect-ratio: 4 / 3; margin-bottom: 14px; }
.quality-caption { display: flex; justify-content: space-between; gap: 16px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.07em; text-transform: uppercase; color: var(--muted); }
.ev-list { list-style: none; margin-top: 28px; border-top: 1px solid var(--border-strong); }
.ev-list li { display: flex; align-items: center; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--border); font-size: 15px; color: var(--fg-2); }
.ev-list li::before { content: ""; width: 7px; height: 7px; background: var(--fg); flex: none; }
.trace-panel { background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: 28px; }
.trace-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.trace-head .mono-label { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg); font-weight: 600; }
.trace-list { margin: 0; }
.trace-list > div { display: grid; grid-template-columns: 130px 1fr; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--border); }
.trace-list dt { color: var(--muted); font-size: 14px; }
.trace-list dd { margin: 0; font-family: var(--font-mono); font-size: 14px; color: var(--fg-2); text-align: right; }
.trace-note { margin: 18px 0 0; font-size: 12px; color: var(--meta); }

/* ─── workflow ───────────────────────────────────────────────────── */
.wf-row {
  display: grid; grid-template-columns: 76px 1fr auto; gap: var(--gap-lg); align-items: center;
  padding: 26px 0; border-top: 1px solid var(--border-strong);
}
.wf-row:last-child { border-bottom: 1px solid var(--border-strong); }
.wf-idx { font-size: 15px; color: var(--meta); }
.wf-body h3 { font-size: 20px; margin-bottom: 6px; }
.wf-body p { color: var(--muted); font-size: 15px; margin: 0; }
.wf-tag { white-space: nowrap; }

/* ─── RFQ CTA ────────────────────────────────────────────────────── */
.cta-dark { padding-block: clamp(72px, 10vw, 140px); }
.cta-dark-inner { max-width: 780px; margin-inline: auto; text-align: center; }
.cta-dark-inner h2 { margin-bottom: 20px; }
.cta-dark-inner .lead { margin: 0 auto 34px; }
.rfq-contact-row { display: flex; justify-content: center; }
.rfq-email {
  width: min(100%, 460px); padding: 10px 2px 12px;
  display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 13px;
  appearance: none; color: #FFFFFF; background: transparent; border: 0; border-bottom: 2px solid rgba(255,255,255,.22);
  border-radius: 0; text-align: left; cursor: pointer; font: inherit;
  transition: color var(--motion) var(--ease), border-color var(--motion) var(--ease);
}
.rfq-email:hover { color: #FFFFFF; border-color: var(--accent); }
.rfq-email:focus-visible { outline: none; box-shadow: 0 3px 0 var(--accent); }
.rfq-email-icon {
  width: 34px; height: 34px; display: grid; place-items: center;
  color: var(--accent); font-family: var(--font-display); font-size: 22px; font-weight: 800;
}
.rfq-email-copy { display: grid; gap: 4px; min-width: 0; }
.rfq-email-label, .foot-email-label {
  font-family: var(--font-mono); font-size: 10px; font-weight: 700;
  letter-spacing: .12em; line-height: 1.2; text-transform: uppercase;
}
.rfq-email-label { color: rgba(255,255,255,.58); }
.rfq-email-address {
  overflow-wrap: anywhere; font-family: var(--font-display); font-size: clamp(16px, 2vw, 20px);
  font-weight: 750; letter-spacing: -.018em; line-height: 1.15;
}
.rfq-email-action, .foot-email-action {
  color: var(--accent); font-family: var(--font-mono); font-size: 10px; font-weight: 700;
  letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; white-space: nowrap;
}
.rfq-email.is-copied .rfq-email-action, .foot-email.is-copied .foot-email-action { color: #FFFFFF; }
.cta-dark-inner .meta { margin-top: 28px; }

/* ─── footer ─────────────────────────────────────────────────────── */
.pagefoot { background: var(--ink); color: #F7F6F2; padding-block: 72px 40px; }
.foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1.3fr; gap: var(--gap-xl); }
.foot-brand p { margin: 18px 0 0; }
.foot-tag { font-family: var(--font-display); font-weight: 600; font-size: 16px; color: #F7F6F2; }
.foot-desc { color: var(--meta); font-size: 14px; max-width: 34ch; }
.foot-col .foot-heading { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--meta); font-weight: 600; margin: 0 0 18px; }
.foot-col a { display: block; color: #C6CBD3; font-size: 14px; padding: 6px 0; transition: color var(--motion) var(--ease); }
.foot-col a:hover { color: #FFFFFF; }
.foot-col .foot-note { color: var(--meta); font-size: 13px; padding: 6px 0; }
.foot-col .foot-email {
  width: 100%; display: grid; gap: 4px; margin: 8px 0 7px; padding: 7px 0 10px;
  appearance: none; color: #FFFFFF; background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.18);
  border-radius: 0; text-align: left; cursor: pointer; font: inherit;
}
.foot-col .foot-email:hover { color: #FFFFFF; border-bottom-color: var(--accent); }
.foot-col .foot-email:focus-visible { outline: none; box-shadow: 0 2px 0 var(--accent); }
.foot-email-label { color: var(--meta); }
.foot-email-address { overflow-wrap: anywhere; font-family: var(--font-display); font-size: 13px; font-weight: 700; letter-spacing: -.01em; }
.foot-bottom {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px;
  margin-top: 56px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.1);
  font-size: 13px; color: var(--meta);
}
.foot-legal a { color: var(--meta); margin-left: 20px; }
.foot-legal a:hover { color: #FFFFFF; }

/* ─── reveal on scroll ───────────────────────────────────────────── */
.js .reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.6s var(--ease), transform 0.6s var(--ease); }
.js .reveal.in { opacity: 1; transform: none; }

/* ─── responsive ─────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .grid-4, .grid-5 { grid-template-columns: repeat(2, 1fr); }
  .process-track { grid-template-columns: repeat(3, 1fr); }
  .foot-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 920px) {
  .nav-links {
    position: absolute; top: var(--nav-h); left: 0; right: 0; background: var(--ink);
    flex-direction: column; align-items: stretch; gap: 0; padding: 8px 24px 22px;
    display: none; border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .nav-links.open { display: flex; }
  .nav-links a:not(.btn) { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,0.07); font-size: 15px; }
  .nav-links .nav-cta { margin-top: 16px; }
  .language-switcher { width: 100%; padding-top: 12px; }
  .language-select { width: 100%; min-height: 44px; }
  .nav-toggle { display: flex; }
  .grid-2, .grid-3 { grid-template-columns: 1fr; }
  .hero { min-height: 80vh; }
  .hero-note { display: none; }
  .prod-row { grid-template-columns: 120px 1fr; }
  .prod-cat { grid-column: 1 / -1; text-align: left; }
  .prod-row .btn { grid-column: 1 / -1; justify-content: flex-start; }
  .wf-row { grid-template-columns: 56px 1fr; }
  .wf-tag { grid-column: 1 / -1; }
  .proof-head { align-items: flex-start; flex-direction: column; gap: 26px; }
  .campus-trigger { width: min(100%, 320px); flex-basis: auto; }
  .proof-summary { grid-template-columns: 1fr; }
  .factory-advantages { grid-template-columns: 1fr; }
  .factory-advantage { border-left: 0; border-top: 1px solid rgba(255,255,255,0.14); }
  .factory-advantage:first-child { border-top: 0; }
  .factory-evidence { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  :root { --gutter: 24px; }
  .brand-lockup { width: 132px; }
  .grid-4, .grid-5 { grid-template-columns: 1fr; }
  .hero { min-height: 760px; padding-block: 108px 64px; }
  .hero-bg img { opacity: 0.3; object-position: 58% center; }
  .hero-inner h1 { font-size: 40px; line-height: 1.03; }
  html[lang^="zh"] .hero-inner h1 { font-size: 36px; line-height: 1.12; }
  .hero-inner .lead { font-size: 16px; line-height: 1.5; color: color-mix(in oklab, var(--meta) 72%, white); }
  .hero-meta { gap: 10px; font-size: 10px; }
  .process-track { grid-template-columns: 1fr; gap: 0; border-top: 0; }
  .process-track li { border-top: 1px solid var(--border-strong); padding: 20px 0; }
  .process-track li::before { display: none; }
  .foot-grid { grid-template-columns: 1fr; }
  .prod-row { grid-template-columns: 1fr; }
  .trace-list > div { grid-template-columns: 1fr; gap: 4px; }
  .trace-list dd { text-align: left; }
  .growth-step { grid-template-columns: 76px 1fr; gap: 14px; }
  .campus-trigger { width: 100%; }
  html[lang^="zh"] .proof-intro h2 { max-width: 12ch; white-space: normal; }
  .solution-lightbox { padding: 12px; }
  .solution-lightbox-panel { height: calc(100vh - 24px); }
  .solution-lightbox-head { align-items: center; gap: 14px; padding: 4px 2px 14px; }
  .solution-lightbox-head h2 { font-size: 24px; }
  .solution-lightbox-stage { grid-template-columns: 1fr; gap: 0; padding-top: 14px; }
  .solution-lightbox-image-wrap { padding: 0 4px; }
  .solution-lightbox-nav { position: absolute; z-index: 3; top: 50%; width: 44px; height: 44px; background: rgba(5,14,25,.66); }
  .solution-lightbox-prev { left: 10px; }
  .solution-lightbox-next { right: 10px; }
  .solution-lightbox-caption { padding: 12px 4px 0; }
  .solution-lightbox-caption span:last-child { display: none; }
  .campus-lightbox-caption { align-items: flex-start; flex-direction: column; gap: 4px; padding-inline: 4px; }
  .campus-lightbox-caption span:last-child { display: block; }
}

@media (max-width: 900px) {
  .process-story { grid-template-columns: 1fr; }
  .process-story-head { position: static; max-width: 620px; }
  .process-gallery { grid-auto-rows: 118px; }
}

@media (max-width: 600px) {
  .process-story { padding: 16px; }
  .process-gallery { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .process-shot,
  .process-shot.span-4, .process-shot.span-5, .process-shot.span-7,
  .process-shot.span-8, .process-shot.span-12 {
    grid-column: 1; grid-row: auto; height: 260px;
  }
  .process-shot.portrait { height: 410px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-bg::before, .hero-inner > *, .js .reveal, .process-shot img { animation: none; transition: none; opacity: 1; transform: none; }
}

/* Local Phase 2C framework preview. Loaded after the production styles. */
.nav-links { gap: clamp(12px, 1.5vw, 23px); }
.nav-links a:not(.btn) { font-size: 12px; letter-spacing: .015em; white-space: nowrap; }
.nav-links .nav-cta { white-space: nowrap; font-size: 12px; padding-inline: 13px; }
.topnav .brand-lockup { width: 126px; }
.framework-hero-actions { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
.framework-hero-secondary { color: var(--ink); font-size: 14px; font-weight: 600; border-bottom: 1px solid currentColor; padding-block: 5px; }
.framework-kicker { font: 600 11px/1.5 var(--font-mono); letter-spacing: .17em; text-transform: uppercase; margin: 0 0 26px; }
.framework-arrow-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; padding: 16px 0 9px; border-bottom: 1px solid currentColor; font-size: 14px; font-weight: 600; }
.framework-arrow-link span { font-size: 23px; line-height: 1; font-weight: 400; }
.framework-feature { display: grid; grid-template-columns: minmax(0, 49fr) minmax(0, 51fr); min-height: 700px; }
.framework-wire { background: var(--ink); color: #f7f6f2; }
.framework-feature-media { overflow: hidden; min-height: 600px; }
.framework-feature-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 49%; }
.framework-feature-copy { align-self: center; padding: 90px clamp(48px, 7.5vw, 150px); }
.framework-feature-copy h2 { font-size: clamp(60px, 6.7vw, 112px); line-height: .93; letter-spacing: -.055em; }
.framework-lead { font-size: clamp(18px, 1.8vw, 25px); line-height: 1.42; max-width: 23ch; margin: 36px 0 28px; }
.framework-tagline { max-width: 36ch; color: var(--meta); font-size: 13px; line-height: 1.85; }
.framework-tagline span { padding: 0 6px; }
.framework-finish { display: block; min-height: 0; padding: clamp(80px, 9vw, 150px) 0; background: #e9e8e2; }
.framework-finish-inner { display: grid; grid-template-columns: minmax(0, 37fr) minmax(0, 63fr); align-items: center; gap: clamp(20px, 4vw, 64px); }
.framework-finish-intro { padding-right: 10px; }
.framework-finish-intro h2 { font-size: clamp(42px, 4.5vw, 68px); line-height: 1; }
.framework-finish-intro p:not(.framework-kicker) { color: var(--fg-2); max-width: 31ch; font-size: 17px; margin: 30px 0; }
.framework-finish-visual { min-width: 0; }
.framework-finish-visual img { width: 100%; aspect-ratio: 1.38; object-fit: cover; }
.framework-process-line, .framework-oem-steps { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--border-strong); padding-top: 15px; margin-top: 20px; font: 600 11px/1.5 var(--font-mono); letter-spacing: .12em; }
.framework-oem-teaser { background: var(--ink); color: #f7f6f2; padding: clamp(90px, 11vw, 165px) 0 70px; }
.framework-oem-teaser-row { display: grid; grid-template-columns: minmax(0, 60fr) minmax(0, 40fr); gap: 20px; align-items: end; }
.framework-oem-teaser h2 { font-size: clamp(58px, 7vw, 108px); line-height: .96; }
.framework-oem-teaser-row p { font-size: 18px; line-height: 1.6; color: var(--meta); max-width: 36ch; }
.framework-oem-steps { border-color: #49515a; margin-top: 110px; color: var(--meta); }
.catalog-section .catalog-selection-note { color: var(--muted); }
/* New capability and sourcing pages */
.framework-page main { overflow: clip; }
.framework-page .fp-hero { background: var(--ink); color: #f7f6f2; padding: 80px 0 95px; }
.fp-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; gap: 24px; }
.fp-hero h1 { font-size: clamp(64px, 8vw, 126px); line-height: .91; letter-spacing: -.05em; }
.fp-hero-lead { font-size: clamp(19px, 2vw, 26px); line-height: 1.42; color: #d1d3d3; max-width: 27ch; margin: 0 0 25px; }
.fp-hero-note { color: var(--meta); margin: 90px 0 0; font: 11px var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.fp-wide-image { position: relative; background: var(--ink); height: min(70vw, 760px); min-height: 450px; overflow: hidden; }
.fp-wide-image img { width: 100%; height: 100%; object-fit: cover; }
.fp-wide-image.portrait-source img { object-position: center 44%; }
.fp-wide-image figcaption { position: absolute; left: max(32px, calc((100vw - 1176px)/2)); bottom: 35px; color: #fff; font: 11px var(--font-mono); letter-spacing: .12em; text-transform: uppercase; text-shadow: 0 1px 5px #000; }
.fp-section { padding: clamp(82px, 10vw, 150px) 0; }
.fp-section-head { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; margin-bottom: 66px; }
.fp-section-head h2 { font-size: clamp(42px, 5vw, 76px); line-height: .98; }
.fp-section-head p:last-child { align-self: end; max-width: 42ch; color: var(--muted); font-size: 17px; margin: 0; }
.fp-rows { list-style: none; border-top: 1px solid var(--border-strong); }
.fp-rows li { display: grid; grid-template-columns: 80px 1fr 1fr; gap: 24px; align-items: center; border-bottom: 1px solid var(--border-strong); min-height: 94px; }
.fp-rows .fp-index { color: var(--muted); font: 12px var(--font-mono); }
.fp-rows strong { font: 600 clamp(20px, 2.1vw, 29px) var(--font-display); }
.fp-rows p { color: var(--muted); font-size: 14px; }
.fp-dark { background: var(--ink); color: #f7f6f2; }
.fp-dark .fp-section-head p:last-child, .fp-dark .fp-rows p, .fp-dark .fp-rows .fp-index { color: var(--meta); }
.fp-dark .fp-rows, .fp-dark .fp-rows li { border-color: #3a4249; }
.fp-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--border-strong); }
.fp-flow div { min-height: 125px; border-bottom: 1px solid var(--border-strong); padding: 24px 22px 24px 0; }
.fp-flow span { display: block; font: 11px var(--font-mono); color: var(--muted); margin-bottom: 22px; }
.fp-flow strong { font: 600 19px var(--font-display); }
.fp-media-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.fp-media-pair figure { background: #dddcd5; }
.fp-media-pair img { width: 100%; height: 440px; object-fit: cover; }
.fp-media-pair figcaption { padding: 13px 0; font: 11px var(--font-mono); letter-spacing: .05em; }
.fp-placeholders { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.fp-placeholder { min-height: 320px; padding: 27px; display: flex; flex-direction: column; justify-content: space-between; background: #e8e7e1; border: 1px solid var(--border-strong); }
.fp-placeholder .outline { display: grid; place-items: center; flex: 1; font: 700 clamp(45px, 8vw, 110px) var(--font-display); color: #c7c9c7; }
.fp-placeholder p { font: 11px var(--font-mono); text-transform: uppercase; letter-spacing: .1em; }
.fp-spec-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--border-strong); border-left: 1px solid var(--border-strong); }
.fp-spec-grid div { min-height: 125px; border-right: 1px solid var(--border-strong); border-bottom: 1px solid var(--border-strong); padding: 23px; }
.fp-spec-grid strong { display: block; font-size: 18px; }
.fp-spec-grid span { color: var(--muted); font: 11px var(--font-mono); letter-spacing: .08em; }
.fp-cta { padding: 110px 0; background: var(--ink); color: #f7f6f2; }
.fp-cta-inner { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.fp-cta h2 { font-size: clamp(50px, 6vw, 84px); }
/* Chair-frame scroll outline intentionally uses no customer media yet. */
.chair-intro { background: #e5e5df; padding: 120px 0 75px; }
.chair-intro h2 { font-size: clamp(64px, 8vw, 124px); line-height: .95; }
.chair-story { background: #e5e5df; }
.chair-story-layout { display: grid; grid-template-columns: minmax(0, 32fr) minmax(0, 68fr); gap: 38px; }
.chair-story-rail { position: sticky; top: 100px; height: calc(100vh - 115px); align-self: start; padding: 35px 0; border-top: 1px solid var(--border-strong); }
.chair-story-rail .number { font: 700 clamp(90px, 15vw, 220px)/.8 var(--font-display); letter-spacing: -.09em; color: #c0c4c4; }
.chair-story-rail .label { display: block; font: 11px var(--font-mono); letter-spacing: .14em; margin-top: 30px; }
.chair-story-stage { min-width: 0; }
.chair-step { min-height: 780px; border-top: 1px solid var(--border-strong); padding: 34px 0 100px; scroll-margin-top: 82px; }
.chair-step-head { display: flex; justify-content: space-between; gap: 25px; margin-bottom: 28px; }
.chair-step-head span { font: 11px var(--font-mono); letter-spacing: .1em; }
.chair-step h3 { font-size: clamp(35px, 4vw, 58px); }
.chair-step p { color: var(--muted); max-width: 46ch; }
.chair-media { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 480px; background: #d1d3d0; border: 1px solid #babfbe; color: #77807e; }
.chair-media .glyph { font: 700 clamp(100px, 18vw, 270px)/1 var(--font-display); color: #b7bebb; }
.chair-media span { font: 11px var(--font-mono); letter-spacing: .14em; text-transform: uppercase; }
.chair-step.finish .chair-media { background: #89918e; color: #f7f6f2; border-color: #89918e; }
.chair-step.finish .chair-media .glyph { color: #aeb5b1; }
.chair-step.finish .finish-stages { display: flex; justify-content: space-around; width: 100%; padding: 20px; border-top: 1px solid rgba(255,255,255,.45); font: 11px var(--font-mono); letter-spacing: .11em; }
.family-rows { list-style: none; border-top: 1px solid var(--border-strong); }
.family-rows li { display: flex; justify-content: space-between; align-items: center; min-height: 95px; border-bottom: 1px solid var(--border-strong); gap: 20px; }
.family-rows strong { font: 600 clamp(22px, 2.3vw, 32px) var(--font-display); }
.family-rows span { font: 11px var(--font-mono); letter-spacing: .1em; color: var(--muted); }
.fp-related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.fp-related a { padding: 30px 0; border-top: 1px solid var(--border-strong); font: 600 22px var(--font-display); display: flex; justify-content: space-between; }
.fp-related a span { font: 15px var(--font-mono); }
.framework-page .pagefoot { margin-top: 0; }
@media(max-width: 1100px) and (min-width: 921px) { .topnav .brand-lockup{width:104px}.nav-links{gap:10px}.nav-links a:not(.btn){font-size:10px}.nav-links .nav-cta{font-size:10px;padding-inline:9px} }
@media(max-width: 920px) {
  .nav-links { gap: 0; }
  .nav-links a:not(.btn) { font-size: 15px; }
  .topnav .brand-lockup { width: 126px; }
  .framework-feature { grid-template-columns: 1fr; }
  .framework-feature-media { min-height: 0; height: 440px; }
  .framework-feature-copy { padding: 70px var(--gutter) 80px; }
  .framework-finish-inner, .framework-oem-teaser-row { grid-template-columns: 1fr; }
  .framework-finish-visual { margin-top: 26px; }
  .framework-oem-steps { margin-top: 70px; }
  .fp-hero-grid { grid-template-columns: 1fr; }
  .fp-hero-lead { margin-top: 35px; }
  .fp-section-head { grid-template-columns: 1fr; gap: 20px; }
  .fp-rows li { grid-template-columns: 55px 1fr; }
  .fp-rows li p { grid-column: 2; margin: -12px 0 20px; }
  .chair-story-layout { grid-template-columns: 1fr; }
  .chair-story-rail { display: none; }
  .chair-step { min-height: 0; }
}
@media(max-width: 600px) {
  :root { --gutter: 20px; }
  .framework-hero-actions { gap: 10px 20px; }
  .framework-hero-secondary { font-size: 12px; }
  .framework-feature-media { height: 390px; }
  .framework-feature-copy h2 { font-size: 65px; }
  .framework-finish { padding: 85px 0; }
  .framework-finish-intro h2 { font-size: 45px; }
  .framework-process-line, .framework-oem-steps { font-size: 8px; letter-spacing: .04em; }
  .framework-oem-teaser h2 { font-size: 61px; }
  .fp-hero { padding: 65px 0 80px !important; }
  .fp-hero h1 { font-size: clamp(58px, 15vw, 78px); }
  .oem-page .fp-hero h1 { font-size: clamp(42px, 11vw, 58px); }
  .fp-hero-note { margin-top: 60px; }
  .fp-wide-image { min-height: 0; height: 420px; }
  .fp-section { padding: 82px 0; }
  .fp-section-head { margin-bottom: 45px; }
  .fp-section-head h2 { font-size: 44px; }
  .fp-flow { grid-template-columns: 1fr 1fr; }
  .fp-flow div { min-height: 120px; padding-right: 10px; }
  .fp-media-pair, .fp-placeholders, .fp-spec-grid, .fp-related { grid-template-columns: 1fr; }
  .fp-media-pair img { height: 330px; }
  .fp-spec-grid { border-left: 0; }
  .fp-spec-grid div { border-right: 0; min-height: 90px; }
  .fp-cta { padding: 90px 0; }
  .fp-cta-inner { display: block; }
  .chair-intro { padding: 88px 0 50px; }
  .chair-intro h2 { font-size: 68px; }
  .chair-step { padding: 28px 0 78px; }
  .chair-step h3 { font-size: 36px; }
  .chair-media { min-height: 295px; }
  .chair-media .glyph { font-size: 130px; }
  .family-rows li { min-height: 85px; }
  .family-rows strong { font-size: 22px; }
}

/* Phase 3 wire capability draft: extend the existing JALIN visual system. */
.wire-capability-page .fp-hero { padding-block: 80px 85px; }
.wire-capability-page .fp-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 60px; }
.wire-capability-page .fp-hero h1 { font-size: clamp(45px, 5.1vw, 78px); line-height: 1.01; max-width: 17ch; }
.wire-capability-page .fp-hero-lead { max-width: 45ch; font-size: clamp(17px, 1.45vw, 21px); line-height: 1.65; margin-bottom: 28px; }
.wire-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 25px; }
.wire-hero-actions .framework-arrow-link { font-size: 13px; gap: 14px; }
.wire-capability-page .fp-section-head h2 { font-size: clamp(37px, 4.4vw, 64px); line-height: 1.06; }
.wire-capability-page .fp-section-head { grid-template-columns: 1.1fr .9fr; gap: 60px; margin-bottom: 45px; }
.wire-capability-page .fp-section-head p:last-child { max-width: 45ch; line-height: 1.75; }
.wire-capability-page .wire-forms-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: start; }
.wire-forms-layout .fp-rows li { grid-template-columns: 38px 1fr; align-items: start; padding-block: 25px; }
.wire-forms-layout .fp-rows strong { font-size: clamp(22px, 2.2vw, 30px); }
.wire-forms-layout .fp-rows p { grid-column: 2; margin: -10px 0 0; line-height: 1.75; }
.wire-factory-image { margin: 0; }
.wire-factory-image img { display: block; width: 100%; height: auto; object-fit: cover; }
.wire-factory-image figcaption { font: 11px/1.6 var(--font-mono); letter-spacing: .045em; margin-top: 13px; }
.wire-equipment-image img { max-height: 550px; object-position: 50% 42%; }
.wire-spec-table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.75; }
.wire-spec-table th, .wire-spec-table td { border-bottom: 1px solid #424a52; padding: 22px 24px 22px 0; text-align: left; vertical-align: top; }
.wire-spec-table th { width: 28%; font-weight: 600; }
.wire-spec-table thead th { color: var(--meta); font: 11px var(--font-mono); letter-spacing: .13em; text-transform: uppercase; border-top: 1px solid #424a52; }
.wire-spec-table td { color: #d1d3d3; padding-right: 0; }
.wire-spec-table ul { margin: 0; padding-left: 20px; }
.wire-scope-note { margin-top: 28px; color: var(--meta); font-size: 14px; line-height: 1.75; max-width: 85ch; }
.wire-process-list { display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; padding: 0; border-top: 1px solid var(--border-strong); }
.wire-process-list li { padding: 28px 24px 28px 0; border-bottom: 1px solid var(--border-strong); min-height: 126px; }
.wire-process-list span { display: block; font: 11px var(--font-mono); color: var(--muted); margin-bottom: 20px; }
.wire-process-list strong { font: 600 21px/1.3 var(--font-display); }
.wire-process-copy { max-width: 70ch; color: var(--muted); font-size: 17px; line-height: 1.8; margin-block: 30px 0; }
.wire-photo-section { padding-top: 0; }
.wire-photo-section .wire-factory-image img { max-height: 560px; aspect-ratio: 1.9; }
.wire-capability-page .wire-finish-section { background: #e9e8e2; }
.wire-finish-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: center; }
.wire-finish-layout h2 { font-size: clamp(37px, 4.4vw, 64px); line-height: 1.06; }
.wire-finish-layout p:not(.framework-kicker) { margin-block: 28px; color: var(--muted); line-height: 1.8; }
.wire-finish-layout .wire-factory-image img { aspect-ratio: 1.35; }
.wire-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; border-top: 1px solid var(--border-strong); padding-top: 28px; }
.wire-checks h3 { font-size: 28px; margin-bottom: 18px; }
.wire-checks p, .wire-packing-copy p { color: var(--muted); font-size: 17px; line-height: 1.8; }
.wire-packing-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; }
.wire-packing-copy .wire-moq { font: 600 clamp(28px, 3vw, 42px)/1.15 var(--font-display); color: var(--ink); margin: 0; max-width: 18ch; }
.wire-fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.wire-fit-grid article { border-top: 1px solid #424a52; padding-top: 28px; }
.wire-fit-grid h3 { font-size: 31px; margin-bottom: 25px; }
.wire-fit-grid ul { margin: 0; padding-left: 20px; color: #d1d3d3; font-size: 16px; line-height: 1.8; }
.wire-fit-grid li { margin-bottom: 14px; }
.wire-faq { border-top: 1px solid var(--border-strong); }
.wire-faq-item { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; padding: 30px 0; border-bottom: 1px solid var(--border-strong); }
.wire-faq-item h3 { font-size: 24px; line-height: 1.3; }
.wire-faq-item p { margin: 0; font-size: 16px; line-height: 1.8; color: var(--muted); }
.wire-capability-page .fp-cta h2 { max-width: 21ch; font-size: clamp(38px, 4.2vw, 65px); line-height: 1.07; }
.wire-cta-links { display: flex; flex-direction: column; gap: 15px; align-items: start; flex: 0 0 auto; }
.wire-cta-email { font-size: 16px; text-decoration: underline; text-underline-offset: 5px; }
.wire-related-links { display: flex; gap: 25px; flex-wrap: wrap; margin-top: 60px; padding-top: 25px; border-top: 1px solid #424a52; font-size: 14px; color: var(--meta); }
.wire-legal-footer { display: flex; justify-content: space-between; gap: 28px; padding-block: 42px; flex-wrap: wrap; }
.wire-legal-footer p { margin: 6px 0 0; font-size: 13px; color: var(--muted); }
.wire-legal-footer a { align-self: start; }
@media (max-width: 920px) {
  .wire-capability-page .fp-hero-grid, .wire-capability-page .fp-section-head,
  .wire-capability-page .wire-forms-layout, .wire-finish-layout { grid-template-columns: 1fr; gap: 30px; }
  .wire-capability-page .fp-hero h1 { max-width: 20ch; }
  .wire-capability-page .fp-hero-lead { margin-top: 0; max-width: 62ch; }
  .wire-equipment-image img { max-height: 520px; }
  .wire-process-list { grid-template-columns: 1fr 1fr; }
  .wire-finish-layout .wire-factory-image { margin-top: 10px; }
  .wire-fit-grid { gap: 35px; }
}
@media (max-width: 600px) {
  .wire-capability-page .fp-hero { padding-block: 56px 65px !important; }
  .wire-capability-page .fp-hero h1 { font-size: clamp(34px, 9.8vw, 50px); line-height: 1.06; max-width: none; }
  .wire-capability-page .framework-kicker { font-size: 10px; letter-spacing: .13em; margin-bottom: 23px; }
  .wire-capability-page .fp-section { padding-block: 68px; }
  .wire-capability-page .fp-section-head h2, .wire-finish-layout h2 { font-size: 36px; }
  .wire-capability-page .fp-section-head { margin-bottom: 30px; }
  .wire-capability-page .fp-section-head p:last-child { font-size: 16px; }
  .wire-forms-layout .fp-rows li { grid-template-columns: 28px 1fr; gap: 16px; }
  .wire-equipment-image img { max-height: 415px; }
  .wire-spec-table { font-size: 14px; }
  .wire-spec-table th { width: 34%; }
  .wire-spec-table th, .wire-spec-table td { padding-block: 19px; }
  .wire-spec-table th { padding-right: 15px; }
  .wire-spec-table ul { padding-left: 15px; }
  .wire-process-list li { padding-right: 15px; }
  .wire-process-list strong { font-size: 19px; }
  .wire-photo-section { padding-top: 0 !important; }
  .wire-photo-section .wire-factory-image img { aspect-ratio: 1.15; }
  .wire-checks, .wire-packing-copy, .wire-fit-grid, .wire-faq-item { grid-template-columns: 1fr; gap: 24px; }
  .wire-packing-copy .wire-moq { max-width: none; }
  .wire-faq-item { gap: 15px; padding-block: 27px; }
  .wire-faq-item h3 { font-size: 22px; }
  .wire-faq-item p { font-size: 15px; }
  .wire-cta-links { margin-top: 30px; }
  .wire-related-links { gap: 18px; margin-top: 40px; }
}

/* Phase 3: semantic content within the existing JALIN visual system. */
.glance-brand-statement { font-family:var(--font-display); margin:0; font-weight:800; }
.glance-copy h1.phase3-positioning { font-size:clamp(19px,1.8vw,25px)!important; line-height:1.45!important; letter-spacing:-.015em!important; font-weight:600; margin:25px 0 12px; color:#343e47; max-width:32ch; }
.phase3-home-answer { padding:40px 0; border-bottom:1px solid var(--border); }
.phase3-home-answer .phase3-answer { max-width:85ch; margin:0; color:var(--fg-2); font-size:17px; line-height:1.8; }
.why-hero-row h1 { font-size:clamp(34px,4.1vw,59px); line-height:1.08; }
.why-hero-statement.phase3-answer { font-family:var(--font-body); font-size:17px; line-height:1.75; letter-spacing:0; max-width:55ch; }
.phase3-context-link { display:inline-flex; align-items:center; gap:10px; color:var(--accent); text-decoration:underline; text-underline-offset:4px; font-size:14px; }
.production-track > li > .phase3-context-link { margin:16px 0 0; }
.phase3-catalog-text { padding:25px 28px 28px; border-top:1px solid var(--border); }
.phase3-catalog-text h3 { font-size:21px; margin:0 0 10px; }
.phase3-catalog-text p { color:var(--muted); font-size:14px; max-width:85ch; }
.phase3-catalog-text ul { columns:2; padding-left:18px; color:var(--fg-2); font-size:13px; line-height:1.75; }
.phase3-catalog-text li { break-inside:avoid; margin-bottom:5px; padding-right:20px; }
.phase3-certificate-copy { font-size:14px; line-height:1.8; max-width:85ch; color:var(--fg-2); }
.phase3-certificate-copy a { color:var(--accent); text-decoration:underline; }
.certificate-logo-grid { grid-template-columns:minmax(100px,180px); }
.certificate-logo-grid .certificate-document { border-left:0; padding-left:0; grid-column:auto; justify-self:start; }
.phase3-entity { display:flex; flex-wrap:wrap; gap:6px 20px; padding:25px max(var(--gutter), calc((100% - 1176px)/2)); font-size:12px; line-height:1.8; color:var(--muted); border-top:1px solid var(--border); }
.inquiry-header > .phase3-entity { grid-column:1/-1; padding:16px 0; order:3; }
.phase3-entity a { overflow-wrap:anywhere; }
.phase3-legacy-redirect { min-height:70vh; padding-block:90px; }
.phase3-legacy-redirect h1 { font-size:clamp(35px,5vw,66px); max-width:20ch; margin-bottom:30px; }
html[data-script="cjk"] .framework-oem-teaser[lang="en"] h2 { font-family:var(--font-latin-display); letter-spacing:-.05em; line-height:.96; }
@media(max-width:920px) {
 .framework-oem-teaser-row { grid-template-columns:minmax(0,1fr); }
}
@media(min-width:921px) {
 .oem-page .fp-hero h1 { font-size:clamp(42px,5.3vw,76px); }
}
@media(max-width:650px) {
 .phase3-home-answer { padding:30px 0; }
 .phase3-home-answer .phase3-answer { font-size:15px; }
 .why-hero-row h1 { font-size:35px; }
 .why-hero-statement.phase3-answer { font-size:16px; }
 .phase3-catalog-text { padding:20px; }
 .phase3-catalog-text ul { columns:1; }
 .phase3-entity { flex-direction:column; gap:3px; }
 .glance-copy h1.phase3-positioning { max-width:100%; }
}

/* Phase 3.1: content additions within the existing typography and layout. */
.phase31-history { margin:22px 0 0; max-width:85ch; color:var(--fg-2); font-size:16px; line-height:1.8; }
.phase31-faq { padding-block:80px; border-top:1px solid var(--border); }
.phase31-faq h2 { font-family:var(--font-display); font-size:clamp(30px,3.5vw,48px); line-height:1.15; margin:0 0 38px; }
.phase31-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 54px; }
.phase31-faq-item { border-top:1px solid var(--border); padding:25px 0; min-width:0; }
.phase31-faq-item h3 { font-size:20px; line-height:1.4; margin:0 0 12px; }
.phase31-faq-item p { font-size:16px; line-height:1.8; color:var(--muted); max-width:70ch; margin:0; overflow-wrap:anywhere; }
.phase31-detail { margin:26px 0; max-width:85ch; font-size:16px; line-height:1.8; color:var(--fg-2); }
.phase31-detail h3 { font-size:23px; line-height:1.4; margin:0 0 14px; }
.phase31-detail p { margin:10px 0; }
.phase31-spec-list { margin:18px 0 24px; padding-left:22px; font-size:16px; line-height:1.8; color:var(--fg-2); }
.phase31-spec-list li { margin:8px 0; break-inside:avoid; }
.phase31-equipment-list { columns:2; column-gap:42px; }
.phase31-retail-reference { padding:18px 0; border-top:1px solid var(--border); font-size:18px; line-height:1.7; }
.phase31-retail-reference a { display:inline-block; margin-top:18px; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.phase31-footer-entity { margin-top:20px; align-items:center; }
.phase31-footer-entity .phase31-legal { display:flex; flex-direction:column; gap:2px; }
.phase31-footer-entity address { font-style:normal; }
.glance-stats .glance-stat-iso strong { font-size:clamp(24px,2.5vw,38px); display:block; }
.glance-stats .glance-stat-iso strong em { display:block; margin:6px 0 0; font-size:23px; color:inherit; }
@media(max-width:650px) {
 .phase31-faq { padding-block:55px; }
 .phase31-faq-grid { grid-template-columns:minmax(0,1fr); }
 .phase31-faq-item h3 { font-size:19px; }
 .phase31-faq h2 { margin-bottom:28px; }
 .phase31-equipment-list { columns:1; }
 .phase31-history,.phase31-detail,.phase31-spec-list { font-size:15px; }
 .phase31-footer-entity { align-items:flex-start; }
 .glance-stats .glance-stat-iso strong { font-size:28px; }
 .glance-stats .glance-stat-iso strong em { font-size:19px; }
}

:root{--ink:#10161d;--muted:#586575;--blue:#1647e8;--sky:#68b9e6;--paper:#f7f6f2;--line:#e3e5e8;--radius:8px;--container:1240px;--section-gap:96px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.65 Inter,Arial,'Noto Sans CJK SC','PingFang SC','Hiragino Kaku Gothic ProN','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:none}img{max-width:100%;height:auto;display:block}figure{margin:0}h1,h2,h3,h4{font-family:Archivo,Inter,Arial,'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);line-height:1.16;letter-spacing:-.035em;margin:0 0 20px;font-weight:700}h1{font-size:clamp(36px,3.7vw,52px)}h2{font-size:36px}h3{font-size:24px}h4{font-size:18px}p{margin:0 0 18px}ul,ol{padding-left:24px}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}.container{width:calc(100% - 80px);max-width:1240px;margin-inline:auto}.section{padding:var(--section-gap) 0}.eyebrow{font:600 11px/1.6 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}.section-heading h2{margin-bottom:0}.section-intro{max-width:68ch;color:var(--muted);margin-bottom:28px}.btn,.refined-site .btn,.inquiry-submit,.inquiry-copy{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:11px 20px;border-radius:6px;border:1px solid transparent;font:600 14px/1.5 Inter,Arial,sans-serif;white-space:normal;text-align:center;text-decoration:none;transition:background .15s,color .15s}.btn-primary,.refined-site .btn-primary{background:var(--blue);color:white;border-color:var(--blue)}.btn-primary:hover{background:#103bc4}.btn-secondary,.refined-site .btn-secondary{background:white;color:var(--ink);border-color:#89919a}.btn-secondary:hover{border-color:var(--blue);color:var(--blue)}.text-link{display:inline-flex;gap:12px;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:var(--blue)}.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}.skip-link{position:fixed;top:-90px;left:20px;z-index:5000;background:white;border:2px solid var(--blue);padding:10px}.skip-link:focus{top:8px}
/* Shared navigation has the same behavior and dimensions on every page. */
.topnav{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--line);height:auto!important;box-shadow:none;backdrop-filter:none}.topnav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;position:static}.topnav .brand{flex:0 0 auto;display:block;width:112px;height:auto;line-height:1}.topnav .brand img{width:112px;height:auto;max-height:none}.topnav .nav-links{display:flex;align-items:center;gap:25px;margin-left:auto;position:static;background:none;padding:0;box-shadow:none}.nav-links>a,.nav-group>summary{font-size:13px;font-weight:500;min-height:44px;display:flex;align-items:center;gap:6px;color:var(--ink);cursor:pointer;padding:0;white-space:nowrap;list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group>summary:after{content:'⌄';font-size:15px;color:var(--muted)}.nav-group[open]>summary{color:var(--blue)}.nav-group[open]>summary:after{transform:rotate(180deg)}.nav-links a[aria-current=page]{color:var(--blue)}.nav-tools{display:flex;align-items:center;gap:12px;margin:0}.language-select{height:42px!important;min-width:88px;max-width:118px;padding:8px 25px 8px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:12px!important;letter-spacing:0}.language-switcher{margin:0;display:block}.language-links{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.nav-tools>.nav-main-cta{font-size:12px;min-height:44px;padding-inline:15px}.nav-toggle{display:none}.nav-mega{position:absolute;left:50%;transform:translateX(-50%);top:87px;width:min(1240px,calc(100vw - 80px));padding:28px;background:#fff;border:1px solid var(--line);border-radius:0 0 8px 8px;box-shadow:0 16px 32px #10161d12}.nav-mega-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:16px;font-size:14px}.nav-mega-heading a{min-height:44px;display:flex;align-items:center}.nav-product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.nav-product-grid a{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;min-height:78px;color:var(--ink);font-size:12px;line-height:1.4}.nav-product-grid img{width:58px;height:64px;object-fit:contain;border-radius:4px;background:#f9f9f8}.nav-product-grid span span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.nav-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.nav-process-grid a{padding:15px;color:var(--ink);background:var(--paper);border-radius:8px;display:flex;flex-direction:column;font-size:16px;font-weight:600}.nav-process-grid small{color:var(--muted);font-weight:400;font-size:12px;margin-top:8px}
/* A compact four-column footer is shared by all routes. */
.pagefoot{padding:58px 0 22px!important;margin:0;background:var(--ink)!important;color:#c8d0d8}.pagefoot .foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:44px;padding:0;margin:0}.pagefoot .foot-logo{width:125px;height:auto;background:#fff;border-radius:3px;margin-bottom:20px}.foot-brand p{color:#c8d0d8;font-size:13px;max-width:29ch}.foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:0}.pagefoot .foot-heading{font-size:14px;letter-spacing:.01em;color:#fff;margin:0 0 14px;line-height:1.4}.foot-col>a{display:flex;align-items:center;min-height:37px;color:#c8d0d8;font-size:12px;line-height:1.5}.foot-col>a:hover{color:#fff}.foot-col a[href^=mailto]{word-break:break-word}.pagefoot .phase31-footer-entity{max-width:1240px;width:100%;padding:25px 0 0;margin:26px 0 0;border-top:1px solid #ffffff24;border-bottom:0;background:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;align-items:start;color:#bcc7d3;font-size:11px}.phase31-footer-entity address{font-style:normal;color:#bcc7d3}.legal-label{display:block;color:#93a3b4;margin-bottom:4px;font-size:10px}.pagefoot .foot-bottom{border-top:0;padding:18px 0 0;margin:0;display:flex;justify-content:space-between;gap:20px;color:#9ba9b8;font-size:11px}.pagefoot .foot-bottom a{color:#bec9d5;min-height:44px;display:flex;align-items:center}.mobile-contact{display:none}.reveal{opacity:1!important;transform:none!important;visibility:visible!important}body.lightbox-open{overflow:hidden}.refined-site [id]{scroll-margin-top:112px}
@media(min-width:761px) and (max-width:1100px){.topnav-inner{gap:14px}.topnav .nav-links{gap:14px}.nav-tools>.nav-main-cta{display:none}.nav-mega{width:calc(100vw - 48px)}}
@media(max-width:760px){:root{--section-gap:56px}body{font-size:15px;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.container{width:calc(100% - 40px)}h1{font-size:32px;line-height:1.1;letter-spacing:-.035em}h2{font-size:26px}h3{font-size:20px}h4{font-size:17px}.section-heading{align-items:start;gap:12px;flex-direction:column;margin-bottom:16px}.section-heading>.text-link{font-size:13px}.eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:13px}.topnav-inner{min-height:70px;gap:14px}.topnav .brand,.topnav .brand img{width:94px}.nav-tools{margin-left:auto;gap:10px}.nav-tools>.nav-main-cta{display:none}.language-select{min-width:88px;max-width:110px;height:40px!important;font-size:12px!important}.nav-toggle{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:none;min-width:44px;min-height:44px;padding:10px;margin:0}.nav-toggle span{height:2px;width:22px;background:var(--ink);display:block}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.topnav .nav-links{display:none;position:fixed;inset:70px 0 0;background:#fff;padding:20px;overflow-y:auto;z-index:1001;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin:0}.topnav .nav-links.open{display:flex}.nav-links>a,.nav-group>summary{min-height:54px;border-bottom:1px solid var(--line);font-size:16px}.nav-group>summary{justify-content:space-between}.nav-mega{position:static;transform:none;width:auto;box-shadow:none;border:0;padding:12px 0 20px}.nav-mega-heading{font-size:12px;margin:0;padding:0 0 8px;align-items:center}.nav-product-grid{grid-template-columns:1fr;gap:2px}.nav-product-grid a{grid-template-columns:58px 1fr;min-height:65px;font-size:14px}.nav-product-grid img{height:58px}.nav-process-grid{grid-template-columns:1fr;gap:8px}.nav-process-grid a{font-size:14px;min-height:60px}.nav-process-grid small{font-size:12px}.pagefoot{padding-top:42px!important}.pagefoot .foot-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.pagefoot .foot-brand{grid-column:1/-1}.foot-brand p{max-width:45ch}.pagefoot .foot-heading{font-size:14px}.foot-col>a{font-size:12px;min-height:44px}.pagefoot .phase31-footer-entity{grid-template-columns:1fr;gap:14px;margin-top:30px;padding-top:24px;font-size:11px}.mobile-contact{position:fixed;z-index:900;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:8px 20px calc(8px + env(safe-area-inset-bottom));height:calc(64px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1.2fr 1fr;gap:10px;box-shadow:0 -2px 12px #10161d08}.mobile-contact .btn{min-height:46px;padding:8px;font-size:13px}.lightbox-open .mobile-contact,.menu-open .mobile-contact,.rfq-in-view .mobile-contact{display:none}.refined-site [id]{scroll-margin-top:90px}.btn{min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Neutralize inherited header spacing on capability templates. */
.refined-site .container{padding-inline:0}.refined-site .topnav-inner{height:auto}.refined-site .topnav .nav-tools{width:auto;flex:none;padding:0}.refined-site .topnav .language-switcher{display:block;width:auto;padding:0;max-width:none;height:auto}.refined-site .topnav .language-select{width:103px!important;max-width:103px!important;min-height:44px!important;margin:0}.refined-site .topnav .sr-only{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}.refined-site .pagefoot .foot-brand .text-link{color:#a8c6ff}
html[data-script=cjk] .refined-site h1,html[data-script=cjk] .refined-site h2,html[data-script=cjk] .refined-site h3{letter-spacing:-.015em;line-height:1.3}html[data-script=cjk] .refined-site .hero-copy h1{max-width:15ch}html[data-script=cjk] .refined-site .nav-product-grid a{font-size:12px}
@media(max-width:760px){.refined-site .topnav .language-select{width:103px!important}.refined-site .topnav-inner{min-height:70px}.refined-site .nav-tools{gap:10px}.refined-site .nav-tools .nav-toggle{flex:none}html[data-script=cjk] .refined-site .hero-copy h1{max-width:none;line-height:1.25}.refined-site .language-switcher:before{display:none}.refined-site .pagefoot .foot-grid{gap:26px 20px}}

body.menu-open{overflow:hidden}
/* Locale fonts share the same scale and grid; language does not enlarge body copy. */
html:lang(zh-CN){--font-body:'PingFang SC','Microsoft YaHei',sans-serif;--font-display:var(--font-body)}html:lang(zh-TW){--font-body:'PingFang TC','Microsoft JhengHei',sans-serif;--font-display:var(--font-body)}html:lang(ja){--font-body:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--font-display:var(--font-body)}html[data-script=cjk] .refined-site{font-family:var(--font-body);line-break:strict;overflow-wrap:break-word}html[data-script=cjk] .refined-site :is(h1,h2,h3,h4,button,input,select,textarea){font-family:var(--font-body)}html[data-script=cjk] .refined-site .eyebrow{letter-spacing:.05em}.refined-site .language-links:focus-within{left:auto;right:20px;top:100%;width:auto;height:auto;clip:auto;overflow:visible;padding:12px 20px;background:white;border:1px solid var(--line);border-radius:8px;display:grid;z-index:1100}.language-links:focus-within a{min-height:44px;display:flex;align-items:center}

/* Phase 3.5 fix - oem-manufacturing.html only. Its bundle pairs site-base.css (the legacy dark
   header) with this refined shell, so two legacy rules survive:
     .nav-links a:not(.btn) { color: var(--meta) }        -> #AAB2BB nav text on a white bar
     .language-select { font-family: var(--font-mono) }    -> monospace language selector
   The .nav-links rule wins on specificity (0,2,1 vs the 0,1,1 refined rule) and the refined
   .topnav{background:#fff} never reset colour, so that header rendered #AAB2BB (1.9:1) text
   where every other page renders var(--ink). Scoped to .oem-page: no other page is touched,
   and [aria-current] links keep the refined blue. --font-body keeps the CJK override, with
   inherit as the fallback on pages that do not define it.
*/
.oem-page .topnav { color: var(--ink); }

.oem-page .topnav .nav-links > a:not(.btn):not([aria-current]),
.oem-page .topnav .nav-group > summary { color: var(--ink); }

.oem-page .topnav .language-select { font-family: var(--font-body, inherit); color-scheme: light; }

/* Inner pages share a readable, evidence-led grid. No changes to factory claims. */
.inner-refined { color:#10161d; background:#fff; }
.inner-refined .container { max-width:1240px; }
.inner-refined :is(.why-hero,.fp-hero) { padding:64px 0; background:#f7f6f2; color:#10161d; }
.inner-refined :is(.why-hero h1,.fp-hero h1) { max-width:none; font-size:52px; line-height:1.08; letter-spacing:-.035em; }
.inner-refined .why-hero-row,.inner-refined .fp-hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.inner-refined .why-hero h1::after { width:48px; height:3px; margin-top:24px; }
.inner-refined .why-hero-statement,.inner-refined .fp-hero-lead { max-width:68ch; font:400 17px/1.65 var(--font-body); color:#52606b; margin:0; letter-spacing:normal; }
.inner-refined .inner-hero-copy h1 { margin-bottom:24px; }
.inner-refined .inner-hero-copy .fp-hero-lead { margin-bottom:24px; }
.inner-refined .framework-kicker { margin-bottom:20px; color:#597182; }
.inner-refined .inner-hero-media { margin:0; min-width:0; }
.inner-refined .inner-hero-media img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:cover; border-radius:4px; background:transparent; }
.inner-refined .inner-hero-machine { width:72%; max-width:400px; justify-self:center; }
.inner-refined .inner-hero-machine img { aspect-ratio:auto; object-fit:contain; background:transparent; }
.inner-refined .inner-hero-media figcaption { margin-top:12px; font-size:12px; color:#52606b; }
.inner-refined .wire-hero-actions { gap:12px 20px; }
.inner-refined .framework-arrow-link { min-height:44px; gap:16px; padding:12px 0; color:#1647e8; }
.inner-refined :is(.capability,.fp-section) { padding:80px 0; }
.inner-refined :is(.capability h2,.fp-section h2,.chair-intro h2,.why-closing h2,.fp-cta h2) { font-size:36px; line-height:1.18; letter-spacing:-.025em; }
.inner-refined :is(.capability-head,.fp-section-head) { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; margin-bottom:32px; }
.inner-refined :is(.capability-intro,.fp-section-head p:last-child,.wire-process-copy,.wire-checks p,.wire-packing-copy p) { font-size:16px; line-height:1.65; max-width:68ch; }
.inner-refined .process-headline { font-size:22px; line-height:1.4; margin-top:16px; }
.inner-refined .capability-number { margin-bottom:12px; }
.inner-refined :is(.why-photo,.wire-factory-image,.inner-hero-media) { padding:0; border:0; background:transparent; box-shadow:none; }
.inner-refined :is(.why-photo img,.wire-factory-image img) { border:0; border-radius:4px; background:transparent; box-shadow:none; }
/* Natural photo proportions retain the complete machinery, without padded image mats. */
.inner-refined .inner-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.inner-refined .inner-photo-grid > * { grid-column:auto; width:auto; min-width:0; }
.inner-refined .inner-photo-grid img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:cover; background:transparent; }
.inner-refined .inner-photo-grid img.inner-portrait-image { object-fit:contain; }
.inner-refined .why-photo figcaption { display:flex; align-items:baseline; gap:10px; font-size:13px; line-height:1.5; padding-top:12px; }
.inner-refined .why-photo figcaption > span:last-child { min-width:0; }
.inner-refined .why-photo figcaption > span:last-child > span { display:block; font:inherit; color:inherit; padding:0; }
.inner-refined .why-photo figcaption a { display:inline-flex; min-height:36px; align-items:center; margin-top:4px; font-size:13px; }
.inner-refined .inner-disclosure { border:1px solid #e3e5e8; border-radius:8px; padding:0; margin:24px 0; background:#fff; }
.inner-refined .inner-disclosure > summary { cursor:pointer; min-height:56px; padding:18px 22px; font-size:17px; font-weight:600; }
.inner-refined .inner-disclosure > summary h3 { display:inline; font:inherit; }
.inner-refined .inner-disclosure > summary p { margin:10px 0 0; font-size:14px; color:#52606b; font-weight:400; }
.inner-refined .inner-disclosure > :not(summary) { margin:0; padding:8px 22px 22px; }
.inner-refined .inner-disclosure > .phase31-spec-list { padding-left:42px; }
.inner-refined .inner-disclosure > .inner-photo-grid { padding-top:12px; }
.inner-refined .inner-disclosure > .inspect-chain { margin:0; }
.inner-refined .inner-disclosure > .why-subhead { display:list-item; border:0; }
.inner-refined .phase31-detail { max-width:none; }
.inner-refined .why-range-opener { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:center; gap:32px; }
.inner-refined .why-range-opener > .why-photo img { aspect-ratio:auto; object-fit:cover; }
.inner-refined .why-range-number { font-size:64px; }
.inner-refined .why-range-details { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.inner-refined .why-range-details > .why-photo { grid-column:auto; width:auto; }
.inner-refined .why-range-details img { aspect-ratio:auto; object-fit:cover; }
.inner-refined .why-qc-opener { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.inner-refined .why-qc-opener > .why-photo { grid-column:auto; width:auto; padding:0; }
.inner-refined .why-qc-opener img { height:auto; aspect-ratio:4/3; object-fit:cover; }
.inner-refined .why-qc-opener img.inner-portrait-image { object-fit:contain; background:transparent; }
.inner-refined .why-qc-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:row; gap:24px; margin-top:24px; overflow:visible; }
.inner-refined .why-qc-group { padding:0; border:0; border-radius:0; background:transparent; }
.inner-refined .why-qc-group-media { height:auto; gap:12px; align-items:start; overflow:visible; background:transparent; }
.inner-refined .why-qc-group-media .why-photo img { height:auto; aspect-ratio:auto; object-fit:contain; background:transparent; border-radius:4px; }
.inner-refined .why-qc-group-caption { margin-top:16px; border:0; padding:0; }
.inner-refined .why-qc-group-caption h3 { font-size:16px; }
.inner-refined .certificate-section { padding:64px 0; background:#f7f6f2; }
.inner-refined .inner-certificate-card { display:grid; grid-template-columns:minmax(0,1fr) 180px; grid-template-rows:auto 1fr; gap:16px 48px; align-items:center; padding:32px; background:#fff; border:1px solid #e3e5e8; border-radius:8px; }
.inner-refined .inner-certificate-card .certificate-intro { grid-column:1; grid-row:1; }
.inner-refined .inner-certificate-card .phase3-certificate-copy { grid-column:1; grid-row:2; max-width:65ch; margin:0; }
.inner-refined .inner-certificate-card .certificate-logo-grid { grid-column:2; grid-row:1/3; display:block; margin:0; padding:0; }
.inner-refined .inner-certificate-card .certificate-document { width:auto; }
.inner-refined .inner-certificate-card .certificate-preview { display:block; }
.inner-refined .inner-certificate-card .certificate-preview img { width:160px; height:auto; max-height:none; border:1px solid #e3e5e8; object-fit:contain; }
.inner-refined .inner-certificate-card .certificate-preview-label { margin-top:10px; display:flex; gap:12px; }
/* Production photos use the same grid, without full-viewport portraits. */
.inner-refined .production-photo-layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.inner-refined .production-photo-layout:is(.layout-form,.layout-surface) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.inner-refined .production-photo-layout > .why-photo { grid-column:auto; grid-row:auto; width:auto; max-width:none; }
.inner-refined .production-photo-layout .why-photo img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; max-height:none; }
.inner-refined .production-photo-layout .why-photo img.inner-portrait-image { object-fit:contain; background:transparent; }
.inner-refined .production-photo-layout .pack-gallery { grid-column:1/-1; margin-top:0; gap:24px; }
.inner-refined .production-photo-layout .pack-gallery .why-photo { grid-column:auto; }
.inner-refined .inspect-pack-block + .inspect-pack-block { margin-top:24px; }
.inner-refined .why-subhead { margin-top:24px; padding-top:24px; }
.inner-refined .process-scope { margin-top:16px; padding-top:16px; }
.inner-refined .phase31-spec-list { font-size:15px; line-height:1.65; }
/* White specification surfaces separate the content without alternating dark panels. */
.inner-refined .inner-light-panel { background:#f7f6f2; color:#10161d; }
.inner-refined .inner-light-panel :is(.fp-section-head p:last-child,.wire-scope-note,.wire-spec-table td,.wire-spec-table thead th,.wire-fit-grid ul) { color:#52606b; }
.inner-refined .wire-spec-table { border:1px solid #e3e5e8; background:#fff; border-radius:8px; }
.inner-refined .wire-spec-table th,.inner-refined .wire-spec-table td { padding:16px 20px; border-color:#e3e5e8; }
.inner-refined .wire-spec-table th { width:34%; }
.inner-refined .wire-spec-table thead { background:#eef1f4; }
.inner-refined .wire-spec-table thead th { letter-spacing:.035em; }
.inner-refined .wire-fit-grid { gap:24px; }
.inner-refined .wire-fit-grid article { padding:24px; border:1px solid #e3e5e8; border-radius:8px; background:#fff; }
.inner-refined .wire-fit-grid h3,.inner-refined .wire-checks h3 { font-size:24px; margin-bottom:16px; }
.inner-refined .wire-fit-grid li { margin-bottom:8px; }
.inner-refined .wire-process-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; border:0; }
.inner-refined .wire-process-list li { min-height:100px; padding:20px; border:1px solid #e3e5e8; border-radius:8px; }
.inner-refined .wire-process-list span { margin-bottom:14px; }
.inner-refined .wire-process-list strong { font-size:18px; }
.inner-refined .wire-forms-layout.inner-text-full { display:block; }
.inner-refined .wire-forms-layout .fp-rows { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; border:0; }
.inner-refined .wire-forms-layout .fp-rows li { grid-template-columns:28px minmax(0,1fr); gap:12px; padding:24px; border:1px solid #e3e5e8; border-radius:8px; }
.inner-refined .wire-forms-layout .fp-rows strong { font-size:22px; }
.inner-refined .wire-forms-layout .fp-rows p { margin:0; font-size:15px; }
.inner-refined .wire-finish-layout.inner-text-full { display:block; }
.inner-refined .wire-finish-layout.inner-text-full > div { max-width:80ch; }
.inner-refined .wire-finish-layout { gap:40px; }
.inner-refined .wire-finish-layout h2 { font-size:36px; }
.inner-refined .wire-finish-layout .wire-factory-image img { aspect-ratio:4/3; }
.inner-refined .wire-photo-section { padding-top:64px; }
.inner-refined .wire-photo-section .wire-factory-image img { aspect-ratio:16/9; max-height:500px; }
.inner-refined .wire-finish-section { background:#f7f6f2; }
.inner-refined .wire-packing-copy .wire-moq { font-size:30px; }
/* Native disclosures retain every answer in HTML and work without JavaScript. */
.inner-refined :is(.wire-faq-item,.phase31-faq-item) { display:block; border:0; border-bottom:1px solid #e3e5e8; padding:0; margin:0; background:transparent; }
.inner-refined :is(.wire-faq-item,.phase31-faq-item) > summary { cursor:pointer; min-height:56px; padding:22px 0; }
.inner-refined :is(.wire-faq-item,.phase31-faq-item) > summary h3 { display:inline; font-size:18px; line-height:1.5; }
.inner-refined :is(.wire-faq-item,.phase31-faq-item) > p { padding:0 0 24px; margin:0; max-width:80ch; font-size:16px; line-height:1.65; }
.inner-refined .phase31-faq-grid { display:block; }
.inner-refined .fp-cta { padding:64px 0; }
.inner-refined .fp-cta h2 { max-width:24ch; }
.inner-refined .fp-cta .framework-kicker { color:#c3d0d9; }
.inner-refined .fp-cta .framework-arrow-link { color:#fff; }
.inner-refined .wire-related-links { margin-top:32px; }
/* OEM: seven real stages, presented as a compact text timeline pending authorized media. */
.inner-refined .fp-flow { gap:16px; border:0; }
.inner-refined .fp-flow > div { padding:20px; min-height:110px; border:1px solid #e3e5e8; border-radius:8px; }
.inner-refined .fp-flow span { margin-bottom:14px; }
.inner-refined .chair-intro { background:#f7f6f2; padding:64px 0 32px; }
.inner-refined .chair-intro p:last-child { font-size:16px!important; line-height:1.65; margin-top:20px!important; max-width:68ch!important; }
.inner-refined .chair-story { background:#f7f6f2; padding-bottom:64px; }
.inner-refined .chair-story-layout { display:block; }
.inner-refined .chair-story-stage { max-width:1000px; }
.inner-refined .inner-timeline-step { display:grid; grid-template-columns:64px minmax(0,1fr); gap:4px 24px; min-height:0; padding:24px 0; border-top:1px solid #dce0e4; }
.inner-refined .chair-step-head { grid-column:1; grid-row:1/3; margin:3px 0 0; }
.inner-refined .chair-step-head span { color:#597182; font-size:12px; }
.inner-refined .inner-timeline-step h3 { grid-column:2; font-size:24px; line-height:1.3; }
.inner-refined .inner-timeline-step p { grid-column:2; margin:8px 0 0; max-width:68ch; font-size:16px; line-height:1.65; }
.inner-refined .family-rows li { min-height:72px; }
.inner-refined .family-rows strong { font-size:22px; }
.inner-refined .fp-related { gap:24px; }
.inner-refined .fp-related a { font-size:20px; }
@media(max-width:920px) {
 .inner-refined .why-hero-row,.inner-refined .fp-hero-grid { gap:32px; }
 .inner-refined .fp-hero-grid { grid-template-columns:1fr; }
 .inner-refined :is(.capability-head,.fp-section-head) { grid-template-columns:1fr; gap:24px; }
 .inner-refined .inner-hero-media { max-width:680px; }
 .inner-refined .wire-forms-layout .fp-rows { grid-template-columns:1fr; }
 .inner-refined .inner-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .inner-refined .production-photo-layout:is(.layout-form,.layout-surface) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .inner-refined :is(.why-hero,.fp-hero) { padding:40px 0!important; }
 .inner-refined :is(.why-hero h1,.fp-hero h1) { font-size:32px!important; line-height:1.16; }
 .inner-refined .why-hero-row { grid-template-columns:1fr; gap:24px; }
 .inner-refined .why-hero-statement,.inner-refined .fp-hero-lead { font-size:16px; line-height:1.6; }
 .inner-refined .inner-hero-copy h1 { margin-bottom:20px; }
 .inner-refined .inner-hero-media img { aspect-ratio:4/3; }
 .inner-refined :is(.capability,.fp-section) { padding:56px 0; }
 .inner-refined :is(.capability h2,.fp-section h2,.chair-intro h2,.why-closing h2,.fp-cta h2,.wire-finish-layout h2) { font-size:26px; line-height:1.22; }
 .inner-refined :is(.capability-head,.fp-section-head) { gap:20px; margin-bottom:24px; }
 .inner-refined .process-headline { font-size:20px; }
 .inner-refined .inner-photo-grid { gap:20px 12px; }
 .inner-refined .why-photo figcaption { font-size:12px; gap:6px; }
 .inner-refined .why-photo figcaption > span:first-child { display:none; }
 .inner-refined .inner-disclosure > summary { padding:16px; }
 .inner-refined .inner-disclosure > :not(summary) { padding:4px 16px 16px; }
 .inner-refined .inner-disclosure > .phase31-spec-list { padding-left:34px; }
 .inner-refined .why-range-opener { grid-template-columns:1fr; gap:20px; }
 .inner-refined .why-range-opener > * { grid-column:auto; }
 .inner-refined .why-range-proof { padding:0; }
 .inner-refined .why-range-number { font-size:48px; }
 .inner-refined .why-range-details { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
 .inner-refined .why-range-details .why-third:last-child { grid-column:auto; }
 .inner-refined .why-qc-groups { grid-template-columns:1fr; gap:16px; }
 .inner-refined .why-qc-group-media { height:auto; gap:8px; }
 .inner-refined .why-qc-group-caption h3 { font-size:15px; }
 .inner-refined .why-qc-opener { gap:12px; }
 .inner-refined .why-qc-opener .why-photo:nth-child(2) { grid-column:auto; width:auto; }
 .inner-refined .certificate-section { padding:48px 0; }
 .inner-refined .inner-certificate-card { grid-template-columns:1fr; gap:20px; padding:24px; }
 .inner-refined .inner-certificate-card :is(.certificate-intro,.phase3-certificate-copy,.certificate-logo-grid) { grid-column:1; grid-row:auto; }
 .inner-refined .inner-certificate-card .certificate-preview { display:flex; align-items:center; gap:16px; }
 .inner-refined .inner-certificate-card .certificate-preview img { width:160px; }
 .inner-refined .production-photo-layout,.inner-refined .production-photo-layout:is(.layout-form,.layout-surface) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; }
 .inner-refined .production-photo-layout .why-photo { grid-column:auto; width:auto; }
 .inner-refined .production-photo-layout .pack-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
 .inner-refined .production-photo-layout .pack-gallery .why-photo:last-child { grid-column:auto; }
 .inner-refined .wire-spec-table { font-size:14px; line-height:1.6; }
 .inner-refined .wire-spec-table th,.inner-refined .wire-spec-table td { padding:14px 12px; overflow-wrap:anywhere; }
 .inner-refined .wire-spec-table th { width:36%; }
 .inner-refined .wire-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .inner-refined .wire-process-list li { padding:16px; }
 .inner-refined .wire-process-list strong { font-size:17px; }
 .inner-refined .wire-photo-section { padding-top:48px!important; }
 .inner-refined .wire-photo-section .wire-factory-image img { aspect-ratio:16/9; }
 .inner-refined .wire-checks,.inner-refined .wire-packing-copy,.inner-refined .wire-fit-grid { grid-template-columns:1fr; gap:20px; }
 .inner-refined .wire-checks h3,.inner-refined .wire-fit-grid h3 { font-size:20px; }
 .inner-refined :is(.wire-faq-item,.phase31-faq-item) > summary { padding:18px 0; }
 .inner-refined :is(.wire-faq-item,.phase31-faq-item) > summary h3 { font-size:17px; }
 .inner-refined .fp-cta { padding:48px 0; }
 .inner-refined .fp-flow { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .inner-refined .fp-flow > div { min-height:96px; padding:16px; }
 .inner-refined .fp-flow strong { font-size:17px; }
 .inner-refined .chair-intro { padding:48px 0 24px; }
 .inner-refined .chair-story { padding-bottom:48px; }
 .inner-refined .inner-timeline-step { grid-template-columns:48px minmax(0,1fr); gap:4px 12px; padding:22px 0; }
 .inner-refined .inner-timeline-step h3 { font-size:20px; }
 .inner-refined .inner-timeline-step p { font-size:15px; }
 .inner-refined .family-rows li { align-items:start; flex-direction:column; justify-content:center; gap:8px; padding:16px 0; }
 .inner-refined .family-rows strong { font-size:20px; }
}
/* Override the legacy per-photo spans, which otherwise create implicit giant columns. */
.production-page .inner-refined .production-photo-layout > .why-photo { grid-column:auto; grid-row:auto; }
.production-page .inner-refined .production-photo-layout .why-photo img { height:auto; aspect-ratio:4/3; }
.production-page .inner-refined .production-photo-layout .pack-gallery > .why-photo { grid-column:auto; grid-row:auto; }
/* One title scale across all language variants and legacy templates. */
html[data-script] .refined-site .inner-refined :is(.why-hero,.fp-hero) h1{font-size:clamp(36px,3.7vw,52px);line-height:1.16}
@media(max-width:760px){html[data-script] .refined-site .inner-refined :is(.why-hero,.fp-hero) h1{font-size:32px;line-height:1.25}}

/* Editorial gallery rhythm: generous anchors and naturally proportioned detail photos. */
.inner-refined .inner-photo-grid { align-items:start; }
.inner-refined .why-automation-gallery { grid-template-columns:repeat(12,minmax(0,1fr)); gap:32px 24px; align-items:end; }
.inner-refined .why-automation-gallery > .why-photo:nth-child(1) { grid-column:span 8; }
.inner-refined .why-automation-gallery > .why-photo:nth-child(2) { grid-column:span 4; }
.inner-refined .why-automation-gallery > .why-photo:nth-child(3),
.inner-refined .why-automation-gallery > .why-photo:nth-child(4) { grid-column:span 3; }
.inner-refined .why-automation-gallery > .why-photo:nth-child(5) { grid-column:span 6; }
.inner-refined #in-house-finishing > .container > .inner-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; }
.inner-refined #in-house-finishing > .container > .inner-photo-grid > .why-photo:first-child { grid-column:1/-1; width:84%; }
.inner-refined .inner-gallery-disclosure { border-inline:0; border-radius:0; border-color:#dce3e7; margin-top:32px; }
.inner-refined .inner-gallery-disclosure > summary { padding-inline:0; }
.inner-refined .inner-gallery-disclosure > .inner-photo-grid { display:block; columns:3; column-gap:24px; padding:8px 0 0; }
.inner-refined .inner-gallery-disclosure .why-photo { display:inline-block; vertical-align:top; width:100%; break-inside:avoid; margin:0 0 28px; }
.inner-refined .inner-gallery-disclosure .why-photo img { aspect-ratio:auto; }
.inner-refined .why-qc-opener { grid-template-columns:minmax(0,2.25fr) minmax(0,1fr); align-items:end; gap:32px; }
.inner-refined .why-qc-opener img { aspect-ratio:auto; }
.inner-refined .why-qc-groups { gap:40px 32px; margin-top:40px; }
.inner-refined .qc-media-functional, .inner-refined .qc-media-tensile { grid-template-columns:minmax(0,1fr) minmax(0,2.25fr); }
.inner-refined .qc-media-corrosion { grid-template-columns:minmax(0,2.25fr) repeat(2,minmax(0,1fr)); }
.inner-refined .qc-media-load { grid-template-columns:repeat(3,minmax(0,1fr)); }
.production-page .inner-refined .production-photo-layout { gap:28px; align-items:end; }
.production-page .inner-refined .production-photo-layout .why-photo img { aspect-ratio:auto; height:auto; max-height:none; background:transparent; }
.production-page .inner-refined .layout-form { grid-template-columns:minmax(0,2.25fr) repeat(2,minmax(0,1fr)); }
.production-page .inner-refined :is(.layout-weld,.layout-inspect) { grid-template-columns:minmax(0,2.25fr) minmax(0,1fr); }
.production-page .inner-refined .layout-surface { grid-template-columns:repeat(2,minmax(0,1fr)); }
.production-page .inner-refined .layout-surface > .why-photo:first-child { grid-column:1/-1; width:84%; }
.production-page .inner-refined .production-photo-layout .pack-gallery { grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,2.25fr); align-items:end; gap:28px; margin-top:12px; }
.inner-refined .wire-finish-layout .wire-factory-image img { aspect-ratio:auto; }
.inner-refined .wire-photo-section .wire-factory-image { width:86%; margin-left:auto; }
.inner-refined .wire-photo-section .wire-factory-image img { aspect-ratio:auto; max-height:none; }
@media(max-width:920px) {
 .inner-refined .inner-hero-machine { width:62%; max-width:360px; }
 .inner-refined .why-automation-gallery { gap:28px 18px; }
 .inner-refined .inner-gallery-disclosure > .inner-photo-grid { columns:2; column-gap:20px; }
 .inner-refined .why-qc-opener { gap:20px; }
 .inner-refined .why-qc-groups { gap:32px 24px; }
 .production-page .inner-refined .production-photo-layout { gap:24px 18px; }
}
@media(max-width:760px) {
 .inner-refined .inner-hero-media img { aspect-ratio:auto; }
 .inner-refined .inner-hero-machine { width:80%; max-width:320px; }
 .inner-refined .why-automation-gallery { grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px 14px; align-items:end; }
 .inner-refined .why-automation-gallery > .why-photo:nth-child(1) { grid-column:1/-1; }
 .inner-refined .why-automation-gallery > .why-photo:nth-child(2),
 .inner-refined .why-automation-gallery > .why-photo:nth-child(3) { grid-column:span 6; }
 .inner-refined .why-automation-gallery > .why-photo:nth-child(4) { grid-column:span 4; }
 .inner-refined .why-automation-gallery > .why-photo:nth-child(5) { grid-column:span 8; }
 .inner-refined #in-house-finishing > .container > .inner-photo-grid { gap:24px 14px; }
 .inner-refined #in-house-finishing > .container > .inner-photo-grid > .why-photo:first-child { width:100%; }
 .inner-refined .inner-gallery-disclosure > .inner-photo-grid { columns:2; column-gap:14px; }
 .inner-refined .inner-gallery-disclosure .why-photo { margin-bottom:22px; }
 .inner-refined .why-qc-opener { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:14px; }
 .inner-refined .why-qc-opener > .why-photo { grid-column:auto; width:auto; }
 .inner-refined .why-qc-opener > .why-photo:nth-child(2) { width:100%; }
 .inner-refined .why-qc-groups { grid-template-columns:1fr; gap:28px; margin-top:28px; }
 .production-page .inner-refined .production-photo-layout,
 .production-page .inner-refined .production-photo-layout:is(.layout-form,.layout-surface,.layout-weld,.layout-inspect) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; }
 .production-page .inner-refined :is(.layout-validate,.layout-form,.layout-surface,.layout-weld,.layout-inspect) > .why-photo:first-child { grid-column:1/-1; width:100%; }
 .production-page .inner-refined .layout-validate > .why-photo { grid-column:1/-1; }
 .production-page .inner-refined :is(.layout-weld,.layout-inspect) > .why-photo:nth-child(2) { grid-column:1/-1; width:68%; justify-self:end; }
 .production-page .inner-refined .production-photo-layout .pack-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; margin-top:0; }
 .production-page .inner-refined .production-photo-layout .pack-gallery > .why-photo:last-child { grid-column:1/-1; }
 .inner-refined .wire-photo-section .wire-factory-image { width:100%; }
 .inner-refined .wire-photo-section .wire-factory-image img { aspect-ratio:auto; }
}

/* Why JALIN: align image edges independently of translated caption lengths.
   Weighted columns match the original 3:2 / 2:3 photographs without crops or mats. */
.why-page .inner-refined .why-automation-gallery { display:block; }
.why-page .inner-refined .why-photo-row { display:grid; align-items:start; gap:24px; }
.why-page .inner-refined .why-photo-row + .why-photo-row { margin-top:32px; }
.why-page .inner-refined .why-photo-row > .why-photo { grid-column:auto; width:auto; }
.why-page .inner-refined .why-automation-primary { grid-template-columns:minmax(0,2.25fr) minmax(0,1fr); }
.why-page .inner-refined .why-automation-secondary { grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,2.25fr); }
.why-page .inner-refined #in-house-finishing > .container > .why-finishing-feature { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.why-page .inner-refined #in-house-finishing > .container > .why-finishing-feature > .why-photo { grid-column:auto; width:100%; }
.why-page .inner-refined .why-qc-opener { grid-template-columns:minmax(0,2.25fr) minmax(0,1fr); align-items:start; }
.why-page .inner-refined .why-qc-opener > .why-photo { padding:0; width:100%; align-self:start; }
.why-page .inner-refined .why-qc-groups { display:block; }
.why-page .inner-refined .why-qc-row { display:grid; gap:32px; align-items:start; }
.why-page .inner-refined .why-qc-row + .why-qc-row { margin-top:36px; }
.why-page .inner-refined .why-qc-row-testing { grid-template-columns:minmax(0,calc((100% - 68px) * 13 / 30 + 12px)) minmax(0,1fr); }
.why-page .inner-refined .why-qc-row-load { grid-template-columns:minmax(0,calc((100% - 68px) * 12 / 25 + 24px)) minmax(0,1fr); }
.why-page .inner-refined .why-qc-group-media { gap:12px; align-items:start; }
.why-page .inner-refined .why-qc-group-media .why-photo { overflow:visible; }
.why-page .inner-refined .why-qc-group-media .why-photo img { width:100%; height:auto; aspect-ratio:auto; }
.why-page .inner-refined .why-qc-group-caption { margin-top:16px; }
@media(max-width:760px) {
 .why-page .inner-refined .why-photo-row { gap:14px; }
 .why-page .inner-refined .why-photo-row + .why-photo-row { margin-top:24px; }
 .why-page .inner-refined .why-automation-primary { grid-template-columns:minmax(0,2.25fr) minmax(0,1fr); }
 .why-page .inner-refined .why-automation-secondary { grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,2.25fr); }
 .why-page .inner-refined .why-qc-row { grid-template-columns:1fr; gap:28px; }
 .why-page .inner-refined .why-qc-row + .why-qc-row { margin-top:28px; }
 .why-page .inner-refined .why-qc-group-media { gap:8px; }
 .why-page .inner-refined .why-qc-group-caption { margin-top:12px; }
}

/* Shared quote navigation. No second floating desktop control. */
.topnav{transition:box-shadow .18s ease}
.topnav-inner{transition:min-height .18s ease}
.topnav.is-scrolled{box-shadow:0 3px 14px #10161d0a}
@media(min-width:761px){.topnav.is-scrolled .topnav-inner{min-height:68px}.topnav.is-scrolled .nav-mega{top:67px}}
@media(min-width:761px) and (max-width:1100px){
 .topnav .nav-tools>.nav-main-cta{display:inline-flex;white-space:nowrap;padding-inline:11px;font-size:11px}
 .topnav-inner{gap:12px;flex-wrap:wrap;padding-block:12px}
 .topnav .nav-links{order:3;flex:1 0 100%;flex-direction:row;align-items:center;justify-content:center;margin:0;gap:24px}
 .topnav .nav-links>a,.topnav .nav-group>summary{min-height:30px;font-size:12px;padding:0;border-bottom:0}
 .topnav .nav-tools{margin-left:auto}.nav-mega{top:100%}
 .topnav.is-scrolled .nav-mega{top:100%}.topnav.is-scrolled .topnav-inner{padding-block:6px}
}
.mobile-contact.has-whatsapp{grid-template-columns:1.4fr .8fr 1fr}
.mobile-contact .btn{min-width:0}.mobile-contact [hidden]{display:none!important}
.hero-fact[href]:hover{background:#f4f7fc}.hero-fact[href]:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.footer-privacy{padding-block:0 24px;font-size:12px;color:var(--muted)}.footer-privacy a:hover{color:var(--blue)}
.privacy-page .privacy-content{max-width:820px;margin-inline:auto;padding:64px 0 80px}
.privacy-page h1{font-size:44px;margin-bottom:26px}.privacy-page .privacy-content h2{font-size:24px;margin:36px 0 14px}
.privacy-page .privacy-content p,.privacy-page .privacy-content li{font-size:16px;line-height:1.8;color:var(--muted)}
.privacy-page .privacy-content ul{padding-left:22px}.privacy-page .privacy-content li{margin-bottom:8px}
.privacy-page .privacy-content a{color:var(--blue)}
.reference-dialog-mobile-action{display:none}
@media(max-width:760px){
 .topnav.is-scrolled .topnav-inner{min-height:70px}
 .mobile-contact.has-whatsapp{padding-inline:12px;gap:6px}.mobile-contact.has-whatsapp .btn{font-size:11px;padding-inline:6px}
 .privacy-page .privacy-content{padding:40px 0 56px}.privacy-page h1{font-size:32px}.privacy-page .privacy-content h2{font-size:22px}
}
@media(max-width:900px){
 .reference-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
 .reference-dialog .reference-dialog-body{overflow-y:auto;min-height:0;overscroll-behavior:contain}
 .reference-dialog-details>#reference-dialog-inquire{display:none}
 .reference-dialog-mobile-action{display:block;flex-shrink:0;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
 .reference-dialog-mobile-action .catalog-button{width:100%;font-size:13px;min-height:48px;margin:0}
}
@media(prefers-reduced-motion:reduce){.topnav,.topnav-inner{transition:none}}
.error-page .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
