/* Thanh Giang Performance V5 — lightweight rendering + motion layer */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
/* Skip layout/paint work for content far below the viewport. Intrinsic size limits scroll jumps. */
body.tg-home-v2-page .tg-v2-home > section:not(.tg-v2-hero),
body.tg-home-v2-page #tg-v4-branches,
body.tg-home-v2-page #footer-v4 {
  content-visibility:auto;
  contain-intrinsic-size:auto 720px;
}
/* GPU-friendly reveal. JS only adds .tg-reveal to blocks still below the viewport. */
@media (prefers-reduced-motion: no-preference) {
  body.tg-home-v2-page .tg-reveal {
    opacity:0;
    transform:translate3d(0,18px,0);
    transition:opacity .46s ease, transform .56s cubic-bezier(.2,.7,.2,1);
    will-change:opacity,transform;
  }
  body.tg-home-v2-page .tg-reveal.tg-inview { opacity:1; transform:none; will-change:auto; }
  body.tg-home-v2-page .tg-v2-job-card,
  body.tg-home-v2-page .tg-v2-side-card { transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
}
/* Critical Bootstrap-like shell used before deferred Bootstrap finishes loading on homepage. */
body.tg-home-v2-page .container { width:100%; margin-right:auto; margin-left:auto; padding-right:15px; padding-left:15px; }
body.tg-home-v2-page .row { display:flex; flex-wrap:wrap; margin-right:-15px; margin-left:-15px; }
body.tg-home-v2-page .row > [class*="col-"] { position:relative; width:100%; padding-right:15px; padding-left:15px; }
body.tg-home-v2-page .d-none { display:none!important; }
body.tg-home-v2-page .d-block { display:block!important; }
@media(min-width:992px){
 body.tg-home-v2-page .d-lg-block{display:block!important}.tg-home-v2-page .d-lg-none{display:none!important}
 body.tg-home-v2-page .col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}
 body.tg-home-v2-page .col-lg-3{flex:0 0 25%;max-width:25%}
 body.tg-home-v2-page .col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}
 body.tg-home-v2-page .col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}
 body.tg-home-v2-page .col-lg-6{flex:0 0 50%;max-width:50%}
 body.tg-home-v2-page .col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}
 body.tg-home-v2-page .col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}
 body.tg-home-v2-page .col-lg-9{flex:0 0 75%;max-width:75%}
 body.tg-home-v2-page .col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}
 body.tg-home-v2-page .col-lg-12{flex:0 0 100%;max-width:100%}
}


/* ===============================================================
   TG V6: homepage benefit / about / sidebar hover polish.
   Only transform, opacity and shadow; no scroll handlers and no new assets.
   =============================================================== */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.tg-home-v2-page .tg-v2-about-visual {
    transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease;
  }
  body.tg-home-v2-page .tg-v2-about-visual img,
  body.tg-home-v2-page .tg-v2-about-placeholder {
    transition:transform .45s cubic-bezier(.2,.7,.2,1);
  }
  body.tg-home-v2-page .tg-v2-about-visual:hover {
    transform:translate3d(0,-5px,0);
    box-shadow:0 26px 46px rgba(15,63,120,.22);
  }
  body.tg-home-v2-page .tg-v2-about-visual:hover img,
  body.tg-home-v2-page .tg-v2-about-visual:hover .tg-v2-about-placeholder {
    transform:scale(1.035);
  }
  body.tg-home-v2-page .tg-v2-benefit,
  body.tg-home-v2-page .tg-v4-benefit {
    transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease;
  }
  body.tg-home-v2-page .tg-v2-benefit:hover,
  body.tg-home-v2-page .tg-v4-benefit:hover {
    transform:translate3d(0,-5px,0);
    border-color:rgba(13,107,203,.32);
    box-shadow:0 16px 30px rgba(11,73,146,.14);
  }
  body.tg-home-v2-page .tg-v4-benefit-icon,
  body.tg-home-v2-page .tg-v4-benefit-icon svg {
    transition:transform .28s cubic-bezier(.2,.7,.2,1);
  }
  body.tg-home-v2-page .tg-v4-benefit:hover .tg-v4-benefit-icon svg {
    transform:rotate(-4deg) scale(1.09);
  }
  body.tg-home-v2-page .tg-v2-side-card {
    transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
  }
  body.tg-home-v2-page .tg-v2-side-card:hover {
    transform:translate3d(0,-3px,0);
    box-shadow:0 15px 30px rgba(14,68,137,.14);
    border-color:#bdd6f1;
  }
  body.tg-home-v2-page .tg-v2-side-links button {
    transition:background-color .2s ease,color .2s ease,padding-left .2s ease;
  }
  body.tg-home-v2-page .tg-v2-side-links button:hover {
    padding-left:15px;
    background-color:rgba(21,126,214,.07);
    color:#0864b3;
  }
  body.tg-home-v2-page .tg-v2-side-links button span {
    transition:transform .2s ease;
  }
  body.tg-home-v2-page .tg-v2-side-links button:hover span { transform:translateX(4px); }
}
body.tg-home-v2-page .tg-v2-side-links button:focus-visible,
body.tg-home-v2-page .tg-v2-text-link:focus-visible {
  outline:2px solid #147ec3;outline-offset:2px;
}
