/* Mexico shares Spain's warm editorial language while retaining its static release. */
:root {
  --bg: #f7f3eb;
  --surface: #fffdf8;
  --ink: #20211e;
  --muted: #625f57;
  --gold: #946916;
  --line: #d9d0c2;
  --width: 1180px;
}
body { background: var(--bg); color: var(--ink); }
h1, h2, h3 { font-weight: 400; }
h1 { letter-spacing: -.055em; }
.header { background: rgba(250, 247, 241, .97); border-color: var(--line); }
.header-inner { min-height: 72px; gap: 26px; }
.brand { font-weight: 700; letter-spacing: -.05em; font-size: 1.42rem; }
.brand span { color: var(--gold); }
.brand small { letter-spacing: .08em; }
.nav { gap: 19px; }
.nav a, .country { color: #4d4a43; font-weight: 600; }
.nav a:hover, .country:hover { color: var(--gold); }
.country { color: var(--gold); border-color: #c3a768; }
.eyebrow { color: var(--gold); letter-spacing: .23em; }
.lede { color: #615e56; line-height: 1.62; }
.fine, .hero-note { color: var(--muted); }
.button { min-height: 52px; border-radius: 2px; text-transform: none; }
.button.gold { background: #946916; color: white; border-color: #946916; }
.button.ghost { color: var(--ink); border-color: #b5a68f; }
.button:hover { filter: brightness(1.08); }
.back, .section-head a { color: var(--gold); font-weight: 700; }

.hero.wrap { max-width: 1320px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr); gap: 0; padding-top: 0; padding-bottom: 0; }
.hero-copy { padding: clamp(65px, 8vw, 130px) clamp(35px, 5vw, 82px) clamp(55px, 7vw, 100px) 0; }
.hero h1 { max-width: none; margin-bottom: 30px; font-size: clamp(4.4rem, 7.4vw, 7.4rem); }
.hero h1 em { color: var(--ink); font-style: normal; }
.hero .lede { max-width: 500px; font-size: 1.17rem; }
.hero .actions { margin-top: 30px; }
.hero-note { margin-top: 30px; font-size: .8rem; }
.hero-feature { min-height: 650px; position: relative; display: block; isolation: isolate; overflow: hidden; text-decoration: none; background: linear-gradient(135deg, #493720, #171512); }
.hero-feature::after { content: ""; position: absolute; inset: 32% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.88)); z-index: 1; }
.hero-photo { position: absolute; inset: 0; }
.media-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.media-image.is-broken { display: none; }
.hero-feature .media-image { transition: transform .5s ease; }
.hero-feature:hover .media-image { transform: scale(1.045); }
.hero-feature-caption { position: absolute; left: 35px; right: 35px; bottom: 32px; z-index: 2; display: flex; flex-direction: column; gap: 8px; color: white; }
.hero-feature-caption small { color: #dbb669; font-size: .65rem; letter-spacing: .18em; font-weight: 700; }
.hero-feature-caption strong { font: 400 clamp(1.7rem, 3vw, 2.7rem)/1.13 Fraunces, Georgia, serif; max-width: 14ch; }
.hero-feature-caption>span { color: #e9c27c; font-size: .77rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }

.section { padding-top: 64px; padding-bottom: 70px; }
.section-divider, .city-section { border-top: 1px solid var(--line); }
.section-head { margin-bottom: 27px; }
.section-head h2 { font-size: clamp(2.1rem, 4vw, 3.25rem); }
.section-head a { white-space: nowrap; }
.cards { gap: 19px; }
.event-card { position: relative; isolation: isolate; min-width: 0; width: 100%; min-height: 330px; aspect-ratio: 1.19; padding: 0; overflow: hidden; border-radius: 9px; background: linear-gradient(135deg, #3c2d1e, #171616 72%); color: white; }
.event-card::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.2), transparent 25%, rgba(0,0,0,.78) 76%, rgba(0,0,0,.96)); }
.event-card:hover { border-color: #b88a33; transform: translateY(-3px); }
.card-media { position: absolute; inset: 0; z-index: 0; display: block; }
.card-media .media-image { transition: transform .5s ease; }
.event-card:hover .media-image { transform: scale(1.05); }
.date-badge { position: absolute; top: 14px; left: 15px; z-index: 2; background: rgba(23,22,21,.76); min-width: 47px; padding: 5px 7px; line-height: 1.3; text-align: center; }
.date-badge strong { display: block; font: 400 1.55rem/1.2 Fraunces, Georgia, serif; }
.date-badge span { color: #d5d0c7; letter-spacing: .1em; font-size: .75rem; }
.card-content { position: relative; z-index: 2; margin-top: auto; padding: 19px 18px 17px; pointer-events: none; }
.card-content a { pointer-events: auto; }
.event-card .tag { border: 0; color: #ebc678; padding: 0; font-size: .75rem; }
.event-card h3 { margin: 8px 0 5px; font-size: clamp(1.35rem, 1.8vw, 1.8rem); line-height: 1.3; }
.event-card h3 a:hover { color: #e9c47d; }
.event-card .card-venue { color: #e3ddd1; font-size: .82rem; margin-bottom: 0; }
.event-card .card-bottom { margin-top: 13px; padding-top: 9px; border-color: rgba(255,255,255,.17); font-size: .82rem; line-height: 1.45; flex-wrap: wrap; }
.event-card .card-bottom span { color: #d8d2c8; }
.event-card .card-bottom a { color: #efc87f; letter-spacing: .06em; text-transform: uppercase; }

.entity-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.entity-card { position: relative; isolation: isolate; display: block; min-height: 260px; aspect-ratio: 1.05; border-radius: 8px; overflow: hidden; background: linear-gradient(145deg,#60441e,#1d2021); color: white; text-decoration: none; border: 1px solid #564531; }
.entity-card::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.9)); z-index: 1; }
.entity-photo { position: absolute; inset: 0; }
.entity-card .media-image { transition: transform .5s ease; }
.entity-card:hover .media-image { transform: scale(1.06); }
.entity-text { position: absolute; left: 19px; right: 17px; bottom: 18px; z-index: 2; display: flex; flex-direction: column; gap: 5px; }
.entity-text small { color: #e7be72; font-size: .62rem; font-weight: 700; letter-spacing: .1em; }
.entity-text strong { font: 400 1.55rem/1.09 Fraunces, Georgia, serif; }
.entity-text>span { color: #eee5d5; font-size: .75rem; }
.entity-text em { color: #c8c2b8; font-style: normal; font-size: .6rem; line-height: 1.25; }

.disc-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
.disc-card { background: var(--surface); border: 1px solid var(--line); display: flex; flex-direction: column; min-width: 0; }
.disc-cover { aspect-ratio: 1; display: block; background: linear-gradient(145deg,#5f401a,#15181a); overflow: hidden; }
.disc-cover .media-image { transition: transform .5s ease; }
.disc-cover:hover .media-image { transform: scale(1.04); }
.disc-copy { padding: 16px; display: flex; flex: 1; flex-direction: column; }
.disc-copy h3 { font-size: 1.35rem; margin: 0 0 4px; }
.disc-copy p { color: var(--muted); font-size: .76rem; line-height: 1.4; }
.disc-copy p a { text-decoration: none; }
.disc-source { color: var(--gold); font-size: .72rem; text-decoration: none; margin-top: auto; }
.disc-live { border-top: 1px solid var(--line); padding-top: 10px; margin-top: 12px; color: var(--gold); text-decoration: none; font-size: .76rem; font-weight: 700; }

.chips a { background: #fffdf8; border-color: #cfc4b3; border-radius: 25px; }
.chips span { color: var(--gold); }
.chips a:hover { color: var(--gold); }
.pitch { background: #20221f; border-color: #20221f; color: white; }
.pitch .eyebrow { color: #dbb770; }
.pitch p { color: #d0c9bd; }
.page-intro { padding-top: 72px; padding-bottom: 40px; }
.page-intro h1 { max-width: 20ch; }
.page-intro .lede { max-width: 720px; }
.event h1 { max-width: 18ch; }
.event-art { position: relative; min-height: 520px; padding: 0; margin: 0; overflow: hidden; align-items: stretch; border: 0; background: linear-gradient(135deg,#6c481e,#161a1c); }
.event-art .media-image { position: absolute; inset: 0; }
.event-art figcaption { position: absolute; left: 15px; right: 15px; bottom: 14px; background: rgba(18,17,16,.7); color: white; width: max-content; max-width: calc(100% - 30px); padding: 6px 9px; font-size: .65rem; }
.event-details { background: #fffdf8; border-color: var(--line); }
.event-details h2 { color: var(--ink); }
.event-details dd { color: var(--ink); }
.event-details dt { color: var(--muted); }
.purchase .button { width: 100%; }
.purchase .fine { color: var(--muted); }
.save-button { color: var(--ink); }
.event-note p { color: var(--muted); }
.venue-feature { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(290px,.95fr); background: #20221f; color: white; padding: 0; margin-bottom: 28px; }
.venue-feature-photo { position: relative; min-height: 405px; margin: 0; background: linear-gradient(135deg,#60401d,#191817); }
.venue-feature-photo .media-image { position: absolute; inset: 0; }
.venue-feature-photo figcaption { position: absolute; bottom: 14px; left: 14px; right: 14px; background: rgba(0,0,0,.75); padding: 7px 9px; color: white; font-size: .7rem; width: fit-content; }
.venue-feature-copy { padding: clamp(28px,5vw,65px); align-self: center; }
.venue-feature-copy h2 { font-size: 2.6rem; }
.venue-feature-copy p:not(.eyebrow) { color: #d4ccbe; }
.venue-feature-copy .button { margin-top: 15px; }
.empty { background: #fffdf8; color: var(--muted); border-color: var(--line); }
.footer { border-color: var(--line); }
.footer-grid .brand { color: var(--ink); }
.footer-grid strong { color: var(--ink); }
.footer .fine { color: var(--muted); }
.consent { background: #fffdf8; color: var(--ink); }
.consent button { background: var(--gold); border-color: var(--gold); color: white; }
.consent button+button { color: var(--ink); border-color: var(--line); }

@media (max-width: 1050px) {
  .header-inner { gap: 12px; flex-wrap: wrap; }
  .nav { order: 3; width: 100%; overflow-x: auto; margin: 0; padding: 4px 0 7px; }
  .country { margin-left: auto; }
  .hero.wrap { grid-template-columns: 1fr 1fr; }
  .hero-copy { padding: 70px 35px 65px 0; }
  .hero-feature { min-height: 560px; }
  .cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .entity-grid, .disc-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .header-inner { padding: 10px 16px; }
  .nav { display: grid; grid-template-columns: repeat(3,max-content); justify-content: space-between; gap: 5px 12px; overflow: visible; padding: 5px 0 2px; }
  .nav a { font-size: .72rem; }
  .hero.wrap { display: block; padding: 0; }
  .hero-copy { padding: 58px 21px 45px; }
  .hero h1 { font-size: clamp(4rem, 16vw, 6rem); }
  .hero-feature { min-height: 400px; }
  .hero-feature-caption { left: 22px; right: 22px; bottom: 24px; }
  .section { padding-top: 46px; padding-bottom: 51px; }
  .section-head { display: block; }
  .section-head a { display: inline-block; margin-top: 12px; }
  .cards { grid-template-columns: 1fr; }
  .event-card { min-height: 340px; aspect-ratio: 1.18; }
  .entity-grid, .disc-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
  .entity-card { min-height: 220px; aspect-ratio: .85; }
  .entity-text { left: 12px; right: 12px; bottom: 12px; }
  .entity-text strong { font-size: 1.28rem; }
  .entity-text em { display: none; }
  .disc-copy { padding: 11px; }
  .disc-copy h3 { font-size: 1.14rem; }
  .venue-feature { grid-template-columns: 1fr; }
  .venue-feature-photo { min-height: 330px; }
  .venue-feature-copy { padding: 29px 23px 35px; }
  .event-grid { grid-template-columns: 1fr; }
  .event-art { min-height: 380px; }
  .event-details { padding: 25px; }
  .page-intro { padding-top: 47px; }
}
@media (max-width: 390px) {
  .hero h1 { font-size: 3.75rem; }
  .entity-grid { grid-template-columns: 1fr; }
  .entity-card { aspect-ratio: 1.2; }
}

/* A direct route to the concert catalogue, with a compact accessible mobile menu. */
.header-inner{max-width:1240px;gap:16px}
.nav{align-items:center;gap:18px}
.nav a{min-height:44px;display:inline-flex;align-items:center;font-size:.83rem}
.nav .nav-agenda,.mobile-agenda,.mobile-menu .menu-agenda{background:#795510;color:#fff;border-radius:5px;font-weight:700;text-decoration:none}
.nav .nav-agenda{padding:0 16px}
.nav .nav-agenda:hover,.mobile-agenda:hover,.mobile-menu .menu-agenda:hover{background:#61420b;color:#fff}
.country-switch{position:relative}
.country-switch>summary{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px;padding:0 10px;cursor:pointer;list-style:none;color:var(--ink);font-size:.8rem;font-weight:700}
.country-switch>summary::-webkit-details-marker,.mobile-menu>summary::-webkit-details-marker{display:none}
.country-switch>div{position:absolute;right:0;top:100%;z-index:20;width:min(270px,calc(100vw - 32px));max-height:min(65dvh,520px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 26px rgba(20,18,14,.15);padding:7px}
.country-switch>div>a,.country-switch>div>span{display:block;min-height:44px;padding:10px 12px;color:var(--ink);font-size:.85rem}
.country-switch>div>a:hover{background:#eee5d4}
.country-switch>div>span{font-weight:700;color:#615849}
.mobile-agenda,.mobile-menu{display:none}
.header a:focus-visible,.header summary:focus-visible{outline:2px solid #795510;outline-offset:3px}
@media(max-width:1050px){
  .header-inner{min-height:68px;flex-wrap:nowrap}
  .nav,.desktop-country{display:none}
  .mobile-agenda{display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap;padding:0 12px;margin-left:auto;font-size:.77rem}
  .mobile-menu{display:block}
  .mobile-menu>summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer;list-style:none;border-radius:5px}
  .mobile-menu>summary:hover{background:#eee5d4}
  .mobile-menu>nav{position:absolute;top:100%;left:0;right:0;z-index:10;display:flex;flex-direction:column;max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(20,18,14,.12);padding:16px max(16px,calc((100vw - 640px)/2)) max(24px,env(safe-area-inset-bottom))}
  .mobile-menu nav>a{display:flex;align-items:center;min-height:48px;padding:8px 12px;text-decoration:none;font-size:.92rem}
  .mobile-menu nav>a:not(.menu-agenda){border-bottom:1px solid var(--line)}
  .mobile-menu .menu-agenda{min-height:60px;justify-content:space-between;padding:12px 16px;margin-bottom:8px}
  .menu-region{padding-top:9px}
  .menu-region .country-switch>div{position:static;width:100%;max-height:190px;box-shadow:none}
}
@media(max-width:390px){.header-inner{gap:8px}.brand{font-size:1.2rem}.mobile-agenda{padding-inline:10px}}

/* 2026-10-03 compact editorial catalogue */
.hero h1{font-size:clamp(3.7rem,6.3vw,6.25rem);line-height:1.04;margin-bottom:23px}
.hero-copy{padding-top:clamp(48px,6vw,95px);padding-bottom:clamp(46px,5.5vw,86px)}
.hero-feature{min-height:560px}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
.page-intro h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.08}
.event h1{font-size:clamp(2.5rem,4.7vw,4.4rem);line-height:1.1}
.event-top-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin:23px 0;padding:17px 0;border-block:1px solid var(--line)}
.event-top-cta>span{font-size:.88rem;line-height:1.5;color:var(--muted)}
.event-top-cta .button{min-height:46px;background:#a84331;border-color:#a84331;color:#fffaf0}
.event-art{min-height:420px}
.event-art .media-image{object-fit:cover}
@media(max-width:700px){.hero h1{font-size:clamp(3rem,12vw,4rem)}.hero-copy{padding-top:46px;padding-bottom:40px}.hero-feature{min-height:365px}.page-intro h1{font-size:clamp(2.35rem,8.4vw,3.4rem)}.event h1{font-size:clamp(2.25rem,8vw,3.2rem)}.event-top-cta .button{width:100%}.event-art{min-height:340px}}
@media(max-width:390px){.hero h1{font-size:3.1rem}}

/* Shared editorial identity and the concert-first agenda. */
:root { --gold:#ae4735; --bg:#f8f6f0; --surface:#fffdfa; --line:#d7d0c4; }
.header { background:rgba(248,246,240,.98); }
.header-inner { max-width:1586px; min-height:72px; padding-inline:clamp(18px,3.7vw,60px); }
.header .editorial-wordmark, .footer .editorial-wordmark { position:relative; display:inline-flex; flex-direction:column; flex:none; width:198px; min-width:0; color:#111; text-decoration:none; letter-spacing:-.065em; white-space:nowrap; }
.editorial-wordmark__name { font:500 42px/.85 Fraunces,Georgia,serif; }
.editorial-wordmark__club { position:absolute; left:49px; top:-8px; color:#ae4735; font:700 10px/1 system-ui,sans-serif; letter-spacing:.24em; }
.editorial-wordmark__name span { color:#ae4735; }
.nav .nav-agenda,.mobile-agenda,.mobile-menu .menu-agenda { background:#ae4735; border-radius:2px; }
.nav .nav-agenda:hover,.mobile-agenda:hover,.mobile-menu .menu-agenda:hover { background:#8f382a; }
.button.gold { background:#ae4735; border-color:#ae4735; color:#fffaf0; }
.button.gold:hover { background:#8f382a; border-color:#8f382a; }
.header a:focus-visible,.header summary:focus-visible { outline-color:#ae4735; }
.editorial-agenda .agenda-hero { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:clamp(26px,4vw,60px); max-width:1500px; padding-top:28px; padding-bottom:32px; border-bottom:1px solid var(--line); }
.editorial-agenda .agenda-hero h1 { font-size:clamp(2.65rem,4.8vw,4.9rem); max-width:12ch; line-height:1.07; margin:0 0 18px; }
.editorial-agenda .agenda-hero .eyebrow { text-transform:uppercase; letter-spacing:.18em; margin-bottom:15px; }
.editorial-agenda .agenda-hero .lede { max-width:51ch; line-height:1.6; }
.editorial-agenda .agenda-hero .button { margin-top:23px; }
.editorial-agenda .agenda-hero .fine { margin-top:17px; }
.editorial-agenda .agenda-hero figure { margin:0; }
.editorial-agenda .agenda-hero img { display:block; width:100%; height:clamp(250px,29vw,420px); object-fit:cover; }
.editorial-agenda .agenda-hero figcaption { margin-top:6px; font-size:.72rem; color:var(--muted); }
.editorial-agenda .agenda-cities { padding-top:16px; padding-bottom:12px; }
.editorial-agenda .agenda-cities .chips { margin:0; }
.editorial-agenda .agenda-cities .chips a { border-radius:2px; min-height:40px; display:inline-flex; align-items:center; }
.editorial-agenda .section.compact { padding-top:32px; }
.editorial-agenda .section.compact h2 { font-size:clamp(2rem,3vw,3rem); margin-bottom:22px; }
.editorial-agenda .cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.editorial-agenda .event-card { display:flex; flex-direction:column; min-height:0; aspect-ratio:auto; border:1px solid var(--line); border-radius:2px; background:#fffdfa; color:#1c1b18; overflow:hidden; }
.editorial-agenda .event-card::before { display:none; }
.editorial-agenda .card-media { position:relative; inset:auto; height:180px; flex:none; background:#e7dfd1; }
.editorial-agenda .card-media .media-image { width:100%; height:100%; object-fit:cover; }
.editorial-agenda .date-badge { background:#25211d; color:#fffaf0; border-radius:2px; }
.editorial-agenda .card-content { display:flex; flex-direction:column; flex:1; margin-top:0; padding:15px 16px 17px; }
.editorial-agenda .event-card .tag { color:#ae4735; }
.editorial-agenda .event-card h3 { color:#1c1b18; font-size:clamp(1.28rem,1.7vw,1.7rem); }
.editorial-agenda .event-card h3 a:hover { color:#ae4735; }
.editorial-agenda .event-card .card-venue,.editorial-agenda .event-card .card-bottom span { color:#565047; }
.editorial-agenda .event-card .card-bottom { margin-top:auto; padding-top:13px; border-color:var(--line); }
.editorial-agenda .event-card .card-bottom a { display:inline-flex; min-height:40px; align-items:center; padding:7px 12px; background:#ae4735; color:#fffaf0; border-radius:2px; text-decoration:none; }
.editorial-agenda .event-card .card-bottom a:hover { background:#8f382a; color:#fffaf0; }
@media(max-width:1050px) { .editorial-agenda .cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .header .editorial-wordmark { width:175px; } .editorial-wordmark__name { font-size:35px; } .editorial-wordmark__club { left:41px; font-size:9px; } }
@media(max-width:700px) { .header .editorial-wordmark { width:137px; } .editorial-wordmark__name { font-size:28px; } .editorial-wordmark__club { left:33px; top:-6px; font-size:7px; } .editorial-agenda .agenda-hero { grid-template-columns:1fr; gap:20px; padding-top:24px; } .editorial-agenda .agenda-hero h1 { font-size:clamp(2.4rem,10vw,3.7rem); } .editorial-agenda .agenda-hero img { height:240px; } .editorial-agenda .cards { grid-template-columns:1fr; } }
@media(max-width:350px) { .header .editorial-wordmark { width:118px; } .editorial-wordmark__name { font-size:25px; } .editorial-wordmark__club { left:29px; } .mobile-agenda { padding-inline:8px; } }
