*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#1e1c1a;--bg2:#252320;--bg3:#2e2b28;--text:#ede9e3;--muted:#9c9890;--accent:#c9b99a;--border:rgba(255,255,255,0.07);--fd:'Cormorant Garamond',Georgia,serif;--fb:'Lato',sans-serif}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--fb);font-weight:300;overflow-x:hidden}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:20px 48px;background:linear-gradient(to bottom,rgba(30,28,26,0.9),transparent);transition:background .4s}
nav.scrolled{background:rgba(30,28,26,0.97);border-bottom:0.5px solid var(--border)}
.nav-name{font-family:var(--fd);font-size:18px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--text);text-decoration:none;white-space:nowrap}
.nav-right{display:flex;align-items:center;gap:32px}
.nav-links{display:flex;gap:32px;list-style:none}
.nav-links a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#b8b4ac;text-decoration:none;transition:color .3s}
.nav-links a:hover{color:var(--text)}
.lang-switch{display:flex;gap:2px;align-items:center}
.lang-btn{background:none;border:none;font-size:10px;letter-spacing:.12em;cursor:pointer;padding:3px 6px;color:#b8b4ac;font-family:var(--fb);transition:color .2s;border-bottom:.5px solid transparent}
.lang-btn.active{color:var(--accent);border-bottom-color:var(--accent)}
.lang-btn:hover{color:var(--text)}
.lang-sep{font-size:10px;color:var(--muted);user-select:none}

/* HERO */
#hero{position:relative;height:100vh;min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);transition:transform 8s ease-out;filter:brightness(.55) saturate(.9)}
.hero-bg.loaded{transform:scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(30,28,26,.15) 0%,rgba(30,28,26,.05) 40%,rgba(30,28,26,.6) 85%,rgba(30,28,26,1) 100%)}
.hero-content{position:relative;z-index:2;text-align:center;animation:fadeUp 1.4s ease both}
.hero-name{font-family:var(--fd);font-size:clamp(48px,8vw,90px);font-weight:300;letter-spacing:.22em;text-transform:uppercase;line-height:1;color:var(--text);margin-bottom:16px}
.hero-sub{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-weight:400}
.hero-scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeIn 2s 1.5s both}
.hero-scroll span{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.scroll-line{width:.5px;height:40px;background:var(--muted);animation:scrollPulse 2s ease-in-out infinite}

/* SECTIONS */
section{padding:100px 48px}
.section-label{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:48px;display:flex;align-items:center;gap:16px}
.section-label::after{content:'';flex:1;max-width:60px;height:.5px;background:var(--accent);opacity:.4}

/* MÚSICA / ÁLBUNS */
.albums-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:0 auto}
.album-card{display:block;text-decoration:none;color:inherit;transition:transform .4s ease,opacity .4s ease}
.album-link{display:block;text-decoration:none;color:inherit}
.album-card:hover{transform:translateY(-4px);opacity:.88}
.album-cover{width:100%;aspect-ratio:1;background:var(--bg3);overflow:hidden;margin-bottom:16px;position:relative}
.album-cover img{width:100%;height:100%;object-fit:cover;display:block}
.album-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(30,28,26,.5);opacity:0;transition:opacity .3s}
.album-card:hover .album-overlay{opacity:1}
.play-icon{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center}
.play-icon::after{content:'';border-style:solid;border-width:7px 0 7px 13px;border-color:transparent transparent transparent rgba(255,255,255,.85);margin-left:3px}
.album-title{font-family:var(--fd);font-size:18px;font-weight:300;letter-spacing:.04em;margin-bottom:6px}
.album-year{font-size:11px;color:var(--muted);letter-spacing:.08em;margin-bottom:8px}.album-platforms{font-size:10px;letter-spacing:.1em;color:var(--muted);display:flex;gap:10px}
.album-platforms a{color:var(--muted);text-decoration:none;transition:color .2s}
.album-platforms a:hover{color:var(--accent)}

/* FOTOGRAFIA */
#fotografia{background:var(--bg2)}
.gallery-tabs{display:flex;flex-wrap:wrap;border-bottom:.5px solid var(--border);margin-bottom:40px;max-width:960px;margin-left:auto;margin-right:auto}
.gtab{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 20px;cursor:pointer;border-bottom:1px solid transparent;margin-bottom:-.5px;transition:color .2s,border-color .2s;white-space:nowrap}
.gtab:hover{color:var(--text)}
.gtab.active{color:var(--accent);border-bottom-color:var(--accent)}
.gallery-panel{display:none;max-width:960px;margin:0 auto;grid-template-columns:repeat(3,1fr);gap:3px}
.gallery-panel.active{display:grid}
.photo-item{cursor:pointer;overflow:hidden;position:relative;background:var(--bg3)}
.photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,filter .4s ease;filter:brightness(.92) saturate(.88)}
.photo-item:hover img{transform:scale(1.05);filter:brightness(1) saturate(1)}
.photo-item:hover .dl-btn{opacity:1}
.dl-btn{position:absolute;bottom:8px;right:8px;background:rgba(30,28,26,.75);border:0.5px solid var(--border);color:var(--accent);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;cursor:pointer;opacity:0;transition:opacity .3s;font-family:var(--fb);text-decoration:none;display:block}
.dl-btn:hover{background:rgba(30,28,26,.95)}
.sq{aspect-ratio:1}.land{aspect-ratio:4/3}.port{aspect-ratio:3/4}.wide{grid-column:span 2;aspect-ratio:2/1}.tall{grid-row:span 2;aspect-ratio:1/2}

/* SOBRE */
#sobre-section{background:var(--bg)}
#sobre{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;align-items:center;max-width:1100px;margin:0 auto}.about-photos{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}
.about-img{width:100%;aspect-ratio:3/4;overflow:hidden}
.about-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.88) saturate(.85)}
.about-title{font-family:var(--fd);font-size:clamp(32px,4vw,52px);font-weight:300;font-style:italic;line-height:1.2;margin-bottom:28px;color:var(--text)}
.about-body{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:32px}
.about-links{display:flex;gap:16px;flex-wrap:wrap}
.about-link{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text);text-decoration:none;border-bottom:.5px solid var(--muted);padding-bottom:2px;transition:color .2s,border-color .2s}
.about-link:hover{color:var(--accent);border-color:var(--accent)}

/* CONCERTOS */
#concertos{background:var(--bg2)}
.concerts-inner{max-width:960px;margin:0 auto}
.concerts-empty{font-size:14px;color:var(--muted);line-height:1.9;font-style:italic}
.concert-row{display:grid;grid-template-columns:100px 1fr auto;gap:24px;align-items:center;padding:20px 0;border-bottom:.5px solid var(--border)}
.concert-date{font-family:var(--fd);font-size:28px;font-weight:300;color:var(--accent);line-height:1}
.concert-date span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:var(--fb);margin-top:2px}
.concert-info{}
.concert-name{font-size:14px;font-weight:400;margin-bottom:4px}
.concert-place{font-size:12px;color:var(--muted)}
.concert-link{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:.5px solid var(--accent);padding-bottom:1px;white-space:nowrap}

/* PETAL STONE / BREVEMENTE */
#brevemente{background:var(--bg);padding:100px 48px;border-top:.5px solid var(--border)}
.brev-inner{max-width:960px;margin:0 auto;display:block}
.brev-left{}
.brev-label{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.brev-title{font-family:var(--fd);font-size:clamp(32px,4vw,56px);font-weight:300;font-style:italic;color:var(--text);letter-spacing:.04em;margin-bottom:12px;line-height:1.1}
.brev-desc{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:32px}
.notify-form{display:flex;gap:0;max-width:360px}
.notify-input{flex:1;background:var(--bg3);border:.5px solid var(--border);border-right:none;color:var(--text);font-family:var(--fb);font-size:12px;padding:10px 14px;outline:none;transition:border-color .2s}
.notify-input::placeholder{color:var(--muted)}
.notify-input:focus{border-color:var(--accent)}
.notify-btn{background:var(--accent);border:none;color:var(--bg);font-family:var(--fb);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:10px 18px;cursor:pointer;transition:opacity .2s;white-space:nowrap}
.notify-btn:hover{opacity:.85}
.notify-msg{font-size:11px;color:var(--accent);margin-top:10px;display:none}
.brev-right{opacity:.6}
.brev-right img{width:100%;aspect-ratio:1;object-fit:cover;filter:saturate(.5)}
@media(max-width:768px){.brev-inner{grid-template-columns:1fr}#brevemente{padding:64px 24px}}

/* CONTACTO */
#contacto{background:var(--bg2);padding:100px 48px}
.contact-inner{max-width:960px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact-title{font-family:var(--fd);font-size:clamp(28px,3vw,44px);font-weight:300;font-style:italic;color:var(--text);margin-bottom:20px;line-height:1.2}
.contact-desc{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:28px}
.contact-email{font-family:var(--fd);font-size:20px;color:var(--accent);text-decoration:none;border-bottom:.5px solid var(--accent);padding-bottom:2px;transition:opacity .2s;display:inline-block}
.contact-email:hover{opacity:.75}
.contact-details{padding-top:8px}
.contact-detail-row{display:flex;gap:12px;align-items:baseline;margin-bottom:12px}
.contact-detail-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);min-width:80px}
.contact-detail-val{font-size:13px;color:var(--text)}
.contact-detail-val a{color:var(--accent);text-decoration:none}
@media(max-width:768px){.contact-inner{grid-template-columns:1fr;gap:40px}#contacto{padding:64px 24px}}

/* FOOTER */
footer{padding:32px 48px;border-top:.5px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.footer-name{font-family:var(--fd);font-size:14px;letter-spacing:.12em;color:var(--muted)}
.footer-copy{font-size:10px;color:var(--muted);letter-spacing:.06em}

/* LIGHTBOX */
#lightbox{position:fixed;inset:0;z-index:1000;background:rgba(30,28,26,.97);display:none;align-items:center;justify-content:center;flex-direction:column}
#lightbox.open{display:flex;animation:fadeIn .3s ease}
#lb-img{max-width:90vw;max-height:82vh;object-fit:contain;display:block}
#lb-close{position:absolute;top:24px;right:32px;font-size:24px;color:var(--muted);cursor:pointer;background:none;border:none;line-height:1;transition:color .2s}
#lb-close:hover{color:var(--text)}
#lb-nav{position:absolute;bottom:52px;display:flex;gap:24px}
.lb-btn{background:none;border:.5px solid var(--border);color:var(--muted);font-size:18px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s}
.lb-btn:hover{color:var(--text);border-color:var(--muted)}
#lb-download{position:absolute;bottom:20px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:.5px solid var(--muted);padding-bottom:1px;transition:color .2s,border-color .2s}
#lb-download:hover{color:var(--accent);border-color:var(--accent)}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scrollPulse{0%,100%{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.1)}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:768px){
  nav{padding:16px 24px}.nav-links{display:none}
  section{padding:64px 24px}
  .albums-grid{grid-template-columns:1fr;gap:32px;max-width:360px;margin:0 auto}
  #sobre{grid-template-columns:1fr;gap:40px}.about-photos{grid-template-columns:1fr 1fr}
  footer{padding:24px;flex-direction:column;gap:8px;text-align:center}
  .gtab{padding:8px 12px;font-size:9px}
  .notify-form{flex-direction:column}.notify-input{border-right:.5px solid var(--border);border-bottom:none}
  #concertos{padding:64px 24px}
  .concert-row{grid-template-columns:80px 1fr;gap:12px}
}


/* Contrast improvements */
body {
    color: #f5f5f5 !important;
    background-color: #000 !important;
}

p, h1, h2, h3, h4, h5, h6, a, span {
    color: #f5f5f5 !important;
}

.overlay, .content, .text {
    background: rgba(0,0,0,0.4);
    padding: 10px;
    border-radius: 6px;
}

@media(min-width:769px) and (max-width:1100px){nav{padding:20px 28px}.nav-name{font-size:15px;letter-spacing:.12em}.nav-links{gap:16px}.nav-links a{letter-spacing:.08em}.nav-right{gap:16px}}
