@font-face{font-family:Michroma;src:url('./assets/michroma-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;--black:#000;--white:#f2efe8;--beige:#ad7d56;--dust:#cdb49e;--line:rgba(255,255,255,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:var(--black);color:var(--white);font-family:Michroma,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--white);outline-offset:7px}::selection{background:var(--white);color:var(--black)}h1,h2,p{margin:0;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:50;top:0;left:25px;padding:15px;background:var(--white);color:#000;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}
/* Floating header: intentionally no border or stroke. */
.site-header{position:fixed;z-index:20;top:28px;left:3.2%;right:3.2%;height:76px;border:0;border-radius:18px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 28px;background:rgba(15,15,15,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity .45s ease,background .25s ease}
.brand{position:fixed;z-index:35;left:50%;top:30px;width:72px;height:72px;margin-left:-36px;display:grid;place-items:center;transform-origin:center;will-change:transform}.brand img{display:block;width:72px;height:72px;object-fit:contain}.menu-toggle{display:flex;align-items:center;gap:14px;justify-self:start;background:none;border:0;padding:14px 0}.menu-label{font-size:10px;letter-spacing:.15em}.menu-lines{display:grid;gap:7px;width:25px}.menu-lines i{height:1px;width:25px;background:var(--white);transition:width .25s}.menu-toggle:hover .menu-lines i:last-child{width:16px}.menu-toggle:hover{color:var(--dust)}
/* Use the original logo alpha as a mask so branding matches the headline exactly. */
.brand img{opacity:0}
.brand::before{content:"";position:absolute;inset:0;background:var(--white);-webkit-mask:url('./assets/logo-white.png') center/contain no-repeat;mask:url('./assets/logo-white.png') center/contain no-repeat}
/* Full-screen artist hero. */
.hero{position:relative;height:100svh;min-height:650px;isolation:isolate;overflow:hidden;background:#000}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,.05) 50%,rgba(0,0,0,.7));z-index:-2}.hero-content{position:absolute;left:3%;right:3%;top:42%;display:flex;flex-direction:column;align-items:center;text-align:center}.hero h1{font-size:clamp(28px,4.65vw,100px);line-height:1.2;letter-spacing:-.035em;white-space:nowrap;color:var(--white)}
.outline-button{margin-top:52px;width:280px;min-height:56px;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--dust);background:var(--dust);color:#000;font-size:11.5px;letter-spacing:0;padding:17px 15px;transition:background .25s,color .25s,border-color .25s}.outline-button>span:last-child{font-size:19px;line-height:1}.outline-button:hover{background:#d8c4b3;border-color:#d8c4b3;color:#000}.scroll-cue{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:30px;font-size:12px;letter-spacing:.04em;white-space:nowrap;color:var(--white)}.scroll-cue:hover{color:var(--dust)}.scroll-cue i{width:1px;height:clamp(65px,16vh,180px);background:rgba(242,239,232,.5);transition:background .25s}.scroll-cue:hover i{background:var(--dust)}
/* A soft mask travels down the line, erasing it from top to bottom. */
.scroll-cue i{-webkit-mask-image:linear-gradient(to bottom,transparent 28%,#000 34%,#000 70%,transparent 76%);mask-image:linear-gradient(to bottom,transparent 28%,#000 34%,#000 70%,transparent 76%);-webkit-mask-size:100% 300%;mask-size:100% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 50%;mask-position:0 50%;animation:scroll-line-erase 2.8s ease-in-out infinite}
.home:not(.intro-complete) .scroll-cue i{animation-play-state:paused}
@keyframes scroll-line-erase{0%,12%{-webkit-mask-position:0 50%;mask-position:0 50%;opacity:1}72%{-webkit-mask-position:0 0%;mask-position:0 0%;opacity:1}78%{-webkit-mask-position:0 0%;mask-position:0 0%;opacity:0}79%{-webkit-mask-position:0 50%;mask-position:0 50%;opacity:0}100%{-webkit-mask-position:0 50%;mask-position:0 50%;opacity:1}}

/* Unlabelled space reserved for the next player stage. */
.music-area{min-height:70svh;padding:90px 6% 65px;scroll-margin-top:110px;background:#000;outline:none}.music-space{height:200px}
/* One balanced desktop row; readable wrapping on smaller screens. */
.social-strip{display:flex;align-items:center;justify-content:space-between;gap:clamp(8px,1.1vw,22px);flex-wrap:nowrap;padding:48px 4%;border-top:1px solid #24211e;border-bottom:1px solid #24211e;background:#000;min-height:120px}.social-strip a{display:flex;gap:7px;align-items:center;color:var(--white);font-size:clamp(9px,.76vw,13px);white-space:nowrap;transition:color .2s}.social-strip a>span[aria-hidden]{display:inline-block;font-size:18px;transition:transform .25s}.social-strip a:hover{color:var(--dust)}.social-strip a:hover>span[aria-hidden]{transform:translate(2px,-2px)}.site-footer{padding:27px 4%;display:flex;justify-content:space-between;gap:20px;color:#999;font-size:9px;letter-spacing:.08em;background:#000}
/* Sliding glass panel, overlaid on the current page. */
.menu-open .site-header,.menu-open>.brand{opacity:0;visibility:hidden;pointer-events:none;transition:none}
dialog{position:fixed;inset:0 auto 0 0;width:60vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(25px,3.5vh,45px) clamp(35px,6vw,115px) 38px;border:0;border-radius:0;background:rgba(12,12,12,.6);color:var(--white);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);overflow:auto;overscroll-behavior:contain}
dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:rgba(0,0,0,.12)}
.menu-top{display:flex;justify-content:space-between;align-items:center;min-height:80px;gap:25px;flex-shrink:0}
.menu-close{background:none;border:0;display:grid;place-items:center;padding:6px 0;width:32px;height:44px;font-size:28px;line-height:1;color:var(--white)}.menu-close:hover{color:var(--dust)}.close-icon{position:relative;display:block;width:24px;height:24px}.close-icon i{position:absolute;left:1px;top:11px;width:22px;height:1px;background:currentColor;transform-origin:center;transition:transform .22s ease}.close-icon i:first-child{transform:rotate(45deg) scaleX(1)}.close-icon i:last-child{transform:rotate(-45deg) scaleX(1)}.menu-close:hover .close-icon i:first-child{transform:rotate(45deg) scaleX(.72)}.menu-close:hover .close-icon i:last-child{transform:rotate(-45deg) scaleX(.72)}
.menu-brand{position:relative;display:block;width:80px;height:80px;flex-shrink:0}.menu-brand img{width:100%;height:100%;opacity:0}.menu-brand::before{content:"";position:absolute;inset:0;background:var(--white);-webkit-mask:url('./assets/logo-white.png') center/contain no-repeat;mask:url('./assets/logo-white.png') center/contain no-repeat}
.menu-links{flex:1;min-height:390px;display:flex;flex-direction:column;justify-content:space-evenly;gap:8px;padding:34px 0 40px}
.menu-links a{display:flex;justify-content:flex-end;align-items:center;min-height:38px;padding:8px 0;border:0;color:var(--white);font-size:clamp(16px,1.25vw,24px);line-height:1.5;letter-spacing:0;text-align:right;transition:color .2s,transform .3s}.menu-links a:hover{color:var(--dust)}.menu-links a[aria-current]{color:var(--beige)}.menu-links a:hover{transform:translateX(-5px)}.menu-arrow{display:none}
.menu-socials{display:grid;grid-template-columns:repeat(3,max-content);justify-content:end;gap:17px 28px;border-top:1px solid rgba(242,239,232,.5);padding-top:28px;flex-shrink:0}
.menu-socials a{display:flex;justify-content:flex-end;align-items:center;gap:7px;white-space:nowrap;font-size:clamp(9px,.64vw,12px);line-height:1.7;color:var(--white);transition:color .2s}.menu-socials a:hover{color:var(--dust)}.menu-socials a>span[aria-hidden]{font-size:16px}
.empty-page{min-height:calc(100svh - 65px);padding:220px 7% 100px;display:flex;align-items:center;background:#000}.eyebrow{font-size:11px;letter-spacing:.3em;color:#d4d4d4;margin-bottom:25px}.page-heading h1{font-size:clamp(36px,7.5vw,110px);letter-spacing:-.04em}.back-link{display:inline-flex;align-items:center;gap:16px;font-size:11px;letter-spacing:.15em;margin-top:48px;border-bottom:1px solid #555;padding-bottom:12px}.back-link:hover{color:var(--dust)}

/* Same MO logo shrinks in place, then travels to the header. */
.intro-screen{display:none}.js .home:not(.intro-complete) .site-header,.js .home:not(.intro-complete) .hero-content,.js .home:not(.intro-complete) .scroll-cue{opacity:0}.js .home:not(.intro-complete) .brand{opacity:0}.js .home.intro-animating .brand{opacity:1}.js .home:not(.intro-complete) .intro-screen{display:block;position:fixed;inset:0;background:#000;z-index:30;transition:opacity .65s ease}.home.intro-revealing .intro-screen{opacity:0;pointer-events:none}.home.intro-complete .hero-content,.home.intro-complete .scroll-cue{transition:opacity .75s ease}
@media(max-width:1100px) and (min-width:901px){.social-strip{padding-left:3%;padding-right:3%;gap:9px}.social-strip a{font-size:9px;gap:4px}.social-strip a>span[aria-hidden]{font-size:15px}}
@media(max-width:900px){.site-header{height:66px;padding:0 20px;top:18px;border-radius:14px}.brand{top:18px;width:66px;height:66px;margin-left:-33px}.brand img{width:64px;height:64px}.hero{min-height:600px}.hero-photo{object-position:62% center}.hero-content{top:43%}.hero h1{font-size:5.65vw}.outline-button{margin-top:40px}.social-strip{justify-content:center;flex-wrap:wrap;column-gap:30px;row-gap:24px}.social-strip a{font-size:11px}}
@media(max-width:540px){.site-header{left:18px;right:18px;top:18px;height:64px;padding:0 18px}.menu-label{display:none}.brand{top:18px;width:64px;height:64px;margin-left:-32px}.brand img{width:60px;height:60px}.hero-photo{object-position:69% center}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.17),rgba(0,0,0,.1) 25%,rgba(0,0,0,.55) 65%,rgba(0,0,0,.7))}.hero-content{top:43%;left:18px;right:18px}.hero h1{font-size:5.55vw;letter-spacing:-.04em}.outline-button{margin-top:35px;width:265px;min-height:54px;font-size:10.5px;padding:16px 14px}.scroll-cue{font-size:9px;gap:24px}.scroll-cue i{height:19vh}.music-area{padding:60px 25px 40px;min-height:50vh;scroll-margin-top:95px}.music-space{height:120px}.social-strip{padding:35px 24px;justify-content:flex-start;gap:24px 22px}.social-strip a{font-size:10px}.site-footer{padding:25px 24px;font-size:8px;line-height:1.8;flex-direction:column;gap:5px}.menu-top{font-size:10px;letter-spacing:0}dialog{padding:25px}.menu-links a{font-size:25px}.menu-bottom{font-size:8px;letter-spacing:0}.empty-page{padding:180px 25px 80px}.page-heading h1{font-size:36px}.eyebrow{font-size:9px;letter-spacing:.2em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.intro-screen{display:none!important}.js .home:not(.intro-complete) .brand,.js .home:not(.intro-complete) .site-header,.js .home:not(.intro-complete) .hero-content,.js .home:not(.intro-complete) .scroll-cue{opacity:1}}

/* Compact heights and phones retain usable navigation. */
@media(max-height:700px) and (min-width:641px){dialog{padding-top:18px;padding-bottom:24px}.menu-top{min-height:60px}.menu-brand{width:64px;height:64px}.menu-links{min-height:280px;padding:20px 0;gap:2px}.menu-links a{min-height:32px;font-size:16px;padding:5px 0}.menu-socials{padding-top:20px;row-gap:10px}}
@media(max-width:640px){dialog{width:100%;padding:22px 28px 32px}.menu-top{min-height:65px}.menu-brand{width:70px;height:70px}.menu-links{min-height:330px;padding:28px 0}.menu-links a{font-size:19px;padding:7px 0}.menu-socials{grid-template-columns:repeat(2,max-content);font-size:10px;gap:14px 24px;padding-top:24px}.menu-socials a{font-size:10px}.menu-close{font-size:25px}}

/* Social links stay on a single row; narrow screens can swipe the row. */
.menu-socials{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:clamp(6px,.5vw,12px);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--dust) transparent;padding-bottom:8px}
.menu-socials a{flex:0 0 auto;font-size:clamp(8px,.55vw,10.5px);gap:3px}
.menu-socials a>span[aria-hidden]{font-size:12px}
@media(max-width:640px){.menu-socials{justify-content:flex-start;gap:20px;scroll-padding:5px}.menu-socials a{font-size:11px}.menu-socials a>span[aria-hidden]{font-size:15px}}

/* Intro choreography: logo lands, header expands, then the name types in. */
.menu-toggle{color:var(--white);transition:color .2s ease}
.menu-lines i{background:currentColor;transition:width .25s ease,background-color .2s ease}
.hero h1{position:relative}
.title-layout{display:block}
.js .title-layout{visibility:hidden}
.typewriter-text{position:absolute;left:0;top:0;white-space:pre}
.typing .typewriter-text::after{content:"";display:inline-block;width:1px;height:.8em;margin-left:.045em;background:currentColor;vertical-align:baseline;animation:type-caret .4s steps(1,end) infinite}
@keyframes type-caret{0%,55%{opacity:1}56%,100%{opacity:0}}
.js .home.bar-revealing .site-header{opacity:1;z-index:31;transition:none}
.js .home:not(.intro-complete) .site-header{pointer-events:none}
.home.intro-complete .hero-content{transition:opacity .2s ease}
@media(prefers-reduced-motion:reduce){.typing .typewriter-text::after{display:none}}

/* Inline music library. Audio and download files are deliberately separate. */
.outline-button:hover{background:var(--beige);border-color:var(--beige)}
.music-area{padding:90px 7% 80px;min-height:0;scroll-margin-top:110px}
.music-player{max-width:1600px;margin:auto;transform-origin:50% 50%;--track-grid:36px 46px minmax(0,1fr) 122px 56px 254px;--track-gap:14px;--track-inset:20px}
.player-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.track-count{font-size:11px;letter-spacing:.13em;color:var(--dust)}
.sort-controls{display:flex;gap:8px}.sort-controls button{border:1px solid #302923;border-radius:30px;background:#141210;padding:9px 17px;font-size:10px;letter-spacing:.1em}.sort-controls button:disabled{color:#8b837c;cursor:help}
.track-list{border:1px solid #302923;border-radius:18px;overflow:hidden;background:linear-gradient(120deg,#11100e,#090909 65%)}
.track-columns{display:grid;grid-template-columns:var(--track-grid);padding:14px var(--track-inset);gap:var(--track-gap);font-size:9px;letter-spacing:.15em;color:var(--dust);border-bottom:1px solid #302923}.track-columns span:first-child{grid-column:3}.track-columns span:nth-child(2){grid-column:4;text-align:center}.track-columns span:nth-child(3){grid-column:5;text-align:center}
.track-row{border-bottom:1px solid #2b2520;transition:background .25s}.track-row:last-of-type{border-bottom:0}.track-row.is-active{background:rgba(205,180,158,.035)}
.track-row[hidden],.wave-panel[hidden],.show-more[hidden]{display:none}
.track-main{display:grid;grid-template-columns:var(--track-grid);align-items:center;gap:var(--track-gap);padding:16px var(--track-inset);min-height:82px}
.track-play{width:40px;height:40px;border-radius:50%;border:1px solid #655447;background:transparent;color:var(--dust);padding:11px;display:grid;place-items:center;transition:color .2s,border-color .2s,background .2s}.track-play:hover{background:var(--beige);border-color:var(--beige);color:#000}.track-play svg{width:18px;height:18px;fill:currentColor;grid-area:1/1}.pause-symbol{display:none}.is-playing .play-symbol{display:none}.is-playing .pause-symbol{display:block}.track-play[aria-busy=true]{opacity:.6}
.track-cover{width:46px;height:46px;object-fit:cover;border-radius:6px}.track-copy{min-width:0}.track-copy h2{font-size:clamp(10.5px,.76vw,13px);line-height:1.7;overflow-wrap:anywhere;color:var(--white)}.track-copy p{font-size:9px;margin-top:5px;line-height:1.6;color:#9b948d}
.track-genre{font-size:8px;letter-spacing:.07em;text-align:center;text-transform:uppercase;border-radius:22px;background:rgba(205,180,158,.07);padding:9px 7px;white-space:nowrap}.track-duration{font-size:10px;color:#b5aba0;text-align:center;font-variant-numeric:tabular-nums}
.track-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.track-action,.youtube-link{display:inline-flex;justify-content:center;align-items:center;gap:8px;white-space:nowrap;border-radius:25px;min-height:35px;font-size:9px;transition:background .2s,color .2s;line-height:1.4}
.track-action{background:var(--dust);color:#000;padding:10px 15px;min-width:130px}.track-action:hover{background:var(--beige)}.download-icon{font-size:20px;line-height:12px;border-bottom:1px solid currentColor;padding-bottom:3px}.youtube-link{padding:9px 12px;color:var(--white);background:#2b2723}.youtube-link:is(:hover,:focus-visible),.track-action:is(:hover,:focus-visible){background-color:var(--beige);color:#000}.youtube-link svg{width:17px;height:17px;fill:currentColor;transition:fill .2s}.youtube-link svg path{fill:#2b2723;transition:fill .2s}.youtube-link:is(:hover,:focus-visible) svg path{fill:var(--beige)}.youtube-link>span:last-child{font-size:15px}
.wave-panel{padding:0 20px 14px 130px;animation:wave-reveal .3s ease-out}.wave-inner{display:flex;align-items:center;gap:14px}.wave-seek{height:62px;flex:1;min-width:0;position:relative;cursor:crosshair;touch-action:pan-y}.wave-seek canvas{width:100%;height:100%;display:block}.wave-cursor{position:absolute;top:2px;bottom:2px;left:var(--progress,0%);width:1px;background:var(--white);opacity:.65;pointer-events:none}.wave-seek:focus-visible{outline:1px solid var(--dust);outline-offset:4px}.wave-elapsed,.wave-total{font-size:9px;color:var(--dust);min-width:38px;font-variant-numeric:tabular-nums}.wave-total{text-align:right}
.show-more{display:flex;justify-content:center;align-items:center;gap:14px;width:100%;border:0;border-top:1px solid #302923;background:transparent;padding:19px;color:var(--dust);font-size:10px}.show-more:hover{color:var(--white);background:rgba(205,180,158,.03)}.show-more span{font-size:18px;line-height:10px}.player-status{color:var(--dust);font-size:11px;line-height:1.8;margin-top:14px}.player-status:empty{display:none}.track-audio{display:none}
@keyframes wave-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1200px){.music-player{--track-grid:36px 44px minmax(0,1fr) 104px 235px;--track-gap:12px;--track-inset:18px}.track-main{padding:16px var(--track-inset)}.track-columns{padding:14px var(--track-inset)}.track-columns span:last-child,.track-duration{display:none}.track-actions{gap:7px}.track-action{min-width:126px;padding:9px 12px}.youtube-link{padding:9px}.track-cover{width:44px;height:44px}.track-play{width:36px;height:36px;padding:9px}.wave-panel{padding-left:126px}.track-copy h2{font-size:11px}}
@media(max-width:800px){.music-area{padding:65px 20px}.track-columns{display:none}.track-main{grid-template-columns:36px 44px minmax(0,1fr);gap:12px;padding:18px 16px}.track-cover{width:44px;height:44px}.track-copy h2{font-size:11px;line-height:1.7}.track-copy p{font-size:9px}.track-genre{grid-column:3;grid-row:2;justify-self:start;font-size:8px;padding:6px 9px}.track-actions{grid-column:2/4;grid-row:3;justify-content:flex-end;margin-top:3px}.track-action,.youtube-link{font-size:9px;min-height:35px}.track-action{min-width:130px}.wave-panel{padding:0 16px 18px}.wave-inner{gap:8px}.wave-seek{height:62px}.wave-elapsed,.wave-total{font-size:8px;min-width:32px}.player-toolbar{gap:10px}.sort-controls{gap:6px}.sort-controls button{font-size:8px;padding:9px 11px}.track-count{font-size:9px}.track-list{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.wave-panel{animation:none}.music-player{transform:none!important;opacity:1!important}}


.releases-heading{display:flex;align-items:center;gap:16px;white-space:nowrap}.releases-heading h2{font-size:clamp(16px,1.2vw,21px);letter-spacing:.04em}.releases-divider{font-size:16px;color:#6c6158}.releases-heading .track-count{font-size:11px;letter-spacing:.1em}
@media(max-width:800px){.track-main{gap:12px}.releases-heading{gap:9px}.releases-heading h2{font-size:14px}.releases-heading .track-count{font-size:8px}.releases-divider{font-size:12px}.player-toolbar{flex-wrap:wrap;row-gap:15px}}

/* Hero spacing after removing the statistics counters. */
@media(min-width:901px){
 .hero{--hero-line-height:clamp(65px,16vh,180px)}
 .hero-content{top:42%;bottom:auto;gap:clamp(36px,5.5vh,56px)}
 .hero-content .outline-button{margin-top:0}
 .scroll-cue{line-height:1.7;gap:30px}
 .scroll-cue i{height:var(--hero-line-height)}
}
@media(max-height:700px) and (min-width:541px){.hero-content{top:35%}.hero-content .outline-button{margin-top:24px}.scroll-cue i{height:65px}}

/* Sorting is enabled only after real YouTube dates and view counts arrive. */
.sort-controls button{transition:background-color .2s,color .2s,border-color .2s}
.sort-controls button:not(:disabled){cursor:pointer;color:var(--white)}
.sort-controls button[aria-pressed="true"]{background:var(--dust);border-color:var(--dust);color:#000}
.sort-controls button:not(:disabled):is(:hover,:focus-visible){background:var(--beige);border-color:var(--beige);color:#000}

/* A short biography bridges the hero and the music library. */
.bio-section{padding:105px 7% 90px;background:var(--black);scroll-margin-top:15px;outline:none}
.bio-wrap{max-width:1600px;margin:auto;padding-bottom:45px;border-bottom:1px solid rgba(242,239,232,.22)}
.bio-section-label{display:flex;align-items:center;gap:18px;color:var(--white);font-size:10px;letter-spacing:.1em;line-height:1.8}
.bio-section-label>span{display:block;width:6px;height:6px;border-radius:50%;background:var(--dust);flex-shrink:0}
.bio-section-label i{flex:1;height:1px;margin-left:22px;background:rgba(242,239,232,.25)}
.bio-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(45px,6vw,110px);align-items:start;margin-top:48px}
.bio-copy{padding-top:4px}.bio-copy h2{font-size:clamp(24px,2.05vw,36px);line-height:1.45;letter-spacing:-.025em}
.bio-copy>p{max-width:580px;margin-top:30px;font-size:clamp(11px,.83vw,14px);line-height:2.05;color:var(--white)}
.bio-gallery{min-width:0}.bio-slides{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0b0b0b}
.bio-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease;pointer-events:none}
.bio-slide.is-active{opacity:1;visibility:visible}.bio-slide img{display:block;width:100%;height:100%;object-fit:contain}
.bio-gallery-footer{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-top:17px;min-height:32px}
.bio-caption{display:flex;align-items:center;gap:12px;font-size:8px;line-height:1.8;letter-spacing:.07em;color:var(--dust)}
.bio-caption>span:nth-child(2){color:#665b51}.bio-gallery-controls{display:flex;align-items:center;gap:7px;flex-shrink:0}
.bio-slide-count{font-size:8px;letter-spacing:.04em;color:#a39a90;margin-right:8px;font-variant-numeric:tabular-nums}
.bio-gallery-controls button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #49413a;background:transparent;color:var(--white);transition:background .2s,border-color .2s,color .2s}
.bio-gallery-controls button:hover{background:var(--beige);border-color:var(--beige);color:#000}.bio-gallery-controls button>span{font-family:Arial,sans-serif;font-size:18px;line-height:1}
.bio-toggle svg{width:13px;height:13px;fill:currentColor}.bio-play-icon{display:none}.bio-toggle[aria-pressed="true"] .bio-pause-icon{display:none}.bio-toggle[aria-pressed="true"] .bio-play-icon{display:block}
@media(max-width:1000px){.bio-layout{gap:35px;grid-template-columns:1fr 1fr}.bio-copy h2{font-size:24px}.bio-copy>p{font-size:11px;line-height:1.95}.bio-slides{aspect-ratio:1/1}.bio-gallery-footer{flex-wrap:wrap;row-gap:12px}}
@media(max-width:700px){.bio-section{padding:70px 25px 45px;scroll-margin-top:35px}.bio-layout{grid-template-columns:1fr;gap:35px;margin-top:32px}.bio-copy h2{font-size:25px}.bio-copy>p{font-size:11px;line-height:2.05;margin-top:23px;max-width:none}.bio-section-label{font-size:9px;gap:12px}.bio-section-label i{margin-left:10px}.bio-slides{aspect-ratio:4/3}.bio-wrap{padding-bottom:32px}.bio-caption{font-size:7px;gap:8px}.bio-slide-count{font-size:7px;margin-right:2px}.bio-gallery-controls{gap:5px}.bio-gallery-controls button{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.bio-slide{transition:none}}

/* Keep the horizontal entrance within the biography section. */
.bio-section{overflow-x:clip}
@media(prefers-reduced-motion:reduce){.bio-copy,.bio-gallery{transform:none!important;opacity:1!important}}

/* Social destinations lead into a single booking contact at the end of the page. */
.hero:focus{outline:none}
.contact-footer{background:var(--black);padding:58px 7% 32px}
.contact-footer-frame{max-width:1600px;margin:auto;border:1px solid rgba(242,239,232,.24);padding:32px 42px 0}
.contact-footer-top{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:24px;padding-bottom:29px;border-bottom:1px solid rgba(242,239,232,.24)}
.footer-brand{position:relative;display:block;width:72px;height:72px}.footer-brand img{display:block;width:100%;height:100%;opacity:0}.footer-brand::before{content:"";position:absolute;inset:0;background:var(--white);-webkit-mask:url('./assets/logo-white.png') center/contain no-repeat;mask:url('./assets/logo-white.png') center/contain no-repeat}
.contact-footer h2{font-size:clamp(16px,1.45vw,26px);line-height:1.6;text-align:center;letter-spacing:-.025em}
.back-to-top{justify-self:end;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(242,239,232,.5);background:transparent;color:var(--white);transition:background .25s,border-color .25s,color .25s}
.back-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.back-to-top:hover{background:var(--beige);border-color:var(--beige);color:#000}.back-to-top:hover svg{transform:translateY(-3px)}
.contact-footer-email{display:flex;justify-content:center;padding:40px 12px 45px}.contact-footer-email a{font-size:clamp(12px,1.15vw,20px);line-height:1.8;color:var(--white);transition:color .2s}.contact-footer-email a:hover{color:var(--dust)}
.contact-footer-bottom{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;padding:22px 8px;border-top:1px solid rgba(242,239,232,.24);font-size:8px;line-height:1.8;letter-spacing:.04em;color:#a49b93}.copyright-dot{font-family:Arial,sans-serif;color:var(--dust)}
@media(max-width:700px){.contact-footer{padding:38px 25px 25px}.contact-footer-frame{padding:22px 20px 0}.contact-footer-top{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;padding-bottom:22px}.footer-brand{width:44px;height:44px}.contact-footer h2{font-size:11px;line-height:1.9;letter-spacing:0}.back-to-top{width:36px;height:36px}.back-to-top svg{width:17px;height:17px}.contact-footer-email{padding:31px 0 34px}.contact-footer-email a{font-size:11px}.contact-footer-bottom{font-size:7px;gap:6px 10px;padding:18px 0}.copyright-dot{display:none}}

/* Reverse the biography composition for the artist's Spotify profile. */
.spotify-section{padding:55px 7% 85px;background:var(--black);scroll-margin-top:25px;outline:none;overflow-x:clip}
.spotify-wrap{max-width:1600px;margin:auto;padding-bottom:45px;border-bottom:1px solid rgba(242,239,232,.22)}
.spotify-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(45px,6vw,110px);align-items:center;margin-top:48px}
.spotify-embed{min-width:0;min-height:352px}.spotify-embed iframe{display:block;width:100%;height:352px;border:0;border-radius:12px;background:#121212}
.spotify-copy{min-width:0}.spotify-copy h2{font-size:clamp(24px,2.05vw,36px);line-height:1.45;letter-spacing:-.025em}
.spotify-copy>p{max-width:580px;margin-top:30px;font-size:clamp(11px,.83vw,14px);line-height:2.05;color:var(--white)}
.spotify-profile-link{display:inline-flex;align-items:center;gap:12px;margin-top:27px;padding-bottom:9px;border-bottom:1px solid #66574b;color:var(--white);font-size:9px;letter-spacing:.07em;line-height:1.7;transition:color .2s,border-color .2s}
.spotify-profile-link>span[aria-hidden]{font-size:17px;line-height:1;transition:transform .2s}.spotify-profile-link:hover{color:var(--dust);border-color:var(--dust)}.spotify-profile-link:hover>span[aria-hidden]{transform:translate(2px,-2px)}
@media(max-width:1000px){.spotify-layout{grid-template-columns:1fr 1fr;gap:35px}.spotify-copy h2{font-size:24px}.spotify-copy>p{font-size:11px;line-height:1.95}.spotify-profile-link{font-size:8px}}
@media(max-width:700px){.spotify-section{padding:35px 25px 50px;scroll-margin-top:35px}.spotify-layout{grid-template-columns:1fr;gap:30px;margin-top:32px}.spotify-copy{grid-row:1}.spotify-embed{grid-row:2}.spotify-copy h2{font-size:25px}.spotify-copy>p{font-size:11px;line-height:2.05;margin-top:23px;max-width:none}.spotify-profile-link{margin-top:22px;font-size:8px}.spotify-wrap{padding-bottom:32px}}
@media(prefers-reduced-motion:reduce){.spotify-embed,.spotify-copy{transform:none!important;opacity:1!important}}

/* Read the autobiography over the portrait, which stays in view while scrolling. */
.who-i-am-hero{height:auto;min-height:100svh;overflow:clip}
.autobiography-backdrop{position:sticky;top:0;height:100svh;min-height:600px;margin-bottom:-100svh;z-index:-1;overflow:hidden}
.autobiography-backdrop .hero-photo{z-index:0;object-position:center}
.autobiography-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.7) 45%,rgba(0,0,0,.18)),linear-gradient(0deg,#000,transparent 24%)}
.autobiography-copy{position:relative;max-width:1600px;margin:auto;padding:175px 7% 110px}
.autobiography-copy h1{white-space:normal;font-size:clamp(34px,3.6vw,62px);line-height:1.3;letter-spacing:-.035em;margin-bottom:42px}
.autobiography-copy p{max-width:760px;font-size:clamp(12px,.88vw,15px);line-height:2.15;color:var(--white);margin-top:28px}
.autobiography-copy strong{font-weight:400;color:var(--dust)}
.autobiography-copy.reveal-ready [data-bio-reveal]{opacity:0;transform:translateY(-16px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.autobiography-copy.reveal-ready .is-revealed{opacity:1;transform:none}
@media(max-width:700px){.autobiography-copy{padding:145px 25px 75px}.autobiography-copy h1{font-size:32px;margin-bottom:30px}.autobiography-copy p{font-size:11px;line-height:2.1;margin-top:25px}.autobiography-shade{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.64)),linear-gradient(0deg,#000,transparent 25%)}.autobiography-backdrop .hero-photo{object-position:58% center}}
@media(prefers-reduced-motion:reduce){.autobiography-copy.reveal-ready [data-bio-reveal]{opacity:1;transform:none;transition:none}}

/* Center the long biography as one readable column with equal side margins. */
.autobiography-copy{max-width:1000px;margin-inline:auto}
.autobiography-copy p{max-width:none}
@media(min-width:701px){.autobiography-copy{padding-inline:40px}}

/* Use the desktop canvas for the full biography instead of a narrow reading column. */
@media(min-width:901px){
 .autobiography-copy{max-width:none;padding:135px 4% 45px}
 .autobiography-copy h1{font-size:clamp(32px,3vw,50px);margin-bottom:25px}
 .autobiography-copy p{font-size:clamp(11px,.8vw,14px);line-height:1.85;margin-top:17px}
}
@media(min-width:701px) and (max-width:900px){.autobiography-copy{max-width:none;padding-inline:4%}}
@media(min-width:901px) and (max-height:800px){
 .autobiography-copy{padding-top:120px;padding-bottom:30px}
 .autobiography-copy h1{font-size:32px;margin-bottom:20px}
 .autobiography-copy p{line-height:1.7;margin-top:14px}
}

/* Keyframes guarantee a real entrance even when visibility changes before first paint. */
.autobiography-copy.reveal-ready [data-bio-reveal]{transition:none;opacity:0;transform:translateY(-18px)}
.autobiography-copy.reveal-ready .is-revealed{animation:autobiography-fade-down .95s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both}
@keyframes autobiography-fade-down{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.autobiography-copy.reveal-ready [data-bio-reveal]{animation:none;opacity:1;transform:none}}

/* Original transparent PNGs, presented on contrasting display surfaces. */
.press-kit-page{padding-top:145px;background:var(--black)}
.press-kit-wrap{max-width:1840px;margin:0 auto;padding:0 7% 105px}
.press-kit-intro h1{font-size:clamp(24px,2.8vw,48px);letter-spacing:-.025em;line-height:1.3;margin-bottom:34px}
.logo-section-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;border-bottom:1px solid #36312c;margin-bottom:28px}
.logo-section-top h2{font-size:11px;letter-spacing:.12em;display:flex;align-items:center;gap:14px}.logo-section-top h2>span{height:6px;width:6px;background:var(--dust);border-radius:50%}
.logo-carousel-controls{display:flex;align-items:center;gap:9px}.logo-range{font-size:9px;color:var(--dust);margin-right:17px;font-variant-numeric:tabular-nums}
.logo-carousel-controls button{display:grid;place-items:center;width:38px;height:38px;background:transparent;border:1px solid #66574b;transition:background .2s,color .2s,border-color .2s}.logo-carousel-controls button>span{font-family:Arial,sans-serif;font-size:21px;line-height:1}.logo-carousel-controls button:hover:not(:disabled){background:var(--beige);color:#000;border-color:var(--beige)}.logo-carousel-controls button:disabled{opacity:.25;cursor:default}
.logo-track{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 12px}.logo-track::-webkit-scrollbar{display:none}.logo-track:focus-visible{outline:1px solid var(--dust);outline-offset:8px}
.logo-card{flex:0 0 calc((100% - 48px)/3);min-width:0;margin:0;scroll-snap-align:start}
.logo-download{position:relative;display:grid;place-items:center;aspect-ratio:5/4;overflow:hidden;border:1px solid #302a25;border-radius:3px}.logo-preview-dark{background:#111110}.logo-preview-light{background:var(--white);border-color:var(--white)}
.logo-download img{display:block;object-fit:contain;width:78%;height:76%;transition:opacity .35s ease}
.logo-download-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .3s ease;color:var(--white);font-size:11px;letter-spacing:.08em}.logo-preview-light .logo-download-overlay{color:#000}.logo-download-overlay svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.logo-download:is(:hover,:focus-visible) img{opacity:.22}.logo-download:is(:hover,:focus-visible) .logo-download-overlay{opacity:1}.logo-download:focus-visible{outline-offset:-5px;outline-color:var(--beige)}
.logo-card figcaption{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-top:18px;font-size:9px;line-height:1.8;letter-spacing:.03em;color:var(--white)}.logo-format{color:#95887b;font-size:8px}
@media(max-width:1050px){.logo-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:700px){.press-kit-page{padding-top:120px}.press-kit-wrap{padding:0 25px 65px}.press-kit-intro h1{font-size:26px;margin-bottom:28px}.logo-section-top{margin-bottom:22px;padding-bottom:17px}.logo-track{gap:18px}.logo-card{flex-basis:86%}.logo-card figcaption{font-size:8px}.logo-range{font-size:8px;margin-right:7px}.logo-carousel-controls{gap:6px}.logo-carousel-controls button{width:34px;height:34px}.logo-section-top h2{font-size:10px;gap:10px}}
@media(hover:none){.logo-download-overlay{inset:auto 12px 12px auto;padding:8px 10px;background:var(--dust);color:#000!important;border-radius:2px;opacity:1;font-size:8px;gap:7px}.logo-download-overlay svg{width:14px;height:14px}}
@media(prefers-reduced-motion:reduce){.logo-download img,.logo-download-overlay{transition:none}}

/* Show all four logo variants together on desktop. */
@media(min-width:1051px){.logo-card{flex-basis:calc((100% - 72px)/4)}}

/* Press photos share the logo download interaction; originals stay untouched. */
.press-photo-section{margin-top:75px}
.press-photo{aspect-ratio:4/5;background:#111110}
.press-photo img{width:100%;height:100%;object-fit:contain}
@media(min-width:1051px){.photo-track .photo-card{flex-basis:calc((100% - 48px)/3)}}
@media(max-width:700px){.press-photo-section{margin-top:55px}}
.press-photo-section{scroll-margin-top:125px}
@media(min-width:1051px){.photo-track .photo-card{flex-basis:calc((100% - 72px)/4)}}

.press-kit-page{overflow-x:clip}
.press-kit-intro{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:52px}
.press-kit-intro h1{margin:0}
.press-kit-intro p{max-width:none;text-align:left;font-size:clamp(10px,.8vw,13px);line-height:1.95;color:var(--white)}
.logo-section.press-reveal-ready{opacity:0;transform:translateX(-36px)}
.logo-section.press-reveal-ready.press-revealed{animation:press-carousel-entrance 1.4s cubic-bezier(.22,1,.36,1) var(--press-reveal-delay,0ms) both}
@keyframes press-carousel-entrance{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:700px){.press-kit-intro{gap:17px;margin-bottom:42px}.press-kit-intro p{font-size:10px;line-height:1.9}.logo-section.press-reveal-ready{transform:translateX(-24px)}}
@media(prefers-reduced-motion:reduce){.logo-section.press-reveal-ready{opacity:1;transform:none}.logo-section.press-reveal-ready.press-revealed{animation:none}}

/* Rider PDF covers share the same original-file download cards. */
.rider-section{margin-top:75px;scroll-margin-top:125px}
.rider-preview{aspect-ratio:210/297;background:#080808}
.rider-preview img{width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.rider-section{margin-top:55px}}

/* Five alternating chapters, each with its own consistent photo frame. */
.biography-story{max-width:1800px;margin:0 auto;padding:145px 7% 85px}
.biography-story .story-title{font-size:clamp(30px,2.8vw,48px);white-space:normal;line-height:1.3;letter-spacing:-.025em;margin:0 0 50px}
.story-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5.5vw,95px);align-items:center;padding:55px 0;border-bottom:1px solid rgba(242,239,232,.17);scroll-margin-top:125px;--copy-from:-32px;--photo-from:32px}
.story-row:first-of-type{padding-top:0}.story-row:last-child{padding-bottom:0;border-bottom:0}
.story-copy{grid-column:1;grid-row:1;min-width:0}.story-photo{grid-column:2;grid-row:1;margin:0;aspect-ratio:4/3;background:#080808;overflow:hidden;min-width:0}
.story-row-reverse{--copy-from:32px;--photo-from:-32px}.story-row-reverse .story-copy{grid-column:2}.story-row-reverse .story-photo{grid-column:1}
.story-copy p{font-size:clamp(12px,.86vw,14px);line-height:2.1;color:var(--white)}.story-copy p+p{margin-top:23px}.story-copy strong{font-weight:400;color:var(--dust)}
.story-photo img{display:block;width:100%;height:100%;object-fit:cover}
.biography-story.story-ready>.story-title{animation:story-title-in .85s ease .18s both}
.story-row.story-enter-ready .story-copy{opacity:0;transform:translateX(var(--copy-from))}.story-row.story-enter-ready .story-photo{opacity:0;transform:translateX(var(--photo-from))}
.story-row.story-enter-ready.is-visible .story-copy{animation:story-side-in 1.25s cubic-bezier(.22,1,.36,1) var(--story-delay,.12s) both;--story-from:var(--copy-from)}
.story-row.story-enter-ready.is-visible .story-photo{animation:story-side-in 1.25s cubic-bezier(.22,1,.36,1) calc(var(--story-delay,.12s) + .13s) both;--story-from:var(--photo-from)}
@keyframes story-side-in{from{opacity:0;transform:translateX(var(--story-from))}to{opacity:1;transform:translateX(0)}}
@keyframes story-title-in{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.story-row{gap:30px}.story-copy p{font-size:11px;line-height:2}}
@media(max-width:700px){.biography-story{padding:125px 25px 60px}.biography-story .story-title{font-size:29px;margin-bottom:35px}.story-row{grid-template-columns:minmax(0,1fr);gap:26px;padding:38px 0;scroll-margin-top:105px;--copy-from:-20px;--photo-from:20px}.story-copy,.story-row-reverse .story-copy{grid-column:1;grid-row:1}.story-photo,.story-row-reverse .story-photo{grid-column:1;grid-row:2}.story-copy p{font-size:11px;line-height:2.05}.story-copy p+p{margin-top:19px}}
@media(prefers-reduced-motion:reduce){.biography-story.story-ready>.story-title,.story-row.story-enter-ready .story-copy,.story-row.story-enter-ready .story-photo{opacity:1;transform:none;animation:none}}

/* Initial top-to-bottom fade lives on the row; scroll transforms live on its children. */
.biography-story.story-scroll-ready>.story-title{animation:story-title-in 1.1s ease .2s both}
.story-row.story-initial-fade{animation:story-initial-fade 1.5s ease var(--story-intro-delay,1.45s) both}
@keyframes story-initial-fade{from{opacity:0}to{opacity:1}}
.story-scroll-ready .story-copy,.story-scroll-ready .story-photo{transform-origin:center}
@media(prefers-reduced-motion:reduce){.biography-story.story-scroll-ready>.story-title,.story-row.story-initial-fade{animation:none}.story-scroll-ready .story-copy,.story-scroll-ready .story-photo{transform:none!important;opacity:1!important;will-change:auto}}

/* Media album: row-major timeline, five columns, original image proportions. */
.media-page{padding:155px 4% 75px;max-width:2200px;margin:auto}
.media-page h1{font-size:clamp(28px,2.8vw,48px);line-height:1.3;letter-spacing:-.025em;margin:0 0 45px}
.media-grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:42px 20px;align-items:start}
.media-card{margin:0;min-width:0;position:relative;z-index:0}
.media-visual{position:relative;background:#0c0c0c;isolation:isolate;transition:transform .65s cubic-bezier(.22,1,.36,1);transform-origin:center;overflow:hidden}
.media-visual>img,.media-visual>video{display:block;width:100%;height:100%;object-fit:contain}
.media-card:is(:hover,:focus-within){z-index:1}
.media-card:is(:hover,:focus-within) .media-visual{transform:scale(1.035)}
.media-card figcaption{padding-top:13px;display:flex;flex-direction:column;gap:6px}
.media-venue{font-size:clamp(9px,.68vw,12px);line-height:1.7;color:var(--white)}
.media-meta{font-size:clamp(8px,.55vw,10px);line-height:1.7;color:var(--dust)}
.media-video-label{position:absolute;top:11px;left:11px;pointer-events:none;font-size:7px;letter-spacing:.12em;background:#0009;padding:6px 8px;z-index:2}
.media-play-toggle{position:absolute;inset:0;border:0;background:none;display:grid;place-items:center;padding:0}
.media-play-toggle:focus-visible{outline-offset:-5px}
.media-play-icon{width:36px;height:36px;fill:var(--white);filter:drop-shadow(0 1px 5px #000);opacity:.75;transition:opacity .3s}
.media-video-card.is-playing .media-play-icon{opacity:0}
.media-mute{position:absolute;right:11px;bottom:11px;width:32px;height:32px;border:1px solid #f2efe845;border-radius:50%;display:grid;place-items:center;background:#000a;padding:7px;transition:background .25s;z-index:3}
.media-mute:hover{background:var(--beige)}
.media-mute svg{display:block;width:100%;height:100%;fill:none;stroke:var(--white);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.media-mute .media-sound-on,.media-video-card.is-audible .media-sound-off{display:none}.media-video-card.is-audible .media-sound-on{display:block}
.media-ready h1{animation:media-title-in 1s ease .15s both}
.media-ready .media-card{opacity:0;transform:translateY(28px)}
.media-ready .media-card.media-visible{animation:media-card-in 1.25s cubic-bezier(.22,1,.36,1) var(--media-delay,0ms) both}
@keyframes media-title-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes media-card-in{to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.media-grid{gap:48px 27px}}
@media(max-width:1100px){.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 18px}.media-venue{font-size:10px}.media-meta{font-size:8px}}
@media(max-width:650px){.media-page{padding:125px 24px 55px}.media-page h1{font-size:29px;margin-bottom:32px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.media-venue{font-size:9px}.media-meta{font-size:7px}.media-mute{right:7px;bottom:7px;width:30px;height:30px}.media-video-label{left:7px;top:7px;font-size:6px;padding:5px 6px}.media-card figcaption{padding-top:10px;gap:5px}}
@media(prefers-reduced-motion:reduce){.media-ready h1,.media-ready .media-card,.media-ready .media-card.media-visible{animation:none;opacity:1;transform:none}.media-visual,.media-play-icon{transition:none}.media-card:is(:hover,:focus-within) .media-visual{transform:none}}

/* Lower album rows spread from the center and brighten with scroll position. */
.media-ready .media-card.media-scroll-card{animation:none;transform-origin:center}
@media(prefers-reduced-motion:reduce){.media-ready .media-card.media-scroll-card{filter:none!important;opacity:1!important;transform:none!important}}

.music-player[data-full-list="true"]{transform-origin:50% 0}

/* The complete Music player sits over the portrait backdrop. */
.music-hero{height:auto;min-height:100svh;overflow:clip}
.music-backdrop{position:sticky;top:0;height:100svh;min-height:600px;margin-bottom:-100svh;z-index:-1;overflow:hidden}
.music-backdrop .hero-photo{z-index:0;object-position:center}
.music-backdrop .hero-shade{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.12)),linear-gradient(0deg,#000,transparent 28%)}
.music-hero .music-area{position:relative;background:transparent;padding-top:155px;scroll-margin-top:0}
.music-hero .track-list{background:rgba(8,8,8,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
@media(max-width:800px){.music-hero .music-area{padding-top:125px}.music-backdrop .hero-photo{object-position:58% center}}

/* Contact: direct inquiries and an accessible, quiet form. */
.contact-page{position:relative;isolation:isolate;background:#000;min-height:100svh}
.contact-page::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.86)),url('./assets/contact-page-hero.webp') center 38%/cover no-repeat}
.contact-layout{max-width:1600px;margin:auto;padding:160px 7% 75px;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(50px,7vw,115px);align-items:start}
.contact-copy h1{font-size:clamp(28px,2.8vw,48px);line-height:1.3;letter-spacing:-.025em;margin-bottom:62px}
.contact-copy h2{font-size:clamp(25px,2.6vw,43px);line-height:1.5;letter-spacing:-.035em}
.contact-copy>p{max-width:420px;font-size:12px;line-height:2.1;color:#b9b4ae;margin-top:24px}
.contact-direct{margin-top:55px;display:flex;flex-direction:column;gap:17px}
.contact-direct>span{font-size:8px;letter-spacing:.13em;color:var(--dust)}
.contact-direct>a{font-size:clamp(11px,1.03vw,17px);line-height:1.8;overflow-wrap:anywhere;transition:color .25s}
.contact-direct>a:hover{color:var(--dust)}.contact-direct>a>span{margin-left:10px;font-size:23px}
.contact-form-panel{padding:32px;border:1px solid #cdb49e33;background:rgba(15,15,15,.75);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.contact-form-panel>h2{font-size:18px;line-height:1.5;margin-bottom:28px}
.inquiry-form{display:grid;gap:20px}
.contact-field{display:grid;gap:9px;min-width:0}
.contact-field label{font-size:8px;letter-spacing:.1em;color:var(--dust)}
.contact-field label span{font-size:9px;color:#9b948d}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-width:0;border:1px solid #f2efe82e;border-radius:0;background:#f2efe807;color:var(--white);font:inherit;font-size:10px;line-height:1.8;padding:12px 13px;outline-offset:3px;transition:border-color .25s,background .25s}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--dust);outline:1px solid var(--dust);background:#f2efe80c}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#8b8580;opacity:1}
.contact-field select{min-height:46px;color:var(--white)}.contact-field select:has(option[value=""]:checked){color:#8b8580}.contact-field option{background:#171614;color:var(--white)}
.contact-field textarea{resize:vertical;min-height:130px;max-height:450px}
.contact-send{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;min-height:48px;padding:14px 19px;background:var(--dust);border:1px solid var(--dust);color:#000;font-size:10px;transition:background .25s,border-color .25s}
.contact-send>span:last-child{font-size:21px;line-height:1}.contact-send:is(:hover,:focus-visible){background:var(--beige);border-color:var(--beige)}.contact-send:disabled{cursor:wait;opacity:.65}
.contact-form-status{font-size:10px;line-height:2;color:var(--dust);overflow-wrap:anywhere}.contact-form-status:empty{display:none}.contact-form-status a{text-decoration:underline;text-underline-offset:4px}.contact-form-status[data-state="error"]{color:#e5b5a0}.contact-form-status[data-state="success"]{color:var(--white)}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-ready .contact-copy h1{animation:contact-enter 1.1s ease .15s both}.contact-ready .contact-copy h2,.contact-ready .contact-copy>p,.contact-ready .contact-direct{animation:contact-enter 1.2s ease .45s both}.contact-ready .contact-form-panel{animation:contact-enter 1.3s ease .65s both}
@keyframes contact-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.contact-copyright{padding:25px 7% 35px;font-size:8px;letter-spacing:.03em;color:#8b8580;text-align:center;line-height:1.9}
@media(max-width:1050px){.contact-layout{padding-right:5%;padding-left:5%;gap:35px}.contact-form-panel{padding:25px}.contact-copy h1{margin-bottom:45px}.contact-copy>p{font-size:11px}}
@media(max-width:700px){.contact-layout{grid-template-columns:1fr;padding:125px 24px 45px;gap:40px}.contact-copy h1{font-size:29px;margin-bottom:33px}.contact-copy h2{font-size:27px}.contact-copy>p{margin-top:20px;max-width:390px}.contact-direct{margin-top:28px;gap:11px}.contact-direct>a{font-size:11px}.contact-form-panel{padding:24px 20px}.contact-form-panel>h2{font-size:16px}.contact-page::before{background-position:60% center}}
@media(prefers-reduced-motion:reduce){.contact-ready .contact-copy h1,.contact-ready .contact-copy h2,.contact-ready .contact-copy>p,.contact-ready .contact-direct,.contact-ready .contact-form-panel{animation:none}.contact-field input,.contact-field select,.contact-field textarea,.contact-send{transition:none}}

/* Keep Contact socials at the bottom of the complete hero, over its background. */
.contact-page{display:flex;flex-direction:column}
.contact-layout{width:100%;margin:0 auto}
.contact-page>.social-strip{margin-top:auto;background:transparent;border-bottom:0}

/* Music-only entry: track rows appear in their displayed order. */
.music-hero .track-row{animation:music-track-in .95s cubic-bezier(.22,1,.36,1) var(--music-row-delay,.35s) both}
@keyframes music-track-in{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.music-hero .track-row{animation:none;opacity:1;transform:none}}

/* Side projects: two compact image-backed rows, with alternating text and marks. */
.projects-page{max-width:1800px;margin:auto;padding:140px 5% 24px;min-height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);gap:16px}
.projects-page>h1{font-size:clamp(30px,2.8vw,48px);line-height:1.3;letter-spacing:-.025em;margin:0 0 5px}
.project-row{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(30px,3.5vw,60px);padding:22px 36px;min-width:0;overflow:hidden}
.project-row::before{content:"";position:absolute;inset:0;z-index:-1;background-size:cover;background-repeat:no-repeat;background-position:center 58%}
.project-sol-blanc::before{background-image:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.84) 65%),url('./assets/projects/sol-blanc-background.webp')}
.project-valseria{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.project-valseria::before{background-image:linear-gradient(90deg,rgba(0,0,0,.86) 35%,rgba(0,0,0,.38)),url('./assets/projects/valseria-background.webp');background-position:center 48%}
.project-logo-frame{position:relative;width:100%;height:clamp(190px,25svh,285px);min-width:0}
.project-logo-frame img{position:absolute;inset:0;margin:auto;display:block;width:100%;height:100%;min-height:0;object-fit:contain;max-width:430px}
.project-valseria .project-logo-frame{grid-column:2;grid-row:1}.project-valseria .project-description{grid-column:1;grid-row:1}
.project-description{min-width:0}
.project-description h2{font-size:clamp(17px,1.55vw,26px);line-height:1.6;letter-spacing:-.02em;margin-bottom:14px}
.project-description p{font-size:clamp(12px,.86vw,14px);line-height:2.1;color:var(--white)}
.project-description .spotify-profile-link{margin-top:18px;padding-bottom:7px}
.projects-ready>h1{animation:project-heading-in 1s ease .15s both}
.projects-ready .project-logo-frame,.projects-ready .project-description{opacity:0}
.projects-ready .project-visible .project-logo-frame{animation:project-logo-in 1.35s cubic-bezier(.22,1,.36,1) calc(var(--project-background-delay,.15s) + 2.2s) both}
.projects-ready .project-visible .project-description{animation:project-copy-in 1.35s cubic-bezier(.22,1,.36,1) calc(var(--project-background-delay,.15s) + 2.4s) both}
.project-valseria .project-logo-frame{--project-enter:35px}.project-sol-blanc .project-logo-frame{--project-enter:-35px}
.project-valseria .project-description{--project-enter:-35px}.project-sol-blanc .project-description{--project-enter:35px}
@keyframes project-heading-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes project-logo-in{from{opacity:0;transform:translateX(var(--project-enter,-35px))}to{opacity:1;transform:none}}
@keyframes project-copy-in{from{opacity:0;transform:translateX(var(--project-enter,35px))}to{opacity:1;transform:none}}
@media(max-width:1000px){.project-row{gap:25px;padding:22px 25px}.project-description p{font-size:11px}.project-description h2{font-size:18px}}
@media(max-width:700px){.projects-page{padding:125px 24px 35px;min-height:0;display:block}.projects-page>h1{font-size:29px;margin-bottom:25px}.project-row,.project-valseria{grid-template-columns:1fr;gap:22px;padding:25px 22px 30px;margin-bottom:20px}.project-logo-frame,.project-valseria .project-logo-frame{height:210px;grid-column:1;grid-row:1}.project-description,.project-valseria .project-description{grid-column:1;grid-row:2}.project-description h2{font-size:21px;margin-bottom:19px}.project-description p{font-size:11px;line-height:2.05}.project-description .spotify-profile-link{font-size:8px;margin-top:25px}.project-row::before{background-position:center}.project-sol-blanc::before{background-image:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.45)),url('./assets/projects/sol-blanc-background.webp')}.project-valseria::before{background-image:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.45)),url('./assets/projects/valseria-background.webp')}}
@media(prefers-reduced-motion:reduce){.projects-ready>h1,.projects-ready .project-logo-frame,.projects-ready .project-description,.projects-ready .project-visible .project-logo-frame,.projects-ready .project-visible .project-description{animation:none;opacity:1;transform:none}}

/* The background arrives first; branding follows once it settles and clears. */
.project-sol-blanc{--project-background-from:-105%;--project-background-delay:.15s}
.project-valseria{--project-background-from:105%;--project-background-delay:.35s}
.projects-ready .project-row::before{opacity:0}
.projects-ready .project-visible::before{animation:project-background-in 2.2s cubic-bezier(.25,.1,.25,1) var(--project-background-delay,.15s) both}
@keyframes project-background-in{0%{opacity:0;transform:translateX(var(--project-background-from));filter:blur(18px)}35%{opacity:.8;filter:blur(14px)}80%{opacity:1;filter:blur(6px)}100%{opacity:1;transform:translateX(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.projects-ready .project-row::before,.projects-ready .project-visible::before{animation:none;opacity:1;transform:none;filter:none}}

/* Reuse logo transparency as a mask so project marks match French Beige. */
.project-logo-frame img{opacity:0}
.project-logo-frame::before{content:"";position:absolute;inset:0;margin:auto;width:100%;height:100%;max-width:430px;background:var(--beige);mask-position:center;mask-size:contain;mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}
.project-sol-blanc .project-logo-frame::before{mask-image:url('./assets/projects/sol-blanc-display.png');-webkit-mask-image:url('./assets/projects/sol-blanc-display.png')}
.project-valseria .project-logo-frame::before{mask-image:url('./assets/projects/valseria-display.png');-webkit-mask-image:url('./assets/projects/valseria-display.png')}

/* A quiet language switch in the right column of every header. */
.language-switch{grid-column:3;justify-self:end;display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.08em;white-space:nowrap}
.language-switch a{padding:10px 0;color:var(--white);transition:color .2s}
.language-switch a[aria-current="true"]{color:var(--beige)}
.language-switch a:hover{color:var(--dust)}
.language-switch>span{color:#77716b;font-size:10px}
@media(max-width:540px){.language-switch{gap:7px;font-size:9px}.language-switch>span{font-size:9px}}
html[lang="tr"] .contact-copy h2{font-size:clamp(24px,2.3vw,39px)}
html[lang="tr"] .press-kit-intro p{max-width:100%}
@media(max-width:700px){html[lang="tr"] .contact-copy h2{font-size:25px}}

.language-switch a[aria-current="true"]:hover{color:var(--beige)}

.language-switch a{display:inline-flex;align-items:center;gap:6px}
.language-flag{display:block;width:21px;height:14px;flex:none;border-radius:0;box-shadow:none;object-fit:fill}
@media(max-width:540px){.language-switch a{gap:4px}.language-flag{width:18px;height:12px}}
