:root{--wine:#570b11;--red:#9b171f;--cream:#f1eadf;--paper:#f8f4ed;--ink:#1c1714;--gold:#b38a55;--line:#d9cfc1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}header{height:92px;position:absolute;z-index:20;left:0;right:0;top:0;display:grid;grid-template-columns:180px 1fr 180px;align-items:center;padding:0 4vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.logo img{width:82px;height:72px;object-fit:contain;border-radius:3px}nav{justify-self:center;display:flex;gap:32px;font-size:12px;text-transform:uppercase;letter-spacing:.11em}nav a{opacity:.82}nav a:hover{opacity:1}.reserve.top{justify-self:end;font-size:12px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.55);padding:8px 0}.reserve span{margin-left:14px}.hamb{display:none}.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#2c0a0d;color:#fff}.hero-photo{position:absolute;inset:0;background-image:url('../images/banner-principal.webp');background-size:cover;background-position:center center;transform:scale(1.01)}.hero-photo:after{content:none}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,3,5,.82) 0,rgba(20,3,5,.54) 42%,rgba(20,3,5,.18) 70%,rgba(20,3,5,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 42%)}.hero-copy{position:absolute;left:7vw;top:52%;transform:translateY(-45%);max-width:800px}.kicker,.section-no{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:700}.hero h1{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(4rem,7.2vw,8.3rem);line-height:.86;letter-spacing:-.045em;margin:28px 0}.hero h1 i,.intro h2 em,.special h2 i,.history h2 i,.events h2 i,.visit h2 i{font-weight:400;color:#d9a66c}.hero-copy>p{font-size:17px;line-height:1.65;max-width:560px;color:rgba(255,255,255,.75)}.hero-buttons,.visit-actions{display:flex;gap:10px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 23px;border:1px solid transparent;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.btn.light{background:#fff;color:#231516}.btn.line{border-color:rgba(255,255,255,.4);color:#fff}.btn.dark{background:var(--wine);color:#fff}.hero-side{position:absolute;right:3vw;bottom:55px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.16em;text-transform:uppercase;display:flex;gap:20px;align-items:center;opacity:.65}.ticker{height:55px;background:var(--wine);color:#e8cda8;overflow:hidden;display:flex;align-items:center}.ticker div{white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.18em;animation:tick 35s linear infinite}.ticker b{margin:0 25px;color:#fff}@keyframes tick{to{transform:translateX(-50%)}}.intro{padding:130px 7vw 80px;display:grid;grid-template-columns:23% 1fr;border-bottom:1px solid var(--line)}.intro-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#7d7065;padding-top:12px}.intro-main h2,.special h2,.events h2,.visit h2{font-family:'Libre Caslon Display',serif;font-size:clamp(3.4rem,6vw,7rem);font-weight:400;line-height:.95;letter-spacing:-.04em;margin-bottom:45px}.intro h2 em{color:var(--red);font-style:italic}.intro .lead{font-family:'Libre Caslon Display',serif;font-size:clamp(1.4rem,2.2vw,2.4rem);line-height:1.45;max-width:900px;color:#554a42}.food-grid{padding:30px 7vw 130px;display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:18px}.food{min-width:0}.ph{height:540px;position:relative;overflow:hidden;background:#6d261b;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.15);font-family:'Libre Caslon Display';font-size:4vw}.big .ph{height:650px}.paella{background-image:linear-gradient(rgba(20,10,8,.08),rgba(20,10,8,.18)),url("../images/cocina-paella.webp");background-size:cover;background-position:center}.jamon{background-image:linear-gradient(rgba(20,10,8,.08),rgba(20,10,8,.18)),url("../images/cocina-jamon.webp");background-size:cover;background-position:center}.salon{background-image:linear-gradient(rgba(20,10,8,.08),rgba(20,10,8,.18)),url("../images/cocina-cochinillo.webp");background-size:cover;background-position:center}.food-caption{padding:20px 2px}.food-caption small{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#87786b}.food-caption h3{font-family:'Libre Caslon Display';font-size:2rem;line-height:1.05;font-weight:400;margin:10px 0}.statement{background:var(--wine);color:#fff;padding:100px 7vw;text-align:center}.statement p{font-family:'Libre Caslon Display';font-size:clamp(3.2rem,7vw,8rem);line-height:.9;letter-spacing:-.045em;margin:0}.special{padding:130px 7vw;background:var(--cream)}.special-head{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end;border-bottom:1px solid #cfc3b3;padding-bottom:60px}.special-head h2{margin:22px 0 0}.price{text-align:right;display:grid}.price small,.price span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#7d7065}.price strong{font-family:'Libre Caslon Display';font-size:4rem;font-weight:400}.menu-list{max-width:1200px;margin-left:auto}.menu-row{display:grid;grid-template-columns:70px 260px 1fr;gap:20px;padding:34px 0;border-bottom:1px solid #cfc3b3;align-items:start}.menu-row>span{color:var(--red);font-size:11px;font-weight:700}.menu-row h3{font-family:'Libre Caslon Display';font-size:2.1rem;font-weight:400;margin:0}.menu-row p{line-height:1.7;color:#655a51;margin:0}.special-foot{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:45px}.special-foot p{color:#776b61;font-size:12px}.history{min-height:760px;background:#171412;color:#fff;display:grid;grid-template-columns:1fr 1fr}.history-visual{min-height:760px;position:relative;overflow:hidden;background:#0f0d0c}.history-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) contrast(1.05);transform:scale(1.015);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.history:hover .history-visual img{transform:scale(1.045)}.history-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,9,.04),rgba(12,10,9,.08) 48%,rgba(12,10,9,.42));pointer-events:none}.history-visual:before{content:"EL MUSEO · BUENOS AIRES";position:absolute;z-index:2;left:42px;bottom:38px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;border-left:2px solid #D90000;padding:7px 0 7px 13px;text-shadow:0 2px 12px rgba(0,0,0,.45)}.history-copy{padding:110px 8vw 90px 7vw;align-self:center}.pale{color:#ff3b35}.history h2{font-family:'Libre Caslon Display';font-size:clamp(3.3rem,5vw,6rem);font-weight:400;line-height:.93;margin:25px 0 40px}.history-copy p{max-width:600px;line-height:1.8;color:rgba(255,255,255,.67)}.history-open{display:inline-flex;align-items:center;gap:12px;margin-top:25px;color:#fff;border:0;border-bottom:1px solid rgba(217,0,0,.65);background:none;padding:0 0 8px;font:700 12px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:color .25s,border-color .25s,gap .25s}.history-open:hover{color:#ff3b35;border-color:#ff3b35;gap:18px}.history-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(9,8,7,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.history-modal.open{display:flex;animation:historyFade .25s ease}.history-dialog{position:relative;width:min(1080px,96vw);max-height:min(86vh,900px);overflow:auto;background:#f7f3ec;color:#1c1714;box-shadow:0 32px 100px rgba(0,0,0,.48);border:1px solid rgba(255,255,255,.16);animation:historyUp .35s cubic-bezier(.2,.75,.25,1)}.history-dialog:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#D90000}.history-modal-head{padding:54px 64px 28px;border-bottom:1px solid #ded6cc}.history-modal-head small{display:block;color:#D90000;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:13px}.history-modal-head h3{font-family:'Libre Caslon Display';font-size:clamp(2.5rem,4vw,4.8rem);font-weight:400;line-height:1;margin:0}.history-modal-body{padding:36px 64px 58px;columns:2;column-gap:58px;column-rule:1px solid #e3dbd1}.history-modal-body p{font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.78;color:#504841;margin:0 0 24px;break-inside:avoid}.history-close{position:sticky;float:right;top:18px;margin:18px 18px 0 0;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid rgba(28,23,20,.18);background:rgba(247,243,236,.92);font-size:24px;line-height:1;color:#1c1714;cursor:pointer;display:grid;place-items:center;transition:transform .25s,background .25s,color .25s}.history-close:hover{transform:rotate(90deg);background:#D90000;color:#fff;border-color:#D90000}body.modal-lock{overflow:hidden}@keyframes historyFade{from{opacity:0}to{opacity:1}}@keyframes historyUp{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}.events{padding:130px 7vw}.events-head{display:grid;grid-template-columns:1fr .5fr;column-gap:70px}.events-head .section-no{grid-column:1/-1}.events-head h2{margin:25px 0 55px}.events-head>p{align-self:end;margin-bottom:65px;line-height:1.7;color:#71655c}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.event-grid article{padding:40px 34px;min-height:470px;border-right:1px solid var(--line);display:flex;flex-direction:column}.event-grid article:last-child{border:0}.event-grid .featured{background:var(--wine);color:#fff;margin:-22px 0}.event-top{display:grid}.event-top span,.event-top small{font-size:10px;letter-spacing:.13em;text-transform:uppercase;opacity:.6}.event-top strong{font-family:'Libre Caslon Display';font-size:3.3rem;font-weight:400;margin:8px 0}.event-grid h3{font-family:'Libre Caslon Display';font-size:2.4rem;font-weight:400;margin:60px 0 15px}.event-grid p{line-height:1.7;color:#776b62}.event-grid .featured p{color:rgba(255,255,255,.65)}.event-grid a{margin-top:auto;color:var(--red);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.event-grid .featured a{color:#e2b77d}.visit{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:#220609;color:#fff}.visit-copy{padding:110px 7vw}.visit h2{margin:25px 0 55px}.details{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.details>div{border-top:1px solid rgba(255,255,255,.16);padding:22px 0}.details small{font-size:9px;letter-spacing:.16em;opacity:.45}.details p{line-height:1.6;margin:8px 0 0}.visit-map{position:relative;overflow:hidden;background:#d8cbb7}.visit-map:before{content:"";position:absolute;inset:-10%;background-image:linear-gradient(rgba(103,88,70,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(103,88,70,.22) 1px,transparent 1px);background-size:72px 72px;transform:rotate(-7deg)}.street{position:absolute;background:#b8a58b}.street.v{width:55px;top:-5%;bottom:-5%;left:58%;transform:rotate(3deg)}.street.h{height:45px;left:-5%;right:-5%;top:54%;transform:rotate(-7deg)}.streetname{position:absolute;color:#6f6252;font-size:9px;letter-spacing:.18em;font-weight:700}.n1{left:65%;top:25%;transform:rotate(93deg)}.n2{left:15%;top:47%;transform:rotate(-7deg)}.pin{position:absolute;left:47%;top:48%;background:var(--wine);padding:16px 20px 16px 48px;border-radius:4px;box-shadow:0 15px 30px rgba(0,0,0,.2);display:grid}.pin i{position:absolute;width:18px;height:18px;background:#d9a66c;border-radius:50%;left:17px;top:19px}.pin b{font-family:'Libre Caslon Display';font-size:18px}.pin small{opacity:.6;margin-top:3px}footer{padding:50px 7vw;background:#130305;color:#fff;display:grid;grid-template-columns:90px 1fr auto;gap:25px;align-items:center}footer img{width:75px;border-radius:2px}footer>div:nth-child(2){display:grid;gap:5px}footer span{font-size:11px;opacity:.5}.footer-links{display:flex;gap:22px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.7}footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;opacity:.35}.mobile-book{display:none}@media(max-width:900px){header{grid-template-columns:1fr auto;padding:0 22px;height:78px}header nav,.reserve.top{display:none}.hamb{display:block;border:0;background:none;color:#fff;font-size:24px}.logo img{width:66px;height:60px}.hero-copy{left:24px;right:24px}.hero h1{font-size:clamp(3.5rem,14vw,6rem)}.hero-side{display:none}.intro{grid-template-columns:1fr;padding:90px 24px 50px}.intro-label{margin-bottom:30px}.food-grid{grid-template-columns:1fr;padding:20px 24px 90px}.ph,.big .ph{height:450px}.special{padding:90px 24px}.special-head{grid-template-columns:1fr}.price{text-align:left}.menu-row{grid-template-columns:40px 1fr}.menu-row p{grid-column:2}.special-foot{align-items:flex-start;flex-direction:column}.history{grid-template-columns:1fr}.history-visual{min-height:450px}.history-copy{padding:80px 24px}.events{padding:90px 24px}.events-head{grid-template-columns:1fr}.events-head>p{margin-bottom:40px}.event-grid{grid-template-columns:1fr}.event-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:380px}.event-grid .featured{margin:0}.visit{grid-template-columns:1fr}.visit-copy{padding:80px 24px}.visit-map{min-height:450px}footer{grid-template-columns:80px 1fr;padding:40px 24px 100px}.footer-links{display:none}.mobile-book{display:flex;position:fixed;z-index:50;left:14px;right:14px;bottom:14px;background:#fff;color:var(--wine);height:58px;align-items:center;justify-content:space-between;padding:0 20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;box-shadow:0 12px 40px rgba(0,0,0,.25)}}@media(max-width:540px){.details{grid-template-columns:1fr}.food-grid .ph,.food-grid .big .ph{height:380px}.special h2,.intro-main h2,.events h2,.visit h2{font-size:3.3rem}.statement{padding:80px 24px}.statement p{font-size:3.5rem}}

/* ===== HEADER V4 · IDENTIDAD MUSEO DEL JAMÓN ===== */
:root{
  --brand-red:#d90000;
  --brand-red-dark:#b90000;
  --brand-white:#fff;
}
header{
  height:96px;
  position:fixed;
  z-index:100;
  left:0;right:0;top:0;
  display:grid;
  grid-template-columns:220px 1fr 220px;
  align-items:center;
  padding:0 4vw;
  color:#fff;
  background:rgba(217,0,0,.97);
  border-bottom:1px solid rgba(255,255,255,.28);
  box-shadow:0 10px 30px rgba(50,0,0,.16);
  backdrop-filter:blur(10px);
  transition:height .25s ease, box-shadow .25s ease, background .25s ease;
}
header.header-scrolled{
  height:82px;
  background:rgba(217,0,0,.985);
  box-shadow:0 12px 35px rgba(45,0,0,.24);
}
.logo{
  display:flex;
  align-items:center;
  width:max-content;
  position:relative;
}
.logo:after{
  content:"";
  position:absolute;
  right:-28px;
  width:1px;
  height:38px;
  background:rgba(255,255,255,.32);
}
.logo img{
  width:158px;
  height:62px;
  object-fit:contain;
  object-position:left center;
  border-radius:0;
  filter:none;
}
nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(110,0,0,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.10em;
}
nav a{
  opacity:1;
  position:relative;
  padding:11px 14px;
  border-radius:999px;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
nav a:hover{
  background:#fff;
  color:var(--brand-red);
  transform:translateY(-1px);
}
.reserve.top{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:166px;
  min-height:46px;
  padding:0 18px;
  border:1px solid #fff;
  border-radius:999px;
  background:#fff;
  color:var(--brand-red);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.11em;
  box-shadow:0 6px 20px rgba(79,0,0,.15);
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.reserve.top:hover{
  background:transparent;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:none;
}
.reserve.top span{margin-left:10px;font-size:16px;line-height:1}
.hamb{
  width:44px;height:44px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:transparent;
  color:#fff;
}
@media(max-width:1080px){
  header{grid-template-columns:190px 1fr 180px;padding:0 24px}
  .logo img{width:145px}
  nav{gap:2px}
  nav a{padding:10px 9px;font-size:10px}
}
@media(max-width:820px){
  header{height:78px;grid-template-columns:1fr auto;padding:0 20px}
  header.header-scrolled{height:72px}
  .logo img{width:136px;height:50px}
  .logo:after{display:none}
  header .reserve.top{display:none}
  .hamb{display:grid;place-items:center}
  header nav{
    display:none;
    position:absolute;
    top:78px;
    left:14px;
    right:14px;
    width:auto;
    border-radius:18px;
    padding:14px;
    flex-direction:column;
    align-items:stretch;
    background:rgba(217,0,0,.99);
    border:1px solid rgba(255,255,255,.25);
    box-shadow:0 18px 40px rgba(40,0,0,.26);
  }
  header nav a{padding:13px 15px;border-radius:10px}
}
@media(max-width:820px){.history{grid-template-columns:1fr;min-height:0}.history-visual{min-height:440px}.history-visual:before{left:24px;bottom:24px}.history-copy{padding:72px 7vw}.history-modal{padding:12px}.history-dialog{width:100%;max-height:92vh}.history-modal-head{padding:54px 26px 24px}.history-modal-body{padding:28px 26px 42px;columns:1}.history-close{margin:14px 14px 0 0}}
.special h2 i{color:#D90000!important}.special-lead{max-width:650px;margin:28px 0 0;color:#74685e;line-height:1.7}.buy-zone{margin-top:64px;padding-top:48px;border-top:1px solid #d8cec2;display:grid;grid-template-columns:.8fr 1.35fr;gap:70px}.buy-intro>span{font-size:10px;font-weight:700;letter-spacing:.18em;color:#D90000}.buy-intro h3{font-family:'Libre Caslon Display';font-size:clamp(2.5rem,3.5vw,4rem);font-weight:400;margin:12px 0 20px}.buy-intro p{color:#74685e;line-height:1.7;max-width:440px}.buy-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.buy-card{background:#fff;padding:30px;border:1px solid #ddd2c5;display:grid;min-height:280px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.buy-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(28,23,20,.09);border-color:#D90000}.buy-card small{font-size:9px;letter-spacing:.18em;color:#8b7c70}.buy-card b{font-family:'Libre Caslon Display';font-size:2rem;font-weight:400;margin-top:5px}.buy-card strong{font-family:'Libre Caslon Display';font-size:3.2rem;font-weight:400;color:#D90000;margin:24px 0}.buy-btn{margin-top:auto;width:100%;border:1px solid #D90000;background:#D90000;color:#fff;padding:17px 18px;display:flex;justify-content:space-between;align-items:center;font:700 10px 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}.buy-btn:hover{background:#fff;color:#D90000}.featured-buy{background:#181513;color:#fff;border-color:#181513}.featured-buy small{color:rgba(255,255,255,.5)}.featured-buy .buy-btn:hover{background:#181513;color:#fff}.payment-note{grid-column:2;font-size:10px;line-height:1.6;color:#7d7065;padding-top:4px}.payment-toast{position:fixed;z-index:1200;left:50%;bottom:30px;transform:translate(-50%,20px);background:#181513;color:#fff;border-left:3px solid #D90000;padding:16px 22px;box-shadow:0 16px 50px rgba(0,0,0,.28);font-size:12px;opacity:0;pointer-events:none;transition:.25s}.payment-toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:900px){.buy-zone{grid-template-columns:1fr;gap:32px}.payment-note{grid-column:1}.buy-cards{grid-template-columns:1fr 1fr}}@media(max-width:560px){.buy-cards{grid-template-columns:1fr}.buy-card{min-height:250px}}

.buy-btn{text-decoration:none;display:flex;align-items:center;justify-content:space-between;}

/* V10 · menú especial ordenado */
.menu-list{max-width:1180px;margin:54px 0 0 auto;border-top:1px solid #d8cec2}
.menu-row{display:grid;grid-template-columns:54px 245px minmax(0,1fr);gap:28px;padding:42px 0;border-bottom:1px solid #d8cec2;align-items:start}
.menu-row>span{padding-top:8px;color:#D90000;font-size:10px;font-weight:700;letter-spacing:.08em}
.menu-step h3{font-family:'Libre Caslon Display';font-size:2.15rem;font-weight:400;margin:0 0 10px}
.menu-step small{display:inline-flex;align-items:center;gap:7px;color:#D90000;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;line-height:1.35}
.menu-step small:before{content:"";width:18px;height:1px;background:#D90000;display:inline-block}
.dish-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.dish-list li{position:relative;padding:0 0 15px 19px;margin:0 0 15px;color:#655a51;line-height:1.55;font-size:15px;border-bottom:1px solid rgba(216,206,194,.58)}
.dish-list li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.dish-list li:before{content:"";position:absolute;left:0;top:.67em;width:5px;height:5px;border-radius:50%;background:#D90000}
.menu-row:hover{padding-left:0;background:transparent}
.menu-row:before{display:none}
.drinks-row .menu-step small{color:#807268}.drinks-row .menu-step small:before{background:#b7aa9d}
@media(max-width:900px){.menu-list{margin-top:38px}.menu-row{grid-template-columns:38px 1fr;gap:14px 18px;padding:32px 0}.menu-step{grid-column:2}.dish-list{grid-column:2}.dish-list li{font-size:14px}.menu-row>span{grid-row:1;padding-top:7px}}

/* V11 — Eventos y claridad del menú especial */
.menu-step small{display:inline-flex;align-items:center;gap:8px;max-width:250px;color:var(--red);font-size:9px;line-height:1.45;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.menu-step small:before{content:"";width:18px;height:1px;background:var(--red);flex:0 0 auto}
.events{padding:120px 6.7vw 110px;background:#fbfaf7;overflow:hidden}.events-head{grid-template-columns:minmax(0,1.1fr) minmax(300px,.55fr);align-items:end}.events-head h2{font-size:clamp(4rem,7.5vw,8.2rem);line-height:.89;letter-spacing:-.045em;margin:28px 0 70px;max-width:1000px}.events-head h2 i{display:block;color:#d90000;font-weight:400}.events-head>p{max-width:520px;margin:0 0 78px;font-size:16px}.event-grid-v11{border-top:1px solid #d9d0c6;border-bottom:1px solid #d9d0c6}.event-grid-v11 article{min-height:535px;padding:43px 36px 38px;position:relative;overflow:hidden}.event-grid-v11 article:before{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:#d90000;transition:width .45s cubic-bezier(.2,.8,.2,1)}.event-grid-v11 article:hover:before{width:100%}.event-grid-v11 .featured{background:#181411;color:#fff;margin:-20px 0;box-shadow:0 26px 60px rgba(22,15,12,.13)}.event-grid-v11 .featured:before{width:100%}.event-grid-v11 h3{font-size:2.65rem;margin:58px 0 18px}.event-grid-v11 p{font-size:15px;max-width:410px}.event-open{margin-top:auto;align-self:flex-start;border:0;background:transparent;padding:0 0 8px;color:#d90000;border-bottom:1px solid #d90000;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;cursor:pointer;transition:gap .25s,opacity .25s;display:inline-flex;align-items:center;gap:14px}.featured .event-open{color:#fff;border-bottom-color:#d90000}.event-open:hover{gap:22px;opacity:.72}.events-cta{margin-top:80px;padding:38px 0 0;border-top:1px solid #d9d0c6;display:flex;align-items:end;justify-content:space-between;gap:40px}.events-cta small{color:#d90000;font-weight:800;font-size:9px;letter-spacing:.16em}.events-cta h3{font-family:'Libre Caslon Display';font-weight:400;font-size:clamp(2rem,3.2vw,3.8rem);margin:12px 0 8px}.events-cta p{max-width:620px;color:#71655c;line-height:1.7}.events-cta .btn{white-space:nowrap}
.event-modal{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:26px;background:rgba(9,8,7,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.event-modal.open{display:flex;animation:historyFade .22s ease}.event-dialog{position:relative;width:min(1120px,96vw);max-height:88vh;overflow:auto;background:#f8f4ed;color:#1b1714;box-shadow:0 35px 110px rgba(0,0,0,.5);border-top:4px solid #d90000}.event-close{position:sticky;float:right;top:18px;margin:18px 18px 0 0;z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid rgba(28,23,20,.17);background:rgba(248,244,237,.94);font-size:25px;cursor:pointer;display:grid;place-items:center;transition:.25s}.event-close:hover{background:#d90000;color:#fff;border-color:#d90000;transform:rotate(90deg)}.event-modal-head{padding:52px 64px 28px;border-bottom:1px solid #ded6cc;display:grid;grid-template-columns:1fr auto;gap:10px 30px;align-items:end}.event-modal-head small{grid-column:1/-1;color:#d90000;font-size:9px;letter-spacing:.18em;font-weight:800;text-transform:uppercase}.event-modal-head h3{font-family:'Libre Caslon Display';font-size:clamp(3rem,5.3vw,5.8rem);font-weight:400;line-height:.95;margin:0}.event-price{font-family:'Libre Caslon Display';font-size:clamp(2.2rem,3.5vw,4rem);color:#d90000;white-space:nowrap}.event-price span{display:block;font-family:'DM Sans';font-size:9px;color:#776b62;letter-spacing:.14em;text-transform:uppercase;text-align:right;margin-top:4px}.event-modal-body{padding:34px 64px 45px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px}.event-group{padding:18px 0 24px;border-bottom:1px solid #ded6cc;break-inside:avoid}.event-group h4{font-family:'Libre Caslon Display';font-size:1.75rem;font-weight:400;margin:0 0 14px}.event-group ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.event-group li{position:relative;padding-left:16px;color:#514940;font-size:14px;line-height:1.55}.event-group li:before{content:"";position:absolute;left:0;top:.72em;width:5px;height:1px;background:#d90000}.event-modal-foot{padding:28px 64px 42px;border-top:1px solid #ded6cc;display:flex;justify-content:space-between;gap:30px;align-items:center}.event-modal-foot p{font-size:11px;line-height:1.6;color:#776b62;max-width:670px;margin:0}
@media(max-width:900px){.events-head{grid-template-columns:1fr}.events-head h2{margin-bottom:35px}.events-head>p{margin-bottom:50px}.event-grid-v11{grid-template-columns:1fr}.event-grid-v11 article{min-height:390px;border-right:0;border-bottom:1px solid #d9d0c6}.event-grid-v11 .featured{margin:0}.events-cta{align-items:flex-start;flex-direction:column}.event-modal-head{padding:45px 28px 24px;grid-template-columns:1fr}.event-price{margin-top:8px}.event-price span{text-align:left}.event-modal-body{padding:25px 28px 35px;grid-template-columns:1fr}.event-modal-foot{padding:25px 28px 35px;align-items:flex-start;flex-direction:column}}



/* ===== V5 · SISTEMA VISUAL DE MARCA ===== */
:root{
  --brand:#D90000;
  --brand-dark:#a90000;
  --paper:#f7f3ed;
  --cream:#f1eadf;
  --ink:#171412;
  --charcoal:#171412;
  --line:#ded5ca;
  --wine:#D90000;
  --red:#D90000;
  --gold:#c7a77b;
}
body{background:var(--paper)}

/* HEADER: transparente, gastronómico y con movimiento */
header#header{
  height:106px;
  position:absolute;
  top:0;left:0;right:0;
  z-index:80;
  display:grid;
  grid-template-columns:210px 1fr 190px;
  align-items:center;
  padding:18px 4.2vw;
  border:0;
  color:#fff;
  background:linear-gradient(180deg,rgba(10,8,7,.50) 0%,rgba(10,8,7,.16) 58%,rgba(10,8,7,0) 100%)!important;
  box-shadow:none!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:transform .38s ease,background .38s ease,box-shadow .38s ease,padding .38s ease;
}
header#header:after{
  content:"";
  position:absolute;
  left:4.2vw;right:4.2vw;bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.36) 20%,rgba(217,0,0,.85) 50%,rgba(255,255,255,.36) 80%,transparent);
  transform:scaleX(.84);
  transform-origin:center;
  opacity:.72;
  transition:.4s ease;
}
header#header:hover:after{transform:scaleX(1);opacity:1}
.logo{position:relative;display:inline-flex;align-items:center;width:max-content}
.logo img{width:132px;height:62px;object-fit:contain;border-radius:0;filter:none;transition:transform .35s ease}
.logo:hover img{transform:translateY(-2px) scale(1.02)}
.logo:after{content:none!important;display:none!important}
header nav{
  justify-self:center;
  position:relative;
  display:flex;
  gap:2px;
  align-items:center;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(12,10,9,.27);
  box-shadow:0 12px 36px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(13px);
  -webkit-backdrop-filter:blur(13px);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
header nav:before,header nav:after{
  content:"◆";
  color:var(--brand);
  font-size:6px;
  opacity:.9;
  padding:0 6px;
}
header nav a{
  position:relative;
  opacity:.9;
  padding:11px 13px;
  border-radius:999px;
  transition:color .25s ease,background .25s ease,transform .25s ease,opacity .25s ease;
}
header nav a + a:before{
  content:"";
  position:absolute;
  left:-1px;top:50%;
  width:1px;height:13px;
  transform:translateY(-50%);
  background:rgba(255,255,255,.16);
  transition:opacity .2s ease;
}
header nav a:after{
  content:"";
  position:absolute;
  left:50%;bottom:5px;
  width:4px;height:4px;
  border-radius:50%;
  background:var(--brand);
  transform:translateX(-50%) scale(0);
  transition:transform .24s ease;
}
header nav a:hover,header nav a.active{
  opacity:1;
  color:#fff;
  background:rgba(255,255,255,.09);
  transform:translateY(-1px);
}
header nav a:hover:before,header nav a.active:before{opacity:0}
header nav a:hover:after,header nav a.active:after{transform:translateX(-50%) scale(1)}
.reserve.top{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:13px 18px;
  border:1px solid rgba(217,0,0,.8);
  border-radius:999px;
  background:rgba(10,8,8,.25);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#fff;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.13em;
  transition:.3s ease;
  overflow:hidden;
  position:relative;
}
.reserve.top:before{
  content:"";position:absolute;inset:0;
  background:var(--brand);
  transform:translateX(-102%);
  transition:transform .3s ease;
  z-index:-1;
}
.reserve.top:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 10px 28px rgba(217,0,0,.22)}
.reserve.top:hover:before{transform:translateX(0)}
.reserve.top span{margin-left:0;transition:transform .3s ease}
.reserve.top:hover span{transform:translateX(4px)}
.header-scrolled{
  position:fixed!important;
  top:10px!important;
  left:1.2vw!important;
  right:1.2vw!important;
  width:auto!important;
  height:84px!important;
  padding:10px 3vw!important;
  border-radius:18px;
  background:rgba(18,15,13,.72)!important;
  box-shadow:0 16px 45px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.header-scrolled:after{left:3vw!important;right:3vw!important;opacity:.35!important}
.header-scrolled .logo img{width:108px;height:54px}

/* MARCA: rojo como acento, no como bloque */
.hero{background:#181411}
.hero h1 i,.intro h2 em,.special h2 i,.events h2 i,.visit h2 i{color:#fff}
.kicker,.section-no,.intro-label{color:var(--brand)!important;font-weight:700}
.hero .kicker{color:#fff!important}
.hero .kicker:before{content:"";display:inline-block;width:28px;height:2px;background:var(--brand);vertical-align:middle;margin-right:10px}
.hero-side b{color:var(--brand)}
.btn{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}
.btn:hover{transform:translateY(-2px)}
.btn.light:hover{box-shadow:0 12px 28px rgba(0,0,0,.18)}
.btn.line:hover{border-color:var(--brand);background:rgba(217,0,0,.13)}
.btn.dark{background:var(--brand);color:#fff}
.btn.dark:hover{background:var(--brand-dark);box-shadow:0 10px 26px rgba(217,0,0,.18)}

.ticker{
  background:#fff;
  color:#6f655d;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.ticker b{color:var(--brand)}
.intro{background:#fff}
.intro-main h2 em{color:var(--brand)}
.food-caption small{color:var(--brand);font-weight:700}

.statement{
  position:relative;
  background:var(--charcoal);
  color:#fff;
  overflow:hidden;
}
.statement:before,.statement:after{
  content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--brand)
}
.statement:before{left:4vw}.statement:after{right:4vw}
.statement p:after{content:" ◆";color:var(--brand);font-size:.18em;vertical-align:middle}

.special{background:#f4eee5}
.special-head,.menu-row{border-color:#d8cec2}
.price strong,.menu-row>span{color:var(--brand)}
.menu-row{position:relative;transition:padding-left .25s ease,background .25s ease}
.menu-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);transform:scaleY(0);transition:transform .25s ease;transform-origin:center}
.menu-row:hover{padding-left:14px;background:rgba(255,255,255,.34)}
.menu-row:hover:before{transform:scaleY(1)}

.history{
  background:var(--charcoal);
  color:#fff;
}
.history-visual{
  background:
    radial-gradient(circle at 50% 50%,rgba(217,0,0,.17) 0 20%,transparent 21% 39%,rgba(255,255,255,.04) 40% 40.6%,transparent 41%),
    linear-gradient(145deg,#211d19,#0f0d0c);
}
.history-visual:before,.history-visual:after{border-color:rgba(217,0,0,.36)}
.seal,.pale,.history h2 i,.history-copy a{color:#fff}
.seal b,.history-copy a:hover{color:var(--brand)}
.history-copy a{border-bottom-color:rgba(217,0,0,.65)}

.events{background:#fff}
.event-grid .featured{
  background:var(--charcoal);
  color:#fff;
  border-top:3px solid var(--brand);
  box-shadow:0 18px 50px rgba(0,0,0,.08);
}
.event-grid .featured p{color:rgba(255,255,255,.7)}
.event-grid .featured a,.event-grid a{color:var(--brand)}
.event-grid article{transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
.event-grid article:not(.featured):hover{transform:translateY(-8px);background:#faf7f2;box-shadow:0 18px 40px rgba(30,20,15,.06)}
.event-grid .featured:hover{transform:translateY(-8px)}

.visit{background:var(--charcoal);color:#fff}
.visit h2 i{color:#fff}
.details>div{border-color:rgba(255,255,255,.14)}
.details small{color:#fff;opacity:.46}
.visit-map{background:#e2d8cc}
.pin{background:var(--brand)!important;border-radius:12px!important;box-shadow:0 18px 40px rgba(217,0,0,.22)!important}
.pin i{background:#fff!important}
.visit-actions .btn.line{border-color:rgba(255,255,255,.28)}
.visit-actions .btn.line:hover{border-color:var(--brand)}

footer{background:#0f0d0c;border-top:3px solid var(--brand)}
footer img{border-radius:0}
.footer-links a{transition:color .2s ease}.footer-links a:hover{color:var(--brand)}
.mobile-book{background:#fff!important;color:var(--ink)!important;border:1px solid rgba(28,23,20,.14)!important}

/* micro-movimiento al entrar en viewport */
.reveal-brand{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal-brand.in{opacity:1;transform:none}

@media(max-width:1100px){
  header#header{grid-template-columns:165px 1fr 155px;padding-left:2.5vw;padding-right:2.5vw}
  header nav a{padding:10px 9px;font-size:9px}
  .logo img{width:110px}.logo:after{display:none}
}
@media(max-width:900px){
  header#header{height:82px;grid-template-columns:1fr auto;padding:9px 20px}
  header#header:after{left:20px;right:20px}
  header nav{
    display:none;
    position:absolute;
    top:74px;left:18px;right:18px;
    padding:12px;
    border-radius:16px;
    flex-direction:column;
    align-items:stretch;
    background:rgba(18,15,13,.96);
    border:1px solid rgba(255,255,255,.12);
  }
  header nav:before,header nav:after,header nav a + a:before{display:none}
  header nav a{padding:14px 16px;border-radius:10px}
  header nav a:hover,header nav a.active{background:rgba(217,0,0,.16)}
  .reserve.top{display:none}
  .hamb{display:block;border:1px solid rgba(217,0,0,.65);border-radius:999px;width:44px;height:44px;background:rgba(12,10,9,.28);color:#fff;font-size:20px}
  .logo img{width:100px;height:56px}
  .header-scrolled{left:10px!important;right:10px!important;top:8px!important;height:70px!important;border-radius:14px}
  .event-grid .featured:hover,.event-grid article:not(.featured):hover{transform:none}
}

.special h2 i{color:#D90000!important}.special-lead{max-width:650px;margin:28px 0 0;color:#74685e;line-height:1.7}.buy-zone{margin-top:64px;padding-top:48px;border-top:1px solid #d8cec2;display:grid;grid-template-columns:.8fr 1.35fr;gap:70px}.buy-intro>span{font-size:10px;font-weight:700;letter-spacing:.18em;color:#D90000}.buy-intro h3{font-family:'Libre Caslon Display';font-size:clamp(2.5rem,3.5vw,4rem);font-weight:400;margin:12px 0 20px}.buy-intro p{color:#74685e;line-height:1.7;max-width:440px}.buy-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.buy-card{background:#fff;padding:30px;border:1px solid #ddd2c5;display:grid;min-height:280px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.buy-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(28,23,20,.09);border-color:#D90000}.buy-card small{font-size:9px;letter-spacing:.18em;color:#8b7c70}.buy-card b{font-family:'Libre Caslon Display';font-size:2rem;font-weight:400;margin-top:5px}.buy-card strong{font-family:'Libre Caslon Display';font-size:3.2rem;font-weight:400;color:#D90000;margin:24px 0}.buy-btn{margin-top:auto;width:100%;border:1px solid #D90000;background:#D90000;color:#fff;padding:17px 18px;display:flex;justify-content:space-between;align-items:center;font:700 10px 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}.buy-btn:hover{background:#fff;color:#D90000}.featured-buy{background:#181513;color:#fff;border-color:#181513}.featured-buy small{color:rgba(255,255,255,.5)}.featured-buy .buy-btn:hover{background:#181513;color:#fff}.payment-note{grid-column:2;font-size:10px;line-height:1.6;color:#7d7065;padding-top:4px}.payment-toast{position:fixed;z-index:1200;left:50%;bottom:30px;transform:translate(-50%,20px);background:#181513;color:#fff;border-left:3px solid #D90000;padding:16px 22px;box-shadow:0 16px 50px rgba(0,0,0,.28);font-size:12px;opacity:0;pointer-events:none;transition:.25s}.payment-toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:900px){.buy-zone{grid-template-columns:1fr;gap:32px}.payment-note{grid-column:1}.buy-cards{grid-template-columns:1fr 1fr}}@media(max-width:560px){.buy-cards{grid-template-columns:1fr}.buy-card{min-height:250px}}



/* V12 · eventos: títulos y precios corregidos */
.events-head h2{color:#181411!important;overflow:visible!important;}
.events-head h2 i{color:#D90000!important;opacity:1!important;display:block!important;-webkit-text-fill-color:#D90000!important;}
.events-head{overflow:visible!important;}
.event-grid-v11 .event-top strong{color:#181411;}
.event-grid-v11 .featured .event-top strong{color:#fff;}
.event-grid-v11 .featured .event-top span,.event-grid-v11 .featured .event-top small{color:rgba(255,255,255,.68);}
@media(max-width:900px){.events-head h2{font-size:clamp(3.2rem,14vw,5.4rem)!important;line-height:.92!important}}


/* ===== FOOTER · REDES SOCIALES V17 ===== */
.footer-nav-social{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:18px;
}
.footer-social{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:11px;
}
.social-icon{
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  opacity:.9;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,color .25s ease;
}
.social-icon svg{
  width:19px;
  height:19px;
  display:block;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.social-icon:first-child svg{fill:none}
.social-icon:first-child .social-dot{fill:currentColor;stroke:none}
.social-icon:hover{
  transform:translateY(-3px);
  border-color:var(--brand-red,#d90000);
  background:var(--brand-red,#d90000);
  color:#fff;
}
.social-icon.whatsapp{border-color:rgba(255,255,255,.38)}
.footer-nav-social .footer-links{opacity:.72}
@media(max-width:900px){
  .footer-nav-social{
    grid-column:1/-1;
    align-items:flex-start;
    margin-top:12px;
  }
  footer .footer-nav-social .footer-links{display:flex;flex-wrap:wrap;gap:14px 20px}
  .footer-social{justify-content:flex-start}
  footer{padding-bottom:112px}
}
