/* Vietnamese content uses the existing contact-shell canvas and English site colors/type. */
.vi-header.replica-header{display:block;height:76px;padding:0}
.vi-header__inner{display:grid;height:100%;grid-template-columns:205px minmax(0,1fr) auto;gap:24px;align-items:center}
.vi-header .vi-nav{justify-content:flex-start;gap:clamp(16px,2vw,30px)}
.vi-header .vi-nav>a,.vi-header .vi-nav>div>a{font-size:15px}
.vi-header .vi-products-dropdown{width:360px}
.vi-header .replica-menu-toggle{display:none}
.vi-footer.replica-footer{padding:40px 0 22px}
.vi-footer .replica-footer-grid{grid-template-columns:1.25fr 1.5fr 1fr 1.1fr;gap:32px}
.vi-footer .replica-footer-bottom>a{color:#fff}
.vi-page{--vi-ink:#06275d;--vi-blue:#0759bc;--vi-body:#405a76;--vi-line:#cddced;--vi-pale:#eef5fc;color:var(--vi-ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7}
.vi-page *{box-sizing:border-box}
.vi-page h1,.vi-page h2,.vi-page h3{color:var(--vi-ink);line-height:1.2}
.vi-page h1{font-family:'Barlow Condensed',Manrope,Arial,sans-serif;font-size:clamp(42px,4.3vw,66px);line-height:1.04}
.vi-page h2{margin:0 0 26px;font-size:clamp(28px,2.5vw,36px)}
.vi-page h3{margin:0 0 10px;font-size:20px}
.vi-page p{margin:0;color:var(--vi-body)}
.vi-page a{color:var(--vi-blue)}
.vi-page a:hover,.vi-page a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.vi-eyebrow{margin:0 0 12px!important;color:#075fc7!important;font-size:14px;font-weight:800;letter-spacing:.04em}
.vi-hero{position:relative;overflow:hidden;width:100%;min-height:480px;background:#eaf3fb}
.vi-page--home .vi-hero{background:#edf3f8}
.vi-page--product .vi-hero{background:#f8fbff}
.vi-page--systems .vi-hero{background:#e7f1fa}
.vi-hero__inner{position:relative;z-index:1;display:grid;min-height:480px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:48px;padding-block:52px}
.vi-hero__copy{max-width:690px}
.vi-hero h1{margin:0 0 22px}
.vi-hero__copy>p:not(.vi-eyebrow){margin:0 0 14px;color:#294766;font-size:17px;line-height:1.68}
.vi-hero__media{display:grid;min-width:0;justify-items:center;gap:12px}
.vi-hero__media>img{display:block;width:min(100%,530px);height:auto;max-height:440px;object-fit:contain}
.vi-page--systems .vi-hero__media>img{max-height:410px}
.vi-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px;font-size:13px;font-weight:700}
.vi-breadcrumb a{color:var(--vi-blue)}
.vi-breadcrumb span{color:#526b86}
.vi-hero__actions,.vi-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.vi-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid var(--vi-blue);border-radius:4px;padding:11px 22px;background:var(--vi-blue);color:#fff!important;cursor:pointer;font:inherit;font-size:15px;font-weight:800;line-height:1.4;text-align:center;text-decoration:none!important;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}
.vi-button:hover,.vi-button:focus-visible{transform:translateY(-2px);background:#064b9c;box-shadow:0 8px 20px rgba(7,89,188,.2);outline:none}
.vi-button--outline{background:transparent;color:var(--vi-blue)!important}
.vi-button--outline:hover,.vi-button--outline:focus-visible{background:#e8f2fd}
.vi-hero__highlights{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.vi-hero__highlights li{border:1px solid #a5c5e5;border-radius:4px;padding:4px 9px;background:#fff;color:#123d70;font-size:13px;font-weight:800}
.vi-gallery-thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.vi-gallery-thumbs button{width:62px;height:62px;border:1px solid var(--vi-line);border-radius:5px;padding:3px;background:#fff;cursor:pointer}
.vi-gallery-thumbs button[aria-pressed=true]{border:2px solid var(--vi-blue)}
.vi-gallery-thumbs img{width:100%;height:100%;object-fit:contain}
.vi-page--industrial .vi-hero{min-height:540px;background:#072e62}
.vi-page--industrial .vi-hero__backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.vi-page--industrial .vi-hero:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,66,.96),rgba(4,31,66,.85) 39%,rgba(4,31,66,.15) 85%);content:''}
.vi-page--industrial .vi-hero__inner{min-height:540px;grid-template-columns:1fr}
.vi-page--industrial .vi-hero h1,.vi-page--industrial .vi-hero__copy>p:not(.vi-eyebrow){color:#fff}
.vi-page--industrial .vi-eyebrow{color:#7acaff!important}
.vi-page--industrial .vi-breadcrumb a,.vi-page--industrial .vi-breadcrumb span{color:#fff}
.vi-section{padding:72px 0;background:#fff}
.vi-section--pale{background:var(--vi-pale)}
.vi-section__intro{max-width:840px;margin:-10px 0 30px!important;font-size:17px}
.vi-section__copy{max-width:820px}
.vi-section__copy p+p{margin-top:16px}
.vi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.vi-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.vi-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.vi-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--vi-line);border-radius:8px;padding:24px;background:#fff}
.vi-card p{font-size:15px;line-height:1.65}
.vi-card__media{display:grid;min-height:190px;place-items:center;margin:-8px -8px 20px;background:#fff}
.vi-card__media img{width:100%;max-height:190px;object-fit:contain}
.vi-card a,.vi-card button{width:fit-content;margin-top:auto;padding-top:18px;color:var(--vi-blue);font:inherit;font-size:15px;font-weight:800;text-align:left}
.vi-card button{border:0;background:none;cursor:pointer}
.vi-card button:hover,.vi-card button:focus-visible{text-decoration:underline;text-underline-offset:3px;outline:none}
.vi-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:step;margin:0;padding:0;list-style:none}
.vi-steps--six{grid-template-columns:repeat(3,minmax(0,1fr))}
.vi-steps li{counter-increment:step;border-top:2px solid #0759bc;padding:20px 18px;background:#fff}
.vi-steps li:before{display:block;margin-bottom:10px;color:#0759bc;font-size:14px;font-weight:800;content:counter(step,decimal-leading-zero)}
.vi-steps strong{display:block;color:var(--vi-ink);font-size:17px}
.vi-steps p{margin-top:8px;font-size:15px}
.vi-table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--vi-line);border-radius:8px;background:#fff}
.vi-table{width:100%;min-width:650px;border-collapse:collapse;text-align:left}
.vi-table th,.vi-table td{border-bottom:1px solid var(--vi-line);padding:14px 18px;vertical-align:top;color:#405a76;font-size:15px;line-height:1.55}
.vi-table tr:last-child th,.vi-table tr:last-child td{border-bottom:0}
.vi-table thead th{background:#e6f1fb;color:var(--vi-ink);font-weight:800}
.vi-table tbody th{width:31%;background:#f7fbff;color:var(--vi-ink);font-weight:800}
.vi-note{margin:20px 0 0!important;border-left:1px solid #0759bc;padding-left:16px;color:#294766!important;font-weight:700}
.vi-link-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.vi-link-row a{font-weight:800}
.vi-faq__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.vi-faq details{align-self:start;border:1px solid var(--vi-line);border-radius:6px;padding:0 18px;background:#fff}
.vi-faq summary{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;color:var(--vi-ink);font-size:15px;font-weight:800;line-height:1.45;list-style:none}
.vi-faq summary::-webkit-details-marker{display:none}
.vi-faq summary i{flex:none;color:var(--vi-blue);transition:transform .18s ease}
.vi-faq details[open] summary i{transform:rotate(180deg)}
.vi-faq details p{border-top:1px solid var(--vi-line);padding:14px 0 18px;font-size:15px}
.vi-contact .contact-hero__copy{padding-block:75px 56px}
.vi-contact .contact-hero h1{color:#fff}
.vi-contact .vi-breadcrumb a,.vi-contact .vi-breadcrumb span{color:#fff}
.vi-contact .contact-main{grid-template-columns:minmax(0,.4fr) minmax(0,.6fr)}
.vi-contact .contact-details__list{gap:12px}
.vi-contact .contact-detail{min-height:88px}
.vi-contact .contact-form__intro{margin:0 0 18px;color:#415d83;font-size:15px}
.vi-contact .contact-information__grid article{border-right:1px solid #cfdff2}
.vi-contact .contact-information__grid article:last-child{border-right:0}
.vi-contact .contact-information__grid h3{font-size:14px}
@media(max-width:1120px){.vi-header__inner{grid-template-columns:minmax(0,1fr) auto auto;gap:12px}.vi-header .vi-nav{display:none}.vi-header .replica-menu-toggle{display:inline-flex;grid-column:3}.vi-header .replica-talk{grid-column:2}.vi-header .replica-mobile-nav.is-open{display:flex}.vi-footer .replica-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vi-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.vi-header.replica-header{height:70px;min-height:70px;padding:0}.vi-header__inner{height:70px}.vi-header .replica-talk{font-size:12px;padding:9px 10px}.vi-page{font-size:15px}.vi-page h1{font-size:40px}.vi-page h2{font-size:28px}.vi-hero,.vi-hero__inner{min-height:0}.vi-hero__inner{grid-template-columns:1fr;gap:28px;padding-block:42px}.vi-hero__media{order:2}.vi-hero__media>img{max-height:290px}.vi-hero__copy>p:not(.vi-eyebrow){font-size:15px}.vi-page--industrial .vi-hero__inner{min-height:500px}.vi-page--industrial .vi-hero:after{background:rgba(4,31,66,.78)}.vi-section{padding:52px 0}.vi-grid,.vi-grid--two,.vi-grid--four,.vi-steps,.vi-steps--six,.vi-faq__grid{grid-template-columns:1fr}.vi-card__media{min-height:160px}.vi-card__media img{max-height:160px}.vi-steps{gap:12px}.vi-footer .replica-footer-grid{grid-template-columns:1fr}.vi-contact .contact-main{grid-template-columns:1fr}.vi-contact .contact-information__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vi-contact .contact-information__grid article:nth-child(even){border-right:0}body:has(.vi-page) .service-dock,body:has(.vi-contact) .service-dock{right:0;top:auto;bottom:0;display:grid;width:100%;grid-template-columns:repeat(4,1fr);transform:none;border-radius:0;border-right:0;border-bottom:0;border-left:0}body:has(.vi-page) .service-dock>a,body:has(.vi-contact) .service-dock>a{width:auto;min-height:58px;border-right:1px solid #e1e8f0}body:has(.vi-page) .service-dock>a:not(:last-child)::after,body:has(.vi-contact) .service-dock>a:not(:last-child)::after{display:none}body:has(.vi-page) .service-dock img,body:has(.vi-contact) .service-dock img{width:28px;height:28px}body:has(.vi-page) .vi-footer,body:has(.vi-contact) .vi-footer{padding-bottom:94px}}
@media(max-width:420px){.vi-header .replica-logo img{width:116px}.vi-header .replica-talk{font-size:11px}.vi-hero__actions .vi-button{width:100%}}
