/* October 2026: prose alignment, shared FAQs and consistent contact typography. */
html body.project-page main,
html body.project-page p,
html body.project-page .suggested-copy,
html body.project-page .suggested-copy > h2 {
  text-align: center !important;
  text-align-last: auto;
  overflow-wrap: break-word;
}
/* Keep headings, captions and navigation centred with the body copy. */
html body.project-page :is(h1, h2, h3, h4, figcaption, .standalone-link) {
  text-align: center !important;
  text-align-last: auto;
}
html body.project-page :is(nav, .btn-container, .video-pricing-link, figcaption) p,
html body.project-page :is(.email-text-wrap, .footer-address) {
  text-align: center !important;
  text-align-last: auto;
}
.construction-faq-section {
  box-sizing: border-box;
  max-width: 824px;
  margin: 15px auto;
  padding: 0 12px;
  scroll-margin-top: 15px;
}
.construction-faq-section .faq-container { margin: 15px auto; }
.construction-faq-section .faq-item summary {
  text-align: center;
  line-height: 1.5;
}
.construction-faq-section .faq-item summary:focus-visible {
  outline: 2px solid #ffcc00;
  outline-offset: 5px;
}
html body .construction-faq-section .faq-item p {
  max-width: none;
  line-height: 1.65;
}
/* Keep ordinary contact copy regular; reserve bold for the key word and button. */
html body footer.site-contact-footer {
  font-family: Inter, Arial, sans-serif;
  font-weight: 400;
  text-align: center;
}
html body footer.site-contact-footer :is(p, h3) {
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.6;
  color: #eeeeee !important;
}
html body footer.site-contact-footer h3 { text-align: center !important; }
html body footer.site-contact-footer .project-description {
  text-align: center !important;
  text-align-last: auto;
}
html body footer.site-contact-footer strong { font-weight: 700; }
html body footer.site-contact-footer .cta-button {
  font-size: 1rem !important;
  font-weight: 700 !important;
}
html body footer.site-contact-footer .email-text-wrap,
html body footer.site-contact-footer .email-text-wrap :is(a, span) {
  font-size: 1rem !important;
  font-weight: 400 !important;
  overflow-wrap: anywhere;
}
html body footer.site-contact-footer .footer-address {
  font-size: .8rem !important;
  font-weight: 400 !important;
  color: #bbbbbb !important;
  line-height: 1.4;
}
/* A single, predictable gap immediately above each contact box. */
html body .video-pricing-link { margin: 15px auto !important; text-align: center; }
html body .video-pricing-link + footer.site-contact-footer { margin-top: 15px !important; }
/* Rhodes embeds share the same widescreen frame and outside spacing. */
html body.rhodes-page .video-container {
  aspect-ratio: 16 / 9;
  height: auto;
  padding-block: 0;
  margin-block: 15px !important;
}

/* Native disclosures keep each FAQ section closed until its gold button is used. */
.faq-disclosure {
  margin: 15px auto;
  text-align: center;
}
html body .faq-disclosure > .faq-toggle,
html body a.faq-link[href] {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 44px !important;
  margin-inline: auto;
  padding: 8px 14px !important;
  border: 1px solid #ffcc00 !important;
  border-radius: 5px;
  background: #ffcc00 linear-gradient(#ffcc00, #ffcc00) !important;
  color: #000 !important;
  font: 700 1rem/1.4 Inter, Arial, sans-serif;
  text-align: center !important;
  text-decoration: none !important;
  list-style: none;
  cursor: pointer;
  forced-color-adjust: none;
  -webkit-tap-highlight-color: transparent;
}
.faq-toggle::-webkit-details-marker { display: none; }
.faq-toggle::marker { content: ""; }
html body .faq-disclosure > .faq-toggle h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: 1.15rem;
  line-height: 1.4;
  text-align: center !important;
}
html body a.faq-link[href] span { color: inherit !important; }
.faq-arrow { font-size: 1.35em; line-height: 1; }
.faq-label { min-width: 0; overflow-wrap: break-word; }
html body .faq-disclosure > .faq-toggle:is(:hover, :focus-visible),
html body a.faq-link[href]:is(:hover, :focus-visible) {
  box-shadow: 0 0 10px rgba(255, 204, 0, .45);
}
html body .faq-disclosure > .faq-toggle:focus-visible,
html body a.faq-link[href]:focus-visible,
html body .faq-item > summary:focus-visible {
  outline: 2px solid #ffcc00 !important;
  outline-offset: 4px;
}
html body .faq-disclosure .faq-container { margin: 15px auto; }
html body .faq-disclosure :is(.faq-container, .faq-item > summary, .faq-item p) {
  text-align: center !important;
  text-align-last: auto;
}
@media (max-width: 500px) {
  html body .faq-disclosure > .faq-toggle,
  html body a.faq-link[href] { gap: 8px; padding: 8px 10px !important; }
  html body .faq-disclosure > .faq-toggle h2 { font-size: 1rem; }
}
