.nosotros-contenido { background: #fff; color: var(--texto-oscuro); }
.nosotros-ancho { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.nosotros-historia { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: center; padding-block: var(--espacio-seccion, 64px); }
.nosotros-etiqueta { display: block; color: #722f37; font-size: .72rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 14px; }
.nosotros-contenido h2 { font-family: 'Playfair Display', serif; color: #722f37; font-size: var(--titulo-seccion, 2rem); line-height: 1.3; margin: 0 0 22px; text-wrap: balance; }
.nosotros-contenido p { font-size: .98rem; line-height: 1.85; color: #655c58; margin: 0 0 18px; }
.nosotros-relato blockquote { margin: 28px 0 0; border-left: 3px solid #b38b60; padding: 4px 0 4px 20px; font-family: 'Playfair Display', serif; font-size: 1.25rem; line-height: 1.6; color: #722f37; }
.nosotros-contenido figure { margin: 0; }
.nosotros-foto-principal { border-radius: 20px; overflow: hidden; background: #fdf8f5; border: 1px solid #eee5df; }
.nosotros-foto-principal img { display: block; width: 100%; height: 440px; object-fit: cover; }
.nosotros-foto-principal figcaption { padding: 16px 20px; }
.nosotros-foto-principal strong { display: block; font-size: .85rem; color: #722f37; }
.nosotros-contenido figcaption a { display: inline-block; color: #74645d; font-size: .68rem; text-underline-offset: 3px; }
.nosotros-paisajes { padding-block: var(--espacio-seccion, 64px); background: #fdf8f5; }
.nosotros-seccion-intro { max-width: 720px; text-align: center; margin: 0 auto 32px; }
.nosotros-galeria { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 28px) / 2); gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; }
.nosotros-galeria + .nosotros-carrusel-controles { margin-top: 32px; }
.nosotros-galeria > figure { scroll-snap-align: start; min-width: 0; }
.nosotros-galeria { scrollbar-width: none; -ms-overflow-style: none; }
.nosotros-galeria::-webkit-scrollbar { display: none; }
.nosotros-carrusel-controles { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-bottom: 20px; }
.nosotros-carrusel-controles span { color: #776860; font-size: .78rem; font-variant-numeric: tabular-nums; }
.nosotros-flecha { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #dac7c5; border-radius: 50%; background: #fff; color: #722f37; font-size: 1.4rem; cursor: pointer; }
.nosotros-flecha:hover:not(:disabled) { background: #722f37; color: #fff; }
.nosotros-flecha:disabled { opacity: .35; cursor: default; }
.nosotros-flecha:focus-visible, .nosotros-galeria:focus-visible { outline: 3px solid #b38b60; outline-offset: 3px; }
.nosotros-galeria figure { background: #fff; border: 1px solid #eee5df; border-radius: 20px; overflow: hidden; }
.nosotros-galeria img { width: 100%; height: 280px; object-fit: cover; display: block; }
.nosotros-galeria figcaption { padding: 24px; }
.nosotros-galeria h3 { margin: 0 0 10px; font-family: 'Playfair Display', serif; color: #722f37; font-size: 1.45rem; line-height: 1.35; }
.nosotros-galeria p { margin-bottom: 14px; }
.nosotros-invitacion { padding-block: var(--espacio-seccion, 64px); text-align: center; }
.nosotros-invitacion p { max-width: 680px; margin: 0 auto 28px; }
.nosotros-acciones { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.nosotros-acciones a { border-radius: 12px; }
.nosotros-acciones .btn-secondary { border: 1px solid #722f37; color: #722f37; }
.nosotros-acciones a:focus-visible { outline: 3px solid #b38b60; outline-offset: 4px; }
@media (min-width: 769px) and (max-width: 1024px) {
    .nosotros-galeria { grid-auto-columns: calc((100% - 28px) / 2); }
}
@media (max-width: 768px) {
    .nosotros-historia { grid-template-columns: 1fr; }
    .nosotros-foto-principal img { height: 320px; }
    .nosotros-galeria { grid-auto-columns: 100%; gap: 20px; }
    .nosotros-galeria img { height: 240px; }
    .nosotros-acciones { flex-direction: column; align-items: stretch; max-width: 360px; margin-inline: auto; }
}
