@charset "UTF-8";
/* ==========================================================================
   RANCHO MATA ANONA — Hoja de estilo principal
   Dirección de arte: «Expediente» (ver ART_DIRECTION.md)

   Principios:
   · La fotografía real manda; el diseño la enmarca, no compite con ella.
   · Estructura de documento: filetes finos y filas de registro, no tarjetas.
   · Sin degradados decorativos, sin glassmorphism, sin sombras difusas.
   · Radio de esquina máximo 3px. La elegancia viene de la proporción.
   · Cifras siempre tabulares para que las columnas alineen.

   La versión anterior de este archivo está íntegra en el historial de Git
   (commit «checkpoint: estado original antes de auditoria»).
   ========================================================================== */

/* ─── 1. FUENTES AUTOALOJADAS ──────────────────────────────────────────────
   Literata y Source Sans 3, ambas SIL Open Font License 1.1.
   Licencias completas en assets/fonts/OFL-*.txt
   El subconjunto «latin» cubre todo el español (á é í ó ú ü ñ ¿ ¡ °).
   «latin-ext» solo se descarga si aparece un carácter que lo requiera.       */

@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../assets/fonts/literata-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../assets/fonts/literata-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
                 U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../assets/fonts/sourcesans3-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../assets/fonts/sourcesans3-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
                 U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}


/* Rural editorial: photographs, readable figures and a direct path to a visit. */
:root {
 --papel:#f8f6f1; --papel-2:#efebe2; --papel-3:#e4dece; --blanco:#fff;
 --tinta:#202a25; --tinta-media:#555d55; --tinta-suave:#686d63;
 --bosque:#283d32; --bosque-hondo:#203229; --tierra:#835634;
 --linea:#d9d9cd; --linea-fuerte:#aaa99c; --foco:#1f5f8b;
 --serif:'Literata',Georgia,serif; --sans:'Source Sans 3',Arial,sans-serif;
 --e1:.25rem; --e2:.5rem; --e3:.75rem; --e4:1rem; --e5:1.5rem; --e6:2rem; --e7:3rem; --e10:6rem;
 --t-micro:.75rem; --t-mini:.875rem; --t-pie:1rem; --r-med:3px;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:115px; scrollbar-gutter:stable; }
body { margin:0; background:var(--papel); color:var(--tinta); font-family:var(--sans); font-size:18px; line-height:1.55; -webkit-font-smoothing:antialiased; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; line-height:1.2; }
h1 { font-size:clamp(2.2rem,3.25vw,3.25rem); letter-spacing:-.035em; }
h2 { font-size:clamp(1.9rem,2.65vw,2.7rem); letter-spacing:-.025em; text-wrap:balance; }
h3 { font-size:1.4rem; }
p+p { margin-top:1rem; }
a { color:inherit; text-underline-offset:4px; }
button,input,textarea,select { font:inherit; }
button,a,input,textarea,summary { -webkit-tap-highlight-color:transparent; }
button,summary { cursor:pointer; }
button { color:inherit; }
img,video { max-width:100%; display:block; }
button { background:none; border:0; }
[hidden],.oculto { display:none !important; }
:focus-visible { outline:3px solid var(--foco); outline-offset:5px; }
.envoltura { width:min(1312px,calc(100% - 96px)); margin-inline:auto; }
.seccion { padding-block:88px; }
.rotulo { color:var(--tierra); font-size:.73rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; margin-bottom:18px; }
.prosa { max-width:620px; }
.prosa p,.seccion-cab>p,.presentacion p:not(.rotulo) { color:var(--tinta-media); }
.microcopy { font-size:.82rem; color:var(--tinta-media); margin-top:13px; }
.btn { display:inline-flex; min-height:48px; gap:20px; align-items:center; justify-content:center; padding:12px 23px; font-size:.95rem; line-height:1.3; font-weight:600; text-decoration:none; border:1px solid transparent; border-radius:3px; transition:background-color .18s,color .18s; }
.btn span[aria-hidden] { font-size:1.15em; }
.btn--solido { background:var(--bosque); color:var(--papel); }
.btn--solido:hover { background:var(--bosque-hondo); }
.btn--linea { border-color:var(--linea-fuerte); color:var(--tinta); }
.btn--linea:hover { background:var(--papel-2); }
.btn--claro { background:var(--papel); color:var(--bosque-hondo); }
.btn--claro:hover { background:var(--papel-3); }
.btn--pleno { width:100%; }
.btn:disabled { opacity:.65; cursor:wait; }
.enlace { display:inline-flex; gap:16px; align-items:center; min-height:46px; font-size:1rem; font-weight:600; text-decoration:underline; text-decoration-thickness:1px; }
.saltar { position:fixed; top:8px; left:8px; z-index:100; padding:12px 18px; transform:translateY(-160%); background:var(--blanco); color:var(--tinta); }
.saltar:focus { transform:none; }
.solo-lectores { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
/* Header */
.cabecera { position:sticky; top:0; z-index:20; background:var(--papel); border-bottom:1px solid var(--linea); }
.cabecera-fila { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:86px; }
.marca { text-decoration:none; flex-shrink:0; }
.marca-nombre { display:block; font-family:var(--serif); font-size:1.23rem; letter-spacing:-.03em; text-decoration:none; }
.marca-punto { color:var(--tierra); }
.marca-sitio { display:block; font-size:.67rem; letter-spacing:.08em; color:var(--tinta-media); margin-top:3px; }
.nav-principal { display:flex; gap:24px; }
.nav-principal a,.nav-movil a { font-size:.9rem; text-decoration:none; padding-block:12px; }
.nav-principal a:hover,.nav-movil a:hover { text-decoration:underline; }
.nav-movil { display:none; }
/* Hero: text stays on paper; the photograph keeps its own light. */
.hero { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; padding-top:30px; padding-bottom:36px; align-items:stretch; }
.hero-copy { padding:30px 0 22px; align-self:center; }
.hero .rotulo { margin-bottom:22px; font-size:.67rem; letter-spacing:.1em; }
.hero .rotulo span { display:block; margin-top:3px; }
.hero h1 span { color:var(--bosque); }
.hero-linea { display:block; }
.hero-descripcion { font-size:1rem; line-height:1.55; margin-top:24px; max-width:470px; color:var(--tinta-media); }
.hero-precio { display:flex; flex-direction:column; margin-block:24px; }
.hero-precio strong { font-family:var(--serif); font-size:2rem; font-weight:400; letter-spacing:-.03em; line-height:1.3; }
.hero-precio strong span { font-family:var(--sans); font-size:.9rem; letter-spacing:0; }
.hero-precio>span { color:var(--tinta-media); font-size:.87rem; margin-top:3px; }
.hero-acciones { display:flex; align-items:flex-start; flex-direction:column; gap:7px; }
.hero-foto { position:relative; display:flex; flex-direction:column; min-height:600px; }
.hero-foto img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0 0 35px; max-height:calc(100% - 35px); object-position:56% center; }
.hero-foto figcaption { margin-top:auto; padding-top:12px; display:flex; justify-content:space-between; gap:12px; font-size:.72rem; color:var(--tinta-media); }
.hero-foto figcaption span { text-transform:uppercase; letter-spacing:.1em; font-size:.66rem; }
.datos-clave { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--linea); padding-block:24px; }
.datos-clave>div { padding:0 30px; border-right:1px solid var(--linea); display:flex; flex-direction:column; justify-content:center; gap:4px; }
.datos-clave>div:first-child { padding-left:0; }
.datos-clave>div:last-child { border:0; }
.datos-clave strong { font-size:1.45rem; font-weight:400; font-family:var(--serif); line-height:1.35; }
.datos-clave strong span { font-size:.9rem; }
.datos-clave>div>span { font-size:.8rem; color:var(--tinta-media); }
.presentacion { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.presentacion .enlace { margin-top:17px; }
.seccion-cab { display:flex; justify-content:space-between; align-items:end; gap:48px; margin-bottom:34px; }
.seccion-cab>div { max-width:660px; }
.seccion-cab>p { max-width:370px; font-size:1rem; }
.seccion-cab .enlace { flex-shrink:0; }
/* Gallery: a selected first spread, then the complete catalogue. */
.galeria { padding-top:0; }
.mosaico { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; padding:0; margin:0; list-style:none; }
.mosaico li { min-width:0; }
.lamina { width:100%; padding:0; display:block; text-align:left; }
.lamina img { width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; }
.lamina-pie { display:flex; justify-content:space-between; gap:10px; padding:10px 0 5px; font-size:.85rem; color:var(--tinta-media); }
.lamina-pie>span { font-size:1.15rem; color:var(--tinta); }
.galeria--resumida .mosaico { grid-template-rows:repeat(2,240px); }
.galeria--resumida .mosaico li:first-child { grid-column:span 2; grid-row:span 2; }
.galeria--resumida .mosaico li:nth-child(n+6) { display:none; }
.galeria--resumida .lamina { position:relative; height:100%; }
.galeria--resumida .lamina img { height:100%; aspect-ratio:auto; }
.galeria--resumida .lamina-pie { position:absolute; bottom:12px; left:12px; right:12px; padding:8px 12px; color:var(--tinta); background:var(--papel); font-size:.8rem; }
.galeria-pie { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-top:26px; }
.galeria-pie p { font-size:.84rem; color:var(--tinta-media); max-width:540px; }
.galeria-pie button { flex-shrink:0; }
.filtros { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:25px; }
.filtro { padding:11px 17px; border:1px solid var(--linea-fuerte); border-radius:3px; font-size:.9rem; }
.filtro[aria-pressed="true"] { background:var(--bosque); border-color:var(--bosque); color:var(--papel); }
.ficha-fondo { background:var(--papel-2); }
.ficha-datos { display:grid; grid-template-columns:1fr 1fr; column-gap:65px; margin:0; }
.ficha-datos>div { display:grid; grid-template-columns:155px 1fr; gap:20px; border-top:1px solid #cfcec1; padding-block:16px; }
.ficha-datos dt { font-size:.9rem; color:var(--tinta-media); }
.ficha-datos dd { margin:0; font-size:1rem; font-weight:600; }
.historias { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.historias img { width:100%; height:320px; object-fit:cover; }
.historias figure:nth-child(2) img { object-position:center 30%; }
.historias figcaption { padding-top:22px; }
.historias figcaption>span { color:var(--tierra); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.historias h3 { margin-top:8px; font-size:1.4rem; }
.historias p { font-size:1rem; margin-top:12px; color:var(--tinta-media); }
.video-fondo { background:#eeeee7; }
.video-principal { display:grid; grid-template-columns:1.6fr 1fr; gap:64px; align-items:center; }
.video-principal video { width:100%; height:auto; aspect-ratio:848/480; object-fit:contain; background:#17241c; }
.video-principal h3 { font-size:1.8rem; margin-bottom:20px; }
.video-principal>div>p:not(.rotulo) { color:var(--tinta-media); font-size:1rem; }
.video-principal .enlace { margin-top:18px; }
.video-principal .video-nota { margin-top:25px; padding-top:20px; border-top:1px solid var(--linea); font-size:.87rem; }
.video-fondo figcaption { display:flex; justify-content:space-between; gap:20px; padding-top:12px; font-size:.92rem; }
.video-fondo figcaption span { white-space:nowrap; color:var(--tinta-media); }
.otros-videos { margin-top:35px; border-block:1px solid var(--linea-fuerte); }
.otros-videos>summary { padding:18px 0; font-weight:600; }
.otros-videos>summary span { font-size:.8rem; font-weight:400; margin-left:15px; }
.video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; padding-block:15px 30px; }
.video-grid video { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#17241c; }
.acceso-documentos { display:grid; grid-template-columns:1fr 1fr; gap:95px; }
.acceso-documentos h2 { margin-bottom:25px; }
.acceso-documentos p:not(.rotulo) { font-size:1rem; color:var(--tinta-media); }
.servicios { list-style:none; margin:25px 0; padding:0; }
.servicios li { display:flex; flex-direction:column; gap:5px; padding-block:15px; border-top:1px solid var(--linea); font-size:.98rem; }
.servicios li span { color:var(--tinta-media); }
.acceso-documentos .nota-acceso { font-size:.87rem; }
.documentos { border-left:1px solid var(--linea); padding-left:65px; }
.documentos .enlace { margin-top:25px; }
.ubicacion { display:grid; grid-template-columns:1fr 1.3fr; gap:65px; padding-block:15px 75px; align-items:center; }
.ubicacion h2 { margin-bottom:24px; }
.ubicacion>div>p:not(.rotulo) { font-size:1rem; color:var(--tinta-media); }
.ubicacion .enlace { margin-top:20px; }
.mapa-contenedor { min-width:0; background:var(--papel-2); }
#mapa { border:0; width:100%; height:320px; display:block; }
#mapa-escudo { padding:35px; min-height:320px; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; }
.mapa-referencia { font-family:var(--serif); font-size:1.5rem; line-height:1.4; }
.mapa-referencia strong { font-family:var(--sans); font-size:.8rem; font-weight:400; letter-spacing:.06em; text-transform:uppercase; }
#mapa-escudo p { font-size:.83rem; margin-block:18px; }
#mapa-escudo .btn { font-size:.86rem; }
.mapa-nota { padding:12px 18px; font-size:.8rem !important; }
.preguntas { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; border-top:1px solid var(--linea); }
.preguntas>div>p:not(.rotulo) { color:var(--tinta-media); margin-top:22px; max-width:340px; }
.faq-lista details { border-bottom:1px solid var(--linea); }
.faq-lista details:first-child { border-top:1px solid var(--linea); }
.faq-lista summary { display:flex; justify-content:space-between; gap:20px; padding:21px 0; font-size:1.05rem; font-weight:600; list-style:none; }
.faq-lista summary::-webkit-details-marker { display:none; }
.faq-lista summary::after { content:'+'; font-size:1.35rem; font-weight:400; line-height:1; }
.faq-lista details[open] summary::after { content:'−'; }
.faq-lista p { padding:0 35px 22px 0; font-size:1rem; color:var(--tinta-media); }
.visita { background:var(--bosque); color:var(--papel); text-align:center; }
.visita .rotulo { color:#d6c3a4; }
.visita h2 { font-size:clamp(2rem,3.5vw,3.3rem); }
.visita h2+p { max-width:680px; margin:26px auto; color:#dfe4dc; }
.visita-acciones { display:flex; justify-content:center; gap:30px; align-items:center; }
.pasos { display:grid; grid-template-columns:repeat(5,1fr); padding:32px 0 0; margin:48px 0 0; border-top:1px solid #5d6b5e; list-style:none; text-align:left; gap:35px; }
.pasos li { font-size:.9rem; }
.pasos span { display:block; font-size:.72rem; color:#d6c3a4; margin-bottom:12px; }
.contacto { display:grid; grid-template-columns:1fr 1.2fr; gap:100px; }
.contacto>div>p:not(.rotulo) { color:var(--tinta-media); margin-top:25px; }
.contacto .contacto-precio { color:var(--tinta); font-weight:600; }
.contacto .enlace { margin-top:20px; }
.panel-forma { padding:32px; border:1px solid var(--linea); background:#fcfbf7; }
.forma-intro { display:flex; justify-content:space-between; gap:20px; font-size:1.1rem; font-weight:600; margin-bottom:24px; }
.forma-intro>span { font-size:.76rem; color:var(--tinta-media); font-weight:400; }
.campo { margin-bottom:20px; }
.campo-fila { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.campo label { display:block; margin-bottom:7px; font-size:.95rem; }
.campo label span { font-size:.82rem; color:var(--tinta-media); }
.control { display:block; width:100%; min-width:0; background:var(--blanco); color:var(--tinta); border:1px solid var(--linea-fuerte); border-radius:2px; min-height:48px; padding:10px 12px; }
textarea.control { resize:vertical; }
[aria-invalid="true"] { border-color:#9b3129; }
.error-campo { display:block; color:#8e3028; font-size:.85rem; margin-top:6px; }
.consentimiento { display:flex; align-items:flex-start; gap:12px; margin:3px 0 22px; font-size:.84rem; color:var(--tinta-media); }
.consentimiento input { flex-shrink:0; margin:3px 0 0; width:21px; height:21px; accent-color:var(--bosque); }
.trampa { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.form-status { font-size:.88rem; }
.form-status:empty { display:none; }
.resultado-forma { padding:24px; border:1px solid var(--linea); }
.resultado-forma p { margin-block:20px; }
.resultado-error { margin-top:20px; border-color:#9b3129; }
.pie { border-top:1px solid var(--linea); padding:45px 0 30px; }
.pie-superior { display:flex; justify-content:space-between; gap:40px; }
.pie-superior p { margin-top:12px; color:var(--tinta-media); font-size:.87rem; }
.pie nav { display:flex; gap:22px; align-items:start; flex-wrap:wrap; }
.pie nav a { font-size:.85rem; padding-block:8px; }
.pie-legal { border-top:1px solid var(--linea); padding-top:24px; margin-top:32px; color:var(--tinta-media); font-size:.78rem; line-height:1.6; }
.contacto-movil { display:none; }
/* Native modal: background is inert; escape, arrows and history handled in main.js. */
body.visor-abierto { overflow:hidden; }
.visor { border:0; padding:20px 28px; width:min(1440px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; background:#152019; color:var(--papel); margin:auto; }
.visor::backdrop { background:#152019; }
.visor[open] { display:flex; flex-direction:column; }
.visor-barra { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:48px; font-size:.9rem; }
.visor button { min-height:48px; min-width:48px; border:1px solid #718173; border-radius:3px; padding:8px 14px; }
.visor button:focus-visible,.visita :focus-visible { outline-color:#e4bd6d; }
.visor-centro { display:grid; grid-template-columns:48px minmax(0,1fr) 48px; align-items:center; gap:20px; flex:1; min-height:0; padding-block:18px; }
.visor-centro img { height:100%; width:100%; min-height:0; object-fit:contain; }
.visor #visor-texto { text-align:center; font-size:.9rem; padding:4px 12px 14px; }
/* Compatibility for the preserved privacy, 404 and printable pages. */
.entrada { max-width:820px; }
.entrada h1 { margin-bottom:28px; }
.entrada h2 { font-size:1.7rem; margin-top:36px; margin-bottom:16px; }
.entrada p,.entrada li { color:var(--tinta-media); }
.aviso-forma { padding:20px; border:1px solid var(--linea-fuerte); margin:20px 0; font-size:1rem; }
.registro { margin-block:25px; }
.registro-fila { display:grid; grid-template-columns:180px 1fr; gap:25px; padding:18px 0; border-top:1px solid var(--linea); }
.registro-clave { font-weight:600; }
.registro-valor { color:var(--tinta-media); }
.apunte { display:block; font-size:.9rem; margin-top:8px; }
.espacio-arriba { margin-top:24px; }
.cabecera-acciones { display:flex; flex-wrap:wrap; gap:10px; }
@media(min-width:1500px) { .hero { gap:70px; } }
@media(max-width:1199px) {
 .envoltura { width:calc(100% - 64px); }
 .nav-principal { gap:15px; }
 .nav-principal a { font-size:.81rem; }
 .cabecera-fila { gap:15px; }
 .marca-nombre { font-size:1.1rem; }
 .cabecera-fila>.btn { padding-inline:16px; font-size:.86rem; }
 .hero { gap:32px; }
 .hero-foto { min-height:590px; }
 .presentacion,.acceso-documentos,.contacto,.preguntas { gap:50px; }
 .documentos { padding-left:40px; }
 .ficha-datos { column-gap:40px; }
 .ficha-datos>div { grid-template-columns:125px 1fr; }
 .galeria--resumida .mosaico { grid-template-rows:repeat(2,205px); }
 .historias img { height:280px; }
 .video-principal { gap:35px; }
 .datos-clave>div { padding-inline:20px; }
 .datos-clave strong { font-size:1.25rem; }
}
@media(max-width:999px) {
 .nav-principal { display:none; }
 .nav-movil { display:flex; justify-content:space-between; max-width:520px; gap:15px; }
 .cabecera-fila { min-height:72px; }
 .nav-movil a { font-size:.8rem; padding-block:8px 12px; }
 .hero { grid-template-columns:1fr 1fr; gap:30px; }
 .hero h1 { font-size:clamp(1.75rem,3.5vw,2.15rem); }
 .hero-foto { min-height:610px; }
 .hero-copy { padding-top:10px; }
 .seccion { padding-block:65px; }
 .galeria { padding-top:0; }
 .seccion-cab { align-items:start; flex-direction:column; gap:20px; }
 .seccion-cab>p { max-width:600px; }
 .datos-clave strong { font-size:1.08rem; }
 .datos-clave>div { padding-inline:15px; }
 .ficha-datos { column-gap:30px; }
 .ficha-datos>div { grid-template-columns:1fr; gap:4px; }
 .historias { gap:20px; }
 .historias img { height:230px; }
 .historias h3 { font-size:1.25rem; }
 .video-principal { grid-template-columns:1fr; }
 .video-principal>div { max-width:640px; }
 .video-principal .video-nota { margin-top:12px; }
 .video-grid { grid-template-columns:1fr 1fr; }
 .documentos { padding-left:28px; }
 .ubicacion { grid-template-columns:1fr 1fr; gap:30px; padding-top:15px; }
 .preguntas { grid-template-columns:.8fr 1.2fr; gap:40px; }
 .contacto { gap:35px; grid-template-columns:.8fr 1.2fr; }
 .campo-fila { grid-template-columns:1fr; gap:0; }
 .panel-forma { padding:24px; }
 .forma-intro { flex-direction:column; gap:3px; }
 .pie-superior { flex-direction:column; gap:20px; }
}
@media(max-width:699px) {
 html { scroll-padding-top:122px; scrollbar-gutter:auto; }
 body { font-size:17px; }
 body.landing { padding-bottom:calc(66px + env(safe-area-inset-bottom)); }
 .envoltura { width:calc(100% - 36px); }
 .seccion { padding-block:52px; }
 h2 { font-size:1.95rem; }
 .rotulo { font-size:.68rem; margin-bottom:14px; }
 .cabecera-fila { min-height:65px; gap:12px; }
 .marca-nombre { font-size:1rem; }
 .marca-sitio { font-size:.57rem; letter-spacing:.015em; }
 .cabecera-fila>.btn { min-height:42px; padding:10px 12px; font-size:.78rem; gap:8px; }
 .nav-movil a { min-height:40px; font-size:.81rem; }
 .hero { grid-template-columns:1fr; gap:23px; padding-top:24px; padding-bottom:24px; }
 .hero-copy { padding:0; }
 .hero .rotulo { margin-bottom:12px; font-size:.64rem; }
 .hero .rotulo span { display:inline; }
 .hero h1 { font-size:clamp(1.8rem,8vw,1.95rem); max-width:460px; line-height:1.19; }
 .hero-descripcion { font-size:.94rem; margin-top:14px; line-height:1.48; }
 .hero-precio { margin-block:16px; }
 .hero-precio strong { font-size:1.8rem; }
 .hero-precio>span { font-size:.81rem; }
 .hero-acciones { gap:3px; }
 .hero-acciones .btn { width:100%; }
 .hero-acciones .enlace { align-self:center; font-size:.9rem; }
 .hero .microcopy { margin-top:0; text-align:center; font-size:.75rem; }
 .hero-foto { min-height:0; }
 .hero-foto img { position:static; width:100%; height:auto; max-height:none; aspect-ratio:4/3; object-fit:cover; }
 .hero-foto figcaption { padding-top:8px; font-size:.65rem; }
 .hero-foto figcaption span { font-size:.59rem; }
 .datos-clave { grid-template-columns:1fr 1fr; padding-block:0; }
 .datos-clave>div { padding:17px 0 17px 17px; }
 .datos-clave>div:nth-child(odd) { padding-left:0; }
 .datos-clave>div:nth-child(even) { border-right:0; }
 .datos-clave>div:nth-child(-n+2) { border-bottom:1px solid var(--linea); }
 .datos-clave strong { font-size:1.15rem; }
 .datos-clave>div>span { font-size:.75rem; }
 .presentacion,.acceso-documentos,.preguntas,.contacto,.ubicacion { grid-template-columns:1fr; gap:27px; }
 .presentacion .enlace { margin-top:12px; }
 .galeria { padding-top:0; }
 .seccion-cab { gap:16px; margin-bottom:24px; }
 .seccion-cab>p { font-size:.95rem; }
 .mosaico { grid-template-columns:1fr 1fr; gap:17px 12px; }
 .galeria--resumida .mosaico { grid-template-rows:auto; }
 .galeria--resumida .mosaico li:first-child { grid-column:span 2; grid-row:auto; }
 .galeria--resumida .lamina img { aspect-ratio:4/3; height:auto; }
 .galeria--resumida .lamina-pie { position:static; padding:7px 0 0; font-size:.77rem; background:none; }
 .lamina-pie { font-size:.78rem; line-height:1.35; }
 .galeria-pie { flex-direction:column-reverse; gap:18px; align-items:stretch; margin-top:24px; }
 .galeria-pie p { font-size:.8rem; }
 .filtro { font-size:.85rem; padding:11px 13px; }
 .ficha-datos { grid-template-columns:1fr; }
 .ficha-datos>div { grid-template-columns:112px 1fr; gap:18px; padding-block:14px; }
 .ficha-datos dt { font-size:.86rem; }
 .ficha-datos dd { font-size:.94rem; }
 .historias { grid-template-columns:1fr; gap:32px; }
 .historias img { height:auto; aspect-ratio:4/3; object-fit:cover; }
 .historias figure:nth-child(2) img { aspect-ratio:4/3; }
 .historias figcaption { padding-top:16px; }
 .historias h3 { font-size:1.4rem; }
 .historias p { font-size:.96rem; margin-top:9px; }
 .video-principal { gap:28px; }
 .video-principal h3 { font-size:1.5rem; }
 .video-fondo figcaption { font-size:.84rem; gap:15px; }
 .video-grid { grid-template-columns:1fr; }
 .otros-videos>summary { font-size:.98rem; }
 .otros-videos>summary span { font-size:.75rem; }
 .documentos { border-left:0; border-top:1px solid var(--linea); padding:34px 0 0; margin-top:7px; }
 .acceso-documentos h2 { margin-bottom:20px; }
 .ubicacion { padding-block:0 50px; }
 #mapa-escudo { padding:26px 20px; min-height:310px; }
 .preguntas>div>p:not(.rotulo) { max-width:none; margin-top:18px; }
 .faq-lista summary { font-size:1rem; }
 .visita h2 { font-size:2rem; }
 .visita h2 br { display:none; }
 .visita h2+p { font-size:1rem; }
 .visita-acciones { flex-direction:column; gap:12px; }
 .visita-acciones .btn { width:100%; }
 .pasos { grid-template-columns:1fr; gap:17px; margin-top:30px; padding-top:26px; }
 .pasos li { display:flex; align-items:baseline; gap:18px; }
 .pasos span { margin:0; }
 .panel-forma { padding:22px 18px; }
 .contacto>div>p:not(.rotulo) { margin-top:18px; }
 .forma-intro { flex-direction:row; font-size:1rem; }
 .forma-intro>span { font-size:.65rem; padding-top:3px; }
 .pie { padding-top:32px; }
 .pie nav { gap:8px 22px; }
 .pie nav a { padding-block:12px; }
 .contacto-movil { display:grid; grid-template-columns:1.3fr 1fr; gap:10px; position:fixed; bottom:0; left:0; right:0; z-index:25; background:var(--papel); border-top:1px solid var(--linea); padding:9px max(18px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); }
 .contacto-movil a { min-height:47px; display:flex; align-items:center; justify-content:center; gap:25px; text-decoration:none; font-size:.95rem; font-weight:600; border:1px solid var(--bosque); border-radius:3px; }
 .contacto-movil a:first-child { background:var(--bosque); color:var(--papel); }
 .visor { padding:12px; }
 .visor-centro { grid-template-columns:48px 1fr 48px; gap:8px; align-content:center; }
 .visor-centro img { grid-column:1/-1; grid-row:1; max-height:calc(100dvh - 195px); }
 .visor-centro button { grid-row:2; margin-top:12px; }
 #visor-sig { grid-column:3; }
 .visor #visor-texto { padding:6px 6px 16px; font-size:.85rem; }
 .registro-fila { grid-template-columns:1fr; gap:6px; }
 body:not(.landing) .cabecera-fila { flex-wrap:wrap; padding-block:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
@media print { .cabecera,.contacto-movil,.visor,.no-imprimir { display:none !important; } body { padding:0 !important; } }
