
/* Revision 24 Sep: full-screen opening, breathing room, supplied identity. */
:root{--section-space:clamp(80px,8vw,128px)}
::selection{background:var(--acid);color:#080b0a}
.hero{height:max(100svh,975px);min-height:0;max-height:none}
.hero-image{object-position:center 38%}
.hero-wordmark{left:17%;right:17%;bottom:12%}
.hero-wordmark h1{line-height:0}
.hero-wordmark h1 img{height:auto;aspect-ratio:867/194}
.hero-under{margin-top:20px}
.hero-under>:last-child{max-width:43%}
.hero-scroll{bottom:5%}
.site-header{position:fixed;background:linear-gradient(#050805f2,#050805a0);height:90px;backdrop-filter:blur(8px)}
.site-header .brand-mark img{width:43px;height:46px;object-fit:contain}
.site-header nav a[aria-current=location]{color:var(--acid);box-shadow:0 2px var(--acid)}
html{scroll-padding-top:90px}
.section{padding-top:var(--section-space);padding-bottom:var(--section-space);scroll-margin-top:0}
.section-rail{top:var(--section-space)}
.about-section{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(36px,6vw,100px);padding-right:5%}
.about-copy{padding:0}
.about-copy p{max-width:42ch;margin-top:32px}
.about-copy .text-link{margin-top:24px}
.services{padding:8px 0;row-gap:38px}
.service{padding-left:24px}
.artists-section .section-heading{margin-bottom:24px}
.artist-grid{grid-auto-columns:calc((100% - (var(--roster-columns,5) - 1)*16px)/var(--roster-columns,5))}
.artists-section .demo-note{margin-bottom:24px}
.finder{margin-top:36px;padding-top:26px}
.match-section,.booking-section{gap:clamp(24px,3vw,48px)}
.match-intro p,.booking-intro p{margin-top:32px}
.tool-tabs{padding-bottom:20px}
.match-columns{margin-top:32px}
.form-grid{gap:20px 16px}
.site-footer{padding-top:64px;padding-bottom:28px}
.site-footer .footer-logo{height:auto;width:240px;aspect-ratio:867/194}
.artist-detail{padding-top:170px}
.detail-body{margin-top:60px}
.listen{margin-top:64px;padding-top:36px}
.listen-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.listen-heading h2{margin:0}
.listen a.listen-edit{display:inline;border:0;padding:0;font-size:12px;color:var(--muted);text-decoration:underline}
.platform-links{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 32px}
.listen a.platform-link{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;border:1px solid var(--line);padding:18px 14px;min-width:88px}
.platform-link img{filter:invert(1);height:27px;width:30px;object-fit:contain}
.platform-link span{font-size:11px}
.listen a.platform-link:hover{border-color:var(--acid);color:var(--acid);background:#f2ff0008}
.soundcloud-carousel{border-top:1px solid var(--line);padding-top:24px}
.soundcloud-heading{display:flex;gap:14px;align-items:center;margin-bottom:22px}
.soundcloud-heading img{filter:invert(1);width:40px}
.soundcloud-heading h3{font-size:23px;text-transform:uppercase}
.soundcloud-player{min-height:300px;background:#101612;border:1px solid var(--line)}
.player-placeholder{padding:28px;display:flex;min-height:300px;flex-direction:column;justify-content:center;align-items:center;gap:22px;text-align:center}
.waveform{display:flex;align-items:center;justify-content:center;gap:5px;height:64px;width:100%;opacity:.6}
.waveform i{display:block;background:var(--acid);width:3px;height:var(--height)}
.load-player{font-size:16px;padding:12px 18px;gap:12px}
.soundcloud-player iframe{display:block;border:0;width:100%;height:352px}
.listen a.soundcloud-direct{border:0;display:flex;justify-content:space-between;align-items:center;font:13px Condensed;color:var(--acid);padding:16px 0}
.listen-controls{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--line)}
.listen-controls button{width:44px;height:44px;background:none;border:1px solid var(--line);color:var(--acid);font-size:22px}
.listen-count{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.hero{height:max(100svh,850px)}.hero-wordmark{left:12%;right:12%}.about-section{grid-template-columns:1fr 1.1fr;gap:36px}.service{padding-left:16px}.services{gap:28px 16px}.match-section,.booking-section{gap:30px}}
@media(max-width:760px){
 :root{--section-space:72px}
 html{scroll-padding-top:80px}
 .site-header{height:80px;padding-inline:6%;backdrop-filter:none}
 .site-header nav{padding-bottom:28px}
 .hero{height:max(110svh,860px);max-height:none}
 .hero-image{width:170%;left:-35%;object-position:center 30%}
 .hero-wordmark{left:6%;right:6%;bottom:16%}
 .hero-under{margin-top:15px;gap:16px}
 .hero-under>:first-child{font-size:20px}
 .hero-under>:last-child{font-size:14px;max-width:50%}
 .section{scroll-margin-top:0}
 .about-section{display:block;padding-right:6%}
 .about-copy h2{font-size:43px}
 .services{margin-top:44px;padding:0;row-gap:32px;column-gap:20px}
 .service{padding:0}
 .section-heading{gap:12px}
 .artists-section .section-heading{margin-bottom:22px}
 .artist-grid{grid-auto-columns:82%}
 .finder{margin-top:30px}
 .match-tool{margin-top:42px}
 .booking-section .form-grid{margin-top:42px}
 .site-footer{padding-top:44px}
 .artist-detail{padding-top:130px}
 .detail-body{margin-top:36px}
 .listen{margin-top:48px}
 .platform-links{gap:8px}
 .listen a.platform-link{min-width:76px;flex:1;padding:16px 10px}
 .player-placeholder{padding:22px 16px}
 .load-player{font-size:15px}
}


/* Release audit: accessible targets and error feedback. */
.consent a{color:var(--acid);text-decoration:underline}.detail-copy h2.eyebrow{font-size:15px;line-height:1.3}.form-status:not(:empty){padding:12px;border:1px solid var(--line)}
@media(max-width:760px){.filter-chip{min-height:44px;min-width:44px}.gallery-controls button{width:44px;height:44px}.language-switch a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.consent input{min-width:24px;min-height:24px}.consent{min-height:44px}}

.gallery-controls button:disabled{opacity:.35;cursor:default}.gallery-controls button:disabled:hover{background:none;color:var(--muted)}.form-grid input,.form-grid textarea{caret-color:var(--acid)}::selection{background:var(--acid);color:var(--bg)}
.detail-copy,.detail-photo,.soundcloud-player,.waveform{min-width:0}
@media(max-width:760px){.detail-body{grid-template-columns:minmax(0,1fr)}.load-player{max-width:100%;white-space:normal}}

/* Footer: cookie settings opens the consent banner (kavak-core/consent). */
.footer-cookie-settings{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.footer-cookie-settings:hover{color:var(--acid)}
