.test-page { min-height: 28vh; }
.language button { cursor: pointer; }
.mobile-request,
.mobile-call { display: none; }
.header-request,
.header-phone {
  min-height: 38px;
  padding: 7px 12px;
  white-space: nowrap;
  font-size: 13px;
}
html[lang="zh-Hans"] .choice-grid p { text-wrap: balance; }
.report-material-detail ul { list-style: disc; }
.report-material-detail ol { list-style: decimal; color: #405461; margin: 12px 0 28px; padding-left: 24px; }
.feature-heading {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin-bottom: 10px;
}
.feature-heading h2 {
  flex: 1 1 260px;
  margin: 0;
}
.feature-read-more {
  flex: 0 0 auto;
  min-width: 132px;
  min-height: 48px;
  border: 2px solid var(--blue);
  border-radius: 3px;
  background: #eef7fc;
  color: var(--navy) !important;
  padding: 10px 20px;
}
.approach-section { padding-inline: max(24px, 50vw - 650px); }
.approach-section .steps article {
  min-height: 0;
  padding: 28px 22px 24px;
}
.approach-section .steps h3 {
  margin: 12px 0;
  font-size: 20px;
}
.approach-section .steps article p { margin: 0; }
.approach-section .steps .feature-read-more {
  align-self: flex-start;
  min-width: 120px;
  min-height: 44px;
  margin-top: 18px;
  padding: 8px 16px;
}
@media (width >= 1180px) {
  .approach-section .steps h3 { white-space: nowrap; font-size: 19px; }
}

/* Photo-backed homepage storytelling sections */
.perspective-section,
.approach-section,
.buyer-guide-band,
.report-materials-section,
.sub-residential {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.perspective-section::before,
.approach-section::before,
.buyer-guide-band::before,
.report-materials-section::before,
.sub-residential::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -12px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(3px);
  transform: scale(1.025);
}
.perspective-section::before {
  background-image: linear-gradient(rgba(4, 25, 42, .84), rgba(4, 25, 42, .88)), url('/perspective-inspection.webp');
}
.approach-section::before {
  background-image: linear-gradient(rgba(11, 20, 27, .86), rgba(11, 20, 27, .9)), url('/approach-thermal.webp');
}
.buyer-guide-band::before {
  background-image: linear-gradient(rgba(4, 45, 75, .76), rgba(4, 45, 75, .84)), url('/houston-buyer-guide.png');
  background-position: center 44%;
}
.report-materials-section::before {
  background-image: linear-gradient(rgba(12, 21, 28, .84), rgba(12, 21, 28, .9)), url('/report-materials.jpg');
  background-position: center 48%;
}
.sub-residential::before {
  background-image: linear-gradient(rgba(9, 21, 29, .78), rgba(9, 21, 29, .86)), url('/perspective-inspection.webp');
  background-position: center 46%;
}
.buyer-resources-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
}
.buyer-resources-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -5px;
  background:
    linear-gradient(90deg, rgba(8, 24, 34, .88) 0%, rgba(8, 24, 34, .76) 52%, rgba(8, 24, 34, .66) 100%),
    url('/buyer-resources-office.jpg') center 48% / cover no-repeat;
  filter: blur(1px);
  transform: scale(1.008);
}
.buyer-resources-hero h1,
.buyer-resources-hero p { color: #fff; }

/* Supplied homepage banner artwork */
.service-area-band,
.what-to-expect-section,
.learning-center-home {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
}
.service-area-band {
  background: url('/greater-houston-service-map.png') center / cover no-repeat;
}
.what-to-expect-section {
  background: url('/what-to-expect-bg.png') center / cover no-repeat;
}
.learning-center-home::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -5px;
  background: url('/learning-center-bg.png') center / cover no-repeat;
  filter: blur(1px);
  transform: scale(1.008);
}
.service-area-band h2,
.service-area-band p,
.what-to-expect-section h2,
.what-to-expect-section h3,
.what-to-expect-section p,
.learning-center-home h2,
.learning-center-home h3,
.learning-center-home p {
  color: #fff;
}
.what-to-expect-section .steps article,
.learning-center-home .topics a {
  background: rgba(10, 14, 17, .88);
  border-color: rgba(188, 216, 232, .38);
}
.what-to-expect-section .steps article p,
.learning-center-home .topics small {
  color: #d6e6ef;
}
.approach-section,
.report-materials-section,
.sub-residential,
.approach-section h2,
.approach-section h3,
.approach-section p,
.report-materials-section h2,
.report-materials-section h3,
.report-materials-section p,
.sub-residential h1,
.sub-residential p {
  color: #fff;
}
.approach-section .steps article,
.report-materials-section .report-material-cards article {
  background: rgba(10, 14, 17, .88);
  border-color: rgba(188, 216, 232, .34);
  backdrop-filter: blur(2px);
}
.approach-section .steps article p,
.report-materials-section .report-material-cards article p,
.report-materials-section .note {
  color: #d6e6ef;
}
.buyer-guide-band {
  min-height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: url('/houston-home-buyer-couple.webp') center / cover no-repeat;
}
.buyer-guide-band::before { content: none; }
.buyer-guide-band > .btn {
  align-self: flex-start;
  width: auto;
  max-width: 100%;
  padding-inline: 18px;
}

/* Learning-system detail banners supplied for each article. */
.learning-detail-banner {
  min-height: clamp(320px, 31vw, 500px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.learning-detail-banner h1,
.learning-detail-banner .lead,
.learning-detail-banner .eyebrow { color: #fff; }
.learning-detail-foundation { background-image: url('/learning-foundation-banner.webp'); }
.learning-detail-drainage { background-image: url('/learning-drainage-banner.webp'); }
.learning-detail-roof { background-image: url('/learning-roof-banner.webp'); }
.learning-detail-hvac { background-image: url('/learning-hvac-banner.webp'); }
.learning-detail-attic { background-image: url('/learning-attic-banner.webp'); }
.learning-detail-plumbing { background-image: url('/learning-plumbing-banner.webp'); }
.learning-detail-appliances { background-image: url('/learning-appliances-banner.webp'); }
.learning-detail-irrigation { background-image: url('/learning-irrigation-banner.webp'); }

/* Inspector imagery */
.about {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 430px);
  align-items: center;
  gap: clamp(36px, 7vw, 100px);
}
.home-inspector-photo {
  display: block;
  width: 100%;
  max-height: 500px;
  object-fit: cover;
  object-position: center 28%;
  border: 1px solid rgba(188, 216, 232, .26);
  border-radius: 5px;
}
.inspector-profile {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .85fr);
  align-items: start;
  gap: clamp(36px, 6vw, 84px);
}
.about-inspector-photo {
  display: block;
  width: 100%;
  max-height: 680px;
  object-fit: cover;
  object-position: 38% center;
  border: 1px solid var(--line);
  border-radius: 5px;
}

/* English inspection request form */
.request-page-hero {
  color: #fff;
  background: linear-gradient(115deg, rgba(5, 35, 58, .97), rgba(14, 83, 124, .88));
}
.request-page-hero h1,
.request-page-hero .lead { color: #fff; }
.request-page { background: #f4f7f9; }
.request-intro { max-width: 900px; margin-bottom: 34px; }
.request-notice {
  margin-top: 22px;
  padding: 18px 20px;
  border-left: 4px solid var(--blue);
  background: #e7f1f7;
}
.request-form { display: grid; gap: 24px; max-width: 1120px; }
.request-section {
  min-width: 0;
  margin: 0;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.request-section > legend {
  padding: 0 10px;
  color: var(--navy);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 700;
}
.request-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.request-form label { display: grid; gap: 8px; color: var(--navy); font-weight: 700; }
.request-form input,
.request-form select,
.request-form textarea { margin: 0; background: #fff; }
.request-full { grid-column: 1 / -1; }
.request-choice-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.request-choice-group > legend { margin-bottom: 10px; color: var(--navy); font-weight: 700; }
.request-options { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.request-options label,
.request-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 600;
}
.request-options input,
.request-consent input { width: auto; min-width: 18px; height: 18px; margin: 3px 0 0; }
.request-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
.request-consent {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.request-consent strong,
.request-form label > span { color: #a92929; }
.request-submit { display: flex; flex-wrap: wrap; gap: 12px; }
.request-next-step {
  padding: 22px;
  border: 1px solid #72a9ca;
  border-radius: 6px;
  background: #e7f3fa;
}
.request-next-step[hidden] { display: none; }
.request-next-step h2 { margin-bottom: 8px; font-size: 24px; }
.request-next-step p { margin: 0; }
.request-next-step a { font-weight: 700; }
@media (width <= 700px) {
  header { z-index: 50; padding-inline: 12px; gap: 8px; }
  header > .btn { display: none; position: static; }
  .brand { margin-right: auto; min-width: 0; }
  .brand-logo { width: 104px; height: 60px; }
  .language { display: flex; align-items: center; margin-left: 0; font-size: 14px; }
  .language button { min-width: 38px; min-height: 44px; padding: 6px 4px; }
  .menu { width: 48px; padding: 8px 4px; font-size: 0; }
  .menu::before { content: "☰"; font-size: 24px; line-height: 1; }
  nav { z-index: 60; top: 72px; max-height: calc(100dvh - 72px); padding: 16px 20px 24px; gap: 0; overflow-y: auto; }
  nav a { border-bottom: 1px solid var(--line); min-height: 48px; padding: 12px 4px; font-size: 16px; }
  nav .mobile-request { display: flex; justify-content: center; color: #fff; background: var(--blue); border-radius: 5px; margin-top: 14px; }
  nav .mobile-call { display: flex; justify-content: center; color: var(--navy); background: #fff; border: 1px solid #92a7b5; border-radius: 5px; margin-top: 10px; }
  .hero .trust { font-size: 14px; }
  footer { padding-bottom: 32px; }
  .feature-heading { align-items: flex-start; }
  .feature-heading h2 { flex-basis: 190px; }
  .feature-read-more { min-width: 120px; }
  .buyer-guide-band { min-height: 340px; }
  .buyer-guide-band { background-position: 64% center; }
  .learning-detail-banner {
    min-height: 330px;
    background-position: 56% center;
  }
  .approach-section .steps article { padding: 24px 20px; }
  .about,
  .inspector-profile { grid-template-columns: 1fr; }
  .home-inspector-photo,
  .about-inspector-photo { max-height: 520px; }
  .request-grid,
  .request-services { grid-template-columns: 1fr; }
  .request-full { grid-column: auto; }
  .request-options { flex-direction: column; gap: 12px; }
  .request-submit .btn { width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }

/* Banner Batch: supplied artwork only; the left-side gradient is part of each image. */
.hero { background-color: #092a47; }
.hero::before {
  inset: 0;
  filter: none;
  transform: none;
  background: url('/banner-batch-home.png') left center / cover no-repeat;
}
.hero::after { content: none; }
.hero h1, .hero .lead, .hero .eyebrow, .hero .trust { color: #fff; }

.sub-banner-residential,
.sub-new-construction,
.sub-banner-wdi,
.sub-banner-sewer,
.sub-banner-warranty,
.sub-banner-iaq,
.sub-banner-learning,
.sub-banner-about {
  background-color: #092a47;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
}
.sub-banner-residential { background-image: url('/banner-batch-residential.png'); }
.sub-new-construction { background-image: url('/banner-batch-new-construction.png'); }
.sub-banner-wdi { background-image: url('/banner-batch-wdi.png'); }
.sub-banner-sewer { background-image: url('/banner-batch-sewer.png'); }
.sub-banner-warranty { background-image: url('/banner-batch-warranty.png'); }
.sub-banner-iaq { background-image: url('/banner-batch-iaq.png'); }
.sub-banner-learning { background-image: url('/banner-batch-learning.png'); }
.sub-banner-about { background-image: url('/banner-batch-about.png'); }

.sub-banner-residential::before, .sub-banner-residential::after,
.sub-new-construction::before, .sub-new-construction::after,
.sub-banner-wdi::before, .sub-banner-wdi::after,
.sub-banner-sewer::before, .sub-banner-sewer::after,
.sub-banner-warranty::before, .sub-banner-warranty::after,
.sub-banner-iaq::before, .sub-banner-iaq::after,
.sub-banner-learning::before, .sub-banner-learning::after,
.sub-banner-about::before, .sub-banner-about::after { content: none; }

.sub-banner-residential h1, .sub-banner-residential .lead, .sub-banner-residential .eyebrow,
.sub-new-construction h1, .sub-new-construction .lead, .sub-new-construction .eyebrow,
.sub-banner-wdi h1, .sub-banner-wdi .lead, .sub-banner-wdi .eyebrow,
.sub-banner-sewer h1, .sub-banner-sewer .lead, .sub-banner-sewer .eyebrow,
.sub-banner-warranty h1, .sub-banner-warranty .lead, .sub-banner-warranty .eyebrow,
.sub-banner-iaq h1, .sub-banner-iaq .lead, .sub-banner-iaq .eyebrow,
.sub-banner-learning h1, .sub-banner-learning .lead, .sub-banner-learning .eyebrow,
.sub-banner-about h1, .sub-banner-about .lead, .sub-banner-about .eyebrow { color: #fff; }
