/* Brand roles: navy anchors, electric blue links, amber primary actions. */
.tc-home {
  --tc-blue: #005de0;
  --tc-navy: #082858;
  --tc-gold: #ffb800;
  --tc-text: #152c49;
  --tc-muted: #4b6078;
  --tc-line: #cddff3;
}
.tc-home h2 { color: #082858; }
.tc-home h2 span { color: #005de0; }
.tc-home .tc-centered::after {
  content: ''; display: block; width: 64px; height: 5px;
  margin: 22px auto 0; border-radius: 4px; background: #ffb800;
}
.tc-home .tc-button {
  background: #ffb800; border-color: #ffb800; color: #082858 !important;
  box-shadow: 0 8px 20px #a96c0026;
}
.tc-home .tc-button:hover { background: #ffd052; border-color: #ffd052; }
.tc-home .tc-button-zalo {
  background: #005de0; border-color: #005de0; color: #fff !important;
  box-shadow: 0 8px 20px #005de029;
}
.tc-home .tc-button-zalo:hover { background: #0049b5; border-color: #0049b5; }
.tc-actions .tc-icon-phone, .tc-actions .tc-icon-zalo { width: 22px; height: 22px; }
.tc-home a:focus-visible, .tc-home summary:focus-visible { outline-color: #9c5400; }
.tc-hero { background: #e7f2ff; }
.tc-hero-image::after { background: linear-gradient(90deg,#e7f2ff 0%,#e7f2ffed 12%,transparent 52%); }
.tc-home .tc-hero h1 { color: #082858; }
.tc-home .tc-hero h1 span { color: #005de0; }
.tc-home .tc-eyebrow {
  display: inline-block; color: #082858; background: #ffde77;
  padding: 7px 12px; border-radius: 6px; font-weight: 700;
}
.tc-services-section { background: #f3f7ff; }
.tc-home .tc-service { border-color: #d3e1f5; border-bottom: 4px solid #005de0; box-shadow: 0 8px 24px #153d7510; }
.tc-home .tc-service:nth-child(even) { border-bottom-color: #ffb800; }
.tc-home .tc-service h3, .tc-home .tc-project h3, .tc-home .tc-news-card h3 { color: #082858; }
.tc-home .tc-about { background: linear-gradient(120deg,#061d43,#004faf); }
.tc-home .tc-about h2 { color: #fff; }
.tc-home .tc-about-copy > p { color: #e2edff; }
.tc-home .tc-checks { color: #fff; }
.tc-process { background: #e5f0ff; }
.tc-home .tc-steps .tc-icon-process { border-color: #bfd5f2; box-shadow: 0 5px 18px #005de012; }
.tc-home .tc-step-number, .tc-home .tc-stats strong { color: #0055c8; }
.tc-home .tc-stats { border-top-color: #b9cfeb; }
.tc-home .tc-reviews { background: #fff5d9; }
.tc-home .tc-news { background: #edf3ff; }
.tc-home .tc-project { border-color: #d5e2f4; }
.tc-home .tc-contact { background-color: #061d43; }
.tc-home .tc-contact h2 { color: #fff; }
.tc-home .tc-phone { background: #ffb800; border-color: #ffb800; color: #082858; }
.tc-home .tc-zalo { background: #005de0; border-color: #4b96ff; color: #fff; }
.tc-home .tc-phone:hover { background: #ffd052; }
.tc-home .tc-zalo:hover { background: #0049b5; }
/* Internal pages share the same accents without changing their content. */
.tc-company-hero, .tc-services-hero, .tc-contact-hero { background: #e7f2ff; }
.tc-company-hero::after { background: linear-gradient(90deg,#e7f2ff 23%,#e7f2fff5 40%,#e7f2ff14 100%); }
.tc-company-values, .tc-contact-guide { background: #e5f0ff; }
.tc-company-editor, .tc-services-faq, .tc-contact-location { background: #fff4d6; }
.tc-home .tc-company-eyebrow, .tc-home .tc-services-kicker, .tc-home .tc-contact-kicker { color: #004fbf; }
.tc-company-value, .tc-contact-channel { border-top: 4px solid #005de0; }
.tc-company-value:nth-child(2), .tc-contact-channel:nth-child(2) { border-top-color: #ffb800; }
.tc-company-photo > span, .tc-services-photo-label, .tc-contact-hero-photo > span { background: #ffbf19; color: #082858; }
.tc-home .tc-company-link, .tc-home .tc-service-consult, .tc-home .tc-contact-channel a { color: #0055c8; }
.tc-home .tc-service-nav a { background: #edf3ff; border-color: #cbdcf5; color: #082858; }
.tc-home .tc-service-nav a:hover { background: #dceaff; border-color: #005de0; }
.tc-service-detail { background: #edf3ff; border-color: #cbdcf5; }
.tc-service-detail:nth-child(even) { background: #fff6df; }
@media (max-width:767px) {
  .tc-company-hero::after { background: linear-gradient(90deg,#e7f2fff5,#e7f2ffbf); }
  .tc-home .tc-eyebrow { letter-spacing: .035em; }
}

/* Hero spotlight: strong contrast, original photography and clear action hierarchy. */
/* Internal hero palette: clear text contrast and warm photo accents. */
.tc-home .tc-company-hero,
.tc-home .tc-services-hero,
.tc-home .tc-contact-hero {
  color: #fff;
  border-bottom: 5px solid #ffbf19;
}
.tc-home .tc-company-hero { background: #081f45; }
.tc-home .tc-company-hero::after {
  background: linear-gradient(90deg,#081f45 20%,#081f45f0 42%,#081f4540 100%);
}
.tc-home .tc-company-hero-image img { opacity: .85; }
.tc-home .tc-services-hero {
  background: radial-gradient(ellipse at 100% 0%,#075fc5 0%,transparent 58%),#071e42;
}
.tc-home .tc-contact-hero {
  background: radial-gradient(ellipse at 100% 100%,#00657a 0%,transparent 65%),#071e42;
}
.tc-home :is(.tc-company-hero,.tc-services-hero,.tc-contact-hero) h1 { color: #fff; }
.tc-home .tc-company-hero h1 em,
.tc-home .tc-services-hero h1 span,
.tc-home .tc-contact-hero h1 span { color: #ffcf49; font-size: inherit; }
.tc-home .tc-company-hero-copy > p:not(.tc-company-eyebrow),
.tc-home .tc-services-hero .tc-services-lead,
.tc-home .tc-contact-hero-grid > div > p:not(.tc-contact-kicker) { color: #e0ebfb; }
.tc-home .tc-company-hero .tc-company-eyebrow,
.tc-home .tc-services-hero .tc-services-kicker,
.tc-home .tc-contact-hero .tc-contact-kicker {
  display: inline-block; color: #ffdc80; background: #ffffff0d;
  border-left: 3px solid #ffbf19; padding: 8px 12px; border-radius: 0 6px 6px 0;
}
.tc-home :is(.tc-company-breadcrumb,.tc-services-breadcrumb,.tc-contact-breadcrumb) { color: #c9d9ee; }
.tc-home :is(.tc-company-breadcrumb,.tc-services-breadcrumb,.tc-contact-breadcrumb) a { color: #ffdc80; }
.tc-home :is(.tc-company-hero,.tc-services-hero,.tc-contact-hero) a:focus-visible { outline-color: #ffdc80; }
.tc-home .tc-services-hero-photo > img,
.tc-home .tc-contact-hero-photo > img {
  border: 1px solid #ffffff40; box-shadow: 0 18px 48px #0003;
}
.tc-home .tc-services-photo-label,
.tc-home .tc-contact-hero-photo > span { background: #ffcf49; color: #082858; box-shadow: 0 12px 28px #0002; }
.tc-home .tc-company-values { background: #eaf2ff; }
.tc-home .tc-company-note { background: #eaf2ff; border-left-color: #ffb800; }
.tc-home .tc-company-value-icon { background: #eaf2ff; }
.tc-home .tc-services-catalog { background: #f8faff; }
.tc-home .tc-service-detail { background: #fff; border-color: #c8d9f2; }
.tc-home .tc-service-detail:nth-child(even) { background: #fff5dc; border-color: #ebdbb2; }
.tc-home .tc-contact-channels { background: #f7faff; }
.tc-home .tc-contact-guide { background: #e8f4f5; }
.tc-home .tc-contact-preparation li { border-color: #c5dfe3; }
.tc-home .tc-contact-location { background: #fff4d6; }
@media (max-width:767px) {
  .tc-home .tc-company-hero::after { background: linear-gradient(90deg,#081f45f5,#081f45cf); }
  .tc-home .tc-company-hero-image { opacity: .65; }
  .tc-home :is(.tc-company-hero,.tc-services-hero,.tc-contact-hero) h1 { font-size: clamp(28px,7vw,42px); }
  .tc-home :is(.tc-company-hero,.tc-services-hero,.tc-contact-hero) h1 span { white-space: normal; }
}

.tc-home .tc-hero {
  background: #061d43;
  color: #fff;
  min-height: 650px;
  border-bottom: 6px solid #ffb800;
}
.tc-hero-image { width: 62%; }
.tc-hero-image::after {
  background: linear-gradient(90deg,#061d43 0%,#061d43e6 18%,#061d4340 53%,#061d4310 100%);
}
.tc-hero-inner { padding-block: 76px; }
.tc-hero-copy { width: 59%; }
.tc-home .tc-hero h1 { color: #fff; font-size: clamp(36px,4.1vw,58px); line-height: 1.12; }
.tc-home .tc-hero h1 span { color: #ffca36; text-shadow: 0 4px 24px #0003; }
.tc-home .tc-hero .tc-eyebrow {
  background: #ffffff0d; border: 1px solid #ffca3666;
  border-left: 4px solid #ffb800; color: #ffda71;
  border-radius: 0 7px 7px 0; padding: 9px 14px;
}
.tc-hero .tc-lead { color: #e2ecff; }
.tc-hero .tc-tagline { color: #fff; max-width: 530px; }
.tc-hero .tc-hero-points {
  background: #ffffff0d; border: 1px solid #ffffff26;
  border-radius: 14px; padding: 18px 12px;
  backdrop-filter: blur(8px);
}
.tc-hero-points .tc-icon-benefit {
  background: #fff; width: 46px; height: 46px; padding: 8px;
  border-radius: 12px; box-shadow: 0 4px 16px #0002;
}
.tc-hero .tc-actions .tc-button { min-height: 54px; padding: 15px 24px; font-size: 15px; }
.tc-hero .tc-button-zalo { border-color: #68a6ff; }
.tc-home .tc-card-body > .tc-service-hotline {
  display: inline-flex; width: 100%; min-height: 46px;
  align-items: center; justify-content: center; gap: 9px;
  padding: 11px 10px; border: 1px solid #ffb800;
  background: #ffbf19; color: #082858; border-radius: 9px;
  text-decoration: none; font-size: 14px; font-weight: 800;
  transition: background .2s, border-color .2s;
}
.tc-service-hotline .tc-icon-phone { width: 20px; height: 20px; }
.tc-home .tc-card-body > .tc-service-hotline:hover { background: #ffda70; border-color: #d18b00; }
@media (min-width:768px) and (max-width:1024px) {
  .tc-hero-copy { width: 70%; }
  .tc-hero-image { width: 75%; }
  .tc-hero-image::after { background: linear-gradient(90deg,#061d43,#061d43e6 35%,#061d4350); }
}
@media (max-width:767px) {
  .tc-home .tc-hero { min-height: 0; flex-direction: column; }
  .tc-hero-image { width: 100%; height: 260px; }
  .tc-hero-image::after { display: block; background: linear-gradient(0deg,#061d43,transparent 65%); }
  .tc-hero-inner { padding-block: 12px 42px; }
  .tc-hero-copy { width: 100%; }
  .tc-home .tc-hero h1 { font-size: clamp(32px,7.8vw,46px); }
  .tc-hero .tc-hero-points { gap: 10px; padding: 16px 10px; }
  .tc-hero .tc-actions .tc-button { flex: 1 1 220px; }
}
@media (max-width:360px) {
  .tc-hero-image { height: 220px; }
  .tc-hero .tc-hero-points { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 12px; }
}
