:root{--forest:#12372b;--forest2:#0b2a21;--gold:#e5b94f;--cream:#f6f2e8;--ink:#15251f;--muted:#65736d;--line:#dfe5df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Segoe UI Variable","Avenir Next","Segoe UI",system-ui,sans-serif}a{color:inherit;text-decoration:none}.topbar{height:36px;padding:0 6vw;background:var(--forest2);color:#cbd8d2;display:flex;align-items:center;justify-content:space-between;font-size:12px}.topbar span{display:flex;align-items:center;gap:8px}.topbar i{width:7px;height:7px;background:#57d68d;border-radius:50%;box-shadow:0 0 0 5px #57d68d1f}.topbar a{color:#fff;font-weight:800}header{height:84px;padding:0 6vw;background:#fff;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;border-bottom:1px solid #edf0ed}.brand{display:flex;align-items:center;gap:12px}.brand img{width:58px;height:58px;object-fit:cover;border-radius:14px;box-shadow:0 5px 16px #102d2218}.brand strong,.brand small{display:block}.brand strong{font-family:"Arial Black",sans-serif;color:#a76f00;font-size:22px;letter-spacing:-.03em}.brand small{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#728079;margin-top:4px;font-weight:700}nav{display:flex;gap:30px;font-size:13px;font-weight:750}nav a:hover{color:#9b6e13}.navCall{padding:13px 18px;background:var(--forest);color:#fff;border-radius:10px;font-size:13px;font-weight:800}.navCall b{color:var(--gold);margin-left:8px}.hero{min-height:720px;position:relative;overflow:hidden;background:var(--forest2);color:#fff}.heroImage{position:absolute;inset:0;background:url('/ba-vi-hero.png') center/cover no-repeat}.heroOverlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,35,27,.98) 0%,rgba(7,35,27,.86) 43%,rgba(7,35,27,.08) 79%)}.heroContent{position:relative;z-index:2;padding:105px 6vw 80px;max-width:800px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:900;color:var(--gold)}.eyebrow.green{color:#2e745b}.hero h1,.section h2,.coverage h2,.commitment h2,.cta h2{font-family:"Arial Black","Segoe UI Black",sans-serif;text-transform:uppercase;letter-spacing:-.06em;line-height:.93}.hero h1{font-size:clamp(56px,6.5vw,98px);margin:24px 0}.hero h1 em{font-style:normal;color:var(--gold)}.heroLead{max-width:620px;color:#d0ddd7;font-size:17px;line-height:1.75}.heroActions{display:flex;gap:14px;margin-top:32px}.primary,.secondary,.outlineBtn{display:inline-flex;align-items:center;justify-content:center;padding:17px 24px;border-radius:10px;font-weight:900}.primary{background:var(--gold);color:var(--forest2);font-size:19px}.secondary{border:1px solid #ffffff4d;color:#fff;font-size:13px}.heroStats{display:flex;gap:52px;margin-top:56px}.heroStats b,.heroStats span{display:block}.heroStats b{font-size:22px}.heroStats span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#a4b9af;margin-top:5px}.availability{position:absolute;right:6vw;bottom:42px;z-index:3;background:#fff;color:var(--forest2);border-radius:16px;padding:18px 22px;display:flex;align-items:center;gap:14px;box-shadow:0 20px 55px #001a1055}.availability>span{color:#24b76b;font-size:18px}.availability small,.availability b{display:block}.availability small{color:#7d8a84;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.availability b{font-size:13px;margin-top:3px}.routeStrip{height:66px;padding:0 5vw;background:var(--gold);display:flex;align-items:center;justify-content:space-around;gap:20px;overflow:hidden;color:var(--forest2);font-family:"Arial Black",sans-serif;font-size:13px}.routeStrip i{font-style:normal;color:#fff}.routeStrip span{white-space:nowrap}.section{padding:105px 7vw}.sectionHead{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.sectionHead h2,.coverage h2,.commitment h2,.cta h2{font-size:clamp(42px,4.8vw,68px);margin:14px 0}.sectionHead>p{max-width:420px;color:var(--muted);line-height:1.75}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.serviceGrid article{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:.3s;box-shadow:0 8px 30px #12372b08}.serviceGrid article:hover{transform:translateY(-7px);box-shadow:0 18px 40px #12372b16}.serviceImage{height:210px;background-image:url('/service-routes.png');background-size:400% 200%;background-repeat:no-repeat}.serviceImage.local{background-position:66.666% 0}.serviceImage.hanoi{background-position:33.333% 0}.serviceImage.airport{background-position:33.333% 100%}.serviceImage.tour{background-position:66.666% 100%}.serviceImage.province{background-position:100% 100%}.serviceImage.contract{background-position:0 100%}.serviceBody{padding:26px}.serviceBody>small{color:#9b7424;font-size:9px;letter-spacing:.13em;font-weight:900}.serviceBody h3{font-size:21px;margin:19px 0 11px}.serviceBody p{color:var(--muted);font-size:13px;line-height:1.72;min-height:68px}.serviceBody a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-top:22px;font-size:13px;font-weight:800}.serviceBody a b{color:#a77612}.coverage{padding:95px 7vw;background:var(--forest);color:#fff;display:grid;grid-template-columns:1.05fr 1fr;gap:9vw;align-items:center}.coverage>div:first-child>p:not(.eyebrow){color:#b8cbc2;line-height:1.75;max-width:580px}.outlineBtn{border:1px solid #ffffff40;margin-top:22px;font-size:13px}.coverageList{border-top:1px solid #ffffff20}.coverageList span{display:flex;gap:25px;padding:22px 0;border-bottom:1px solid #ffffff20;font-size:17px;font-weight:750}.coverageList b{color:var(--gold);font-size:11px;letter-spacing:.12em}.fleet{background:var(--cream)}.fleetGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fleetGrid article{background:#fff;border-radius:20px;overflow:hidden}.fleetImage{height:240px;background-image:url('/fleet-models.png');background-size:300% 200%;background-repeat:no-repeat}.fleetImage.morning{background-position:0 0}.fleetImage.vios{background-position:0 100%}.fleetImage.innova{background-position:100% 100%}.fleetBody{padding:27px}.fleetBody small{color:#a7791e;font-weight:900;letter-spacing:.12em}.fleetBody h3{font-size:22px;margin:12px 0 5px}.fleetBody>b{font-size:12px;color:#4f6259}.fleetBody p{color:var(--muted);font-size:13px;min-height:42px}.fleetBody a{display:inline-block;margin-top:11px;color:#8d6517;font-weight:850;font-size:12px}.priceNote{margin:25px 0 0;color:#77847e;font-size:11px}.commitment{padding:100px 7vw;background:#fff;display:grid;grid-template-columns:.9fr 1.4fr;gap:70px}.commitCards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.commitCards article{padding:28px 24px;border-right:1px solid var(--line)}.commitCards span{font-size:10px;color:#a87819;font-weight:900}.commitCards h3{font-size:18px;margin:38px 0 12px}.commitCards p{font-size:13px;line-height:1.7;color:var(--muted)}.cta{margin:0 5vw 70px;padding:75px 7vw;border-radius:28px;background:var(--gold);color:var(--forest2);display:flex;align-items:center;justify-content:space-between;gap:40px}.cta .eyebrow{color:#71500d}.cta h2{margin-bottom:0}.cta>a{background:var(--forest2);color:#fff;padding:20px 28px;border-radius:15px}.cta>a span,.cta>a b{display:block}.cta>a span{font-size:9px;letter-spacing:.13em;color:#9db2a8}.cta>a b{font-size:27px;margin-top:4px}footer{padding:55px 7vw 30px;background:var(--forest2);color:#a9bab2;display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:35px}.footerBrand{display:flex;align-items:center;gap:15px}.footerBrand img{width:65px;height:65px;object-fit:cover;border-radius:14px}.footerBrand strong,.footerBrand span{display:block}.footerBrand strong{color:#fff;font-size:19px}.footerBrand span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin-top:4px}.footerLinks{display:flex;gap:22px;font-size:12px;font-weight:750}.footerHotline small,.footerHotline a{display:block}.footerHotline small{font-size:8px;letter-spacing:.13em;color:var(--gold)}.footerHotline a{color:#fff;font-size:22px;font-weight:900;margin-top:3px}.copyright{grid-column:1/-1;border-top:1px solid #ffffff13;padding-top:22px;font-size:10px}.mobileCall{display:none}
@media(max-width:1000px){nav{display:none}.serviceGrid,.fleetGrid{grid-template-columns:repeat(2,1fr)}.coverage,.commitment{grid-template-columns:1fr}.commitCards{margin-top:10px}.cta{display:block}.cta>a{display:inline-block;margin-top:30px}}
@media(max-width:650px){.topbar span{display:none}.topbar{justify-content:center}header{height:70px;padding:0 5vw}.brand img{width:48px;height:48px}.brand strong{font-size:18px}.brand small{font-size:7px}.navCall{display:none}.hero{min-height:720px}.heroImage{background-position:62% center}.heroOverlay{background:linear-gradient(90deg,rgba(7,35,27,.97),rgba(7,35,27,.56))}.heroContent{padding:80px 6vw}.hero h1{font-size:48px}.heroLead{font-size:15px}.heroActions{flex-direction:column;text-align:center}.heroStats{gap:20px;flex-wrap:wrap}.availability{display:none}.routeStrip{justify-content:flex-start;padding:0 20px}.section,.coverage,.commitment{padding:75px 6vw}.sectionHead{display:block}.sectionHead h2,.coverage h2,.commitment h2,.cta h2{font-size:38px}.serviceGrid,.fleetGrid,.commitCards{grid-template-columns:1fr}.serviceImage{height:220px}.commitCards article{border-right:0;border-bottom:1px solid var(--line)}.cta{margin:0 4vw 80px;padding:55px 7vw}.cta>a b{font-size:23px}footer{grid-template-columns:1fr;padding-bottom:105px}.footerLinks{flex-wrap:wrap}.mobileCall{display:flex;position:fixed;left:12px;right:12px;bottom:12px;height:58px;align-items:center;justify-content:center;background:var(--gold);color:var(--forest2);font-weight:900;border-radius:13px;z-index:50;box-shadow:0 12px 35px #001a1955}}

/* Detailed fares and customer proof */
.fleetImage{height:220px}.fleetImage.verna{background-position:50% 0}.fleetImage.i10{background-position:100% 0}.fleetImage.innovaJ{background-position:50% 100%}.fleetImage.innovaG{background-position:100% 100%}.fleetTitle{display:flex;align-items:center;gap:12px;margin-bottom:18px}.fleetTitle h3{font-size:20px;margin:0}.fares{border-top:1px solid var(--line)}.fares>span{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.fares small{font-size:9px;color:#73817a;letter-spacing:0}.fares b{font-size:14px;color:#244a3c}.fares em{font-size:8px;font-style:normal;color:#7a8781}.fleetBody>a{margin-top:17px}.extraPrice{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.extraPrice>div{display:flex;align-items:center;gap:22px;padding:25px;background:var(--forest);color:#fff;border-radius:18px}.extraPrice>div>strong{font-size:31px;color:var(--gold)}.extraPrice p,.extraPrice p b,.extraPrice p span{display:block;margin:0}.extraPrice p b{font-size:15px}.extraPrice p span{font-size:11px;color:#b8cac1;margin-top:4px;line-height:1.55}.commitIntro>p:not(.eyebrow){color:var(--muted);line-height:1.75;max-width:520px}.proofBar{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px;padding:25px;background:var(--forest2);color:#fff;border-radius:18px}.proofBar strong,.proofBar span{display:block}.proofBar strong{font-size:22px;color:var(--gold)}.proofBar span{font-size:10px;color:#b8cac1;margin-top:3px}.proofBar>small{grid-column:1/-1;color:#71877c;font-size:8px}
@media(max-width:1000px){.commitRight{margin-top:10px}}
@media(max-width:650px){.extraPrice,.proofBar{grid-template-columns:1fr}.proofBar>small{grid-column:auto}}

/* Legal notice and company footer */
.legal{padding:70px 7vw;background:#f4f1e9;border-top:1px solid #e4ded1;display:grid;grid-template-columns:320px 1fr;gap:65px}.legalTitle{display:flex;align-items:flex-start;gap:16px}.legalTitle>span{width:46px;height:46px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--gold);color:var(--forest2);font-size:22px;font-weight:900}.legalTitle p{margin:2px 0 7px;color:#9a721c;text-transform:uppercase;letter-spacing:.15em;font-size:9px;font-weight:900}.legalTitle h2{margin:0;color:var(--forest2);font-family:"Arial Black",sans-serif;font-size:24px;line-height:1.22;text-transform:uppercase;letter-spacing:-.035em}.legalText{padding-left:34px;border-left:1px solid #d9d1c2}.legalText p{margin:0 0 16px;color:#5e6a65;font-size:13px;line-height:1.8}.legalText p:last-child{margin-bottom:0}.legalText strong{color:#213d32}.businessFooter{padding:60px 7vw 30px;background:var(--forest2);color:#a9bab2;display:grid;grid-template-columns:1.1fr 1fr;align-items:start;gap:50px}.companyBrand{display:flex;align-items:flex-start;gap:20px}.companyBrand img{width:105px;height:105px;object-fit:cover;border-radius:17px}.companyBrand strong,.companyBrand span{display:block}.companyBrand strong{color:#fff;font-size:16px;line-height:1.55}.companyBrand span{margin-top:10px;color:#91a69c;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.companyInfo{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.companyInfo p{margin:0;color:#b7c6bf;font-size:12px;line-height:1.6}.companyInfo p>span{display:block;margin-bottom:4px;color:var(--gold);font-size:8px;font-weight:900;letter-spacing:.14em}.companyInfo a{color:#fff;font-weight:750}.businessFooter .copyright{grid-column:1/-1;margin-top:4px;border-top:1px solid #ffffff14;padding-top:22px;color:#71867c;font-size:10px}
@media(max-width:900px){.legal,.businessFooter{grid-template-columns:1fr}.legal{gap:35px}.legalText{padding-left:0;padding-top:28px;border-left:0;border-top:1px solid #d9d1c2}}
@media(max-width:650px){.legal{padding:55px 6vw}.legalTitle h2{font-size:21px}.legalText p{font-size:12px}.businessFooter{padding:55px 6vw 105px}.companyBrand{display:block}.companyBrand img{margin-bottom:18px}.companyInfo{grid-template-columns:1fr}}

/* Unified typography system */
:root{--font-body:Inter,"Segoe UI Variable","Segoe UI",Roboto,Arial,sans-serif;--font-display:"Trebuchet MS","Segoe UI",Arial,sans-serif}body,button,input,textarea,select{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.6;letter-spacing:0}.hero h1,.sectionHead h2,.coverage h2,.commitment h2,.cta h2,.legalTitle h2{font-family:var(--font-display);font-weight:900;text-transform:none;letter-spacing:-.045em;line-height:1.02}.hero h1{line-height:.96}.serviceBody h3,.fleetTitle h3,.commitCards h3,.brand strong,.companyBrand strong{font-family:var(--font-display);font-weight:900;letter-spacing:-.025em}.brand strong{font-size:22px;line-height:1.05}.eyebrow,.brand small,.topbar,.routeStrip,.serviceBody>small,.fleetBody small,.companyInfo p>span,.footerHotline small{font-family:var(--font-body);font-weight:850;letter-spacing:.13em}.heroLead,.sectionHead>p,.coverage>div:first-child>p:not(.eyebrow),.commitIntro>p:not(.eyebrow){font-size:16px;line-height:1.75}.serviceBody p,.commitCards p{font-size:14px;line-height:1.72}.fares small,.extraPrice p span,.proofBar span,.companyInfo p,.legalText p{font-family:var(--font-body);line-height:1.7}.primary,.secondary,.outlineBtn,.navCall,.serviceBody a,.fleetBody>a,.mobileCall{font-family:var(--font-body);font-weight:850;letter-spacing:0}.fares b,.extraPrice>div>strong,.proofBar strong,.cta>a b,.footerHotline a{font-family:var(--font-display);font-weight:900;letter-spacing:-.025em}
@media(max-width:650px){body{font-size:15px}.brand strong{font-size:18px}.hero h1{font-size:48px}.heroLead,.sectionHead>p,.coverage>div:first-child>p:not(.eyebrow),.commitIntro>p:not(.eyebrow){font-size:15px}.serviceBody p,.commitCards p{font-size:13px}.legalText p{font-size:12.5px}}

/* Preserve image proportions after upload to WordPress. */
.serviceImage,.fleetImage{width:100%;height:auto;aspect-ratio:16/9;background-repeat:no-repeat;background-color:#e8eee9}
.serviceImage{background-size:400% auto}
.fleetImage{background-size:300% auto}
.brand img,.companyBrand img{object-fit:contain;background:#fff}
@media(max-width:650px){.serviceImage,.fleetImage{height:auto;aspect-ratio:16/9}}


/* Typography v2: one family, consistent weights and responsive scale. */
:root{--font-ui:"Segoe UI Variable","Segoe UI",Roboto,Arial,sans-serif;--text-body:16px;--weight-regular:400;--weight-medium:600;--weight-bold:700;--weight-heavy:800}
html{font-size:16px}body,button,input,textarea,select{font-family:var(--font-ui);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:1.65;letter-spacing:0;-webkit-font-smoothing:antialiased}p{font-size:16px;font-weight:400;line-height:1.7}strong,b{font-weight:700}h1,h2,h3,.hero h1,.sectionHead h2,.coverage h2,.commitment h2,.cta h2,.legalTitle h2,.serviceBody h3,.fleetTitle h3,.commitCards h3,.brand strong,.companyBrand strong{font-family:var(--font-ui);font-style:normal;font-weight:800;letter-spacing:-.035em}.hero h1{font-size:clamp(48px,5.4vw,76px);line-height:.98}.sectionHead h2,.coverage h2,.commitment h2,.cta h2{font-size:clamp(36px,4vw,54px);line-height:1.04}.serviceBody h3,.fleetTitle h3{font-size:20px;line-height:1.3}.commitCards h3{font-size:18px;line-height:1.35}.eyebrow,.topbar,.routeStrip,.brand small,.serviceBody>small,.fleetBody small,.companyInfo p>span{font-family:var(--font-ui);font-weight:700}.eyebrow{font-size:11px;letter-spacing:.14em}.topbar,nav,.navCall,.primary,.secondary,.outlineBtn,.serviceBody a,.fleetBody>a,.mobileCall{font-family:var(--font-ui);font-weight:700}.heroLead,.sectionHead>p,.coverage>div:first-child>p:not(.eyebrow),.commitIntro>p:not(.eyebrow),.serviceBody p,.commitCards p,.legalText p,.companyInfo p{font-size:15px;font-weight:400;line-height:1.7}.heroStats b,.fares b,.extraPrice>div>strong,.proofBar strong,.cta>a b{font-family:var(--font-ui);font-weight:800}.heroStats span,.availability small,.fares small,.extraPrice p span,.proofBar span,.priceNote,.companyBrand span,.copyright{font-family:var(--font-ui);font-weight:400}.legalTitle h2{font-size:24px;line-height:1.25}.copyright a{color:var(--gold);font-weight:700}nav a.active{color:#9b6e13}

/* Service policy page */
.policyHero{padding:90px 7vw 75px;background:var(--forest);color:#fff}.policyHero h1{margin:15px 0 20px;font-family:var(--font-ui);font-size:clamp(44px,5vw,68px);font-weight:800;letter-spacing:-.04em;line-height:1.02}.policyHero>p:last-child{max-width:700px;margin:0;color:#c4d4cc;font-size:17px}.policyContent{padding:80px 7vw 95px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:70px}.policyContent aside{position:sticky;top:120px;align-self:start;padding:25px;border:1px solid var(--line);border-radius:16px;background:var(--cream)}.policyContent aside span,.policyContent aside strong,.policyContent aside a{display:block}.policyContent aside span{color:#916916;font-size:11px;font-weight:700;letter-spacing:.12em}.policyContent aside strong{margin-top:5px;font-size:17px}.policyContent aside p{margin:25px 0 10px;color:var(--muted);font-size:14px}.policyContent aside a{margin-top:8px;color:var(--forest);font-size:14px;font-weight:700}.policyList{border-top:1px solid var(--line)}.policyList article{display:grid;grid-template-columns:48px 1fr;gap:22px;padding:30px 0;border-bottom:1px solid var(--line)}.policyList article>span{padding-top:4px;color:#a7791e;font-size:12px;font-weight:700}.policyList h2{margin:0 0 10px;font-family:var(--font-ui);font-size:22px;font-weight:800;letter-spacing:-.025em;line-height:1.3}.policyList p{margin:0;color:var(--muted);font-size:15px;line-height:1.75}.policyNote{margin:0 7vw 80px;padding:28px 32px;border-left:5px solid var(--gold);background:var(--cream)}.policyNote strong{display:block;font-size:18px}.policyNote p{margin:7px 0 0;color:var(--muted);font-size:15px}
@media(max-width:900px){.policyContent{grid-template-columns:1fr;gap:35px}.policyContent aside{position:static}.policyHero{padding:70px 6vw 60px}}
@media(max-width:650px){html{font-size:15px}body{font-size:15px}p{font-size:15px}.hero h1{font-size:44px}.sectionHead h2,.coverage h2,.commitment h2,.cta h2{font-size:36px}.heroLead,.sectionHead>p,.coverage>div:first-child>p:not(.eyebrow),.commitIntro>p:not(.eyebrow),.serviceBody p,.commitCards p,.legalText p,.companyInfo p{font-size:14px}.policyHero h1{font-size:40px}.policyHero>p:last-child{font-size:15px}.policyContent{padding:55px 6vw 70px}.policyList article{grid-template-columns:36px 1fr;gap:12px;padding:24px 0}.policyList h2{font-size:19px}.policyList p{font-size:14px}.policyNote{margin:0 6vw 70px;padding:24px}}

/* Show every source image in full without edge cropping. */
.heroImage{background-size:contain;background-position:center right;background-color:var(--forest2)}
.serviceImage,.fleetImage{height:auto;aspect-ratio:1/1;background-repeat:no-repeat;background-color:#e8eee9}
.serviceImage{background-size:400% 200%}
.fleetImage{background-size:300% 200%}
.brand img,.companyBrand img{object-fit:contain;object-position:center;background:#fff}
@media(max-width:650px){.heroImage{background-size:contain;background-position:center bottom}.serviceImage,.fleetImage{height:auto;aspect-ratio:1/1}}
