/* Shared heading accents and restrained secondary brand colors. */
/* Consistent reading typography, including cards, forms and footer. */
body .section p,
body .section li,
body .section td,
body .section th,
body .section input,
body .section select,
body .section textarea,
body .section button,
body .section a,
body .site-footer p,
body .site-footer small {
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}
.section input, .section select, .section textarea { min-width: 0; }
.site-header .brand { width: 116px; height: 76px; }
.site-header { gap: 26px; }
h1::after, h2::after, h3::after {
  content: "";
  display: block;
  width: 52px;
  height: 3px;
  background: var(--blue);
  margin: 14px 0 18px;
}
.accent-line { display: none; }
.section-intro h2::after, .location-heading h2::after, .brand-card h3::after { margin-left: auto; margin-right: auto; }
.leasing-layout h2::after { margin-left: 0; }
.location-benefits h3::after,
.brand-card h3::after,
.footer-identity h3::after { display: none; }
.eyebrow::after { display: none; }
.hero-content { padding-top: 95px; }
.hero h1 { margin-top: 24px; margin-bottom: 18px; }
.leasing.section-muted { background: #f7f3ef; }
.brands .brand-logo { border-color: rgba(166,123,91,.25); box-shadow: 0 5px 16px rgba(166,123,91,.07); border-radius: 8px; }
.contact-form { border-top-color: var(--tan); }
.main-nav a:hover { text-decoration: underline; text-decoration-color: var(--tan); text-underline-offset: 8px; }

/* Warm, spacious footer. Blend white image backgrounds into the surface
   without changing the original brand image files. */
.site-footer { background: #f3eae2; color: #30291f; border-top: 5px solid var(--tan); }
.site-footer .footer-content { grid-template-columns: 1fr 1.15fr; gap: 64px; }
.site-footer .footer-content p, .site-footer .footer-content small { color: #443a30; }
.site-footer .footer-content h3 { color: var(--green); }
.site-footer .footer-logo { width: 185px; height: 112px; margin-bottom: 12px; background: transparent; }
.site-footer .footer-logo img, .site-footer .footer-developers img { mix-blend-mode: multiply; }
.site-footer .footer-developers { gap: 24px; flex-wrap: wrap; }
.site-footer .footer-nagui { width: 130px; height: 76px; background: transparent; }
.site-footer .footer-terrafirm { width: 150px; height: 55px; object-fit: contain; background: transparent; }
.site-footer .footer-invitation { background: rgba(255,255,255,.5); border-radius: 20px; padding: 32px; }
.site-footer .footer-invitation > p { color: var(--green); font-size: clamp(20px, 2vw, 26px); }
.footer-socials a, .footer-socials .social-pending { color: var(--tan); border-color: rgba(166,123,91,.3); background: #fff; }
.footer-socials a:hover, .footer-socials a:focus-visible { background: var(--tan); color: #fff; }
.footer-bottom { border-top-color: rgba(166,123,91,.3); }
.site-footer .copyright { color: #443a30; }
@media (max-width: 1200px) and (min-width: 781px) {
  .site-header { gap: 16px; }
  .main-nav { gap: 14px; }
  .main-nav a { font-size: 11px; letter-spacing: .5px; }
  .site-header .brand { width: 102px; }
}
@media (max-width: 780px) {
  .site-header .brand { width: 100px; height: 66px; }
  .hero-content { padding-top: 85px; }
}
@media (max-width: 700px) {
  .site-footer .footer-content { grid-template-columns: 1fr; gap: 28px; }
  .site-footer .footer-invitation { padding: 24px; }
}

/* Keep long copy and embedded content inside the mobile viewport. */
html, body { overflow-x: hidden; }
img, iframe { max-width: 100%; }
.section, .site-footer, .project-copy, .section-intro, .location-heading,
.location-benefits li, .footer-identity, .footer-invitation, .hubspot-form-shell { min-width: 0; }
.section p, .section li, .site-footer p, .site-footer a, .hubspot-form-shell { overflow-wrap: anywhere; }

@media (min-width: 781px) {
  .hero { height: clamp(540px, 44vw, 640px); background-position: center 45%; }
}

@media (max-width: 780px) {
  .section { padding-right: 20px; padding-left: 20px; }
  .hero-content { padding-right: 20px; padding-left: 20px; }
  .location-benefits, .brand-row { margin-right: 0; margin-left: 0; }
  .footer-contact-details a { overflow-wrap: anywhere; }
}
