/* VISGENEER | Variant 4 (Floating Glass) — Group & Contract Manufacturing
   Corporate CI palette: blue #1D4892, gold #C5A143, red #B02C23.
   Preview only. All content stays readable without animation. */
:root{--v4-ink:#10233e;--v4-blue:#1D4892;--v4-gold:#C5A143;--v4-slate:#6e7f94}
html[data-nav-style="4"] .site-header{overflow:visible;isolation:auto}
html[data-nav-style="4"] .site-header .nav-inner{position:relative;}
html[data-nav-style="4"] .site-header .nav-links{align-self:stretch;align-items:stretch;}
.site-header .nav-drop{display:flex;align-items:center;position:static;align-self:stretch;gap:5px;flex:none;}
.site-header .nav-drop .nav-drop-link{display:flex;align-items:center;align-self:stretch;font-weight:700;}
.site-header .nav-caret{border:0;background:transparent;padding:8px 4px;display:grid;place-items:center;color:#738096;transition:color .2s ease;}
.site-header .nav-caret span{display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .24s ease}
.site-header .nav-drop:hover .nav-caret span,.site-header .nav-drop:focus-within .nav-caret span,.site-header .nav-drop.is-open .nav-caret span{transform:translateY(2px) rotate(225deg)}
.site-header .nav-drop:hover .nav-caret,.site-header .nav-drop.is-open .nav-caret{color:#1D4892}
.site-header .nav-links a[aria-current="page"]{color:#1D4892}
.site-header .nav-mega-panel{position:absolute;z-index:120;top:calc(100% - 1px);left:0;right:0;max-height:min(74vh,670px);overflow-y:auto;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(9px);background:rgba(255,255,255,.975);border:1px solid #e2e6ec;border-top:2px solid var(--v4-gold);border-radius:0 0 22px 22px;box-shadow:0 26px 60px rgba(10,29,58,.19);padding:24px 28px 29px;transition:opacity .22s ease,transform .3s ease,visibility .22s ease;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.site-header .nav-drop:hover .nav-mega-panel,.site-header .nav-drop:focus-within .nav-mega-panel,.site-header .nav-drop.is-open .nav-mega-panel{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
.site-header .mega-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e5e9ef;padding-bottom:17px;margin-bottom:20px}
.site-header .mega-heading>span{font-size:13px;letter-spacing:.12em;color:#1D4892;font-weight:800}
.site-header .mega-heading small{font-size:10px;letter-spacing:.16em;color:#8791a2}
.site-header .oem-mega-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.site-header .oem-mega-column{background:#f8fafc;border:1px solid #e7ebf1;border-radius:12px;min-width:0;padding:15px 17px 13px;transition:border-color .25s,background .25s}
.site-header .oem-mega-column:hover{border-color:#c2d1e9;background:#fff}
.site-header .oem-mega-visual{height:102px;border-radius:6px;overflow:hidden;position:relative;isolation:isolate;display:flex;align-items:end;padding:14px 17px;color:white;background:#17334e}
.site-header .oem-mega-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.66);z-index:-1;transition:transform .6s ease}
.site-header .oem-mega-column:hover img{transform:scale(1.045)}
.site-header .oem-mega-visual div{display:flex;flex-direction:column;gap:3px;}
.site-header .oem-mega-visual small{font:700 9px/1.3 Arial,sans-serif;letter-spacing:.14em;opacity:.9}
.site-header .oem-mega-visual strong{font-size:21px;line-height:1.2;}
.site-header .oem-mega-column>p{font-size:12.5px;color:#627187;line-height:1.65;padding:13px 2px 12px;min-height:55px}
.site-header .oem-mega-links{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.site-header .nav-links .oem-mega-item{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #e2e6ee;background:white;border-radius:6px;padding:11px 11px;font-size:13px!important;font-weight:700;line-height:1.3;white-space:normal;min-height:47px;transition:background .25s,border-color .25s,transform .25s}
.site-header .nav-links .oem-mega-item span:last-child{color:#b58c35;flex:none}
.site-header .nav-links .oem-mega-item:hover{background:#eff4fb;border-color:#b2c9e7;transform:translateY(-2px)}
.site-header .nav-links .oem-mega-all{display:inline-flex;justify-content:space-between;gap:17px;margin:13px 3px 3px;color:#1d4892;font-size:12.5px!important;font-weight:800;text-decoration:underline;text-decoration-color:#C5A143;text-underline-offset:6px}
.site-header .nav-mega-about{max-width:800px;left:5%;right:auto;min-height:265px;padding:24px 25px}
.site-header .mega-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.site-header .nav-links .mega-about-card{padding:22px 18px;background:#f3f6fa;border:1px solid #dce4f0;border-radius:9px;display:flex;flex-direction:column;gap:9px;font-size:15px!important;min-height:140px;white-space:normal}
.site-header .mega-card-eyebrow{font-size:10px;letter-spacing:.08em;color:#8290a3}
.site-header .mega-about-card strong{color:#192a45;font-size:19px;}
.site-header .mega-about-card strong i{font-size:16px;font-style:normal;color:#C5A143;float:right}
.site-header .mega-about-card small{color:#6b7c8f;font-size:12px}
.site-header .nav-links .mega-about-card:hover{border-color:#b0c7e6;background:#edf3fc}
.site-header .mega-about-bottom{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:16px}
.site-header .mega-about-bottom>span{font-size:11px;font-weight:800;color:#1d4892;margin-right:auto}
.site-header .nav-links .mega-about-bottom a{color:#374c69;font-size:11px!important;white-space:normal;background:#f7f7f4;border-radius:5px;padding:6px 9px}
.site-header .nav-links .mega-about-bottom a:hover{background:#f1eddc}
/* Native language dropdown with keyboard and no-JS fallbacks */
.site-header .nav-language{position:relative;flex:none;font-family:Arial,'Microsoft JhengHei',sans-serif}
.site-header .nav-language summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-width:92px;justify-content:center;padding:12px 10px;border:1px solid rgba(29,72,146,.19);background:rgba(255,255,255,.68);border-radius:12px;font-weight:700;color:#1b3253;font-size:14px}
.site-header .nav-language summary::-webkit-details-marker{display:none}
.site-header .nav-language[open] summary,.site-header .nav-language summary:hover{background:white;border-color:#c5a143}
.site-header .nav-language .chevron{width:7px;height:7px;display:block;transform:translateY(-2px) rotate(45deg);border-right:2px solid currentColor;border-bottom:2px solid currentColor;transition:transform .2s}
.site-header .nav-language[open] .chevron{transform:translateY(2px) rotate(225deg)}
.site-header .language-choices{position:absolute;right:0;top:calc(100% + 10px);width:170px;border:1px solid #dfe5ed;background:#fff;border-radius:12px;padding:7px;box-shadow:0 16px 34px rgba(10,23,44,.16);z-index:300}
.site-header .language-choices a{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:6px;font-size:13px;font-weight:700;color:#263d5c}
.site-header .language-choices a:hover{background:#f0f4fa}
.site-header .language-choices a[aria-current="page"]{background:#f8f1dc;color:#1d4892}
/* Homepage slim services bridge */
.oem-home-nudge{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid #dce1e8;padding:25px 8px 10px;color:#163053}
.oem-home-nudge>span{font-size:15px;font-weight:700}
.oem-home-nudge>a{font-size:14px;font-weight:800;border-bottom:2px solid #c5a143;padding:7px 0}
.oem-home-nudge>a span{margin-left:18px}
/* Content pages — responsive editorial system */
.s4-hero{background:#0d2243;color:#fff;display:grid;grid-template-columns:52% 48%;min-height:440px;position:relative;overflow:hidden}
.s4-hero-copy{position:relative;padding:clamp(70px,8vw,118px) clamp(32px,6.2vw,110px) 84px max(56px,calc((100vw - 1320px)/2));display:flex;flex-direction:column;justify-content:center;gap:16px}
.s4-kicker,.s4-hero-copy>.s4-kicker{color:#dbc083;font-size:11px;font-weight:800;letter-spacing:.18em}
.s4-hero-copy h1{font-size:clamp(39px,4.1vw,68px);letter-spacing:-.045em;line-height:1.18;font-weight:700;max-width:670px}
.s4-hero-copy p{font-size:clamp(14px,1.2vw,17px);line-height:1.95;color:#d1dce9;max-width:640px}
.s4-hero-no{font-size:9px;letter-spacing:.2em;color:#a6b9d5;margin-top:25px}
.s4-hero-rule{height:2px;width:54px;background:#c5a143;margin-top:13px}
.s4-hero-media{position:relative;min-height:420px}
.s4-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.s4-hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10233d9e,transparent 50%),linear-gradient(0deg,#132a4866,transparent 45%)}
.s4-hero-media-label{position:absolute;z-index:2;right:24px;bottom:22px;font:700 9px/1 Arial,sans-serif;letter-spacing:.18em;color:#fff}
.s4-block{padding:105px 0;background:#fff}
.s4-block.s4-soft{background:#f3f5f7}
.s4-section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:45px;align-items:end;margin-bottom:44px}
.s4-section-heading>span{grid-column:1/-1;color:#1d4892;letter-spacing:.16em;font-size:11px;font-weight:800;margin-bottom:18px}
.s4-section-heading h2{font-size:clamp(29px,3.2vw,48px);letter-spacing:-.04em;line-height:1.25}
.s4-section-heading p{font-size:15px;color:#67768c;line-height:1.95;max-width:530px;justify-self:end}
.s4-feature-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.s4-feature-card{background:#fff;border:1px solid #e0e6ee;overflow:hidden;transition:box-shadow .3s,transform .3s}
.s4-feature-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(11,32,59,.1)}
.s4-feature-image{height:265px;overflow:hidden}
.s4-feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s}
.s4-feature-card:hover img{transform:scale(1.05)}
.s4-feature-info{padding:27px 31px 31px}
.s4-feature-info>span{font-size:10px;letter-spacing:.14em;color:#1d4892;font-weight:800}
.s4-feature-info h3{font-size:30px;line-height:1.2;margin:12px 0}
.s4-feature-info p{color:#6a7889;font-size:14px;line-height:1.8;min-height:48px}
.s4-feature-info strong{display:inline-flex;color:#1d4892;font-size:14px;gap:12px;border-bottom:2px solid #c5a143;padding:8px 0;margin-top:18px}
.s4-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.s4-mini-step{background:white;padding:29px 23px;min-height:128px;border:1px solid #e1e5eb}
.s4-mini-step>span{font-size:11px;font-weight:800;color:#1d4892;letter-spacing:.1em}
.s4-mini-step h3{font-size:18px;margin-top:16px}
.s4-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}
.s4-service-tile{display:block;position:relative;background:#f7f9fc;border:1px solid #e0e6ef;transition:transform .27s,box-shadow .27s,border-color .27s;overflow:hidden;min-height:210px}
.s4-service-tile:hover{transform:translateY(-4px);border-color:#b3cae9;box-shadow:0 12px 30px rgba(14,45,87,.08)}
.s4-tile-img{height:165px;overflow:hidden}
.s4-tile-img img{width:100%;height:100%;object-fit:cover}
.s4-tile-inner{padding:24px 28px 35px;position:relative}
.s4-tile-inner>span{font-size:10px;font-weight:800;color:#617696;letter-spacing:.1em}
.s4-tile-inner h3{font-size:23px;margin-top:16px;line-height:1.25;color:#182e4b}
.s4-tile-inner p{margin-top:13px;font-size:13px;color:#6c7889;line-height:1.7;padding-right:25px}
.s4-tile-inner>strong{position:absolute;right:24px;bottom:23px;font-size:23px;color:#bb9b4a}
.s4-band{background:#0f2547;color:white;padding:70px 0}
.s4-band .layout{display:flex;align-items:center;justify-content:space-between;gap:30px}
.s4-band span{font-size:10px;letter-spacing:.17em;color:#dbc58e}
.s4-band h2{font-size:clamp(25px,2.8vw,43px);line-height:1.2;margin-top:15px}
.s4-band-btn{border:1px solid #c5a143;color:#fff;padding:17px 21px;display:flex;justify-content:space-between;min-width:210px;gap:18px;font-weight:800;font-size:14px}
.s4-band-btn:hover{background:#c5a143;color:#112546}
.s4-band-btn span{font-size:20px;letter-spacing:0;color:inherit}
.s4-breadcrumb{margin-top:30px;font-size:12px;display:flex;gap:9px;flex-wrap:wrap;color:#778297}
.s4-breadcrumb strong{color:#1d4892}
.s4-breadcrumb a:hover{text-decoration:underline}
.s4-cap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.s4-cap-card{padding:33px 34px;background:#f7f8fa;border:1px solid #e5e9ee;min-height:200px}
.s4-cap-card span{font-size:10px;color:#1d4892;font-weight:800;letter-spacing:.1em}
.s4-cap-card h3{margin:25px 0 10px;font-size:22px}
.s4-cap-card p{font-size:14px;color:#687588;line-height:1.8}
.s4-note-strip{padding:28px 32px;border-left:4px solid #c5a143;background:white;line-height:1.9;color:#4c627d}
.s4-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.s4-related-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:26px;background:#f3f5f8;color:#1d3455;font-weight:800}
.s4-related-links a:hover{background:#e4ecf9}
.s4-related-links a span:last-child{color:#a98231}
.s4-brand-hero{background:#f6f8fb;padding:80px 0 95px}
.s4-brand-grid{display:grid;grid-template-columns:1fr .87fr;gap:80px;align-items:center}
.s4-brand-word>span{color:#1d4892;font-weight:800;font-size:11px;letter-spacing:.17em}
.s4-brand-word h1{font:700 clamp(42px,6.2vw,96px)/1.12 Arial,sans-serif;letter-spacing:-.06em;margin-top:28px;color:#1a2a41}
.s4-brand-word h2{font-size:clamp(24px,2.3vw,34px);line-height:1.3;max-width:640px;margin:20px 0}
.s4-brand-word p{font-size:16px;color:#617187;line-height:1.9;max-width:615px;margin-bottom:28px}
.s4-brand-logo-frame{background:var(--brand-color);min-height:360px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:32px;border:1px solid #e0e4e9;border-radius:5px;padding:40px}
.s4-brand-logo-frame img{width:min(100%,350px);max-height:170px;object-fit:contain}
.s4-brand-logo-frame small{font-size:12px;color:#5a697d;letter-spacing:.08em;font-weight:700}
.s4-brand-identity{display:grid;grid-template-columns:.8fr 1fr;gap:50px}
.s4-brand-identity h2{font-size:clamp(27px,3.1vw,47px);margin-top:20px}
.s4-brand-identity p{color:#657489;font-size:16px;line-height:1.95}
.s4-brand-cta{background:var(--brand-color);padding:58px 0;border-top:1px solid #d7e0e8}
.s4-brand-cta>.layout{display:flex;justify-content:space-between;align-items:center;gap:28px}
.s4-brand-cta h2{font-size:43px;line-height:1.2;margin-top:10px;color:#192c46}
.s4-brand-cta .layout>div>span{font-size:11px;color:#60748e;letter-spacing:.16em}
.s4-brand-cta a{border:1px solid #1d4892;padding:15px 23px;color:#1d4892;font-size:14px;font-weight:800;display:flex;justify-content:space-between;gap:28px}
.s4-brand-cta a:hover{background:#1d4892;color:white}
.s4-brand-cta a span{font-size:20px}
@media(max-width:1570px) and (min-width:1081px){
 .site-header .nav-mega-panel{left:-10px;right:-10px}
 html[data-nav-style="4"] .site-header .nav-links{gap:clamp(11px,1.5vw,24px)}
}
@media(max-width:1240px) and (min-width:1081px){
 .site-header .nav-drop{gap:0}
 .site-header .nav-caret{padding:6px 2px}
 .site-header .nav-links .oem-mega-item{font-size:12px!important}
}
@media(max-width:1080px){
 .site-header .nav-mega-panel,.site-header .nav-drop{display:none!important}
 .mobile-menu .mobile-nav-group{border-bottom:1px solid rgba(255,255,255,.16)}
 .mobile-menu .mobile-nav-group>summary{color:#f5f8fc;display:flex;align-items:center;justify-content:space-between;font-size:clamp(19px,3vw,27px);font-weight:500;list-style:none;padding:15px 3px;cursor:pointer;line-height:1.4}
 .mobile-menu .mobile-nav-group>summary::-webkit-details-marker{display:none}
 .mobile-menu .mobile-nav-group>summary>span{font-size:22px;color:#c5a143;transition:transform .25s}
 .mobile-menu .mobile-nav-group[open]>summary>span{transform:rotate(45deg)}
 .mobile-menu .mobile-nav-sub{padding:4px 0 12px 15px;border-left:1px solid #c5a143;margin-bottom:12px;display:grid;gap:1px}
 .mobile-menu .mobile-nav-sub>a{font-size:14px!important;color:#cbd5e6;line-height:1.5;padding:11px 6px!important;border-bottom:1px solid rgba(255,255,255,.08);font-weight:500}
 .mobile-menu .mobile-nav-sub>a span{font-size:12px}
 .s4-hero{grid-template-columns:1fr}
 .s4-hero-copy{padding:75px 7vw 74px;min-height:340px}
 .s4-hero-media{min-height:260px}
 .s4-brand-grid{gap:35px}
}
@media(max-width:760px){
 .s4-block{padding:67px 0}
 .s4-section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:30px}
 .s4-section-heading p{justify-self:start}
 .s4-feature-pair,.s4-service-grid,.s4-cap-grid,.s4-brand-grid,.s4-brand-identity{grid-template-columns:1fr}
 .s4-step-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .s4-related-links{grid-template-columns:1fr}
 .s4-brand-hero{padding:55px 0}
 .s4-brand-grid{gap:30px}
 .s4-brand-logo-frame{min-height:245px;padding:25px}
 .s4-band{padding:53px 0}
 .s4-band .layout,.s4-brand-cta>.layout{flex-direction:column;align-items:stretch;gap:23px}
 .s4-band-btn{min-width:0}
 .s4-brand-cta h2{font-size:32px}
 .s4-hero-copy{padding:66px 6vw 56px}
 .s4-hero-copy h1{font-size:clamp(36px,7.4vw,50px)}
 .s4-hero-media{min-height:250px}
 .oem-home-nudge{flex-direction:column;align-items:flex-start}
}
@media(max-width:390px){.s4-step-grid{grid-template-columns:1fr 1fr}.s4-mini-step{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){.site-header .nav-mega-panel,.site-header .nav-mega-panel *,.site-header .nav-caret span,.mobile-menu .mobile-nav-group>summary>span{transition:none!important}}
/* Align navigation triggers and standard links on exactly the same baseline */
html[data-nav-style="4"] .site-header .nav-links{align-items:center;flex-wrap:nowrap;}
html[data-nav-style="4"] .site-header .nav-links>a{display:flex;align-items:center;align-self:stretch;white-space:nowrap;}
html[data-nav-style="4"] .site-header .nav-drop{align-self:stretch;}
/* Make IVD and cosmetics easy to distinguish without generic stock imagery. */
.site-header .oem-mega-column:first-child .oem-mega-visual{background:linear-gradient(105deg,#d9eafa,#f7faff);color:#0b3264;border:1px solid #d5e5f4;}
.site-header .oem-mega-column:first-child .oem-mega-visual>img{left:auto;right:13px;width:38%;height:100%;object-fit:contain;filter:none;padding:7px;opacity:.9}
.site-header .oem-mega-column:first-child .oem-mega-visual small{color:#3f6694}
.mobile-menu .mobile-nav-subgroup{margin-left:2px;border-bottom:1px solid rgba(255,255,255,.11)}
.mobile-menu .mobile-nav-subgroup>summary{padding:14px 8px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:700;color:#e6e9f1;list-style:none}
.mobile-menu .mobile-nav-subgroup>summary::-webkit-details-marker{display:none}
.mobile-menu .mobile-nav-subgroup>summary>span{color:#c5a143;font-size:19px;transition:transform .25s}
.mobile-menu .mobile-nav-subgroup[open]>summary>span{transform:rotate(180deg)}
.mobile-menu .mobile-nav-subdepth{padding:4px 0 7px 14px;border-left:1px solid rgba(197,161,67,.5);margin:0 0 8px 12px}
.mobile-menu .mobile-nav-subdepth>a{font-size:13px!important;color:#c6d3e5;border-bottom:1px solid rgba(255,255,255,.075)}
