*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Manrope",Arial,sans-serif;
  color:#111;
  background:#f1f1f1;
}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
figure{margin:0}

.hero{
  position:relative;
  min-height:100svh;
  overflow:hidden;
  background:#111;
}
.hero__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.27) 43%,rgba(0,0,0,.05) 75%),
    linear-gradient(0deg,rgba(0,0,0,.2),transparent 45%);
  z-index:1;
  pointer-events:none;
}
.hero__copy{
  position:absolute;
  z-index:2;
  left:clamp(24px,5vw,72px);
  top:50%;
  transform:translateY(-50%);
  width:52%;
  max-width:720px;
  color:#fff;
  text-shadow:0 2px 24px rgba(0,0,0,.35);
}
.eyebrow,.kicker{
  margin:0 0 14px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
}
.hero h1,
.section h2,
.booking h2{
  margin:0;
  line-height:.88;
  letter-spacing:-.055em;
  font-weight:800;
}
.hero h1{font-size:clamp(58px,6.5vw,100px)}
.meta{
  margin:10px 0 0;
  font-size:clamp(12px,1.4vw,17px);
  font-weight:700;
  letter-spacing:.08em;
}
.scroll-cue{
  position:absolute;
  z-index:2;
  right:32px;
  bottom:24px;
  color:#fff;
  font-size:28px;
}

.section{padding:clamp(68px,8.5vw,120px) 0}
.section__inner{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}
.section--dark{background:#0c0c0c;color:#f6f6f6}
.impact-title{
  font-size:clamp(38px,5.8vw,78px);
  line-height:.95!important;
  white-space:nowrap;
}

/* LIVE */
.live-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,260px));
  justify-content:center;
  gap:22px;
  margin-top:38px;
}
.live-card{
  position:relative;
  padding:0;
  border:0;
  background:#111;
  overflow:hidden;
  aspect-ratio:9/16;
  cursor:pointer;
}
.live-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease,filter .35s ease;
}
.live-card:hover img{transform:scale(1.025);filter:brightness(.84)}
.play,.set-preview__play{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:rgba(0,0,0,.62);
  color:#fff;
  font-size:17px;
  box-shadow:0 8px 30px rgba(0,0,0,.22);
}
.set-preview{
  margin-top:64px;
  border-top:1px solid #343434;
  padding-top:28px;
}
.set-preview__visual{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:16/9;
  background:#171717;
}
.set-preview__visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease,filter .35s ease;
}
.set-preview__visual:hover img{transform:scale(1.015);filter:brightness(.82)}
.set-preview__play{width:72px;height:72px;font-size:22px}
.set-preview__copy{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  padding-top:22px;
}
.set-preview h3{
  margin:0;
  font-size:clamp(30px,4.4vw,58px);
  letter-spacing:-.04em;
}
.set-length{
  margin:8px 0 0;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
}
.button{
  display:inline-block;
  border:1px solid currentColor;
  padding:16px 20px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.button--light:hover{background:#fff;color:#111}

/* MUSIC */
.music{background:#f3f0ea}
.music__grid{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) 1.1fr;
  gap:clamp(36px,8vw,110px);
  align-items:center;
}
.music__cover{width:100%;box-shadow:0 24px 60px rgba(0,0,0,.14)}
.music__copy h2{font-size:clamp(50px,7vw,96px)}
.sub{
  font-size:12px;
  font-weight:700;
  letter-spacing:.11em;
  margin:22px 0 36px;
}
.tracklist{list-style:none;padding:0;margin:0;border-top:1px solid #bbb}
.tracklist li{border-bottom:1px solid #bbb}
.tracklist a{
  display:flex;
  align-items:center;
  padding:15px 0;
  font-size:clamp(16px,2vw,22px);
}
.tracklist span{
  width:44px;
  flex:0 0 44px;
  font-size:11px;
  font-weight:700;
}
.tracklist b{font-weight:500}
.tracklist em{
  margin-left:auto;
  font-style:normal;
  font-size:18px;
  transition:transform .2s ease;
}
.tracklist a:hover em{transform:translate(3px,-3px)}
.listen-label{
  margin:28px 0 12px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
}
.platforms{display:flex;flex-wrap:wrap;gap:18px}
.platforms a,.socials a{
  font-size:11px;
  font-weight:800;
  letter-spacing:.09em;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
}

/* ABOUT */
.about{background:#dedede}
.about .kicker{margin-bottom:26px}
.about__grid{
  display:grid;
  grid-template-columns:minmax(300px,.9fr) 1.1fr;
  gap:clamp(36px,7vw,90px);
  align-items:center;
}
.about__photo{
  overflow:hidden;
  aspect-ratio:3/4;
  background:#111;
}
.about__photo img{width:100%;height:100%;object-fit:cover}
.about__text{
  font-size:clamp(16px,1.7vw,20px);
  line-height:1.62;
}
.about__text p:first-child{font-weight:700;margin-top:0}

/* EVENTS */
.events{background:#f4f4f4;overflow:hidden}
.events h2{font-size:clamp(48px,6.5vw,88px);margin-bottom:38px}
.events-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:12px;
  scrollbar-width:none;
}
.events-track::-webkit-scrollbar{display:none}
.event-card{
  flex:0 0 calc((100% - 36px)/3);
  scroll-snap-align:start;
  background:#111;
  overflow:hidden;
  aspect-ratio:4/5;
}
.event-card img{width:100%;height:100%;object-fit:cover}
.scroll-hint{
  margin-top:12px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  opacity:.45;
}

/* GALLERY */
.gallery{background:#111;color:#fff}
.gallery__heading{margin-bottom:42px}
.gallery h2,.testimonials h2{font-size:clamp(48px,7vw,94px)}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:92px;
  gap:14px;
}
.gallery-item{overflow:hidden;background:#181818}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-item:hover img{transform:scale(1.025)}
.gallery-item--crowd{grid-column:1/6;grid-row:1/6}
.gallery-item--bw{grid-column:6/10;grid-row:1/6}
.gallery-item--wide{grid-column:10/13;grid-row:1/6}
.gallery-item--red{grid-column:1/7;grid-row:6/10}
.gallery-item--raw{grid-column:7/13;grid-row:6/10}

/* TESTIMONIALS */
.testimonials{background:#e9e9e9;overflow:hidden}
.testimonials__intro{margin:18px 0 36px;font-size:clamp(16px,1.7vw,21px)}
.testimonials-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.testimonial-card{
  background:#050505;
  overflow:hidden;
  border-radius:14px;
  box-shadow:0 18px 44px rgba(0,0,0,.12);
}
.testimonial-card img{width:100%;height:auto}
.testimonial-dots{display:none}

/* CONTACT */
.booking{
  min-height:78svh;
  background:#101010;
  color:#fff;
  display:flex;
  align-items:center;
  padding:80px 0;
}
.booking__inner{width:min(1180px,calc(100% - 40px));margin:0 auto}
.booking h2{font-size:clamp(62px,9vw,126px)}
.booking__lead{
  margin:22px 0 38px;
  font-size:clamp(16px,2vw,22px);
  opacity:.75;
}
.booking__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.contact-primary,.contact-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 22px;
  border:1px solid #fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.contact-primary{background:#fff;color:#111}
.contact-primary:hover{background:transparent;color:#fff}
.contact-secondary:hover{background:#fff;color:#111}
.email-copy{
  margin:28px 0 0;
  font-size:clamp(14px,1.7vw,20px);
  opacity:.7;
  overflow-wrap:anywhere;
}
.socials{margin-top:40px;display:flex;flex-wrap:wrap;gap:22px}

/* VIDEO MODAL */
.video-modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:none;
  place-items:center;
  padding:18px;
}
.video-modal.open{display:grid}
.video-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88)}
.video-modal__frame{position:relative;z-index:2;width:min(92vw,1000px);max-height:88vh;display:grid;place-items:center}
.video-modal video{display:block;max-width:100%;max-height:88vh;background:#000;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.video-modal__close{
  position:fixed;
  z-index:3;
  top:16px;
  right:20px;
  width:48px;
  height:48px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:40px;
  line-height:1;
  cursor:pointer;
}

@media(max-width:760px){
  .hero::after{
    background:linear-gradient(180deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.14) 47%,rgba(0,0,0,.22) 100%);
  }
  .hero__copy{
    left:18px;
    right:18px;
    top:22px;
    transform:none;
    width:auto;
  }
  .hero h1{font-size:clamp(42px,13.5vw,66px)}
  .hero__image{object-position:center center}

  .section{padding:68px 0}
  .section__inner,.booking__inner{width:min(100% - 28px,1180px)}
  .impact-title{
    white-space:normal;
    font-size:clamp(34px,10vw,48px);
    line-height:1!important;
  }

  .live-grid{
    display:flex;
    justify-content:flex-start;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    margin-left:-14px;
    margin-right:-14px;
    padding:0 14px 12px;
    scrollbar-width:none;
  }
  .live-grid::-webkit-scrollbar{display:none}
  .live-card{
    flex:0 0 72%;
    max-width:310px;
    scroll-snap-align:start;
  }

  .set-preview{margin-top:48px}
  .set-preview__copy{align-items:flex-start;flex-direction:column}

  .music__grid{grid-template-columns:1fr}
  .music__cover-wrap{
    width:min(82vw,420px);
    margin:0 auto 8px;
  }
  .music__copy{text-align:left}
  .music__copy .kicker,.music__copy h2,.music__copy .sub{text-align:center}
  .music__copy h2{font-size:clamp(46px,14vw,68px)}
  .platforms{justify-content:center}

  .about__grid{grid-template-columns:1fr}
  .about__photo{width:min(84vw,460px);margin:0 auto}
  .about__text{margin-top:10px}

  .event-card{flex:0 0 78%}
  .events h2{font-size:clamp(44px,12vw,64px)}

  .gallery-grid{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:180px;
    gap:8px;
  }
  .gallery-item--crowd{grid-column:1/2;grid-row:1/3}
  .gallery-item--bw{grid-column:2/3;grid-row:1/3}
  .gallery-item--wide{grid-column:1/3;grid-row:3/5}
  .gallery-item--red{grid-column:1/3;grid-row:5/7}
  .gallery-item--raw{grid-column:1/3;grid-row:7/10}

  .testimonials-strip{
    display:flex;
    overflow-x:auto;
    gap:12px;
    scroll-snap-type:x mandatory;
    margin-right:-14px;
    padding-right:14px;
    padding-bottom:12px;
    scrollbar-width:none;
  }
  .testimonials-strip::-webkit-scrollbar{display:none}
  .testimonial-card{
    flex:0 0 82%;
    scroll-snap-align:start;
  }
  .testimonial-dots{
    display:flex;
    gap:7px;
    justify-content:center;
    margin-top:12px;
  }
  .dot{
    width:6px;height:6px;border-radius:50%;
    background:#aaa;
    transition:.2s ease;
  }
  .dot.active{background:#111;transform:scale(1.35)}

  .booking{min-height:70svh}
  .booking h2{font-size:clamp(58px,16vw,84px)}
  .booking__actions{flex-direction:column;align-items:stretch}
  .contact-primary,.contact-secondary{width:100%}
}

.carousel-dots{display:none;gap:7px;justify-content:center;margin-top:12px}
.carousel-dots .dot{width:6px;height:6px;border-radius:50%;background:#777;transition:.2s ease}
.carousel-dots .dot.active{background:currentColor;transform:scale(1.35)}
.about__title{font-size:clamp(46px,6vw,82px);margin:0 0 36px}
.about__photo{aspect-ratio:4/3}
.about__photo img{object-position:center 32%}
@media(max-width:760px){
  .carousel-dots{display:flex}
  .music__copy .kicker,.music__copy h2,.music__copy .sub{text-align:left}
  .music__copy h2{font-size:clamp(40px,11.5vw,56px)}
  .platforms{justify-content:flex-start}
  .about__title{font-size:clamp(42px,12vw,60px);margin-bottom:26px}
  .about__photo{width:100%;aspect-ratio:16/10;margin:0}
  .about__photo img{object-position:center 28%}
  .booking h2{font-size:clamp(46px,12.5vw,68px);line-height:.92}
}


/* V6 — Sobre Matías */
.about{
  background:#0c0c0c;
  color:#f6f6f6;
}
.about__title{
  margin-bottom:58px;
}
.about__grid{
  align-items:start;
}
.about__photo{
  aspect-ratio:4/4.4;
}
.about__photo img{
  object-position:center 30%;
}
.about__text{
  align-self:start;
}
.about__text p:first-child{
  margin-top:0;
}

@media(max-width:760px){
  .about__title{
    margin-bottom:42px;
  }
  .about__photo{
    width:100%;
    aspect-ratio:4/3.4;
  }
  .about__photo img{
    object-position:center 30%;
  }
}

@media(min-width:761px){
 .about__grid{align-items:start!important}
 .about__photo,.about__text{align-self:start!important;margin-top:0!important}
 .about__text>p:first-child{margin-top:0!important;padding-top:0!important}
}


/* V7 — mobile polish */
.inline-video{
  position:relative;
}
.inline-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#111;
}
.inline-play{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:58px;
  height:58px;
  border-radius:50%;
  border:0;
  background:rgba(0,0,0,.62);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:17px;
  cursor:pointer;
  z-index:2;
}
.inline-video.is-playing .inline-play{
  opacity:0;
}
.inline-video.is-playing:hover .inline-play{
  opacity:1;
}

/* Event collage */
.events-collage{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:88px;
  gap:12px;
}
.events-collage .event-card{
  background:#111;
  overflow:hidden;
  aspect-ratio:auto;
}
.events-collage .event-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.event-card--1{grid-column:1/6;grid-row:1/7}
.event-card--2{grid-column:6/10;grid-row:1/5}
.event-card--3{grid-column:10/13;grid-row:1/5}
.event-card--4{grid-column:6/9;grid-row:5/9}
.event-card--5{grid-column:9/13;grid-row:5/9}
.event-card--6{grid-column:1/5;grid-row:7/11}
.event-card--7{grid-column:5/9;grid-row:9/13}
.event-card--8{grid-column:9/13;grid-row:9/13}

.about__title{
  margin-bottom:72px;
}

@media(max-width:760px){
  .hero{
    min-height:82svh;
  }
  .hero__image{
    object-position:center 36%;
  }
  .scroll-cue{
    bottom:14px;
  }

  .live-card{
    flex:0 0 84%;
    max-width:340px;
  }

  .about__title{
    margin-bottom:56px;
  }

  .events-collage{
    grid-template-columns:repeat(6,1fr);
    grid-auto-rows:72px;
    gap:8px;
  }
  .event-card--1{grid-column:1/4;grid-row:1/7}
  .event-card--2{grid-column:4/7;grid-row:1/4}
  .event-card--3{grid-column:4/7;grid-row:4/7}
  .event-card--4{grid-column:1/3;grid-row:7/11}
  .event-card--5{grid-column:3/5;grid-row:7/11}
  .event-card--6{grid-column:5/7;grid-row:7/11}
  .event-card--7{grid-column:1/4;grid-row:11/15}
  .event-card--8{grid-column:4/7;grid-row:11/15}
}


/* V8 refinements */

/* Mobile hero: explicitly shorter */
@media(max-width:760px){
  .hero{
    min-height:0 !important;
    height:74svh !important;
    max-height:700px;
  }
  .hero__image{
    object-position:center 28% !important;
  }
}

/* Cleaner inline play button */
.inline-play{
  width:46px !important;
  height:46px !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.78) !important;
  background:rgba(0,0,0,.16) !important;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  box-shadow:none !important;
  transition:opacity .18s ease, transform .12s ease, background .18s ease !important;
}
.inline-play:active{
  transform:translate(-50%,-50%) scale(.92) !important;
}
.inline-play:hover{
  background:rgba(0,0,0,.22) !important;
}
.play-triangle{
  display:block;
  font-size:13px;
  line-height:1;
  transform:translateX(1px);
}
.inline-video.is-playing .inline-play,
.inline-video.is-playing:hover .inline-play{
  opacity:0 !important;
  pointer-events:none !important;
}

/* Bio spacing: force visible space before photo/bio block */
.about__title{
  margin-bottom:84px !important;
}
@media(max-width:760px){
  .about__title{
    margin-bottom:62px !important;
  }
}

/* Events: ordered 2 x 4 grid on mobile, consistent cards */
.events-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.events-grid .event-card{
  aspect-ratio:4/5;
  overflow:hidden;
  background:#111;
}
.events-grid .event-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#111;
}
@media(max-width:760px){
  .events-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .events-grid .event-card{
    aspect-ratio:4/5;
  }
}

/* Remove legacy collage placement */
.events-collage,
.event-card--1,.event-card--2,.event-card--3,.event-card--4,
.event-card--5,.event-card--6,.event-card--7,.event-card--8{
  grid-column:auto !important;
  grid-row:auto !important;
}


/* V8.1 refinements */

/* Bio spacing: back closer to previous version */
.about__title{
  margin-bottom:58px !important;
}
@media(max-width:760px){
  .about__title{
    margin-bottom:34px !important;
  }
}

/* Mobile live carousel: center each card when swiping */
@media(max-width:760px){
  .live-grid{
    scroll-padding-left:8%;
    scroll-padding-right:8%;
  }
  .live-card{
    scroll-snap-align:center !important;
  }
  .live-grid::before,
  .live-grid::after{
    content:"";
    flex:0 0 4%;
  }
}

/* Mobile play button: force same minimal style as desktop */
@media(max-width:760px){
  .inline-play{
    width:46px !important;
    height:46px !important;
    border-radius:50% !important;
    border:1px solid rgba(255,255,255,.78) !important;
    background:rgba(0,0,0,.16) !important;
    box-shadow:none !important;
    color:#fff !important;
    font-size:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
  }
  .inline-play .play-triangle{
    font-size:13px !important;
    line-height:1 !important;
    color:#fff !important;
    transform:translateX(1px) !important;
  }
  .inline-video.is-playing .inline-play,
  .inline-video.is-playing:hover .inline-play{
    opacity:0 !important;
    pointer-events:none !important;
  }
}


/* V8.2 — Play icon rebuilt in pure CSS (no Unicode glyph) */
.inline-play,
@media(max-width:760px){
  .inline-play{
    width:44px !important;
    height:44px !important;
    border:1px solid rgba(255,255,255,.85) !important;
    border-radius:50% !important;
    background:rgba(0,0,0,.10) !important;
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    box-shadow:none !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    color:transparent !important;
    font-size:0 !important;
  }
}

.inline-play .play-triangle{
  width:0 !important;
  height:0 !important;
  display:block !important;
  border-top:6px solid transparent !important;
  border-bottom:6px solid transparent !important;
  border-left:9px solid #fff !important;
  transform:translateX(1.5px) !important;
  font-size:0 !important;
  line-height:0 !important;
}

.inline-video.is-playing .inline-play,
.inline-video.is-playing:hover .inline-play{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}


/* V8.4 — return to V8.2 hero/layout, only refine mobile videos + live set play */

/* Mobile live videos: 95% width, centered */
@media(max-width:760px){
  .live-grid{
    gap:14px !important;
    padding-left:2.5% !important;
    padding-right:2.5% !important;
    scroll-padding-left:2.5% !important;
    scroll-padding-right:2.5% !important;
  }
  .live-card{
    flex:0 0 95% !important;
    width:95% !important;
    max-width:none !important;
    scroll-snap-align:center !important;
  }
  .live-grid::before,
  .live-grid::after{
    display:none !important;
  }
}

/* Force the exact same minimal play icon on the live set */
.live-set .play,
.live-set .set-play,
.live-set .video-play,
.live-set .play-button,
.live-set button[class*="play"],
.live-set a[class*="play"],
.set-card .play,
.set-card .set-play,
.set-card .video-play,
.set-card .play-button,
.set-card button[class*="play"],
.set-card a[class*="play"],
.live-set-card .play,
.live-set-card .set-play,
.live-set-card .video-play,
.live-set-card .play-button,
.live-set-card button[class*="play"],
.live-set-card a[class*="play"]{
  width:44px !important;
  height:44px !important;
  border:1px solid rgba(255,255,255,.85) !important;
  border-radius:50% !important;
  background:rgba(0,0,0,.10) !important;
  box-shadow:none !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:0 !important;
  overflow:hidden !important;
}

.live-set .play-triangle,
.set-card .play-triangle,
.live-set-card .play-triangle{
  width:0 !important;
  height:0 !important;
  display:block !important;
  border-top:6px solid transparent !important;
  border-bottom:6px solid transparent !important;
  border-left:9px solid #fff !important;
  transform:translateX(1.5px) !important;
  font-size:0 !important;
  line-height:0 !important;
}

/* Hide any native-ish text/icon pseudo content that could remain */
.live-set [class*="play"]::before,
.live-set [class*="play"]::after,
.set-card [class*="play"]::before,
.set-card [class*="play"]::after,
.live-set-card [class*="play"]::before,
.live-set-card [class*="play"]::after{
  content:none !important;
  display:none !important;
}


/* Exact live-set preview play target */
.set-preview__play{
  width:44px !important;
  height:44px !important;
  border:1px solid rgba(255,255,255,.85) !important;
  border-radius:50% !important;
  background:rgba(0,0,0,.10) !important;
  box-shadow:none !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-decoration:none !important;
}
.set-preview__play::before,
.set-preview__play::after{
  content:none !important;
  display:none !important;
}
.set-preview__play .play-triangle{
  width:0 !important;
  height:0 !important;
  display:block !important;
  border-top:6px solid transparent !important;
  border-bottom:6px solid transparent !important;
  border-left:9px solid #fff !important;
  transform:translateX(1.5px) !important;
}


/* Definitive live-set play button */
.set-preview__visual{
  position:relative !important;
}
.set-preview__visual > .set-preview__play{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:44px !important;
  height:44px !important;
  border:1px solid rgba(255,255,255,.85) !important;
  border-radius:50% !important;
  background:rgba(0,0,0,.12) !important;
  display:grid !important;
  place-items:center !important;
  z-index:4 !important;
}
.set-preview__visual > .set-preview__play .play-triangle{
  width:0 !important;
  height:0 !important;
  display:block !important;
  border-top:6px solid transparent !important;
  border-bottom:6px solid transparent !important;
  border-left:9px solid #fff !important;
  transform:translateX(1.5px) !important;
}
.set-preview__visual::before,
.set-preview__visual::after{
  content:none !important;
  display:none !important;
}


/* V8.5 — restore visible preview for Trujillo Club Rave */
.set-preview__visual{
  position:relative !important;
  display:block !important;
  min-height:clamp(240px,42vw,560px) !important;
  background-image:
    linear-gradient(rgba(0,0,0,.06),rgba(0,0,0,.18)),
    url("assets/live-1.jpeg") !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  overflow:hidden !important;
}
@media(max-width:760px){
  .set-preview__visual{
    min-height:260px !important;
    aspect-ratio:16/9 !important;
  }
}


/* V8.6 — correct Trujillo Club Rave preview */
.set-preview__visual{
  background-image:
    linear-gradient(rgba(0,0,0,.06),rgba(0,0,0,.18)),
    url("https://i.ytimg.com/vi/hyAQYEvqVjU/maxresdefault.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

/* Feedback carousel: center every testimonial card when swiping */
@media(max-width:760px){
  .testimonials-track,
  .testimonials-grid,
  .feedback-track{
    scroll-padding-left:7.5% !important;
    scroll-padding-right:7.5% !important;
  }
  .testimonial-card,
  .testimonial,
  .feedback-card{
    scroll-snap-align:center !important;
  }
}


@media(max-width:760px){
  .testimonials-grid{
    gap:14px !important;
    padding-left:8% !important;
    padding-right:8% !important;
    scroll-padding-left:8% !important;
    scroll-padding-right:8% !important;
  }
  .testimonials-grid > *{
    scroll-snap-align:center !important;
  }
}

@media(max-width:760px){
  .testimonials-strip{
    gap:14px !important;
    padding-left:7.5% !important;
    padding-right:7.5% !important;
    scroll-padding-left:7.5% !important;
    scroll-padding-right:7.5% !important;
  }
  .testimonials-strip .testimonial-card{
    scroll-snap-align:center !important;
  }
}


/* V8.7 — keep live-set preview fully inside page */
.set-preview{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.set-preview__visual{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  .set-preview{
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .set-preview__visual{
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    aspect-ratio:16/9 !important;
  }
}


/* V8.8 — desktop refinements */

/* Make live videos materially larger on desktop */
@media(min-width:761px){
  .live-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:22px !important;
    width:100% !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .live-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
  .live-card video,
  .live-card img{
    width:100% !important;
    height:auto !important;
    display:block !important;
  }
}

/* Keep mobile live cards at 95% */
@media(max-width:760px){
  .live-card{
    flex:0 0 95% !important;
    width:95% !important;
    max-width:95% !important;
  }
}

/* Show all six event flyers on desktop */
@media(min-width:761px){
  .events-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    width:100% !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
  }
  .event-card{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
  .event-card img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    display:block !important;
  }
}

/* Gallery order follows HTML order on desktop too */
@media(min-width:761px){
  .gallery-grid{
    grid-auto-flow:row !important;
  }
  .gallery-item{
    order:initial !important;
  }
}


/* V8.9 — artist logo */
.hero{
  position:relative;
}
.artist-logo{
  position:absolute;
  z-index:5;
  top:28px;
  left:28px;
  width:clamp(130px,14vw,210px);
  height:auto;
  object-fit:contain;
  mix-blend-mode:screen;
  pointer-events:none;
}
@media(max-width:760px){
  .artist-logo{
    top:18px;
    left:18px;
    width:125px;
  }
}

/* V8.9 — bigger mobile feedback cards, less empty side space */
@media(max-width:760px){
  .testimonials-strip{
    gap:12px !important;
    padding-left:4% !important;
    padding-right:4% !important;
    scroll-padding-left:4% !important;
    scroll-padding-right:4% !important;
  }
  .testimonials-strip .testimonial-card{
    flex:0 0 92% !important;
    width:92% !important;
    max-width:92% !important;
    scroll-snap-align:center !important;
  }
  .testimonial-card img{
    width:100% !important;
    height:auto !important;
    display:block !important;
  }
  .testimonials__intro{
    margin-bottom:20px !important;
  }
  .testimonial-dots{
    margin-top:16px !important;
  }
}

/* Ensure gallery source order is the visual order everywhere */
.gallery-item{
  order:initial !important;
}


/* V9 — Hero logo replaces text name on mobile */
.hero-name-logo{
  display:none;
}

@media(max-width:760px){
  .hero .artist-logo{
    display:none !important;
  }

  .hero__copy h1{
    display:none !important;
  }

  .hero-name-logo{
    display:block !important;
    width:min(82vw,360px) !important;
    max-width:82vw !important;
    height:auto !important;
    margin:12px 0 18px !important;
    object-fit:contain !important;
  }
}

/* V9 — feedback cards occupy more of the mobile viewport */
@media(max-width:760px){
  .testimonials-strip{
    gap:10px !important;
    padding-left:1.5% !important;
    padding-right:1.5% !important;
    scroll-padding-left:1.5% !important;
    scroll-padding-right:1.5% !important;
  }

  .testimonials-strip .testimonial-card{
    flex:0 0 97% !important;
    width:97% !important;
    max-width:97% !important;
    scroll-snap-align:center !important;
  }

  .testimonial-card img{
    width:100% !important;
    height:auto !important;
  }
}


/* V9.1 — restore original hero name */
.hero-name-logo{
  display:none !important;
}
@media(max-width:760px){
  .hero__copy h1{
    display:block !important;
  }
}

/* V9.1 — bio desktop alignment:
   text starts at same height as "SOBRE MATÍAS" */
.about-desktop-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(44px,6vw,96px);
  align-items:start;
}
.about-desktop-left,
.about-desktop-right{
  min-width:0;
}
.about-desktop-left .kicker{
  margin-top:0 !important;
}
.about-desktop-left .about__title{
  margin-top:12px !important;
  margin-bottom:42px !important;
}
.about-desktop-right .about__text{
  margin-top:0 !important;
  padding-top:0 !important;
}
.about-desktop-right .about__text p:first-child{
  margin-top:0 !important;
}
.about-desktop-left .about__photo{
  margin-top:0 !important;
}

/* Mobile keeps a natural stacked order */
@media(max-width:760px){
  .about-desktop-grid{
    display:block !important;
  }
  .about-desktop-left .about__title{
    margin-bottom:34px !important;
  }
  .about-desktop-right .about__text{
    margin-top:26px !important;
  }
}

/* V9.1 — logo as signature near the end */
.footer-logo-wrap{
  background:#000;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:54px 24px 18px;
}
.footer-artist-logo{
  width:min(280px,58vw);
  height:auto;
  display:block;
  object-fit:contain;
}
@media(max-width:760px){
  .footer-logo-wrap{
    padding:42px 20px 12px;
  }
  .footer-artist-logo{
    width:min(240px,64vw);
  }
}


/* V9.2 — desktop bio: text aligns with the large section title */
@media(min-width:761px){
  .about-desktop-right{
    padding-top:44px !important;
  }
}

/* V9.2 — desktop hero: preserve face and show more of original portrait */
@media(min-width:761px){
  .hero{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    background:#111 !important;
  }
  .hero__image{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    display:block !important;
  }
  .hero__copy{
    z-index:3 !important;
  }
}

/* Email is now a quiet secondary contact link */
.email-copy a{
  color:inherit !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.35);
  padding-bottom:2px;
}
.email-copy a:hover{
  border-bottom-color:currentColor;
}

/* Logo is the final signature after contact */
.footer-logo-wrap{
  padding-top:32px !important;
  padding-bottom:56px !important;
}


/* V9.3 — remove obsolete final logo spacing */
.footer-logo-wrap,
.footer-artist-logo{
  display:none !important;
}

/* Remove hero scroll arrow completely */
.scroll-cue{
  display:none !important;
}

/* HERO IMAGE — desktop */
@media(min-width:761px){
  .hero{
    min-height:clamp(620px,78vh,860px) !important;
    height:clamp(620px,78vh,860px) !important;
    max-height:none !important;
    overflow:hidden !important;
    background:#111 !important;
  }

  .hero__image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 16% !important;
    display:block !important;
  }

  .hero__copy{
    position:absolute !important;
    z-index:3 !important;
  }
}

/* HERO IMAGE — mobile */
@media(max-width:760px){
  .hero{
    height:72svh !important;
    min-height:560px !important;
    max-height:720px !important;
    overflow:hidden !important;
    background:#111 !important;
  }

  .hero__image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 18% !important;
  }

  .hero__copy{
    z-index:3 !important;
  }
}


/* V9.5 — HERO FINAL */

/* Desktop:
   - corta la zona blanca superior
   - corta un poco la parte inferior
   - mantiene cara + parte del cuerpo
   - texto conserva posición de V9.3 */
@media(min-width:761px){
  .hero{
    height:clamp(570px,72vh,760px) !important;
    min-height:570px !important;
    max-height:760px !important;
    overflow:hidden !important;
    position:relative !important;
    background:#111 !important;
  }

  .hero__image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 31% !important;
    display:block !important;
  }

  .hero__copy{
    position:absolute !important;
    z-index:3 !important;
  }
}

/* Mobile:
   - texto arriba como en V9.3
   - rostro protegido
   - hero un poco más corto, recortando solo la parte inferior */
@media(max-width:760px){
  .hero{
    height:65svh !important;
    min-height:520px !important;
    max-height:650px !important;
    overflow:hidden !important;
    position:relative !important;
    background:#111 !important;
  }

  .hero__image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 14% !important;
    display:block !important;
  }

  .hero__copy{
    position:absolute !important;
    top:0 !important;
    bottom:auto !important;
    left:0 !important;
    right:0 !important;
    padding-top:clamp(72px,12vh,110px) !important;
    z-index:3 !important;
  }
}


/* V9.6 — mobile only: move hero text to the top.
   Image framing remains exactly as V9.5. */
@media(max-width:760px){
  .hero__copy{
    position:absolute !important;
    top:0 !important;
    bottom:auto !important;
    left:0 !important;
    right:0 !important;
    padding:28px 20px 0 !important;
    margin:0 !important;
    transform:none !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    z-index:4 !important;
  }
}
