/* Section composition. Background bytes are unchanged original assets. */
.hero {
  position: relative; isolation: isolate; display: flex; align-items: flex-end; justify-content: center;
  min-height: 100vh; overflow: hidden; padding: 120px 42px 55px; text-align: center;
}
.hero__photo { position: absolute; inset: 0; overflow: hidden; opacity: 0; pointer-events: none; animation: hero-photo-in .75s ease-out .05s forwards; }
.hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: brightness(.78) contrast(1.12) saturate(.94) sepia(.025); }
.hero__photo::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgb(0 0 0 / .30) 0%, rgb(0 0 0 / .10) 32%, rgb(0 0 0 / .54) 72%, rgb(0 0 0 / .90) 100%), radial-gradient(circle at 50% 42%, transparent, rgb(0 0 0 / .08) 48%, rgb(0 0 0 / .52));
}
.hero__content { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 100%; max-width: 760px; margin-inline: auto; padding-inline: 32px; }
.hero__logo { width: min(42vw, 390px); margin-inline: auto; opacity: 0; animation: hero-logo-in 1.18s cubic-bezier(.16,1,.3,1) .48s forwards; }
.hero__logo img { width: 100%; height: auto; filter: brightness(1.08) contrast(1.08) drop-shadow(0 8px 22px rgb(0 0 0 / .38)); } /* Existing v0047 rendering; original logo bytes unchanged. */
.hero__style { margin: 5px auto 0; font: 700 clamp(.55rem,.8vw,.64rem)/1.25 var(--label-font); letter-spacing: .30em; color: rgb(130 130 130 / .82); opacity: 0; animation: hero-text-in .72s cubic-bezier(.19,1,.22,1) 1.55s forwards; }
.hero__actions { display: flex; flex-direction: column; align-items: center; gap: 16px; margin: 34px auto 0; opacity: 0; animation: hero-text-in .75s cubic-bezier(.19,1,.22,1) 1.82s forwards; }
.hero__action { font: 800 .78rem/1.25 var(--label-font); letter-spacing: .34em; color: rgb(201 145 58 / .96); text-decoration: none; }
.hero__action:hover { color: #f5f2eb; opacity: .92; }
/* The master scroll cue participates in the flex row with a relative offset. */
.hero__scroll { position: relative; right: 56px; bottom: 40px; z-index: 9; display: flex; flex-direction: column; align-items: center; gap: 10px; opacity: 0; animation: hero-photo-in 1s ease 1.8s forwards; }
.hero__scroll span { font-size: .6rem; letter-spacing: .25em; text-transform: uppercase; color: #7a7067; writing-mode: vertical-rl; }
.hero__scroll-line { width: 1px; height: 60px; background: linear-gradient(to bottom, var(--amber), transparent); animation: scroll-pulse 2s ease-in-out infinite; }
.about { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 64px; align-items: start; }
.about::before { background-image: linear-gradient(to bottom,rgb(0 0 0 / .62),rgb(0 0 0 / .88)), linear-gradient(to right,rgb(0 0 0 / .52),rgb(0 0 0 / .26)), url('../assets/backgrounds/sobre.jpg'); filter: brightness(.96) contrast(1.06) saturate(.88) sepia(.06); }
.about__text { max-width: 760px; }
.about__text p { font: 300 1rem/2 var(--label-font); color: rgb(240 236 228 / .76); text-shadow: 0 2px 14px rgb(0 0 0 / .32); text-align: justify; hyphens: auto; margin-bottom: 20px; }
.about__text strong { color: rgb(201 145 58 / .98); font-weight: 800; }
.about__portrait { width: min(360px,100%); justify-self: end; padding: 10px; border: 1px solid rgb(198 140 46 / .28); background: rgb(0 0 0 / .46); box-shadow: 0 18px 48px rgb(0 0 0 / .46), inset 0 1px 0 rgb(255 255 255 / .04); backdrop-filter: blur(3px); }
.about__portrait img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: brightness(.96) contrast(1.05) saturate(.86) sepia(.04); }
.about__gallery { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--media-gap); margin-top: 68px; padding-inline: 24px; }
.about__gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px solid rgb(201 145 58 / .75); background: #000; box-shadow: inset 0 0 0 1px rgb(255 220 150 / .035), 0 12px 28px rgb(0 0 0 / .28); filter: saturate(.94) contrast(1.02) brightness(.88); }
.discography::before { background-image: linear-gradient(to bottom,rgb(0 0 0 / .45),rgb(0 0 0 / .86)), url('../assets/backgrounds/discografia.jpg'); background-position: center 42%; opacity: .88; filter: brightness(.66) contrast(1.04) saturate(.78) sepia(.10) hue-rotate(-5deg); }
.platforms-caption { display: flex; justify-content: center; align-items: center; margin-top: 52px; min-height: 36px; }
.platforms-caption p { font-size: .8rem; color: #7a7067; letter-spacing: .05em; margin-bottom: 20px; }
.videos { padding-bottom: var(--section-space); background: #050505; }
.videos::before { background-image: linear-gradient(180deg,rgb(0 0 0 / .18),rgb(0 0 0 / .34)), url('../assets/backgrounds/videos.webp'); opacity: .72; }
.moments { background: #030305; }
.moments::before { background-image: linear-gradient(180deg,rgb(0 0 0 / .28),rgb(0 0 0 / .46)),radial-gradient(circle at 50% 18%,rgb(201 145 58 / .12),transparent 42%),url('../assets/backgrounds/momentos.webp'); background-position: center 28%; }
.moments__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--media-gap); }
.moments__photo { aspect-ratio: 4/3; position: relative; overflow: hidden; border: 1px solid rgb(201 145 58 / .78); background: #050505; box-shadow: inset 0 0 0 1px rgb(255 220 150 / .04), 0 12px 28px rgb(0 0 0 / .28); }
.moments__photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) contrast(1.04) brightness(.88); transition: transform .28s, filter .28s; }
.moments__photo--top img { object-position: center top; }
.moments__photo:hover img { transform: scale(1.025); filter: saturate(1) contrast(1.06) brightness(.94); }
.shows::before { background-image: linear-gradient(to bottom,rgb(0 0 0 / .54),rgb(0 0 0 / .86)),linear-gradient(to right,rgb(0 0 0 / .30),rgb(0 0 0 / .10)),url('../assets/backgrounds/shows.jpg'); background-position: center top; filter: brightness(.78) contrast(1.10) saturate(.86) sepia(.05); }
.shows__notice { display: grid; align-items: center; min-height: 124px; padding: 22px 26px; border: 1px solid rgb(201 145 58 / .76); text-align: center; background: linear-gradient(180deg,rgb(0 0 0 / .48),rgb(0 0 0 / .34)); box-shadow: inset 0 0 0 1px rgb(255 220 150 / .035), 0 12px 28px rgb(0 0 0 / .23); }
.shows__notice h3 { font: 800 1.05rem/1.18 var(--label-font); letter-spacing: .08em; color: #fff; }
.social { background: #050505; }
.social::before { background-image: linear-gradient(to bottom,rgb(0 0 0 / .50),rgb(0 0 0 / .82)),linear-gradient(to right,rgb(0 0 0 / .20),rgb(0 0 0 / .18)),url('../assets/backgrounds/redes.webp'); filter: brightness(.74) contrast(1.08) saturate(.15) sepia(.04); opacity: .95; }
.social .section-heading__label { margin: 0; text-align: center; }
@keyframes hero-photo-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes hero-logo-in { 0% { opacity: 0; transform: translate3d(0,-18px,0) scale(.985); filter: blur(3px); } 55% { opacity: 1; filter: blur(.7px); } 100% { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: blur(0); } }
@keyframes hero-text-in { from { opacity: 0; transform: translate3d(0,10px,0); } to { opacity: 1; transform: translate3d(0,0,0); } }
@keyframes scroll-pulse { 0%,100% { transform: scaleY(1); opacity: 1; } 50% { transform: scaleY(.4); opacity: .3; } }
