:root{--black:#050505;--black-soft:#0b0b0d;--gold:#d4af37;--gold-light:#f4df92;--silver:#b8bbc2;--white:#f6f4ef;--blue:#147cff;--line:rgba(212,175,55,.24);--header:76px;--max:1180px;--font-body:'Montserrat',Arial,sans-serif;--font-display:'Cormorant Garamond',Georgia,serif;--font-script:'Berkshire Swash','Brush Script MT',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.skip-link{position:fixed;z-index:999;top:8px;left:8px;padding:10px 16px;background:var(--gold);color:#000;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:fixed;z-index:100;inset:0 0 auto;height:var(--header);background:linear-gradient(to bottom,rgba(0,0,0,.76),transparent);transition:background .3s,border-color .3s}.site-header.scrolled{background:rgba(5,5,5,.92);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-family:Georgia,serif;letter-spacing:0}.nav-links{display:flex;align-items:center;gap:23px}.nav-links a{text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.1em;color:#e8e6e0;transition:color .2s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--gold-light)}.nav-links .nav-cta{border:1px solid var(--gold);padding:9px 14px;color:var(--gold-light)}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:1px;margin:6px auto;background:var(--white);transition:.25s}.hero{position:relative;isolation:isolate;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 65%,#15120a 0,transparent 35%),#020203}.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(to top,#050505 0,transparent 25%),repeating-linear-gradient(90deg,transparent 0,transparent 119px,rgba(255,255,255,.012) 120px)}.stage-lights{position:absolute;z-index:-2;inset:0}.stage-lights span{position:absolute;top:-30%;width:25%;height:130%;filter:blur(16px);opacity:.15;transform-origin:top;animation:sweep 16s ease-in-out infinite alternate}.stage-lights span:nth-child(1){left:4%;background:linear-gradient(105deg,transparent 15%,var(--blue),transparent 58%);transform:rotate(-15deg)}.stage-lights span:nth-child(2){right:5%;background:linear-gradient(75deg,transparent 15%,var(--gold),transparent 58%);transform:rotate(15deg);animation-delay:-5s}.stage-lights span:nth-child(3){left:39%;opacity:.08;background:linear-gradient(90deg,transparent,var(--blue),transparent);animation-delay:-9s}.hero-glow{position:absolute;z-index:-1;width:700px;height:280px;left:50%;bottom:7%;transform:translateX(-50%);border-radius:50%;background:rgba(43,112,255,.13);filter:blur(90px);animation:breathe 8s ease-in-out infinite}.hero-content{text-align:center;padding:calc(var(--header) + 34px) 20px 75px}.hero-logo{display:block;width:clamp(180px,28vw,310px);margin:0 auto -20px;filter:drop-shadow(0 6px 28px rgba(212,175,55,.24));animation:logoIn 1.3s cubic-bezier(.2,.8,.2,1) both}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.32em;font-size:.7rem;font-weight:700;color:var(--gold-light)}.hero h1{margin:.1em 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.2rem,8vw,7.8rem);line-height:.95;font-weight:400;letter-spacing:-.04em;background:linear-gradient(105deg,#a4771b,#fff0ae 45%,#bd8b24 75%,#f3dc8a);color:transparent;background-clip:text;-webkit-background-clip:text;text-shadow:0 9px 40px rgba(212,175,55,.12)}.hero-subtitle{margin:22px 0 32px;color:#d6d6d4;letter-spacing:.14em;font-size:clamp(.82rem,2vw,1rem)}.hero-subtitle span{margin:0 .4em;color:var(--gold)}.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:12px 25px;border:1px solid transparent;text-decoration:none;text-transform:uppercase;font:700 .72rem/1 Arial,sans-serif;letter-spacing:.13em;cursor:pointer;transition:transform .2s,background .2s,border-color .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(110deg,#a9791d,#e4c65e,#a9791d);color:#090806;box-shadow:0 10px 35px rgba(212,175,55,.15)}.button-primary:hover{background:linear-gradient(110deg,#c19332,#f1db83,#c19332)}.button-secondary{border-color:rgba(255,255,255,.35);color:var(--white);background:rgba(255,255,255,.025)}.button-secondary:hover{border-color:var(--gold);color:var(--gold-light)}.scroll-cue{position:absolute;bottom:22px;left:50%;width:28px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:16px;transform:translateX(-50%)}.scroll-cue span{position:absolute;top:8px;left:12px;width:2px;height:8px;background:var(--gold);animation:scroll 2s infinite}.section{padding:clamp(80px,11vw,145px) 0;background:#080809}.section-dark{background:#030304}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,9vw,130px);align-items:start}.section h2{margin:5px 0 20px;font:400 clamp(2.7rem,6vw,5.5rem)/1 Georgia,serif;letter-spacing:-.035em}.lead{font:400 clamp(1.35rem,2.4vw,2rem)/1.45 Georgia,serif;margin:0 0 20px;color:#e8e4d9}.muted,.section-heading>p,.rider-box p{color:#a9a9aa}.coming-soon{position:relative;display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);background:linear-gradient(135deg,rgba(212,175,55,.06),rgba(20,124,255,.025));overflow:hidden}.coming-soon:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(20,124,255,.08);filter:blur(50px)}.coming-soon span{z-index:1;text-transform:uppercase;letter-spacing:.28em;color:var(--gold-light);font-size:.7rem;font-weight:700}.coming-soon p{z-index:1;margin:10px;color:#aaa}.compact{margin-top:38px;min-height:150px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:46px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:390px;margin-bottom:8px}.placeholder-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.placeholder-grid .feature{min-height:430px}.gallery-placeholders{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:18px}.gallery-placeholders>div:first-child{min-height:420px}.gallery-placeholders>div:not(:first-child){min-height:340px;margin-top:80px}.tall{min-height:370px}.dates{min-height:280px}.rider-box{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:55px;border:1px solid var(--line);background:linear-gradient(120deg,rgba(212,175,55,.07),transparent)}.rider-box h2{font-size:clamp(2.5rem,5vw,4.5rem)}.button-disabled{border-color:#555;background:#191919;color:#777;cursor:not-allowed;white-space:nowrap}.button-disabled:hover{transform:none}.contact{position:relative;overflow:hidden;background:#080705}.contact-light{position:absolute;right:-20%;top:-50%;width:55%;height:170%;background:linear-gradient(100deg,transparent,rgba(212,175,55,.12),transparent);filter:blur(30px);transform:rotate(-12deg)}.contact-grid{position:relative;display:grid;grid-template-columns:1fr .9fr;gap:clamp(45px,9vw,120px);align-items:center}.contact-card{padding:clamp(28px,5vw,52px);border:1px solid var(--line);background:rgba(4,4,4,.75);box-shadow:0 30px 90px #000}.contact-label{text-transform:uppercase;font-size:.66rem;letter-spacing:.2em;color:var(--silver)}.contact-email{display:inline-block;margin:4px 0 28px;color:var(--gold-light);font:400 clamp(1.3rem,3.4vw,2rem) Georgia,serif;text-decoration:none}.button-full{width:100%}.pending-contact{margin-top:28px;border-top:1px solid #282828}.pending-contact p{display:flex;justify-content:space-between;gap:20px;margin:0;padding:18px 0;border-bottom:1px solid #202020;color:#c5c5c5;font-size:.85rem}.pending-contact small{color:#777;text-transform:uppercase;letter-spacing:.1em}.site-footer{padding:50px 0;background:#020202;border-top:1px solid #191919;color:#838383;font-size:.78rem}.footer-content{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:30px;align-items:end}.footer-brand{margin:0;color:var(--gold-light);text-transform:uppercase;letter-spacing:.13em}.site-footer p{margin:4px 0}.site-footer a{color:#bbb;text-decoration:none}.site-footer .footer-content>p{text-align:right}
@keyframes logoIn{from{opacity:0;transform:translateY(24px) scale(.91);filter:blur(8px) drop-shadow(0 0 0 transparent)}to{opacity:1;transform:none;filter:blur(0) drop-shadow(0 0 16px rgba(212,175,55,.18))}}@keyframes sweep{to{transform:translateX(13vw) rotate(7deg)}}@keyframes breathe{50%{opacity:.55;transform:translateX(-50%) scale(1.12)}}@keyframes scroll{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(15px)}}
@media(max-width:980px){.menu-toggle{display:block;z-index:2}.nav-links{position:fixed;inset:0 0 auto 0;min-height:100svh;padding:105px 30px 40px;flex-direction:column;justify-content:center;gap:23px;background:rgba(3,3,4,.98);transform:translateX(100%);visibility:hidden;transition:transform .3s,visibility .3s}.nav-links.open{transform:none;visibility:visible}.nav-links a{font-size:.85rem}.menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}body.menu-open{overflow:hidden}.split,.contact-grid{grid-template-columns:1fr;gap:40px}.gallery-placeholders{grid-template-columns:1.2fr 1fr}.gallery-placeholders>div:nth-child(3){display:none}.footer-content{grid-template-columns:1fr 1fr}.site-footer .footer-content>p{grid-column:1/-1;text-align:left}.rider-box{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){:root{--header:68px}.container{width:min(calc(100% - 28px),var(--max))}.brand span:last-child{display:none}.hero-logo{width:210px;margin-bottom:-8px}.hero h1{font-size:clamp(3rem,16vw,4.7rem)}.hero-subtitle{line-height:2}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.scroll-cue{display:none}.section{padding:78px 0}.section-heading{align-items:start;flex-direction:column;margin-bottom:32px}.placeholder-grid,.gallery-placeholders{grid-template-columns:1fr}.placeholder-grid .feature,.gallery-placeholders>div:first-child,.gallery-placeholders>div:not(:first-child){min-height:250px;margin-top:0}.gallery-placeholders>div:nth-child(3){display:flex}.rider-box{padding:28px}.button-disabled{white-space:normal;line-height:1.4}.contact-card{padding:28px 20px}.pending-contact p{align-items:flex-start;flex-direction:column;gap:4px}.footer-content{grid-template-columns:1fr}.site-footer .footer-content>p{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Agenda y merchandising */
.nav-links{gap:clamp(10px,1.25vw,20px)}
.nav-links a{font-size:clamp(.56rem,.67vw,.65rem);letter-spacing:.075em}
.provisional-notice,.merch-intro{margin:0 0 34px;padding:17px 20px;border-left:2px solid var(--gold);background:rgba(212,175,55,.055);color:#bdbbb5}
.provisional-notice strong{color:var(--gold-light)}
.performances-list{border-top:1px solid var(--line)}
.performance-card{display:grid;grid-template-columns:minmax(150px,.7fr) 1.5fr minmax(130px,.55fr);gap:30px;align-items:center;padding:27px 20px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(212,175,55,.035),transparent);transition:background .2s,transform .2s}
.performance-card:hover{background:linear-gradient(90deg,rgba(212,175,55,.08),rgba(20,124,255,.025));transform:translateX(3px)}
.performance-date{color:var(--gold-light);font:400 1.15rem/1.35 Georgia,serif}
.performance-details h3{margin:0;color:#eee9df;font:400 1.45rem/1.25 Georgia,serif}
.performance-details p{margin:5px 0 0;color:#a9a9aa}
.performance-meta{display:flex;align-items:flex-end;flex-direction:column;gap:8px}
.performance-meta time{font-size:1.2rem;font-weight:700}
.performance-status{padding:5px 9px;border:1px solid rgba(212,175,55,.4);color:var(--gold-light);font-size:.62rem;text-transform:uppercase;letter-spacing:.09em}
.noscript-message{padding:25px;border:1px solid var(--line);color:var(--gold-light)}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.product-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);background:#090909;transition:border-color .2s,transform .2s}
.product-card:hover{border-color:rgba(212,175,55,.52);transform:translateY(-3px)}
.product-placeholder{position:relative;display:grid;min-height:245px;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 110%,rgba(20,124,255,.13),transparent 48%),linear-gradient(145deg,#111,#050505)}
.product-placeholder:before,.product-placeholder:after{content:"";position:absolute;width:1px;height:160%;background:linear-gradient(transparent,var(--gold),transparent);opacity:.22;transform:rotate(38deg)}
.product-placeholder:after{transform:rotate(-38deg)}
.product-placeholder span{z-index:1;color:#8d8d8d;font-size:.67rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.product-content{display:flex;flex:1;align-items:flex-start;flex-direction:column;padding:28px}
.product-content h3{margin:3px 0 12px;font:400 1.55rem/1.2 Georgia,serif}
.product-content>p:not(.product-type):not(.product-price){color:#a9a9aa}
.product-type{margin:0;color:var(--silver);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.product-price{margin:0 0 12px;color:var(--gold-light);font-size:1.35rem;font-weight:700}
.product-price small{display:block;margin-top:3px;color:#777;font-size:.56rem;font-weight:400;letter-spacing:.11em;text-transform:uppercase}
.upcoming-label{font-size:.83rem;letter-spacing:.14em;text-transform:uppercase}
.size-field{width:100%;margin:8px 0 18px}
.size-field label{display:block;margin-bottom:7px;color:#d4d2cb;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.size-field select{width:100%;min-height:48px;padding:10px 38px 10px 12px;border:1px solid #4b4b4b;border-radius:0;background:#101010;color:var(--white);font:inherit}
.size-field select:focus{outline:2px solid var(--gold);outline-offset:2px}
.size-field select[aria-invalid="true"]{border-color:#df7f70}
.field-error{margin:7px 0 0!important;color:#ef9c8f!important;font-size:.75rem}
.reserve-button{width:100%;margin-top:auto;border-color:#3d8e57;background:rgba(37,211,102,.08);color:#ccebd7}
.reserve-button:hover{border-color:#55b876;background:rgba(37,211,102,.14)}
.product-content>.button-disabled{width:100%;margin-top:auto}
@media(max-width:1120px) and (min-width:981px){.brand span:last-child{display:none}.nav-links{gap:10px}.nav-links a{font-size:.55rem}}
@media(max-width:980px){.nav-links a{font-size:.85rem;letter-spacing:.1em}}
@media(max-width:850px){.products-grid{grid-template-columns:1fr 1fr}.product-card:last-child{grid-column:1/-1}.performance-card{grid-template-columns:1fr 1.3fr}.performance-meta{grid-column:1/-1;align-items:center;flex-direction:row;justify-content:space-between;border-top:1px solid #242424;padding-top:14px}}
@media(max-width:650px){.products-grid{grid-template-columns:1fr}.product-card:last-child{grid-column:auto}.product-placeholder{min-height:200px}.performance-card{grid-template-columns:1fr;gap:15px;padding:25px 16px}.performance-meta{grid-column:auto}.performance-card:hover,.product-card:hover{transform:none}.merch-intro,.provisional-notice{font-size:.88rem}}

/* Calendario agrupado por meses */
.performances-list{border-top:0}
.calendar-month+.calendar-month{margin-top:64px}
.calendar-month-title{display:flex;align-items:center;gap:20px;margin:0 0 24px;color:var(--gold-light);font-size:.78rem;letter-spacing:.24em;text-transform:uppercase}
.calendar-month-title:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,var(--line),transparent)}
.calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.performance-card{display:flex;min-height:245px;align-items:stretch;flex-direction:column;gap:0;padding:0;border:1px solid var(--line);background:linear-gradient(145deg,rgba(212,175,55,.055),rgba(20,124,255,.018));overflow:hidden}
.performance-card:hover{transform:translateY(-3px);background:linear-gradient(145deg,rgba(212,175,55,.095),rgba(20,124,255,.035))}
.performance-date{display:flex;align-items:baseline;gap:9px;padding:21px 23px 17px;border-bottom:1px solid rgba(212,175,55,.16);text-transform:capitalize}
.performance-date span{color:var(--silver);font:700 .7rem/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.performance-date strong{color:var(--gold-light);font:400 2rem/1 Georgia,serif}
.performance-details{flex:1;padding:22px 23px}
.performance-details .performance-place{margin:0 0 5px;color:#eee9df;font:400 1.3rem/1.3 Georgia,serif}
.performance-details h4{margin:0;color:#999;font-size:.82rem;font-weight:400}
.performance-meta{display:flex;align-items:center;flex-direction:row;justify-content:space-between;gap:12px;padding:17px 23px;border-top:1px solid #242424}
.performance-meta time{color:#f4f1e8;font-size:1.05rem}
@media(max-width:900px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.calendar-month+.calendar-month{margin-top:48px}.calendar-grid{grid-template-columns:1fr}.performance-card{min-height:0}.performance-card:hover{transform:none}.performance-date,.performance-details,.performance-meta{padding-left:19px;padding-right:19px}}

/* Estructura compacta */
.section{padding:clamp(58px,7vw,88px) 0}
.section-heading{margin-bottom:28px}
.legacy-anchor{position:relative;top:calc(-1 * var(--header));display:block;visibility:hidden}
.orchestra-layout{display:grid;grid-template-columns:.9fr 1fr 1fr;gap:22px;align-items:stretch}
.orchestra-copy{padding-right:12px}
.orchestra-copy h2{font-size:clamp(2.8rem,5vw,4.8rem)}
.orchestra-copy .lead{font-size:clamp(1.18rem,1.8vw,1.55rem);margin-bottom:13px}
.orchestra-copy .muted{margin-bottom:15px}
.repertoire-note{margin:0;padding-top:14px;border-top:1px solid var(--line);color:#969696;font-size:.82rem}
.repertoire-note strong{color:var(--gold-light)}
.official-photo-placeholder,.featured-video-placeholder{position:relative;display:flex;min-height:280px;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,rgba(212,175,55,.06),rgba(20,124,255,.025));text-align:center}
.official-photo-placeholder:before,.featured-video-placeholder:before{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:rgba(20,124,255,.07);filter:blur(42px)}
.official-photo-placeholder span,.featured-video-placeholder>*{z-index:1}
.official-photo-placeholder span,.featured-video-placeholder small{color:#8d8d8d;font-size:.63rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.featured-video-placeholder p{margin:8px 0 2px;color:#dedbd2;font-family:Georgia,serif;font-size:1.2rem}
.play-symbol{display:grid;width:48px;height:48px;place-items:center;padding-left:3px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-light);font-size:.85rem}
.compact-gallery-section{background:#080809}
.compact-heading{align-items:end}
.compact-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.compact-gallery>div{display:grid;min-height:145px;place-items:center;border:1px solid rgba(212,175,55,.18);background:linear-gradient(135deg,#101010,#070707);overflow:hidden}
.compact-gallery span{color:#777;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.calendar-month+.calendar-month{margin-top:38px}
.calendar-month-title{margin-bottom:16px}
.performance-card{min-height:205px}
.performance-date{padding:16px 19px 13px}
.performance-date strong{font-size:1.7rem}
.performance-details{padding:17px 19px}
.performance-details .performance-place{font-size:1.16rem}
.performance-meta{padding:13px 19px}
.provisional-notice,.merch-intro{margin-bottom:25px;padding-top:13px;padding-bottom:13px}
.product-placeholder{min-height:155px}
.product-content{padding:20px}
.product-content h3{font-size:1.32rem;margin-bottom:8px}
.product-content>p:not(.product-type):not(.product-price){margin:5px 0 12px;font-size:.82rem}
.product-price{font-size:1.18rem;margin-bottom:8px}
.size-field{margin:4px 0 13px}
.size-field select{min-height:46px}
.product-placeholder-white{background:radial-gradient(circle at 50% 110%,rgba(20,124,255,.09),transparent 48%),linear-gradient(145deg,#252525,#0a0a0a)}
.compact-contact .contact-grid{gap:clamp(35px,6vw,80px)}
.compact-contact .lead{font-size:clamp(1.25rem,2vw,1.65rem);margin-bottom:12px}
.compact-contact .contact-card{padding:clamp(25px,3.5vw,38px)}
.compact-rider-button{margin-top:20px}
.site-footer{padding:35px 0}
@media(max-width:980px){.orchestra-layout{grid-template-columns:1fr 1fr}.orchestra-copy{grid-column:1/-1;padding-right:0}.official-photo-placeholder,.featured-video-placeholder{min-height:230px}}
@media(max-width:720px){.section{padding:54px 0}.compact-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-gallery>div{min-height:115px}.products-grid{grid-template-columns:1fr}.product-card:last-child{grid-column:auto}.product-card{display:grid;grid-template-columns:130px 1fr}.product-placeholder{min-height:100%}.product-content{min-width:0}.reserve-button{min-height:48px}.calendar-month+.calendar-month{margin-top:34px}}
@media(max-width:520px){.orchestra-layout{grid-template-columns:1fr}.orchestra-copy{grid-column:auto}.official-photo-placeholder,.featured-video-placeholder{min-height:190px}.product-card{display:flex}.product-placeholder{min-height:145px}.compact-gallery>div{min-height:100px}.section-heading{margin-bottom:22px}.compact-contact .contact-card{padding:24px 19px}}

/* Acabado visual: tipografía, portada y jerarquía */
body{font-family:var(--font-body);font-weight:400}
.nav-links a,.button,.eyebrow,.section-kicker,.product-type,.product-price,.size-field label,.size-field select,.performance-date span,.performance-meta,.performance-status,.contact-label,.pending-contact,.site-footer{font-family:var(--font-body)}
.section h2,.orchestra-copy h2,.product-content h3,.performance-details .performance-place,.featured-video-placeholder p,.contact-email{font-family:var(--font-display)}
.section h2{color:#f2e5b5;font-weight:600;letter-spacing:-.025em}
.hero{background:radial-gradient(ellipse at 50% 73%,rgba(143,104,28,.17) 0,transparent 36%),radial-gradient(ellipse at 18% 20%,rgba(20,124,255,.075),transparent 34%),radial-gradient(ellipse at 83% 24%,rgba(20,124,255,.055),transparent 31%),#010102}
.hero:after{background:linear-gradient(to top,#050505 0,transparent 24%),radial-gradient(ellipse at 50% 100%,rgba(212,175,55,.065),transparent 50%),repeating-linear-gradient(90deg,transparent 0,transparent 119px,rgba(255,255,255,.01) 120px)}
.stage-lights span{opacity:.1;filter:blur(22px)}
.stage-lights span:nth-child(2){opacity:.11}
.hero-glow{background:rgba(43,112,255,.075);filter:blur(100px)}
.hero-content{display:flex;align-items:center;flex-direction:column;padding-top:calc(var(--header) + 24px)}
.hero .eyebrow{order:0;margin:0 0 8px;color:#d7d3c9;font-size:.64rem;letter-spacing:.34em}
.hero-logo{order:1;width:clamp(170px,22vw,270px);margin:0 auto -9px;filter:drop-shadow(0 0 16px rgba(212,175,55,.18))}
.hero h1{order:2;max-width:100%;margin:0;padding:0 .12em;font-family:var(--font-script);font-size:clamp(3.25rem,7.2vw,7rem);font-weight:400;line-height:1.05;letter-spacing:0;background:linear-gradient(105deg,#b88925 4%,#f3dfa0 43%,#d2a43d 70%,#f0d88d);background-clip:text;-webkit-background-clip:text;text-shadow:0 5px 20px rgba(212,175,55,.09);white-space:nowrap}
.hero-subtitle{order:3;margin:16px 0 25px;font-family:var(--font-body);font-size:clamp(.72rem,1.35vw,.9rem);font-weight:500;letter-spacing:.13em}
.hero-actions{order:4}
.button{min-height:48px;border-radius:0;font-weight:700;letter-spacing:.115em;box-shadow:none}
.button:focus-visible,.nav-links a:focus-visible,.brand:focus-visible,.scroll-cue:focus-visible,.size-field select:focus-visible,.contact-email:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
.button-primary{background:linear-gradient(105deg,#b68625,#d6b34b 52%,#bc8f2d);color:#080705;box-shadow:0 7px 18px rgba(0,0,0,.2)}
.button-primary:hover{background:linear-gradient(105deg,#c39430,#e0c05b 52%,#c79b38);box-shadow:0 8px 20px rgba(0,0,0,.24)}
.button-secondary{border-color:rgba(212,175,55,.58);background:rgba(0,0,0,.12);color:#eee8da}
.button-secondary:hover{border-color:var(--gold-light);background:rgba(212,175,55,.065);color:var(--gold-light)}
.section-kicker{font-size:.64rem;font-weight:600;letter-spacing:.27em}
.lead{font-family:var(--font-body);font-weight:400}
.product-card{border-color:rgba(212,175,55,.25);border-top:2px solid rgba(212,175,55,.62);background:#070707;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.product-card:hover{border-color:rgba(212,175,55,.55);border-top-color:var(--gold-light);box-shadow:0 15px 34px rgba(0,0,0,.3)}
.product-card>img,.product-placeholder{width:100%;aspect-ratio:16/8;min-height:0;object-fit:cover}
.product-content h3{color:#eee7d3;font-weight:600;letter-spacing:-.01em}
.product-price{color:#e5c563;font-weight:700}
.reserve-button{border-color:rgba(64,151,90,.7);background:rgba(37,211,102,.065);color:#d8eee0}
.reserve-button:hover{border-color:#5aae74;background:rgba(37,211,102,.11)}
.calendar-month{padding:0 0 4px}
.calendar-month+.calendar-month{margin-top:34px}
.calendar-month-title{gap:16px;margin-bottom:15px;color:#e4c968;font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.2em}
.calendar-month-title:before{content:"";width:26px;height:2px;background:var(--gold)}
.calendar-month-title:after{background:linear-gradient(90deg,rgba(212,175,55,.38),transparent)}
.performance-card{min-height:185px;border:1px solid rgba(184,187,194,.15);border-left:2px solid rgba(212,175,55,.5);background:linear-gradient(115deg,rgba(255,255,255,.018),rgba(212,175,55,.025));box-shadow:none}
.performance-card:hover{border-left-color:var(--gold-light);background:linear-gradient(115deg,rgba(255,255,255,.03),rgba(212,175,55,.045));box-shadow:none}
.performance-date{padding:13px 17px 11px;border-bottom-color:rgba(255,255,255,.07)}
.performance-date strong{font-family:var(--font-display);font-size:1.65rem;font-weight:600}
.performance-details{padding:14px 17px}
.performance-details .performance-place{font-size:1.18rem;font-weight:600}
.performance-details h4{font-family:var(--font-body);font-size:.77rem}
.performance-meta{padding:11px 17px;background:rgba(0,0,0,.2)}
.performance-meta time{font-family:var(--font-body);font-size:.95rem}
.performance-status{font-size:.55rem}
.contact-card{box-shadow:0 22px 60px rgba(0,0,0,.48)}
@media(max-width:650px){.hero h1{font-size:clamp(3rem,14.5vw,4.6rem);white-space:normal}.hero .eyebrow{font-size:.58rem;letter-spacing:.27em}.hero-logo{width:clamp(170px,49vw,220px);margin-bottom:-4px}.hero-subtitle{max-width:310px;margin-top:12px;line-height:1.9}.hero-actions{width:min(100%,340px)}.performance-card{min-height:0}.product-card>img,.product-placeholder{aspect-ratio:16/7}.section h2{font-size:clamp(2.6rem,13vw,4rem)}}

/* Catálogo promocional y colección ampliada */
.merch-showcase{width:min(100%,980px);margin:0 auto 26px}
.merch-showcase img{display:block;width:100%;height:auto;aspect-ratio:1402/1122;border:1px solid rgba(212,175,55,.24);object-fit:contain}
.products-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.product-type-blue{color:#75bfff}
.product-placeholder-classic{background:radial-gradient(circle at 50% 110%,rgba(20,124,255,.18),transparent 52%),linear-gradient(145deg,#111,#050505)}
.product-placeholder-green{background:radial-gradient(circle at 50% 110%,rgba(19,93,62,.19),transparent 52%),linear-gradient(145deg,#101511,#050505)}
@media(max-width:850px){.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card:last-child{grid-column:auto}}
@media(max-width:720px){.merch-showcase{margin-bottom:20px}.products-grid{grid-template-columns:1fr}.product-card{display:flex}.product-placeholder{min-height:145px}.product-content{min-width:0}}

/* Fotografías reales */
.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.48) 50%,rgba(0,0,0,.76)),linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.72)),url('assets/images/fotos/hero-publico.jpg');background-position:center center;background-size:cover;background-repeat:no-repeat}
.hero:after{background:linear-gradient(to top,#050505 0,rgba(5,5,5,.18) 30%,transparent 58%),radial-gradient(ellipse at 50% 78%,rgba(212,175,55,.07),transparent 46%)}
.hero .stage-lights span{opacity:.045}
.hero .stage-lights span:nth-child(2){opacity:.055}
.hero-glow{opacity:.55}
.official-photo{display:block;width:100%;height:100%;min-height:280px;aspect-ratio:3/2;border:1px solid rgba(212,175,55,.34);object-fit:cover;object-position:center top}
.compact-gallery{grid-auto-flow:dense}
.gallery-photo{display:block;width:100%;height:100%;min-height:185px;aspect-ratio:4/3;border:1px solid rgba(212,175,55,.18);object-fit:cover;transition:border-color .25s,opacity .25s}
.gallery-photo-wide{grid-column:span 2;aspect-ratio:2/1}
.gallery-photo-group{object-position:center 42%}
.gallery-photo-performance{object-position:center 58%}
.gallery-photo-public{object-position:center 52%}
.gallery-photo-sound{object-position:center center}
.gallery-photo-bass{object-position:center 48%}
.compact-contact:before{content:"";position:absolute;z-index:0;inset:0 48% 0 0;background:linear-gradient(90deg,rgba(8,7,5,.84),rgba(8,7,5,.96)),url('assets/images/fotos/mesa-sonido.jpg') center/cover no-repeat;opacity:.3;pointer-events:none}
.compact-contact .contact-grid{z-index:1}
@media(max-width:980px){.official-photo{min-height:230px}.compact-contact:before{inset:0;background:linear-gradient(rgba(8,7,5,.92),rgba(8,7,5,.97)),url('assets/images/fotos/mesa-sonido.jpg') center/cover no-repeat;opacity:.22}}
@media(max-width:900px){.compact-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-photo{min-height:160px}.gallery-photo-wide{grid-column:span 2}}
@media(max-width:520px){.hero{background-position:48% center}.official-photo{height:auto;min-height:0;aspect-ratio:3/2}.compact-gallery{grid-template-columns:1fr}.gallery-photo,.gallery-photo-wide{grid-column:auto;min-height:0;aspect-ratio:4/3}.gallery-photo-group,.gallery-photo-public,.gallery-photo-sound{aspect-ratio:16/10}.gallery-photo-bass{aspect-ratio:4/5;object-position:center 45%}}

/* Vídeo de fondo de la portada */
.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.46) 50%,rgba(0,0,0,.78)),linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.76)),url('assets/video/hero-banda-loca-poster.jpg');background-position:center center;background-size:cover;background-repeat:no-repeat}
.hero>.hero-video{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;pointer-events:none}
.orchestra-layout>.hero-video{display:block;position:relative;z-index:auto;inset:auto;width:100%;height:100%;min-height:280px;aspect-ratio:3/2;border:1px solid var(--line);background:#000;object-fit:cover;object-position:center;pointer-events:auto}
.hero:after{z-index:-1;background:linear-gradient(to top,#050505 0,rgba(0,0,0,.62) 22%,rgba(0,0,0,.08) 58%),linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.1) 50%,rgba(0,0,0,.58))}
.hero .stage-lights span{opacity:.028}
.hero .stage-lights span:nth-child(2){opacity:.038}
.hero .stage-lights span:nth-child(3){display:none}
.hero-glow{opacity:.3}
@media(max-width:980px){.orchestra-layout>.hero-video{min-height:230px}}
@media(max-width:650px){.hero>.hero-video{object-position:50% center}.hero{background-position:50% center}}
@media(max-width:520px){.orchestra-layout>.hero-video{height:auto;min-height:190px}}
@media(prefers-reduced-motion:reduce){.hero>.hero-video{display:none}}

/* Datos de contacto y redes oficiales */
.contact-details{display:grid;gap:0;margin-bottom:22px}
.contact-details p{display:grid;grid-template-columns:26px 1fr;column-gap:10px;margin:0;padding:14px 0;border-bottom:1px solid #202020}
.contact-details p>span{grid-row:1/3;color:var(--gold-light)}
.contact-details strong{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--silver)}
.contact-details a{width:max-content;max-width:100%;color:var(--gold-light);font-family:var(--font-display);font-size:1.25rem;text-decoration:none;overflow-wrap:anywhere}
.contact-actions{display:grid;gap:10px}
.social-links{display:flex;justify-content:center;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid #282828}
.social-links a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(212,175,55,.4);border-radius:50%;color:var(--gold-light);font-weight:700;text-decoration:none;transition:border-color .2s,background .2s}
.social-links a:hover,.social-links a:focus-visible{border-color:var(--gold-light);background:rgba(212,175,55,.08)}
.construction-note{grid-column:1/-1!important;max-width:760px;margin-top:12px!important;text-align:left!important;font-size:.72rem;line-height:1.6;color:#6f6f6f}

/* Riders técnicos oficiales */
.rider-heading>p{max-width:570px}
.rider-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.rider-download-card{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:clamp(25px,4vw,40px);border:1px solid rgba(212,175,55,.25);border-top:2px solid rgba(212,175,55,.62);background:linear-gradient(135deg,rgba(212,175,55,.055),rgba(255,255,255,.012));box-shadow:0 16px 38px rgba(0,0,0,.25)}
.rider-icon{font-size:1.7rem;line-height:1}
.rider-type{margin:16px 0 5px;color:var(--gold-light);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.rider-download-card h3{margin:0 0 10px;color:#eee7d3;font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2.1rem);font-weight:600}
.rider-download-card>p:not(.rider-type){margin:0 0 19px;color:#aaa}
.channel-badge{display:inline-flex;margin-bottom:24px;padding:5px 11px;border:1px solid rgba(184,187,194,.25);color:var(--silver);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.rider-download-card .button{margin-top:auto}
.rider-update-note{margin:22px 0 0;color:#818181;font-size:.78rem}
@media(max-width:650px){.rider-cards{grid-template-columns:1fr}.rider-download-card .button{width:100%}}

/* Redes sociales */
.social-section{background:#070708}
.social-heading>p{max-width:460px}
.social-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.social-button{display:flex;min-height:96px;align-items:center;justify-content:center;gap:14px;padding:20px;border:1px solid rgba(212,175,55,.28);border-top:2px solid rgba(212,175,55,.58);background:linear-gradient(135deg,rgba(212,175,55,.055),rgba(255,255,255,.012));color:#eee7d3;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:transform .2s,border-color .2s,background .2s}
.social-button img,.footer-social-links img{display:block;filter:invert(88%) sepia(38%) saturate(700%) hue-rotate(358deg) brightness(101%)}
.social-button:hover,.social-button:focus-visible{transform:translateY(-2px);border-color:var(--gold-light);background:rgba(212,175,55,.085)}
.footer-social-links{display:flex;gap:8px;margin-top:12px}
.footer-social-links a{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(212,175,55,.25);border-radius:50%;transition:border-color .2s,background .2s}
.footer-social-links a:hover,.footer-social-links a:focus-visible{border-color:var(--gold-light);background:rgba(212,175,55,.08)}
@media(max-width:850px){.social-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.social-buttons{grid-template-columns:1fr}.social-button{min-height:72px;justify-content:flex-start;padding-inline:24px}}

/* Pack promocional y taza oficial */
.pack-card{grid-column:span 2;border-color:rgba(212,175,55,.62);border-top-color:var(--gold-light);background:linear-gradient(135deg,rgba(212,175,55,.11),#070707 52%);box-shadow:0 18px 46px rgba(0,0,0,.32)}
.pack-placeholder{background:radial-gradient(circle at 50% 80%,rgba(212,175,55,.2),transparent 48%),linear-gradient(145deg,#171208,#050505)}
.pack-placeholder span{color:var(--gold-light)}
.pack-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.saving-badge{display:inline-flex;padding:5px 9px;border:1px solid var(--gold);background:rgba(212,175,55,.09);color:var(--gold-light);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.pack-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.pack-options .size-field{margin-bottom:10px}
.pack-reserve-button{border-color:var(--gold);background:rgba(212,175,55,.1);color:var(--gold-light)}
.pack-reserve-button:hover{background:rgba(212,175,55,.17)}
.mug-placeholder{background:radial-gradient(circle at 50% 90%,rgba(212,175,55,.14),transparent 50%),linear-gradient(145deg,#12100b,#050505)}
.product-image{display:block;width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;object-position:center}
.pack-product-image{aspect-ratio:16/8;object-position:center}
@media(max-width:850px){.pack-card{grid-column:span 2}.pack-options{grid-template-columns:1fr}}
@media(max-width:720px){.pack-card{grid-column:auto;flex-direction:column}.pack-card .product-image{min-height:145px}.pack-heading{align-items:flex-start;flex-direction:column}}

/* Galería interactiva y lightbox */
.gallery-item{display:block;min-width:0;padding:0;border:1px solid rgba(212,175,55,.18);background:#070707;overflow:hidden;cursor:pointer;appearance:none}
.gallery-item .gallery-photo{display:block;width:100%;height:100%;min-height:185px;aspect-ratio:auto;border:0;object-fit:cover;transition:transform .3s ease,filter .3s ease}
.gallery-item:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.gallery-item{cursor:zoom-in;transition:box-shadow .3s ease,border-color .3s ease}.gallery-item:hover{border-color:rgba(212,175,55,.4);box-shadow:0 8px 24px rgba(212,175,55,.1)}.gallery-item:hover .gallery-photo{transform:scale(1.05)}}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox{position:fixed;z-index:1000;inset:0;display:grid;grid-template-columns:minmax(56px,1fr) minmax(0,auto) minmax(56px,1fr);align-items:center;justify-items:center;padding:clamp(58px,7vw,84px) clamp(8px,3vw,38px) 28px;background:rgba(0,0,0,.68);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:lightboxFade .28s ease both}
.lightbox-image{grid-column:2;display:block;width:auto;height:auto;max-width:85vw;max-height:82vh;object-fit:contain;animation:lightboxImageIn .28s ease both}
.lightbox-close,.lightbox-nav{display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid rgba(212,175,55,.48);border-radius:50%;background:rgba(5,5,5,.78);color:var(--gold-light);font-family:Arial,sans-serif;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.lightbox-close:hover,.lightbox-nav:hover{border-color:var(--gold-light);background:rgba(212,175,55,.12)}
.lightbox-close:focus-visible,.lightbox-nav:focus-visible{outline:2px solid #fff;outline-offset:3px}
.lightbox-close{position:absolute;top:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px);font-size:2rem}
.lightbox-nav{font-size:2.5rem}
.lightbox-prev{grid-column:1;grid-row:1}
.lightbox-next{grid-column:3;grid-row:1}
body.lightbox-open{overflow:hidden}
@keyframes lightboxFade{from{opacity:0}to{opacity:1}}
@keyframes lightboxImageIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@media(max-width:600px){.gallery-lightbox{grid-template-columns:58px minmax(0,1fr) 58px;padding-inline:4px}.lightbox-image{max-width:calc(100vw - 16px);max-height:78vh}.lightbox-close,.lightbox-nav{width:48px;height:48px}.lightbox-prev,.lightbox-next{z-index:1;background:rgba(5,5,5,.88)}}
@media(prefers-reduced-motion:reduce){.gallery-item,.gallery-photo,.gallery-lightbox,.lightbox-image{animation:none!important;transition:none!important}.gallery-item:hover .gallery-photo{transform:none}}

/* Titular principal de portada */
.hero h1.hero-sequence{display:flex;width:100%;max-width:min(100%,1160px);flex-direction:column;align-items:center;gap:clamp(2px,.45vw,7px);margin:0 auto;padding:0 .08em .1em;background:none;color:inherit;white-space:normal;overflow:visible;overflow-wrap:normal}
.hero-title-primary,.hero-title-main{display:block;max-width:100%;padding-bottom:.08em;overflow:visible;font-family:inherit;font-weight:400;line-height:1.08;text-align:center;background:linear-gradient(105deg,#b88925 4%,#f5df99 43%,#d2a43d 72%,#efd486);color:transparent;background-clip:text;-webkit-background-clip:text;text-shadow:0 5px 20px rgba(212,175,55,.1)}
.hero-title-primary{font-size:clamp(2rem,4vw,4.3rem)}
.hero-title-main{font-size:clamp(3.5rem,7.3vw,7.2rem);line-height:1.04}
@media(max-width:650px){.hero h1.hero-sequence{max-width:100%;padding-inline:0}.hero-title-primary{font-size:clamp(1.2rem,5.2vw,1.8rem)}.hero-title-main{font-size:clamp(2.05rem,9vw,3.2rem);line-height:1.06}}
