@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fuentes/Newsreader-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fuentes/Newsreader-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fuentes/Newsreader-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fuentes/Newsreader-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Red Hat Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fuentes/RedHatText-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Red Hat Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fuentes/RedHatText-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Red Hat Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fuentes/RedHatText-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Red Hat Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fuentes/RedHatText-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Red Hat Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fuentes/RedHatText-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Red Hat Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fuentes/RedHatText-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --crema:#FFF8EC;--crema-2:#F6EAD6;--tinta:#3B1F14;--tinta-2:#6E5446;
  --tomate:#B3261E;--albahaca:#2F5D3A;--ocre:#97501A;--noche:#2A140C;
  --serif:"Newsreader",Georgia,serif;--sans:"Red Hat Text",system-ui,sans-serif;
  --sale:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--crema);color:var(--tinta);font:400 18px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:4px;font:700 15px/1 var(--sans);letter-spacing:.01em;transition:transform .16s var(--sale),background-color .25s,color .25s,border-color .25s}
.btn:active{transform:scale(.97)}
.btn-borde{border:1.5px solid currentColor}
.btn-lleno{background:var(--crema);color:var(--tinta)}
.btn-tomate{background:var(--tomate);color:var(--crema)}
.btn-tomate:hover{background:#9A1F18}
:focus-visible{outline:2px solid var(--tomate);outline-offset:3px}

.cab{position:fixed;z-index:40;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px clamp(16px,3vw,32px);color:var(--crema);transition:background-color .35s,color .35s,box-shadow .35s,padding .35s}
.cab.llena{background:var(--crema);color:var(--tinta);box-shadow:0 1px 0 #3b1f1414;padding-top:11px;padding-bottom:11px}
.marca{font:600 italic 30px/1 var(--serif);letter-spacing:-.01em}
.cab nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px);font-weight:700;font-size:15px}
.cab nav .enl{position:relative}
.cab nav .enl:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--sale)}
.cab nav .enl:hover:after{transform:scaleX(1)}
.cab .acc{display:flex;gap:10px}
.cab.llena .btn-lleno{background:var(--tinta);color:var(--crema)}

.hero{position:relative;height:100svh;min-height:600px;overflow:hidden;background:var(--noche)}
.hero video,.hero .poster{position:absolute;inset:0}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(#00000059,#0000 26%,#0000 52%,#000000ad);pointer-events:none}
.lema{position:absolute;z-index:2;left:0;right:0;bottom:12%;text-align:center;color:var(--crema);font:500 italic clamp(54px,8.4vw,136px)/.95 var(--serif);letter-spacing:-.025em;padding:0 16px}
.lema .p{display:inline-block;overflow:hidden;padding:0 .04em .08em;vertical-align:bottom}
.lema .p span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--sale)}
.listo .lema .p span{transform:none}
.hero-pie{position:absolute;z-index:2;left:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px);bottom:22px;display:flex;justify-content:space-between;gap:16px;color:var(--crema);font-weight:500;font-size:15px;opacity:0;transition:opacity 1s .9s}
.listo .hero-pie{opacity:1}
.estado b{font-weight:700}

.sube{opacity:0;transform:translateY(28px);transition:opacity .9s var(--sale),transform .9s var(--sale)}
.sube.si{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}

.casa{position:relative;padding:clamp(110px,14vw,190px) clamp(16px,6vw,96px) clamp(90px,11vw,150px);max-width:1400px;margin:0 auto}
.casa h2{font:400 clamp(34px,4.6vw,68px)/1.08 var(--serif);letter-spacing:-.02em;max-width:980px}
.casa h2 em{font-style:italic;color:var(--tomate)}
.casa p{max-width:560px;margin-top:34px;font-size:clamp(18px,1.4vw,20px);color:var(--tinta-2)}
.casa p+p{margin-top:12px}
.flota{position:absolute;border:8px solid #fff;border-radius:6px;box-shadow:0 26px 50px -24px #3b1f1499;overflow:hidden}
.flota.f1{width:clamp(180px,20vw,300px);aspect-ratio:4/5;right:clamp(16px,5vw,80px);top:clamp(60px,8vw,120px);rotate:3deg}
.flota.f2{width:clamp(150px,15vw,230px);aspect-ratio:1;right:clamp(140px,22vw,360px);bottom:clamp(40px,5vw,80px);rotate:-5deg}

.hoy{padding:0 0 clamp(90px,10vw,140px)}
.hoy-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 clamp(16px,3vw,40px)}
.hoy h2{font:500 clamp(34px,4vw,58px)/1.05 var(--serif);letter-spacing:-.015em}
.hoy h2 u{text-decoration-thickness:2px;text-underline-offset:9px}
.flechas{display:flex;gap:8px}
.flechas button{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--tinta);display:grid;place-items:center;transition:background-color .25s,color .25s,transform .16s var(--sale)}
.flechas button:hover{background:var(--tinta);color:var(--crema)}
.flechas button:active{transform:scale(.94)}
.flechas svg{width:20px;height:20px}
.riel{display:flex;gap:24px;overflow-x:auto;padding:46px clamp(16px,3vw,40px) 30px;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.riel::-webkit-scrollbar{display:none}
.riel.arrastra{cursor:grabbing;scroll-snap-type:none}
.riel.arrastra .tarjeta{pointer-events:none}
.tarjeta{flex:0 0 clamp(270px,26vw,370px);scroll-snap-align:start;border-radius:16px;overflow:hidden;color:var(--crema);rotate:-.7deg;transition:rotate .5s var(--sale),translate .5s var(--sale),box-shadow .5s}
.tarjeta:nth-child(even){rotate:.7deg}
.tarjeta:hover{rotate:0deg;translate:0 -8px;box-shadow:0 28px 50px -26px #3b1f14a6}
.tarjeta .foto{height:clamp(240px,22vw,320px);overflow:hidden}
.tarjeta .foto img{transition:scale .8s var(--sale)}
.tarjeta:hover .foto img{scale:1.05}
.tarjeta .txt{padding:22px 24px 26px}
.tarjeta h3{font:500 italic 31px/1.05 var(--serif)}
.tarjeta p{font-size:16px;line-height:1.45;margin-top:10px;opacity:.92}
.tarjeta .precio{display:flex;justify-content:space-between;align-items:baseline;margin-top:20px;font-weight:700;font-size:22px}
.tarjeta .precio small{font-weight:500;font-size:14px;opacity:.85}
.t-tomate{background:var(--tomate)}.t-tinta{background:var(--tinta)}.t-albahaca{background:var(--albahaca)}.t-ocre{background:var(--ocre)}
.hoy .ver{display:inline-block;margin:26px clamp(16px,3vw,40px) 0;font-weight:700;border-bottom:1.5px solid currentColor;padding-bottom:3px}

.molde{padding:0 clamp(10px,2vw,24px)}
.molde .marco{position:relative;height:92svh;min-height:560px;overflow:hidden;border-radius:28px;transform-origin:50% 50%;will-change:transform}
.molde video,.molde .poster{position:absolute;inset:0}
.molde .marco:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000000b8,#0000 62%);pointer-events:none}
.molde .texto{position:absolute;z-index:2;left:clamp(20px,5vw,72px);bottom:clamp(28px,6vw,80px);max-width:560px;color:var(--crema)}
.molde h2{font:500 italic clamp(64px,9vw,150px)/.9 var(--serif);letter-spacing:-.03em}
.molde p{font-size:clamp(18px,1.5vw,21px);line-height:1.5;margin-top:20px}

.carta{padding:clamp(110px,13vw,180px) clamp(16px,6vw,96px) clamp(90px,10vw,140px);max-width:1400px;margin:0 auto}
.carta-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.carta h2{font:500 italic clamp(72px,11vw,170px)/.85 var(--serif);letter-spacing:-.035em;color:var(--tomate)}
.carta-cab p{font-size:18px;color:var(--tinta-2);max-width:360px}
.carta-cuerpo{display:grid;grid-template-columns:1fr 1fr;gap:20px clamp(40px,7vw,110px);margin-top:clamp(50px,6vw,80px)}
.grupo h3{font:600 italic 30px/1 var(--serif);color:var(--tomate);padding-bottom:14px;margin-bottom:6px;border-bottom:1.5px solid var(--tinta)}
.grupo+.grupo{margin-top:30px}
.pl{display:grid;grid-template-columns:1fr auto;gap:2px 24px;padding:14px 0;border-bottom:1px solid #3b1f1426}
.pl h4{font:500 23px/1.2 var(--serif)}
.pl .pr{font:500 italic 23px/1.2 var(--serif);white-space:nowrap}
.pl p{grid-column:1;font-size:16px;color:var(--tinta-2);line-height:1.45}
.pl.nuevo h4:after{content:" hoy";font:600 italic 17px var(--serif);color:var(--albahaca)}
.alerg{margin-top:42px;font-size:16px;color:var(--tinta-2)}

.sala{position:relative;padding:0 clamp(10px,2vw,24px)}
.sala-tit{padding:0 clamp(6px,4vw,72px) 40px;font:500 clamp(34px,4vw,58px)/1.05 var(--serif);letter-spacing:-.015em}
.capa{position:sticky;top:76px;height:calc(100svh - 96px);min-height:520px;margin-bottom:22px;border-radius:24px;overflow:hidden;transform-origin:50% 0;will-change:transform}
.capa .rotulo{position:absolute;left:clamp(16px,3vw,36px);bottom:clamp(16px,3vw,36px);max-width:440px;padding:24px 26px;border-radius:14px;color:var(--crema)}
.capa .rotulo h3{font:500 italic clamp(30px,3vw,44px)/1 var(--serif)}
.capa .rotulo p{font-size:17px;line-height:1.5;margin-top:10px}

.reserva{background:var(--tinta);color:var(--crema);margin-top:clamp(80px,10vw,140px);padding:clamp(90px,11vw,150px) clamp(16px,6vw,96px)}
.reserva-in{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(48px,8vw,120px)}
.reserva h2{font:500 italic clamp(60px,8vw,128px)/.9 var(--serif);letter-spacing:-.03em}
.reserva .ent{font-size:19px;margin-top:22px;max-width:480px;opacity:.9}
form{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-size:14px;font-weight:700;letter-spacing:.02em;margin-bottom:8px}
.campo input,.campo select{width:100%;height:56px;padding:0 16px;border-radius:6px;border:1.5px solid #fff8ec4d;background:#fff8ec0f;color:var(--crema);font:500 18px var(--sans);transition:border-color .25s,background-color .25s;color-scheme:dark}
.campo input:focus,.campo select:focus{outline:none;border-color:var(--crema);background:#fff8ec1a}
.campo select option{color:var(--tinta)}
.personas{display:flex;align-items:center;justify-content:space-between;height:56px;border-radius:6px;border:1.5px solid #fff8ec4d;padding:0 6px}
.personas button{width:44px;height:44px;border-radius:4px;font-size:24px;line-height:1;transition:background-color .2s,transform .16s var(--sale)}
.personas button:hover{background:#fff8ec1f}
.personas button:active{transform:scale(.92)}
.personas output{font:600 22px var(--sans)}
.ancho{grid-column:1/-1}
form .btn{width:100%;height:60px;font-size:17px}
.nota{grid-column:1/-1;font-size:15px;opacity:.8}
.donde h3{font:600 italic 30px/1.1 var(--serif)}
.donde p{font-size:18px;margin-top:10px;opacity:.92}
.donde .bloque+.bloque{margin-top:46px}
.horario{width:100%;border-collapse:collapse;margin-top:14px;font-size:17px}
.horario td{padding:11px 0;border-bottom:1px solid #fff8ec26}
.horario td:last-child{text-align:right}
.horario tr.hoy-es td{font-weight:700;color:#FFD9A8}
.donde a.sub{display:inline-block;margin-top:14px;font-weight:700;border-bottom:1.5px solid currentColor;padding-bottom:3px}

.regalo{background:var(--tomate);color:var(--crema);padding:clamp(70px,8vw,110px) clamp(16px,6vw,96px)}
.regalo-in{max-width:1300px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.regalo h2{font:500 italic clamp(44px,5.4vw,84px)/.95 var(--serif);letter-spacing:-.02em}
.regalo p{font-size:19px;margin-top:14px;max-width:560px}

.pie{background:var(--noche);color:var(--crema);padding:80px clamp(16px,4vw,48px) 30px;overflow:hidden}
.pie-gigante{font:500 italic clamp(110px,24vw,380px)/.8 var(--serif);letter-spacing:-.045em;white-space:nowrap;opacity:.95}
.pie-datos{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:50px;font-size:16px;opacity:.85}
.pie-datos div{display:flex;flex-direction:column;gap:6px}

@media (max-width:900px){
  .cab nav .enl,.cab .btn-borde{display:none}
  .flota.f1{position:relative;right:auto;top:auto;width:62%;margin:48px 0 0 auto;display:block}
  .flota.f2{display:none}
  .hoy-cab{flex-direction:column;align-items:flex-start}
  .flechas{display:none}
  .carta-cuerpo,.reserva-in{grid-template-columns:1fr}
  .molde .marco{height:auto;aspect-ratio:4/5;min-height:0;border-radius:18px}
  .molde .marco:after{background:linear-gradient(#0000 35%,#000000c4)}
  .capa{top:66px;height:calc(100svh - 86px)}
  .hero-pie{flex-direction:column;gap:4px;bottom:16px}
  .lema{bottom:15%}
}
@media (max-width:560px){
  form{grid-template-columns:1fr}
  .marca{font-size:26px}
  .cab .btn{padding:12px 16px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  .sube,.lema .p span{transition:none;opacity:1;transform:none}
  .tarjeta,.tarjeta .foto img{transition:none}
}
