:root{--crema:#f1ebdd;--crema2:#f6f1e6;--azul:#2c5a7a;--azul2:#3d6d8e;--tinta:#2c3a44;--suave:#55636d;--e:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--crema2);color:var(--tinta);font:400 16px/1.6 Karla,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--azul);outline-offset:3px}
.script{font-family:"Libre Caslon Text",Georgia,serif;font-weight:700;color:var(--azul);line-height:1}
.aviso{background:var(--azul);color:#e8eff4;font-size:13px;text-align:center;padding:7px 16px}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4.5vw,44px)}
.dib{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;background:var(--azul);color:#fff;font:600 15px Karla,sans-serif;text-decoration:none;border:0;cursor:pointer;transition:transform 160ms var(--e),background-color 200ms ease}
.boton svg{width:18px;height:18px;flex:none}
.boton:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){.boton:hover{background:#22495f}}
.boton--claro{background:var(--crema);color:var(--azul)}
@media(hover:hover) and (pointer:fine){.boton--claro:hover{background:#fff}}

/* barra superior */
.arriba{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px clamp(18px,4.5vw,44px);color:#fff}
.arriba .script{color:#fff;font-size:30px;text-decoration:none;padding:6px 0;text-shadow:0 1px 10px rgba(0,0,0,.3);white-space:nowrap}
.arriba nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;font-weight:600;font-size:14.5px}
.arriba nav a{text-decoration:none;background:rgba(20,35,48,.55);backdrop-filter:blur(6px);padding:8px 14px;border-radius:999px}
.arriba nav a[aria-current="page"]{background:#fff;color:var(--azul)}
@media(hover:hover) and (pointer:fine){.arriba nav a:hover{background:rgba(20,35,48,.8)}.arriba nav a[aria-current="page"]:hover{background:#fff}}
@media(max-width:820px){.arriba{flex-direction:column;align-items:flex-start;gap:4px}.arriba nav{justify-content:flex-start;font-size:13px}.arriba nav a{padding:6px 11px}}

/* portadas */
.heroe{position:relative;color:#fff;display:grid;align-items:end;overflow:hidden;min-height:max(660px,100svh);padding:150px 0 clamp(48px,7vw,90px)}
.heroe--corto{min-height:clamp(420px,56svh,560px);padding-top:140px;padding-bottom:clamp(36px,5vw,64px)}
.heroe .fondo{position:absolute;inset:0}
.heroe .fondo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.heroe .fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,35,48,.5),rgba(20,35,48,.05) 34%,rgba(20,35,48,.35) 66%,rgba(16,28,38,.82))}
.heroe .wrap{position:relative;z-index:2;width:100%}
.heroe .script{color:#fff;text-shadow:0 2px 30px rgba(10,20,30,.5)}
.heroe h1{font-size:clamp(64px,13vw,190px)}
.heroe--corto h1{font-size:clamp(56px,9vw,120px)}
.heroe .sub{max-width:36ch;font-size:clamp(17px,1.6vw,21px);margin-top:14px;text-shadow:0 1px 14px rgba(10,20,30,.55)}
.heroe .cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.heroe .boton--claro{background:rgba(255,255,255,.93)}

/* bloques de página */
.seccion{padding:clamp(64px,8vw,116px) 0}
.seccion--crema{background:var(--crema)}
.seccion h2{font-size:clamp(44px,5.6vw,78px)}
.seccion .intro{max-width:50ch;margin-top:14px;font-size:18px;color:#475660}
.g2{display:grid;gap:38px;align-items:center}
@media(min-width:900px){.g2{grid-template-columns:1.05fr .95fr}.g2--inv{grid-template-columns:.95fr 1.05fr}}
.foto-marco{position:relative}
.foto-marco img{width:100%;aspect-ratio:4/3;object-fit:cover}
.panel{background:var(--crema);padding:22px 24px;box-shadow:0 1px 2px rgba(0,0,0,.12),0 26px 50px -24px rgba(0,0,0,.55)}
.foto-marco .panel{position:absolute;right:-22px;bottom:-30px;width:46%}
@media(max-width:899px){.foto-marco .panel{position:relative;right:auto;bottom:auto;width:auto;margin:-40px 16px 0}}
.panel h3{font:700 20.7px/1.15 "Libre Caslon Text",Georgia,serif;color:var(--azul)}
.panel p{font-size:14.5px;color:#56656f;margin-top:6px}
.icono{width:30px;height:30px;color:var(--azul);margin:10px 0 0 auto;display:block}
.cifras{display:flex;gap:30px;margin-top:24px;flex-wrap:wrap}
.cifras b{display:block;font:700 34px/1.05 "Libre Caslon Text",Georgia,serif;color:var(--azul)}
.cifras span{font-size:13.5px;color:var(--suave)}
.banda{overflow:hidden;background:var(--azul);color:var(--crema);padding:14px 0}
.pista{white-space:nowrap;font:700 clamp(29.6px,4vw,53.3px)/1.2 "Libre Caslon Text",Georgia,serif}
.pista i{font-style:normal;font-family:Karla,sans-serif;font-size:.3em;vertical-align:middle;margin:0 1.2em;opacity:.75}

/* tarjetas */
.tarjetas{display:grid;gap:18px;margin-top:40px}
@media(min-width:700px){.tarjetas{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.tarjetas--4{grid-template-columns:repeat(4,1fr)}.tarjetas--3{grid-template-columns:repeat(3,1fr)}}
.tarjeta{display:block;text-decoration:none;background:var(--crema2);box-shadow:0 1px 2px rgba(0,0,0,.08),0 18px 36px -24px rgba(0,0,0,.4);overflow:hidden}
.seccion--crema .tarjeta{background:var(--crema2)}
.tarjeta .im{overflow:hidden}
.tarjeta img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 600ms var(--e)}
@media(hover:hover) and (pointer:fine){a.tarjeta:hover img{transform:scale(1.04)}}
.tarjeta div.tx{padding:18px 22px 22px}
.tarjeta h3{font:700 20.7px/1.15 "Libre Caslon Text",Georgia,serif;color:var(--azul)}
.tarjeta p{color:#56656f;font-size:15px;margin-top:4px}
.tarjeta .mas{display:inline-block;margin-top:10px;font-weight:700;font-size:14px;color:var(--azul)}

/* carta */
.carta{display:grid;gap:clamp(28px,4vw,56px);margin-top:44px}
@media(min-width:900px){.carta{grid-template-columns:1fr 1fr}}
.carta h3{font:700 26.6px/1.15 "Libre Caslon Text",Georgia,serif;color:var(--azul);padding-bottom:6px;border-bottom:1.5px solid var(--azul);margin-bottom:6px}
.carta ul{list-style:none;padding:0;margin-bottom:34px}
.carta li{padding:10px 0;border-bottom:1px solid #d9d1c0;font-size:16.5px}
.carta li small{display:block;color:var(--suave);font-size:14px}
.carta li em{font-style:normal;color:var(--azul);font-weight:600;font-size:13px;margin-left:6px}
.menus{display:grid;gap:18px;margin-top:40px}
@media(min-width:800px){.menus{grid-template-columns:1fr 1fr}}
.menus .panel{padding:28px}
.menus .precio{font:700 47.4px/1.05 "Libre Caslon Text",Georgia,serif;color:var(--azul);margin-top:8px}
.menus .precio small{font:400 14px Karla,sans-serif;color:var(--suave);margin-left:6px}
.menus ul{list-style:none;padding:0;margin-top:12px}
.menus li{padding:8px 0;border-bottom:1px solid #d9d1c0;font-size:15.5px}
.nota{font-size:14px;color:var(--suave);margin-top:22px;max-width:70ch}

/* pasos (bodas) */
.pasos{display:grid;gap:0;margin-top:40px;counter-reset:p;border-top:1.5px solid var(--azul)}
.paso{display:grid;grid-template-columns:auto 1fr;gap:18px 28px;padding:26px 0;border-bottom:1px solid #d9d1c0}
.paso::before{counter-increment:p;content:counter(p);font:700 41.4px/1.05 "Libre Caslon Text",Georgia,serif;color:var(--azul);min-width:44px}
.paso h3{font:700 23.7px/1.15 "Libre Caslon Text",Georgia,serif;color:var(--azul)}
.paso p{color:#56656f;margin-top:4px;max-width:58ch}

/* productos */
.producto{display:grid;gap:30px;align-items:center;padding:clamp(36px,5vw,64px) 0;border-bottom:1px solid #d9d1c0}
@media(min-width:900px){.producto{grid-template-columns:.8fr 1.2fr}.producto:nth-child(even) .p-foto{order:2}}
.p-foto img{width:100%;aspect-ratio:4/3;object-fit:cover}
.p-foto .recuadro{background:var(--azul);color:#e9eff3;aspect-ratio:4/3;display:grid;place-items:center}
.p-foto .recuadro svg{width:44%;height:70%}
.producto h2{font-size:clamp(42px,5vw,64px)}
.producto .lema{font:700 17.8px/1.15 "Libre Caslon Text",Georgia,serif;color:var(--suave);margin-top:6px}
.producto p.tx{margin-top:12px;font-size:17.5px;color:#475660;max-width:48ch}

/* mapa */
.mapa-g{display:grid;gap:0;margin-top:34px}
@media(min-width:960px){.mapa-g{grid-template-columns:1.6fr .9fr}}
#mapa{min-height:clamp(380px,56vw,600px);background:#dfe7ea}
.mapa-g .hoja{padding:clamp(22px,3vw,36px);background:var(--crema)}
.leaflet-tile-pane{filter:saturate(.7) sepia(.14) hue-rotate(-6deg) brightness(1.03)}
.leaflet-container{font-family:Karla,sans-serif}
.chincheta{display:grid;justify-items:center}
.chincheta b{display:block;background:var(--azul);color:#fff;font:700 16.3px/1.15 "Libre Caslon Text",Georgia,serif;padding:6px 16px 8px;border-radius:999px;white-space:nowrap;box-shadow:0 8px 18px -6px rgba(0,0,0,.45)}
.chincheta i{width:0;height:0;border:9px solid transparent;border-top-color:var(--azul);border-bottom:0;margin-top:-1px}
.chincheta .punto{width:14px;height:14px;border-radius:50%;background:#fff;border:4px solid var(--azul);margin-top:4px;box-shadow:0 0 0 8px rgba(44,90,122,.22)}
.filas{border-top:1.5px solid var(--azul);margin-top:18px}
.filas a,.filas div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #d9d1c0;text-decoration:none}
.filas span{color:var(--suave)}
.filas b{text-align:right}
.hoja h2{font-size:clamp(40px,4.4vw,56px)}
.hoja .boton{margin-top:20px}
.accesos{display:grid;gap:14px;margin-top:30px}
@media(min-width:800px){.accesos{grid-template-columns:repeat(3,1fr)}}
.accesos .panel p{margin-top:4px}

/* llamar a reservar */
.llamar{background:var(--azul);color:#e8eff4;padding:clamp(54px,7vw,92px) 0;text-align:center}
.llamar .script{color:#fff;font-size:clamp(44px,6vw,80px)}
.llamar p{max-width:44ch;margin:12px auto 0;font-size:18px}
.llamar .boton{margin-top:26px;background:#fff;color:var(--azul);min-height:56px;font-size:19px;padding:0 32px}
@media(hover:hover) and (pointer:fine){.llamar .boton:hover{background:var(--crema)}}
.llamar small{display:block;margin-top:14px;opacity:.8;font-size:14px}

.pie{background:#22495f;color:#dbe5ec;font-size:14px;padding:26px 0}
.pie .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px}
.pie .script{color:#fff;font-size:26px}
.pie nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.pie a{text-decoration:none}
@media(hover:hover) and (pointer:fine){.pie a:hover{text-decoration:underline}}

.movil{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;display:none;transform:translateY(140%);visibility:hidden;transition:transform 400ms var(--e),visibility 0s linear 400ms}
.movil.on{transform:none;visibility:visible;transition:transform 400ms var(--e)}
.movil .boton{width:100%;min-height:54px;box-shadow:0 12px 26px -12px rgba(0,0,0,.5)}
@media(max-width:700px){.movil{display:block}body{padding-bottom:80px}}
@media (prefers-reduced-motion:reduce){.movil{transition:none}}

/* croquis del mapa */
.saltar{position:absolute;left:12px;top:-60px;z-index:100;background:#fff;color:var(--azul);padding:10px 16px;border-radius:8px;font-weight:600}
.saltar:focus{top:12px}
.mapa-marco{margin:0;background:#fbf8f0;box-shadow:0 1px 2px rgba(0,0,0,.1),0 26px 50px -30px rgba(0,0,0,.45)}
.mapa-marco figcaption{font-size:12.5px;color:var(--suave);padding:10px 16px 12px}
.mapa-marco figcaption a{text-decoration:underline}
.croquis{display:block;width:100%;height:auto;aspect-ratio:1000/825}
.croquis .cuad{stroke:#7a6a55;stroke-opacity:.07}
.croquis .mar path,.croquis .agua path{fill:#c8dbe2;stroke:none}
.croquis .parque path{fill:#d3e0cb;stroke:none}
.croquis .calle path{stroke:#d3c9b8;stroke-width:1.2}
.croquis .principal path{stroke:#9a8c7a;stroke-width:2.6}
.croquis .tren path{stroke:#5d5146;stroke-width:1.8;stroke-dasharray:7 6}
.croquis .rio-mancha path,.croquis .costa-mancha path{stroke:#9dbfd3;stroke-opacity:.5;stroke-width:13}
.croquis .rio path,.croquis .costa path{stroke:#5e8daa;stroke-width:2.4}
.croquis text{font-family:"Libre Caslon Text",Georgia,serif;font-weight:700;fill:var(--tinta)}
.croquis .e-mar{font-size:36px;fill:#4d7893}
.croquis .e-sitio{font-size:34px;fill:#4b5a64}.croquis .e-sitio2{font-size:26px;fill:#6b7780}
.croquis .e-dist{font-size:30px;fill:var(--azul)}
.croquis .punto-sitio{fill:#4b5a64;stroke:#fbf8f0;stroke-width:3}
.croquis .hasta{fill:none;stroke:var(--azul);stroke-width:2.4;stroke-dasharray:2 9;stroke-linecap:round}
.croquis .norte path{fill:#5d5146}.croquis .norte text{font-size:28px}
.croquis .pin-punto{fill:var(--azul);stroke:#fbf8f0;stroke-width:4}
.croquis .pin-onda{fill:var(--azul);opacity:.25;transform-box:fill-box;transform-origin:center;animation:onda 2.4s ease-out infinite}
@keyframes onda{0%{transform:scale(.5);opacity:.4}100%{transform:scale(2.2);opacity:0}}
.croquis .pin-caja,.croquis .pin-pico{fill:var(--azul)}
.croquis .pin-nombre{font-size:34px;fill:#fff}
.croquis .pin-dir{font:600 17px Karla,sans-serif;fill:#dbe8f0;letter-spacing:.02em}
.croquis.pre .mar,.croquis.pre .agua,.croquis.pre .parque,.croquis.pre .calle,.croquis.pre .tren,.croquis.pre .rio-mancha,.croquis.pre .costa-mancha,.croquis.pre .encima{opacity:0}
.croquis.pre .principal path,.croquis.pre .rio path,.croquis.pre .costa path{stroke-dasharray:1;stroke-dashoffset:1}
.croquis.on .principal path,.croquis.on .rio path,.croquis.on .costa path{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 2.4s cubic-bezier(.23,1,.32,1)}
.croquis.on .mar,.croquis.on .agua,.croquis.on .parque,.croquis.on .calle,.croquis.on .tren,.croquis.on .rio-mancha,.croquis.on .costa-mancha{transition:opacity 1.2s ease .2s}
.croquis.on .encima{transition:opacity 1s ease 1.6s}
.hoja .direccion{display:grid;font-style:normal;margin-top:14px;font-size:18px;line-height:1.45}
.hoja .botones{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.hoja .botones .boton{margin-top:0}
.hoja .botones .boton--claro{background:#fff}
@media(max-width:700px){
  .croquis{aspect-ratio:1}
  .croquis [filter]{filter:none}
  .arriba nav a{min-height:40px;display:inline-flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){.croquis .pin-onda{animation:none;opacity:0}}
@media print{.movil,.arriba nav{display:none}}
.croquis .e-mar,.croquis .e-sitio,.croquis .e-sitio2,.croquis .e-dist,.croquis .norte text{paint-order:stroke;stroke:#fbf8f0;stroke-width:7px;stroke-linejoin:round}
@media(max-width:700px){
  .croquis .pin{transform:translate(500px,413px) scale(1.55)}
  .croquis .e-sitio{font-size:44px}.croquis .e-sitio2{font-size:34px}.croquis .e-mar{font-size:44px}.croquis .e-dist{font-size:38px}
  .croquis .norte{transform:translate(150px,90px) scale(1.4)}
}
/* las letras caligráficas con rabo (g, y, C) no se cortan en la máscara de la animación */
[data-letras],[data-lineas]{line-height:1.3;padding-bottom:.04em}
.heroe h1{margin-bottom:-.12em}

/* ═══ cabecera nueva: teléfono · enlaces con el logo en el centro · botón ═══ */
.cab{position:fixed;z-index:50;top:34px;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:12px clamp(18px,3vw,40px);color:#fff;transition:background-color .35s ease,color .35s ease,box-shadow .35s ease}
.cab a{text-decoration:none}
.cab__tel{justify-self:start;display:inline-flex;align-items:center;gap:8px;font:600 12.5px Karla,sans-serif;letter-spacing:.14em;text-transform:uppercase;min-height:44px}
.cab__nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,40px)}
.cab__nav a:not(.cab__logo){position:relative;font:600 12.5px Karla,sans-serif;letter-spacing:.16em;text-transform:uppercase;min-height:44px;display:inline-flex;align-items:center}
.cab__nav a:not(.cab__logo)::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--e)}
.cab__nav a[aria-current="page"]::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.cab__nav a:not(.cab__logo):hover::after{transform:scaleX(1);transform-origin:left}}
.cab__logo{color:inherit;font-size:clamp(32px,3vw,42px);text-shadow:0 1px 14px rgba(0,0,0,.25);padding:0 6px}
.cab .script{color:inherit}
.cab__der{justify-self:end;display:flex;align-items:center;gap:10px}
.cab .boton{min-height:44px;padding:0 20px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;background:var(--crema);color:var(--azul)}
@media(hover:hover) and (pointer:fine){.cab .boton:hover{background:#fff}}
.cab.solida{background:rgba(246,241,230,.95);color:var(--tinta);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(44,58,68,.12)}
.cab.solida .cab__logo{color:var(--azul);text-shadow:none}
.cab.solida .boton{background:var(--azul);color:#fff}
.cab__burger{display:none;width:46px;height:46px;border:0;border-radius:50%;background:rgba(20,35,48,.45);cursor:pointer;position:relative;color:inherit}
.cab.solida .cab__burger{background:rgba(44,90,122,.12)}
.cab__burger span{position:absolute;left:14px;right:14px;height:1.6px;background:currentColor;transition:transform .35s var(--e),top .35s var(--e)}
.cab__burger span:first-child{top:19px}.cab__burger span:last-child{top:26px}
.cab__burger[aria-expanded="true"] span:first-child{top:22.5px;transform:rotate(45deg)}
.cab__burger[aria-expanded="true"] span:last-child{top:22.5px;transform:rotate(-45deg)}
@media(max-width:1060px){
  .cab{grid-template-columns:1fr auto}
  .cab__tel,.cab__nav a:not(.cab__logo),.cab .boton{display:none}
  .cab__nav{justify-self:start}.cab__burger{display:block}
  .cab__logo{padding:0}
}
.menu-m{position:fixed;inset:0;z-index:45;background:#1b3a4e;display:grid;align-content:center;justify-items:center;gap:30px;padding:90px 24px 40px;text-align:center}
.menu-m[hidden]{display:none}
.menu-m nav{display:grid;gap:6px}
.menu-m nav a{color:#fff;font-size:clamp(40px,11vw,56px);text-decoration:none;padding:4px 0}
.menu-m .boton{width:min(100%,320px)}
.menu-abierto .cab{color:#fff;background:transparent;box-shadow:none;backdrop-filter:none}
.menu-abierto .cab .cab__logo{color:#fff}
.menu-abierto .cab__burger{background:rgba(255,255,255,.14)}
.menu-abierto{overflow:hidden}
.menu-abierto .movil{display:none}

/* portada con carrusel, título centrado */
.heroe--portada{min-height:100svh;place-items:center;text-align:center;padding:130px 0 90px}
.heroe--portada .wrap{display:grid;justify-items:center}
.heroe--portada h1{font-size:clamp(76px,15.5vw,224px);line-height:1.2}
.heroe--portada .sub{max-width:none;font:600 clamp(12px,1.2vw,14px) Karla,sans-serif;letter-spacing:.26em;text-transform:uppercase;margin-top:6px}
.heroe--portada .fondo::after{background:linear-gradient(180deg,rgba(14,28,40,.55),rgba(14,28,40,.25) 40%,rgba(14,28,40,.55))}
.slides img{position:absolute;inset:0;opacity:0;transition:opacity 1.3s ease}
.slides img.on{opacity:1}
.flecha{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(14,28,40,.25);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background-color .25s ease,transform .16s var(--e)}
.flecha:active{transform:translateY(-50%) scale(.94)}
.flecha--izq{left:clamp(10px,2.4vw,34px)}.flecha--der{right:clamp(10px,2.4vw,34px)}
@media(hover:hover) and (pointer:fine){.flecha:hover{background:rgba(255,255,255,.22)}}
@media(max-width:700px){.flecha{top:auto;bottom:96px;transform:none;width:42px;height:42px}.flecha:active{transform:scale(.94)}}

/* secciones oscuras */
.oscura{background:#1b3a4e;color:#dbe7ee}
.oscura .script{color:#fff}
.oscura .intro,.oscura p{color:#c3d3dd}
.oscura .cifras b{color:#fff}.oscura .cifras span{color:#a9c0cf}
.etiqueta{font:700 12px Karla,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#9fc0d4}
.collage{position:relative;padding-bottom:36px}
.collage .grande{width:100%;aspect-ratio:4/3;object-fit:cover;margin-left:auto;width:86%;display:block}
.collage .chica{position:absolute;left:0;bottom:0;width:42%;aspect-ratio:1;object-fit:cover;border:9px solid #f6f1e6;box-shadow:0 20px 40px -12px rgba(0,0,0,.55)}
.tarj-osc{display:grid;gap:20px;margin-top:40px}
@media(min-width:900px){.tarj-osc{grid-template-columns:repeat(3,1fr)}}
.tarj-osc article{background:var(--crema2);color:var(--tinta);box-shadow:0 24px 44px -26px rgba(0,0,0,.6)}
.tarj-osc .im{overflow:hidden}
.tarj-osc img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s var(--e)}
@media(hover:hover) and (pointer:fine){.tarj-osc article:hover img{transform:scale(1.05)}}
.tarj-osc .tx{padding:20px 24px 26px}
.tarj-osc .et{font:700 11.5px Karla,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--suave)}
.tarj-osc h3{font:700 25.2px/1.15 "Libre Caslon Text",Georgia,serif;color:var(--azul);margin-top:4px}
.tarj-osc p{color:#56656f;font-size:15px;margin:6px 0 14px}
.tarj-osc a{display:inline-block;margin-right:16px;font:700 12px Karla,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--azul);border-bottom:1px solid currentColor;padding:6px 0 3px}

/* fotos de platos */
.platos{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:34px}
@media(min-width:900px){.platos{grid-template-columns:repeat(4,1fr);gap:18px}}
.platos figure{margin:0;overflow:hidden;background:var(--crema2);box-shadow:0 1px 2px rgba(0,0,0,.08),0 18px 36px -24px rgba(0,0,0,.4)}
.platos img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .7s var(--e)}
@media(hover:hover) and (pointer:fine){.platos figure:hover img{transform:scale(1.05)}}
.platos figcaption{padding:10px 14px 12px;font:600 14px Karla,sans-serif;color:var(--tinta)}
.platos figure{overflow:hidden}
.g2>*{min-width:0}
.heroe--portada .fondo::after{background:linear-gradient(180deg,rgba(14,28,40,.6),rgba(14,28,40,.42) 45%,rgba(14,28,40,.62))}
.heroe--portada h1{text-shadow:0 2px 40px rgba(8,18,28,.6),0 0 6px rgba(8,18,28,.25)}

/* ═══ máscaras de la animación: hueco para los rasgos de la caligráfica (j, J, L, g) ═══ */
[data-lineas]>div,[data-letras]>div{padding:0 .14em;margin:0 -.14em}
.mapa-marco{overflow:hidden}
.heroe--portada .cta{justify-content:center;margin-top:30px}

/* ═══ MÓVIL ═══ */
@media(max-width:700px){
  .aviso{font-size:12px;padding:6px 14px;line-height:1.4}
  .seccion{padding:60px 0}
  .seccion h2,.molino h2{font-size:clamp(38px,10.5vw,46px)}
  [data-lineas],[data-letras]{line-height:1.2}
  .seccion .intro{font-size:16.5px}
  .heroe--portada{padding:120px 0 120px;min-height:100svh}
  .heroe--portada h1{font-size:clamp(64px,19vw,92px)}
  .heroe--portada .sub{letter-spacing:.18em;font-size:11.5px;line-height:1.7}
  .heroe--portada .cta{flex-direction:column;align-items:stretch;width:min(100%,300px);gap:10px}
  .heroe--portada .cta .boton{min-height:52px}
  .flecha{bottom:28px}
  .heroe--corto{min-height:380px;padding-top:120px}
  .heroe--corto h1{font-size:clamp(46px,13vw,60px)}
  .heroe .sub{font-size:16px}
  .cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .cifras b{font-size:38px}.cifras span{font-size:12.5px;line-height:1.35;display:block}
  .collage{padding-bottom:26px;margin-top:6px}
  .collage .grande{width:88%}.collage .chica{width:44%;border-width:6px}
  .tarj-osc{gap:16px;margin-top:28px}
  .tarj-osc .tx{padding:16px 18px 20px}
  .tarj-osc h3{font-size:30px}
  .tarj-osc img{aspect-ratio:16/10}
  /* galerías de fotos: carrusel lateral con el borde de la siguiente asomando */
  .galeria{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:28px -18px 0;padding:0 18px 18px;scrollbar-width:none}
  .galeria::-webkit-scrollbar{display:none}
  .galeria>*{flex:0 0 82%;scroll-snap-align:center}
  .galeria img{aspect-ratio:4/3}
  .platos{gap:10px;margin-top:26px}
  .platos figcaption{font-size:13px;padding:8px 10px 10px}
  .foto-marco img{aspect-ratio:16/10}
  .g2{gap:28px}
  .carta{margin-top:30px}.carta h3{font-size:32px}
  .menus .panel{padding:22px 20px}.menus .precio{font-size:54px}
  .paso{grid-template-columns:40px 1fr;gap:4px 14px;padding:20px 0}
  .paso::before{font-size:44px;min-width:0}
  .paso h3{font-size:28px}
  .producto{padding:30px 0;gap:18px}
  .producto h2{font-size:40px}
  .p-foto .recuadro{aspect-ratio:16/10}
  .accesos .panel{padding:18px 20px}
  .mapa-g .hoja{padding:22px 20px 26px}
  .hoja .botones{flex-direction:column}
  .hoja .botones .boton{width:100%}
  .filas a,.filas div{padding:13px 0;font-size:15px;flex-wrap:wrap;gap:4px 16px}
  .llamar{padding:56px 0 60px}
  .llamar .boton{width:min(100%,320px)}
  .llamar small a{display:inline-block;padding:10px 0}
  .pie{padding:28px 0 32px}
  .pie .wrap{flex-direction:column;align-items:flex-start;gap:14px}
  .pie nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;width:100%}
  .pie nav a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid rgba(255,255,255,.1)}
  .mapa-marco figcaption a{display:inline-block;padding:6px 0}
  .cab{padding:10px 16px}
  .cab__logo{font-size:30px}
}
@media(max-width:700px){.tarj-osc a{padding:12px 0 6px}}

/* ═══════════ v4 · más bonita: arcos, platos redondos, sello, grano, revelados ═══════════ */
/* portada */
.adorno{width:120px;height:24px;color:#fff;opacity:.9;margin-bottom:6px}
.slides img{transform-origin:50% 60%}
.slides img.on{animation:zoom 16s ease-out both}
@keyframes zoom{from{transform:scale(1)}to{transform:scale(1.09)}}
.heroe--portada .fondo::before{content:"";position:absolute;inset:0;z-index:1;opacity:.16;mix-blend-mode:overlay;pointer-events:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.cue{position:absolute;z-index:3;bottom:24px;left:50%;transform:translateX(-50%);color:#fff;display:grid;justify-items:center;gap:8px;font:600 11px Karla,sans-serif;letter-spacing:.26em;text-transform:uppercase;text-decoration:none}
.cue i{width:1px;height:44px;background:linear-gradient(#fff,transparent);transform-origin:top;animation:cue 2.4s var(--e) infinite}
@keyframes cue{0%{transform:scaleY(0)}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* sección oscura: dibujos de fondo, sello y collage en arco */
.oscura{position:relative;overflow:hidden}
.oscura>.wrap{position:relative;z-index:1}
.orn{position:absolute;color:#fff;opacity:.055;pointer-events:none}
.orn--1{width:440px;height:440px;left:-150px;top:-70px}
.orn--2{width:300px;height:360px;right:-70px;bottom:-60px;transform:rotate(14deg)}
.collage .grande{width:80%;aspect-ratio:4/5;border-radius:999px 999px 0 0;margin-left:auto;object-position:50% 40%}
.collage .chica{border-radius:50%;border:8px solid #f6f1e6;width:40%;left:2%;bottom:6px}
.sello{position:absolute;top:-6px;right:-6px;width:128px;height:128px;animation:gira 30s linear infinite;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35))}
.sello-fondo{fill:#f6f1e6}
.sello-txt{font:700 11.4px Karla,sans-serif;letter-spacing:.2em;fill:var(--azul)}
.sello use{color:var(--azul)}
@keyframes gira{to{transform:rotate(360deg)}}

/* tarjetas con foto en arco */
.tarj-osc article{padding:14px 14px 0}
.tarj-osc .im{border-radius:999px 999px 0 0}
.tarj-osc img{aspect-ratio:4/4.3;border-radius:999px 999px 0 0}
.tarj-osc .tx{padding:20px 12px 28px;text-align:center}
.tarj-osc a{margin:0 8px}

/* festón de arcos entre lo oscuro y lo crema */
.oscura--b+.seccion--crema{position:relative}
.oscura--b+.seccion--crema::before{content:"";position:absolute;top:-1px;left:0;right:0;height:26px;background:radial-gradient(circle at 50% 0,#1b3a4e 0 24px,transparent 25px) 0 0/52px 26px repeat-x}

/* platos como platos: redondos, con aro blanco */
.platos{gap:26px 18px}
.platos figure{background:none;box-shadow:none;text-align:center;overflow:visible}
.platos img{border-radius:50%;border:7px solid #fff;box-shadow:0 22px 34px -16px rgba(0,0,0,.5)}
.platos figcaption{font-size:27px;line-height:1.1;color:var(--azul);padding:16px 0 0}

/* galerías en arco, la del medio más baja */
.galeria .tarjeta{background:none;box-shadow:none}
.galeria .tarjeta img{aspect-ratio:3/4;border-radius:999px 999px 0 0;box-shadow:0 22px 40px -22px rgba(0,0,0,.5)}
@media(min-width:700px){.galeria>:nth-child(2){margin-top:46px}}

/* tarjetas de menú de la carta, como una carta impresa */
.menus .panel{outline:1px solid rgba(44,90,122,.55);outline-offset:-10px;padding:34px 32px}
.seccion h2{letter-spacing:.005em}

@media(max-width:700px){
  .cue{display:none}
  .orn--1{width:300px;height:300px;left:-110px}.orn--2{width:200px;height:240px}
  .sello{width:104px;height:104px;top:-18px;right:-4px}
  .collage .grande{width:84%}
  .collage .chica{width:42%;border-width:6px}
  .platos{gap:22px 12px}
  .platos img{border-width:5px}
  .platos figcaption{font-size:21px;padding-top:12px}
  .galeria>*{flex-basis:72%}
  .galeria .tarjeta img{aspect-ratio:4/5}
  .tarj-osc article{padding:10px 10px 0}
  .tarj-osc img{aspect-ratio:4/4}
  .oscura--b+.seccion--crema::before{background-size:40px 20px;height:20px;background-image:radial-gradient(circle at 50% 0,#1b3a4e 0 18px,transparent 19px)}
}
@media(prefers-reduced-motion:reduce){.slides img.on,.sello,.cue i{animation:none}}
.platos figcaption{font:700 20.7px/1.1 "Libre Caslon Text",Georgia,serif}
.sello-txt{letter-spacing:0;font-size:12.5px}
@media(max-width:700px){.platos figcaption{font-size:22px}}

/* ═══ carta y menús v2 ═══ */
.heroe--tono .fondo::before{content:"";position:absolute;inset:0;z-index:1;background:#2c5a7a;mix-blend-mode:multiply;opacity:.6}
.heroe--tono .fondo img{filter:contrast(1.06) brightness(1.05)}
.centro{text-align:center}
.seccion--menus{background:var(--crema2)}
.seccion--menus .etiqueta{color:var(--suave);text-align:center}
.seccion--menus h2{margin-top:10px}
.menus2{display:grid;gap:30px;margin:44px auto 0;max-width:1000px}
@media(min-width:860px){.menus2{grid-template-columns:1fr 1fr;gap:36px}}
.mcard{display:flex;background:#fffdf8;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 34px 60px -34px rgba(0,0,0,.5)}
.mcard__in{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;border:1px solid var(--azul);outline:1px solid rgba(44,90,122,.3);outline-offset:-8px;padding:clamp(34px,3.6vw,50px) clamp(22px,3vw,38px) 34px;text-align:center}
.mcard__in::before{content:"✦";position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:#fffdf8;padding:0 12px;color:var(--azul);font-size:15px;line-height:1}
.mcard__et{font:700 11.5px Karla,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--suave)}
.mcard h3{font:700 clamp(31.1px,3vw,40px)/1.15 "Libre Caslon Text",Georgia,serif;color:var(--azul);margin-top:6px}
.mcard__precio{display:inline-flex;align-items:flex-start;justify-content:center;gap:6px;margin:4px 0 0;color:var(--azul)}
.mcard__precio b{font:700 clamp(71px,6.7vw,96.2px)/1.05 "Libre Caslon Text",Georgia,serif}
.mcard__precio span{display:grid;justify-items:start;font:700 29.6px/1.05 "Libre Caslon Text",Georgia,serif;margin-top:14px}
.mcard__precio small{font:700 10.5px Karla,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--suave);margin-top:6px}
.orn-linea{display:flex;align-items:center;gap:12px;margin:18px auto;max-width:230px;color:var(--azul)}
.orn-linea i{flex:1;height:1px;background:currentColor;opacity:.4}
.orn-linea svg{width:14px;height:14px;flex:none}
.curso span{display:block;font:700 11px Karla,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--suave)}
.curso p{font:500 clamp(18px,1.5vw,20px)/1.6 Karla,sans-serif;margin-top:6px;color:var(--tinta)}
.curso p i{font:700 17px/1.15 "Libre Caslon Text",Georgia,serif;color:var(--azul);margin-right:3px}
.curso em{display:block;font-style:normal;font-size:14px;color:var(--suave);margin-top:4px}
.mcard__pie{font-size:13px;color:var(--suave);margin-top:20px}
.mcard--casa{background:#1b3a4e}
.mcard--casa .mcard__in{border-color:rgba(246,241,230,.7);outline-color:rgba(246,241,230,.28)}
.mcard--casa .mcard__in::before{background:#1b3a4e;color:#fff}
.mcard--casa h3,.mcard--casa .mcard__precio,.mcard--casa .orn-linea,.mcard--casa .curso p i{color:#fff}
.mcard--casa .mcard__et,.mcard--casa .curso span,.mcard--casa .mcard__precio small{color:#a9c0cf}
.mcard--casa .curso p{color:#e6eef3}
.nota.centro{margin:30px auto 0;text-align:center}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.chips a{padding:10px 18px;border:1px solid var(--azul);border-radius:999px;text-decoration:none;font:600 12.5px Karla,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--azul);transition:background-color .25s ease,color .25s ease}
@media(hover:hover) and (pointer:fine){.chips a:hover{background:var(--azul);color:#fff}}
.carta2{columns:2;column-gap:clamp(24px,4vw,56px);margin-top:46px}
@media(max-width:860px){.carta2{columns:1}}
.cat{break-inside:avoid;position:relative;background:#fffdf8;padding:26px 28px 14px;margin-bottom:30px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 26px 44px -30px rgba(0,0,0,.4);scroll-margin-top:110px}
.cat__ico{position:absolute;right:24px;top:22px;width:64px;height:48px;color:var(--azul);opacity:.85}
.cat h3{font:700 clamp(26.6px,2.5vw,32.6px)/1.2 "Libre Caslon Text",Georgia,serif;color:var(--azul);padding-bottom:10px;border-bottom:1.5px solid var(--azul);margin:0}
.cat ul{list-style:none;padding:0;margin:0}
.cat li{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px dotted #c9bfa9;font-size:17px;line-height:1.35}
.cat li:last-child{border-bottom:0}
.cat li small{color:var(--suave);font-size:14px;margin-top:2px}
@media(max-width:700px){
  .mcard{padding:9px}.mcard__in{padding:34px 18px 26px}
  .mcard__precio b{font-size:92px}
  .cat{padding:22px 20px 10px;margin-bottom:22px}.cat__ico{width:52px;height:40px;right:18px;top:20px}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin:22px -18px 0;padding:0 18px 6px;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}.chips a{flex:none}
}
.curso p i{font-size:27px;line-height:1}

/* ═══ productos: botellas en nichos de arco ═══ */
.seccion--prod{background:var(--crema2)}
.seccion--prod .etiqueta{color:var(--suave)}
.seccion--prod h2{margin-top:10px}
.intro.centro{margin-inline:auto;text-align:center}
.botella{margin:0;position:relative;background:var(--tinte,#e6e1cf);border-radius:999px 999px 0 0;padding:34px 22px 0;box-shadow:inset 0 0 0 1px rgba(44,58,68,.1)}
.botella::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:rgba(44,58,68,.16);filter:blur(6px);border-radius:50%;transform:translateY(7px)}
.botella img{position:relative;z-index:1;width:100%;height:auto;mix-blend-mode:multiply;display:block}
.botellas{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,3vw,44px);max-width:900px;margin:44px auto 0}
.botellas a{display:grid;justify-items:center;text-align:center;text-decoration:none;gap:4px}
.botellas .botella{width:100%}
.botellas span{font:700 clamp(19.2px,2.2vw,28.1px)/1.1 "Libre Caslon Text",Georgia,serif;color:var(--azul);margin-top:16px}
.botellas small{font:700 11px Karla,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--suave)}
@media(hover:hover) and (pointer:fine){.botellas a .botella{transition:transform .6s var(--e)}.botellas a:hover .botella{transform:translateY(-8px)}}
.prods{display:grid;gap:clamp(48px,6vw,90px);margin-top:56px}
.prod{display:grid;gap:30px;align-items:center;justify-items:center}
@media(min-width:860px){
  .prod{grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(40px,7vw,100px);max-width:960px;margin:0 auto}
  .prod:nth-child(even){grid-template-columns:1fr minmax(220px,300px)}
  .prod:nth-child(even) .botella{order:2}
}
.prod .botella{width:min(260px,70vw);justify-self:center}
.prod__tx{justify-self:start;max-width:520px}
.prod__tx .etiqueta{color:var(--suave)}
.prod h3{font:700 clamp(32.6px,3.7vw,48.8px)/1.1 "Libre Caslon Text",Georgia,serif;color:var(--azul);margin-top:6px}
.prod .lema{font:700 18.5px/1.15 "Libre Caslon Text",Georgia,serif;color:var(--suave);margin-top:4px}
.prod .tx{margin-top:14px;font-size:17.5px;color:#475660}
.ficha{display:grid;margin-top:22px;border-top:1.5px solid var(--azul)}
.ficha div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #d9d1c0}
.ficha dt{font:700 11.5px Karla,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--suave);align-self:center}
.ficha dd{margin:0;font-weight:600;text-align:right}
@media(max-width:700px){
  .botellas{gap:10px;margin-top:30px}.botella{padding:22px 12px 0}
  .botellas span{font-size:24px;margin-top:12px}.botellas small{font-size:9.5px;letter-spacing:.14em}
  .prod .botella{width:min(220px,64vw)}.prod__tx{justify-self:stretch}
}
/* la foto llena el nicho: sin recorte del fondo, como una foto de estudio dentro del arco */
.botella{padding:0;overflow:hidden;background:#d9dadc;aspect-ratio:340/880;box-shadow:0 26px 40px -26px rgba(0,0,0,.5)}
.botella::after{display:none}
.botella img{mix-blend-mode:normal;width:100%;height:100%;object-fit:cover}
.botella::before{content:"";position:absolute;inset:0;z-index:2;background:var(--tinte);mix-blend-mode:multiply;opacity:.45;pointer-events:none}
@media(max-width:700px){.botella{padding:0}}
.botellas{max-width:720px}
.pie__credito{width:100%;margin-top:8px;font-size:12px;opacity:.7}

/* ═══ v1.2 · más dinámica: contador de portada, ¿a qué venís?, paseo horizontal, visor de fotos ═══ */
.heroe--portada .fondo{will-change:transform;inset:-24px}
.slide-info{position:absolute;z-index:3;left:clamp(18px,4vw,48px);bottom:34px;display:grid;gap:6px;color:#fff;font:600 12px Karla,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.slide-n b{font-size:15px}
.slide-t{font:700 16.3px/1.15 "Libre Caslon Text",Georgia,serif;letter-spacing:0;text-transform:none}
.slide-barra{display:block;width:140px;height:2px;background:rgba(255,255,255,.3);overflow:hidden}
.slide-barra i{display:block;height:100%;background:#fff;transform-origin:left;animation:barra 6.5s linear infinite}
@keyframes barra{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:700px){.slide-info{bottom:auto;top:96px;left:16px}.slide-barra{width:90px}}
@media(prefers-reduced-motion:reduce){.slide-barra{display:none}}

/* ¿a qué venís? */
.venis{padding:clamp(64px,8vw,116px) 0;background:var(--crema2)}
.venis .etiqueta{color:var(--suave)}
.venis h2{font-size:clamp(46px,6vw,82px);margin-top:8px}
.venis__g{display:grid;gap:clamp(20px,3vw,40px);margin-top:34px;grid-template-areas:"tabs" "foto" "panel"}
@media(min-width:900px){.venis__g{grid-template-columns:.9fr 1.1fr;grid-template-areas:"tabs foto" "panel foto";align-items:start}}
.venis__tabs{grid-area:tabs;display:grid;border-top:1.5px solid var(--azul)}
.venis__tabs button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:64px;padding:12px 4px;background:none;border:0;border-bottom:1px solid #d9d1c0;color:var(--suave);font:700 clamp(20.7px,2.2vw,29.6px)/1.1 "Libre Caslon Text",Georgia,serif;text-align:left;cursor:pointer;transition:color .3s,padding .5s var(--e)}
.venis__tabs button::after{content:"→";font:400 20px Karla,sans-serif;opacity:0;transform:translateX(-10px);transition:opacity .3s,transform .5s var(--e)}
.venis__tabs button[aria-selected="true"]{color:var(--azul);padding-left:14px}
.venis__tabs button[aria-selected="true"]::after{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.venis__tabs button:hover{color:var(--azul)}}
.venis__foto{grid-area:foto;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:999px 999px 0 0;background:#d9d1c0}
.venis__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .7s ease,transform 1.4s var(--e)}
.venis__foto img.on{opacity:1;transform:none}
.venis__panel{grid-area:panel}
.venis__panel h3{font:700 22.2px/1.15 "Libre Caslon Text",Georgia,serif;color:var(--azul)}
.venis__panel p{margin:8px 0 20px;font-size:17px;color:#475660;max-width:46ch}
@media(max-width:899px){.venis__tabs{grid-template-columns:1fr 1fr;border-top:0;gap:8px}.venis__tabs button{min-height:52px;justify-content:center;text-align:center;border:1.5px solid #cfc6b4;border-radius:999px;font-size:24px;padding:6px 10px}.venis__tabs button::after{display:none}.venis__tabs button[aria-selected="true"]{background:var(--azul);color:#fff;border-color:var(--azul);padding-left:10px}.venis__foto{border-radius:20px}}

/* paseo por la casa */
.paseo{padding:clamp(64px,8vw,110px) 0 clamp(40px,5vw,70px);overflow:hidden}
.paseo__cab h2{font-size:clamp(46px,6vw,82px)}
.paseo__pista{display:flex;gap:clamp(14px,2vw,28px);margin-top:36px;padding:0 clamp(18px,4.5vw,44px);will-change:transform}
.paseo__f{margin:0;flex:0 0 clamp(280px,34vw,520px)}
.paseo__f:nth-child(even){margin-top:56px}
.paseo .zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;border-radius:18px}
.paseo__f img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transform:scale(1.18)}
.paseo__f figcaption{margin-top:12px;font:700 19.2px/1.15 "Libre Caslon Text",Georgia,serif;color:var(--azul)}
.paseo__f figcaption span{font:600 12px Karla,sans-serif;letter-spacing:.16em;color:var(--suave);margin-right:10px}
.paseo.lateral .paseo__f img{transform:scale(1.04)}
.paseo.fijo .paseo__in{width:100%}
@media(max-width:899px){.paseo__pista{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:10px}.paseo__pista::-webkit-scrollbar{display:none}.paseo__f{flex-basis:76%;scroll-snap-align:center}.paseo__f:nth-child(even){margin-top:0}.paseo__f img{transform:none}}
@media(prefers-reduced-motion:reduce){.paseo__f img{transform:none}}

/* fotos que se pueden ampliar */
.ampliable{cursor:zoom-in}
.ampliable:focus-visible{outline:3px solid var(--azul);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.paseo .zoom:hover img{filter:brightness(1.06)}}
.visor{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:clamp(16px,3vw,40px);background:rgba(14,22,30,.94);backdrop-filter:blur(6px)}
.visor[hidden]{display:none}
.visor figure{margin:0;display:grid;justify-items:center;gap:12px;min-width:0}
.visor img{max-width:100%;max-height:calc(100svh - 130px);object-fit:contain;border-radius:6px}
.visor figcaption{color:#e8eff4;font:500 15px Karla,sans-serif;text-align:center}
.visor__x{position:absolute;top:16px;right:16px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:none;color:#fff;font-size:20px;cursor:pointer}
.visor__a{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:none;color:#fff;font-size:30px;line-height:1;cursor:pointer}
@media(hover:hover) and (pointer:fine){.visor__x:hover,.visor__a:hover{background:rgba(255,255,255,.14)}}
.visor__n{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#a9bccb;font:600 12px Karla,sans-serif;letter-spacing:.14em}
@media(max-width:700px){.visor{grid-template-columns:1fr;padding:70px 10px 50px}.visor__a{position:absolute;bottom:36px;width:46px;height:46px}.visor__a--i{left:16px}.visor__a--d{right:16px}}
.visor-abierto,.visor-abierto body{overflow:hidden}
@media(min-width:900px){.paseo__f{flex-basis:clamp(260px,26vw,400px)}.paseo__pista{padding-left:clamp(18px,16vw,260px)}}
.slides img[src*="gv-caserio-puente"]{object-position:30% 45%}@media(max-width:700px){.slides img[src*="gv-caserio-puente"]{object-position:22% 40%}}

/* paseo pegado: la sección se queda quieta y las fotos pasan de lado (ordenador y móvil) */
.paseo.pegado{padding:0;overflow:visible}
.paseo.pegado .paseo__in{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:70px}
.paseo.pegado .paseo__pista{overflow:visible;scroll-snap-type:none;flex-wrap:nowrap;margin-top:24px;padding-bottom:0}
.paseo.pegado .paseo__f{flex:0 0 clamp(250px,28vw,420px)}
.paseo.pegado .paseo__f:nth-child(even){margin-top:46px}
.paseo.pegado .paseo__f img{transform:none;aspect-ratio:4/5;max-height:58svh;width:100%}
@media(max-width:899px){
  .paseo.pegado .paseo__in{padding-top:64px;padding-bottom:96px}
  .paseo.pegado .paseo__cab h2{font-size:clamp(38px,10.5vw,46px)}
  .paseo.pegado .paseo__cab .intro{font-size:15px;margin-top:6px}
  .paseo.pegado .paseo__pista{gap:14px;padding:0 18px;margin-top:18px}
  .paseo.pegado .paseo__f{flex-basis:72vw}
  .paseo.pegado .paseo__f:nth-child(even){margin-top:26px}
  .paseo.pegado .paseo__f img{max-height:46svh}
  .paseo.pegado .paseo__f figcaption{font-size:22px;margin-top:8px}
}
html,body{overflow-x:clip}

/* letra de la casa (Oier, 23/10): la de su carta, una romana negrita clásica (Libre Caslon Text 700) en vez de la caligráfica */
.script{font-family:"Libre Caslon Text",Georgia,serif;font-weight:700;letter-spacing:-.01em;line-height:1.08}
.heroe h1.script,.heroe--portada h1{font-size:clamp(50px,9vw,138px);letter-spacing:-.02em}
.heroe--corto h1{font-size:clamp(42px,6.4vw,88px)}
.seccion h2,.seccion h2.script,.molino h2,.eventos h2,.reservar h2,.venis h2,.paseo__cab h2,.llamar .script{font-size:clamp(34px,4.3vw,60px)}
.cab__logo{font-size:clamp(24px,2.2vw,30px)}
[data-letras],[data-lineas]{line-height:1.12}
.slides img[src*="bk-fachada"]{object-position:35% 40%}
.heroe--portada{cursor:pointer}
/* sin recuadro azul al tocar (Oier, 24/10): tap-highlight transparente; contorno solo con teclado (:focus-visible) */
html{-webkit-tap-highlight-color:transparent}
a,button,[role="button"],input,select,textarea,summary,label{-webkit-tap-highlight-color:transparent}
:focus:not(:focus-visible){outline:none}
.botellas:has(> a:only-child){grid-template-columns:minmax(0,280px);justify-content:center}
/* protección de datos */
.legal .wrap{max-width:780px}
.legal h2.script{font-size:clamp(24px,2.4vw,32px);margin:34px 0 10px}
.legal h2.script:first-child{margin-top:0}
.legal p,.legal li{font-size:17px;line-height:1.7;color:#3a4650}
.legal ul{margin:10px 0 0 20px}
.legal a{color:var(--azul)}
.curso p i{font:italic 400 1em Karla,sans-serif;opacity:.75;margin-right:4px}

/* solo dos fotos de platos (10/11: fuera parrillada y verduras) */
@media(min-width:900px){.platos--dos{grid-template-columns:repeat(2,1fr);max-width:620px}}
/* inicio: texto a la izquierda y los dos platos a la derecha, sin hueco vacío */
@media(min-width:900px){
  .platos-bloque{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:"t f" "i f" "b f";column-gap:clamp(40px,6vw,96px);align-items:center;align-content:center}
  .platos-bloque>h2{grid-area:t;align-self:end}
  .platos-bloque>.intro{grid-area:i;align-self:start}
  .platos-bloque>.platos{grid-area:f;margin-top:0;max-width:none}
  .platos-bloque>p:last-child{grid-area:b;align-self:start;margin-top:8px!important}
}
/* carta: las dos fotos centradas */
.platos--dos{margin-inline:auto}
