.brand-logo {
  display: block;
  flex: 0 0 auto;
  height: 84px;
  object-fit: contain;
  width: 84px;
}

.site-header { min-height: 116px; }
.hero { min-height: calc(100vh - 116px); }
.legal-header .site-header { min-height: 100px; }
.legal-header .brand-logo { height: 58px; width: 58px; }
.legal-identity { background: #f4f8fa; border-left: 3px solid #8fd3e8; margin: .8rem 0 2.5rem; padding: 1rem 1.25rem; }
.legal-identity p { margin: 0; }

.brand { min-width: 0; }
.brand-copy { gap: .08rem; min-width: 0; }
.site-header nav,
.header-phone,
.back-link { flex-shrink: 0; }
.site-header nav { margin-left: clamp(1rem, 2vw, 2rem); }

.button.whatsapp { align-items: center; background: #128c7e; color: #fff; display: inline-flex; gap: .55rem; }
.button.whatsapp:hover,
.button.whatsapp:focus-visible { background: #075e54; }

.section-heading > p:last-child { align-self: end; padding-bottom: .35rem; }
.section-summary { align-self: end; color: #425766; display: grid; font-size: 1.14rem; gap: 1.4rem; line-height: 1.6; max-width: 560px; padding-bottom: .35rem; }
.section-summary p { margin: 0; }
.section-summary p:first-child { color: #112b3f; font-size: 1.28rem; font-weight: 700; line-height: 1.5; }
.hero-copy h1 { font-size: clamp(2.35rem, 4.8vw, 4.5rem); letter-spacing: -.055em; line-height: 1.03; }
.services-heading { gap: 0; }
.section-heading-title { background: #112b3f; color: #fff; display: flex; flex-direction: column; justify-content: center; padding: clamp(2.5rem, 5vw, 4.5rem); }
.section-heading-title h2 { margin: 0; }
.services-heading .section-summary { align-self: stretch; background: #f1f6f8; border: 1px solid #d7e4e9; border-left: 0; justify-content: center; max-width: none; padding: clamp(2rem, 4vw, 3.5rem); }
.service-card h3 { margin-top: 1.8rem; }

.hero { grid-template-columns: minmax(270px, 345px) minmax(0, 1fr); }
.support-card { justify-self: start; max-width: 325px; padding: 1.15rem; width: 100%; }
.support-card h2 { font-size: 1.32rem; }
.support-card > p:not(.eyebrow) { font-size: .9rem; margin-bottom: 1rem; }
.support-card input { font-size: 1.12rem; min-height: 45px; }
.support-card button { min-height: 42px; padding-block: .55rem; }
.support-alt { border-top: 1px solid #d7e4e9; margin-top: 1rem; padding-top: .9rem; }
.support-alt > span { color: #6e7e89; display: block; font-size: .72rem; font-weight: 700; margin-bottom: .55rem; text-transform: uppercase; }
.support-alt > div { display: grid; gap: .5rem; grid-template-columns: 1fr 1fr; }
.support-alt a { background: #112b3f; border: 1px solid #112b3f; border-radius: 5px; color: #fff; font-size: .82rem; font-weight: 750; padding: .6rem; text-align: center; }
.support-alt a:hover { background: #0c466d; border-color: #0c466d; }
.mobile-support { display: none; }

.company-band { background: #112b3f; color: #fff; }
.company-inner { align-items: center; display: grid; gap: 5rem; grid-template-columns: 1fr 1fr; margin: 0 auto; max-width: 1200px; padding: clamp(5rem, 9vw, 8rem) 2rem; }
.company-band h2 { font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.05em; line-height: 1.05; margin: 0; }
.company-band .company-copy { color: #c6d4dc; }
.company-band .company-copy h2 { color: #fff; margin-bottom: 2rem; }
.company-band .company-copy p:not(.eyebrow) { margin: 0 0 1.25rem; }
.company-band .site-photo-detail { margin-top: 0; }
.company-band .image-placeholder { border-color: #456276; color: #b7cad5; }

.image-placeholder { align-items: center; background: repeating-linear-gradient(135deg, #f2f7f8, #f2f7f8 12px, #e8f1f3 12px, #e8f1f3 24px); border: 1px dashed #8da8b5; color: var(--muted); display: flex; flex-direction: column; justify-content: center; margin-top: 2rem; min-height: 230px; padding: 2rem; text-align: center; }
.image-placeholder strong { color: var(--ink); display: block; font-size: .9rem; }
.image-placeholder span { display: block; font-size: .78rem; max-width: 520px; }
.image-placeholder-wide { margin: 0 auto; max-width: 1200px; min-height: 300px; }
.site-photo { margin: 0; overflow: hidden; }
.site-photo img { display: block; height: 100%; object-fit: cover; width: 100%; }
.site-photo-wide { aspect-ratio: 8 / 3; margin: 0 auto; max-width: 1200px; }
.site-photo-detail { aspect-ratio: 3 / 2; border: 1px solid #456276; margin-top: 2rem; }

@media (max-width: 600px) {
  .support-card { display: none; }
  .header-phone { display: none; }
  .legal-header .back-link { display: none; }
  .site-header { min-height: 88px; }
  .brand-logo { height: 58px; width: 58px; }
  .legal-header .site-header { min-height: 76px; }
  .legal-header .brand-logo { height: 46px; width: 46px; }
  .section-heading > p:last-child { align-self: start; padding-bottom: 0; }
  .section-summary { align-self: start; padding-bottom: 0; }
  .services-heading .section-summary { border-left: 1px solid #d7e4e9; border-top: 0; }
  .mobile-support { display: grid; }
  .company-inner { gap: 2.5rem; grid-template-columns: 1fr; padding: 5rem 1.25rem; }
  .site-photo-wide { aspect-ratio: 16 / 9; }
}
