/* Measured against the original homepage at a 980px desktop content width.
   The Vietnam office and language controls remain local additions. */
:root{--purple:#8a4ab7}
@font-face{font-family:'Reference Helvetica';src:url('/assets/helvetica-roman.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Reference Helvetica Light';src:url('/assets/helvetica-light.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Reference Avenir Light';src:url('/assets/avenir-light.woff2') format('woff2');font-weight:400;font-display:swap}
.brand span{font-family:Questrial,Arial,sans-serif;margin-top:6px}
.duty-section{padding:39px 0 36px}
.duty-grid{grid-template-columns:minmax(0,472px) minmax(0,496px);gap:34px;align-items:start}
.duty-grid h2{font-size:44px;line-height:1.1;margin:0 0 17px}
.duty-grid p{font-size:19px;line-height:1.4;margin:0 0 36px}
.duty-grid ul{font-size:16px;line-height:1.6;margin:0;padding-left:16px;width:543px;max-width:calc(100% + 60px)}
.duty-grid li{margin:0;line-height:26.6px}
.duty-grid>img{width:496px;max-width:none;margin-top:8px}
.principles-section{background:#a0a09f;color:#fff;padding:22px 0}
.principles{grid-template-columns:300px 340px 1fr;grid-template-rows:repeat(2,29.8px);gap:0 40px;margin:0 auto}
.principles p{font:16px/29.8px 'Reference Helvetica Light',Helvetica,Arial,sans-serif;white-space:nowrap}
.principles strong{font-family:'Reference Helvetica',Arial,sans-serif;font-weight:700}
.software-banner{width:100%;height:307px;overflow:hidden;background:#390659}
.software-banner img{width:100%;height:307px;max-width:none;object-fit:cover;object-position:center}
.software-section{padding:40px 0 53px}
.software-section>h2{font:42px/50px Arial,sans-serif;text-align:center;margin:0 0 21px}
.software-intro,.software-section>p{font-size:18px;line-height:23.4px;text-align:center}
.software-intro{margin-bottom:23.4px}
.software-section>p:not(.software-intro){margin-bottom:24px}
.module-grid{grid-template-columns:205px 262px 250px;gap:63px;width:813px;max-width:100%;margin:0 auto;font-size:16px;line-height:22.4px}
.module-grid ul{margin:0;padding-left:29px}
.module-grid li{margin:0;line-height:22.4px}
.feature-grid{grid-template-columns:340px 330px 310px;gap:10px 0;margin-top:17px}
.feature-grid article{display:flex;flex-direction:column;align-items:flex-start}
.feature-grid img{width:auto;max-width:none;height:auto;aspect-ratio:auto;object-fit:contain;align-self:center}
.feature-grid article:nth-child(-n+3)>img{height:280px;width:auto;object-fit:contain}
.feature-grid article:nth-child(2)>img{height:265px;margin-top:15px}
.feature-grid article:nth-child(3)>img{height:270px;margin-top:10px}
.feature-grid article:nth-child(n+4)>img{height:270px;width:auto;object-fit:contain}
.feature-grid article:nth-child(6)>img{height:220px;margin-top:10px;margin-bottom:40px}
.feature-grid h3{font:20px/24px Arial,sans-serif;margin:24px 0 20px}
.feature-grid ul{font-size:15px;line-height:21px;margin:0;padding-left:17px;width:313px;max-width:100%}
.feature-grid li{margin:0;line-height:21px}
.clients-section{background:#fff;color:#000;padding:13px 0 34px}
.clients-section h2{font:35px/42px Arial,sans-serif;text-align:center;margin:0 0 19px}
.clients-section p{font-size:20px;line-height:28px;text-align:center;max-width:none;margin:0 0 47px}
.client-grid{display:block;position:relative;height:669px;margin:0}
.client-grid>a,.client-grid>div{position:absolute;left:var(--logo-x);top:var(--logo-y);width:var(--logo-width);height:var(--logo-height);min-height:0}
.client-grid img{width:var(--logo-width);height:var(--logo-height);max-width:none;max-height:none;object-fit:contain}
.testimonials-section{background:#dbdbdb;padding:41px 0}
.testimonials-grid{gap:5px}
.testimonials-grid blockquote{min-height:293px;padding:40px 19px 18px;font-size:18px;line-height:27px}
.testimonials-grid blockquote p{margin:0}
.testimonials-grid blockquote span{font-size:78px;height:49px;line-height:1}
.resources-section{padding:26px 0 20px}
.privacy-update{margin-top:0;max-width:620px;min-height:59px;align-items:center}
.privacy-update h3{font:19px/28.5px Questrial,Arial,sans-serif;margin:0}
.privacy-update p{font:12px/18px Questrial,Arial,sans-serif;color:#777}
.privacy-update .button{min-height:45px}
.carbon-link{font:17px/25.5px Questrial,Arial,sans-serif;min-height:59px;margin-top:18px;gap:15px}
.carbon-link span{display:flex;align-items:center;justify-content:center;width:45px;height:59px;padding:0;background:#fff;border-radius:4px;font:12px Arial,sans-serif}
.carbon-link img{width:45px;height:59px;object-fit:contain;flex-shrink:0}
.carbon-link .sr-only{display:block;width:1px;height:1px;padding:0;border:0;overflow:hidden}
.site-footer{background:#c7c7c7;color:#000;font:16px/24px Arial,sans-serif;padding:40px 0 35px}
.footer-grid{grid-template-columns:480px 1fr;gap:20px;align-items:end}
.office{color:#000;line-height:24px}
.office h2{font:bold 16px/18px Arial,sans-serif;margin:0 0 2px}
.office p{font:16px/24px 'Reference Helvetica',Arial,sans-serif;margin:0}
.office p strong{font-weight:400}
.office+.office{margin-top:20px}
.social-links{gap:14px;margin:24px 0 0}
.social-links img{width:39px;height:39px}
.footer-partners{display:grid;grid-template-columns:60px 60px 103px;gap:34px 10px;justify-content:end;align-items:end;padding-bottom:0}
.footer-partners a:first-child{grid-column:1/-1;justify-self:end}
.footer-partners img{width:auto;height:auto;max-width:none;max-height:none}
.footer-partners a:first-child img{width:144px;height:103px}
.footer-partners a:nth-child(2) img,.footer-partners a:nth-child(3) img{width:60px;height:60px}
.footer-partners a:nth-child(4) img{width:103px;height:60px}
.footer-bottom{display:block;font:13px/18.2px Questrial,Arial,sans-serif;margin-top:18px;color:#000}
.footer-bottom p{margin:0 0 12px}
.footer-bottom>a,.footer-bottom>button{display:inline-block;margin:0 20px 0 0;line-height:20px}
html[lang=vi] .principles p,html[lang=vi] .site-footer,html[lang=vi] .office h2,html[lang=vi] .office p,html[lang=vi] .footer-bottom,html[lang=vi] .feature-grid h3{font-family:'Noto Sans',Arial,sans-serif}
html[lang=vi] .principles strong{font-family:'Noto Sans',Arial,sans-serif}
html[lang=vi] .feature-grid ul{font-size:15px;line-height:1.5}
html[lang=vi] .feature-grid li{line-height:1.5}
html[lang=vi] .testimonials-grid blockquote{min-height:293px}
.news-section{padding-top:31px}
.news-section h1{font:50px/60px Arial,sans-serif;margin-bottom:48px;color:#1d0e03}
.news-feed{background:#ececec;padding:20px}
.news-feed .news-search{max-width:100%;font-size:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px}
.news-feed .news-search input{width:260px;margin:0;padding:8px 12px;background:white}
.news-feed #news-results{margin:0 0 12px;font-size:12px}
.news-feed .news-grid{gap:32px;align-items:start}
.news-card{background:white;border:5px solid white}
.news-card img{aspect-ratio:auto;max-height:300px;object-fit:cover}
.news-card a>div{padding:26px 25px 32px}
.news-card h2{font:28px/1.15 Arial,sans-serif;color:#1d0e03;margin:0 0 16px}
.news-card time,.news-card a>div>span{display:none}
.news-card p{font-size:16px;line-height:24px;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.privacy-title{background:#20313d;padding:0;min-height:317px;display:flex;align-items:center;justify-content:center}
.privacy-title h1{font:42px/1.2 'Reference Avenir Light',Arial,sans-serif}
.policy-body{max-width:980px;font:12px/18px Questrial,Arial,sans-serif;color:#686868;padding-top:40px}
.policy-body p{margin-bottom:20px}
.policy-body h2{font:bold 14px/20px 'Reference Helvetica',Arial,sans-serif;margin:20px 0;color:#686868}
.policy-body h2:first-child{margin-top:0}
html[lang=vi] .policy-body h2{font-family:'Noto Sans',Arial,sans-serif}
html[lang=vi] .policy-body,html[lang=vi] .privacy-title h1{font-family:'Noto Sans',Arial,sans-serif}
.post-section{max-width:980px;padding:40px 0}
.post-section>.back-link:first-child{display:block;background:#ececec;padding:30px 20px;margin:0;font:14px/20px 'Reference Helvetica Light',Arial,sans-serif;color:#787575}
.post-section>article{background:#ececec;padding:100px 120px 60px}
.post-section>article>time{display:none}
.post-section h1{font:40px/50px 'Reference Helvetica',Arial,sans-serif;color:#787575;margin:0 0 20px}
.post-body{font:18px/27px 'Reference Helvetica Light',Arial,sans-serif;color:#787575}
.post-body p{margin:0 0 30px}
.post-section>.back-link:last-child{margin:25px 20px 0}
html[lang=vi] .post-section h1,html[lang=vi] .post-body{font-family:'Noto Sans',Arial,sans-serif}
@media(min-width:1051px){
 html{scroll-padding-top:200px}
 .module-grid{grid-template-columns:268px 295px 250px;gap:0;min-height:201px;margin-left:110px}
 .module-grid ul:nth-child(1){width:205px}
 .module-grid ul:nth-child(2){width:262px}
 .module-grid ul:nth-child(3){width:250px}
 .feature-grid article:nth-child(n+4)>h3{margin-top:17px;margin-bottom:26px}
 .duty-grid{position:relative;grid-template-columns:472px 496px;gap:34px}
 .duty-grid h2{width:496px}
 .duty-section{min-height:464.6px}
 .feature-grid article:nth-child(3n+2)>h3{margin-left:0}
 .feature-grid article:nth-child(1)>img,.feature-grid article:nth-child(4)>img{transform:translateX(-20px)}
 .feature-grid article:nth-child(2)>img,.feature-grid article:nth-child(5)>img{transform:translateX(-20px)}
 .feature-grid article:nth-child(3)>img{transform:translateX(-14px)}
 .footer-partners{transform:translateY(33px)}
}
@media(max-width:1050px){
 .duty-grid{grid-template-columns:1fr 1fr;gap:26px}
 .duty-grid>img{max-width:100%;width:100%}
 .duty-grid h2{font-size:36px}
 .duty-grid ul{width:auto;max-width:100%}
 .principles{grid-template-columns:repeat(3,1fr);gap:0 18px;grid-template-rows:auto}
 .principles p{white-space:normal;line-height:1.8}
 .module-grid{grid-template-columns:repeat(3,1fr);gap:24px;width:100%}
 .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .feature-grid article>img{width:100%!important;height:auto!important;max-width:100%;margin:0!important}
 .clients-section p{margin-bottom:30px}
 .client-grid{display:grid;position:static;height:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}
 .client-grid>a,.client-grid>div{position:static;width:100%;height:140px}
 .client-grid img{width:auto;height:auto;max-width:100%;max-height:128px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:800px){
 .post-section>article{padding:50px 40px 40px}
 .duty-grid h2{font-size:32px}
 .duty-grid p{font-size:18px;margin-bottom:24px}
 .principles{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,auto)}
 .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .software-section>h2{font-size:36px;line-height:1.2}
 .client-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
 .software-banner,.software-banner img{height:250px}
 .footer-partners{gap:25px 8px}
}
@media(max-width:540px){
 .post-section>article{padding:30px 22px}
 .post-section h1{font-size:30px;line-height:1.25}
 .post-body{font-size:17px;line-height:1.6}
 .news-section h1{font-size:38px;line-height:1.2;margin-bottom:28px}
 .news-feed{padding:12px}
 .news-feed .news-search{display:block}
 .news-feed .news-search input{width:100%;margin-top:8px}
 .news-card h2{font-size:24px}
 .news-card a>div{padding:20px 15px}
 .privacy-title{min-height:220px}
 .privacy-title h1{font-size:30px}
 .policy-body{font-size:14px;line-height:1.6}
 .duty-section{padding:30px 0}
 .duty-grid{grid-template-columns:1fr;gap:26px}
 .duty-grid h2{font-size:34px}
 .duty-grid ul{font-size:16px}
 .principles-section{padding:22px 0}
 .principles{grid-template-columns:1fr;grid-template-rows:auto;grid-auto-flow:row;gap:8px}
 .principles p{font-size:16px;line-height:1.6}
 .software-banner,.software-banner img{height:180px}
 .software-section{padding:28px 0 35px}
 .software-section>h2{font-size:32px;line-height:1.2}
 .software-intro,.software-section>p{font-size:17px;line-height:1.5}
 .module-grid{grid-template-columns:1fr;gap:0}
 .module-grid li{line-height:1.5}
 .feature-grid{grid-template-columns:1fr;gap:28px;margin-top:26px}
 .feature-grid h3{font-size:21px;margin:20px 0 16px}
 .feature-grid ul{font-size:16px;width:100%}
 .feature-grid li{line-height:1.5}
 .clients-section{padding:28px 0 35px}
 .clients-section h2{font-size:34px;line-height:1.2}
 .clients-section p{font-size:18px;line-height:1.5}
 .client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .client-grid>a,.client-grid>div{height:110px}
 .client-grid img{max-height:110px}
 .testimonials-section{padding:28px 0}
 .testimonials-grid blockquote{min-height:0;padding:30px 25px 15px}
 .testimonials-grid blockquote span{margin-top:20px}
 .footer-grid{grid-template-columns:1fr;gap:30px}
 .footer-partners{justify-content:start}
 .footer-partners a:first-child{justify-self:start}
 .site-footer{padding:30px 0}
 .office p{font-size:15px}
 .footer-bottom{gap:14px 20px}
 .privacy-update{gap:15px}
 .privacy-update h3{font-size:18px}
 .carbon-link{font-size:15px;line-height:1.5}
}

/* Vietnamese module names need wider columns and shared row heights.
   Scope every rule to this list so the English layout stays unchanged. */
html[lang=vi] .module-grid{
 grid-template-columns:repeat(3,minmax(0,1fr));
 grid-template-rows:repeat(8,auto);
 gap:10px 32px;
 width:100%;max-width:100%;min-height:0;margin:0;
 align-items:stretch;align-content:start;
}
html[lang=vi] .module-grid>ul{
 display:grid;grid-row:1 / span 8;grid-template-rows:subgrid;row-gap:10px;
 width:auto;min-width:0;max-width:none;margin:0;padding:0 0 0 20px;
}
html[lang=vi] .module-grid li{
 min-width:0;margin:0;padding:0;font-size:16px;line-height:1.55;
}
@media(max-width:700px){
 html[lang=vi] .module-grid{
  grid-template-columns:1fr;grid-template-rows:none;gap:0;
 }
 html[lang=vi] .module-grid>ul{display:block;grid-row:auto}
 html[lang=vi] .module-grid li{margin-bottom:10px}
}
