@import url("./assets/fonts/noto-sans-sc.css");

:root {
  --ink: #11130f;
  --muted: #65685f;
  --paper: #f1f1eb;
  --soft: #f7f7f3;
  --white: #fff;
  --line: rgba(17, 19, 15, 0.14);
  --green: #72c91c;
  --green-deep: #4b9410;
  --green-pale: #eaf4df;
  --green-wash: #f3f8ee;
  --shell: min(1640px, calc(100vw - 112px));
  --header: 80px;
  --ease: cubic-bezier(.2,.72,0,1);
  --ease-soft: cubic-bezier(.22,.61,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: "Noto Sans SC Variable", "PingFang SC", "Source Han Sans SC", "Microsoft YaHei UI", system-ui, sans-serif;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
body.header-panel-open { overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
a:focus-visible, button:focus-visible { outline:2px solid var(--green-deep); outline-offset:4px; }
img { display: block; max-width: 100%; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding: 128px 0; }
.eyebrow { margin: 0; font-size: 10px; font-weight: 650; letter-spacing: 0; }

.site-header {
  position: fixed;
  z-index: 90;
  inset: 0 0 auto;
  height: var(--header);
  padding: 0 clamp(28px, 3.8vw, 72px);
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  align-items: center;
  gap: clamp(24px, 3.5vw, 62px);
  color:var(--ink);
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  transition:height .38s var(--ease), background-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
.site-header.is-scrolled,
.site-header:has(.desktop-nav:hover),
.site-header:has(.header-actions:hover),
.site-header:focus-within,
body.header-panel-open .site-header {
  height:72px;
  background:rgba(255,255,253,.965);
  box-shadow:0 12px 42px rgba(22,29,18,.08);
  backdrop-filter:blur(22px) saturate(140%);
}
.brand { position:relative; z-index:3; width:146px; height:30px; overflow:hidden; justify-self:start; display:inline-flex; align-items:center; transition:width .35s var(--ease); }
.brand img { position:absolute; left:0; top:50%; width:146px; max-width:none; transform:translateY(-50%); transition:width .35s var(--ease), opacity .25s ease; }
.site-header.is-scrolled .brand img,
body.header-panel-open .brand img { width:140px; }
.site-header.is-scrolled .brand,
body.header-panel-open .brand { width:140px; }
.desktop-nav { position:static; z-index:3; justify-self:center; display:flex; align-items:center; gap:clamp(28px, 2.8vw, 48px); height:100%; transform:none; }
.desktop-nav > a, .nav-product > a { position:relative; display:inline-flex; align-items:center; height:var(--header); padding:0; white-space:nowrap; font-size:13px; font-weight:520; opacity:.84; transition:height .38s var(--ease), opacity .25s ease; }
.site-header.is-scrolled .desktop-nav > a,
.site-header.is-scrolled .nav-product > a,
.site-header:has(.desktop-nav:hover) .desktop-nav > a,
.site-header:has(.desktop-nav:hover) .nav-product > a,
.site-header:has(.header-actions:hover) .desktop-nav > a,
.site-header:has(.header-actions:hover) .nav-product > a,
.site-header:focus-within .desktop-nav > a,
.site-header:focus-within .nav-product > a,
body.header-panel-open .desktop-nav > a,
body.header-panel-open .nav-product > a { height:72px; }
.desktop-nav > a:hover, .nav-product:hover > a, .desktop-nav > a.is-active, .nav-product > a.is-active { opacity:1; }
.desktop-nav > a::after, .nav-product > a::after { content:""; position:absolute; left:0; bottom:17px; width:100%; height:1px; background:currentColor; opacity:0; transform:scaleX(0); transform-origin:left; transition:opacity .25s ease, transform .35s var(--ease); }
.desktop-nav > a:hover::after, .desktop-nav > a:focus-visible::after, .nav-product:hover > a::after, .nav-product > a:focus-visible::after,
.site-header.is-scrolled .desktop-nav > a.is-active::after, .site-header.is-scrolled .nav-product > a.is-active::after,
.site-header:has(.desktop-nav:hover) .desktop-nav > a.is-active::after, .site-header:has(.desktop-nav:hover) .nav-product > a.is-active::after,
body.header-panel-open .desktop-nav > a.is-active::after, body.header-panel-open .nav-product > a.is-active::after { opacity:.7; transform:scaleX(1); }
.nav-product { display:inline-flex; align-items:center; height:100%; }
.nav-product > a i { width:6px; height:6px; margin-left:8px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .3s var(--ease); }
.nav-product:hover > a i, .nav-product:focus-within > a i { transform:translateY(1px) rotate(225deg); }
.product-mega { position:fixed; z-index:88; top:72px; left:0; right:0; padding:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-10px); background:rgba(255,255,253,.985); box-shadow:0 28px 80px rgba(25,32,20,.13); transition:opacity .22s ease, transform .32s var(--ease), visibility .22s; }
.nav-product:hover .product-mega, .nav-product:focus-within .product-mega { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.product-mega-inner { width:min(1380px, calc(100% - 80px)); margin:0 auto; padding:28px 0 30px; display:grid; grid-template-columns:minmax(240px,.65fr) minmax(640px,1.65fr); gap:52px; border-top:1px solid rgba(17,19,15,.08); background:transparent; }
.mega-intro { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.mega-intro h2 { margin:17px 0 16px; font-size:34px; font-weight:350; line-height:1.12; letter-spacing:0; }
.mega-intro > p:not(.eyebrow) { margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
.mega-intro > a { display:inline-flex; gap:12px; margin-top:27px; padding-bottom:5px; border-bottom:1px solid rgba(17,19,15,.45); font-size:12px; transition:gap .3s var(--ease); }
.mega-intro > a:hover { gap:17px; }
.mega-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.mega-card { position:relative; min-height:260px; overflow:hidden; padding:19px; display:flex; flex-direction:column; justify-content:space-between; background:#f2f3ef; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.mega-card span { position:relative; z-index:2; display:grid; gap:6px; }
.mega-card b { font-size:15px; font-weight:520; }
.mega-card small { color:#7d8278; font-size:10px; letter-spacing:0; }
.mega-card img { position:absolute; left:7%; right:7%; bottom:14px; width:86%; height:66%; padding:4px; object-fit:contain; object-position:center bottom; transition:transform .6s var(--ease); }
.mega-card:hover { transform:translateY(-4px); box-shadow:0 18px 38px rgba(39,48,28,.1); }
.mega-card:hover img { transform:scale(1.035) translateY(-2px); }
.mega-handheld { background:#edf3e8; }
.mega-care { background:#f4edf1; }
.nav-backdrop { position:fixed; z-index:70; inset:72px 0 0; background:rgba(16,19,14,.22); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease, visibility .25s; }
body:has(.nav-product:hover) .nav-backdrop, body:has(.nav-product:focus-within) .nav-backdrop, body.header-panel-open .nav-backdrop { opacity:1; visibility:visible; }
body.header-panel-open .nav-backdrop { pointer-events:auto; }
.header-actions { position:relative; z-index:3; justify-self:end; display:flex; align-items:center; gap:22px; }
.header-utility { position:relative; display:inline-flex; align-items:center; }
.nav-action { position:relative; min-height:34px; padding:0; display:inline-flex; align-items:center; gap:8px; border:0; background:transparent; cursor:pointer; font-size:12px; font-weight:540; opacity:.82; transition:opacity .25s ease; }
.lang-switch > span { display:block; line-height:16px; }
.nav-action::after { content:""; position:absolute; left:0; right:0; bottom:1px; height:1px; background:currentColor; opacity:0; transform:scaleX(0); transform-origin:left; transition:opacity .25s ease, transform .32s var(--ease); }
.nav-action:hover, .header-utility.is-open .nav-action { opacity:1; }
.nav-action:hover::after, .header-utility.is-open .nav-action::after { opacity:.7; transform:scaleX(1); }
.globe-icon { position:relative; width:13px; height:13px; border:1px solid currentColor; border-radius:50%; }
.globe-icon::before { content:""; position:absolute; left:50%; top:1px; bottom:1px; width:4px; border-left:1px solid currentColor; border-right:1px solid currentColor; border-radius:50%; transform:translateX(-50%); }
.action-chevron { width:6px; height:6px; margin-left:1px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); transition:transform .3s var(--ease); }
.header-utility.is-open .action-chevron { transform:translateY(3px) rotate(225deg); }
.contact-arrow { font-size:13px; font-style:normal; transition:transform .3s var(--ease); }
.contact-switch:hover .contact-arrow, .contact-select.is-open .contact-arrow { transform:translate(3px,-3px); }
.utility-panel { position:fixed; z-index:89; top:72px; right:clamp(22px,3.8vw,72px); width:min(440px,calc(100vw - 44px)); max-height:calc(100svh - 72px); padding:32px; overflow:auto; color:var(--ink); border-top:1px solid rgba(17,19,15,.08); background:rgba(255,255,253,.99); box-shadow:0 28px 70px rgba(25,32,20,.16); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-10px); transition:opacity .22s ease, transform .32s var(--ease), visibility .22s; }
.utility-panel.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.utility-panel-contact { width:min(660px,calc(100vw - 44px)); display:grid; grid-template-columns:1fr 1.05fr; gap:40px; }
.utility-panel-header > p { margin:0; color:var(--green-deep); font-size:9px; font-weight:700; }
.utility-panel-header h2 { margin:16px 0 0; font-size:32px; font-weight:360; line-height:1.1; letter-spacing:0; }
.utility-panel-header > span { display:block; margin-top:17px; color:var(--muted); font-size:12px; line-height:1.7; }
.language-options { margin-top:28px; display:grid; border-top:1px solid var(--line); }
.language-option { display:grid; grid-template-columns:38px 1fr auto; gap:12px; align-items:center; min-height:66px; border-bottom:1px solid var(--line); transition:padding-left .3s var(--ease), background-color .3s ease; }
.language-option:hover { padding-left:10px; background:var(--green-wash); }
.language-option > span { color:var(--green-deep); font-size:10px; font-weight:700; }
.language-option b { font-size:14px; font-weight:520; }
.language-option small { color:#8b9087; font-size:9px; }
.language-option.is-active small { color:var(--green-deep); }
.utility-contact-list { display:grid; align-content:start; border-top:1px solid var(--line); }
.utility-contact-list > a:not(.utility-contact-primary), .utility-contact-list > div { min-height:58px; padding:13px 0; display:grid; grid-template-columns:54px 1fr auto; gap:10px; align-items:center; border-bottom:1px solid var(--line); }
.utility-contact-list small { color:#858a80; font-size:9px; }
.utility-contact-list b { min-width:0; overflow-wrap:anywhere; font-size:11px; font-weight:520; }
.utility-contact-list i { font-size:12px; font-style:normal; }
.utility-contact-primary { margin-top:20px; display:flex; justify-content:space-between; align-items:center; min-height:42px; padding:0 15px; color:#fff; background:var(--ink); font-size:11px; font-weight:560; }
.utility-contact-primary i { transition:transform .3s var(--ease); }
.utility-contact-primary:hover i { transform:translate(3px,-3px); }
.menu-button, .mobile-nav { display: none; }

.hero { position: relative; height: 100svh; min-height: 700px; overflow: hidden; isolation:isolate; background: #d4d0c8; }
.hero-slides, .hero-slide, .hero-media, .hero-media img { position:absolute; inset:0; width:100%; height:100%; }
.hero-slide { z-index:0; overflow:hidden; contain:paint; opacity:0; visibility:hidden; pointer-events:none; will-change:opacity; transition:opacity .56s ease, visibility .56s; }
.hero-slide.is-active { z-index:1; opacity:1; visibility:visible; pointer-events:auto; }
.hero-media { display:block; overflow:hidden; }
.hero-media img { max-width:none; object-fit:cover; object-position:center center; }
.hero-slide-auto .hero-media img { object-position:center center; }
.hero-slide-mr7 .hero-media img { object-position:left center; }
.hero-slide-x20 .hero-media img { object-position:center center; }
.hero-slide-ecosystem .hero-media img { object-position:center center; }
.hero-wash { position:absolute; inset:0; background:linear-gradient(90deg, rgba(247,246,241,.03) 28%, rgba(247,246,241,.14) 50%, rgba(247,246,241,.8) 78%, rgba(247,246,241,.94) 100%); }
.hero-slide-auto .hero-wash { background:linear-gradient(90deg, rgba(251,249,244,.58) 0%, rgba(251,249,244,.22) 42%, transparent 66%); }
.hero-slide-x20 .hero-wash { background:linear-gradient(90deg, rgba(248,245,239,.02) 18%, rgba(248,245,239,.08) 42%, rgba(248,245,239,.72) 72%, rgba(248,245,239,.94) 100%); }
.hero-slide-ecosystem .hero-wash { background:linear-gradient(180deg, rgba(247,246,242,.5) 0%, rgba(247,246,242,.18) 36%, transparent 65%); }
.hero-slide-d1 .hero-wash { background:linear-gradient(90deg, rgba(249,247,243,.16) 0%, transparent 52%); }
.hero-slide-copy { position:absolute; z-index:3; top:50%; left:50%; width:var(--shell); margin:0; transform:translate(-50%,-43%); }
.hero-copy-left, .hero-copy-right { display:flex; flex-direction:column; padding:0; }
.hero-copy-left { align-items:flex-start; }
.hero-copy-right { align-items:flex-end; }
.hero-copy-left > *, .hero-copy-right > * { width:min(520px, 46%); }
.hero-copy-center { top:20%; display:flex; flex-direction:column; align-items:center; text-align:center; transform:translateX(-50%); }
.hero-copy-center .hero-lead { max-width:470px; }
.hero-slide-copy > * { opacity:0; transform:translate3d(0,12px,0); will-change:opacity,transform; transition:opacity .38s ease, transform .48s var(--ease); }
.hero-slide-copy .eyebrow { margin-bottom:22px; transition-delay:.08s; }
.hero h1 { margin:0; font-size:68px; font-weight:310; line-height:1.04; letter-spacing:0; }
.hero h1 span { display:block; white-space:nowrap; }
.hero h1 { transition-delay:.13s; }
.hero-lead { margin:24px 0 0; color:rgba(17,19,15,.63); font-size:15px; line-height:1.82; letter-spacing:0; transition-delay:.19s; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:31px; transition-delay:.24s; }
.hero-slide.is-active .hero-slide-copy > * { opacity:1; transform:none; }
.button { display:inline-flex; min-height:50px; padding:0 25px; align-items:center; justify-content:center; border-radius:100px; font-size:13px; font-weight:600; transition:transform .35s var(--ease), color .35s var(--ease), background-color .35s var(--ease), box-shadow .35s var(--ease); }
.button-solid { color:white; background:var(--ink); }
.button-solid:hover { transform:translateY(-2px); background:#29311f; box-shadow:0 12px 28px rgba(17,19,15,.18); }
.text-link { display:inline-flex; align-items:center; gap:12px; font-size:13px; }
.text-link span { font-size:16px; transition:transform .3s var(--ease); }
.text-link:hover span { transform:translate(3px,-3px); }
.hero-editorial-bg { position:absolute; inset:0; overflow:hidden; background:linear-gradient(125deg,#f7f4f1 0%,#f2eee9 45%,#f4e8ee 100%); }
.hero-editorial-bg i { position:absolute; border:1px solid rgba(146,91,119,.13); border-radius:50%; }
.hero-editorial-bg i:nth-child(1) { width:54vw; height:54vw; right:-10vw; top:-15vw; }
.hero-editorial-bg i:nth-child(2) { width:35vw; height:35vw; right:4vw; top:10vw; }
.hero-editorial-bg i:nth-child(3) { width:20vw; height:20vw; right:14vw; top:20vw; background:rgba(255,255,255,.28); backdrop-filter:blur(12px); }
.hero-d1-art { position:absolute; z-index:2; top:9%; right:2%; width:56%; height:77%; }
.hero-d1-art img { position:absolute; z-index:2; inset:0; width:100%; height:100%; padding:3%; object-fit:contain; transform:translate3d(20px,0,0) scale(.98); transition:transform .7s var(--ease); }
.hero-slide-d1.is-active .hero-d1-art img { transform:none; }
.d1-orbit { position:absolute; z-index:1; width:min(38vw,680px); aspect-ratio:1; left:50%; top:50%; border:1px solid rgba(130,86,107,.18); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.16),0 0 0 110px rgba(255,255,255,.1); transform:translate(-50%,-48%); }
.hero-d1-art > b { position:absolute; z-index:0; right:3%; bottom:-8%; color:rgba(110,67,91,.06); font-size:min(25vw,430px); font-weight:300; line-height:1; letter-spacing:0; }
.hero-controls { position:absolute; z-index:5; left:50%; bottom:25px; display:grid; grid-template-columns:auto minmax(90px,150px) minmax(520px,1fr) auto; gap:20px; align-items:end; transform:translateX(-50%); pointer-events:none; }
.hero-count { display:flex; align-items:baseline; gap:7px; min-width:57px; }
.hero-count b { font-size:24px; font-weight:330; }
.hero-count span { color:rgba(17,19,15,.48); font-size:9px; letter-spacing:0; }
.hero-progress { align-self:center; height:1px; overflow:hidden; background:rgba(17,19,15,.18); }
.hero-progress i { display:block; width:100%; height:100%; background:var(--ink); transform-origin:left; animation:hero-progress 6200ms linear both; }
.hero.is-paused .hero-progress i { animation-play-state:paused; }
.hero-chapters { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); pointer-events:auto; }
.hero-chapters button { position:relative; min-width:0; padding:11px 12px 0; display:grid; grid-template-columns:auto 1fr; gap:9px; align-items:baseline; border:0; border-top:1px solid rgba(17,19,15,.18); background:transparent; text-align:left; cursor:pointer; }
.hero-chapters button::before { content:""; position:absolute; left:0; right:100%; top:-1px; height:2px; background:var(--ink); transition:right .38s var(--ease); }
.hero-chapters button.is-active::before { right:0; }
.hero-chapters span { color:#888d84; font-size:8px; letter-spacing:0; }
.hero-chapters b { overflow:hidden; color:#747970; font-size:10px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; transition:color .25s ease; }
.hero-chapters button:hover b, .hero-chapters button.is-active b { color:var(--ink); }
.hero-arrows { display:flex; align-items:center; gap:7px; pointer-events:auto; }
.hero-arrows button { width:35px; height:35px; padding:0; border:1px solid rgba(17,19,15,.26); border-radius:50%; background:rgba(255,255,255,.22); cursor:pointer; transition:color .3s var(--ease), background-color .3s var(--ease), transform .3s var(--ease); }
.hero-arrows button:hover { color:white; background:var(--ink); transform:scale(1.04); }
.scroll-mark { position:absolute; z-index:3; right:42px; bottom:42px; display:flex; gap:11px; align-items:center; font-size:8px; letter-spacing:0; transform:rotate(90deg) translateY(-100%); transform-origin:right top; }
.scroll-mark i { position:relative; width:42px; height:1px; overflow:hidden; background:rgba(17,19,15,.24); }
.scroll-mark i::after { content:""; position:absolute; inset:0; background:var(--ink); animation:scroll-line 2s ease-in-out infinite; }
@keyframes hero-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes scroll-line { 0% { transform:translateX(-110%); } 55%,100% { transform:translateX(110%); } }

.capability-ticker { width:100%; overflow:hidden; border-top:1px solid rgba(17,19,15,.08); border-bottom:1px solid rgba(17,19,15,.08); background:#f8f9f5; }
.ticker-track { width:max-content; min-height:58px; display:flex; align-items:center; gap:28px; padding-inline:28px; animation:ticker-move 32s linear infinite; }
.ticker-track span { color:#636960; font-size:9px; font-weight:620; letter-spacing:0; white-space:nowrap; }
.ticker-track i { width:5px; height:5px; border-radius:50%; background:var(--green); }
@keyframes ticker-move { to { transform:translateX(-50%); } }

.section-intro h2, .portfolio-heading h2, .flagship-title h2, .about h2, .contact h2 {
  margin: 20px 0 0;
  font-size: 64px;
  line-height: 1.08;
  font-weight: 350;
  letter-spacing: 0;
}
.split-intro { display: grid; grid-template-columns: .8fr 1.55fr 1fr; gap: 70px; align-items: end; margin-bottom: 64px; }
.split-intro h2 { margin: 0; }
.split-intro > p:last-child { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.85; }
.categories { background: var(--white); }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.category-card { position: relative; min-height: 630px; overflow: hidden; background: var(--soft); transition:transform .65s var(--ease), box-shadow .65s var(--ease); }
.category-card-copy { position: relative; z-index: 2; padding: 31px 32px; }
.category-card-copy span { color: #96998f; font-size: 10px; }
.category-card-copy p { margin: 17px 0 0; color: #72756d; font-size: 12px; }
.category-card-copy h3 { margin: 13px 0 0; font-size: 32px; line-height: 1.18; font-weight: 370; letter-spacing: 0; }
.category-card img { position: absolute; left: 8%; right: 8%; bottom: 14px; width: 84%; height: 61%; object-fit: contain; object-position: center bottom; transition:transform .8s var(--ease); }
.category-card > a { position: absolute; z-index: 3; inset: 0; }
.category-card:hover { transform:translateY(-7px); box-shadow:0 24px 60px rgba(41,48,31,.1); }
.category-card:hover img { transform:scale(1.035) translateY(-3px); }
.category-robot { background: #f0f0ed; }
.category-handheld { background: #eef3e9; }
.category-care { background: #f4eef1; }

.flagship { padding:0; overflow:clip; border-block:1px solid rgba(17,19,15,.08); background:#f6f6f4; }
.flagship-layout { width:min(1780px,calc(100vw - 40px)); margin:0 auto; display:grid; grid-template-columns:minmax(0,1.28fr) minmax(430px,.72fr); min-height:960px; align-items:stretch; }
.flagship-visual { position:relative; min-width:0; height:960px; overflow:hidden; border-right:1px solid var(--line); }
.flagship-title { position:absolute; z-index:5; left:clamp(28px,3vw,56px); top:52px; }
.flagship-title .eyebrow { color:var(--green-deep); }
.flagship-title h2 { margin:16px 0 0; font-size:clamp(48px,3vw,60px); font-weight:350; line-height:1.06; letter-spacing:0; }
.flagship-carousel-controls { position:absolute; z-index:8; top:52px; right:32px; display:flex; align-items:center; gap:10px; }
.flagship-carousel-controls > button { width:42px; height:42px; padding:0; display:grid; place-items:center; border:1px solid rgba(17,19,15,.2); border-radius:50%; background:rgba(255,255,255,.58); cursor:pointer; transition:color .28s ease, background-color .28s ease, border-color .28s ease, transform .3s var(--ease); }
.flagship-carousel-controls > button:hover { color:#fff; border-color:var(--ink); background:var(--ink); transform:translateY(-2px); }
.flagship-carousel-controls > button svg { grid-area:1/1; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.flagship-carousel-controls .story-icon-play { display:none; }
.flagship-carousel-controls [data-story-toggle].is-paused .story-icon-pause { display:none; }
.flagship-carousel-controls [data-story-toggle].is-paused .story-icon-play { display:block; fill:currentColor; stroke:none; }
.flagship-meter { min-width:62px; display:flex; justify-content:center; align-items:baseline; gap:7px; }
.flagship-meter b { font-size:30px; font-weight:320; }
.flagship-meter span { color:#70766d; font-size:14px; letter-spacing:0; }
.story-product-tabs { position:absolute; z-index:7; left:clamp(28px,3vw,56px); right:32px; top:240px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.story-product-tabs button { position:relative; min-width:0; min-height:66px; padding:12px 14px; display:grid; grid-template-columns:auto 1fr; gap:2px 10px; align-content:center; border:0; border-right:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; }
.story-product-tabs button:last-child { border-right:0; }
.story-product-tabs button::before { content:""; position:absolute; left:0; right:100%; top:-1px; height:2px; background:var(--green-deep); transition:right .38s var(--ease); }
.story-product-tabs button.is-active::before { right:0; }
.story-product-tabs span { grid-row:1/3; align-self:center; color:#858b81; font-size:14px; }
.story-product-tabs b { overflow:hidden; font-size:16px; font-weight:590; text-overflow:ellipsis; white-space:nowrap; }
.story-product-tabs small { color:#71776e; font-size:15px; line-height:1.25; }
.story-product-tabs button:not(.is-active) b,
.story-product-tabs button:not(.is-active) small { opacity:.56; }
.flagship-media-stage { position:absolute; z-index:1; inset:322px 30px 54px 0; overflow:hidden; }
.flagship-media { position:absolute; inset:0; margin:0; overflow:hidden; opacity:0; visibility:hidden; transform:scale(1.018); transition:opacity .5s ease, transform .85s var(--ease), visibility .5s; }
.flagship-media.is-active { opacity:1; visibility:visible; transform:none; }
.flagship-media > img { width:100%; height:100%; object-fit:contain; object-position:center bottom; }
.flagship-media-product > img { padding:1.5% 3% 0 0; filter:drop-shadow(0 25px 24px rgba(21,23,19,.13)); }
.flagship-media-product[data-story-media^="ms1"] > img { transform:scale(1.08); transform-origin:center bottom; }
.flagship-media-product[data-story-media^="k30"] > img { transform:scale(1.16); transform-origin:center bottom; }
.flagship-media-product[data-story-media^="d1"] > img { transform:scale(1.12); transform-origin:center bottom; }
.flagship-media-scene > img { object-fit:cover; object-position:center; }
.flagship-media-opening-d1 > img { object-position:center 32%; }
.flagship-media-crop-bottom > img { object-position:center bottom; transform:scale(1.12); transform-origin:center bottom; }
.flagship-media figcaption { position:absolute; z-index:2; left:0; right:0; bottom:0; padding:11px 14px; color:#fff; background:rgba(17,19,15,.82); font-size:14px; line-height:1.45; }
.flagship-product-link { position:absolute; z-index:7; left:clamp(28px,3vw,56px); bottom:24px; display:inline-flex; align-items:center; gap:12px; font-size:15px; font-weight:560; }
.flagship-product-link span { transition:transform .3s var(--ease); }
.flagship-product-link:hover span { transform:translate(3px,-3px); }
.flagship-copy { min-width:0; background:rgba(255,255,255,.28); }
.flagship-steps[hidden] { display:none; }
.flagship-steps { display:grid; align-content:center; min-height:960px; padding:112px 0 70px clamp(38px,3.5vw,66px); }
.flagship-steps article { position:relative; min-height:240px; display:grid; grid-template-columns:44px 1fr; gap:20px; align-content:center; padding:38px 28px 38px 20px; border-top:1px solid var(--line); border-left:2px solid transparent; opacity:.58; cursor:pointer; transition:opacity .35s ease, color .35s ease, background-color .35s ease, border-color .35s ease, padding-left .45s var(--ease); }
.flagship-steps article:hover { opacity:.82; background:rgba(255,255,255,.42); }
.flagship-steps article.is-active { opacity:1; border-left-color:var(--green-deep); background:rgba(255,255,255,.72); padding-left:28px; }
.flagship-steps article:focus-visible { outline:2px solid var(--green-deep); outline-offset:-2px; }
.flagship-steps article:last-child { border-bottom:1px solid var(--line); }
.flagship-steps article > span { padding-top:8px; color:#70766d; font-size:14px; }
.flagship-steps article.is-active > span { color:var(--green-deep); }
.flagship-steps h3 { margin:0; font-size:32px; line-height:1.22; font-weight:390; letter-spacing:0; }
.flagship-steps p { max-width:470px; margin:20px 0 0; color:var(--text-body,var(--muted)); font-size:17px; line-height:1.8; }
.story-step-media { display:none; }

.portfolio { background: #fff; }
.portfolio-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 100px; align-items: end; margin-bottom: 86px; }
.portfolio-heading h2 { margin-top: 20px; }
.portfolio-side { display: grid; gap: 30px; }
.portfolio-side > p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.filters { display: flex; flex-wrap: wrap; gap: 7px; }
.filters button { padding: 9px 14px; border: 1px solid #d8dad3; border-radius: 100px; background: white; color: #757870; font-size: 11px; cursor: pointer; transition:color .3s var(--ease), background-color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease); }
.filters button:hover { color:var(--ink); border-color:rgba(17,19,15,.38); transform:translateY(-1px); }
.filters button.is-active { border-color: var(--ink); color: white; background: var(--ink); }
.portfolio-heading [data-portfolio-title], .portfolio-heading [data-portfolio-description] { transition:opacity .22s ease, transform .3s var(--ease); }
.portfolio-heading.is-copy-changing [data-portfolio-title], .portfolio-heading.is-copy-changing [data-portfolio-description] { opacity:0; transform:translateY(12px); }
.product-group { display: grid; grid-template-columns: 220px 1fr; gap: 34px; padding: 48px 0 74px; border-top: 1px solid var(--line); scroll-margin-top: 96px; opacity:1; transform:none; transition:opacity .32s ease, transform .42s var(--ease); }
.product-group[hidden] { display: none; }
.product-group.is-leaving { opacity:0; transform:translateY(18px); }
.product-group.is-entering { opacity:0; transform:translateY(22px); }
.group-label { padding-top: 8px; }
.group-label > span { color: #94978f; font-size: 10px; }
.group-label h3 { margin: 18px 0 0; font-size: 23px; line-height: 1.25; font-weight: 410; letter-spacing: 0; }
.group-label p { margin: 19px 0 0; color: #8a8d85; font-size: 10px; line-height: 1.7; }
.product-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.product-card { position:relative; min-width:0; overflow:hidden; background:var(--soft); transition:transform .55s var(--ease), box-shadow .55s var(--ease), background-color .55s var(--ease); }
.product-card img { width: 100%; aspect-ratio: 1.08; padding: 7% 8% 0; object-fit: contain; transition:transform .75s var(--ease); }
.product-card > div { padding: 23px 25px 27px; border-top: 1px solid rgba(17,19,15,.08); }
.product-card p, .care-copy p { margin: 0 0 7px; color: #81847b; font-size: 9px; letter-spacing: 0; }
.product-card h4, .care-copy h4 { margin: 0; font-size: 27px; line-height: 1; font-weight: 470; letter-spacing: 0; }
.product-card span, .care-copy span { display: block; margin-top: 9px; color: #73766f; font-size: 12px; }
.product-card .product-card-link { display:flex; justify-content:space-between; align-items:center; margin-top:25px; padding-top:17px; border-top:1px solid rgba(17,19,15,.09); color:var(--ink); font-size:11px; letter-spacing:0; }
.product-card .product-card-link b { font-size:14px; font-weight:450; transition:transform .3s var(--ease); }
.product-card:hover { z-index:2; transform:translateY(-7px); background:#fafbf7; box-shadow:0 26px 58px rgba(40,48,28,.11); }
.product-card:hover img { transform:scale(1.055) translateY(-1.5%); }
.product-card:hover .product-card-link b { transform:translate(3px,-3px); }
.product-group-care { padding-bottom: 0; }
.care-product { min-height: 500px; display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; overflow: hidden; background: #f3eef1; transition:box-shadow .55s var(--ease), transform .55s var(--ease); }
.care-copy { padding: 54px; }
.care-copy h4 { font-size: 54px; }
.care-copy span { font-size: 15px; }
.care-copy a { display: inline-flex; gap: 11px; margin-top: 40px; font-size: 12px; }
.care-product img { width: 100%; height: 500px; padding: 3% 6%; object-fit: contain; transition:transform .8s var(--ease); }
.care-product:hover { transform:translateY(-6px); box-shadow:0 26px 58px rgba(63,42,54,.1); }
.care-product:hover img { transform:scale(1.045); }

.capabilities { background: var(--paper); }
.capability-intro { display: grid; grid-template-columns: .75fr 1.55fr .8fr; gap: 70px; align-items: end; }
.capability-intro h2 { margin: 0; font-size: 64px; line-height: 1.08; font-weight: 350; letter-spacing: 0; }
.capability-intro > p:last-child { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.capability-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 82px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.capability-grid article { min-height: 300px; padding: 28px 28px 34px; border-right: 1px solid var(--line); }
.capability-grid article:first-child { padding-left: 0; }
.capability-grid article:last-child { border-right: 0; }
.capability-grid span { color: #5ca800; font-size: 10px; }
.capability-grid h3 { margin: 80px 0 0; font-size: 22px; font-weight: 410; letter-spacing: 0; }
.capability-grid p { margin: 18px 0 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.capability-feature { min-height:540px; margin-top:78px; overflow:hidden; display:grid; grid-template-columns:1.12fr .88fr; background:#edf1e8; transition:box-shadow .55s var(--ease), transform .55s var(--ease); }
.capability-feature > img { width:100%; height:540px; object-fit:contain; background:#e5eae0; }
.capability-feature > div { padding:64px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.capability-feature span { color:var(--green-deep); font-size:9px; font-weight:650; }
.capability-feature h3 { margin:26px 0 0; font-size:44px; font-weight:350; line-height:1.13; letter-spacing:0; }
.capability-feature p { max-width:470px; margin:25px 0 0; color:var(--muted); font-size:14px; line-height:1.9; }
.capability-feature b { margin-top:34px; padding-bottom:5px; border-bottom:1px solid currentColor; font-size:11px; font-weight:570; }
.capability-feature:hover { transform:translateY(-6px); box-shadow:0 28px 70px rgba(41,48,31,.11); }

.brand-story { overflow:hidden; background:#f8faf5; }
.brand-story-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:100px; align-items:end; }
.brand-story-heading h2 { margin:20px 0 0; font-size:64px; line-height:1.08; font-weight:350; letter-spacing:0; }
.brand-story-heading > p { max-width:520px; margin:0; color:var(--muted); font-size:15px; line-height:1.9; }
.brand-grid { display:grid; grid-template-columns:repeat(4, 1fr); margin-top:80px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.brand-grid article { position:relative; min-height:460px; padding:28px 28px 32px; overflow:hidden; border-right:1px solid var(--line); transition:background-color .55s var(--ease); }
.brand-grid article:first-child { padding-left:0; }
.brand-grid article:last-child { border-right:0; }
.brand-grid article::after { content:""; position:absolute; right:-70px; bottom:-105px; width:210px; height:210px; border:1px solid rgba(114,201,28,.22); border-radius:50%; transform:scale(.7); opacity:0; transition:opacity .55s var(--ease), transform .7s var(--ease); }
.brand-grid article:hover { background:rgba(234,244,223,.46); }
.brand-grid article:hover::after { opacity:1; transform:scale(1); }
.brand-grid span { color:var(--green-deep); font-size:10px; }
.brand-grid h3 { margin:74px 0 0; font-size:30px; font-weight:460; letter-spacing:0; }
.brand-grid p { max-width:290px; margin:20px 0 0; color:var(--muted); font-size:13px; line-height:1.85; }
.brand-grid article > img { position:absolute; right:5%; bottom:28px; width:62%; height:45%; object-fit:contain; object-position:right bottom; transition:transform .7s var(--ease); }
.brand-grid article:hover > img { transform:translateY(-5px) scale(1.035); }
.brand-grid b { position:absolute; z-index:1; left:28px; bottom:30px; color:#7b8174; font-size:10px; font-weight:550; letter-spacing:0; }
.brand-grid article:first-child b { left:0; }

.about { background: white; }
.about-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: stretch; }
.about-copy { padding: 48px 0; }
.about-copy > p:not(.eyebrow) { max-width: 570px; margin: 30px 0 0; color: var(--muted); font-size: 15px; line-height: 1.9; }
.values { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 42px; }
.values span { padding: 9px 14px; border: 1px solid var(--line); border-radius: 100px; font-size: 11px; }
.about-more { margin-top:30px; }
.about-placeholder { position: relative; min-height: 650px; padding: 48px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; color: var(--ink); background: linear-gradient(145deg, #eef2e9 0%, #f8faf5 58%, #eaf4df 100%); }
.placeholder-grid { position: absolute; inset: 0; opacity: .7; background: linear-gradient(rgba(76,101,53,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(76,101,53,.07) 1px, transparent 1px); background-size: 64px 64px; }
.about-placeholder::before { content:""; position:absolute; width:360px; height:520px; right:8%; bottom:-25%; border-radius:48% 48% 12px 12px; background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(224,235,213,.72)); box-shadow:0 30px 70px rgba(69,86,51,.09); transform:rotate(-8deg); }
.about-placeholder::after { content:""; position:absolute; width: 430px; height: 430px; right:-100px; top:-80px; border: 1px solid rgba(114,201,28,.42); border-radius:50%; box-shadow: 0 0 0 70px rgba(114,201,28,.025), 0 0 0 140px rgba(114,201,28,.018); }
.about-placeholder > *:not(.placeholder-grid) { position: relative; z-index: 2; }
.about-placeholder > span { color: var(--green-deep); font-size: 9px; font-weight:650; letter-spacing: 0; }
.about-placeholder h3 { margin: 20px 0 0; font-size: 42px; line-height: 1.18; font-weight: 350; letter-spacing: 0; }
.about-placeholder p { margin: 20px 0 0; color: rgba(17,19,15,.5); font-size: 12px; }
.about-media { position:relative; min-height:650px; overflow:hidden; background:#d6dce0; }
.about-media > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; }
.about-media::after { content:""; position:absolute; inset:42% 0 0; background:linear-gradient(180deg,transparent,rgba(13,20,22,.72)); }
.about-media > div { position:absolute; z-index:1; left:42px; right:42px; bottom:38px; color:#fff; }
.about-media span { font-size:9px; font-weight:650; }
.about-media h3 { margin:17px 0 0; font-size:34px; font-weight:360; letter-spacing:0; }
.about-media p { margin:14px 0 0; color:rgba(255,255,255,.7); font-size:11px; }

.contact { padding: 0 0 42px; background: white; }
.contact-panel { position:relative; min-height: 570px; padding: 76px 82px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 100px; align-items: center; overflow:hidden; border:1px solid rgba(57,81,36,.08); background:linear-gradient(125deg, #f2f5ee 0%, #f8faf6 52%, #e9f4de 100%); }
.contact-panel::before { content:""; position:absolute; width:520px; height:520px; right:-190px; top:-270px; border:1px solid rgba(114,201,28,.25); border-radius:50%; box-shadow:0 0 0 70px rgba(114,201,28,.025), 0 0 0 140px rgba(114,201,28,.018); }
.contact-panel > * { position:relative; z-index:1; }
.contact h2 { margin-top: 24px; font-size: 60px; }
.contact-panel > div:first-child > p:last-child { margin: 30px 0 0; color: rgba(17,19,15,.7); font-size: 15px; line-height: 1.85; }
.contact-list { display: grid; border-top: 1px solid rgba(17,19,15,.16); }
.contact-list > a:not(.contact-button), .contact-list > div { display: grid; grid-template-columns: 70px 1fr; gap: 18px; padding: 19px 0; border-bottom: 1px solid rgba(17,19,15,.16); transition:padding-left .35s var(--ease), background-color .35s var(--ease); }
.contact-list > a:not(.contact-button):hover { padding-left:8px; background:rgba(255,255,255,.4); }
.contact-list span { font-size: 10px; color: rgba(17,19,15,.55); }
.contact-list b { font-size: 13px; font-weight: 480; }
.contact-button { width: max-content; margin-top: 30px; padding: 13px 19px; display: inline-flex; align-items: center; gap: 20px; border-radius: 100px; color: white; background: var(--ink); font-size: 12px; transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.contact-button:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(17,19,15,.17); }

.site-footer { padding: 64px 0 70px; color: var(--ink); border-top:1px solid rgba(17,19,15,.09); background: #f7f8f4; }
.footer-main { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 60px; align-items: start; }
.footer-main img { width: 144px; }
.footer-main p { margin: 15px 0 0; color: rgba(17,19,15,.46); font-size: 11px; }
.footer-main nav { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 32px; font-size: 12px; }
.footer-main nav a { width:max-content; transition:color .3s ease; }
.footer-main nav a:hover { color:var(--green-deep); }
.footer-meta { display: grid; justify-items: end; gap: 15px; color: rgba(17,19,15,.44); font-size: 10px; }
.footer-icp { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; }
.footer-icp a { color: inherit; transition: color .3s ease; }
.footer-icp a:hover { color: var(--green-deep); }
.footer-icp a:focus-visible { color: var(--green-deep); outline: 2px solid currentColor; outline-offset: 3px; }

.reveal-target { opacity:0; transform:translateY(34px); transition:opacity .8s calc(var(--reveal-delay, 0ms)) ease, transform .95s calc(var(--reveal-delay, 0ms)) var(--ease); }
.reveal-target.reveal-soft { transform:translateY(18px); }
.reveal-target.is-visible { opacity:1; transform:none; }

.products-page { background:#fff; }
.products-hero { position:relative; height:min(820px,82svh); min-height:650px; overflow:hidden; isolation:isolate; background:#c9c3ba; }
.products-hero-media, .products-hero-media img { position:absolute; inset:0; width:100%; height:100%; }
.products-hero-media img { max-width:none; object-fit:cover; object-position:center center; }
.products-hero-wash { position:absolute; inset:0; background:linear-gradient(90deg,rgba(246,245,240,.97) 0%,rgba(246,245,240,.91) 27%,rgba(246,245,240,.42) 48%,rgba(246,245,240,.02) 72%); }
.products-hero-copy { position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-42%); }
.products-hero-copy h1 { margin:22px 0 0; font-size:72px; font-weight:330; line-height:1.05; letter-spacing:0; }
.products-hero-copy > p:not(.eyebrow) { margin:28px 0 0; color:rgba(17,19,15,.66); font-size:16px; line-height:1.85; }
.products-hero-copy .button { margin-top:32px; }
.products-hero-index { position:absolute; z-index:2; right:clamp(28px,4vw,72px); bottom:38px; display:flex; align-items:baseline; gap:13px; color:#fff; text-shadow:0 1px 18px rgba(17,19,15,.35); }
.products-hero-index b { font-size:44px; font-weight:300; }
.products-hero-index span { font-size:9px; }
.products-category-rail { position:sticky; z-index:30; top:68px; border-top:1px solid rgba(17,19,15,.08); border-bottom:1px solid rgba(17,19,15,.1); background:rgba(251,251,248,.94); backdrop-filter:blur(18px) saturate(140%); }
.products-category-rail .shell { display:grid; grid-template-columns:repeat(3,1fr); }
.products-category-rail a { min-width:0; padding:21px 26px; display:grid; grid-template-columns:auto 1fr; gap:4px 18px; border-right:1px solid var(--line); transition:background-color .35s var(--ease); }
.products-category-rail a:first-child { padding-left:0; }
.products-category-rail a:last-child { border-right:0; }
.products-category-rail a:hover { background:var(--green-wash); }
.products-category-rail span { grid-row:1/3; padding-top:2px; color:#888d83; font-size:9px; }
.products-category-rail b { font-size:13px; font-weight:570; }
.products-category-rail small { color:#858a81; font-size:10px; }
.products-system-section { scroll-margin-top:150px; }
.products-system-robot { background:#fff; }
.products-system-handheld { background:#f4f5f0; }
.products-system-care { background:#fff; }
.products-system-heading { display:grid; grid-template-columns:1fr .72fr; gap:120px; align-items:end; margin-bottom:70px; }
.products-system-heading h2 { margin:20px 0 0; font-size:56px; font-weight:360; line-height:1.08; letter-spacing:0; }
.products-system-heading > p { max-width:580px; margin:0; color:var(--muted); font-size:15px; line-height:1.9; }
.products-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.products-card-grid .product-card img { aspect-ratio:1.12; padding:6% 8% 0; }
.products-system-handheld .product-card { background:#fafbf8; }
.products-care-feature { position:relative; min-height:660px; overflow:hidden; display:grid; grid-template-columns:.72fr 1.28fr; align-items:center; background:#f3eef1; }
.products-care-feature::before { content:""; position:absolute; width:620px; aspect-ratio:1; right:4%; top:50%; border:1px solid rgba(135,82,111,.13); border-radius:50%; box-shadow:0 0 0 72px rgba(255,255,255,.13),0 0 0 144px rgba(255,255,255,.08); transform:translateY(-50%); }
.products-care-copy { position:relative; z-index:2; padding:70px; }
.products-care-copy > p:first-child { margin:0; color:#7f7480; font-size:10px; font-weight:650; }
.products-care-copy h3 { margin:18px 0 0; font-size:92px; font-weight:330; line-height:.94; letter-spacing:0; }
.products-care-copy > span { display:block; margin-top:22px; font-size:17px; }
.products-care-copy > p:not(:first-child) { max-width:440px; margin:22px 0 0; color:var(--muted); font-size:14px; line-height:1.85; }
.products-care-copy .button { margin-top:32px; }
.products-care-feature > img { position:relative; z-index:1; width:100%; height:620px; padding:5% 6%; object-fit:contain; }
.products-care-feature > b { position:absolute; z-index:2; right:35px; top:31px; color:#8d838c; font-size:11px; font-weight:500; }
.products-care-story { min-height:620px; margin-top:18px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr); overflow:hidden; background:#f4edf1; color:var(--ink); }
.products-care-story-media { position:relative; min-width:0; min-height:620px; margin:0; padding:clamp(30px,4.2vw,74px); display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,#f6efef 0%,#e7dcdf 100%); }
.products-care-story-media::before { content:""; position:absolute; width:70%; aspect-ratio:1; right:-8%; top:50%; border:1px solid rgba(130,80,108,.14); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.15),0 0 0 140px rgba(255,255,255,.08); transform:translateY(-50%); }
.products-care-story-media img { position:relative; z-index:1; width:100%; height:100%; max-height:500px; object-fit:contain; }
.products-care-story-media figcaption { position:absolute; z-index:2; left:24px; bottom:20px; padding:8px 10px; color:rgba(37,29,35,.62); background:rgba(255,255,255,.58); backdrop-filter:blur(12px); font-size:9px; line-height:1.5; }
.products-care-story-copy { padding:clamp(48px,5vw,84px); display:flex; flex-direction:column; justify-content:center; }
.products-care-story-copy .eyebrow { color:#8b6077; }
.products-care-story-copy h3 { margin:26px 0 0; font-size:48px; font-weight:330; line-height:1.13; letter-spacing:0; }
.products-care-story-copy > p:not(.eyebrow) { margin:30px 0 0; color:var(--muted); font-size:14px; line-height:1.9; }
.products-care-story-tags { margin-top:42px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(84,56,72,.15); border-bottom:1px solid rgba(84,56,72,.15); }
.products-care-story-tags span { min-width:0; padding:20px 10px 22px 0; display:flex; flex-direction:column; gap:11px; border-right:1px solid rgba(84,56,72,.15); font-size:11px; white-space:nowrap; }
.products-care-story-tags span:nth-child(2), .products-care-story-tags span:last-child { padding-left:14px; }
.products-care-story-tags span:last-child { border-right:0; }
.products-care-story-tags i { color:#8b6077; font-size:8px; font-style:normal; }
.products-care-story-copy small { margin-top:24px; color:#80757d; font-size:9px; line-height:1.7; }
.products-choice { background:#eef2e9; }
.products-choice-heading { display:grid; grid-template-columns:.52fr 1.48fr; gap:90px; align-items:start; margin-bottom:68px; }
.products-choice-heading h2 { margin:0; font-size:56px; font-weight:360; line-height:1.08; letter-spacing:0; }
.products-choice-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.products-choice-grid a { min-height:600px; padding:34px 34px 38px; display:flex; flex-direction:column; overflow:hidden; border-right:1px solid var(--line); transition:background-color .4s var(--ease), transform .45s var(--ease); }
.products-choice-grid a:last-child { border-right:0; }
.products-choice-grid a:hover { background:rgba(255,255,255,.42); transform:translateY(-6px); }
.products-choice-grid span { color:var(--green-deep); font-size:9px; }
.products-choice-media { height:250px; margin:20px -10px 4px; display:flex; align-items:flex-end; justify-content:center; overflow:visible; }
.products-choice-media img { height:100%; padding:1%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 16px 14px rgba(21,23,19,.12)); transition:transform .6s var(--ease); }
.products-choice-media-single img { width:100%; transform-origin:center bottom; }
.products-choice-media-robot img { transform:scale(1.15); }
.products-choice-media-handheld img { transform:scale(1.12); }
.products-choice-media-care img { transform:scale(1.08); }
.products-choice-grid a:hover .products-choice-media-robot img { transform:translateY(-5px) scale(1.18); }
.products-choice-grid a:hover .products-choice-media-handheld img { transform:translateY(-5px) scale(1.15); }
.products-choice-grid a:hover .products-choice-media-care img { transform:translateY(-5px) scale(1.11); }
.products-choice-grid h3 { margin:18px 0 0; font-size:29px; font-weight:390; line-height:1.25; letter-spacing:0; }
.products-choice-grid p { max-width:360px; margin:20px 0 0; color:var(--muted); font-size:13px; line-height:1.85; }
.products-choice-grid b { margin-top:auto; padding-top:28px; font-size:11px; font-weight:560; }

.capabilities-page { background:#fff; }
.capabilities-hero { position:relative; height:min(820px,82svh); min-height:650px; overflow:hidden; isolation:isolate; background:#d5cfc4; }
.capabilities-hero-media, .capabilities-hero-media img { position:absolute; inset:0; width:100%; height:100%; }
.capabilities-hero-media img { max-width:none; object-fit:cover; object-position:center center; }
.capabilities-hero-wash { position:absolute; inset:0; background:linear-gradient(90deg,rgba(248,247,243,.97) 0%,rgba(248,247,243,.88) 32%,rgba(248,247,243,.22) 59%,rgba(248,247,243,0) 76%); }
.capabilities-hero-copy { position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-42%); }
.capabilities-hero-copy h1 { margin:22px 0 0; font-size:68px; font-weight:330; line-height:1.05; letter-spacing:0; }
.capabilities-hero-copy > p:not(.eyebrow) { margin:28px 0 0; color:rgba(17,19,15,.66); font-size:16px; line-height:1.85; }
.capabilities-hero-copy .button { margin-top:32px; }
.capabilities-hero-note { position:absolute; z-index:2; right:clamp(28px,4vw,72px); bottom:40px; display:flex; align-items:baseline; gap:12px; color:#fff; text-shadow:0 2px 16px rgba(17,19,15,.28); }
.capabilities-hero-note span { font-size:36px; font-weight:300; }
.capabilities-hero-note b { font-size:9px; font-weight:600; }
.capabilities-rail { position:sticky; z-index:30; top:68px; border-top:1px solid rgba(17,19,15,.08); border-bottom:1px solid rgba(17,19,15,.1); background:rgba(251,251,248,.94); backdrop-filter:blur(18px) saturate(140%); }
.capabilities-rail .shell { display:grid; grid-template-columns:repeat(4,1fr); }
.capabilities-rail a { padding:22px 24px; display:flex; gap:18px; border-right:1px solid var(--line); transition:background-color .35s var(--ease); }
.capabilities-rail a:first-child { padding-left:0; }
.capabilities-rail a:last-child { border-right:0; }
.capabilities-rail a:hover { background:var(--green-wash); }
.capabilities-rail span { color:#888d83; font-size:9px; }
.capabilities-rail b { font-size:13px; font-weight:560; }
.capabilities-process { background:#fff; }
.capabilities-process-heading { display:grid; grid-template-columns:1fr .72fr; gap:120px; align-items:end; margin-bottom:76px; }
.capabilities-process-heading h2 { margin:20px 0 0; font-size:64px; font-weight:360; line-height:1.08; letter-spacing:0; }
.capabilities-process-heading > p { margin:0; color:var(--muted); font-size:15px; line-height:1.9; }
.capabilities-process-list { border-bottom:1px solid var(--line); }
.capabilities-process-list article { scroll-margin-top:154px; display:grid; grid-template-columns:110px .82fr 1.18fr; gap:44px; padding:58px 0 62px; border-top:1px solid var(--line); }
.capabilities-process-list article > span { color:rgba(75,148,16,.34); font-size:64px; font-weight:300; line-height:1; }
.capabilities-process-list article > div:nth-child(2) > p { margin:0; color:#858a81; font-size:9px; font-weight:650; }
.capabilities-process-list h3 { margin:24px 0 0; font-size:34px; font-weight:380; line-height:1.25; letter-spacing:0; }
.capabilities-process-list article > div:last-child > p { max-width:620px; margin:0; color:var(--muted); font-size:14px; line-height:1.9; }
.capabilities-process-list ul { margin:32px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(17,19,15,.1); list-style:none; }
.capabilities-process-list li { padding:16px 12px 0 0; color:#4f544c; font-size:11px; }
.capabilities-evidence { padding-bottom:0; background:#f4f5f0; }
.capabilities-evidence-heading { display:grid; grid-template-columns:.52fr 1.48fr; gap:90px; margin-bottom:70px; }
.capabilities-evidence-heading h2 { margin:0; font-size:64px; font-weight:360; line-height:1.08; letter-spacing:0; }
.capabilities-stories { width:100%; }
.capability-story { min-height:620px; display:grid; grid-template-columns:1.12fr .88fr; align-items:stretch; background:#fff; }
.capability-story > img { width:100%; height:620px; object-fit:cover; }
.capability-story > div { padding:72px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.capability-story > div > span { color:var(--green-deep); font-size:9px; font-weight:650; }
.capability-story h3 { margin:28px 0 0; font-size:48px; font-weight:350; line-height:1.12; letter-spacing:0; }
.capability-story p { max-width:500px; margin:27px 0 0; color:var(--muted); font-size:14px; line-height:1.9; }
.capability-story a { margin-top:34px; padding-bottom:5px; border-bottom:1px solid currentColor; font-size:12px; }
.capability-story-handheld { grid-template-columns:.88fr 1.12fr; background:#edf1e8; }
.capability-story-handheld > img { order:2; }
.capability-story-care { color:var(--ink); background:#f4edf1; }
.capability-story-media { position:relative; width:100%; height:620px; margin:0; overflow:hidden; background:#050506; }
.capability-story-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.capability-story-media .validation-visual-d1 { object-position:center; }
.capability-story-media figcaption { position:absolute; left:28px; right:28px; bottom:24px; width:max-content; max-width:calc(100% - 56px); margin:0; padding:9px 11px; color:rgba(255,255,255,.72); background:rgba(5,5,6,.58); backdrop-filter:blur(10px); font-size:9px; line-height:1.55; }
.capability-story-care > div > span { color:#8b6077; }
.capability-story-care p { color:var(--muted); }
.capabilities-principles { background:#eef2e9; }
.capabilities-principles-heading { display:grid; grid-template-columns:.52fr 1.48fr; gap:90px; margin-bottom:68px; }
.capabilities-principles-heading h2 { margin:0; font-size:64px; font-weight:360; line-height:1.08; letter-spacing:0; }
.capabilities-principles-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.capabilities-principles-grid article { min-height:270px; padding:30px 28px 34px; border-right:1px solid var(--line); }
.capabilities-principles-grid article:first-child { padding-left:0; }
.capabilities-principles-grid article:last-child { border-right:0; }
.capabilities-principles-grid span { color:var(--green-deep); font-size:9px; }
.capabilities-principles-grid h3 { margin:28px 0 0; font-size:27px; font-weight:390; letter-spacing:0; }
.capabilities-principles-grid p { margin:20px 0 0; color:var(--muted); font-size:13px; line-height:1.85; }

.about-page { background:#fff; }
.about-hero { position:relative; height:94svh; min-height:760px; overflow:hidden; isolation:isolate; background:#d8dedf; }
.about-hero-media { position:absolute; inset:0 0 0 38%; overflow:hidden; }
.about-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center center; }
.about-hero-wash { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(248,248,244,.99) 0%,rgba(248,248,244,.96) 31%,rgba(248,248,244,.58) 49%,rgba(248,248,244,.06) 72%,rgba(248,248,244,0) 100%); }
.about-hero-copy { position:absolute; z-index:2; top:50%; left:50%; transform:translate(-50%,-43%); }
.about-hero-copy .eyebrow { color:var(--green-deep); }
.about-hero-copy h1 { max-width:720px; margin:24px 0 0; font-size:72px; font-weight:340; line-height:1.06; letter-spacing:0; }
.about-hero-copy h1 span { display:block; white-space:nowrap; }
.about-hero-copy > p:not(.eyebrow) { max-width:590px; margin:28px 0 0; color:#5f645b; font-size:16px; line-height:1.9; }
.about-hero-copy .button { margin-top:34px; }
.about-hero-note { position:absolute; z-index:2; right:48px; bottom:38px; padding:20px 24px; color:#fff; border-left:1px solid rgba(255,255,255,.42); background:rgba(14,22,25,.28); backdrop-filter:blur(12px); }
.about-hero-note span { font-size:9px; font-weight:650; }
.about-hero-note p { margin:10px 0 0; color:rgba(255,255,255,.72); font-size:10px; line-height:1.7; }
.about-page-overview { background:#fff; }
.about-page-intro { display:grid; grid-template-columns:1.1fr .9fr; gap:120px; align-items:end; margin-bottom:76px; }
.about-page-intro h2 { margin:20px 0 0; font-size:64px; font-weight:350; line-height:1.08; letter-spacing:0; }
.about-page-intro > div:last-child p { margin:0; color:var(--muted); font-size:15px; line-height:1.9; }
.about-page-intro > div:last-child p + p { margin-top:18px; }
.about-scope-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.about-scope-grid article { position:relative; min-height:280px; padding:31px 28px 34px; overflow:hidden; border-right:1px solid var(--line); transition:background-color .45s var(--ease), transform .5s var(--ease); }
.about-scope-grid article:first-child { padding-left:0; }
.about-scope-grid article:last-child { border-right:0; }
.about-scope-grid article:hover { background:var(--green-wash); transform:translateY(-5px); }
.about-scope-grid span { color:var(--green-deep); font-size:9px; }
.about-scope-grid h3 { margin:24px 0 0; font-size:28px; font-weight:390; letter-spacing:0; }
.about-scope-grid p { position:relative; z-index:1; margin:20px 0 0; color:var(--muted); font-size:13px; line-height:1.85; }
.about-product-section { padding-top:0; background:#fff; }
.about-product-story { min-height:650px; display:grid; grid-template-columns:1.12fr .88fr; background:#eef2e9; }
.about-product-media { position:relative; min-height:650px; overflow:hidden; background:#e4e7e0; }
.about-product-media::after { content:""; position:absolute; inset:62% 0 0; background:linear-gradient(180deg,transparent,rgba(13,18,12,.36)); }
.about-product-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; transition:transform .9s var(--ease); }
.about-product-story:hover .about-product-media img { transform:scale(1.025); }
.about-product-media span { position:absolute; z-index:1; left:32px; bottom:28px; color:#fff; font-size:9px; font-weight:650; }
.about-product-copy { padding:68px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.about-product-copy .eyebrow { color:var(--green-deep); }
.about-product-copy h2 { margin:26px 0 0; font-size:48px; font-weight:350; line-height:1.12; letter-spacing:0; }
.about-product-copy > p:not(.eyebrow) { max-width:500px; margin:26px 0 0; color:var(--muted); font-size:14px; line-height:1.9; }
.about-product-links { width:100%; margin-top:36px; border-top:1px solid var(--line); }
.about-product-links a { display:grid; grid-template-columns:42px 1fr auto; gap:16px; align-items:center; padding:18px 0; border-bottom:1px solid var(--line); transition:padding-left .35s var(--ease), background-color .35s ease; }
.about-product-links a:hover { padding-left:12px; background:rgba(255,255,255,.34); }
.about-product-links span { color:var(--green-deep); font-size:9px; }
.about-product-links b { font-size:13px; font-weight:520; }
.about-product-links i { font-size:13px; font-style:normal; }
.about-values-section { background:#f5f5f1; }
.about-values-heading { display:grid; grid-template-columns:.55fr 1.1fr .75fr; gap:80px; align-items:end; margin-bottom:70px; }
.about-values-heading h2 { margin:0; font-size:60px; font-weight:350; line-height:1.08; letter-spacing:0; }
.about-values-heading > p:last-child { margin:0; color:var(--muted); font-size:14px; line-height:1.9; }
.about-values-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.about-values-grid article { min-height:300px; padding:30px 25px 34px; border-right:1px solid var(--line); transition:color .4s ease, background-color .4s ease; }
.about-values-grid article:first-child { padding-left:0; }
.about-values-grid article:last-child { border-right:0; }
.about-values-grid article:hover { color:var(--ink); background:#edf4e8; box-shadow:inset 0 0 0 1px rgba(75,148,16,.12); }
.about-values-grid span { color:var(--green-deep); font-size:9px; }
.about-values-grid article:hover span { color:var(--green-deep); }
.about-values-grid h3 { margin:30px 0 0; font-size:36px; font-weight:360; letter-spacing:0; }
.about-values-grid p { margin:22px 0 0; color:var(--muted); font-size:13px; line-height:1.85; }
.about-values-grid article:hover p { color:var(--muted); }
.about-method-section { padding-top:0; background:#f5f5f1; }
.about-method { min-height:620px; display:grid; grid-template-columns:.92fr 1.08fr; color:var(--ink); background:#edf4e8; }
.about-method > img { order:2; width:100%; height:620px; object-fit:cover; object-position:72% center; }
.about-method > div { padding:72px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.about-method .eyebrow { color:var(--green-deep); }
.about-method h2 { margin:27px 0 0; font-size:48px; font-weight:340; line-height:1.12; letter-spacing:0; }
.about-method p { max-width:520px; margin:27px 0 0; color:var(--muted); font-size:14px; line-height:1.9; }
.about-method a { margin-top:34px; padding-bottom:5px; border-bottom:1px solid rgba(17,19,15,.48); font-size:12px; }
.about-method a span { margin-left:10px; }
.about-method small { margin-top:24px; color:#788071; font-size:9px; line-height:1.7; }
.about-location-section { background:#fff; }
.about-location-card { position:relative; min-height:620px; overflow:hidden; padding:72px; display:grid; grid-template-columns:1fr auto; align-items:end; background:#eef4e8; }
.about-location-card::before, .about-location-card::after { content:""; position:absolute; border:1px solid rgba(93,155,38,.18); border-radius:50%; }
.about-location-card::before { width:580px; height:580px; right:-130px; top:-240px; box-shadow:0 0 0 80px rgba(255,255,255,.13),0 0 0 160px rgba(255,255,255,.08); }
.about-location-card::after { width:150px; height:150px; right:170px; top:150px; }
.about-location-word { position:absolute; left:48px; top:18px; color:rgba(64,106,28,.055); font-size:min(13vw,220px); font-weight:300; line-height:1; letter-spacing:0; white-space:nowrap; }
.about-location-copy { position:relative; z-index:1; }
.about-location-copy .eyebrow { color:var(--green-deep); }
.about-location-copy h2 { margin:25px 0 0; font-size:58px; font-weight:350; line-height:1.1; letter-spacing:0; }
.about-location-copy > p:not(.eyebrow) { max-width:600px; margin:26px 0 0; color:var(--muted); font-size:14px; line-height:1.9; }
.about-location-copy a { display:inline-flex; margin-top:30px; padding-bottom:5px; border-bottom:1px solid currentColor; font-size:12px; }
.about-location-copy a span { margin-left:12px; }
.about-location-index { position:relative; z-index:1; align-self:start; display:grid; justify-items:end; gap:12px; color:#65715e; }
.about-location-index span { font-size:9px; }
.about-location-index b { font-size:15px; font-weight:430; line-height:1.55; text-align:right; }

.lines-page { background:#fff; }
.lines-hero { position:relative; height:min(900px,92svh); min-height:740px; overflow:hidden; isolation:isolate; background:linear-gradient(135deg,#f7f6f1 0%,#edf2e8 62%,#e4edda 100%); }
.lines-hero::before { content:""; position:absolute; width:min(58vw,920px); aspect-ratio:1; right:-11%; top:-34%; border:1px solid rgba(83,142,35,.17); border-radius:50%; box-shadow:0 0 0 90px rgba(255,255,255,.16),0 0 0 180px rgba(255,255,255,.09); }
.lines-hero-grid { height:100%; padding-top:var(--header); display:grid; grid-template-columns:.68fr 1.32fr; gap:40px; align-items:center; }
.lines-hero-copy { position:relative; z-index:3; max-width:590px; }
.lines-hero-copy .eyebrow { color:var(--green-deep); }
.lines-hero-copy h1 { margin:25px 0 0; font-size:72px; font-weight:320; line-height:1.04; letter-spacing:0; }
.lines-hero-copy h1 span { display:block; white-space:nowrap; }
.lines-hero-copy > p:not(.eyebrow) { max-width:530px; margin:28px 0 0; color:var(--muted); font-size:15px; line-height:1.9; }
.lines-hero-copy .button { margin-top:32px; }
.lines-hero-art { position:relative; z-index:1; align-self:stretch; min-width:0; margin-top:var(--header); }
.lines-hero-art::before { content:""; position:absolute; left:5%; right:-8%; bottom:4%; height:22%; border-radius:50%; background:rgba(255,255,255,.42); filter:blur(2px); transform:perspective(500px) rotateX(66deg); }
.lines-hero-orbit { position:absolute; width:min(47vw,720px); aspect-ratio:1; right:4%; top:47%; border:1px solid rgba(79,130,38,.22); border-radius:50%; box-shadow:0 0 0 72px rgba(255,255,255,.11),0 0 0 144px rgba(255,255,255,.07); transform:translateY(-50%); }
.lines-hero-product { position:absolute; z-index:2; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 26px 26px rgba(29,38,22,.13)); }
.lines-hero-robot { left:-2%; bottom:3%; width:37%; height:62%; }
.lines-hero-handheld { left:24%; bottom:1%; width:29%; height:76%; }
.lines-hero-x20 { left:51%; bottom:0; width:29%; height:66%; }
.lines-hero-d1 { right:-4%; bottom:0; width:30%; height:72%; }
.lines-hero-number { position:absolute; z-index:0; right:-1%; top:14%; color:rgba(62,105,29,.065); font-size:min(18vw,310px); font-weight:250; line-height:1; }
.lines-hero-caption { position:absolute; z-index:4; left:5%; right:1%; bottom:28px; padding-top:17px; display:flex; justify-content:space-between; border-top:1px solid rgba(17,19,15,.16); color:#737a6d; font-size:9px; }
.lines-hero-caption span { color:var(--green-deep); font-weight:650; }
.lines-hero-caption b { font-weight:450; }
.lines-rail { position:sticky; z-index:30; top:68px; border-top:1px solid rgba(17,19,15,.08); border-bottom:1px solid rgba(17,19,15,.1); background:rgba(251,251,248,.95); backdrop-filter:blur(18px) saturate(140%); }
.lines-rail .shell { display:grid; grid-template-columns:repeat(4,1fr); }
.lines-rail a { padding:20px 24px 21px; display:grid; grid-template-columns:28px 1fr; gap:3px 13px; border-right:1px solid var(--line); transition:background-color .35s ease; }
.lines-rail a:first-child { padding-left:0; }
.lines-rail a:last-child { border-right:0; }
.lines-rail a:hover { background:var(--green-wash); }
.lines-rail span { grid-row:1/3; padding-top:2px; color:var(--green-deep); font-size:9px; }
.lines-rail b { font-size:13px; font-weight:560; }
.lines-rail small { color:#858a80; font-size:9px; }
.lines-overview { background:#fff; }
.lines-overview-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; align-items:end; margin-bottom:72px; }
.lines-overview-heading h2 { margin:20px 0 0; font-size:60px; font-weight:350; line-height:1.08; letter-spacing:0; }
.lines-overview-heading > p { max-width:560px; margin:0; color:var(--muted); font-size:15px; line-height:1.9; }
.lines-map { display:grid; grid-template-columns:1.12fr repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.lines-map-company, .lines-map > a { min-height:390px; padding:30px 26px 32px; border-right:1px solid var(--line); }
.lines-map-company { color:var(--ink); background:#edf4e8; }
.lines-map > a:last-child { border-right:0; }
.lines-map-company span, .lines-map > a > span { color:var(--green-deep); font-size:9px; }
.lines-map-company h3 { margin:54px 0 0; font-size:32px; font-weight:350; line-height:1.22; }
.lines-map-company b { display:block; margin-top:24px; color:#778071; font-size:9px; font-weight:450; line-height:1.8; }
.lines-map > a { position:relative; display:flex; flex-direction:column; transition:background-color .4s ease, transform .45s var(--ease); }
.lines-map > a:hover { background:var(--green-wash); transform:translateY(-5px); }
.lines-map > a > span { color:var(--green-deep); }
.lines-map > a h3 { margin:52px 0 0; font-size:27px; font-weight:480; }
.lines-map > a p { margin:17px 0 0; color:var(--muted); font-size:12px; }
.lines-map-products { height:104px; margin:19px 0 12px; display:flex; align-items:flex-end; justify-content:center; gap:0; overflow:hidden; }
.lines-map-products img { width:78%; height:100%; padding:2%; object-fit:contain; object-position:center bottom; }
.lines-map-products-2 img { width:62%; margin-inline:-8%; }
.lines-map-products-3 img { width:50%; margin-inline:-10%; }
.lines-map > a b { margin-top:auto; color:#747a70; font-size:10px; font-weight:520; }
.line-chapter { scroll-margin-top:128px; }
.line-chapter-monsga { background:#f4f6f1; }
.line-chapter-eleckeys { background:#f0f1eb; }
.line-chapter-kipmax { background:#f7f3ed; }
.line-chapter-okaydeer { background:#f6f0f3; }
.line-chapter-heading { display:grid; grid-template-columns:90px 1.1fr .72fr; gap:64px; align-items:end; margin-bottom:66px; }
.line-chapter-heading > span { align-self:start; padding-top:5px; color:var(--green-deep); font-size:10px; }
.line-chapter-heading h2 { margin:20px 0 0; font-size:58px; font-weight:350; line-height:1.09; letter-spacing:0; }
.line-chapter-heading > p { max-width:520px; margin:0; color:var(--muted); font-size:14px; line-height:1.9; }
.line-stage { min-height:620px; overflow:hidden; display:grid; grid-template-columns:1.18fr .82fr; background:#e7ece1; }
.line-stage-reverse { grid-template-columns:.82fr 1.18fr; }
.line-stage-reverse .line-stage-media { order:2; }
.line-stage-wide { grid-template-columns:1.25fr .75fr; }
.line-stage-media { position:relative; min-width:0; min-height:620px; margin:0; overflow:hidden; background:#dfe4da; }
.line-stage-media::after { content:""; position:absolute; inset:62% 0 0; background:linear-gradient(180deg,transparent,rgba(17,22,15,.42)); pointer-events:none; }
.line-stage-media img { width:100%; height:100%; object-fit:cover; object-position:center center; transition:transform .9s var(--ease); }
.line-stage:hover .line-stage-media img { transform:scale(1.022); }
.line-stage-media figcaption { position:absolute; z-index:1; left:28px; bottom:24px; color:rgba(255,255,255,.9); font-size:9px; font-weight:560; }
.line-stage-copy { padding:clamp(48px,5vw,78px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.line-stage-copy .eyebrow { color:var(--green-deep); }
.line-stage-copy h3 { margin:25px 0 0; font-size:46px; font-weight:350; line-height:1.12; }
.line-stage-copy > p:not(.eyebrow) { margin:27px 0 0; color:var(--muted); font-size:14px; line-height:1.9; }
.line-stage-tags { width:100%; margin-top:38px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.line-stage-tags span { padding:18px 10px 19px 0; border-right:1px solid var(--line); font-size:10px; white-space:nowrap; }
.line-stage-tags span:nth-child(2), .line-stage-tags span:last-child { padding-left:12px; }
.line-stage-tags span:last-child { border-right:0; }
.line-stage-copy > a { margin-top:33px; padding-bottom:5px; border-bottom:1px solid currentColor; font-size:12px; }
.line-stage-copy > a b { margin-left:10px; font-weight:500; }
.line-chapter-kipmax .line-stage { background:#f2efe9; color:var(--ink); }
.line-chapter-kipmax .line-stage-copy .eyebrow { color:#8b6844; }
.line-chapter-kipmax .line-stage-copy > p:not(.eyebrow) { color:var(--muted); }
.line-chapter-kipmax .line-stage-tags { border-color:rgba(83,67,49,.16); }
.line-chapter-kipmax .line-stage-tags span { border-color:rgba(83,67,49,.16); }
.line-chapter-kipmax .line-stage-media img { object-position:left center; }
.line-chapter-okaydeer .line-stage { color:var(--ink); background:#f4edf1; }
.line-chapter-okaydeer .line-stage-copy .eyebrow { color:#8b6077; }
.line-chapter-okaydeer .line-stage-copy > p:not(.eyebrow) { color:var(--muted); }
.line-chapter-okaydeer .line-stage-tags { border-color:rgba(84,56,72,.15); }
.line-chapter-okaydeer .line-stage-tags span { border-color:rgba(84,56,72,.15); }
.line-chapter-okaydeer .line-stage-media { background:#eee4e7; }
.line-chapter-okaydeer .line-stage-media img { padding:4%; object-fit:contain; }
.line-chapter-okaydeer .line-stage:hover .line-stage-media img { transform:none; }
.line-product-grid { margin-top:16px; display:grid; gap:16px; }
.line-product-grid-3 { grid-template-columns:repeat(3,1fr); }
.line-product-grid-2 { grid-template-columns:repeat(2,1fr); }
.line-product-grid-1 { grid-template-columns:1fr; }
.line-product-card { min-height:430px; padding:28px; display:grid; grid-template-rows:auto 240px 1fr; overflow:hidden; background:rgba(255,255,255,.72); transition:transform .45s var(--ease), box-shadow .45s var(--ease), background-color .35s ease; }
.line-product-card:hover { transform:translateY(-6px); background:#fff; box-shadow:0 22px 55px rgba(34,42,27,.09); }
.line-product-card > span { color:var(--green-deep); font-size:9px; font-weight:630; }
.line-product-card > img { width:100%; height:240px; padding:3%; object-fit:contain; transition:transform .65s var(--ease); }
.line-product-card:hover > img { transform:translateY(-4px) scale(1.025); }
.line-product-card > div { padding-top:22px; border-top:1px solid var(--line); }
.line-product-card h3 { margin:0; font-size:30px; font-weight:430; }
.line-product-card p { margin:13px 0 0; color:var(--muted); font-size:12px; line-height:1.75; }
.line-product-card div b { display:block; margin-top:22px; font-size:10px; font-weight:560; }
.line-product-grid-1 .line-product-card { min-height:380px; padding:32px 48px; grid-template-columns:.6fr 1.05fr .8fr; grid-template-rows:1fr; align-items:center; gap:40px; }
.line-product-grid-1 .line-product-card > img { height:315px; }
.line-product-grid-1 .line-product-card > div { padding:0 0 0 38px; border-top:0; border-left:1px solid var(--line); }
.line-product-grid-1 .line-product-card h3 { font-size:54px; }
.line-product-grid-1 .line-product-card p { max-width:430px; font-size:14px; }
.lines-next { padding:112px 0; background:#eaf1e3; }
.lines-next-grid { display:grid; grid-template-columns:1.1fr .75fr .75fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.lines-next-grid > div, .lines-next-grid > a { min-height:300px; padding:34px 34px 38px; border-right:1px solid var(--line); }
.lines-next-grid > div { padding-left:0; }
.lines-next-grid > a:last-child { border-right:0; }
.lines-next-grid h2 { margin:23px 0 0; font-size:48px; font-weight:350; line-height:1.12; }
.lines-next-grid > a { display:flex; flex-direction:column; transition:background-color .35s ease, transform .45s var(--ease); }
.lines-next-grid > a:hover { background:rgba(255,255,255,.4); transform:translateY(-5px); }
.lines-next-grid > a span { color:var(--green-deep); font-size:9px; }
.lines-next-grid > a h3 { margin:24px 0 0; font-size:27px; font-weight:400; }
.lines-next-grid > a p { margin:18px 0 0; color:var(--muted); font-size:12px; line-height:1.8; }
.lines-next-grid > a b { margin-top:auto; font-size:10px; font-weight:560; }

body[data-language="en"] .lines-hero-copy h1 span,
body[data-language="en"] .about-hero-copy h1 span { white-space:normal; }
body[data-language="en"] .lines-hero-copy h1 { max-width:760px; }
body[data-language="en"] .about-hero-copy h1 { max-width:760px; }
body[data-language="en"] .hero-copy-left > *,
body[data-language="en"] .hero-copy-right > * { width:min(620px,52%); }
body[data-language="en"] .hero h1 { font-size:64px; }

@media (min-width:821px) and (max-width:1040px) {
  .site-header { padding-inline:18px; grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr); gap:20px; }
  .brand, body[data-language="en"] .brand, .brand img, body[data-language="en"] .brand img { width:126px; }
  .desktop-nav, body[data-language="en"] .desktop-nav { gap:18px; }
  .desktop-nav > a, .nav-product > a { font-size:12px; }
  .header-actions, body[data-language="en"] .header-actions { gap:12px; }
  .nav-action { font-size:11px; }
  .product-mega-inner { width:calc(100% - 36px); grid-template-columns:220px minmax(0,1fr); gap:28px; }
  .mega-intro h2 { font-size:28px; }
  .mega-card { min-height:230px; }
}

.product-page { background:#fff; }
.product-detail { padding-top:0; }
.product-detail-hero { min-height:100svh; display:flex; align-items:stretch; background:#eef2e9; }
.product-detail-hero[data-theme="handheld"] { background:#eef3e9; }
.product-detail-hero[data-theme="care"] { background:#f4eef1; }
.product-detail-grid { display:grid; grid-template-columns:.82fr 1.18fr; align-items:stretch; }
.product-detail-copy { padding:clamp(90px, 11vh, 145px) 70px 80px 0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.back-link { margin-bottom:auto; padding-bottom:28px; color:#6f746b; font-size:11px; letter-spacing:0; }
.product-detail-copy .eyebrow { color:var(--green-deep); }
.product-brand { margin:42px 0 0; color:#7c8178; font-size:12px; font-weight:650; letter-spacing:0; }
.product-detail-copy h1 { margin:12px 0 0; font-size:108px; font-weight:410; line-height:.92; letter-spacing:0; }
.product-summary { max-width:560px; margin:34px 0 38px; color:var(--muted); font-size:16px; line-height:1.9; }
.product-detail-visual { position:relative; min-height:720px; overflow:hidden; border-left:1px solid rgba(17,19,15,.1); }
.product-detail-visual::before { content:""; position:absolute; width:min(48vw, 760px); aspect-ratio:1; right:-8%; top:50%; border:1px solid rgba(97,155,43,.18); border-radius:50%; box-shadow:0 0 0 80px rgba(97,155,43,.025), 0 0 0 160px rgba(97,155,43,.018); transform:translateY(-50%); }
.product-detail-visual > span { position:absolute; z-index:2; top:104px; right:32px; font-size:38px; font-weight:330; }
.product-detail-visual img { position:absolute; z-index:1; inset:7% 4% 7% 4%; width:92%; height:86%; padding:4%; object-fit:contain; animation:product-enter 1.1s var(--ease) both; }
.product-detail-visual > p { position:absolute; z-index:2; left:42px; bottom:34px; margin:0; color:#757b70; font-size:9px; letter-spacing:0; }
@keyframes product-enter { from { opacity:0; transform:translateY(32px) scale(.96); } to { opacity:1; transform:none; } }
.product-detail-content { background:#fff; }
.product-detail-content-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }
.product-detail-content h2 { white-space:pre-line; margin:22px 0 0; font-size:64px; line-height:1.08; font-weight:420; letter-spacing:0; }
.product-feature-list { border-top:1px solid var(--line); }
.product-feature-list article { display:grid; grid-template-columns:55px 1fr; gap:22px; align-items:center; padding:20px 0; border-bottom:1px solid var(--line); }
.product-feature-list span { padding-top:4px; color:var(--green-deep); font-size:10px; }
.product-feature-list p { margin:0; font-size:18px; line-height:1.6; letter-spacing:0; }
.product-disclaimer { margin-top:70px; padding-top:22px; border-top:1px solid rgba(17,19,15,.08); color:#8a8f86; font-size:11px; }
.product-scene-section { padding-top:0; background:#fff; }
.product-scene { min-height:620px; overflow:hidden; display:grid; grid-template-columns:1.16fr .84fr; background:#edf1e8; }
.product-scene-media { position:relative; min-height:620px; overflow:hidden; background:#d9ddd4; }
.product-scene-media::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(180deg,transparent,rgba(13,18,12,.42)); }
.product-scene-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; transition:transform 1.1s var(--ease); }
.product-scene:hover .product-scene-media img { transform:scale(1.025); }
.product-scene-media > span { position:absolute; z-index:1; left:32px; bottom:27px; color:rgba(255,255,255,.88); font-size:9px; font-weight:620; }
.product-scene-copy { padding:72px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.product-scene-copy .eyebrow { color:var(--green-deep); }
.product-scene-copy h2 { white-space:pre-line; margin:26px 0 0; font-size:50px; font-weight:360; line-height:1.1; letter-spacing:0; }
.product-scene-copy > p:not(.eyebrow) { max-width:500px; margin:27px 0 0; color:var(--muted); font-size:14px; line-height:1.9; }
.product-scene-tags { width:100%; margin-top:40px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.product-scene-tags span { min-width:0; padding:19px 12px 20px 0; display:grid; gap:8px; border-right:1px solid var(--line); font-size:11px; }
.product-scene-tags span:last-child { border-right:0; padding-left:12px; }
.product-scene-tags span:nth-child(2) { padding-left:12px; }
.product-scene-tags i { color:var(--green-deep); font-size:8px; font-style:normal; }
.product-scene-copy small { margin-top:22px; color:#858a81; font-size:9px; line-height:1.7; }
.product-scene[data-theme="care"] { color:var(--ink); background:#f4edf1; }
.product-scene[data-theme="care"] .product-scene-copy .eyebrow, .product-scene[data-theme="care"] .product-scene-tags i { color:#8b6077; }
.product-scene[data-theme="care"] .product-scene-copy > p:not(.eyebrow), .product-scene[data-theme="care"] .product-scene-copy small { color:var(--muted); }
.product-scene[data-theme="care"] .product-scene-tags { border-color:rgba(84,56,72,.15); }
.product-scene[data-theme="care"] .product-scene-tags span { border-color:rgba(84,56,72,.15); }
.product-scene[data-product="mr1"] .product-scene-media { background:#edf3e8; }
.product-scene[data-product="mr1"] .product-scene-media::after { display:none; }
.product-scene[data-product="mr1"] .product-scene-media img { padding:7%; object-fit:contain; }
.product-scene[data-product="mr1"] .product-scene-media > span { color:rgba(17,19,15,.58); }
.product-scene[data-product="mr1"]:hover .product-scene-media img { transform:none; }
.product-scene[data-product="d1"] .product-scene-media { background:linear-gradient(145deg,#f5eded,#e5dadd); }
.product-scene[data-product="d1"] .product-scene-media::after { inset:68% 0 0; background:linear-gradient(180deg,transparent,rgba(53,40,48,.18)); }
.product-scene[data-product="d1"] .product-scene-media img { padding:0; object-fit:cover; object-position:68% center; }
.product-scene[data-product="d1"]:hover .product-scene-media img { transform:none; }
.product-scene[data-product="x20-pro"] .product-scene-media img { object-position:64% center; }
.product-path { position:relative; overflow:hidden; background:#eef2e9; }
.product-path[data-theme="handheld"] { background:#eef3e9; }
.product-path[data-theme="care"] { background:#f4eef1; }
.product-path::before { content:""; position:absolute; width:min(54vw,900px); aspect-ratio:1; right:-20%; top:-55%; border:1px solid rgba(97,155,43,.12); border-radius:50%; box-shadow:0 0 0 95px rgba(255,255,255,.08),0 0 0 190px rgba(255,255,255,.05); pointer-events:none; }
.product-path-heading { position:relative; z-index:1; display:grid; grid-template-columns:1fr .72fr; gap:120px; align-items:end; margin-bottom:70px; }
.product-path-heading h2 { white-space:pre-line; margin:20px 0 0; font-size:64px; font-weight:390; line-height:1.08; letter-spacing:0; }
.product-path-heading > p { max-width:560px; margin:0; color:var(--muted); font-size:16px; line-height:1.9; }
.product-path-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.product-path-grid article { position:relative; min-height:300px; padding:34px 36px 38px; overflow:hidden; border-right:1px solid var(--line); transition:background-color .4s var(--ease), transform .5s var(--ease); }
.product-path-grid article:last-child { border-right:0; }
.product-path-grid article::after { content:attr(data-index); position:absolute; right:24px; bottom:-30px; color:rgba(17,19,15,.035); font-size:180px; font-weight:300; line-height:1; letter-spacing:0; }
.product-path-grid article:hover { z-index:2; background:rgba(255,255,255,.42); transform:translateY(-6px); }
.product-path-grid span { color:var(--green-deep); font-size:9px; font-weight:650; letter-spacing:0; }
.product-path-grid small { position:absolute; top:34px; right:36px; color:#858a81; font-size:10px; letter-spacing:0; }
.product-path-grid h3 { margin:26px 0 0; font-size:30px; font-weight:390; letter-spacing:0; }
.product-path-grid p { position:relative; z-index:1; max-width:360px; margin:19px 0 0; color:var(--muted); font-size:13px; line-height:1.85; }
.product-switcher { display:grid; grid-template-columns:repeat(7, 1fr); margin-bottom:110px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.product-switcher a { min-width:0; padding:24px 16px 25px; border-right:1px solid var(--line); transition:background-color .35s var(--ease); }
.product-switcher a:first-child { padding-left:0; }
.product-switcher a:last-child { border-right:0; }
.product-switcher a:hover, .product-switcher a.is-active { background:var(--green-wash); }
.product-switcher span { display:block; overflow:hidden; color:#888d83; font-size:8px; letter-spacing:0; text-overflow:ellipsis; }
.product-switcher b { display:block; margin-top:10px; font-size:15px; font-weight:550; white-space:nowrap; }
.product-detail-contact { padding-bottom:42px; }

@media (max-width: 1280px) {
  :root { --shell: min(1180px, calc(100vw - 64px)); }
  .site-header { grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr); padding-inline:32px; }
  .brand, .brand img { width:138px; }
  .desktop-nav { gap:26px; }
  .desktop-nav > a, .nav-product > a { font-size:13px; }
  .header-actions { gap:16px; }
  .hero-slide-copy { width:var(--shell); transform:translate(-50%,-42%); }
  .hero-copy-left > *, .hero-copy-right > * { width:min(520px, 48%); }
  .hero-copy-center { transform:translateX(-50%); }
  .hero h1 { font-size:58px; }
  .hero-controls { grid-template-columns:auto 90px minmax(460px,1fr) auto; gap:14px; }
  .hero-chapters button { padding-inline:8px; }
  .category-card { min-height: 540px; }
  .flagship-layout { width:calc(100vw - 32px); grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr); }
  .flagship-title h2 { font-size:48px; }
  .flagship-steps { padding-left:45px; }
  .product-group { grid-template-columns: 180px 1fr; }
  .brand-story-heading { gap:65px; }
  .brand-grid article { padding-inline:22px; }
  .brand-grid article:first-child { padding-left:0; }
  .brand-grid b { left:22px; }
  .contact-panel { gap:70px; }
  .products-hero-copy h1 { font-size:64px; }
  .products-system-heading { gap:70px; }
  .products-care-copy { padding:54px; }
  .products-care-story { grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr); }
  .products-care-story-copy { padding:54px; }
  .products-care-story-copy h3 { font-size:42px; }
  .products-choice-heading { gap:60px; }
  .capabilities-process-heading { gap:70px; }
  .capabilities-process-list article { grid-template-columns:60px .82fr 1.18fr; gap:34px; }
  .capabilities-evidence-heading, .capabilities-principles-heading { gap:60px; }
  .capability-story > div { padding:54px; }
  .capability-story h3 { font-size:42px; }
  .about-page-intro { gap:70px; }
  .about-page-intro h2 { font-size:56px; }
  .about-product-copy, .about-method > div { padding:54px; }
  .about-values-heading { gap:52px; }
  .about-values-heading h2 { font-size:52px; }
  .about-location-card { padding:58px; }
  .lines-hero-copy h1 { font-size:54px; }
  .lines-hero-grid { grid-template-columns:.72fr 1.28fr; }
  .lines-overview-heading { gap:60px; }
  .lines-overview-heading h2 { font-size:52px; }
  .lines-map-company, .lines-map > a { min-height:350px; padding-inline:20px; }
  .lines-map-company h3 { font-size:28px; }
  .line-chapter-heading { grid-template-columns:70px 1.05fr .75fr; gap:38px; }
  .line-chapter-heading h2 { font-size:48px; }
  .line-stage-copy { padding:54px; }
  .line-stage-copy h3 { font-size:40px; }
  .line-product-card { padding:24px; }
  .line-product-grid-1 .line-product-card { padding-inline:36px; gap:28px; }
  .product-scene-copy { padding:54px; }
  .product-scene-copy h2 { font-size:42px; }
}

@media (min-width:821px) and (max-width:1040px) {
  .site-header { padding-inline:18px; grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr); gap:20px; }
  .brand, body[data-language="en"] .brand, .brand img, body[data-language="en"] .brand img { width:126px; }
  .desktop-nav, body[data-language="en"] .desktop-nav { gap:18px; }
  .desktop-nav > a, .nav-product > a { font-size:12px; }
  .header-actions, body[data-language="en"] .header-actions { gap:12px; }
  .nav-action { font-size:11px; }
  .product-mega-inner { width:calc(100% - 36px); grid-template-columns:220px minmax(0,1fr); gap:28px; }
  .mega-intro h2 { font-size:28px; }
  .mega-card { min-height:230px; }
}

@media (max-width: 820px) {
  :root { --shell: calc(100vw - 36px); --header: 66px; }
  .section { padding: 88px 0; }
  .site-header { z-index:90; height:var(--header); padding:0 18px; grid-template-columns:1fr auto; gap:20px; background:transparent; box-shadow:none; backdrop-filter:none; }
  .site-header.is-scrolled, .site-header:focus-within, body.header-panel-open .site-header { height:58px; background:rgba(255,255,253,.965); box-shadow:0 10px 34px rgba(18,24,15,.08); backdrop-filter:blur(20px) saturate(135%); }
  .brand, .brand img { width:132px; }
  .site-header.is-scrolled .brand, .site-header.is-scrolled .brand img { width:124px; }
  .desktop-nav, .header-utility { display:none; }
  .header-actions { gap:0; }
  .menu-button { position:relative; z-index:2; width:38px; height:38px; padding:7px 5px; display:grid; align-content:center; justify-items:end; gap:7px; border:0; background:transparent; cursor:pointer; }
  .menu-button span { display:block; width:26px; height:1px; background:currentColor; transition:transform .35s var(--ease), width .3s var(--ease); }
  .menu-button span:last-child { width:19px; }
  .nav-backdrop { display:none; }
  .mobile-nav { position:fixed; z-index:85; inset:0; width:100vw; height:100svh; padding:92px 24px 28px; display:flex; flex-direction:column; overflow-y:auto; color:var(--ink); background:#f8f9f5; opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .3s ease, transform .42s var(--ease), visibility .3s; }
  .mobile-nav.is-open { opacity:1; visibility:visible; transform:none; }
  .mobile-nav-main { display:grid; }
  .mobile-nav-link { min-height:58px; padding:12px 0; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); font-size:28px; font-weight:330; line-height:1.08; }
  .mobile-nav-link i { color:var(--green-deep); font-size:13px; font-style:normal; }
  .mobile-nav-link[aria-current="page"] { color:var(--green-deep); }
  .mobile-product-links { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; padding-bottom:12px; border-bottom:1px solid var(--line); }
  .mobile-product-links .mobile-nav-link { grid-column:1/-1; border-bottom:0; }
  .mobile-product-links > span { grid-column:1/-1; margin:1px 0 8px; color:#858a81; font-size:9px; font-weight:650; }
  .mobile-product-links > a:not(.mobile-nav-link) { padding:8px 0; color:var(--muted); font-size:12px; line-height:1.4; }
  .mobile-nav-meta { margin-top:auto; padding-top:26px; display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; }
  .mobile-nav-meta > span { grid-column:1/-1; color:#858a81; font-size:9px; font-weight:650; }
  .mobile-nav-meta > a { color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
  .mobile-language { grid-column:1/-1; margin-top:14px; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .mobile-language a { padding:14px 0; color:#858a81; font-size:11px; }
  .mobile-language a:last-child { padding-left:16px; border-left:1px solid var(--line); }
  .mobile-language a.is-active { color:var(--green-deep); font-weight:600; }
  body.menu-open .site-header, body.menu-open .site-header.is-scrolled, body.menu-open .site-header:focus-within { height:66px; color:var(--ink); background:rgba(248,249,245,.96); box-shadow:none; backdrop-filter:none; }
  body.menu-open .site-header .brand, body.menu-open .site-header .brand img { width:132px; }
  body.menu-open .menu-button span:first-child { transform:translateY(4px) rotate(45deg); }
  body.menu-open .menu-button span:last-child { width:26px; transform:translateY(-4px) rotate(-45deg); }

  .lines-hero { height:880px; min-height:880px; }
  .lines-hero::before { width:720px; right:-410px; top:-230px; }
  .lines-hero-grid { position:relative; padding-top:var(--header); display:block; }
  .lines-hero-copy { position:absolute; z-index:4; left:0; right:0; top:118px; max-width:none; }
  .lines-hero-copy h1 { margin-top:18px; font-size:46px; line-height:1.05; }
  .lines-hero-copy > p:not(.eyebrow) { max-width:520px; margin-top:20px; font-size:13px; line-height:1.75; }
  .lines-hero-copy .button { margin-top:23px; }
  .lines-hero-art { position:absolute; left:0; right:0; top:350px; bottom:0; margin:0; }
  .lines-hero-orbit { width:520px; right:-210px; top:48%; }
  .lines-hero-robot { left:-6%; bottom:8%; width:43%; height:58%; }
  .lines-hero-handheld { left:23%; bottom:5%; width:32%; height:72%; }
  .lines-hero-x20 { left:49%; bottom:3%; width:32%; height:60%; }
  .lines-hero-d1 { right:-8%; bottom:3%; width:35%; height:66%; }
  .lines-hero-number { top:7%; right:-4%; font-size:180px; }
  .lines-hero-caption { left:0; right:0; bottom:20px; }
  .lines-rail { top:58px; overflow:hidden; }
  .lines-rail .shell { width:100%; padding:0 18px; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:72%; overflow-x:auto; scroll-snap-type:x mandatory; }
  .lines-rail a, .lines-rail a:first-child { padding:18px 16px; scroll-snap-align:start; }
  .lines-rail a:first-child { padding-left:0; }
  .lines-overview-heading { grid-template-columns:1fr; gap:26px; margin-bottom:48px; }
  .lines-overview-heading h2 { margin-top:16px; font-size:42px; }
  .lines-overview-heading > p { font-size:14px; line-height:1.8; }
  .lines-map { grid-template-columns:repeat(2,1fr); }
  .lines-map-company { grid-column:1/-1; min-height:300px; }
  .lines-map-company, .lines-map > a { min-height:280px; padding:25px 20px 28px; border-bottom:1px solid var(--line); }
  .lines-map > a:nth-child(3), .lines-map > a:last-child { border-right:0; }
  .lines-map-company h3 { margin-top:40px; font-size:30px; }
  .lines-map-company b { margin-top:20px; }
  .lines-map > a h3 { margin-top:36px; font-size:24px; }
  .lines-map-products { height:90px; margin:12px 0 8px; }
  .line-chapter { scroll-margin-top:120px; }
  .line-chapter-heading { grid-template-columns:1fr; gap:24px; margin-bottom:46px; }
  .line-chapter-heading > span { padding-top:0; }
  .line-chapter-heading h2 { margin-top:15px; font-size:40px; }
  .line-chapter-heading > p { font-size:14px; line-height:1.8; }
  .line-stage, .line-stage-reverse, .line-stage-wide { min-height:0; grid-template-columns:1fr; }
  .line-stage-reverse .line-stage-media { order:0; }
  .line-stage-media { min-height:0; height:390px; }
  .line-chapter-okaydeer .line-stage-media { height:330px; }
  .line-stage-copy { padding:44px 26px 48px; }
  .line-stage-copy h3 { margin-top:22px; font-size:38px; }
  .line-stage-copy > p:not(.eyebrow) { margin-top:23px; font-size:13px; line-height:1.8; }
  .line-stage-tags { margin-top:32px; }
  .line-stage-media figcaption { left:18px; bottom:17px; }
  .line-product-grid, .line-product-grid-3, .line-product-grid-2, .line-product-grid-1 { grid-template-columns:1fr; gap:12px; }
  .line-product-card, .line-product-grid-1 .line-product-card { min-height:0; padding:24px; display:grid; grid-template-columns:1fr; grid-template-rows:auto 260px 1fr; gap:0; }
  .line-product-card > img, .line-product-grid-1 .line-product-card > img { height:260px; padding:4%; }
  .line-product-grid-1 .line-product-card > div { padding:22px 0 0; border-top:1px solid var(--line); border-left:0; }
  .line-product-grid-1 .line-product-card h3 { font-size:34px; }
  .line-product-grid-1 .line-product-card p { font-size:12px; }
  .lines-next { padding:88px 0; }
  .lines-next-grid { grid-template-columns:1fr; }
  .lines-next-grid > div, .lines-next-grid > a { min-height:250px; padding:28px 24px 30px; border-right:0; border-bottom:1px solid var(--line); }
  .lines-next-grid > div { padding-left:0; }
  .lines-next-grid > a:last-child { border-bottom:0; }
  .lines-next-grid h2 { font-size:40px; }
  .lines-next-grid > a h3 { margin-top:22px; font-size:26px; }

  .products-hero { height:82svh; min-height:680px; }
  .products-hero-media img { object-position:62% center; }
  .products-hero-wash { background:linear-gradient(180deg,rgba(247,246,242,.98) 0%,rgba(247,246,242,.91) 44%,rgba(247,246,242,.34) 67%,rgba(247,246,242,.04) 100%); }
  .products-hero-copy { left:18px; right:18px; top:118px; width:auto; transform:none; }
  .products-hero-copy h1 { margin-top:18px; font-size:44px; line-height:1.05; }
  .products-hero-copy > p:not(.eyebrow) { margin-top:20px; font-size:14px; line-height:1.75; }
  .products-hero-copy .button { margin-top:24px; }
  .products-hero-index { right:18px; bottom:24px; }
  .products-hero-index b { font-size:34px; }
  .products-category-rail { top:58px; overflow:hidden; }
  .products-category-rail .shell { width:100%; padding:0 18px; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:78%; overflow-x:auto; scroll-snap-type:x mandatory; }
  .products-category-rail a, .products-category-rail a:first-child { padding:18px 16px; scroll-snap-align:start; }
  .products-category-rail a:first-child { padding-left:0; }
  .products-system-section { scroll-margin-top:128px; }
  .products-system-heading { grid-template-columns:1fr; gap:26px; margin-bottom:46px; }
  .products-system-heading h2 { margin-top:15px; font-size:40px; }
  .products-system-heading > p { font-size:14px; line-height:1.8; }
  .products-card-grid { grid-template-columns:1fr; gap:12px; }
  .products-card-grid .product-card img { aspect-ratio:1.18; padding:5% 9% 0; }
  .products-care-feature { min-height:0; grid-template-columns:1fr; }
  .products-care-copy { padding:44px 28px 12px; }
  .products-care-copy h3 { font-size:72px; }
  .products-care-feature > img { height:430px; padding:4% 4% 7%; }
  .products-care-feature > b { top:24px; right:20px; }
  .products-care-story { min-height:0; grid-template-columns:1fr; }
  .products-care-story-media { min-height:390px; padding:28px 18px 42px; }
  .products-care-story-media img { max-height:320px; }
  .products-care-story-media figcaption { left:16px; right:16px; bottom:14px; width:max-content; max-width:calc(100% - 32px); }
  .products-care-story-copy { padding:46px 28px 50px; }
  .products-care-story-copy h3 { margin-top:22px; font-size:38px; }
  .products-care-story-copy > p:not(.eyebrow) { margin-top:24px; font-size:13px; line-height:1.8; }
  .products-care-story-tags { margin-top:34px; }
  .products-choice-heading { grid-template-columns:1fr; gap:24px; margin-bottom:46px; }
  .products-choice-heading h2 { font-size:40px; }
  .products-choice-grid { grid-template-columns:1fr; }
  .products-choice-grid a { min-height:520px; padding:28px 24px 30px; border-right:0; border-bottom:1px solid var(--line); }
  .products-choice-grid a:last-child { border-bottom:0; }
  .products-choice-grid a:hover { transform:none; }
  .products-choice-media { height:230px; margin-top:14px; }
  .products-choice-grid h3 { margin-top:16px; font-size:28px; }

  .capabilities-hero { height:82svh; min-height:680px; }
  .capabilities-hero-media img { object-position:66% center; }
  .capabilities-hero-wash { background:linear-gradient(180deg,rgba(248,247,243,.98) 0%,rgba(248,247,243,.92) 45%,rgba(248,247,243,.32) 68%,rgba(248,247,243,.03) 100%); }
  .capabilities-hero-copy { left:18px; right:18px; top:118px; width:auto; transform:none; }
  .capabilities-hero-copy h1 { margin-top:18px; font-size:42px; }
  .capabilities-hero-copy > p:not(.eyebrow) { margin-top:20px; font-size:14px; line-height:1.75; }
  .capabilities-hero-copy .button { margin-top:24px; }
  .capabilities-hero-note { right:18px; bottom:24px; }
  .capabilities-rail { top:58px; overflow:hidden; }
  .capabilities-rail .shell { width:100%; padding:0 18px; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:70%; overflow-x:auto; scroll-snap-type:x mandatory; }
  .capabilities-rail a, .capabilities-rail a:first-child { padding:18px 16px; scroll-snap-align:start; }
  .capabilities-rail a:first-child { padding-left:0; }
  .capabilities-process-heading { grid-template-columns:1fr; gap:26px; margin-bottom:48px; }
  .capabilities-process-heading h2 { font-size:42px; }
  .capabilities-process-heading > p { font-size:14px; line-height:1.8; }
  .capabilities-process-list article { scroll-margin-top:128px; grid-template-columns:1fr; gap:24px; padding:40px 0 44px; }
  .capabilities-process-list h3 { margin-top:18px; font-size:29px; }
  .capabilities-process-list ul { margin-top:24px; }
  .capabilities-process-list li { font-size:10px; }
  .capabilities-evidence-heading, .capabilities-principles-heading { grid-template-columns:1fr; gap:24px; margin-bottom:46px; }
  .capabilities-evidence-heading h2, .capabilities-principles-heading h2 { font-size:42px; }
  .capability-story, .capability-story-handheld { min-height:0; grid-template-columns:1fr; }
  .capability-story > img, .capability-story-handheld > img, .capability-story-media { order:0; height:360px; }
  .capability-story-media figcaption { left:16px; right:16px; bottom:15px; max-width:calc(100% - 32px); }
  .capability-story > div { padding:42px 24px 46px; }
  .capability-story h3 { margin-top:22px; font-size:36px; }
  .capability-story p { margin-top:22px; font-size:13px; line-height:1.8; }
  .capability-story a { margin-top:28px; }
  .capabilities-principles-grid { grid-template-columns:1fr; }
  .capabilities-principles-grid article, .capabilities-principles-grid article:first-child { min-height:210px; padding:28px 24px 30px; border-right:0; border-bottom:1px solid var(--line); }
  .capabilities-principles-grid article:last-child { border-bottom:0; }
  .capabilities-principles-grid h3 { margin-top:24px; }

  .about-hero { height:92svh; min-height:720px; }
  .about-hero-media { inset:0; }
  .about-hero-media img { object-position:58% center; }
  .about-hero-wash { background:linear-gradient(180deg,rgba(248,248,244,.98) 0%,rgba(248,248,244,.9) 35%,rgba(248,248,244,.3) 62%,rgba(19,28,30,.32) 100%); }
  .about-hero-copy { top:108px; left:18px; right:18px; width:auto; transform:none; }
  .about-hero-copy h1 { margin-top:18px; font-size:38px; line-height:1.08; }
  .about-hero-copy > p:not(.eyebrow) { max-width:430px; margin-top:20px; font-size:14px; line-height:1.75; }
  .about-hero-copy .button { margin-top:24px; }
  .about-hero-note { right:18px; bottom:24px; padding:16px 18px; }
  .about-page-intro { grid-template-columns:1fr; gap:28px; margin-bottom:48px; }
  .about-page-intro h2 { font-size:42px; }
  .about-page-intro > div:last-child p { font-size:14px; line-height:1.8; }
  .about-scope-grid { grid-template-columns:1fr 1fr; }
  .about-scope-grid article, .about-scope-grid article:first-child { min-height:240px; padding:25px 20px 28px; border-bottom:1px solid var(--line); }
  .about-scope-grid article:nth-child(2) { border-right:0; }
  .about-scope-grid h3 { margin-top:22px; font-size:24px; }
  .about-scope-grid p { font-size:12px; }
  .about-product-story { min-height:0; grid-template-columns:1fr; }
  .about-product-media { min-height:0; height:390px; }
  .about-product-copy { padding:42px 24px 46px; }
  .about-product-copy h2 { margin-top:22px; font-size:38px; }
  .about-product-copy > p:not(.eyebrow) { margin-top:22px; font-size:13px; line-height:1.8; }
  .about-values-heading { grid-template-columns:1fr; gap:24px; margin-bottom:48px; }
  .about-values-heading h2 { font-size:42px; }
  .about-values-heading > p:last-child { font-size:13px; line-height:1.8; }
  .about-values-grid { grid-template-columns:1fr 1fr; }
  .about-values-grid article, .about-values-grid article:first-child { min-height:230px; padding:25px 20px 28px; border-bottom:1px solid var(--line); }
  .about-values-grid article:nth-child(2), .about-values-grid article:nth-child(4) { border-right:0; }
  .about-values-grid article:last-child { grid-column:1/-1; min-height:220px; border-bottom:0; }
  .about-values-grid h3 { margin-top:25px; font-size:30px; }
  .about-method { min-height:0; grid-template-columns:1fr; }
  .about-method > img { order:0; height:390px; }
  .about-method > div { padding:42px 24px 46px; }
  .about-method h2 { margin-top:22px; font-size:38px; }
  .about-method p { margin-top:22px; font-size:13px; line-height:1.8; }
  .about-location-card { min-height:610px; padding:42px 24px; grid-template-columns:1fr; align-items:end; }
  .about-location-word { left:18px; top:26px; font-size:24vw; transform:rotate(90deg) translateY(-100%); transform-origin:left top; }
  .about-location-copy h2 { font-size:38px; }
  .about-location-index { position:absolute; right:24px; top:30px; }

  .hero { height:100svh; min-height:680px; padding:0; }
  .hero-media img { object-position:25% center; }
  .hero-slide-auto .hero-media img { object-position:center center; }
  .hero-slide-mr7 .hero-media img { object-position:35% center; }
  .hero-slide-x20 .hero-media img { object-position:50% center; }
  .hero-slide-ecosystem .hero-media img { object-position:53% center; }
  .hero-wash, .hero-slide-auto .hero-wash, .hero-slide-x20 .hero-wash, .hero-slide-ecosystem .hero-wash { background:linear-gradient(180deg, rgba(247,246,241,.02) 16%, rgba(247,246,241,.15) 40%, rgba(247,246,241,.88) 68%, rgba(247,246,241,.98) 100%); }
  .hero-slide-copy { top:auto; left:18px; right:18px; bottom:104px; width:auto; padding:0; transform:none; }
  .hero-copy-left, .hero-copy-right { display:block; }
  .hero-copy-left > *, .hero-copy-right > * { width:auto; }
  .hero-slide-mr7 .hero-slide-copy, .hero-slide-x20 .hero-slide-copy, .hero-slide-d1 .hero-slide-copy { top:108px; bottom:auto; }
  .hero-slide-mr7 .hero-wash, .hero-slide-x20 .hero-wash, .hero-slide-d1 .hero-wash { background:linear-gradient(180deg, rgba(249,248,244,.94) 0%, rgba(249,248,244,.64) 27%, rgba(249,248,244,.12) 52%, transparent 66%); }
  .hero-copy-center { display:block; text-align:left; }
  .hero-slide-copy .eyebrow { margin-bottom:15px; }
  .hero h1 { max-width:390px; font-size:44px; font-weight:300; line-height:1.05; letter-spacing:0; }
  body[data-language="en"] .hero-copy-left > *,
  body[data-language="en"] .hero-copy-right > * { width:auto; }
  body[data-language="en"] .hero h1 { font-size:40px; }
  .hero-lead { margin-top:18px; font-size:13px; line-height:1.7; }
  .hero-actions { margin-top:23px; gap:18px; }
  .button { min-height: 46px; padding-inline: 20px; }
  .text-link { font-size:12px; }
  .hero-controls { left:18px; right:18px; bottom:26px; width:auto; grid-template-columns:auto 1fr auto; gap:13px; transform:none; }
  .hero-count { min-width:48px; }
  .hero-count b { font-size:20px; }
  .hero-progress { min-width:0; }
  .hero-chapters { display:none; }
  .hero-arrows button { width:32px; height:32px; }
  .scroll-mark { display:none; }
  .hero-d1-art { top:5%; right:-13%; width:112%; height:55%; }
  .d1-orbit { width:76vw; }
  .hero-d1-art > b { right:13%; bottom:-10%; font-size:46vw; }

  .split-intro, .capability-intro { grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; }
  .split-intro h2, .capability-intro h2, .portfolio-heading h2, .flagship-title h2, .about h2, .contact h2 { font-size: 42px; }
  .category-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%; width: calc(100vw - 18px); padding-right: 18px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .category-card { min-height: 510px; scroll-snap-align: start; }
  .category-card-copy { padding: 25px; }
  .category-card-copy h3 { font-size: 27px; }

  .flagship-layout { width:100%; grid-template-columns:1fr; min-height:0; }
  .flagship-visual { position:relative; height:auto; min-height:0; padding:72px 18px 28px; overflow:visible; border-right:0; border-bottom:1px solid var(--line); }
  .flagship-title { position:static; padding-right:0; }
  .flagship-title h2 { font-size:39px; }
  .flagship-carousel-controls { position:static; justify-content:flex-end; margin-top:22px; }
  .flagship-carousel-controls > button { width:40px; height:40px; }
  .flagship-meter b { font-size:27px; }
  .story-product-tabs { position:static; width:calc(100vw - 18px); margin-top:18px; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:42%; overflow-x:auto; scroll-snap-type:x mandatory; }
  .story-product-tabs button { min-height:72px; scroll-snap-align:start; }
  .flagship-media-stage { position:relative; inset:auto; width:100%; height:330px; margin-top:18px; display:block; background:rgba(255,255,255,.42); }
  .flagship-media-product > img { padding:4%; }
  .flagship-product-link { position:static; margin-top:22px; }
  .flagship-steps { min-height:0; padding:18px 18px 70px; }
  .flagship-steps article { min-height:190px; grid-template-columns:30px 1fr; gap:12px; padding:30px 16px 34px 12px; opacity:.58; }
  .flagship-steps article.is-active { padding-left:18px; }
  .flagship-steps article > span { padding-top:3px; }
  .flagship-steps h3 { font-size:28px; }
  .flagship-steps p { font-size:16px; line-height:1.78; }
  .story-step-media { display:none; }

  .portfolio-heading { grid-template-columns: 1fr; gap: 34px; margin-bottom: 56px; }
  .filters { flex-wrap: nowrap; width: calc(100vw - 18px); padding-right: 18px; overflow-x: auto; }
  .filters button { flex: 0 0 auto; }
  .product-group { grid-template-columns: 1fr; gap: 27px; padding: 38px 0 58px; }
  .group-label p { margin-top: 12px; }
  .product-row { grid-template-columns: 1fr; gap: 10px; }
  .product-card img { aspect-ratio: 1.15; padding: 6% 9% 0; }
  .product-card > div { padding: 20px 22px 24px; }
  .care-product { min-height: 0; grid-template-columns: 1fr; }
  .care-copy { padding: 36px 28px 10px; }
  .care-copy h4 { font-size: 44px; }
  .care-copy a { margin-top: 24px; }
  .care-product img { height: 390px; }

  .capability-grid { grid-template-columns: 1fr 1fr; margin-top: 54px; }
  .capability-grid article { min-height: 240px; padding: 24px 18px 28px; border-bottom: 1px solid var(--line); }
  .capability-grid article:nth-child(2) { border-right: 0; }
  .capability-grid article:first-child { padding-left: 18px; }
  .capability-grid h3 { margin-top: 50px; font-size: 19px; }

  .capability-feature { min-height:0; margin-top:54px; grid-template-columns:1fr; }
  .capability-feature > img { height:360px; }
  .capability-feature > div { padding:40px 24px 44px; }
  .capability-feature h3 { margin-top:22px; font-size:36px; }
  .capability-feature p { margin-top:21px; font-size:13px; line-height:1.8; }
  .capability-feature b { margin-top:27px; }

  .brand-story-heading { grid-template-columns:1fr; gap:28px; }
  .brand-story-heading h2 { font-size:42px; }
  .brand-grid { grid-template-columns:1fr 1fr; margin-top:54px; }
  .brand-grid article { min-height:380px; padding:24px 18px 26px; border-bottom:1px solid var(--line); }
  .brand-grid article:nth-child(2) { border-right:0; }
  .brand-grid article:first-child { padding-left:18px; }
  .brand-grid h3 { margin-top:52px; font-size:25px; }
  .brand-grid p { position:relative; z-index:2; max-width:82%; font-size:12px; }
  .brand-grid article > img { right:7%; bottom:22px; width:55%; height:40%; }
  .brand-grid b, .brand-grid article:first-child b { left:18px; bottom:25px; }

  .about-layout { grid-template-columns: 1fr; gap: 40px; }
  .about-copy { padding: 0; }
  .about-placeholder { min-height: 490px; padding: 30px; }
  .about-placeholder h3 { font-size: 32px; }
  .about-media { min-height:520px; }
  .about-media > div { left:24px; right:24px; bottom:28px; }
  .about-media h3 { font-size:30px; }

  .contact { padding-bottom:0; }
  .contact-panel { width:100%; min-height:0; padding:68px 18px; grid-template-columns:1fr; gap:48px; border-left:0; border-right:0; }
  .contact-list > a:not(.contact-button), .contact-list > div { grid-template-columns: 56px 1fr; }
  .site-footer { padding:52px 0 58px; }
  .footer-main { grid-template-columns: 1fr; gap: 36px; }
  .footer-meta { justify-items: start; }

  .product-detail { padding-top:0; }
  .product-detail-hero { min-height:0; }
  .product-detail-grid { width:100%; grid-template-columns:1fr; }
  .product-detail-copy { min-height:56svh; padding:92px 18px 48px; }
  .back-link { margin-bottom:62px; }
  .product-brand { margin-top:30px; }
  .product-detail-copy h1 { font-size:78px; }
  .product-summary { margin:25px 0 31px; font-size:14px; }
  .product-detail-visual { min-height:58svh; border-top:1px solid rgba(17,19,15,.1); border-left:0; }
  .product-detail-visual > span { top:25px; right:18px; font-size:28px; }
  .product-detail-visual img { inset:4% 2%; width:96%; height:92%; padding:4%; }
  .product-detail-visual > p { left:18px; bottom:22px; }
  .product-detail-content-grid { grid-template-columns:1fr; gap:52px; }
  .product-detail-content h2 { font-size:42px; }
  .product-feature-list article { grid-template-columns:42px 1fr; gap:14px; }
  .product-feature-list p { font-size:16px; }
  .product-disclaimer { margin-top:48px; line-height:1.7; }
  .product-scene-section { padding-bottom:88px; }
  .product-scene { min-height:0; grid-template-columns:1fr; }
  .product-scene-media { min-height:0; height:420px; }
  .product-scene[data-product="d1"] .product-scene-media { height:330px; }
  .product-scene[data-product="d1"] .product-scene-media img { padding:3%; }
  .product-scene-media > span { left:20px; bottom:20px; }
  .product-scene-copy { padding:42px 24px 46px; }
  .product-scene-copy h2 { margin-top:22px; font-size:38px; }
  .product-scene-copy > p:not(.eyebrow) { margin-top:22px; font-size:13px; line-height:1.8; }
  .product-scene-tags { margin-top:32px; }
  .product-scene-tags span { padding:16px 8px 17px 0; font-size:10px; }
  .product-scene-tags span:nth-child(2), .product-scene-tags span:last-child { padding-left:8px; }
  .product-path-heading { grid-template-columns:1fr; gap:30px; margin-bottom:48px; }
  .product-path-heading h2 { font-size:42px; }
  .product-path-heading > p { font-size:14px; line-height:1.8; }
  .product-path-grid { grid-template-columns:1fr; }
  .product-path-grid article { min-height:235px; padding:28px 24px 30px; border-right:0; border-bottom:1px solid var(--line); }
  .product-path-grid article:last-child { border-bottom:0; }
  .product-path-grid article:hover { transform:none; }
  .product-path-grid small { top:28px; right:24px; }
  .product-path-grid h3 { margin-top:22px; font-size:26px; }
  .product-path-grid article::after { right:18px; bottom:-22px; font-size:138px; }
  .product-switcher { grid-template-columns:repeat(4, 1fr); margin-bottom:80px; }
  .product-switcher a, .product-switcher a:first-child { padding:18px 12px; border-bottom:1px solid var(--line); }
  .product-switcher a:nth-child(4) { border-right:0; }
  .product-detail-contact { padding-bottom:0; }
}

/* Capabilities V05: short copy, product-led imagery and neutral open bands. */
.capabilities-page .capabilities-hero { height: min(790px, 84svh); min-height: 680px; background: #e7e2dc; }
.capabilities-page .capabilities-hero-wash {
  background: linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .91) 24%, rgba(255, 255, 255, .56) 35%, rgba(255, 255, 255, .1) 46%, rgba(255, 255, 255, 0) 57%);
}
.capabilities-page .capabilities-hero-copy { transform: translate(-50%, -38%); }
.capabilities-page .capabilities-hero-copy h1 { margin: 0; font-size: 72px; font-weight: 590; line-height: 1.08; }
.capabilities-page .capabilities-hero-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.75; }
.capabilities-page .capabilities-hero-note { display: none; }

.capabilities-page .capabilities-process-heading { margin-bottom: 42px; }
.capabilities-page .capabilities-process-heading h2,
.capabilities-page .capabilities-evidence-heading h2,
.capabilities-page .capabilities-principles-heading h2 { font-size: 48px; font-weight: 610; line-height: 1.12; }
.capabilities-page .capability-lifecycle-rail span { display: none; }
.capabilities-page .capability-lifecycle-rail button { min-height: 102px; padding-top: 22px; }
.capabilities-page .capability-lifecycle-copy > span { display: none; }
.capabilities-page .capability-lifecycle-copy > .eyebrow { margin-top: 0; }
.capabilities-page .capability-lifecycle-panels > article { border-inline: 0; }

.capabilities-page .capabilities-evidence { background: #fff; }
.capabilities-page .capabilities-evidence-heading { margin-bottom: 58px; }
.capabilities-page .capability-story { min-height: 580px; background: #fff; border-top: 1px solid rgba(17, 19, 15, .1); }
.capabilities-page .capability-story > img,
.capabilities-page .capability-story-media { height: 580px; }
.capabilities-page .capability-story > div { padding: 68px; }
.capabilities-page .capability-story > div > span { color: #579d24; font-size: 14px; }
.capabilities-page .capability-story h3 { font-size: 46px; font-weight: 560; }
.capabilities-page .capability-story-handheld { background: #f7f7f7; }
.capabilities-page .capability-story-care { background: #fff; }
.capabilities-page .capability-story-media { background: #f4f4f4; }
.capabilities-page .capability-story-media .validation-visual-d1 { padding: 4%; object-fit: contain; }
.capabilities-page .capability-story-media figcaption { color: #6f726d; background: rgba(255, 255, 255, .82); }
.capabilities-page .capability-story-care > div > span { color: #8b6077; }

.capabilities-page .capabilities-principles { background: #f7f7f7; }
.capabilities-page .capabilities-principles-heading { margin-bottom: 58px; }
.capabilities-page .capabilities-principles-grid article { min-height: 238px; padding-top: 38px; }
.capabilities-page .capabilities-principles-grid h3 { margin-top: 0; font-size: 26px; font-weight: 600; }

.capabilities-page .contact { padding: 96px 0 104px; border-top: 1px solid rgba(17, 19, 15, .08); background: #fff; }
.capabilities-page .contact-panel { width: var(--shell); min-height: 0; margin-inline: auto; padding: 0; grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr); gap: 92px; overflow: visible; border: 0; background: transparent; }
.capabilities-page .contact-panel::before { display: none; }
.capabilities-page .contact-panel .eyebrow { display: none; }
.capabilities-page .contact-panel h2 { margin: 0; font-size: 42px; font-weight: 610; line-height: 1.22; }
.capabilities-page .contact-button { padding: 0 0 7px; border-bottom: 1px solid rgba(96, 188, 34, .72); border-radius: 0; color: #4d941c; background: transparent; }
.capabilities-page .contact-button:hover { transform: none; box-shadow: none; }

@media (max-width: 820px) {
  .capabilities-page .capabilities-hero { height: 760px; min-height: 760px; }
  .capabilities-page .capabilities-hero-media img { object-position: 66% center; }
  .capabilities-page .capabilities-hero-wash { background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .9) 31%, rgba(255, 255, 255, .18) 53%, transparent 67%); }
  .capabilities-page .capabilities-hero-copy { top: 112px; transform: none; }
  .capabilities-page .capabilities-hero-copy h1 { font-size: 46px; }
  .capabilities-page .capabilities-process-heading h2,
  .capabilities-page .capabilities-evidence-heading h2,
  .capabilities-page .capabilities-principles-heading h2 { font-size: 36px; }
  .capabilities-page .capability-lifecycle-copy { padding-top: 40px; }
  .capabilities-page .capability-story > img,
  .capabilities-page .capability-story-media { height: 360px; }
  .capabilities-page .capability-story > div { padding: 40px 24px 46px; }
  .capabilities-page .capability-story h3 { font-size: 34px; }
  .capabilities-page .capabilities-principles-grid article { min-height: 190px; padding-block: 32px; }
  .capabilities-page .contact { padding: 72px 0 78px; }
  .capabilities-page .contact-panel { grid-template-columns: 1fr; gap: 48px; }
  .capabilities-page .contact-panel h2 { font-size: 34px; }
}

@media (max-width: 480px) {
  .hero-slide-copy { bottom:98px; }
  .hero h1 { font-size:42px; }
  .hero-actions { gap:14px; }
  .button { min-height:43px; padding-inline:17px; font-size:12px; }
  .category-grid { grid-auto-columns:88%; }
  .brand-grid { grid-template-columns:1fr; }
  .brand-grid article, .brand-grid article:nth-child(2) { min-height:360px; border-right:0; }
  .brand-grid article > img { width:52%; height:40%; }
  .about-media { min-height:470px; }
  .about-hero-copy h1 { font-size:38px; }
  .about-hero-note { left:18px; right:auto; }
  .about-scope-grid article, .about-scope-grid article:first-child { min-height:230px; padding-inline:16px; }
  .about-scope-grid h3 { font-size:22px; }
  .about-scope-grid p { font-size:11px; line-height:1.75; }
  .about-product-media, .about-method > img { height:340px; }
  .about-values-grid { grid-template-columns:1fr; }
  .about-values-grid article, .about-values-grid article:first-child, .about-values-grid article:last-child { grid-column:auto; min-height:220px; border-right:0; }
  .about-values-grid h3 { margin-top:22px; }
  .about-location-card { min-height:570px; }
  .lines-hero { height:840px; min-height:840px; }
  .lines-hero-copy { top:108px; }
  .lines-hero-copy h1 { font-size:40px; }
  .lines-hero-copy > p:not(.eyebrow) { max-width:340px; }
  .lines-hero-art { top:360px; }
  .lines-hero-robot { left:-2%; width:40%; }
  .lines-hero-handheld { left:23%; width:30%; }
  .lines-hero-x20 { left:48%; width:29%; }
  .lines-hero-d1 { right:-1%; width:31%; }
  .lines-hero-caption b { display:none; }
  .lines-map { grid-template-columns:1fr; }
  .lines-map-company { grid-column:auto; }
  .lines-map-company, .lines-map > a { min-height:245px; border-right:0; }
  .lines-map-company h3, .lines-map > a h3 { margin-top:32px; }
  .lines-map-products { height:128px; margin-top:14px; }
  .line-chapter-heading h2 { font-size:36px; }
  .line-stage-media { height:310px; }
  .line-chapter-okaydeer .line-stage-media { height:285px; }
  .line-stage-copy { padding:40px 22px 44px; }
  .line-stage-copy h3 { font-size:34px; }
  .line-stage-tags span { padding-inline:0 6px; font-size:9px; }
  .line-stage-tags span:nth-child(2), .line-stage-tags span:last-child { padding-left:7px; }
  .line-product-card, .line-product-grid-1 .line-product-card { grid-template-rows:auto 220px 1fr; padding:22px; }
  .line-product-card > img, .line-product-grid-1 .line-product-card > img { height:220px; }
  .lines-next-grid h2 { font-size:36px; }
  .products-care-story-media { min-height:320px; padding:22px 12px 38px; }
  .products-care-story-media img { max-height:260px; }
  .products-care-story-copy { padding:40px 22px 44px; }
  .products-care-story-copy h3 { font-size:34px; }
  .products-care-story-tags span { padding-block:18px 20px; font-size:10px; }
  .products-care-story-tags span:nth-child(2), .products-care-story-tags span:last-child { padding-left:9px; }
  .product-scene-media { height:340px; }
  .product-scene[data-product="d1"] .product-scene-media { height:260px; }
  .product-scene-copy { padding:38px 22px 42px; }
  .product-scene-copy h2 { font-size:34px; }
  .contact-list b { overflow-wrap:anywhere; }
  .product-switcher { grid-template-columns:repeat(2, 1fr); }
  .product-switcher a:nth-child(4) { border-right:1px solid var(--line); }
  .product-switcher a:nth-child(even) { border-right:0; }
}

@media (min-width: 821px) and (max-height: 760px) {
  .hero { min-height:100svh; }
  .hero-slide-copy { top:48%; transform:translate(-50%,-46%); }
  .hero-slide-copy .eyebrow { margin-bottom:14px; }
  .hero h1 { font-size:52px; line-height:1.01; }
  .hero-lead { margin-top:16px; font-size:13px; line-height:1.65; }
  .hero-actions { margin-top:20px; }
  .button { min-height:44px; padding-inline:21px; }
  .hero-controls { bottom:16px; }
  .scroll-mark { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .reveal-target { opacity:1; transform:none; }
  .ticker-track { animation:none; transform:none; }
}

/* Careers V07: image-led recruitment and direct application */
.careers-page .careers-hero { min-height: 650px; padding-top: var(--header); overflow: hidden; background: #f2f4f0; }
.careers-page .careers-hero-layout { min-height: 578px; display: grid; grid-template-columns: minmax(420px,.78fr) minmax(0,1.22fr); align-items: stretch; }
.careers-page .careers-hero .corporate-hero-copy { position: relative; z-index: 2; min-height: 578px; max-width: none; padding: 92px 72px 72px 0; display: flex; flex-direction: column; justify-content: center; }
.careers-hero-kicker { margin-bottom: 24px; color: #5ca727; font-size: 12px; font-weight: 720; }
.careers-page .careers-hero .corporate-hero-copy h1 { max-width: 620px; margin: 0; font-size: clamp(52px,4.6vw,72px); font-weight: 600; line-height: 1.12; }
.careers-page .careers-hero .corporate-hero-copy > p { max-width: 520px; margin: 28px 0 0; color: var(--text-body); font-size: 17px; line-height: 1.8; }
.careers-hero-actions { margin-top: 36px; display: flex; gap: 34px; flex-wrap: wrap; }
.careers-hero-actions .corporate-text-link { margin: 0; }
.careers-hero-media { position: relative; width: calc(100% + (100vw - var(--shell)) / 2); min-width: 0; margin: 0; overflow: hidden; background: #dfe2dc; }
.careers-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(242,244,240,.3), transparent 24%); }
.careers-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.careers-hero-media figcaption { position: absolute; z-index: 1; right: 22px; bottom: 18px; padding: 9px 11px; color: var(--ink); background: rgba(255,255,255,.9); font-size: 12px; }
.careers-application { display: grid; grid-template-columns: minmax(240px,.48fr) minmax(0,1.52fr); gap: 70px; }
.careers-application-intro > p { margin: 0; color: var(--text-body); font-size: 16px; line-height: 1.8; }
.application-progress { margin: 34px 0 30px; }
.application-progress::before { content: ""; display: block; height: 2px; background: #dfe2dc; }
.application-progress i { display: block; width: 0; height: 2px; margin-top: -2px; background: #69bc32; transition: width .3s ease; }
.application-progress span { margin-top: 12px; display: block; color: var(--muted); font-size: 12px; }
.application-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 30px; }
.application-field { min-width: 0; }
.application-field-wide { grid-column: 1 / -1; }
.application-field label { margin-bottom: 9px; display: block; color: var(--ink); font-size: 13px; font-weight: 600; }
.application-field input:not([type="file"]), .application-field select, .application-field textarea { width: 100%; min-height: 48px; padding: 12px 0; border: 0; border-bottom: 1px solid #cdd1c9; border-radius: 0; color: var(--ink); background: transparent; font: inherit; outline: none; }
.application-field textarea { resize: vertical; }
.application-field input:focus, .application-field select:focus, .application-field textarea:focus { border-bottom-color: #5ca727; }
.application-field.is-invalid input, .application-field.is-invalid select, .application-field.is-invalid textarea { border-bottom-color: #b52b2b; }
.application-upload { padding: 20px 0; border-top: 1px solid #e0e2dd; border-bottom: 1px solid #e0e2dd; }
.application-upload input { max-width: 100%; }
.application-upload p { margin: 10px 0 0; color: var(--muted); font-size: 12px; }
.application-upload.is-invalid p { color: #a92727; }
.application-consent { display: flex; gap: 12px; align-items: flex-start; color: var(--text-body); font-size: 13px; line-height: 1.65; cursor: pointer; }
.application-consent input { width: 17px; height: 17px; margin-top: 2px; accent-color: #65b72f; }
.application-consent.is-invalid { color: #a92727; }
.application-submit { display: flex; gap: 24px; align-items: center; }
.application-submit button { min-height: 48px; padding: 0 24px; border: 0; color: #fff; background: #11140f; font-size: 14px; font-weight: 650; cursor: pointer; }
.application-submit button:disabled { opacity: .55; cursor: wait; }
.application-submit p { margin: 0; color: var(--text-body); font-size: 13px; line-height: 1.6; }
.application-submit p.is-error { color: #a92727; }
.application-submit p.is-success { color: #397a12; }
.job-detail-actions button { width: 100%; padding: 14px 0; display: flex; justify-content: space-between; border: 0; border-bottom: 1px solid var(--line); color: #fff; background: #11140f; font: inherit; text-align: left; cursor: pointer; }

@media (max-width: 900px) {
  .careers-page .careers-hero { min-height: 0; padding-top: 58px; }
  .careers-page .careers-hero-layout { width: 100%; min-height: 0; grid-template-columns: 1fr; }
  .careers-page .careers-hero .corporate-hero-copy { width: var(--shell); min-height: 420px; margin-inline: auto; padding: 64px 0 54px; }
  .careers-page .careers-hero .corporate-hero-copy h1 { font-size: 46px; }
  .careers-hero-media { width: 100%; aspect-ratio: 4 / 3; }
  .careers-hero-media::after { background: linear-gradient(180deg, rgba(242,244,240,.16), transparent 22%); }
  .careers-application { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 560px) {
  .careers-page .careers-hero .corporate-hero-copy { min-height: 390px; padding-top: 54px; }
  .careers-page .careers-hero .corporate-hero-copy h1 { font-size: 38px; }
  .careers-page .careers-hero .corporate-hero-copy > p { font-size: 15px; }
  .careers-hero-actions { gap: 22px; }
  .application-form { grid-template-columns: 1fr; }
  .application-field-wide { grid-column: auto; }
  .application-submit { align-items: flex-start; flex-direction: column; }
}

/* Corporate information architecture: About, Culture, Careers and Contact */
.nav-about { position:relative; display:inline-flex; align-items:center; height:100%; }
.nav-about > a { position:relative; display:inline-flex; align-items:center; height:var(--header); white-space:nowrap; font-size:13px; font-weight:520; opacity:.84; transition:height .38s var(--ease), opacity .25s ease; }
.site-header.is-scrolled .nav-about > a,
.site-header:has(.desktop-nav:hover) .nav-about > a,
.site-header:has(.header-actions:hover) .nav-about > a,
.site-header:focus-within .nav-about > a,
body.header-panel-open .nav-about > a { height:72px; }
.nav-about:hover > a, .nav-about:focus-within > a, .nav-about > a.is-active { opacity:1; }
.nav-about > a::after { content:""; position:absolute; left:0; bottom:17px; width:100%; height:1px; background:currentColor; opacity:0; transform:scaleX(0); transform-origin:left; transition:opacity .25s ease, transform .35s var(--ease); }
.nav-about:hover > a::after, .nav-about > a:focus-visible::after,
.site-header.is-scrolled .nav-about > a.is-active::after,
.site-header:has(.desktop-nav:hover) .nav-about > a.is-active::after,
body.header-panel-open .nav-about > a.is-active::after,
.corporate-page .nav-about > a.is-active::after { opacity:.7; transform:scaleX(1); }
.nav-about > a i { width:6px; height:6px; margin-left:8px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .3s var(--ease); }
.nav-about:hover > a i, .nav-about:focus-within > a i { transform:translateY(1px) rotate(225deg); }
.about-subnav { position:absolute; z-index:90; top:72px; left:50%; width:174px; padding:8px; display:grid; background:rgba(255,255,253,.99); border:1px solid rgba(17,19,15,.08); box-shadow:0 22px 50px rgba(25,32,20,.11); opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,-8px); transition:opacity .2s ease, transform .3s var(--ease), visibility .2s; }
.nav-about:hover .about-subnav, .nav-about:focus-within .about-subnav { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.about-subnav a { min-height:43px; padding:0 16px; display:flex; align-items:center; color:var(--muted); font-size:12px; transition:color .2s ease, background .2s ease; }
.about-subnav a:hover, .about-subnav a:focus-visible, .about-subnav a.is-active { color:var(--green-deep); background:#f2f7ed; }
body:has(.nav-about:hover) .nav-backdrop, body:has(.nav-about:focus-within) .nav-backdrop { opacity:1; visibility:visible; }

.corporate-page { background:#fff; }
.corporate-page .site-header { color:var(--ink); background:rgba(255,255,253,.97); box-shadow:0 1px 0 rgba(17,19,15,.08); backdrop-filter:blur(18px) saturate(125%); }
.corporate-page main { overflow:hidden; }
.corporate-hero { position:relative; min-height:720px; padding-top:var(--header); border-bottom:1px solid var(--line); background:#fff; }
.corporate-hero-grid { min-height:calc(720px - var(--header)); display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); }
.corporate-hero-copy { position:relative; z-index:2; padding:clamp(90px,10vh,142px) clamp(42px,5vw,92px) 58px 0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.corporate-hero-copy h1 { max-width:760px; margin:0; font-size:clamp(56px,4.7vw,76px); font-weight:330; line-height:1.08; letter-spacing:0; }
.corporate-hero-copy > p { max-width:610px; margin:34px 0 0; color:var(--muted); font-size:15px; line-height:1.9; }
.corporate-text-link { width:max-content; margin-top:34px; padding:0 0 7px; display:inline-flex; align-items:center; gap:22px; border-bottom:1px solid currentColor; color:var(--ink); font-size:12px; font-weight:560; }
.corporate-text-link span { color:var(--green-deep); font-size:14px; }
.corporate-hero-facts { width:100%; margin:72px 0 0; display:grid; grid-template-columns:.6fr .9fr 1.5fr; border-top:1px solid var(--line); }
.corporate-hero-facts > div { min-width:0; padding:18px 18px 0 0; }
.corporate-hero-facts dt { color:#8b9088; font-size:9px; font-weight:650; }
.corporate-hero-facts dd { margin:9px 0 0; font-size:12px; line-height:1.55; overflow-wrap:anywhere; }
.corporate-hero-media { position:relative; min-width:0; margin:0; overflow:hidden; background:#eef2ea; }
.corporate-hero-media img { width:100%; height:100%; display:block; object-fit:cover; }
.corporate-hero-media figcaption { position:absolute; right:20px; bottom:18px; max-width:320px; padding:8px 11px; color:#fff; background:rgba(17,19,15,.67); font-size:9px; line-height:1.5; }
.corporate-building-media { background:#dce5e8; }
.corporate-building-media img { object-fit:cover; object-position:center 48%; }

@media (min-width:1100px) {
  .about-company-page[data-language="zh"] .corporate-hero-copy { padding-right:clamp(18px,2vw,38px); }
  .about-company-page[data-language="zh"] .corporate-hero-copy h1 { font-size:clamp(48px,4.15vw,68px); white-space:nowrap; }
}

.corporate-story { display:grid; grid-template-columns:76px minmax(0,1fr); }
.corporate-rail { position:relative; display:grid; grid-template-rows:repeat(4,1fr); padding:58px 0; color:var(--green-deep); font-size:9px; font-weight:680; }
.corporate-rail-five { grid-template-rows:repeat(5,1fr); }
.corporate-rail::before { content:""; position:absolute; top:0; bottom:0; left:30px; width:1px; background:var(--line); }
.corporate-rail span { position:relative; align-self:start; }
.corporate-rail span::after { content:""; position:absolute; top:5px; left:30px; width:8px; height:8px; border-radius:50%; background:var(--green); transform:translateX(-50%); }
.corporate-story-content { min-width:0; }
.corporate-section { display:grid; grid-template-columns:minmax(210px,.34fr) minmax(0,1fr); gap:56px; padding:82px 0; border-bottom:1px solid var(--line); }
.corporate-section-heading span { display:none; color:var(--green-deep); font-size:9px; font-weight:680; }
.corporate-section-heading h2 { margin:0; font-size:31px; font-weight:390; line-height:1.18; letter-spacing:0; }
.corporate-section-body { min-width:0; }
.corporate-lead { max-width:770px; margin:0 0 50px; color:var(--muted); font-size:15px; line-height:1.85; }
.editorial-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
.editorial-columns article { min-height:220px; padding:26px 30px 22px 0; border-right:1px solid var(--line); }
.editorial-columns article + article { padding-left:30px; }
.editorial-columns article:last-child { border-right:0; }
.editorial-columns article > span { color:var(--green-deep); font-size:9px; }
.editorial-columns h3 { margin:44px 0 0; font-size:20px; font-weight:450; }
.editorial-columns p { margin:16px 0 0; color:var(--muted); font-size:12px; line-height:1.75; }
.editorial-columns a { margin-top:24px; display:inline-flex; gap:12px; color:var(--green-deep); font-size:11px; }
.editorial-columns a b { font-weight:500; }
.company-fact-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:56px; }
.company-origin { padding:4px 0 0; }
.company-origin time { color:var(--green-deep); font-size:29px; font-weight:540; }
.company-origin p { max-width:370px; margin:24px 0 0; color:var(--muted); font-size:13px; line-height:1.8; }
.company-fact-list { margin:0; border-top:1px solid var(--line); }
.company-fact-list > div { min-height:57px; padding:14px 0; display:grid; grid-template-columns:130px 1fr; gap:24px; border-bottom:1px solid var(--line); }
.company-fact-list dt { color:#8b9088; font-size:10px; }
.company-fact-list dd { margin:0; font-size:12px; line-height:1.65; }
.method-sequence { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); }
.method-sequence article { min-height:210px; padding:25px 24px 22px 0; border-right:1px solid var(--line); }
.method-sequence article + article { padding-left:24px; }
.method-sequence article:last-child { border-right:0; }
.method-sequence span { color:var(--green-deep); font-size:9px; }
.method-sequence h3 { margin:42px 0 0; font-size:18px; font-weight:460; }
.method-sequence p { margin:15px 0 0; color:var(--muted); font-size:11px; line-height:1.75; }
.location-summary { display:flex; align-items:flex-end; justify-content:space-between; gap:42px; }
.location-summary p { margin:0; font-size:18px; line-height:1.65; }
.location-summary > div > span { margin-top:14px; display:block; color:var(--green-deep); font-size:10px; }
.location-summary .corporate-text-link { flex:0 0 auto; margin:0; }
.corporate-page-links { border-bottom:1px solid var(--line); background:#f5f8f1; }
.corporate-page-links > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.corporate-page-links a { position:relative; min-height:154px; padding:34px 52px 32px 0; border-right:1px solid var(--line); }
.corporate-page-links a + a { padding-left:38px; }
.corporate-page-links a:last-child { border-right:0; }
.corporate-page-links span { font-size:18px; font-weight:450; }
.corporate-page-links p { margin:10px 0 0; color:var(--muted); font-size:11px; line-height:1.65; }
.corporate-page-links b { position:absolute; top:36px; right:28px; color:var(--green-deep); font-size:14px; font-weight:450; }

.culture-hero-grid { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); }
.culture-global-media img { object-position:center 44%; }
.value-sequence { border-top:1px solid var(--line); }
.value-sequence article { min-height:80px; display:grid; grid-template-columns:70px 160px 1fr; align-items:center; gap:24px; border-bottom:1px solid var(--line); }
.value-sequence article > span { color:var(--green-deep); font-size:9px; }
.value-sequence h3 { margin:0; font-size:22px; font-weight:430; }
.value-sequence p { margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
.culture-practice-list { border-top:1px solid var(--line); }
.culture-practice-list article { min-height:69px; padding:18px 0; display:grid; grid-template-columns:210px 1fr; gap:28px; border-bottom:1px solid var(--line); }
.culture-practice-list h3 { margin:0; font-size:14px; font-weight:470; }
.culture-practice-list p { margin:0; color:var(--muted); font-size:12px; line-height:1.72; }
.culture-statement { margin:0 0 100px; padding:74px; display:grid; grid-template-columns:1fr .8fr; gap:80px; align-items:end; background:#f1f6ec; }
.culture-statement span { color:var(--green-deep); font-size:9px; font-weight:680; }
.culture-statement h2 { margin:30px 0 0; font-size:48px; font-weight:350; line-height:1.12; }
.culture-statement > p { margin:0; color:var(--muted); font-size:14px; line-height:1.85; }
.culture-gallery-intro { margin-bottom:30px; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.72fr); gap:42px; align-items:end; }
.culture-gallery-intro > p { max-width:720px; margin:0; color:var(--text-body); font-size:18px; line-height:1.72; }
.culture-gallery-intro .culture-gallery-note { color:var(--text-secondary); font-size:15px; line-height:1.65; }
.culture-photo-wall { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:236px; gap:12px; }
.culture-photo-wall figure { position:relative; min-width:0; margin:0; overflow:hidden; background:#fff; }
.culture-photo-wall figure:nth-child(1) { grid-column:1 / 8; grid-row:span 2; }
.culture-photo-wall figure:nth-child(2),
.culture-photo-wall figure:nth-child(3) { grid-column:8 / 13; }
.culture-photo-wall figure:nth-child(4) { grid-column:1 / 6; }
.culture-photo-wall figure:nth-child(5) { grid-column:6 / 13; }
.culture-photo-wall img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .7s var(--ease); }
.culture-photo-wall figure:nth-child(1) img { object-position:center 56%; }
.culture-photo-wall figure:nth-child(2) img { object-position:center 42%; }
.culture-photo-wall figure:hover img { transform:scale(1.018); }
.culture-photo-wall figcaption { position:absolute; left:14px; bottom:12px; padding:7px 9px; color:#fff; background:rgba(17,19,15,.58); font-size:14px; line-height:1.45; }

.careers-hero { min-height:620px; background:#f8faf6; }
.careers-hero-layout { min-height:calc(620px - var(--header)); display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); }
.careers-hero .corporate-hero-copy { padding-right:clamp(60px,8vw,120px); }
.careers-hero-meta { align-self:center; padding:46px 0 46px 64px; border-left:1px solid var(--line); }
.careers-hero-meta p { min-height:62px; margin:0; padding:14px 0; display:grid; grid-template-columns:120px 1fr; align-items:center; border-bottom:1px solid var(--line); }
.careers-hero-meta p:first-child { border-top:1px solid var(--line); }
.careers-hero-meta span { color:#8b9088; font-size:10px; }
.careers-hero-meta b { color:var(--green-deep); font-size:20px; font-weight:480; }
.careers-hero-meta small { margin-top:22px; display:block; color:#8b9088; font-size:9px; }
.careers-reason-grid article { min-height:190px; }
.recruitment-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
.job-filters { display:flex; gap:32px; overflow-x:auto; border-bottom:1px solid var(--line); }
.job-filters button { position:relative; flex:0 0 auto; min-height:48px; padding:0; border:0; color:var(--muted); background:transparent; font:520 12px/1 inherit; cursor:pointer; }
.job-filters button::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--green); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.job-filters button:hover, .job-filters button:focus-visible, .job-filters button.is-active { color:var(--ink); }
.job-filters button.is-active::after { transform:scaleX(1); }
.job-list-head { min-height:48px; padding:0 42px 0 46px; display:grid; grid-template-columns:minmax(250px,1.7fr) minmax(135px,1fr) 82px 72px 70px 64px 12px; gap:14px; align-items:center; color:#8b9088; border-bottom:1px solid var(--line); font-size:9px; }
.job-list { border-bottom:1px solid var(--line); }
.job-row { width:100%; min-height:60px; padding:0; display:grid; grid-template-columns:34px minmax(250px,1.7fr) minmax(135px,1fr) 82px 72px 70px 64px 20px; gap:12px; align-items:center; border:0; border-bottom:1px solid var(--line); color:var(--ink); background:#fff; text-align:left; font:inherit; cursor:pointer; transition:background .2s ease; }
.job-row:hover, .job-row:focus-visible { background:#f2f7ed; outline:none; }
.job-row:last-child { border-bottom:0; }
.job-row .job-index { color:var(--green-deep); font-size:9px; }
.job-row strong { font-size:12px; font-weight:520; }
.job-row > span:not(.job-index) { color:var(--muted); font-size:10px; }
.job-row i { color:var(--green-deep); font-size:14px; font-style:normal; transition:transform .2s ease; }
.job-row:hover i { transform:translate(2px,-2px); }
.job-list-empty { padding:36px 0; color:var(--muted); font-size:13px; }
.job-source-note { margin:20px 0 0; color:#8b9088; font-size:9px; line-height:1.7; }
.careers-apply-row { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:end; }
.careers-apply-row > p { max-width:720px; margin:0; color:var(--muted); font-size:14px; line-height:1.85; }
.careers-apply-row > div { display:flex; gap:28px; }
.careers-apply-row .corporate-text-link { margin:0; }
body.job-dialog-open { overflow:hidden; }
.job-drawer { position:fixed; inset:0 0 0 auto; width:min(690px,50vw); max-width:none; height:100dvh; max-height:none; margin:0; padding:0; overflow:hidden; border:0; color:var(--ink); background:#fff; box-shadow:-32px 0 90px rgba(20,25,17,.16); animation:drawer-in .36s var(--ease); }
.job-drawer::backdrop { background:rgba(18,21,16,.28); backdrop-filter:blur(3px); }
.job-drawer-close-form { position:absolute; z-index:2; top:22px; right:24px; }
.job-drawer-close-form button { width:42px; height:42px; border:0; background:transparent; color:var(--ink); font:300 34px/1 inherit; cursor:pointer; }
.job-drawer-scroll { height:100%; padding:64px 64px 54px; overflow-y:auto; }
.job-drawer header { padding-bottom:34px; border-bottom:1px solid var(--line); }
.job-drawer header p { margin:0; color:var(--muted); font-size:11px; }
.job-drawer h2 { margin:18px 0 0; padding-right:54px; font-size:34px; font-weight:390; line-height:1.2; }
.job-drawer header b { margin-top:22px; display:block; color:var(--green-deep); font-size:24px; font-weight:520; }
.job-detail-meta { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-bottom:1px solid var(--line); }
.job-detail-meta > div { padding:20px 20px 20px 0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.job-detail-meta > div:nth-child(even) { padding-left:20px; border-right:0; }
.job-detail-meta > div:nth-last-child(-n+2) { border-bottom:0; }
.job-detail-meta dt { color:#8b9088; font-size:9px; }
.job-detail-meta dd { margin:8px 0 0; font-size:12px; }
.job-drawer section { margin-top:38px; }
.job-drawer section h3 { margin:0; font-size:15px; font-weight:560; }
.job-drawer ul { margin:19px 0 0; padding:0; list-style:none; }
.job-drawer li { position:relative; margin-top:10px; padding-left:18px; color:var(--muted); font-size:12px; line-height:1.75; }
.job-drawer li::before { content:""; position:absolute; top:.75em; left:0; width:5px; height:5px; background:var(--green); }
.job-detail-actions { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); }
.job-detail-actions a { min-height:86px; padding:19px 20px; display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:11px; }
.job-detail-actions a + a { border-left:1px solid var(--line); }
.job-detail-actions a:first-child { color:var(--green-deep); background:#f2f7ed; }
.job-detail-source { margin:20px 0 0; color:#8b9088; font-size:9px; line-height:1.65; }
@keyframes drawer-in { from { transform:translateX(28px); opacity:0; } to { transform:none; opacity:1; } }

.contact-hero-v2 { min-height:620px; background:#f5f8f1; }
.contact-hero-layout { min-height:calc(620px - var(--header)); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); }
.contact-hero-v2 .corporate-hero-copy { padding-right:clamp(60px,8vw,120px); }
.contact-coordinate { align-self:stretch; padding:80px 0 52px 64px; display:flex; flex-direction:column; justify-content:flex-end; border-left:1px solid var(--line); }
.contact-coordinate span { margin-bottom:auto; color:var(--green-deep); font-size:10px; font-weight:680; }
.contact-coordinate b { color:#dcebd0; font-size:clamp(60px,6vw,92px); font-weight:360; line-height:.95; }
.contact-coordinate p { margin:24px 0 0; font-size:14px; }
.contact-directory { padding:48px 0; display:grid; grid-template-columns:1fr 1fr; gap:0 58px; }
.contact-directory article { min-height:104px; display:grid; grid-template-columns:40px 170px 1fr; gap:20px; align-items:center; border-bottom:1px solid var(--line); }
.contact-directory article > span { color:var(--green-deep); font-size:9px; }
.contact-directory h2 { margin:0; font-size:17px; font-weight:490; }
.contact-directory div p { margin:7px 0 0; color:#8b9088; font-size:10px; }
.contact-directory article > a, .contact-directory article > p { margin:0; justify-self:end; text-align:right; font-size:12px; line-height:1.7; }
.contact-directory article > p a { margin-left:20px; color:var(--green-deep); white-space:nowrap; }
.contact-directory b { color:var(--green-deep); font-weight:500; }
.contact-location-section { padding-top:86px; background:#fff; }
.contact-location-heading { margin-bottom:36px; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; }
.contact-location-heading span, .inquiry-guide header > span { color:var(--green-deep); font-size:9px; font-weight:680; }
.contact-location-heading h2, .inquiry-guide h2 { margin:22px 0 0; font-size:46px; font-weight:360; line-height:1.15; }
.contact-location-heading > p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.location-map-layout { min-height:520px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr); border:1px solid var(--line); }
.location-map-frame { min-height:520px; overflow:hidden; background:#eef2ea; }
.location-map-frame iframe { width:100%; height:100%; min-height:520px; display:block; border:0; filter:saturate(.76) contrast(.94); }
.location-map-copy { padding:52px 44px; background:#f3f7ef; }
.location-map-copy > span { color:var(--green-deep); font-size:9px; font-weight:680; }
.location-map-copy h3 { margin:28px 0 0; font-size:28px; font-weight:420; }
.location-map-copy > p { margin:20px 0 0; color:var(--muted); font-size:12px; line-height:1.75; }
.location-map-copy dl { margin:34px 0 0; border-top:1px solid var(--line); }
.location-map-copy dl > div { padding:14px 0; border-bottom:1px solid var(--line); }
.location-map-copy dt { color:#8b9088; font-size:9px; }
.location-map-copy dd { margin:8px 0 0; font-size:11px; }
.location-map-copy .corporate-text-link { margin-top:32px; }
.location-map-copy small { margin-top:36px; display:block; color:#8b9088; font-size:8px; }
.inquiry-guide { background:#f5f8f1; }
.inquiry-guide-layout { display:grid; grid-template-columns:.68fr 1.32fr; gap:80px; align-items:start; }
.inquiry-guide header { max-width:430px; }
.inquiry-guide ol { margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); list-style:none; border-top:1px solid var(--line); }
.inquiry-guide li { min-height:160px; padding:24px 20px 20px 0; border-right:1px solid var(--line); }
.inquiry-guide li + li { padding-left:20px; }
.inquiry-guide li:last-child { border-right:0; }
.inquiry-guide li > span { color:var(--green-deep); font-size:9px; }
.inquiry-guide h3 { margin:38px 0 0; font-size:15px; font-weight:500; }
.inquiry-guide li p { margin:12px 0 0; color:var(--muted); font-size:10px; line-height:1.65; }

/* Homepage media-frame correction: preserve the full subject without a floating mismatched frame. */
.capability-feature { grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid rgba(17,19,15,.09); box-shadow:none; transform:none; }
.capability-feature > img { box-sizing:border-box; padding:0 2.5%; border-right:1px solid rgba(17,19,15,.08); background:#e5eae0; }
.capability-feature:hover { transform:none; box-shadow:none; }

@media (max-width:1280px) {
  .nav-about > a { font-size:13px; }
  .corporate-section { grid-template-columns:minmax(180px,.3fr) minmax(0,1fr); gap:42px; }
  .job-list-head { display:none; }
  .job-row { grid-template-columns:32px minmax(210px,1.5fr) minmax(120px,1fr) 75px 68px 64px 18px; }
  .job-row > span:nth-of-type(5) { display:none; }
}

@media (min-width:821px) and (max-width:1040px) {
  .nav-about > a { font-size:12px; }
  .corporate-hero-copy h1 { font-size:52px; }
  .corporate-story { grid-template-columns:56px minmax(0,1fr); }
  .corporate-section { grid-template-columns:160px minmax(0,1fr); gap:30px; }
  .job-row { grid-template-columns:28px minmax(190px,1.45fr) minmax(110px,1fr) 66px 58px 18px; gap:8px; }
  .job-row > span:nth-of-type(4), .job-row > span:nth-of-type(5) { display:none; }
}

@media (max-width:820px) {
  .mobile-about-links { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; padding-bottom:12px; border-bottom:1px solid var(--line); }
  .mobile-about-links .mobile-nav-link { grid-column:1/-1; border-bottom:0; }
  .mobile-about-links > span { grid-column:1/-1; margin:1px 0 8px; color:#858a81; font-size:9px; font-weight:650; }
  .mobile-about-links > a:not(.mobile-nav-link) { padding:8px 0; color:var(--muted); font-size:12px; line-height:1.4; }
  .mobile-about-links > a[aria-current="page"] { color:var(--green-deep); }
  .corporate-page .site-header { height:58px; background:rgba(255,255,253,.97); }
  .corporate-hero { min-height:0; padding-top:58px; }
  .corporate-hero-grid, .culture-hero-grid { min-height:0; grid-template-columns:1fr; }
  .corporate-hero-copy { min-height:540px; padding:96px 0 46px; }
  .corporate-hero-copy h1 { font-size:42px; }
  .corporate-hero-copy > p { margin-top:26px; font-size:13px; line-height:1.8; }
  .corporate-text-link { margin-top:28px; }
  .corporate-hero-facts { margin-top:56px; grid-template-columns:1fr 1fr; }
  .corporate-hero-facts > div:last-child { grid-column:1/-1; }
  .corporate-hero-media { height:520px; }
  .corporate-building-media img { object-position:center 43%; }
  .culture-hero-v2 .corporate-hero-copy { min-height:430px; }
  .culture-global-media { height:430px; }
  .corporate-story { display:block; width:var(--shell); }
  .corporate-rail { display:none; }
  .corporate-section { grid-template-columns:1fr; gap:34px; padding:68px 0; }
  .corporate-section-heading span { display:block; margin-bottom:14px; }
  .corporate-section-heading h2 { font-size:29px; }
  .corporate-lead { margin-bottom:36px; font-size:13px; }
  .editorial-columns { grid-template-columns:1fr; }
  .editorial-columns article, .editorial-columns article + article { min-height:190px; padding:24px 0; border-right:0; border-bottom:1px solid var(--line); }
  .editorial-columns article:last-child { border-bottom:0; }
  .editorial-columns h3 { margin-top:32px; }
  .company-fact-layout { grid-template-columns:1fr; gap:40px; }
  .company-origin p { max-width:none; }
  .company-fact-list > div { grid-template-columns:100px 1fr; gap:20px; }
  .method-sequence, .recruitment-steps { grid-template-columns:1fr 1fr; }
  .method-sequence article, .method-sequence article + article { min-height:190px; padding:23px 18px 22px 0; border-bottom:1px solid var(--line); }
  .method-sequence article:nth-child(even) { padding-left:18px; border-right:0; }
  .method-sequence h3 { margin-top:30px; }
  .location-summary { align-items:flex-start; flex-direction:column; }
  .location-summary p { font-size:15px; }
  .corporate-page-links > div { grid-template-columns:1fr; }
  .corporate-page-links a, .corporate-page-links a + a { min-height:128px; padding:28px 48px 26px 0; border-right:0; border-bottom:1px solid var(--line); }
  .corporate-page-links a:last-child { border-bottom:0; }
  .corporate-page-links b { top:30px; right:4px; }
  .value-sequence article { min-height:118px; grid-template-columns:42px 82px 1fr; gap:14px; }
  .value-sequence h3 { font-size:18px; }
  .value-sequence p { font-size:11px; }
  .culture-practice-list article { grid-template-columns:1fr; gap:12px; }
  .culture-statement { margin-bottom:76px; padding:46px 24px; grid-template-columns:1fr; gap:34px; }
  .culture-statement h2 { font-size:36px; }
  .careers-hero, .contact-hero-v2 { min-height:0; padding-top:58px; }
  .careers-hero-layout, .contact-hero-layout { min-height:0; grid-template-columns:1fr; }
  .careers-hero .corporate-hero-copy, .contact-hero-v2 .corporate-hero-copy { min-height:500px; padding-right:0; }
  .careers-hero-meta, .contact-coordinate { padding:34px 0 42px; border-top:1px solid var(--line); border-left:0; }
  .careers-hero-meta p { grid-template-columns:100px 1fr; }
  .contact-coordinate { min-height:330px; }
  .contact-coordinate span { margin-bottom:70px; }
  .contact-coordinate b { font-size:58px; }
  .job-filters { gap:24px; }
  .job-row { min-height:86px; grid-template-columns:28px 1fr 70px 18px; gap:8px; }
  .job-row strong { font-size:12px; line-height:1.45; }
  .job-row > span:not(.job-index) { display:none; }
  .job-row > span:nth-of-type(3) { display:block; justify-self:end; color:var(--ink); }
  .job-row i { justify-self:end; }
  .careers-apply-row { grid-template-columns:1fr; gap:34px; }
  .careers-apply-row > div { align-items:flex-start; flex-direction:column; }
  .job-drawer { width:100vw; }
  .job-drawer-scroll { padding:64px 22px 42px; }
  .job-drawer h2 { font-size:28px; }
  .job-detail-actions { grid-template-columns:1fr; }
  .job-detail-actions a + a { border-top:1px solid var(--line); border-left:0; }
  .contact-directory { padding:34px 0; grid-template-columns:1fr; }
  .contact-directory article { grid-template-columns:32px 126px 1fr; gap:12px; }
  .contact-directory article > a, .contact-directory article > p { font-size:10px; overflow-wrap:anywhere; }
  .contact-directory article > p a { margin:6px 0 0; display:block; }
  .contact-location-section { padding-top:68px; }
  .contact-location-heading { grid-template-columns:1fr; gap:28px; }
  .contact-location-heading h2, .inquiry-guide h2 { font-size:36px; }
  .location-map-layout { min-height:0; grid-template-columns:1fr; }
  .location-map-frame, .location-map-frame iframe { min-height:380px; }
  .location-map-copy { padding:38px 24px; }
  .inquiry-guide-layout { grid-template-columns:1fr; gap:44px; }
  .inquiry-guide ol { grid-template-columns:1fr; }
  .inquiry-guide li, .inquiry-guide li + li { min-height:105px; padding:22px 0; display:grid; grid-template-columns:40px 1fr; align-items:start; border-right:0; border-bottom:1px solid var(--line); }
  .inquiry-guide h3 { margin:0; }
  .capability-feature > img { padding:0; border-right:0; border-bottom:1px solid rgba(17,19,15,.08); }
}

@media (max-width:480px) {
  .corporate-hero-copy h1 { font-size:38px; }
  .corporate-hero-media { height:440px; }
  .method-sequence, .recruitment-steps { grid-template-columns:1fr; }
  .method-sequence article, .method-sequence article + article, .method-sequence article:nth-child(even) { min-height:165px; padding:22px 0; border-right:0; }
  .value-sequence article { grid-template-columns:34px 70px 1fr; }
  .culture-page[data-language="en"] .value-sequence article { grid-template-columns:34px 104px minmax(0,1fr); gap:10px; }
  .contact-directory article { grid-template-columns:28px 104px 1fr; }
  .contact-directory h2 { font-size:15px; }
}

@media (prefers-reduced-motion: reduce) {
  .job-drawer { animation:none; }
}

/* V2.1 readability, density and approved concept system */
:root {
  --text-primary:#151713;
  --text-body:#454941;
  --text-secondary:#62675f;
  --text-quiet:#777d74;
  --paper:#fff;
  --shell:min(1440px, calc(100vw - 96px));
  --header:72px;
  --section-space:88px;
  --section-space-compact:68px;
}

body { font-size:16px; }
body :is(p, li, dd):not(.eyebrow) { font-size:16px; }
body :is(dt, small) { font-size:15px; }
.section { padding:var(--section-space) 0; }
.eyebrow { font-size:14px; line-height:1.5; }
.desktop-nav > a,
.nav-product > a,
.nav-about > a { font-size:15px; }
.nav-action { font-size:15px; }
.about-subnav a { font-size:15px; }
.mega-intro > p:not(.eyebrow) { font-size:16px; line-height:1.7; }
.mega-intro > a { font-size:15px; }
.mega-card b { font-size:17px; }
.mega-card small { font-size:14px; }
.section-intro h2,
.portfolio-heading h2,
.brand-story-heading h2,
.capabilities-evidence-heading h2,
.capabilities-principles-heading h2 { font-size:48px; line-height:1.16; }
.section-intro > p:last-child,
.portfolio-side > p,
.brand-story-heading > p { color:var(--text-body); font-size:18px; line-height:1.75; }

/* About and shared corporate typography */
.corporate-hero { min-height:640px; }
.corporate-hero-grid { height:calc(640px - var(--header)); min-height:0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.corporate-hero-copy { padding:72px 52px 56px 0; }
.corporate-hero-copy h1,
.about-company-page[data-language="zh"] .corporate-hero-copy h1 { font-size:64px; font-weight:360; line-height:1.1; white-space:normal; }
.corporate-hero-copy > p { max-width:640px; margin-top:28px; color:var(--text-body); font-size:18px; font-weight:410; line-height:1.75; }
.corporate-hero-copy > p.corporate-hero-secondary { margin-top:14px; }
.corporate-text-link { margin-top:30px; font-size:15px; }
.corporate-hero-media figcaption { padding:8px 11px; font-size:14px; }
.corporate-building-media { height:calc(640px - var(--header)); min-height:0; }
.about-company-page .corporate-hero { min-height:720px; }
.about-company-page .corporate-hero-grid { height:calc(720px - var(--header)); }
.about-company-page .corporate-building-media { height:calc(720px - var(--header)); }
.corporate-story { grid-template-columns:56px minmax(0,1fr); }
.corporate-rail { padding:52px 0; font-size:14px; }
.corporate-section { grid-template-columns:minmax(220px,.3fr) minmax(0,1fr); gap:52px; padding:var(--section-space) 0; }
.corporate-section-heading span { font-size:14px; }
.corporate-section-heading h2 { font-size:40px; font-weight:430; line-height:1.2; }
.corporate-lead { max-width:860px; margin-bottom:38px; color:var(--text-body); font-size:18px; line-height:1.75; }
.editorial-columns article { min-height:208px; padding-top:24px; }
.editorial-columns article > span { font-size:14px; }
.editorial-columns h3 { margin-top:34px; font-size:24px; font-weight:520; }
.editorial-columns p { color:var(--text-body); font-size:16px; line-height:1.72; }
.editorial-columns a { font-size:15px; }
.company-fact-list > div { min-height:64px; padding:15px 0; grid-template-columns:142px 1fr; }
.company-fact-list dt { color:var(--text-secondary); font-size:15px; }
.company-fact-list dd { color:var(--text-primary); font-size:16px; }
.method-sequence article { min-height:196px; }
.method-sequence span { font-size:14px; }
.method-sequence h3 { margin-top:32px; font-size:22px; font-weight:520; }
.method-sequence p { color:var(--text-body); font-size:16px; line-height:1.72; }
.location-summary > div > span { font-size:14px; }
.corporate-page-links p { font-size:16px; }

.about-identity-body { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:58px; align-items:start; }
.about-identity-copy p { max-width:690px; margin:0; color:var(--text-body); font-size:20px; line-height:1.75; }
.about-identity-copy p + p { margin-top:20px; }
.about-identity-facts { margin:0; }
.smart-living-band { margin-top:42px; padding:28px 0 0; display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:48px; border-top:1px solid var(--line); }
.smart-living-band > div > span { color:var(--green-deep); font-size:14px; font-weight:650; }
.smart-living-band > div > p { max-width:430px; margin:16px 0 0; color:var(--text-body); font-size:16px; line-height:1.7; }
.smart-living-band ol { margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); list-style:none; border-left:1px solid var(--line); }
.smart-living-band li { min-height:112px; padding:18px 20px; display:flex; flex-direction:column; justify-content:flex-end; border-right:1px solid var(--line); }
.smart-living-band b { font-size:20px; font-weight:520; }
.smart-living-band small { margin-top:7px; color:var(--text-secondary); font-size:14px; }

/* Homepage lifecycle and Smart Living System */
.home-lifecycle-grid { position:relative; grid-template-columns:repeat(5,1fr); margin-top:58px; }
.home-lifecycle-grid::before { content:""; position:absolute; z-index:2; top:33px; left:4%; right:4%; height:1px; background:rgba(75,148,16,.38); }
.home-lifecycle-grid article { position:relative; min-height:230px; padding:72px 24px 28px; background:#fff; }
.home-lifecycle-grid article:first-child { padding-left:24px; }
.home-lifecycle-grid article::before { content:""; position:absolute; z-index:3; top:27px; left:28px; width:12px; height:12px; border:2px solid var(--green-deep); border-radius:50%; background:#fff; }
.home-lifecycle-grid article:first-child::before { left:0; }
.home-lifecycle-grid h3 { margin-top:18px; font-size:22px; }
.home-lifecycle-grid p { color:var(--text-body); font-size:16px; line-height:1.7; }
.smart-living-home { margin-top:58px; display:grid; grid-template-columns:minmax(300px,.74fr) minmax(0,1.26fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.smart-living-home-intro { padding:44px 48px 44px 0; }
.smart-living-home-intro > span { color:var(--green-deep); font-size:14px; font-weight:650; }
.smart-living-home-intro h3 { margin:34px 0 0; font-size:32px; font-weight:430; line-height:1.28; }
.smart-living-home-intro p { max-width:520px; margin:22px 0 0; color:var(--text-body); font-size:17px; line-height:1.75; }
.smart-living-home-intro a { margin-top:30px; padding-bottom:6px; display:inline-flex; gap:18px; border-bottom:1px solid currentColor; font-size:15px; }
.smart-living-home ol { margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); list-style:none; border-left:1px solid var(--line); }
.smart-living-home li { min-height:240px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.smart-living-home li:nth-child(even) { border-right:0; }
.smart-living-home li:nth-last-child(-n+2) { border-bottom:0; }
.smart-living-home li > span { color:var(--green-deep); font-size:14px; }
.smart-living-home li h3 { margin:48px 0 0; font-size:28px; font-weight:520; }
.smart-living-home li small { margin-top:6px; display:block; color:var(--text-secondary); font-size:14px; }
.smart-living-home li p { margin:16px 0 0; color:var(--text-body); font-size:16px; line-height:1.7; }

/* Five-stage lifecycle */
.capabilities-process { padding-top:64px; background:#fff; scroll-margin-top:72px; }
.capabilities-process-heading { margin-bottom:30px; grid-template-columns:1fr .8fr; gap:80px; }
.capabilities-process-heading h2 { font-size:48px; line-height:1.16; }
.capabilities-process-heading > p { color:var(--text-body); font-size:18px; line-height:1.75; }
.capability-lifecycle { border-top:1px solid var(--line); }
.capability-lifecycle-rail { position:relative; display:grid; grid-template-columns:repeat(5,1fr); }
.capability-lifecycle-rail::after { content:""; position:absolute; left:2%; right:2%; bottom:22px; height:1px; background:var(--line); pointer-events:none; }
.capability-lifecycle-rail button { position:relative; z-index:1; min-height:120px; padding:20px 24px 42px 0; display:grid; align-content:start; justify-items:start; gap:6px; border:0; background:transparent; text-align:left; cursor:pointer; }
.capability-lifecycle-rail button::after { content:""; position:absolute; z-index:2; left:0; bottom:15px; width:13px; height:13px; border:1.5px solid var(--text-secondary); border-radius:50%; background:#fff; transition:background .25s ease, border-color .25s ease, transform .25s ease; }
.capability-lifecycle-rail span { color:var(--text-secondary); font-size:15px; }
.capability-lifecycle-rail b { margin-top:6px; font-size:18px; font-weight:540; }
.capability-lifecycle-rail small { color:var(--text-secondary); font-size:14px; }
.capability-lifecycle-rail button.is-active { color:var(--green-deep); }
.capability-lifecycle-rail button.is-active::after { border-color:var(--green); background:var(--green); transform:scale(1.15); }
.capability-lifecycle-panels { margin-top:34px; }
.capability-lifecycle-panels > article { min-height:590px; display:grid; grid-template-columns:minmax(390px,.72fr) minmax(0,1.28fr); border:1px solid var(--line); background:#fff; animation:lifecycle-panel-in .38s var(--ease); }
.capability-lifecycle-panels > article[hidden] { display:none; }
.capability-lifecycle-copy { padding:54px 56px; display:flex; flex-direction:column; align-items:flex-start; }
.capability-lifecycle-copy > span { color:var(--green); font-size:82px; font-weight:330; line-height:1; }
.capability-lifecycle-copy > .eyebrow { margin-top:28px; color:var(--green-deep); }
.capability-lifecycle-copy h3 { margin:12px 0 0; font-size:46px; font-weight:430; line-height:1.16; }
.capability-lifecycle-copy > p:not(.eyebrow) { max-width:520px; margin:24px 0 0; color:var(--text-body); font-size:18px; line-height:1.75; }
.capability-lifecycle-copy ul { width:100%; margin:auto 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.capability-lifecycle-copy li { min-height:48px; padding:13px 0; border-bottom:1px solid var(--line); color:var(--text-primary); font-size:16px; }
.capability-lifecycle-panels figure { position:relative; min-width:0; min-height:590px; margin:0; overflow:hidden; background:#edf1e8; }
.capability-lifecycle-panels figure img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.capability-lifecycle-panels .validation-visual-mr7 { object-position:64% center; }
.capability-lifecycle-panels .validation-visual-ms1 { object-position:47% center; }
.capability-lifecycle-panels .validation-visual-k30 { object-position:48% center; }
.capability-lifecycle-panels article:hover figure img { transform:scale(1.015); }
.capability-lifecycle-panels figcaption { position:absolute; right:18px; bottom:16px; max-width:420px; padding:8px 10px; color:#fff; background:rgba(17,19,15,.68); font-size:14px; line-height:1.5; }
@keyframes lifecycle-panel-in { from { opacity:.2; transform:translateY(8px); } to { opacity:1; transform:none; } }

/* Brand product shelf */
.lines-overview-heading h2 { font-size:52px; line-height:1.14; }
.lines-overview-heading > p { color:var(--text-body); font-size:18px; line-height:1.75; }
.lines-overview,
.line-chapter { scroll-margin-top:142px; }
.lines-map { grid-template-columns:1.7fr 1.15fr .9fr 1.05fr; }
.lines-map-company { grid-column:1 / -1; min-height:154px; padding:28px 32px; display:grid; grid-template-columns:.38fr .82fr 1.8fr; align-items:center; gap:34px; border-right:0; border-bottom:1px solid var(--line); background:#f3f8ee; }
.lines-map-company span { font-size:15px; }
.lines-map-company h3 { margin:0; font-size:30px; line-height:1.25; }
.lines-map-company b { margin:0; color:var(--text-body); font-size:15px; line-height:1.7; }
.lines-map > a { min-height:500px; padding:30px 28px 28px; }
.lines-map > a > span { font-size:15px; }
.lines-map > a h3 { margin-top:34px; font-size:32px; }
.lines-map > a p { margin-top:13px; color:var(--text-body); font-size:16px; }
.lines-map-models { margin-top:10px; color:var(--text-primary); font-size:15px; }
.lines-map-products { height:246px; margin:22px 0 10px; overflow:visible; }
.lines-map-products img { height:100%; object-position:center bottom; filter:drop-shadow(0 12px 12px rgba(21,23,19,.12)); }
.lines-map-products-2 img { width:64%; margin-inline:-9%; }
.lines-map-products-3 img { width:53%; margin-inline:-11%; }
.lines-map > a b { font-size:15px; }

/* Careers: jobs first, search, cards and drawer */
.careers-hero { min-height:480px; padding-top:var(--header); background:#f5f8f1; }
.careers-hero-layout { min-height:408px; display:block; }
.careers-hero .corporate-hero-copy { min-height:408px; max-width:940px; padding:74px 0 58px; }
.careers-hero .corporate-hero-copy h1 { max-width:none; font-size:58px; }
.careers-hero .corporate-hero-copy > p { max-width:720px; }
.careers-hero-link { margin-top:26px; }
.careers-openings-v21 { scroll-margin-top:72px; padding:72px 0 88px; border-bottom:1px solid var(--line); background:#fff; }
.careers-openings-heading { display:grid; grid-template-columns:1fr .72fr; gap:72px; align-items:end; }
.careers-openings-heading > div { display:flex; align-items:baseline; gap:24px; flex-wrap:wrap; }
.careers-openings-heading h2 { margin:0; font-size:48px; font-weight:430; line-height:1.18; }
.careers-openings-heading > div > p { margin:0; color:var(--text-secondary); font-size:15px; }
.careers-openings-heading > p { max-width:530px; margin:0; color:var(--text-body); font-size:17px; line-height:1.7; }
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.job-search { height:64px; margin-top:38px; padding:0 20px; display:flex; align-items:center; gap:14px; border:1px solid rgba(21,23,19,.18); border-radius:4px; background:#fff; transition:border-color .2s ease, box-shadow .2s ease; }
.job-search:focus-within { border-color:var(--green-deep); box-shadow:0 0 0 3px rgba(75,148,16,.1); }
.job-search svg { flex:0 0 auto; width:22px; height:22px; fill:none; stroke:var(--text-secondary); stroke-width:1.7; stroke-linecap:round; }
.job-search input { width:100%; height:100%; padding:0; border:0; outline:0; color:var(--text-primary); background:transparent; font-family:inherit; font-size:16px; font-weight:450; line-height:1.5; }
.job-search input::placeholder { color:var(--text-quiet); opacity:1; }
.careers-openings-v21 .job-filters { margin-top:20px; gap:36px; }
.job-filters button { min-height:52px; color:var(--text-secondary); font-size:15px; font-weight:540; }
.job-list { margin-top:24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; border:0; }
.job-card { position:relative; min-height:220px; padding:26px 28px; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"index category" "title salary" "meta meta" "summary summary" "link link"; gap:10px 24px; align-content:start; border:1px solid var(--line); border-radius:4px; color:var(--text-primary); background:#fff; text-align:left; font:inherit; cursor:pointer; transition:background-color .25s ease, border-color .25s ease, transform .3s var(--ease); }
.job-card:hover,
.job-card:focus-visible { border-color:rgba(75,148,16,.62); background:#f7fbf3; transform:translateY(-2px); outline:none; }
.job-card-index { grid-area:index; color:var(--green-deep); font-size:14px; }
.job-card-category { grid-area:category; justify-self:end; color:var(--text-secondary); font-size:15px; }
.job-card strong { grid-area:title; min-width:0; align-self:start; font-size:23px; font-weight:560; line-height:1.35; }
.job-card-salary { grid-area:salary; justify-self:end; color:var(--green-deep); font-size:19px; font-weight:580; white-space:nowrap; }
.job-card-meta { grid-area:meta; display:flex; gap:0; color:var(--text-secondary); font-size:15px; }
.job-card-meta i { padding:0 13px; border-right:1px solid var(--line); font-style:normal; }
.job-card-meta i:first-child { padding-left:0; }
.job-card-meta i:last-child { border-right:0; }
.job-card-summary { grid-area:summary; min-height:52px; color:var(--text-body); font-size:16px; line-height:1.65; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.job-card-link { grid-area:link; margin-top:4px; display:flex; align-items:center; gap:12px; color:var(--green-deep); font-size:15px; }
.job-card-link i { font-style:normal; transition:transform .2s ease; }
.job-card:hover .job-card-link i { transform:translate(2px,-2px); }
.job-list-empty { grid-column:1/-1; min-height:220px; padding:46px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; border:1px solid var(--line); }
.job-list-empty p { margin:0; color:var(--text-body); font-size:18px; }
.job-list-empty button { margin-top:20px; padding:10px 16px; border:1px solid var(--line); border-radius:2px; background:#f3f8ee; font-size:15px; cursor:pointer; }
.job-source-note { margin-top:22px; color:var(--text-quiet); font-size:14px; line-height:1.6; }
.careers-story .corporate-section:first-child { border-top:0; }
.careers-path-rail { position:relative; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); list-style:none; border-top:1px solid var(--line); }
.careers-path-rail::before { content:""; position:absolute; top:42px; left:5%; right:5%; height:1px; background:rgba(75,148,16,.34); }
.careers-path-rail li { position:relative; min-height:188px; padding:72px 20px 22px; border-right:1px solid var(--line); }
.careers-path-rail li:last-child { border-right:0; }
.careers-path-rail li::before { content:""; position:absolute; z-index:1; top:36px; left:20px; width:12px; height:12px; border:2px solid var(--green-deep); border-radius:50%; background:#fff; }
.careers-path-rail span { color:var(--green-deep); font-size:14px; }
.careers-path-rail h3 { margin:18px 0 0; font-size:21px; font-weight:520; }
.careers-path-rail p { margin:12px 0 0; color:var(--text-body); font-size:16px; line-height:1.65; }
.job-drawer { width:clamp(460px,46vw,720px); }
.job-drawer::backdrop { background:rgba(18,21,16,.12); backdrop-filter:none; }
.job-drawer-scroll { padding:68px 64px 58px; }
.job-drawer header p { color:var(--text-secondary); font-size:16px; }
.job-drawer h2 { margin-top:18px; font-size:40px; font-weight:430; }
.job-detail-meta dt { color:var(--text-secondary); font-size:15px; }
.job-detail-meta dd { font-size:16px; }
.job-drawer section h3 { font-size:22px; }
.job-drawer li { margin-top:12px; color:var(--text-body); font-size:16px; line-height:1.75; }
.job-detail-actions a { font-size:16px; }
.job-detail-source { color:var(--text-quiet); font-size:14px; }

/* Readability pass for remaining corporate content */
.value-sequence article { min-height:92px; }
.value-sequence article > span { font-size:14px; }
.value-sequence h3 { font-size:23px; }
.value-sequence p,
.culture-practice-list p,
.culture-statement > p,
.contact-directory article > p,
.contact-directory article > a,
.location-map-copy > p,
.inquiry-guide li p { color:var(--text-body); font-size:16px; line-height:1.72; }
.culture-practice-list h3,
.contact-directory h2,
.inquiry-guide h3 { font-size:18px; }
.culture-statement span { font-size:14px; }
.contact-coordinate span { font-size:14px; }

@media (max-width:1280px) {
  :root { --shell:min(1180px, calc(100vw - 64px)); }
  .corporate-hero-copy h1,
  .about-company-page[data-language="zh"] .corporate-hero-copy h1 { font-size:56px; }
  .about-identity-body { grid-template-columns:1fr 1fr; gap:42px; }
  .capability-lifecycle-panels > article { grid-template-columns:minmax(350px,.78fr) minmax(0,1.22fr); }
  .lines-overview-heading h2 { font-size:44px; }
  .lines-map > a { padding-inline:20px; }
  .job-card { padding:24px; }
}

@media (max-width:820px) {
  :root { --shell:calc(100vw - 40px); --header:66px; --section-space:64px; --section-space-compact:48px; }
  body :is(p, li, dd):not(.eyebrow) { font-size:16px; }
  .eyebrow { font-size:14px; }
  .section-intro h2,
  .portfolio-heading h2,
  .brand-story-heading h2,
  .capabilities-evidence-heading h2,
  .capabilities-principles-heading h2 { font-size:34px; }
  .section-intro > p:last-child,
  .portfolio-side > p,
  .brand-story-heading > p { font-size:16px; }

  .corporate-hero { min-height:0; padding-top:58px; }
  .corporate-hero-grid { min-height:0; grid-template-columns:1fr; }
  .corporate-hero-copy { min-height:0; padding:72px 0 52px; }
  .corporate-hero-copy h1,
  .about-company-page[data-language="zh"] .corporate-hero-copy h1 { font-size:40px; line-height:1.15; }
  .corporate-hero-copy > p { margin-top:24px; font-size:17px; line-height:1.7; }
  .corporate-hero-grid { height:auto; }
  .about-company-page .corporate-hero-grid { height:auto; }
  .about-company-page .corporate-building-media,
  .corporate-building-media { min-height:0; height:460px; }
  .corporate-hero-media figcaption { right:12px; bottom:12px; max-width:280px; font-size:12px; }
  .corporate-story { width:var(--shell); }
  .corporate-section { grid-template-columns:1fr; gap:28px; padding:64px 0; }
  .corporate-section-heading h2 { font-size:32px; }
  .corporate-lead { margin-bottom:30px; font-size:17px; }
  .editorial-columns h3 { font-size:22px; }
  .editorial-columns p { font-size:16px; }
  .about-identity-body { grid-template-columns:1fr; gap:34px; }
  .about-identity-copy p { font-size:18px; }
  .culture-gallery-intro { grid-template-columns:1fr; gap:16px; }
  .culture-gallery-intro > p { font-size:17px; }
  .culture-photo-wall { grid-template-columns:1fr 1fr; grid-auto-rows:auto; gap:8px; }
  .culture-photo-wall figure,
  .culture-photo-wall figure:nth-child(1),
  .culture-photo-wall figure:nth-child(2),
  .culture-photo-wall figure:nth-child(3),
  .culture-photo-wall figure:nth-child(4),
  .culture-photo-wall figure:nth-child(5) { grid-column:auto; grid-row:auto; aspect-ratio:4 / 3; }
  .culture-photo-wall figure:nth-child(1) { grid-column:1 / -1; aspect-ratio:16 / 11; }
  .smart-living-band { grid-template-columns:1fr; gap:28px; }
  .smart-living-band ol { border-top:1px solid var(--line); border-left:0; grid-template-columns:1fr 1fr; }
  .smart-living-band li { min-height:100px; border-bottom:1px solid var(--line); }

  .home-lifecycle-grid { grid-template-columns:1fr; }
  .home-lifecycle-grid::before { top:0; bottom:0; left:24px; right:auto; width:1px; height:auto; }
  .home-lifecycle-grid article { min-height:150px; padding:30px 20px 28px 62px; border-right:0; border-bottom:1px solid var(--line); }
  .home-lifecycle-grid article:first-child { padding-left:62px; }
  .home-lifecycle-grid article::before,
  .home-lifecycle-grid article:first-child::before { top:34px; left:18px; }
  .smart-living-home { grid-template-columns:1fr; }
  .smart-living-home-intro { padding:36px 0 42px; }
  .smart-living-home ol { border-top:1px solid var(--line); border-left:0; }
  .smart-living-home li { min-height:210px; padding:24px 20px; }

  .capabilities-process-heading { grid-template-columns:1fr; gap:24px; margin-bottom:36px; }
  .capabilities-process-heading h2 { font-size:34px; }
  .capabilities-process-heading > p { font-size:16px; }
  .capability-lifecycle { overflow:hidden; }
  .capability-lifecycle-rail { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:58%; overflow-x:auto; scroll-snap-type:x mandatory; }
  .capability-lifecycle-rail::after { left:0; right:auto; width:290%; }
  .capability-lifecycle-rail button { min-height:126px; padding-right:20px; scroll-snap-align:start; }
  .capability-lifecycle-panels { margin-top:24px; }
  .capability-lifecycle-panels > article { min-height:0; grid-template-columns:1fr; }
  .capability-lifecycle-copy { padding:36px 24px 32px; }
  .capability-lifecycle-copy > span { font-size:64px; }
  .capability-lifecycle-copy h3 { font-size:34px; }
  .capability-lifecycle-copy > p:not(.eyebrow) { font-size:17px; }
  .capability-lifecycle-copy ul { margin-top:34px; }
  .capability-lifecycle-panels figure { min-height:0; height:380px; }
  .capability-lifecycle-panels figcaption { max-width:300px; font-size:12px; }

  .lines-overview-heading h2 { font-size:36px; }
  .lines-overview-heading > p { font-size:16px; }
  .lines-map { grid-template-columns:1fr 1fr; }
  .lines-map-company { grid-column:1/-1; min-height:190px; padding:28px 22px; grid-template-columns:1fr; gap:14px; }
  .lines-map-company h3 { font-size:28px; }
  .lines-map > a { min-height:390px; padding:26px 20px; }
  .lines-map > a h3 { font-size:27px; }
  .lines-map-products { height:190px; }

  .careers-hero { min-height:0; padding-top:58px; }
  .careers-hero-layout { min-height:0; }
  .careers-hero .corporate-hero-copy { min-height:350px; padding:68px 0 48px; }
  .careers-hero .corporate-hero-copy h1 { font-size:40px; }
  .careers-openings-v21 { padding:58px 0 64px; }
  .careers-openings-heading { grid-template-columns:1fr; gap:18px; }
  .careers-openings-heading h2 { font-size:34px; }
  .careers-openings-heading > p { font-size:16px; }
  .job-search { height:58px; margin-top:28px; }
  .careers-openings-v21 .job-filters { gap:24px; }
  .job-list { grid-template-columns:1fr; }
  .job-card { min-height:220px; padding:22px 20px; }
  .job-card strong { font-size:21px; }
  .job-card-summary { font-size:16px; }
  .careers-path-rail { grid-template-columns:1fr; }
  .careers-path-rail::before { top:30px; bottom:30px; left:20px; right:auto; width:1px; height:auto; }
  .careers-path-rail li { min-height:130px; padding:26px 12px 24px 58px; border-right:0; border-bottom:1px solid var(--line); }
  .careers-path-rail li::before { top:30px; left:14px; }
  .job-drawer { width:100vw; }
  .job-drawer-scroll { padding:66px 22px 44px; }
  .job-drawer h2 { font-size:30px; }
  .job-drawer header p,
  .job-detail-meta dd,
  .job-drawer li,
  .job-detail-actions a { font-size:16px; }
  .job-drawer section h3 { font-size:21px; }
}

@media (max-width:820px) {
  .about-company-page[data-language="zh"] .corporate-hero-copy h1 { font-size:38px; }
}

@media (max-width:480px) {
  .smart-living-home ol,
  .smart-living-band ol,
  .lines-map { grid-template-columns:1fr; }
  .smart-living-home li { min-height:176px; border-right:0; }
  .smart-living-home li:nth-last-child(2) { border-bottom:1px solid var(--line); }
  .lines-map-company { grid-column:auto; }
  .lines-map > a { min-height:420px; border-right:0; }
  .lines-map-products { height:220px; }
  .job-card { grid-template-columns:minmax(0,1fr) auto; gap-inline:14px; }
  .job-card-category { max-width:130px; text-align:right; }
  .job-card strong { font-size:20px; }
}

@media (prefers-reduced-motion:reduce) {
  .capability-lifecycle-panels > article { animation:none; }
  .capability-lifecycle-panels figure img,
  .job-card { transition:none; }
}

/* V2.1 final type audit: keep legacy surfaces inside the approved readable scale. */
.button,
.text-link,
.filters button,
.care-copy a,
.capability-feature b,
.about-method a,
.capability-story a,
.back-link,
.contact-button { font-size:15px; }

.hero-count span,
.hero-chapters span,
.hero-chapters b,
.scroll-mark,
.ticker-track span,
.flagship-meter span,
.visual-note,
.flagship-steps article > span,
.group-label > span,
.capability-grid span,
.capability-feature span,
.brand-grid span,
.brand-grid b,
.about-media span,
.products-hero-index span,
.products-category-rail span,
.products-care-copy > p:first-child,
.products-care-feature > b,
.products-choice-grid span,
.capabilities-hero-note b,
.capabilities-rail span,
.capabilities-process-list article > div:nth-child(2) > p,
.capability-story > div > span,
.capabilities-principles-grid span,
.about-hero-note span,
.about-scope-grid span,
.about-product-media span,
.about-product-links span,
.about-values-grid span,
.product-detail-visual > p,
.product-feature-list span,
.product-scene-media > span,
.product-scene-tags i,
.product-path-grid span,
.product-path-grid small,
.product-switcher span,
.contact-directory article > span,
.contact-location-heading span,
.inquiry-guide header > span,
.location-map-copy > span,
.inquiry-guide li > span { font-size:14px; }

.category-card-copy p,
.flagship-steps p,
.group-label p,
.product-card span,
.about-copy > p:not(.eyebrow),
.contact-panel > div:first-child > p:not(.eyebrow),
.products-system-heading > p,
.products-care-copy > p:not(:first-child),
.products-care-story-copy > p:not(.eyebrow),
.products-choice-grid p,
.capabilities-process-list article > div:last-child > p,
.capability-story p,
.capabilities-principles-grid p,
.about-scope-grid p,
.about-product-copy > p:not(.eyebrow),
.about-values-heading > p:last-child,
.about-values-grid p,
.about-method p,
.product-scene-copy > p:not(.eyebrow),
.product-path-grid p { color:var(--text-body); font-size:16px; }

.product-card p,
.care-copy p { font-size:14px; }
.product-card .product-card-link { font-size:15px; }
.product-card .product-card-link b { font-size:15px; }
.values span { font-size:15px; }
.about-media p { font-size:15px; }

.products-category-rail b { font-size:16px; }
.products-category-rail small { font-size:15px; }
.products-care-story-media figcaption,
.products-care-story-copy small,
.product-detail-hero figcaption,
.product-scene-copy small { font-size:14px; }
.products-care-story-tags span,
.product-scene-tags span { font-size:15px; }
.products-care-story-tags i { font-size:14px; }
.products-choice-grid b { font-size:15px; }

.capabilities-rail b { font-size:16px; }
.capabilities-process-list li { font-size:15px; }
.capability-story-media figcaption { font-size:14px; }
.about-hero-note p { font-size:14px; }
.about-product-links b,
.about-product-links i { font-size:15px; }
.about-method small { font-size:14px; }

.product-brand { font-size:15px; }
.product-disclaimer { font-size:14px; line-height:1.7; }
.product-switcher b { font-size:15px; }

.contact-list span { color:var(--text-secondary); font-size:15px; }
.contact-list b { font-size:16px; }
.contact-directory div p { color:var(--text-secondary); font-size:15px; }
.location-map-copy dt { color:var(--text-secondary); font-size:15px; }
.location-map-copy dd { font-size:16px; }
.location-map-copy small { font-size:14px; }

.footer-main p { color:var(--text-secondary); font-size:15px; line-height:1.65; }
.footer-main nav { font-size:15px; }
.footer-meta { color:var(--text-secondary); font-size:14px; }

.utility-panel-header > p,
.language-option > span,
.language-option small,
.utility-contact-list small { font-size:14px; }
.utility-panel-header > span,
.utility-contact-list b,
.utility-contact-list i,
.utility-contact-primary { font-size:15px; }
.language-option b { font-size:16px; }

.category-card-copy span { font-size:14px; }
.careers-openings-heading > div > p { font-size:16px; }
.corporate-page-links b { font-size:15px; }
.contact-directory div p { font-size:16px; }
.products-category-rail span,
.product-switcher span { font-size:15px; }

/* Product-line chapters retain their layout while adopting the same readable type system. */
.lines-hero-copy > p:not(.eyebrow) { color:var(--text-body); font-size:18px; line-height:1.75; }
.lines-hero-caption { color:var(--text-secondary); font-size:14px; }
.lines-rail span { font-size:15px; }
.lines-rail b { font-size:16px; }
.lines-rail small { font-size:15px; }
.line-chapter-heading > span { font-size:14px; }
.line-chapter-heading > p { color:var(--text-body); font-size:18px; line-height:1.75; }
.line-stage-media figcaption { font-size:14px; }
.line-stage-copy > p:not(.eyebrow) { color:var(--text-body); font-size:17px; line-height:1.75; }
.line-stage-tags span { font-size:15px; }
.line-stage-copy > a { font-size:15px; }
.line-product-card > span { font-size:14px; }
.line-product-card p,
.line-product-grid-1 .line-product-card p { color:var(--text-body); font-size:16px; line-height:1.7; }
.line-product-card div b { font-size:15px; }
.lines-next-grid > a span { font-size:14px; }
.lines-next-grid > a p { color:var(--text-body); font-size:16px; line-height:1.7; }
.lines-next-grid > a b { font-size:15px; }

@media (min-width:821px) and (max-width:1040px) {
  .capabilities-process-heading { grid-template-columns:minmax(0,1.18fr) minmax(300px,.62fr); gap:40px; margin-bottom:20px; }
  .capabilities-process-heading h2 { font-size:42px; }
  .capability-lifecycle-rail button { min-height:108px; }
  .capability-lifecycle-panels { margin-top:24px; }
  .job-drawer-scroll { padding-inline:48px; }
}

@media (max-width:820px) {
  .hero-chapters b { font-size:14px; }
  .products-category-rail b,
  .capabilities-rail b { font-size:15px; }
  .category-grid,
  .filters { width:calc(100vw - 20px); }
  .products-hero-copy > p:not(.eyebrow),
  .capabilities-hero-copy > p:not(.eyebrow) { font-size:16px; }
  .corporate-hero-media figcaption,
  .capability-lifecycle-panels figcaption { font-size:14px; }
  .footer-main p,
  .footer-main nav { font-size:15px; }
  .footer-meta { font-size:14px; }
  .footer-icp { justify-content:flex-start; }
}

/* Round 1: global shell and homepage redesign. */
:root {
  --header: 72px;
  --shell: min(1640px, calc(100vw - 96px));
  --text-body: #43473f;
  --text-secondary: #686d64;
  --text-quiet: #858a82;
}

.site-header {
  height: var(--header);
  grid-template-columns: minmax(160px, 1fr) auto minmax(120px, 1fr);
}
.desktop-nav > a,
.nav-product > a,
.nav-about > a,
.nav-action { color: #11130f; font-size: 17px; font-weight: 520; opacity: 1; }
.desktop-nav { gap: clamp(26px, 2.25vw, 44px); }
.desktop-nav > a,
.nav-product > a,
.nav-about > a { letter-spacing: 0; }
.site-header.is-scrolled,
.site-header:has(.desktop-nav:hover),
.site-header:has(.header-actions:hover),
.site-header:focus-within,
body.header-panel-open .site-header { height: var(--header); }
.site-header.is-scrolled .desktop-nav > a,
.site-header.is-scrolled .nav-product > a,
.site-header:has(.desktop-nav:hover) .desktop-nav > a,
.site-header:has(.desktop-nav:hover) .nav-product > a,
.site-header:has(.header-actions:hover) .desktop-nav > a,
.site-header:has(.header-actions:hover) .nav-product > a,
.site-header:focus-within .desktop-nav > a,
.site-header:focus-within .nav-product > a,
body.header-panel-open .desktop-nav > a,
body.header-panel-open .nav-product > a { height: var(--header); }
.product-mega { top: var(--header); }
.product-mega-inner {
  width: min(1480px, calc(100% - 80px));
  grid-template-columns: minmax(260px, .52fr) minmax(760px, 1.48fr);
  gap: 0;
  padding-block: 0;
}
.mega-intro { padding: 34px 48px 36px 0; border-right: 1px solid rgba(17,19,15,.1); }
.mega-intro h2 { margin-block: 14px 13px; font-size: 31px; font-weight: 560; line-height: 1.2; }
.mega-intro > p:not(.eyebrow) { font-size: 15px; line-height: 1.65; }
.mega-intro > a { margin-top: 24px; font-size: 15px; font-weight: 520; }
.mega-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.mega-card { min-height: 286px; padding: 24px 22px; border-right: 1px solid rgba(17,19,15,.08); box-shadow: none; }
.mega-card:last-child { border-right: 0; }
.mega-card::after { content: ""; position: absolute; top: 0; left: 22px; right: 22px; height: 2px; background: var(--green); opacity: 0; transform: scaleX(.35); transform-origin: left; transition: opacity .25s ease, transform .35s var(--ease); }
.mega-card:hover { transform: none; box-shadow: none; }
.mega-card:hover::after { opacity: 1; transform: scaleX(1); }
.mega-card b { font-size: 17px; font-weight: 560; }
.mega-card small { font-size: 14px; line-height: 1.45; }
.mega-card img { left: 8%; right: 8%; width: 84%; height: 66%; bottom: 4px; padding: 0; }
.mega-robot { background: #f3f4f1; }
.mega-handheld { background: #eef4e9; }
.mega-fitness { background: #eef1ef; }
.mega-care { background: #f5eef2; }
.mega-fitness img { height: 68%; mix-blend-mode: multiply; }

@media (max-width: 1280px) {
  .desktop-nav { gap: 21px; }
  .desktop-nav > a,
  .nav-product > a,
  .nav-about > a,
  .nav-action { font-size: 15px; }
}

@media (min-width: 821px) and (max-width: 1040px) {
  .site-header { padding-inline: 18px; grid-template-columns: minmax(118px, 1fr) auto minmax(90px, 1fr); gap: 14px; }
  .brand,
  .brand img { width: 122px; }
  .desktop-nav { gap: 15px; }
  .desktop-nav > a,
  .nav-product > a,
  .nav-about > a,
  .nav-action { font-size: 13px; }
}

.home-v3 { background: #fff; }
.home-v3 main { overflow: clip; }
.home-v3 h1,
.home-v3 h2,
.home-v3 h3,
.home-v3 p { letter-spacing: 0; }
.home-v3 svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.section-index { display: block; color: #5b9f22; font-size: 14px; font-weight: 650; }

.home-v3 .home-hero {
  height: 100svh;
  min-height: 720px;
  background: #e8e8e4;
}
.home-v3 .home-hero-slide .hero-media img { object-position: center center; }
.home-v3 .home-hero-copy {
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transform: translate(-50%, -42%);
}
.home-v3 .home-hero-copy > * { width: min(480px, 40%); }
.home-v3 .hero-product-id {
  margin: 0 0 18px;
  color: rgba(17, 19, 15, .72);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}
.home-v3 .home-hero-copy h1,
.home-v3 .home-hero-copy .hero-product-title {
  margin: 0;
  font-size: 50px;
  font-weight: 620;
  line-height: 1.08;
}
.home-v3 .hero-promise {
  margin: 20px 0 0;
  color: #151713;
  font-size: 26px;
  font-weight: 560;
  line-height: 1.42;
}
.home-v3 .hero-lead {
  margin-top: 16px;
  color: rgba(17, 19, 15, .72);
  font-size: 17px;
  font-weight: 430;
  line-height: 1.75;
}
.home-v3 .hero-actions { gap: 26px; margin-top: 28px; }
.home-v3 .button { min-height: 48px; padding-inline: 24px; border-radius: 4px; font-size: 15px; }
.home-v3 .text-link { gap: 9px; font-size: 15px; font-weight: 560; }
.home-v3 .text-link svg { width: 18px; height: 18px; transition: transform .28s var(--ease); }
.home-v3 .text-link:hover svg { transform: translate(3px, -3px); }
.home-v3 .hero-controls {
  left: clamp(32px, 3.4vw, 64px);
  bottom: 22px;
  width: min(700px, calc(100vw - 64px));
  grid-template-columns: auto minmax(480px, 600px);
  gap: 20px;
  align-items: end;
  justify-content: start;
  transform: none;
}
.home-v3 .hero-chapters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-v3 .hero-chapters button { min-height: 54px; padding: 10px 14px 8px; grid-template-columns: 1fr; gap: 3px; }
.home-v3 .hero-chapters span { color: rgba(17, 19, 15, .52); font-size: 11px; font-weight: 560; }

@media (min-width: 821px) {
  .home-v3 .home-hero-slide .home-hero-copy {
    padding-left: clamp(32px, 4vw, 72px);
    transform: translate(-50%, -42%);
  }
  .home-v3 .home-hero-slide:nth-child(2) .home-hero-copy {
    padding-left: clamp(32px, 4vw, 72px);
  }
  .home-v3 .home-hero-slide:nth-child(2) .home-hero-copy > * {
    width: min(600px, 46%);
  }
  .home-v3 .home-hero-slide:nth-child(2) .home-hero-copy .hero-product-title {
    max-width: 600px;
    font-size: clamp(60px, 3.8vw, 72px);
    line-height: 1.06;
  }
  .home-v3[data-language="en"] .home-hero-slide:nth-child(2) .home-hero-copy > * {
    width: min(620px, 50%);
  }
  .home-v3[data-language="en"] .home-hero-slide:nth-child(2) .home-hero-copy .hero-product-title {
    max-width: 620px;
    font-size: clamp(54px, 3.1vw, 60px);
    white-space: nowrap;
  }
  .home-v3 .home-hero-slide:nth-child(3) .home-hero-copy {
    padding-left: clamp(32px, 4vw, 72px);
    transform: translate(-50%, -42%);
  }
  .home-v3 .home-hero-slide:nth-child(3) .home-hero-copy > * {
    width: min(600px, 46%);
  }
  .home-v3 .home-hero-slide:nth-child(3) .home-hero-copy .hero-product-title {
    max-width: 600px;
    font-size: clamp(60px, 3.8vw, 72px);
    line-height: 1.06;
  }
  .home-v3[data-language="en"] .home-hero-slide:nth-child(3) .home-hero-copy > * {
    width: min(620px, 50%);
  }
  .home-v3[data-language="en"] .home-hero-slide:nth-child(3) .home-hero-copy .hero-product-title {
    max-width: 620px;
    font-size: clamp(54px, 3.1vw, 60px);
    white-space: nowrap;
  }
  .home-v3 .home-hero-slide:first-child .home-hero-copy {
    padding-left: clamp(32px, 4vw, 72px);
  }
  .home-v3 .home-hero-slide:first-child .home-hero-copy > * {
    width: min(520px, 42%);
  }
  .home-v3 .home-hero-slide:first-child .home-hero-copy h1 {
    max-width: 520px;
    color: #11130f;
    font-size: clamp(60px, 3.8vw, 72px);
    font-weight: 540;
    line-height: 1.06;
    text-wrap: balance;
  }
  .home-v3[data-language="en"] .home-hero-slide:first-child .home-hero-copy h1 {
    max-width: 520px;
    font-size: clamp(54px, 3.1vw, 60px);
    line-height: 1.04;
  }
}
@media (min-width: 821px) and (max-width: 1440px) {
  .home-v3:not([data-language="en"]) .home-hero-slide:first-child .home-hero-copy h1 {
    width: min(520px, 50%);
  }
  .home-v3[data-language="en"] .home-hero-slide:first-child .home-hero-copy > * {
    width: min(560px, 50%);
  }
  .home-v3[data-language="en"] .home-hero-slide:first-child .home-hero-copy h1 {
    max-width: 560px;
    font-size: 54px;
    white-space: nowrap;
  }
}
.home-v3 .hero-chapters b { font-size: 16px; font-weight: 620; }
.home-v3 .hero-count b { font-size: 27px; font-weight: 560; }
.home-v3 .hero-count span { font-size: 14px; }

.home-domains { padding: 118px 0 126px; border-bottom: 1px solid var(--line); }
.home-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .55fr);
  gap: 72px;
  align-items: end;
  margin-bottom: 54px;
}
.home-section-heading h2 {
  margin: 0;
  font-size: 44px;
  font-weight: 610;
  line-height: 1.2;
}
.home-section-heading > p {
  margin: 0;
  color: var(--text-body);
  font-size: 17px;
  line-height: 1.78;
}
.domain-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.domain-card {
  position: relative;
  aspect-ratio: 4 / 5;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(17, 19, 15, .1);
  background: #efefef;
}
.domain-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.domain-card-copy { position: absolute; z-index: 2; inset: 0; padding: 25px 24px; color: #11130f; pointer-events: none; }
.domain-card-copy h3 { margin: 0; font-size: 28px; font-weight: 630; line-height: 1.2; }
.domain-card-copy p { margin: 9px 0 0; color: #41453e; font-size: 14px; font-weight: 560; line-height: 1.45; }
.domain-card-copy svg { position: absolute; right: 22px; top: 23px; transition: transform .3s var(--ease); }
.domain-card:hover img { transform: scale(1.025); }
.domain-card:hover .domain-card-copy svg { transform: translate(3px, -3px); }

.home-featured { padding: 112px 0 118px; color: var(--ink); background: #fff; }
.home-section-heading-light { margin-bottom: 46px; }
.home-section-heading-light > p { color: var(--text-body); }
.home-section-note { align-self: end; }
.home-section-note p { margin: 0; color: var(--text-body); font-size: 17px; line-height: 1.78; }
.home-section-note a {
  width: max-content;
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}
.home-section-note a svg { transition: transform .3s var(--ease); }
.home-section-note a:hover svg { transform: translate(3px, -3px); }
.featured-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid rgba(17, 19, 15, .16); }
.featured-tabs button {
  position: relative;
  min-height: 72px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  color: rgba(17, 19, 15, .5);
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color .28s ease;
}
.featured-tabs button:hover,
.featured-tabs button.is-active { color: var(--ink); }
.featured-tabs button::after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: -1px;
  height: 2px;
  background: #6fc52e;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .28s ease;
}
.featured-tabs button.is-active::after { transform: scaleX(1); }
.featured-tabs button b { font-size: 17px; font-weight: 600; }
.featured-stage { min-height: 0; }
.featured-panel {
  min-height: 0;
  padding-top: 42px;
  display: grid;
  grid-template-columns: minmax(0, 1.48fr) minmax(400px, .82fr);
  gap: clamp(42px, 5vw, 86px);
  align-items: center;
}
.featured-panel[hidden] { display: none; }
.featured-panel figure {
  min-width: 0;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eceeea;
}
.featured-panel figure img { width: 100%; height: 100%; object-fit: cover; }
.featured-copy { padding: 16px 0; align-self: center; }
.featured-copy > span { color: #5b9f22; font-size: 14px; font-weight: 650; }
.featured-copy h3 { margin: 18px 0 0; font-size: 40px; font-weight: 610; line-height: 1.18; }
.featured-copy > p { max-width: 520px; margin: 22px 0 0; color: var(--text-body); font-size: 17px; line-height: 1.78; }
.featured-journey { margin-top: 34px; }
.featured-journey-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.featured-journey-steps::before {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  top: 7px;
  height: 1px;
  background: rgba(17, 19, 15, .18);
}
.featured-journey-steps button {
  position: relative;
  min-width: 0;
  padding: 24px 10px 0 0;
  color: rgba(17, 19, 15, .52);
  border: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: color .24s ease;
}
.featured-journey-steps button::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 8px;
  right: 0;
  top: 7px;
  height: 1px;
  background: #6fc52e;
  transform: scaleX(0);
  transform-origin: left;
}
.featured-journey-steps button:last-child::after { right: 8px; }
.featured-journey-steps button.is-complete::after { transform: scaleX(1); }
.featured-journey-steps button.is-active::after { animation: featured-journey-progress 3.2s linear forwards; }
@keyframes featured-journey-progress { to { transform: scaleX(1); } }
.featured-journey-steps button i {
  position: absolute;
  z-index: 1;
  left: 2px;
  top: 2px;
  width: 11px;
  height: 11px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #a7aaa3;
  box-shadow: 0 0 0 1px rgba(17, 19, 15, .18);
  transition: background-color .24s ease, transform .24s ease;
}
.featured-journey-steps button:hover,
.featured-journey-steps button.is-active { color: var(--ink); }
.featured-journey-steps button.is-active i { background: #6fc52e; transform: scale(1.18); }
.featured-journey-steps button span { display: block; font-size: 15px; font-weight: 620; line-height: 1.45; }
.featured-task-detail {
  min-height: 76px;
  margin: 18px 0 0;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.75;
}
.featured-copy a,
.home-system-link,
.home-company-copy > a {
  margin-top: 34px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 600;
}
.featured-copy a svg,
.home-system-link svg,
.home-company-copy > a svg { transition: transform .3s var(--ease); }
.featured-copy a:hover svg,
.home-system-link:hover svg,
.home-company-copy > a:hover svg { transform: translate(3px, -3px); }

.home-system { padding: 118px 0 126px; scroll-margin-top: calc(var(--header) + 24px); background: #fff; }
.home-system-heading { margin-bottom: 52px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr); column-gap: 80px; align-items: end; }
.home-system-heading > span { grid-column: 1 / -1; margin-bottom: 18px; color: #5ca727; font-size: 12px; font-weight: 700; }
.home-system-heading h2 { margin: 0; font-size: 48px; font-weight: 610; line-height: 1.18; }
.home-system-heading > p { max-width: 470px; margin: 0 0 5px; color: var(--text-body); font-size: 17px; line-height: 1.75; }
.home-system-layout { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(380px, .72fr); gap: 0; min-height: 610px; border: 1px solid #e1e5de; background: #fff; box-shadow: 0 18px 50px rgba(31,45,23,.07); }
.home-system-media { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #dedfdc; }
.home-system-media::after { content: ""; position: absolute; inset: 0; border-right: 1px solid rgba(17,19,15,.1); pointer-events: none; }
.home-system-media img { width: 100%; height: 100%; min-height: 610px; object-fit: cover; transition: opacity .28s ease, transform .7s var(--ease); }
.home-system-media.is-changing img { opacity: .25; transform: scale(1.015); }
.home-system-media figcaption { position: absolute; z-index: 1; left: 28px; bottom: 24px; padding: 10px 13px; color: var(--ink); background: rgba(255,255,255,.9); font-size: 13px; line-height: 1.45; }
.home-system-console { min-width: 0; padding: 48px 44px 42px; display: flex; flex-direction: column; color: var(--ink); background: #fff; }
.home-system-progress { height: 2px; overflow: hidden; background: #dfe4dc; }
.home-system-progress i { display: block; width: 25%; height: 100%; background: #70c638; transition: width .45s var(--ease); }
.home-system-stage-copy { min-height: 210px; padding: 44px 0 32px; }
.home-system-stage-copy > span { color: #5ca727; font-size: 12px; font-weight: 700; }
.home-system-stage-copy h3 { margin: 18px 0 0; font-size: 38px; font-weight: 570; }
.home-system-stage-copy p { max-width: 430px; min-height: 62px; margin: 20px 0 0; color: var(--text-body); font-size: 16px; line-height: 1.8; }
.home-system-steps { margin: auto 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #dfe4dc; }
.home-system-steps button { min-width: 0; padding: 20px 7px 18px 0; display: grid; gap: 9px; color: #999f96; text-align: left; border: 0; border-bottom: 2px solid transparent; background: transparent; cursor: pointer; transition: color .25s ease, border-color .25s ease; }
.home-system-steps button b { font-size: 10px; font-weight: 600; }
.home-system-steps button span { font-size: 15px; font-weight: 600; }
.home-system-steps button:hover { color: #4e554b; }
.home-system-steps button.is-active { color: var(--ink); border-bottom-color: #70c638; }
.home-system-link { margin-top: 34px; color: var(--ink); }

.home-company { padding: 118px 0; background: #fff; }
.home-company-layout { display: grid; grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr); gap: 92px; align-items: center; }
.home-company-copy h2 { margin: 0; font-size: 42px; font-weight: 610; line-height: 1.22; }
.home-company-copy > p { margin: 24px 0 0; color: var(--text-body); font-size: 17px; line-height: 1.8; }
.home-company-media { position: relative; margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: #e9e9e9; }
.home-company-media img { width: 100%; height: 100%; object-fit: cover; }
.home-company-media figcaption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  padding: 11px 13px;
  color: #fff;
  background: rgba(17, 19, 15, .72);
  font-size: 14px;
  line-height: 1.55;
}

.home-contact { padding: 104px 0 110px; border-top: 1px solid rgba(17, 19, 15, .08); background: #fff; }
.home-v3 .contact-panel {
  width: var(--shell);
  margin-inline: auto;
  min-height: 0;
  padding: 0;
  grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr);
  gap: 92px;
  overflow: visible;
  border: 0;
  background: transparent;
}
.home-v3 .contact-panel::before { display: none; }
.home-v3 .contact-panel h2 { margin: 0; font-size: 42px; font-weight: 610; line-height: 1.22; }
.home-v3 .contact-panel > div:first-child > p:not(.eyebrow) { margin-top: 24px; font-size: 17px; line-height: 1.8; }
.home-v3 .contact-list span { font-size: 15px; }
.home-v3 .contact-list b { font-size: 16px; }
.home-v3 .contact-list > a:not(.contact-button):hover { padding-left: 0; background: transparent; }
.home-v3 .contact-button {
  margin-top: 30px;
  padding: 0 0 7px;
  gap: 18px;
  border-bottom: 1px solid rgba(96, 188, 34, .72);
  border-radius: 0;
  color: #4d941c;
  background: transparent;
}
.home-v3 .contact-button:hover { transform: none; box-shadow: none; }

@media (max-width: 1280px) {
  :root { --shell: min(1160px, calc(100vw - 64px)); }
  .product-mega-inner { grid-template-columns: 220px minmax(0, 1fr); width: min(1180px, calc(100% - 56px)); gap: 28px; }
  .mega-card { min-height: 210px; padding: 15px; }
  .mega-card b { font-size: 15px; }
  .mega-card small { font-size: 13px; }
  .home-v3 .home-hero-copy > * { width: min(440px, 42%); }
  .home-v3 .home-hero-copy h1,
  .home-v3 .home-hero-copy .hero-product-title { font-size: 46px; }
  .domain-card-copy h3 { font-size: 24px; }
  .featured-copy h3 { font-size: 36px; }
}

@media (max-width: 1040px) {
  :root { --shell: min(920px, calc(100vw - 48px)); }
  .home-v3 .home-hero-copy > * { width: min(390px, 46%); }
  .home-v3 .home-hero-copy h1,
  .home-v3 .home-hero-copy .hero-product-title { font-size: 42px; }
  .home-v3 .hero-promise { font-size: 23px; }
  .home-v3 .hero-controls { grid-template-columns: auto minmax(420px, 1fr); }
  .domain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-section-heading { grid-template-columns: 1fr .7fr; gap: 44px; }
  .featured-panel { grid-template-columns: minmax(0, 1.25fr) minmax(350px, .75fr); gap: 40px; }
  .home-system-layout,
  .home-company-layout { gap: 52px; }
}

@media (max-width: 820px) {
  :root { --shell: calc(100vw - 40px); --header: 64px; }
  .site-header { height: var(--header); padding-inline: 20px; grid-template-columns: 1fr auto; }
  .site-header.is-scrolled,
  .site-header:focus-within,
  body.header-panel-open .site-header { height: var(--header); }
  .brand,
  .brand img,
  .site-header.is-scrolled .brand,
  .site-header.is-scrolled .brand img,
  body.header-panel-open .brand,
  body.header-panel-open .brand img { width: 128px; }
  .mobile-nav { top: var(--header); height: calc(100svh - var(--header)); }

  .home-v3 .home-hero { height: 100svh; min-height: 720px; }
  .home-v3 .home-hero-slide .hero-media img { object-position: center center; }
  .home-v3 .home-hero-copy {
    top: 0;
    padding-top: 112px;
    transform: translateX(-50%);
  }
  .home-v3 .home-hero-copy > * { width: 100%; max-width: 440px; }
  .home-v3 .hero-product-id { margin-bottom: 12px; font-size: 14px; }
  .home-v3 .home-hero-copy h1,
  .home-v3 .home-hero-copy .hero-product-title { font-size: 38px; line-height: 1.12; }
  .home-v3 .hero-promise { margin-top: 13px; font-size: 22px; line-height: 1.42; }
  .home-v3 .hero-lead { max-width: 350px; margin-top: 12px; font-size: 16px; line-height: 1.65; }
  .home-v3 .hero-actions { gap: 20px; margin-top: 20px; }
  .home-v3 .button { min-height: 44px; padding-inline: 19px; }
  .home-v3 .hero-controls {
    bottom: 14px;
    left: 20px;
    right: 20px;
    width: auto;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: center;
    transform: none;
  }
  .home-v3 .hero-chapters { min-width: 0; display: grid; }
  .home-v3 .hero-chapters button { min-height: 52px; padding: 9px 7px 7px; grid-template-columns: 1fr; gap: 2px; }
  .home-v3 .hero-chapters span { display: block; font-size: 10px; text-align: center; }
  .home-v3 .hero-chapters b { font-size: 14px; text-align: center; }
  .home-v3 .hero-count { display: none; }

  .home-domains,
  .home-system,
  .home-company { padding: 76px 0; }
  .home-system { scroll-margin-top: calc(var(--header) + 120px); }
  .home-section-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 34px; }
  .home-section-heading h2 { margin-top: 0; font-size: 34px; line-height: 1.22; }
  .home-section-heading > p { font-size: 16px; line-height: 1.75; }
  .domain-grid {
    width: 100%;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 82vw;
    gap: 10px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .domain-grid::-webkit-scrollbar { display: none; }
  .domain-card { scroll-snap-align: start; }
  .domain-card-copy { padding: 23px 21px; }
  .domain-card-copy h3 { font-size: 27px; }

  .home-featured { padding: 74px 0 76px; }
  .featured-tabs {
    width: 100%;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(190px, 68vw);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .featured-tabs::-webkit-scrollbar { display: none; }
  .featured-tabs button { min-height: 64px; padding-inline: 16px; scroll-snap-align: start; }
  .featured-tabs button::after { left: 16px; right: 16px; }
  .featured-stage { min-height: 0; }
  .featured-panel { width: var(--shell); min-height: 0; padding-top: 24px; grid-template-columns: 1fr; gap: 0; }
  .featured-panel figure { width: 100%; min-height: 0; height: auto; aspect-ratio: 16 / 10; }
  .featured-panel figure img { width: 100%; height: 100%; }
  .featured-copy { width: 100%; margin-inline: auto; padding: 34px 0 0; }
  .featured-copy h3 { font-size: 32px; }
  .featured-copy > p { font-size: 16px; }
  .featured-journey { margin-top: 28px; }
  .featured-journey-steps button { padding-right: 6px; }
  .featured-journey-steps button span { font-size: 14px; }
  .featured-task-detail { min-height: 72px; margin-top: 14px; font-size: 15px; }

  .home-system-heading { margin-bottom: 34px; grid-template-columns: 1fr; gap: 18px; }
  .home-system-heading > span { margin-bottom: 0; }
  .home-system-heading h2 { font-size: 34px; }
  .home-system-heading > p { margin: 0; font-size: 16px; }
  .home-system-layout,
  .home-company-layout { grid-template-columns: 1fr; gap: 46px; }
  .home-system-layout { width: 100%; gap: 0; min-height: 0; }
  .home-system-media { aspect-ratio: 4 / 3; }
  .home-system-media img { min-height: 0; }
  .home-system-media figcaption { left: 16px; right: 16px; bottom: 14px; font-size: 12px; }
  .home-system-console { padding: 34px 20px 32px; }
  .home-system-stage-copy { min-height: 196px; padding: 34px 0 28px; }
  .home-system-stage-copy h3 { font-size: 32px; }
  .home-system-stage-copy p { min-height: 86px; font-size: 15px; }
  .home-system-steps button { padding: 17px 3px 15px 0; }
  .home-system-steps button span { font-size: 13px; }
  .home-company-copy h2 { margin-top: 0; font-size: 34px; }
  .home-company-copy > p { font-size: 16px; }
  .home-company-media { aspect-ratio: 4 / 3; }

  .home-contact { padding: 72px 0 78px; }
  .home-v3 .contact-panel { min-height: 0; padding: 0; grid-template-columns: 1fr; gap: 48px; }
  .home-v3 .contact-panel h2 { font-size: 34px; }
  .home-v3 .contact-panel > div:first-child > p:not(.eyebrow) { font-size: 16px; }
}

@media (max-width: 520px) {
  :root { --shell: calc(100vw - 32px); }
  .home-v3 .home-hero { min-height: 700px; }
  .home-v3 .home-hero-copy { padding-top: 98px; }
  .home-v3 .home-hero-copy h1,
  .home-v3 .home-hero-copy .hero-product-title { font-size: 34px; }
  .home-v3 .hero-promise { font-size: 20px; }
  .home-v3 .hero-lead { max-width: 305px; }
  .home-v3 .hero-actions { align-items: flex-start; flex-direction: column; gap: 13px; }
  .domain-grid { grid-auto-columns: 86vw; }
  .featured-panel figure { height: auto; }
  .home-company-media figcaption { left: 10px; right: 10px; bottom: 10px; font-size: 13px; }
}

/* V10: distinct task-system motion and a full-bleed careers playground. */
.home-system-media::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  bottom: 0;
  left: -10%;
  width: 10%;
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(112, 198, 56, .78), transparent);
  transform: skewX(-10deg);
}
.home-system-media img { will-change: opacity, transform, clip-path; }
.home-system-media.is-changing img { opacity: .16; transform: translateX(-2.2%) scale(1.025); }
.home-system-media.is-entering img { animation: system-image-in .82s cubic-bezier(.2,.75,.2,1) both; }
.home-system-media.is-entering::before { animation: system-scan-line .82s cubic-bezier(.2,.75,.2,1) both; }
.home-system-stage-copy.is-entering > * { animation: system-copy-in .62s cubic-bezier(.2,.75,.2,1) both; }
.home-system-stage-copy.is-entering h3 { animation-delay: .06s; }
.home-system-stage-copy.is-entering p { animation-delay: .12s; }
.home-system-steps button { position: relative; overflow: hidden; border-bottom: 0; }
.home-system-steps button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: #70c638;
  transform: scaleX(0);
  transform-origin: left;
}
.home-system-steps button.is-active::after { animation: system-step-progress 4.3s linear both; }
.home-system.is-paused .home-system-steps button.is-active::after { animation-play-state: paused; }

@keyframes system-image-in {
  0% { opacity: .2; clip-path: inset(0 100% 0 0); transform: translateX(2.5%) scale(1.025); }
  55% { opacity: 1; }
  100% { opacity: 1; clip-path: inset(0 0 0 0); transform: translateX(0) scale(1); }
}
@keyframes system-scan-line {
  0% { left: -10%; opacity: 0; }
  12% { opacity: .9; }
  78% { opacity: .7; }
  100% { left: 104%; opacity: 0; }
}
@keyframes system-copy-in {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes system-step-progress {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.careers-page .careers-hero {
  position: relative;
  min-height: 720px;
  padding-top: var(--header);
  overflow: hidden;
  isolation: isolate;
  background: #f7f9fc;
}
.careers-page .careers-hero-media {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: #f7f9fc;
}
.careers-page .careers-hero-media::after { display: none; }
.careers-page .careers-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.careers-page .careers-hero-layout {
  position: relative;
  z-index: 1;
  min-height: calc(720px - var(--header));
  display: flex;
  align-items: center;
}
.careers-page .careers-hero .corporate-hero-copy {
  min-height: 0;
  width: min(500px, 42%);
  max-width: 500px;
  padding: 24px 0 0;
  display: block;
}
.careers-page .careers-hero .corporate-hero-copy h1 {
  max-width: 500px;
  font-size: 64px;
  line-height: 1.1;
}
.careers-page .careers-hero .corporate-hero-copy > p {
  max-width: 450px;
  margin-top: 26px;
  color: rgba(17, 25, 21, .72);
  font-size: 17px;
  line-height: 1.8;
}
.careers-page .careers-hero-media figcaption {
  right: 26px;
  bottom: 20px;
  color: #293128;
  background: rgba(255, 255, 255, .86);
}

@media (max-width: 900px) {
  .careers-page .careers-hero { min-height: 0; padding-top: 58px; display: flex; flex-direction: column; }
  .careers-page .careers-hero-layout { width: var(--shell); min-height: 365px; order: 1; align-items: center; }
  .careers-page .careers-hero .corporate-hero-copy { width: 100%; max-width: 520px; margin: 0; padding: 48px 0 42px; }
  .careers-page .careers-hero .corporate-hero-copy h1 { font-size: 46px; }
  .careers-page .careers-hero-media { position: relative; order: 2; width: 100%; height: auto; aspect-ratio: 4 / 3; }
  .careers-page .careers-hero-media img { object-fit: cover; object-position: center; }
}

@media (max-width: 560px) {
  .careers-page .careers-hero-layout { min-height: 344px; }
  .careers-page .careers-hero .corporate-hero-copy { padding: 42px 0 36px; }
  .careers-page .careers-hero .corporate-hero-copy h1 { font-size: 40px; }
  .careers-page .careers-hero .corporate-hero-copy > p { margin-top: 20px; font-size: 15px; }
  .careers-page .careers-hero-media figcaption { right: 12px; bottom: 10px; font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-system-media.is-entering img,
  .home-system-media.is-entering::before,
  .home-system-stage-copy.is-entering > *,
  .home-system-steps button.is-active::after { animation: none; }
  .home-system-steps button.is-active::after { transform: scaleX(1); }
}

@media (max-width: 820px) {
  .home-v3 .home-hero-slide:nth-child(3) .home-hero-copy {
    left: 20px;
    width: calc(100% - 40px);
    padding-top: 84px;
    padding-left: 0;
    transform: none;
  }
  .home-v3 .home-hero-slide:nth-child(3) .home-hero-copy > * {
    width: 100%;
    max-width: 350px;
  }
  .home-v3 .home-hero-slide:nth-child(3) .home-hero-copy .hero-product-title {
    max-width: 350px;
    font-size: 36px;
    line-height: 1.08;
  }
  .home-v3:not([data-language="en"]) .home-hero-slide:nth-child(3) .home-hero-copy .hero-product-title {
    white-space: nowrap;
  }
  .home-v3[data-language="en"] .home-hero-slide:nth-child(3) .home-hero-copy .hero-product-title {
    max-width: 350px;
    font-size: 34px;
  }
  .home-v3 .home-hero-slide:nth-child(2) .home-hero-copy {
    left: 20px;
    width: calc(100% - 40px);
    padding-left: 0;
    transform: none;
  }
  .home-v3 .home-hero-slide:nth-child(2) .home-hero-copy > * {
    width: 100%;
    max-width: 350px;
  }
  .home-v3 .home-hero-slide:nth-child(2) .home-hero-copy .hero-product-title {
    max-width: 350px;
    font-size: 36px;
    line-height: 1.08;
  }
  .home-v3:not([data-language="en"]) .home-hero-slide:nth-child(2) .home-hero-copy .hero-product-title {
    white-space: nowrap;
  }
  .home-v3[data-language="en"] .home-hero-slide:nth-child(2) .home-hero-copy .hero-product-title {
    max-width: 330px;
    font-size: 34px;
  }
  .home-v3 .home-hero-slide:first-child .home-hero-copy {
    left: 20px;
    width: calc(100% - 40px);
    padding-left: 0;
    transform: none;
  }
  .home-v3 .home-hero-slide:first-child .home-hero-copy > * {
    width: 100%;
    max-width: 350px;
  }
  .home-v3 .home-hero-slide:first-child .home-hero-copy h1 {
    max-width: 350px;
    font-size: 36px;
    line-height: 1.08;
  }
  .home-v3:not([data-language="en"]) .home-hero-slide:first-child .home-hero-copy h1 {
    white-space: nowrap;
  }
  .home-v3[data-language="en"] .home-hero-slide:first-child .home-hero-copy h1 {
    max-width: 330px;
    font-size: 38px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .domain-card img,
  .featured-copy svg,
  .home-system-intro svg,
  .home-company-copy svg { transition: none; }
}

/* Product center V04: four fields, open product rails and neutral bands. */
.products-page .products-hero { height: min(790px, 84svh); min-height: 680px; background: #e8e6e1; }
.products-page .products-hero-wash {
  background: linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .92) 24%, rgba(255, 255, 255, .6) 34%, rgba(255, 255, 255, .12) 45%, rgba(255, 255, 255, 0) 56%);
}
.products-page .products-hero-copy { transform: translate(-50%, -39%); }
.products-page .products-hero-copy h1 { max-width: 620px; margin: 0; font-size: 68px; font-weight: 590; line-height: 1.08; }
.products-page .products-hero-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.75; }
.products-page .products-category-rail { background: rgba(255, 255, 255, .96); }
.products-page .products-category-rail .shell { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.products-page .products-category-rail a {
  min-height: 78px;
  padding: 17px 24px;
  grid-template-columns: 1fr;
  gap: 5px;
  align-content: center;
}
.products-page .products-category-rail a:first-child { padding-left: 24px; }
.products-page .products-category-rail a:hover { background: #f7f7f7; }
.products-page .products-category-rail b { font-size: 15px; font-weight: 620; }
.products-page .products-category-rail small { font-size: 13px; }

.products-page .products-system-section { scroll-margin-top: 168px; background: #fff; }
.products-page .products-system-handheld,
.products-page .products-system-fitness { background: #f7f7f7; }
.products-page .products-system-heading { margin-bottom: 58px; }
.products-page .products-system-heading h2 { margin: 0; font-size: 48px; font-weight: 610; }
.products-page .products-system-heading > p { font-size: 16px; line-height: 1.8; }
.products-page .products-card-grid {
  gap: 0;
  border-top: 1px solid rgba(17, 19, 15, .16);
  border-bottom: 1px solid rgba(17, 19, 15, .16);
}
.products-page .products-card-grid .product-card {
  background: transparent;
  border-right: 1px solid rgba(17, 19, 15, .14);
  box-shadow: none;
  transform: none;
}
.products-page .products-card-grid .product-card:last-child { border-right: 0; }
.products-page .products-card-grid .product-card:hover { background: rgba(255, 255, 255, .54); box-shadow: none; transform: none; }
.products-page .products-card-grid .product-card img { aspect-ratio: 1.12; padding: 7% 9% 2%; }
.products-page .products-card-grid .product-card > div { padding: 26px 28px 30px; }
.products-page .products-card-grid .product-card h4 { font-size: 30px; font-weight: 600; }
.products-page .products-card-grid .product-card > div > span:not(.product-card-link) { min-height: 48px; font-size: 15px; line-height: 1.6; }
.products-page .products-card-grid .product-card .product-card-link { border-top: 1px solid rgba(17, 19, 15, .12); }

.products-page .products-fitness-feature {
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(360px, .78fr);
  align-items: stretch;
  background: #fff;
}
.products-page .products-fitness-feature figure { min-width: 0; margin: 0; overflow: hidden; background: #fff; }
.products-page .products-fitness-feature figure img { width: 100%; height: 100%; padding: 4%; object-fit: contain; }
.products-page .products-fitness-feature > div { padding: 68px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; border-left: 1px solid rgba(17, 19, 15, .12); }
.products-page .products-fitness-feature > div > span { color: #5b9f22; font-size: 14px; font-weight: 650; }
.products-page .products-fitness-feature h3 { margin: 18px 0 0; font-size: 72px; font-weight: 590; line-height: 1; }
.products-page .products-fitness-feature p { margin: 27px 0 0; color: var(--text-body); font-size: 16px; line-height: 1.8; }
.products-page .products-fitness-feature ul { width: 100%; margin: 36px 0 0; padding: 0; border-top: 1px solid rgba(17, 19, 15, .14); list-style: none; }
.products-page .products-fitness-feature li { padding: 16px 0; border-bottom: 1px solid rgba(17, 19, 15, .14); font-size: 15px; }
.products-page .products-fitness-feature a { margin-top: 32px; display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; }

.products-page .products-care-feature { background: #f7f7f7; }
.products-page .products-care-feature::before,
.products-page .products-care-story-media::before { display: none; }
.products-page .products-care-story { margin-top: 1px; }
.products-page .products-care-story-media { background: #f4f4f4; }
.products-page .products-care-story-copy { background: #fff; }

.products-page .products-choice { background: #fff; }
.products-page .products-choice-heading { display: block; margin-bottom: 58px; }
.products-page .products-choice-heading h2 { max-width: 680px; font-size: 48px; font-weight: 610; }
.products-page .products-choice-grid { grid-template-columns: 1fr; border-bottom: 1px solid rgba(17, 19, 15, .16); }
.products-page .products-choice-grid a {
  min-height: 210px;
  padding: 24px 0;
  display: grid;
  grid-template-columns: 190px minmax(250px, .78fr) minmax(300px, 1fr) auto;
  gap: 42px;
  align-items: center;
  border-right: 0;
  border-bottom: 1px solid rgba(17, 19, 15, .16);
}
.products-page .products-choice-grid a:last-child { border-bottom: 0; }
.products-page .products-choice-grid a:hover { background: transparent; transform: none; }
.products-page .products-choice-media { width: 190px; height: 160px; margin: 0; align-items: center; }
.products-page .products-choice-media img { width: 100%; height: 100%; padding: 5%; object-fit: contain; transform: none; }
.products-page .products-choice-media-fitness img { padding: 0; }
.products-page .products-choice-grid h3 { margin: 0; font-size: 27px; font-weight: 600; }
.products-page .products-choice-grid p { margin: 0; font-size: 15px; line-height: 1.75; }
.products-page .products-choice-grid b { margin: 0; padding: 0; white-space: nowrap; font-size: 14px; }

.products-page .contact { padding: 96px 0 104px; border-top: 1px solid rgba(17, 19, 15, .08); background: #fff; }
.products-page .contact-panel { width: var(--shell); min-height: 0; margin-inline: auto; padding: 0; grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr); gap: 92px; overflow: visible; border: 0; background: transparent; }
.products-page .contact-panel::before { display: none; }
.products-page .contact-panel .eyebrow { display: none; }
.products-page .contact-panel h2 { margin: 0; font-size: 42px; font-weight: 610; line-height: 1.22; }
.products-page .contact-button { padding: 0 0 7px; border-bottom: 1px solid rgba(96, 188, 34, .72); border-radius: 0; color: #4d941c; background: transparent; }
.products-page .contact-button:hover { transform: none; box-shadow: none; }

@media (max-width: 1040px) {
  .products-page .products-choice-grid a { grid-template-columns: 150px minmax(210px, .8fr) minmax(250px, 1fr) auto; gap: 26px; }
  .products-page .products-choice-media { width: 150px; height: 135px; }
  .products-page .products-fitness-feature { grid-template-columns: 1.08fr .92fr; }
  .products-page .products-fitness-feature > div { padding: 48px; }
}

@media (max-width: 820px) {
  .products-page .products-hero { height: 760px; min-height: 760px; }
  .products-page .products-hero-media img { object-position: 63% center; }
  .products-page .products-hero-wash { background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .9) 31%, rgba(255, 255, 255, .18) 53%, transparent 67%); }
  .products-page .products-hero-copy { top: 110px; left: 16px; width: calc(100% - 32px); transform: none; }
  .products-page .products-hero-copy h1 { max-width: 360px; font-size: 45px; }
  .products-page .products-hero-copy > p:not(.eyebrow) { margin-top: 22px; font-size: 15px; }
  .products-page .products-category-rail { top: 64px; overflow-x: auto; }
  .products-page .products-category-rail .shell { width: max-content; min-width: 100%; grid-template-columns: repeat(4, minmax(180px, 1fr)); }
  .products-page .products-category-rail a { min-height: 70px; padding: 13px 18px; }
  .products-page .products-system-heading { margin-bottom: 36px; }
  .products-page .products-system-heading h2 { font-size: 36px; }
  .products-page .products-card-grid { grid-template-columns: 1fr; }
  .products-page .products-card-grid .product-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .82fr); border-right: 0; border-bottom: 1px solid rgba(17, 19, 15, .14); }
  .products-page .products-card-grid .product-card:last-child { border-bottom: 0; }
  .products-page .products-card-grid .product-card img { aspect-ratio: 1.05; padding: 6%; }
  .products-page .products-card-grid .product-card > div { padding: 24px 18px; border-top: 0; border-left: 1px solid rgba(17, 19, 15, .1); }
  .products-page .products-card-grid .product-card h4 { font-size: 26px; }
  .products-page .products-fitness-feature { min-height: 0; grid-template-columns: 1fr; }
  .products-page .products-fitness-feature figure { height: 360px; }
  .products-page .products-fitness-feature > div { padding: 38px 24px 44px; border-top: 1px solid rgba(17, 19, 15, .12); border-left: 0; }
  .products-page .products-fitness-feature h3 { font-size: 58px; }
  .products-page .products-care-feature { min-height: 0; }
  .products-page .products-choice-heading h2 { font-size: 36px; }
  .products-page .products-choice-grid a { min-height: 175px; grid-template-columns: 112px 1fr; gap: 12px 22px; padding: 22px 0; }
  .products-page .products-choice-media { width: 112px; height: 132px; grid-row: 1 / 4; }
  .products-page .products-choice-grid h3,
  .products-page .products-choice-grid p,
  .products-page .products-choice-grid b { grid-column: 2; }
  .products-page .products-choice-grid h3 { align-self: end; font-size: 22px; }
  .products-page .products-choice-grid p { font-size: 14px; }
  .products-page .products-choice-grid b { align-self: start; white-space: normal; }
  .products-page .contact { padding: 72px 0 78px; }
  .products-page .contact-panel { grid-template-columns: 1fr; gap: 48px; }
  .products-page .contact-panel h2 { font-size: 34px; }
}

/* Contact V03: image-led hero and open contact information. */
.contact-page-v2 .contact-hero-v2 { position: relative; min-height: clamp(650px, 44.64vw, 900px); padding: 0; overflow: hidden; isolation: isolate; background: #dcecf7; }
.contact-page-v2 .contact-hero-v2::after { display: none; }
.contact-page-v2 .contact-hero-media { position: absolute; inset: 0; margin: 0; }
.contact-page-v2 .contact-hero-media picture { width: 100%; height: 100%; display: block; }
.contact-page-v2 .contact-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.contact-page-v2 .contact-hero-media figcaption { position: absolute; z-index: 2; right: 32px; bottom: 24px; padding: 8px 10px; color: var(--ink); background: rgba(255,255,255,.88); font-size: 12px; }
.contact-page-v2 .contact-hero-layout { position: relative; z-index: 2; min-height: clamp(650px, 44.64vw, 900px); display: flex; align-items: center; }
.contact-page-v2 .contact-hero-v2 .corporate-hero-copy { min-height: 0; max-width: 610px; padding: 20px 0 0; color: #111915; }
.contact-page-v2 .contact-hero-v2 .corporate-hero-copy h1 { margin: 0; font-size: 72px; font-weight: 610; line-height: 1.08; }
.contact-page-v2 .contact-hero-v2 .corporate-hero-copy > p { margin-top: 28px; color: rgba(17, 25, 21, .72); font-size: 18px; line-height: 1.75; }
.contact-page-v2 .contact-coordinate { display: none; }

.contact-page-v2 .contact-directory { padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-bottom: 1px solid var(--line); }
.contact-page-v2 .contact-directory article { min-height: 144px; padding: 28px 30px 28px 0; grid-template-columns: 190px minmax(0, 1fr); gap: 24px; border-bottom: 1px solid var(--line); }
.contact-page-v2 .contact-directory article:nth-child(odd) { border-right: 1px solid var(--line); }
.contact-page-v2 .contact-directory article:nth-child(even) { padding-left: 30px; }
.contact-page-v2 .contact-directory h2 { font-size: 20px; font-weight: 610; }
.contact-page-v2 .contact-directory article > a,
.contact-page-v2 .contact-directory article > p { align-self: center; font-size: 16px; }
.contact-page-v2 .contact-directory .reveal-target { opacity: 1; transform: none; transition: none; }

.contact-page-v2 .contact-location-section { background: #fff; }
.contact-page-v2 .location-map-copy { background: #fff; }
.contact-page-v2 .inquiry-guide { background: #fff; }
.contact-page-v2 .inquiry-guide li { min-height: 150px; padding-top: 32px; }
.contact-page-v2 .inquiry-guide h3 { margin-top: 0; font-size: 19px; font-weight: 610; }

@media (max-width: 820px) {
  .contact-page-v2 .contact-hero-v2 { min-height: 0; padding: 0; display: flex; flex-direction: column; background: #fff; }
  .contact-page-v2 .contact-hero-media { position: relative; order: 2; width: 100%; height: auto; aspect-ratio: 4 / 3; }
  .contact-page-v2 .contact-hero-media img { object-fit: contain; object-position: center; }
  .contact-page-v2 .contact-hero-media figcaption { right: 16px; bottom: 14px; max-width: 250px; font-size: 10px; }
  .contact-page-v2 .contact-hero-layout { min-height: 330px; order: 1; align-items: center; }
  .contact-page-v2 .contact-hero-v2 .corporate-hero-copy { min-height: 0; max-width: 340px; padding: 44px 0 38px; }
  .contact-page-v2 .contact-hero-v2 .corporate-hero-copy h1 { font-size: 46px; }
  .contact-page-v2 .contact-hero-v2 .corporate-hero-copy > p { margin-top: 22px; font-size: 16px; }
  .contact-page-v2 .contact-directory { grid-template-columns: 1fr; }
  .contact-page-v2 .contact-directory article,
  .contact-page-v2 .contact-directory article:nth-child(even) { min-height: 134px; padding: 24px 0; grid-template-columns: 116px minmax(0, 1fr); border-right: 0; }
  .contact-page-v2 .contact-directory article > a,
  .contact-page-v2 .contact-directory article > p { font-size: 15px; overflow-wrap: anywhere; }
  .contact-page-v2 .inquiry-guide li,
  .contact-page-v2 .inquiry-guide li + li { min-height: 112px; padding: 24px 0; display: block; }
}

@media (max-width: 520px) {
  .contact-page-v2 .contact-directory article,
  .contact-page-v2 .contact-directory article:nth-child(even) {
    min-height: 0;
    padding: 24px 0;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
  }
  .contact-page-v2 .contact-directory article > a,
  .contact-page-v2 .contact-directory article > p {
    justify-self: start;
    text-align: left;
  }
  .contact-page-v2 .contact-directory article > p a { display: inline-block; margin: 0 18px 0 0; }
}

/* Culture V05: preserve real team imagery and remove presentation-style numbering. */
.culture-page .corporate-story { display: block; }
.culture-page .corporate-section { grid-template-columns: minmax(220px,.3fr) minmax(0,1fr); }
.culture-page .culture-hero-v2 { background: #fff; }
.culture-page .corporate-hero-copy h1 { font-weight: 610; }
.culture-page .corporate-hero-copy > p { max-width: 520px; }
.culture-page .value-sequence article { min-height: 104px; grid-template-columns: 160px minmax(0,1fr); }
.culture-page .value-sequence h3 { font-size: 25px; font-weight: 610; }
.culture-page .value-sequence p { color: var(--text-body); font-size: 16px; }
.culture-page .culture-practice-list article { min-height: 86px; }
.culture-page .culture-statement { margin-bottom: 96px; padding: 72px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.culture-page .culture-statement h2 { margin-top: 0; font-size: 46px; font-weight: 610; }
.culture-page .corporate-page-links { background: #f7f7f7; }

@media (max-width: 820px) {
  .culture-page .corporate-section { grid-template-columns: 1fr; }
  .culture-page .corporate-hero-copy { padding-bottom: 28px; }
  .culture-page .value-sequence article { min-height: 0; padding: 24px 0; grid-template-columns: 82px minmax(0,1fr); gap: 16px; align-items: start; }
  .culture-page .value-sequence h3 { font-size: 22px; }
  .culture-page[data-language="en"] .value-sequence article { grid-template-columns: 1fr; gap: 10px; }
  .culture-page .culture-statement { margin-bottom: 72px; padding: 48px 0; }
  .culture-page .culture-statement h2 { font-size: 34px; }
}

/* Careers V09: focused application dialog */
.careers-apply-trigger { padding: 0 0 8px; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; background: transparent; cursor: pointer; }
.careers-apply-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 70px; align-items: center; }
.careers-apply-cta > p { max-width: 660px; margin: 0; color: var(--text-body); font-size: 17px; line-height: 1.8; }
.careers-apply-cta > div { display: flex; gap: 32px; align-items: center; }
.careers-apply-cta > div > button { min-height: 48px; padding: 0 24px; border: 0; color: #fff; background: #11140f; font-size: 14px; font-weight: 650; cursor: pointer; }
.careers-apply-cta .corporate-text-link { margin: 0; }
body.application-dialog-open { overflow: hidden; }
.application-dialog {
  width: min(920px, calc(100vw - 40px));
  max-width: none;
  height: min(820px, calc(100dvh - 40px));
  max-height: none;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 4px;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 30px 100px rgba(14,22,10,.24);
  opacity: 0;
  transform: translateY(22px) scale(.985);
  transition:
    opacity .24s ease,
    transform .42s var(--ease),
    overlay .42s allow-discrete,
    display .42s allow-discrete;
}
.application-dialog[open] { opacity: 1; transform: translateY(0) scale(1); }
.application-dialog::backdrop {
  background: rgba(24,31,20,0);
  backdrop-filter: blur(0);
  transition:
    background-color .3s ease,
    backdrop-filter .36s ease,
    overlay .42s allow-discrete,
    display .42s allow-discrete;
}
.application-dialog[open]::backdrop { background: rgba(24,31,20,.38); backdrop-filter: blur(3px); }
@starting-style {
  .application-dialog[open] { opacity: 0; transform: translateY(22px) scale(.985); }
  .application-dialog[open]::backdrop { background: rgba(24,31,20,0); backdrop-filter: blur(0); }
}
.application-dialog[open] .application-dialog-header { animation: application-dialog-content-in .44s var(--ease) .07s both; }
.application-dialog[open] > .application-dialog-shell > .application-progress { animation: application-dialog-content-in .44s var(--ease) .12s both; }
.application-dialog[open] .application-dialog-scroll { animation: application-dialog-content-in .48s var(--ease) .16s both; }
@keyframes application-dialog-content-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.application-dialog-shell { height: 100%; display: grid; grid-template-rows: auto auto minmax(0,1fr); }
.application-dialog-header { padding: 28px 38px 22px; display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; border-bottom: 1px solid #e1e5de; }
.application-dialog-header > div > span { color: #5ca727; font-size: 11px; font-weight: 720; }
.application-dialog-header h2 { margin: 10px 0 0; font-size: 34px; font-weight: 610; line-height: 1.2; }
.application-dialog-header p { margin: 10px 0 0; color: var(--text-body); font-size: 14px; }
.application-dialog-header > button { width: 42px; height: 42px; padding: 0; display: grid; place-items: center; border: 1px solid #dce1d8; border-radius: 50%; color: var(--ink); background: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.application-dialog > .application-dialog-shell > .application-progress { margin: 0; padding: 15px 38px 13px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: center; background: #f7f9f5; }
.application-dialog > .application-dialog-shell > .application-progress::before { grid-column: 1; grid-row: 1; }
.application-dialog > .application-dialog-shell > .application-progress i { grid-column: 1; grid-row: 1; }
.application-dialog > .application-dialog-shell > .application-progress span { grid-column: 2; grid-row: 1; margin: 0; white-space: nowrap; }
.application-dialog-scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 30px 38px 38px; }
.application-dialog .application-form { display: block; }
.application-group { min-width: 0; margin: 0 0 30px; padding: 0 0 30px; border: 0; border-bottom: 1px solid #e1e5de; }
.application-group legend { width: 100%; margin: 0 0 22px; padding: 0; display: flex; align-items: center; gap: 12px; font-size: 18px; font-weight: 620; }
.application-group legend span { color: #62af31; font-size: 11px; font-weight: 720; }
.application-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 24px; }
.application-dialog .application-field-wide { grid-column: 1 / -1; }
.application-dialog .application-field label { margin-bottom: 8px; color: #30362e; font-size: 13px; }
.application-dialog .application-field input:not([type="file"]),
.application-dialog .application-field select,
.application-dialog .application-field textarea { min-height: 50px; padding: 12px 14px; border: 1px solid #dce1d8; border-radius: 2px; background: #fafbf9; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
.application-dialog .application-field textarea { min-height: 112px; }
.application-dialog .application-field input:focus,
.application-dialog .application-field select:focus,
.application-dialog .application-field textarea:focus { border-color: #66b632; background: #fff; box-shadow: 0 0 0 3px rgba(102,182,50,.1); }
.application-dialog .application-field.is-invalid input,
.application-dialog .application-field.is-invalid select,
.application-dialog .application-field.is-invalid textarea { border-color: #c86a61; box-shadow: 0 0 0 2px rgba(200,106,97,.08); }
.application-dialog .application-upload { padding: 0; border: 0; }
.application-upload-control { min-height: 74px; padding: 14px; display: flex; align-items: center; gap: 16px; border: 1px dashed #bdc6b8; background: #fafbf9; }
.application-upload-control input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.application-upload-control label { min-height: 40px; margin: 0 !important; padding: 0 16px; display: inline-flex !important; align-items: center; gap: 10px; color: #fff !important; background: #11140f; cursor: pointer; }
.application-upload-control b { min-width: 0; overflow: hidden; color: var(--text-body); font-size: 13px; font-weight: 450; text-overflow: ellipsis; white-space: nowrap; }
.application-dialog .application-upload > p { margin-top: 8px; }
.application-dialog .application-consent { margin: 4px 0 24px; }
.application-dialog .application-consent.is-invalid { color: #a8534b; }
.application-dialog .application-submit { padding-top: 4px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 22px; align-items: center; }
.application-dialog .application-submit button { min-width: 142px; background: #65b832; }
.application-dialog .application-submit p { max-width: 540px; }
.application-toast { position: fixed; z-index: 120; left: 50%; bottom: 30px; min-width: min(430px, calc(100vw - 32px)); padding: 16px 20px; color: #fff; background: #172015; box-shadow: 0 14px 40px rgba(17,24,14,.22); text-align: center; opacity: 0; transform: translate(-50%,12px); transition: opacity .25s ease, transform .25s ease; }
.application-toast.is-visible { opacity: 1; transform: translate(-50%,0); }

@media (max-width: 820px) {
  .careers-apply-cta { grid-template-columns: 1fr; gap: 30px; }
  .careers-apply-cta > div { align-items: flex-start; flex-direction: column; gap: 22px; }
  .application-dialog { width: 100vw; height: 100dvh; border-radius: 0; }
  .application-dialog-header { padding: 22px 20px 18px; }
  .application-dialog-header h2 { font-size: 28px; }
  .application-dialog-header p { max-width: 260px; font-size: 13px; line-height: 1.6; }
  .application-dialog-header > button { width: 38px; height: 38px; }
  .application-dialog > .application-dialog-shell > .application-progress { padding: 13px 20px 12px; }
  .application-dialog-scroll { padding: 26px 20px 34px; }
  .application-grid { grid-template-columns: 1fr; gap: 18px; }
  .application-dialog .application-field-wide { grid-column: auto; }
  .application-upload-control { align-items: flex-start; flex-direction: column; }
  .application-upload-control b { max-width: 100%; }
  .application-dialog .application-submit { grid-template-columns: 1fr; gap: 14px; }
  .application-dialog .application-submit button { width: 100%; }
}

/* Careers V11: candidate-led hero, stable dialog viewport and open drawer actions. */
.careers-page .careers-hero {
  --careers-hero-height: max(720px, min(calc(var(--header) + 44.8vw), calc(100svh - 48px)));
  min-height: var(--careers-hero-height);
  background: #fff;
}
.careers-page .careers-hero-media {
  top: var(--header);
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: calc(100% - var(--header));
  aspect-ratio: auto;
  background: #fff;
}
.careers-page .careers-hero-media picture { width: 100%; height: 100%; display: block; }
.careers-page .careers-hero-media img {
  object-fit: contain;
  object-position: center;
}
.careers-page .careers-hero-layout { min-height: calc(var(--careers-hero-height) - var(--header)); }
.careers-page .careers-hero .corporate-hero-copy {
  width: min(520px, 43%);
  max-width: 520px;
}
.careers-page .careers-hero .corporate-hero-copy h1 {
  max-width: 520px;
  font-size: 62px;
}

.careers-page .job-drawer .job-detail-actions {
  margin-top: 50px;
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--line);
  border-right: 0;
  border-left: 0;
  background: transparent;
}
.careers-page .job-drawer .job-detail-actions > button,
.careers-page .job-drawer .job-detail-actions > a {
  width: 100%;
  min-height: 68px;
  margin: 0;
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
  font: 600 16px/1.4 inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease, padding .25s var(--ease), background-color .2s ease;
}
.careers-page .job-drawer .job-detail-actions > button:hover,
.careers-page .job-drawer .job-detail-actions > button:focus-visible,
.careers-page .job-drawer .job-detail-actions > a:hover,
.careers-page .job-drawer .job-detail-actions > a:focus-visible {
  padding-left: 18px;
  color: #397c18;
  background: #f4faef;
}
.careers-page .job-drawer .job-detail-actions span { color: #62af31; }

.application-dialog {
  height: var(--application-dialog-height, 820px);
  max-height: calc(100vh - 40px);
  overflow: clip;
  overscroll-behavior: none;
}
.application-dialog-shell { min-height: 0; }
.application-dialog-scroll {
  scrollbar-gutter: stable;
  overflow-anchor: none;
}
.application-dialog .application-submit {
  position: sticky;
  bottom: -38px;
  z-index: 2;
  margin: 0 -38px -38px;
  padding: 20px 38px 24px;
  border-top: 1px solid #e1e5de;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 -12px 28px rgba(24, 31, 20, .05);
}

@media (max-width: 900px) {
  .careers-page .careers-hero { --careers-hero-height: auto; min-height: 0; }
  .careers-page .careers-hero-layout { min-height: 344px; }
  .careers-page .careers-hero .corporate-hero-copy { width: 100%; max-width: 540px; }
  .careers-page .careers-hero .corporate-hero-copy h1 { font-size: 46px; }
  .careers-page .careers-hero-media {
    top: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1456 / 1104;
  }
  .careers-page .careers-hero-media picture { height: 100%; }
  .careers-page .careers-hero-media img { object-fit: contain; object-position: center; }
}

@media (max-width: 820px) {
  .application-dialog {
    height: var(--application-dialog-height, 100vh);
    max-height: none;
  }
  .application-dialog .application-submit {
    bottom: -34px;
    margin: 0 -20px -34px;
    padding: 18px 20px 22px;
  }
}

@media (max-width: 560px) {
  .careers-page .careers-hero-layout { min-height: 360px; }
  .careers-page .careers-hero .corporate-hero-copy h1 { font-size: 39px; }
}

/* Product detail V14: scene-led MR7 Pro hero with a locked official product render. */
.product-detail-hero.has-scene {
  position: relative;
  min-height: 100svh;
  isolation: isolate;
  background-color: #eef0ef;
  background-image: var(--product-hero-scene);
  background-position: center;
  background-size: cover;
}
.product-detail-hero.has-scene .product-detail-grid {
  position: relative;
  z-index: 1;
  min-height: 100svh;
  grid-template-columns: minmax(390px, .76fr) minmax(0, 1.24fr);
}
.product-detail-hero.has-scene .product-detail-copy {
  position: relative;
  z-index: 2;
  max-width: 540px;
  padding: 112px 50px 64px 0;
  justify-content: flex-start;
}
.product-detail-hero.has-scene .back-link {
  margin-bottom: auto;
  color: rgba(17,19,15,.62);
  font-size: 13px;
}
.product-detail-hero.has-scene .product-detail-copy .eyebrow { display: none; }
.product-detail-hero.has-scene .product-brand {
  margin: 0 0 14px;
  color: #4f574e;
  font-size: 15px;
  font-weight: 650;
}
.product-detail-hero.has-scene .product-detail-copy h1 {
  margin: 0;
  font-size: clamp(66px, 6vw, 94px);
  font-weight: 530;
  line-height: 1;
}
.product-detail-hero.has-scene .product-summary {
  max-width: 440px;
  margin: 28px 0 34px;
  color: rgba(17,19,15,.72);
  font-size: 21px;
  font-weight: 480;
  line-height: 1.65;
  white-space: pre-line;
}
.product-detail-hero.has-scene .product-detail-copy .button-solid {
  min-height: 0;
  padding: 0 0 10px;
  border-radius: 0;
  color: var(--ink);
  background: transparent;
  border-bottom: 1px solid currentColor;
  font-size: 15px;
}
.product-detail-hero.has-scene .product-detail-visual {
  min-height: 100svh;
  overflow: visible;
  border: 0;
}
.product-detail-hero.has-scene .product-detail-visual::before,
.product-detail-hero.has-scene .product-detail-visual > span,
.product-detail-hero.has-scene .product-detail-visual > p { display: none; }
.product-detail-hero.has-scene .product-detail-visual img {
  inset: auto 0 2% auto;
  width: min(820px, 64vw);
  height: 78%;
  padding: 0;
  object-fit: contain;
  object-position: right bottom;
  filter: drop-shadow(0 28px 28px rgba(14,18,14,.18));
}
.product-detail-hero.has-scene[data-product="mr7-pro"] .product-detail-visual img {
  inset: auto 2% 0 auto;
  width: min(1050px, 68vw);
  height: 86%;
}
.product-detail-hero.has-scene[data-product="mr7-pro"] { overflow: hidden; }
.product-detail-hero.has-scene.has-integrated-product .product-detail-visual img { display: none; }
.product-detail-hero.has-scene[data-product="k10"] { background-position: center; }
.product-detail-hero.has-scene[data-product="k10"]::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(15,17,14,.62) 0%, rgba(15,17,14,.42) 31%, transparent 63%);
  content: "";
  pointer-events: none;
}
.product-detail-hero.has-scene[data-product="k30"]::before,
.product-detail-hero.has-scene[data-product="ms1-max"]::before,
.product-detail-hero.has-scene[data-product="x20-pro"]::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  pointer-events: none;
}
.product-detail-hero.has-scene[data-product="k30"]::before {
  background: linear-gradient(90deg, rgba(20,18,16,.48) 0%, rgba(20,18,16,.22) 34%, transparent 62%);
}
.product-detail-hero.has-scene[data-product="ms1-max"]::before,
.product-detail-hero.has-scene[data-product="x20-pro"]::before { display: none; }
.product-detail-hero.has-scene[data-product="d1"] .product-detail-visual img {
  inset: auto 38% 28% auto;
  width: min(620px, 48vw);
  height: 56%;
}
.product-detail-hero.has-scene[data-product="k30"] .product-detail-copy,
.product-detail-hero.has-scene[data-product="k10"] .product-detail-copy,
.product-detail-hero.has-scene[data-product="d1"] .product-detail-copy {
  color: rgba(255,255,255,.94);
  text-shadow: 0 1px 18px rgba(0,0,0,.22);
}
.product-detail-hero.has-scene[data-product="ms1-max"] .back-link,
.product-detail-hero.has-scene[data-product="ms1-max"] .product-brand,
.product-detail-hero.has-scene[data-product="ms1-max"] .product-summary {
  color: rgba(255,255,255,.84);
}
.product-detail-hero.has-scene[data-product="ms1-max"] .product-detail-copy .button-solid {
  color: #fff;
  border-color: rgba(255,255,255,.82);
}
.product-detail-hero.has-scene[data-product="ms1-max"] .product-detail-copy {
  color: rgba(255,255,255,.94);
  text-shadow: 0 1px 18px rgba(0,0,0,.34);
}
.product-detail-hero.has-scene[data-product="k30"] .back-link,
.product-detail-hero.has-scene[data-product="k30"] .product-brand,
.product-detail-hero.has-scene[data-product="k30"] .product-summary,
.product-detail-hero.has-scene[data-product="k10"] .back-link,
.product-detail-hero.has-scene[data-product="k10"] .product-brand,
.product-detail-hero.has-scene[data-product="k10"] .product-summary,
.product-detail-hero.has-scene[data-product="d1"] .back-link,
.product-detail-hero.has-scene[data-product="d1"] .product-brand,
.product-detail-hero.has-scene[data-product="d1"] .product-summary {
  color: rgba(255,255,255,.82);
}
.product-detail-hero.has-scene[data-product="k30"] .product-detail-copy .button-solid,
.product-detail-hero.has-scene[data-product="k10"] .product-detail-copy .button-solid,
.product-detail-hero.has-scene[data-product="d1"] .product-detail-copy .button-solid {
  color: #fff;
  border-color: rgba(255,255,255,.82);
}
.product-detail-hero.has-scene.has-integrated-product[data-product="d1"] .product-detail-copy {
  color: #11130f;
  text-shadow: none;
}
.product-detail-hero.has-scene.has-integrated-product[data-product="d1"] .back-link,
.product-detail-hero.has-scene.has-integrated-product[data-product="d1"] .product-brand,
.product-detail-hero.has-scene.has-integrated-product[data-product="d1"] .product-summary {
  color: rgba(17,19,15,.74);
}
.product-detail-hero.has-scene.has-integrated-product[data-product="d1"] .product-detail-copy .button-solid {
  color: #11130f;
  border-color: rgba(17,19,15,.78);
}

@media (max-width: 820px) {
  .product-detail-hero.has-scene {
    min-height: 820px;
    background-image: var(--product-hero-scene-mobile, var(--product-hero-scene));
    background-position: center;
  }
  .product-detail-hero.has-scene .product-detail-grid {
    min-height: 820px;
    grid-template-columns: 1fr;
  }
  .product-detail-hero.has-scene .product-detail-copy {
    min-height: 0;
    max-width: 100%;
    padding: 102px 20px 0;
    justify-content: flex-start;
  }
  .product-detail-hero.has-scene .back-link { margin-bottom: 50px; }
  .product-detail-hero.has-scene .product-brand { margin-top: 0; }
  .product-detail-hero.has-scene .product-detail-copy h1 { font-size: 58px; }
  .product-detail-hero.has-scene .product-summary { margin-top: 20px; font-size: 18px; line-height: 1.55; }
  .product-detail-hero.has-scene .product-detail-visual {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    min-height: 0;
    height: 49%;
    border: 0;
  }
  .product-detail-hero.has-scene .product-detail-visual img {
    inset: auto 0 1% 0;
    width: 100%;
    height: 100%;
    padding: 0 3%;
    object-position: center bottom;
  }
  .product-detail-hero.has-scene[data-product="mr7-pro"] .product-detail-visual img {
    inset: auto -6% 1% auto;
    width: 112%;
    height: 100%;
  }
  .product-detail-hero.has-scene[data-product="k10"] {
    background-position: 68% center;
  }
  .product-detail-hero.has-scene[data-product="k30"] {
    background-position: 72% center;
  }
  .product-detail-hero.has-scene[data-product="ms1-max"] {
    background-position: 70% center;
  }
  .product-detail-hero.has-scene[data-product="x20-pro"] {
    background-position: 76% center;
  }
  .product-detail-hero.has-scene[data-product="d1"] {
    background-position: 72% center;
  }
  .product-detail-hero.has-scene[data-product="k10"]::before {
    background: linear-gradient(180deg, rgba(15,17,14,.66) 0%, rgba(15,17,14,.38) 48%, transparent 72%);
  }
  .product-detail-hero.has-scene[data-product="k30"]::before {
    background: linear-gradient(180deg, rgba(20,18,16,.58) 0%, rgba(20,18,16,.34) 52%, transparent 76%);
  }
  .product-detail-hero.has-scene[data-product="ms1-max"]::before {
    background: linear-gradient(180deg, rgba(238,240,239,.82) 0%, rgba(238,240,239,.56) 52%, transparent 76%);
  }
  .product-detail-hero.has-scene[data-product="x20-pro"]::before {
    background: linear-gradient(180deg, rgba(239,232,222,.84) 0%, rgba(239,232,222,.62) 52%, transparent 76%);
  }
  .product-detail-hero.has-scene[data-product="d1"] .product-detail-visual img {
    inset: auto 7% 47% auto;
    width: 78%;
    height: 42%;
    padding: 0;
    object-position: right bottom;
  }
}

/* R11: content-specific split heroes for products and capabilities. */
.products-page .products-hero,
.capabilities-page .capabilities-hero {
  height: min(760px, 84svh);
  min-height: 650px;
  padding-top: var(--header);
  overflow: hidden;
  background: #f4f5f1;
}
.products-hero-layout,
.capabilities-hero-layout {
  height: 100%;
  display: grid;
  grid-template-columns: minmax(390px, .76fr) minmax(0, 1.24fr);
  align-items: stretch;
}
.products-page .products-hero-copy,
.capabilities-page .capabilities-hero-copy {
  position: relative;
  z-index: 2;
  left: auto;
  right: auto;
  top: auto;
  width: auto;
  padding: 56px clamp(48px, 5.2vw, 88px) 58px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  transform: none;
}
.products-page .products-hero-copy h1,
.capabilities-page .capabilities-hero-copy h1 {
  max-width: 620px;
  margin: 0;
  font-size: clamp(56px, 4.2vw, 70px);
  font-weight: 590;
  line-height: 1.08;
}
.products-page .products-hero-copy > p:not(.eyebrow),
.capabilities-page .capabilities-hero-copy > p:not(.eyebrow) {
  margin: 28px 0 0;
  color: var(--text-body);
  font-size: 17px;
  line-height: 1.75;
}
.products-page .products-hero-copy .button,
.capabilities-page .capabilities-hero-copy .button { margin-top: 32px; }
.products-page .products-hero-media,
.capabilities-page .capabilities-hero-media {
  position: relative;
  inset: auto;
  width: calc(100% + (100vw - var(--shell)) / 2);
  height: auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-left: 1px solid rgba(17, 19, 15, .1);
  background: #e8ebe5;
}
.products-page .products-hero-media img,
.capabilities-page .capabilities-hero-media img {
  position: relative;
  inset: auto;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}
.products-page .products-hero-wash,
.capabilities-page .capabilities-hero-wash { display: none; }

@media (max-width: 1040px) {
  .products-hero-layout,
  .capabilities-hero-layout { grid-template-columns: minmax(330px, .7fr) minmax(0, 1.3fr); }
  .products-page .products-hero-copy,
  .capabilities-page .capabilities-hero-copy { padding-right: 42px; }
  .products-page .products-hero-copy h1,
  .capabilities-page .capabilities-hero-copy h1 { font-size: 52px; }
}

@media (max-width: 820px) {
  .products-page .products-hero,
  .capabilities-page .capabilities-hero {
    height: auto;
    min-height: 0;
    padding-top: var(--header);
  }
  .products-hero-layout,
  .capabilities-hero-layout {
    height: auto;
    display: flex;
    flex-direction: column;
  }
  .products-page .products-hero-copy,
  .capabilities-page .capabilities-hero-copy {
    min-height: 332px;
    padding: 54px 0 42px;
  }
  .products-page .products-hero-copy h1,
  .capabilities-page .capabilities-hero-copy h1 {
    max-width: 360px;
    font-size: 44px;
  }
  .products-page .products-hero-copy > p:not(.eyebrow),
  .capabilities-page .capabilities-hero-copy > p:not(.eyebrow) {
    margin-top: 20px;
    font-size: 15px;
  }
  .products-page .products-hero-copy .button,
  .capabilities-page .capabilities-hero-copy .button { margin-top: 24px; }
  .products-page .products-hero-media,
  .capabilities-page .capabilities-hero-media {
    width: 100vw;
    height: 410px;
    margin-left: calc((100vw - var(--shell)) / -2);
    border-top: 1px solid rgba(17, 19, 15, .1);
    border-left: 0;
  }
  .products-page .products-hero-media img { object-position: 53% center; }
  .capabilities-page .capabilities-hero-media img { object-position: 50% center; }
}

/* Eufy-inspired category mega menu, organized by category rather than brand. */
@media (min-width: 821px) {
  body.mega-open { overflow-x: clip; }
  body.mega-open .site-header,
  body.mega-open .site-header.is-scrolled { height: var(--header); color: #11130f; background: #fff; box-shadow: none; backdrop-filter: none; }
  body.mega-open .site-header .desktop-nav > a,
  body.mega-open .site-header .nav-product > a,
  body.mega-open .site-header .nav-about > a { height: var(--header); color: #11130f; }
  body.mega-open .nav-backdrop { inset: var(--header) 0 0; opacity: 1; visibility: visible; pointer-events: auto; background: rgba(11, 14, 10, .54); }

  .nav-product:hover .product-mega,
  .nav-product:focus-within .product-mega { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); }
  .nav-product.is-open .product-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
  .nav-product.is-open > a > i { transform: rotate(180deg); }

  .product-mega {
    top: var(--header);
    min-height: 500px;
    padding: 0;
    overflow: hidden;
    color: #11130f;
    background: #fff;
    border-top: 1px solid rgba(17, 19, 15, .08);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 28px 70px rgba(12, 15, 10, .16);
  }
  .product-mega-inner {
    width: min(1540px, calc(100% - 64px));
    min-height: 500px;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    gap: 0;
    border-top: 0;
  }
  .mega-category-nav { padding: 26px 28px 30px 0; border-right: 1px solid #e5e7e2; }
  .mega-category-title { min-height: 44px; padding: 0 18px 12px; display: flex; align-items: center; justify-content: space-between; color: var(--green-deep); font-size: 17px; font-weight: 650; }
  .mega-category-title a { width: 32px; height: 32px; display: grid; place-items: center; color: #687064; font-size: 14px; }
  .mega-category-item { border-bottom: 1px solid transparent; }
  .mega-category-button { width: 100%; min-height: 64px; padding: 9px 14px; display: grid; grid-template-columns: 42px minmax(0, 1fr) 14px; align-items: center; gap: 12px; border: 0; border-radius: 4px; color: #22251f; background: transparent; text-align: left; cursor: pointer; transition: background .2s ease, color .2s ease; }
  .mega-category-button:hover,
  .mega-category-button:focus-visible,
  .mega-category-item.is-active .mega-category-button { color: #11130f; background: #f2f4f1; outline: none; }
  .mega-category-button > img { width: 42px; height: 42px; object-fit: contain; mix-blend-mode: multiply; }
  .mega-category-button > span { min-width: 0; display: grid; gap: 4px; }
  .mega-category-button b { font-size: 15px; font-weight: 590; line-height: 1.25; }
  .mega-category-button small { overflow: hidden; color: #737970; font-size: 11px; font-weight: 430; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
  .mega-category-button > i { width: 7px; height: 7px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; opacity: .62; transform: rotate(45deg); }
  .mega-subcategories { display: none; padding: 4px 15px 10px 68px; }
  .mega-category-item.is-active .mega-subcategories { display: grid; }
  .mega-subcategory { position: relative; min-height: 30px; padding: 4px 12px 4px 0; border: 0; color: #777d73; background: transparent; text-align: left; cursor: pointer; font-size: 12px; line-height: 1.35; }
  .mega-subcategory::before { content: ""; position: absolute; left: -14px; top: 50%; width: 6px; height: 1px; background: var(--green-deep); opacity: 0; transition: opacity .2s ease, width .2s ease; }
  .mega-subcategory:hover,
  .mega-subcategory:focus-visible,
  .mega-subcategory.is-active { color: var(--green-deep); outline: none; }
  .mega-subcategory.is-active::before { width: 9px; opacity: 1; }

  .mega-product-stage { min-width: 0; padding: 28px 0 30px 36px; }
  .mega-product-panel { display: none; }
  .mega-product-panel.is-active { display: block; animation: mega-panel-in .28s ease both; }
  .mega-panel-heading { min-height: 62px; margin-bottom: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
  .mega-panel-heading > div { display: grid; gap: 5px; }
  .mega-panel-heading span { color: #757b72; font-size: 11px; font-weight: 520; }
  .mega-panel-heading h2 { margin: 0; font-size: 22px; font-weight: 590; line-height: 1.25; }
  .mega-panel-heading > .mega-panel-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
  .mega-panel-actions a { min-height: 36px; display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 540; }
  .mega-panel-actions i { font-style: normal; }
  .mega-category-link { color: #4f554d; }
  .mega-category-link i { color: var(--green-deep); }
  .mega-all-products-button { padding: 0 15px; border: 1px solid #1c2019; border-radius: 3px; color: #fff; background: #1c2019; transition: color .2s ease, background .2s ease; }
  .mega-all-products-button:hover,
  .mega-all-products-button:focus-visible { color: #1c2019; background: #fff; outline: none; }
  .mega-products-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 292px)); gap: 12px; }
  .mega-product-card { position: relative; min-width: 0; height: 342px; overflow: hidden; border-radius: 6px; background: #f3f4f2; }
  .mega-product-card { padding: 18px 16px 15px; display: grid; grid-template-rows: 1fr auto; gap: 10px; transition: background .25s ease, transform .3s var(--ease); }
  .mega-product-card:hover,
  .mega-product-card:focus-visible { background: #eef1ec; transform: translateY(-2px); outline: none; }
  .mega-product-image { position: relative; min-height: 0; overflow: hidden; }
  .mega-product-image img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 7px 10px 2px; object-fit: contain; object-position: center; mix-blend-mode: multiply; transition: transform .38s var(--ease); }
  .mega-product-card:hover .mega-product-image img { transform: scale(1.035); }
  .mega-product-card > span { display: grid; gap: 3px; }
  .mega-product-card b { overflow: hidden; font-size: 15px; font-weight: 590; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
  .mega-product-card small { color: #777d74; font-size: 11px; font-weight: 430; line-height: 1.35; }

  @keyframes mega-panel-in {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: none; }
  }
}

@media (min-width: 821px) and (max-width: 1180px) {
  .product-mega-inner { width: calc(100% - 36px); grid-template-columns: 238px minmax(0, 1fr); }
  .mega-category-nav { padding-right: 18px; }
  .mega-product-stage { padding-left: 24px; }
  .mega-product-card { height: 292px; }
  .mega-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mega-category-button { grid-template-columns: 34px minmax(0, 1fr) 12px; gap: 9px; padding-inline: 10px; }
  .mega-category-button > img { width: 34px; height: 34px; }
  .mega-subcategories { padding-left: 57px; }
}

@media (max-width: 820px) {
  .mobile-product-links { display: block; padding-bottom: 12px; }
  .mobile-product-links > span { display: block; margin: 1px 0 10px; }
  .mobile-product-category { border-top: 1px solid rgba(17, 19, 15, .08); }
  .mobile-product-category:last-child { border-bottom: 1px solid rgba(17, 19, 15, .08); }
  .mobile-product-category summary { min-height: 46px; padding: 8px 2px; display: flex; align-items: center; justify-content: space-between; gap: 18px; list-style: none; color: #262922; cursor: pointer; font-size: 14px; font-weight: 560; }
  .mobile-product-category summary::-webkit-details-marker { display: none; }
  .mobile-product-category summary i { width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .25s ease; }
  .mobile-product-category[open] summary i { transform: rotate(225deg); }
  .mobile-product-category > div { padding: 0 0 12px 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
  .mobile-product-category > div > a { min-width: 0; min-height: 42px; padding: 7px 0; display: grid; align-content: center; gap: 2px; color: #555b52; border-bottom: 1px solid rgba(17, 19, 15, .06); }
  .mobile-product-category > div > a b { overflow: hidden; font-size: 13px; font-weight: 560; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-product-category > div > a small { color: #858b81; font-size: 10px; }
  .mobile-product-category > div > .mobile-product-all { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; color: var(--green-deep); font-size: 11px; font-weight: 550; }
}

/* Final pre-launch pass: controlled entry motion, complete media framing and cleaner corporate imagery. */
.hero-progress i { animation-duration: 5600ms; }
svg.globe-icon {
  width: 16px;
  height: 16px;
  border: 0;
  border-radius: 0;
  overflow: visible;
  transform: translate(2px, 1px);
}
svg.globe-icon::before { display: none; }
svg.globe-icon circle,
svg.globe-icon ellipse,
svg.globe-icon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
}
.home-v3 .hero-slide.is-entering .hero-media img {
  animation: home-hero-media-in .96s cubic-bezier(.2,.72,0,1) both;
}
.home-v3 .hero-slide.is-entering .hero-slide-copy > * {
  animation: home-hero-copy-in .72s cubic-bezier(.2,.72,0,1) both;
  transition: none;
}
.home-v3 .hero-slide.is-entering .hero-slide-copy > *:nth-child(1) { animation-delay: .05s; }
.home-v3 .hero-slide.is-entering .hero-slide-copy > *:nth-child(2) { animation-delay: .12s; }
.home-v3 .hero-slide.is-entering .hero-slide-copy > *:nth-child(3) { animation-delay: .2s; }

@keyframes home-hero-media-in {
  from { opacity: .58; transform: scale(1.035) translate3d(1%, 0, 0); }
  to { opacity: 1; transform: scale(1) translate3d(0, 0, 0); }
}
@keyframes home-hero-copy-in {
  from { opacity: 0; transform: translate3d(0, 22px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.products-page .products-hero-copy h1,
.capabilities-page .capabilities-hero-copy h1,
.careers-page .careers-hero .corporate-hero-copy h1,
.contact-page-v2 .contact-hero-v2 .corporate-hero-copy h1 {
  animation: page-hero-title-in .76s cubic-bezier(.2,.72,0,1) .08s both;
}

@keyframes page-hero-title-in {
  from { opacity: 0; transform: translate3d(0, 22px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.home-v3 .featured-panel.is-entering .featured-media {
  animation: featured-frame-in .86s cubic-bezier(.2,.72,0,1) both;
}
.home-v3 .featured-panel.is-entering .featured-media img {
  animation: featured-media-in .94s cubic-bezier(.2,.72,0,1) both;
}
.home-v3 .featured-panel.is-entering .featured-copy > * {
  animation: featured-copy-in .68s cubic-bezier(.2,.72,0,1) both;
}
.home-v3 .featured-panel.is-entering .featured-copy > *:nth-child(1) { animation-delay: .04s; }
.home-v3 .featured-panel.is-entering .featured-copy > *:nth-child(2) { animation-delay: .1s; }
.home-v3 .featured-panel.is-entering .featured-copy > *:nth-child(3) { animation-delay: .16s; }
.home-v3 .featured-panel.is-entering .featured-copy > *:nth-child(4) { animation-delay: .22s; }
.home-v3 .featured-panel.is-entering .featured-copy > *:nth-child(5) { animation-delay: .28s; }
.home-v3 .featured-task-detail.is-changing {
  animation: featured-detail-in .58s cubic-bezier(.2,.72,0,1) both;
}
@keyframes featured-frame-in {
  from { opacity: 0; transform: translateX(-18px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes featured-media-in {
  from { opacity: .35; transform: scale(1.045); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes featured-copy-in {
  from { opacity: 0; transform: translate3d(0, 16px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes featured-detail-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.products-page .products-hero,
.capabilities-page .capabilities-hero {
  height: clamp(780px, 47vw, 900px);
  min-height: 780px;
}
.products-hero-layout,
.capabilities-hero-layout {
  grid-template-columns: minmax(380px, .76fr) minmax(0, 1.24fr);
}
.products-page .products-hero-copy,
.capabilities-page .capabilities-hero-copy {
  padding: 72px clamp(42px, 4.8vw, 86px) 72px 0;
  justify-content: center;
}
.products-page .products-hero-media,
.capabilities-page .capabilities-hero-media {
  background: #fff;
}
.products-page .products-hero-media img,
.capabilities-page .capabilities-hero-media img {
  height: 100%;
  padding: 0;
  object-fit: cover;
  object-position: center;
}

.about-company-page .corporate-hero {
  min-height: 900px;
}
.about-company-page .corporate-hero-grid {
  height: calc(900px - var(--header));
  min-height: 0;
}
.about-company-page .corporate-hero-copy {
  justify-content: center;
}
.about-company-page .corporate-building-media {
  height: 100%;
  min-height: 0;
  background: #fff;
}
.about-company-page .corporate-building-media img {
  object-fit: cover;
  object-position: center;
}

.culture-page .culture-hero-v2 .corporate-hero-media img {
  object-position: 72% center;
}
.culture-page .culture-photo-wall {
  grid-auto-rows: 254px;
  gap: 12px;
}
.culture-page .culture-photo-wall img {
  object-fit: cover;
  object-position: center;
  background: #fff;
}

.contact-page-v2 .contact-hero-v2 {
  min-height: clamp(760px, 51vw, 980px);
  background: #fff;
}
.contact-page-v2 .contact-hero-media img {
  object-fit: cover;
  object-position: center center;
}
.contact-page-v2 .contact-hero-layout {
  min-height: clamp(760px, 51vw, 980px);
}
.contact-page-v2 .contact-hero-v2 .corporate-hero-copy {
  max-width: 600px;
}
.contact-page-v2 .location-map-copy h3 {
  margin-top: 0;
  font-size: 34px;
  line-height: 1.2;
}
.contact-page-v2 .location-map-copy dl {
  margin-top: 38px;
}

@media (max-width: 820px) {
  .products-page .products-hero,
  .capabilities-page .capabilities-hero {
    height: auto;
    min-height: 0;
  }
  .products-page .products-hero-media,
  .capabilities-page .capabilities-hero-media {
    height: clamp(360px, 86vw, 620px);
  }
  .products-page .products-hero-media img,
  .capabilities-page .capabilities-hero-media img {
    padding: 0;
    object-fit: cover;
  }
  .about-company-page .corporate-hero {
    min-height: 0;
  }
  .about-company-page .corporate-hero-grid {
    height: auto;
  }
  .about-company-page .corporate-building-media {
    height: 620px;
  }
  .about-company-page .corporate-building-media img {
    object-fit: cover;
  }
  .culture-page .culture-photo-wall {
    grid-auto-rows: auto;
  }
  .contact-page-v2 .contact-hero-v2 {
    min-height: 0;
  }
  .contact-page-v2 .contact-hero-layout {
    min-height: 360px;
  }
  .contact-page-v2 .contact-hero-media img {
    object-fit: cover;
    background: #fff;
  }
  .contact-page-v2 .location-map-copy h3 {
    font-size: 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .products-page .products-hero-copy h1,
  .capabilities-page .capabilities-hero-copy h1,
  .careers-page .careers-hero .corporate-hero-copy h1,
  .contact-page-v2 .contact-hero-v2 .corporate-hero-copy h1,
  .home-v3 .hero-slide.is-entering .hero-media img,
  .home-v3 .hero-slide.is-entering .hero-slide-copy > *,
  .home-v3 .featured-panel.is-entering .featured-media,
  .home-v3 .featured-panel.is-entering .featured-media img,
  .home-v3 .featured-panel.is-entering .featured-copy > *,
  .home-v3 .featured-task-detail.is-changing { animation: none; }
}
