/* /pedido CTA blocks: the wizard's .button-container right-aligns (it held the
   "Next" button); the standalone CTA reads better anchored to the text column */
.button-container.cta-left { justify-content: flex-start; }
.divider-line-outer.cta-divider { margin: 3.5rem 0 3rem; }
.info_point_row_container.contact-points {
  max-width: 100%; align-items: flex-start; grid-column-gap: 3rem; grid-row-gap: 2rem;
  margin-bottom: 2.5rem; padding-right: 0;
}
.info_point_row_container.contact-points .info_point_container { max-width: 18rem; }
@media screen and (max-width: 767px) {
  .info_point_row_container.contact-points { flex-flow: column; }
  .info_point_row_container.contact-points .info_point_container { max-width: 100%; }
}

/* Touch fix for the "construction zones" reveal (deep-research, high-confidence,
   WCAG 1.4.13): the 3 columns reveal their image on mouseover only — broken on
   touch (esp. iPad landscape >991px, where the desktop hover layout is shown to
   a touch device and the image stays display:none). On any non-hover/coarse
   pointer, show the always-visible image the site already ships and drop the
   hover container. Mouse/fine-pointer behaviour is untouched. */
@media (hover: none), (pointer: coarse) {
  .col_3_item .about_img_container { display: none !important; }
  .col_3_item .about_img_container_mobile,
  .col_3_item .about_img_container_inner_mobile { display: block !important; }
  .col_3_item .about_col_hover { display: none !important; }
  /* uniform crop: each image follows its own natural ratio, so heights drift
     (212/211/194px). Lock all three to one proportion and cover-crop. */
  .col_3_item .about_img_container_inner_mobile {
    aspect-ratio: 4 / 3; height: auto !important; overflow: hidden;
  }
  .col_3_item .about_img_container_mobile img {
    width: 100%; height: 100%; object-fit: cover; display: block;
  }
}
/* Equal-height column titles so the always-visible images align horizontally
   when the 3 zones sit side by side on touch (PT "Propriedades Residenciais e
   de Assinatura" wraps to 3 lines vs 2 on others at iPad-landscape widths,
   pushing its image down). Touch + row layout only — desktop mouse untouched. */
@media (pointer: coarse) and (min-width: 992px) {
  .col_3_item h3 { min-height: 3.3em; }
}
/* Homepage services band: was a 350dvh sticky video scrubber; now a concise
   design-build statement. Collapse the fixed height and lay out the statement. */
.section_services { height: auto !important; padding-bottom: 6rem; }
.wn-services-statement { display: flex; flex-direction: column; gap: 1.5rem; margin-top: 2.5rem; }
.wn-services-pillars { display: flex; flex-wrap: wrap; gap: 2.5rem; margin-top: 0.5rem; }
.wn-services-pillars > div { font-size: 1.25rem; font-weight: 600; }
.wn-services-pillars .text-style-standout { margin-right: 0.4rem; }
@media screen and (max-width: 767px) {
  .wn-services-pillars { flex-direction: column; gap: 1rem; }
}
/* Landing-page language switcher (the policy skeleton ships none). Sits with the
   desktop nav links; small, uppercase, current locale emphasized. */
.wn-lang-switch { display: inline-flex; align-items: center; margin-top: 0.75rem; font-size: 0.8rem; letter-spacing: 0.05em; }
.wn-lang-switch .wn-lang-link { color: inherit; opacity: 0.55; text-decoration: none; text-transform: uppercase; transition: opacity 0.2s; }
.wn-lang-switch .wn-lang-link + .wn-lang-link { margin-left: 0.75rem; }
.wn-lang-switch .wn-lang-link:hover { opacity: 1; }
.wn-lang-switch .wn-lang-current { opacity: 1; font-weight: 600; }
