@charset "UTF-8";

@font-face {
    font-family: "Alimama ShuHeiTi";
    src: url("../images/home/v2/assets/fonts/AlimamaShuHeiTi-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

:root {
    color-scheme: light;
    --font-display: "Alimama ShuHeiTi", "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
    --navy: #111a37;
    --navy-2: #202e5c;
    --blue: #3B4F8B;
    --blue-2: #5C70AA;
    --cyan: #A8B9E6;
    --pale: #eff1f8;
    --white: #fff;
    --ease: cubic-bezier(.2,.75,.25,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body.site-v2 { margin: 0; color: var(--ink); background: #fff; font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.site-v2:has(dialog[open]) { overflow: hidden; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
::selection { color: white; background: var(--blue); }
.page-shell { margin-inline: auto; }
.sr-only, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 2000; top: 12px; left: 12px; padding: 10px 16px; border-radius: 12px; color: white; background: var(--blue); }
.scroll-progress { position: fixed; z-index: 1200; inset: 0 0 auto; height: 2px; pointer-events: none; }
.scroll-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left center; background: linear-gradient(90deg, #A8B9E6, #3B4F8B); box-shadow: 0 0 10px rgba(59,79,139,.45); animation: page-progress linear both; animation-timeline: scroll(root block); }
@keyframes page-progress { to { transform: scaleX(1); } }
@supports not (animation-timeline: scroll(root block)) { .scroll-progress { display: none; } }
.scroll-threshold { position: absolute; left: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.scroll-threshold--header { top: 36px; }
.scroll-threshold--top { top: 600px; }

/* Navigation */
.site-header { position: absolute; z-index: 1000; inset: 0 0 auto; color: #fff; transition: background .35s ease, box-shadow .35s ease, transform .35s ease; }
.site-header.is-scrolled { position: fixed; }
.header-inner { width: min(1740px, calc(100% - 96px)); min-height: 98px; margin: auto; display: flex; align-items: center; gap: 30px; }
.brand { flex: 0 0 200px; display: inline-flex; align-items: center; min-width: 0; }
.brand-logo { display: block; flex: 0 0 auto; width: 100%; height: auto; }
.brand-logo--on-light { display: none; }
.site-header.is-scrolled .brand-logo--on-dark,
.site-header.is-menu-open .brand-logo--on-dark { display: none; }
.site-header.is-scrolled .brand-logo--on-light,
.site-header.is-menu-open .brand-logo--on-light { display: block; }
.brand-slogan { display: grid; gap: 2px; padding-left: 24px; border-left: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.8); white-space: nowrap; }
.brand-slogan b { font-size: 16px; letter-spacing: .08em; }
.brand-slogan small { font: 700 7px/1.4 Arial, sans-serif; letter-spacing: .11em; opacity: .64; }
.desktop-nav { display: flex; justify-content: flex-end; align-items: center; gap: clamp(11px, 1.35vw, 26px); margin-left: auto; height: 98px; }
.nav-item { position: relative; display: flex; align-items: center; }
.nav-link { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 8px 2px; border: 0; background: none; color: rgba(255,255,255,.88); font-weight: 650; white-space: nowrap; cursor: pointer; transition: color .25s ease; }
.nav-link::after { content: ""; position: absolute; right: 50%; bottom: -7px; left: 50%; height: 2px; border-radius: 3px; background: linear-gradient(90deg, var(--cyan), #fff); transition: left .3s var(--ease), right .3s var(--ease); }
.nav-link:hover, .nav-link:focus-visible, .nav-link.is-current { color: #fff; }
.nav-link:hover::after, .nav-link:focus-visible::after, .nav-link.is-current::after { right: 0; left: 0; }
.nav-link i { font-size: 11px; opacity: .72; transition: transform .25s ease; }
.nav-item:has(.nav-dropdown.is-open) > .nav-link i { transform: rotate(180deg); }
.nav-dropdown { position: absolute; top: 100%; left: -20px; min-width: 205px; padding: 12px; border: 0; border-radius: 0; background: transparent; opacity: 0; visibility: hidden; transform: translateY(9px) scale(.98); transform-origin: top left; transition: .24s var(--ease); }
.nav-dropdown::before { content: ""; position: absolute; z-index: 0; top: 12px; right: 0; bottom: 0; left: 0; border: 1px solid rgba(59,79,139,.13); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 22px 54px rgba(25,37,79,.17); backdrop-filter: blur(14px); pointer-events: none; }
.nav-item:hover .nav-dropdown, .nav-item:focus-within .nav-dropdown, .nav-dropdown.is-open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.nav-dropdown a { position: relative; z-index: 1; display: block; padding: 11px 13px; border-radius: 10px; color: #25425f; font-size: 14px; transition: color .2s, background .2s, padding .2s; }
.nav-dropdown a:hover { padding-left: 18px; color: var(--blue); background: #edf6ff; }
.header-tools { display: flex; flex: 0 0 auto; align-items: center; gap: 13px; margin-left: 2px; }
.icon-button, .menu-toggle { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.28); border-radius: 15px; color: #fff; background: rgba(255,255,255,.08); cursor: pointer; transition: transform .25s, background .25s, border .25s; }
.icon-button:hover, .menu-toggle:hover { transform: translateY(-2px); border-color: rgba(91,213,255,.8); background: rgba(50,157,234,.3); }
.language-switch { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.8); font: 700 10px Arial, sans-serif; letter-spacing: .09em; white-space: nowrap; }
.language-switch i { margin-right: 2px; color: var(--cyan); font-size: 17px; }
.language-switch b { color: white; }
.menu-toggle { display: none; gap: 4px; align-content: center; padding: 10px; }
.menu-toggle span { width: 17px; height: 1.5px; border-radius: 2px; background: white; transition: transform .25s, opacity .25s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(5.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-5.5px) rotate(-45deg); }
.search-panel { position: absolute; top: 82px; right: max(48px, calc((100vw - 1740px) / 2)); display: flex; gap: 10px; width: min(430px, calc(100vw - 32px)); padding: 12px; border: 1px solid rgba(255,255,255,.4); border-radius: 18px; background: rgba(255,255,255,.97); box-shadow: 0 22px 55px rgba(0,15,40,.22); }
.search-panel[hidden], .mobile-nav[hidden] { display: none; }
.search-panel input { flex: 1; min-width: 0; padding: 8px 10px; border: 0; outline: none; color: var(--ink); background: transparent; }
.search-panel button { padding: 9px 16px; border: 0; border-radius: 12px; color: white; background: var(--blue); cursor: pointer; }
.mobile-nav { display: none; }

/* Shared buttons, section labels */
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 58px; padding: 8px 10px 8px 22px; border: 1px solid transparent; border-radius: 17px; font-size: 15px; font-weight: 750; letter-spacing: .015em; cursor: pointer; transition: transform .28s var(--ease), box-shadow .28s, background .28s; }
.button:hover { transform: translateY(-3px); box-shadow: 0 15px 34px rgba(0,95,195,.24); }
.button-primary { color: white; }

.button-icon { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 13px; background: white; transition: transform .25s; }
.button:hover .button-icon { transform: rotate(-35deg); }
.button-ghost { color: #fff; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.32); }
.button-ghost:hover { background: rgba(255,255,255,.15); }
.round-play { display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid rgba(255,255,255,.45); border-radius: 14px; font-size: 11px; transition: transform .25s, background .25s; }
.button-ghost:hover .round-play { transform: scale(1.06); background: rgba(255,255,255,.15); }
.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 18px; color: #3c83c6; font: 750 10px/1.4 Arial, sans-serif; letter-spacing: .2em; }
.eyebrow > span { width: 27px; height: 2px; border-radius: 3px; background: linear-gradient(90deg, #35c8f4, #1671df); }
.eyebrow--light { color: rgba(255,255,255,.75); }
.eyebrow--light > span { background: var(--cyan); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 44px; margin-bottom: 49px; }
.section-heading h2, .about-copy h2, .honors-copy h2 { margin: 0; color: var(--ink); font-family: var(--font-display); font-size: var(--title-section); line-height: 1.2; letter-spacing: -.025em; font-weight: 700; }
.section-heading h2 em, .about-copy h2 em, .honors-copy h2 em { color: #1873d5; font-style: normal; }
.section-heading > p { width: min(430px, 35%); margin: 0 0 4px; color: var(--muted); font-size: 16px; line-height: 1.95; }
.section-light { position: relative; overflow: hidden; background: linear-gradient(140deg, #f6faff 0%, #fff 48%, #f4f9fe 100%); }
.ambient-ring { position: absolute; z-index: 0; pointer-events: none; border: 1px solid rgba(58,149,224,.10); border-radius: 50%; }
.ambient-ring::before, .ambient-ring::after { content: ""; position: absolute; inset: 7%; border: 1px solid rgba(58,149,224,.08); border-radius: inherit; }
.ambient-ring::after { inset: 15%; border-color: rgba(58,149,224,.06); }
.text-arrow { display: inline-flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 750; }
.text-arrow > span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(30,111,186,.22); border-radius: 12px; color: var(--blue); background: #fff; transition: color .25s, background .25s, transform .25s; }
.text-arrow:hover > span { transform: rotate(45deg); color: white; background: var(--blue); }
.circle-control, .light-control { display: grid; flex: 0 0 auto; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(29,110,186,.22); border-radius: 16px; color: #176bb5; background: rgba(255,255,255,.88); cursor: pointer; transition: transform .25s var(--ease), color .25s, background .25s, box-shadow .25s; }
.circle-control:hover, .light-control:hover { transform: translateY(-3px); color: white; }
.data-reveal, [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .75s var(--ease), transform .75s var(--ease); }
[data-reveal].is-visible { opacity: 1; transform: none; }

/* Hero */
.hero { position: relative; isolation: isolate; height: min(100svh, 1080px); overflow: hidden; color: #fff; background: #061c39; touch-action: pan-y; }
.hero.is-dragging, .hero.is-dragging * { user-select: none; cursor: grabbing; }
.hero-slides, .hero-slide, .hero-slide img, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-slide { margin: 0; opacity: 0; visibility: hidden; transition: opacity 1.15s ease, visibility 1.15s; }
.hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-slide img { object-fit: cover; object-position: center 53%; transform: scale(1.045); transition: transform 8s linear; }
.hero-slide--factory img { object-position: center bottom; }
.hero-slide.is-active img { transform: scale(1.0); }
.hero-shade { z-index: 1; }
.hero-orbit { position: absolute; z-index: 2; width: 78vw; height: 46vw; border: 1px solid rgba(93,193,255,.16); border-radius: 50%; pointer-events: none; transform: rotate(-13deg); }
.hero-orbit--one { right: -19vw; bottom: -34vw; box-shadow: 0 -14px 46px rgba(41,151,255,.09); }
.hero-orbit--two { right: -12vw; bottom: -31vw; border-color: rgba(255,255,255,.1); }
.hero-content { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; height: 100%; padding-top: 98px; padding-bottom: 160px; }

.hero-copy .eyebrow { font-size: 11px; letter-spacing: .23em; }
.hero-copy h1 { margin: 0; font-family: var(--font-display); font-size: clamp(36px, 3.35vw, 42px); line-height: 1.19; font-weight: 700; letter-spacing: -.025em; text-wrap: balance; text-shadow: 0 5px 30px rgba(0,0,0,.12); }
.hero-copy h1 em { color: #bfe8ff; font-style: normal; }
.hero-lead { color: rgba(245,250,255,.84); line-height: 1.75; letter-spacing: .02em; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; }
.hero-facts { display: flex; align-items: center; gap: 0; width: min(690px, 58%); margin-top: clamp(48px, 6vh, 72px); padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.22); }
.hero-facts > div { display: grid; gap: 1px; min-width: 0; padding: 0 26px; border-right: 1px solid rgba(255,255,255,.17); }
.hero-facts > div:first-child { padding-left: 0; }
.hero-facts > div:last-child { border-right: 0; }
.hero-facts strong { font-size: clamp(27px, 2.25vw, 36px); line-height: 1.25; letter-spacing: -.05em; font-weight: 750; }
.hero-facts sup, .about-stats sup, .honor-stats sup { top: -.25em; font-size: .48em; color: #53ccf6; }
.hero-facts span { color: rgba(255,255,255,.9); font-size: 13px; white-space: nowrap; }
.hero-facts small { color: rgba(218,235,251,.52); font: 700 7px/1.3 Arial, sans-serif; letter-spacing: .11em; white-space: nowrap; }
.hero-bottom { position: absolute; z-index: 4; right: 0; bottom: 34px; left: 0; display: flex; align-items: center; justify-content: space-between; }
.scroll-cue { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.79); font-size: 11px; letter-spacing: .12em; }
.scroll-mouse { display: grid; place-items: start center; width: 19px; height: 29px; padding-top: 6px; border: 1px solid rgba(255,255,255,.63); border-radius: 12px; }
.scroll-mouse i { width: 2px; height: 5px; border-radius: 3px; background: var(--cyan); animation: scroll-dot 1.4s ease-in-out infinite; }
.scroll-rule { width: 76px; height: 1px; margin-left: 8px; background: linear-gradient(90deg, rgba(255,255,255,.6), transparent); }
@keyframes scroll-dot { 0%,100% { transform: translateY(0); opacity: .6; } 50% { transform: translateY(6px); opacity: 1; } }
.hero-controls { display: flex; align-items: center; gap: 12px; color: white; }
.hero-count { font: 750 10px Arial,sans-serif; letter-spacing: .1em; white-space: nowrap; }
.hero-count b { font-size: 16px; }
.hero-count i { margin: 0 5px; color: rgba(255,255,255,.45); font-style: normal; }
.hero-caption { color: rgba(255,255,255,.8); }
.hero-progress { position: relative; width: 92px; height: 2px; margin-right: 8px; background: rgba(255,255,255,.3); overflow: hidden; }
.hero-progress i { display: block; width: 0; height: 100%; background: var(--cyan); }
.hero-progress i.is-running { animation: hero-progress 7s linear forwards; }
@keyframes hero-progress { to { width: 100%; } }
.hero-controls .circle-control { border-color: rgba(255,255,255,.37); color: white; background: rgba(255,255,255,.1); backdrop-filter: blur(8px); }
.hero-controls .circle-control:hover { background: var(--blue); }

/* About */
.about-section { overflow: clip; }
.about-section::before { content:""; position:absolute; z-index:0; left:-285px; bottom:-425px; width:790px; aspect-ratio:1; border:1px solid rgba(37,119,187,.13); border-radius:50%; box-shadow:0 0 0 28px rgba(37,119,187,.025),0 0 0 74px rgba(37,119,187,.02),0 0 0 140px rgba(37,119,187,.015); pointer-events:none; }
.about-section::after { position:absolute; z-index:0; font:850 clamp(250px,34vw,570px)/.8 Arial,sans-serif; letter-spacing:-.12em; pointer-events:none; }
.ambient-ring--about { width: 680px; height: 680px; top: -300px; right: -230px; }
.about-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; }
.about-visual { position: relative; padding: 0 24px 24px 0; }
.about-photo { position: relative; aspect-ratio: 1.24; margin: 0; overflow: hidden; background: #c9dced; cursor: grab; touch-action: pan-y; user-select: none; }
.about-photo:active { cursor: grabbing; }
.about-photo::before { content: ""; position: absolute; z-index: 2; border: 1px solid rgba(255,255,255,.52); pointer-events: none; }
.about-photo img { width: 100%; height: 100%; object-fit: cover; transition: opacity .32s ease, transform .8s var(--ease); }
.about-photo--company img { object-position: center 86%; }
.about-photo:hover img { transform: scale(1.035); }
.photo-shade { position: absolute; inset: 35% 0 0; background: linear-gradient(0deg,rgba(3,23,46,.68),transparent); }
.about-photo figcaption { position: absolute; z-index: 3; right: 35px; bottom: 32px; left: 35px; display: grid; gap: 5px; color: white; }
.about-photo figcaption b { font: 750 10px Arial,sans-serif; letter-spacing: .19em; }

.photo-location { position: absolute; z-index: 3; top: 28px; left: 28px; display: flex; align-items: center; gap: 8px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.24); border-radius: 14px; color: #fff; background: rgba(6,31,58,.45); backdrop-filter: blur(9px); line-height: 1.6; }
.photo-location i { color: #6bd6fb; }
.company-video-trigger { --video-disc-size: 72px; position: absolute; z-index: 4; top: 50%; left: 50%; display: grid; justify-items: center; gap: 12px; padding: 8px; border: 0; color: #fff; background: transparent; cursor: pointer; transform: translate(-50%,-50%); }
.company-video-pulse { position: absolute; top: 8px; left: 50%; width: var(--video-disc-size); height: var(--video-disc-size); border: 1px solid rgba(255,255,255,.82); border-radius: 50%; pointer-events: none; transform: translateX(-50%); animation: company-video-pulse 2.4s ease-out infinite; }
.company-video-disc { position: relative; display: grid; place-items: center; width: var(--video-disc-size); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.86); border-radius: 50%; color: #2d477d; background: rgba(250,252,255,.96); box-shadow: 0 12px 32px rgba(3,24,49,.28); font-size: 19px; transition: transform .25s var(--ease), color .25s, background .25s; }
.company-video-disc i { margin-left: 3px; }
.company-video-label { padding: 6px 13px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: white; background: rgba(4,22,43,.48); backdrop-filter: blur(8px); font-size: 13px; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.company-video-trigger:hover .company-video-disc { transform: scale(1.06); color: white; background: var(--blue); }
.company-video-trigger:focus-visible { outline: 2px solid white; outline-offset: 4px; border-radius: 18px; }
@keyframes company-video-pulse { 0% { opacity: .72; transform: translateX(-50%) scale(.86); } 78%,100% { opacity: 0; transform: translateX(-50%) scale(1.7); } }
.about-photo-controls { position: absolute; right: 0; bottom: -1px; z-index: 4; display: flex; align-items: center; gap: 10px; padding: 14px 0 0 16px; border-radius: 20px 0 0 0; background: #f6faff; }
.about-photo-controls > span { font: 750 11px Arial,sans-serif; white-space: nowrap; }
.about-photo-controls > span b { color: var(--blue); font-size: 15px; }
.about-photo-controls > span i { color: #9aacbc; font-style: normal; }
.mini-progress { width: 64px; height: 2px; margin: 0 3px; background: #d5e1eb; }
.mini-progress i { display: block; height: 100%; width: 33.33%; background: var(--blue); transition: width .3s; }
.about-photo-controls .light-control { width: 39px; height: 39px; border-radius: 13px; }
.about-copy { position: relative; }

.about-lead { margin: 0 0 12px; color: #254868; font-weight: 650; }
.body-copy { margin: 0 0 21px; color: #64798e; font-size: 15px; line-height: 1.9; }
.about-copy .text-arrow { transition: transform .25s var(--ease), border-color .25s, box-shadow .25s; }
.about-copy .text-arrow:hover { border-color: rgba(34,111,178,.34); }


.about-stats { display: grid; }
.about-stats article { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; min-height: 139px; padding: 15px 14px 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 21px; color: white; background: linear-gradient(145deg,#174b7d,#0b2f57 78%); box-shadow: 0 14px 28px rgba(15,62,105,.14),inset 0 1px 0 rgba(255,255,255,.1); transition: transform .3s var(--ease), box-shadow .3s; isolation: isolate; }
.about-stats article::before { content:""; position:absolute; z-index:-1; width:150px; height:150px; top:-88px; right:-62px; border:1px solid rgba(138,211,250,.24); border-radius:50%; box-shadow:0 0 0 15px rgba(138,211,250,.035),0 0 0 34px rgba(138,211,250,.025); }
.about-stats article:nth-child(2) { background: linear-gradient(145deg,#1b6396,#104373 78%); }
.about-stats article:nth-child(3) { background: linear-gradient(145deg,#15516e,#103950 78%); }
.about-stats article:nth-child(4) { background: linear-gradient(145deg,#17618a,#103956 78%); }

.stat-icon { position:absolute; top:13px; right:13px; display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(255,255,255,.18); border-radius:12px; color:#9fe3ff; background:rgba(255,255,255,.09); font-size:13px; }
.about-stats strong { display:flex; align-items:flex-start; font:780 clamp(25px,2vw,34px)/1 Arial,sans-serif; }
.about-stats strong sup { padding-left:2px; }
.about-stats strong [data-count-to] { font-variant-numeric:tabular-nums; }


/* Products */
.products-section { position:relative; }
.products-section::after { content:""; position:absolute; z-index:0; inset:0; mask-image:linear-gradient(110deg,#000,transparent 36%,transparent 68%,#000); pointer-events:none; }
.ambient-ring--products { width: 750px; height: 750px; left: -410px; top: 130px; }
.products-section > .page-shell { position: relative; z-index: 1; }
.product-heading { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:clamp(48px,7vw,112px); }
.product-heading-note { display:block; color:#317fb8; font-weight:750; }
.product-heading h2 { margin:0; color:var(--ink); font-family:var(--font-display); line-height:1.19; letter-spacing:-.025em; font-weight:700; }
.product-heading h2 em { font-style:normal; }
.product-heading > p { max-width:480px; margin:0 0 6px; color:var(--muted); font-size:16px; line-height:1.95; }
.product-layout { display: grid; }
.product-feature { position: relative; overflow: hidden; isolation: isolate; }
.product-feature > img { position: absolute; transition: opacity .25s, transform .9s var(--ease); }
.product-feature:hover > img { transform: scale(1.035); }
.product-feature-shade { position: absolute; z-index: 0; inset: 0; }
.product-feature-top, .product-feature-foot { position: absolute; display: flex; align-items: center; justify-content: space-between; }

.product-feature-foot { bottom: 25px; color: rgba(255,255,255,.6); }
.product-feature-foot > span:last-child { display: flex; align-items: center; gap: 10px; }
.product-feature-foot i { display: inline-block; width: 46px; height: 1px; background: rgba(255,255,255,.5); }
.product-feature-copy { position: absolute; }
.product-feature-copy p { margin: 0 0 8px; }
.product-feature-copy h3 { margin: 0 0 11px; line-height: 1.25; letter-spacing: -.04em; }
.product-feature-copy > span { display: block; max-width: 520px; }
.product-spec-tags { display: flex; flex-wrap: wrap; margin-top: 14px; }
.product-spec-tags span { border: 1px solid rgba(191,228,250,.34); line-height: 1.3; }
.product-feature-copy .circle-control { position: absolute; width: 52px; height: 52px; border: 0; border-radius: 17px; color: var(--blue); background: #fff; }
.product-choices { display: grid; align-content: stretch; }
.product-choice { display: grid; align-items: center; gap: 18px; text-align: left; cursor: pointer; transition: transform .27s var(--ease), border .27s, background .27s, box-shadow .27s; }
.product-choice:hover { transform: translateX(-4px); border-color: rgba(41,132,207,.4); box-shadow: 0 16px 30px rgba(21,73,117,.1); }
.product-choice.is-active { border-color: rgba(34,127,208,.42); background: linear-gradient(110deg,#fff,#eff8ff); }
.product-choice-image { overflow: hidden; }
.product-choice-image img { width: 100%; height: 100%; object-fit: contain; }
.product-choice:hover .product-choice-image img { transform: scale(1.04); }
.product-choice-copy { display: grid; min-width: 0; }



.product-choice > i { display: grid; place-items: center; transition: transform .25s, color .25s, background .25s; }
.product-choice:hover > i, .product-choice.is-active > i { transform: translateX(2px); color: white; }

/* Application industries */
.applications-section { overflow: hidden; }
.world-dots { position:absolute; inset:0; opacity:.2; background-image:radial-gradient(circle,#4a96d3 1px,transparent 1.25px),repeating-radial-gradient(ellipse at 78% 22%,transparent 0 62px,rgba(42,116,173,.10) 63px 64px,transparent 65px 113px); background-size:15px 15px,100% 100%; mask-image:radial-gradient(ellipse 58% 56% at 69% 38%,#000 5%,transparent 100%); pointer-events:none; }

.application-heading { display:grid; }
.application-heading-main h2 { margin:0; color:var(--ink); font-family:var(--font-display); font-weight:700; line-height:1.19; letter-spacing:-.025em; }
.application-heading-main h2 em { font-style:normal; }
.application-heading-main p { max-width:620px; margin:17px 0 0; color:#5d748a; font-size:15px; line-height:1.9; }
.application-summary { display:flex; align-items:center; justify-content:flex-end; gap:24px; padding:0 5px 8px 0; }
.application-summary > div { display:grid; gap:4px; }
.application-summary b { color:#15558e; font:800 38px/1 Arial,sans-serif; letter-spacing:-.06em; }
.application-summary b sup { color:#1887cf; font-size:.48em; }
.application-summary span { color:#71879b; font-size:11px; white-space:nowrap; }
.application-summary > i { width:1px; height:46px; background:rgba(30,91,139,.2); }
.application-grid { display: grid; grid-template-columns: minmax(0,1.46fr) repeat(4,minmax(0,1fr)); gap: 14px; }
.application-card { position: relative; min-height: 350px; overflow: hidden; border-radius: 25px; color: white; background: #153555; isolation: isolate; box-shadow: 0 16px 32px rgba(22,66,108,.12); transition: transform .35s var(--ease),box-shadow .35s; }
.application-card:hover { transform: translateY(-7px); box-shadow: 0 25px 44px rgba(22,66,108,.2); }
.application-card > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease), filter .6s; }
.application-card:hover > img { transform: scale(1.08); filter: saturate(1.1); }
.application-card-overlay { position: absolute; z-index: -1; inset: 20% 0 0; background: linear-gradient(0deg,rgba(3,20,40,.92),rgba(3,20,40,.4) 52%,transparent); }
.application-number { position: absolute; top: 17px; left: 17px; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.36); border-radius: 13px; color: white; background: rgba(6,27,51,.33); font: 750 11px Arial,sans-serif; backdrop-filter: blur(7px); }
.application-card-copy { position: absolute; right: 17px; bottom: 18px; left: 18px; }
.application-card-copy small { display: block; margin-bottom: 5px; color: #a3dafa; font: 750 8px Arial,sans-serif; letter-spacing: .11em; }
.application-card-copy h3 { margin: 0 0 5px; font-size: 20px; }
.application-card-copy p { margin: 0; max-width: 95%; color: rgba(241,248,255,.88); font-size: 13px; line-height: 1.7; }
.application-card.is-featured .application-card-copy { right:22px; bottom:22px; left:22px; }
.application-card.is-featured .application-card-copy h3 { font-size:24px; }
.application-card-copy a { position: absolute; right: 0; bottom: 0; display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.46); border-radius: 13px; color: white; background: rgba(255,255,255,.1); transition: transform .25s, background .25s; }
.application-card-copy a:hover { transform: rotate(-35deg); background: var(--blue); }
.scene-disclaimer { margin: 18px 0 0; color: #71869b; }

/* Timeline */
.history-section { position: relative; overflow: hidden; color: white; isolation: isolate; }
.history-section::after { content:""; position:absolute; z-index:-1; inset:0; mask-image:radial-gradient(ellipse 72% 68% at 62% 46%,#000,transparent); pointer-events:none; }
.history-visual { position: absolute; z-index: -1; inset: 0; }
.history-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; filter: saturate(.65); }
.history-visual > div { position: absolute; inset: 0; }
.history-heading { position: relative; }
.history-heading h2 { color: white; font-family: var(--font-display); }


.history-section .eyebrow { color: #9bbcd7; }
.timeline-shell { position: relative; }
.timeline-curve { display:none; }
.timeline-track { position: relative; z-index: 1; display: flex; overflow-x: auto; scrollbar-width: none; cursor: grab; touch-action: pan-y; user-select: none; }
.timeline-track::-webkit-scrollbar, .certificate-track::-webkit-scrollbar { display: none; }
.timeline-track.is-dragging, .certificate-track.is-dragging { cursor: grabbing; scroll-behavior: auto; }
.timeline-card { position: relative; backdrop-filter: blur(8px); transition: transform .3s var(--ease), border .3s, background .3s, box-shadow .3s; }
.timeline-card:not(:last-child)::before { content:""; position:absolute; pointer-events:none; }
.timeline-card:hover, .timeline-card.is-current { box-shadow:0 18px 35px rgba(0,15,34,.18); }
.timeline-node { position: absolute; z-index:2; border: 3px solid #092440; border-radius: 50%; }
.timeline-card > small { margin: 19px 0 22px; color: #82badb; font: 750 9px Arial,sans-serif; letter-spacing: .13em; }
.timeline-card > b { display: block; font: 760 28px/1 Arial,sans-serif; letter-spacing: -.045em; }
.timeline-card h3 { margin: 0 0 9px; }
.timeline-card p { margin: 0; }
.timeline-footer { display: flex; align-items: center; justify-content: space-between; color: rgba(226,242,255,.55); font: 750 9px Arial,sans-serif; }
.timeline-footer > span { display: flex; align-items: center; }
.timeline-footer > span b { letter-spacing: .03em; }
.timeline-footer > span i { height: 1px; background: rgba(197,228,248,.3); }
.timeline-controls { display: flex; gap: 8px; }
.history-section .light-control { color: white; background: rgba(255,255,255,.08); }


/* Honors */
.honors-section { overflow:hidden; }
.honors-section::after { position:absolute; z-index:0; font:850 clamp(170px,23vw,370px)/.8 Arial,sans-serif; pointer-events:none; }
.honors-section > .page-shell { position:relative; z-index:1; }
.ambient-ring--honors { width: 680px; height: 680px; right: -370px; top: -240px; }
.honors-layout { position: relative; z-index: 1; display: grid; align-items: center; }
.honors-copy h2 { margin: 0 0 18px; }
.honors-copy > p:not(.eyebrow) { max-width: 430px; margin: 0; color: #667d92; line-height: 1.95; }
.honor-stats { display: flex; }
.honor-stats > div { display: grid; gap: 1px; }
.honor-stats b { font-size: 29px; line-height: 1.2; }
.honor-stats > div:first-child b { font-size: 21px; letter-spacing: -.035em; }

.button-primary--light { min-height: 51px; padding-left: 18px; font-size: 13px; }
.button-primary--light .button-icon { width: 34px; height: 34px; border-radius: 12px; }
.honor-points { display: flex; flex-wrap: wrap; margin-top: 24px; color: #56758e; }
.honor-points span { display: inline-flex; align-items: center; gap: 7px; }
.honor-points i { color: #2b91d3; }
.honor-gallery { min-width: 0; }
.honor-gallery-head { display: flex; align-items: center; justify-content: space-between; }
.honor-gallery-head > span { display: flex; align-items: baseline; gap: 6px; color: #94a7b9; font: 750 11px Arial,sans-serif; }

.honor-gallery-head > span i { font-style: normal; }
.honor-gallery-head > span small { margin-left: 9px; color: #6c8397; font: 500 12px "Microsoft YaHei",sans-serif; }
.honor-gallery-head > div { display: flex; gap: 8px; }
.honor-gallery-head .light-control { border-radius: 13px; }
.certificate-track { display: flex; overflow-x: auto; scrollbar-width: none; cursor: grab; touch-action: pan-y; user-select: none; }
.certificate-card { position:relative; flex: 0 0 242px; overflow:hidden; text-align: left; cursor: zoom-in; transition: transform .3s var(--ease), box-shadow .3s, border .3s; }
.certificate-card::before { content:""; position:absolute; pointer-events:none; }

.certificate-category { display:inline-flex; align-items:center; letter-spacing:.03em; }
.certificate-frame { position:relative; z-index:1; place-items: center; width: 100%; overflow: hidden; }
.certificate-frame img { transition: transform .45s var(--ease); }

.certificate-card > b { display: block; }
.certificate-card > small { display: block; }
.certificate-card > i { display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(36,112,168,.1); }
.certificate-card > i span { display:grid; place-items:center; width:25px; height:25px; border-radius:9px; transition:transform .25s,background .25s,color .25s; }
.certificate-card:hover > i span { transform:rotate(-35deg); color:white; }
.certification-note { margin: 1px 0 0; }

/* Editorial news: one photographic lead paired with a clear reading list. */
.news-section { position:relative; overflow:hidden; }
.news-section::before { content:""; position:absolute; top:-430px; right:-190px; width:770px; aspect-ratio:1; border:1px solid rgba(28,105,166,.12); border-radius:50%; box-shadow:0 0 0 35px rgba(28,105,166,.025),0 0 0 90px rgba(28,105,166,.02),0 0 0 160px rgba(28,105,166,.015); pointer-events:none; }
.news-section::after { content:"NEWS"; position:absolute; right:-.06em; bottom:-.28em; color:rgba(15,74,120,.035); font:850 clamp(180px,27vw,430px)/.8 Arial,sans-serif; letter-spacing:-.12em; pointer-events:none; }
.news-section > .page-shell { position:relative; z-index:1; }
.news-orbit { position:absolute; z-index:0; width:9px; height:9px; border-radius:50%; background:#4ab7e5; box-shadow:0 0 0 9px rgba(67,175,220,.1),0 0 26px rgba(49,147,199,.35); pointer-events:none; }
.news-orbit--one { top:20%; left:7%; }
.news-orbit--two { right:13%; bottom:16%; width:5px; height:5px; opacity:.65; }
.news-heading { display:grid; grid-template-columns:1.1fr .9fr; align-items:end; gap:56px; }
.news-heading > div > span { display:block; color:#397eaa; font:750 11px/1.5 Arial,"Microsoft YaHei",sans-serif; }
.news-heading h2 { margin:0; color:var(--ink); font-family:var(--font-display); line-height:1.19; letter-spacing:-.025em; font-weight:700; }
.news-heading h2 em { color:#1873d5; font-style:normal; }
.news-heading > p { margin:0 0 6px; color:#5f768b; line-height:1.95; }
.news-layout { display:grid; align-items:stretch; }
.news-lead { display:grid; min-width:0; color:inherit; }
.news-lead-image { position:relative; overflow:hidden; background:#b8d2e4; isolation:isolate; }
.news-lead-image::after { content:""; position:absolute; z-index:-1; inset:50% 0 0; background:linear-gradient(0deg,rgba(3,24,47,.35),transparent); pointer-events:none; }
.news-lead-image img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .28s ease,transform .8s var(--ease),filter .5s; }
.news-lead:hover .news-lead-image img { transform:scale(1.045); filter:saturate(1.07); }
.news-lead-image > span { position:absolute; top:23px; left:24px; color:white; font-size:13px; font-weight:700; text-shadow:0 1px 10px rgba(0,20,40,.5); }
.news-lead-image > i { position:absolute; right:22px; bottom:22px; display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(255,255,255,.68); border-radius:17px; color:white; background:rgba(4,31,58,.28); backdrop-filter:blur(8px); transition:transform .25s,background .25s; }
.news-lead:hover .news-lead-image > i { transform:rotate(-35deg); background:var(--blue); }

.news-lead-meta { display:flex; align-items:center; gap:11px; }
.news-lead-meta > span { font-weight:750; }
.news-lead-meta small { color:#3685bd; font:750 9px Arial,sans-serif; letter-spacing:.14em; }
.news-lead-copy h3 { max-width:680px; color:#123451; letter-spacing:-.025em; }
.news-lead-copy p { margin:0; color:#5d7489; line-height:1.8; }
.news-list { display:flex; flex-direction:column; justify-content:stretch; min-width:0; }
.news-list-item { position:relative; display:grid; align-items:center; flex:1; overflow:hidden; color:inherit; transition:transform .28s var(--ease),border-color .28s,background .28s,box-shadow .28s; }
.news-list-item::before { content:""; position:absolute; left:0; border-radius:0 4px 4px 0; background:linear-gradient(180deg,#45c8f2,#176bd0); transform:scaleY(0); transform-origin:center; transition:transform .28s var(--ease); }
.news-list-index { grid-row:1 / span 2; font:800 21px/1 Arial,sans-serif; letter-spacing:-.05em; transition:color .25s,transform .25s; }


.news-list-item:hover .news-list-index, .news-list-item.is-active .news-list-index { color:#1679c0; transform:translateX(2px); }
.news-list-category { display:flex; align-items:center; font-weight:750; }
.news-list-category i { color:#91a5b7; font:750 8px Arial,sans-serif; letter-spacing:.13em; font-style:normal; }
.news-list-copy { display:grid; }
.news-list-copy b { transition:color .2s; }
.news-list-item:hover .news-list-copy b, .news-list-item:focus-visible .news-list-copy b, .news-list-item.is-active .news-list-copy b { color:#1269b8; }

.news-list-arrow { display:grid; place-items:center; border:1px solid rgba(34,112,172,.18); transition:transform .25s,color .25s,background .25s; }
.news-list-item:hover .news-list-arrow { transform:translateX(3px); color:white; background:var(--blue); }

/* CTA and footer */
.contact-footer { position: relative; overflow: hidden; color: white; }
.contact-cta { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 42px; margin-top: 0; overflow: hidden; isolation: isolate; }
.contact-cta-image { position: absolute; z-index: -2; inset: 0; }
.contact-cta-image img { width: 100%; height: 100%; object-fit: cover; }
.contact-cta-shade { position: absolute; z-index: -1; inset: 0; }
.contact-cta::before { content:""; position:absolute; z-index:-1; pointer-events:none; }
.contact-cta::after { content: ""; position: absolute; z-index: -1; width: 610px; height: 610px; right: -115px; top: -345px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; box-shadow: 0 0 0 40px rgba(255,255,255,.055),0 0 0 84px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.02); }
.contact-cta-copy { position: relative; max-width: 640px; }
.contact-cta-copy .eyebrow { margin-bottom: 12px; }
.contact-cta-copy h2 { margin: 0 0 11px; color: #fff; font-family: var(--font-display); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.contact-cta-copy h2 em { font-style: normal; }
.contact-cta-copy > p:last-child { margin: 0; color: rgba(255,255,255,.84); }
.contact-cta-actions { position: relative; display: flex; flex: 0 0 auto; align-items: center; gap: 20px; }
.contact-cta-actions .button { color: #11609d; background: white; box-shadow: 0 12px 26px rgba(0,38,73,.17); }
.contact-cta-actions .button-icon { color: #0876c9; background: #eaf6ff; }
.phone-direct { display: flex; align-items: center; gap: 12px; color: white; }
.phone-direct > span { display: grid; place-items: center; width: 49px; height: 49px; border: 1px solid rgba(255,255,255,.55); border-radius: 17px; background: rgba(255,255,255,.12); }
.phone-direct small { display: grid; gap: 3px; color: rgba(255,255,255,.7); white-space: nowrap; }
.phone-direct b { color: white; font: 750 16px Arial,sans-serif; }
.site-footer { position: relative; isolation: isolate; }
.footer-globe { position: absolute; z-index: -1; inset: auto 0 0; height: 70%; overflow: hidden; pointer-events: none; }
.footer-globe img { width: 100%; height: 100%; object-fit: cover; object-position: center 63%; mix-blend-mode: screen; }
.footer-main { display: grid; grid-template-columns: 1.05fr 1.95fr 1.14fr .57fr; }
.brand--footer { flex: 0 0 auto; min-width: 0; }

.brand--footer .brand-logo { width: 190px; }

.footer-brand > p { margin: 20px 0 9px; color: white; font-weight: 700; letter-spacing: .06em; }
.footer-brand > small { color: rgba(222,238,251,.65); line-height: 1.9; }
.social-links { display: flex; gap: 8px; margin-top: 18px; }
.social-links a { display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; color: #b7ddf5; background: rgba(255,255,255,.05); transition: transform .2s, color .2s, background .2s; }
.social-links a:hover { transform: translateY(-3px); color: white; background: #1682da; }
.footer-links { display: grid; grid-template-columns: repeat(5,1fr); padding: 7px 0 0 28px; border-left: 1px solid rgba(143,195,232,.2); border-right: 1px solid rgba(143,195,232,.2); }
.footer-links > div { display: flex; flex-direction: column; align-items: flex-start; }
.footer-links b { position: relative; margin-bottom: 5px; color: white; }
.footer-links b::after { content: ""; position: absolute; bottom: -9px; left: 0; width: 22px; height: 2px; border-radius: 2px; background: #39c5ef; }
.footer-links > div > a { color: rgba(225,240,252,.67); transition: color .2s, transform .2s; }
.footer-links b > a { color: inherit; font-size: inherit; }
.footer-links a:hover { transform: translateX(3px); color: #78d9fa; }
.footer-contact { display: flex; flex-direction: column; }
.footer-label { margin: 0 0 -3px; color: #a8cee9; font: 750 9px Arial,sans-serif; letter-spacing: .18em; }
.footer-contact > a, .footer-contact > div { display: flex; align-items: flex-start; gap: 11px; }
.footer-contact > a > span, .footer-contact > div > span { display: grid; flex: 0 0 auto; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(65,178,233,.54); border-radius: 13px; color: #6dd4f3; background: rgba(18,102,166,.18); }
.footer-contact small { display: grid; gap: 2px; color: rgba(207,228,246,.69); }
.footer-contact b { color: #f4f9ff; font-weight: 550; line-height: 1.6; }
.footer-qr { display: flex; flex-direction: column; align-items: center; align-self: start; padding: 9px 0 0 22px; border-left: 1px solid rgba(143,195,232,.2); text-align: center; }
#footerQr { width: 110px; height: 110px; padding: 6px; overflow: hidden; border-radius: 12px; background: white; box-shadow: 0 8px 25px rgba(0,0,0,.12); }
#footerQr img, #footerQr canvas { display: block; width: 100% !important; height: 100% !important; image-rendering: pixelated; }
.footer-qr > b { margin-top: 10px; color: white; font-size: 14px; }
.footer-qr > small { color: rgba(207,228,246,.7); }
.footer-signoff { display: flex; align-items: center; justify-content: space-between; min-height: 88px; border-top: 1px solid rgba(141,191,228,.13); }
.footer-signoff > span { display: flex; align-items: center; gap: 12px; color: rgba(176,214,241,.58); font: 750 8px Arial,sans-serif; letter-spacing: .19em; }
.footer-signoff > span i { width: 32px; height: 1px; background: #55c7ed; }
.footer-signoff > p { margin: 0; color: rgba(239,248,255,.82); letter-spacing: .16em; line-height: 1.85; text-align: right; }
.footer-bottom { border-top: 1px solid rgba(225,239,255,.24); background: #28578b; }
.footer-bottom > div { display: flex; align-items: center; justify-content: space-between; min-height: 66px; gap: 24px; color: rgba(255,255,255,.92); }
.footer-copyright { min-width: 0; }
.footer-support { display: inline-flex; align-items: center; gap: 11px; white-space: nowrap; }
.footer-support i { width: 1px; height: 12px; background: rgba(255,255,255,.48); }
.footer-support a { color: rgba(255,255,255,.94); transition: color .2s; }
.footer-support a:hover { color: white; }
.back-to-top { position: fixed; z-index: 100; right: 25px; bottom: 24px; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.35); border-radius: 17px; color: white; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(9px); transition: .25s; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.back-to-top:hover { transform: translateY(-4px); }

/* Dialogs */
dialog { color: var(--ink); }
.contact-dialog, .certificate-dialog { position: fixed; inset: 50% auto auto 50%; margin: 0; border: 1px solid rgba(255,255,255,.72); border-radius: 26px; box-shadow: 0 32px 100px rgba(0,15,38,.4); opacity: 0; transform: translate(-50%,-47%) scale(.98); transition: opacity .25s, transform .25s; }
.certificate-dialog:not([open]) { display: none; }
.contact-dialog[open], .certificate-dialog[open] { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.contact-dialog { width: min(660px,calc(100vw - 30px)); max-height: min(92svh,850px); padding: 38px; overflow: auto; background: linear-gradient(145deg,#fff,#f5faff); }
.contact-dialog::backdrop, .certificate-dialog::backdrop { background: rgba(3,18,36,.72); backdrop-filter: blur(8px); }
.company-video-dialog { position: fixed; inset: 50% auto auto 50%; width: min(1060px,calc(100vw - 32px),calc((100svh - 32px) * 1.7778)); max-width: none; max-height: calc(100svh - 32px); margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.35); border-radius: 24px; color: white; background: #071d36; box-shadow: 0 32px 100px rgba(0,15,38,.5); opacity: 0; transform: translate(-50%,-47%) scale(.98); transition: opacity .25s,transform .25s; }
.company-video-dialog[open] { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.company-video-dialog::backdrop { background: rgba(3,18,36,.78); backdrop-filter: blur(8px); }
.company-video-dialog .dialog-close { z-index: 2; top: 14px; right: 14px; border-color: rgba(255,255,255,.3); color: white; background: rgba(5,25,47,.58); backdrop-filter: blur(8px); }
.company-video-stage { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #071d36; }
.company-video-stage > video { display: block; width: 100%; height: 100%; object-fit: contain; background: #06182d; }
.company-video-stage > video[hidden], .company-video-empty[hidden] { display: none; }
.company-video-empty { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; isolation: isolate; color: white; text-align: center; }
.company-video-empty::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(5,19,39,.76),rgba(7,29,54,.54)),linear-gradient(0deg,rgba(4,18,36,.52),transparent 72%); content: ""; }
.company-video-empty > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 84%; opacity: .56; }
.company-video-empty-copy { max-width: 82%; padding: 24px; }
.company-video-empty-copy > span { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 16px; border: 1px solid rgba(255,255,255,.56); border-radius: 50%; color: white; background: rgba(255,255,255,.12); }
.company-video-empty-copy > span i { margin-left: 2px; }
.company-video-empty-copy h2 { margin: 0 0 8px; font-family: var(--font-display); font-size: clamp(22px,3vw,31px); line-height: 1.3; }
.company-video-empty-copy p { margin: 0; color: rgba(239,247,255,.86); font-size: 14px; line-height: 1.7; }
.contact-dialog .eyebrow { margin-bottom: 10px; }
.contact-dialog h2 { margin: 0 0 7px; color: var(--navy-2); font-size: 30px; line-height: 1.3; }
.dialog-intro { margin: 0 35px 22px 0; color: #6e8397; font-size: 13px; line-height: 1.8; }
.dialog-close { position: absolute; top: 17px; right: 17px; display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid rgba(36,100,153,.14); border-radius: 13px; color: #345a79; background: white; cursor: pointer; transition: transform .2s, color .2s, background .2s; }
.dialog-close:hover { transform: rotate(90deg); color: white; background: var(--blue); }
.contact-dialog form { display: grid; gap: 9px; }
.contact-dialog label { margin-top: 4px; color: #345773; font-size: 12px; font-weight: 700; }
.contact-dialog input, .contact-dialog textarea { width: 100%; padding: 12px 14px; border: 1px solid #dbe6ef; border-radius: 13px; outline: none; color: #203d57; background: rgba(255,255,255,.86); resize: vertical; transition: border .2s, box-shadow .2s; }
.contact-dialog input:focus, .contact-dialog textarea:focus { border-color: #49a0e1; box-shadow: 0 0 0 3px rgba(52,144,219,.12); }
.contact-dialog form .button { justify-self: start; min-height: 51px; margin-top: 7px; }
.contact-form__captcha { display: grid; gap: 8px; }
.contact-form__captcha > div { display: flex; align-items: center; gap: 12px; }
.contact-form__captcha input { flex: 1; min-width: 0; }
.contact-form__captcha img { width: 110px; height: 42px; border-radius: 10px; object-fit: cover; cursor: pointer; }
.form-status { margin: 0; color: #788da0; line-height: 1.6; }
.certificate-dialog { display: grid; grid-template-columns: 48px minmax(0,1fr) 48px; align-items: center; gap: 22px; width: min(1160px,calc(100vw - 32px)); max-width: 1160px; max-height: calc(100svh - 32px); padding: 34px 25px 35px; overflow: visible; background: rgba(245,250,255,.98); }
.certificate-dialog figure { display: grid; justify-items: center; gap: 12px; max-height: calc(100svh - 110px); margin: 0; }
.certificate-dialog figure img { max-width: 100%; max-height: calc(100svh - 175px); object-fit: contain; filter: drop-shadow(0 15px 26px rgba(10,43,76,.15)); }
.certificate-dialog figcaption { color: #385875; font-size: 13px; text-align: center; }
.certificate-dialog .dialog-close { top: -14px; right: -14px; z-index: 2; }
.certificate-nav { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(28,101,161,.16); border-radius: 16px; color: #1b68aa; background: white; cursor: pointer; transition: transform .2s, color .2s, background .2s; }
.certificate-nav:hover { transform: translateY(-2px); color: white; background: var(--blue); }
.certificate-dialog-count { position: absolute; right: 50%; bottom: -27px; color: white; font: 750 10px Arial,sans-serif; letter-spacing: .12em; transform: translateX(50%); }

@media (min-width: 1800px) {
    .hero-copy { width: 670px; }
    .hero { min-height: 890px; }
}
@media (max-width: 1450px) {
    
    .header-inner { width: calc(100% - 72px); gap: 19px; }
    .brand { flex-basis: 188px; }
    .brand-slogan { padding-left: 15px; }
    .brand-slogan b { font-size: 12px; }
    .brand-slogan small { font-size: 6px; }
    .desktop-nav { gap: clamp(8px,1vw,15px); }
    .nav-link { font-size: 13px; }
    .language-switch { display: none; }
    .about-grid { gap: 70px; }
    .footer-main { gap: 32px; grid-template-columns: 1fr 1.9fr 1.13fr .55fr; }
    .footer-links { gap: 13px; padding-left: 20px; }
    
}
@media (max-width: 1120px) {
    
    .header-inner { width: calc(100% - 48px); }
    .brand-slogan { display: none; }
    .desktop-nav { gap: 14px; }
    .nav-link { font-size: 13px; }
    .header-tools { margin-left: 0; }
    .hero { min-height: 760px; }
    
    .hero-facts { width: min(690px,68%); }
    .about-section, .products-section, .applications-section, .history-section, .honors-section, .news-section { padding-top: 95px; padding-bottom: 95px; }
    .about-grid { gap: 48px; grid-template-columns: .95fr 1.05fr; }
    .about-stats { grid-template-columns: repeat(2,1fr); }
    .about-stats article { min-height: 105px; }
    .product-feature { min-height: 585px; }
    .product-choice { grid-template-columns: 76px minmax(0,1fr) 34px; gap: 12px; min-height: 110px; padding: 10px 12px; }
    .product-choice-image { width: 76px; height: 76px; }
    .product-choice-copy b { font-size: 16px; }
    .application-grid { grid-template-columns: repeat(3,1fr); }
    .application-card.is-featured { grid-column: span 2; }
    .contact-cta { gap: 28px; padding-inline: 40px; }
    .application-card { min-height: 330px; }
    .application-card:nth-child(4), .application-card:nth-child(5) { min-height: 300px; }
    .honors-layout { grid-template-columns: .8fr 1.2fr; gap: 42px; }
    .product-heading { gap:45px; }
    .application-heading { gap:38px; }
    .application-summary { gap:17px; }
    .news-layout { gap:32px; }
    .news-lead-image { min-height:320px; }
    .footer-main { grid-template-columns: 1fr 1.8fr 1fr; }
    .footer-qr { display: none; }
    .footer-links { grid-column: 2; grid-row: 1; }
}
@media (max-width: 850px) {
    html { scroll-padding-top: 75px; }
    
    .header-inner { width: calc(100% - 36px); min-height: 76px; }
    .brand { flex-basis: 164px; }
    .desktop-nav { display: none; }
    .header-tools { margin-left: auto; }
    .search-toggle { width: 39px; height: 39px; border-radius: 13px; }
    .menu-toggle { display: grid; width: 41px; height: 41px; border-radius: 13px; }
    .site-header.is-menu-open { background: rgba(5,25,49,.97); }
    .mobile-nav { position: absolute; top: 76px; right: 0; left: 0; display: flex; flex-direction: column; gap: 0; max-height: calc(100svh - 76px); padding: 12px 21px 23px; overflow: auto; border-top: 1px solid rgba(255,255,255,.12); background: rgba(5,25,49,.98); box-shadow: 0 22px 35px rgba(0,15,35,.22); }
    .mobile-nav > a, .mobile-nav summary { display: block; padding: 13px 4px; color: white; font-size: 15px; font-weight: 650; list-style: none; cursor: pointer; }
    .mobile-nav summary::-webkit-details-marker { display: none; }
    .mobile-nav summary::after { content: "+"; float: right; color: #71d6f5; }
    .mobile-nav details[open] summary::after { content: "−"; }
    .mobile-nav details > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; padding: 0 0 12px; }
    .mobile-nav details a { padding: 8px 7px; border-radius: 9px; color: rgba(226,241,254,.73); background: rgba(255,255,255,.06); font-size: 11px; }
    .mobile-contact { display: flex; align-items: center; justify-content: space-between; margin-top: 11px; padding: 13px 17px; border: 0; border-radius: 14px; color: white; background: linear-gradient(110deg,#288fe0,#1168c8); font-weight: 700; cursor: pointer; }
    .search-panel { top: 68px; right: 14px; }
    .hero { height: 100svh; max-height: 940px; }
    .hero-shade { background: linear-gradient(90deg,rgba(3,18,39,.92),rgba(4,25,52,.73) 58%,rgba(5,29,58,.2)),linear-gradient(0deg,rgba(1,18,39,.87),transparent 40%); }
    .hero-content { padding-top: 75px; padding-bottom: 145px; }
    
    
    .hero-lead { font-size: 16px; }
    .hero-facts { width: min(650px,95%); margin-top: 43px; }
    .hero-facts > div { padding-inline: 16px; }
    .hero-facts > div:first-child { padding-left: 0; }
    .hero-facts strong { font-size: 27px; }
    .hero-facts span { font-size: 11px; }
    .hero-facts small { font-size: 6px; }
    .hero-bottom { bottom: 22px; }
    .about-grid { grid-template-columns: 1fr; gap: 53px; }
    .about-visual { width: min(650px,100%); margin-inline: auto; }
    .about-copy { max-width: 700px; }
    
    
    .product-heading { grid-template-columns:1fr .8fr; gap:30px; }
    
    
    .product-choice { min-height: 104px; grid-template-columns: 70px minmax(0,1fr) 28px; }
    .product-choice-image { width: 70px; height: 70px; }
    .product-choice-copy > span { font-size: 10px; }
    
    .application-summary { justify-content:flex-start; }
    .application-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .application-card.is-featured { grid-column: span 2; }
    .application-card { min-height: 320px; }
    .application-card:nth-child(5) { grid-column: span 2; min-height: 290px; }
    .honors-layout { gap: 40px; }
    
    
    
    
    
    
    .news-list-item { gap:6px 10px; padding-block:18px; }
    .news-list-copy b { font-size:15px; }
    .news-list-copy small { font-size:12px; }
    .contact-cta { border-radius: 29px; }
    .contact-cta-actions { flex-wrap: wrap; }
    .footer-main { gap: 32px; }
    .footer-links { border-right: 0; }
    
    .footer-signoff { min-height: 77px; }
    .footer-bottom > div { flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; padding-block: 15px; }
    .footer-copyright { flex-basis: 100%; }
}
@media (max-width: 560px) {
    
    
    .header-inner { width: calc(100% - 28px); min-height: 70px; }
    .brand { flex-basis: 150px; }
    .header-tools { gap: 8px; }
    .icon-button, .menu-toggle { width: 37px; height: 37px; }
    .mobile-nav { top: 70px; padding-inline: 18px; }
    .hero { height: 100svh; max-height: 890px; }
    .hero-slide img { object-position: 58% center; }
    .hero-slide--factory img { object-position: 58% bottom; }
    .hero-shade { background: linear-gradient(90deg,rgba(3,18,39,.92),rgba(4,25,52,.76) 64%,rgba(5,29,58,.31)),linear-gradient(0deg,rgba(1,18,39,.91),rgba(1,18,39,.04) 58%); }
    .hero-orbit { display: none; }
    .hero-content { justify-content: flex-start; }
    
    .hero-copy .eyebrow { margin-bottom: 20px; }
    .hero-copy h1 { line-height: 1.2; }
    .hero-lead { margin: 19px 0 24px; }
    .hero-actions { gap: 9px; }
    .button { min-height: 49px; gap: 13px; padding-left: 15px; border-radius: 15px; font-size: 12px; }
    .button-icon, .round-play { width: 33px; height: 33px; border-radius: 11px; }
    .hero-facts { display: grid; grid-template-columns: repeat(2,1fr); width: 100%; gap: 0; margin-top: 38px; padding-top: 13px; }
    .hero-facts > div { padding: 8px 11px; border-right: 0; }
    .hero-facts > div:nth-child(odd) { padding-left: 0; border-right: 1px solid rgba(255,255,255,.16); }
    .hero-facts > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.13); }
    .hero-facts > div:last-child { padding-left: 11px; }
    .hero-facts strong { font-size: 26px; }
    .hero-facts span { font-size: 10px; }
    .hero-facts small { font-size: 6px; }
    .hero-bottom { bottom: 17px; }
    .scroll-cue { gap: 7px; }
    .scroll-rule { width: 27px; margin-left: 0; }
    .hero-controls { gap: 7px; }
    
    .hero-progress { width: 45px; margin-right: 1px; }
    .hero-controls .circle-control { border-radius: 12px; font-size: 10px; }
    .about-section, .products-section, .applications-section, .history-section, .honors-section, .news-section { padding: 76px 0; }
    .section-heading { display: block; margin-bottom: 31px; }
    .section-heading h2, .about-copy h2, .honors-copy h2 { font-size: 37px; }
    .section-heading > p { width: 100%; margin-top: 17px; font-size: 13px; line-height: 1.8; }
    .eyebrow { margin-bottom: 13px; font-size: 9px; }
    
    .about-visual { padding: 0 12px 14px 0; }
    
    
    
    
    .photo-location { gap: 5px; padding: 8px 9px; border-radius: 10px; }
    .about-photo-controls { gap: 6px; padding: 9px 0 0 9px; }
    .about-photo-controls > span { font-size: 9px; }
    .about-photo-controls > span b { font-size: 12px; }
    .mini-progress { width: 33px; }
    .about-photo-controls .light-control { width: 32px; height: 32px; border-radius: 11px; font-size: 10px; }
    .about-copy h2 { margin-bottom: 16px; }
    .about-lead { line-height: 1.8; }
    .body-copy { font-size: 13px; line-height: 1.9;}
    .about-copy .text-arrow { margin-bottom: 25px; }
    .about-stats { gap: 8px; }
    .about-stats article { min-height: 108px; padding: 11px; border-radius: 16px; }
    .stat-icon { top: 10px; right: 10px; width: 27px; height: 27px; border-radius: 9px; font-size: 11px; }
    
    
    
    
    
    
    
    
    
    
    .product-heading { display:block; margin-bottom:31px; }
    .product-heading-note { margin-bottom:11px; }
    .product-heading h2 { font-size:37px; }
    .product-heading > p { margin-top:14px; font-size:13px; line-height:1.8; }
    .product-layout { gap: 12px; }
    
    
    .product-feature-top { top: 19px; }
    .product-feature-copy { right: 19px; }
    .product-feature-copy h3 { max-width: calc(100% - 56px); }
    .product-feature-copy > span { max-width: 90%; }
    .product-feature-copy .circle-control { border-radius: 14px; font-size: 11px; }
    .product-feature-foot { bottom: 18px; }
    .product-feature-foot i { width: 22px; }
    
    .product-choice { border-radius: 15px; }
    
    
    
    
    
    
    .application-heading { gap:18px; }
    
    .application-heading-main p { margin-top:11px; font-size:12px; }
    .application-summary { justify-content:flex-start; gap:18px; padding:0; }
    .application-summary b { font-size:28px; }
    .application-summary span { font-size:9px; }
    .application-grid { gap: 9px; }
    .application-card { min-height: 257px; border-radius: 17px; }
    .application-card:nth-child(4) { min-height: 257px; }
    .application-card:nth-child(5) { min-height: 230px; }
    .application-card-copy { right: 11px; bottom: 13px; left: 12px; }
    .application-card-copy small { font-size: 7px; }
    .application-card-copy h3 { font-size: 16px; }
    .application-card-copy p { font-size: 10px; }
    .application-card-copy a { width: 29px; height: 29px; border-radius: 10px; font-size: 10px; }
    .application-number { top: 11px; left: 11px; width: 31px; height: 31px; border-radius: 11px; font-size: 9px; }
    .scene-disclaimer { text-align: left; }
    .history-heading { display: block; }
    .history-heading > p { width: 100%; margin-top: 14px; }
    
    .timeline-card { padding-inline: 16px; }
    
    
    .timeline-card > small { margin: 17px 0 19px; }
    
    
    
    
    
    
    .history-section .light-control { border-radius: 13px; }
    
    .honors-copy > p:not(.eyebrow) { font-size: 13px; }
    .honor-stats { margin: 20px 0; }
    .honor-stats b { font-size: 25px; }
    
    .honor-points { gap: 8px 11px; }
    .honor-gallery-head { margin-bottom: 11px; }
    
    .honor-gallery-head .light-control { width: 34px; height: 34px; border-radius: 11px; }
    .certificate-track { gap: 10px; }
    .certificate-card { border-radius: 17px; }
    .certificate-category { min-height: 22px; margin-bottom: 8px; padding: 3px 7px; font-size: 9px; }
    .certificate-frame { border-radius: 11px; }
    .certificate-card > b { margin-top: 8px; }
    .certificate-card > small { font-size: 9px; }
    .certificate-card > i { font-size: 9px; }
    
    .news-section { padding-block:75px; }
    
    .news-heading > div > span { margin-bottom:10px; }
    .news-heading h2 { font-size:36px; }
    .news-heading > p { font-size:12px; line-height:1.8; }
    .news-layout { grid-template-columns:1fr; gap:24px; }
    
    
    .news-lead-image > i { right:14px; bottom:14px; width:40px; height:40px; border-radius:14px; }
    .news-lead-copy { padding:15px 2px 0; }
    .news-lead-meta { gap:8px; }
    .news-lead-meta > span { padding:3px 7px; font-size:10px; }
    .news-lead-meta small { font-size:8px; }
    .news-lead-copy h3 { margin-block:6px; }
    
    .news-list-item { padding:13px 9px; border-radius:15px; }
    .news-list-item::before { left:0; }
    
    .news-list-category { gap:9px; }
    .news-list-category i { font-size:7px; }
    
    
    .news-list-arrow { border-radius:11px; font-size:10px; }
    .contact-cta { width: 100%; gap: 22px; }
    .contact-cta::before { inset: 7px; }
    
    .contact-cta-copy > p:last-child { max-width: 320px; }
    
    .contact-cta-actions .button { min-height: 47px; }
    .phone-direct > span { width: 41px; height: 41px; border-radius: 14px; }
    
    .footer-main { padding-top: 39px; padding-bottom: 31px; }
    .footer-brand > p { margin-top: 13px; font-size: 13px; }
    
    
    
    
    
    
    
    
    
    .footer-signoff > span { gap: 7px; }
    .footer-signoff > span i { width: 17px; }
    
    .footer-bottom > div { min-height: 0; }
    
    
    .back-to-top { right: 13px; bottom: 13px; width: 42px; height: 42px; border-radius: 14px; }
    .contact-dialog { padding: 29px 21px 23px; border-radius: 21px; }
    .contact-dialog h2 { font-size: 25px; }
    
    .certificate-dialog { grid-template-columns: 36px minmax(0,1fr) 36px; gap: 7px; width: calc(100vw - 20px); padding: 32px 8px 34px; border-radius: 19px; }
    .certificate-nav { width: 34px; height: 34px; border-radius: 12px; font-size: 11px; }
    .certificate-dialog .dialog-close { top: -13px; right: -5px; }
    .certificate-dialog figure img { max-height: calc(100svh - 155px); }
}
@media (prefers-reduced-motion: reduce) {
    
    [data-reveal] { opacity: 1; transform: none; }
    .scroll-progress { display: none; }
}

/* Shared type scale and global layout refinements. */
:root {
    --shell: 1540px;
    --title-section: clamp(34px, 2.35vw, 44px);
    --title-editorial: clamp(32px, 2.55vw, 42px);
    --ink: #102b45;
    --muted: #566f84;
}

body.site-v2 { font-size: 16px; line-height: 1.72; }
.page-shell { width: min(var(--shell), calc(100% - 112px)); }
.brand-slogan small { display: none; }
.nav-link { font-size: 16px; }
.language-switch { font-size: 14px; }
.eyebrow, .hero-copy .eyebrow { font-size: 12px; letter-spacing: .12em; }
.section-heading > p, .body-copy, .product-heading > p, .application-heading-main p,
.news-heading > p, .honors-copy > p:not(.eyebrow) {
    font-size: 16px;
    line-height: 1.8;
}
.ambient-ring, .ambient-ring--about, .ambient-ring--products, .ambient-ring--honors { display: block; }
.ambient-ring { opacity: .48; }

/* Hero: one clear promise, no repeated dashboard of company metrics. */
.hero { min-height: 820px; }
.hero-shade { background: linear-gradient(90deg,rgba(3,18,39,.88) 0%,rgba(4,25,52,.78) 23%,rgba(5,29,58,.5) 44%,rgba(6,28,56,.08) 75%,rgba(5,24,49,.06) 100%),linear-gradient(0deg,rgba(1,18,39,.76),transparent 37%,rgba(1,17,37,.12)),radial-gradient(ellipse at 74% 40%,rgba(231,139,76,.13),transparent 29%); }
.hero-slide:first-child img { filter: brightness(1.1) saturate(1.08); }
.hero-content::before { content: ""; position: absolute; z-index: -1; top: 15%; bottom: 20%; left: -4.5vw; border-radius: 20px; width: min(940px,61vw); clip-path: polygon(0 0,82% 0,100% 90%,95% 100%,0 100%); background: linear-gradient(100deg,rgba(7,38,66,.34),rgba(8,43,72,.2) 67%,rgba(8,43,72,0)); pointer-events: none; }
.hero-copy { width: min(620px, 48%); }
.hero-copy .eyebrow { margin-bottom: 20px; }
.hero-lead { max-width: 510px; margin: 18px 0 24px; font-size: 18px; }
.hero-proofline { display: flex; align-items: center; gap: 13px; margin: 32px 0 0; color: rgba(244,250,255,.82); font-size: 16px; }
.hero-proofline span { color: #fff; font-weight: 700; }
.hero-proofline i { width: 28px; height: 1px; background: rgba(255,255,255,.56); }
.hero-caption { min-width: 155px; font-size: 14px; }
.hero-count { font-size: 12px; }
.hero-controls .circle-control { width: 44px; height: 44px; border-radius: 15px; }

/* About: real company photography and an open, typographic data band. */
.about-section { position: relative; isolation: isolate; padding: 92px 0 96px; }
.about-section::after { display: block; content: "30+"; right: -.03em; bottom: -.13em; font-size: clamp(260px,31vw,510px); }
.about-grid { gap: clamp(48px, 5.5vw, 88px); }
.about-photo { border-radius: 28px 28px 86px 28px; box-shadow: 0 24px 54px rgba(24,66,101,.16); }
.about-photo::before { inset: 12px; border-radius: 21px 21px 75px 21px; }
.about-photo figcaption b { font-size: 12px; }
.about-photo figcaption span { font-size: 16px; }
.photo-location { font-size: 14px; }
.about-copy h2 { margin-bottom: 20px; }
.about-lead { font-size: 18px; line-height: 1.75; }
.body-copy { margin-bottom: 18px; text-indent: 2em; }
.about-copy .text-arrow { font-size: 16px; }
.about-stats { border-top: 1px solid rgba(26,89,137,.17); }
.about-stats article, .about-stats article:nth-child(n) {
    min-height: 130px;
    padding: 22px 12px 12px 0;
    border: 0;
    border-radius: 0;
    color: var(--ink);
    background: transparent;
    box-shadow: none;
}
.about-stats article + article { padding-left: 16px; }
.about-stats article::before, .stat-icon { display: none; }


.about-stats article:hover strong { color: var(--blue); }


/* Products: genuine product images on a quiet material-like surface. */
.products-section { padding: 94px 0 100px; }
.products-section::before { content: ""; position: absolute; top: 90px; left: -390px; width: 740px; aspect-ratio: 1; border: 1px solid rgba(25,107,163,.12); border-radius: 50%; pointer-events: none; }
.products-section::after { background-size: 25px 25px; }
.product-heading { margin-bottom: 30px; }
.product-heading-note { margin-bottom: 12px; font-size: 14px; letter-spacing: .025em; }
.product-heading h2 { font-size: var(--title-editorial); }
.product-layout { grid-template-columns: 1.08fr .92fr; gap: clamp(24px,3vw,46px); }
.product-feature { min-height: 545px; border-radius: 26px 26px 78px 26px; }
.product-feature > img { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.product-feature-top, .product-feature-foot { right: 28px; left: 28px; font: 600 13px/1.4 "Microsoft YaHei","PingFang SC",sans-serif; letter-spacing: .02em; }
.product-feature-top { top: 24px; }
.product-feature-copy { right: auto; bottom: 72px; left: 31px; width: min(39%,350px); }
.product-feature-copy p { font-size: 15px; font-weight: 700; }
.product-feature-copy h3 { max-width: 100%; font-size: clamp(30px,2.5vw,40px); text-shadow: 0 3px 18px rgba(0,0,0,.2); }
.product-feature-copy > span { font-size: 16px; line-height: 1.75; }
.product-spec-tags { gap: 8px; max-width: 100%; }
.product-spec-tags span { padding: 6px 10px; border-radius: 8px; font-size: 13px; backdrop-filter: blur(8px); }


.product-feature--light .product-feature-top, .product-feature--light .product-feature-foot { color: #506a7c; }

.product-feature--light .product-feature-copy h3 { color: #12324d; text-shadow: none; }
.product-feature--light .product-feature-copy > span { color: #50697e; }

.product-feature-copy .circle-control { right: auto; bottom: -3px; left: calc(100% + 18px); }
.product-choices { align-content: start; gap: 10px; }
.product-choice { grid-template-columns: 82px minmax(0,1fr) 38px; min-height: 110px; padding: 10px 14px; border: 1px solid rgba(32,91,132,.12); border-radius: 16px 16px 24px 16px; box-shadow: 0 7px 18px rgba(28,60,100,.045); }
.product-choice:hover, .product-choice.is-active { transform: translateY(-2px); }

.product-choice-image { width: 82px; height: 82px; padding: 4px; border: 1px solid rgba(72,92,144,.11); border-radius: 15px; }
.product-choice-copy { gap: 4px; padding-left: 2px; }
.product-choice-copy small { font: 600 13px/1.3 "Microsoft YaHei","PingFang SC",sans-serif; letter-spacing: 0; }
.product-choice-copy b { font-size: 19px; }
.product-choice-copy > span { font-size: 14px; }
.product-choice > i { width: 38px; height: 38px; border: 1px solid rgba(59,79,139,.08); border-radius: 13px 13px 17px 13px; font-size: 15px; }
.product-choice-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; padding-top: 14px; color: #60778a; font-size: 14px; }

/* Application selector: one large scene and an editorial list of industries. */
.applications-section { position: relative; isolation: isolate; padding: 96px 0 92px; }
.applications-section::before { content: ""; position: absolute; top: -280px; right: -340px; width: 780px; aspect-ratio: 1; border: 1px solid rgba(25,104,158,.1); border-radius: 50%; pointer-events: none; }
.applications-section > .page-shell { position: relative; z-index: 1; }
.application-heading { grid-template-columns: 1fr .7fr; align-items: end; gap: 44px; margin-bottom: 28px; }
.section-kicker { display: block; margin-bottom: 9px; color: #2879a7; font-size: 15px; font-weight: 700; }
.application-heading-main h2 { font-size: var(--title-editorial); }

.application-intro { margin: 0 0 3px; color: #5b7185; font-size: 16px; line-height: 1.8; }
.application-feature { display: grid; grid-template-columns: minmax(0,.38fr) minmax(0,.62fr); min-height: 410px; overflow: hidden; }
.application-visual { position: relative; min-height: 410px; margin: 0; overflow: hidden; background: #d6e1e8; isolation: isolate; }
.application-visual::after { content: ""; position: absolute; inset: 42% 0 0; z-index: 0; pointer-events: none; }
.application-visual img { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; transition: transform .85s var(--ease),opacity .3s; }
.application-feature:hover .application-visual img { transform: scale(1.025); }
.application-visual-index { position: absolute; top: 22px; left: 25px; color: white; font: 700 14px/1.2 Arial,sans-serif; letter-spacing: .06em; text-shadow: 0 1px 8px rgba(0,0,0,.25); }
.application-visual figcaption { position: absolute; right: 26px; bottom: 24px; left: 26px; color: #fff; font-size: 17px; font-weight: 650; }
.application-story { display: flex; flex-direction: column; padding: 36px clamp(26px,3.4vw,54px); }
.application-story-kicker { font-size: 15px; font-weight: 700; }
.application-story h3 { margin: 11px 0 12px; font-size: clamp(27px,2.25vw,36px); line-height: 1.35; letter-spacing: -.025em; }
.application-story > p { max-width: 470px; margin: 0; font-size: 16px; line-height: 1.8; }
.application-story > .text-arrow { align-self: flex-start; margin-top: 19px; font-size: 15px; }
.application-story > button.text-arrow { padding: 0; border: 0; color: #165da5; font-family: inherit; text-align: left; background: transparent; cursor: pointer; }
.application-story > button.text-arrow:focus-visible { outline: 3px solid rgba(38,143,204,.34); outline-offset: 4px; border-radius: 10px; }
.application-selector { display: grid; }
.application-choice { display: grid; justify-items: start; min-width: 0; color: #667b8d; cursor: pointer; }
.application-choice + .application-choice { border-left: 1px solid rgba(37,94,133,.12); }

.application-choice > b { white-space: nowrap; }
.application-choice:hover, .application-choice.is-active { color: #116ba4; background: #f1f7fa; transform: translateY(-2px); }
.application-choice.is-active > span { color: #1789bf; }
.scene-disclaimer { margin-top: 14px; font-size: 13px; text-align: left; }

/* History: the rail passes through every full node; year is the visual anchor. */
.history-section { padding: 94px 0 86px; }
.history-section::after { background-size: 28px 28px; }


.history-heading h2 { font-size: var(--title-section); }
.history-heading > p { max-width: 450px; color: rgba(234,244,255,.78); font-size: 16px; line-height: 1.8; }

.timeline-card { flex-basis: 274px; padding: 23px 21px 22px; border: 1px solid rgba(197,225,248,.19); }

.timeline-node { width: 14px; height: 14px; }
.timeline-card > small { display: none; }
.timeline-card > b { margin-bottom: 11px; }
.timeline-card h3 { margin-bottom: 10px; font-size: 18px; }
.timeline-card p { font-size: 15px; line-height: 1.75; }
.timeline-footer { margin-top: 16px; font-size: 13px; letter-spacing: .03em; }
.timeline-footer > span { gap: 12px; }
.timeline-footer > span b { font-size: 15px; }
.timeline-footer > span i { width: 66px; }
.history-section .light-control { width: 44px; height: 44px; border-radius: 15px; }

/* Honors: readable certificate gallery with the original documents in view. */
.honors-section { position: relative; isolation: isolate; padding: 92px 0 98px; }
.honors-section::after { display: block; content: "NH · 1990"; right: -.08em; bottom: -.22em; left: auto; font-size: clamp(140px,19vw,310px); letter-spacing: -.08em; }
.honors-layout { grid-template-columns: .7fr 1.3fr; gap: clamp(38px,5vw,76px); }
.honors-copy h2 { font-size: var(--title-section); }
.honors-copy > p:not(.eyebrow) { font-size: 16px; }
.honor-stats { gap: 24px; margin: 23px 0; }
.honor-stats b, .honor-stats > div:first-child b { font-size: 24px; }
.honor-stats span { color: #5c7285; font-size: 14px; }
.honor-points { gap: 10px 16px; font-size: 14px; }
.honor-gallery-head { margin-bottom: 16px; }
.honor-gallery-head > span { font-size: 13px; }
.honor-gallery-head > span b { font-size: 20px; }
.honor-gallery-head > span small { font-size: 14px; }
.honor-gallery-head .light-control { width: 42px; height: 42px; }

.certificate-card { border: 1px solid rgba(50,105,145,.1); }
.certificate-card::before { top: 0; right: 0; width: 100%; border: 0; border-radius: 0; box-shadow: none; }
.certificate-card:hover { transform: translateY(-4px); }
.certificate-category { width: fit-content; margin: 3px 0 11px; padding: 5px 16px 5px 9px; border-left: 3px solid #3193b9; font-weight: 700; }


.certificate-card > b { margin-top: 12px; }
.certificate-card > small { min-height: 22px; }
.certificate-card > i { margin-top: 8px; padding-top: 7px; font-size: 13px; font-style: normal; }
.certification-note { margin-top: 3px; }

/* News: keep the requested left image + right reading list, but remove the row-card UI. */
.news-section { padding: 92px 0 96px; background: radial-gradient(ellipse at 8% 12%,rgba(46,130,187,.15),transparent 28%),linear-gradient(120deg,#eaf2f6,#fbfcfc 52%,#e9f1f4); }
.news-section::before, .news-section::after, .news-orbit { display: block; }
.news-heading { margin-bottom: 27px; }
.news-heading > div > span { margin-bottom: 11px; font-size: 14px; letter-spacing: .04em; }
.news-heading h2 { font-size: var(--title-editorial); }
.news-heading > p { font-size: 16px; }
.news-layout { grid-template-columns: 1.03fr .97fr; gap: clamp(38px,5vw,78px); }
.news-lead { grid-template-rows: minmax(330px,1fr) auto; }
.news-lead-image { min-height: 350px; border-radius: 23px 23px 64px 23px; box-shadow: 0 20px 44px rgba(22,76,120,.13); }
.news-lead-copy { padding: 18px 2px 0; }
.news-lead-meta > span { padding: 4px 0; border-bottom: 1px solid #3386b5; border-radius: 0; color: #286b91; background: transparent; font-size: 14px; }
.news-lead-meta small { display: none; }
.news-lead-copy h3 { margin: 9px 0 6px; font-size: clamp(23px,1.85vw,29px); line-height: 1.4; }
.news-lead-copy p { font-size: 16px; }
.news-list { gap: 0; padding: 0; }
.news-list-item { grid-template-columns: 44px minmax(0,1fr) 44px; gap: 7px 16px; min-height: 118px; padding: 17px 13px; border: 0; border-bottom: 1px solid rgba(29,86,126,.19); border-radius: 16px; background: transparent; box-shadow: none; }
.news-list-item:first-child { border-top: 1px solid rgba(29,86,126,.19); }
.news-list-item::before { top: 16px; bottom: 16px; width: 2px; }
.news-list-index { display: block; grid-column: 1; color: rgba(23,104,166,.62); font-size: 27px; font-variant-numeric: tabular-nums; }
.news-list-category { grid-column: 2; gap: 0; color: #377da4; font-size: 14px; }
.news-list-category i { display: none; }
.news-list-copy { grid-column: 2; gap: 4px; }
.news-list-copy b { color: #173953; font-size: 19px; line-height: 1.4; }
.news-list-copy small { color: #5c7183; font-size: 15px; line-height: 1.6; }
.news-list-item:hover, .news-list-item:focus-visible, .news-list-item.is-active { transform: translateX(3px); border-color: rgba(29,86,126,.19); background: linear-gradient(100deg,rgba(255,255,255,.85),rgba(224,239,248,.6)); box-shadow: 0 8px 22px rgba(29,86,126,.055); }
.news-list-item:hover::before, .news-list-item:focus-visible::before, .news-list-item.is-active::before { transform: scaleY(1); }
.news-list-arrow { grid-column: 3; grid-row: 1 / span 2; width: 42px; height: 42px; border:1px solid rgba(59,79,139,.1); border-radius: 13px 13px 18px 13px; color: #31558e; font-size:14px; background:linear-gradient(145deg,#f1f4fb,#e5ebf6); box-shadow:0 4px 10px rgba(34,51,95,.06); }
.news-list-item:hover .news-list-arrow, .news-list-item:focus-visible .news-list-arrow { border-color:transparent; box-shadow:0 7px 16px rgba(35,91,163,.22); }

/* Contact and footer: calmer close, larger legible navigation and contact details. */
.contact-footer { padding-top: 0; }
.contact-cta { padding: 38px clamp(30px,4.2vw,64px); }


.contact-cta::before { border-top: 0; border-right: 0; }

.contact-cta-copy h2 { font-size: clamp(32px,2.55vw,42px); }
.contact-cta-copy > p:last-child { font-size: 16px; }
.phone-direct small { font-size: 13px; }
.phone-direct b { font-size: 18px; }
.footer-main { gap: clamp(24px,3vw,44px); padding-top: 54px; padding-bottom: 42px; }
.footer-brand > p { font-size: 16px; }
.footer-brand > small { font-size: 14px; }
.footer-links { gap: 12px; padding-left: 22px; }
.footer-links > div { gap: 11px; }
.footer-links b { font-size: 15px; }
.footer-links a { font-size: 14px; }
.footer-label { font-size: 13px; }
.footer-contact { gap: 13px; }
.footer-contact small { font-size: 13px; }
.footer-contact b { font-size: 15px; }
.footer-qr > small { font-size: 13px; }
.footer-signoff > span { font-size: 11px; }
.footer-signoff > p { font-size: 15px; }
.footer-bottom > div { font-size: 13px; }
.dialog-intro, .contact-dialog label { font-size: 15px; }
.form-status { font-size: 13px; }

@media (max-width: 1450px) {
    .page-shell { width: calc(100% - 84px); }
    .footer-links a { font-size: 13px; }
    .application-feature { min-height: 410px; }
    .application-visual { min-height: 410px; }
    .application-choice { padding-inline: 6px; }
    .application-choice > b { font-size: 14px; }
}
@media (max-width: 1120px) {
    .page-shell { width: calc(100% - 60px); }
    .hero-copy { width: min(620px,64%); }
    .application-feature { grid-template-columns: minmax(0,.38fr) minmax(0,.62fr); }
    
    .application-choice:nth-child(4) { border-left: 0; }
    .application-choice:nth-child(n+4) { border-top: 1px solid rgba(37,94,133,.12); }
    .footer-links a { font-size: 13px; }
}
@media (max-width: 850px) {
    .page-shell { width: calc(100% - 42px); }
    .hero { min-height: 760px; }
    .hero-copy { width: min(640px,88%); }
    .hero-copy h1 { font-size: clamp(44px,7vw,60px); }
    .hero-proofline { margin-top: 26px; font-size: 15px; }
    .about-section, .products-section, .applications-section, .history-section, .honors-section, .news-section { padding-block: 76px; }
    
    .about-stats article:nth-child(3) { border-left: 0; }
    
    .about-stats article + article { padding-left: 14px; }
    .about-stats article:nth-child(odd) { padding-left: 0; }
    .product-layout { grid-template-columns: 1fr; }
    .product-feature { min-height: 480px; }
    .product-choices { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 14px; }
    .application-heading { grid-template-columns: 1fr; gap: 12px; }
    .application-feature { grid-template-columns: 1fr; }
    .application-visual { min-height: 370px; }
    .application-story { min-height: 410px; padding: 32px; }
    .application-selector { margin-top: 26px; }
    .honors-layout { grid-template-columns: 1fr; }
    .honors-copy { max-width: 660px; }
    
    
    .news-layout { grid-template-columns: 1fr; gap: 28px; }
    .news-lead { grid-template-rows: minmax(280px,auto) auto; }
    .news-lead-image { min-height: 300px; }
    .contact-cta { align-items: flex-start; flex-direction: column; gap: 22px; min-height: 0; padding: 38px 30px; }
    .footer-main { grid-template-columns: 1fr 1.3fr; }
    .footer-links { grid-column: 1/-1; grid-row: auto; order: 3; }
    .footer-contact { grid-column: 2; grid-row: 1; }
    .footer-qr { display: none; }
    .footer-links a { font-size: 14px; }
    .footer-contact small { font-size: 14px; }
    .footer-contact b { font-size: 15px; }
    .footer-bottom > div { font-size: 13px; }
}
@media (max-width: 560px) {
    body.site-v2 { font-size: 16px; }
    .page-shell { width: calc(100% - 36px); }
    .mobile-nav > a, .mobile-nav summary { font-size: 16px; }
    .mobile-nav details a { font-size: 14px; }
    .hero { min-height: 740px; }
    .hero-content { padding-top: 135px; padding-bottom: 135px; }
    .hero-copy { width: 100%; }
    .hero-copy .eyebrow { font-size: 12px; }
    .hero-copy h1 { font-size: clamp(36px,9vw,46px); }
    .hero-lead { font-size: 16px; }
    .hero-proofline { flex-wrap: wrap; gap: 9px; margin-top: 24px; font-size: 14px; }
    .scroll-cue { font-size: 12px; }
    .hero-caption { display: none; }
    .hero-controls .circle-control { width: 39px; height: 39px; }
    .about-section, .products-section, .applications-section, .history-section, .honors-section, .news-section { padding-block: 62px; }
    .section-heading h2, .about-copy h2, .honors-copy h2, .product-heading h2, .application-heading-main h2, .news-heading h2 { font-size: 36px; }
    .about-grid { gap: 32px; }
    .about-visual { padding-right: 8px; }
    .about-photo { aspect-ratio: 1.08; border-radius: 22px 22px 55px 22px; }
    .about-photo::before { inset: 8px; border-radius: 17px 17px 48px 17px; }
    .about-photo figcaption { right: 18px; bottom: 26px; left: 18px; }
    .about-photo figcaption span { font-size: 14px; }
    .photo-location { top: 15px; left: 15px; font-size: 12px; }
    .about-lead { font-size: 17px; }
    .body-copy, .section-heading > p, .product-heading > p, .application-intro, .honors-copy > p:not(.eyebrow), .news-heading > p { font-size: 15px; }
    .about-stats article, .about-stats article:nth-child(n) { padding-top: 17px; }
    .company-video-trigger { --video-disc-size: 60px; gap: 9px; }
    .company-video-label { font-size: 12px; }
    .company-video-dialog { border-radius: 18px; }
    .company-video-dialog .dialog-close { top: 9px; right: 9px; }
    .product-heading { grid-template-columns: 1fr; gap: 10px; }
    .product-heading-note { font-size: 13px; }
    .product-feature { border-radius: 20px 20px 52px 20px; }
    
    .product-feature-shade { background: linear-gradient(90deg,rgba(239,244,247,.98),rgba(239,244,247,.9) 43%,rgba(239,244,247,.04) 100%),linear-gradient(0deg,rgba(11,37,58,.15),transparent 48%); }
    .product-feature-top, .product-feature-foot { right: 17px; left: 17px; font-size: 12px; }
    .product-feature-copy { bottom: 51px; left: 18px; }
    .product-feature-copy h3 { font-size: 27px; }
    .product-feature-copy > span { font-size: 14px; }
    .product-spec-tags span { padding: 5px 7px; font-size: 12px; }
    .product-feature-copy .circle-control { bottom: 0; left: auto; width: 42px; height: 42px; }
    
    .product-choice { gap: 8px; }
    .product-choice-image { border-radius: 9px; }
    .product-choice-copy { gap: 2px; }
    .product-choice-copy small { font-size: 11px; }
    
    
    
    .product-choice-foot { font-size: 13px; }
    .application-heading { margin-bottom: 20px; }
    .application-heading-main h2 { font-size: 34px; }
    .application-intro { font-size: 15px; }
    .application-feature { border-radius: 20px 20px 48px 20px; }
    .application-visual { min-height: 260px; }
    .application-visual-index { top: 15px; left: 16px; font-size: 12px; }
    .application-visual figcaption { right: 16px; bottom: 16px; left: 16px; font-size: 15px; }
    .application-story { min-height: 500px; padding: 23px 17px 18px; }
    .application-story h3 { margin-block: 8px; font-size: 25px; }
    .application-story > p { font-size: 15px; }
    .application-story > .text-arrow { margin-top: 12px; font-size: 14px; }
    .application-selector { margin-top: 19px; padding-top: 12px; }
    .application-choice { grid-template-columns: 27px minmax(0,1fr); align-items: center; gap: 6px; }
    .application-choice:nth-child(odd) { border-left: 0; }
    .application-choice:nth-child(even) { border-left: 1px solid rgba(37,94,133,.12); }
    .application-choice:nth-child(n+3) { border-top: 1px solid rgba(37,94,133,.12); }
    .application-choice > span { font-size: 12px; }
    
    .scene-disclaimer { font-size: 12px; }
    .history-heading > p { font-size: 15px; }
    .timeline-track { gap: 12px; }
    .timeline-card { min-height: 226px; padding: 21px 17px 18px; }
    
    .timeline-node { top: -27px; left: 17px; }
    .timeline-card > b { font-size: 32px; }
    .timeline-card h3 { font-size: 17px; }
    .timeline-card p { font-size: 14px; }
    .timeline-footer { font-size: 12px; }
    .timeline-footer > span { gap: 8px; }
    .timeline-footer > span i { width: 25px; }
    .history-section .light-control { width: 39px; height: 39px; }
    .honors-layout { gap: 28px; }
    .honor-stats { gap: 17px; }
    .honor-stats b, .honor-stats > div:first-child b { font-size: 21px; }
    .honor-stats span { font-size: 13px; }
    .honor-points { font-size: 13px; }
    .honor-gallery-head > span small { font-size: 12px; }
    .certificate-card { padding: 12px; }
    
    .certificate-card > b { font-size: 16px; }
    .certificate-card > small, .certificate-card > i { font-size: 13px; }
    .certification-note { font-size: 12px; line-height: 1.6; }
    .news-heading { display: block; margin-bottom: 20px; }
    .news-heading > div > span { font-size: 13px; }
    .news-heading > p { margin-top: 10px; }
    .news-lead { grid-template-rows: 230px auto; }
    .news-lead-image { min-height: 230px; border-radius: 18px 18px 48px 18px; }
    .news-lead-copy h3 { font-size: 22px; }
    .news-lead-copy p { font-size: 15px; }
    .news-list-item { min-height: 108px; gap: 5px 10px; padding-block: 14px; }
    .news-list-category { font-size: 13px; }
    .news-list-copy b { font-size: 17px; }
    .news-list-copy small { font-size: 14px; }
    .news-list-arrow { width: 36px; height: 36px; }
    .contact-cta { padding: 31px 20px; }
    .contact-cta-copy h2 { font-size: 29px; }
    .contact-cta-copy > p:last-child { font-size: 15px; }
    .contact-cta-actions { gap: 13px; }
    .phone-direct small { font-size: 12px; }
    .phone-direct b { font-size: 16px; }
    .footer-main { grid-template-columns: 1fr; gap: 22px; padding-block: 37px 28px; }
    .footer-links { grid-column: auto; order: 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px 12px; padding: 20px 0; border: 0; border-top: 1px solid rgba(143,195,232,.17); border-bottom: 1px solid rgba(143,195,232,.17); }
    .footer-links > div { gap: 9px; }
    .footer-links b { font-size: 14px; }
    .footer-links a { font-size: 13px; }
    .footer-contact { grid-column: auto; grid-row: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
    .footer-label { grid-column: 1/-1; }
    .footer-contact > div { grid-column: 1/-1; }
    .footer-contact small { font-size: 13px; }
    .footer-contact b { font-size: 14px; }
    .footer-signoff { min-height: 66px; }
    .footer-signoff > span { font-size: 10px; letter-spacing: .1em; }
    .footer-signoff > p { font-size: 13px; letter-spacing: .04em; }
    .footer-bottom > div { align-items: flex-start; gap: 10px; padding-block: 13px; font-size: 12px; }
    .footer-copyright, .footer-support { font-size: 11px; }
    .dialog-intro { font-size: 14px; }
    .form-status { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 560px) {
    .ambient-ring { opacity: .22; }
    .hero-content::before { display: none; }
    .product-feature:not(.product-feature--light) > img { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
    .product-feature:not(.product-feature--light) .product-feature-shade { background: linear-gradient(90deg,rgba(4,19,35,.82),rgba(4,19,35,.48) 58%,rgba(4,19,35,.1)),linear-gradient(0deg,rgba(3,17,31,.78),transparent 66%); }
    .product-feature:not(.product-feature--light) .product-feature-copy p { color: #8adbf3; }
    .product-feature:not(.product-feature--light) .product-feature-copy h3 { color: #fff; text-shadow: 0 3px 18px rgba(0,0,0,.2); }
    .product-feature:not(.product-feature--light) .product-feature-copy > span { color: rgba(244,249,255,.88); }
    .product-feature:not(.product-feature--light) .product-spec-tags span { border-color: rgba(211,236,255,.3); color: #e5f5ff; background: rgba(226,242,255,.12); }
    .product-choices { grid-template-columns: 1fr; gap: 9px; }
    .product-choice { grid-template-columns: 58px minmax(0,1fr) 32px; min-height: 82px; padding: 9px 10px; }
    .product-choice-image { grid-row: 1; width: 48px; height: 58px; }
    .product-choice-copy { min-width: 0; }
    .product-choice-copy b { font-size: 16px; white-space: nowrap; }
    .product-choice-copy > span { font-size: 13px; }
    .product-choice > i { display: grid; width: 31px; height: 31px; }
    .news-list-item { grid-template-columns: 34px minmax(0,1fr) 36px; }
    .news-list-index { font-size: 22px; }
    .news-list-arrow { grid-column: 3; }
    .footer-contact > a[href^="mailto:"] b { font-size: 12px; letter-spacing: -.035em; white-space: nowrap; }
}

/* Brand-color and module-detail refinements. */
.site-header.is-scrolled {
    color: #202d50;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid rgba(59,79,139,.1);
    box-shadow: 0 8px 30px rgba(24,35,74,.12);
    backdrop-filter: blur(18px);
}
.site-header.is-scrolled .brand-slogan { color: #65728f; border-left-color: rgba(59,79,139,.18); }
.site-header.is-scrolled .brand-slogan small { opacity: .8; }
.site-header.is-scrolled .nav-link { color: #29385f; }
.site-header.is-scrolled .nav-link:hover,
.site-header.is-scrolled .nav-link:focus-visible,
.site-header.is-scrolled .nav-link.is-current { color: var(--blue); }
.site-header.is-scrolled .nav-link::after { background: linear-gradient(90deg,var(--blue),#8b9fd5); }
.site-header.is-scrolled .icon-button,
.site-header.is-scrolled .menu-toggle { border-color: rgba(59,79,139,.18); color: var(--blue); background: #f3f5fb; }
.site-header.is-scrolled .menu-toggle span { background: var(--blue); }
.site-header.is-scrolled .language-switch { color: #65728f; }
.site-header.is-scrolled .language-switch b { color: #25345c; }
.site-header.is-scrolled .language-switch i { color: var(--blue); }
.site-header.is-menu-open { color: #202d50; background: rgba(255,255,255,.98); }
.site-header.is-menu-open .menu-toggle { border-color: rgba(59,79,139,.18); color: var(--blue); background: #f3f5fb; }
.site-header.is-menu-open .menu-toggle span { background: var(--blue); }
.button-primary { background: linear-gradient(118deg,#6479b4,#3B4F8B); box-shadow: 0 10px 26px rgba(45,61,116,.22),inset 0 1px 0 rgba(255,255,255,.25); }
.button-primary:hover { background: linear-gradient(118deg,#7488c0,#4d619b); }
.button-icon { color: var(--blue); }
.section-heading h2 em,
.about-copy h2 em,
.honors-copy h2 em,
.product-heading h2 em,
.application-heading-main h2 em,
.news-heading h2 em { color: var(--blue); }
.about-copy h2 { font-size:clamp(34px,2.4vw,44px); }
.text-arrow { color: var(--blue); }
.circle-control:hover, .light-control:hover { background: var(--blue); box-shadow: 0 8px 20px rgba(45,61,116,.2); }

/* About: one composed metric panel; the numbers, not decorative icons, lead. */
.about-section {
    background:
        radial-gradient(ellipse at 10% 80%,rgba(91,112,170,.13),transparent 32%),
        radial-gradient(ellipse at 86% 18%,rgba(168,185,230,.22),transparent 31%),
        linear-gradient(130deg,#edf0f8 0%,#f8f9fc 50%,#e9edf7 100%);
}
.about-section::after { color: rgba(59,79,139,.04); }
.about-copy .text-arrow {
    gap: 14px;
    margin-bottom: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #344b82;
    background: transparent;
    box-shadow: none;
}
.about-copy .text-arrow:hover { transform: none; border: 0; box-shadow: none; }
.about-copy .text-arrow > span {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(59,79,139,.22);
    border-radius: 50%;
    color: var(--blue);
    background: rgba(255,255,255,.64);
    transition: color .24s,background .24s,transform .24s;
}
.about-copy .text-arrow:hover > span { transform: translateX(4px); color: #fff; background: var(--blue); }
.about-stats {
    position: relative;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 0;
    margin-top: 7px;
    padding: 9px 8px;
    overflow: hidden;
    border: 1px solid rgba(59,79,139,.12);
    border-radius: 19px 19px 34px 19px;
    background: linear-gradient(135deg,rgba(255,255,255,.82),rgba(230,234,246,.88));
    box-shadow: 0 14px 34px rgba(47,63,113,.08),inset 0 1px 0 rgba(255,255,255,.9);
}
.about-stats::before {
    position: absolute;
    top: -72px;
    right: -44px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(59,79,139,.1);
    border-radius: 50%;
    box-shadow: 0 0 0 18px rgba(59,79,139,.025),0 0 0 43px rgba(59,79,139,.02);
    content: "";
    pointer-events: none;
}
.about-stats article,
.about-stats article:nth-child(n) {
    position: relative;
    z-index: 1;
    justify-content: center;
    min-width: 0;
    min-height: 126px;
    padding: 12px 15px 11px;
    border: 0;
    border-radius: 0;
    color: var(--ink);
    background: transparent;
    box-shadow: none;
}
.about-stats article + article { border-left: 1px solid rgba(59,79,139,.14); }
.about-stats article::before, .about-stats .stat-icon { display: none; }
.about-stats article:hover { transform: none; box-shadow: none; }
.stat-kicker { margin-bottom: 7px; color: #66749a; font-size: 13px; font-weight: 650; letter-spacing: .02em; }
.about-stats strong { color: #293d73; font-size: clamp(38px,3vw,50px); font-weight: 780; letter-spacing: -.055em; }
.about-stats strong sup { color: #687fbd; }
.about-stats small { margin-top: 8px; color: #5f6f8c; font-size: 14px; line-height: 1.4; }

/* Company introduction and production process now form one continuous story. */
.company-process {
    position: relative;
    z-index: 1;
    margin-top: 76px;
    padding-top: 58px;
    border-top: 1px solid rgba(59,79,139,.14);
}
.process-heading { display: block; margin-bottom: 25px; }
.process-heading > div > span { color: var(--blue); font-size: 13px; font-weight: 700; letter-spacing: .055em; }
.process-heading h3 { margin: 6px 0 0; color: #202f58; font-family: var(--font-display); font-size: clamp(25px,1.8vw,31px); font-weight: 700; letter-spacing: -.025em; line-height: 1.32; }
.process-heading > p { max-width: 760px; margin: 10px 0 0; color: #606d88; font-size: 15px; line-height: 1.7; }
.equipment-gallery {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    grid-template-rows: repeat(2,minmax(180px,1fr));
    gap: 13px;
}
.equipment-card {
    position: relative;
    display: block;
    min-width: 0;
    min-height: 180px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 18px 18px 32px 18px;
    color: #fff;
    background: #202c51;
    box-shadow: 0 14px 34px rgba(35,48,91,.13);
    isolation: isolate;
    transition: transform .34s var(--ease),box-shadow .34s var(--ease),border-color .34s;
}
.equipment-card--lead { grid-column: 1 / span 2; grid-row: 1 / span 2; min-height: 600px; }
.equipment-card:nth-child(2) { grid-column: 3 / span 2; grid-row: 1; }
.equipment-card:nth-child(3) { grid-column: 3; grid-row: 2; }
.equipment-card--wide { grid-column: 4; grid-row: 2; }
.equipment-card::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(0deg,rgba(12,21,48,.91) 0%,rgba(16,27,57,.52) 38%,rgba(12,20,44,.06) 78%),linear-gradient(110deg,rgba(38,55,108,.22),transparent 62%);
    content: "";
}
.equipment-card > img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.04); transition:transform .75s var(--ease),filter .4s; }
.equipment-card--lead > img { object-position: center 48%; }
.equipment-card:nth-child(2) > img { object-position: center 44%; }
.equipment-card:nth-child(3) > img { object-position: center 47%; }
.equipment-card--wide > img { object-position: left center; }
.equipment-card:hover { transform: translateY(-4px); border-color:rgba(255,255,255,.8); box-shadow:0 22px 42px rgba(35,48,91,.22); }
.equipment-card:hover > img { transform:scale(1.055); filter:saturate(1.04) contrast(1.08); }
.equipment-card-index { position:absolute; top:16px; left:17px; display:flex; align-items:center; gap:10px; color:#fff; font:750 13px/1 Arial,sans-serif; letter-spacing:.06em; }
.equipment-card-index i { color:rgba(242,244,255,.78); font:650 10px/1 Arial,sans-serif; letter-spacing:.15em; font-style:normal; }
.equipment-card-copy { position:absolute; right:48px; bottom:18px; left:18px; display:grid; gap:3px; }
.equipment-card-copy small { color:#c1cdef; font-size:13px; font-weight:650; }
.equipment-card-copy b { color:#fff; font-size:19px; line-height:1.35; }
.equipment-card--lead .equipment-card-copy { right:72px; bottom:25px; left:25px; }
.equipment-card--lead .equipment-card-copy small { font-size:14px; }
.equipment-card--lead .equipment-card-copy b { font-size:clamp(23px,1.9vw,29px); }
.equipment-card-arrow { position:absolute; right:16px; bottom:16px; display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:12px; color:white; background:rgba(22,34,69,.35); backdrop-filter:blur(8px); transition:transform .25s,background .25s; }
.equipment-card:hover .equipment-card-arrow { transform:translate(2px,-2px); background:var(--blue); }

/* Product stage: darker material photography and a soft indigo technical field. */
.products-section {
    background:
        radial-gradient(ellipse at 9% 10%,rgba(95,113,173,.17),transparent 30%),
        radial-gradient(ellipse at 92% 88%,rgba(114,131,188,.15),transparent 34%),
        linear-gradient(130deg,#e6eaf4 0%,#f0f2f8 46%,#e5e9f3 100%);
}
.products-section::before { border-color:rgba(59,79,139,.14); box-shadow:0 0 0 32px rgba(59,79,139,.035),0 0 0 76px rgba(59,79,139,.025),0 0 0 142px rgba(59,79,139,.018); }
.products-section::after { opacity:.24; background-image:radial-gradient(circle,rgba(59,79,139,.15) .7px,transparent .95px); }
.product-feature { color:#fff; background:#121b39; box-shadow:0 25px 55px rgba(25,36,78,.24); }
.product-feature > img { filter:brightness(.76) contrast(1.18) saturate(.88); }
.product-feature-shade {
    background:
        linear-gradient(90deg,rgba(13,21,48,.91) 0%,rgba(17,27,59,.75) 39%,rgba(15,25,54,.34) 75%,rgba(15,25,54,.24) 100%),
        linear-gradient(0deg,rgba(12,20,45,.74),rgba(12,20,45,.05) 63%),
        radial-gradient(ellipse at 78% 26%,rgba(94,116,185,.26),transparent 44%);
}
.product-feature-top, .product-feature-foot { color:rgba(244,246,255,.84); }
.product-feature-copy p { color:#bdc9ec; }
.product-feature-copy h3 { color:#fff; }
.product-feature-copy > span { color:rgba(244,246,255,.88); }
.product-spec-tags span { border-color:rgba(207,218,248,.3); color:#f1f3ff; background:rgba(51,68,124,.36); }
.product-feature--light { color:#fff; background:#121b39; }
.product-feature--light .product-feature-shade { background:linear-gradient(90deg,rgba(13,21,48,.91),rgba(17,27,59,.75) 39%,rgba(15,25,54,.34) 75%,rgba(15,25,54,.24)),linear-gradient(0deg,rgba(12,20,45,.74),transparent 63%); }
.product-feature--light .product-feature-top, .product-feature--light .product-feature-foot,
.product-feature--light .product-feature-copy h3, .product-feature--light .product-feature-copy > span { color:#fff; }
.product-feature--light .product-feature-copy p { color:#bdc9ec; }
.product-feature--light .product-spec-tags span { border-color:rgba(207,218,248,.3); color:#f1f3ff; background:rgba(51,68,124,.36); }
.product-choice { background:rgba(249,250,253,.72); }
.product-choice-image { background:#e8edf6; }
.product-choice-image img { filter:contrast(1.12) saturate(1.02); mix-blend-mode:multiply; transition:transform .45s var(--ease),filter .35s; }
.product-choice:hover .product-choice-image img,
.product-choice.is-active .product-choice-image img { filter:contrast(1.2) saturate(1.02) brightness(1.04); }
.product-choice:hover, .product-choice.is-active { border-color:rgba(59,79,139,.28); background:linear-gradient(115deg,rgba(255,255,255,.98),rgba(239,243,251,.95)); }
.product-choice.is-active { box-shadow:0 10px 25px rgba(43,57,106,.09),inset 3px 0 var(--blue); }
.product-choice-copy small { color:#596a9d; }
.product-choice-copy b { color:#26375f; }
.product-choice-copy > span { color:#5e6d88; }
.product-choice > i { color:var(--blue); background:#e9edf7; }
.product-choice:hover > i, .product-choice.is-active > i { border-color:transparent; background:var(--blue); }
.product-heading h2 em { color:var(--blue); }

/* Six industry tabs fit on desktop; compact grids keep every option visible on smaller screens. */
.applications-section {
    background:
        radial-gradient(ellipse at 4% 75%,rgba(94,112,170,.13),transparent 30%),
        radial-gradient(ellipse at 96% 12%,rgba(167,183,225,.2),transparent 28%),
        linear-gradient(115deg,#e7ebf4 0%,#f3f5f9 48%,#e6eaf4 100%);
}
.applications-section::before { border-color:rgba(59,79,139,.12); box-shadow:0 0 0 34px rgba(59,79,139,.03),0 0 0 80px rgba(59,79,139,.022),0 0 0 145px rgba(59,79,139,.016); }
.application-feature { border:1px solid rgba(59,79,139,.11); border-radius:24px 24px 58px 24px; background:rgba(250,251,254,.84); box-shadow:0 24px 55px rgba(38,50,97,.12); }
.application-visual::after { background:linear-gradient(0deg,rgba(16,27,59,.65),transparent 55%); }
.application-story { background:linear-gradient(145deg,rgba(250,251,254,.98),rgba(235,238,247,.95)); }
.application-story-kicker { color:#65749f; }
.application-story h3 { color:#21325b; }
.application-story > p { color:#5c6984; }
.application-selector { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; border-top:0; }
.application-choice {
    position:relative;
    grid-template-columns:1fr;
    align-content:center;
    gap:7px;
    min-height:76px;
    padding:11px 12px 13px;
    overflow:hidden;
    border:1px solid rgba(59,79,139,.12);
    border-radius:12px 12px 22px 12px;
    text-align:left;
    background:rgba(255,255,255,.66);
    transition:transform .25s var(--ease),background .25s,border-color .25s,box-shadow .25s,color .25s;
}
.application-choice::after { position:absolute; right:12px; bottom:0; left:12px; height:3px; border-radius:3px 3px 0 0; background:var(--blue); content:""; transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease); }
.application-choice > span { color:#7784a8; font:700 13px/1 Arial,sans-serif; letter-spacing:.05em; }
.application-choice > b { color:#324366; font-size:15px; font-weight:700; }
.application-choice > i { position:absolute; top:9px; right:9px; display:grid; place-items:center; width:27px; height:27px; border-radius:9px 9px 13px 9px; color:#49649e; font-size:12px; background:rgba(226,232,247,.9); transition:transform .25s var(--ease),color .25s,background .25s; }
.application-choice:hover, .application-choice:focus-visible { transform:translateY(-3px); border-color:rgba(59,79,139,.3); background:#fff; box-shadow:0 12px 23px rgba(43,57,106,.1); }
.application-choice:hover > i, .application-choice:focus-visible > i { color:#fff; background:var(--blue); transform:translateY(-1px) rotate(5deg); }
.application-choice.is-active { border-color:transparent; color:#fff; background:linear-gradient(145deg,#53699f,#33477f); box-shadow:0 12px 24px rgba(43,57,106,.22),inset 0 1px 0 rgba(255,255,255,.2); }
.application-choice.is-active > span, .application-choice.is-active > b { color:#fff; }
.application-choice.is-active > i { color:#fff; background:rgba(255,255,255,.17); box-shadow:inset 0 1px 0 rgba(255,255,255,.18); }
.application-choice.is-active::after { background:#b8c8f0; transform:scaleX(1); }
.application-heading-main h2 em { color:var(--blue); }

/* History: angled connectors and an alternating, gradually rising sequence. */
.history-section { background:#151f42; }
.history-section::after { opacity:.14; background-image:radial-gradient(circle,rgba(168,185,230,.52) .8px,transparent 1px); }
.history-visual { opacity:.42; }
.history-visual > div { background:linear-gradient(90deg,rgba(15,25,55,.76),rgba(21,34,73,.68)),radial-gradient(ellipse at 73% 35%,rgba(75,94,157,.34),transparent 46%),linear-gradient(0deg,rgba(15,24,52,.5),transparent 55%); }
.history-heading h2 em { color:#b8c7ed; }
.timeline-track { align-items:flex-start; padding:48px 1px 34px; }
.timeline-card { flex:0 0 274px; min-height:254px; margin-top:0; overflow:visible; border-color:rgba(210,220,247,.19); border-radius:16px 16px 32px 16px; background:linear-gradient(150deg,rgba(255,255,255,.15),rgba(255,255,255,.07)); }
.timeline-card:nth-child(1) { margin-top:28px; }
.timeline-card:nth-child(2) { margin-top:6px; }
.timeline-card:nth-child(3) { margin-top:25px; }
.timeline-card:nth-child(4) { margin-top:0; }
.timeline-card:nth-child(5) { margin-top:20px; }
.timeline-card:nth-child(6) { margin-top:0; }
.timeline-card:nth-child(7) { margin-top:16px; }
.timeline-card:nth-child(8) { margin-top:0; }
.timeline-card:nth-child(9) { margin-top:10px; }
.timeline-card:not(:last-child)::before { height:2px; transform:rotate(var(--route-angle,0deg)); transform-origin:left center; background:linear-gradient(90deg,rgba(168,185,230,.95),rgba(112,139,204,.28)); box-shadow:0 0 12px rgba(125,151,220,.3); }
.timeline-card:nth-child(1)::before { --route-angle:-4.5deg; }
.timeline-card:nth-child(2)::before { --route-angle:3.8deg; }
.timeline-card:nth-child(3)::before { --route-angle:-5deg; }
.timeline-card:nth-child(4)::before { --route-angle:4deg; }
.timeline-card:nth-child(5)::before { --route-angle:-4deg; }
.timeline-card:nth-child(6)::before { --route-angle:3deg; }
.timeline-card:nth-child(7)::before { --route-angle:-3.2deg; }
.timeline-card:nth-child(8)::before { --route-angle:2deg; }
.timeline-node { border-color:#151f42; background:#c1cff2; box-shadow:0 0 0 4px rgba(153,174,229,.2),0 0 18px rgba(133,157,225,.48); }
.timeline-card:hover, .timeline-card.is-current { border-color:rgba(190,205,245,.56); background:linear-gradient(145deg,rgba(78,99,160,.5),rgba(255,255,255,.1)); }
.timeline-card > b { color:#f5f6ff; font-size:35px; }
.timeline-card h3 { color:#e5eafb; }
.timeline-card p { color:rgba(235,239,251,.82); }
.timeline-footer > span b { color:#c0cef0; }
.history-section .light-control { border-color:rgba(213,222,247,.25); }
.history-section .light-control:hover { background:var(--blue); }

/* Honors: a cool blue certificate salon with larger, legible originals. */
.honors-section {
    background:
        radial-gradient(ellipse at 8% 88%,rgba(102,123,183,.17),transparent 31%),
        radial-gradient(ellipse at 88% 5%,rgba(176,190,229,.3),transparent 29%),
        linear-gradient(135deg,#e5e9f4 0%,#eff1f8 52%,#e6eaf4 100%);
}
.honors-section::after { color:rgba(59,79,139,.055); }
.ambient-ring--honors { border-color:rgba(59,79,139,.16); }
.ambient-ring--honors::before, .ambient-ring--honors::after { border-color:rgba(59,79,139,.09); }
.honors-copy h2 em { color:var(--blue); }
.honor-stats b { color:#344a80; }
.honor-gallery-head > span b { color:var(--blue); }
.certificate-track { gap:18px; padding:8px 5px 20px; }
.certificate-card { flex-basis:304px; padding:17px 17px 18px; border-color:rgba(59,79,139,.15); border-radius:16px 16px 32px 16px; background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(237,240,249,.96)); box-shadow:0 16px 34px rgba(42,55,105,.13); }
.certificate-card::before { height:5px; background:linear-gradient(90deg,#3B4F8B,#8b9fce 64%,rgba(139,159,206,0)); }
.certificate-card:hover { border-color:rgba(59,79,139,.34); box-shadow:0 22px 42px rgba(42,55,105,.19); }
.certificate-category { min-height:28px; border:1px solid rgba(59,79,139,.13); border-radius:7px 7px 14px 7px; color:#394f87; background:linear-gradient(110deg,#e4e9f5,#f2f4fa); font-size:13px; }
.certificate-frame { border:1px solid rgba(59,79,139,.11); border-radius:10px; background:linear-gradient(145deg,#edf0f8,#e4e8f2); box-shadow:inset 0 0 0 5px rgba(255,255,255,.45); }
.certificate-frame img { mix-blend-mode:normal; }
.certificate-card > b { color:#25385f; font-size:18px; }
.certificate-card > small { color:#5f6e88; font-size:14px; }
.certificate-card > i { color:var(--blue); }
.certificate-card > i span { color:var(--blue); background:#e8ecf7; }
.certificate-card:hover > i span { background:var(--blue); }
.certification-note { color:#66738d; font-size:12px; }

/* A single indigo footer field ties the consultation panel into the site close. */
.contact-footer { padding:42px 0 0; background:#111a37; }
.contact-cta {
    min-height:260px;
    margin-bottom:28px;
    border:1px solid rgba(188,201,237,.24);
    border-radius:28px 28px 46px 28px;
    background:#293b78;
    box-shadow:0 22px 48px rgba(4,10,30,.25),inset 0 1px 0 rgba(255,255,255,.18);
}
.contact-cta-image img { object-position:center 48%; opacity:.37; filter:saturate(.7) brightness(.72); }
.contact-cta-shade { background:linear-gradient(102deg,rgba(25,38,82,.98),rgba(48,66,126,.91) 57%,rgba(59,79,139,.78)),linear-gradient(0deg,rgba(10,17,41,.18),transparent); }
.contact-cta::before { inset:11px; border:1px solid rgba(206,216,244,.2); border-radius:21px 21px 38px 21px; }
.contact-cta::after { opacity:.32; }
.contact-cta-copy h2 em { color:#c2cff1; }
.contact-cta .button-primary { color:#253563; background:#fff; box-shadow:0 12px 27px rgba(10,19,49,.16); }
.contact-cta .button-primary .button-icon { color:#fff; background:var(--blue); }
.contact-cta .button-primary:hover { background:#f0f2fa; }
.site-footer { background:linear-gradient(180deg,#111a37 0%,#101a3b 100%); }
.footer-globe { opacity:.22; filter:hue-rotate(32deg) saturate(.72); }
.footer-links, .footer-contact, .footer-qr { border-color:rgba(175,191,232,.19); }
.footer-links > div > b, .footer-label { color:#b9c7eb; }
.footer-contact > a > span, .footer-contact > div > span, .social-links a { border-color:rgba(171,190,237,.26); color:#c0ccef; background:rgba(91,112,170,.18); }
.footer-contact > a:hover > span, .social-links a:hover { color:#fff; background:var(--blue); }
.footer-signoff { border-color:rgba(173,190,233,.15); }
.footer-bottom { border-color:rgba(173,190,233,.2); }
.footer-bottom > div { border-color:rgba(173,190,233,.12); }
.back-to-top { background:var(--blue); box-shadow:0 10px 26px rgba(45,61,116,.27); }

@media (max-width: 1120px) {
    .equipment-gallery { grid-template-rows:repeat(2,minmax(165px,1fr)); }
    .equipment-card--lead { min-height:343px; }
    .equipment-card-copy b { font-size:17px; }
    .application-selector { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .application-choice:nth-child(n) { border:1px solid rgba(59,79,139,.12); }
}
@media (max-width: 850px) {
    .site-header.is-scrolled .brand-slogan, .site-header.is-menu-open .brand-slogan { display:none; }
    .about-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .about-stats article, .about-stats article:nth-child(n) { min-height:118px; padding:14px 15px; }
    .about-stats article + article { border-left:0; }
    .about-stats article:nth-child(even) { border-left:1px solid rgba(59,79,139,.14); }
    .about-stats article:nth-child(n+3) { border-top:1px solid rgba(59,79,139,.14); }
    .company-process { margin-top: 62px; padding-top: 44px; }
    .equipment-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
    .equipment-card--lead { grid-column:1/-1; grid-row:auto; min-height:310px; }
    .equipment-card:nth-child(2), .equipment-card:nth-child(3), .equipment-card--wide { grid-column:auto; grid-row:auto; min-height:190px; }
    .equipment-card--wide { grid-column:1/-1; }
    .timeline-track { padding-top:58px; }
    .timeline-card:nth-child(1) { margin-top:18px; }
    .timeline-card:nth-child(2) { margin-top:4px; }
    .timeline-card:nth-child(3) { margin-top:15px; }
    .timeline-card:nth-child(4) { margin-top:0; }
    .timeline-card:nth-child(5) { margin-top:12px; }
    .timeline-card:nth-child(6) { margin-top:0; }
    .timeline-card:nth-child(7) { margin-top:10px; }
    .timeline-card:nth-child(8) { margin-top:0; }
    .timeline-card:nth-child(9) { margin-top:7px; }
    .certificate-card { flex-basis:286px; }
    .certificate-frame { height:280px; }
    .contact-footer { padding-top:34px; }
    .contact-cta { margin-bottom:20px; }
}
@media (max-width: 560px) {
    .about-stats { padding:6px; border-radius:16px 16px 28px 16px; }
    .about-stats article, .about-stats article:nth-child(n) { min-height:108px; padding:11px 10px; }
    .stat-kicker { margin-bottom:5px; font-size:12px; }
    .about-stats strong { font-size:clamp(34px,10vw,43px); }
    .about-stats small { margin-top:6px; font-size:13px; }
    .company-process { margin-top:48px; padding-top:35px; }
    .process-heading { margin-bottom:18px; }
    .process-heading h3 { font-size:23px; }
    .process-heading > p { font-size:14px; }
    .equipment-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; gap:10px; }
    .equipment-card--lead, .equipment-card:nth-child(n), .equipment-card--wide { grid-column:auto; grid-row:auto; min-height:175px; }
    .equipment-card:nth-child(1), .equipment-card:nth-child(4) { grid-column:1/-1; }
    .equipment-card:nth-child(1) { min-height:235px; }
    .equipment-card:nth-child(4) { min-height:180px; }
    .equipment-card-copy { right:34px; bottom:13px; left:13px; }
    .equipment-card-copy small { font-size:11px; }
    .equipment-card-copy b { font-size:15px; }
    .equipment-card--lead .equipment-card-copy { right:48px; bottom:17px; left:17px; }
    .equipment-card--lead .equipment-card-copy b { font-size:21px; }
    .equipment-card-index { top:12px; left:12px; gap:6px; font-size:11px; }
    .equipment-card-index i { font-size:8px; }
    .equipment-card-arrow { right:10px; bottom:10px; width:29px; height:29px; }
    .product-feature { min-height:390px; }
    .product-feature > img { inset:0; width:100%; height:100%; object-position:70% center; }
    .product-feature-shade, .product-feature--light .product-feature-shade { background:linear-gradient(90deg,rgba(13,21,48,.93),rgba(17,27,59,.72) 48%,rgba(15,25,54,.27)),linear-gradient(0deg,rgba(12,20,45,.8),transparent 68%); }
    .product-feature-copy { width:68%; }
    .product-feature-copy .circle-control { right:-52px; }
    .application-selector { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
    .application-choice { min-height:66px; padding:9px 10px 11px; }
    .application-choice > b { font-size:14px; }
    .application-heading-main h2 em { display:block; }
    .timeline-track { padding-top:45px; padding-bottom:22px; }
    .timeline-card { flex-basis:min(78vw,280px); }
    .timeline-card:nth-child(1) { margin-top:14px; }
    .timeline-card:nth-child(2) { margin-top:2px; }
    .timeline-card:nth-child(3) { margin-top:11px; }
    .timeline-card:nth-child(4) { margin-top:0; }
    .timeline-card:nth-child(5) { margin-top:9px; }
    .timeline-card:nth-child(6) { margin-top:0; }
    .timeline-card:nth-child(7) { margin-top:7px; }
    .timeline-card:nth-child(8) { margin-top:0; }
    .timeline-card:nth-child(9) { margin-top:5px; }
    .timeline-card:not(:last-child)::before { top:-20px; left:24px; width:calc(100% + 12px); }
    .timeline-card:nth-child(1)::before { --route-angle:-2.4deg; }
    .timeline-card:nth-child(2)::before { --route-angle:1.8deg; }
    .timeline-card:nth-child(3)::before { --route-angle:-2deg; }
    .timeline-card:nth-child(4)::before { --route-angle:1.8deg; }
    .timeline-card:nth-child(5)::before { --route-angle:-1.7deg; }
    .timeline-card:nth-child(6)::before { --route-angle:1.4deg; }
    .timeline-card:nth-child(7)::before { --route-angle:-1.3deg; }
    .timeline-card:nth-child(8)::before { --route-angle:1deg; }
    .certificate-card { flex-basis:252px; }
    .certificate-frame { height:246px; }
    .contact-footer { padding-top:25px; }
    .contact-cta { margin-bottom:14px; border-radius:22px 22px 34px 22px; }
    .contact-cta::before { border-radius:15px 15px 27px 15px; }
}

/* Timeline, certificate and application layout corrections. */
.timeline-track { gap:18px; padding-top:66px; }
.timeline-card:not(:last-child)::before { top:-26px; left:30px; width:calc(100% + 18px); }
.timeline-node { top:-33px; left:23px; }
.application-feature, .application-visual { min-height:410px; }
.application-story { justify-content:flex-start; }
.application-selector { margin-top:auto; padding-top:18px; }
.certificate-frame { display:flex; align-items:center; justify-content:center; height:300px; }
.certificate-frame img { display:block; flex:0 1 auto; min-width:0; min-height:0; max-width:100%; max-height:100%; width:100%; height:100%; object-fit:contain; }
.certificate-card:hover .certificate-frame img { transform:none; filter:drop-shadow(0 3px 4px rgba(27,49,79,.14)); }
.mobile-nav a.is-current, .mobile-nav details > summary.is-current { color:var(--blue); background:rgba(59,79,139,.08); }

@media (max-width:850px) {
    .timeline-track { gap:16px; padding-top:64px; }
    .timeline-card:not(:last-child)::before { width:calc(100% + 16px); }
    .application-feature { min-height:0; }
    .application-visual { min-height:390px; }
    .application-story { justify-content:flex-start; }
    .application-selector { margin-top:auto; }
    .certificate-frame { height:280px; }
}
@media (max-width:560px) {
    .timeline-track { gap:12px; padding-top:58px; }
    .timeline-card:not(:last-child)::before { top:-26px; left:30px; width:calc(100% + 12px); }
    .timeline-node { top:-33px; left:23px; }
    .application-visual { min-height:300px; }
    .application-selector { margin-top:auto; padding-top:16px; }
    .product-choice-copy small { font-size:11px; letter-spacing:0; }
    .product-choice-copy b { font-size:14px; }
    .product-choice-copy > span { font-size:12px; line-height:1.45; }
    .application-choice > span { font-size:12px; }
    .certificate-frame { height:280px; }
    .certificate-category { font-size:11px; }
    .certificate-card > b { font-size:15px; }
    .certificate-card > small, .certificate-card > i { font-size:12px; }
    .certification-note { font-size:12px; line-height:1.7; }
    .timeline-card p { font-size:13px; }
    .news-list-category { font-size:11px; }
    .news-list-category i { font-size:9px; }
    .news-list-copy b { font-size:15px; }
    .news-list-copy small { font-size:12px; }
    .footer-links a { font-size:12px; }
    .footer-contact small { font-size:11px; }
    .footer-contact b { font-size:12px; }
    .footer-qr > small { font-size:11px; line-height:1.6; }
}

/* Desktop hero is capped at 800px on 1080p displays; smaller devices keep their own sizing. */
@media (min-width:851px) {
    .hero { height:min(800px,100svh); min-height:min(800px,100svh); }
}

/* Mobile quick actions: a compact industrial-indigo dock with safe-area support. */
.mobile-action-bar { display:none; }
@media (max-width:850px) {
    .mobile-action-bar {
        position:fixed;
        z-index:900;
        right:0;
        bottom:0;
        left:0;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        align-items:center;
        gap:4px;
        padding:8px 10px calc(8px + env(safe-area-inset-bottom));
        border-top:1px solid rgba(185,201,239,.19);
        background:linear-gradient(180deg,rgba(27,43,82,.97),rgba(14,24,52,.99));
        box-shadow:0 -12px 34px rgba(5,14,36,.18);
        -webkit-backdrop-filter:blur(18px);
        backdrop-filter:blur(18px);
    }
    .mobile-action-bar::before {
        position:absolute;
        top:0;
        left:30%;
        width:40%;
        height:1px;
        background:linear-gradient(90deg,transparent,rgba(91,207,239,.72),transparent);
        content:"";
        pointer-events:none;
    }
    .mobile-action {
        display:flex;
        min-width:0;
        min-height:54px;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:4px;
        padding:4px 2px;
        border:0;
        border-radius:13px;
        color:rgba(235,241,255,.82);
        background:transparent;
        font-family:inherit;
        font-size:11px;
        font-weight:700;
        line-height:1.15;
        text-align:center;
        text-decoration:none;
        white-space:nowrap;
        cursor:pointer;
        -webkit-tap-highlight-color:transparent;
        transition:color .2s,background .2s,transform .2s;
    }
    .mobile-action-icon {
        display:grid;
        width:29px;
        height:29px;
        flex:0 0 29px;
        place-items:center;
        border:1px solid rgba(210,222,250,.12);
        border-radius:10px;
        color:#c2d0f1;
        background:rgba(255,255,255,.065);
        font-size:14px;
        transition:color .2s,background .2s,border-color .2s,box-shadow .2s;
    }
    .mobile-action--call .mobile-action-icon { color:#82d9f2; }
    .mobile-action--consult .mobile-action-icon {
        border-color:rgba(126,195,250,.36);
        color:#fff;
        background:linear-gradient(145deg,#37a9e8,#3b4f8b);
        box-shadow:0 5px 14px rgba(33,105,184,.3);
    }
    .mobile-action:hover, .mobile-action:focus-visible { color:#fff; background:rgba(255,255,255,.075); }
    .mobile-action:active { transform:translateY(1px); }
    .mobile-action:focus-visible { outline:2px solid #7edcf2; outline-offset:1px; }
    .back-to-top { display:none; }
    .contact-footer { padding-bottom:calc(62px + env(safe-area-inset-bottom)); }
}
@media (max-width:380px) {
    .mobile-action-bar { gap:1px; padding-right:6px; padding-left:6px; }
    .mobile-action { font-size:10px; }
}
