/* Original HDMC design, refined in place. Keep section order, factory hero,
   blue-grey transitions, glass capability panels and industry image grid. */
:root { --focus-color:#12649d; --header-height:80px; }
html { scroll-padding-top:calc(var(--header-height) + 20px); }
body { font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif; }
[hidden] { display:none !important; }
a,button,input,select,textarea { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--focus-color); outline-offset:4px; }
header { height:var(--header-height); padding:0 4%; background:rgba(16,21,28,.93); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-bottom:1px solid rgba(255,255,255,.12); }
header nav { width:100%; display:flex; justify-content:space-between; align-items:center; gap:24px; }
header .logo { flex-shrink:0; line-height:0; }
header .logo img { height:54px; width:auto; display:block; }
header .navbar { display:flex; align-items:center; gap:8px; margin:0; padding:0; background:transparent; border-radius:0; box-shadow:none; }
header .navbar > li { margin:0; }
header .navbar > li > a { display:block; padding:16px 14px; font-size:15px; color:#f5f7fa; }
header .navbar > li > a:hover { color:#fff; background:rgba(255,255,255,.08); border-radius:6px; }
header nav ul li a.request-quote { margin-left:12px; background:#df352b; border-radius:6px; padding:13px 24px; min-height:46px; font-weight:600; }
header nav ul li a.request-quote:hover { background:#c92820; }
header .sub-menu { min-width:180px; padding:8px; border:1px solid #dde3e9; border-radius:8px; background:#fff; box-shadow:0 12px 32px #101c3226; }
header .sub-menu li { width:auto; margin:0; }
header .sub-menu li a { display:block; padding:12px 14px; font-size:14px; color:#24364a; border-radius:4px; }
header .sub-menu li a:hover { background:#edf2f7; color:#12283f; }
header .sub-menu.show { display:block; }
header::after { content:""; position:absolute; bottom:-1px; left:0; width:100%; height:2px; background:#e64a3b; transform:scaleX(var(--page-progress,0)); transform-origin:left; pointer-events:none; }
header .menu-toggle { color:#fff; border:0; }
body.homepage { padding-top:var(--header-height); }
.homepage .hero-section { height:calc(100svh - var(--header-height)); min-height:640px; background:#172433; isolation:isolate; overflow:hidden; }
.homepage .hero-section::before { content:""; position:absolute; inset:0; z-index:-2; background:url('../img/optimized/hero.webp') center center/cover no-repeat; animation:hero-settle 14s cubic-bezier(.2,.5,.3,1) both; }
.homepage .hero-section > .overlay { background:linear-gradient(180deg,rgba(7,15,24,.13) 0%,rgba(7,15,24,.34) 50%,rgba(7,15,24,.58) 100%); z-index:-1; }
.homepage .hero-content { position:relative; z-index:3; max-width:1120px; width:92%; padding:36px 0; margin:auto; }
.homepage .hero-content h1 { font-size:clamp(36px,4.1vw,60px); line-height:1.32; letter-spacing:-.025em; font-weight:650; margin-bottom:20px; text-shadow:0 3px 26px #050d1bc9; text-wrap:balance; }
.homepage .hero-content p { font-size:21px; letter-spacing:.14em; margin-bottom:32px; text-shadow:0 2px 12px #050d1b; }
.homepage .learn-more-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; min-width:148px; border-radius:999px; border:1px solid #ffffff96; background:#ffffff1f; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); font-size:16px; font-weight:600; transition:background .22s,transform .22s; }
.homepage .learn-more-button:hover { background:#ffffff38; transform:translateY(-3px); }
.homepage .hero-section::after { z-index:1; }
.homepage .product-section { padding:68px 24px; }
.homepage .product-link { max-width:880px; padding:60px 40px; border-radius:24px; transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease; }
.homepage .top-blend .product-link { background:linear-gradient(145deg,rgba(224,234,245,.78),rgba(211,225,239,.65)); border:1px solid #ffffff90; box-shadow:0 20px 46px #14273e22,inset 0 1px 0 #ffffffa0; }
.homepage .product-link:hover { transform:translateY(-6px); border-color:#fff; box-shadow:0 26px 56px #14273e33,inset 0 1px 0 #ffffffd0; }
.homepage .product-section h2 { color:#182c42; font-size:clamp(34px,3.5vw,48px); line-height:1.25; letter-spacing:-.025em; margin-bottom:16px; }
.homepage .product-section p { color:#3f536b; font-size:18px; line-height:1.75; margin-bottom:30px; }
.homepage .view-more { color:#1c344f; background:rgba(255,255,255,.76); border:1px solid #ffffffaa; min-height:48px; padding:12px 22px; font-size:15px; }
.homepage .products-section { padding:90px 24px; }
.homepage .products-section h2,.homepage #industries h2 { font-size:clamp(28px,3vw,42px); color:#1c2e44; line-height:1.3; letter-spacing:-.02em; }
.homepage .products-section p,.homepage #industries > p { color:#40546b; line-height:1.8; }
.homepage .product-list { gap:18px 40px; margin:32px auto; }
.homepage .product-list li { color:#293f55; font-size:17px; }
.check-icon { display:inline-block; width:7px; height:12px; margin-right:14px; border-right:2px solid #1d5675; border-bottom:2px solid #1d5675; transform:rotate(45deg) translateY(-2px); background:none; mask:none; -webkit-mask:none; }
.homepage .see-all { color:#17354f; border:1px solid #5d748b; border-radius:999px; padding:12px 26px; display:inline-flex; align-items:center; min-height:48px; text-decoration:none; background:#ffffff55; }
/* Keep the original full-width spacing, with exactly five industries per row. */
.homepage .grid-container {grid-template-columns:repeat(5,minmax(0,1fr))}
.homepage .grid-item { border-radius:14px; overflow:hidden; box-shadow:0 7px 22px #192b3b1f; transition:transform .3s,box-shadow .3s; }
.homepage .grid-item:hover { transform:translateY(-5px); box-shadow:0 16px 30px #192b3b33; }
.homepage .grid-item .overlay { background:linear-gradient(180deg,#0a182310,#0a182350 50%,#0a1823b3); }
.homepage .grid-item h3 { font-size:22px; font-weight:600; text-shadow:0 2px 12px #0008; letter-spacing:.04em; }
footer .footer-logo { width:auto; height:92px; object-fit:contain; }
footer a:focus-visible { outline-color:#b7d9f4; }
footer .footer-bottom a { color:inherit; text-decoration:none; }
.social-icons:empty { display:none; }
.premium-card img { transition:filter .22s; }
.premium-card:hover img { filter:brightness(1.03); }
.certificates-page .premium-card img { object-fit:contain; height:260px; background:#f7f8fa; padding:16px; }
.certificate-link { display:block; color:#24496b; text-decoration:none; }
.certificate-link span { display:block; padding:0 16px 12px; font-size:14px; }
.inline-detail,.map-external { display:inline-block; padding:12px 0; color:#174b75; font-weight:600; text-decoration:none; }
.map-external { padding:16px; }
.privacy-main { padding-top:42px; }
.privacy-main h1 { font-size:34px; margin-bottom:24px; }
.privacy-main h2 { margin-top:28px; font-size:23px; }
.privacy-main p { line-height:1.85; margin:12px 0; color:#475467; }
.mail-draft { margin-top:24px; padding:20px; background:#eff4f8; border:1px solid #cbd8e5; border-radius:10px; }
.mail-draft h3 { margin-bottom:12px; }
.mail-draft p { margin:10px 0; line-height:1.7; }
.mail-draft textarea { width:100%; min-height:240px; margin:8px 0 14px; }
.draft-action { display:inline-flex; min-height:44px; align-items:center; padding:10px 16px; margin:4px 8px 4px 0; border:1px solid #53738d; border-radius:6px; background:#fff; color:#163d5c; text-decoration:none; cursor:pointer; font:inherit; }
.quote-page .submit-success { scroll-margin-top:100px; }
.quote-page .submit-success[data-kind="error"] { color:#8f251c; background:#fff1ef; border-color:#e0a79e; }
.quote-page .submit-success[data-kind="info"] { color:#214a69; background:#eef5fa; border-color:#b4cbdc; }
.quote-page .agree-row input { flex:0 0 auto; }
.quote-page .agree-row a { color:#174b75; }
@keyframes hero-settle { from {transform:scale(1.045)} to {transform:scale(1)} }
@keyframes panel-arrive { from {opacity:.72; transform:translateY(20px)} to {opacity:1; transform:translateY(0)} }
.motion-arrive { animation:panel-arrive .7s cubic-bezier(.2,.6,.2,1) both; }
@media(min-width:769px) { header .menu-toggle {display:none} header .submenu-toggle {display:none} header .navbar > li:focus-within .sub-menu {display:block} }
@media(max-width:1100px) and (min-width:769px) {header {padding:0 24px} header nav {gap:16px} header .navbar {gap:0} header .navbar > li > a {font-size:14px;padding:14px 10px} header nav ul li a.request-quote {padding:12px 16px;margin-left:4px}}
@media(max-width:768px) {
 :root {--header-height:64px} header {padding:0 18px} header nav {gap:12px} header .logo img {height:46px}
 header .menu-toggle {display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;font-size:24px;border-radius:10px;background:#ffffff12}
 header .navbar {display:none;position:fixed;top:var(--header-height);right:0;left:0;width:100%;height:calc(100dvh - var(--header-height));padding:12px 16px 32px;overflow-y:auto;background:#17202b;align-items:stretch;flex-direction:column;gap:0;border-radius:0}
 header .navbar.active {display:flex;right:0} header .navbar > li {width:100%;border-bottom:1px solid #ffffff15}
 header .navbar > li > a {padding:18px 58px 18px 12px;font-size:16px;line-height:1.5;cursor:pointer}
 header .navbar > li.has-submenu {position:relative} header .navbar > li.has-submenu > .submenu-toggle {display:grid;place-items:center;position:absolute;right:2px;top:8px;min-width:44px;min-height:44px;padding:0;color:#fff;font-size:25px;background:transparent;border:0}
 header .navbar .sub-menu {position:static;width:100%;padding:4px 0 10px;border:0;border-radius:0;box-shadow:none;background:#ffffff08}
 header .navbar .sub-menu li {width:100%;border:0} header .navbar .sub-menu li a {padding:14px 22px;color:#e0e8f0;font-size:15px}
 header nav ul li a.request-quote {margin:16px 0 0;padding:14px;text-align:center;border-radius:8px}
 body.nav-open {overflow:hidden} body.nav-open::before {inset:var(--header-height) 0 0}
 .homepage .hero-section {min-height:560px;height:calc(100svh - var(--header-height));align-items:flex-end}
 .homepage .hero-section::before {background-position:31% center}
 .homepage .hero-section > .overlay {background:linear-gradient(180deg,#05101a05 0%,#05101a35 34%,#05101ac9 100%)}
 .homepage .hero-content {width:calc(100% - 40px);max-width:440px;margin:0 auto 42px;padding:0}
 .homepage .hero-content h1 {font-size:clamp(30px,7.5vw,40px);line-height:1.28;margin-bottom:16px;letter-spacing:-.03em}
 .homepage .hero-content p {font-size:16px;line-height:1.6;margin-bottom:24px}
 .homepage .learn-more-button {min-height:48px;font-size:15px}
 .homepage .product-section {padding:26px 16px} .homepage .product-link {max-width:none;padding:36px 24px;border-radius:22px;text-align:center}
 .homepage .product-section h2 {font-size:34px} .homepage .product-section p {font-size:16px;margin-bottom:22px}
 .homepage .products-section {padding:60px 22px} .homepage .product-list {gap:16px 12px} .homepage .product-list li {font-size:15px}
 .homepage .grid-container {grid-template-columns:repeat(2,minmax(0,1fr))}
 .homepage .grid-item {min-height:170px} .homepage .grid-item h3 {font-size:18px}
 .mail-draft {padding:16px} .quote-page .actions {flex-wrap:wrap} footer .footer-logo {height:70px;width:auto}
}
@media(max-width:380px) {.homepage .hero-content {width:calc(100% - 28px)} .homepage .hero-content h1 {font-size:30px} .homepage .hero-section {min-height:520px} .homepage .grid-item {min-height:150px}}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto} *,*::before,*::after {animation:none!important;transition:none!important} }
.location-card {display:flex;align-items:flex-start;gap:24px;padding:32px;background:#f3f7fa;border-color:#d5e0e9}
.location-pin {width:48px;height:48px;flex-shrink:0;color:#315e82}
.location-card h3 {font-size:23px;margin:0 0 12px;color:#1f405d}
.location-card p {line-height:1.8;color:#475467;margin:8px 0}
.location-card .map-external {padding:10px 0}
.location-page .premium-table {min-width:0;table-layout:fixed}
.location-page .premium-table th:first-child,.location-page .premium-table td:first-child {width:28%}
@media(max-width:768px) {.location-card {padding:22px 18px;gap:14px}.location-pin {width:30px;height:30px}.location-card h3 {font-size:20px}.location-page .premium-table td {overflow-wrap:anywhere}}
.flag-icon {width:24px;height:auto}

/* Subpages keep the original site's image-led character instead of dashboard cards. */
body.premium-page:not(.product-catalog-page) {background:#fff}
body.premium-page:not(.product-catalog-page) .premium-kicker {display:none}
body.premium-page:not(.product-catalog-page) .premium-main {width:min(1240px,calc(100% - 56px));padding:28px 0 72px}
body.premium-page:not(.product-catalog-page) .premium-section {margin:0;padding:64px 0;border:0;border-bottom:1px solid #d9dee3;border-radius:0;box-shadow:none;background:transparent}
body.premium-page:not(.product-catalog-page) .premium-section h2 {margin-bottom:18px;font-size:clamp(30px,3.4vw,44px);letter-spacing:-.025em}
body.premium-page:not(.product-catalog-page) .premium-lead {max-width:820px;font-size:17px}
body.premium-page:not(.product-catalog-page) .premium-strip {margin:0;padding:26px 0;border-bottom:1px solid #d9dee3;gap:0}
body.premium-page:not(.product-catalog-page) .premium-strip-item {padding:8px 24px;border:0;border-left:1px solid #d9dee3;border-radius:0;box-shadow:none;background:transparent}
body.premium-page:not(.product-catalog-page) .premium-strip-item:first-child {border-left:0;padding-left:0}
body.premium-page:not(.product-catalog-page) .premium-card {border:0;border-radius:0;background:transparent;overflow:visible}
body.premium-page:not(.product-catalog-page) .premium-card img {height:260px;border-radius:2px}
body.premium-page:not(.product-catalog-page) .premium-card-body {padding:20px 0 0}
body.premium-page:not(.product-catalog-page) .premium-step {padding:22px 20px 22px 62px;border:0;border-top:1px solid #d9dee3;border-radius:0;background:transparent}
body.premium-page:not(.product-catalog-page) .premium-step::before {top:20px;border-radius:2px;background:#173e5a}
body.premium-page:not(.product-catalog-page) .premium-stat {border:0;border-left:1px solid #d9dee3;border-radius:0;background:transparent}
body.premium-page:not(.product-catalog-page) .premium-stat:first-child {border-left:0}
body.premium-page:not(.product-catalog-page) .premium-note {border-radius:0;background:#f2f5f7}
body.premium-page:not(.product-catalog-page) .premium-tag {border-radius:2px}
body.premium-page:not(.product-catalog-page) .premium-cta {margin-top:64px;padding:42px 48px;border-radius:2px;box-shadow:none;background:#173e5a}
body.premium-page:not(.product-catalog-page) .premium-btn {border-radius:2px}

@media(max-width:768px) {
 body.premium-page:not(.product-catalog-page) .premium-main {width:calc(100% - 36px);padding-bottom:48px}
 body.premium-page:not(.product-catalog-page) .premium-section {padding:44px 0}
 body.premium-page:not(.product-catalog-page) .premium-strip {grid-template-columns:1fr 1fr}
 body.premium-page:not(.product-catalog-page) .premium-strip-item {padding:14px;border-top:1px solid #d9dee3}
 body.premium-page:not(.product-catalog-page) .premium-strip-item:nth-child(odd) {border-left:0}
 body.premium-page:not(.product-catalog-page) .premium-cta {margin-top:44px;padding:30px 24px}
}
