@font-face { font-family: 'YS Sans'; font-style: normal; font-weight: 300; font-display: swap; src: url('fonts/ys-sans-300.woff2') format('woff2'); }
@font-face { font-family: 'YS Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/ys-sans-400.woff2') format('woff2'); }
@font-face { font-family: 'YS Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/ys-sans-700.woff2') format('woff2'); }

:where([data-hairline]){display:block;position:relative;aspect-ratio:5/4;touch-action:pan-y;user-select:none;-webkit-user-select:none;--hl-sw:var(--hairline-stroke,0.9);--hl-plate:var(--hairline-plate,#ffffff);--hl-hi:var(--hairline-hi,#232327);--hl-edge:var(--hairline-edge,#a4a4ac);--hl-mid:var(--hairline-mid,#c3c3c9);--hl-lo:var(--hairline-lo,#e0e0e4);}:where(.dark,[data-theme="dark"]) :where([data-hairline]){--hl-plate:var(--hairline-plate,#08090a);--hl-hi:var(--hairline-hi,#d0d6e0);--hl-edge:var(--hairline-edge,#5b5d64);--hl-mid:var(--hairline-mid,#3e3e44);--hl-lo:var(--hairline-lo,#29292d);}:where([data-hairline][data-hairline-theme="light"]){--hl-plate:var(--hairline-plate,#ffffff);--hl-hi:var(--hairline-hi,#232327);--hl-edge:var(--hairline-edge,#a4a4ac);--hl-mid:var(--hairline-mid,#c3c3c9);--hl-lo:var(--hairline-lo,#e0e0e4);}:where([data-hairline][data-hairline-theme="dark"]){--hl-plate:var(--hairline-plate,#08090a);--hl-hi:var(--hairline-hi,#d0d6e0);--hl-edge:var(--hairline-edge,#5b5d64);--hl-mid:var(--hairline-mid,#3e3e44);--hl-lo:var(--hairline-lo,#29292d);}:where([data-hairline]:focus-visible){outline:1.5px solid var(--hl-hi);outline-offset:2px}:where([data-hairline]>svg){position:absolute;inset:0;width:100%;height:100%;display:block}:where([data-hairline]>[data-hairline-live]){position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:where([data-hairline]>svg) :where(path,polygon,ellipse,line){fill:var(--hl-plate);stroke:var(--hl-mid);stroke-width:var(--hl-sw);vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;transition:stroke 260ms cubic-bezier(0.5,0,0.1,1)}:where([data-hairline]>svg) :where(.nf){fill:none}:where([data-hairline]>svg) :where(.fo){stroke:none}:where([data-hairline]>svg) :where(.sil){stroke:var(--hl-edge)}:where([data-hairline]>svg) :where(.hi){stroke:var(--hl-hi)}:where([data-hairline]>svg) :where(.lo){stroke:var(--hl-lo)}:where([data-hairline]>svg) :where(.dash){stroke-dasharray:1 3}:where([data-hairline]>svg) :where(.dot){stroke:none;fill:var(--hl-hi);transition:fill 260ms cubic-bezier(0.5,0,0.1,1)}:where([data-hairline]>svg) :where(.dot.m){fill:var(--hl-edge)}:where([data-hairline]>svg) :where(.dot.off){fill:var(--hl-lo)}:where([data-hairline]>svg) :where(.ghost path){fill:none;stroke:var(--hl-mid)}
:root {
  --color-parchment: #f0efe9;
  --color-pure-white: #ffffff;
  --color-ink-black: #322d2a;
  --color-charcoal: #322d2a;
  --color-aubergine-black: #0f0e12;
  --color-ash: #aaaaaa;
  --color-dim: #655f5b;
  --color-bone: #ccc8c1;
  --page-max-width: 1200px;
  --section-gap: 64px;
  --radius-md: 16px;
  --radius-full: 100px;
  --font-sans: 'YS Sans', 'Noto Sans SC', sans-serif;
  --font-display: 'YS Sans', 'Noto Sans SC', sans-serif;
  color-scheme: light;
  font-family: var(--font-sans);
  font-feature-settings: 'ss04' on, 'ss11' on;
  font-synthesis: none;
  font-weight: 400;
  color: var(--color-ink-black);
  background: var(--color-parchment);
  scrollbar-color: var(--color-dim) var(--color-parchment);
}

* { box-sizing: border-box; }
body { margin: 0; font-size: 15px; line-height: 1.65; overflow-x: clip; }
[hidden] { display: none !important; }
::selection { color: var(--color-parchment); background: var(--color-ink-black); }
img { display: block; max-width: 100%; height: auto; }
svg { display: inline-block; flex: 0 0 auto; vertical-align: middle; }
a { color: inherit; text-underline-offset: 5px; text-decoration-thickness: 1px; }
button { font: inherit; color: inherit; cursor: pointer; }
button:disabled { cursor: wait; opacity: .6; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
h1, h2, h3, p, ul, ol, dl, dd, pre, figure, blockquote { margin: 0; }
h1, h2, h3, .hero-intro, .culture blockquote, .shopfloor-card strong, .inspection-card strong, .archive-list strong, .image-note b { font-family: var(--font-display); font-weight: 400; text-wrap: balance; }
h1 { font-size: clamp(32px, 4vw, 48px); line-height: 1.2; letter-spacing: -.01em; }
h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.3; letter-spacing: -.01em; }
h3 { font-size: 20px; line-height: 1.4; }
p { max-width: 72ch; }
.container { width: min(var(--page-max-width), calc(100% - 64px)); margin-inline: auto; }
.icon { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.5; fill: none; }
.skip-link { position: absolute; z-index: 20; top: -80px; left: 16px; padding: 12px 20px; color: white; background: var(--color-ink-black); }
.skip-link:focus { top: 8px; }
.site-header { border-bottom: 1px solid var(--color-bone); }
.header-row { min-height: 96px; display: flex; align-items: center; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; white-space: nowrap; }
.brand-lockup { width: 224px; height: auto; aspect-ratio: 1983 / 793; object-fit: contain; mix-blend-mode: multiply; }
.navigation { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.navigation a { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; text-decoration: none; white-space: nowrap; border-bottom: 1px solid transparent; }
.navigation a[aria-current='page'] { border-bottom-color: var(--color-ink-black); font-weight: 700; }
.navigation a:hover { border-bottom-color: var(--color-dim); }
.navigation .nav-contact { padding-inline: 20px; border: 1px solid var(--color-ink-black); border-radius: var(--radius-full); transition: background-color 160ms ease, color 160ms ease; }
.navigation .nav-contact:hover { background: var(--color-ink-black); color: var(--color-pure-white); text-decoration: none; }
.lang-toggle { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 4px 12px; border: 1px solid var(--color-bone); border-radius: 4px; background: transparent; font-family: var(--font-sans); font-size: 13px; letter-spacing: .04em; white-space: nowrap; transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease; }
.lang-toggle:hover, .lang-toggle[aria-pressed='true'] { border-color: var(--color-ink-black); }
.lang-toggle:hover { background: var(--color-ink-black); color: var(--color-pure-white); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--color-ink-black); border-radius: 4px; background: transparent; margin-left: auto; }
.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 9px 22px; border: 1px solid var(--color-ink-black); border-radius: var(--radius-full); text-decoration: none; background: transparent; font-weight: 400; font-size: 15px; transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease; }
.button:hover { background: var(--color-ink-black); color: var(--color-pure-white); text-decoration: none; }
.button.square { border-radius: 4px; padding-inline: 16px; }
.text-link { min-height: 44px; display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.text-link span { border-bottom: 1px solid var(--color-dim); }
.text-link:hover span { border-bottom-color: var(--color-ink-black); }
.actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 32px; }
.hero { display: grid; grid-template-columns: 45% 55%; min-height: 580px; padding-block: 64px; }
.hero-copy { align-self: center; padding-right: 40px; }
.hero-intro { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.4; color: var(--color-dim); margin-bottom: 16px; }
.hero-copy h1 span { display: block; }
.hero-copy > p:last-of-type { font-size: 17px; color: var(--color-charcoal); margin-top: 24px; max-width: 28em; }
.hero-image { position: relative; min-height: 452px; color: white; background: var(--color-ink-black); overflow: hidden; border-radius: 4px; }
.hero-image > img { width: 100%; height: 100%; position: absolute; object-fit: cover; filter: grayscale(1) contrast(1.12); }
.hero-image > .hero-video { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; background: var(--color-ink-black); }
@supports (mask-image: radial-gradient(black, transparent)) {
  .hero-image > img { mask-image: radial-gradient(circle at center, #000 1.4px, transparent 1.7px); mask-size: 4px 4px; }
}
.hero-image figcaption { position: absolute; inset: auto 24px 24px; display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.image-note { background: var(--color-pure-white); color: var(--color-ink-black); border-radius: 4px; padding: 16px 20px; max-width: 270px; }
.image-note b { display: block; font-weight: 700; font-size: 14px; margin-bottom: 6px; }
.image-note span { display: block; font-size: 12px; color: var(--color-dim); }
.hero-caption-tools { display: flex; align-items: center; gap: 12px; }
.hero-video-frame { position: relative; min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; background: var(--color-ink-black); }
.hero-playback { position: absolute; inset: auto 12px 12px auto; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 12px; border: 0; border-radius: 50%; color: var(--color-pure-white); background: rgb(24 16 17 / .5); }
.hero-playback:hover { background: rgb(24 16 17 / .68); }
.hero-playback:focus-visible { outline: 2px solid var(--color-pure-white); outline-offset: 2px; }
.hero-playback svg { display: block; width: 20px; height: 20px; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.image-caption { padding: 5px 8px; font-size: 12px; color: white; background: var(--color-ink-black); border-radius: 4px; }
.section { padding-block: 80px; }
.section-rule { border-top: 1px solid var(--color-bone); }
.section-tag { display: inline-block; font-size: 12px; line-height: 1.5; letter-spacing: .1em; padding: 0; background: transparent; margin-bottom: 16px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 40px; }
.section-heading p { max-width: 34em; margin-top: 16px; color: var(--color-dim); }
.inverse { background: var(--color-aubergine-black); color: white; }
.inverse .section-tag { background: transparent; color: white; }
.inverse p { color: #d8d4d4; }
.inverse .button { border-color: white; }
.inverse .button:hover { background: var(--color-pure-white); color: var(--color-ink-black); text-decoration: none; }
.division-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.division-overview article { padding-top: 24px; border-top: 1px solid #6b595e; }
.division-overview h3 { margin-bottom: 12px; font-weight: 700; }
.division-overview p { font-size: 14px; }
.division-overview ul { list-style: none; padding: 0; margin-top: 24px; }
.division-overview li { color: white; font-size: 14px; line-height: 2; }
.diamond-grid { display: block; width: 30px; height: 30px; margin-bottom: 20px; fill: #d8d4d4; }
.split-section { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.product-plate { border-radius: 4px; background: var(--color-pure-white); padding: 40px; }
.product-plate .hairline-fallback { width: 100%; height: auto; object-fit: contain; }
.small-note { color: var(--color-dim); font-size: 12px; line-height: 1.6; }
.product-plate figcaption { margin-top: 24px; }
.section-copy p { font-size: 17px; margin-top: 24px; color: var(--color-charcoal); }
.product-lines { list-style: none; padding: 0; margin-top: 32px; border-top: 1px solid var(--color-bone); }
.product-lines li { border-bottom: 1px solid var(--color-bone); }
.product-lines a { display: flex; justify-content: space-between; align-items: center; min-height: 56px; gap: 20px; text-decoration: none; }
.product-lines a:hover { color: var(--color-dim); }
.wide-photo { border-radius: 4px; overflow: hidden; }
.wide-photo img { width: 100%; height: 320px; object-fit: cover; filter: grayscale(1); }
.wide-photo figcaption { margin-top: 12px; }
.quality-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; padding-top: 32px; }
.quality-copy p { color: var(--color-dim); margin-bottom: 24px; }
.contact-close { padding-block: 64px; border-top: 1px solid var(--color-bone); }
.contact-close .container { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.contact-close .actions { margin-top: 0; }
.contact-close h2 { font-size: 32px; }
.contact-close p { color: var(--color-dim); margin-top: 12px; }
.site-footer { border-top: 1px solid var(--color-bone); padding-block: 40px 24px; }
.footer-main { display: flex; justify-content: space-between; gap: 32px; }
.footer-links { display: flex; gap: 24px; flex-wrap: wrap; align-items: start; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.footer-end { display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid var(--color-bone); padding-top: 20px; margin-top: 24px; color: var(--color-dim); font-size: 12px; }
.page-intro { padding-block: 64px; max-width: 850px; }
.page-intro p { margin-top: 24px; font-size: 17px; color: var(--color-dim); }
.page-intro .section-tag { margin-top: 0; }
.organization { padding: 40px; border: 1px solid var(--color-bone); border-radius: 4px; background: transparent; font-family: var(--font-display); }
.organization-root { font-size: 28px; text-align: center; margin-bottom: 32px; letter-spacing: .04em; }
.organization-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 24px 0 0; border-top: 1px solid var(--color-bone); }
.organization-grid > li { padding-top: 8px; min-width: 0; }
.organization-grid h3 a { text-decoration: none; }
.organization-grid h3 a:hover { text-decoration: underline; }
.organization-grid p { font-size: 14px; color: var(--color-dim); margin-top: 12px; }
.member-list { padding: 0; list-style: none; margin-top: 24px; }
.member-list li { font-size: 15px; padding-block: 8px; border-top: 1px solid var(--color-bone); }
.governance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.governance-grid[data-company-intro] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.governance-card { padding: 32px; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; }
.governance-code { font-size: 12px; color: var(--color-dim); margin-bottom: 12px; }
.governance-card h3 { font-weight: 700; }
.governance-card p:not(.governance-code) { margin-top: 12px; font-size: 14px; color: var(--color-dim); }
.culture { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.culture blockquote { font-size: clamp(28px, 3.5vw, 40px); font-weight: 400; line-height: 1.5; letter-spacing: -.02em; }
.culture p { margin-top: 20px; }
.track-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.track-card { display: flex; flex-direction: column; padding: 32px; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; }
.track-card .section-tag { background: transparent; align-self: start; }
.track-card h3 { font-weight: 700; margin-top: 4px; }
.track-meta { margin-top: 16px; padding-block: 12px; border-block: 1px solid var(--color-bone); font-size: 14px; }
.track-meta strong { display: block; font-weight: 700; }
.track-meta span { display: block; margin-top: 4px; font-size: 12px; color: var(--color-dim); }
.track-summary { margin-top: 16px; font-size: 14px; color: var(--color-dim); }
.track-scope { list-style: none; padding: 0; margin-block: 20px 24px; border-top: 1px solid var(--color-bone); flex: 1 1 auto; }
.track-scope li { padding-block: 8px; border-bottom: 1px solid var(--color-bone); font-size: 14px; }
.coop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.coop-card { padding: 32px; border-top: 2px solid var(--color-ink-black); background: var(--color-pure-white); border-radius: 4px; }
.coop-card h3 { font-weight: 700; }
.coop-audience { margin-top: 8px; font-size: 12px; color: var(--color-dim); }
.coop-card p:last-child { margin-top: 16px; font-size: 14px; color: var(--color-dim); }
.business-row { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px; padding-block: 48px; border-top: 1px solid var(--color-bone); scroll-margin-top: 32px; }
.business-row p { color: var(--color-dim); font-size: 17px; }
.business-members { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; list-style: none; padding: 0; }
.business-members li { padding: 8px 12px; border: 1px solid var(--color-bone); border-radius: 4px; background: var(--color-pure-white); }
.business-row .text-link { margin-top: 20px; font-size: 14px; }
.context-line { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; padding-block: 24px; border-block: 1px solid var(--color-bone); }
.context-line .section-tag { margin: 0; }
.context-line p { color: var(--color-dim); font-size: 14px; flex: 1 1 320px; }
.context-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-left: auto; }
.catalog-scope { margin-top: 24px; color: var(--color-dim); font-size: 14px; }
.catalog-controls { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-block: 32px 40px; }
.filters { display: flex; gap: 8px; flex-wrap: wrap; }
.filter { min-height: 44px; padding: 8px 16px; background: transparent; border: 1px solid var(--color-bone); border-radius: 4px; font-size: 14px; text-align: left; }
.filter[aria-pressed='true'] { border-color: var(--color-ink-black); background: white; font-weight: 700; }
.filter:hover { border-color: var(--color-ink-black); }
.catalog-count { white-space: nowrap; color: var(--color-dim); font-size: 14px; }
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 32px; }
.product-item { min-width: 0; display: flex; flex-direction: column; padding: 28px; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; }
.product-image { display: block; padding: 16px; border-radius: 4px; background: white; border: 1px solid var(--color-bone); }
.product-image .hairline-fallback { width: 100%; height: auto; object-fit: contain; }
.product-body { display: flex; flex-direction: column; flex: 1 1 auto; }
.product-source { margin-top: 20px; color: var(--color-dim); font-size: 12px; }
.product-item h2 { font-size: 20px; font-weight: 700; margin-top: 8px; line-height: 1.4; letter-spacing: 0; }
.product-en { color: var(--color-dim); font-size: 12px; margin-top: 4px; }
html[lang="en"] .product-en { display: none; }
.product-item .description { margin-top: 12px; color: var(--color-charcoal); font-size: 14px; flex: 1 1 auto; }
.product-specs-drawer { margin-top: 16px; border-top: 1px solid var(--color-bone); border-bottom: 1px solid var(--color-bone); }
.product-specs-drawer summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; padding-block: 8px; cursor: pointer; font-size: 13px; color: var(--color-ink-black); list-style: none; }
.product-specs-drawer summary::-webkit-details-marker { display: none; }
.product-specs-drawer summary > span { font-size: 18px; color: var(--color-dim); transition: transform 180ms ease; }
.product-specs-drawer[open] > summary > span { transform: rotate(45deg); }
.product-specs { border-top: 1px solid var(--color-bone); }
.spec-row { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 16px; padding-block: 10px; border-bottom: 1px solid var(--color-bone); font-size: 12px; line-height: 1.6; }
.spec-row:last-child { border-bottom: 0; }
.spec-row dt { font-weight: 700; color: var(--color-ink-black); }
.spec-row dd { color: var(--color-dim); }
.product-item .text-link { margin-top: 16px; font-size: 14px; align-self: start; }
.catalog-note { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--color-bone); }
.hairline-stage[data-hairline] {
  --hairline-plate: var(--color-pure-white);
  --hairline-hi: var(--color-ink-black);
  --hairline-edge: var(--color-dim);
  --hairline-mid: var(--color-ash);
  --hairline-lo: var(--color-bone);
  --hairline-stroke: 1;
  --color-fluid: #0b6bcb;
  --color-fluid-soft: #9ec5fe;
  --color-thermal: #c85a17;
  --color-thermal-soft: #f5b792;
  background: var(--color-pure-white);
}
.hairline-stage .hairline-canvas { width: 100%; height: 100%; }
.hairline-stage svg .hi { stroke-width: 1.75px; }
.hairline-flow-layer { pointer-events: none; opacity: .52; transition: opacity 220ms ease; }
.hairline-flow-layer.is-active { opacity: 1; }
.hairline-flow-layer .flow-track { fill: none; stroke: var(--hl-lo); stroke-width: 1px; stroke-dasharray: 2.2 3.2; }
.hairline-flow-layer .flow-stream { fill: none; stroke: var(--color-fluid); stroke-width: 1.25px; stroke-dasharray: 3.5 6.5; stroke-opacity: 0; transition: stroke-opacity 220ms ease; }
.hairline-flow-layer.is-active .flow-stream { stroke-opacity: .72; }
.hairline-flow-layer .flow-stream.is-thermal { stroke: var(--color-thermal); }
.hairline-flow-layer .flow-arrow { fill: none; stroke: var(--hl-lo); stroke-width: 1.2px; }
.hairline-flow-layer.is-active .flow-arrow { stroke: var(--color-fluid); }
.hairline-flow-layer.is-active .flow-arrow.is-thermal { stroke: var(--color-thermal); }
.hairline-flow-layer.is-active .flow-particle { fill: var(--color-fluid); stroke: var(--color-pure-white); stroke-width: 1.4px; }
.hairline-flow-layer.is-active .flow-particle.is-thermal { fill: var(--color-thermal); }
.hairline-flow-layer .flow-pulse { fill: none; stroke: var(--hl-lo); stroke-width: 1.1px; }
.hairline-flow-layer.is-active .flow-pulse { stroke: var(--color-fluid); }
.hairline-flow-layer.is-active .flow-pulse.is-thermal { stroke: var(--color-thermal); }
.hairline-flow-layer.is-active .flow-port-core { fill: var(--color-fluid); stroke: var(--color-pure-white); stroke-width: 1px; }
.hairline-flow-layer.is-active .flow-port-core.is-thermal { fill: var(--color-thermal); }
.hairline-tools { display: flex; gap: 16px; align-items: center; justify-content: space-between; min-height: 44px; border-top: 1px solid var(--color-bone); color: var(--color-dim); font-size: 12px; }
.hairline-tools [data-hairline-read] { flex: 1 1 auto; line-height: 1.5; }
.hairline-tools button { flex: 0 0 auto; min-height: 36px; padding: 6px 12px; border: 1px solid var(--color-bone); border-radius: 4px; background: var(--color-parchment); color: var(--color-ink-black); font-size: 12px; text-decoration: none; white-space: nowrap; }
.hairline-tools button:hover { border-color: var(--color-ink-black); }
.hairline-tools button[aria-pressed='true'] { border-color: var(--color-ink-black); color: var(--color-pure-white); background: var(--color-ink-black); font-weight: 700; }
.analysis-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.engineering-plate { background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; padding: 24px; }
.engineering-plate img { width: 100%; height: auto; }
.engineering-plate figcaption { border-top: 1px solid var(--color-bone); padding-top: 16px; margin-top: 24px; color: var(--color-dim); font-size: 12px; line-height: 1.6; }
.analysis-layout .engineering-plate img { padding-block: 48px; }
.analysis-list { padding: 0; list-style: none; }
.analysis-list li { display: grid; grid-template-columns: 30px 1fr; gap: 24px; padding-block: 24px; border-top: 1px solid var(--color-bone); }
.analysis-list .diamond-grid { width: 26px; height: 26px; margin-top: 3px; margin-bottom: 0; fill: var(--color-dim); }
.analysis-list h3 { font-size: 20px; font-weight: 700; }
.analysis-list p { margin-top: 12px; color: var(--color-dim); font-size: 14px; }
.analysis-equation { margin-top: 12px; padding: 10px 12px; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; font-size: 12px; line-height: 1.55; }
.analysis-equation code { display: block; font-family: inherit; font-weight: 700; color: var(--color-ink-black); font-variant-numeric: tabular-nums; }
.analysis-equation span { display: block; margin-top: 4px; color: var(--color-dim); }
.analysis-note { margin-top: 24px; }
.analysis-section { padding-block: 64px; }
.engineering-wide { padding: 40px; }
.analysis-columns { margin-block: 40px; }
.analysis-columns .analysis-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.analysis-columns .analysis-list li { display: block; }
.analysis-columns .diamond-grid { margin-bottom: 20px; }
.modal-plate { margin-top: 24px; }
.analysis-video { padding: 24px; margin-top: 40px; border: 1px solid var(--color-bone); border-radius: 4px; background: var(--color-pure-white); }
.analysis-video h3 { margin-bottom: 20px; }
.analysis-video video { display: block; width: 100%; height: auto; border-radius: 4px; }
.analysis-video figcaption { padding-top: 16px; color: var(--color-dim); font-size: 14px; }
.analysis-links { margin-bottom: 40px; }
.research-hero { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px; align-items: center; padding-block: 64px 80px; }
.research-lead h1 { margin-top: 24px; }
.research-lead > p { margin-top: 24px; color: var(--color-dim); font-size: 17px; }
.research-lead > .small-note { font-size: 14px; }
.research-lead .actions { flex-wrap: wrap; }
.cfd-viewer { min-width: 0; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; }
.viewer-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 20px 24px; border-bottom: 1px solid var(--color-bone); align-items: center; }
.viewer-surface { position: relative; height: 400px; overflow: hidden; }
.viewer-surface > img { width: 100%; height: 100%; object-fit: contain; }
.viewer-surface > canvas { display: block; width: 100%; height: 100%; touch-action: pan-y; }
.viewer-surface > canvas:focus-visible { outline-offset: -4px; }
.viewer-start { position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%); white-space: nowrap; background: var(--color-pure-white); }
.viewer-tools { border-top: 1px solid var(--color-bone); padding: 16px 24px; }
.viewer-mode-list, .viewer-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.viewer-actions { margin-top: 16px; }
.viewer-tools button { min-height: 44px; padding: 8px 14px; font-size: 14px; border: 1px solid var(--color-bone); border-radius: 4px; background: transparent; color: var(--color-ink-black); }
.viewer-mode-list button[aria-pressed="true"] { border-color: var(--color-ink-black); font-weight: 700; }
.viewer-tools button:disabled { color: var(--color-dim); cursor: default; }
.viewer-legend { max-width: 300px; margin-top: 20px; font-size: 12px; color: var(--color-dim); }
.viewer-legend svg { display: block; width: 100%; height: 12px; margin-block: 8px; }
.viewer-legend > div { display: flex; justify-content: space-between; }
.viewer-caption, .viewer-status { padding: 16px 24px; color: var(--color-dim); font-size: 12px; line-height: 1.6; }
.viewer-caption { border-top: 1px solid var(--color-bone); }
.viewer-status:empty { display: none; }
.viewer-status { padding-top: 0; }
.research-context { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px; }
.research-context > div > p { font-size: 17px; color: var(--color-charcoal); }
.research-context > div > .small-note { margin-top: 24px; font-size: 14px; color: var(--color-dim); }
.research-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 32px; align-items: start; margin-top: 32px; }
.research-card { min-width: 0; padding: 28px; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; }
.research-card > figure { padding: 16px; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; }
.research-card > figure img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.research-card-body { padding-block: 20px 0; }
.research-meta { font-size: 12px; color: var(--color-dim); margin-bottom: 12px; }
.research-card h3 { font-weight: 700; }
.research-card-body > p:not(.research-meta) { margin-top: 12px; font-size: 14px; color: var(--color-charcoal); }
.research-steps { margin-bottom: 16px; border-top: 1px solid var(--color-bone); }
.research-steps > div { padding-block: 12px; border-bottom: 1px solid var(--color-bone); font-size: 13px; line-height: 1.6; }
.research-steps dt { font-weight: 700; color: var(--color-ink-black); margin-bottom: 4px; }
.research-steps dd { color: var(--color-dim); }
.research-card details, .research-comparison, .research-legacy { margin-top: 16px; border-top: 1px solid var(--color-bone); }
.research-card summary, .research-comparison summary, .research-legacy summary { display: flex; justify-content: space-between; gap: 16px; align-items: center; min-height: 48px; padding-block: 12px; cursor: pointer; font-size: 14px; list-style: none; }
.research-card summary::-webkit-details-marker, .research-comparison summary::-webkit-details-marker, .research-legacy summary::-webkit-details-marker { display: none; }
.research-card summary > span, .research-comparison summary > span, .research-legacy summary > span { font-size: 20px; }
.research-card details[open] > summary > span, .research-comparison[open] > summary > span, .research-legacy[open] > summary > span { transform: rotate(45deg); }
.research-detail { padding-top: 8px; }
.research-detail video { display: block; width: 100%; height: auto; object-fit: contain; }
.research-detail > .small-note { margin-top: 12px; }
.research-detail > p { margin-top: 20px; font-size: 14px; color: var(--color-dim); }
.research-boundary { padding-top: 20px; border-top: 1px solid var(--color-bone); }
.research-boundary strong { display: block; margin-bottom: 8px; font-weight: 700; color: var(--color-ink-black); }
.research-gallery { display: grid; grid-template-columns: 1fr; gap: 24px; }
.research-gallery img { width: 100%; height: auto; object-fit: contain; }
.research-gallery figcaption { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 8px; font-size: 12px; color: var(--color-dim); }
.research-table-wrap { overflow-x: auto; margin-top: 16px; }
.research-table-wrap table { border-collapse: collapse; width: 100%; min-width: 580px; font-size: 12px; }
.research-table-wrap caption { text-align: left; color: var(--color-dim); padding-bottom: 16px; }
.research-table-wrap th, .research-table-wrap td { padding: 16px 12px; border-bottom: 1px solid var(--color-bone); text-align: left; vertical-align: top; font-weight: 400; }
.research-table-wrap thead th { font-weight: 700; }
.research-table-wrap tbody th { min-width: 220px; }
.research-table-wrap tbody th span { display: block; margin-top: 8px; color: var(--color-dim); }
.research-table-wrap td { white-space: nowrap; font-variant-numeric: tabular-nums; }
.manufacturing-section { padding-top: 64px; padding-bottom: 80px; }
.factory-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.factory-overview > div > p:first-child { color: var(--color-charcoal); font-size: 17px; }
.factory-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin: 32px 0 16px; border-top: 1px solid var(--color-bone); padding-top: 24px; }
.factory-metrics dt { font-size: 14px; color: var(--color-dim); }
.factory-metrics dd { margin: 8px 0 0; font-size: clamp(28px, 3vw, 40px); line-height: 1.3; letter-spacing: -.02em; }
.factory-metrics dd span { margin-left: 8px; font-size: 17px; }
.factory-plan-note { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--color-bone); font-size: 14px; }
.factory-plan-note b { display: block; font-size: 20px; font-weight: 400; margin-block: 8px; }
.factory-plan-note .small-note { display: block; }
.factory-map-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 16px; font-size: 14px; }
.factory-photo { min-width: 0; }
.factory-photo img { width: 100%; height: auto; border-radius: 4px; background: var(--color-pure-white); }
.factory-photo figcaption, .factory-panorama figcaption { margin-top: 12px; }
.factory-panorama { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--color-bone); }
.factory-panorama img { width: 100%; height: auto; border-radius: 4px; background: var(--color-pure-white); }
.milestone-track { list-style: none; padding: 28px 20px; margin: 0; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 12px; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; }
.milestone-node { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.milestone-node::before { content: ''; position: absolute; top: 53px; left: -6px; right: -6px; height: 1px; background: var(--color-bone); z-index: 0; }
.milestone-node:first-child::before { left: 50%; }
.milestone-node:last-child::before { right: 50%; }
.milestone-year { font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .02em; color: var(--color-dim); margin-bottom: 12px; line-height: 1.4; }
.milestone-badge { position: relative; z-index: 1; width: 48px; height: 48px; border-radius: 50%; background: var(--color-pure-white); border: 1.5px solid var(--color-ink-black); display: flex; align-items: center; justify-content: center; color: var(--color-ink-black); transition: transform 200ms ease, background-color 200ms ease, color 200ms ease; }
.milestone-node:hover .milestone-badge, .milestone-node.is-current .milestone-badge { background: var(--color-ink-black); color: var(--color-pure-white); transform: translateY(-2px); }
.milestone-node.is-current .milestone-year { color: var(--color-ink-black); }
.milestone-svg { width: 22px; height: 22px; }
.milestone-meta { margin-top: 14px; }
.milestone-node h3 { font-size: 14px; font-weight: 700; line-height: 1.35; color: var(--color-ink-black); }
.milestone-tag { display: block; margin-top: 4px; font-size: 12px; line-height: 1.4; color: var(--color-dim); }
.timeline-archive { padding-top: 16px; }
.archive-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; }
.archive-list li { padding-block: 12px; border-bottom: 1px solid var(--color-bone); font-size: 14px; }
.archive-list strong { display: block; font-weight: 700; margin-bottom: 4px; }
.archive-list span { color: var(--color-dim); font-size: 13px; }
.plaque-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.plaque-card { padding: 16px; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; }
.plaque-card img { width: 100%; height: 190px; object-fit: contain; }
.plaque-card figcaption { margin-top: 12px; text-align: center; }
.factory-film { min-width: 0; }
.factory-film video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 4px; background: var(--color-ink-black); }
.factory-film figcaption, .factory-still figcaption { margin-top: 12px; }
.factory-still { min-width: 0; }
.factory-still img { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 4px; }
.culture-scenes { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.culture-note { margin-top: 24px; }
.culture-note p { color: var(--color-dim); margin-top: 12px; }
.culture-grounds { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; margin-top: 48px; }
.factory-film-feature { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 40px; align-items: center; margin-bottom: 48px; }
.factory-film-copy p { color: var(--color-dim); margin-top: 16px; }
.factory-film-copy .text-link { margin-top: 20px; }
.process-row { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; padding-block: 48px; border-top: 1px solid var(--color-bone); }
.process-row figure { overflow: hidden; border-radius: 4px; background: white; }
.process-row img { width: 100%; height: 280px; object-fit: cover; }
.process-row .contain img { object-fit: contain; }
.process-row .hairline-fallback { height: auto; object-fit: contain; }
.process-row p { color: var(--color-dim); font-size: 17px; margin-top: 16px; }
.process-list { padding: 0; list-style: none; margin-top: 24px; }
.process-list li { display: inline-block; padding: 6px 0; margin-right: 20px; font-size: 14px; }
.shopfloor-showcase { margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--color-bone); }
.shopfloor-showcase h3 { font-size: 24px; font-weight: 700; }
.shopfloor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.shopfloor-card { display: flex; flex-direction: column; overflow: hidden; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; }
.shopfloor-card img { width: 100%; height: 200px; object-fit: cover; background: var(--color-parchment); }
.shopfloor-card figcaption { padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; }
.shopfloor-card .section-tag { align-self: start; background: transparent; margin-bottom: 2px; }
.shopfloor-card strong { font-size: 16px; font-weight: 700; }
.test-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.test-list { padding: 0; list-style: none; }
.test-list li { padding-block: 24px; border-top: 1px solid #6b595e; }
.test-list h3 { font-weight: 700; }
.test-list p { margin-top: 8px; font-size: 14px; }
.test-photo { overflow: hidden; border-radius: 4px; background: var(--color-pure-white); }
.test-photo img { width: 100%; height: 340px; object-fit: cover; }
.test-photo figcaption { color: var(--color-dim); padding: 16px; font-size: 12px; }
.inspection-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 40px; padding-top: 32px; border-top: 1px solid #6b595e; }
.inspection-card { overflow: hidden; border-radius: 4px; background: var(--color-pure-white); color: var(--color-ink-black); }
.inspection-card img { width: 100%; height: 200px; object-fit: cover; }
.inspection-card figcaption { padding: 16px 18px; }
.inspection-card strong { display: block; font-size: 15px; font-weight: 700; }
.inspection-card span { display: block; margin-top: 4px; font-size: 12px; color: var(--color-dim); }
.inspection-note { margin-top: 20px; }
.bases { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.base { border-top: 1px solid var(--color-bone); padding-top: 32px; }
.base p { color: var(--color-dim); margin-top: 16px; }
.base .business-members { margin-top: 20px; }
.inquiry-router { padding-block: 48px 64px; border-top: 1px solid var(--color-bone); border-bottom: 1px solid var(--color-bone); margin-bottom: 64px; }
.router-header-row { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; }
.router-bulk-toggle { white-space: nowrap; background: var(--color-pure-white); }
.router-header p { margin-top: 16px; color: var(--color-dim); }
.governance-code, .factory-metrics dd, .catalog-count, .spec-row dd, .viewer-legend { font-variant-numeric: tabular-nums; }
.router-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; margin-top: 32px; align-items: start; }
.router-step + .router-step { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--color-bone); }
.router-step-title { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 16px; font-size: 14px; }
.router-step-title strong { font-weight: 700; }
.router-step-title span { font-size: 12px; color: var(--color-dim); }
.router-output { padding: 32px; background: var(--color-pure-white); border: 1px solid var(--color-bone); border-radius: 4px; }
.router-output .section-tag { background: transparent; }
.router-output h3 { font-weight: 700; }
.router-output > .small-note { margin-top: 6px; }
.inquiry-preview { margin-top: 20px; padding: 16px; background: var(--color-parchment); border: 1px solid var(--color-bone); border-radius: 4px; font-family: inherit; font-size: 12px; line-height: 1.65; white-space: pre-wrap; color: var(--color-charcoal); }
.contact-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 64px; padding-bottom: 80px; }
.email-block { background: white; padding: 40px; border: 1px solid var(--color-bone); border-radius: 4px; align-self: start; }
.email-link { font-size: 16px; font-weight: 400; overflow-wrap: anywhere; text-decoration-thickness: 1px; }
.email-block > p { color: var(--color-dim); margin-top: 16px; }
.copy-status { min-height: 24px; font-size: 12px; margin-top: 8px; }
.contact-fields { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 24px; margin: 32px 0 0; padding-top: 24px; border-top: 1px solid var(--color-bone); }
.contact-fields dt { color: var(--color-dim); font-size: 14px; }
.contact-fields dd { margin: 0; min-height: 24px; }
.contact-types { padding: 0; list-style: none; }
.contact-types li { padding-block: 24px; border-top: 1px solid var(--color-bone); }
.contact-types h2 { font-size: 20px; font-weight: 700; letter-spacing: 0; }
.contact-types p { color: var(--color-dim); margin-top: 12px; }
.contact-types .text-link { margin-top: 12px; font-size: 14px; }
.error-page { min-height: 55vh; padding-block: 80px; }
.error-page p { margin-top: 24px; }

@media (max-width: 1000px) {
  .header-row { flex-wrap: wrap; gap: 0; padding-block: 16px; min-height: 80px; }
  .navigation { width: 100%; gap: 12px 24px; flex-wrap: wrap; padding-top: 16px; }
  .site-header.enhanced .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .site-header.enhanced .navigation { display: none; }
  .site-header.enhanced[data-menu-open='true'] .navigation { display: flex; }
  .hero { min-height: auto; }
  .hero-copy { padding-right: 24px; }
  .hero-image { min-height: 400px; }
  .image-caption { display: none; }
  .division-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
  .split-section, .culture, .quality-copy, .test-layout, .process-row, .bases, .analysis-layout, .factory-overview { gap: 40px; }
  .organization { padding: 32px; }
  .organization-grid, .shopfloor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .milestone-track { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 16px; }
  .milestone-node:nth-child(3n+1)::before { left: 50%; }
  .milestone-node:nth-child(3n)::before { right: 50%; }
  .track-grid, .coop-grid, .plaque-grid, .inspection-grid { grid-template-columns: 1fr; gap: 24px; }
  .router-grid { grid-template-columns: 1fr; gap: 32px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-layout { grid-template-columns: 1fr 1fr; gap: 32px; }
  .email-block { padding: 24px; }
}

@media (max-width: 700px) {
  .brand-lockup { width: 196px; }
  .culture-scenes, .culture-grounds, .factory-film-feature { grid-template-columns: 1fr; gap: 32px; }
  .culture-grounds { margin-top: 40px; }
  .research-hero, .research-context { grid-template-columns: 1fr; gap: 32px; }
  .research-hero { padding-block: 40px 48px; }
  .research-grid, .governance-grid, .archive-list, .shopfloor-grid { grid-template-columns: 1fr; gap: 24px; }
  .milestone-track { grid-template-columns: 1fr; gap: 20px; padding: 24px 20px; }
  .milestone-node { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 16px; text-align: left; align-items: center; }
  .milestone-node::before { top: 22px; bottom: -22px; left: 21px; right: auto; width: 1px; height: auto; }
  .milestone-node:first-child::before { left: 21px; }
  .milestone-node:last-child::before { display: none; }
  .milestone-badge { grid-column: 1; grid-row: 1 / span 2; width: 44px; height: 44px; }
  .milestone-year { grid-column: 2; grid-row: 1; margin-bottom: 2px; }
  .milestone-meta { grid-column: 2; grid-row: 2; margin-top: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
  .milestone-tag { margin-top: 0; }
  .viewer-surface { height: 300px; }
  .viewer-heading, .viewer-tools, .viewer-caption, .viewer-status { padding-inline: 16px; }
  .container { width: calc(100% - 40px); }
  .hero { grid-template-columns: 1fr; gap: 40px; padding-block: 40px; }
  .hero-copy { padding-right: 0; }
  .hero-copy h1 { font-size: 36px; }
  .hero-intro { font-size: 22px; }
  .hero-copy > p:last-of-type { font-size: 15px; }
  .hero-image { min-height: 360px; }
  .section { padding-block: 56px; }
  .section-heading { display: block; margin-bottom: 32px; }
  .section-heading > .text-link { margin-top: 20px; }
  .division-overview { gap: 24px; }
  .division-overview h3 { font-size: 18px; }
  .split-section, .culture, .quality-copy, .test-layout, .process-row, .bases, .contact-layout, .analysis-layout, .factory-overview { grid-template-columns: 1fr; gap: 32px; }
  .product-plate, .governance-card, .track-card, .coop-card, .router-output, .product-item, .research-card { padding: 20px; }
  .spec-row { grid-template-columns: 1fr; gap: 4px; }
  .section-copy p { font-size: 15px; }
  .quality-copy { padding-top: 24px; }
  .wide-photo img { height: 240px; }
  .contact-close { padding-block: 48px; }
  .contact-close .container { align-items: start; flex-direction: column; gap: 24px; }
  .contact-close h2 { font-size: 28px; }
  .footer-main, .footer-end { flex-direction: column; gap: 24px; }
  .footer-links { gap: 8px 24px; }
  .page-intro { padding-block: 40px; }
  .page-intro p { font-size: 15px; }
  .organization { padding: 24px 20px; }
  .organization-grid { gap: 32px 20px; }
  .organization-grid h3 { font-size: 18px; }
  .business-row { grid-template-columns: 1fr; gap: 24px; padding-block: 32px; }
  .business-row p { font-size: 15px; }
  .catalog-controls { align-items: start; flex-direction: column; gap: 16px; }
  .filters { gap: 8px; }
  .filter { padding-inline: 12px; }
  .product-grid { grid-template-columns: 1fr; gap: 32px; }
  .engineering-plate, .engineering-wide { padding: 20px; }
  .analysis-layout .engineering-plate img { padding-block: 24px; }
  .analysis-columns .analysis-list { grid-template-columns: 1fr; gap: 0; }
  .analysis-columns .analysis-list li { display: grid; }
  .analysis-columns .diamond-grid { margin-bottom: 0; }
  .modal-plate { overflow-x: auto; }
  .modal-plate img { width: 100%; max-width: 100%; }
  .manufacturing-section { padding-top: 48px; padding-bottom: 56px; }
  .analysis-video { padding: 20px; }
  .factory-metrics { gap: 16px; }
  .process-row { padding-block: 32px; }
  .process-row p { font-size: 15px; }
  .process-row img { height: 240px; }
  .test-photo img { height: 260px; }
  .contact-layout { padding-bottom: 56px; }
}

@media (max-width: 360px) {
  .hero-copy h1 { font-size: 30px; }
  .division-overview, .organization-grid { grid-template-columns: 1fr; }
  .actions { align-items: start; flex-direction: column; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-image > img { animation: image-resolve 900ms cubic-bezier(.16,1,.3,1) both; }
  @keyframes image-resolve { from { filter: grayscale(1) contrast(1.4); } to { filter: grayscale(1) contrast(1.12); } }

  /* U2: Button polarity sweep & arrow elastic shift */
  .button, .navigation .nav-contact {
    position: relative;
    overflow: hidden;
    z-index: 0;
    transition: color 220ms cubic-bezier(.16,1,.3,1), border-color 220ms ease, background-color 220ms ease;
  }
  .button::before, .navigation .nav-contact::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--color-ink-black);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 260ms cubic-bezier(.16,1,.3,1);
    z-index: -1;
  }
  .inverse .button::before {
    background: var(--color-pure-white);
  }
  .button:hover::before, .button:focus-visible::before,
  .navigation .nav-contact:hover::before, .navigation .nav-contact:focus-visible::before {
    transform: scaleX(1);
    transform-origin: left center;
  }
  .button .icon, .text-link .icon, .product-lines a .icon {
    transition: transform 220ms cubic-bezier(.16,1,.3,1);
  }
  .button:hover .icon, .button:focus-visible .icon,
  .text-link:hover .icon, .text-link:focus-visible .icon,
  .product-lines a:hover .icon, .product-lines a:focus-visible .icon {
    transform: translateX(4px);
  }

  /* U1: Blueprint corner-bracket lock on cards */
  .product-item, .track-card, .governance-card, .coop-card, .research-card {
    position: relative;
    transition: border-color 200ms ease;
  }
  .product-item::before, .track-card::before, .governance-card::before, .coop-card::before, .research-card::before,
  .product-item::after, .track-card::after, .governance-card::after, .coop-card::after, .research-card::after {
    content: '';
    position: absolute;
    left: 8px;
    right: 8px;
    height: 10px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 200ms ease, transform 220ms cubic-bezier(.16,1,.3,1);
  }
  .product-item::before, .track-card::before, .governance-card::before, .coop-card::before, .research-card::before {
    top: 8px;
    transform: translateY(-4px) scaleX(1.015);
    background:
      linear-gradient(var(--color-ink-black), var(--color-ink-black)) left top / 10px 1.5px no-repeat,
      linear-gradient(var(--color-ink-black), var(--color-ink-black)) left top / 1.5px 10px no-repeat,
      linear-gradient(var(--color-ink-black), var(--color-ink-black)) right top / 10px 1.5px no-repeat,
      linear-gradient(var(--color-ink-black), var(--color-ink-black)) right top / 1.5px 10px no-repeat;
  }
  .product-item::after, .track-card::after, .governance-card::after, .coop-card::after, .research-card::after {
    bottom: 8px;
    transform: translateY(4px) scaleX(1.015);
    background:
      linear-gradient(var(--color-ink-black), var(--color-ink-black)) left bottom / 10px 1.5px no-repeat,
      linear-gradient(var(--color-ink-black), var(--color-ink-black)) left bottom / 1.5px 10px no-repeat,
      linear-gradient(var(--color-ink-black), var(--color-ink-black)) right bottom / 10px 1.5px no-repeat,
      linear-gradient(var(--color-ink-black), var(--color-ink-black)) right bottom / 1.5px 10px no-repeat;
  }
  .product-item:hover, .product-item:focus-within,
  .track-card:hover, .track-card:focus-within,
  .governance-card:hover, .governance-card:focus-within,
  .coop-card:hover, .coop-card:focus-within,
  .research-card:hover, .research-card:focus-within {
    border-color: var(--color-ink-black);
  }
  .product-item:hover::before, .product-item:focus-within::before,
  .track-card:hover::before, .track-card:focus-within::before,
  .governance-card:hover::before, .governance-card:focus-within::before,
  .coop-card:hover::before, .coop-card:focus-within::before,
  .research-card:hover::before, .research-card:focus-within::before,
  .product-item:hover::after, .product-item:focus-within::after,
  .track-card:hover::after, .track-card:focus-within::after,
  .governance-card:hover::after, .governance-card:focus-within::after,
  .coop-card:hover::after, .coop-card:focus-within::after,
  .research-card:hover::after, .research-card:focus-within::after {
    opacity: 1;
    transform: translateY(0) scaleX(1);
  }

  /* A1: 1997-2026 Milestone Track Tracing Beam */
  .milestone-node::after {
    content: '';
    position: absolute;
    top: 53px;
    left: -6px;
    right: -6px;
    height: 1.5px;
    background: var(--color-ink-black);
    z-index: 0;
    transform-origin: left center;
    transform: scaleX(0);
    transition: transform 320ms cubic-bezier(.16,1,.3,1);
  }
  .milestone-node:first-child::after { left: 50%; }
  .milestone-node:last-child::after { right: 50%; }
  .milestone-node.is-lit::after { transform: scaleX(1); }
  .milestone-node.is-lit .milestone-year { color: var(--color-ink-black); }
  .milestone-node.is-active-node .milestone-badge {
    background: var(--color-ink-black);
    color: var(--color-pure-white);
    transform: translateY(-2px);
  }
  @media (max-width: 1000px) {
    .milestone-node:nth-child(3n+1)::after { left: 50%; }
    .milestone-node:nth-child(3n)::after { right: 50%; }
  }
  @media (max-width: 700px) {
    .milestone-node::after {
      top: 22px;
      bottom: -22px;
      left: 21px;
      right: auto;
      width: 1.5px;
      height: auto;
      transform-origin: top center;
      transform: scaleY(0);
    }
    .milestone-node:first-child::after { left: 21px; }
    .milestone-node:last-child::after { display: none; }
    .milestone-node.is-lit::after { transform: scaleY(1); }
  }

  /* N2: Staggered cascade for spec drawers, research steps, and comparison tables */
  @keyframes row-cascade {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .product-specs-drawer[open] .spec-row,
  .research-card details[open] .research-steps > div,
  .research-comparison[open] tbody tr,
  .research-comparison[open] .archive-list li {
    animation: row-cascade 320ms cubic-bezier(.16,1,.3,1) both;
  }
  .product-specs-drawer[open] .spec-row:nth-child(2),
  .research-card details[open] .research-steps > div:nth-child(2),
  .research-comparison[open] tbody tr:nth-child(2),
  .research-comparison[open] .archive-list li:nth-child(2) { animation-delay: 45ms; }
  .product-specs-drawer[open] .spec-row:nth-child(3),
  .research-comparison[open] tbody tr:nth-child(3),
  .research-comparison[open] .archive-list li:nth-child(3) { animation-delay: 90ms; }
  .product-specs-drawer[open] .spec-row:nth-child(4),
  .research-comparison[open] tbody tr:nth-child(4),
  .research-comparison[open] .archive-list li:nth-child(4) { animation-delay: 135ms; }
  .research-comparison[open] tbody tr:nth-child(n+5),
  .research-comparison[open] .archive-list li:nth-child(n+5) { animation-delay: 175ms; }

  /* R1: Filter item transition & Inquiry Router output pulse */
  @keyframes card-filter-enter {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .product-item.is-filtering,
  .research-card.is-filtering {
    animation: card-filter-enter 280ms cubic-bezier(.16,1,.3,1) both;
  }
  .router-output {
    transition: border-color 240ms ease;
  }
  .inquiry-preview {
    transition: border-color 240ms ease, background-color 240ms ease;
  }
  .router-output.is-pulsing {
    border-color: #0b6bcb;
  }
  .router-output.is-pulsing .inquiry-preview {
    border-color: #0b6bcb;
    background: var(--color-pure-white);
  }
}

@media print {
  .menu-toggle, .lang-toggle, .actions, .contact-close, .filters, .context-actions, .hairline-tools, .hero-playback { display: none !important; }
  body { font-size: 12px; background: white; }
  .container { width: 100%; }
  .hero, .section, .page-intro { padding-block: 24px; }
  .hero-image > img { mask-image: none; }
  .product-item, .research-card, .track-card, .governance-card { break-inside: avoid; }
  .inverse { color: var(--color-ink-black); background: white; border-block: 1px solid var(--color-bone); }
  .inverse p, .inverse li { color: var(--color-ink-black); }
}


/* V6 editorial rhythm: existing YS identity, product-led navigation and readable proof. */
.home-hero { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 48px; padding-block: 76px 64px; min-height: 0; }
.home-hero .hero-copy { padding-right: 0; }
.home-hero .hero-intro { font-family: var(--font-sans); font-size: 15px; line-height: 1.6; margin-bottom: 24px; }
.home-hero h1 { font-size: clamp(40px, 4.5vw, 68px); line-height: 1.15; letter-spacing: -.025em; }
.home-hero .hero-copy > p:last-of-type { max-width: 34em; line-height: 1.8; }
.home-hero .hero-image { min-height: 520px; border-radius: var(--radius-md); }
.home-hero .actions { gap: 12px; }
.email-block > .section-tag { display: table; margin-bottom: 16px; }
.modal-plate figcaption .text-link { display: flex; width: fit-content; margin-top: 8px; }
.home-proof { padding-block: 32px 36px; }
.proof-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.proof-grid > div { min-width: 0; }
.proof-grid dt { color: var(--color-dim); font-size: 13px; margin-bottom: 10px; }
.proof-grid dd { font-family: var(--font-display); font-size: clamp(24px, 2.3vw, 32px); line-height: 1.4; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.proof-grid p { text-wrap: balance; font-size: 12px; line-height: 1.7; color: var(--color-dim); margin-top: 8px; max-width: 24em; }
.home-liquid, .home-products, .home-engineering, .home-group { padding-block: clamp(64px, 7vw, 104px); }
.home-liquid .split-section, .home-products .split-section { gap: 80px; }
.home-liquid .product-plate, .home-products .product-plate { padding: 32px; }
.home-products .section-copy { padding-right: 16px; }
.home-engineering .analysis-layout { align-items: start; gap: 64px; }
.home-engineering .engineering-plate { align-self: center; }
.quality-review-list { padding: 0; list-style: none; }
.quality-review-list li { padding-block: 22px; border-top: 1px solid var(--color-bone); }
.quality-review-list h3 { font-size: 19px; font-weight: 700; }
.quality-review-list p { margin-top: 10px; color: var(--color-dim); font-size: 14px; line-height: 1.8; }
.home-engineering .text-link { font-size: 14px; }
.home-group .section-heading { margin-bottom: 48px; }
.home-group .section-heading h2 { max-width: 18em; }
.home-group .section-heading p { max-width: 44em; }
.page-intro { padding-block: 72px 56px; }
.page-intro h1 { font-size: clamp(34px, 4vw, 56px); line-height: 1.2; }
.page-intro p { max-width: 48em; line-height: 1.8; }
.product-specs-drawer summary, .research-card summary { text-underline-offset: 5px; }
.button .icon, .text-link .icon { transition: transform 180ms ease; }
.button:hover .icon, .button:focus-visible .icon, .text-link:hover .icon, .text-link:focus-visible .icon { transform: translateX(3px); }
html[lang="en"] .home-hero h1 { font-size: clamp(34px, 4vw, 58px); line-height: 1.12; }
html[lang="en"] .proof-grid dd { font-size: clamp(22px, 2vw, 28px); }
html[lang="en"] .proof-grid dt { min-height: 2.8em; }
@media (max-width: 1000px) {
  .home-hero { grid-template-columns: 1fr; gap: 40px; padding-block: 56px; }
  .home-hero h1 { font-size: clamp(42px, 6.8vw, 64px); }
  .home-hero .hero-copy > p:last-of-type { max-width: 44em; }
  .home-hero .hero-image { min-height: 0; aspect-ratio: 16 / 9; }
  .proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 36px; }
  .home-liquid .split-section, .home-products .split-section { gap: 40px; }
  .home-engineering .analysis-layout { gap: 32px; }
  html[lang="en"] .home-hero h1 { font-size: clamp(38px, 6.4vw, 60px); }
}
@media (max-width: 700px) {
  .home-hero { padding-block: 40px 36px; gap: 32px; }
  .home-hero .hero-intro { font-size: 14px; margin-bottom: 20px; }
  .home-hero h1 { font-size: clamp(32px, 8.7vw, 48px); letter-spacing: -.02em; line-height: 1.2; }
  .home-hero .hero-copy > p:last-of-type { font-size: 16px; margin-top: 20px; }
  .home-hero .hero-image { aspect-ratio: 4 / 3; }
  .home-proof { padding-block: 28px; }
  .proof-grid { gap: 28px 20px; }
  .proof-grid dt { font-size: 12px; }
  .proof-grid dd { font-size: clamp(18px, 5.4vw, 24px); }
  .proof-grid p { font-size: 12px; }
  .home-liquid .product-plate, .home-products .product-plate { padding: 24px; }
  .home-products .section-copy { padding-right: 0; }
  .home-engineering .analysis-layout { grid-template-columns: 1fr; }
  .quality-review-list li { padding-block: 20px; }
  .quality-review-list h3 { font-size: 18px; }
  .home-group .section-heading { margin-bottom: 32px; }
  .page-intro { padding-block: 44px 36px; }
  .page-intro h1 { font-size: clamp(30px, 8vw, 42px); }
  html[lang="en"] .home-hero h1 { font-size: clamp(32px, 8.5vw, 45px); }
  html[lang="en"] .proof-grid dd { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .button .icon, .text-link .icon { transition: none; transform: none; }
}

.proof-detail-line { display: block; }
.proof-detail-phrase { display: inline-block; max-width: 100%; vertical-align: top; text-wrap: pretty; }

/* The public company introduction follows the three-division brief. */
@media (max-width: 1000px) { .division-overview, .organization-grid, .governance-grid[data-company-intro] { grid-template-columns: 1fr; } }

/* A product-led extension of the established industrial reference book. */
.header-row { min-height: 80px; }
.site-header .brand-lockup { width: 192px; }
.home-hero { grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); gap: 48px; padding-block: 64px 56px; min-height: 600px; }
.home-hero .hero-copy { padding-right: 0; }
.home-hero h1 { font-size: clamp(48px, 5.5vw, 80px); line-height: 1.15; letter-spacing: -.025em; }
.home-hero .hero-copy > p:last-of-type { max-width: 35em; font-size: 16px; line-height: 1.85; }
.home-hero .actions { gap: 12px; }
.home-hero .actions .button:first-child, .contact-close .button { color: var(--color-pure-white); background: var(--color-ink-black); }
.home-hero .actions .button:first-child:hover, .contact-close .button:hover { color: var(--color-ink-black); background: transparent; }
.home-hero .hero-image { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-height: 0; overflow: visible; background: transparent; border-radius: 0; }
.home-hero .hero-image > .hero-video { position: relative; inset: auto; min-height: 400px; object-fit: cover; }
.home-hero .hero-image figcaption { position: static; padding-top: 16px; color: var(--color-ink-black); }
.home-hero .image-note { max-width: none; padding: 0; background: transparent; }
.home-hero .image-note b { margin-bottom: 2px; }
.home-hero .image-note span { font-size: 12px; }
html[lang="en"] .home-hero h1 { font-size: clamp(40px, 4.5vw, 66px); line-height: 1.08; }
.liquid-heading { max-width: 750px; margin-bottom: 40px; }
.liquid-heading h2 { font-size: clamp(36px, 4.2vw, 56px); }
.liquid-heading > p { margin-top: 24px; color: var(--color-charcoal); font-size: 17px; line-height: 1.8; }
.showcase-tabs { display: flex; gap: 40px; align-items: stretch; border-bottom: 1px solid var(--color-bone); }
.showcase-tabs button { position: relative; border: 0; border-radius: 0; padding: 18px 0; min-height: 56px; background: transparent; text-align: left; font-size: 16px; line-height: 1.5; }
.showcase-tabs button::after { content: ''; position: absolute; inset: auto 0 -1px; height: 2px; background: var(--color-ink-black); transform: scaleX(0); transform-origin: left; transition: transform 220ms cubic-bezier(.16,1,.3,1); }
.showcase-tabs button[aria-selected="true"] { font-weight: 700; }
.showcase-tabs button[aria-selected="true"]::after, .showcase-tabs button:hover::after { transform: scaleX(1); }
.liquid-panel { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(240px, .7fr); gap: 64px; align-items: center; padding-top: 40px; }
.liquid-drawing { min-width: 0; background: var(--color-pure-white); padding: 32px; }
.liquid-drawing .hairline-view { max-width: none; }
.liquid-drawing figcaption { margin-top: 20px; }
.liquid-summary { min-width: 0; }
.liquid-summary h3 { font-size: clamp(24px, 2.8vw, 36px); }
.liquid-summary > p { margin-top: 20px; font-size: 16px; line-height: 1.85; color: var(--color-charcoal); }
.liquid-summary > .text-link { margin-top: 28px; }
.liquid-showcase:not([data-enhanced]) .liquid-panel + .liquid-panel { margin-top: 40px; border-top: 1px solid var(--color-bone); }
.engineering-showcase { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 48px; align-items: start; }
.process-tabs { display: flex; flex-direction: column; }
.process-tabs button { display: flex; justify-content: space-between; align-items: center; gap: 14px; min-height: 80px; padding: 20px 0; border: 0; border-bottom: 1px solid var(--color-bone); border-radius: 0; background: transparent; text-align: left; font-size: 15px; line-height: 1.6; color: var(--color-dim); transition: color 180ms ease; }
.process-tabs button:first-child { border-top: 1px solid var(--color-bone); }
.process-tabs button[aria-selected="true"] { font-weight: 700; color: var(--color-ink-black); }
.process-tabs button .icon { width: 18px; height: 18px; opacity: 0; transform: translateX(-5px); transition: opacity 180ms ease, transform 220ms cubic-bezier(.16,1,.3,1); }
.process-tabs button[aria-selected="true"] .icon, .process-tabs button:hover .icon { opacity: 1; transform: none; }
.process-tabs button:hover { color: var(--color-ink-black); }
.process-panels, .process-panel { min-width: 0; }
.process-panel { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(220px, .85fr); gap: 32px; align-items: center; }
.process-panel figure { min-width: 0; }
.process-panel figure > img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: var(--color-pure-white); }
.process-panel figcaption { margin-top: 16px; }
.process-description h3 { font-size: 23px; line-height: 1.5; }
.process-description > p { color: var(--color-charcoal); margin-top: 20px; font-size: 15px; line-height: 1.85; }
.process-description .text-link { margin-top: 24px; }
.engineering-case-link { margin-top: 32px; text-align: right; }
.engineering-showcase:not([data-enhanced]) { display: block; }
.engineering-showcase:not([data-enhanced]) .process-panel + .process-panel { margin-top: 48px; }
[data-tab-gallery][data-enhanced] [data-gallery-panel]:not([hidden]) figure { animation: evidence-appear 280ms cubic-bezier(.16,1,.3,1); }
@keyframes evidence-appear { from { opacity: .65; filter: blur(1px); } to { opacity: 1; filter: blur(0); } }
.contact-close .container { gap: 48px; align-items: center; }
@media (max-width: 1200px) {
  .engineering-showcase { grid-template-columns: 220px minmax(0, 1fr); gap: 32px; }
  .process-panel { grid-template-columns: 1fr; gap: 24px; }
  .process-panel figure > img { aspect-ratio: 16 / 9; max-height: 320px; }
  .process-description { max-width: 60ch; }
}
@media (max-width: 1000px) {
  .home-hero { grid-template-columns: 1fr; min-height: 0; gap: 40px; padding-block: 48px; }
  .home-hero h1 { font-size: clamp(42px, 7vw, 68px); }
  .home-hero .hero-image { aspect-ratio: auto; }
  .home-hero .hero-image > .hero-video { min-height: 0; height: auto; aspect-ratio: 16 / 9; }
  html[lang="en"] .home-hero h1 { font-size: clamp(40px, 6.7vw, 62px); }
  .liquid-panel { gap: 40px; grid-template-columns: minmax(0, 1.1fr) minmax(220px, .9fr); }
  .engineering-showcase { grid-template-columns: 1fr; gap: 32px; }
  .process-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  .process-tabs button { min-height: 76px; }
  .process-tabs button:first-child { border-top: 0; }
  .process-panel { grid-template-columns: minmax(0, 1fr) minmax(220px, 1fr); gap: 32px; }
  .process-panel figure > img { aspect-ratio: 4 / 3; }
}
@media (max-width: 700px) {
  .site-header .brand-lockup { width: 176px; }
  .home-hero { padding-block: 32px 40px; gap: 28px; }
  .home-hero h1 { font-size: clamp(32px, 8.8vw, 52px); line-height: 1.2; }
  .home-hero .hero-copy > p:last-of-type { font-size: 15px; line-height: 1.85; }
  html[lang="en"] .home-hero h1 { font-size: clamp(32px, 8.5vw, 48px); }
  .liquid-heading { margin-bottom: 24px; }
  .liquid-heading h2 { font-size: clamp(30px, 8vw, 42px); }
  .liquid-heading > p { font-size: 16px; margin-top: 20px; }
  .showcase-tabs { gap: 20px; }
  .showcase-tabs button { font-size: 13px; padding-block: 16px; }
  .liquid-panel { grid-template-columns: 1fr; gap: 28px; padding-top: 24px; }
  .liquid-drawing { padding: 24px; }
  .liquid-summary h3 { font-size: 26px; }
  .liquid-summary > p { margin-top: 16px; }
  .process-panel { grid-template-columns: 1fr; gap: 24px; }
  .process-tabs { gap: 0 20px; }
  .process-tabs button { font-size: 13px; gap: 6px; }
  .process-tabs button .icon { width: 14px; height: 14px; }
  .process-description h3 { font-size: 23px; }
  .engineering-case-link { text-align: left; }
  .contact-close .container { flex-direction: column; align-items: flex-start; gap: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .showcase-tabs button::after, .process-tabs button, .process-tabs button .icon { transition: none; }
  [data-tab-gallery][data-enhanced] [data-gallery-panel]:not([hidden]) figure { animation: none; }
}

/* V7 finish review: product-led opening and immediate human contact. */
.home-hero { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); grid-template-areas: "heading heading" "signature support" "signature film"; align-items: start; gap: 28px 64px; padding-block: 48px 64px; min-height: 0; }
.home-hero .hero-copy { grid-area: heading; align-self: start; }
.home-hero .hero-intro { max-width: none; margin: 0 0 16px; font-size: 14px; line-height: 1.6; }
.home-hero h1 { max-width: none; font-size: clamp(48px, 5.8vw, 84px); line-height: 1.08; }
html[lang="en"] .home-hero h1 { max-width: 22ch; font-size: clamp(40px, 5.3vw, 76px); line-height: 1.04; }
.hero-signature { grid-area: signature; min-width: 0; align-self: stretch; display: flex; flex-direction: column; border-top: 1px solid var(--color-bone); }
.hero-signature-drawing { position: relative; flex: 1; min-height: 410px; overflow: hidden; }
.hero-signature-drawing > img { position: absolute; width: 135%; max-width: none; height: auto; top: 50%; left: 50%; transform: translate(-50%, -50%); mix-blend-mode: multiply; }
.hero-signature > figcaption { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 16px; border-top: 1px solid var(--color-bone); font-size: 12px; color: var(--color-dim); }
.hero-signature > figcaption .text-link { font-size: 12px; flex-shrink: 0; }
.hero-support { grid-area: support; padding-top: 24px; border-top: 1px solid var(--color-bone); }
.hero-support > p { font-size: 15px; line-height: 1.85; color: var(--color-charcoal); }
.home-hero .hero-support .actions { margin-top: 24px; gap: 12px 24px; }
.home-hero .hero-image { grid-area: film; aspect-ratio: auto; margin: 0; }
.home-hero .hero-video-frame > .hero-video { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.home-hero .hero-image figcaption { padding-top: 12px; }
.home-hero .image-note b { font-size: 13px; }
.direct-contact { display: grid; grid-template-columns: .65fr 1fr 1.15fr; gap: 32px; align-items: center; margin-bottom: 56px; padding-block: 28px; border-block: 1px solid var(--color-bone); }
.direct-contact p, .direct-contact a > span { display: block; margin-bottom: 10px; color: var(--color-dim); font-size: 13px; font-weight: 400; line-height: 1.5; }
.direct-contact h2 { font-family: var(--font-sans); font-size: 18px; line-height: 1.5; }
.direct-contact > a { display: block; width: fit-content; min-height: 44px; text-decoration: none; font-size: 16px; line-height: 1.65; letter-spacing: normal; }
.direct-contact .direct-phone { font-variant-numeric: tabular-nums; }
.direct-contact > a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
@media (min-width: 701px) {
  .hero-signature-drawing > img { width: 120%; top: 40%; }
}
@media (max-width: 1000px) {
  .home-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px 32px; padding-block: 40px 48px; }
  .home-hero h1 { font-size: clamp(44px, 7.5vw, 70px); }
  html[lang="en"] .home-hero h1 { font-size: clamp(40px, 7vw, 64px); }
  .hero-signature-drawing { min-height: 340px; }
  .hero-signature > figcaption { align-items: flex-start; flex-direction: column; gap: 8px; }
  .direct-contact { grid-template-columns: .6fr 1fr 1.2fr; gap: 24px; }

}
@media (max-width: 700px) {
  .home-hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "signature" "support" "film"; gap: 24px; padding-block: 28px 40px; }
  .home-hero .hero-intro { margin: 0 0 12px; font-size: 12px; }
  .home-hero h1 { font-size: clamp(30px, 8.5vw, 50px); line-height: 1.16; }
  html[lang="en"] .home-hero h1 { font-size: clamp(27px, 7.8vw, 44px); line-height: 1.12; }
  .hero-signature-drawing { flex: auto; min-height: 0; height: clamp(210px, 62vw, 360px); }
  .hero-signature > figcaption { flex-direction: row; align-items: center; gap: 12px; padding-block: 12px; font-size: 11px; }
  .hero-signature > figcaption .text-link { font-size: 11px; }
  .hero-support { border-top: 0; padding-top: 0; }
  .hero-support > p { font-size: 14px; line-height: 1.8; }
  .home-hero .hero-support .actions { margin-top: 20px; }
  .direct-contact { grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; padding-block: 24px; }
  .direct-contact p, .direct-contact a > span { margin-bottom: 6px; }


}

/* T1 direction approved 2026-10-19: real media, quiet typography and consistent geometry. */
:root { --radius-media: 80px; --section-gap: 80px; }
body { font-size: 16px; line-height: 1.65; }
h1,h2,h3 { font-family: var(--font-sans); font-weight: 300; letter-spacing: .01em; }
h1 { font-size: clamp(36px,4.2vw,52px); line-height: 1.18; }
h2 { font-size: clamp(28px,3.1vw,40px); line-height: 1.3; }
h3 { font-size: 23px; }
.site-header { border: 0; position: relative; z-index: 8; }
.header-row { width: calc(100% - 64px); max-width: 1440px; min-height: 124px; gap: 24px; }
.brand-lockup { width: 210px; }
.navigation { background: var(--color-ink-black); color: white; border-radius: 16px; gap: 22px; padding: 6px 20px; }
.navigation a { font-size: 13px; font-weight: 400; border: 0; padding: 3px 0; min-height: 44px; }
.navigation a:hover { text-decoration: underline; text-underline-offset: 7px; }
.navigation a[aria-current=page] { border: 0; font-weight: 400; text-decoration: underline; text-underline-offset: 7px; }
.navigation .nav-contact { border: 0; padding-inline: 0; }
.navigation .nav-contact:hover { background: transparent; color: white; }
.navigation .lang-toggle { border: 0; color: white; padding: 0 4px; }
.navigation :focus-visible { outline-color: white; outline-offset: 2px; border-radius: 4px; }
.menu-toggle { border-radius: 16px; }
.button { padding: 14px 22px; min-height: 48px; border-radius: 100px; font-size: 14px; }
.button.square,.filter,.router-field select,.router-bulk-toggle { border-radius: 16px; }
.page-intro { padding-block: 64px; }
.page-intro h1 { font-size: clamp(36px,4vw,52px); font-weight: 300; }
.page-intro p { max-width: 50em; font-size: 16px; line-height: 1.8; }
.section { padding-block: 80px; }
.track-card h3,.division-overview h3,.governance-card h3,.product-item h2,.organization-root,.organization h3,.coop-card h3,.router-header h2,.router-output h3,.contact-types h2 { font-weight: 400; }
.track-card,.coop-card,.governance-card,.product-item,.research-card,.organization,.router-output,.direct-contact,.engineering-plate { border-radius: 16px; box-shadow: none; }
.factory-photo,.factory-panorama,.factory-still,.factory-film video,.factory-film-feature,.shopfloor-card img,.process-row figure,.inspection-card img,.research-hero-plate { border-radius: clamp(24px,5vw,80px); overflow: hidden; }
.site-footer,.contact-close { color: white; background: #0f0e12; }
.contact-close { padding-block: 56px 40px; border: 0; }
.contact-close h2 { font-weight: 300; font-size: clamp(30px,3.4vw,46px); }
.contact-close p { color: #ddd9d2; }
.contact-close .button { background: transparent; color: white; border-color: white; }
.contact-close .button:hover { color: #322d2a; background: #f0efe9; }
.site-footer { padding-block: 30px; }
.site-footer a,.site-footer .lang-toggle { color: white; }
.footer-end { color: #ccc8c1; border-color: #57524e; }
.t1-section { padding-block: 76px; }
.t1-split { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); align-items: start; gap: 72px; }
.t1-label { display: flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: .04em; margin-bottom: 24px; }
.t1-label::before { content: ''; display: block; width: 5px; height: 5px; background: currentColor; flex: 0 0 auto; }
.t1-copy h2 { font-size: clamp(28px,3.4vw,44px); font-weight: 300; margin-bottom: 24px; }
.t1-copy p { font-size: 16px; line-height: 1.7; }
.t1-copy > .text-link,.t1-copy > .button { margin-top: 28px; }
.t1-products { padding-top: 72px; padding-bottom: 40px; }
.t1-products .t1-directory { margin-top: 48px; }
.t1-directory details { border: 0; border-bottom: 1px solid #b8b2a9; border-radius: 0; padding: 0; }
.t1-directory details:first-child { border-top: 1px solid #b8b2a9; }
.t1-directory summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 80px; padding: 18px 0; cursor: pointer; font-size: 22px; font-weight: 300; line-height: 1.45; }
.t1-directory summary::-webkit-details-marker { display: none; }
.t1-plus { width: 36px; height: 36px; border: 1px solid currentColor; border-radius: 50%; padding: 9px; fill: none; stroke: currentColor; stroke-width: 1; transition: background-color .18s ease; }
.t1-directory summary:hover .t1-plus { background: #e1ded6; }
.t1-directory details[open] .t1-plus .vertical { display: none; }
.t1-detail { padding: 0 0 24px; }
.t1-detail p { font-size: 15px; line-height: 1.8; }
.t1-detail figure { margin-top: 20px; }
.t1-detail img { max-height: 240px; width: 100%; object-fit: contain; }
.t1-detail .text-link { margin-top: 12px; font-size: 14px; }
.t1-engineering { padding-top: 56px; padding-bottom: 56px; }
.t1-machining { padding-top: 0; }
.t1-machining img { width: 100%; aspect-ratio: 464/320; object-fit: cover; object-position: 52% center; border-radius: 80px; }
.t1-machining figcaption { padding-top: 14px; }
.t1-engineering .t1-copy h2 { font-size: clamp(28px,2.65vw,38px); }
.t1-engineering .t1-directory summary { min-height: 64px; font-size: 18px; }
.t1-engineering-links { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 24px; font-size: 14px; }
.t1-group h2 { margin-bottom: 48px; font-weight: 300; font-size: clamp(30px,3.2vw,44px); }
.t1-divisions { display: grid; grid-template-columns: .8fr 1fr 1.25fr; gap: 32px; margin-bottom: 32px; }
.t1-divisions article + article { border-left: 1px solid #c2bcb4; padding-left: 32px; }
.t1-divisions h3 { font-weight: 300; font-size: 25px; margin-bottom: 12px; }
.t1-divisions ul { list-style: none; padding: 0; display: flex; gap: 4px 14px; flex-wrap: wrap; font-size: 14px; line-height: 1.8; }
.t1-divisions li { overflow-wrap: anywhere; }
body[data-page=index] .site-header { position: absolute; inset: 0 0 auto; color: white; }
body[data-page=index] .header-row { max-width: none; width: calc(100% - 80px); }
body[data-page=index] .navigation a[href='index.html'] { display: none; }
body[data-page=index] .menu-toggle { color: white; border-color: #fff; background: #322d2a; }
.t1-hero { position: relative; min-height: 680px; height: min(920px,100svh); background: #322d2a; color: white; }
.t1-hero .hero-video-frame { position: absolute; inset: 0; aspect-ratio: auto; height: 100%; width: 100%; background: #322d2a; }
.t1-hero .hero-video { display: block; width: 100%; height: 100%; object-fit: cover; filter: brightness(.54); }
.t1-hero .hero-playback { inset: auto 32px 32px auto; z-index: 4; background: transparent; border-radius: 8px; }
.t1-hero .hero-playback:hover { background: transparent; }
.t1-footer { padding-block: 48px; }
.t1-footer .container { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.t1-footer h2 { font-size: clamp(30px,3vw,42px); font-weight: 300; }
.t1-footer .button { margin-top: 20px; color: white; border-color: #ccc8c1; }
.t1-footer .button:hover { color: #322d2a; background: #f0efe9; }
.t1-hero-copy { position: absolute; left: max(40px,calc((100vw - 1280px)/2)); bottom: 64px; z-index: 2; pointer-events: none; }
.t1-hero-copy h1 { font-family: var(--font-sans); font-size: clamp(40px,4.1vw,58px); font-weight: 300; line-height: 1.22; letter-spacing: .01em; margin-bottom: 26px; }
.t1-hero-copy h1 span { display: block; }
.t1-hero-copy .button { pointer-events: auto; background: #322d2a; border-color: #bcb6ae; color: white; }
.t1-hero-copy .button:hover { background: #f0efe9; border-color: #f0efe9; color: #322d2a; }
.t1-hero-copy :focus-visible { outline-color: white; }
@media(min-width:1001px) { html[lang=en] .navigation { gap: 16px; padding-inline: 18px; } html[lang=en] .navigation a { font-size: 12px; } }
@media(max-width:1100px) { .t1-split { gap: 40px; } .header-row { gap: 16px; } .navigation { gap: 16px; } .brand-lockup { width: 180px; } }
@media(max-width:1000px) {
 .site-header .header-row { min-height: 108px; flex-wrap: wrap; padding-block: 20px; }
 .site-header.enhanced .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
 .site-header.enhanced .navigation { display: none; }
 .site-header.enhanced[data-menu-open=true] .navigation { display: flex; width: 100%; order: 3; margin: 0; }
 .navigation { flex-wrap: wrap; margin-left: 0; }
 .t1-split { gap: 36px; }
 .t1-copy h2 { font-size: 34px; }
 .t1-divisions { gap: 20px; }
 .t1-divisions article + article { padding-left: 20px; }
}
@media(max-width:700px) {
 .header-row,body[data-page=index] .header-row { width: calc(100% - 40px); min-height: 96px; }
 .brand-lockup { width: 176px; }
 .navigation { gap: 8px 20px; padding: 14px 18px; }
 .navigation a,.navigation .lang-toggle { min-height: 44px; }
 .site-header.enhanced[data-menu-open=true] .navigation { flex-direction: column; align-items: stretch; }
 body[data-page=index]:has(.site-header:not(.enhanced)) .t1-hero { margin-top: 0; }
 body[data-page=index] .site-header:not(.enhanced) { position: relative; color: #322d2a; }
 body[data-page=index] .site-header:not(.enhanced) .brand-lockup { display: block; filter: none; mix-blend-mode: multiply; }
 .t1-hero { min-height: 600px; height: min(800px,100svh); }
 .t1-hero .hero-video { object-position: left center; }
 .t1-hero-copy { left: 24px; right: 24px; bottom: 64px; }
 .t1-hero-copy h1 { font-size: clamp(29px,8.4vw,40px); line-height: 1.3; max-width: 100%; }
 html[lang=en] .t1-hero-copy h1 { font-size: clamp(29px,8vw,38px); line-height: 1.2; }
 .t1-hero .hero-playback { right: 16px; bottom: 16px; }
 .t1-section { padding-block: 48px; }
 .t1-split { grid-template-columns: 1fr; gap: 32px; }
 .t1-copy h2 { font-size: 32px; }
 .t1-copy p { font-size: 15px; }
 .t1-label { margin-bottom: 20px; }
 .t1-products .t1-directory { margin-top: 0; }
 .t1-directory summary { font-size: 20px; min-height: 74px; }
 .t1-machining img { aspect-ratio: 4/3; border-radius: 40px; }
 .t1-engineering .t1-copy h2 { font-size: 31px; }
 .t1-group h2 { margin-bottom: 32px; font-size: 32px; }
 .t1-divisions { grid-template-columns: 1fr; gap: 24px; margin-bottom: 24px; }
 .t1-divisions article + article { border-left: 0; padding-left: 0; border-top: 1px solid #c2bcb4; padding-top: 24px; }
 .t1-divisions h3 { font-size: 24px; }
 .contact-close .container { gap: 24px; }
 .contact-close h2 { font-size: 32px; }
 .site-footer { padding-top: 16px; }
 .t1-footer { padding-block: 40px; }
 .t1-footer .container { flex-direction: column; align-items: flex-start; gap: 32px; }
 .page-intro { padding-block: 36px 48px; }
}
@media(prefers-reduced-motion:reduce) { .t1-plus { transition: none; } }
@media print { .t1-hero { height: auto; min-height: 0; background: white; color: #322d2a; } .t1-hero .hero-video-frame { display: none; } .t1-hero-copy { position: static; padding: 30px 20px; } .t1-section { padding-block: 24px; } .t1-detail { display: block; } }

/* Secondary pages inherit the light body; onyx is reserved for closing/footer. */
main .inverse { background: var(--color-parchment); color: var(--color-ink-black); }
main .inverse p,main .inverse li { color: var(--color-charcoal); }
main .inverse .button { border-color: var(--color-ink-black); }
main .inverse .division-overview article { border-color: var(--color-bone); }

/* Measured alignment to the approved T1 composition, retaining fluid layouts. */
body[data-page=index] .t1-copy > .t1-label { font-size: 18px; line-height: 1.5; }
body[data-page=index] .t1-hero-copy h1 { font-size: clamp(40px,3.62vw,52px); line-height: 1.3; margin-bottom: 22px; }
body[data-page=index] .t1-hero-copy { left: max(40px,calc((100vw - 1312px)/2)); bottom: 36px; }
.t1-hero .hero-video:not(.has-video-frame) { object-position: center; }
@media(min-width:1101px) {
 body[data-page=index] .t1-section .container,body[data-page=index] .t1-footer .container { max-width: 1290px; width: calc(100% - 10.4vw); }
 body[data-page=index] .site-header .navigation { width: 590px; justify-content: space-between; margin-right: 15px; }
 body[data-page=index] .t1-label { font-size: 18px; line-height: 1.5; margin-bottom: 32px; }
 body[data-page=index] .t1-copy h2 { font-size: 52px; line-height: 1.2; margin-bottom: 32px; }
 body[data-page=index] .t1-copy > p:not(.t1-label) { font-size: 26px; line-height: 1.5; }
 body[data-page=index] .t1-products { padding-block: 72px 32px; }
 body[data-page=index] .t1-products .t1-split { grid-template-columns: minmax(0,1.48fr) minmax(0,1fr); gap: 85px; }
 body[data-page=index] .t1-products .t1-directory { margin-top: 64px; }
 body[data-page=index] .t1-products .t1-copy > .button { margin-top: 40px; min-width: 244px; }
 body[data-page=index] .t1-section .button,body[data-page=index] .t1-footer .button,body[data-page=index] .t1-hero .button { min-height: 66px; padding: 18px 30px; font-size: 18px; }
 body[data-page=index] .t1-hero .button { min-width: 216px; }
 body[data-page=index] .t1-directory summary { font-size: 26px; min-height: 86px; }
 body[data-page=index] .t1-plus { width: 40px; height: 40px; flex: 0 0 40px; }
 body[data-page=index] .t1-engineering { padding-block: 48px 56px; }
 body[data-page=index] .t1-engineering .t1-split { grid-template-columns: minmax(0,1.36fr) minmax(0,1fr); gap: 62px; }
 body[data-page=index] .t1-engineering .t1-copy h2 { font-size: 44px; line-height: 1.3; white-space: nowrap; }
 body[data-page=index] .t1-engineering .t1-directory summary { min-height: 74px; font-size: 26px; padding-block: 14px; }
 body[data-page=index] .t1-engineering-links { gap: 12px 20px; align-items: center; }
 body[data-page=index] .t1-engineering-links .button { min-width: 256px; }
 body[data-page=index] .t1-engineering-links .text-link { font-size: 12px; }
 body[data-page=index] .t1-group { padding-block: 24px 64px; }
 body[data-page=index] .t1-group h2 { font-size: 52px; line-height: 1.2; margin-bottom: 52px; }
 body[data-page=index] .t1-divisions { grid-template-columns: .9fr 1.2fr .8fr; gap: 60px; margin-bottom: 0; }
 body[data-page=index] .t1-divisions h3 { font-size: 32px; }
 body[data-page=index] .t1-divisions ul { font-size: 20px; }
 body[data-page=index] .t1-footer { padding-block: 34px; }
 body[data-page=index] .t1-footer h2 { font-size: 48px; }
}
@media(max-width:1100px) and (min-width:701px) {
 body[data-page=index] .t1-copy > .t1-label { font-size: 14px; }
}
@media(max-width:700px) {
 body[data-page=index] .t1-copy > .t1-label { font-size: 12px; }
 body[data-page=index] .t1-hero-copy { left: 24px; right: 24px; bottom: 64px; }
 body[data-page=index] .t1-hero-copy h1 { font-size: clamp(29px,8.4vw,40px); line-height: 1.3; }
 html[lang=en] body[data-page=index] .t1-hero-copy h1 { font-size: clamp(29px,8vw,38px); line-height: 1.2; }
 .t1-hero .hero-video.has-video-frame { object-position: left center; }
}

/* Preserve the measured hero lettering; let longer English headings wrap. */
@media(min-width:1101px) {
 body[data-page=index] .t1-hero-copy { bottom: 32px; }
 body[data-page=index] .t1-hero-copy h1 { font-size: clamp(48px,4.45vw,64px); line-height: 1.13; margin-bottom: 14px; }
 body[data-page=index] .header-row { width: calc(100% - 46px); min-height: 156px; }
 body[data-page=index] .site-header .navigation { margin-right: 32px; transform: translateY(-9px); }
 body[data-page=index] .t1-copy h2,body[data-page=index] .t1-group h2 { font-size: clamp(36px,3.62vw,52px); }
 body[data-page=index] .t1-copy > p:not(.t1-label) { font-size: clamp(21px,1.81vw,26px); }
 body[data-page=index] .t1-engineering .t1-copy h2 { font-size: clamp(30px,2.9vw,42px); white-space: normal; }
 html[lang=en] body[data-page=index] .t1-engineering .t1-copy h2 { font-size: clamp(28px,2.2vw,34px); }
 html[lang=en] body[data-page=index] .t1-engineering .t1-directory summary { font-size: 22px; }
 body[data-page=index] .t1-footer .brand { flex-shrink: 0; margin-right: -50px; }
 body[data-page=index] .t1-footer .container > div { min-width: 0; }
 html[lang=en] body[data-page=index] .t1-footer h2 { font-size: 40px; }
}

/* Outline action and light control lettering from the approved reference. */
.button { font-weight: 400; }
.navigation .lang-toggle { font-weight: 400; }
body[data-page=index] .t1-hero-copy .button { background: rgba(50,45,42,.12); }
body[data-page=index] .t1-hero-copy .button:hover { background: #f0efe9; }
@media(min-width:1101px) {
 body[data-page=index] .t1-hero-copy h1 { font-size: clamp(44px,3.94vw,56.7px); line-height: 1.243; }
 body[data-page=index] .t1-hero .button { min-width: 225px; }
 body[data-page=index] .t1-footer .button { min-width: 184px; }
 body[data-page=index] .t1-hero .hero-playback { right: 48px; }
}

/* Correct the three outline actions against the approved control bounds. */
@media(min-width:1101px) {
 body[data-page=index] .t1-section .button,body[data-page=index] .t1-footer .button { min-height: 60px; line-height: 1.3; padding-block: 17px; border-width: 1.5px; }
 body[data-page=index] .t1-products .t1-copy > .button { margin-top: 47px; }
 body[data-page=index] .t1-engineering-links { margin-top: 30.5px; }
 body[data-page=index] .t1-engineering-links .button { min-width: 210px; min-height: 58px; padding-block: 16px; }
 body[data-page=index] .t1-footer .button { margin-top: 18px; margin-left: -1.5px; background: #151415; border-color: #e3e0da; }
 body[data-page=index] .t1-footer .button:hover { background: #f0efe9; }
 body[data-page=index] .t1-group { padding-bottom: 70px; }
}

/* Final type polish: align the engineering rows and quiet the company members. */
@media(min-width:1101px) {
 body[data-page=index] .t1-products details:nth-child(2) summary > span { letter-spacing: -1.2px; }
 body[data-page=index] .t1-engineering .t1-directory summary { font-size: 21px; font-weight: 400; }
 body[data-page=index] .t1-divisions ul { font-weight: 300; }
}

/* One transparent v4 identity across the site. Only the wordmark reverses on dark surfaces. */
.brand-artwork { position: relative; display: block; width: 210px; aspect-ratio: 1983 / 793; }
.site-header .brand-artwork { width: 192px; }
.brand .brand-lockup,
body[data-page=index] .site-header .brand .brand-lockup,
.site-footer .brand .brand-lockup { display: block; width: 100%; height: auto; mix-blend-mode: normal; filter: none; }
.brand-wordmark-light { display: none; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; clip-path: inset(0 0 0 36%); filter: brightness(0) invert(1); pointer-events: none; }
body[data-page=index] .site-header .brand-wordmark-light,
.site-footer .brand-wordmark-light { display: block; }
.factory-addresses { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 16px; }
.factory-addresses li { min-width: 0; }
.factory-addresses .factory-name { display: block; font-size: 13px; font-weight: 400; color: var(--color-dim); margin-bottom: 4px; }
.factory-addresses address { margin: 0; font-style: normal; font-size: 15px; line-height: 1.7; font-weight: 400; overflow-wrap: anywhere; }
.factory-addresses .text-link { margin-top: 5px; font-size: 13px; }
.contact-factories { margin-block: 32px 48px; padding-block: 24px; border-block: 1px solid var(--color-bone); }
.contact-factories h2 { font-size: 22px; font-weight: 300; }
.contact-factories .factory-addresses { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 48px; }
.contact-factories address { font-size: 16px; }
@media(min-width:1101px) {
 body[data-page=index] .site-header .brand-artwork { width: 321px; }
 body[data-page=index] .t1-footer .brand-artwork { width: 375px; }
 .t1-divisions .factory-addresses { gap: 10px; }
 .t1-divisions .factory-addresses address { font-size: 14px; }
}
@media(max-width:1100px) { .brand-artwork,.site-header .brand-artwork { width: 180px; } }
@media(max-width:700px) {
 .brand-artwork,.site-header .brand-artwork { width: 176px; }
 .contact-factories .factory-addresses { grid-template-columns: minmax(0,1fr); gap: 24px; }
}
@media print { .brand-wordmark-light { display: none !important; } }
