/* Upgraded business-line pages: Xây dựng và cơ khí (.pl-xdck) and Bất động sản (.pl-bds).
   Same frame and brand colours as the old pages (navy #144a94, cyan #06a7e0, red call-to-action, Anek Latin); the four --pl-* colours come from
   Cấu hình > Trang Xây dựng và cơ khí / Trang Bất động sản. Proportions follow the golden ratio: spacing on 8 13 21 34 55 89 144,
   type on 1 : 1.272 : 1.618 : 2.058 : 2.618, two-column grids at 1.618 : 1. The recurring mark is the dimension line of a steel drawing. */
:root:has(.pl){scroll-behavior:smooth}
.pl{--pl-primary:#144a94;--pl-deep:#0b2f63;--pl-accent:#06a7e0;--pl-cta:#e92429;--pl-ink:#14213d;--pl-text:#33425e;--pl-muted:#5b6b82;--pl-line:#dfe7f0;--pl-soft:#f2f7fb;
  --s1:8px;--s2:13px;--s3:21px;--s4:34px;--s5:55px;--s6:89px;--s7:144px;
  font-family:"Anek Latin",sans-serif;font-size:17px;line-height:1.618;font-weight:400;color:var(--pl-text);overflow-x:clip;-webkit-font-smoothing:antialiased}
.pl *,.pl *::before,.pl *::after{box-sizing:border-box}
.pl a{text-decoration:none;color:inherit}
.pl h1,.pl h2,.pl h3{margin:0;padding:0;font-family:inherit;color:var(--pl-ink);letter-spacing:-.012em;text-transform:none;text-wrap:balance}
.pl p{margin:0;text-wrap:pretty}
.pl ul,.pl ol,.pl dl,.pl dd,.pl figure{margin:0;padding:0;list-style:none}
.pl li{list-style:none}
.pl img{display:block;max-width:100%;height:auto}
.pl picture{display:contents}
.pl button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-appearance:none;appearance:none}
.pl-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 24px}
.pl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pl-ico{flex:none;width:1.15em;height:1.15em}
.pl-center{text-align:center;margin-top:var(--s4)}

/* The dimension line: a measured stroke with a tick at each end */
.pl-dim{position:relative;display:block;width:var(--s6);height:9px;margin:var(--s2) auto 0;border-top:2px solid var(--pl-accent);top:4px}
.pl-dim::before,.pl-dim::after{content:"";position:absolute;top:-6px;width:2px;height:10px;background:var(--pl-accent);transform:rotate(28deg)}
.pl-dim::before{left:0}.pl-dim::after{right:0}
.pl-dim-wide{width:100%;margin:0}

/* Buttons and links */
.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:6px;border:2px solid transparent;font-weight:600;font-size:1rem;line-height:1.2;white-space:nowrap;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.pl-btn:hover{transform:translateY(-2px)}
.pl-btn:focus-visible,.pl-link:focus-visible,.pl-year:focus-visible,.pl-seg-tab:focus-visible,.pl-nav button:focus-visible,.pl-arrow:focus-visible,.pl-track:focus-visible,.pl-field:focus-visible,.pl-cert a:focus-visible{outline:3px solid var(--pl-accent);outline-offset:3px}
.pl-btn-cta{background:var(--pl-cta);color:#fff!important;box-shadow:0 13px 26px -13px var(--pl-cta)}
.pl-btn-cta:hover{filter:brightness(1.07);box-shadow:0 18px 30px -13px var(--pl-cta)}
.pl-btn-primary{background:var(--pl-primary);color:#fff!important}
.pl-btn-primary:hover{background:var(--pl-deep)}
.pl-btn-ghost{border-color:rgba(255,255,255,.6);color:#fff!important;background:rgba(255,255,255,.06);backdrop-filter:blur(4px)}
.pl-btn-ghost:hover{background:#fff;color:var(--pl-primary)!important;border-color:#fff}
.pl-btn-outline{border-color:var(--pl-primary);color:var(--pl-primary)!important;background:#fff}
.pl-btn-outline:hover{background:var(--pl-primary);color:#fff!important}
.pl-btn-white{background:#fff;border-color:var(--pl-line);color:var(--pl-primary)!important}
.pl-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--pl-primary)}
.pl-link .pl-ico{width:1em;height:1em;transition:transform .2s}
.pl-link:hover .pl-ico{transform:translateX(5px)}

/* Section scaffolding */
.pl-sec{position:relative;padding:clamp(55px,7vw,89px) 0;scroll-margin-top:96px}
.pl-sec-soft{background:var(--pl-soft)}
.pl-head{max-width:760px;margin:0 auto clamp(34px,4.2vw,55px);text-align:center}
.pl-head h2{font-size:clamp(1.618rem,2.6vw,2.058rem);line-height:1.2;font-weight:600;color:var(--pl-primary)}
.pl-head p{margin-top:var(--s3);color:var(--pl-muted);font-size:1.06rem}
.pl-head-left{margin-left:0;text-align:left}
.pl-head-left .pl-dim{margin-left:0}
.pl-head-light h2{color:#fff}
.pl-head-light p{color:rgba(255,255,255,.84)}
.pl-row-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4)}
.pl-row-head .pl-head{margin-bottom:var(--s4)}
.pl-mini{font-size:.9rem!important;font-weight:600!important;letter-spacing:0!important;margin-bottom:var(--s2)!important}
.pl-sub{margin:0 0 var(--s3)!important;font-size:1.272rem!important;font-weight:600!important;color:var(--pl-primary)!important}
.pl-sub:not(:first-child){margin-top:var(--s5)!important}

/* ---- Hero ---- */
.pl-hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(540px,61.8vh,720px);color:#fff;background:var(--pl-deep);overflow:hidden;isolation:isolate}
.pl-hero-media{position:absolute;inset:-6% 0;z-index:-2;will-change:transform}
.pl-hero-media img{width:100%;height:100%;object-fit:cover;object-position:62% 40%}
.pl-hero-shade{position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(to top,rgba(11,47,99,.9) 0%,rgba(11,47,99,0) 38.2%),
    linear-gradient(100deg,var(--pl-deep) 0%,color-mix(in srgb,var(--pl-deep) 90%,transparent) 30%,color-mix(in srgb,var(--pl-primary) 52%,transparent) 61.8%,color-mix(in srgb,var(--pl-primary) 12%,transparent) 100%)}
/* drawing-sheet grid, fading out toward the picture */
.pl-hero-shade::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:55px 55px;-webkit-mask-image:linear-gradient(100deg,#000 0%,transparent 61.8%);mask-image:linear-gradient(100deg,#000 0%,transparent 61.8%)}
.pl-hero-in{padding-top:clamp(55px,8vw,89px);padding-bottom:clamp(34px,4vw,55px)}
.pl-hero-copy{max-width:760px}
.pl-hero h1{color:#fff;font-size:clamp(2.058rem,5vw,3.6rem);line-height:1.08;font-weight:600;letter-spacing:-.022em}
.pl-hero h1 .pl-h1-sub{display:block;margin-top:var(--s2);font-size:.5em;line-height:1.3;font-weight:400;letter-spacing:-.008em;color:rgba(255,255,255,.9)}
.pl .pl-lead{margin-top:var(--s3);max-width:640px;font-size:1.1rem;line-height:1.65;color:rgba(255,255,255,.9)}
.pl-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-top:var(--s4)}
.pl-hero-call{display:inline-flex;align-items:center;gap:12px;padding:6px 4px;color:#fff!important}
.pl-hero-call .pl-ico{width:44px;height:44px;padding:11px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);transition:background .2s,border-color .2s}
.pl-hero-call:hover .pl-ico{background:var(--pl-accent);border-color:var(--pl-accent)}
.pl-hero-call small{display:block;font-size:.8rem;line-height:1.2;color:rgba(255,255,255,.78)}
.pl-hero-call b{display:block;font-size:1.15rem;line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums}
.pl-facts{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.28)}
.pl-facts li{position:relative;padding:var(--s3) var(--s3) var(--s3) 0}
.pl-facts li::before{content:"";position:absolute;left:0;top:-6px;width:2px;height:11px;background:var(--pl-accent);transform:rotate(28deg)}
.pl-facts b{display:block;font-size:clamp(1.272rem,2.2vw,1.618rem);line-height:1.15;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.pl-facts span{display:block;margin-top:5px;font-size:.9rem;line-height:1.4;color:rgba(255,255,255,.8)}
.pl-facts b span{display:inline;margin:0;font-size:inherit;line-height:inherit;color:inherit}
@media (min-width:860px){.pl-facts{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.pl-facts li{padding-right:var(--s4)}}
.pl-answer{background:#fff;padding:var(--s4) 0 0}
.pl-answer .tt-answer{margin:0;padding:var(--s3) 26px;background:var(--pl-soft);border:0;border-left:4px solid var(--pl-accent);border-radius:0 8px 8px 0}
.pl-answer .tt-answer p{font-size:1.02rem;line-height:1.7;color:var(--pl-ink)}

/* ---- Capacity ---- */
.pl-cap{color:#fff;background:linear-gradient(135deg,var(--pl-deep),var(--pl-primary));overflow:hidden;isolation:isolate;margin-top:var(--s4)}
.pl-cap-bg{position:absolute;inset:0;z-index:-1;opacity:.2}
.pl-cap-bg img{width:100%;height:100%;object-fit:cover}
.pl-cap-grid{display:grid;gap:var(--s5);align-items:start}
@media (min-width:1000px){.pl-cap-grid{grid-template-columns:1fr 1.272fr;gap:var(--s6)}}
.pl-cap .pl-head{margin-bottom:var(--s4)}
.pl-cap .pl-mini{color:rgba(255,255,255,.78)!important}
.pl-chips{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s1)}
.pl-chips li{padding:7px 14px;border:1px solid rgba(255,255,255,.3);border-radius:4px;font-size:.92rem;line-height:1.3;color:#fff;background:rgba(255,255,255,.06)}
.pl-note{margin-top:var(--s3)!important;padding-left:var(--s3);border-left:2px solid var(--pl-accent);font-size:.98rem;color:rgba(255,255,255,.88)}
.pl .pl-plan{padding:var(--s4) var(--s4) var(--s3);border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(6,24,56,.42);backdrop-filter:blur(3px)}
.pl-plan-total{position:relative;padding-bottom:var(--s2);text-align:center;font-size:1rem;color:rgba(255,255,255,.85)}
.pl-plan-total b{font-size:clamp(1.618rem,3.2vw,2.618rem);line-height:1.1;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.pl-plan-total .pl-dim{position:absolute;left:0;right:0;bottom:-2px;top:auto;width:auto}
.pl-plan-bar{display:flex;gap:3px;margin-top:var(--s3)}
.pl-plan-seg{min-width:0;padding:var(--s3) var(--s3);min-height:118px;display:flex;flex-direction:column;justify-content:flex-end;transform-origin:left center;border:1px solid rgba(255,255,255,.4)}
.pl-plan-seg:first-child{background:var(--pl-accent);border-color:var(--pl-accent)}
.pl-plan-seg:not(:first-child){background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 1px,transparent 1px 9px)}
.pl-plan-seg b{font-size:clamp(1.1rem,2vw,1.618rem);line-height:1.15;font-weight:600;color:#fff;white-space:nowrap}
.pl-plan-seg span{font-size:.88rem;line-height:1.35;color:rgba(255,255,255,.9)}
.pl-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--s3)}
.pl-tiles b{display:block;font-size:2.058rem;line-height:1.1;font-weight:600;color:#fff}
.pl-tiles i,.pl-bars i{font-style:normal;font-size:.5em;font-weight:400;opacity:.85}
.pl-out{margin-top:var(--s4)}
.pl-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:var(--s3);align-items:end}
.pl-bars li{display:grid;grid-template-rows:auto auto auto 1fr;align-content:end}
.pl-bars b{order:1;font-size:clamp(1.272rem,2.4vw,1.618rem);line-height:1.15;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.pl-bar{order:2;display:block;height:calc(var(--v) * 144px);margin:var(--s1) 0;background:linear-gradient(to top,rgba(6,167,224,.25),var(--pl-accent));border-radius:2px 2px 0 0;transform-origin:bottom}
.pl-bar-y{order:3;padding-top:var(--s1);border-top:1px solid rgba(255,255,255,.4);font-weight:600;color:#fff}
.pl-bar-t{order:4;font-size:.86rem;line-height:1.4;color:rgba(255,255,255,.78)}

/* ---- Fields of work ---- */
.pl-fields{display:grid;gap:var(--s2)}
.pl-fields-lead,.pl-fields-rest{display:grid;gap:var(--s2);grid-template-columns:1fr}
.pl-field{position:relative;display:block;min-height:233px;overflow:hidden;border-radius:6px;background:var(--pl-deep);color:#fff!important;isolation:isolate}
.pl-field-img{position:absolute;inset:0;z-index:-1}
.pl-field-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.pl-field::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,color-mix(in srgb,var(--pl-deep) 92%,transparent) 0%,color-mix(in srgb,var(--pl-primary) 40%,transparent) 55%,transparent 100%);transition:opacity .3s}
.pl-field-body{position:absolute;left:0;right:0;bottom:0;display:block;padding:var(--s3) var(--s3) var(--s3)}
.pl-field h3{color:#fff;font-size:1.272rem;line-height:1.25;font-weight:600}
.pl-field-lg h3{font-size:clamp(1.272rem,2.2vw,1.618rem)}
.pl-field-t{display:block;margin-top:var(--s1);font-size:.95rem;line-height:1.5;color:rgba(255,255,255,.9);max-width:46ch}
.pl-field-go{display:inline-flex;align-items:center;gap:6px;margin-top:var(--s2);font-size:.92rem;font-weight:600;color:#fff}
.pl-field-go .pl-ico{width:1em;height:1em;transition:transform .2s}
.pl-field:hover .pl-field-img img{transform:scale(1.07)}
.pl-field:hover .pl-field-go .pl-ico{transform:translateX(5px)}
@media (min-width:700px){.pl-fields-lead,.pl-fields-rest{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){
  .pl-fields-lead{grid-template-columns:1.618fr 1fr}
  .pl-fields-rest{grid-template-columns:repeat(4,1fr)}
  .pl-field{min-height:260px}
  .pl-field-lg{min-height:377px}
}
/* With a mouse the note stays folded under the title and opens on hover; on touch screens it is always shown */
@media (hover:hover) and (min-width:1000px){
  .pl-field:not(.pl-field-lg) .pl-field-t,.pl-field:not(.pl-field-lg) .pl-field-go{max-height:0;margin-top:0;opacity:0;overflow:hidden;transition:max-height .45s ease,opacity .3s ease,margin-top .3s ease}
  .pl-field:not(.pl-field-lg):hover .pl-field-t,.pl-field:not(.pl-field-lg):focus-visible .pl-field-t{max-height:9em;margin-top:var(--s1);opacity:1}
  .pl-field:not(.pl-field-lg):hover .pl-field-go,.pl-field:not(.pl-field-lg):focus-visible .pl-field-go{max-height:2em;margin-top:var(--s2);opacity:1}
}

/* ---- Bands (why us, certificates) ---- */
.pl-band{color:#fff;background:var(--pl-primary);overflow:hidden;isolation:isolate}
.pl-band-deep{background:linear-gradient(135deg,var(--pl-deep),var(--pl-primary))}
.pl-band-bg{position:absolute;inset:0;z-index:-1;opacity:.16;mix-blend-mode:luminosity}
.pl-band-bg img{width:100%;height:100%;object-fit:cover}
.pl-whys{display:grid;gap:var(--s5) var(--s4);grid-template-columns:1fr}
@media (min-width:640px){.pl-whys{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.pl-whys{grid-template-columns:repeat(3,1fr)}.pl-bds .pl-whys{grid-template-columns:repeat(4,1fr)}}
.pl-why{text-align:center;padding:0 var(--s1)}
.pl-diamond{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;margin:13px 13px var(--s3);background:#fff;color:var(--pl-primary);transform:rotate(45deg);border-radius:6px;box-shadow:0 0 0 7px rgba(255,255,255,.16);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.pl-diamond>*{transform:rotate(-45deg);width:38px;height:38px;object-fit:contain}
.pl-why:hover .pl-diamond{transform:rotate(45deg) scale(1.08);box-shadow:0 0 0 11px rgba(255,255,255,.2)}
.pl-why h3{color:#fff;font-size:1.272rem;line-height:1.25;font-weight:600}
.pl-why p{margin-top:var(--s1);font-size:.97rem;line-height:1.6;color:rgba(255,255,255,.86);max-width:38ch;margin-inline:auto}

/* ---- Sliders (projects, certificates, milestones) ---- */
.pl-nav[hidden]{display:none}
.pl-nav{display:flex;gap:var(--s1);margin-bottom:var(--s4);flex:none}
.pl-nav button,.pl-arrow{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1.5px solid var(--pl-primary)!important;border-radius:50%;color:var(--pl-primary);transition:background .2s,color .2s,opacity .2s}
.pl-nav button:hover,.pl-arrow:hover{background:var(--pl-primary);color:#fff}
.pl-nav-light button{border-color:rgba(255,255,255,.6)!important;color:#fff}
.pl-nav-light button:hover{background:#fff;color:var(--pl-primary)}
.pl-nav button[disabled],.pl-arrow[disabled]{opacity:.32;pointer-events:none}
.pl .pl-track{display:flex;gap:var(--s3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  padding:4px max(24px,calc((100vw - 1240px)/2 + 24px)) var(--s3);scroll-padding-inline:max(24px,calc((100vw - 1240px)/2 + 24px))}
.pl-track::-webkit-scrollbar{display:none}
.pl-track>li{flex:none;scroll-snap-align:start}

.pl-proj{width:min(82vw,430px)}
.pl-proj article{height:100%;background:#fff;border:1px solid var(--pl-line);border-radius:6px;overflow:hidden;transition:box-shadow .3s,border-color .3s,transform .3s}
.pl-proj article:hover{border-color:var(--pl-accent);box-shadow:0 21px 34px -21px rgba(11,47,99,.5);transform:translateY(-4px)}
.pl-proj-img{display:block;aspect-ratio:1.618;overflow:hidden;background:var(--pl-soft)}
.pl-proj-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.pl-proj article:hover .pl-proj-img img{transform:scale(1.06)}
.pl-proj-body{padding:var(--s3)}
.pl-proj h3{font-size:1.15rem;line-height:1.3;font-weight:600;min-height:2.6em}
.pl-proj h3 a{color:var(--pl-ink)!important}
.pl-proj h3 a:hover{color:var(--pl-primary)!important}
.pl-proj dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) var(--s3);margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--pl-line)}
.pl-proj dl div{position:relative;padding-left:24px;min-width:0}
.pl-proj dl .pl-ico{position:absolute;left:0;top:3px;width:16px;height:16px;color:var(--pl-accent)}
.pl-proj dt{font-size:.78rem;line-height:1.3;font-weight:400;color:var(--pl-muted)}
.pl-proj dd{font-size:.93rem;line-height:1.35;font-weight:600;color:var(--pl-ink)}

.pl-track-certs{align-items:stretch}
.pl-cert{width:190px}
.pl-cert a{display:block;color:#fff!important;text-align:center}
.pl-cert-img{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:.72;padding:8px;background:#fff;border-radius:4px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.pl-cert-img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.pl-cert-img .pl-ico{position:absolute;right:8px;bottom:8px;width:34px;height:34px;padding:8px;border-radius:50%;background:var(--pl-primary);color:#fff;opacity:0;transform:scale(.8);transition:opacity .2s,transform .2s}
.pl-cert a:hover .pl-cert-img{transform:translateY(-5px);box-shadow:0 21px 34px -18px rgba(3,18,48,.8)}
.pl-cert a:hover .pl-ico{opacity:1;transform:none}
.pl-cert-t{display:block;margin-top:var(--s2);font-size:.92rem;line-height:1.35;font-weight:600}
.pl-cert-i{display:block;font-size:.8rem;color:rgba(255,255,255,.75)}

/* ---- Milestones ---- */
.pl-years{position:relative;display:flex;justify-content:space-between;gap:var(--s1);margin-bottom:var(--s4)!important;overflow-x:auto;scrollbar-width:none;padding:0 2px var(--s2)!important}
.pl-years::-webkit-scrollbar{display:none}
.pl-years::after{content:"";position:absolute;left:0;right:0;bottom:19px;border-top:1px solid var(--pl-line);min-width:100%}
.pl-years li{position:relative;z-index:1;flex:1 0 auto;text-align:center}
.pl .pl-year{position:relative;padding:4px 10px 26px;font-size:1.1rem;font-weight:600;color:var(--pl-muted);font-variant-numeric:tabular-nums;transition:color .2s,transform .2s}
.pl-year::after{content:"";position:absolute;left:50%;bottom:0;width:13px;height:13px;margin-left:-6.500px;border-radius:50%;background:#fff;border:2px solid var(--pl-line);transition:background .2s,border-color .2s,transform .2s}
.pl-year:hover{color:var(--pl-primary)}
.pl-year.is-on{color:var(--pl-primary);transform:scale(1.18)}
.pl-year.is-on::after{background:var(--pl-accent);border-color:var(--pl-accent);box-shadow:0 0 0 5px rgba(6,167,224,.2)}
.pl-journey-stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s3)}
.pl .pl-track-single{padding:0;scroll-padding-inline:0;gap:0}
.pl-mile{width:100%}
.pl-mile article{display:grid;gap:var(--s3);align-items:center}
@media (min-width:860px){.pl-mile article{grid-template-columns:1.618fr 1fr;gap:var(--s5)}}
.pl-mile-img{aspect-ratio:1.618;overflow:hidden;border-radius:6px;background:var(--pl-soft)}
.pl-mile-img img{width:100%;height:100%;object-fit:cover}
.pl-mile h3{font-size:clamp(2.618rem,6vw,4.236rem);line-height:1;font-weight:600;color:transparent;-webkit-text-stroke:1.5px var(--pl-primary);font-variant-numeric:tabular-nums}
.pl-mile p{margin-top:var(--s3);font-size:1.06rem;line-height:1.65;color:var(--pl-text)}
@media (max-width:859px){.pl-journey-stage{grid-template-columns:minmax(0,1fr)}.pl-journey .pl-arrow{display:none}.pl-years{justify-content:flex-start}}

/* ---- Real-estate lines of business ---- */
.pl-seg-tabs{display:none}
.pl-seg-panels{display:grid;gap:var(--s4)}
.pl-seg{display:grid;gap:var(--s3);align-items:center}
@media (min-width:860px){.pl-seg{grid-template-columns:1.618fr 1fr;gap:var(--s5)}.pl-seg:nth-child(even) .pl-seg-img{order:2}}
.pl-seg-img{aspect-ratio:1.618;overflow:hidden;border-radius:6px;background:var(--pl-soft)}
.pl-seg-img img{width:100%;height:100%;object-fit:cover}
.pl-seg h3{font-size:clamp(1.272rem,2.4vw,1.618rem);line-height:1.2;font-weight:600;color:var(--pl-primary)}
.pl-seg p{margin-top:var(--s2);font-size:1.04rem;color:var(--pl-text)}
.pl-seg-act{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-top:var(--s3)}
/* tabs appear once the script is running */
.pl-tabs-on .pl-seg-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:var(--s2);margin-bottom:var(--s4)}
.pl .pl-seg-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s2) var(--s2) var(--s3);border-bottom:3px solid var(--pl-line)!important;font-weight:600;font-size:1.02rem;line-height:1.3;color:var(--pl-muted);text-align:center;transition:color .2s,border-color .2s}
.pl-seg-tab .pl-diamond{width:52px;height:52px;margin:10px 10px var(--s2);background:var(--pl-soft);box-shadow:none}
.pl-seg-tab .pl-diamond>*{width:28px;height:28px}
.pl-seg-tab:hover{color:var(--pl-primary)}
.pl-seg-tab.is-on{color:var(--pl-primary);border-bottom-color:var(--pl-accent)!important}
.pl-seg-tab.is-on .pl-diamond{background:#fff;box-shadow:0 0 0 2px var(--pl-accent)}
.pl-tabs-on .pl-seg{display:none}
.pl-tabs-on .pl-seg.is-on{display:grid}
.pl-tabs-on .pl-seg:nth-child(even) .pl-seg-img{order:0}
@media (max-width:599px){.pl .pl-seg-tab{font-size:.86rem;padding-inline:2px}.pl-seg-tab .pl-diamond{width:42px;height:42px}}

/* ---- Process ---- */
.pl-steps{display:grid;gap:var(--s4) var(--s3);counter-reset:s}
.pl-step{position:relative;padding-left:68px}
.pl-step-n{position:absolute;left:0;top:0;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--pl-accent);background:#fff;color:var(--pl-primary);font-size:1.272rem;font-weight:600}
.pl-step h3{font-size:1.15rem;line-height:1.3;font-weight:600;color:var(--pl-primary)}
.pl-step p{margin-top:6px;font-size:.96rem;line-height:1.55;color:var(--pl-muted)}
.pl-step:not(:last-child)::before{content:"";position:absolute;left:23px;top:54px;bottom:calc(-1 * var(--s4) + 6px);border-left:2px dashed var(--pl-line)}
@media (min-width:1000px){
  .pl-steps{grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}
  .pl-step{padding:68px var(--s2) 0 0}
  .pl-step:not(:last-child)::before{left:58px;right:calc(-1 * var(--s3) + 10px);top:23px;bottom:auto;border-left:0;border-top:2px dashed var(--pl-line)}
}

/* ---- Knowledge and documents reuse the site's cards ---- */
.pl-res .tt-cards-section{padding:0 0 10px}
.pl-res .tt-cards-section .container{max-width:none;padding:0}
.pl-res .tt-card{border-radius:6px}

/* ---- E-Brochure ---- */
.pl-brochure{padding:var(--s4) 0;color:#fff;background:linear-gradient(100deg,var(--pl-primary),color-mix(in srgb,var(--pl-primary) 55%,var(--pl-accent)))}
.pl-brochure-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3) var(--s5)}
.pl-brochure h2{color:#fff;font-size:1.618rem;line-height:1.2;font-weight:600}
.pl-brochure p{margin-top:6px;max-width:62ch;color:rgba(255,255,255,.9)}

/* ---- FAQ ---- */
.pl-faq-wrap{padding:clamp(55px,6vw,89px) 0;background:#fff;scroll-margin-top:96px}
.pl-faq-wrap .tt-faq{max-width:900px;margin:0 auto;padding:0 24px}
.pl-faq-wrap .tt-faq .container{padding:0;max-width:none}
.pl-faq-wrap .tt-faq h2{margin-bottom:var(--s4);text-align:center;text-transform:none;font-family:inherit;font-weight:600;font-size:clamp(1.618rem,2.6vw,2.058rem);color:var(--pl-primary)}
.pl-faq-wrap .tt-faq-list{display:grid;gap:0;border-top:1px solid var(--pl-line)}
.pl-faq-wrap .tt-faq details{margin:0;border:0;border-bottom:1px solid var(--pl-line);border-radius:0;background:#fff}
.pl-faq-wrap .tt-faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) 4px;font-weight:600;font-size:1.06rem;color:var(--pl-ink);cursor:pointer;list-style:none}
.pl-faq-wrap .tt-faq summary::-webkit-details-marker{display:none}
.pl-faq-wrap .tt-faq summary::after{content:"+";position:static;transform:none;flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--pl-primary);color:var(--pl-primary);display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:400;line-height:1;transition:background .2s,color .2s,transform .3s}
.pl-faq-wrap .tt-faq details[open] summary{color:var(--pl-primary)}
.pl-faq-wrap .tt-faq details[open] summary::after{content:"+";background:var(--pl-primary);color:#fff;transform:rotate(45deg)}
.pl-faq-wrap .tt-faq-a{padding:0 55px var(--s3) 4px;color:var(--pl-text);line-height:1.7}

/* ---- Lead block ---- */
.pl-cta{color:#fff;background:linear-gradient(135deg,var(--pl-deep),var(--pl-primary) 70%,color-mix(in srgb,var(--pl-primary) 70%,var(--pl-accent)))}
.pl-cta-grid{display:grid;gap:var(--s4);align-items:start}
@media (min-width:960px){.pl-cta-grid{grid-template-columns:1fr 1.272fr;gap:var(--s5)}}
.pl-cta h2{color:#fff;font-size:clamp(1.618rem,2.8vw,2.3rem);line-height:1.2;font-weight:600}
.pl-cta-copy>p{margin-top:var(--s3);max-width:520px;color:rgba(255,255,255,.9);font-size:1.06rem}
.pl-ask{display:grid;gap:var(--s1);margin-top:var(--s3)!important}
.pl-ask li{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.94)}
.pl-ask .pl-ico{margin-top:4px;width:20px;height:20px;padding:3px;border-radius:50%;background:var(--pl-accent);color:#fff;stroke-width:3}
.pl-contacts{display:grid;gap:var(--s2);margin-top:var(--s4);max-width:420px}
.pl-contact{display:flex;align-items:center;gap:14px;padding:var(--s2) 18px;border-radius:6px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff!important;transition:background .2s,transform .2s}
.pl-contact:hover{background:rgba(255,255,255,.18);transform:translateX(5px)}
.pl-contact .pl-ico{width:42px;height:42px;padding:10px;border-radius:50%;background:var(--pl-accent)}
.pl-contact small{display:block;font-size:.8rem;opacity:.85;line-height:1.2}
.pl-contact b{display:block;font-size:1.12rem;font-weight:600;font-variant-numeric:tabular-nums}
.pl-cta-form{padding:clamp(21px,3vw,34px);background:#fff;color:var(--pl-text);border-radius:8px;box-shadow:0 34px 55px -34px rgba(3,18,48,.8)}
.pl-cta-form .tt-inline-form{margin:0}

/* ---- Sticky bar (phones) ---- */
.pl-sticky{position:fixed;left:12px;bottom:14px;z-index:60;display:flex;gap:10px;padding:8px;border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 14px 36px -10px rgba(11,47,99,.55);transform:translateY(140%);transition:transform .3s ease;font-family:"Anek Latin",sans-serif}
.pl-sticky[hidden]{display:none}
.pl-sticky.is-on{transform:none}
.pl-sticky .pl-btn{min-height:44px;padding:0 18px;font-size:.95rem}
.pl-sticky .pl-btn-cta{background:#e92429;color:#fff!important}
.pl-sticky .pl-btn-white{background:#fff;border:2px solid #dfe7f0;color:#144a94!important}
.pl-sticky .pl-ico{width:1.1em;height:1.1em}
@media (min-width:769px){.pl-sticky{display:none!important}}

/* ---- Motion. One opening sequence in the hero; further down, blocks settle in and the drawings draw themselves. Never for reduced motion. ---- */
@keyframes pl-rise{from{opacity:0;transform:translateY(21px)}to{opacity:1;transform:none}}
@keyframes pl-settle{from{transform:scale(1.09)}to{transform:scale(1)}}
@keyframes pl-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.pl[data-motion=on] .pl-hero-media img{animation:pl-settle 2.4s cubic-bezier(.2,.7,.2,1) both}
.pl[data-motion=on] .pl-hero h1{animation:pl-rise .8s cubic-bezier(.2,.7,.2,1) .1s both}
.pl[data-motion=on] .pl-hero .pl-lead{animation:pl-rise .8s cubic-bezier(.2,.7,.2,1) .25s both}
.pl[data-motion=on] .pl-hero .pl-cta-row{animation:pl-rise .8s cubic-bezier(.2,.7,.2,1) .4s both}
.pl[data-motion=on] .pl-facts{animation:pl-rise .8s cubic-bezier(.2,.7,.2,1) .6s both}
.pl-js[data-motion=on] .pl-reveal{opacity:0;transform:translateY(21px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0) * 80ms)}
.pl-js[data-motion=on] .pl-reveal.is-in{opacity:1;transform:none}
.pl-js[data-motion=on] .pl-head .pl-dim{transform:scaleX(0);transform-origin:center;transition:transform .9s cubic-bezier(.2,.7,.2,1) .2s}
.pl-js[data-motion=on] .pl-head-left .pl-dim{transform-origin:left}
.pl-js[data-motion=on] .pl-head.is-in .pl-dim{transform:scaleX(1)}
.pl-js[data-motion=on] .pl-plan .pl-plan-seg{transform:scaleX(0);transition:transform 1s cubic-bezier(.2,.7,.2,1) .25s}
.pl-js[data-motion=on] .pl-plan .pl-plan-seg+.pl-plan-seg{transition-delay:.55s}
.pl-js[data-motion=on] .pl-plan.is-in .pl-plan-seg{transform:none}
.pl-js[data-motion=on] .pl-plan .pl-plan-seg>*{opacity:0;transition:opacity .5s ease 1.1s}
.pl-js[data-motion=on] .pl-plan.is-in .pl-plan-seg>*{opacity:1}
.pl-js[data-motion=on] .pl-out .pl-bar{transform:scaleY(0);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.pl-js[data-motion=on] .pl-out li:nth-child(2) .pl-bar{transition-delay:.18s}
.pl-js[data-motion=on] .pl-out li:nth-child(3) .pl-bar{transition-delay:.36s}
.pl-js[data-motion=on] .pl-out li:nth-child(4) .pl-bar{transition-delay:.54s}
.pl-js[data-motion=on] .pl-out.is-in .pl-bar{transform:none}
@media (prefers-reduced-motion:reduce){
  :root:has(.pl){scroll-behavior:auto}
  .pl *,.pl *::before,.pl *::after{animation:none!important;transition:none!important}
  .pl-js .pl-reveal,.pl-js .pl-dim,.pl-js .pl-plan-seg,.pl-js .pl-plan-seg>*,.pl-js .pl-bar{opacity:1!important;transform:none!important}
  .pl-hero-media{transform:none!important}
}

@media (max-width:599px){
  .pl{font-size:16px}
  .pl-hero{min-height:0}
  .pl-btn{min-height:48px;padding:0 20px}
  .pl-cta-row .pl-btn{flex:1 1 auto}
  .pl .pl-plan{padding:var(--s3) var(--s2) var(--s2)}
  .pl-plan-seg{padding:var(--s2) var(--s1);min-height:104px}
  .pl-row-head{align-items:flex-end;flex-wrap:wrap;gap:var(--s2)}
  .pl-row-head .pl-nav{margin-bottom:var(--s3)}
  .pl-faq-wrap .tt-faq-a{padding-right:4px}
}


/* ---- Sliders: drag with the mouse, progress line, cards that arrive one after another ---- */
.pl-nav button:last-child{background:var(--pl-primary);color:#fff}
.pl-nav button:last-child:hover{background:var(--pl-deep);border-color:var(--pl-deep)!important}
.pl-nav-light button:last-child{background:#fff;color:var(--pl-primary)}
.pl .pl-track{cursor:grab;-webkit-user-select:none;user-select:none}
.pl .pl-track.is-drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.pl .pl-track img,.pl .pl-track a{-webkit-user-drag:none}
.pl-prog{position:relative;height:3px;margin:var(--s3) auto 0;width:min(1192px,calc(100% - 48px));background:var(--pl-line);border-radius:2px;overflow:hidden}
.pl-band .pl-prog,.pl-cap .pl-prog{background:rgba(255,255,255,.25)}
.pl-prog i{position:absolute;left:0;top:0;bottom:0;width:20%;background:var(--pl-accent);border-radius:2px;transition:left .25s ease,width .25s ease}
.pl-js[data-motion=on] .pl-slider .pl-track>li:not(.pl-mile){opacity:0;transform:translateX(55px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms)}
.pl-js[data-motion=on] .pl-slider.is-in .pl-track>li:not(.pl-mile){opacity:1;transform:none}

/* ===== Bất động sản: its own composition ===== */
/* light split hero */
.pl-hero-split{display:block;min-height:0;color:var(--pl-text);background:linear-gradient(180deg,#fff 0%,var(--pl-soft) 100%);overflow:visible}
.pl-split-grid{display:grid;gap:var(--s5);align-items:center;padding-top:clamp(34px,5vw,72px);padding-bottom:clamp(55px,6vw,89px)}
@media (min-width:960px){.pl-split-grid{grid-template-columns:1fr 1.272fr;gap:var(--s6)}}
.pl-hero-split h1{color:var(--pl-primary);font-size:clamp(2.058rem,4.4vw,3.236rem)}
.pl-hero-split h1 .pl-h1-sub{color:var(--pl-ink);font-weight:500}
.pl-hero-split .pl-lead{color:var(--pl-text);max-width:520px}
.pl-hero-split .pl-hero-call{color:var(--pl-ink)!important}
.pl-hero-split .pl-hero-call small{color:var(--pl-muted)}
.pl-hero-split .pl-hero-call .pl-ico{border-color:var(--pl-primary);color:var(--pl-primary)}
.pl-hero-split .pl-hero-call:hover .pl-ico{color:#fff}
.pl-split-visual{position:relative;padding:0 0 var(--s4) var(--s3)}
.pl-split-visual::before{content:"";position:absolute;left:0;top:var(--s3);right:var(--s3);bottom:0;border:2px solid var(--pl-accent);border-radius:6px;z-index:0}
.pl-split-img{position:relative;z-index:1;overflow:hidden;border-radius:6px;aspect-ratio:1.618;box-shadow:0 34px 55px -34px rgba(11,47,99,.65)}
.pl-split-img img{width:100%;height:100%;object-fit:cover}
.pl-facts-card{position:absolute;z-index:2;left:0;bottom:0;right:var(--s4);display:flex;border:0;background:#fff;border-radius:6px;box-shadow:0 21px 40px -21px rgba(11,47,99,.6)}
.pl-facts-card li{flex:1;padding:var(--s2) var(--s3)}
.pl-facts-card li+li{border-left:1px solid var(--pl-line)}
.pl-facts-card li::before{display:none}
.pl-facts-card b{color:var(--pl-primary);font-size:clamp(1.15rem,2vw,1.5rem)}
.pl-facts-card span{color:var(--pl-muted);font-size:.82rem}
@media (max-width:640px){.pl-split-visual{padding-left:0}.pl-split-visual::before{display:none}.pl-facts-card{position:static;display:grid;grid-template-columns:1fr 1fr;margin-top:var(--s2)}.pl-facts-card li+li{border-left:0}}
.pl-bds .pl-answer{padding-top:0}

/* three tall panels, the active one opens */
.pl-fan{display:grid;gap:var(--s2)}
.pl-fan-item{position:relative;overflow:hidden;border-radius:6px;background:var(--pl-deep);color:#fff;isolation:isolate;min-height:420px;outline-offset:3px;cursor:pointer}
.pl-fan-img{position:absolute;inset:0;z-index:-2}
.pl-fan-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.pl-fan-item::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,color-mix(in srgb,var(--pl-deep) 94%,transparent) 8%,color-mix(in srgb,var(--pl-deep) 45%,transparent) 55%,transparent 100%)}
.pl-fan-body{position:absolute;left:0;right:0;bottom:0;padding:var(--s4)}
.pl-fan-n{display:block;font-size:.95rem;font-weight:600;color:var(--pl-accent);margin-bottom:6px}
.pl .pl-fan-item h3{color:#fff;font-size:clamp(1.272rem,2.2vw,1.618rem);line-height:1.2;font-weight:600}
.pl-fan-more p{margin-top:var(--s2);max-width:46ch;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.92)}
.pl-fan-more .pl-seg-act{margin-top:var(--s3)}
.pl-fan-more .pl-btn{min-height:46px}
.pl-fan-more .pl-link-light{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#fff!important;padding:12px 4px}
.pl-fan-more .pl-link-light .pl-ico{width:1em;height:1em;transition:transform .2s}
.pl-fan-more .pl-link-light:hover .pl-ico{transform:translateX(5px)}
.pl-fan-item:hover .pl-fan-img img,.pl-fan-item.is-on .pl-fan-img img{transform:scale(1.05)}
@media (min-width:900px){
  .pl-fan{display:flex;gap:var(--s2);height:clamp(480px,46vw,560px)}
  .pl-fan-item{flex:1 1 0;min-height:0;transition:flex-grow .8s cubic-bezier(.2,.7,.2,1)}
  .pl-fan-item.is-on{flex-grow:3.236}
  .pl-fan-body{width:min(100%,560px)}
  .pl-fan-item:not(.is-on) .pl-fan-body{width:100%}
  .pl-fan-item:not(.is-on) h3{font-size:1.15rem}
  .pl-fan-more{max-height:0;opacity:0;overflow:hidden;transition:max-height .7s ease,opacity .5s ease .15s}
  .pl-fan-item.is-on .pl-fan-more{max-height:20em;opacity:1}
  .pl-fan-item:not(.is-on)::after{background:linear-gradient(to top,color-mix(in srgb,var(--pl-deep) 88%,transparent) 0%,color-mix(in srgb,var(--pl-deep) 55%,transparent) 100%)}
}

/* light cards instead of a dark band */
.pl-whys-cards{gap:var(--s3)}
@media (min-width:1000px){.pl-bds .pl-whys-cards{grid-template-columns:repeat(2,1fr)}}
.pl-whys-cards .pl-why{display:grid;grid-template-columns:76px 1fr;gap:0 var(--s3);align-items:start;text-align:left;padding:var(--s4);background:#fff;border:1px solid var(--pl-line);border-radius:6px;transition:transform .3s,box-shadow .3s,border-color .3s}
.pl-whys-cards .pl-why:hover{transform:translateY(-4px);border-color:var(--pl-accent);box-shadow:0 21px 34px -21px rgba(11,47,99,.45)}
.pl-whys-cards .pl-diamond{grid-row:span 2;width:64px;height:64px;margin:0;border-radius:12px;transform:none;background:var(--pl-soft);border:1.5px solid var(--pl-line);box-shadow:none}
.pl-whys-cards .pl-diamond>*{transform:none;width:34px;height:34px}
.pl-whys-cards .pl-why:hover .pl-diamond{transform:none;box-shadow:0 0 0 5px rgba(6,167,224,.2)}
.pl-whys-cards .pl-why h3{color:var(--pl-primary);font-size:1.15rem}
.pl-whys-cards .pl-why p{color:var(--pl-muted);margin:6px 0 0;max-width:none}
@media (max-width:520px){.pl-whys-cards .pl-why{grid-template-columns:1fr}.pl-whys-cards .pl-diamond{grid-row:auto;margin-bottom:var(--s2)}}

/* projects as a grid of large cards (a short list does not need a slider) */
.pl-proj-grid{display:grid;gap:var(--s3);grid-template-columns:1fr}
@media (min-width:760px){.pl-proj-grid{grid-template-columns:repeat(2,1fr)}}
.pl-proj-grid .pl-proj{width:auto}
.pl-proj-grid .pl-proj-img{aspect-ratio:1.9}

/* steps beside a picture */
.pl-proc-grid{display:grid;gap:var(--s5);align-items:center}
@media (min-width:960px){.pl-proc-grid{grid-template-columns:1fr 1.272fr;gap:var(--s6)}}
.pl-proc-img{overflow:hidden;border-radius:6px;aspect-ratio:.9;box-shadow:0 34px 55px -34px rgba(11,47,99,.55)}
.pl-proc-img img{width:100%;height:100%;object-fit:cover}
.pl-proc-copy .pl-head{margin-bottom:var(--s4)}
.pl-steps-stack{grid-template-columns:1fr!important;gap:var(--s4);margin-bottom:var(--s5)}
.pl-steps-stack .pl-step{padding:0 0 0 68px}
.pl-steps-stack .pl-step::before{left:23px!important;right:auto!important;top:54px!important;bottom:calc(-1 * var(--s4) + 6px)!important;border-top:0!important;border-left:2px dashed var(--pl-line)!important}
.pl-steps-stack .pl-step:last-child::before{display:none}

/* the form comes first on this page */
@media (min-width:960px){.pl-bds .pl-cta-form{order:-1}}
@media (prefers-reduced-motion:reduce){.pl-fan-item,.pl-fan-more,.pl-fan-img img{transition:none!important}.pl-js .pl-slider .pl-track>li{opacity:1!important;transform:none!important}}


/* ===== Timeline: the year and the picture hold still while the notes travel past ===== */
.pl-tl{background:linear-gradient(180deg,#fff 0%,var(--pl-soft) 100%)}
.pl-tl-grid{display:grid;gap:var(--s4)}
.pl-tl-stage{display:none}
.pl .pl-tl-list{position:relative;display:grid;gap:var(--s4);padding-left:34px}
.pl-tl-rail{position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--pl-line);border-radius:2px;overflow:hidden}
.pl-tl-rail i{position:absolute;inset:0;background:linear-gradient(to bottom,var(--pl-accent),var(--pl-primary));transform-origin:top;transform:scaleY(var(--p,1))}
.pl-tl-item{position:relative}
.pl-tl-dot{position:absolute;left:-34px;top:9px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--pl-line);transition:background .3s,border-color .3s,box-shadow .3s,transform .3s}
.pl .pl-tl-item h3{font-size:1.618rem;line-height:1.1;font-weight:600;color:var(--pl-primary);font-variant-numeric:tabular-nums}
.pl-tl-item p{margin-top:var(--s1);max-width:54ch;font-size:1.04rem;line-height:1.65;color:var(--pl-text)}
.pl-tl-inline{margin-top:var(--s2);max-width:520px;overflow:hidden;border-radius:6px;aspect-ratio:1.625;background:var(--pl-soft)}
.pl-tl-inline img{width:100%;height:100%;object-fit:cover}
@media (min-width:960px){
  .pl-tl-grid{grid-template-columns:1fr 1fr;gap:var(--s6);align-items:start}
  .pl-tl-stage{display:block;position:sticky;top:clamp(96px,16vh,150px);padding-bottom:var(--s3)}
  .pl-tl-inline{display:none}
  .pl-tl-year{position:relative;height:1em;font-size:clamp(6rem,13vw,11.090rem);line-height:1;font-weight:600;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--pl-primary) 30%,transparent);font-variant-numeric:tabular-nums;overflow:hidden;white-space:nowrap}
  .pl-tl-year span{display:block}
  .pl-tl-year span.is-swap{animation:pl-year .7s cubic-bezier(.2,.7,.2,1) both}
  .pl-tl-frames{position:relative;z-index:1;width:min(100%,520px);aspect-ratio:1.625;margin:calc(-1 * clamp(34px,4.6vw,62px)) 0 0 var(--s5)}
  .pl-tl-frames::before{content:"";position:absolute;inset:var(--s3) calc(-1 * var(--s3)) calc(-1 * var(--s3)) var(--s3);border:2px solid var(--pl-accent);border-radius:6px}
  .pl-tl-frame{position:absolute;inset:0;overflow:hidden;border-radius:6px;background:var(--pl-soft);box-shadow:0 34px 55px -30px rgba(11,47,99,.6);opacity:0;clip-path:inset(0 0 100% 0);transition:clip-path .9s cubic-bezier(.2,.7,.2,1),opacity .2s linear .7s}
  .pl-tl-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
  .pl-tl-frame.is-on{opacity:1;clip-path:inset(0 0 0 0);z-index:2;transition:clip-path .9s cubic-bezier(.2,.7,.2,1),opacity 0s}
  .pl-tl-frame.is-on img{transform:scale(1)}
  .pl-tl-frame.was-on{opacity:1;z-index:1}
  .pl-tl-meter{display:flex;align-items:center;gap:var(--s2);width:min(100%,520px);margin:var(--s4) 0 0 var(--s5);font-weight:600;color:var(--pl-muted);font-variant-numeric:tabular-nums}
  .pl-tl-meter b{color:var(--pl-primary);font-size:1.272rem;min-width:1.4ch}
  .pl-tl-meter i{position:relative;flex:1;height:2px;background:var(--pl-line)}
  .pl-tl-meter u{position:absolute;left:0;top:0;bottom:0;width:calc(var(--m,.125) * 100%);background:var(--pl-accent);transition:width .6s cubic-bezier(.2,.7,.2,1)}
  .pl .pl-tl-list{gap:0;padding:8vh 0 8vh 55px}
  .pl-tl-rail{left:6px;top:0;bottom:0}
  .pl-tl-item{padding:var(--s4) 0;min-height:clamp(150px,24vh,220px);display:flex;flex-direction:column;justify-content:center}
  .pl-tl-dot{left:-55px;top:50%;margin-top:-7px}
  .pl-js[data-motion=on] .pl-tl-item h3,.pl-js[data-motion=on] .pl-tl-item p{transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1),color .4s}
  .pl-js[data-motion=on] .pl-tl-item:not(.is-on) h3{opacity:.34;transform:translateX(-8px)}
  .pl-js[data-motion=on] .pl-tl-item:not(.is-on) p{opacity:.3;transform:translateX(-8px)}
  .pl .pl-tl-item.is-on h3{font-size:2.058rem}
  .pl .pl-tl-item h3{transition:font-size .4s cubic-bezier(.2,.7,.2,1),opacity .5s,transform .6s}
  .pl-tl-item{cursor:pointer}
}
.pl-tl-item.is-on .pl-tl-dot,.pl-tl-item.is-past .pl-tl-dot{background:var(--pl-accent);border-color:var(--pl-accent)}
.pl-tl-item.is-on .pl-tl-dot{box-shadow:0 0 0 6px rgba(6,167,224,.22);transform:scale(1.15)}
@keyframes pl-year{from{opacity:0;transform:translateY(38%)}to{opacity:1;transform:none}}

/* ===== Export: the jump to the English site is announced, not sprung ===== */
.pl-export{color:#fff;background:linear-gradient(135deg,var(--pl-deep),var(--pl-primary));overflow:hidden;isolation:isolate}
.pl-export::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:55px 55px;-webkit-mask-image:linear-gradient(260deg,#000,transparent 70%);mask-image:linear-gradient(260deg,#000,transparent 70%)}
.pl-export-grid{display:grid;gap:var(--s5);align-items:center}
@media (min-width:960px){.pl-export-grid{grid-template-columns:1.272fr 1fr;gap:var(--s6)}}
.pl-export .pl-head{margin-bottom:var(--s3)}
.pl-export-lead{max-width:60ch;font-size:1.08rem;line-height:1.7;color:rgba(255,255,255,.92)}
.pl-export .pl-mini{margin-top:var(--s4)!important;color:rgba(255,255,255,.78)!important}
.pl-export-site{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-top:var(--s4);padding:var(--s3);background:#fff;border-radius:8px;color:var(--pl-ink);box-shadow:0 34px 55px -34px rgba(3,18,48,.8)}
.pl-export-site img{width:44px;height:44px;flex:none}
.pl-export-site p{flex:1 1 240px;min-width:0}
.pl-export-site p b{display:block;font-size:1.272rem;line-height:1.2;font-weight:600;color:var(--pl-primary);overflow-wrap:anywhere}
.pl-export-site p span{display:block;margin-top:3px;font-size:.88rem;line-height:1.45;color:var(--pl-muted)}
.pl-export-img{overflow:hidden;border-radius:6px;aspect-ratio:1.618;margin-bottom:var(--s3)!important}
.pl-export-img img{width:100%;height:100%;object-fit:cover}
.pl-export-links{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.25)}
.pl-export-links a{position:relative;display:block;padding:var(--s2) 44px var(--s2) 0;border-bottom:1px solid rgba(255,255,255,.25);color:#fff!important;transition:padding-left .3s,background .3s}
.pl-export-links a:hover{padding-left:var(--s2);background:rgba(255,255,255,.08)}
.pl-export-links b{display:block;font-size:1.06rem;font-weight:600}
.pl-export-links span{display:block;font-size:.88rem;color:rgba(255,255,255,.78)}
.pl-export-links .pl-ico{position:absolute;right:10px;top:50%;margin-top:-10px;width:20px;height:20px;color:var(--pl-accent);transition:transform .3s}
.pl-export-links a:hover .pl-ico{transform:translate(3px,-3px)}
.pl-export-links a:focus-visible,.pl-tl-item:focus-visible{outline:3px solid var(--pl-accent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.pl-tl-frame,.pl-tl-frame img,.pl-tl-item h3,.pl-tl-item p{transition:none!important}.pl-tl-item h3,.pl-tl-item p{opacity:1!important;transform:none!important}}


/* ===================== Round of 12/11: feedback on the three business-line pages ===================== */
.pl-bds .pl-hero-split+.pl-sec{padding-top:clamp(34px,5vw,55px)}
.pl-hero .pl-lead{max-width:680px}

/* arrows that sit at the two sides of a strip */
.pl .pl-arrow{flex:none;background:#fff;box-shadow:0 8px 21px -8px rgba(11,47,99,.45)}
.pl .pl-arrow:hover{background:var(--pl-primary);color:#fff}
.pl .pl-arrow-light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7)!important;color:#fff;box-shadow:none}
.pl .pl-arrow-light:hover{background:#fff;color:var(--pl-primary)}

/* ---- Projects: one at a time, large picture, inside the page width ---- */
.pl-show-stage{position:relative}
.pl-show .pl-track-single{border-radius:8px;box-shadow:0 34px 55px -34px rgba(11,47,99,.55)}
.pl-show-item{width:100%}
.pl-show-item article{display:grid;height:100%;background:linear-gradient(135deg,var(--pl-deep),var(--pl-primary));color:#fff}
.pl-show-img{display:block;height:100%;min-height:240px;aspect-ratio:16/9;overflow:hidden;background:var(--pl-deep)}
.pl-show-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.pl-show-item article:hover .pl-show-img img{transform:scale(1.04)}
.pl-show-body{display:flex;flex-direction:column;justify-content:center;gap:var(--s3);padding:clamp(21px,3vw,44px)}
.pl .pl-show-body h3{color:#fff;font-size:clamp(1.272rem,2.2vw,1.8rem);line-height:1.2;font-weight:600}
.pl-show-body h3 a{color:#fff!important}
.pl .pl-show-body dl{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.25)}
.pl-show-body dl div{display:grid;grid-template-columns:22px 104px 1fr;align-items:start;gap:8px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.25)}
.pl-show-body dl .pl-ico{width:18px;height:18px;margin-top:3px;color:var(--pl-accent)}
.pl-show-body dt{font-size:.95rem;font-weight:400;color:rgba(255,255,255,.78)}
.pl-show-body dd{font-size:1.02rem;font-weight:600;color:#fff}
.pl-show-body .pl-btn{align-self:flex-start;min-height:46px}
.pl-show-body .pl-btn .pl-ico{width:1em;height:1em}
.pl-show .pl-arrow{position:absolute;top:50%;z-index:3;transform:translateY(-50%)}
.pl-show .pl-arrow-l{left:-26px}.pl-show .pl-arrow-r{right:-26px}
.pl-show-foot{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s3)}
.pl-show-count{font-weight:600;color:var(--pl-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.pl-show-count b{font-size:1.272rem;color:var(--pl-primary)}
.pl-show-dots{display:flex;flex:1;gap:6px}
.pl .pl-show-dots button{flex:1;height:14px;position:relative}
.pl-show-dots button::after{content:"";position:absolute;left:0;right:0;top:6px;height:3px;border-radius:2px;background:var(--pl-line);transition:background .3s}
.pl-show-dots button:hover::after{background:color-mix(in srgb,var(--pl-accent) 55%,var(--pl-line))}
.pl-show-dots button.is-on::after{background:var(--pl-accent)}
@media (min-width:900px){.pl-show-item article{grid-template-columns:1.618fr 1fr}.pl-show-img{aspect-ratio:auto;min-height:440px}}
@media (max-width:1320px){.pl-show .pl-arrow-l{left:10px}.pl-show .pl-arrow-r{right:10px}}
@media (max-width:899px){.pl-show .pl-arrow{top:0;transform:translateY(calc(28vw - 26px))}}

/* ---- Strips that stay inside the page width (certificates) ---- */
.pl-inrow{position:relative}
.pl .pl-track-in{padding:6px 2px var(--s2);scroll-padding-inline:2px;gap:var(--s3)}
.pl-inrow .pl-arrow{position:absolute;top:calc(50% - 44px);z-index:3;transform:translateY(-50%)}
.pl-inrow .pl-arrow-l{left:-26px}.pl-inrow .pl-arrow-r{right:-26px}
@media (max-width:1320px){.pl-inrow .pl-arrow-l{left:6px}.pl-inrow .pl-arrow-r{right:6px}.pl-inrow .pl-arrow-light{background:rgba(11,47,99,.72)}}
.pl-inrow .pl-cert{width:calc((100% - 3 * var(--s3)) / 4)}
@media (max-width:999px){.pl-inrow .pl-cert{width:calc((100% - 2 * var(--s3)) / 3)}}
@media (max-width:640px){.pl-inrow .pl-cert{width:calc((100% - var(--s3)) / 2)}}
.pl-inrow .pl-cert-img{padding:10px;border-radius:6px}
.pl-inrow .pl-cert-t{margin-top:var(--s2);font-size:1.06rem;line-height:1.35}
.pl-inrow .pl-cert-i{font-size:.9rem}
.pl-inrow+.pl-prog{width:100%;margin-top:var(--s2)}

/* ---- Link to the international site: one quiet band ---- */
.pl .pl-export{padding:0;color:var(--pl-ink);background:var(--pl-soft);overflow:visible}
.pl .pl-export::before{display:none}
.pl-export-in{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);padding-top:var(--s3);padding-bottom:var(--s3)}
.pl-export-in img{width:52px;height:52px;flex:none}
.pl-export-in p{flex:1 1 280px;min-width:0}
.pl-export-in p b{display:block;font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.2;font-weight:600;color:var(--pl-primary);overflow-wrap:anywhere}
.pl-export-in p span{display:block;margin-top:2px;font-size:1rem;color:var(--pl-text)}
.pl-export-in .pl-btn .pl-ico{width:1em;height:1em}

/* ---- Milestones: the whole journey on one rail, moving on by itself ---- */
.pl-hz-railwrap{overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--s2));padding:0 var(--s2)}
.pl-hz-railwrap::-webkit-scrollbar{display:none}
.pl .pl-hz-rail{position:relative;display:grid;grid-template-columns:repeat(var(--n,8),minmax(84px,1fr));min-width:min-content;height:132px;align-items:stretch}
.pl-hz-line{position:absolute;left:0;right:0;top:50%;height:10px;margin-top:-5px;border-radius:5px;background:var(--pl-line);overflow:hidden}
.pl-hz-line i{position:absolute;inset:0;border-radius:5px;background:linear-gradient(90deg,var(--pl-primary),var(--pl-accent));transform-origin:left;transform:scaleX(var(--f,0));transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pl-hz-rail>li:not(.pl-hz-line){position:relative;display:flex;justify-content:center}
.pl .pl-hz-year{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;font-variant-numeric:tabular-nums;color:var(--pl-muted);transition:color .3s}
.pl-hz-year b{position:absolute;left:0;right:0;font-size:1.272rem;line-height:1;font-weight:600;transition:transform .35s cubic-bezier(.2,.7,.2,1),color .3s}
.is-high .pl-hz-year b{top:10px}.is-low .pl-hz-year b{bottom:10px}
.pl-hz-year::before{content:"";position:absolute;left:50%;width:2px;margin-left:-1px;background:var(--pl-line);transition:background .3s}
.is-high .pl-hz-year::before{top:38px;bottom:50%}.is-low .pl-hz-year::before{top:50%;bottom:38px}
.pl-hz-year i{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#fff;border:3px solid var(--pl-line);transition:border-color .3s,background .3s,box-shadow .3s,transform .3s}
.pl-hz-year:hover{color:var(--pl-primary)}
.pl-hz-year.is-past{color:var(--pl-primary)}
.pl-hz-year.is-past i{border-color:var(--pl-primary)}
.pl-hz-year.is-past::before{background:var(--pl-primary)}
.pl-hz-year.is-on{color:var(--pl-primary)}
.pl-hz-year.is-on b{transform:scale(1.35);color:var(--pl-primary)}
.pl-hz-year.is-on::before{background:var(--pl-accent)}
.pl-hz-year.is-on i{border-color:var(--pl-accent);background:var(--pl-accent);box-shadow:0 0 0 7px rgba(6,167,224,.2);transform:scale(1.1)}
.pl-hz-year:focus-visible{outline:3px solid var(--pl-accent);outline-offset:-3px}
.pl-hz-stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s3);margin-top:var(--s4)}
.pl .pl-hz-panels{display:grid;gap:var(--s4)}
.pl-hz-panel article{display:grid;gap:var(--s3);align-items:center}
.pl-hz-img{overflow:hidden;border-radius:8px;aspect-ratio:1.625;background:var(--pl-soft);box-shadow:0 34px 55px -34px rgba(11,47,99,.6)}
.pl-hz-img img{width:100%;height:100%;object-fit:cover}
.pl .pl-hz-body h3{font-size:clamp(3rem,7vw,5.2rem);line-height:1;font-weight:600;letter-spacing:-.03em;color:var(--pl-primary);font-variant-numeric:tabular-nums}
.pl-hz-body p{margin-top:var(--s3);font-size:1.12rem;line-height:1.7;color:var(--pl-text);max-width:46ch}
@media (min-width:860px){.pl-hz-panel article{grid-template-columns:minmax(0,560px) 1fr;gap:var(--s5);justify-content:center}}
/* with the script running the panels share one place and cross-fade */
.pl-hz.is-js .pl-hz-panels>li{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s}
.pl-hz.is-js .pl-hz-panels>li.is-on{opacity:1;visibility:visible;transition:opacity .6s ease .1s}
.pl-hz.is-js .pl-hz-img{clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.2,.7,.2,1)}
.pl-hz.is-js .is-on .pl-hz-img{clip-path:inset(0)}
.pl-hz.is-js .pl-hz-img img{transform:scale(1.1);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.pl-hz.is-js .is-on .pl-hz-img img{transform:none}
.pl-hz.is-js .pl-hz-body>*{opacity:0;transform:translateY(21px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.pl-hz.is-js .is-on .pl-hz-body>*{opacity:1;transform:none;transition-delay:.25s}
.pl-hz.is-js .is-on .pl-hz-body p{transition-delay:.38s}
@media (max-width:859px){.pl-hz-stage{grid-template-columns:minmax(0,1fr)}.pl-hz-stage .pl-arrow{display:none}.pl .pl-hz-rail{height:112px}}
@media (prefers-reduced-motion:reduce){.pl-hz *{transition:none!important}.pl-hz.is-js .pl-hz-img{clip-path:none}.pl-hz.is-js .pl-hz-body>*{opacity:1;transform:none}}
/* phones: each project slide keeps to its own width */
.pl .pl-show-item{flex:0 0 100%;max-width:100%;min-width:0;overflow:hidden}
.pl-show-item article,.pl-show-body{min-width:0}
.pl-show-body dd{min-width:0;overflow-wrap:anywhere}
@media (max-width:599px){.pl-show-body dl div{grid-template-columns:20px 82px minmax(0,1fr)}.pl-show-img{min-height:0}}
.pl-show-item article{grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.pl-show-item article{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr)}}
.pl-hz-panel article{grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){.pl-hz-panel article{grid-template-columns:minmax(0,560px) minmax(0,1fr)}}


/* ===== 13/11 ===== */
/* no black frame after a mouse click (the "ô vuông viền đen" on the year); the ring stays for keyboard users */
.pl button:focus:not(:focus-visible),.pl a:focus:not(:focus-visible),.pl [tabindex]:focus:not(:focus-visible){outline:0}
.pl .pl-hz-year:focus:not(:focus-visible){outline:0;box-shadow:none}
.pl button{-webkit-tap-highlight-color:transparent}
.pl-pgtp .pl-arrow-l .pl-ico{transform:none}
.pg-certs .pl-arrow-r .pl-ico{transform:none}
.pg-certs .pl-head p{color:rgba(255,255,255,.86)}
