:root {
  --ink: #0c0a09;
  --paper: #f3eee8;
  --brown: #3d2928;
  --clay: #a9705f;
  --mist: #c8c0b9;
  --line: rgba(12, 10, 9, 0.19);
  --display: "Bebas Neue", Impact, sans-serif;
  --sans: "Manrope", Arial, sans-serif;
  --mono: "DM Mono", monospace;
  --shell: min(1280px, calc(100vw - 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 20; padding: 10px 14px; background: var(--paper); transform: translateY(-140%); }
.skip-link:focus { transform: translateY(0); }
.scroll-progress { position: fixed; z-index: 30; top: 0; left: 0; width: 100%; height: 3px; background: rgba(255,255,255,.12); pointer-events: none; }
.scroll-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left center; background: var(--clay); box-shadow: 0 0 14px rgba(169,112,95,.7); }

.site-header { position: absolute; z-index: 10; display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 26px 32px; color: white; }
.site-header.is-scrolled { position: fixed; background: rgba(12, 10, 9, 0.94); backdrop-filter: blur(10px); }
.wordmark { display: inline-flex; align-items: center; font-family: var(--display); font-size: 2rem; letter-spacing: .025em; line-height: .8; }.wordmark-alias { display: inline-flex; align-items: center; gap: .58em; margin-left: 12px; border-left: 1px solid rgba(255,255,255,.45); padding-left: 12px; color: #f0d6c5; font-family: var(--mono); font-size: .43em; font-weight: 500; letter-spacing: .075em; line-height: 1; white-space: nowrap; }.wordmark-aka { border: 1px solid rgba(240,214,197,.72); padding: .28em .44em; color: #fff7f1; font-size: .82em; letter-spacing: .12em; line-height: 1; }.wordmark-venda { display: inline-flex; align-items: center; margin-left: 12px; border-left: 1px solid rgba(255,255,255,.45); padding-left: 12px; }.wordmark-venda img { display: block; width: 33px; height: 22px; border: 1px solid rgba(255,255,255,.55); object-fit: cover; box-shadow: 0 2px 10px rgba(0,0,0,.32); }
.site-nav { display: flex; align-items: center; gap: 26px; font-family: var(--mono); font-size: .69rem; letter-spacing: .08em; text-transform: uppercase; }
.site-nav a { opacity: .82; transition: opacity .2s; }
.site-nav a:hover { opacity: 1; }
.site-nav a:not(.nav-cta).is-active { color: #f0cbbb; opacity: 1; }
.site-nav .nav-cta { border: 1px solid rgba(255,255,255,.65); padding: 10px 13px; opacity: 1; }
.menu-toggle { display: none; border: 0; background: none; color: inherit; }

.hero { position: relative; min-height: 780px; height: 100svh; overflow: hidden; background: var(--brown); color: white; }
.hero-image-wrap, .hero-shade { position: absolute; inset: 0; }
.hero-image { width: 100%; height: 100%; object-fit: contain; object-position: center; background: #050403; filter: saturate(.86) contrast(1.04); }
.hero-shade { background: linear-gradient(90deg, rgba(10,6,5,.58), rgba(10,6,5,.06) 57%), linear-gradient(0deg, rgba(10,6,5,.65), transparent 42%); }
.hero-copy { position: absolute; top: 24%; left: max(32px, calc((100vw - 1280px) / 2)); }
.eyebrow { margin: 0 0 16px; font-family: var(--mono); font-size: .65rem; letter-spacing: .11em; line-height: 1.4; text-transform: uppercase; }
.hero h1 { margin: 0; font-family: var(--display); font-size: clamp(7rem, 19vw, 16rem); font-weight: 400; letter-spacing: -.035em; line-height: .74; text-transform: uppercase; }
.hero-role { margin: 22px 0 0 7px; font-family: var(--mono); font-size: .65rem; letter-spacing: .11em; text-transform: uppercase; }
.hero-social-links { display: flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.3); padding: 9px 10px; background: rgba(12,10,9,.28); backdrop-filter: blur(8px); }.hero-social-links > span { margin-right: 4px; font-family: var(--mono); font-size: .57rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }.hero-social-links a { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(255,255,255,.62); border-radius: 50%; color: white; font-size: .83rem; transition: transform .2s, color .2s, background .2s, border-color .2s; }.hero-social-links a:hover, .hero-social-links a:focus-visible { transform: translateY(-3px); border-color: white; background: white; color: var(--ink); outline: none; }
.hero-footer { position: absolute; right: max(32px, calc((100vw - 1280px) / 2)); bottom: 34px; left: max(32px, calc((100vw - 1280px) / 2)); display: flex; align-items: end; justify-content: space-between; }
.hero-footer p { margin: 0; font-size: clamp(.8rem, 1.1vw, 1rem); font-weight: 600; line-height: 1.55; }
.round-link { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 94px; height: 94px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; font-family: var(--mono); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; transition: background .2s, color .2s; }
.round-link span:last-child { margin-top: 7px; font-size: 1rem; }.round-link:hover { background: white; color: var(--ink); }

.marquee { overflow: hidden; background: var(--clay); color: var(--ink); padding: 15px 0 11px; font-family: var(--display); font-size: clamp(1.8rem, 4vw, 3.2rem); white-space: nowrap; }
.marquee div { display: flex; align-items: center; width: max-content; animation: marquee 60s linear infinite; }
.marquee i { display: inline-block; width: 10px; height: 10px; margin: 0 28px; border-radius: 50%; background: var(--brown); }
@keyframes marquee { to { transform: translateX(-50%); } }

.section-shell { width: var(--shell); margin: 0 auto; }
.section-index { margin-bottom: 30px; font-family: var(--mono); font-size: .63rem; letter-spacing: .1em; text-transform: uppercase; }
.story { padding: 130px 0 110px; }.story-layout { display: grid; grid-template-columns: 1.3fr .7fr; gap: 8vw; align-items: start; }
.eyebrow-dark { color: #715954; }.story h2, .gallery h2, .booking h2, .music h2, .press h2 { margin: 0; font-family: var(--display); font-size: clamp(4.7rem, 10.4vw, 10.2rem); font-weight: 400; letter-spacing: -.035em; line-height: .79; text-transform: uppercase; }
h2 em { color: var(--clay); font-style: normal; }.story-body { padding-top: 58px; }.story-body p { max-width: 480px; font-size: .94rem; line-height: 1.9; }.story-body .lead { margin-top: 0; font-size: 1.15rem; font-weight: 600; line-height: 1.65; }
.text-link { display: inline-flex; gap: 11px; margin-top: 22px; padding-bottom: 6px; border-bottom: 1px solid currentColor; font-family: var(--mono); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }.text-link:hover { color: var(--clay); }.story-image { width: min(490px, 80%); margin: 95px 0 0 auto; }.story-image img { aspect-ratio: 3/4; width: 100%; object-fit: cover; }.story-image figcaption { margin-top: 10px; color: #765e59; font-family: var(--mono); font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; }

.music { display: grid; grid-template-columns: 1fr 1fr; background: var(--brown); color: white; }.music-poster { min-height: 780px; overflow: hidden; }.music-poster img { width: 100%; height: 100%; object-fit: cover; }.music-copy { display: flex; flex-direction: column; justify-content: center; padding: 80px max(55px, 9vw); }.music-copy .eyebrow { color: var(--clay); }.music h2 { font-size: clamp(4rem, 7.5vw, 7.5rem); }.music h2 em { color: #e7c9b4; }.music-copy > p:not(.eyebrow):not(.streaming-availability) { max-width: 510px; margin: 35px 0 0; color: #dad0ca; font-size: .92rem; line-height: 1.85; }.music-copy strong { color: white; }.streaming-hub { width: min(510px, 100%); margin-top: 38px; border-top: 1px solid rgba(255,255,255,.26); padding-top: 15px; }.streaming-availability { margin: 0 0 17px; color: white; font-size: .83rem; font-weight: 600; line-height: 1.45; }.streaming-hub-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 12px; color: #e7c9b4; font-family: var(--mono); font-size: .57rem; letter-spacing: .1em; text-transform: uppercase; }.streaming-hub-heading span:last-child { color: #bfa8a0; }.platform-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.platform-card { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 9px; min-height: 75px; border: 1px solid rgba(255,255,255,.22); padding: 11px 12px; background: rgba(255,255,255,.035); transition: border-color .2s, background .2s, transform .2s; }.platform-card:hover, .platform-card:focus-visible { transform: translateY(-3px); border-color: var(--platform-color); background: rgba(255,255,255,.1); outline: none; }.platform-card strong { font-size: .82rem; font-weight: 700; }.platform-card > span:last-child { grid-column: 2; margin-top: 5px; color: #cfc3bd; font-family: var(--mono); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }.platform-card b { color: var(--platform-color); font-size: .8rem; }.platform-icon { width: 24px; color: var(--platform-color); font-size: 1.35rem; line-height: 1; text-align: center; text-shadow: 0 0 14px color-mix(in srgb, var(--platform-color), transparent 38%); transition: transform .2s; }.platform-card:hover .platform-icon, .platform-card:focus-visible .platform-icon { transform: scale(1.15); }.platform-spotify { --platform-color: #1ed760; }.platform-apple { --platform-color: #f7f7f7; }.platform-amazon { --platform-color: #36c5f0; }.platform-youtube { --platform-color: #ff4646; }.button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; width: fit-content; border: 1px solid var(--ink); background: var(--ink); color: white; padding: 15px 19px; font-family: var(--mono); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; transition: background .2s, color .2s; }.button:hover { background: transparent; color: var(--ink); }.button-light { border-color: var(--paper); background: var(--paper); color: var(--ink); }.button-light:hover { background: transparent; color: white; }.text-link-light:hover { color: #e7c9b4; }

.band-section { display: grid; grid-template-columns: minmax(0, .44fr) minmax(0, .56fr); background: var(--ink); color: var(--paper); }.band-copy { display: flex; flex-direction: column; justify-content: center; padding: 100px max(32px, 4vw); }.band-copy .section-index { color: #bfa8a0; }.band-copy .eyebrow { color: var(--clay); }.band-copy h2 { margin: 19px 0 0; font-size: clamp(3.2rem, 5vw, 5.5rem); line-height: .84; }.band-copy h2 em { color: #e7c9b4; }.band-copy p:not(.eyebrow) { max-width: 490px; margin: 26px 0 0; color: #d8cfca; font-size: .92rem; line-height: 1.85; }.band-copy .band-lead { margin-top: 32px; color: white; font-size: 1.04rem; font-weight: 600; line-height: 1.7; }.band-signature { display: grid; gap: 5px; width: fit-content; margin-top: 42px; border-left: 2px solid var(--clay); padding: 4px 0 4px 14px; }.band-signature span { color: #bfa8a0; font-family: var(--mono); font-size: .57rem; letter-spacing: .12em; text-transform: uppercase; }.band-signature strong { color: #f2d2c0; font-family: var(--display); font-size: 1.65rem; font-weight: 400; letter-spacing: .035em; }.band-visual { display: grid; align-content: center; gap: 17px; margin: 0; padding: clamp(24px, 2.8vw, 44px); background: #261a18; }.band-image-frame { display: block; border: 0; padding: 9px; background: #f3eee8; box-shadow: 17px 20px 0 rgba(0,0,0,.2); cursor: zoom-in; transition: transform .25s ease, box-shadow .25s ease; }.band-image-frame:hover { transform: translateY(-4px); box-shadow: 17px 24px 0 rgba(0,0,0,.2); }.band-image-frame:focus-visible { outline: 3px solid var(--clay); outline-offset: 5px; }.band-image-frame img { display: block; width: 100%; height: auto; object-fit: contain; }.band-visual figcaption { max-width: 640px; color: #d9c7bd; font-family: var(--mono); font-size: .66rem; letter-spacing: .055em; line-height: 1.65; text-transform: uppercase; }

.gallery { padding: 130px 0; }.gallery-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 25px; margin-bottom: 64px; }.gallery-header .section-index { margin: 0; }.gallery-header h2 { font-size: clamp(4.6rem, 9.4vw, 9.2rem); }.gallery-header .text-link { justify-self: end; margin: 0 0 11px; }.gallery-grid { display: grid; grid-template-columns: 1.05fr .95fr; grid-template-rows: 420px 520px; gap: 20px; }.gallery-card { min-width: 0; margin: 0; overflow: hidden; background: var(--mist); }.gallery-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }.gallery-card:hover img { transform: scale(1.035); }.gallery-card-tall { grid-row: span 2; }.gallery-card-wide:first-of-type { grid-column: 2; }.gallery-card-wide:nth-of-type(3) { grid-column: 2; }.gallery-card-tall:nth-of-type(4) { grid-column: 1; grid-row: 2; display: none; }
.gallery-grid { display: block; columns: 3 300px; column-gap: 16px; counter-reset: gallery-photo; }
.gallery-grid .gallery-card { position: relative; display: block; width: 100%; margin: 0 0 16px; break-inside: avoid; counter-increment: gallery-photo; }
.gallery-grid .gallery-card img { width: 100%; height: auto; object-fit: cover; }
.gallery-grid .gallery-card::after { position: absolute; right: 12px; bottom: 12px; content: counter(gallery-photo, decimal-leading-zero) " / 10"; border: 1px solid rgba(255,255,255,.38); background: rgba(12,10,9,.72); color: white; padding: 7px 9px; font-family: var(--mono); font-size: .55rem; letter-spacing: .08em; backdrop-filter: blur(7px); }
.gallery-mobile-hint { display: none; }

.press { display: grid; grid-template-columns: 1fr 1fr; background: var(--ink); color: var(--paper); }.press-visual { min-height: 720px; }.press-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.8) contrast(1.08); }.press-copy { display: flex; flex-direction: column; justify-content: center; padding: 80px max(55px, 9vw); }.press-copy .section-index, .press-copy .eyebrow { color: #bfa8a0; }.press h2 em { color: var(--clay); }.press-copy > p:not(.eyebrow) { max-width: 480px; margin: 35px 0 0; color: #cac2bc; font-size: .92rem; line-height: 1.85; }.press-article-list { display: grid; gap: 11px; width: min(500px, 100%); margin-top: 30px; }.press-article { display: grid; gap: 8px; min-height: 94px; border: 1px solid rgba(255,255,255,.22); padding: 15px 17px; background: rgba(255,255,255,.035); color: var(--paper); transition: border-color .2s, background .2s, transform .2s; }.press-article:hover, .press-article:focus-visible { border-color: var(--clay); background: rgba(255,255,255,.09); color: white; transform: translateY(-3px); outline: none; }.press-article-source { color: #bfa8a0; font-family: var(--mono); font-size: .57rem; letter-spacing: .11em; text-transform: uppercase; }.press-article-title { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; font-family: var(--mono); font-size: .71rem; font-weight: 500; letter-spacing: .025em; line-height: 1.5; text-transform: uppercase; }.press-article-title b { flex: 0 0 auto; color: var(--clay); font-size: 1rem; font-weight: 400; }.press-article-coming { border-style: dashed; border-color: rgba(231,201,180,.42); background: linear-gradient(110deg, rgba(231,201,180,.08), rgba(255,255,255,.02)); color: #e7c9b4; }.press-article-coming .press-article-source { color: #e7c9b4; }.press-article-coming .press-article-title b { color: #f7e5b4; }

.events { padding: 120px 0 125px; }
.events-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .36fr); align-items: end; gap: 42px; margin-bottom: 65px; }
.events h2 { margin: 0; font-family: var(--display); font-size: clamp(5rem, 9.5vw, 9rem); font-weight: 400; letter-spacing: -.035em; line-height: .8; text-transform: uppercase; }
.events h2 em { color: var(--clay); }
.events-intro { max-width: 340px; margin: 0 0 3px; color: #604d47; font-size: .95rem; line-height: 1.8; }
.events-group + .events-group { margin-top: 57px; }
.events-group-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; max-width: 940px; margin-bottom: 20px; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.events-group-heading h3 { margin: 0; font-family: var(--display); font-size: 2.2rem; font-weight: 400; letter-spacing: .01em; line-height: 1; text-transform: uppercase; }
.events-group-heading span { color: #7a625a; font-family: var(--mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; }
.events-list { display: grid; gap: 18px; }
.event-card { display: grid; grid-template-columns: minmax(0, 245px) minmax(0, 1fr); gap: clamp(24px, 4vw, 54px); width: min(100%, 940px); min-width: 0; border: 1px solid #e1d5cd; padding: 18px; background: #eae1da; }
.event-card-text-only { grid-template-columns: 1fr; max-width: 660px; }
.event-poster { display: block; align-self: start; width: 100%; min-width: 0; background: var(--ink); box-shadow: 10px 10px 0 #d7c6bc; transition: transform .2s, box-shadow .2s; }
.event-poster img { display: block; width: 100%; height: auto; object-fit: contain; }
.event-poster:hover, .event-poster:focus-visible { transform: translateY(-4px); box-shadow: 10px 14px 0 #d7c6bc; }
.event-poster:focus-visible { outline: 3px solid var(--clay); outline-offset: 4px; }
.event-copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: 17px 14px 17px 0; }
.event-card-text-only .event-copy { padding: 22px 20px; }
.event-date { color: #7b564b; font-family: var(--mono); font-size: .68rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.event-copy h4 { margin: 18px 0 0; font-family: var(--display); font-size: clamp(3.5rem, 6vw, 5.3rem); font-weight: 400; letter-spacing: -.025em; line-height: .83; text-transform: uppercase; }
.event-theme { margin: 12px 0 0; color: #75493d; font-family: var(--mono); font-size: .72rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.event-description { max-width: 450px; margin: 26px 0 0; font-size: .95rem; line-height: 1.75; }
.event-details { display: grid; gap: 14px; width: 100%; margin: 26px 0 0; border-top: 1px solid var(--line); padding-top: 18px; }
.event-details div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 12px; }
.event-details dt { color: #6b5148; font-family: var(--mono); font-size: .61rem; letter-spacing: .08em; text-transform: uppercase; }
.event-details dd { min-width: 0; margin: 0; font-size: .84rem; font-weight: 600; line-height: 1.5; }
.event-poster-hint { margin: 25px 0 0; color: #765a50; font-family: var(--mono); font-size: .62rem; letter-spacing: .045em; text-transform: uppercase; }
.events-empty { max-width: 940px; margin: 0; border: 1px dashed #d3beb2; padding: 27px 30px; color: #6c534a; font-size: .9rem; line-height: 1.65; }
.events-empty[hidden] { display: none; }

.booking { display: grid; grid-template-columns: .9fr 1.1fr; gap: 9vw; padding: 140px 0; }.booking h2 { font-size: clamp(4.6rem, 9vw, 8.8rem); }.booking-intro > p:not(.contact-numbers) { max-width: 320px; margin: 34px 0 26px; font-size: .9rem; line-height: 1.75; }.contact-detail { display: flex; align-items: center; gap: 11px; width: fit-content; overflow-wrap: anywhere; border-bottom: 1px solid; padding: 7px 2px; font-family: var(--mono); font-size: .75rem; transition: color .2s, transform .2s; }.contact-detail + .contact-detail { margin-top: 10px; }.contact-detail:hover, .contact-detail:focus-visible { color: var(--clay); transform: translateX(4px); }.contact-icon { width: 19px; height: 19px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }.booking-form { padding-top: 55px; }.booking-form label { display: grid; gap: 10px; margin-bottom: 23px; font-family: var(--mono); font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }.booking-form label span { color: #806b65; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.booking-form input, .booking-form select, .booking-form textarea { width: 100%; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; outline: none; padding: 9px 0 11px; color: var(--ink); font-family: var(--sans); font-size: .9rem; letter-spacing: 0; text-transform: none; }.booking-form textarea { resize: vertical; }.booking-form input:focus, .booking-form select:focus, .booking-form textarea:focus { border-color: var(--clay); }.form-footer { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 8px; }.form-status { max-width: 320px; margin: 0; color: #72534b; font-size: .76rem; line-height: 1.5; }.form-status.is-error { color: #9e251e; }.button:disabled { cursor: wait; opacity: .6; }

.appreciation { padding: 110px 0 120px; background: #1d1614; color: var(--paper); }
.appreciation-layout { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); align-items: start; gap: clamp(45px, 8vw, 120px); }
.appreciation .section-index, .appreciation .eyebrow { color: #e7c9b4; }
.appreciation h2 { margin: 22px 0 0; font-family: var(--display); font-size: clamp(4.4rem, 7.8vw, 7.7rem); font-weight: 400; letter-spacing: -.025em; line-height: .81; text-transform: uppercase; }
.appreciation h2 em { color: #d39b85; }
.appreciation-intro { max-width: 400px; margin: 32px 0 0; color: #d1c4be; font-size: .94rem; line-height: 1.85; }
.appreciation-list { display: grid; gap: 16px; }
.appreciation-card { min-width: 0; border: 1px solid rgba(231,201,180,.27); border-left: 3px solid #d39b85; padding: clamp(23px, 3vw, 38px); background: #2b211e; box-shadow: 16px 16px 0 rgba(0,0,0,.11); }
.appreciation-card-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #e7c9b4; font-family: var(--mono); font-size: .61rem; letter-spacing: .12em; text-transform: uppercase; }
.appreciation-card-top span:last-child { color: #d39b85; font-size: 1.15rem; line-height: 1; }
.appreciation-logo { display: block; width: min(100%, 410px); height: auto; margin: 33px 0 0; box-shadow: 0 12px 27px rgba(0,0,0,.2); }
.appreciation-card h3 { margin: 30px 0 0; font-family: var(--sans); font-size: clamp(1.7rem, 2.8vw, 2.25rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.2; }
.appreciation-card p { max-width: 530px; margin: 15px 0 0; color: #ddd1cb; font-size: .92rem; line-height: 1.8; }

@media (max-width: 850px) {
  .appreciation { padding: 82px 0 92px; }
  .appreciation-layout { grid-template-columns: 1fr; gap: 39px; }
  .appreciation h2 { font-size: clamp(4.1rem, 12vw, 6.5rem); }
  .appreciation-intro { margin-top: 23px; }
  .appreciation-card { box-shadow: 9px 9px 0 rgba(0,0,0,.11); }
}

@media (max-width: 760px) {
  .appreciation h2 { font-size: clamp(4.1rem, 17vw, 6rem); }
  .appreciation-card { padding: 22px; }
  .appreciation-logo { margin-top: 27px; }
}

.site-footer { display: grid; grid-template-columns: 1.2fr .7fr 1fr; gap: 30px; border-top: 1px solid rgba(255,255,255,.15); background: var(--brown); color: #f6efeb; padding: 48px max(32px, calc((100vw - 1280px) / 2)); }.site-footer > p { margin: 0; color: #bfa8a0; font-family: var(--mono); font-size: .62rem; letter-spacing: .05em; line-height: 1.85; text-transform: uppercase; }.social-links { display: flex; justify-content: flex-end; gap: 8px; font-family: var(--mono); font-size: .58rem; letter-spacing: .05em; text-transform: uppercase; }.social-link { --social-color: #f6efeb; display: inline-flex; align-items: center; gap: 8px; min-height: 38px; border: 1px solid rgba(255,255,255,.2); padding: 0 11px; color: #f6efeb; transition: transform .2s, border-color .2s, color .2s, background .2s; }.social-link i { color: var(--social-color); font-size: .95rem; line-height: 1; transition: transform .2s; }.social-link:hover, .social-link:focus-visible { transform: translateY(-3px); border-color: var(--social-color); background: rgba(255,255,255,.08); color: white; outline: none; }.social-link:hover i, .social-link:focus-visible i { transform: scale(1.18); }.social-link.instagram { --social-color: #f5a7b8; }.social-link.tiktok { --social-color: #61e5ed; }.social-link.youtube { --social-color: #ff7a75; }.social-link.facebook { --social-color: #8db5ff; }.social-text-link { display: inline-flex; align-items: center; gap: 7px; }.social-text-link i { color: var(--clay); font-size: 1rem; }.footer-base { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(255,255,255,.14); padding-top: 25px; }.site-footer .copyright { margin: 0; color: #bfa8a0; font-family: var(--mono); font-size: .62rem; letter-spacing: .05em; line-height: 1.85; text-transform: uppercase; }.venda-footer-mark { display: flex; align-items: center; gap: 10px; margin: 0; }.venda-footer-mark img { display: block; width: 58px; height: 39px; border: 1px solid rgba(255,255,255,.55); object-fit: cover; box-shadow: 0 3px 13px rgba(0,0,0,.25); }.venda-footer-mark figcaption { color: #e7c9b4; font-family: var(--mono); font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; }

@media (min-width: 761px) and (max-width: 950px) {
  .site-footer { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .social-links { grid-column: 1 / -1; justify-content: flex-start; flex-wrap: wrap; }
}

.gallery-card { border: 0; padding: 0; text-align: left; }.gallery-card:focus-visible { outline: 3px solid var(--clay); outline-offset: 4px; }.gallery-card:focus-visible img { transform: scale(1.035); }
.lightbox { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; width: 100%; height: 100%; padding: 4vh 3vw; background: rgba(0,0,0,.9); color: white; backdrop-filter: blur(9px); }.lightbox[hidden] { display: none; }.lightbox-content { position: relative; display: grid; max-width: min(1120px, 94vw); max-height: 92svh; padding: 0; }.lightbox img { max-width: 100%; max-height: 84svh; margin: auto; object-fit: contain; }.lightbox p { margin: 12px 0 0; color: rgba(255,255,255,.78); font-family: var(--mono); font-size: .65rem; letter-spacing: .07em; text-align: center; text-transform: uppercase; }.lightbox-close { position: absolute; z-index: 1; top: 13px; right: 13px; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(12,10,9,.55); color: white; font-size: 1.7rem; line-height: 1; }.lightbox-close:hover, .lightbox-close:focus-visible { background: var(--clay); }
.lightbox img { touch-action: pan-y; user-select: none; -webkit-user-drag: none; }
.lightbox-nav { position: absolute; z-index: 2; top: 50%; display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(12,10,9,.62); color: white; font-size: 1.25rem; transform: translateY(-50%); backdrop-filter: blur(7px); transition: background .2s, border-color .2s, transform .2s; }
.lightbox-nav[hidden] { display: none; }
.lightbox-nav svg { display: block; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.lightbox-previous { left: 13px; }
.lightbox-next { right: 13px; }
.lightbox-nav:hover, .lightbox-nav:focus-visible { border-color: var(--clay); background: var(--clay); transform: translateY(-50%) scale(1.06); outline: none; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }.reveal.is-visible { opacity: 1; transform: translateY(0); }
body.menu-is-open, body.lightbox-is-open { overflow: hidden; }

@media (min-width: 761px) and (max-width: 1100px) {
  .site-header { padding: 22px; }
  .wordmark { font-size: 1.7rem; }
  .site-nav { gap: 12px; font-size: .6rem; }
}

@media (min-width: 761px) and (max-width: 790px) {
  .wordmark > span:first-child { white-space: nowrap; }
  .site-nav { gap: 10px; }
}

@media (max-width: 760px) {
  :root { --shell: calc(100vw - 40px); }.site-header { padding: 20px; }.wordmark { font-size: 1.7rem; }.wordmark-alias { margin-left: 8px; padding-left: 8px; font-size: .34em; letter-spacing: .06em; }.wordmark-venda { margin-left: 8px; padding-left: 8px; }.wordmark-venda img { width: 25px; height: 17px; }.menu-toggle { position: relative; z-index: 2; display: grid; gap: 5px; width: 36px; padding: 8px; }.menu-toggle span:not(.sr-only) { display: block; height: 1px; background: currentColor; }.site-nav { position: absolute; top: 0; right: 0; left: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 26px; padding: 96px 20px 30px; background: var(--ink); transform: translateY(-115%); transition: transform .25s ease; }.site-nav.is-open { transform: translateY(0); }.site-nav a { font-size: .85rem; }.hero { min-height: 670px; }.hero-image { object-fit: cover; object-position: 44% center; }.hero-shade { background: linear-gradient(90deg, rgba(10,6,5,.64), rgba(10,6,5,.06)), linear-gradient(0deg, rgba(10,6,5,.72), transparent 46%); }.hero-copy { top: auto; bottom: 94px; left: 20px; }.hero h1 { font-size: clamp(6rem, 29vw, 10rem); }.hero-role { margin-left: 3px; }.hero-footer { right: 20px; bottom: 20px; left: 20px; }.round-link { width: 78px; height: 78px; }.story { padding: 80px 0; }.story-layout, .music, .press, .booking { grid-template-columns: 1fr; }.story h2, .gallery h2, .booking h2 { font-size: clamp(4.2rem, 20vw, 7rem); }.story-body { padding-top: 35px; }.story-image { width: 100%; margin: 55px 0 0; }.music-poster { min-height: 490px; }.music-copy, .press-copy { padding: 68px 20px; }.music h2, .press h2 { font-size: clamp(4.4rem, 19vw, 7rem); }.gallery { padding: 80px 0; }.gallery-header { display: flex; flex-direction: column; align-items: flex-start; gap: 19px; margin-bottom: 35px; }.gallery-header .text-link { margin: 0; }.gallery-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: 460px 285px 285px; gap: 12px; }.gallery-card, .gallery-card-tall, .gallery-card-wide:first-of-type, .gallery-card-wide:nth-of-type(3) { grid-column: auto; grid-row: auto; }.gallery-card:nth-child(4) { display: none; }.press-visual { min-height: 440px; }.booking { gap: 18px; padding: 85px 0; }.booking-form { padding-top: 22px; }.form-row { grid-template-columns: 1fr; gap: 0; }.form-footer { align-items: flex-start; flex-direction: column; }.site-footer { grid-template-columns: 1fr; padding: 39px 20px; }.social-links { justify-content: flex-start; flex-wrap: wrap; }.footer-base { align-items: flex-start; flex-direction: column; gap: 18px; }.site-footer .copyright { margin-top: 0; }
}

@media (max-width: 760px) {
  .events { padding: 80px 0 85px; }
  .events-header { grid-template-columns: 1fr; gap: 22px; margin-bottom: 40px; }
  .events h2 { font-size: clamp(4.5rem, 17vw, 6.8rem); }
  .events-intro { max-width: 450px; }
  .events-group + .events-group { margin-top: 46px; }
  .events-group-heading h3 { font-size: 1.9rem; }
  .events-group-heading span { font-size: .55rem; text-align: right; }
  .event-card { grid-template-columns: 1fr; gap: 22px; padding: 14px; }
  .event-poster { width: min(100%, 310px); justify-self: center; box-shadow: 7px 7px 0 #d7c6bc; }
  .event-poster:hover, .event-poster:focus-visible { box-shadow: 7px 11px 0 #d7c6bc; }
  .event-copy, .event-card-text-only .event-copy { padding: 5px 4px 13px; }
  .event-copy h4 { font-size: clamp(3.3rem, 15vw, 4.8rem); }
  .event-details div { grid-template-columns: 1fr; gap: 3px; }
  .events-empty { padding: 22px; }
}

@media (max-width: 360px) {
  .site-header .wordmark { display: grid; grid-template-columns: auto auto; column-gap: 8px; row-gap: 5px; font-size: 1.55rem; }
  .site-header .wordmark > span:first-child { grid-column: 1; white-space: nowrap; }
  .site-header .wordmark-alias { grid-column: 1 / -1; grid-row: 2; margin: 0; border: 0; padding: 0; font-size: .36em; }
  .site-header .wordmark-venda { grid-column: 2; grid-row: 1; margin: 0; border: 0; padding: 0; }
}

@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .gallery-mobile-hint { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; margin: -5px 0 0; color: #6a544e; font-family: var(--mono); font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
  .gallery-mobile-count { display: inline-flex; align-items: center; gap: 9px; color: #704a3e; }
  .gallery-mobile-count b { font-size: 1rem; font-weight: 400; }
  .gallery-grid { display: grid; grid-template-columns: none; grid-template-rows: 1fr; grid-auto-flow: column; grid-auto-columns: min(76%, 310px); gap: 10px; width: 100%; overflow-x: auto; overflow-y: hidden; padding: 0 0 15px; counter-reset: gallery-photo; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .gallery-grid::-webkit-scrollbar { display: none; }
  .gallery-grid .gallery-card, .gallery-grid .gallery-card:nth-child(4) { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; margin: 0; break-inside: auto; counter-increment: gallery-photo; scroll-snap-align: start; scroll-snap-stop: always; }
  .gallery-grid .gallery-card img { width: 100%; height: 100%; object-fit: cover; }
  .gallery-grid .gallery-card::after { position: absolute; right: 12px; bottom: 12px; content: counter(gallery-photo, decimal-leading-zero) " / 10"; border: 1px solid rgba(255,255,255,.38); background: rgba(12,10,9,.72); color: white; padding: 7px 9px; font-family: var(--mono); font-size: .55rem; letter-spacing: .08em; backdrop-filter: blur(7px); }
  .band-section { grid-template-columns: 1fr; }
  .band-copy { min-width: 0; padding: 72px 20px 55px; }
  .band-copy h2 { max-width: 100%; font-size: clamp(2.75rem, 13vw, 4.2rem); line-height: .9; letter-spacing: -.025em; }
  .band-copy .band-lead { font-size: 1rem; }
  .band-section, .band-visual { width: 100%; max-width: 100%; overflow: hidden; }
  .band-visual { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: 15px; padding: 20px 16px 28px; }
  .band-image-frame { flex: 0 0 auto; width: 100%; max-width: none; margin: 0; padding: 6px; box-shadow: 0 12px 22px rgba(0,0,0,.24); }
  .band-image-frame img { width: 100%; max-width: 100%; }
  .band-visual figcaption { flex: 0 0 auto; width: 100%; max-width: none; margin: 0; }
}

@media (max-width: 760px) {
  .menu-toggle span:not(.sr-only) { transition: opacity .2s ease, transform .2s ease; }
  .menu-toggle.is-open span:nth-of-type(2) { transform: translateY(6px) rotate(45deg); }
  .menu-toggle.is-open span:nth-of-type(3) { opacity: 0; }
  .menu-toggle.is-open span:nth-of-type(4) { transform: translateY(-6px) rotate(-45deg); }
  .hero-social-links { gap: 7px; padding: 8px; }.hero-social-links > span { display: none; }.hero-social-links a { width: 32px; height: 32px; }.lightbox { width: 94vw; }.lightbox img { max-height: 80svh; }
}

@media (max-width: 760px) {
  .lightbox { width: 100%; padding: 3vh 12px; }
  .lightbox-content { width: 100%; }
  .lightbox-nav { width: 40px; height: 40px; font-size: 1rem; }
  .lightbox-previous { left: 7px; }
  .lightbox-next { right: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .marquee div { animation: none !important; }
}

.booking-form .trap-field { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.form-privacy { max-width: 390px; margin: -3px 0 20px; color: #6a544e; font-size: .7rem; line-height: 1.55; }

.music-copy .eyebrow { color: #e7c9b4; }
