/* ---------- Base ---------- */
:root{
  --black: #0a0908;
  --off-black: #141210;
  --white: #f6f2ea;
  --paper: #efe9de;
  --rust: #c1440e;
  --rust-deep: #7c2a06;
  --rust-light: #e2711d;
  --gray: #8a8378;
  --ff-display: 'Archivo', sans-serif;
  --ff-body: 'Inter', sans-serif;
}

*{box-sizing:border-box; margin:0; padding:0;}


body{
  background:var(--white);
  color:var(--black);
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%; display:block;}

a{color:inherit; text-decoration:none;}

ul{list-style:none;}

.section__frame{
  max-width:1180px;
  margin:0 auto;
  padding:0 6vw;
}

.eyebrow{
  font-family:var(--ff-body);
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.78rem;
  color:var(--rust);
  margin-bottom:1.4rem;
}
.eyebrow--light{color:var(--rust-light);}

.section__title{
  font-family:var(--ff-display);
  font-weight:900;
  text-transform:uppercase;
  font-size:clamp(2.6rem, 8vw, 5.4rem);
  line-height:.92;
  letter-spacing:-.01em;
  margin-bottom:2rem;
}
.section__title span{color:var(--rust);}
.section__title--tight{margin-bottom:1.5rem;}

.section{padding:7rem 0;}

/* ---------- Noise overlay ---------- */
.noise{
  position:fixed; inset:0; pointer-events:none; z-index:999;
  opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.4rem 6vw;
  transition:padding .3s ease, background .3s ease;
}
.nav__logo img{height:34px; width:auto;}
.nav.scrolled{
  padding:.9rem 6vw;
  background:rgba(10,9,8,.92);
}

.nav__links{
  display:flex; align-items:center; gap:2.2rem;
  font-family:var(--ff-body); font-weight:500; font-size:.88rem;
  letter-spacing:.03em; text-transform:uppercase;
  color:var(--white);
}
.nav__links a{opacity:.85; transition:opacity .2s;}
.nav__links a:hover{opacity:1;}
.nav__cta{
  border:1px solid var(--white);
  padding:.5rem 1.1rem;
  border-radius:100px;
}

.nav__toggle{
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:.5rem;
  z-index:110;
}
.nav__toggle span{width:24px; height:2px; background:var(--white); display:block;}

/* ---------- Hero ---------- */
.hero{
  position:relative; height:100svh; min-height:560px;
  display:flex; align-items:flex-end;
  overflow:hidden;
  background:var(--black);
}
.hero__img{position:absolute; inset:0; width:100%; height:100%;}
.hero__img img{width:100%; height:100%; object-fit:cover; object-position:78% 15%;}
.hero__scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,9,8,.15) 0%, rgba(10,9,8,0) 30%, rgba(10,9,8,.15) 60%, rgba(10,9,8,.9) 100%);
}
.hero__content{
  position:relative; z-index:2;
  width:100%;
  padding:0 6vw 4.5rem;
  color:var(--white);
}
.hero__wordmark{
  width:min(400px, 56vw);
  filter:drop-shadow(0 6px 30px rgba(0,0,0,.45));
  margin-bottom:1rem;
}
.hero__tagline{
  font-family:var(--ff-display); font-weight:700; font-size:clamp(1rem,2.4vw,1.3rem);
  text-transform:uppercase; letter-spacing:.04em;
}
.hero__location{
  font-family:var(--ff-body); font-size:.9rem; color:var(--rust-light);
  margin-top:.3rem; letter-spacing:.05em; text-transform:uppercase;
}
.hero__scroll{
  position:absolute; right:6vw; bottom:2.2rem; z-index:2;
  width:26px; height:44px; border:1.5px solid rgba(246,242,234,.6);
  border-radius:100px; display:flex; justify-content:center; padding-top:8px;
}
.hero__scroll span{
  width:4px; height:8px; border-radius:100px; background:var(--white);
  animation:scrollDot 1.8s infinite ease;
}
@keyframes scrollDot{
  0%{transform:translateY(0); opacity:1;}
  70%{transform:translateY(14px); opacity:0;}
  100%{opacity:0;}
}

/* ---------- Reveal ---------- */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:none;}

/* ---------- Bio ---------- */
.bio__grid{
  display:grid; grid-template-columns:1.15fr .85fr; gap:5vw; align-items:center;
}
.bio__text p{margin-bottom:1.3rem; font-size:1.05rem; color:#2c2822;}
.bio__lead{
  font-family:var(--ff-display); font-weight:700; font-size:1.4rem; line-height:1.4;
  color:var(--black);
}
.bio__text em{color:var(--rust); font-style:normal;}
.bio__portrait{border-radius:2px; overflow:hidden; aspect-ratio:2/3;}
.bio__portrait img{width:100%; height:100%; object-fit:cover;}

/* ---------- Tour ---------- */
.tour{background:var(--black); color:var(--white);}
.tour .section__intro{
  max-width:640px; color:#cfc8bc; font-size:1.1rem; margin-bottom:3.5rem;
}
.tour__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:4vw;
}
.tour__country h3{
  font-family:var(--ff-display); font-weight:900; text-transform:uppercase;
  font-size:1.6rem; margin-bottom:1.2rem; color:var(--rust-light);
}

.venue-list li{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:.85rem 0; border-bottom:1px solid rgba(246,242,234,.14);
  font-family:var(--ff-display); font-weight:500;
}
.venue-list__name{font-size:1.05rem;}
.venue-list__city{font-size:.8rem; color:var(--gray); text-transform:uppercase; letter-spacing:.05em;}

.venue-list--dark li{border-bottom-color:rgba(10,9,8,.12); padding:.7rem 0;}
.venue-list--dark .venue-list__name{color:var(--black);}

/* ---------- Gallery strip ---------- */
.strip{background:var(--white); padding:0 0 2px;}
.strip__track{
  display:grid; grid-auto-flow:column; grid-auto-columns:26vw;
  gap:2px; overflow-x:auto; scroll-snap-type:x proximity;
  padding:2px 6vw 2px 0;
}
.strip__track picture, .strip__track img{height:64vh; min-height:340px; max-height:560px; width:100%; object-fit:cover; scroll-snap-align:start;}
.strip__track picture:first-child{margin-left:6vw;}

/* ---------- Venues Argentina ---------- */
.venues{background:var(--paper);}
.venues__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:3vw;
}
.venues__col h3{
  font-family:var(--ff-display); font-weight:900; text-transform:uppercase;
  font-size:1.15rem; margin-bottom:1rem; padding-bottom:.6rem;
  border-bottom:2px solid var(--rust);
}

/* ---------- Shared booth ---------- */
.booth{background:var(--black); color:var(--white); padding:5.5rem 0;}
.booth__names{
  display:flex; flex-wrap:wrap; gap:1rem 1.4rem;
}
.booth__names span{
  font-family:var(--ff-display); font-weight:700; text-transform:uppercase;
  font-size:clamp(1.1rem,3vw,1.7rem);
  color:#d8d2c6;
  position:relative;
}
.booth__names span:not(:last-child)::after{
  content:'·'; margin-left:1.4rem; color:var(--rust);
}

/* ---------- Sound / producer ---------- */
.sound__grid{
  display:grid; grid-template-columns:.85fr 1.15fr; gap:5vw; align-items:center;
}
.sound__portrait{aspect-ratio:2/3; overflow:hidden; border-radius:2px;}
.sound__portrait img{width:100%; height:100%; object-fit:cover;}
.sound__text p{color:#2c2822; font-size:1.05rem; margin-bottom:1.2rem;}
.sound__text strong{color:var(--rust-deep);}
.sound__links a{
  display:inline-block; margin-top:.8rem;
  font-family:var(--ff-display); font-weight:700; text-transform:uppercase;
  font-size:.95rem; letter-spacing:.03em;
  border-bottom:2px solid var(--rust); padding-bottom:.2rem;
}

/* ---------- Music & Video ---------- */
.music{background:var(--black); color:var(--white);}
.music .section__title{margin-bottom:2.5rem;}
.music__label{
  font-family:var(--ff-display); font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; font-size:.85rem; color:var(--rust-light);
  margin:2.6rem 0 1rem;
}
.music__label:first-of-type{margin-top:0;}

.music__tracks{
  display:grid; grid-template-columns:1fr 1fr; gap:1.2rem;
}
.music__embed{border-radius:10px; display:block; border:0;}

.music__video{
  position:relative; display:block; width:100%; aspect-ratio:16/9;
  border-radius:2px; overflow:hidden; background:#000;
}
.music__video img{width:100%; height:100%; object-fit:cover; transition:transform .4s ease;}
.music__video:hover img{transform:scale(1.04);}
.music__video-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:64px; height:64px; border-radius:50%;
  background:rgba(10,9,8,.55); backdrop-filter:blur(2px);
  display:flex; align-items:center; justify-content:center;
  color:var(--white); border:1.5px solid rgba(246,242,234,.7);
  transition:background .2s, transform .2s;
}
.music__video:hover .music__video-play{background:var(--rust); transform:translate(-50%,-50%) scale(1.08);}
.music__video-play svg{margin-left:3px;}

.music__ig{
  display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem;
}
.music__ig-tile{
  display:block; aspect-ratio:1/1; overflow:hidden; border-radius:2px;
}
.music__ig-tile img{width:100%; height:100%; object-fit:cover; transition:transform .4s ease;}
.music__ig-tile:hover img{transform:scale(1.06);}

/* ---------- Dual Ground ---------- */
.dualground{
  background:linear-gradient(120deg, var(--rust-deep), var(--rust) 70%);
  color:var(--white); padding:4.5rem 0;
}
.dualground__frame{max-width:720px; text-align:left;}
.dualground h3{
  font-family:var(--ff-display); font-weight:900; letter-spacing:.02em;
  font-size:1.6rem; margin-bottom:.8rem;
}
.dualground p{color:rgba(246,242,234,.9); font-size:1rem; max-width:520px;}

/* ---------- Rider ---------- */
.rider{background:var(--black); color:var(--white); padding-top:0;}
.rider__gear{
  width:100%; max-height:56vh; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:#000; margin-bottom:3.5rem;
}
.rider__gear img{width:100%; height:100%; object-fit:cover; display:block;}
.rider__grid{display:grid; grid-template-columns:1fr 1fr; gap:4vw;}
.rider__block{border-top:2px solid var(--rust); padding-top:1.4rem;}
.rider__block h3{
  font-family:var(--ff-display); font-weight:700; text-transform:uppercase;
  font-size:.95rem; letter-spacing:.06em; color:var(--rust-light); margin-bottom:.8rem;
}
.rider__block p{font-family:var(--ff-display); font-weight:500; font-size:1.3rem; line-height:1.45;}

/* ---------- Contact ---------- */
.contact{padding:8rem 0 6rem; background:var(--white);}
.contact__frame{text-align:center; display:flex; flex-direction:column; align-items:center;}
.contact__logo{width:min(420px,70vw); margin-bottom:1.2rem;}
.contact__tagline{
  font-family:var(--ff-display); text-transform:uppercase; letter-spacing:.08em;
  color:var(--gray); font-size:.85rem; margin-bottom:2.4rem;
}
.contact__links{
  display:flex; flex-wrap:wrap; justify-content:center; gap:1rem 1.6rem;
}
.contact__links a{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--ff-display); font-weight:900; text-transform:uppercase;
  font-size:clamp(1.3rem,3.4vw,2rem);
  padding-bottom:.15rem;
  border-bottom:3px solid transparent;
  transition:border-color .2s, color .2s;
}
.contact__links a:hover{border-color:var(--rust); color:var(--rust);}
.contact__icon{width:.72em; height:.72em; flex-shrink:0;}

/* ---------- Footer ---------- */
.footer{
  background:var(--black); color:var(--gray);
  text-align:center; padding:1.6rem; font-size:.78rem; letter-spacing:.03em;
}

/* ---------- Responsive ---------- */
@media (max-width: 860px){
  .nav__links{
    position:fixed; inset:0; z-index:105;
    background:var(--black);
    flex-direction:column; justify-content:center; align-items:center;
    gap:2rem; font-size:1.3rem;
    transform:translateX(100%); transition:transform .35s ease;
  }
  .nav__links.open{transform:translateX(0);}
  .nav__toggle{display:flex;}

  .bio__grid, .sound__grid{grid-template-columns:1fr; gap:2.4rem;}
  .bio__portrait{order:-1; max-width:340px; margin:0 auto;}
  .sound__portrait{max-width:340px; margin:0 auto;}

  .tour__grid{grid-template-columns:1fr; gap:3rem;}
  .venues__grid{grid-template-columns:1fr 1fr; gap:2.4rem 6vw;}
  .rider__gear{max-height:32vh; margin-bottom:2.4rem;}
  .rider__grid{grid-template-columns:1fr; gap:2.4rem;}

  .music__tracks{grid-template-columns:1fr;}
  .music__ig{grid-template-columns:1fr 1fr;}

  .section{padding:4.5rem 0;}
  .strip__track picture, .strip__track img{height:44vh; min-height:260px;}
  .strip__track{grid-auto-columns:70vw;}
}

@media (max-width: 480px){
  .venues__grid{grid-template-columns:1fr;}
}
