/* Public-page spacing. Keep typography, content, and the admin editor intact. */
:root {
  --compact-section-space: 36px;
  --compact-content-gap: 24px;
}

#top > .section { padding-block: var(--compact-section-space); }
#top .section-heading { margin-bottom: var(--compact-content-gap); gap: 24px; }
#top .section-heading h1,
#top .section-heading h2 { margin-top: 12px; }
#top .section-description { margin-top: 10px; }
.section-description:empty { display: none; }

#dich-vu .service-grid { gap: 18px; }
#dich-vu .service-content { padding: 16px 20px; }
#dich-vu .service-content p { margin-top: 8px; }

#ve-chung-toi .introduction-layout { gap: 44px; }
#ve-chung-toi .introduction-visual { padding-bottom: 32px; }
#ve-chung-toi .introduction-visual figcaption { bottom: 0; padding: 18px 22px; }
#ve-chung-toi .introduction-copy > h2 { margin: 10px 0 14px; }
#ve-chung-toi .introduction-lead { margin-bottom: 14px; }
#ve-chung-toi .introduction-prose h3 { margin: 14px 0 5px; }
#ve-chung-toi .introduction-prose > :first-child { margin-top: 0; }
#ve-chung-toi .introduction-prose p { margin-block: 0; }
#ve-chung-toi .introduction-prose ul { margin: 8px 0 0; gap: 6px 20px; }
#ve-chung-toi .introduction-prose li { margin-block: 0; }
#ve-chung-toi .introduction-copy > .text-link { margin-top: 14px; }

#gioi-thieu .trust-layout { gap: 44px; }
#gioi-thieu .trust-copy h2 { margin: 12px 0 16px; }
#gioi-thieu .trust-copy > p:not(.eyebrow) { margin-bottom: 18px; }
#gioi-thieu .trust-signature { margin-top: 18px; padding-top: 16px; }
#gioi-thieu .advantage-grid { gap: 14px; }
#gioi-thieu .advantage-card { padding: 18px; }
#gioi-thieu .advantage-card h3 { margin: 12px 0 8px; }

#danh-gia .testimonial { padding: 20px; }
#danh-gia .testimonial blockquote { margin: 12px 0 18px; }
#danh-gia .person { padding-top: 14px; }
#danh-gia .reviews-invitation { margin-top: 18px; padding: 14px 18px; }

#quy-trinh .process-intro { gap: 36px; }
#quy-trinh .process-intro .section-heading { margin-bottom: 16px; }
#quy-trinh .process-grid { margin-top: 22px; gap: 14px; }
#quy-trinh .process-step { padding: 18px 16px; }
#quy-trinh .process-step h3 { margin: 12px 0 8px; }
#quy-trinh .process-step:not(:last-child)::after { right: -19px; top: 34px; }
#quy-trinh .process-next { margin-top: 16px; padding-top: 14px; }

#khach-hang .partner-card { height: 120px; }
#khach-hang .partner-card img { width: 112px; height: 96px; }

#tin-tuc.journal-teaser { padding-block: var(--compact-section-space); }
#tin-tuc.journal-teaser .journal-masthead { padding-bottom: 12px; }
#tin-tuc.journal-teaser .journal-heading { padding-block: 16px; }
#tin-tuc.journal-teaser .journal-feature { margin-bottom: 14px; }
#tin-tuc.journal-teaser .journal-feature-copy { padding: 20px 24px; }
#tin-tuc.journal-teaser .journal-row { padding-top: 14px; }

#lien-he .cta-layout { gap: 44px; }
#lien-he .cta-copy h2 { margin: 12px 0 16px; }
#lien-he .cta-copy > p:not(.eyebrow) { margin-bottom: 20px; }
#lien-he .contact-line { margin-top: 16px; }
.consult-form { padding: 24px; }
.consult-form h3 { margin-bottom: 18px; }
.consult-form .form-grid { gap: 14px; }
.consult-form > .button { margin-top: 16px; }
.form-message:empty { display: none; }

.site-footer .footer-top { padding-block: 32px 26px; }
.site-footer .footer-grid { padding-block: 28px; gap: 28px; }
.site-footer .footer-grid h3 { margin-block: 8px 12px; }
.site-footer .footer-grid li { margin-bottom: 8px; }
.site-footer .company-footer img { margin-bottom: 12px; }
.site-footer .copyright { padding-block: 16px; }

/* Remove large separators on inner pages without compressing article prose. */
.service-page { padding-block: 28px 44px; }
.service-page .breadcrumb { margin-bottom: 24px; }
.service-page .service-hero { padding-bottom: 32px; }
.service-page .service-detail-layout { padding-block: 32px; }
.service-page .service-next-steps { margin-block: 26px; padding-top: 20px; }
.service-page .service-consultation { padding: 30px; gap: 36px; }
.article-page { padding-block: 28px 44px; }
.article-page .breadcrumb { margin-bottom: 26px; }
.journal-directory #tin-tuc { padding-block: var(--compact-section-space); }
.journal-directory .journal-heading { padding-block: 22px; }

@media (max-width: 800px) {
  :root { --compact-section-space: 30px; --compact-content-gap: 20px; }
  #top .section-heading { gap: 20px; }
  #ve-chung-toi .introduction-layout,
  #gioi-thieu .trust-layout,
  #lien-he .cta-layout { gap: 24px; }
  #quy-trinh .process-intro { gap: 24px; }
  .service-page .service-consultation { padding: 24px; gap: 24px; }
}

@media (max-width: 520px) {
  :root { --compact-section-space: 26px; --compact-content-gap: 18px; }
  #top .section-heading > .text-link { margin-top: 14px; }
  #dich-vu .service-grid { gap: 14px; }
  #dich-vu .service-content { padding: 14px 17px; }
  #ve-chung-toi .introduction-layout { gap: 20px; }
  #ve-chung-toi .introduction-visual { padding-bottom: 28px; }
  #ve-chung-toi .introduction-visual figcaption { padding: 14px 18px; }
  #gioi-thieu .advantage-card { padding: 16px; }
  #danh-gia .testimonial { padding: 18px; }
  #danh-gia .reviews-invitation { padding: 14px; gap: 12px; }
  #quy-trinh .process-step { padding: 16px 14px; }
  #quy-trinh .process-step h3 { margin: 2px 0 0; }
  #quy-trinh .process-next { gap: 12px; }
  #khach-hang .partner-card { height: 104px; }
  #khach-hang .partner-card img { width: 102px; height: 86px; }
  #tin-tuc.journal-teaser .journal-feature { margin-bottom: 2px; }
  #tin-tuc.journal-teaser .journal-feature-copy { padding: 16px 18px; }
  #tin-tuc.journal-teaser .journal-row { padding-top: 10px; }
  #lien-he .cta-layout { gap: 20px; }
  .consult-form { padding: 20px 18px; }
  .site-footer .footer-top { padding-block: 26px 22px; }
  .site-footer .footer-phone { margin-top: 18px; }
  .site-footer .footer-grid { padding-block: 24px; gap: 22px; }
  .site-footer .copyright { padding-block: 14px 54px; }
  .service-page .service-consultation { padding: 20px 17px; }
}
