/* Public v7 layout contract; no admin rules. */
.news-grid { gap:28px; }
.news-page .news-card { display:flex; flex-direction:column; padding:0; overflow:hidden; border-radius:8px; min-width:0; }
.news-card-image { aspect-ratio:16/9; position:relative; background:var(--navy-deep); overflow:hidden; }
.news-card-content { padding:24px; display:flex; flex-direction:column; flex:1; }
.news-card-content h3 { overflow-wrap:anywhere; }
.news-detail-heading { margin-bottom:28px; }
.news-detail-title { font-size:26px; line-height:1.35; margin-bottom:16px; overflow-wrap:anywhere; }
.news-detail-cover { margin-bottom:28px; border-radius:8px; overflow:hidden; background:var(--tint); }
.news-detail-cover img { display:block; width:100%; max-height:520px; object-fit:contain; }
.news-detail .article-body { overflow-wrap:anywhere; }
.news-detail .article-body table { display:block; max-width:100%; overflow-x:auto; }
.news-detail .article-body iframe { max-width:100%; }
.news-detail-cta { margin-top:28px; padding:24px; text-align:center; background:var(--tint); }
html:is(:lang(en), :lang(vi)) .news-detail-cta p { text-align:center !important; text-align-last:center; }
@media(max-width:640px) {
 .news-card-content { padding:20px; }
 .news-detail-title { font-size:22px; }
 .news-detail-cta { padding:20px; }
}
:root {
  --public-content-font:'DejaVu Sans',Verdana,Arial,sans-serif;
  --public-content-size:16px;
  --public-content-leading:1.75;
}
/* One body-copy scale across pages and both languages, including CMS rich text. */
:is(.page-content, .article-body) :is(p, li), .public-home .hero-content .hero-desc {
  font-family:var(--public-content-font) !important;
  font-size:var(--public-content-size) !important;
  line-height:var(--public-content-leading) !important;
}
:is(.page-content, .article-body) :is(p, li) :is(span, strong, em, a) {
  font-family:inherit !important;
  font-size:inherit !important;
  line-height:inherit;
}
input, select, textarea, button { font-family:var(--public-content-font); }
@media(max-width:640px) { :root { --public-content-size:16px; } }
body { font-family:'DejaVu Sans',Verdana,Arial,sans-serif; min-height:100vh; }
body.public-subpage { display:flex; flex-direction:column; }
.public-subpage > main { flex:1 0 auto; }
.public-subpage > .footer-wrap { flex-shrink:0; }
.nav-wrap { position:sticky; top:0; z-index:1000; background:#113663; }
/* Public layers: header < drawer backdrop < drawer < contact/CV dialogs. */
.drawer-overlay { z-index:1050; }
.mobile-drawer { z-index:1100; }
.modal-overlay { z-index:2000; }
.modal-overlay .modal-box {
  max-height:calc(100vh - 40px);
  max-height:calc(100dvh - 40px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.brand-text, .brand-text span { font-family:Arial,sans-serif; font-weight:700; }
.brand-text .part-blue { color:#fff; }
.brand-text .part-wave { color:#0088D0; }
.public-home .nav-wrap { position:absolute; inset:0 0 auto; background:rgba(17,54,99,.55); backdrop-filter:blur(8px); }
.public-home .brand-text .part-wave { color:#6CCBF7; }
.public-home .hero-fullscreen { min-height:100svh; padding:72px 0 0; background-image:none; }
.public-home .hero-content { padding:48px 0 60px; }
.public-home .hero-h1, .public-home .hero-desc { text-shadow:0 2px 5px rgba(0,0,0,.45); }
.public-home .home-hero-overlay { background:linear-gradient(90deg,rgba(13,39,72,.58),transparent 75%),linear-gradient(0deg,rgba(13,39,72,.12),transparent 30%,transparent 80%,rgba(13,39,72,.12)); }
.page-banner { margin:0; min-height:104px; width:100%; flex-shrink:0; }
.page-banner-inner { min-height:104px; padding-top:16px; padding-bottom:16px; }
.page-banner-copy { min-width:0; }
.page-banner-copy h1 { font-size:18px; }
.page-banner-copy p { font-size:16px; text-align:left; }
.page-banner-logo { flex:0 0 auto; height:68px; max-width:28%; }
.page-content { padding:26px 0 28px; }
/* Match EN/VI body copy on desktop and mobile; leave headings/tables/controls alone. */
html:is(:lang(en), :lang(vi)) :is(.page-content p, .page-content .page-intro-text, .page-content .page-intro-text p, .page-content li, .article-body p, .article-body li, .footer-wrap .foot-col:first-child > p) {
  text-align:justify !important;
  text-align-last:start;
  text-justify:inter-word;
  overflow-wrap:break-word;
  word-break:normal;
}
html:lang(en) :is(.page-content p, .page-content li, .article-body p, .article-body li, .footer-wrap .foot-col:first-child > p) { hyphens:auto; -webkit-hyphens:auto; }
html:lang(vi) :is(.page-content p, .page-content li, .article-body p, .article-body li, .footer-wrap .foot-col:first-child > p) { hyphens:none; -webkit-hyphens:none; }
.footer-wrap p { text-align:left; }
html:lang(en) .page-content p.careers-invite { text-align:center !important; text-align-last:center; }
html:lang(vi) .page-content p.careers-invite { text-align:left !important; text-align-last:left; }
html:is(:lang(en), :lang(vi)) .page-content p.safety-lead-emphasis { text-align:center !important; text-align-last:center; }
.page-content .grid-2 > *, .page-content .grid-3 > *, .page-content .grid-4 > * { min-width:0; }
.page-content .table-row { grid-template-columns:minmax(0,35fr) minmax(0,65fr); }
.page-content .table-row > * { min-width:0; overflow-wrap:break-word; }
.page-content .table-label { max-width:none; }
.btn-primary { background:#0088D0; color:white; box-shadow:0 3px 0 #0069A3; }
.foot-btn-group .btn { color:#fff; }
.footer-content-grid { padding-top:0; }
/* Give the Vietnamese company/address column more room; retain stacked mobile layout. */
@media(min-width:1025px) {
 html:lang(vi) .footer-content-grid { grid-template-columns:minmax(0,calc((100% - 80px) * 1.6 / 3.8)) minmax(0,calc((100% - 80px) * 1.3 / 3.8 + 25px)) minmax(0,1fr); }
}
.footer-wrap .footer-heading { color:#fff; font-size:19px; font-weight:700; line-height:1.4; min-height:30px; margin:0 0 18px; }
.foot-col { min-width:0; }
.foot-btn-group { flex-wrap:wrap; }
/* Home copy follows the approved two-line heading and left-aligned subtitle. */
.public-home .hero-content { max-width:1100px; }
.public-home .hero-h1 { font-size:56px; line-height:1.22; margin-bottom:64px; text-wrap:initial; }
.public-home .hero-content :is(p.hero-desc, .hero-desc, .hero-desc p) { max-width:760px; font-size:20px !important; line-height:1.8 !important; text-align:left !important; text-align-last:auto; hyphens:none; -webkit-hyphens:none; }
@media (min-width:641px) and (max-width:1024px) {
  .public-home .hero-h1 { font-size:40px !important; margin-bottom:40px; }
  .public-home .hero-content :is(p.hero-desc, .hero-desc, .hero-desc p) { font-size:18px !important; }
}
/* Keep navigation reachable on short screens and when browser chrome changes height. */
.mobile-drawer { height:100dvh; overflow-y:auto; overscroll-behavior:contain; visibility:hidden; transition:right .3s ease, visibility .3s; }
.mobile-drawer.active { visibility:visible; }
.mobile-drawer > * { flex-shrink:0; }
.mobile-nav-links { margin-bottom:24px; }
body.mobile-menu-open { overflow:hidden; }
.hero-content .hero-actions, .hero-content > .pillrow { width:min(100%,440px); gap:12px; }
.hero-content .hero-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.hero-content > .pillrow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.hero-content .hero-actions .btn { min-width:0; padding-left:8px; padding-right:8px; text-align:center; }
.hero-content > .pillrow .pill { min-width:0; text-align:center; padding:8px 4px; font-size:12px; }
@media (min-width:1440px) {
  .page-banner-inner { min-height:140px; }
  .page-banner-logo { height:100px; }
  .page-content { padding-top:36px; }
}
@media (min-width:641px) and (max-width:1024px) {
  .page-content .grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-content .grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1024px) {
  .nav-wrap .desktop-nav { display:none !important; }
  .nav-wrap .hamburger-btn { display:flex; }
}
@media (max-width:640px) {
  .nav-inner { gap:12px; }
  .brand-wrap { min-width:0; gap:8px; }
  .brand-text { font-size:clamp(15px,4.5vw,20px); letter-spacing:.3px; }
  .hamburger-btn { flex-shrink:0; }
  .page-content .table-row { grid-template-columns:minmax(0,1fr); }
  .form-group :is(input, select, textarea) { min-width:0; max-width:100%; font-size:16px; }
  .page-banner-inner { gap:12px; }
  .page-banner-logo { height:48px; max-width:25%; }
  .page-banner-copy p { font-size:14px; }
  .page-content { padding-top:26px; }
  .page-content .grid-2, .page-content .grid-3, .page-content .grid-4 { grid-template-columns:minmax(0,1fr); }
  .public-home .hero-content { padding:24px 0; }
  .public-home .hero-h1 { font-size:clamp(23px,6.5vw,32px) !important; }
  .public-home .hero-h1 { margin-bottom:28px; }
  .public-home .hero-content :is(p.hero-desc, .hero-desc, .hero-desc p) { font-size:15px !important; line-height:1.75 !important; }
  .public-home .hero-desc { font-size:15px; }
  .public-home .home-hero-overlay { background:linear-gradient(90deg,rgba(13,39,72,.7),rgba(13,39,72,.25)); }
  .hero-content > .pillrow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-content-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
}

/* Home: heading, description, two actions, then four badges in separate rows. */
.public-home .hero-fullscreen { align-items:flex-start; }
.public-home .hero-content { display:flex; flex-direction:column; align-items:flex-start; padding:32px 0 40px; }
.public-home .hero-content :is(p.hero-desc, .hero-desc, .hero-desc p) { margin-bottom:80px; }
.public-home .hero-content .hero-actions { display:flex; flex-direction:row; width:auto; max-width:100%; gap:16px; margin-bottom:72px; }
.public-home .hero-content .hero-actions .btn { display:inline-flex; align-items:center; justify-content:center; min-width:176px; min-height:64px; padding:16px 24px; }
.public-home .hero-content > .pillrow { display:flex; flex-wrap:wrap; width:auto; max-width:100%; gap:12px; margin:0; }
.public-home .hero-content > .pillrow .pill { flex:0 0 auto; padding:7px 14px; }
@media(max-width:640px) {
 .public-home .hero-content { padding:16px 0 24px; }
 .public-home .hero-h1 { font-size:clamp(18px,5.2vw,32px) !important; margin-bottom:34px; }
 .public-home .hero-content :is(p.hero-desc, .hero-desc, .hero-desc p) { font-size:13px !important; line-height:1.75 !important; margin-bottom:44px; }
 .public-home .hero-content .hero-actions { gap:8px; margin-bottom:42px; }
 .public-home .hero-content .hero-actions .btn { min-width:88px; min-height:40px; padding:10px 16px; font-size:11px; }
 .public-home .hero-content > .pillrow { gap:8px; flex-wrap:nowrap; }
 .public-home .hero-content > .pillrow .pill { padding:5px 10px; font-size:10px; }
}
/* Customer feedback, 23 October 2026. Typography values are supplied by admin settings. */
.public-subpage .container { max-width:1220px; }
.brand-icon-circle { width:50px; height:50px; flex:0 0 50px; background:#fff; }
.brand-icon-circle img { width:38px; height:38px; object-fit:contain; }
.brand-text { font-size:25.5px; }
.public-home .brand-text .part-wave { color:#0088D0; }
.page-banner { min-height:156px; background:#D3EAF6; }
.page-banner-inner { min-height:156px; padding-top:20px; padding-bottom:20px; }
.page-banner { position:relative; overflow:hidden; isolation:isolate; }
.page-banner::after { content:none; display:none; }
.page-banner .wave-background { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; pointer-events:none; z-index:1; }
.page-banner .page-banner-inner { position:relative; z-index:2; }
.page-banner-copy h1 { font-family:var(--type-banner-font); font-size:var(--type-banner-size,27px); color:var(--type-banner-color,#0D2748); }
.page-banner-copy p { font-family:var(--type-headline-font); font-size:var(--type-headline-size,24px); color:var(--type-headline-color,#0088D0); }
.page-banner-logo { height:102px; max-width:22%; }
.page-content { padding:32px 0; }
:is(.page-content,.article-body) :is(p,li) { font-family:var(--type-body-font,var(--public-content-font)) !important; font-size:var(--type-body-size,16px) !important; color:var(--type-body-color,#1E2A38); }
.page-content :is(h2,h3):not(.card h3), .news-detail-title { font-family:var(--type-section-font); font-size:var(--type-section-size,22px) !important; color:var(--type-section-color,#0D2748) !important; }
.page-content .card :is(h3,h4) { font-family:var(--type-card-font); font-size:var(--type-card-size,19px) !important; color:var(--type-card-color,#0D2748) !important; }
.page-content .card { padding:25px; }
.page-content .card p:last-child { margin-bottom:0; }
.careers-modern-gallery { width:100%; }
.careers-values .card { display:flex; flex-direction:column; }
.careers-values .card h3 { min-height:2.7em; line-height:1.35; }
.careers-invite, .careers-invite strong { font-weight:700; }
.btn { font-family:var(--type-button-font); font-size:var(--type-button-size,17px); color:var(--type-button-color,#fff); }
.footer-wrap { min-height:376px; padding:40px 0 24px; }
.footer-wrap .footer-heading { font-family:var(--type-footerTitle-font); font-size:var(--type-footerTitle-size,19px); color:var(--type-footerTitle-color,#fff); }
.footer-wrap .foot-col:first-child .footer-heading { font-family:var(--type-footerLead-font); font-size:var(--type-footerLead-size,30px); color:var(--type-footerLead-color,#fff); line-height:1.2; }
.footer-wrap :is(p,.footer-bottom) { font-family:var(--type-footer-font); font-size:var(--type-footer-size,14.85px); color:var(--type-footer-color,#B9CBDA); line-height:1.7; }
.foot-btn-group .btn { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; width:148px; height:72px; min-height:72px; padding:16px; font-size:var(--type-button-size,17px); box-shadow:0 4px 0 #0069A3; }
.public-home .hero-content { max-width:1240px; padding:72px 0 40px; }
.public-home .hero-h1 { font-family:var(--type-hero-font); font-size:var(--type-hero-size,54px); color:var(--type-hero-color,#fff); line-height:1.22; margin-bottom:56px; }
.public-home .hero-content :is(p.hero-desc, .hero-desc, .hero-desc p) { font-family:var(--type-heroBody-font) !important; font-size:var(--type-heroBody-size,19.5px) !important; color:var(--type-heroBody-color,#fff); line-height:1.8 !important; max-width:760px; margin-bottom:64px; }
.public-home .hero-content .hero-actions { margin-bottom:96px; }
.public-home .hero-content .hero-actions .btn { min-height:84px; font-size:var(--type-button-size,17px); }
.public-home .hero-content > .pillrow .pill { display:inline-flex; align-items:center; justify-content:center; min-height:45px; padding:8px 18px; font-size:15.75px; }
@media(min-width:1025px) { html:lang(en) .careers-values .card h3 { min-height:1.35em; } }
@media(min-width:641px) and (max-width:1024px) {
 .public-home .hero-h1 { font-size:min(var(--type-hero-size,54px),40px) !important; }
 .public-home .hero-content { padding-top:40px; }
 .public-home .hero-content .hero-actions { margin-bottom:48px; }
 .brand-text { font-size:22px; }
}
@media(max-width:640px) {
 .brand-icon-circle { width:40px; height:40px; flex-basis:40px; }
 .brand-icon-circle img { width:30px; height:30px; }
 .brand-text { font-size:clamp(14px,4.5vw,20px); }
 .page-banner,.page-banner-inner { min-height:128px; }
 .page-banner-inner { padding-top:20px !important; padding-bottom:20px !important; }
 .page-banner-copy h1 { font-size:min(var(--type-banner-size,27px),21px); }
 .page-banner-copy p { font-size:min(var(--type-headline-size,24px),17px); }
 .page-banner-logo { height:64px; max-width:23%; }
 .page-content { padding:24px 0; }
 .page-content .card { padding:22px; }
 :is(.page-content,.article-body) :is(p,li) { font-size:min(var(--type-body-size,16px),16px) !important; }
 .careers-values .card h3 { min-height:0; }
 .footer-wrap { min-height:0; padding-top:32px; }
 .foot-btn-group .btn { min-height:72px; width:140px; }
 .public-home .hero-content { padding:28px 0 32px; }
 .public-home .hero-h1 { font-size:clamp(24px,6.4vw,min(var(--type-hero-size,54px),36px)) !important; margin-bottom:28px; }
 .public-home .hero-content :is(p.hero-desc, .hero-desc, .hero-desc p) { font-size:min(var(--type-heroBody-size,19.5px),16px) !important; margin-bottom:32px; }
 .public-home .hero-content .hero-actions { flex-wrap:wrap; margin-bottom:36px; gap:12px; }
 .public-home .hero-content .hero-actions .btn { min-width:130px; min-height:56px; padding:12px 16px; font-size:min(var(--type-button-size,17px),15px); }
 .public-home .hero-content > .pillrow { flex-wrap:wrap; gap:8px; }
 .public-home .hero-content > .pillrow .pill { min-height:36px; padding:7px 12px; font-size:12px; }
}
.public-home .hero-content :is(p.hero-desc, .hero-desc, .hero-desc p) { max-width:700px; }
.foot-btn-group .btn, .btn-primary { color:var(--type-button-color,#fff); }
.footer-wrap .foot-col a:not(.btn) { color:inherit; }
/* Local card-copy trial: body 15.5px minus 1px = 14.5px; headings unchanged. */
html:is(:lang(en),:lang(vi)) body.public-subpage .page-content .card :is(p,li) {
 font-size:calc(var(--type-body-size,16px) - 1px) !important;
 text-align:justify !important;
 text-align-last:left;
 hyphens:none;
 -webkit-hyphens:none;
 word-spacing:normal;
}
html:lang(en) body.public-subpage .page-content .card :is(p,li) {
 hyphens:auto;
 -webkit-hyphens:auto;
}
@media(max-width:640px) {
 html:is(:lang(en),:lang(vi)) body.public-subpage .page-content .card :is(p,li) {
  font-size:calc(min(var(--type-body-size,16px),16px) - 1px) !important;
 }
}
/* About: one shared image stage on desktop and mobile, backed by existing media entries. */
:is(.about-image-slider,.operations-image-slider,.careers-image-slider) { margin:0 0 28px; }
:is(.about-image-slider,.operations-image-slider,.careers-image-slider) .bwt-slider-stage { aspect-ratio:auto; height:430px; touch-action:pan-y pinch-zoom; }
:is(.about-image-slider,.careers-image-slider) .bwt-slide img { object-fit:cover; object-position:center; }
.about-slider-dots { display:flex; justify-content:center; gap:10px; }
.about-slider-dots .bwt-thumb { flex:0 0 28px; width:28px; height:28px; padding:0; border-radius:50%; background:#dceef6; color:#0d2748; font-size:12px; }
.about-slider-dots .bwt-thumb.is-active { background:#0088d0; color:#fff; }
.about-slider-dots .bwt-thumb:focus-visible { outline:2px solid #0d2748; outline-offset:3px; }
@media(max-width:640px) { :is(.about-image-slider,.operations-image-slider,.careers-image-slider) .bwt-slider-stage { height:260px; } }

.operations-image-slider .bwt-slide img { object-fit:contain; }

html:lang(en) body.public-subpage .page-content :is(p.careers-invite, .careers-invite, .careers-invite p) { text-align:center !important; text-align-last:center; }
html:lang(vi) body.public-subpage .page-content :is(p.careers-invite, .careers-invite, .careers-invite p) { text-align:left !important; text-align-last:left; }

/* PDF v7 proportions at 1440px. Copy and typography values remain CMS-owned. */
.nav-inner { max-width:1220px; }
.public-home .hero-fullscreen .container {
 max-width:1220px;
 margin-left:auto;
 margin-right:auto;
 padding-left:40px;
 padding-right:40px;
}
.public-home .hero-content { max-width:100%; }
.public-home .hero-h1 { max-width:1000px; }
.public-home .hero-content .hero-actions { margin-bottom:80px; }
.public-home .brand-text .part-wave { color:#6CCBF7; }
.public-subpage .page-content { padding-top:42px; padding-bottom:64px; }
.page-content .card { border-radius:8px; }
.page-content .card :is(h3,h4) { font-weight:700; }
.page-about .about-image-slider .bwt-slider-stage,
.page-careers .careers-image-slider .bwt-slider-stage {
 height:430px;
 min-height:0;
}
.page-operations .operations-image-slider .bwt-slider-stage {
 height:480px;
 min-height:0;
}
.page-operations .page-content .placeholder-art { height:480px; min-height:0; }
.page-about .about-image-slider, .page-about .about-modern-gallery { margin-bottom:42px; }
.page-careers .careers-image-slider, .page-careers .careers-modern-gallery { margin-bottom:48px; }
.page-careers .careers-values { margin-bottom:48px; }
.page-careers .center-text > .btn { min-height:72px; padding:16px 30px; box-shadow:0 4px 0 #0069A3; }

.page-fleet .page-intro-text { font-size: 17px; line-height: 1.75; text-align: justify !important; text-align-last: start; text-justify: inter-word; }
.page-fleet .page-intro-text:first-child { margin-bottom:16px; }
.page-fleet .page-intro-text:nth-child(2) { margin-bottom:42px; }
.page-operations .page-content > .container > .grid-2 { row-gap:42px !important; margin-bottom:42px !important; }
.page-operations .page-content > .container > .grid-2 > div > div:first-child { height:30px; display:flex; align-items:center; }
.page-safety .page-intro-text { margin-bottom:16px; }
html:is(:lang(en),:lang(vi)) .page-safety .page-content p.safety-lead-emphasis {
 text-align:left !important;
 text-align-last:left;
 font-weight:700;
}
.page-safety .page-content > .container > .grid-3 h3 { font-size:var(--type-card-size,19px) !important; margin-bottom:12px; }
.page-safety .safety-topics-grid { row-gap:42px !important; margin-bottom:42px !important; }
.page-safety .safety-topics-grid .safety-topic-item { display:flex; flex-direction:column; justify-content:flex-start; }
.page-safety .safety-topics-grid .safety-topic-item p { margin:0; line-height:1.7; font-size:15px; }
.page-safety .page-content > .container > .grid-4 { margin-bottom:42px !important; }
.footer-wrap { padding-top:24px; }
.footer-wrap .foot-col a:not(.btn) { font-size:inherit; line-height:inherit; }
.footer-wrap .foot-col:first-child > p { line-height:1.7; }
/* Match the reference's short, left-aligned intro lines without hardcoded copy.
   Address lines continue to use explicit <br> from the four CMS fields. */
html:is(:lang(en),:lang(vi)) .footer-wrap .foot-col:first-child > .footer-intro {
 max-width:400px;
 text-align:left !important;
 text-align-last:left;
 hyphens:none;
 -webkit-hyphens:none;
 overflow-wrap:break-word;
 white-space:pre-line;
}
.footer-wrap .footer-bottom { font-size:13px; }
@media(min-width:1025px) {
 .page-careers .careers-values .grid-3 { align-items:stretch; }
 .page-careers .careers-values .card h3 { text-wrap:initial; }
}
@media(min-width:641px) and (max-width:1024px) {
 .public-home .hero-content .hero-actions { margin-bottom:48px; }
 .public-subpage .page-content { padding-top:32px; padding-bottom:42px; }
}
@media(max-width:640px) {
 .public-home .hero-fullscreen .container { padding-left:20px; padding-right:20px; }
 .public-subpage .page-content { padding-top:24px; padding-bottom:32px; }
 .public-home .hero-content .hero-actions { margin-bottom:36px; }
 .page-about .about-image-slider .bwt-slider-stage,
 .page-careers .careers-image-slider .bwt-slider-stage { height:260px; }
 .page-operations .operations-image-slider .bwt-slider-stage { height:380px; }
 .page-operations .page-content .placeholder-art { height:380px; }
 .page-operations .page-content .operations-map.has-image { height:auto; min-height:0; padding:0; aspect-ratio:auto; }
 .page-operations .page-content .operations-map.has-image img { position:static; width:100%; height:auto; display:block; }
 .page-about .about-image-slider, .page-about .about-modern-gallery, .page-careers .careers-image-slider, .page-careers .careers-modern-gallery { margin-bottom:28px; }
 .page-careers .careers-values { margin-bottom:32px; }
 .page-careers .center-text > .btn { min-height:56px; }
 .footer-wrap { padding-top:32px; }
}
.page-operations .operations-map { cursor:default; }
.page-operations .operations-map.has-image:hover img { transform:none; }
.page-fleet .bwt-slider-stage { touch-action:pan-y pinch-zoom; }

/* October customer revisions: compact CTA, rich-text alignment and natural images. */
/* Home Hero Actions (2 cards trên) và Badges (4 cards dưới) cân đối, đều mép */
.public-home .hero-content .hero-actions,
.public-home .hero-content > .pillrow {
  width: min(100%, 540px);
  max-width: 100%;
}
.public-home .hero-content .hero-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 36px;
  margin-bottom: 16px;
}
.public-home .hero-content .hero-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 54px;
  padding: 12px 20px;
  font-size: min(var(--type-button-size, 17px), 16px);
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  box-sizing: border-box;
}
.public-home .hero-content > .pillrow {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0;
}
.public-home .hero-content > .pillrow .pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 8px 6px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-align: center;
  box-sizing: border-box;
}
html:is(:lang(en),:lang(vi)) body.page-careers .page-content .careers-invite,
html:is(:lang(en),:lang(vi)) body.page-careers .page-content .careers-invite * { text-align:center !important; text-align-last:center !important; font-weight:700; }
.footer-wrap .foot-col > .footer-intro,
.footer-wrap .foot-col > .footer-intro :is(p,div,span,a),
.footer-wrap .foot-col > p { font-family:var(--type-footer-font); font-size:var(--type-footer-size,14.85px) !important; line-height:1.7; }
.footer-wrap .footer-intro :is(p,div) { margin:0; }
.footer-wrap .footer-intro { white-space:normal !important; }
@media(min-width:861px) {
 .footer-wrap .footer-heading { min-height:36px; display:flex; align-items:flex-end; margin-top:0; margin-bottom:18px; }
}
.news-category + .news-category { margin-top:40px; }
.news-category > h2 { margin-bottom:22px; }
.news-page .news-grid { align-items:stretch; }
.news-page .news-card { display:flex; flex-direction:column; height:100%; padding:0; overflow:hidden; border-radius:8px; min-width:0; background:var(--tint); border:1px solid var(--line); }
.news-page .news-card-image { aspect-ratio:16/9; width:100%; position:relative; background:var(--navy-deep); overflow:hidden; flex-shrink:0; }
.news-page .news-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.news-page .news-card:hover .news-card-image img { transform:scale(1.03); }
.news-page .news-card-content { padding:22px 24px; display:flex; flex-direction:column; flex:1; }
.news-page .news-card-date { font-size:12px; color:var(--gray); margin-bottom:8px; }
.news-page .news-card-title { font-size:18px; line-height:1.35; margin-bottom:12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em; overflow-wrap:anywhere; }
.news-page .news-card-title a { color:var(--navy); text-decoration:none; }
.news-page .news-card-title a:hover { color:var(--primary); }
.news-page .news-card-excerpt { font-size:14px; line-height:1.6; color:var(--gray); margin-bottom:20px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; flex:1; }
.news-page .news-card-action { margin-top:auto; }

/* ==========================================================================
   BÁO MỚI NEWS FEED & PAGINATION STYLES
   ========================================================================== */
.baomoi-feed-container {
  margin-top: 36px;
  background: var(--white, #ffffff);
  border: 1px solid var(--line, #e1e9ef);
  border-radius: 10px;
  padding: 24px 28px;
  box-shadow: 0 2px 10px rgba(18, 54, 100, 0.04);
}
.baomoi-feed-header {
  margin-bottom: 20px;
  display: inline-block;
}
.baomoi-feed-heading {
  font-size: 20px;
  font-weight: 700;
  color: var(--navy, #123664);
  margin: 0 0 6px 0;
  letter-spacing: -0.2px;
}
.baomoi-feed-accent-line {
  width: 48px;
  height: 3px;
  background-color: #991b1b;
  border-radius: 2px;
}
.baomoi-feed-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.baomoi-feed-item {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  padding: 20px 0;
  border-bottom: 1px solid #eef2f6;
  transition: background 0.15s ease;
}
.baomoi-feed-item:first-child {
  padding-top: 6px;
}
.baomoi-feed-item:last-child {
  border-bottom: none;
}
.baomoi-item-thumb {
  width: 220px;
  height: 138px;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
  background: var(--navy-deep, #0d2748);
  position: relative;
}
.baomoi-item-thumb a {
  display: block;
  width: 100%;
  height: 100%;
}
.baomoi-item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.baomoi-feed-item:hover .baomoi-item-thumb img {
  transform: scale(1.04);
}
.baomoi-item-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.baomoi-item-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 8px 0;
}
.baomoi-item-title a {
  color: var(--ink, #1e2a38);
  text-decoration: none;
  transition: color 0.15s ease;
}
.baomoi-item-title a:hover {
  color: var(--blue, #0088d0);
}
.baomoi-item-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 13px;
  color: #64748b;
  margin-bottom: 10px;
}
.baomoi-meta-source {
  font-weight: 700;
  color: #b91c1c;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.baomoi-meta-dot {
  color: #cbd5e1;
}
.baomoi-meta-time {
  color: #64748b;
}
.baomoi-meta-stats {
  color: #64748b;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.baomoi-item-excerpt {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--gray, #5b6b7c);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Pagination */
.baomoi-pagination-wrapper {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #eef2f6;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}
.baomoi-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink, #1e2a38);
  background: #ffffff;
  border: 1px solid var(--line, #e1e9ef);
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
}
.baomoi-page-btn:hover:not(:disabled) {
  border-color: var(--blue, #0088d0);
  color: var(--blue, #0088d0);
  background: var(--tint, #eff7fa);
}
.baomoi-page-btn.active {
  background: var(--navy, #123664);
  border-color: var(--navy, #123664);
  color: #ffffff;
  cursor: default;
}
.baomoi-page-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.baomoi-page-dots {
  padding: 0 4px;
  color: #94a3b8;
  font-weight: 700;
}

/* Mobile responsive */
@media (max-width: 640px) {
  .baomoi-feed-container {
    padding: 18px 14px;
  }
  .baomoi-feed-item {
    gap: 14px;
    padding: 16px 0;
  }
  .baomoi-item-thumb {
    width: 110px;
    height: 82px;
    border-radius: 4px;
  }
  .baomoi-item-title {
    font-size: 15px;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .baomoi-item-meta {
    font-size: 12px;
    gap: 8px;
    margin-bottom: 6px;
  }
  .baomoi-item-excerpt {
    display: none;
  }
  .baomoi-page-btn {
    min-width: 32px;
    height: 32px;
    font-size: 13px;
    padding: 0 8px;
  }
}



.news-detail .news-detail-cover { width:fit-content; max-width:100%; margin:24px auto; background:transparent; }
.news-detail .news-detail-cover img { display:block; width:auto; max-width:100%; height:auto; max-height:70vh; object-fit:contain; }
.news-detail .gallery-item { height:auto; width:fit-content; max-width:100%; aspect-ratio:auto; align-self:start; background:transparent; }
.news-detail .gallery-item img { display:block; width:auto; max-width:100%; height:auto; max-height:360px; object-fit:contain; border-radius:8px; }
.article-body img { max-width:100%; height:auto; }
.article-body .ql-align-center { text-align:center !important; text-align-last:center; }
.article-body .ql-align-right { text-align:right !important; text-align-last:right; }
@media(max-width:640px) {
 .public-home .hero-content .hero-actions { margin-top:24px; margin-bottom:20px; flex-wrap:nowrap; gap:8px; }
 .public-home .hero-content .hero-actions .btn { min-width:0; min-height:44px; padding:8px 12px; font-size:13px; flex:1; }
}
@media(max-height:650px) and (orientation:landscape) {
 .public-home .hero-content .hero-actions { margin-top:12px; margin-bottom:12px; }
}

/* Home hero typography reset: Prevent Quill paragraph tags from blowing up title and description spacing in Vietnamese */
.public-home .hero-h1 :is(p, div) {
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  display: block;
}
.public-home .hero-content :is(.hero-desc p, .hero-desc div) {
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

/* Flexible styling for embedded tables, charts, and small/few images */
.article-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  font-size: 15px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.article-body th, .article-body td {
  border: 1px solid #E2E8F0;
  padding: 10px 14px;
  text-align: left;
}
.article-body th {
  background: #F1F5F9;
  font-weight: 700;
  color: #0D2748;
}
.article-body tr:nth-child(even) td {
  background: #FAFCFE;
}
.article-body .ql-align-center img {
  display: block;
  margin-left: auto !important;
  margin-right: auto !important;
}
.article-body .ql-align-right img {
  display: block;
  margin-left: auto !important;
  margin-right: 0 !important;
}
.news-detail .gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 300px));
  gap: 18px;
  justify-content: flex-start;
}

/* Embedded iFrame and Chart Figure styles */
.article-body .bwt-embed-iframe {
  margin: 28px auto;
  text-align: center;
  max-width: 100%;
  clear: both;
}
.article-body .bwt-embed-iframe iframe {
  width: 100%;
  max-width: 720px;
  min-height: 380px;
  border-radius: 8px;
  border: 1px solid #E2E8F0;
  display: block;
  margin: 0 auto;
}
.article-body .bwt-chart-figure {
  margin: 28px auto;
  text-align: center;
  max-width: 100%;
  clear: both;
}
.article-body .bwt-chart-figure img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.06);
}
.article-body .bwt-chart-figure figcaption {
  margin-top: 8px;
  font-size: 13px;
  color: #64748B;
  font-style: italic;
  text-align: center;
}
