/* Cambios solicitados: equipo/reseñas en inicio, mapa compacto y hero móvil. */
.oc58-mobile-search { display: none; }
.oc58-home-team { padding: 64px var(--pad); background: var(--paper, #f7f7f4); color: #071525; }
.oc58-home-team header { max-width: 820px; margin-bottom: 28px; }
.oc58-home-team h2 { font-size: clamp(34px, 4.5vw, 64px); line-height: 1.05; letter-spacing: -.05em; margin: 12px 0; }
.oc58-home-team header > p:not(.eyebrow) { font-size: 16px; line-height: 1.6; }
.oc58-team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 18px; }
.oc58-team-card { min-width: 0; border-bottom: 1px solid #ccd4da; }
.oc58-team-card a { display: block; height: 100%; }
.oc58-team-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 28%; border-radius: 12px; }
.oc58-team-card div { padding: 14px 0 18px; }
.oc58-team-card h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.2; }
.oc58-team-card p { margin: 0; font-size: 14px; line-height: 1.5; color: #3d5365; }
.oc58-team-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 24px; border-bottom: 1px solid #071525; font-size: 14px; }
.oc58-team-card a:focus-visible,.oc58-team-link:focus-visible { outline: 3px solid #226cb5; outline-offset: 4px; }

/* Todas las reseñas originales, con avance suave y controles de lectura. */
.oc58-home-reviews { padding: 56px var(--pad); }
.oc58-home-reviews .oc37-reviews__head { margin-bottom: 20px; gap: 28px; }
.oc58-home-reviews .oc37-reviews__head h2 { font-size: clamp(34px, 4.5vw, 64px); line-height: 1.05; }
.oc58-home-reviews .oc37-reviews__grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 3); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 3px 18px; align-items: stretch; }
.oc58-home-reviews .oc37-review:nth-child(n) { grid-column: auto; min-height: 0; padding: 24px; scroll-snap-align: start; }
.oc58-home-reviews .oc37-review blockquote { font-size: 16px; line-height: 1.65; margin-top: 20px; }
.oc58-home-reviews .oc37-review__avatar { flex-shrink: 0; }
.oc58-review-controls { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 10px; }
.oc58-review-controls button { width: 44px; height: 44px; border: 1px solid #9ecfff; border-radius: 50%; color: #fff; background: transparent; font-size: 22px; cursor: pointer; }
.oc58-review-controls button:disabled { opacity: .35; cursor: default; }
.oc58-review-controls .oc60-review-playback { width: auto; min-width: 106px; padding: 0 16px; border-radius: 22px; font-size: 14px; }
.oc58-review-controls button:focus-visible,.oc58-home-reviews .oc37-reviews__grid:focus-visible { outline: 3px solid #9ecfff; outline-offset: 3px; }

/* Mapa regional: controles conservados en una superficie más contenida. */
.home-page .oc19-map, .page-main > .oc19-map { padding: 44px var(--pad); }
.oc19-map .oc19-map__layout { min-height: 0; grid-template-columns: minmax(320px, .8fr) minmax(0, 1.5fr) !important; }
.oc19-map .oc19-map__panel { min-height: 0; padding: 24px !important; }
.oc19-map .oc19-map__panel h2 { font-size: clamp(28px, 2.5vw, 38px) !important; line-height: 1.05 !important; margin: 8px 0 !important; }
.oc19-map .oc19-map__panel > .eyebrow { margin: 0 0 8px; }
.oc19-map .oc19-map__panel > p:not(.eyebrow) { font-size: 14px; line-height: 1.5; margin: 8px 0; }
.oc19-map .oc19-map__search { margin: 8px 0; }
.oc19-map .oc19-map__tabs { margin: 4px 0 8px; }
.oc19-map .oc19-map__fields { gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.oc19-map input,.oc19-map select,.oc19-map button { min-height: 44px; }
.oc19-map .oc19-map__stats { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-top: 12px; padding-top: 12px; gap: 8px; }
.oc19-map .oc19-map__reset { flex: 1 1 150px; width: auto; margin-top: 0; }
.oc19-map .oc19-map__count b { font-size: 32px; }
.oc19-map .oc19-map__stage { min-height: 440px; }
.oc19-map .oc36-map-area { margin-top: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.oc19-map .oc36-map-area button { flex: 0 0 130px; }
.oc19-map .oc36-map-area__hint { flex: 1 1 160px; margin: 0; font-size: 12px; line-height: 1.45; }
@media (max-width: 1000px) {
  .oc58-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oc58-home-reviews .oc37-reviews__grid { grid-auto-columns: calc((100% - 16px) / 2); }
  .oc19-map .oc19-map__layout { grid-template-columns: 1fr !important; }
  .oc19-map .oc19-map__stage { height: 340px; min-height: 340px; }
}
@media (max-width: 700px) {
  #buscador-inicio, #equipo-inicio, #mapa, #resenas { scroll-margin-top: 96px; }
  /* El video y el formulario son bloques independientes; no hay overlays. */
  .home-hero { display: flex; align-items: flex-end; min-height: 540px !important; min-height: clamp(460px, 90svh, 680px) !important; height: auto !important; }
  .home-hero .home-hero__copy { width: 100%; padding: 108px 18px 28px; }
  .home-hero .home-hero__copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.5; }
  .home-hero .oc33-home-intent { display: none; }
  .oc58-mobile-search { display: block; padding: 18px 18px 8px; background: var(--paper, #f7f7f4); }
  .oc58-mobile-search + .section-paper { padding-top: 40px; }
  .oc58-mobile-search .oc33-home-intent { margin: 0; min-height: 0; }
  .oc58-mobile-search .oc36-hero-search { margin: 0; padding: 14px; width: 100%; background: linear-gradient(135deg,#173d5c,#071525); border-color: #b9cedd; }
  .oc58-mobile-search .oc36-hero-search::before { background: none; }
  .oc58-mobile-search .oc57-search-bar { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .oc58-mobile-search .oc36-hero-search__operations { grid-column: 1 / -1; grid-row: 1; width: 100%; justify-self: stretch; }
  .oc58-mobile-search .oc36-hero-search__operations button { width: 50%; font-size: 12px; min-height: 44px; }
  .oc58-mobile-search .oc36-hero-field--query { grid-column: 1 / -1; grid-row: 2; }
  .oc58-mobile-search .oc36-hero-field > span { font-size: 12px; letter-spacing: .06em; }
  .oc58-mobile-search .oc36-hero-search__submit { grid-column: 1; grid-row: 3; min-width: 0; font-size: 13px; padding: 0 10px; }
  .oc58-mobile-search .oc57-more-filters { grid-column: 2; grid-row: 3; font-size: 13px; padding: 0 6px; }
  .oc58-mobile-search .oc36-hero-shortcuts { display: grid; grid-template-columns: 1fr 1fr; margin-top: 10px; gap: 12px; }
  .oc58-mobile-search .oc36-hero-shortcuts a { display: flex; align-items: center; min-height: 44px; color: #fff; font-size: 12px; line-height: 1.4; letter-spacing: 0; }
  .oc58-home-team { padding: 40px 18px; }
  .oc58-team-grid { gap: 24px 14px; }
  .oc58-team-card img { aspect-ratio: 4 / 5; }
  .oc58-team-card h3 { font-size: 18px; }
  .oc58-team-card p { font-size: 14px; }
  .oc58-home-reviews { padding: 40px 18px; }
  .oc58-home-reviews .oc37-reviews__head { grid-template-columns: 1fr; gap: 18px; }
  .oc58-home-reviews .oc37-reviews__grid { grid-auto-columns: 88%; }
  .oc58-home-reviews .oc37-review:nth-child(n) { padding: 20px; }
  .page-main > .oc19-map { padding: 30px 18px; }
  .oc19-map .oc19-map__panel { padding: 18px !important; }
  .oc19-map .oc19-map__panel h2 { font-size: 30px !important; }
  .oc19-map .oc19-map__fields { grid-template-columns: 1fr 1fr; }
  .oc19-map input,.oc19-map select { font-size: 16px; min-width: 0; }
  .oc19-map .oc19-map__stage { height: 300px; min-height: 300px; }
  .oc19-map .oc19-map__legend { left: 8px; bottom: 8px; font-size: 10px; }
}
