/* Instalación residencial: misma identidad visual que Tableros e Iluminarias. */
.residential-page .inner-hero h1 { font-size: clamp(38px, 3.9vw, 58px); }
.residential-page .boards-hero-photo img { display: block; aspect-ratio: auto; height: auto; }
.residential-gallery { display: grid; grid-template-columns: .85fr 1.15fr; gap: 26px; }
.residential-gallery .boards-gallery-card { height: 100%; box-shadow: 0 10px 30px #03113307; }
.residential-gallery .boards-photo-link { display: flex; align-items: center; justify-content: center; background: #f1f3f6; }
.residential-gallery .boards-gallery-card img { display: block; width: 100%; height: 500px; aspect-ratio: auto; max-height: none; object-fit: contain; }
.residential-gallery .boards-gallery-card:last-child { grid-column: 1/-1; display: grid; grid-template-columns: 1.12fr 1fr; align-items: stretch; }
.residential-gallery .boards-gallery-card:last-child img { height: auto; aspect-ratio: auto; }
.residential-gallery .boards-gallery-card:last-child figcaption { display: flex; flex-direction: column; justify-content: center; padding: 34px; }
.residential-gallery figcaption { padding: 25px 27px 28px; }
.residential-category { display: inline-block; align-self: start; margin-bottom: 11px; padding: 4px 9px; border-radius: 4px; background: #fff5d5; color: #775300; font-size: 11px; line-height: 1.4; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.residential-gallery h3 { font-size: 22px; line-height: 1.25; margin-bottom: 11px; }
.residential-gallery p { line-height: 1.65; }
.residential-page .boards-service { display: flex; flex-direction: column; }
.residential-service-link { display: inline-flex; align-items: center; gap: 8px; padding-top: 21px; margin-top: auto; color: var(--blue); font-size: 15px; font-weight: 700; text-underline-offset: 4px; }
.residential-service-link:hover { text-decoration: underline; }
.residential-project-note { margin-top: 32px; padding: 25px 28px; display: flex; justify-content: space-between; align-items: center; gap: 28px; border: 1px solid var(--yellow); border-radius: 12px; background: #fff9e9; }
.residential-project-note p { margin: 0; font-size: 17px; max-width: 790px; }
.residential-project-note strong { color: var(--navy); }
.residential-project-note a { color: var(--navy); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; flex-shrink: 0; }
.residential-overview { display: grid; grid-template-columns: 1.25fr 1fr; gap: 45px; padding: 40px; background: var(--navy); border-radius: 20px; border-top: 5px solid var(--yellow); color: #d6dfef; align-items: center; }
.residential-overview h2 { color: #fff; margin: 0 0 18px; }
.residential-overview .page-eyebrow { color: var(--yellow); }
.residential-overview-copy > p { font-size: 17px; }
.residential-concept { margin: 24px 0 0; }
.residential-concept img { display: block; width: 100%; height: auto; border-radius: 10px; }
.residential-concept figcaption { margin-top: 10px; font-size: 13px; color: #bdc9df; }
.residential-page .boards-sources { color: #637087; }
.residential-page a:focus-visible, .residential-page button:focus-visible, .residential-page summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
@media (max-width: 1100px) {
  .residential-project-note { align-items: flex-start; flex-direction: column; gap: 16px; }
  .residential-overview { gap: 32px; padding: 32px; }
  .residential-gallery .boards-gallery-card img { height: 430px; }
}
@media (max-width: 850px) {
  .residential-page .inner-hero h1 { font-size: 46px; }
  .residential-gallery { gap: 20px; grid-template-columns: 1fr 1fr; }
  .residential-gallery figcaption { padding: 21px; }
  .residential-gallery h3 { font-size: 20px; }
  .residential-gallery .boards-gallery-card:last-child { grid-template-columns: 1fr; }
  .residential-gallery .boards-gallery-card:last-child figcaption { padding: 24px; }
  .residential-overview { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 600px) {
  .residential-page .inner-hero h1 { font-size: clamp(34px, 9vw, 44px); }
  .residential-gallery { grid-template-columns: 1fr; }
  .residential-gallery .boards-gallery-card img { height: auto; max-height: 540px; }
  .residential-gallery .boards-gallery-card:last-child { display: block; }
  .residential-gallery figcaption { padding: 23px; }
  .residential-gallery h3 { font-size: 22px; }
  .residential-project-note { padding: 23px; }
  .residential-overview { padding: 27px 23px; border-radius: 16px; }
}
