/* Lower homepage composition: local, editorial, and deliberately source-backed. */
body.home-reference > section#home-lower-section.home-lower-section { display: block !important; }
body.home-reference .home-lower-discovery .home-discovery .approved-local-sidebar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "topics faq";
  gap: 18px;
}
body.home-reference .home-lower-discovery .approved-local-faq { grid-area: faq; }
body.home-reference .home-lower-discovery .approved-local-topics { grid-area: topics; }
body.home-reference .home-lower-discovery .approved-local-faq details > summary {
  position: relative;
  display: block;
  padding: 12px 28px 12px 30px !important;
  font-size: 14px;
  line-height: 1.5;
}
body.home-reference .home-lower-discovery .approved-local-faq details > summary::before {
  position: absolute;
  left: 0;
  top: 14px;
  transform: none;
}
body.home-reference .home-lower-reviews #testimonials .t-track {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px;
}
body.home-reference .home-lower-reviews #testimonials .t-card {
  width: auto !important;
  min-width: 0;
  max-width: none;
  padding: 15px;
}
body.home-reference .home-lower-section {
  --lower-ink: #123f70;
  --lower-blue: #0877c4;
  --lower-orange: #f15a24;
  --lower-line: #dce9f2;
  padding: clamp(28px, 5vw, 66px) clamp(16px, 3.3vw, 46px);
  background:
    radial-gradient(ellipse at 12% 12%, rgba(255,255,255,.92), transparent 42%),
    #eaf4fa;
}
body.home-reference .home-lower-grid {
  display: grid;
  grid-template-columns: minmax(220px, .76fr) minmax(260px, .94fr) minmax(290px, 1.16fr);
  align-items: start;
  gap: clamp(16px, 2vw, 28px);
  max-width: 1348px;
  margin-inline: auto;
}
body.home-reference .home-lower-about {
  min-width: 0;
  padding: clamp(18px, 2vw, 27px);
  border: 1px solid rgba(207,225,238,.88);
  border-radius: 13px;
  background: rgba(255,255,255,.8);
  box-shadow: 0 12px 34px rgba(31,78,112,.055);
}
body.home-reference .home-lower-about-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
body.home-reference .home-lower-kicker {
  color: var(--lower-blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.home-reference .home-lower-initials {
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--lower-ink);
  font: 800 12px/1 'Poppins', sans-serif;
  letter-spacing: .04em;
}
body.home-reference .home-lower-about .about-headline {
  margin: 0 0 17px;
  color: var(--lower-ink);
  font: 800 clamp(22px, 2vw, 29px)/1.12 'Poppins', sans-serif;
  letter-spacing: -.045em;
}
body.home-reference .home-lower-work-photo {
  margin: 0 0 17px;
  overflow: hidden;
  border-radius: 9px;
  background: #dfeef7;
}
body.home-reference .home-lower-work-photo img {
  display: block;
  width: 100%;
  height: clamp(145px, 15vw, 205px);
  object-fit: cover;
  object-position: center 53%;
}
body.home-reference .home-lower-work-photo figcaption {
  padding: 8px 11px;
  color: #5a7286;
  background: #f7fbfd;
  font-size: 10px;
  line-height: 1.35;
}
body.home-reference .home-lower-about .home-lower-intro,
body.home-reference .home-lower-about .home-lower-detail {
  margin: 0 0 11px;
  color: #385c78;
  font-size: 13px;
  line-height: 1.62;
}
body.home-reference .home-lower-about .home-lower-intro strong { color: var(--lower-ink); }
body.home-reference .home-lower-actions {
  display: grid;
  gap: 9px;
  margin-top: 19px;
}
body.home-reference .home-lower-phone,
body.home-reference .home-lower-more {
  display: flex;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 7px;
  text-align: center;
  text-decoration: none;
  font-size: 13px;
  font-weight: 750;
  transition: transform .16s ease, background-color .16s ease;
}
body.home-reference .home-lower-phone {
  color: #fff;
  background: var(--lower-orange);
}
body.home-reference .home-lower-more {
  border: 1px solid #cddfea;
  color: var(--lower-ink);
  background: #fff;
}
body.home-reference .home-lower-phone:hover,
body.home-reference .home-lower-more:hover { transform: translateY(-2px); }
body.home-reference .home-lower-more:hover { background: #f5fafc; }

/* Keep the generated review cards and their source markup untouched. */
body.home-reference .home-lower-reviews,
body.home-reference .home-lower-discovery { min-width: 0; }
body.home-reference .home-lower-reviews #testimonials {
  padding: 0;
  border: 1px solid var(--lower-line);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(31,78,112,.055);
}
body.home-reference .home-lower-reviews .testimonials-inner { padding: clamp(17px, 2vw, 25px); }
body.home-reference .home-lower-reviews .home-google-heading {
  display: block;
  margin-bottom: 17px;
}
body.home-reference .home-lower-reviews #home-google-title {
  margin: 0 0 5px;
  color: var(--lower-ink);
  font: 800 clamp(21px, 1.8vw, 27px)/1.15 'Poppins', sans-serif;
  letter-spacing: -.04em;
}
body.home-reference .home-lower-reviews .home-google-tagline {
  margin: 0 0 5px;
  color: #385c78;
  font-size: 12px;
  font-weight: 700;
}
body.home-reference .home-lower-reviews .home-google-heading > div > p:last-child {
  margin: 0;
  color: #6a8193;
  font-size: 11px;
}
body.home-reference .home-lower-reviews .home-google-score {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 9px;
  margin-top: 13px;
  padding: 10px 12px;
  border-radius: 7px;
  background: #f0f7fb;
}
body.home-reference .home-lower-reviews .home-google-score strong {
  color: var(--lower-ink);
  font: 800 21px/1 'Poppins', sans-serif;
}
body.home-reference .home-lower-reviews .home-google-score span {
  color: #55728a;
  font-size: 10px;
}
body.home-reference .home-lower-reviews .home-google-score a {
  flex-basis: 100%;
  color: var(--lower-blue);
  font-size: 10px;
  font-weight: 700;
}
body.home-reference .home-lower-reviews .t-track-wrap { overflow: visible; }
body.home-reference .home-lower-reviews .t-track {
  display: grid;
  gap: 9px;
  transform: none !important;
}
body.home-reference .home-lower-reviews .t-card {
  width: 100%;
  min-width: 0;
  padding: 13px;
  border: 1px solid #e6eef4;
  border-radius: 8px;
  background: #fbfdfe;
}
body.home-reference .home-lower-reviews .t-card blockquote p {
  margin: 7px 0;
  color: #3e5f79;
  font-size: 12px;
  line-height: 1.55;
}
body.home-reference .home-lower-reviews .home-google-author {
  margin: 0 0 5px;
  color: var(--lower-ink);
  font-size: 11px;
  font-weight: 750;
}
body.home-reference .home-lower-reviews .t-card > a {
  color: var(--lower-blue);
  font-size: 10px;
  font-weight: 650;
}
body.home-reference .home-lower-reviews .home-google-source-date {
  margin: 12px 0 0;
  color: #72889a;
  font-size: 9px;
  line-height: 1.5;
}

/* The original topic/FAQ nodes, controls, fallback and data attributes remain in place. */
body.home-reference .home-lower-discovery .home-discovery {
  display: block;
  padding: 0;
  background: transparent;
}
body.home-reference .home-lower-discovery .approved-local-sidebar {
  display: grid;
  gap: 12px;
}
body.home-reference .home-lower-discovery .approved-local-topics,
body.home-reference .home-lower-discovery .approved-local-faq {
  min-width: 0;
  margin: 0;
  padding: clamp(15px, 1.7vw, 22px);
  border: 1px solid var(--lower-line);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(31,78,112,.055);
}
body.home-reference .home-lower-discovery .approved-topics-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
body.home-reference .home-lower-discovery .approved-topics-heading h3 {
  margin: 0;
  color: var(--lower-ink);
  font: 800 clamp(17px, 1.5vw, 21px)/1.2 'Poppins', sans-serif;
  letter-spacing: -.03em;
}
body.home-reference .home-lower-discovery .approved-list-search {
  margin-top: 11px;
}
body.home-reference .home-lower-discovery .approved-list-search input {
  min-width: 0;
  border-color: #cbdde9;
  border-radius: 6px;
  background: #f8fbfd;
}
body.home-reference .home-lower-discovery .approved-list-search button,
body.home-reference .home-lower-discovery .approved-topics-controls button {
  border-radius: 6px;
}
body.home-reference .home-lower-discovery #home-topics-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 10px;
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}
body.home-reference .home-lower-discovery #home-topics-list a,
body.home-reference .home-lower-discovery #home-topics-list .approved-topic-pending {
  display: block;
  padding: 5px 0;
  color: #315b7b;
  font-size: 11px;
  line-height: 1.35;
  text-decoration: none;
}
body.home-reference .home-lower-discovery #home-topics-list a:hover { color: var(--lower-orange); }
body.home-reference .home-lower-discovery #home-faq-list { margin-top: 12px; }
body.home-reference .home-lower-discovery .approved-local-faq details[data-faq] {
  margin: 0;
  border-top: 1px solid #e7eef3;
}
body.home-reference .home-lower-discovery .approved-local-faq details[data-faq] > summary {
  padding: 11px 20px 11px 0;
  color: #234e72;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
body.home-reference .home-lower-discovery .approved-local-faq .approved-local-answer {
  padding: 0 0 11px;
  color: #55728a;
  font-size: 11px;
  line-height: 1.5;
}
body.home-reference .home-lower-discovery .approved-local-faq .approved-local-answer p { margin: 0 0 7px; }
body.home-reference .home-lower-discovery .approved-local-faq .approved-local-answer a {
  color: var(--lower-blue);
  font-weight: 700;
}
body.home-reference .home-lower-discovery .approved-topics-controls {
  margin-top: 11px;
  padding-top: 9px;
  border-top: 1px solid #e7eef3;
}
body.home-reference .home-lower-discovery .approved-faq-fallback,
body.home-reference .home-lower-discovery .approved-topics-fallback {
  margin-top: 10px;
  color: var(--lower-blue);
  font-size: 11px;
}

@media (max-width: 1000px) {
  body.home-reference .home-lower-grid {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  }
  body.home-reference .home-lower-discovery { grid-column: 1 / -1; }
  body.home-reference .home-lower-discovery .approved-local-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "topics faq";
    align-items: start;
  }
}
@media (max-width: 700px) {
  body.home-reference .home-lower-section { padding: 25px 13px; }
  body.home-reference .home-lower-grid { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  body.home-reference .home-lower-discovery { grid-column: auto; }
  body.home-reference .home-lower-discovery .home-discovery .approved-local-sidebar {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "topics" "faq";
  }
  body.home-reference .home-lower-work-photo img { height: clamp(170px, 58vw, 260px); }
  body.home-reference .home-lower-discovery #home-topics-list { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  body.home-reference .home-lower-section *,
  body.home-reference .home-lower-section *::before,
  body.home-reference .home-lower-section *::after { transition-duration: .01ms !important; }
}
