/* GastroGrao · hoja de estilos v2
   Plano y geométrico: círculos y arcos del logo, color de cada jornada a bloque,
   esquinas redondeadas y sin sombras. --c = color de la jornada que manda en la página. */
:root{
  --papel:#F4EFE6; --papel-2:#EAE3D6; --papel-3:#DDD4C3; --blanco:#FFFDF8;
  --tinta:#10364A; --tinta-2:#4A6470; --tinta-3:#5E7078;
  --mar:#0F7A96; --mar-os:#0B5F75; --mar-claro:#CDE5EA;
  --naranja:#F29A2E; --naranja-claro:#FBDDB0;
  --display:"Dosis","Arial Rounded MT Bold","Arial Narrow",system-ui,sans-serif;
  --texto:"Outfit","Segoe UI",system-ui,sans-serif;
  --mono:"DM Mono",ui-monospace,Menlo,monospace;
  --mano:"Caveat","Segoe Print",cursive;
  --r-s:14px; --r:26px; --r-l:44px; --caja:1260px;
  --c:#E8757A;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;overflow-x:clip;background:var(--papel);color:var(--tinta);font-family:var(--texto);font-size:17px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--mar)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--naranja);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);text-transform:uppercase;line-height:.95;margin:0;text-wrap:balance;font-weight:800;letter-spacing:-.005em}
h1{font-size:clamp(2.8rem,7vw,5.6rem)}
h2{font-size:clamp(1.9rem,3.8vw,2.9rem)}
h3{font-size:1.3rem}
p{margin:0}
.caja{max-width:var(--caja);margin:0 auto;padding-inline:clamp(16px,4vw,44px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.saltar{position:absolute;left:-999px;top:0;background:var(--tinta);color:#fff;padding:8px 14px;z-index:99;border-radius:30px}
.saltar:focus{left:10px;top:10px}
.sel{user-select:all}
.lead{font-size:1.2rem;line-height:1.55;max-width:58ch;margin-top:18px}
.eti{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2)}
.aviso{background:var(--blanco);border-radius:var(--r);padding:18px 22px;color:var(--tinta-2);max-width:70ch}
.f{display:block;position:absolute;border-radius:50%;pointer-events:none}

/* Pastilla de etiqueta (con punto de color) */
.pastilla{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;background:var(--blanco);color:var(--tinta);padding:7px 14px 7px 9px;border-radius:40px;margin-bottom:18px}
.pastilla i{width:14px;height:14px;border-radius:50%;background:var(--c);flex:none}
.pastilla.claro{background:rgba(255,255,255,.14);color:#fff}
.pastilla.claro i{background:var(--naranja)}
.eb{font-family:var(--mono);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2);margin-bottom:12px}
.eb.claro{color:#EAF3F5}
.eb a{color:inherit}

/* Botones: píldoras planas */
.botones{display:flex;flex-wrap:wrap;gap:10px}
.bt{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1rem;padding:13px 22px;border-radius:40px;border:0;color:var(--tinta);background:var(--blanco);text-decoration:none;line-height:1;cursor:pointer;transition:transform .15s,background .15s,color .15s}
.bt:hover{transform:translateY(-2px)}
.bt.tinta,.bt.lleno{background:var(--tinta);color:var(--papel)}
.bt.papel{background:var(--papel);color:var(--tinta)}
.bt.naranja{background:var(--naranja);color:var(--tinta)}
.bt.color{background:var(--c);color:#fff}
.bt.color-k{background:var(--k);color:#fff}
.bt.borde{background:transparent;box-shadow:inset 0 0 0 2px currentColor}
.bt.claro{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.8)}
.bt.blanco{background:#fff;color:var(--tinta)}
.bt.borde-claro{background:var(--tinta);color:#fff}
.bt.borde-claro:hover{background:#fff;color:var(--tinta)}
.mas{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.92rem;color:var(--tinta);text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.mas::after{content:"";width:30px;height:30px;border-radius:50%;background:var(--c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .2s}
.mas:hover::after{transform:translateX(4px)}

/* Cabecera */
.cab{position:sticky;top:0;z-index:40;background:var(--papel)}
.cab-in{display:flex;align-items:center;gap:18px;padding-block:12px}
.logo img{height:58px;width:auto}
.nav{display:flex;gap:4px;align-items:center;margin-left:auto;background:var(--blanco);border-radius:40px;padding:5px}
.nav a{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.98rem;letter-spacing:.05em;color:var(--tinta-2);text-decoration:none;padding:9px 16px;border-radius:30px;transition:background .15s,color .15s}
.nav a:hover{color:var(--tinta);background:var(--papel-2)}
.nav a[aria-current]{background:var(--tinta);color:var(--papel)}
.nav .nav-sec{display:none}
.cab-jor{display:flex;flex-direction:column;justify-content:center;background:var(--k);color:#fff;text-decoration:none;border-radius:40px;padding:6px 20px 7px;line-height:1.05}
.cab-jor small{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.cab-jor b{font-family:var(--display);text-transform:uppercase;font-size:1.02rem;letter-spacing:.03em}
.burger{display:none;background:var(--tinta);border:0;width:48px;height:48px;border-radius:50%;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.burger span{display:block;width:20px;height:2.5px;background:var(--papel);border-radius:2px;transition:transform .2s,opacity .2s}

/* Ola separadora */
.ola{display:block;width:100%;height:clamp(40px,6vw,90px);margin-bottom:-2px}

/* PORTADA */
.portada{background:var(--c);color:var(--tinta);position:relative}
.portada-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center;padding-block:40px 20px}
.portada-txt{display:flex;flex-direction:column;align-items:flex-start;gap:22px;position:relative;z-index:2}
.portada-txt .pastilla{margin:0}
.portada-h{font-size:clamp(4rem,10vw,8.4rem);line-height:.8;letter-spacing:-.02em}
.portada-h span{display:block;color:var(--tinta)}
.portada-h em{display:block;font-style:normal;color:var(--blanco)}
.portada-fe{display:flex;flex-wrap:wrap;gap:8px}
.portada-fe span{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.24);color:var(--tinta);padding:6px 12px;border-radius:30px}
.estado{display:flex;gap:10px;align-items:stretch}
.dig{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--blanco);border-radius:22px;min-width:92px;padding:12px 10px 10px}
.dig b{font-family:var(--display);font-weight:800;font-size:3rem;line-height:.9;font-variant-numeric:tabular-nums}
.dig small{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-2);margin-top:6px}
.prog{display:grid;gap:10px;align-content:center;background:var(--blanco);border-radius:22px;padding:14px 18px;min-width:240px}
.prog .barra{height:10px;background:var(--papel-2);border-radius:6px;overflow:hidden}
.prog .barra i{display:block;height:100%;background:var(--c);border-radius:6px}
.prog span{font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--tinta-2)}
.gracias{background:var(--blanco);border-radius:22px;padding:14px 18px;color:var(--tinta-2);line-height:1.4}
.gracias b{display:block;font-family:var(--display);text-transform:uppercase;font-size:1.4rem;color:var(--tinta)}
.portada-art{position:relative;aspect-ratio:1/1;max-width:640px;width:100%;justify-self:end}
.portada-art .f-sol{width:78%;aspect-ratio:1;background:var(--naranja);left:0;top:4%}
.portada-art .f-luna{width:40%;aspect-ratio:1;background:var(--tinta);border-radius:50%;right:-2%;bottom:0}
.portada-art .f-punto{width:14%;aspect-ratio:1;background:var(--blanco);right:12%;top:2%}
.portada-foto{position:absolute;inset:12% 6% 10% 14%;border-radius:999px 999px 999px 60px;overflow:hidden;background:var(--tinta)}
.portada-foto img{width:100%;height:100%;object-fit:cover}
.portada-cartel{position:absolute;left:0;bottom:0;width:34%;transform:rotate(-7deg);background:var(--blanco);padding:7px;border-radius:18px;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.portada-cartel img{border-radius:12px}
.portada-art:hover .portada-cartel{transform:rotate(-3deg) translateY(-8px)}
.sello{position:absolute;right:2%;top:16%;width:128px;height:128px}
.sello-fondo{fill:var(--tinta)}
.sello-t{font-family:var(--mono);font-size:10px;letter-spacing:2.2px;fill:var(--papel)}
.sello-n{font-family:var(--display);font-weight:800;font-size:34px;fill:var(--naranja)}
.sello-giro{transform-origin:70px 70px;animation:gira 30s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

/* Cinta de restaurantes */
.cinta{overflow:hidden;background:var(--tinta);color:var(--papel);margin:26px clamp(12px,3vw,32px) 0;border-radius:60px}
.cinta-in{display:flex;gap:30px;white-space:nowrap;padding:15px 0;width:max-content;animation:desliza 55s linear infinite;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:1.1rem;letter-spacing:.06em}
.cinta-in span{display:inline-flex;align-items:center;gap:30px}
.cinta-in span::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--c)}
@keyframes desliza{to{transform:translateX(-50%)}}

/* Secciones */
.sec{padding-block:70px}
.sec-sin-borde{padding-top:20px}
.sec-tit{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:30px}

/* Tres jornadas: bloques de color */
.tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tres-j{position:relative;overflow:hidden;background:var(--k);color:#fff;border-radius:var(--r-l) var(--r-l) var(--r-l) 110px;min-height:360px;padding:28px;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:transform .25s}
.tres-j:hover{transform:translateY(-6px)}
.tres-j .f{width:260px;height:260px;right:-70px;bottom:-80px;background:rgba(255,255,255,.18)}
.tres-j .chip{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;background:var(--blanco);color:var(--tinta);padding:6px 12px;border-radius:30px}
.tres-j b{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.2rem,3.4vw,3rem);line-height:.9;margin-top:8px;max-width:8ch}
.tres-j small{font-size:.95rem;font-weight:600}
.tres-cartel{position:absolute;right:22px;bottom:22px;width:40%;transform:rotate(6deg);background:#fff;padding:5px;border-radius:14px;transition:transform .3s}
.tres-j:hover .tres-cartel{transform:rotate(1deg) translateY(-6px)}

/* Casas: arcos */
.casas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 18px}
.casa{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--tinta)}
.casa-foto{display:block;position:relative;aspect-ratio:4/5;border-radius:999px 999px var(--r) var(--r);overflow:hidden;background:var(--c)}
.casa-foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .3s}
.casa:nth-child(3n+2) .casa-foto{border-radius:var(--r) var(--r) 999px 999px}
.casa:nth-child(5n+3) .casa-foto{border-radius:var(--r) 999px var(--r) var(--r)}
.casa:hover .casa-foto img{transform:scale(1.06);opacity:.85}
.casa b{font-family:var(--display);text-transform:uppercase;font-size:1.35rem;line-height:1;margin-top:8px}
.casa small{font-size:.84rem;color:var(--tinta-2);line-height:1.3}

/* Bloques de color redondeados */
.bloque{padding-block:24px}
.bloque-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;border-radius:var(--r-l);padding:clamp(28px,5vw,64px);position:relative;overflow:hidden;width:calc(100% - 2*clamp(16px,4vw,44px))}
.bloque-mar .bloque-in{background:var(--mar);color:#fff}
.bloque-tinta .bloque-in{background:var(--tinta);color:var(--papel);border-radius:var(--r-l) var(--r-l) 140px var(--r-l)}
.bloque h2{color:inherit;font-size:clamp(2rem,4vw,3.2rem);margin-bottom:16px}
.bloque p{opacity:.9;margin-bottom:20px;max-width:44ch}
.bloque-txt{position:relative;z-index:1}
.bloque-foto{position:relative;aspect-ratio:1/1;max-width:460px;justify-self:end;width:100%}
.bloque-foto img{position:relative;width:100%;height:100%;object-fit:cover;border-radius:50%}
.bloque-foto .f{width:34%;aspect-ratio:1;background:var(--naranja);left:-6%;bottom:-2%;z-index:1}
.abanico{display:flex;justify-content:center;align-items:flex-end;min-height:300px;position:relative}
.abanico::before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:var(--naranja);bottom:-260px;left:50%;transform:translateX(-50%)}
.abanico a{position:relative;width:150px;margin-left:-40px;background:var(--papel);padding:5px;border-radius:14px;transition:transform .3s}
.abanico a:first-child{margin-left:0}
.abanico a:nth-child(1){transform:rotate(-14deg) translateY(10px)}
.abanico a:nth-child(2){transform:rotate(-7deg)}
.abanico a:nth-child(3){transform:translateY(-12px);z-index:2}
.abanico a:nth-child(4){transform:rotate(7deg)}
.abanico a:nth-child(5){transform:rotate(14deg) translateY(10px)}
.abanico a:hover{transform:translateY(-24px);z-index:3}
.abanico img{border-radius:10px}

/* Noticias */
.nots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.paginas{margin-top:30px;font-family:var(--mono)}
.paginas .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:50%;background:var(--blanco);text-decoration:none;color:var(--tinta)}
.paginas .current{background:var(--tinta);color:var(--papel)}

/* Preguntas frecuentes */
.faq-caja{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:40px;align-items:start}
.faq{display:grid;gap:10px}
.faq details{background:var(--blanco);border-radius:var(--r);padding:18px 22px}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";width:34px;height:34px;border-radius:50%;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–";background:var(--tinta)}
.faq summary h2{font-size:1.14rem;text-transform:none;font-family:var(--texto);font-weight:600;line-height:1.3;letter-spacing:0}
.faq p{color:var(--tinta-2);margin-top:10px;max-width:62ch}

/* Cabeceras de página */
.pag-cab{padding-block:50px 30px;position:relative;overflow:hidden}
.pag-cab::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:var(--c);right:-60px;top:-110px}
.pag-cab::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:var(--naranja);right:220px;top:30px}
.pag-cab .caja{position:relative;z-index:1}
.pag-cab-color{background:var(--c);color:#fff;padding-bottom:0}
.pag-cab-color::before,.pag-cab-color::after{display:none}
.pag-cab-color h1{color:#fff}
.pag-cab-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:30px;align-items:center;padding-bottom:30px}
.formas{position:relative;aspect-ratio:1;max-width:280px;justify-self:end;width:100%}
.formas i{position:absolute;display:block}
.formas .fo1{width:70%;aspect-ratio:1;border-radius:50%;background:var(--naranja);left:0;top:0}
.formas .fo2{width:52%;aspect-ratio:1;border-radius:50%;background:var(--mar);right:0;bottom:0}
.formas .fo3{width:24%;aspect-ratio:1;border-radius:50%;background:var(--papel);right:8%;top:6%}
.pag-cab.con-foto{min-height:420px;display:flex;align-items:flex-end;color:#fff;margin:0 clamp(12px,3vw,32px);border-radius:0 0 var(--r-l) 140px;padding-bottom:40px;isolation:isolate}
.pag-cab.con-foto::before{display:block;inset:0;width:auto;height:auto;border-radius:0;background:linear-gradient(180deg,rgba(16,54,74,0) 35%,rgba(16,54,74,.8));right:0;top:0;z-index:1}
.pag-cab.con-foto::after{display:none}
.pag-cab-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.pag-cab.con-foto .caja{width:100%;z-index:2}
.pag-cab.con-foto h1{color:#fff}
.pag-cab.con-foto .eb{color:#EAF3F5}

/* Edición */
.ed-cab{background:var(--c);color:#fff;position:relative;overflow:hidden}
.ed-cab .formas{position:absolute;right:-40px;top:-40px;width:320px}
.ed-cab .formas .fo1{background:rgba(255,255,255,.2)}
.ed-cab .formas .fo2{background:var(--tinta)}
.ed-cab .formas .fo3{background:var(--naranja)}
.ed-cab-in{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;padding-block:40px 10px;position:relative;z-index:1}
.ed-cartel{display:block;width:220px;background:#fff;padding:7px;border-radius:18px;transform:rotate(-4deg)}
.ed-cartel img{border-radius:12px}
.ed-cartel-vacio{aspect-ratio:1414/2000;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);font-family:var(--mano);font-size:1.5rem;color:#fff;text-align:center;padding:10px;border-radius:18px}
.ed-cab h1{color:#fff;font-size:clamp(2.3rem,5vw,4.2rem)}
.ed-cab .eb{color:#fff}
.ed-meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 20px}
.ed-meta span{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;background:var(--blanco);color:var(--tinta);padding:6px 12px;border-radius:30px}
.sec-texto{padding-block:30px 40px}
.prosa-caja{max-width:72ch}
.prosa-caja p,.prosa-caja ul,.prosa-caja ol{margin:0 0 1em}
.prosa-caja h2,.prosa-caja h3{margin:1.4em 0 .5em}
.prosa-caja img{border-radius:var(--r);margin:1em 0}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.filtros button{font-family:var(--display);font-weight:700;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;border:0;background:var(--blanco);padding:10px 16px;border-radius:30px;color:var(--tinta-2);cursor:pointer}
.filtros button.on{background:var(--c);color:#fff}
.cuenta-f{margin-left:auto;font-family:var(--mono);font-size:.76rem;color:var(--tinta-2);align-self:center}
.menus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.menu{background:var(--blanco);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;position:relative}
.menu[hidden]{display:none}
.menu-foto{display:block;margin:8px 8px 0;border-radius:calc(var(--r) - 6px) calc(var(--r) - 6px) calc(var(--r) - 6px) 70px;overflow:hidden}
.menu-foto img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .5s}
.menu:hover .menu-foto img{transform:scale(1.05)}
.menu .cu{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.mh{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mh h3{font-size:1.45rem}
.mh h3 a{color:inherit;text-decoration:none}
.pz{flex:none;display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:var(--c);color:#fff;font-family:var(--display);font-weight:800;font-size:1.2rem;line-height:1;margin-top:-52px;border:5px solid var(--blanco);position:relative}
.menu dl{margin:0;display:grid;gap:4px}
.menu dt{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-3)}
.menu dd{margin:0 0 4px;font-size:.92rem;line-height:1.35}
.inc{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:10px}
.inc span{font-family:var(--mono);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;background:var(--papel-2);color:var(--tinta-2);padding:4px 9px;border-radius:20px}
.menu-tel{align-self:flex-start;font-family:var(--display);font-weight:700;letter-spacing:.04em;font-size:.95rem;color:var(--tinta);text-decoration:none;background:var(--papel);padding:8px 14px;border-radius:30px}
.menu-tel::before{content:"Reservar · "}
.menu-ficha{align-self:flex-start;font-family:var(--display);font-weight:700;letter-spacing:.04em;font-size:.95rem;color:var(--tinta);text-decoration:none;background:var(--papel);padding:8px 14px;border-radius:30px}
.menu-ficha:hover,.menu-tel:hover{background:var(--c);color:#fff}
.sin-t{font-size:.9rem;color:var(--tinta-2)}
.mapa{height:480px;border-radius:0;overflow:hidden;background:var(--papel);z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect}
.mapa .leaflet-control-container .leaflet-top.leaflet-left{top:auto;bottom:18%;left:9%}
.mapa-nota{font-size:.72rem;color:var(--tinta-3);margin-top:8px;text-align:center}
.mapa{background:var(--papel)}
.mapa .leaflet-tile-pane{filter:url(#gg-crema)}
.mapa .leaflet-container,.leaflet-container.mapa{background:var(--papel)}
.mapa-fila{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:14px 0 4px;max-width:100%}
.mapa,.mapa.leaflet-container{width:100%;max-width:100%;box-sizing:border-box}
.leaflet-container:focus{outline:none}
.leaflet-container:focus-visible{outline:3px solid var(--naranja);outline-offset:3px}
.leaflet-marker-icon:focus{outline:none}
.leaflet-marker-icon:focus-visible .gg-pin{outline:3px solid var(--naranja)}
.mapa-fila button{max-width:100%;white-space:normal;text-align:left}
.mapa-fila button{flex:none;display:inline-flex;align-items:center;gap:8px;border:0;background:var(--blanco);border-radius:40px;padding:5px 14px 5px 5px;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.88rem;letter-spacing:.03em;color:var(--tinta);cursor:pointer;transition:background .2s,color .2s}
.mapa-fila button img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.mapa-fila button:hover,.mapa-fila button.on{background:var(--c);color:#fff}
.gg-pin-caja{background:none;border:0}
.gg-pin{position:relative;display:block;width:44px;height:44px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:var(--c);padding:4px;transition:transform .2s}
.gg-pin img{width:100%;height:100%;object-fit:cover;border-radius:50%;transform:rotate(45deg);border:2px solid var(--blanco)}
.gg-pin-caja:hover .gg-pin{transform:rotate(-45deg) scale(1.12)}
.gg-etiqueta{background:var(--tinta);color:var(--papel);border:0;border-radius:30px;padding:5px 12px;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}
.gg-etiqueta::before{display:none}
.leaflet-control-zoom a{border-radius:50%!important;border:0!important;background:var(--tinta)!important;color:var(--papel)!important;margin-bottom:6px}
.leaflet-control-zoom{border:0!important}
.leaflet-popup-content-wrapper{border-radius:18px}
.leaflet-popup-content{font-family:var(--texto)}
.leaflet-popup-content b{font-family:var(--display);text-transform:uppercase;font-size:1.05rem}
.leer{margin-top:18px}
.prensa{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ed-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:20px 60px}
.ed-nav a{text-decoration:none;color:var(--tinta);font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--blanco);padding:12px 20px;border-radius:40px}
.ed-nav a:hover{background:var(--c);color:#fff}
.ed-nav .centro{background:transparent;font-family:var(--mono);font-weight:400;font-size:.78rem}

/* Mosaico de fotos */
.mosaico{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(80px,10vw,140px);grid-auto-flow:dense;gap:10px}
.pieza{position:relative;display:block;overflow:hidden;border-radius:var(--r);background:var(--papel-2);grid-column:span 2}
.pieza[hidden]{display:none}
.pieza img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pieza:hover img{transform:scale(1.06)}
.pieza:nth-child(10n+1){grid-column:span 4;grid-row:span 3;border-radius:var(--r-l) var(--r-l) var(--r-l) 120px}
.pieza:nth-child(10n+2){grid-row:span 2;border-radius:999px 999px var(--r) var(--r)}
.pieza:nth-child(10n+4){grid-column:span 3;grid-row:span 2}
.pieza:nth-child(10n+5){grid-column:span 3;grid-row:span 2;border-radius:var(--r) 120px var(--r) var(--r)}
.pieza:nth-child(10n+6){grid-row:span 2;border-radius:50%}
.pieza:nth-child(10n+7){grid-column:span 4;grid-row:span 2}
.mas-fotos{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(16,54,74,.62);color:#fff;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.4rem}
.visor{position:fixed;inset:0;z-index:100;background:rgba(16,54,74,.96);display:flex;align-items:center;justify-content:center;padding:24px}
.visor[hidden]{display:none}
.visor figure{margin:0;max-width:min(1200px,92vw);display:grid;gap:10px}
.visor img{max-height:82vh;width:auto;border-radius:var(--r);margin:0 auto}
.visor figcaption{color:var(--papel);text-align:center;font-family:var(--mono);font-size:.78rem;letter-spacing:.06em}
.visor button{position:absolute;border:0;border-radius:50%;width:54px;height:54px;background:var(--papel);color:var(--tinta);font-size:2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.visor-x{top:18px;right:18px}
.visor-ant{left:18px;top:50%;transform:translateY(-50%)}
.visor-sig{right:18px;top:50%;transform:translateY(-50%)}

/* Ficha de restaurante */
.rest-hero-sec{padding-top:10px}
.rest-hero{position:relative;min-height:clamp(380px,48vw,580px);display:flex;align-items:flex-end;overflow:hidden;border-radius:var(--r-l) var(--r-l) var(--r-l) 160px}
.rest-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rest-hero-sombra{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,54,74,0) 35%,rgba(16,54,74,.85))}
.rest-hero-txt{position:relative;z-index:1;color:#fff;padding:40px clamp(24px,5vw,60px);width:100%}
.rest-hero h1{color:#fff;font-size:clamp(3rem,8vw,6.4rem)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chips span{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;background:var(--c);color:#fff;padding:6px 13px;border-radius:30px}
.rest-cuerpo{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:44px;align-items:start}
.rest-cuerpo .prosa-caja{font-size:1.1rem}
.rest-cuerpo .mosaico{margin-top:26px}
.equipo{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:22px}
.equipo div{background:var(--blanco);border-radius:var(--r);padding:14px 18px}
.equipo b{display:block;font-family:var(--display);text-transform:uppercase;font-size:1.3rem;line-height:1}
.equipo small{font-size:.86rem;color:var(--tinta-2)}
.lado{display:flex;flex-direction:column;gap:16px;position:sticky;top:110px}
.caja-l{background:var(--blanco);border-radius:var(--r);padding:22px}
.caja-l h2{font-size:1.4rem;margin-bottom:12px}
.hist{border-top:1px solid var(--papel-2)}
.hist:first-of-type{border-top:0}
.hist summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;padding:9px 0;font-size:.94rem}
.hist summary::-webkit-details-marker{display:none}
.hist summary i{width:14px;height:14px;border-radius:50%}
.hist summary span:last-child{font-family:var(--mono);font-size:.74rem;color:var(--tinta-2);background:var(--papel);padding:2px 8px;border-radius:20px}
.hist p{font-size:.86rem;line-height:1.45;color:var(--tinta-2);padding:0 0 10px 24px}
.hist p b{color:var(--tinta)}
.dato{display:grid;grid-template-columns:5.8rem 1fr;gap:8px;font-size:.94rem;padding:5px 0}
.dato>span:first-child{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-3);padding-top:3px}
.horario{font-size:.86rem;line-height:1.5}
.caja-l .botones{margin-top:14px}
.lado .mapa{height:280px}

/* Tarjetas de restaurante */
.rests{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:34px 22px}
.rests-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rest{display:flex;flex-direction:column;gap:6px}
.rest-foto{display:block;border-radius:999px 999px var(--r) var(--r);overflow:hidden;background:var(--c)}
.rest:nth-child(2n) .rest-foto{border-radius:var(--r) var(--r) var(--r) 110px}
.rest-foto img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform .5s,opacity .3s}
.rest-foto:hover img{transform:scale(1.05);opacity:.88}
.rest-pie{position:relative;margin:-38px 10px 0;background:var(--blanco);border-radius:var(--r);padding:16px 18px 14px;display:grid;gap:10px}
.rest-nombre{display:grid;gap:3px;text-decoration:none;color:var(--tinta)}
.rest h3{font-size:1.5rem;line-height:1}
.rest-nombre span{font-size:.88rem;color:var(--tinta-2);line-height:1.3}
.rest-nombre:hover h3{color:var(--mar)}
.rest-links{display:flex;align-items:center;gap:14px;border-top:1px solid var(--papel-2);padding-top:10px;margin:0}
.rest-links a{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.84rem;color:var(--tinta);text-decoration:none}
.rest-links a:hover{color:var(--mar)}
.rest-links .rest-ir{margin-left:auto;width:34px;height:34px;border-radius:50%;background:var(--c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .2s}
.rest-links .rest-ir:hover{transform:translateX(3px)}

/* Jornada */
.jor-cab{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--c);min-height:clamp(360px,42vw,520px)}
.jor-cab-img{position:absolute;right:clamp(16px,6vw,90px);top:34px;width:min(40%,460px);aspect-ratio:1;object-fit:cover;border-radius:50%}
.jor-cab-sombra{display:none}
.jor-cab-txt{position:relative;z-index:1;padding-block:50px 20px;width:100%}
.jor-cab h1{color:#fff;font-size:clamp(2.6rem,6vw,5rem);max-width:11ch}
.jor-cab .eb{color:#fff}
.jor-cab .ola{position:relative;z-index:1}
.jor-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:start}
.jor-actual{display:grid;grid-template-columns:120px 1fr;grid-template-rows:auto auto 1fr;column-gap:18px;background:var(--k);color:#fff;border-radius:var(--r) var(--r) var(--r) 80px;padding:18px;text-decoration:none}
.jor-actual img{grid-row:span 3;width:120px;border-radius:12px;background:#fff;padding:4px}
.jor-actual .chip{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.jor-num{grid-row:span 3;width:120px;aspect-ratio:1;border-radius:50%;background:var(--blanco);color:var(--k);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:2.4rem;align-self:center;animation:late 6s ease-in-out infinite}
.jor-actual b{font-family:var(--display);text-transform:uppercase;font-size:1.6rem;line-height:1;margin:4px 0}
.estante{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:24px}
.ed-tar{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--tinta)}
.ed-tar img,.ed-tar .hueco{aspect-ratio:1414/2000;width:100%;object-fit:cover;border-radius:16px;transition:transform .3s}
.ed-tar:hover img{transform:translateY(-6px) rotate(-2deg)}
.ed-tar .hueco{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:color-mix(in srgb,var(--k) 16%,var(--blanco));font-family:var(--display);font-weight:800;text-transform:uppercase;color:var(--k);padding:12px;line-height:1.05;font-size:1.1rem}
.ed-tar .hueco small{font-family:var(--mano);text-transform:none;font-size:1.25rem;color:var(--tinta-2);font-weight:500;margin-top:8px}
.ed-tar b{font-family:var(--display);text-transform:uppercase;font-size:1.1rem;line-height:1.05;margin-top:6px}
.ed-tar small{font-size:.82rem;color:var(--tinta-2)}

/* Calendario del mar */
.ano{background:var(--blanco);border-radius:var(--r-l);padding:26px;overflow-x:auto}
.ano-in{min-width:720px}
.meses{display:grid;grid-template-columns:repeat(12,1fr);font-family:var(--mono);font-size:.72rem;color:var(--tinta-3);text-transform:uppercase;letter-spacing:.08em}
.meses span{padding-left:6px}
.pistas{position:relative;margin-top:18px}
.pistas .j{position:absolute;height:40px;border-radius:30px;display:block}
.pistas .j span{position:absolute;top:50%;transform:translateY(-50%);left:calc(100% + 12px);color:var(--tinta);font-family:var(--display);font-weight:700;text-transform:uppercase;white-space:nowrap}
.pistas .j.izq span{left:auto;right:calc(100% + 12px)}
.pistas .hoy{position:absolute;top:-12px;bottom:0;width:3px;border-radius:3px;background:var(--tinta)}
.pistas .hoy b{position:absolute;top:-18px;left:6px;font-family:var(--mono);font-size:.68rem;font-weight:500;font-style:normal}
.jor-fila{padding-block:14px}
.jor-fila-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;background:color-mix(in srgb,var(--k) 14%,var(--blanco));border-radius:var(--r-l);padding:clamp(26px,4vw,52px)}
.jor-fila:nth-of-type(odd) .jor-fila-in{border-radius:var(--r-l) var(--r-l) 140px var(--r-l)}
.jor-fila h2{font-size:clamp(2.4rem,5vw,3.8rem);color:var(--k);margin-bottom:12px}
.jor-fila p{max-width:52ch;color:var(--tinta-2);margin-bottom:18px}
.jor-fila .eb{color:var(--k)}
.jor-fila-carteles{display:flex;gap:14px;justify-content:flex-end}
.jor-fila-carteles img{width:150px;border-radius:14px;transform:rotate(-3deg);background:#fff;padding:4px}
.jor-fila-carteles a:nth-child(2n) img{transform:rotate(3deg) translateY(-10px)}

/* Historia */
.hist-caja .estante{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:var(--k) transparent}
.hist-caja .ed-tar{flex:0 0 clamp(150px,16vw,190px);scroll-snap-align:start}
.sec-hist{padding-block:14px}
.hist-caja{background:color-mix(in srgb,var(--k) 12%,var(--blanco));border-radius:var(--r-l);padding:clamp(24px,4vw,48px)}
.sec-hist:nth-of-type(even) .hist-caja{border-radius:var(--r-l) var(--r-l) var(--r-l) 140px}
.hist-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.hist-cab h2{color:var(--k);font-size:clamp(2.4rem,5vw,3.8rem);margin:10px 0 6px}
.hist-cab p{color:var(--tinta-2)}
.hist-cab .bt{color:var(--k)}
.chip-k{display:inline-block;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;background:var(--k);color:#fff;padding:6px 12px;border-radius:30px}
.aviso-hem p{font-family:var(--mano);font-size:1.7rem;line-height:1.2;color:var(--mar);max-width:40ch}

/* Asociación y contacto */
.aso{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:44px;align-items:start}
.aso-datos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.aso-datos div{border-radius:var(--r);padding:20px;color:#fff}
.aso-datos div:nth-child(1){background:var(--mar)}
.aso-datos div:nth-child(2){background:var(--c);border-radius:var(--r) var(--r) var(--r) 70px}
.aso-datos div:nth-child(3){background:var(--tinta);border-radius:70px var(--r) var(--r) var(--r)}
.aso-datos div:nth-child(4){background:var(--naranja);color:var(--tinta)}
.aso-datos b{display:block;font-family:var(--display);font-weight:800;font-size:3rem;line-height:1}
.aso-datos span{font-size:.9rem}
.contacto{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:44px;align-items:start}
.contacto .nota{font-size:.9rem;color:var(--tinta-2);margin-top:12px}
.wpcf7 input:not([type=submit]):not([type=checkbox]),.wpcf7 textarea,.wpcf7 select{width:100%;font:inherit;padding:13px 16px;border:0;border-radius:var(--r-s);background:var(--blanco);color:var(--tinta)}
.wpcf7 textarea{border-radius:var(--r)}
.wpcf7 label{display:block;font-weight:500;font-size:.94rem;margin-bottom:14px}
.wpcf7 input[type=submit]{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1rem;padding:14px 26px;border-radius:40px;border:0;background:var(--tinta);color:var(--papel);cursor:pointer}

/* Noticia */
.noticia-foto img{width:100%;border-radius:var(--r-l) var(--r-l) var(--r-l) 160px;max-height:640px;object-fit:cover}
.noticia-cuerpo{font-size:1.1rem;padding-bottom:40px;max-width:780px}
.noticia-cuerpo .mosaico{margin:36px 0;width:min(1160px,calc(100vw - 32px));position:relative;left:50%;transform:translateX(-50%)}

/* Pie */
.pie{margin-top:40px;color:#EAF3F5}
.pie .ola{height:clamp(50px,7vw,110px)}
.pie-fondo{background:var(--mar)}
.pie-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,.9fr);gap:40px;padding-block:30px 44px;align-items:start}
.pie-marca img{width:170px;height:auto;margin-bottom:18px}
.pie-marca p{font-size:.95rem;max-width:32ch}
.pie-mail{margin-top:12px;font-family:var(--display);font-weight:700;font-size:1.15rem;color:#fff}
.pie-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pie-col{display:flex;flex-direction:column;gap:7px}
.pie-col h2{font-size:1rem;letter-spacing:.08em;color:#fff;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.pie-col h2::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--naranja)}
.pie-col a{color:#EAF3F5;text-decoration:none;font-size:.95rem}
.pie-col a:hover{color:#fff;text-decoration:underline}
.pie-centro{display:flex;flex-direction:column;gap:40px}
.pie-apoyo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.pie-apoyo h2{font-size:1rem;letter-spacing:.14em;color:#fff;display:flex;align-items:center;gap:10px}
.pie-apoyo h2::before,.pie-apoyo h2::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--naranja)}
.pie-logos{display:flex;align-items:center;justify-content:center;gap:24px 44px;flex-wrap:wrap}
.pie-logos img{height:clamp(58px,6.6vw,92px);width:auto}
.pie-logos img+img{height:clamp(50px,5.7vw,80px)}
@media (max-width:980px){.pie-centro{gap:32px}}
@media (max-width:700px){.pie-logos{flex-direction:column;gap:20px}.pie-logos img{height:72px}.pie-logos img+img{height:62px}}
.pie-jor{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;text-decoration:none}
.pie-jor .f{width:220px;height:220px;background:var(--mar-os);top:-10px;left:50%;transform:translateX(-50%)}
.pie-jor img{position:relative;width:170px;transform:rotate(6deg);background:#fff;padding:5px;border-radius:14px;transition:transform .3s}
.pie-jor:hover img{transform:rotate(0) translateY(-6px)}
.pie-jor .bt{position:relative;white-space:nowrap}
.pie-legal{background:var(--mar-os);font-size:.82rem}
.pie-legal-in{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-block:16px}
.pie-legal a{color:#EAF3F5;margin-left:14px}


/* Página El Grao */
.grao-cab{padding-top:10px}
.grao-hero{position:relative;min-height:clamp(420px,56vw,640px);border-radius:var(--r-l) var(--r-l) var(--r-l) 180px;overflow:hidden;display:flex;align-items:flex-end}
.grao-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.grao-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,54,74,0) 40%,rgba(16,54,74,.75))}
.grao-hero-txt{position:relative;z-index:2;padding:44px clamp(24px,5vw,64px)}
.grao-hero h1{color:#fff;font-size:clamp(3rem,9vw,7rem);max-width:10ch}
.grao-hero .f{z-index:1}
.grao-hero .f1{width:180px;height:180px;background:var(--naranja);right:-40px;top:-40px;animation:late 8s ease-in-out infinite}
.grao-hero .f2{width:90px;height:90px;background:var(--papel);right:120px;top:90px;animation:orbita 12s ease-in-out infinite}
.grao-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center}
.grao-lead{font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.45;font-weight:500}
.grao-datos{display:grid;gap:10px}
.grao-datos div{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:var(--blanco);border-radius:60px;padding:10px 22px 10px 10px}
.grao-datos b{display:flex;align-items:center;justify-content:center;min-width:86px;height:86px;border-radius:50%;background:var(--mar);color:#fff;font-family:var(--display);font-weight:800;font-size:1.9rem}
.grao-datos div:nth-child(2) b{background:var(--naranja);color:var(--tinta)}
.grao-datos div:nth-child(3) b{background:var(--c)}
.grao-datos span{color:var(--tinta-2);line-height:1.3}
.grao-dos{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:44px;align-items:start}
.grao-dos-txt{position:sticky;top:110px}
.grao-dos-txt h2{margin-bottom:18px}
.grao-dos-txt p{color:var(--tinta-2);margin-bottom:14px;max-width:44ch}
.grao-ver{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grao-v{background:var(--k);color:#fff;border-radius:var(--r-l);overflow:hidden;display:flex;flex-direction:column}
.grao-v:nth-child(3n+2){border-radius:var(--r-l) var(--r-l) var(--r-l) 120px}
.grao-v:nth-child(3n){border-radius:120px var(--r-l) var(--r-l) var(--r-l)}
.grao-v img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .6s}
.grao-v:hover img{transform:scale(1.05)}
.grao-v div{padding:20px 24px 26px}
.grao-v h3{font-size:1.5rem;margin-bottom:8px;color:inherit}
.grao-v p{font-size:.95rem;opacity:.92}
.grao-v[style*="naranja"]{color:var(--tinta)}
.bloque-foto .rota img{position:absolute;inset:0;animation:rota 15s infinite;opacity:0}
.bloque-foto .rota img:nth-child(1){animation-delay:0s}
.bloque-foto .rota img:nth-child(2){animation-delay:5s}
.bloque-foto .rota img:nth-child(3){animation-delay:10s}
@keyframes rota{0%{opacity:0;transform:scale(1.08)}6%,33%{opacity:1;transform:scale(1)}40%,100%{opacity:0}}
.bloque-foto .rota{position:absolute;inset:0;border-radius:50%;overflow:hidden}
.gg-shot .bloque-foto .rota img:nth-child(1){opacity:1}
@media (max-width:980px){.grao-intro,.grao-dos{grid-template-columns:minmax(0,1fr)}.grao-dos-txt{position:static}.grao-ver{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grao-ver{grid-template-columns:minmax(0,1fr)}}

/* ───── Movimiento ───── */
@keyframes flota{0%,100%{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-12px) rotate(calc(var(--rot,0deg) + 2.5deg))}}
@keyframes late{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes orbita{0%{transform:translate(0,0)}25%{transform:translate(-14px,10px)}50%{transform:translate(-4px,22px)}75%{transform:translate(10px,8px)}100%{transform:translate(0,0)}}
@keyframes sube{from{transform:translateY(105%)}to{transform:none}}
@keyframes aparece{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes revela{from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(75% at 50% 50%)}}
@keyframes cae{from{opacity:0;transform:translateY(-60px) rotate(-20deg)}to{opacity:1;transform:rotate(var(--rot,0deg))}}
.tres-cartel{--rot:6deg;animation:flota 6s ease-in-out infinite}
.tres-j:nth-child(2) .tres-cartel{animation-delay:-2s}
.tres-j:nth-child(3) .tres-cartel{animation-delay:-4s}
.tres-j .f{animation:late 7s ease-in-out infinite}
.portada-cartel{--rot:-7deg;animation:cae .9s .5s cubic-bezier(.2,.8,.2,1.2) both,flota 7s 1.4s ease-in-out infinite}
.portada-art .f-sol{animation:late 8s ease-in-out infinite}
.portada-art .f-punto{animation:orbita 12s ease-in-out infinite}
.portada-foto{animation:revela 1.1s .15s cubic-bezier(.2,.7,.2,1) both}
.portada-h span,.portada-h em{overflow:hidden}
.portada-h span>*,.portada-h em>*{display:inline-block}
.portada-txt>*{animation:aparece .7s cubic-bezier(.2,.7,.2,1) both}
.portada-txt>*:nth-child(1){animation-delay:.05s}.portada-txt>*:nth-child(2){animation-delay:.15s}.portada-txt>*:nth-child(3){animation-delay:.28s}.portada-txt>*:nth-child(4){animation-delay:.38s}.portada-txt>*:nth-child(5){animation-delay:.48s}
.ed-cartel{--rot:-4deg;animation:flota 7s ease-in-out infinite}
.jor-fila-carteles a{display:block;animation:flota 6.5s ease-in-out infinite}
.jor-fila-carteles a:nth-child(2){animation-delay:-2.2s}.jor-fila-carteles a:nth-child(3){animation-delay:-4.4s}
.pie-jor img{--rot:6deg;animation:flota 6s ease-in-out infinite}
.abanico img{animation:flota 6s ease-in-out infinite}
.abanico a:nth-child(2) img{animation-delay:-1.2s}.abanico a:nth-child(3) img{animation-delay:-2.4s}.abanico a:nth-child(4) img{animation-delay:-3.6s}.abanico a:nth-child(5) img{animation-delay:-4.8s}
.bloque-foto .f{animation:orbita 10s ease-in-out infinite}
.formas .fo1{animation:late 9s ease-in-out infinite}
.formas .fo3{animation:orbita 11s ease-in-out infinite}
.pag-cab::before{animation:late 10s ease-in-out infinite}
.menu,.nota a,.ed-tar,.casa,.rest{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.menu:hover,.casa:hover,.rest:hover{transform:translateY(-6px)}
.casa-foto::after{content:"";position:absolute;inset:auto -20% -30% auto;width:60%;aspect-ratio:1;border-radius:50%;background:var(--naranja);transform:scale(0);transition:transform .45s cubic-bezier(.2,.7,.2,1);mix-blend-mode:multiply}
.casa:hover .casa-foto::after{transform:scale(1)}
/* Aparición al bajar (solo si hay JavaScript) */
.js-anim .rv{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.js-anim .rv.visto{opacity:1;transform:none}
.js-anim .menu.rv.visto:hover,.js-anim .casa.rv.visto:hover,.js-anim .rest.rv.visto:hover{transform:translateY(-6px)}
.gg-shot .rv{opacity:1!important;transform:none!important}

/* Modo captura y movimiento reducido */
.gg-shot *,.gg-shot *::before,.gg-shot *::after{animation:none!important;transition:none!important}
.gg-shot .cab{position:relative}
.gg-shot #gl-cookies{display:none!important}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Responsive */
@media (max-width:1180px){
  .nav a{padding:9px 11px;font-size:.92rem}
  .casas{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rests-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .portada-in{grid-template-columns:minmax(0,1fr)}
  .portada-art{justify-self:center;max-width:520px}
  .tres,.nots{grid-template-columns:minmax(0,1fr)}
  .tres-j{min-height:300px}
  .casas{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bloque-in,.rest-cuerpo,.jor-intro,.jor-fila-in,.aso,.contacto,.faq-caja,.pag-cab-in{grid-template-columns:minmax(0,1fr)}
  .bloque-foto{justify-self:center;max-width:360px}
  .pag-cab-in .formas{display:none}
  .lado{position:static}
  .menus{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pie-in{grid-template-columns:minmax(0,1fr)}
  .pie-jor{align-items:flex-start}
  .pie-jor .f{left:85px}
  .jor-fila-carteles{justify-content:flex-start}
  .jor-cab-img{position:relative;right:auto;top:auto;width:min(70%,360px);margin:30px auto 0}
}
@media (max-width:900px){
  .burger{display:flex}
  .cab-jor{margin-left:auto}
  .nav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);height:100dvh;background:var(--papel);flex-direction:column;align-items:stretch;gap:6px;padding:100px 20px 24px;border-radius:var(--r-l) 0 0 var(--r-l);margin:0;transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility 0s .25s;z-index:45}
  .nav a{font-size:1.5rem;padding:14px 18px;border-radius:30px;background:var(--blanco)}
  .nav .nav-sec{display:block;font-size:1.1rem;background:transparent}
  body.menu-abierto .nav{transform:none;visibility:visible;transition:transform .25s}
  body.menu-abierto .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  body.menu-abierto .burger span:nth-child(2){opacity:0}
  body.menu-abierto .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .burger{position:relative;z-index:46}
}
@media (max-width:700px){
  body{font-size:16px}
  .sec{padding-block:48px}
  .logo img{height:46px}
  .cab-jor{padding:5px 14px 6px}
  .cab-jor b{font-size:.9rem}
  .menus{grid-template-columns:minmax(0,1fr)}
  .ed-cab-in{grid-template-columns:minmax(0,1fr)}
  .ed-cartel{width:160px}
  .casas{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .casa b{font-size:1.15rem}
  .estado{flex-wrap:wrap}
  .dig{min-width:80px}
  .dig b{font-size:2.4rem}
  .sello{width:96px;height:96px}
  .abanico a{width:110px;margin-left:-40px}
  .abanico::before{width:260px;height:260px;bottom:-180px}
  .mosaico{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:90px}
  .pieza:nth-child(10n+1){grid-column:span 4;grid-row:span 3}
  .pieza:nth-child(10n+4),.pieza:nth-child(10n+5),.pieza:nth-child(10n+7){grid-column:span 4;grid-row:span 2}
  .rests-4,.rests{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .rest h3{font-size:1.25rem}
  .pie-cols{grid-template-columns:1fr 1fr}
  .cuenta-f{margin-left:0;width:100%}
  .jor-fila-carteles img{width:100px}
  .mapa{height:340px}
  .tres-cartel{width:36%}
  .rest-hero{border-radius:var(--r) var(--r) var(--r) 80px}
  .portada-h{font-size:clamp(3.4rem,17vw,5rem)}
}

/* ---------- Noticias: tipo + color de su jornada ---------- */
.nota a{display:grid;gap:12px;text-decoration:none;color:var(--tinta)}
.nota-foto{display:block;overflow:hidden;background:var(--k);border-radius:var(--r) var(--r) var(--r) 90px;transition:border-radius .4s}
.nota a:hover .nota-foto{border-radius:90px var(--r) var(--r) var(--r)}
.nota img{display:block;aspect-ratio:4/3;object-fit:cover;width:100%}
.nota-txt{display:grid;gap:10px;align-content:start}
.nota-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-2);margin:0}
.nota-meta b{font-weight:500;background:var(--k);color:#fff;padding:5px 11px;border-radius:30px}
.nota h3{font-size:1.35rem;line-height:1.02}
.nota a:hover h3{color:var(--mar)}
.nota-grande{grid-column:1/-1}
.nota-grande a{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;background:var(--blanco);border-radius:var(--r-l);padding:12px}
.nota-grande .nota-foto{border-radius:calc(var(--r-l) - 8px) calc(var(--r-l) - 8px) calc(var(--r-l) - 8px) 140px}
.nota-grande a:hover .nota-foto{border-radius:140px calc(var(--r-l) - 8px) calc(var(--r-l) - 8px) calc(var(--r-l) - 8px)}
.nota-grande .nota-txt{gap:16px;padding:10px 24px 20px 0}
.nota-grande h3{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.nota-grande p{color:var(--tinta-2);font-size:1.05rem;margin:0}
.nota-grande .bt{justify-self:start}
.not-tipos{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.not-tipos a{font-family:var(--display);font-weight:700;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;background:var(--blanco);padding:10px 16px;border-radius:30px;color:var(--tinta-2);text-decoration:none;transition:background .15s,color .15s}
.not-tipos a small{font-family:var(--mono);font-weight:400;font-size:.72rem;margin-left:4px}
.not-tipos a:hover{color:var(--tinta)}
.not-tipos a.on{background:var(--tinta);color:#fff}
.noticia-cab-fondo{position:relative;overflow:hidden;isolation:isolate;background:var(--c);color:#fff;margin:0 clamp(12px,3vw,32px);border-radius:0 0 var(--r-l) 140px}
.noticia-cab-fondo .f1{width:340px;height:340px;background:rgba(255,255,255,.14);right:-90px;top:-130px}
.noticia-cab-fondo .f2{width:110px;height:110px;background:var(--naranja);right:250px;bottom:-46px}
.noticia-cab{position:relative;z-index:1;padding-block:56px 64px;max-width:980px}
.noticia-cab h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem)}
.noticia-cab .nota-meta{color:#fff;margin-bottom:20px}
.noticia-cab .nota-meta a{color:#fff;text-decoration:none}
.noticia-cab .nota-meta b{background:#fff;color:var(--tinta)}
.noticia-cab .nota-jor{border:1.5px solid rgba(255,255,255,.75);padding:4px 11px;border-radius:30px}
.noticia-foto{margin-block:34px;max-width:1160px}
.not-ed{max-width:820px;padding-bottom:56px}
.not-ed a{display:grid;grid-template-columns:130px minmax(0,1fr);gap:26px;align-items:center;background:var(--k);color:#fff;border-radius:var(--r-l) var(--r-l) var(--r-l) 90px;padding:22px 28px 22px 22px;text-decoration:none;transition:transform .3s}
.not-ed a:hover{transform:translateY(-4px)}
.not-ed img{width:130px;transform:rotate(-5deg);background:#fff;padding:5px;border-radius:12px;transition:transform .3s}
.not-ed a:hover img{transform:rotate(0)}
.not-ed a>span{display:grid;gap:6px;justify-items:start}
.not-ed .eb{color:#fff;margin:0}
.not-ed b{font-family:var(--display);font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.05;text-transform:uppercase}
.not-ed small{font-size:.95rem}
.not-ed .bt{margin-top:8px}
@media (max-width:700px){
  .nota-grande a{grid-template-columns:minmax(0,1fr);padding:8px}
  .nota-grande .nota-txt{padding:4px 12px 14px}
  .noticia-cab-fondo{border-radius:0 0 var(--r) 80px}
  .not-ed a{grid-template-columns:84px minmax(0,1fr);gap:16px;padding:16px}
  .not-ed img{width:84px}
}
@media (max-width:700px){
  .pag-cab:not(.con-foto):not(.pag-cab-color){padding-top:92px}
  .pag-cab::before{width:190px;height:190px;right:-80px;top:-100px}
  .pag-cab::after{width:64px;height:64px;right:96px;top:12px}
}

/* Banner de cookies (gotham-legal) con la identidad de la web: plano, sin sombra, colores de marca */
body .gl-cookies{background:var(--tinta);color:var(--blanco);box-shadow:none;border-radius:24px 24px 24px 6px;font-family:inherit}
body .gl-cookies-txt a{color:var(--naranja-claro)}
body .gl-cookies-ok{background:var(--naranja);color:var(--tinta)}
body .gl-cookies-no{background:transparent;color:var(--blanco);box-shadow:inset 0 0 0 2px rgba(255,253,248,.45)}
