/* 95 Restaurante · "La noche del 95": mármol negro, luz de vela y brasa.
   Fuentes autoalojadas (Google Fonts, OFL), subconjunto latino: DM Serif Text (titulares), Albert Sans (texto),
   Spline Sans Mono (carta y etiquetas de pase). Reservas calibradas con font_fallback.py. */
@font-face{font-family:'DM Serif Text';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-serif-text-normal-400.woff2) format('woff2')}
@font-face{font-family:'DM Serif Text';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/dm-serif-text-italic-400.woff2) format('woff2')}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/albert-sans-normal-400.woff2) format('woff2')}
@font-face{font-family:'Spline Sans Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/spline-sans-mono-normal-400.woff2) format('woff2')}
/* reservas calibradas con font_fallback.py (15/10/2026) */
@font-face{font-family:'DM Serif Fallback';font-style:normal;src:local('Times New Roman');size-adjust:102.5%;ascent-override:101%;descent-override:33%;line-gap-override:0%}
@font-face{font-family:'DM Serif Fallback';font-style:italic;src:local('Times New Roman Italic'),local('Times New Roman');size-adjust:100.4%;ascent-override:104%;descent-override:34%;line-gap-override:0%}
@font-face{font-family:'Albert Fallback';font-style:normal;src:local('Arial');size-adjust:102%;ascent-override:93%;descent-override:25%;line-gap-override:0%}
@font-face{font-family:'Spline Fallback';font-style:normal;src:local('Courier New');size-adjust:100%;ascent-override:96%;descent-override:24%;line-gap-override:0%}

:root{
  /* de la sala */
  --marmol:#0D0C0B; --marmol-2:#171513; --veta:#2B2825;
  --cera:#F2E6D0; --cera-70:rgba(242,230,208,.72); --cera-60:rgba(242,230,208,.62); --cera-42:rgba(242,230,208,.42); --cera-12:rgba(242,230,208,.12);
  --ascua:#E0662A; --vino:#5E1A22; --mimbre:#B89466;
  /* de la carta impresa */
  --papel:#F3EEE4; --tinta:#1B2C42; --azul:#2E4C8C; --ascua-t:#B4461A;
  --f-serif:"DM Serif Text","DM Serif Fallback","Times New Roman",serif;
  --f-sans:"Albert Sans","Albert Fallback",Arial,sans-serif;
  --f-mono:"Spline Sans Mono","Spline Fallback","Courier New",monospace;
  --ease:cubic-bezier(.22,.61,.36,1); --ease-io:cubic-bezier(.65,.05,.36,1);
  --gutter:clamp(20px,5vw,90px); --sec-y:clamp(84px,9vw,130px); --max:1360px;
  --t-h1:clamp(2.6rem,6.4vw,6.6rem); --t-h2:clamp(2rem,4.6vw,3.6rem);
  --t-body:clamp(1.0625rem,.98rem + .3vw,1.2rem); --t-s:.95rem; --t-eb:.72rem;
  --r:14px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px}
html:not(.lenis){scroll-behavior:smooth}
body{margin:0;background:var(--marmol);color:var(--cera);font:400 var(--t-body)/1.6 var(--f-sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video,svg{display:block;max-width:100%}
img,video{height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-weight:400}
ul,ol{margin:0;padding:0;list-style:none}
figure,blockquote{margin:0}
::selection{background:var(--ascua);color:var(--marmol)}
:focus-visible{outline:2px solid var(--ascua);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--cera);color:var(--marmol);padding:.7rem 1rem;border-radius:8px;font-weight:600}
.skip:focus{top:12px}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:1.15em;height:1.15em;fill:currentColor;flex:none}
.wrap{width:min(var(--max),100%);margin-inline:auto;padding-inline:var(--gutter)}
em{font-style:italic}

/* ---------- el 95 (trazo) ---------- */
.l95{overflow:visible}
.l95 path{fill:none;stroke:currentColor;stroke-width:13.4;stroke-linejoin:round}

/* ---------- mármol + luz de vela ---------- */
.marmol,.vela{position:fixed;inset:0;z-index:0;pointer-events:none;background:url(photos/marmol.webp) center/cover no-repeat}
.marmol{opacity:.07}
.vela{--x:50%;--y:42%;opacity:.95;
  -webkit-mask-image:radial-gradient(300px 300px at var(--x) var(--y),#000 0%,rgba(0,0,0,.55) 35%,transparent 72%);
          mask-image:radial-gradient(300px 300px at var(--x) var(--y),#000 0%,rgba(0,0,0,.55) 35%,transparent 72%)}
.vela::after{content:"";position:absolute;inset:0;background:radial-gradient(360px 360px at var(--x) var(--y),rgba(255,176,104,.16),rgba(224,102,42,.06) 45%,transparent 72%)}
.rm .vela{display:none}
main,.pie{position:relative;z-index:1}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-stopped{overflow:hidden}
.carr-track{position:relative}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:.95em 1.7em;border-radius:100px;
  font:600 .8rem/1 var(--f-sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),background-color .45s var(--ease),border-color .45s var(--ease),color .45s var(--ease)}
.btn-ascua{background:var(--ascua);color:var(--marmol);box-shadow:0 10px 40px -12px rgba(224,102,42,.55)}
.btn-ascua:hover{transform:translateY(-3px);box-shadow:0 16px 46px -12px rgba(224,102,42,.75)}
.btn-ghost{border:1px solid rgba(184,148,102,.38);color:var(--cera);background:rgba(13,12,11,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.btn-ghost:hover{border-color:var(--mimbre);color:#fff}
.btn-sm{min-height:44px;padding:.75em 1.3em;font-size:.74rem}
.btn-full{width:100%;white-space:normal;text-align:center}

/* ---------- tipografía de sistema ---------- */
.eyebrow{display:flex;align-items:center;gap:.9em;font:600 var(--t-eb)/1.3 var(--f-sans);letter-spacing:.34em;text-transform:uppercase;color:var(--mimbre);margin:0 0 1.1rem}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--mimbre);flex:none}
.pase{display:flex;align-items:center;gap:.7em;font:500 .74rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mimbre);margin:0 0 1.4rem}
.pase span{color:var(--cera-60);letter-spacing:.1em}
.l95-mini{width:26px;height:20px;color:var(--cera);flex:none}
.l95-mini path{stroke-width:15}
.h1{font:400 var(--t-h1)/.98 var(--f-serif);letter-spacing:-.018em}
.h2{font:400 var(--t-h2)/1.04 var(--f-serif);letter-spacing:-.015em;margin-bottom:1.4rem;text-wrap:balance}
.h2 em,.h1 em{color:var(--ascua)}
.lead{font-size:1.18em;color:var(--cera)}
.sec{padding-block:var(--sec-y);position:relative}
:where(.sec) p{color:var(--cera-70)}
.cab{max-width:var(--max);margin-bottom:clamp(40px,5vw,72px)}
.cab .h2{max-width:20ch}
.cab-c{text-align:center}
.cab-c .pase{justify-content:center}
.cab-c .h2{margin-inline:auto}
.cab-c p{max-width:48ch;margin-inline:auto}

/* ---------- revelaciones (solo con JS; red de seguridad en html.todo-visible) ---------- */
.js:not(.rm):not(.todo-visible) .reveal:not(.in){opacity:0;transform:translateY(34px)}
.js .reveal.in{opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--i,0) * 80ms)}
/* la cursiva del H2 "se calienta": entra en crema y pasa a ascua */
.js:not(.rm):not(.todo-visible) .h2.reveal:not(.in) em{color:var(--cera)}
.js .h2.reveal.in em{transition:color 1.1s var(--ease) .55s}
/* el 95 de pase se dibuja al entrar (las longitudes las pone app.js) */
.js:not(.rm) .l95[data-dibuja] path{stroke-dasharray:var(--L) calc(var(--L) + 40);stroke-dashoffset:var(--L)}
.js:not(.rm) .in .l95[data-dibuja] path,.js:not(.rm) .l95[data-dibuja].in path{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--ease-io) .1s}
.js:not(.rm) .in .l95[data-dibuja] path+path{transition-delay:.45s}

/* ---------- NAV ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px var(--gutter);transition:padding .5s var(--ease),background-color .5s var(--ease),border-color .5s var(--ease);border-bottom:1px solid transparent}
.nav.is-compact{padding-block:12px;background:rgba(13,12,11,.72);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-color:rgba(242,230,208,.08)}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--cera);min-height:44px}
.nav-logo .l95{width:58px;height:44px;transition:width .5s var(--ease),height .5s var(--ease)}
.nav.is-compact .nav-logo .l95{width:46px;height:35px}
.nav-logo span{font:500 .68rem/1 var(--f-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--cera-70)}
.nav-links{display:none;gap:clamp(18px,2.2vw,34px)}
.nav-links a{font:500 .8rem/1 var(--f-sans);letter-spacing:.08em;text-decoration:none;color:var(--cera-70);padding:14px 0;position:relative;transition:color .4s var(--ease)}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--ascua);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav-links a:hover{color:var(--cera)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-acc{display:flex;align-items:center;gap:10px}
.nav-burger{width:48px;height:48px;border-radius:50%;border:1px solid rgba(184,148,102,.38);background:rgba(13,12,11,.3);color:var(--cera);display:grid;place-items:center;cursor:pointer;position:relative;z-index:2}
.burger{display:grid;gap:5px;width:20px}
.burger i{display:block;height:1.5px;background:currentColor;justify-self:end;transition:width .4s var(--ease),transform .5s var(--ease-io),opacity .3s}
.burger i:nth-child(1){width:100%}.burger i:nth-child(2){width:70%}.burger i:nth-child(3){width:40%}
.nav-burger:hover .burger i{width:100%}
.nav-burger[aria-expanded="true"] .burger i:nth-child(1){width:100%;transform:translateY(6.5px) rotate(45deg)}
.nav-burger[aria-expanded="true"] .burger i:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] .burger i:nth-child(3){width:100%;transform:translateY(-6.5px) rotate(-45deg)}
@media (min-width:1100px){.nav-links{display:flex}.nav-burger{display:none}}

/* ---------- MENÚ (cortinilla circular) ---------- */
.menu{position:fixed;inset:0;z-index:55;background:radial-gradient(80% 60% at 80% 10%,rgba(94,26,34,.35),transparent 70%),var(--marmol);
  clip-path:circle(0% at calc(100% - 44px - var(--gutter)) 46px);visibility:hidden;transition:clip-path .8s var(--ease-io),visibility 0s .8s;overflow-y:auto}
.menu.open{clip-path:circle(150% at calc(100% - 44px - var(--gutter)) 46px);visibility:visible;transition:clip-path .8s var(--ease-io),visibility 0s}
.menu-in{min-height:100%;display:grid;gap:40px;padding:110px var(--gutter) 48px;align-content:center}
.menu-links{display:grid;gap:2px}
.menu-links a{display:flex;align-items:baseline;gap:14px;font:400 clamp(2.2rem,8vw,4rem)/1.12 var(--f-serif);text-decoration:none;color:var(--cera);
  opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease),color .3s}
.menu-links a small{font:500 .7rem/1 var(--f-mono);color:var(--mimbre);letter-spacing:.1em}
.menu-links a:hover{color:var(--ascua)}
.menu.open .menu-links a{opacity:1;transform:none}
.menu.open .menu-links a:nth-child(1){transition-delay:.15s}.menu.open .menu-links a:nth-child(2){transition-delay:.22s}
.menu.open .menu-links a:nth-child(3){transition-delay:.29s}.menu.open .menu-links a:nth-child(4){transition-delay:.36s}
.menu.open .menu-links a:nth-child(5){transition-delay:.43s}.menu.open .menu-links a:nth-child(6){transition-delay:.5s}
.menu.open .menu-links a:nth-child(7){transition-delay:.57s}
.menu-info{color:var(--cera-70);font-size:.98rem;border-top:1px solid var(--cera-12);padding-top:28px}
.menu-info .eyebrow{margin:1.2rem 0 .5rem}
.menu-info .eyebrow:first-child{margin-top:0}
.menu-tel{font:400 1.6rem/1.2 var(--f-serif);color:var(--cera);text-decoration:none}
.menu-info .btn{margin-top:.6rem}
@media (min-width:900px){.menu-in{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8vw}.menu-info{border-top:0;border-left:1px solid var(--cera-12);padding:0 0 0 48px}}

/* ---------- estado de apertura ---------- */
.estado{display:inline-flex;align-items:center;gap:.55em}
.estado::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cera-42);flex:none}
.estado.is-open::before{background:#7FBF6A;box-shadow:0 0 0 4px rgba(127,191,106,.16)}
.estado.is-tue::before{background:var(--mimbre)}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr);align-content:end;gap:28px;
  padding:118px var(--gutter) 44px;isolation:isolate;overflow:hidden}
.hero-media{position:absolute;inset:-6% 0 0;z-index:-2;will-change:transform}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--marmol)}
.hero-velo{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(13,12,11,.74) 0%,rgba(13,12,11,.5) 26%,rgba(13,12,11,.66) 56%,rgba(13,12,11,.94) 84%,var(--marmol) 100%),
             radial-gradient(90% 70% at 70% 40%,transparent,rgba(13,12,11,.55));}
.hero-95{position:relative;width:clamp(124px,36vw,180px);color:var(--cera)}
.l95-hero{width:100%;height:auto;aspect-ratio:189/144}
.js:not(.rm) .l95-hero{opacity:0}
.js .l95-hero.vivo,.js.todo-visible .l95-hero{opacity:1}
.hero-txt{max-width:900px}
.hero-eb{margin-bottom:1.2rem}
.h1 .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.h1 .ln>span{display:inline-block}
.hero-sub{max-width:34ch;font-size:1.06em;color:var(--cera-70);margin:1.3rem 0 1.7rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin:1.6rem 0 0;font:500 .72rem/1.5 var(--f-mono);letter-spacing:.06em;color:var(--cera-60)}
.hero-scroll{display:none}
/* entrada del hero en cascada (CSS: funciona sin JS; reduced-motion la apaga) */
@keyframes sube{from{transform:translateY(105%)}to{transform:none}}
@keyframes funde{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.h1 .ln>span{animation:sube 1s var(--ease) both}
.h1 .ln:nth-child(2)>span{animation-delay:.08s}.h1 .ln:nth-child(3)>span{animation-delay:.16s}
.hero-eb{animation:funde 1s var(--ease) .28s both}
.hero-sub{animation:funde 1s var(--ease) .5s both}
.hero-ctas{animation:funde 1s var(--ease) .68s both}
.hero-meta{animation:funde 1s var(--ease) .86s both}
@media (min-width:760px){
  .hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding-bottom:72px;column-gap:4vw}
  .hero-95{grid-column:2;grid-row:1;width:clamp(240px,27vw,430px);align-self:center;margin-bottom:6vh}
  .hero-txt{grid-column:1;grid-row:1}
  .hero-scroll{display:flex;flex-direction:column;align-items:center;gap:12px;position:absolute;right:var(--gutter);bottom:26px;text-decoration:none;
    font:500 .66rem/1 var(--f-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--cera-60)}
  .hero-scroll i{width:1px;height:38px;background:linear-gradient(var(--ascua),transparent);background-size:100% 200%;animation:hilo 2.2s var(--ease-io) infinite}
}
@keyframes hilo{0%{background-position:0 100%}100%{background-position:0 -100%}}

/* ---------- chip NorteIA ---------- */
.chip-norteia{position:absolute;top:84px;left:50%;translate:-50% 0;z-index:40;display:flex;gap:.5rem;align-items:center;margin:0;padding:.4rem .8rem;border-radius:999px;
  background:rgba(13,12,11,.78);border:1px solid var(--cera-12);font:500 .66rem/1.2 var(--f-sans);color:var(--cera-70);white-space:nowrap;max-width:calc(100vw - 32px);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.chip-norteia{transition:opacity .4s var(--ease),visibility .4s}
.chip-norteia.oculto{opacity:0;visibility:hidden}
.chip-norteia button{all:unset;cursor:pointer;color:var(--ascua);font-weight:600;padding:.6rem 0;margin:-.6rem 0}
.chip-norteia button:focus-visible{outline:2px solid var(--ascua);outline-offset:3px;border-radius:4px}
@media (min-width:760px){.chip-norteia{position:fixed;top:auto;bottom:18px;left:18px;translate:none;z-index:50;font-size:.72rem;padding:.5rem .95rem}}

/* ---------- LA CASA ---------- */
.casa-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:56px}
.casa-fotos{position:relative;padding-right:18%}
.casa-f1 img{border-radius:var(--r);aspect-ratio:3/4;object-fit:cover;width:100%}
.casa-f2{position:absolute;right:0;bottom:-8%;width:42%;border-radius:var(--r);overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);border:1px solid var(--cera-12)}
.casa-f2 img{aspect-ratio:3/4;object-fit:cover;width:100%}
.casa-txt{max-width:58ch}
@media (max-width:899px){.casa-txt{order:-1}}
.cita{margin:2rem 0;padding:.3rem 0 .3rem 1.4rem;border-left:1px solid var(--mimbre)}
.cita p{font:italic 400 clamp(1.35rem,2.2vw,1.7rem)/1.3 var(--f-serif);color:var(--cera);margin-bottom:.6rem}
.cita footer{font:600 .7rem/1 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mimbre)}
.datos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid var(--cera-12);padding-top:22px}
.datos b{display:block;font:400 clamp(1.15rem,2vw,1.6rem)/1.1 var(--f-serif);color:var(--cera);margin-bottom:.35rem}
.datos span{font-size:.82rem;color:var(--cera-60);line-height:1.35;display:block}
@media (min-width:900px){
  .casa-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:7vw;align-items:center}
}

/* ---------- EL PASE ---------- */
.pase-sec{overflow:hidden}
.carrusel{position:relative}
.carr-track{display:flex;gap:clamp(8px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:40px calc(50% - var(--pw)/2) 30px;--pw:min(62vw,380px);
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;outline-offset:-4px}
.carr-track::-webkit-scrollbar{display:none}
.plato{--d:0;--a:1;flex:0 0 var(--pw);scroll-snap-align:center;text-align:center;position:relative;
  transform:rotate(calc(var(--d) * 9deg)) translateY(calc(var(--ad,0) * 30px)) scale(calc(1 - var(--ad,0) * .2));opacity:calc(1 - var(--ad,0) * .5);
  transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .7s cubic-bezier(.22,1,.36,1);will-change:transform}
.carrusel.dragging .plato{transition:none}
.plato-img{position:relative;width:100%;aspect-ratio:1;border-radius:50%;margin-bottom:22px;isolation:isolate}
.plato-img::before{content:"";position:absolute;inset:-6%;z-index:-1;border-radius:50%;background:radial-gradient(50% 50% at 50% 60%,rgba(224,102,42,.42),transparent 72%);filter:blur(12px);opacity:var(--a);transition:opacity .7s}
.plato-img img{width:100%;height:100%;object-fit:cover;border-radius:50%;
  box-shadow:0 0 0 3px #F3EEE4,0 0 0 7px var(--azul),0 30px 60px -16px rgba(0,0,0,.85)}
.plato h3{font:400 clamp(1.35rem,2vw,1.65rem)/1.15 var(--f-serif);color:var(--cera);margin-bottom:.4rem}
.plato p{font-size:.92rem;color:var(--cera-60);margin:0 auto .5rem;max-width:30ch;line-height:1.45}
.plato .precio{font:500 .78rem/1 var(--f-mono);letter-spacing:.08em;color:var(--mimbre)}
.plato h3,.plato p{opacity:calc(1 - var(--ad,0) * 1.2);transition:opacity .5s}
.carr-ctrl{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:18px}
.carr-btn{width:52px;height:52px;border-radius:50%;border:1px solid rgba(184,148,102,.38);background:transparent;color:var(--cera);display:grid;place-items:center;cursor:pointer;transition:border-color .4s,background .4s}
.carr-btn:hover{border-color:var(--ascua);background:rgba(224,102,42,.1)}
.carr-n{margin:0;font:500 .8rem/1 var(--f-mono);letter-spacing:.12em;color:var(--cera-60);min-width:72px;text-align:center}
.carr-n b{color:var(--cera);font-weight:500}

/* ---------- LA CARTA (capítulo claro) ---------- */
.carta-sec .cab .h2{max-width:none}
.hoja{--line:rgba(46,76,140,.55);position:relative;width:min(1140px,calc(100% - 2 * var(--gutter)));margin-inline:auto;background:var(--papel);color:var(--tinta);
  border-radius:4px;padding:clamp(26px,5vw,72px) clamp(20px,5vw,80px) clamp(26px,4vw,56px);
  box-shadow:0 50px 120px -30px rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.4);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .12 0 0 0 0 .16 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hoja p{color:var(--tinta)}
.hoja-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:clamp(26px,4vw,48px)}
.hoja-tit{font:500 clamp(1rem,1.9vw,1.4rem)/1.25 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;margin:0}
.l95-hoja{width:clamp(64px,8vw,100px);height:auto;aspect-ratio:189/144;color:#182B40;flex:none}
.hoja-tabs{display:none}
.hoja-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:0 clamp(36px,5vw,72px)}
.csec{margin-bottom:clamp(26px,3.4vw,40px)}
.csec h3{font:500 .72rem/1 var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--azul);padding:0 0 12px;margin-bottom:14px;
  border-bottom:3px double var(--line)}
.csec li,.pan{display:flex;align-items:last baseline;gap:10px;padding:7px 0}
.csec li p,.pan b{margin:0;flex:0 1 auto;font:400 .8rem/1.45 var(--f-mono);color:var(--tinta)}
.csec li b,.pan b{font-weight:500;text-transform:uppercase;letter-spacing:.03em;font-size:.84rem}
.csec li span{color:rgba(27,44,66,.78);text-transform:lowercase}
.csec li i,.pan i{flex:1 1 24px;min-width:24px;border-bottom:1px dotted rgba(27,44,66,.5);transform:translateY(-4px)}
.csec li em,.pan em{font:500 .84rem/1.2 var(--f-mono);font-style:normal;white-space:nowrap;color:var(--tinta)}
.hoja-notas{font:400 .8rem/1.55 var(--f-mono);border-top:1px solid var(--line);padding-top:16px}
.hoja-notas p{margin:0 0 .6rem}
.hoja-notas .pan{padding:0 0 10px}
.hoja-pie{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 40px;margin-top:clamp(20px,3vw,36px);padding-top:18px;border-top:3px double var(--line);
  font:400 .74rem/1.6 var(--f-mono);letter-spacing:.04em;text-transform:uppercase}
.hoja-pie p{margin:0;color:rgba(27,44,66,.85)}
.hoja-pie b{font-weight:500;color:var(--tinta)}
@media (min-width:900px){.hoja-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* móvil: pestañas (solo con JS; sin JS se ve todo) */
@media (max-width:759px){
  .js .hoja-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 22px}
  .hoja-tabs::-webkit-scrollbar{display:none}
  .hoja-tabs button{min-height:44px;padding:0 14px;border-radius:100px;border:1px solid rgba(46,76,140,.35);background:transparent;color:var(--tinta);
    font:500 .72rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
  .hoja-tabs button[aria-selected="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
  .js .csec.is-oculta{display:none}
  .csec li{flex-wrap:nowrap}
}

/* ---------- BRASA ---------- */
.brasa-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:center}
.brasa-txt .h2{max-width:14ch}
.madura{border-top:1px solid var(--cera-12);margin-top:1.6rem}
.madura li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 18px;padding:14px 0;border-bottom:1px solid var(--cera-12)}
.madura b{font:400 1.2rem/1.25 var(--f-serif);color:var(--cera)}
.madura span{grid-column:1;font-size:.88rem;color:var(--cera-60)}
.madura em{grid-column:2;grid-row:1 / span 2;align-self:center;font:500 .85rem/1 var(--f-mono);font-style:normal;color:var(--mimbre)}
.brasa-video{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--cera-12);box-shadow:0 40px 90px -30px rgba(224,102,42,.3)}
.brasa-video video{width:100%;aspect-ratio:9/12;object-fit:cover;background:var(--marmol-2)}
figcaption{font:500 .68rem/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cera-60);margin-top:10px}
.brasa-video figcaption{position:absolute;left:16px;bottom:14px;margin:0;color:var(--cera);text-shadow:0 1px 10px rgba(0,0,0,.8)}
.bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(48px,6vw,90px)}
.bento img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px}
@media (min-width:900px){
  .brasa-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:7vw}
  .brasa-video video{aspect-ratio:4/5}
  .bento{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
  .bento .b2,.bento .b4{margin-top:56px}
}

/* ---------- EQUIPO ---------- */
.equipo-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.equipo-foto img{width:100%;border-radius:var(--r);aspect-ratio:3/2;object-fit:cover}
.capitanes{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.capi{background:rgba(23,21,19,.82);border:1px solid var(--cera-12);border-radius:var(--r);padding:26px 26px 22px;display:flex;flex-direction:column}
.capi .capi-q{margin-top:auto;padding-top:14px}
.capi-orig{font:600 .7rem/1 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mimbre)!important;margin-bottom:14px}
.capi h3{font:400 clamp(1.6rem,2.6vw,2.1rem)/1.1 var(--f-serif);color:var(--cera);margin-bottom:.35rem}
.capi-rol{font:500 .76rem/1.4 var(--f-mono);letter-spacing:.04em;color:var(--cera-60)}
.capi-q{font:italic 400 1.25rem/1.35 var(--f-serif);color:var(--cera)!important;margin:0}
.camisetas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:clamp(48px,6vw,96px);align-items:center}
.cami img{width:100%;aspect-ratio:9/10;object-fit:cover;border-radius:10px}
.cami-txt{grid-column:1 / -1;order:-1}
.cami-big{font:400 clamp(1.7rem,3.2vw,2.5rem)/1.1 var(--f-serif);color:var(--cera)!important;margin-bottom:1rem}
.cami-big em{color:var(--ascua)}
.cami-txt b{color:var(--cera);font-weight:600}
.cred{font:500 .7rem/1 var(--f-mono);letter-spacing:.1em;color:var(--cera-60)!important;margin:0}
@media (min-width:900px){
  .equipo-grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:24px;align-items:stretch}
  .equipo-foto img{height:100%}
  .camisetas{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:4vw}
  .cami-txt{grid-column:auto;order:0;text-align:center}
  .cami-txt .eyebrow{justify-content:center}
  .cami-txt .eyebrow::after{content:"";width:26px;height:1px;background:var(--mimbre)}
  .cami:last-child{transform:translateY(40px)}
}

/* ---------- PRENSA ---------- */
.cinta{overflow:hidden;border-block:1px solid var(--cera-12);padding:22px 0;margin-bottom:clamp(56px,7vw,100px)}
.cinta-in{display:flex;align-items:center;gap:clamp(28px,4vw,64px);width:max-content;animation:cinta 70s linear infinite}
.cinta:hover .cinta-in{animation-play-state:paused}
.cinta span{font:400 clamp(2rem,4.6vw,3.8rem)/1 var(--f-serif);color:rgba(242,230,208,.6);white-space:nowrap}
.cinta span:nth-of-type(2n){font-style:italic}
.cinta i{width:10px;height:10px;border-radius:50%;background:var(--ascua);flex:none;box-shadow:0 0 18px rgba(224,102,42,.7)}
@keyframes cinta{to{transform:translateX(-50%)}}
.belen{max-width:980px;margin:0 auto clamp(56px,7vw,96px);text-align:center}
.belen p{font:400 clamp(1.7rem,3.6vw,2.9rem)/1.18 var(--f-serif);color:var(--cera)!important;text-wrap:balance}
.belen em{color:var(--ascua)}
.belen figcaption{font:600 .72rem/1 var(--f-sans);letter-spacing:.3em;color:var(--mimbre)}
.notas{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.nota{display:flex;flex-direction:column;background:rgba(23,21,19,.82);border:1px solid var(--cera-12);border-radius:var(--r);padding:24px;text-decoration:none;
  transition:border-color .45s var(--ease),transform .45s var(--ease)}
a.nota:hover{border-color:rgba(224,102,42,.55);transform:translateY(-4px)}
.nota-m{display:flex;flex-direction:column;gap:6px;font:400 1.4rem/1.1 var(--f-serif);color:var(--cera)!important}
.nota-m span{font:500 .7rem/1.6 var(--f-mono);letter-spacing:.08em;color:var(--mimbre)}
.nota-t{font-size:1rem;line-height:1.5;flex:1}
.nota-l{display:flex;align-items:center;gap:.4em;margin:0;font:600 .72rem/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ascua)!important}
@media (min-width:760px){.notas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.notas{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- BEBER ---------- */
.beber-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.beber-video{border-radius:var(--r);overflow:hidden;border:1px solid var(--cera-12);position:relative}
.beber-video video{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--marmol-2)}
.tragos{margin:1.4rem 0;border-top:1px solid var(--cera-12)}
.tragos li{padding:16px 0;border-bottom:1px solid var(--cera-12)}
.tragos b{display:block;font:400 1.35rem/1.2 var(--f-serif);color:var(--cera);margin-bottom:.25rem}
.tragos span{font-size:.95rem;color:var(--cera-70)}
.maridaje{font-size:.95rem}
.maridaje b{color:var(--cera)}
.beber-fotos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.beber-fotos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px}
@media (min-width:900px){
  .beber-grid{grid-template-columns:minmax(0,5fr) minmax(0,5fr) minmax(0,3fr);gap:4.5vw;align-items:center}
  .beber-video video{aspect-ratio:3/4}
  .beber-fotos{grid-template-columns:minmax(0,1fr);gap:18px}
}

/* ---------- RESERVAS: dos formas ---------- */
.dos{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.forma{background:rgba(23,21,19,.88);border:1px solid var(--cera-12);border-radius:var(--r);padding:clamp(26px,4vw,48px);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.forma::before{content:"";position:absolute;inset:auto -20% -60% auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(224,102,42,.16),transparent);pointer-events:none}
.forma-b::before{background:radial-gradient(closest-side,rgba(94,26,34,.5),transparent)}
.forma h3{font:400 clamp(1.9rem,3.2vw,2.6rem)/1.05 var(--f-serif);color:var(--cera);margin-bottom:.3rem}
.forma .eyebrow{margin-bottom:.4rem}
.forma p{margin-bottom:.6rem}
.forma-l{margin-bottom:.8rem}
.forma-l li{padding:10px 0;border-bottom:1px solid var(--cera-12);color:var(--cera-70);font-size:.98rem}
.forma-l b{color:var(--cera);font-weight:600}
.forma-tel{align-self:center;font:500 .8rem/1 var(--f-mono);color:var(--cera-70);padding:12px 4px}
.forma .btn:first-of-type{margin-top:auto}
@media (min-width:900px){.dos{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}

/* ---------- VISÍTANOS ---------- */
.visita-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.placa{display:grid;gap:6px;font-style:normal;margin:1.6rem 0;padding:22px 26px;border:1px solid rgba(184,148,102,.5);border-radius:12px;
  outline:1px solid rgba(184,148,102,.22);outline-offset:5px;max-width:460px;background:rgba(13,12,11,.6)}
.placa-c{font:400 clamp(1.6rem,3vw,2.2rem)/1.1 var(--f-serif);color:var(--cera)}
.placa-e{font:400 1.15rem/1.3 var(--f-serif);font-style:italic;color:var(--ascua)}
.placa-p{font:500 .74rem/1.4 var(--f-mono);letter-spacing:.08em;color:var(--cera-60);text-transform:uppercase}
.visita-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1.4rem}
.visita-ig a{color:var(--cera)}
.horario{background:rgba(23,21,19,.88);border:1px solid var(--cera-12);border-radius:var(--r);padding:clamp(22px,3.4vw,40px)}
.horario-estado{font:500 .82rem/1.4 var(--f-mono);color:var(--cera)!important;margin-bottom:1.2rem}
.horario table{width:100%;border-collapse:collapse}
.horario th,.horario td{padding:13px 0;border-bottom:1px dashed rgba(242,230,208,.16);text-align:left;font-size:.98rem;vertical-align:top}
.horario th{font-weight:500;color:var(--cera-70);padding-right:14px}
.horario td{text-align:right;font:400 .86rem/1.5 var(--f-mono);color:var(--cera)}
.horario td span{white-space:nowrap}
.horario td span+span::before{content:" · "}
@media (max-width:520px){.horario td span{display:block}.horario td span+span::before{content:none}}
.horario tr.hoy th,.horario tr.hoy td{color:var(--ascua)}
.horario tr.hoy th::after{content:" · hoy";font:500 .66rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.horario-nota{font-size:.84rem;margin:1.2rem 0 0;color:var(--cera-60)!important}
@media (min-width:900px){.visita-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;align-items:center}}

/* ---------- PIE ---------- */
.pie{padding:clamp(60px,8vw,110px) 0 calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--cera-12);overflow:hidden}
.pie-95{width:min(900px,86vw);margin:0 auto;color:var(--cera);opacity:.9;
  -webkit-mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,.18) 100%);mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,.18) 100%)}
.l95-pie{width:100%;height:auto;aspect-ratio:189/144}
.l95-pie path{stroke-width:4}
.pie-lema{text-align:center;font:400 clamp(1.6rem,3.6vw,2.8rem)/1.15 var(--f-serif);margin:clamp(24px,3vw,40px) auto clamp(48px,6vw,80px);padding-inline:var(--gutter);text-wrap:balance}
.pie-lema em{color:var(--ascua)}
.pie-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding-bottom:36px;border-bottom:1px solid var(--cera-12)}
.pie-grid p:not(.eyebrow){font-size:.92rem;color:var(--cera-70);margin:0}
.pie-grid a{text-decoration:none;color:var(--cera);display:inline-block;padding:4px 0}
.pie-grid a:hover{color:var(--ascua)}
.pie-grid .eyebrow{margin-bottom:.8rem}
.pie-cred{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;padding-top:22px}
.pie-cred p{font-size:.8rem;color:var(--cera-60);margin:0;max-width:72ch}
.pie-cred a{color:var(--cera)}
.pie-cred button{background:none;border:1px solid var(--cera-12);color:var(--cera-70);border-radius:100px;min-height:44px;padding:0 18px;font:500 .74rem/1 var(--f-sans);letter-spacing:.08em;cursor:pointer}
.pie-cred button:hover{border-color:var(--ascua);color:var(--cera)}
@media (min-width:560px){.pie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
@media (min-width:900px){.pie-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- barra fija móvil ---------- */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:58;display:flex;align-items:center;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:rgba(13,12,11,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--cera-12);
  transform:translateY(110%);transition:transform .5s var(--ease)}
.barra.show{transform:none}
.barra-cta{flex:1;display:flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;border-radius:100px;background:var(--ascua);color:var(--marmol);
  font:600 .8rem/1 var(--f-sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.barra-ico{width:48px;height:48px;border-radius:50%;border:1px solid rgba(184,148,102,.38);display:grid;place-items:center;color:var(--cera);flex:none}
.barra-ico .ico{width:20px;height:20px}
body.barra-on{padding-bottom:72px}
@media (min-width:760px){.barra{display:none}body.barra-on{padding-bottom:0}}

/* ---------- diálogo NorteIA ---------- */
dialog{max-width:min(520px,calc(100% - 32px));padding:2.2rem 1.8rem 1.8rem;border:1px solid var(--cera-12);border-radius:var(--r);background:var(--marmol-2);color:var(--cera)}
dialog::backdrop{background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
dialog h2{font:400 clamp(1.8rem,5vw,2.3rem)/1.05 var(--f-serif);margin-bottom:1rem}
dialog h2 em{color:var(--ascua)}
dialog p{color:var(--cera-70);font-size:1rem}
dialog a{color:var(--ascua);font-weight:600}
.dialog-close{position:absolute;top:8px;right:8px;width:44px;height:44px;display:grid;place-items:center;background:none;border:0;color:var(--cera-70);cursor:pointer}

/* ---------- movimiento reducido: todo quieto y visible ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .cinta-in{flex-wrap:wrap;width:auto;justify-content:center;padding-inline:var(--gutter)}
  .cinta-in>:nth-child(n+9){display:none}
}
