:root {
  --color-ink: #151d21;
  --color-ink-soft: #5b686c;
  --color-teal: #337a8b;
  --color-teal-dark: #286674;
  --color-green: #4e8a73;
  --color-blue: #337a8b;
  --color-coral: #dd6b55;
  --color-surface: #ffffff;
  --color-muted: #f6f8f8;
  --color-line: #cbd5d7;
  --color-dark: #151d21;
  --shadow-card: 0 12px 28px rgba(21, 29, 33, 0.08);
  --radius: 8px;
  --container: 1180px;
  --header-height: 84px;
  --space-section: 88px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 84px; }
body { margin: 0; color: var(--color-ink); background: var(--color-surface); font-family: Inter, "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif; line-height: 1.72; }
body.nav-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.22; letter-spacing: 0; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 8px 12px; background: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; z-index: 100; inset: 0 0 auto; height: var(--header-height); color: #fff; border-bottom: 1px solid rgba(255,255,255,.18); transition: background-color .3s, height .3s, color .3s, border-color .3s; }
.site-header.is-scrolled { height: var(--header-height); color: var(--color-ink); background: rgba(247,250,249,.94); border-color: var(--color-line); backdrop-filter: blur(14px); }
.site-header--dark-on-light:not(.is-scrolled) { color: var(--color-ink); border-color: rgba(21,29,33,.16); }
.site-header--hero-dark-text:not(.is-scrolled) { color: var(--color-ink); border-color: rgba(21,29,33,.16); }
.site-header--hero-light-text:not(.is-scrolled) { color: #fff; }
.site-header__inner { height: 100%; display: flex; align-items: center; gap: 38px; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand__name { font-size: 1.36rem; font-weight: 650; }
.primary-nav { margin-left: auto; height: 100%; }
.primary-nav ul { height: 100%; display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; list-style: none; }
.primary-nav a { position: relative; display: grid; place-items: center; min-height: 46px; padding: 0 15px; font-size: 1rem; font-weight: 500; transition: color .25s; }
.primary-nav a::after { content: ""; position: absolute; bottom: 4px; left: 13px; right: 13px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.primary-nav a:hover, .primary-nav a.is-active { color: #66ad9a; }
.site-header.is-scrolled .primary-nav a:hover, .site-header.is-scrolled .primary-nav a.is-active, .site-header--hero-dark-text .primary-nav a:hover, .site-header--hero-dark-text .primary-nav a.is-active { color: var(--color-blue); }
.primary-nav a:hover::after, .primary-nav a.is-active::after { transform: scaleX(1); }
.primary-nav > ul > li { position: relative; height: 100%; display: flex; align-items: center; }
.primary-nav .subnav { position: absolute; z-index: 10; top: calc(100% - 8px); left: 50%; display: block; width: max-content; min-width: 150px; max-width: min(240px, calc(100vw - 32px)); height: auto; padding: 10px 8px; color: #eff7f6; background: rgba(13,29,33,.9); border: 1px solid rgba(205,230,229,.26); border-radius: 8px; box-shadow: 0 18px 40px rgba(5,22,27,.22); backdrop-filter: blur(16px); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, -8px) scale(.985); transform-origin: top center; transition: opacity .22s ease, transform .26s cubic-bezier(.22,1,.36,1), visibility 0s linear .26s; }
.primary-nav .subnav li { list-style: none; opacity: 0; transform: translateY(-4px); transition: opacity .2s ease, transform .26s cubic-bezier(.22,1,.36,1); }
.primary-nav .subnav a { justify-content: center; min-height: 40px; padding-inline: 16px; color: inherit; font-size: .95rem; line-height: 1.45; text-align: center; white-space: normal; overflow-wrap: anywhere; }
.primary-nav .has-subnav.is-subnav-visible .subnav { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%); transition-delay: 0s; }
.primary-nav .has-subnav.is-subnav-visible .subnav li { opacity: 1; transform: none; }
.primary-nav .has-subnav.is-subnav-visible .subnav li:nth-child(2) { transition-delay: 25ms; }
.primary-nav .has-subnav.is-subnav-visible .subnav li:nth-child(3) { transition-delay: 50ms; }
.primary-nav .has-subnav.is-subnav-visible .subnav li:nth-child(4) { transition-delay: 75ms; }
.site-header.is-scrolled .primary-nav .subnav, .site-header--dark-on-light .primary-nav .subnav, .site-header--hero-dark-text .primary-nav .subnav { color: var(--color-ink); background: rgba(247,250,249,.96); border-color: rgba(150,175,177,.48); box-shadow: 0 18px 40px rgba(21,40,45,.14); }
.subnav-toggle { display: none; }
.nav-toggle { display: none; width: 42px; height: 42px; padding: 9px; border: 0; background: transparent; color: inherit; }
.nav-toggle > span:not(.sr-only) { display: block; width: 23px; height: 2px; margin: 5px auto; background: currentColor; transition: transform .2s, opacity .2s; }
.nav-toggle[aria-expanded="true"] > span:first-child { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.home-hero { position: relative; height: 100svh; min-height: 680px; display: flex; align-items: center; overflow: hidden; color: #fff; background: #151d21; }
.home-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(11,20,23,.78) 0%, rgba(11,20,23,.46) 42%, rgba(11,20,23,.08) 73%), linear-gradient(0deg, rgba(11,20,23,.42), transparent 38%); pointer-events: none; }
.home-hero__media, .home-hero__slide { position: absolute; inset: 0; margin: 0; }
.home-hero__slide { opacity: 0; visibility: hidden; transition: opacity 1.05s ease, visibility 1.05s; }
.home-hero__slide.is-active { opacity: 1; visibility: visible; }
.home-hero__slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1); }
.home-hero__slide.is-active img { animation: hero-camera 8s linear both; }
.home-hero__content { position: relative; z-index: 2; padding-top: calc(var(--header-height) + 48px); padding-bottom: 72px; }
.home-hero__content > * { max-width: 650px; }
.eyebrow { margin-bottom: 12px; color: var(--color-teal); font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.home-hero .eyebrow, .section-heading--light .eyebrow { color: #b6d9dd; }
.home-hero__eyebrow { margin-bottom: 18px; opacity: 0; animation: hero-fade-up .72s cubic-bezier(.22,1,.36,1) .12s forwards; }
.home-hero__brand { margin-bottom: 18px; font-size: 1.35rem; font-weight: 500; opacity: 0; animation: hero-fade-up .75s cubic-bezier(.22,1,.36,1) .24s forwards; }
.home-hero__title-mask { overflow: hidden; }
.home-hero h1 { max-width: 760px; margin-bottom: 20px; font-size: 3.75rem; font-weight: 600; line-height: 1.16; opacity: 0; transform: translateY(105%); animation: hero-title-reveal .88s cubic-bezier(.22,1,.36,1) .36s forwards; }
.home-hero__summary { max-width: 520px; margin-bottom: 0; color: #e0e7e8; font-size: 1.05rem; opacity: 0; animation: hero-fade-up .78s cubic-bezier(.22,1,.36,1) .56s forwards; }
.home-hero__actions { display: flex; align-items: center; gap: 28px; margin-top: 34px; opacity: 0; animation: hero-fade-up .78s cubic-bezier(.22,1,.36,1) .7s forwards; }
.home-hero__text-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 500; }
.home-hero__text-link span { color: #b8ded8; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.home-hero__text-link:hover span { transform: translateX(6px); }
.home-hero__controls { position: absolute; z-index: 3; right: 0; bottom: 42px; left: 0; display: flex; align-items: center; justify-content: center; gap: 16px; pointer-events: none; opacity: 0; animation: hero-fade-up .7s cubic-bezier(.22,1,.36,1) .86s forwards; }
.home-hero__dots { display: flex; align-items: center; gap: 9px; pointer-events: auto; }
.home-hero__dot { width: 8px; height: 8px; padding: 0; border: 1px solid rgba(255,255,255,.72); border-radius: 999px; background: rgba(255,255,255,.28); transition: width .32s cubic-bezier(.22,1,.36,1), background-color .25s, border-color .25s; }
.home-hero__dot.is-active { width: 28px; background: #fff; border-color: #fff; }
.home-hero__pause { width: 30px; height: 30px; display: grid; place-items: center; pointer-events: auto; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; color: #fff; background: transparent; opacity: .72; transition: opacity .25s, border-color .25s; }
.home-hero__pause:hover, .home-hero__pause:focus-visible { opacity: 1; border-color: #fff; }
.home-hero__pause span { width: 8px; height: 10px; border-right: 2px solid currentColor; border-left: 2px solid currentColor; }
.home-hero__pause[aria-pressed="true"] span { width: 0; height: 0; margin-left: 2px; border: 5px solid transparent; border-right: 0; border-left: 8px solid currentColor; }
@keyframes hero-camera { from { transform: scale(1); } to { transform: scale(1.025); } }
@keyframes hero-title-reveal { to { opacity: 1; transform: translateY(0); } }
@keyframes hero-fade-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid transparent; border-radius: 6px; font-weight: 700; }
.button--primary { color: #fff; background: var(--color-teal); }
.button--primary:hover { background: var(--color-teal-dark); }
.button--secondary { color: #fff; border-color: rgba(255,255,255,.55); background: transparent; }
.button--secondary:hover { border-color: #fff; background: rgba(255,255,255,.08); }

.section { padding-block: var(--space-section); }
.section--muted { background: var(--color-muted); }
.section--dark { color: #fff; background: var(--color-dark); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 38px; }
.section-heading--compact { display: block; margin-bottom: 28px; }
.section-heading h2 { max-width: 720px; margin-bottom: 0; font-size: 2.45rem; font-weight: 600; }
.section-heading--centered { flex-direction: column; align-items: center; justify-content: center; gap: 0; text-align: center; }
.section-heading--centered > div { display: flex; flex-direction: column; align-items: center; }
.section-heading--centered .eyebrow { margin-bottom: 14px; font-size: 1.08rem; }
.section-heading--centered h2 { max-width: 900px; font-size: 3.25rem; }
.text-link { flex: 0 0 auto; color: var(--color-teal); font-weight: 600; border-bottom: 1px solid currentColor; }
.text-link::after { content: " →"; }

.metrics { position: relative; z-index: 4; margin-top: 0; padding-block: 58px 62px; background: #fff; border-bottom: 1px solid var(--color-line); }
.metrics__layout { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 2fr); gap: 7%; align-items: end; }
.metrics .section-heading { margin-bottom: 0; }
.metrics .section-heading h2 { max-width: 280px; font-size: 1.65rem; }
.metrics__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.metrics__grid article { position: relative; min-width: 0; padding: 22px 16px 0 0; outline: none; }
.metrics__grid article::before { content: ""; position: absolute; top: 0; left: 0; width: 34px; height: 2px; background: var(--color-blue); transform: scaleX(0); transform-origin: left; transition: transform .35s ease var(--metric-delay); }
.metrics__grid article:nth-child(even)::before { background: var(--color-green); }
.metrics__grid strong { display: block; color: var(--color-blue); font-size: 2.35rem; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; transition: color .25s, transform .35s cubic-bezier(.22,1,.36,1); }
.metrics__grid article:nth-child(even) strong { color: var(--color-green); }
.metrics__grid span { display: block; margin-top: 13px; color: var(--color-ink-soft); font-size: .86rem; }
.metrics__grid article:hover strong, .metrics__grid article:focus-visible strong { color: var(--color-blue); transform: translateY(-3px); }
.metrics__grid article:focus-visible::after { content: ""; position: absolute; inset: 10px 10px -10px -10px; border: 1px solid rgba(51,122,139,.45); pointer-events: none; }
.reveal-ready [data-reveal="metrics"] article { opacity: 1; transform: none; }
.reveal-ready [data-reveal="metrics"] strong, .reveal-ready [data-reveal="metrics"] span { opacity: 0; transform: translateY(10px); transition: opacity .45s ease calc(var(--metric-delay) + 150ms), transform .5s cubic-bezier(.22,1,.36,1) calc(var(--metric-delay) + 150ms); }
.reveal-ready [data-reveal="metrics"].is-visible article::before { transform: scaleX(1); }
.reveal-ready [data-reveal="metrics"].is-visible strong, .reveal-ready [data-reveal="metrics"].is-visible span { opacity: 1; transform: none; }

.home-products { overflow: hidden; background: #f8faf9; }
.home-products .section-heading h2, .home-news .section-heading h2, .partners .section-heading h2 { font-size: 2.45rem; }
.home-product-grid { border-top: 1px solid var(--color-line); }
.home-product { min-width: 0; display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 7%; align-items: center; padding-block: 52px; border-bottom: 1px solid var(--color-line); }
.home-product:first-child { padding-top: 34px; }
.home-product__media { position: relative; grid-column: 2; grid-row: 1; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #dde5e3; }
.home-product__media::after { content: ""; position: absolute; inset: 0; background: rgba(10,26,31,0); transition: background-color .7s ease; }
.home-product__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.22,1,.36,1); }
.home-product:hover .home-product__media img { transform: scale(1.04); }
.home-product:hover .home-product__media::after { background: rgba(10,26,31,.08); }
.home-product__index { position: absolute; z-index: 1; top: 18px; left: 20px; color: #fff; font-size: .78rem; font-weight: 600; }
.home-product__body { grid-column: 1; grid-row: 1; min-width: 0; }
.home-product--reverse { grid-template-columns: minmax(0, 1.28fr) minmax(260px, .72fr); }
.home-product--reverse .home-product__media { grid-column: 1; }
.home-product--reverse .home-product__body { grid-column: 2; }
.home-product__category { margin-bottom: 12px; color: var(--color-green); font-size: .76rem; font-weight: 600; }
.home-product h3 { margin-bottom: 15px; font-size: 1.75rem; font-weight: 600; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.home-product:hover h3 { transform: translateX(4px); }
.home-product h3 a:hover { color: var(--color-blue); }
.home-product__body > p { margin-bottom: 24px; color: var(--color-ink-soft); }
.home-product__link { display: inline-flex; align-items: center; gap: 12px; color: var(--color-ink); font-size: .86rem; font-weight: 500; transition: color .25s; }
.home-product__link span:last-child { color: var(--color-coral); transition: transform .3s cubic-bezier(.22,1,.36,1); }
.home-product__link:hover, .home-product__link:focus-visible { color: var(--color-blue); outline: none; }
.home-product__link:hover span:last-child, .home-product__link:focus-visible span:last-child { transform: translateX(6px); }
.home-products__entry { display: flex; justify-content: center; padding-top: 34px; }
.boxed-link, .inner-tabs a { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 8px 18px; border: 1px solid #94a4a7; border-radius: 3px; color: var(--color-ink); background: transparent; font-size: .88rem; font-weight: 550; white-space: nowrap; transition: color .25s, border-color .25s, background-color .25s, transform .25s cubic-bezier(.22,1,.36,1); }
.boxed-link:hover, .boxed-link:focus-visible, .inner-tabs a:hover, .inner-tabs a:focus-visible { color: var(--color-blue); border-color: var(--color-blue); background: rgba(51,122,139,.07); outline: none; }
.boxed-link span:last-child { color: var(--color-coral); transition: transform .25s cubic-bezier(.22,1,.36,1); }
.boxed-link:hover span:last-child, .boxed-link:focus-visible span:last-child { transform: translateX(4px); }
.reveal-ready .home-product .home-product__media { opacity: 0; transform: translateY(18px) scale(.985); transition: opacity .62s ease calc(var(--reveal-delay, 0ms) + 50ms), transform .72s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay, 0ms) + 50ms); }
.reveal-ready .home-product.is-visible .home-product__media { opacity: 1; transform: none; }

.home-news { background: #edf3f3; }
.home-news-list { border-top: 1px solid #b8c8c8; }
.home-news-row { border-bottom: 1px solid #b8c8c8; }
.home-news-row__link { display: grid; grid-template-columns: 150px minmax(0, 1fr) 290px; gap: 42px; align-items: center; min-height: 218px; padding: 28px 16px; margin-inline: -16px; transition: background-color .3s; }
.home-news-row--lead .home-news-row__link { min-height: 254px; padding-block: 34px; }
.home-news-row__meta { align-self: start; display: grid; gap: 10px; padding-top: 6px; color: var(--color-ink-soft); font-size: .8rem; font-variant-numeric: tabular-nums; }
.home-news-row__meta time { color: #6e7c80; font-size: 1.08rem; }
.home-news-row__meta span { color: var(--color-green); font-weight: 650; }
.home-news-row__body { min-width: 0; }
.home-news-row__body h3 { margin-bottom: 12px; font-size: 1.48rem; font-weight: 600; transition: color .3s; }
.home-news-row--lead .home-news-row__body h3 { font-size: 1.72rem; }
.home-news-row__body p { display: -webkit-box; overflow: hidden; margin-bottom: 20px; color: var(--color-ink-soft); font-size: .94rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-news-row--lead .home-news-row__body p { -webkit-line-clamp: 3; }
.home-news-row__action { display: inline-flex; align-items: center; min-height: 38px; padding: 7px 14px; border: 1px solid #8e9da0; border-radius: 3px; color: var(--color-ink); font-size: .82rem; font-weight: 550; transition: color .3s, border-color .3s, background-color .3s, transform .3s cubic-bezier(.22,1,.36,1); }
.home-news-row__media { width: 100%; aspect-ratio: 900 / 383; overflow: hidden; margin: 0; background: #e8edeb; }
.home-news-row__media img { width: 100%; height: 100%; object-fit: contain; transition: opacity .3s; }
.home-news-row__link:hover, .home-news-row__link:focus-visible { background: rgba(255,255,255,.34); outline: none; }
.home-news-row__link:hover h3, .home-news-row__link:focus-visible h3 { color: var(--color-blue); }
.home-news-row__link:hover .home-news-row__media img, .home-news-row__link:focus-visible .home-news-row__media img { opacity: .92; }
.home-news-row__link:hover .home-news-row__action, .home-news-row__link:focus-visible .home-news-row__action { color: #fff; border-color: var(--color-blue); background: var(--color-blue); transform: scale(1.035); }
.section-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; }
.section-actions .boxed-link { width: 220px; min-height: 62px; padding-inline: 24px; font-size: .98rem; }
.home-news-categories { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 34px; padding-top: 24px; border-top: 1px solid #b8c8c8; }
.home-news-categories a { font-size: .86rem; }

.reveal-ready [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .72s ease var(--reveal-delay, 0ms), transform .78s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms); }
.reveal-ready [data-reveal="heading"] { transform: translateY(22px); }
.reveal-ready [data-reveal="line"] { transform: none; clip-path: inset(0 100% 0 0); transition: clip-path .9s cubic-bezier(.22,1,.36,1), opacity .3s; }
.reveal-ready [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.reveal-ready [data-reveal="line"].is-visible { clip-path: inset(0); }
.reveal-ready [data-reveal="metrics"] article { opacity: 1; transform: none; }

.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.product-card { min-width: 0; background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-card); }
.product-card__media { aspect-ratio: 4 / 3; }
.placeholder-media { display: grid; place-items: center; color: #75909a; background: #dfe9eb; }
.placeholder-media span { font-size: 3rem; font-weight: 800; opacity: .55; }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; }
.product-card__body { padding: 23px; }
.product-card__category, .news-row__category { margin-bottom: 8px; color: var(--color-teal); font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.product-card h3 { margin-bottom: 10px; font-size: 1.22rem; }
.product-card h3 a:hover, .news-row h3 a:hover { color: var(--color-teal); }
.product-card__body > p:last-child, .news-row > div > p:last-child { margin-bottom: 0; color: var(--color-ink-soft); }

.news-list { border-top: 1px solid var(--color-line); }
.news-row { display: grid; grid-template-columns: 94px 1fr; gap: 28px; padding: 28px 0; border-bottom: 1px solid var(--color-line); }
.news-row time { display: flex; flex-direction: column; color: var(--color-ink-soft); }
.news-row time strong { color: var(--color-ink); font-size: 2rem; line-height: 1; }
.news-row time span { margin-top: 7px; font-size: .8rem; }
.news-row h3 { margin-bottom: 8px; font-size: 1.24rem; }

.partners { position: relative; overflow: hidden; background: #151d21; }
.partners__media { position: absolute; inset: -28px 0; }
.partners__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); will-change: transform; }
.partners__overlay { position: absolute; inset: 0; background: rgba(13,23,26,.7); }
.partners > .container { position: relative; z-index: 1; }
.partner-showcase { position: relative; }
.partner-viewport { width: 100%; overflow: hidden; scrollbar-width: none; }
.partner-track { width: max-content; display: flex; }
.partner-showcase--static-one .partner-track, .partner-showcase--static-grid .partner-track { width: 100%; }
.partner-showcase--marquee .partner-track { animation: partner-marquee 48s linear infinite; }
.partner-showcase--marquee:hover .partner-track, .partner-showcase--marquee:focus-within .partner-track { animation-play-state: paused; }
.partner-group { display: flex; align-items: center; gap: 18px; padding-right: 18px; }
.partner-showcase--static-one .partner-group { width: 100%; justify-content: center; padding-right: 0; }
.partner-showcase--static-grid .partner-group { width: 100%; display: grid; grid-auto-flow: column; grid-template-rows: repeat(2, 94px); grid-auto-columns: minmax(150px, 1fr); gap: 12px 22px; padding-right: 0; }
.partner-showcase--marquee .partner-group { display: grid; grid-auto-flow: column; grid-template-rows: repeat(2, 94px); grid-auto-columns: 205px; gap: 12px 18px; }
.partner-item { min-width: 205px; height: 94px; display: flex; align-items: center; justify-content: center; padding: 8px 12px; }
.partner-showcase--static-one .partner-item { min-width: min(210px, 18vw); }
.partner-showcase--static-grid .partner-item { min-width: 0; }
.partner-item img { width: 100%; max-width: 188px; max-height: 72px; object-fit: contain; opacity: 1; transition: transform .3s; }
.partner-item:hover img { transform: scale(1.04); }
@keyframes partner-marquee { to { transform: translateX(-50%); } }

.site-footer { color: #bdc6c9; background: #11181b; }
.site-footer__main { display: flex; justify-content: space-between; gap: 40px; padding-block: 48px; }
.site-footer__brand { display: flex; align-items: center; gap: 14px; color: #fff; }
.site-footer__brand p { margin: 3px 0 0; color: #929fa3; font-size: .85rem; }
.site-footer__contact { display: grid; gap: 5px; color: #bdc6c9; font-style: normal; text-align: right; }
.site-footer__contact a:hover { color: #b8ded8; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 24px; padding-block: 18px; border-top: 1px solid rgba(255,255,255,.12); color: #7f8d91; font-size: .78rem; }
.page-scroll-progress { position: fixed; z-index: 90; top: 24%; right: 10px; width: 1px; height: 52%; background: rgba(51,122,139,.18); pointer-events: none; }
.page-scroll-progress span { display: block; width: 1px; height: 100%; background: var(--color-coral); transform: scaleY(0); transform-origin: top; }

.page-hero { position: relative; min-height: 520px; display: flex; align-items: end; overflow: hidden; padding: calc(var(--header-height) + 90px) 0 78px; color: #fff; background: #173f4a; }
.page-hero::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(10,21,24,.8), rgba(10,21,24,.32) 68%, rgba(10,21,24,.12)), linear-gradient(0deg, rgba(10,21,24,.45), transparent 48%); }
.page-hero__media { position: absolute; inset: -28px 0; }
.page-hero__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); will-change: transform; }
.page-hero__inner { position: relative; z-index: 1; }
.page-hero h1 { max-width: 760px; margin-bottom: 15px; font-size: clamp(2.4rem, 5vw, 4.4rem); }
.page-hero__inner > p:last-child { max-width: 650px; margin-bottom: 0; color: #c4d6da; }
.page-hero__index { position: absolute; right: max(24px, calc((100vw - var(--container)) / 2)); bottom: -34px; color: rgba(255,255,255,.08); font-size: 12rem; font-weight: 800; line-height: 1; }
.about-intro { padding-bottom: 0; background: #f8faf9; }
.about-intro__grid { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: 9%; }
.about-intro h2 { max-width: 420px; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.about-section-divider { margin-top: clamp(72px, 8vw, 112px); border-top: 1px solid #c9d5d3; }
.about-history { padding-top: clamp(72px, 8vw, 104px); background: #f1f5f3; }
.prose-lead > p { margin-bottom: 34px; color: var(--color-ink-soft); font-size: 1.12rem; }
.about-facts { margin: 0; border-top: 1px solid var(--color-line); }
.about-facts > div { display: grid; grid-template-columns: 150px 1fr; gap: 24px; padding: 15px 0; border-bottom: 1px solid var(--color-line); }
.about-facts dt { color: var(--color-ink-soft); font-size: .84rem; }
.about-facts dd { margin: 0; font-weight: 650; }
.capability-list { border-top: 1px solid var(--color-line); }
.capability-item { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(36px, 4.5vw, 56px); align-items: center; padding-block: 38px; border-bottom: 1px solid var(--color-line); }
.capability-item__media { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-muted); }
.capability-item__media img { width: 100%; height: 100%; object-fit: cover; transition: opacity .7s ease, transform .9s cubic-bezier(.22,1,.36,1); }
.capability-slideshow__slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.capability-slideshow__slide.is-active { opacity: 1; }
.capability-item:hover .capability-slideshow__slide.is-active { transform: scale(1.035); }
.capability-slideshow__dots { position: absolute; z-index: 2; right: 18px; bottom: 16px; display: flex; align-items: center; gap: 8px; padding: 7px 9px; background: rgba(15,27,30,.52); backdrop-filter: blur(5px); }
.capability-slideshow__dots button { width: 9px; height: 9px; padding: 0; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: transparent; cursor: pointer; transition: background-color .2s, transform .2s; }
.capability-slideshow__dots button[aria-current="true"] { background: #fff; transform: scale(1.18); }
.capability-item__content { max-width: 620px; }
.capability-item__number { display: block; margin-bottom: 28px; color: var(--color-blue); font-size: .78rem; font-weight: 600; }
.capability-item:nth-child(2) .capability-item__number { color: var(--color-green); }
.capability-item:nth-child(n+2) { padding-block: 38px; }
.capability-item:nth-child(even) .capability-item__media { order: 2; }
.capability-item:nth-child(even) .capability-item__content { order: 1; }
.capability-item h3 { margin-bottom: 14px; font-size: 1.7rem; font-weight: 600; }
.capability-item p { margin-bottom: 0; color: var(--color-ink-soft); }
.timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.timeline::before { content: ""; position: absolute; top: 10px; bottom: 10px; left: 148px; width: 1px; background: #aac4c9; }
.timeline li { position: relative; display: grid; grid-template-columns: 120px 32px 1fr; gap: 12px; align-items: start; min-height: 90px; }
.timeline time { color: var(--color-teal); font-size: 1.45rem; font-weight: 750; line-height: 1.2; text-align: right; }
.timeline__marker { z-index: 1; width: 13px; height: 13px; margin: 5px auto 0; border: 3px solid var(--color-muted); border-radius: 50%; background: var(--color-teal); box-shadow: 0 0 0 1px var(--color-teal); }
.timeline p { max-width: 660px; margin-bottom: 0; padding-left: 18px; color: var(--color-ink-soft); }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.team-card { border: 1px solid var(--color-line); border-radius: var(--radius); overflow: hidden; background: #fff; }
.team-card__portrait { aspect-ratio: 4 / 3; }
.team-card__portrait img { width: 100%; height: 100%; object-fit: cover; }
.team-card__content { padding: 23px; }
.team-card__role { margin-bottom: 7px; color: var(--color-teal); font-size: .77rem; font-weight: 700; }
.team-card h3 { margin-bottom: 10px; font-size: 1.25rem; }
.team-card__content > p:last-child { margin-bottom: 0; color: var(--color-ink-soft); }
.dialog-close { position: absolute; top: 8px; right: 8px; z-index: 1; width: 38px; height: 38px; border: 0; border-radius: 50%; color: #fff; background: rgba(10,32,40,.78); font-size: 1.5rem; line-height: 1; }
.contact-grid { display: grid; grid-template-columns: minmax(240px, .78fr) minmax(0, 1.22fr); gap: 10%; }
.contact-details h2 { margin-bottom: 15px; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.contact-details__intro { max-width: 390px; color: var(--color-ink-soft); }
.contact-list { margin: 38px 0 0; border-top: 1px solid var(--color-line); }
.contact-list > div { display: grid; grid-template-columns: 75px 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--color-line); }
.contact-list dt { color: var(--color-ink-soft); font-size: .84rem; }
.contact-list dd { margin: 0; font-weight: 650; }
.contact-list a:hover { color: var(--color-teal); }
.contact-form-panel { min-height: 360px; padding: 0 0 0 8%; border-left: 1px solid var(--color-line); background: #fff; }
.form-disabled { display: grid; place-items: start; align-content: center; min-height: 300px; }
.form-disabled__icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 20px; color: var(--color-teal); border: 1px solid var(--color-teal); border-radius: 50%; font-size: 1.5rem; }
.form-disabled h2 { margin-bottom: 8px; font-size: 1.45rem; }
.form-disabled p { margin-bottom: 0; color: var(--color-ink-soft); }
.form-alert { margin-bottom: 18px; padding: 13px 15px; border-left: 3px solid var(--color-teal); background: #eaf4f5; }
.form-alert--error { border-color: var(--color-coral); background: #fff3ef; }
.form-notice { margin-bottom: 22px; color: var(--color-coral); font-size: .88rem; font-weight: 650; }
.contact-form { display: grid; gap: 16px; }
.contact-form label { display: grid; gap: 7px; color: var(--color-ink-soft); font-size: .84rem; font-weight: 650; }
.contact-form input:not([type="checkbox"]), .contact-form textarea { width: 100%; padding: 11px 13px; color: var(--color-ink); border: 1px solid var(--color-line); border-radius: 5px; background: #fbfdfd; outline: 0; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--color-teal); box-shadow: 0 0 0 3px rgba(8,127,140,.12); }
.captcha-row { display: grid; grid-template-columns: 1fr 150px; align-items: end; gap: 12px; }
.captcha-image { width: 150px; height: 44px; object-fit: cover; border: 1px solid var(--color-line); border-radius: 5px; }
.checkbox-label { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 8px !important; }
.checkbox-label input { width: 16px; height: 16px; accent-color: var(--color-teal); }
.contact-form .button { justify-self: start; }
.map-placeholder { position: relative; min-height: 220px; display: grid; place-items: center; overflow: hidden; color: var(--color-ink-soft); background: #dce9eb; }
.map-placeholder__grid { position: absolute; inset: 0; opacity: .5; background-image: linear-gradient(45deg, transparent 48%, rgba(8,127,140,.12) 49%, rgba(8,127,140,.12) 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, rgba(8,127,140,.12) 49%, rgba(8,127,140,.12) 51%, transparent 52%); background-size: 70px 70px; }
.map-placeholder .container { position: relative; z-index: 1; text-align: center; }
.company-map { padding: 0 0 clamp(50px, 7vw, 90px); background: #f7faf9; }
.company-map img { display: block; width: 100%; height: auto; max-height: 680px; object-fit: contain; border: 1px solid var(--color-line); background: #fff; }
.catalog-count { margin: 0; color: var(--color-ink-soft); }
.catalog-count strong { color: var(--color-teal); font-size: 1.6rem; }
.category-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; padding-bottom: 16px; border-bottom: 1px solid var(--color-line); }
.category-tabs a { min-height: 38px; display: inline-flex; align-items: center; padding: 0 15px; color: var(--color-ink-soft); border: 1px solid var(--color-line); border-radius: 5px; background: #fff; }
.category-tabs a:hover, .category-tabs a.is-active { color: #fff; border-color: var(--color-teal); background: var(--color-teal); }
.catalog-product-list { border-top: 1px solid var(--color-line); }
.catalog-product { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(280px, .78fr); gap: 7%; align-items: center; padding-block: 52px; border-bottom: 1px solid var(--color-line); }
.catalog-product:nth-child(even) { grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr); }
.catalog-product:nth-child(even) .catalog-product__media { grid-column: 2; grid-row: 1; }
.catalog-product:nth-child(even) .catalog-product__body { grid-column: 1; grid-row: 1; }
.catalog-product__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--color-muted); }
.catalog-product__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.22,1,.36,1); }
.catalog-product:hover .catalog-product__media img { transform: scale(1.035); }
.catalog-product__media > span { position: absolute; top: 18px; left: 20px; color: #fff; font-size: .78rem; font-weight: 600; }
.catalog-product__category { margin-bottom: 12px; color: var(--color-green); font-size: .76rem; font-weight: 600; }
.catalog-product h3 { margin-bottom: 15px; font-size: 1.8rem; font-weight: 600; }
.catalog-product__body > p { color: var(--color-ink-soft); }
.catalog-product__link { display: inline-flex; align-items: center; gap: 12px; margin-top: 10px; font-size: .86rem; font-weight: 550; }
.catalog-product__link span:last-child { color: var(--color-coral); transition: transform .3s; }
.catalog-product__link:hover span:last-child { transform: translateX(6px); }
.product-grid--catalog { row-gap: 30px; }
.product-card__link { display: inline-block; margin-top: 17px; font-size: .86rem; }
.empty-state { padding: 26px; color: var(--color-ink-soft); border: 1px dashed #adc3c8; border-radius: var(--radius); background: var(--color-muted); }
.detail-hero { padding: calc(var(--header-height) + 38px) 0 42px; color: #d9e7e9; background: var(--color-dark); }
.detail-hero__inner { display: grid; gap: 18px; }
.detail-hero__inner .eyebrow { margin: 28px 0 0; color: #b6d9dd; }
.detail-hero__inner h1 { max-width: 900px; margin: 0; color: #fff; font-size: clamp(2.2rem, 5vw, 4.2rem); }
.detail-hero__breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; font-size: .83rem; }
.detail-hero__breadcrumb a:hover { color: #71d7d6; }
.product-detail__top { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 7%; align-items: start; }
.product-gallery__viewport { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--color-line); background: var(--color-muted); }
.product-gallery__slide { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity .25s; }
.product-gallery__slide.is-active { opacity: 1; visibility: visible; }
.product-gallery__slide img, .product-gallery__slide .placeholder-media { width: 100%; height: 100%; object-fit: cover; }
.carousel-controls { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 12px; }
.carousel-controls button { width: 38px; height: 38px; border: 1px solid var(--color-line); border-radius: 5px; color: var(--color-ink); background: #fff; font-size: 1.1rem; }
.carousel-controls button:hover { color: #fff; border-color: var(--color-teal); background: var(--color-teal); }
.carousel-controls span { color: var(--color-ink-soft); font-size: .82rem; }
.product-detail__summary { padding-top: 14px; }
.product-detail__label { margin-bottom: 28px; color: var(--color-green); font-size: .78rem; font-weight: 650; }
.product-detail__summary h1 { margin-bottom: 20px; font-size: clamp(2.1rem, 4vw, 3.7rem); }
.product-detail__description { color: var(--color-ink-soft); font-size: 1.08rem; }
.product-detail__note { margin: 28px 0; padding: 16px; color: var(--color-ink-soft); border-left: 3px solid var(--color-coral); background: #fff4f0; font-size: .87rem; }
.product-detail__sections { display: grid; grid-template-columns: 1fr 1fr; gap: 7%; margin-top: 80px; padding-top: 60px; border-top: 1px solid var(--color-line); }
.feature-list { margin: 0; border-top: 1px solid var(--color-line); }
.feature-list > div { display: grid; grid-template-columns: 150px 1fr; gap: 24px; padding: 15px 0; border-bottom: 1px solid var(--color-line); }
.feature-list dt { color: var(--color-ink-soft); }
.feature-list dd { margin: 0; font-weight: 650; }
.attachment-list { display: grid; gap: 8px; }
.attachment-list a { display: flex; justify-content: space-between; gap: 20px; padding: 14px 16px; border: 1px solid var(--color-line); border-radius: 5px; }
.attachment-list a:hover { border-color: var(--color-teal); }
.attachment-list small { color: var(--color-ink-soft); }
.detail-back { margin-top: 54px; }
.news-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.news-category-tabs { display: flex; gap: 30px; margin-bottom: 34px; border-bottom: 1px solid var(--color-line); }
.news-category-tabs a { position: relative; min-height: 44px; display: inline-flex; align-items: flex-start; color: var(--color-ink-soft); font-size: .9rem; font-weight: 500; }
.news-category-tabs a::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--color-blue); transform: scaleX(0); transform-origin: left; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.news-category-tabs a:hover, .news-category-tabs a.is-active { color: var(--color-ink); }
.news-category-tabs a:hover::after, .news-category-tabs a.is-active::after { transform: scaleX(1); }
.news-editorial-list { border-top: 1px solid var(--color-line); }
.news-editorial-item { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 7%; align-items: center; padding-block: 44px; border-bottom: 1px solid var(--color-line); }
.news-editorial-item--featured { grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); padding-block: 34px 58px; }
.news-editorial-item__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--color-muted); }
.news-editorial-item__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.22,1,.36,1); }
.news-editorial-item:hover .news-editorial-item__media img { transform: scale(1.035); }
.news-editorial-item__meta { display: flex; gap: 18px; margin-bottom: 14px; color: var(--color-ink-soft); font-size: .76rem; }
.news-editorial-item__meta span { color: var(--color-green); font-weight: 650; }
.news-editorial-item h3 { max-width: 680px; margin-bottom: 14px; font-size: 1.55rem; font-weight: 600; }
.news-editorial-item--featured h3 { font-size: 2rem; }
.news-editorial-item__body > p { color: var(--color-ink-soft); }
.news-editorial-item__link { display: inline-flex; align-items: center; gap: 12px; margin-top: 8px; font-size: .86rem; font-weight: 550; }
.news-editorial-item__link span:last-child { color: var(--color-coral); }
.news-card { display: grid; grid-template-columns: 210px 1fr; min-width: 0; border: 1px solid var(--color-line); border-radius: var(--radius); overflow: hidden; background: #fff; }
.news-card--featured { grid-column: 1 / -1; grid-template-columns: 1.1fr .9fr; }
.news-cards--2 .news-card, .news-cards--2 .news-card--featured { grid-column: auto; grid-template-columns: 1fr; }
.news-cards--2 .news-card__media { min-height: 0; aspect-ratio: 16 / 9; }
.news-card__media { min-height: 230px; background: var(--color-muted); }
.news-card__media img { width: 100%; height: 100%; object-fit: cover; }
.news-card__body { padding: 24px; }
.news-card__meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 13px; color: var(--color-ink-soft); font-size: .76rem; }
.news-card__meta span { color: var(--color-teal); font-weight: 700; }
.news-card h3 { margin-bottom: 10px; font-size: 1.3rem; }
.news-card--featured h3 { font-size: clamp(1.5rem, 2.5vw, 2.2rem); }
.news-card__body > p { color: var(--color-ink-soft); }
.news-card__body .text-link { display: inline-block; margin-top: 10px; font-size: .84rem; }
.article-header { position: relative; min-height: 520px; display: flex; align-items: end; overflow: hidden; padding: calc(var(--header-height) + 50px) 0 70px; color: #fff; background: var(--color-dark); }
.article-header__media, .article-header__overlay { position: absolute; inset: 0; }
.article-header__media img { width: 100%; height: 100%; object-fit: cover; }
.article-header__overlay { background: linear-gradient(90deg, rgba(10,20,23,.88), rgba(10,20,23,.42) 72%), linear-gradient(0deg, rgba(10,20,23,.48), transparent 55%); }
.article-header__inner { position: relative; z-index: 1; }
.article-header .detail-hero__breadcrumb { margin-bottom: 54px; color: #a9bdc1; }
.article-header h1 { max-width: 900px; margin-bottom: 22px; font-size: clamp(2.2rem, 5vw, 4.2rem); }
.article-header time { color: #9db3b8; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 8%; padding-block: 70px 90px; }
.article-cover { margin: 0 0 34px; overflow: hidden; }
.article-cover img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.article-summary { padding-left: 20px; color: var(--color-ink); border-left: 3px solid var(--color-teal); font-size: 1.12rem; font-weight: 650; }
.article-content { margin-top: 34px; color: var(--color-ink-soft); }
.article-content p { margin-bottom: 1.2em; }
.article-content h2, .article-content h3 { margin-top: 1.8em; color: var(--color-ink); }
.article-back { display: inline-block; margin-top: 42px; }
.article-aside { align-self: start; display: grid; gap: 8px; padding: 20px 0; border-top: 2px solid var(--color-coral); border-bottom: 1px solid var(--color-line); }
.article-aside span { color: var(--color-ink-soft); font-size: .76rem; }
.article-aside p { margin: 5px 0 0; color: var(--color-ink-soft); font-size: .86rem; }
.not-found { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; padding: calc(var(--header-height) + 40px) 0 70px; color: #fff; background: var(--color-dark); }
.not-found::after { content: ""; position: absolute; inset: 0; background: rgba(10,20,23,.78); }
.not-found__media { position: absolute; inset: 0; }
.not-found__media img { width: 100%; height: 100%; object-fit: cover; }
.not-found__grid { position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 52px 52px; }
.not-found__content { position: relative; z-index: 2; }
.not-found__code { position: absolute; top: 50%; right: 0; margin: 0; color: rgba(255,255,255,.055); font-size: clamp(12rem, 32vw, 28rem); font-weight: 850; line-height: .7; transform: translateY(-50%); }
.not-found h1 { position: relative; max-width: 680px; margin-bottom: 16px; font-size: clamp(2.5rem, 6vw, 5rem); }
.not-found__content > p:not(.not-found__code):last-of-type { position: relative; max-width: 560px; color: #bed0d4; }
.not-found__actions { position: relative; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

@media (max-width: 920px) {
  :root { --space-section: 72px; }
  .nav-toggle { position: relative; z-index: 2; display: block; flex: 0 0 42px; margin-left: auto; color: #fff; }
  .site-header.is-scrolled .nav-toggle { color: var(--color-ink); }
  .site-header--dark-on-light .nav-toggle { color: var(--color-ink); }
  .site-header--hero-dark-text .nav-toggle { color: var(--color-ink); }
  .primary-nav { position: fixed; inset: var(--header-height) 0 auto; height: calc(100vh - var(--header-height)); padding: 24px; color: var(--color-ink); background: #fff; transform: translateX(100%); transition: transform .25s; }
  .site-header.is-scrolled .primary-nav { inset-block-start: var(--header-height); height: calc(100vh - var(--header-height)); }
  .primary-nav.is-open { transform: translateX(0); }
  .primary-nav ul { height: auto; display: grid; align-items: stretch; gap: 4px; }
  .primary-nav a { justify-content: start; min-height: 48px; padding: 0 8px; border-bottom: 1px solid var(--color-line); }
  .primary-nav a::after { display: none; }
  .primary-nav > ul > li { position: relative; height: auto; display: block; }
  .primary-nav .subnav { position: static; display: grid; width: 100%; min-width: 0; max-width: none; max-height: 0; padding: 0 0 0 16px; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; opacity: 0; visibility: hidden; pointer-events: none; transform: none; overflow: hidden; transition: max-height .34s cubic-bezier(.22,1,.36,1), opacity .2s ease, visibility 0s linear .34s; }
  .primary-nav .has-subnav.is-subnav-open .subnav { max-height: 360px; padding-top: 2px; opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
  .primary-nav .subnav li, .primary-nav .has-subnav.is-subnav-open .subnav li { opacity: 1; transform: none; transition: none; }
  .primary-nav .subnav a { justify-content: start; min-height: 42px; padding-inline: 8px; color: var(--color-ink); text-align: left; }
  .subnav-toggle { position: absolute; top: 3px; right: 0; width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; }
  .subnav-toggle > span:last-child { width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .25s; }
  .subnav-toggle[aria-expanded="true"] > span:last-child { transform: translateY(2px) rotate(225deg); }
  .home-hero h1 { font-size: 3.1rem; }
  .metrics__layout { grid-template-columns: 1fr; gap: 32px; }
  .metrics .section-heading h2 { max-width: 460px; }
  .home-product { grid-template-columns: minmax(220px, .78fr) minmax(0, 1.22fr); gap: 5%; }
  .home-product--reverse { grid-template-columns: minmax(0, 1.22fr) minmax(220px, .78fr); }
  .home-news-row__link { grid-template-columns: 125px minmax(0, 1fr) 230px; gap: 28px; }
  .news-catalog-row__link { grid-template-columns: 220px minmax(0, 1fr); gap: 28px; }
  .capability-item, .capability-item:nth-child(n+2) { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 36px; }
  .catalog-product, .catalog-product:nth-child(even) { grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr); gap: 5%; }
  .catalog-product:nth-child(even) { grid-template-columns: minmax(260px, .9fr) minmax(0, 1.1fr); }
  .news-editorial-item, .news-editorial-item--featured { grid-template-columns: minmax(260px, .9fr) minmax(0, 1.1fr); gap: 5%; }
  .contact-grid { gap: 6%; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .product-card:last-child { grid-column: 1 / -1; max-width: calc(50% - 11px); }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .team-card:last-child { grid-column: 1 / -1; max-width: calc(50% - 11px); }
  .section-heading--centered h2 { font-size: 2.5rem; }
  .partner-showcase--static-grid .partner-group { grid-auto-columns: minmax(130px, 1fr); }
}

@media (max-width: 640px) {
  :root { --header-height: 68px; --space-section: 58px; }
  .container { width: min(100% - 32px, var(--container)); }
  .site-header__inner { gap: 12px; }
  .brand__name { font-size: 1.14rem; }
  .home-hero { height: 100svh; min-height: 560px; }
  .home-hero::after { background: linear-gradient(90deg, rgba(11,20,23,.78), rgba(11,20,23,.28)), linear-gradient(0deg, rgba(11,20,23,.64), transparent 58%); }
  .home-hero__slide img { object-position: 62% center; }
  .home-hero__content { padding-top: calc(var(--header-height) + 32px); padding-bottom: 82px; }
  .home-hero__brand { font-size: 1.15rem; }
  .home-hero h1 { font-size: 2.35rem; }
  .home-hero__summary { font-size: .95rem; }
  .home-hero__actions { flex-wrap: wrap; margin-top: 28px; }
  .home-hero__controls { bottom: 28px; justify-content: center; }
  .home-hero__dots { gap: 8px; }
  .section-heading { align-items: start; flex-direction: column; margin-bottom: 28px; }
  .section-heading--centered { align-items: center; text-align: center; }
  .section-heading--centered .eyebrow { font-size: .92rem; }
  .section-heading--centered h2 { font-size: 2rem; }
  .home-products .section-heading h2, .home-news .section-heading h2, .partners .section-heading h2 { font-size: 2rem; }
  .section-heading h2 { font-size: 2rem; }
  .metrics { margin-top: 0; padding-block: 48px 52px; }
  .metrics__grid { grid-template-columns: repeat(3, 1fr); column-gap: 12px; }
  .metrics__grid article { padding: 20px 16px 0 0; }
  .metrics__grid strong { font-size: 2.2rem; }
  .home-product { grid-template-columns: 1fr; gap: 26px; padding-block: 38px; }
  .home-product__media { grid-column: 1; grid-row: 1; aspect-ratio: 4 / 3; }
  .home-product__body { grid-column: 1; grid-row: 2; }
  .home-product--reverse { grid-template-columns: 1fr; }
  .home-product--reverse .home-product__media { grid-column: 1; grid-row: 1; }
  .home-product--reverse .home-product__body { grid-column: 1; grid-row: 2; }
  .home-product h3 { font-size: 1.45rem; }
  .home-news-row__link, .home-news-row--lead .home-news-row__link { grid-template-columns: 1fr; grid-template-areas: "media" "meta" "body"; gap: 18px; min-height: 0; padding: 28px 0; margin-inline: 0; }
  .home-news-row__media { grid-area: media; aspect-ratio: 900 / 383; }
  .home-news-row__meta { grid-area: meta; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 0; }
  .home-news-row__meta time { font-size: .88rem; }
  .home-news-row__body { grid-area: body; }
  .home-news-row__body h3, .home-news-row--lead .home-news-row__body h3 { font-size: 1.34rem; }
  .home-news-row__body p, .home-news-row--lead .home-news-row__body p { -webkit-line-clamp: 3; }
  .home-news-categories { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .home-news-categories a { justify-content: center; min-height: 56px; border: 1px solid #9daeb0; }
  .capability-item, .capability-item:nth-child(n+2) { grid-template-columns: 1fr; gap: 24px; padding-block: 30px; }
  .capability-item__media, .capability-item:nth-child(n+2) .capability-item__media { aspect-ratio: 4 / 3; }
  .capability-item__content, .capability-item:nth-child(n+2) .capability-item__content { max-width: none; }
  .capability-item:nth-child(even) .capability-item__media { order: 1; }
  .capability-item:nth-child(even) .capability-item__content { order: 2; }
  .capability-item__number { margin-bottom: 14px; }
  .capability-item h3 { font-size: 1.4rem; }
  .news-category-tabs { gap: 24px; overflow-x: auto; margin-bottom: 28px; }
  .news-category-tabs a { flex: 0 0 auto; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card:last-child { grid-column: auto; max-width: none; }
  .news-row { grid-template-columns: 64px 1fr; gap: 16px; }
  .partner-viewport { overflow-x: auto; scroll-snap-type: x proximity; }
  .partner-showcase--marquee .partner-track { animation: none; }
  .partner-showcase--static-one .partner-track, .partner-showcase--static-grid .partner-track, .partner-showcase--marquee .partner-track { width: max-content; }
  .partner-showcase--static-one .partner-group, .partner-showcase--static-grid .partner-group, .partner-showcase--marquee .partner-group { width: max-content; display: flex; gap: 14px; padding-right: 16px; }
  .partner-showcase--marquee .partner-group[aria-hidden="true"] { display: none; }
  .partner-item, .partner-showcase--static-one .partner-item, .partner-showcase--static-grid .partner-item { min-width: 172px; height: 88px; padding-inline: 12px; scroll-snap-align: start; }
  .partner-item img { max-width: 152px; max-height: 62px; }
  .page-scroll-progress { display: none; }
  .site-footer__main { flex-direction: column; }
  .site-footer__contact { text-align: left; }
  .site-footer__bottom { flex-direction: column; gap: 5px; }
  .page-hero { min-height: 420px; padding-bottom: 54px; }
  .page-hero__index { right: 10px; font-size: 8rem; }
  .about-intro__grid { grid-template-columns: 1fr; gap: 20px; }
  .about-facts > div { grid-template-columns: 110px 1fr; gap: 16px; }
  .timeline::before { left: 85px; }
  .timeline li { grid-template-columns: 66px 20px 1fr; gap: 9px; min-height: 104px; }
  .timeline time { font-size: 1rem; }
  .timeline p { padding-left: 7px; }
.team-grid { grid-template-columns: 1fr; }
  .team-card:last-child { grid-column: auto; max-width: none; }
  .contact-grid { grid-template-columns: 1fr; gap: 46px; }
  .contact-form-panel { padding: 38px 0 0; border-top: 1px solid var(--color-line); border-left: 0; }
  .captcha-row { grid-template-columns: 1fr 120px; }
  .captcha-image { width: 120px; }
  .category-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 13px; }
  .category-tabs a { flex: 0 0 auto; }
  .catalog-product, .catalog-product:nth-child(even) { grid-template-columns: 1fr; gap: 24px; padding-block: 36px; }
  .catalog-product:nth-child(even) .catalog-product__media, .catalog-product:nth-child(even) .catalog-product__body { grid-column: 1; }
  .catalog-product:nth-child(even) .catalog-product__media { grid-row: 1; }
  .catalog-product:nth-child(even) .catalog-product__body { grid-row: 2; }
  .catalog-product__media { aspect-ratio: 4 / 3; }
  .catalog-product h3 { font-size: 1.45rem; }
  .product-detail__top, .product-detail__sections { grid-template-columns: 1fr; gap: 46px; }
  .product-detail__sections { margin-top: 58px; padding-top: 44px; }
  .feature-list > div { grid-template-columns: 110px 1fr; gap: 14px; }
  .news-cards { grid-template-columns: 1fr; }
  .news-card, .news-card--featured { grid-column: auto; grid-template-columns: 1fr; }
  .news-card__media { min-height: 0; aspect-ratio: 16 / 9; }
  .news-catalog-row__link { grid-template-columns: 1fr; gap: 18px; padding-block: 28px; }
  .news-catalog-row__media { aspect-ratio: 16 / 9; }
  .news-catalog-row__body h3 { font-size: 1.35rem; }
  .catalog-pagination { flex-wrap: wrap; }
  .article-layout { grid-template-columns: 1fr; gap: 46px; padding-block: 48px 64px; }
  .article-header { min-height: 460px; padding-bottom: 52px; }
  .article-header .detail-hero__breadcrumb { margin-bottom: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .home-hero__slide.is-active img, .home-hero__eyebrow, .home-hero__brand, .home-hero h1, .home-hero__summary, .home-hero__actions, .home-hero__controls, .partner-track, .research-gallery__track { animation: none; }
  .home-hero__eyebrow, .home-hero__brand, .home-hero h1, .home-hero__summary, .home-hero__actions, .home-hero__controls { opacity: 1; transform: none; }
  .home-hero__controls { opacity: 1; transform: none; }
  .reveal-ready [data-reveal], .reveal-ready [data-reveal="metrics"] article { opacity: 1; transform: none; clip-path: none; }
}

/* Shared inner-page system */
.inner-hero { position: relative; height: 100svh; min-height: 680px; display: flex; align-items: center; overflow: hidden; padding: calc(var(--header-height) + 44px) 0 52px; color: #fff; background: var(--color-dark); }
.inner-hero__media, .inner-hero__veil { position: absolute; inset: 0; }
.inner-hero__media { inset: -30px 0; }
.inner-hero__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); will-change: transform; }
.inner-hero__veil { background: linear-gradient(90deg, rgba(10,25,28,.82), rgba(10,25,28,.34) 70%, rgba(10,25,28,.16)), linear-gradient(0deg, rgba(10,25,28,.54), transparent 56%); }
.inner-hero__inner { position: relative; z-index: 1; }
.inner-hero__page { margin-bottom: 19px; color: #c1dfe0; font-size: .74rem; font-weight: 650; letter-spacing: .12em; }
.inner-hero .eyebrow { margin-bottom: 12px; color: #b5dfe0; }
.inner-hero h1 { max-width: 850px; margin-bottom: 14px; font-size: clamp(3rem, 5vw, 3.65rem); font-weight: 600; }
.inner-hero__summary { max-width: 650px; margin-bottom: 28px; color: #d6e3e4; font-size: 1rem; }
.inner-hero__crumb { display: flex; gap: 9px; color: #b8cbce; font-size: .78rem; }
.inner-hero__crumb a:hover { color: #fff; }
.section-heading--directory { margin-bottom: 24px; }
.section-heading--directory h2 { font-size: 3.25rem; }
.inner-tabs { position: sticky; z-index: 10; top: 64px; display: flex; flex-wrap: nowrap; justify-content: center; gap: 10px; margin-bottom: 36px; padding: 12px 0 14px; overflow-x: auto; border-bottom: 1px solid var(--color-line); background: rgba(244,247,246,.96); }
.inner-tabs { scrollbar-width: none; -ms-overflow-style: none; }
.inner-tabs::-webkit-scrollbar { display: none; }
.inner-tabs a { position: relative; flex: 0 0 auto; }
.inner-tabs a.is-active { color: #fff; border-color: var(--color-blue); background: var(--color-blue); }
.catalog-count { color: var(--color-ink-soft); font-size: .86rem; }
.catalog-count strong { color: var(--color-teal); font-size: 1.5rem; font-weight: 600; }
.product-catalog--directory { background: #f4f7f6; }
.product-catalog--directory .catalog-product-list { border-top-color: #aebfc0; }
.catalog-product { transition: border-color .25s; }
.catalog-product:hover { border-bottom-color: var(--color-blue); }
.catalog-product h3 { transition: color .25s, transform .25s; }
.catalog-product:hover h3 { transform: translateX(3px); }
.catalog-product:hover h3 a, .catalog-product h3 a:hover, .catalog-product h3 a:focus-visible, .catalog-product__link:hover, .catalog-product__link:focus-visible { color: var(--color-blue); outline: none; }
.catalog-product__link { transition: color .25s; }
.catalog-product__link span:last-child { transition: transform .25s; }
.catalog-product__link:hover span:last-child { transform: translateX(6px); }
.news-catalog--editorial { background: #edf3f3; }
.news-catalog-list { border-top: 1px solid #b8c8c8; }
.news-catalog-row { border-bottom: 1px solid #b8c8c8; transition: border-color .3s; }
.news-catalog-row__link { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: center; min-height: 198px; padding-block: 18px; }
.news-catalog-row__media { width: 260px; aspect-ratio: 900 / 383; overflow: hidden; margin: 0; background: #e8edeb; }
.news-catalog-row__media img { width: 100%; height: 100%; object-fit: contain; transition: opacity .3s; }
.news-catalog-row__body { min-width: 0; }
.news-catalog-row__meta { display: flex; gap: 18px; margin-bottom: 14px; color: var(--color-ink-soft); font-size: .8rem; font-variant-numeric: tabular-nums; }
.news-catalog-row__meta span { color: var(--color-green); font-weight: 650; }
.news-catalog-row__body h3 { margin-bottom: 11px; font-size: 1.45rem; font-weight: 600; transition: color .3s; }
.news-catalog-row__body p { display: -webkit-box; overflow: hidden; margin-bottom: 0; color: var(--color-ink-soft); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.news-catalog-row:hover { border-bottom-color: var(--color-blue); }
.news-catalog-row__link:hover h3, .news-catalog-row__link:focus-visible h3 { color: var(--color-blue); }
.news-catalog-row__link:hover .news-catalog-row__media img, .news-catalog-row__link:focus-visible .news-catalog-row__media img { opacity: .92; }
.news-empty-state { margin: 0; padding-block: 64px; color: var(--color-ink-soft); text-align: center; border-bottom: 1px solid #b8c8c8; }
.careers-directory { background: #f7f9f8; }
.careers-directory .section-heading { margin-bottom: 18px; }
.careers-directory__intro { max-width: 620px; margin: 0 auto 46px; color: var(--color-ink-soft); text-align: center; }
.career-list { border-top: 1px solid #b8c8c8; }
.career-row { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(280px, 1.28fr) auto; gap: 44px; align-items: center; min-height: 132px; padding: 28px 4px; border-bottom: 1px solid #b8c8c8; transition: border-color .25s; }
.career-row h3 { margin: 0; font-size: 1.35rem; font-weight: 600; transition: color .25s, transform .25s; }
.career-row p { margin: 0; color: var(--color-ink-soft); }
.career-row:hover { border-bottom-color: var(--color-blue); }
.career-row:hover h3 { color: var(--color-blue); transform: translateX(3px); }
.career-apply { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 8px 17px; border: 1px solid #94a4a7; border-radius: 3px; font-size: .88rem; font-weight: 550; white-space: nowrap; transition: color .25s, border-color .25s, background-color .25s; }
.career-apply span:last-child { color: var(--color-coral); transition: transform .25s; }
.career-apply:hover, .career-apply:focus-visible { color: var(--color-blue); border-color: var(--color-blue); background: rgba(51,122,139,.07); outline: none; }
.career-apply:hover span:last-child, .career-apply:focus-visible span:last-child { transform: translate(2px, -2px); }
.career-empty { margin: 0; padding-block: 64px; color: var(--color-ink-soft); text-align: center; border-bottom: 1px solid #b8c8c8; }
.catalog-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 42px; }
.catalog-pagination a, .catalog-pagination span { min-width: 38px; height: 38px; display: grid; place-items: center; padding-inline: 10px; border: 1px solid var(--color-line); color: var(--color-ink-soft); background: transparent; font-size: .84rem; }
.catalog-pagination a:hover, .catalog-pagination a.is-current { color: #fff; border-color: var(--color-blue); background: var(--color-blue); }
.catalog-pagination__direction { min-width: 70px !important; }
.catalog-pagination .is-disabled { opacity: .45; }
.detail-hero--light { padding-block: calc(var(--header-height) + 42px) 48px; color: var(--color-ink); background: #f1f5f4; }
.detail-hero--light .detail-hero__inner h1 { color: var(--color-ink); font-size: clamp(2.6rem, 5vw, 3.4rem); }
.detail-hero--light .detail-hero__breadcrumb { color: var(--color-ink-soft); }
.detail-hero--light .detail-hero__breadcrumb a:hover { color: var(--color-blue); }
.detail-hero--light .detail-hero__inner .eyebrow { color: var(--color-green); }
.product-detail--redesigned { padding-top: calc(var(--header-height) + 34px); background: #fff; }
.detail-nav { position: sticky; z-index: 9; top: 64px; display: flex; gap: 30px; padding-block: 17px; overflow-x: auto; border-bottom: 1px solid var(--color-line); background: rgba(255,255,255,.96); }
.detail-nav a { flex: 0 0 auto; color: var(--color-ink-soft); font-size: .86rem; }
.detail-nav a:hover { color: var(--color-blue); }
.product-detail--redesigned .product-detail__top { padding-top: 52px; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); align-items: start; }
.carousel-controls--overlay { position: absolute; right: 14px; bottom: 14px; left: 14px; z-index: 2; justify-content: space-between; margin: 0; color: #fff; }
.product-gallery { position: relative; }
.product-gallery__viewport { aspect-ratio: 4 / 3; background: #f2f5f5; }
.product-gallery__slide { height: 100%; }
.product-gallery__slide img { width: 100%; height: 100%; object-fit: contain; }
.carousel-controls--overlay button { color: #fff; border-color: rgba(255,255,255,.75); background: rgba(11,26,30,.38); }
.carousel-controls--overlay button:hover { border-color: #fff; background: var(--color-blue); }
.product-detail__note { margin: 24px 0; padding: 0; border-left: 0; color: var(--color-ink-soft); background: transparent; font-size: .85rem; }
.product-detail__consult { display: inline-flex; align-items: center; gap: 10px; color: var(--color-blue); font-weight: 650; }
.product-detail__summary { padding-top: 8px; }
.product-detail__summary .eyebrow { margin-bottom: 14px; }
.product-detail__summary h1 { margin: 0 0 24px; color: var(--color-ink); font-size: clamp(2.35rem, 4vw, 3.4rem); line-height: 1.12; }
.product-detail__introduction.article-content { max-width: none; margin: 0 0 28px; color: var(--color-ink-soft); font-size: 1rem; line-height: 1.85; }
.product-detail__introduction.article-content img { max-height: 360px; object-fit: contain; }
.product-detail__consult span { color: var(--color-coral); transition: transform .25s; }
.product-detail__consult:hover span { transform: translateX(6px); }
.product-detail__sections { display: block; margin-top: 70px; padding-top: 0; border-top: 0; }
.detail-section { max-width: 900px; margin: 0 auto 74px; }
.detail-section__number { display: block; margin-bottom: 10px; color: var(--color-blue); font-size: .78rem; font-weight: 700; }
.detail-section--overview .article-content { max-width: 780px; margin-top: 0; font-size: 1.06rem; }
.feature-list--numbered { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-line); }
.feature-list--numbered li { display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--color-line); }
.feature-list__number { color: var(--color-blue); font-size: .78rem; font-weight: 650; }
.feature-list--numbered strong { display: block; margin-bottom: 5px; }
.feature-list--numbered p { margin: 0; color: var(--color-ink-soft); }
.spec-table { border-top: 1px solid var(--color-line); }
.spec-table > div { display: grid; grid-template-columns: 40% 1fr; gap: 24px; padding: 15px 18px; border-bottom: 1px solid var(--color-line); }
.spec-table > div:nth-child(even) { background: #f5f8f7; }
.spec-table span { color: var(--color-ink-soft); }
.spec-table strong { font-weight: 650; }
.download-list a { border: 0; border-bottom: 1px solid var(--color-line); border-radius: 0; padding-inline: 0; }
.download-list a:hover { border-color: var(--color-blue); }
.download-list b { margin-left: 8px; color: var(--color-coral); font-size: 1.1rem; }
.product-detail__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; margin-top: 18px; padding-block: 8px 10px; }
.product-detail__actions .boxed-link { width: 220px; min-height: 62px; font-size: .98rem; }
.boxed-link--back span:last-child { order: -1; color: var(--color-coral); transition: transform .25s cubic-bezier(.22,1,.36,1); }
.boxed-link--back:hover span:last-child, .boxed-link--back:focus-visible span:last-child { transform: translateX(-4px); }
.article-header--editorial { min-height: 0; padding: calc(var(--header-height) + 46px) 0 42px; color: var(--color-ink); background: #f2f6f5; border-bottom: 1px solid var(--color-line); }
.article-header--editorial .article-header__inner { max-width: 1120px; }
.article-header--has-cover .article-header__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); gap: 40px; align-items: center; }
.article-header--no-cover .article-header__copy { max-width: 980px; }
.article-header--editorial .detail-hero__breadcrumb { margin-bottom: 42px; color: var(--color-ink-soft); }
.article-header--editorial .detail-hero__breadcrumb a:hover { color: var(--color-blue); }
.article-header__meta { display: flex; gap: 18px; margin-bottom: 15px; color: var(--color-ink-soft); font-size: .82rem; }
.article-header__meta span { color: var(--color-green); font-weight: 650; }
.article-header--editorial h1 { max-width: none; margin: 0; color: var(--color-ink); line-height: 1.3; text-wrap: balance; }
.article-header--editorial h1.article-title--short { font-size: 2.625rem; }
.article-header--editorial h1.article-title--medium { font-size: 2.25rem; }
.article-header--editorial h1.article-title--long { font-size: 2rem; }
.article-header__cover { width: 100%; aspect-ratio: 900 / 383; margin: 0; overflow: hidden; background: #e8edeb; }
.article-header__cover img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 900px) {
  .article-header--has-cover .article-header__inner { grid-template-columns: 1fr; gap: 28px; }
  .article-header__cover { width: min(100%, 340px); justify-self: start; }
}
.article-header__summary { max-width: 780px; margin-bottom: 0; color: var(--color-ink-soft); font-size: 1.15rem; }
.article-layout { display: block; padding-block: 50px 84px; }
.article-main { max-width: 980px; margin: 0 auto; }
.article-cover { margin: 0 auto 48px; }
.article-cover img { display: block; width: 100%; max-height: 580px; object-fit: cover; }
.article-content { max-width: 760px; margin: 0 auto; color: var(--color-ink-soft); font-size: 1.06rem; line-height: 1.9; }
.article-content p { margin-bottom: 1.45em; }
.article-content img { object-fit: contain; }
.article-content h2, .article-content h3 { margin-top: 2.4em; margin-bottom: .75em; color: var(--color-ink); }
.article-content h2 { font-size: 1.8rem; }
.article-content h3 { font-size: 1.45rem; }
.article-pagination { display: grid; grid-template-columns: 1fr auto 1fr; gap: 26px; align-items: end; max-width: 980px; margin: 70px auto 0; padding-top: 24px; border-top: 1px solid var(--color-line); }
.article-pagination a { display: grid; gap: 7px; color: var(--color-ink); }
.article-pagination a:last-child { text-align: right; }
.article-pagination small { color: var(--color-ink-soft); }
.article-pagination strong { font-size: .9rem; font-weight: 600; }
.article-pagination__back { color: var(--color-blue) !important; font-weight: 650; }
.about-facts--editorial { display: grid; gap: 24px; margin-top: 38px; }
.about-facts--editorial.about-facts--count-1 { grid-template-columns: 1fr; }
.about-facts--editorial.about-facts--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.about-facts--editorial.about-facts--count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.about-facts--editorial > div { display: grid; grid-template-columns: 1fr; gap: 8px; padding-top: 13px; border-top: 1px solid var(--color-line); }
.about-facts--editorial span { color: var(--color-ink-soft); font-size: .82rem; }
.about-facts--editorial strong { font-weight: 650; }
.about-history { overflow: hidden; }
.timeline--editorial { max-width: 1120px; margin-inline: auto; }
.timeline--editorial::before { left: 50%; background: var(--color-blue); transform: scaleY(var(--timeline-progress, 0)); transform-origin: top; }
.timeline--editorial::after { content: ""; position: absolute; top: 10px; bottom: 10px; left: 50%; width: 1px; background: #cbd6d7; z-index: 0; }
.timeline--editorial li, .timeline--editorial li:nth-child(even) { display: grid; grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr); gap: 0; min-height: 148px; opacity: 1; transform: none; }
.timeline--editorial .timeline__marker, .timeline--editorial li:nth-child(even) .timeline__marker { grid-column: 2; grid-row: 1; z-index: 2; margin-top: 12px; }
.timeline__content { opacity: 0; transition: opacity .52s ease, transform .62s cubic-bezier(.22,1,.36,1); }
.timeline__item--left .timeline__content { grid-column: 1; grid-row: 1; padding: 0 34px 0 0; text-align: right; transform: translateX(-48px); }
.timeline__item--right .timeline__content { grid-column: 3; grid-row: 1; padding: 0 0 0 34px; text-align: left; transform: translateX(48px); }
.timeline__item--left time { text-align: right; }
.timeline__item--right time { text-align: left; }
.timeline--editorial li.is-revealed .timeline__content { opacity: 1; transform: none; }
.timeline--editorial time { display: block; margin-bottom: 9px; color: var(--color-blue); font-size: 1.6rem; font-weight: 650; }
.timeline--editorial p { max-width: 430px; margin: 0; padding: 0; color: var(--color-ink-soft); }
.timeline__item--left p { margin-left: auto; }
.timeline--editorial .timeline__marker { border-color: #aebbbc; background: #d1dada; box-shadow: none; transition: background-color .25s, border-color .25s, box-shadow .25s; }
.timeline--editorial .is-reached .timeline__marker { border-color: var(--color-blue); background: var(--color-blue); }
.timeline--editorial .is-current .timeline__marker { background: var(--color-coral); box-shadow: 0 0 0 1px var(--color-coral), 0 0 0 8px rgba(221,107,85,.12); }
.research-results-section { overflow: hidden; background: #edf3f2; }
.research-results-section .section-heading { margin-bottom: 22px; }
.research-results-section .section-heading h2 { font-size: 3.25rem; }
.research-gallery { position: relative; overflow: hidden; }
.research-gallery::before, .research-gallery::after { content: ""; position: absolute; z-index: 2; top: 0; bottom: 0; width: 44px; pointer-events: none; }
.research-gallery::before { left: 0; background: linear-gradient(90deg, #edf3f2, transparent); }
.research-gallery::after { right: 0; background: linear-gradient(-90deg, #edf3f2, transparent); }
.research-gallery__viewport { width: 100%; overflow: hidden; }
.research-gallery__track { width: 100%; display: flex; padding: 20px 0 34px; }
.research-gallery__group { width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); align-items: center; gap: 14px 16px; padding-inline: 30px; }
.research-gallery--marquee .research-gallery__track { width: max-content; animation: research-marquee 46s linear infinite; }
.research-gallery--marquee:hover .research-gallery__track, .research-gallery--marquee:focus-within .research-gallery__track { animation-play-state: paused; }
.research-gallery--marquee .research-gallery__group { width: max-content; grid-auto-flow: column; grid-template-columns: none; grid-template-rows: repeat(2, 126px); grid-auto-columns: clamp(110px, 11vw, 154px); padding-right: 16px; padding-left: 0; }
.research-result { width: clamp(94px, 11vw, 154px); height: 126px; display: flex; align-items: center; justify-content: center; margin: 0; padding: 7px; overflow: hidden; background: rgba(255,255,255,.55); scroll-snap-align: start; }
.research-result:nth-child(3n+1) { transform: translateY(5px); }
.research-result:nth-child(4n+2) { transform: translateY(-4px); }
.research-result img { width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; filter: saturate(.82) contrast(.96) drop-shadow(0 7px 9px rgba(21,29,33,.1)); }
@keyframes research-marquee { to { transform: translateX(-50%); } }
.contact-form-panel { background: transparent; }
.contact-form input:not([type="checkbox"]), .contact-form textarea { padding-inline: 0; border-width: 0 0 1px; border-radius: 0; background: transparent; }
.contact-form input:focus, .contact-form textarea:focus { box-shadow: none; border-color: var(--color-blue); }
.contact-details h2 { font-size: clamp(2rem, 3vw, 2.8rem); }
.contact-list dd { font-size: 1.05rem; }
.form-disabled--quiet { min-height: 0; padding-top: 20px; }
.form-disabled--quiet .form-disabled__icon { border: 0; border-bottom: 1px solid var(--color-blue); border-radius: 0; }
.map-placeholder--quiet { min-height: 240px; color: #c5d4d5; background: var(--color-dark); }
.map-placeholder--quiet .map-placeholder__grid { display: none; }
.map-placeholder--quiet > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .22; filter: grayscale(1); }
.map-placeholder--quiet::after { content: ""; position: absolute; inset: 0; background: rgba(10,25,28,.52); }
.map-placeholder--quiet .container { z-index: 2; }
.product-detail__summary { position: sticky; top: 136px; }
.article-reading-progress { position: fixed; z-index: 110; top: 0; right: 0; left: 0; height: 2px; background: rgba(51,122,139,.12); }
.article-reading-progress span { display: block; width: 100%; height: 100%; background: var(--color-coral); transform: scaleX(0); transform-origin: left; }

@media (max-width: 640px) {
  .inner-hero { height: 100svh; min-height: 560px; padding: calc(var(--header-height) + 32px) 0 42px; }
  .inner-hero h1 { font-size: 2.55rem; }
  .inner-hero__summary { font-size: .93rem; }
  .inner-tabs { top: 0; justify-content: flex-start; gap: 12px; margin-bottom: 28px; }
  .section-heading--directory { align-items: center; }
  .section-heading--directory h2, .research-results-section .section-heading h2 { font-size: 2rem; }
  .news-editorial-item--compact { grid-template-columns: 1fr; gap: 16px; }
  .news-editorial-item--compact .news-editorial-item__thumb, .news-editorial-item--compact .news-editorial-item__body { grid-column: 1; grid-row: auto; }
  .news-editorial-item--compact .news-editorial-item__thumb { order: 0; aspect-ratio: 16 / 9; }
  .news-editorial-item--compact .news-editorial-item__body { order: 1; }
  .detail-nav { top: 0; gap: 24px; margin-inline: 16px; padding-inline: 0; }
  .product-detail--redesigned .product-detail__top { padding-top: 32px; }
  .detail-section { margin-bottom: 54px; }
  .spec-table > div { grid-template-columns: 42% 1fr; gap: 12px; padding-inline: 10px; font-size: .9rem; }
  .article-header--editorial { padding: calc(var(--header-height) + 34px) 0 34px; }
  .article-header--editorial h1.article-title--short { font-size: 2rem; }
  .article-header--editorial h1.article-title--medium { font-size: 1.875rem; }
  .article-header--editorial h1.article-title--long { font-size: 1.75rem; }
  .article-header__cover { width: min(100%, 320px); }
  .article-header__summary { font-size: 1rem; }
  .article-pagination { grid-template-columns: 1fr; gap: 18px; }
  .article-pagination a:last-child { text-align: left; }
  .article-pagination__back { order: -1; }
  .about-facts--editorial.about-facts--count-1, .about-facts--editorial.about-facts--count-2, .about-facts--editorial.about-facts--count-3 { grid-template-columns: 1fr; gap: 15px; }
  .timeline--editorial::before, .timeline--editorial::after { left: 13px; }
  .timeline--editorial li, .timeline--editorial li:nth-child(even) { grid-template-columns: 28px minmax(0, 1fr); min-height: 124px; }
  .timeline--editorial .timeline__marker, .timeline--editorial li:nth-child(even) .timeline__marker { grid-column: 1; margin-top: 8px; }
  .timeline__item--left .timeline__content, .timeline__item--right .timeline__content { grid-column: 2; grid-row: 1; padding: 0 0 0 15px; text-align: left; transform: translateX(32px); }
  .timeline__item--left time, .timeline__item--right time { text-align: left; }
  .timeline--editorial time { font-size: 1.2rem; }
  .timeline__item--left p { margin-left: 0; }
  .contact-form-panel { padding-left: 0; }
  .product-detail__summary { position: static; }
  .home-products__entry { justify-content: center; padding-top: 26px; }
  .section-actions { width: 100%; }
  .section-actions .boxed-link, .product-detail__actions .boxed-link { width: min(100%, 320px); }
}

@media (max-width: 640px) {
  .research-gallery::before, .research-gallery::after { width: 20px; }
  .research-gallery__track { padding: 10px 0 22px; }
  .research-gallery__group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-inline: 18px; }
  .research-gallery--marquee .research-gallery__track { animation-duration: 56s; }
  .research-gallery--marquee .research-gallery__group { grid-template-rows: repeat(2, 112px); grid-auto-columns: 104px; gap: 12px; padding-right: 12px; padding-left: 0; }
  .research-result, .research-result:nth-child(n) { justify-self: center; width: 104px; height: 112px; padding: 6px; transform: none; }
}

/* Keep the editorial news list single-column on narrow screens after shared page rules. */
@media (max-width: 720px) {
  .news-catalog-row__link { grid-template-columns: 1fr; grid-template-areas: "media" "body"; gap: 18px; min-height: 0; padding-block: 24px; }
  .news-catalog-row__media { grid-area: media; width: 100%; aspect-ratio: 900 / 383; }
  .news-catalog-row__body { grid-area: body; }
  .careers-directory__intro { margin-bottom: 32px; text-align: left; }
  .career-row { grid-template-columns: 1fr; gap: 12px; min-height: 0; padding-block: 28px; }
  .career-row h3 { font-size: 1.25rem; }
  .career-apply { width: max-content; margin-top: 6px; }
}
.article-content img,
.rich-editor img { display: block; max-width: 100%; height: auto; margin: 1.5rem auto; }
.article-image--small { width: 35%; }
.article-image--medium { width: 65%; }
.article-image--large { width: 100%; }
.article-image--center { margin-left: auto; margin-right: auto; }
.article-image--left { margin-left: 0; margin-right: auto; }
.article-image--right { margin-left: auto; margin-right: 0; }
.article-paragraph--indent { text-indent: 2em; }
.preserve-lines { white-space: pre-line; }
.career-apply { border: 0; background: transparent; font: inherit; cursor: pointer; }
.application-dialog { width: min(560px, calc(100% - 32px)); border: 0; border-radius: 6px; padding: 40px; color: #172426; box-shadow: 0 20px 70px rgba(11, 29, 31, .24); }
.application-dialog::backdrop { background: rgba(9, 22, 24, .55); }
.application-dialog h2 { margin: 0 36px 18px 0; font-size: 24px; letter-spacing: 0; }
.application-dialog p { margin: 0; line-height: 1.9; white-space: pre-line; }
.application-dialog__qr { display: grid; justify-items: center; gap: 8px; margin: 24px 0 0; }
.application-dialog__qr img { width: 132px; height: 132px; object-fit: contain; }
.application-dialog__qr figcaption { color: var(--color-ink-soft); font-size: .78rem; }
.application-dialog__close { position: absolute; top: 14px; right: 16px; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
