:root{color-scheme:dark;--bg:#130f15;--ink:#fcf3eb;--sub:#f7c8df;--gold:#ffcb9d;--line:#574453}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid #ffa96e;outline-offset:4px}.wrap{width:min(1180px,calc(100% - 56px));margin-inline:auto}.top,footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0}.brand{font:28px Georgia,serif;white-space:nowrap}.brand i,h1 i,h2 i{color:var(--gold)}nav,.buttons,.tabs{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.button,.outline,.tabs button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid var(--line);border-radius:6px;font-weight:700;background:#211820}.outline{background:#211820c9;border-color:#bea8b6}.gold{background:var(--gold);color:#2c1b24;border-color:var(--gold)} .hero {
  display: grid;
  grid-template-columns: minmax(0, 4.4fr) minmax(0, 7.6fr);
  grid-template-areas: "copy photo";
  align-items: center;
  width: min(1280px, calc(100% - 48px));
  margin: 12px auto clamp(24px, 5vw, 56px);
  border: 1px solid #694733;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(120deg, #231722, #36231f 65%, #221716);
}
.hero-photo { grid-area: photo; margin: 0; min-width: 0; }
.hero-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 8 / 7;
  object-fit: cover;
  object-position: 36% center;
}
.hero-photo { align-self: center; }
.hero-copy .hero-audio {
  margin: 0 0 20px;
  padding-left: 12px;
  border-left: 1px solid #c6936b;
}
.hero-copy .hero-audio .kicker { margin-top: 0; }

.hero-photo .credit { padding: 8px 14px; text-align: right; font-size: 9px; }
.hero-copy {
  grid-area: copy;
  min-width: 0;
  padding: clamp(24px, 4vw, 52px);
}
.hero-copy h1 { font-size: clamp(56px, 7.5vw, 106px); }
.hero .buttons { gap: 8px; }
.hero .buttons a { padding: 9px 13px; }
.kicker,.credit{font-size:11px;font-weight:800;letter-spacing:.23em;color:var(--gold)}h1,h2{font:400 clamp(42px,6.4vw,80px)/.98 Georgia,serif;margin:10px 0 19px;letter-spacing:-.04em}h1{font-size:clamp(78px,11vw,152px);line-height:.79;margin:20px 0 26px}.hero-copy>p:not(.kicker){font-size:clamp(19px,3vw,26px);margin-bottom:24px}.album,.booking{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding-block:65px}.album p:not(.kicker),.booking p,.gallery-section p{color:var(--sub);max-width:62ch}.gallery-section{background:#221824;padding:60px 0}.tabs{margin:24px 0 18px;gap:8px}.tabs button[aria-pressed=true]{background:var(--gold);color:#2c1b24}.photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo{position:relative;border:0;border-radius:8px;overflow:hidden;background:#392938;padding:0;min-width:0;aspect-ratio:4/5;text-align:left}.photo:first-child{grid-column:span 2;aspect-ratio:auto}.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 34%;transition:transform .25s}.photo:hover img{transform:scale(1.04)}.photo span{position:absolute;inset:auto 0 0;padding:35px 12px 10px;background:linear-gradient(transparent,#130f15e8);font-weight:700;font-size:14px}.booking{align-items:start}.booking form{background:#241a26;border:1px solid var(--line);border-radius:12px;padding:20px}.booking h3{margin:0 0 12px}.booking label{display:grid;gap:5px;margin:0 0 12px}.booking input,.booking textarea{width:100%;min-width:0;background:#130f15;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:9px}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hint,footer{font-size:13px;color:var(--sub)}footer{border-top:1px solid var(--line);flex-wrap:wrap}dialog{border:1px solid var(--line);border-radius:10px;background:#1d151f;color:var(--ink);padding:12px;width:max-content;max-width:95vw}dialog::backdrop{background:#09070af0}#largePhoto{display:block;max-width:100%;width:auto;max-height:75dvh;margin:auto;object-fit:contain}#closePhoto,.viewer-nav button{background:#241a26;border:1px solid var(--line);border-radius:6px;padding:5px 12px}#closePhoto{position:absolute;right:16px;top:16px}.viewer-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:center}.viewer-nav p{margin:8px 0}
@container site-view (max-width:820px){.wrap{width:calc(100% - 36px)}.photos{grid-template-columns:repeat(3,minmax(0,1fr))}.album,.booking{gap:20px}}
@container site-view (max-width:650px){.top{gap:8px;flex-wrap:wrap}.brand{font-size:22px}nav{gap:10px;font-size:13px}.top .outline{padding:5px 9px}.hero-copy>p:not(.kicker){margin-bottom:14px}.album,.booking{grid-template-columns:1fr;padding-block:42px;gap:8px}.gallery-section{padding-block:42px}.photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo:first-child{aspect-ratio:16/10}.row{grid-template-columns:1fr}.button{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}
@container site-view (max-width:650px){}
.track{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px;background:#241a26;border:1px solid var(--line);border-radius:12px}.track p,.track h3{margin:0}.track h3{font:28px Georgia,serif;margin-block:4px}.track audio{width:min(100%,420px);min-width:0}

.hero img[src$="simone-palco-dourado.webp"] {
  filter: contrast(1.16) saturate(1.15);
}

.chapter{padding:26px 0;border-top:1px solid var(--line)}
.chapter h3,.gallery-booking h3{margin:0;font:clamp(26px,4vw,43px)/1.12 Georgia,serif}
.chapter .photos{margin-top:16px}
.chapter-back .photo:first-child{grid-column:auto;aspect-ratio:4/5}
.chapter-stage .photo:first-child,.chapter-show .photo:first-child{grid-column:1/-1;aspect-ratio:16/9}
.chapter-stage .photo:first-child img,.chapter-show .photo:first-child img{object-position:center}
.gallery-booking{margin-top:15px;padding:clamp(20px,5vw,42px);border:1px solid #9f734b;border-radius:12px;background:radial-gradient(ellipse at top right,#4d3027,#201620 75%)}
.gallery-booking .button{margin-top:16px}
.gallery-event-highlight figure{margin:18px 0 0}
.gallery-event-highlight img{display:block;width:100%;height:auto}
.gallery-event-highlight figcaption{margin-top:12px;color:var(--sub)}
.lauro-camarim-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lauro-camarim-photos img{aspect-ratio:16/10;object-fit:contain;background:#130f15}
@container site-view (max-width:650px){.lauro-camarim-photos{grid-template-columns:1fr;gap:0}}


.chapter-band .photos,.chapter-crowd .photos{grid-template-columns:repeat(3,minmax(0,1fr))}
.chapter-band .photo:first-child,.chapter-crowd .photo:first-child{grid-column:auto;aspect-ratio:4/5}
.chapter-crowd .photo img{object-position:center 58%}
@container site-view (max-width:650px){.chapter-band .photos,.chapter-crowd .photos{grid-template-columns:repeat(2,minmax(0,1fr))}}

.gallery-actions{margin-top:18px}
.gallery-section .chapter-show .photos{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-section .chapter-show .photo:first-child{grid-column:1/-1}
.gallery-section .chapter-show .photo:nth-child(2),.gallery-section .chapter-show .photo:nth-child(3){aspect-ratio:4/3}
.gallery-section .chapter-show .photo:nth-child(4) img{object-position:66% center}
@container site-view (max-width:650px){.gallery-section .chapter-show .photos{grid-template-columns:repeat(2,minmax(0,1fr))}}

.photo img[src$="simone-na-beira-do-trio-mini.webp"]{object-position:78% center}
.photo img[src$="simone-ao-microfone-pb-mini.webp"]{object-position:38% center}
.photo img[src$="publico-sob-bandeirolas-mini.webp"]{object-position:center 70%}

.track-featured {
  background: radial-gradient(ellipse at top right,#513329,#241a26 75%);
  border-color: #a67a50;
  padding: clamp(20px,4vw,36px);
}
.track-featured h3 {font-size:clamp(32px,5vw,48px);color:var(--gold)}

.media-section{padding:clamp(42px,7vw,76px) 0;background:#19121c}
.media-feature{padding:clamp(16px,4vw,40px);border:1px solid var(--line);border-radius:14px;background:#241a26}
.media-lead{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:clamp(20px,5vw,55px);align-items:center}
.media-feature h3{font:clamp(34px,5vw,62px)/1.03 Georgia,serif;margin:10px 0 18px}
.media-feature h3 i{color:var(--gold)}
.media-feature h4{font:clamp(23px,3vw,32px) Georgia,serif;margin:28px 0 14px}
.media-feature figure{margin:0}
.media-feature img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 33%;border-radius:8px}
.media-video video{display:block;width:100%;max-height:600px;background:#130f15;border-radius:8px}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.media-feature details{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
.media-feature summary{cursor:pointer;color:var(--gold);font-weight:700}
.media-feature details .media-grid{margin-top:14px}
.media-cta{margin:24px 0 0}
@container site-view (max-width:650px){.media-lead{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.media-backstage{margin-top:32px;padding-top:4px;border-top:1px solid var(--line)}
.media-backstage h4{margin-bottom:6px}
.backstage-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:12px;margin-top:16px}
.backstage-grid img{object-position:center 40%}
.backstage-grid figcaption{padding:8px 0;color:var(--sub);font-size:13px}
@container site-view (max-width:650px){
 .backstage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .backstage-grid figure:first-child{grid-column:1/-1}
 .backstage-grid figure:first-child img{aspect-ratio:4/3;object-position:center 35%}
}

.hero-copy > .hero-tagline {
  display: flex;
  align-items: center;
  gap: .4em;
  width: fit-content;
  max-width: 100%;
  padding: .22em .45em .28em 0;
  border-block: 1px solid #eab37870;
  color: var(--ink);
  font: 400 clamp(25px, 3.5vw, 50px)/1.1 Georgia, serif;
  letter-spacing: -.035em;
  text-shadow: 0 2px 12px #130f15;
}
.hero-tagline em {
  color: #ff7ac3;
  text-shadow: 0 1px 2px #130f15, 0 0 12px #ff319d80, 0 0 24px #ff319d40;
  white-space: nowrap;
}
.tagline-mark { color: var(--gold); font-size: .56em; }

.artist-bio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,6vw,80px);padding-block:clamp(42px,7vw,88px);border-bottom:1px solid var(--line)}
.artist-bio figure{margin:0}
.artist-bio img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid #9f734b}
.artist-bio img{aspect-ratio:1;object-fit:cover;object-position:center 58%}
.artist-bio figcaption{margin-top:8px;color:var(--sub);font-size:12px}
.artist-bio .bio-lead{font-size:clamp(18px,2.4vw,24px);color:var(--ink)}
.artist-bio p:not(.kicker):not(.bio-lead){color:var(--sub)}
.artist-bio .buttons{margin-top:20px}
@container site-view (max-width:650px){.artist-bio{grid-template-columns:1fr}}

.artist-bio {
  position: relative;
  isolation: isolate;
  padding-inline: clamp(16px, 4vw, 52px);
  margin-block: clamp(24px, 5vw, 60px);
  border: 1px solid #eab37845;
  border-radius: 22px;
  background: radial-gradient(ellipse at 18% 20%, #603c64 0%, transparent 53%),
              radial-gradient(ellipse at 4% 75%, #5c3724 0%, transparent 48%), #1c1420;
  box-shadow: 0 22px 48px #09070bb0, inset 0 1px #ffdbad35;
}
.artist-bio figure { position: relative; isolation: isolate; }
.artist-bio figure::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 8% -10px 22px 10px;
  border-radius: 15px;
  background: linear-gradient(150deg, #c78955, #5d376d 65%, #231625);
  transform: rotate(2deg) translateY(5px);
  box-shadow: 0 20px 36px #09070bb0;
}
.artist-bio img { box-shadow: 0 16px 25px #080609a0; }
.artist-bio h2 { text-shadow: 0 3px #160d19, 0 10px 24px #09070b; }
@container site-view (max-width:650px){.artist-bio figure::before{inset-inline:5px -5px;transform:rotate(1deg) translateY(4px)}}

.artist-bio {
  background: radial-gradient(ellipse at 18% 20%, #604026 0%, transparent 53%), #1c1416;
}
.artist-bio figure::before {
  background: linear-gradient(150deg, #c78955, #684631 65%, #241817);
}

.top nav a[aria-current="page"] {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: .38em;
}

.track-group-heading {
  grid-column: 1 / -1;
  margin-top: 16px;
}
.track-group-heading h3 {
  margin: 0;
  font: clamp(26px, 4vw, 36px) Georgia, serif;
}

.media-archive {
  margin-block: 28px 44px;
  padding: clamp(20px, 4vw, 36px);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #241a26;
}
.media-archive h3 {
  font: clamp(28px, 4vw, 40px) Georgia, serif;
  color: var(--gold);
  margin-block: 12px;
}
.media-archive p { max-width: 68ch; }
.media-order { color: var(--sub); }

.hero-audio { margin-top: 18px; }
.hero-audio p { margin-bottom: 6px; }
.hero-audio audio { display: block; width: min(100%, 320px); height: 40px; }

.media-archive-layout {
  display: grid;
  grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 4vw, 36px);
}
.media-archive-portrait { margin: 0; }
.media-archive-portrait img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
@container site-view (max-width: 650px) {
  .media-archive-layout { grid-template-columns: minmax(0, 1fr); }
  .media-archive-portrait { width: min(100%, 240px); }
}

.brand-signature {
  display: block;
  width: 84px;
  height: auto;
  opacity: .84;
}
@container site-view (max-width: 650px) {
  .brand-signature { width: 72px; }
}

@media (max-width: 760px) and (orientation: portrait), (max-width: 599px) {
  .hero {
    width: calc(100% - 24px);
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "photo" "copy";
    border-radius: 14px;
  }
  .hero-photo img { aspect-ratio: 1; }
  .hero-copy { padding: 18px 18px 24px; }
  .hero-copy h1 { font-size: clamp(43px, 12vw, 72px); }
  .hero-copy h1 br { display: none; }
  .hero-copy h1 i::before { content: " "; white-space: pre; }
}
@media (orientation: landscape) and (max-height: 550px) and (min-width: 600px) {
  .hero { width: calc(100% - 28px); grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
  .hero-copy { padding: 16px 20px; }
  .hero-copy h1 { font-size: clamp(40px, 6vw, 62px); }
  .hero-copy h1 br { display: none; }
  .hero-copy h1 i::before { content: " "; white-space: pre; }
  .hero-copy>p:not(.kicker) { margin-bottom: 12px; }
  .hero-photo img { aspect-ratio: 5 / 4; }
  .hero-copy .hero-audio { margin-bottom: 12px; }
}

.button.spotify-button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 14px;
  border: 1px solid #1ed760;
  background: #1ed760;
  color: #102217;
}
.button.spotify-button:hover { background: #54e488; }
.spotify-icon { flex: none; }
.hero-audio .spotify-button { margin-top: 10px; }

.hero-live-link {
  display: flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  margin-top: 20px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--gold);
}
.hero-live-link small { display: block; letter-spacing: .12em; }
.hero-live-link:hover strong { text-decoration: underline; }
.live-feature {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: center;
  gap: clamp(18px, 4vw, 44px);
  margin-block: 24px;
  padding: clamp(16px, 4vw, 38px);
  background: #261a22;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.live-feature h3 {
  margin: 8px 0 12px;
  font: clamp(28px, 4vw, 46px)/1.08 Georgia, serif;
  color: var(--gold);
}
.live-feature video { display: block; width: 100%; height: auto; border-radius: 8px; }
@container site-view (max-width: 680px) {
  .live-feature { grid-template-columns: minmax(0, 1fr); }
}

.alba-stage { max-width: 640px; margin-top: 20px; aspect-ratio: 16 / 9; background: #130f15; overflow: hidden; border-radius: 10px; }
.alba-stage > * { display: block; width: 100%; height: 100%; object-fit: cover; border: 0; }
.alba-current { margin: 12px 0; font-weight: 700; }
.alba-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.alba-choices .button { flex: 1 1 215px; text-align: left; }
.alba-choices small { display: block; color: var(--sub); }
.alba-choices [aria-current="true"] { border-color: var(--gold); }
.alba-youtube { display: inline-block; margin-top: 12px; color: var(--gold); }
.media-photo-gallery {
  margin-top: 16px;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.media-photo-gallery summary {
  cursor: pointer;
  color: var(--gold);
  font-weight: 700;
}
.media-photo-gallery[open] summary { margin-bottom: 12px; }
.alba-photos figure { flex: 1 1 260px; margin: 12px 0 0; }
.alba-photos img { display: block; width: 100%; height: auto; border-radius: 8px; }
.alba-photos figcaption { color: var(--sub); padding-top: 6px; }
.alba-image-credit { display: block; margin-top: 6px; color: var(--sub); }
.alba-photos .alba-broadcast figure { flex: 0 1 320px; }

.release-teaser {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: stretch;
  border-top: 1px solid #a45e57;
  background: linear-gradient(125deg, #230b17, #4c1423);
  scroll-margin-top: 16px;
}
.release-teaser-copy { align-self: center; padding: clamp(22px, 5vw, 68px); }
.release-teaser h2 { font-size: clamp(40px, 6vw, 76px); line-height: .99; }
.release-teaser h2 em { display: block; color: var(--gold); font-size: .65em; }
.release-teaser-lead { color: var(--ink); font-size: clamp(17px, 2.4vw, 23px); }
.release-teaser-copy > p:not(.kicker, .release-teaser-lead) { color: var(--sub); max-width: 43ch; }
.release-teaser-art {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  isolation: isolate;
  background: #23080d url("fotos/album-2-palco-vermelho.webp") center / 100% 100% no-repeat;
}
.release-teaser-portrait {
  position: absolute;
  inset: 0 0 0 8%;
  margin-inline: auto;
  width: 59%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  filter: url("#album2-retrato-dourado") drop-shadow(-5px 0 13px #fe25284a);
  mask-image: radial-gradient(ellipse 58% 75% at 50% 47%, #000 47%, #000e 66%, transparent 94%);
}
.release-teaser-art::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 61% 22%, #ff302635, transparent 34%),
    radial-gradient(ellipse at 47% 74%, #e1243552, transparent 43%),
    linear-gradient(0deg, #64111c91, transparent 24%);
  mix-blend-mode: screen;
}
@media (max-width: 650px) and (orientation: portrait), (max-width: 520px) {
  .release-teaser { grid-template-columns: minmax(0, 1fr); }
  .release-teaser-art { grid-row: 1; min-height: 0; height: clamp(245px, 75vw, 350px); }
}

.alba-backstage figure { flex: 0 1 240px; }
.alba-backstage img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center 43%; }

#galeria .photo {
  border: 3px solid #532b40;
  box-shadow: 0 0 0 1px #c6936b, 0 5px 14px #130f1566;
}
#galeria .photo::after {
  content: "";
  position: absolute;
  inset: 3px;
  border: 1px solid #ffcb9d8c;
  border-radius: 3px;
  pointer-events: none;
}

/* The border artwork comes from the approved gold tablet frame. */
main img:not(.release-teaser-portrait, #alba-stage > img, .stage-photo > img, .opening-video-image > img, .album-stage-photo > img, .album-cover-link > img, .central-clips img), #largePhoto, .release-teaser-art, .signature-video, #alba-stage {
  box-sizing: border-box;
  border: var(--frame-width) solid #b98a49;
  border-image: url("fotos/moldura-ouro-equilibrada.webp") 90 round;
  border-radius: 12px;
  background-color: #170f16;
}
main a:has(> img) { display: block; }
.signature-video, #alba-stage { padding: 0; }
.signature-video video { border-radius: 0; }
main :is(figure, a, .photo, .release-teaser-art):has(> img),
.signature-video, #alba-stage { position: relative; }
main :is(figure, a, .photo, .release-teaser-art):has(> img):not(:has(> figcaption))::before,
.signature-video::before, #alba-stage::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  border-radius: 12px;
  padding: var(--frame-width);
  background: linear-gradient(115deg, transparent 40%, #ffcb6640 46%, #ffdf8ca6 49%, #fff8d9e6 50%, #ffdb80a6 52%, transparent 59%) 115% center / 290% 100%;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
  animation: gold-frame-reflection 6s ease-in-out infinite;
}
@keyframes gold-frame-reflection {
  0%, 24% { background-position: 115% center; }
  74%, 100% { background-position: -15% center; }
}
@media (prefers-reduced-motion: reduce) {
  main :is(figure, a, .photo, .release-teaser-art):has(> img):not(:has(> figcaption))::before,
  .signature-video::before, #alba-stage::before { animation: none; }
}

/* Rounded tablet casing around photos and players. */
main img:not(.release-teaser-portrait, #alba-stage > img, .stage-photo > img, .opening-video-image > img, .album-stage-photo > img, .album-cover-link > img, .central-clips img), #largePhoto, .release-teaser-art, .signature-video, #alba-stage {
  --tablet-radius: clamp(14px, 3.1vw, 34px);
  border-radius: var(--tablet-radius);
  clip-path: inset(0 round var(--tablet-radius));
}
.signature-video video, #alba-stage iframe {
  border-radius: clamp(5px, 1.25vw, 12px);
}
main :is(figure, a, .photo, .release-teaser-art):has(> img):not(:has(> figcaption))::before,
.signature-video::before, #alba-stage::before {
  border: 1px solid #d2a76d;
  border-radius: clamp(14px, 3.1vw, 34px);
  box-sizing: border-box;
  padding: calc(var(--frame-width) - 1px);
  box-shadow: inset 0 0 3px #d2a76d42;
}
.signature-video::after, #alba-stage::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: clamp(3px, .8vw, 9px);
  left: 50%;
  width: clamp(4px, .7vw, 7px);
  aspect-ratio: 1;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #686177, #16101c 62%);
  box-shadow: 0 0 0 1px #f4c87977;
  pointer-events: none;
}

/* Apply the casing after the individual photo layouts. */
:is(main img:not(.release-teaser-portrait, #alba-stage > img, .stage-photo > img, .opening-video-image > img, .album-stage-photo > img, .album-cover-link > img, .central-clips img), #largePhoto) {
  border: var(--frame-width) solid #b98a49;
  border-image: url("fotos/moldura-ouro-equilibrada.webp") 90 round;
  border-radius: var(--tablet-radius);
}
.photo:hover img { transform: none; }
#closePhoto { z-index: 5; }

/* Keep the frame proportional in both full-width media and gallery tiles. */
body { --frame-width: clamp(20px, 2.9vw, 34px); }
.photo, .backstage-grid, .media-photo-gallery { --frame-width: clamp(16px, 2.2vw, 26px); }
#galeria .photo {
  border: 0;
  border-radius: clamp(14px, 3.1vw, 34px);
  box-shadow: none;
}
#galeria .photo::after { content: none; }
#galeria .photo span { inset: auto var(--frame-width) var(--frame-width); }

/* The portrait is part of the full release artwork. The ALBA cover
   shares its outer casing with the video player that replaces it. */
main .release-teaser-art > .release-teaser-portrait,
main #alba-stage > img {
  border: 0;
  border-radius: 0;
  clip-path: none;
}

/* Match the Lauro album's color photographs to its opening portrait. */
img[data-lauro-grade="light"] { filter: saturate(1.10) contrast(1.025); }
img[data-lauro-grade="stage"] { filter: saturate(1.18) brightness(1.035); }
img[data-lauro-grade="crowd"] { filter: saturate(1.24) contrast(1.055); }
img[data-lauro-grade="portrait-5"] { filter: brightness(.97) contrast(1.10) saturate(1.23); }
img[data-lauro-grade="portrait-6"] { filter: sepia(.08) contrast(1.10) saturate(1.26); }
img[data-lauro-grade="portrait-11"] { filter: brightness(1.025) contrast(1.07) saturate(1.19); }

img[data-lauro-grade="show-4"] { filter: url("#lauro-acabamento-4"); }
img[data-lauro-grade="show-9"] { filter: url("#lauro-acabamento-9"); }
img[data-lauro-grade="show-10"] { filter: url("#lauro-acabamento-10"); }

img[data-lauro-grade="back-17"] { filter: url("#lauro-back-17"); }
img[data-lauro-grade="back-20"] { filter: url("#lauro-back-20"); }
img[data-lauro-grade="back-21"] { filter: url("#lauro-back-21"); }
img[data-lauro-grade="back-22"] { filter: url("#lauro-back-22"); }

img[data-lauro-grade="back-18"] { filter: url("#lauro-back-18"); }

/* Sweep a warm highlight across the gold lettering. */
@media (prefers-reduced-motion: no-preference) {
  .brand-signature .signature-sheen {
    animation: signature-gold-sheen 6s ease-in-out infinite;
  }
}
@keyframes signature-gold-sheen {
  0%, 24% { transform: translateX(-580px); }
  74%, 100% { transform: translateX(580px); }
}

/* Warm the original TV still while retaining its framing and facial detail. */
#tv-alba img[src="fotos/tv-alba-captura-destaque.webp"] {
  filter: sepia(.06) saturate(1.18) contrast(1.08) brightness(1.02);
}

@media (prefers-reduced-motion: no-preference) {
  .signature-star {
    transform-box: fill-box;
    transform-origin: center;
    filter: drop-shadow(0 0 10px #ffc664);
    animation: signature-twinkle 6s ease-in-out infinite;
  }
}
@keyframes signature-twinkle {
  0%, 53%, 74%, 100% { opacity: 0; transform: scale(.2); }
  59%, 63% { opacity: 1; transform: scale(1.65); }
  66% { opacity: .72; transform: scale(.78); }
}

.top .brand {
  flex-shrink: 0;
}
.top .brand-signature {
  width: clamp(110px, 12vw, 150px);
  opacity: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .signature-star {
    filter: drop-shadow(0 0 12px #ffd585) drop-shadow(0 0 5px #ffae40);
  }
}

/* Opening and editorial links */
.hero {
  background: radial-gradient(ellipse at 78% 18%, #563421 0%, #251820 48%, #18121b 78%);
}
.hero-copy h1 { line-height: .9; }
.hero-copy .hero-audio {
  padding: 13px 15px;
  border: 1px solid #a87c585c;
  border-radius: 12px;
  background: #151017a6;
  width: fit-content;
  max-width: 100%;
}
.hero-audio .spotify-button {
  min-height: 44px;
  border-radius: 999px;
  font-size: .9rem;
}
.featured-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-block: 0 clamp(28px, 5vw, 54px);
}
.featured-links .hero-live-link {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 15px 18px;
  border: 1px solid #a87c585c;
  border-radius: 12px;
  background: #211822;
}
.featured-links .hero-live-link:hover { border-color: var(--gold); }
.featured-links .hero-live-link small { font-size: .7rem; }
.release-teaser.wrap {
  border: 1px solid #a87c585c;
  border-radius: 16px;
  overflow: hidden;
}
@container site-view (max-width: 650px) {
  .featured-links { grid-template-columns: minmax(0, 1fr); }
  .featured-links, .release-teaser.wrap { width: calc(100% - 24px); }
  .hero-copy .hero-audio { width: 100%; }
}

.hero-copy .hero-audio {
  width: min(100%, 365px);
  padding: 16px;
  border-color: #c1956e91;
  background: linear-gradient(140deg, #382231, #19131b 72%);
}
.hero-audio h2 {
  margin: 5px 0 2px;
  font-size: clamp(27px, 3vw, 34px);
  line-height: 1.05;
}
.hero-audio .launch-caption {
  margin: 0 0 8px;
  color: var(--sub);
  font-size: .85rem;
}
.hero-audio audio { width: 100%; }

.launch-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.launch-label .kicker { margin: 0; }
.launch-equalizer {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 3px;
  height: 22px;
}
.launch-equalizer i {
  width: 3px;
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(var(--gold), #ff7ac3);
  transform: scaleY(.5);
}
.launch-equalizer i:nth-child(2n) { transform: scaleY(.72); }
.launch-equalizer i:nth-child(3) { transform: scaleY(1); }
@media (prefers-reduced-motion: no-preference) {
  .hero-audio.is-playing .launch-equalizer i {
    animation: launch-beat .65s ease-in-out infinite alternate;
  }
  .hero-audio.is-playing .launch-equalizer i:nth-child(2n) { animation-delay: -.35s; }
  .hero-audio.is-playing .launch-equalizer i:nth-child(3) { animation-delay: -.52s; }
}
@keyframes launch-beat {
  from { transform: scaleY(.25); }
  to { transform: scaleY(1); }
}

.album-opening {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  grid-template-areas: "photo copy";
  gap: clamp(10px, 2vw, 28px);
  padding: clamp(12px, 2.8vw, 36px);
}
.album-opening .hero-photo {
  position: relative;
  isolation: isolate;
}
.album-opening .hero-photo img {
  aspect-ratio: 1;
  object-position: 39% center;
}
.album-opening .hero-photo .credit {
  position: absolute;
  bottom: var(--frame-width);
  inset-inline: var(--frame-width);
  padding: clamp(13px, 3vw, 30px);
  background: linear-gradient(transparent, #110b12ed);
  color: #fff3e7;
  text-align: left;
  line-height: 1.45;
  pointer-events: none;
}
.album-cover-title {
  display: block;
  margin-bottom: .18em;
  font: clamp(30px, 5vw, 73px)/.98 Georgia, serif;
  letter-spacing: -.045em;
  text-shadow: 0 2px 8px #140d12;
}
.album-cover-title em { color: var(--gold); }
.album-opening .hero-copy { padding: clamp(12px, 2vw, 30px); }
.launch-play { gap: 9px; margin: 0 0 9px; min-height: 44px; border-radius: 999px; }
.featured-links .featured-tve {
  border-color: #ce9a6a;
  background: linear-gradient(120deg, #422633, #261a25);
}
@container site-view (max-width: 760px) {
  .album-opening {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "photo" "copy";
  }
  .album-cover-title { font-size: clamp(32px, 9vw, 58px); }
}

/* Capa do álbum, faixas autorais e apresentações */
.album-opening {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: center;
  background: radial-gradient(ellipse at 12% 36%, #513124, #241721 52%, #171017 85%);
}
.album-opening .hero-photo {
  box-shadow: 0 18px 44px #0805098c;
}
.album-opening .hero-photo .credit { padding-right: clamp(84px, 11vw, 136px); }
.album-cover-title { font-size: clamp(25px, 4.15vw, 63px); }
.cover-play:not([hidden]) {
  display: grid;
  place-items: center;
  position: absolute;
  z-index: 1;
  bottom: clamp(22px, 4vw, 48px);
  right: clamp(22px, 4vw, 48px);
  width: clamp(56px, 7vw, 84px);
  aspect-ratio: 1;
  border: 1px solid #ffe7c8;
  border-radius: 50%;
  background: #ffce9f;
  color: #28151e;
  font-size: clamp(21px, 3vw, 32px);
  box-shadow: 0 5px 26px #1609129c;
  transition: background .18s;
}
.cover-play:hover { background: #ffe4ce; }
.album-opening .hero-copy h1 {
  font-size: clamp(47px, 6.4vw, 95px);
  margin-block: 10px 12px;
}
.album-opening .hero-copy h1 br { display: none; }
.album-opening .hero-copy h1 i::before { content: " "; white-space: pre; }
.album-opening .hero-copy .hero-audio {
  width: 100%;
  max-width: 470px;
  background: linear-gradient(145deg, #2e1d2b, #19131b 72%);
}
.opening-tracks {
  margin-top: 10px;
  border-top: 1px solid #bc93644d;
}
.opening-tracks button {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 7px 10px;
  text-align: left;
  font-size: .87rem;
  border: 0;
  border-bottom: 1px solid #bc936440;
  color: var(--ink);
  background: transparent;
}
.opening-tracks button[aria-pressed="true"] {
  color: var(--gold);
  background: #d6945220;
  box-shadow: inset 2px 0 var(--gold);
}
.opening-tracks button:hover { background: #d6945230; }
.opening-performances { margin-block: clamp(30px, 5vw, 68px); }
.opening-performances h2 {
  font-size: clamp(35px, 5vw, 62px);
  margin: 0 0 18px;
}
.opening-performances h2 em { color: var(--gold); }
.opening-videos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 2vw, 24px);
}
.opening-video {
  display: block;
  min-width: 0;
  background: #251923;
  border: 1px solid #a87c5890;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
}
.opening-video:hover { border-color: var(--gold); }
.opening-video-image { position: relative; }
.opening-video-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.opening-video-image span {
  position: absolute;
  bottom: 12px;
  left: 12px;
  display: grid;
  place-items: center;
  width: 43px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #160f17e8;
  border: 1px solid var(--gold);
  color: var(--gold);
}
.opening-video-copy { padding: 12px 14px 15px; }
.opening-video-copy small { display: block; color: var(--gold); margin-bottom: 3px; }
.opening-video-copy strong { color: var(--ink); line-height: 1.3; }
.cover-play:focus-visible, .opening-video:focus-visible, .opening-tracks button:focus-visible {
  outline: 2px solid #ffd5ac;
  outline-offset: -3px;
}
@container site-view (max-width: 760px) {
  .album-opening { grid-template-columns: minmax(0, 1fr); }
  .album-opening .hero-photo img { aspect-ratio: 6 / 5; }
  .album-opening .hero-copy { padding: 8px 5px 5px; }
  .album-opening .hero-copy h1 { font-size: clamp(40px, 10vw, 64px); }
}
@container site-view (max-width: 590px) {
  .opening-videos { grid-template-columns: minmax(0, 1fr); }
  .opening-video { display: grid; grid-template-columns: 43% minmax(0, 1fr); align-items: center; }
  .opening-video-image img { aspect-ratio: 4 / 3; }
  .opening-video-image span { width: 34px; left: 8px; bottom: 8px; }
}
