/* Brand polish layer: keeps the original layout while tightening the visual system. */
:root {
  --brand-orange: #ea580c;
  --brand-orange-dark: #c2410c;
  --brand-yellow: #eab308;
  --brand-ink: #111827;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 84px;
}

body {
  color: var(--brand-ink);
  font-family: "Be Vietnam Pro", "Inter", ui-sans-serif, system-ui, sans-serif;
  letter-spacing: -0.005em;
}

button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(234, 179, 8, 0.45);
  outline-offset: 3px;
}

header.fixed.top-0 {
  background: rgba(255, 255, 255, 0.94) !important;
  border-color: rgba(17, 24, 39, 0.08) !important;
  box-shadow: 0 8px 28px rgba(17, 24, 39, 0.08) !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

header.fixed.top-0 .h-20 {
  min-height: 70px;
  height: 70px;
}

header.fixed.top-0 img {
  filter: saturate(0.95) contrast(1.04);
}

section#home {
  background: linear-gradient(118deg, #92400e 0%, #d97706 48%, #ea580c 100%) !important;
}

section#home > .absolute.inset-0.opacity-10 {
  opacity: 0.2 !important;
  mix-blend-mode: soft-light;
}

section#home .rounded-3xl.bg-white {
  border: 1px solid rgba(255, 255, 255, 0.75);
  box-shadow: 0 26px 70px rgba(92, 37, 8, 0.24) !important;
}

section#home input,
section#home select {
  min-height: 48px;
  background-color: #fff;
  border-color: #e5e7eb;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

section#home input:focus,
section#home select:focus {
  border-color: var(--brand-orange) !important;
  box-shadow: 0 0 0 4px rgba(234, 88, 12, 0.12);
  transform: translateY(-1px);
}

section#dich-vu .group,
section#feedback .group,
section#tuyen-duong .rounded-xl,
section#bang-gia .rounded-2xl {
  border-color: rgba(17, 24, 39, 0.07);
  box-shadow: 0 12px 30px rgba(17, 24, 39, 0.07);
}

section#dich-vu .group:hover,
section#feedback .group:hover,
section#tuyen-duong .rounded-xl:hover {
  box-shadow: 0 20px 44px rgba(17, 24, 39, 0.12) !important;
}

section#bang-gia .rounded-2xl,
section#feedback .rounded-2xl {
  border-radius: 18px;
}

section#vi-sao-chon img {
  border-radius: 22px;
}

section#quy-trinh > .relative.z-10,
section#lien-he > .relative.z-10 {
  isolation: isolate;
}

footer#footer a,
footer#footer button {
  transition: color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

footer#footer a:hover {
  transform: translateX(2px);
}

@media (max-width: 1023px) {
  header.fixed.top-0 .h-20 {
    min-height: 64px;
    height: 64px;
  }

  section#home .py-20 {
    padding-top: 6.25rem;
    padding-bottom: 5.5rem;
  }

  section#home .grid {
    gap: 2.75rem;
  }
}

@media (max-width: 640px) {
  body {
    overflow-x: hidden;
  }

  header.fixed.top-0 .h-20 {
    min-height: 60px;
    height: 60px;
  }

  header.fixed.top-0 img {
    width: 42px;
    height: 42px;
  }

  section#home .py-20 {
    padding-top: 5.25rem;
    padding-bottom: 4rem;
  }

  section#home h1 {
    font-size: clamp(2.25rem, 11vw, 3rem);
    line-height: 1.12;
  }

  section#home .rounded-3xl.bg-white {
    padding: 1.25rem;
    border-radius: 1.25rem;
  }

  section#home .flex.flex-col,
  section#lien-he .flex.flex-col {
    width: 100%;
  }

  section#home .flex.flex-col > a,
  section#lien-he .flex.flex-col > a {
    width: 100%;
  }

  section#quy-trinh .grid,
  section#lien-he .flex.flex-wrap {
    gap: 1rem;
  }

  .fixed.right-6.bottom-6 {
    right: 0.75rem;
    bottom: 0.75rem;
    transform: scale(0.86);
    transform-origin: bottom right;
  }

  footer#footer .grid {
    row-gap: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
