/* ESTILO «ORIGINAL» — réplica del diseño de la web de siempre (negro + oro, Playfair/Montserrat) */
:root{
  --bg:#0a0a0a;--bg-alt:rgba(18,18,18,.5);--surface:rgba(18,18,18,.6);--text:#f0f0f0;--muted:#888;
  --accent:#b9a06c;--accent-2:#8a7a56;--on-accent:#0a0a0a;--line:rgba(185,160,108,.2);
  --radius:16px;--btn-radius:30px;--shadow:0 16px 32px rgba(0,0,0,.3);
  --font-head:'Playfair Display',Georgia,serif;--font-body:'Montserrat',system-ui,sans-serif;
  --nav-bg:rgba(10,10,10,.95);--footer-bg:rgba(10,10,10,.9);--field-bg:rgba(255,255,255,.05);
  --hero-shade:transparent;--hero-text:rgba(255,255,255,.9);
  --head-transform:uppercase;--head-spacing:3px;--head-color:#b9a06c;
}
body{background:#0a0a0a;font-weight:400}
p{font-weight:300}
.section{padding:64px 0}
.section.alt,.section:nth-of-type(even){background:rgba(18,18,18,.5)}
.wrap{width:min(1140px,100% - 30px)}

/* títulos de sección */
.sec-head{margin-bottom:48px;position:relative;max-width:none}
.sec-head .kicker,.sec-head .orn{display:none}
.sec-head h2{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--accent);letter-spacing:3px;text-transform:uppercase;margin-bottom:16px}
.sec-head p{color:var(--text);font-size:1.1rem;max-width:600px;margin:0 auto}
.sec-head::after{content:'';position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);width:80px;height:3px;background:var(--accent)}
.sec-head{margin-bottom:56px}

/* botones */
.btn{padding:12px 30px;font-weight:600;font-size:.9rem;letter-spacing:1px;background:linear-gradient(135deg,#b9a06c,#8a7a56);box-shadow:0 5px 15px rgba(185,160,108,.3);border:0}
.btn::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:none;left:-100%;width:100%;transition:.5s}
.btn:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(185,160,108,.5)}
.btn:hover::before{left:100%;transform:none}
.btn-ghost{background:transparent;color:#f0f0f0!important;border:2px solid #f0f0f0;box-shadow:none}
.btn-ghost:hover{background:rgba(255,255,255,.1);color:var(--accent)!important;border-color:var(--accent);box-shadow:none}

/* navegación */
.nav{background:transparent;padding:0 2rem;box-shadow:none}
.nav-in{width:100%;height:84px}
.nav.scrolled{background:rgba(10,10,10,.95);box-shadow:0 5px 20px rgba(0,0,0,.3)}
.nav.scrolled .nav-in{height:66px}
.nav.hide{transform:none}
body.is-inner .nav{background:rgba(10,10,10,.95)}
.brand img{height:62px;width:auto}.nav.scrolled .brand img{height:48px}
.menu a:not(.btn){font-size:.95rem;font-weight:500;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.85);margin:0;padding:.5rem .7rem}
.menu a:not(.btn)::after{left:.7rem;right:.7rem;bottom:0;height:2px;transform-origin:left}
.menu a:not(.btn):hover,.menu a.active{color:var(--accent)}
.burger{color:var(--accent)}

/* hero */
.hero{background:#0a0a0a}
.hero-slide{transform:scale(1.05)}
.hero-slide.active{opacity:.4;animation:subtle-zoom 10s ease-in-out forwards}
@keyframes subtle-zoom{from{transform:scale(1.05)}to{transform:scale(1)}}
.hero-kicker,.hero-dots{display:none}
.hero-content{padding-top:0;padding-bottom:0;max-width:800px}
.hero-logo img{width:min(400px,72vw);animation:glow 3s ease-in-out infinite alternate}
.hero-tag{font-family:var(--font-body);font-style:normal;font-weight:300;font-size:clamp(1.2rem,3vw,1.5rem);color:rgba(255,255,255,.9);max-width:700px;margin:0 auto 2rem}
.hero-cta{gap:0}.hero-cta .btn{margin:0 .5rem}
.hero-cta .btn:nth-child(2){background:transparent;color:#f0f0f0!important;border:2px solid #f0f0f0;box-shadow:none}
.hero-cta .btn:nth-child(2):hover{background:rgba(255,255,255,.1);color:var(--accent)!important;border-color:var(--accent)}
.scroll-hint{width:40px;height:40px;border:0;border-radius:50%;background:rgba(185,160,108,.2);margin-left:-20px;bottom:2rem;animation:bounce 2s infinite;opacity:1;display:grid;place-items:center;transition:background .4s}
.scroll-hint:hover{background:var(--accent)}
.scroll-hint span{position:static;width:10px;height:10px;margin:-4px 0 0;border:0;border-right:2px solid #f0f0f0;border-bottom:2px solid #f0f0f0;border-radius:0;background:none;transform:rotate(45deg);animation:none}
@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}

/* vídeos */
.video-card{text-align:center}
.video-wrapper{position:relative;height:0;overflow:hidden;border-radius:12px}
.video-wrapper.vert{padding-bottom:177.77%}.video-wrapper.wide{padding-bottom:56.25%}
.video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-content{margin-top:15px}
.video-content h3{margin-top:0;font-size:1.3rem;font-weight:600}

/* conciertos: línea de tiempo */
.event-timeline{position:relative;max-width:900px;margin:0 auto;padding:24px 0}
.event-timeline::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:4px;height:100%;background:linear-gradient(to bottom,var(--accent),transparent)}
.event-item{background:rgba(18,18,18,.6);border:1px solid rgba(185,160,108,.2);border-radius:16px;padding:32px;margin-bottom:48px;position:relative;width:calc(50% - 40px);transition:all .4s cubic-bezier(.165,.84,.44,1);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.event-item:hover{transform:scale(1.02);box-shadow:var(--shadow);border-color:rgba(185,160,108,.4)}
.event-item::after{content:'';position:absolute;top:30px;width:20px;height:20px;background:var(--accent);border-radius:50%}
.event-item:nth-child(odd){margin-right:auto}.event-item:nth-child(odd)::after{right:-50px}
.event-item:nth-child(even){margin-left:auto}.event-item:nth-child(even)::after{left:-50px}
.event-date{position:absolute;top:-20px;background:var(--accent);color:#0a0a0a;padding:5px 15px;border-radius:20px;font-weight:600;font-size:.9rem;max-width:calc(100% + 30px)}
.event-item:nth-child(odd) .event-date{right:-30px}.event-item:nth-child(even) .event-date{left:-30px}
.ev-img{width:100%;height:auto;border-radius:8px;margin:12px 0 16px}
.event-item h3{color:#f0f0f0;margin-bottom:.5rem}
.event-location{color:var(--accent);font-weight:500;margin-bottom:1rem;font-size:.95rem}
.event-item p{color:rgba(255,255,255,.8);margin-bottom:1.5rem;font-size:.95rem}
.event-item.is-hidden{display:none}
@media(max-width:992px){
  .event-timeline::before{left:30px}
  .event-item{width:calc(100% - 80px);margin-left:80px!important}
  .event-item::after{left:-40px!important;right:auto!important}
  .event-item:nth-child(odd) .event-date,.event-item:nth-child(even) .event-date{left:-80px;right:auto}
}

/* galería */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:3rem}
.gallery-item{position:relative;height:300px;overflow:hidden;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.gallery-item a{display:block;width:100%;height:100%}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.gallery-overlay{position:absolute;left:0;bottom:0;width:100%;padding:24px;background:linear-gradient(to top,rgba(10,10,10,.9),transparent);opacity:0;transition:opacity .5s ease}
.gallery-overlay h3{color:#f0f0f0;font-size:1.2rem;margin:0}
.gallery-item:hover .gallery-overlay{opacity:1}.gallery-item:hover img{transform:scale(1.1)}

/* contacto */
.classic-contact{max-width:760px;margin:0 auto}
.classic-contact .card{background:rgba(18,18,18,.6);border:1px solid rgba(185,160,108,.1);padding:2rem;gap:1rem}
.form label span{font-size:1rem;letter-spacing:0;text-transform:none;color:#f0f0f0;font-weight:500}
.form input,.form textarea{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1rem}
.social-links{justify-content:center;gap:1.5rem;margin-top:48px}
.soc{width:60px;height:60px;background:rgba(185,160,108,.1);border:0;color:var(--accent)}
.soc:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(185,160,108,.3);background:rgba(185,160,108,.25);color:var(--accent);rotate:0deg}

/* pie */
.footer{padding:32px 0;text-align:center;border-top:1px solid rgba(185,160,108,.1);position:relative}
.footer-top{display:block}
.footer-links,.footer .socials,.footer-brand p{display:none}
.footer-brand img{height:auto;width:150px;margin:0 auto 24px}
.footer-bottom{display:block;margin:0;padding:0;border:0;color:#888;font-size:.9rem}
.to-top{position:absolute;right:24px;bottom:24px;width:40px;height:40px}

/* páginas interiores y varios */
.page-hero{background:rgba(18,18,18,.5);padding-top:calc(var(--nav-h) + 70px)}
.badge-float{display:none}
.card,.news-card{background:rgba(18,18,18,.6)}
.news-card:hover,.card:hover{transform:translateY(-10px)}

/* animaciones sobrias, como la web original (sin efectos nuevos) */
#preloader .pre-logo,#preloader .pre-line{display:none}
.spinner{display:block!important;width:60px;height:60px;border:4px solid rgba(185,160,108,.1);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.cursor-glow{display:none}
html.js[data-anim=on] .split .w>span{transform:none!important}
html.js[data-anim=on] [data-r=left],html.js[data-anim=on] [data-r=right]{transform:translateY(36px)}
html.js[data-anim=on] [data-r].in{transform:none}
@media(max-width:860px){
  .menu{background:rgba(10,10,10,.97)}
  .nav{padding:0 1rem}
  .hero-cta .btn{display:block;width:100%;margin:0 0 1rem}
}
@media(max-width:640px){.gallery-grid{grid-template-columns:1fr}.gallery-item{height:250px}}
