
:root {
  --burdeos:#761128;
  --burdeos-2:#4e0918;
  --oro:#b98b35;
  --oro-2:#d3aa5f;
  --crema:#fbf2e4;
  --crema-2:#fffaf2;
  --tinta:#17161e;
  --gris:#5c5a63;
  --linea:#ead6b8;
  --shadow:0 18px 45px rgba(61, 14, 25, .13);
  --radius:28px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--tinta);
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.95), transparent 40%),
    linear-gradient(180deg, #fff8ee 0%, var(--crema) 100%);
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background-image:radial-gradient(circle at 12px 12px, rgba(185,139,53,.12) 1.1px, transparent 1.1px);
  background-size:28px 28px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.5), transparent 70%);
}
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
.container { width:min(1160px, calc(100% - 40px)); margin-inline:auto; }
.serif, h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; }

.topbar {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,250,242,.94);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(185,139,53,.22);
}
.nav {
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:10px 0;
}
.nav-logo img {
  width:132px;
  filter:none;
}
.nav-links {
  display:flex;
  align-items:center;
  gap:24px;
  font-size:14px;
  font-weight:800;
  color:#392d2f;
}
.nav-links a:not(.btn):hover { color:var(--burdeos); }
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 22px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.01em;
  border:1px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  cursor:pointer;
}
.btn:hover {
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}
.btn-primary {
  color:white;
  background:linear-gradient(135deg, var(--burdeos), var(--burdeos-2));
}
.btn-outline {
  color:var(--burdeos);
  background:rgba(255,255,255,.75);
  border-color:rgba(118,17,40,.25);
}

.hero {
  position:relative;
  min-height:720px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(35,12,14,.78) 0%, rgba(35,12,14,.48) 42%, rgba(35,12,14,.12) 100%),
    url("assets/original-1.jpeg") center / cover no-repeat;
}
.hero::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:150px;
  background:linear-gradient(to bottom, transparent, #fff8ee);
}
.hero-panel {
  position:relative;
  z-index:2;
  width:min(670px, 100%);
  padding:38px;
  border-radius:34px;
  background:rgba(255,250,242,.92);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 34px 90px rgba(0,0,0,.32);
}
.hero-panel .logo-main {
  width:330px;
  margin-bottom:18px;
}
.kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--oro);
  font-size:13px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.kicker::before { content:"✦"; color:var(--oro); }
h1 {
  margin:12px 0 14px;
  color:var(--burdeos);
  font-size:clamp(46px, 6vw, 78px);
  line-height:.92;
  letter-spacing:-.045em;
}
.claim {
  margin:0 0 22px;
  font-family:Georgia, "Times New Roman", serif;
  font-style:italic;
  font-size:clamp(23px, 2.5vw, 34px);
  line-height:1.15;
  color:#27222a;
}
.hero-text {
  margin:0 0 28px;
  font-size:20px;
  line-height:1.55;
  color:#352e33;
}
.hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.info-section {
  position:relative;
  z-index:3;
  padding:44px 0 26px;
  background:#fff8ee;
}
.info-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
}
.info-card {
  background:rgba(255,255,255,.88);
  border:1px solid var(--linea);
  border-radius:22px;
  padding:22px 20px;
  min-height:144px;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.info-icon {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(118,17,40,.08);
  color:var(--burdeos);
  font-size:25px;
}
.info-card strong {
  color:var(--burdeos);
  font-size:23px;
  line-height:1.05;
}
.info-card span {
  color:var(--gris);
  line-height:1.35;
  font-weight:700;
  font-size:15px;
}

section {
  position:relative;
  padding:76px 0;
}
.section-head {
  max-width:890px;
  margin-bottom:34px;
}
.eyebrow {
  color:var(--oro);
  font-size:13px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.16em;
}
h2 {
  margin:8px 0 0;
  color:var(--burdeos);
  font-size:clamp(38px, 4.5vw, 60px);
  line-height:1;
  letter-spacing:-.035em;
}
.lead {
  max-width:840px;
  font-size:21px;
  line-height:1.58;
  color:#34313a;
}
.grid-2 {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}
.card {
  background:rgba(255,255,255,.76);
  border:1px solid var(--linea);
  border-radius:var(--radius);
  padding:32px;
  box-shadow:0 12px 36px rgba(118,17,40,.08);
}
.card h3 {
  margin:0 0 14px;
  color:var(--burdeos);
  font-size:30px;
}
.card p, .card li {
  color:#373440;
  font-size:17px;
  line-height:1.58;
}
.card ul {
  margin:0;
  padding-left:20px;
}

.products-intro {
  max-width:830px;
  margin-bottom:26px;
}
.exclusivity {
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:15px 20px;
  border-radius:999px;
  border:1px solid rgba(185,139,53,.42);
  background:rgba(255,255,255,.76);
  color:var(--burdeos);
  font-weight:950;
  margin-top:18px;
}
.products {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:24px;
}
.product {
  min-height:126px;
  padding:20px 14px;
  border-radius:20px;
  border:1px solid #dec39d;
  background:#fffaf4;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  box-shadow:0 10px 24px rgba(118,17,40,.05);
}
.product .emoji { font-size:34px; }
.product strong {
  font-size:17px;
  line-height:1.15;
  color:#251d22;
}

.contact {
  background:
    linear-gradient(120deg, rgba(185,139,53,.18), rgba(255,255,255,.78)),
    #fff8ee;
  border-top:1px solid var(--linea);
}
.contact-grid {
  max-width:680px;
  margin:0 auto;
}
.contact-form {
  background:white;
  border:1px solid var(--linea);
  border-radius:32px;
  padding:34px;
  box-shadow:var(--shadow);
}
.contact-form h3 {
  font-size:32px;
  color:var(--burdeos);
  margin:0 0 18px;
}
.contact-form p {
  color:#4a4650;
  line-height:1.55;
  font-size:16px;
  margin:0 0 20px;
}
.field {
  width:100%;
  padding:15px 16px;
  margin-bottom:12px;
  border:1px solid #ddc9aa;
  border-radius:15px;
  background:#fffaf4;
  color:#222;
  font:inherit;
}
textarea.field {
  min-height:104px;
  resize:vertical;
}

.footer {
  padding:36px 0;
  background:linear-gradient(180deg, #fffaf2 0%, #f3e3cb 100%);
  color:#362c2e;
  border-top:4px solid var(--burdeos);
}
.footer-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.footer-logo-box {
  background:#fff;
  border:1px solid var(--linea);
  border-radius:22px;
  padding:14px 18px;
  box-shadow:0 10px 26px rgba(118,17,40,.08);
}
.footer-logo-box img {
  width:190px;
}
.footer strong {
  color:var(--burdeos);
}

@media (max-width:960px) {
  .nav-links a:not(.btn) { display:none; }
  .hero {
    min-height:auto;
    padding:58px 0 70px;
  }
  .hero-panel { padding:28px; }
  .info-grid,
  .grid-2 {
    grid-template-columns:1fr;
  }
  .products { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px) {
  .container { width:min(100% - 26px, 1160px); }
  .nav-logo img { width:118px; }
  .nav .btn { padding-inline:16px; font-size:14px; }
  h1 { font-size:44px; }
  .hero-panel .logo-main { width:250px; }
  .hero-actions .btn { width:100%; }
  .products { grid-template-columns:1fr; }
  .info-card { min-height:auto; }
}

.label {
  display:block;
  margin:10px 0 7px;
  color:var(--burdeos);
  font-weight:900;
  font-size:14px;
}
.check {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:8px 0 4px;
  color:#4a4650;
  font-size:14px;
  line-height:1.4;
}
.check input {
  margin-top:3px;
  accent-color:var(--burdeos);
}


.success-link-check{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}


section[id]{scroll-margin-top:110px}.hero{min-height:690px;padding:44px 0 65px}.hero-panel{width:min(690px,100%)}.hero-panel .logo-main{width:260px}h1{font-size:clamp(42px,5vw,64px);line-height:1.02}.hero-text{font-size:18px;margin-bottom:20px}.date-line{font-size:22px;font-weight:900;color:var(--burdeos);margin:12px 0}.kicker,.eyebrow{color:#856020}.claim{font-size:24px}.section-head{margin-bottom:26px}.nav-links{gap:20px}.day-nav{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}.day-nav a{padding:12px 20px;background:white;border:1px solid var(--linea);border-radius:999px;font-weight:800;color:var(--burdeos)}.schedule{display:grid;grid-template-columns:1fr 1fr;gap:24px}.day{border:1px solid var(--linea);border-radius:28px;background:#fffaf4;overflow:hidden;scroll-margin-top:115px}.day header{padding:24px 28px;background:var(--burdeos);color:white}.day h3{font-size:32px;margin:0 0 6px}.day header p{margin:0;color:#fff0d8}.event{display:grid;grid-template-columns:65px 1fr;gap:14px;padding:22px 26px;border-top:1px solid var(--linea)}.event time{font-weight:900;color:var(--burdeos);font-size:20px}.event h4{font-size:18px;margin:0 0 6px}.event p{margin:4px 0;font-size:14px;line-height:1.5;color:#52484c}.tag{display:inline-block;font-size:12px;font-weight:800;color:var(--burdeos);background:#f3e6d6;padding:5px 9px;border-radius:6px;margin-top:7px}.event a{text-decoration:underline;text-underline-offset:3px}.reservation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tasting{display:flex;flex-direction:column}.tasting .btn{margin-top:auto;text-align:center}.tasting h3{font-size:32px}.tasting p{margin-top:0}.capacity{font-size:15px;font-weight:900;color:var(--burdeos);margin-bottom:18px}.tasting-date{font-weight:800}.reservation-note{max-width:920px;line-height:1.65;color:#473c40}.reservation-note a,.location a:not(.btn){text-decoration:underline}.products{grid-template-columns:repeat(3,1fr)}.product{padding:22px;align-items:flex-start;text-align:left;gap:10px}.product span{font-size:15px;line-height:1.5;color:var(--gris)}.music{background:#f4e5d1}.location .card p{margin-bottom:12px}.skip{position:absolute;left:10px;top:-80px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}:focus-visible{outline:3px solid #ac7420;outline-offset:5px}.footer a{text-decoration:underline}.footer p{line-height:1.6}.footer-logo-box img{width:150px}
@media(max-width:960px){.nav-links a:not(.btn){display:inline-flex}.nav-links{gap:12px}.nav-links .optional{display:none!important}.info-grid{grid-template-columns:1fr 1fr}.reservation-grid{grid-template-columns:1fr}.tasting{display:block}.schedule{grid-template-columns:1fr}.products{grid-template-columns:1fr 1fr}.hero{min-height:0}.nav-logo img{width:110px}.hero-panel{padding:28px}.tasting .btn{width:100%}}
@media(max-width:560px){.nav{gap:10px;min-height:78px}.nav-links{font-size:12px;gap:10px}.nav-links .btn{padding:12px;font-size:12px}.nav-logo img{width:82px}.hero{padding:28px 0 48px}.hero-panel{padding:24px}.hero-panel .logo-main{width:220px}h1{font-size:42px}.kicker{font-size:11px;letter-spacing:.08em}.date-line{font-size:20px}.info-grid{grid-template-columns:1fr 1fr;gap:10px}.info-card{padding:18px 14px}.info-card strong{font-size:18px}.info-card span{font-size:13px}section{padding:48px 0}h2{font-size:38px}.lead{font-size:18px}.event{padding:20px 18px;grid-template-columns:56px 1fr;gap:10px}.event time{font-size:18px}.day header{padding:22px}.card{padding:25px}.products{grid-template-columns:1fr}.day-nav a{padding:11px 14px}.footer-inner{justify-content:center;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Participantes gastronómicos: misma presencia para todos los nombres. */
.participants{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.participants .product{min-height:158px;justify-content:flex-start;padding:26px 22px;border-top:4px solid var(--burdeos)}.participants h3{margin:0;font-size:27px;line-height:1.16;color:var(--burdeos);overflow-wrap:break-word}.participants span{margin-top:4px}.drinks-participant{margin-top:24px}.drinks-participant h3{font-size:34px;margin-top:12px}.drinks-participant p{margin-bottom:0}@media(max-width:960px){.participants{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.participants{grid-template-columns:1fr}.participants .product{min-height:0;padding:24px}.participants h3{font-size:28px}}
