/* BA-inspired structural pass */
.hero-copy{max-width:940px}.hero-copy>p:not(.overline){max-width:650px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-actions .button{margin:0}.after-link{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.6);font-size:.88rem;text-decoration:none}.date-card{position:absolute;right:4vw;bottom:0;z-index:2;width:280px;padding:32px;background:var(--red);color:#090909}.date-card span{display:block;font:3.6rem/1 Georgia,serif}.date-card strong{display:block;margin:5px 0 14px;font-size:.95rem;letter-spacing:.14em}.date-card small{font-size:.78rem;line-height:1.55}.market{padding:115px 7vw;background:#0d1011}.market-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:start}.market-head h2,.benefit-head h2{margin:0;font-size:clamp(3.3rem,5.2vw,6.1rem);line-height:.96;letter-spacing:-.05em}.market-columns{display:grid;grid-template-columns:1fr 1fr;margin-top:70px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.market-columns article{padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#121516}.market-columns article:last-child{background:#181312}.market-columns>article>span{font-size:.7rem;color:var(--yellow);letter-spacing:.12em;text-transform:uppercase}.market-columns h3{margin:55px 0 26px;font:3rem/1 Georgia,serif}.market-items{display:grid;grid-template-columns:1fr 1fr}.market-items b{padding:14px 0;border-top:1px solid #36393a;font-size:.88rem}.benefit-section{padding:110px 7vw;background:#090b0c}.benefit-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.benefit-grid article{min-height:280px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.benefit-grid b{color:var(--red);font-size:.72rem}.benefit-grid h3{margin:70px 0 16px;font:1.7rem/1.1 Georgia,serif}.benefit-grid p{color:var(--muted);line-height:1.6}.format-lead{max-width:720px;margin:-38px 0 55px;color:#b3b3b3;line-height:1.65}.stand-grid{gap:24px;border:0}.stand-grid article{display:grid;grid-template-rows:280px 1fr;min-height:610px;padding:0;border:1px solid #474747;background:#0e1011;overflow:hidden}.stand-grid article:nth-child(3){background:#0e1011;color:var(--white)}.stand-grid article>img{width:100%;height:280px;object-fit:cover;background:#eee}.stand-grid article>div{display:flex;flex-direction:column;padding:28px}.stand-grid h3{margin:45px 0 15px;font:2rem/1 Georgia,serif}.stand-grid p,.stand-grid article:nth-child(3) p{margin:0 0 25px;color:#aaa;line-height:1.55}.stand-grid .tag,.stand-grid article:nth-child(3) .tag{color:var(--yellow)}.details{margin:auto -28px -28px;padding:17px 28px;border:0;border-top:1px solid #474747;background:transparent;color:#fff;text-align:left;font:700 .8rem/1.45 "DM Sans",sans-serif;cursor:pointer}.details.open{color:#ddd}.stands-note{margin-top:32px}
@media(max-width:1000px){.market-head,.benefit-head{grid-template-columns:1fr;gap:15px}.market-columns{margin-top:48px}.benefit-grid{grid-template-columns:1fr}.benefit-grid article{min-height:220px}.benefit-grid h3{margin-top:45px}.stand-grid article{min-height:570px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.date-card{right:22px}}
@media(max-width:580px){.hero{padding-bottom:185px}.hero h1{font-size:3.25rem}.date-card{position:absolute;left:22px;right:22px;bottom:24px;width:auto;padding:18px 0;border-top:1px solid #777;border-bottom:1px solid #777;background:rgba(8,10,11,.58);color:#fff}.date-card span{display:inline;font-size:2.4rem}.date-card strong{display:inline;margin-left:10px}.date-card small{display:block;margin-top:8px;color:#bbb}.market{padding:80px 22px}.market-columns{grid-template-columns:1fr}.market-columns article{padding:28px}.market-items{grid-template-columns:1fr}.benefit-section{padding:80px 22px}.stand-grid article{grid-template-rows:auto 1fr;min-height:0}.stand-grid article>img{height:auto;aspect-ratio:4/3}.format-lead{margin-top:-20px}.after-link{font-size:.82rem}}
/* Spirits & Negocios brand turquoise */
:root {
  --teal: #168b89;
  --teal-light: #54c0bb;
  --teal-dark: #0d5f5e;
}

.header-cta {
  border-color: rgba(255, 255, 255, .45);
}

.header-cta:hover,
.header-cta:focus-visible {
  background: var(--red);
  color: #061010;
}

.date-card {
  background: rgba(4, 6, 7, .94);
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, .32);
}

.date-card .date-place {
  margin-top: 13px;
  color: var(--teal-light);
  font-weight: 400;
  letter-spacing: .06em;
}

.date-card strong {
  font-weight: 400;
}

.date-card small {
  font-weight: 400;
}

.after-link {
  border-color: rgba(255, 255, 255, .6);
}

.market-columns article:last-child {
  background: #111516;
  border-top-color: var(--line);
}

.market-columns article:last-child > span {
  color: var(--teal-light);
}

.benefit-grid article:nth-child(2) {
  border-top-color: var(--teal);
  box-shadow: inset 0 3px 0 rgba(22, 139, 137, .8);
}

#lead-form input:focus,
#lead-form select:focus,
#lead-form textarea:focus {
  border-color: var(--teal);
  outline: 2px solid color-mix(in srgb, var(--teal) 35%, transparent);
}

#lead-form .button {
  background: var(--red);
  color: #061010;
}

#lead-form .button:hover,
#lead-form .button:focus-visible {
  background: #ef7569;
}

@media (max-width: 580px) {
  .date-card {
    border-color: rgba(255, 255, 255, .45);
  }
}

/* A quieter photographic interlude */
.photo-story {
  grid-template-columns: 1.05fr .78fr .78fr;
  gap: 8px;
  padding: 58px 7vw;
  background: #090b0c;
}

.photo-story figure {
  position: relative;
  min-height: 310px;
  background: #090b0c;
}

.photo-story figure:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 9, 10, .08), rgba(7, 9, 10, .4));
  pointer-events: none;
}

.photo-story img:not(.photo-seal) {
  opacity: .72;
  filter: saturate(.55) contrast(1.05);
}

.photo-main img {
  object-position: center 54%;
}

@media (max-width: 800px) {
  .photo-story {
    padding: 42px 22px;
  }
}

/* Editorial imagery and restrained illustration system */
.hero-copy {
  padding-top: 150px;
}

.market-head h2 {
  max-width: 850px;
}

.market-columns article {
  position: relative;
  overflow: hidden;
}

.market-icon {
  position: absolute;
  top: 22px;
  right: 22px;
  width: 150px;
  height: 110px;
  object-fit: contain;
  object-position: right top;
  opacity: .58;
}

.market-columns article:last-child .market-icon {
  opacity: .48;
}

.fair {
  background-image: url('fair-crowd.jpg');
  background-position: center;
}

.forum {
  background-image: url('gallery-glasses.jpg');
  background-position: center;
}

.photo-story {
  position: relative;
  display: grid;
  grid-template-columns: 1.35fr .8fr .8fr;
  gap: 12px;
  padding: 12px;
  background: #090b0c;
}

/* Shared language with the Vinos & Negocios landing */
nav a {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
}

.pro-access {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5vw;
  padding: 26px 7vw;
  background: var(--yellow);
  color: #111;
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pro-access span {
  text-align: right;
}

.exhibitor-fit {
  padding: 110px 7vw;
  background: #0c0f10;
}

.fit-copy {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 8vw;
  align-items: start;
  margin-bottom: 62px;
}

.fit-copy h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(3.2rem, 5.1vw, 6rem);
  line-height: .96;
  letter-spacing: -.05em;
}

.fit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.fit-grid article {
  position: relative;
  min-height: 210px;
  padding: 24px;
  overflow: hidden;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #111516;
}

.fit-grid span {
  color: var(--teal-light);
  font-size: .7rem;
}

.fit-grid h3 {
  position: relative;
  z-index: 1;
  max-width: 180px;
  margin: 104px 0 0;
  font-size: 1.05rem;
}

.fit-grid .with-art:after {
  content: "";
  position: absolute;
  inset: 8px 8px auto auto;
  width: 125px;
  height: 105px;
  background: center / contain no-repeat;
  opacity: .42;
}

.fit-grid .products:after { background-image: url('category-products.png'); }
.fit-grid .accessories:after { background-image: url('category-accessories.png'); }
.fit-grid .services:after { background-image: url('category-services.png'); }

.format-tab {
  display: inline-block;
  margin: -115px 0 76px -7vw;
  padding: 22px 7vw;
  background: var(--red);
  color: #090909;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.special-formats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 24px;
}

.special-formats article {
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  min-height: 390px;
  border: 1px solid #474747;
  background: #0e1011;
  overflow: hidden;
}

.special-formats article > div {
  display: flex;
  flex-direction: column;
  padding: 30px;
}

.special-formats img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.special-formats h3 {
  margin: 65px 0 16px;
  font: 2rem/1 Georgia, serif;
}

.special-formats p {
  color: #aaa;
  line-height: 1.55;
}

.special-formats a {
  margin-top: auto;
  color: var(--yellow);
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}

.location {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 10vw;
  padding: 110px 8vw;
  background: var(--red);
  color: #0b0b0b;
}

.location .overline,
.location em {
  color: #0b0b0b;
}

.location h2 {
  margin: 0;
  font-size: clamp(3.2rem, 5vw, 6rem);
  line-height: .95;
  letter-spacing: -.05em;
}

.location-detail {
  padding-top: 36px;
  font-size: 1.05rem;
  line-height: 1.6;
}

.location-detail ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.location-detail li {
  padding: 13px 0;
  border-bottom: 1px solid rgba(10, 10, 10, .28);
}

.location-detail li:before {
  content: "+";
  margin-right: 12px;
}

.location-link {
  display: inline-block;
  margin-top: 20px;
  padding-bottom: 5px;
  border-bottom: 1px solid #111;
  font-weight: 700;
  text-decoration: none;
}

.producer {
  display: grid;
  grid-template-columns: .8fr 1fr 1.3fr auto;
  gap: 5vw;
  align-items: center;
  padding: 70px 7vw;
  background: #080a0b;
  border-top: 1px solid var(--line);
}

.producer .overline,
.producer h2,
.producer p {
  margin: 0;
}

.producer h2 {
  font: 2.35rem/1 Georgia, serif;
}

.producer p {
  color: #aaa;
  line-height: 1.6;
}

.producer a {
  padding-bottom: 5px;
  border-bottom: 1px solid var(--yellow);
  white-space: nowrap;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}

.sister-event {
  display: grid;
  grid-template-columns: .8fr 1.25fr auto;
  gap: 6vw;
  align-items: center;
  padding: 70px 7vw;
  background: var(--yellow);
  color: #0a0a0a;
}

.sister-event > p {
  margin: 0;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.vinos-mark {
  display: flex;
  align-items: flex-start;
  gap: 13px;
}

.vinos-mark small {
  padding: 6px 8px;
  border: 1px solid #111;
  font-size: .58rem;
  letter-spacing: .16em;
}

.vinos-mark strong {
  font: 2.5rem/.82 Georgia, serif;
  letter-spacing: -.045em;
}

.vinos-mark i {
  font-family: "Playfair Display", serif;
  font-weight: 500;
}

.sister-event > a {
  padding-bottom: 5px;
  border-bottom: 1px solid #111;
  white-space: nowrap;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 1000px) {
  .fit-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .special-formats article {
    grid-template-columns: 1fr;
  }

  .special-formats img {
    min-height: 280px;
    order: -1;
  }

  .producer {
    grid-template-columns: 1fr 1fr;
  }

  .sister-event {
    grid-template-columns: 1fr 1fr;
  }

  .sister-event > a {
    grid-column: 2;
  }
}

@media (max-width: 700px) {
  .pro-access,
  .fit-copy,
  .special-formats,
  .location,
  .producer {
    grid-template-columns: 1fr;
  }

  .sister-event {
    grid-template-columns: 1fr;
  }

  .sister-event > a {
    grid-column: auto;
    justify-self: start;
  }

  .pro-access span {
    text-align: left;
  }

  .exhibitor-fit {
    padding: 80px 22px;
  }

  .fit-copy {
    gap: 15px;
  }

  .format-tab {
    margin-left: -22px;
    padding-left: 22px;
  }

  .location {
    gap: 25px;
    padding: 80px 24px;
  }

  .location-detail {
    padding-top: 0;
  }
}

@media (max-width: 480px) {
  .fit-grid {
    grid-template-columns: 1fr;
  }
}

.photo-story figure {
  min-height: 430px;
  margin: 0;
  overflow: hidden;
}

.photo-story img:not(.photo-seal) {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.82) contrast(1.04);
}

.photo-main img {
  object-position: 42% center;
}

.photo-seal {
  position: absolute;
  right: 7vw;
  bottom: -55px;
  width: 170px;
  transform: rotate(5deg);
  z-index: 2;
}

.honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.form-note.success {
  color: var(--teal-light);
}

.form-note.error {
  color: var(--red);
}

form .button:disabled {
  cursor: wait;
  opacity: .65;
}

@media (max-width: 800px) {
  .hero-copy {
    padding-top: 95px;
  }

  .photo-story {
    grid-template-columns: 1fr 1fr;
  }

  .photo-story .photo-main {
    grid-column: 1 / -1;
  }

  .photo-story figure {
    min-height: 320px;
  }
}

@media (max-width: 580px) {
  .hero-copy {
    padding-top: 45px;
  }

  .market-icon {
    width: 108px;
    height: 82px;
  }

  .photo-story {
    grid-template-columns: 1fr;
  }

  .photo-story .photo-main {
    grid-column: auto;
  }

  .photo-story figure {
    min-height: 300px;
  }

  .photo-seal {
    right: 24px;
    bottom: -38px;
    width: 120px;
  }
}

/* Final gallery treatment: imagery supports the section without dominating it */
.photo-story {
  grid-template-columns: 1.05fr .78fr .78fr;
  gap: 8px;
  padding: 58px 7vw;
  background: #090b0c;
}

.photo-story figure {
  position: relative;
  min-height: 310px;
  background: #090b0c;
}

.photo-story figure:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 9, 10, .08), rgba(7, 9, 10, .4));
  pointer-events: none;
}

.photo-story img:not(.photo-seal) {
  opacity: .72;
  filter: saturate(.55) contrast(1.05);
}

.photo-main img {
  object-position: center 54%;
}

.date-card small:not(.date-place) {
  color: var(--white);
}

@media (max-width: 800px) {
  .photo-story {
    grid-template-columns: 1fr 1fr;
    padding: 42px 22px;
  }

  .photo-story .photo-main {
    grid-column: 1 / -1;
  }
}

@media (max-width: 580px) {
  .photo-story {
    grid-template-columns: 1fr;
  }

  .photo-story .photo-main {
    grid-column: auto;
  }
}

/* Hero metadata and sister-event signature */
.date-card .date-meta {
  display: block;
  margin-top: 13px;
  color: var(--teal-light);
  font-weight: 400;
  letter-spacing: .045em;
}

.date-card .date-meta b {
  display: block;
  font-weight: 400;
}

.hero-sister {
  display: flex;
  align-items: center;
  gap: 18px;
  width: fit-content;
  margin-top: 34px;
  margin-bottom: 36px;
  color: rgba(255, 255, 255, .75);
  text-decoration: none;
}

.hero-sister > span:first-child {
  font-size: .64rem;
  font-weight: 500;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.hero-sister img {
  width: 120px;
  height: 58px;
  object-fit: contain;
}

/* One consistent brand accent per business benefit */
.benefit-grid article:nth-child(1) {
  box-shadow: inset 0 3px 0 rgba(223, 91, 79, .86);
}

.benefit-grid article:nth-child(2) {
  box-shadow: inset 0 3px 0 rgba(22, 139, 137, .8);
}

.benefit-grid article:nth-child(3) {
  box-shadow: inset 0 3px 0 rgba(217, 179, 95, .86);
}

@media (max-width: 580px) {
  header {
    height: 92px;
  }

  .hero {
    min-height: 920px;
    padding-bottom: 220px;
  }

  .hero-copy {
    padding-top: 115px;
  }

  .date-card {
    padding: 22px 20px;
  }

  .market-columns h3 {
    font-size: 2.25rem;
  }

  .date-card .date-meta {
    color: var(--teal-light);
  }

  .hero-sister {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    margin-top: 26px;
    margin-bottom: 42px;
  }

  .hero-sister img {
    width: 112px;
    height: 54px;
  }
}
