/* Massamara — maqueta web. RankVivo 2026-07-19.
   Fondo de madera continuo · bandas blancas a todo el ancho · pie negro. */

:root{
  --red:#2E9E82; --red-deep:#22826b;
  --wood:#17120C; --ink:#1A140E; --muted:#6B6156;
  --page:#FBF9F5; --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{background:#0E0C0A;}
img{max-width:100%;height:auto;display:block;}
body{
  font-family:'Inter',system-ui,sans-serif;color:var(--ink);
  background-color:var(--wood);
  background-image:linear-gradient(rgba(22,17,12,.22),rgba(22,17,12,.22)),url("img/wood-seamless.jpg");
  background-size:auto, 1100px auto;
  background-repeat:repeat;
  -webkit-font-smoothing:antialiased;padding-bottom:60px;
}
@media(min-width:768px){body{padding-bottom:0;}}
a{color:inherit;}

h1,h2,h3,.wm{font-family:'Montserrat',sans-serif;font-weight:800;text-transform:uppercase;
  letter-spacing:.02em;line-height:1.06;}
h1{font-size:clamp(28px,5vw,46px);}
h2{font-size:clamp(24px,4.2vw,38px);}
h3{font-size:clamp(15px,2vw,18px);}
.lead{font-size:clamp(15px,1.9vw,17px);line-height:1.68;color:#3B342C;}
.eyebrow{font-family:'Montserrat';font-weight:800;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--red);}
.rule{width:56px;height:3px;background:var(--red);margin:14px 0 22px;}
.inner{max-width:var(--max);margin:0 auto;padding:0 24px;}
@media(min-width:768px){.inner{padding:0 48px;}}

/* ---------- navegación ---------- */
.nav{position:relative;z-index:20;}
.nav .in{max-width:var(--max);margin:0 auto;padding:16px 24px;display:flex;
  align-items:center;justify-content:space-between;gap:16px;}
@media(min-width:768px){.nav .in{padding:20px 48px;}}
.nav .brand{font-family:'Montserrat';font-weight:800;color:#fff;letter-spacing:.10em;
  font-size:17px;text-decoration:none;text-shadow:0 2px 10px rgba(0,0,0,.5);}
.nav ul{list-style:none;display:flex;gap:18px;}
.nav a.l{font-family:'Montserrat';font-weight:700;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:#E9E1D6;text-decoration:none;padding:6px 0;
  border-bottom:2px solid transparent;text-shadow:0 1px 8px rgba(0,0,0,.5);}
.nav a.l:hover{color:#fff;}
.nav a.l[aria-current="page"]{color:#fff;border-bottom-color:var(--red);}
@media(max-width:600px){.nav ul{gap:12px;} .nav a.l{font-size:10px;letter-spacing:.10em;}}

/* ---------- bandas blancas a todo el ancho ---------- */
.band{background:var(--page);padding:52px 0;}
@media(min-width:768px){.band{padding:88px 0;}}
.band + .band{border-top:1px solid #EFE8DC;}
.gap{height:0;}            /* aquí respira la madera */




.split{display:grid;gap:26px;align-items:center;}
@media(min-width:768px){
  .split{grid-template-columns:5fr 7fr;gap:48px;}
  .split.rev{grid-template-columns:7fr 5fr;}
}
.split img{aspect-ratio:4/5;object-fit:cover;border-radius:2px;}
.split.wide img{aspect-ratio:3/2;}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:#241c14;margin-top:-72px;}
.hero img{width:100%;aspect-ratio:4/5;min-height:520px;object-fit:cover;}
@media(min-width:768px){.hero img{aspect-ratio:16/9;min-height:600px;max-height:760px;}}
.hero .scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,12,10,.62) 0%,rgba(15,12,10,.10) 42%,rgba(15,12,10,.70) 100%);}
.hero .in{position:absolute;left:0;right:0;bottom:0;padding:0 24px 32px;
  max-width:var(--max);margin:0 auto;}
@media(min-width:768px){.hero .in{padding:0 48px 56px;}}
.hero h1{color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.5);}
.hero .claim{color:#fff;font-size:clamp(15px,2.3vw,20px);line-height:1.4;margin-top:14px;
  max-width:30ch;text-shadow:0 2px 14px rgba(0,0,0,.6);}
.hero .where{color:#fff;opacity:.9;font-size:13.5px;margin-top:10px;text-shadow:0 2px 10px rgba(0,0,0,.6);}
.pagehead{padding:56px 0 40px;}
@media(min-width:768px){.pagehead{padding:72px 0 56px;}}
.pagehead h1{color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.5);}
.pagehead .sub{color:#E4DCD0;margin-top:12px;font-size:15.5px;line-height:1.6;max-width:56ch;
  text-shadow:0 2px 10px rgba(0,0,0,.5);}

/* ---------- botones ---------- */
.cta{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;
  text-decoration:none;border-radius:2px;padding:13px 18px;font-family:'Montserrat';font-weight:800;
  font-size:12.5px;letter-spacing:.10em;text-transform:uppercase;}
.cta:hover{background:var(--red-deep);}
.cta.ghost{background:transparent;color:var(--ink);border:1.5px solid rgba(26,20,14,.22);}
.cta.ghost:hover{border-color:var(--ink);}
.cta.block{width:100%;}

/* ---------- los dos locales ---------- */
.venues{display:grid;gap:16px;margin-top:24px;}
@media(min-width:720px){.venues{grid-template-columns:1fr 1fr;gap:22px;}}
.venue{border:1px solid #E7E0D5;border-radius:2px;padding:22px 20px;display:flex;flex-direction:column;gap:6px;}
.venue .vt{font-family:'Montserrat';font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;}
.venue .vd{font-size:13.5px;color:var(--muted);line-height:1.55;}
.venue .vaddr{font-size:12.5px;color:var(--muted);}
.venue .cta{margin-top:12px;}

/* ---------- platos ---------- */
.dishes{display:grid;gap:20px;margin-top:28px;}
@media(min-width:640px){.dishes{grid-template-columns:repeat(3,1fr);gap:24px;}}

.dish .dn{font-family:'Montserrat';font-weight:800;font-size:13px;letter-spacing:.04em;
  text-transform:uppercase;margin-top:12px;}
.dish .dp{color:var(--red);font-weight:700;font-size:13.5px;margin-top:4px;}

/* ---------- carta ---------- */
.menu{display:grid;gap:34px;margin-top:30px;}
@media(min-width:820px){.menu{grid-template-columns:1fr 1fr;gap:34px 56px;}}
.mgroup h3{color:var(--ink);padding-bottom:10px;border-bottom:2px solid var(--red);}
.mgroup ul{list-style:none;margin-top:14px;}
.mgroup li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;
  border-bottom:1px solid #ECE5DA;}
.mgroup li:last-child{border-bottom:0;}
.mgroup .n{font-size:14.5px;line-height:1.4;}
.mgroup .n small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px;}
.mgroup .p{font-family:'Montserrat';font-weight:800;font-size:13.5px;color:var(--red);white-space:nowrap;}
.stamp{margin-top:22px;font-size:12.5px;color:var(--muted);}

/* ---------- datos / contacto ---------- */
.datagrid{display:grid;gap:24px;margin-top:26px;}
@media(min-width:720px){.datagrid{grid-template-columns:1fr 1fr;gap:36px;}}
.dcard{border:1px solid #E7E0D5;border-radius:2px;padding:24px 22px;}
.dcard .k{font-family:'Montserrat';font-weight:800;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red);}
.dcard .v{font-size:15px;line-height:1.7;margin-top:8px;}
.dcard .v a{text-decoration:none;border-bottom:1px solid rgba(26,20,14,.2);}
.pend{display:inline-block;font-size:12.5px;color:#8A7F72;border:1px dashed #CFC5B6;
  border-radius:2px;padding:6px 10px;}
.mapwrap{margin-top:26px;}
.mapwrap img{aspect-ratio:16/9;object-fit:cover;border-radius:2px;}

/* ---------- barra fija móvil ---------- */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:rgba(0,0,0,.2);}
.sticky a{background:var(--red);color:#fff;text-decoration:none;text-align:center;padding:14px 8px;
  font-family:'Montserrat';font-weight:800;font-size:11px;letter-spacing:.07em;text-transform:uppercase;}
.sticky a.alt{background:#221B14;}
@media(min-width:768px){.sticky{display:none;}}

/* ---------- pie NEGRO ---------- */
footer{background:#0E0C0A;color:#B9B0A4;padding:44px 0 34px;}
footer .fw{font-family:'Montserrat';font-weight:800;color:#fff;letter-spacing:.09em;font-size:19px;}
footer .fgrid{display:grid;gap:26px;margin-top:24px;}
@media(min-width:720px){footer .fgrid{grid-template-columns:1.4fr 1fr 1fr;gap:40px;}}
footer .k{font-family:'Montserrat';font-weight:800;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:#7C7368;}
footer .v{font-size:13.5px;line-height:1.8;margin-top:9px;}
footer a{color:#B9B0A4;text-decoration:none;}
footer a:hover{color:#fff;}
footer ul{list-style:none;margin-top:9px;}
footer ul li{padding:3px 0;font-size:13px;}
.legal{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10);
  display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;font-size:11.5px;color:#7C7368;}

/* llamar + cómo llegar, siempre en pareja */
.ctapair{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px;}
.ctapair .cta{margin-top:0;}
.map{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;
  border:1.5px solid rgba(26,20,14,.22);border-radius:2px;padding:13px 14px;
  font-family:'Montserrat';font-weight:800;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);}
.map:hover{border-color:var(--ink);}
.map svg{width:14px;height:14px;}
@media(max-width:420px){.ctapair{grid-template-columns:1fr;} }

/* ================= HERO: carrusel + parallax ================= */
.hero{position:relative;overflow:hidden;background:#241c14;margin-top:-72px;}
.hero .slides{position:relative;}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;}
.hero .slide.on{opacity:1;}
.hero .slide:first-child{position:relative;}
.hero .slide img{width:100%;aspect-ratio:4/5;min-height:520px;object-fit:cover;
  transform:translateY(var(--par,0px)) scale(1.06);will-change:transform;}
@media(min-width:768px){.hero .slide img{aspect-ratio:16/9;min-height:600px;max-height:760px;}}
.hero .dots{position:absolute;left:0;right:0;bottom:16px;display:flex;gap:8px;justify-content:center;z-index:4;}
.hero .dots button{width:26px;height:3px;border:0;border-radius:2px;background:rgba(255,255,255,.42);cursor:pointer;padding:0;}
.hero .dots button[aria-selected=true]{background:var(--red);}
.hero .in{z-index:3;}

/* ================= NAV que se esconde ================= */
.nav{position:sticky;top:0;transition:transform .28s ease;}
.nav.hidden{transform:translateY(-100%);}
.nav.solid{background:rgba(14,12,10,.92);backdrop-filter:saturate(140%) blur(8px);}

/* ================= platos: encaje + hover ================= */
.dish{position:relative;}
.dish .ph{overflow:hidden;border-radius:2px;background:#EFE9DE;}
.dish .ph img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.dish:hover .ph img{transform:scale(1.05);}
.dish{transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.dish:hover{transform:translateY(-5px);}

/* aparición al hacer scroll */
.rise{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);}
.rise.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .rise{opacity:1;transform:none;transition:none;}
  .hero .slide img{transform:none!important;}
  .dish:hover{transform:none;} .dish:hover .ph img{transform:none;}
}

/* ================= carrusel de platos ================= */
/* dentro del carrusel NUNCA se oculta: las tarjetas fuera de pantalla no disparan el observer */
.track .rise{opacity:1!important;transform:none!important;}
.carou{position:relative;margin-top:28px;overflow:hidden;}
.track{display:flex;gap:18px;transition:transform .6s cubic-bezier(.22,.7,.2,1);will-change:transform;}

.track .dish{flex:0 0 100%;}
@media(min-width:700px){.track .dish{flex:0 0 calc(50% - 9px);}}
@media(min-width:1100px){.track .dish{flex:0 0 calc(33.333% - 12px);}}


.arrows{display:flex;gap:10px;margin-top:20px;justify-content:center;}
.arrows button{width:48px;height:48px;border:0;background:var(--red);color:#fff;
  border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);}
.arrows button:hover{background:var(--red-deep);}
.arrows svg{width:16px;height:16px;}

/* surtido recortado sobre blanco */
.surt{max-width:420px;margin:24px auto 0;}
