@font-face { font-family:"Dosis"; src:url("/fonts/dosis-variable.ttf") format("truetype"); font-style:normal; font-weight:200 800; font-display:swap; }
:root { color-scheme: dark; --black:#000; --white:#fff; --soft:#e8e8e8; --muted:#b8b8b8; --display:"Dosis","Arial Narrow","Helvetica Neue",Arial,sans-serif; --body:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; background:var(--black); color:var(--soft); font-family:var(--body); font-size:1rem; font-weight:300; line-height:1.75; }
a { color:inherit; text-underline-offset:.25em; }
a:hover { color:var(--white); }
a:focus-visible { outline:3px solid var(--white); outline-offset:5px; }
.skip-link { position:fixed; z-index:20; left:1rem; top:-6rem; padding:.65rem 1rem; background:var(--white); color:var(--black); }
.skip-link:focus-visible { top:1rem; }
[data-izawalan-test-banner="test"] + .skip-link:focus-visible { position:relative; top:auto; left:auto; display:inline-flex; margin:1rem; }
footer ul { display:flex; flex-wrap:wrap; justify-content:center; gap:.25rem .7rem; margin:0; padding:0; list-style:none; }
.intro { position:relative; display:grid; min-height:100vh;min-height:100svh;min-height:100dvh; place-items:center; overflow:hidden; isolation:isolate; }
.intro::after { content:""; position:absolute; z-index:-1; inset:0; background:rgba(0,0,0,.52); }
.intro-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.82; }
.intro-copy { position:relative; padding:6rem 1rem 4rem; text-align:center; }
.hero-continuation { position:absolute; left:50%; bottom:24px; display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; color:var(--white); opacity:.68; transform:translateX(-50%); text-decoration:none; transition:opacity 160ms cubic-bezier(.2,.8,.2,1),transform 160ms cubic-bezier(.2,.8,.2,1); }
.hero-continuation:hover { color:var(--white); opacity:1; transform:translate(-50%,4px); }
.hero-continuation:active { opacity:.82; }
.hero-continuation:focus-visible { opacity:1; outline:3px solid var(--white); outline-offset:3px; }
.hero-continuation-icon { display:block; width:16px; height:10px; background:currentColor; -webkit-mask:center/16px 16px no-repeat url("/assets/chevron-down-heroicons.svg"); mask:center/16px 16px no-repeat url("/assets/chevron-down-heroicons.svg"); }
#music { scroll-margin-top:24px; }
h1,h2 { margin:0; color:var(--white); font-family:var(--display); font-weight:300; text-transform:uppercase; }
h1 { font-size:clamp(2.25rem,7.4vw,6.625rem); line-height:1; letter-spacing:.02em; }
.intro-copy p { margin:2rem 0 0; color:#d6d6d6; font-family:var(--display); font-size:1.25rem; letter-spacing:.15em; }
h2 { font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.05; letter-spacing:.25em; text-align:center; }
.release { display:grid; justify-items:center; padding:5.5rem 1rem 6rem; }
.release.producer-section { padding-bottom:0; }
.home #music { padding-top:0; padding-bottom:4rem; }
.producer-introduction { display:grid; width:min(64rem,100%); grid-template-columns:16rem minmax(0,28rem); gap:clamp(3rem,6vw,5rem); align-items:center; justify-content:center; margin:0 0 calc(clamp(3rem,5vw,4.5rem) + 2.5rem); }
.producer-portrait { display:block; width:16rem; max-width:100%; height:auto; aspect-ratio:4/5; filter:saturate(.84); }
.artist-bio { width:100%; max-width:28rem; min-width:0; margin:0; color:var(--soft); font-size:clamp(1.125rem,1.3vw,1.25rem); line-height:1.8; text-align:left; text-wrap:pretty; }
@media(min-width:700px) and (max-width:1099px){ .producer-introduction{grid-template-columns:minmax(0,14rem) minmax(0,27rem);gap:3rem;padding-inline:1rem}.producer-portrait{width:14rem} }
@media(max-width:699px){ .producer-introduction{grid-template-columns:minmax(0,1fr);justify-items:center;gap:2rem;padding-inline:.5rem}.producer-portrait{width:clamp(13.5rem,62vw,16rem)}.artist-bio{max-width:30rem;text-align:center} }
@media(max-width:360px){ .producer-introduction{padding-inline:0} }
.release h2 { font-size:3rem; line-height:1.1; letter-spacing:.12em; }
.music-player { width:min(45rem,100%); min-width:0; margin-top:2.5rem; border-block:1px solid rgba(255,255,255,.22); }
.music-player:not([data-enhanced="true"]) :is(.player-transport,.player-timeline,.player-feedback) { display:none; }
.music-player button { appearance:none; border:0; border-radius:0; background:transparent; color:#bbb; font:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:color 140ms ease; }
.music-player button:hover { color:#fff; }
.music-player button:disabled { color:#666; cursor:default; }
.music-player :is(button,input,a):focus-visible { outline:3px solid #eee; outline-offset:3px; }
.player-heading { display:flex; justify-content:space-between; gap:1rem; padding-top:24px; color:#aaa; font-size:.625rem; line-height:1.5; letter-spacing:.15em; text-transform:uppercase; }
.player-transport { display:flex; align-items:center; gap:20px; padding-top:24px; }
.music-player .player-play { flex:0 0 56px; display:grid; place-items:center; width:56px; height:56px; border:1px solid #999; border-radius:50%; color:#eee; }
.player-play-icon { display:block; width:0; height:0; border-block:9px solid transparent; border-left:15px solid currentColor; margin-left:3px; }
[data-player-state="playing"] .player-play-icon { width:14px; height:18px; border-block:0; border-inline:4px solid currentColor; margin-left:0; }
.player-now { min-width:0; flex:1; }
.player-eyebrow { display:block; color:#aaa; font-size:.625rem; line-height:1.4; letter-spacing:.16em; text-transform:uppercase; }
.player-now h3 { margin:6px 0 0; color:#eee; font-size:1.125rem; font-weight:500; line-height:1.2; overflow-wrap:anywhere; }
.player-navigation { display:flex; flex:0 0 auto; }
.player-navigation button { display:grid; place-items:center; width:44px; height:44px; padding:12px; }
.player-navigation svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linejoin:round; }
.player-timeline { display:grid; grid-template-columns:3ch minmax(0,1fr) 4ch; align-items:center; gap:16px; margin-top:16px; color:#aaa; font-size:.75rem; font-variant-numeric:tabular-nums; }
.player-timeline > :last-child { text-align:right; }
#player-seek { appearance:none; -webkit-appearance:none; width:100%; height:44px; margin:0; background:transparent; color:#ddd; cursor:pointer; }
#player-seek:disabled { cursor:default; }
#player-seek::-webkit-slider-runnable-track { height:2px; background:#666; }
#player-seek::-moz-range-track { height:2px; background:#666; }
#player-seek::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:6px; height:6px; margin-top:-2px; border:0; border-radius:50%; background:#eee; }
#player-seek::-moz-range-thumb { width:6px; height:6px; border:0; border-radius:50%; background:#eee; }
.player-feedback { display:flex; align-items:center; flex-wrap:wrap; gap:0 1rem; min-height:32px; padding-bottom:16px; }
#player-status { margin:0; color:#aaa; font-size:.75rem; line-height:1.5; }
.music-player #player-retry { min-height:44px; padding:0 .25rem; text-decoration:underline; text-underline-offset:4px; font-size:.75rem; }
#player-tracks { list-style:none; padding:0; margin:0 0 16px; }
#player-tracks li { margin:0; }
.music-player .player-track { position:relative; display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; min-height:56px; padding:12px 8px 12px 16px; text-align:left; }
.player-track-number,.player-track-duration { color:#999; font-size:.75rem; font-variant-numeric:tabular-nums; }
.player-track-title { font-size:.875rem; line-height:1.25; overflow-wrap:anywhere; }
.music-player .player-track[aria-current="true"] { color:#fff; }
.player-track[aria-current="true"]::before { content:""; position:absolute; inset-block:19px; left:0; width:2px; background:currentColor; }
.player-track[data-unavailable="true"] .player-track-duration { font-size:.625rem; }
.player-fallback { padding-left:1.25rem; }
.player-fallback a { display:inline-flex; align-items:center; min-height:44px; }
.outline-link { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.65rem 1.2rem; border:1px solid var(--soft); font-size:.75rem; font-weight:500; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
.outline-link:hover { background:var(--white); color:var(--black); }
.studio { padding:6rem clamp(1rem,4vw,3rem) 6.5rem; }
.studio-layout { width:min(42rem,100%); margin:3rem auto 0; }
.studio-copy { max-width:42rem; }
.studio-copy .actions { display:flex; }
.studio-copy ul { margin:1.5rem 0; padding-left:1.25rem; }
.studio-copy li+li { margin-top:.65rem; }
.studio-copy strong { color:var(--white); font-weight:500; }
.actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
footer { padding:3rem 1rem 2rem; background:#101010; text-align:center; }
footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--soft); font-size:.72rem; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.social-links { gap:.75rem; margin:0 auto 1.5rem; }
.social-links a { min-width:44px; min-height:44px; width:56px; height:56px; justify-content:center; position:relative; text-transform:none; }
.social-links img { display:block; flex:none; height:auto; }
.social-links a:hover::after { content:""; position:absolute; bottom:0; left:calc(50% - 8px); width:16px; height:1px; background:var(--white); }
.social-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.legal-link { justify-content:center; min-width:44px; min-height:44px; color:#808080; font-size:.75rem; letter-spacing:0; text-transform:none; text-decoration:underline; }
.legal-link:hover,.legal-link:focus-visible { color:var(--white); }
footer p { margin:2.5rem 0 0; color:#999; font-size:.7rem; letter-spacing:.08em; }
.page-shell { width:min(46rem,calc(100% - 2rem)); margin-inline:auto; }
.page-header { padding:1.25rem 0; }
.page-header a { min-height:44px; display:inline-flex; align-items:center; font-size:.75rem; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.page-main { min-height:calc(100svh - 15rem); padding-block:clamp(4rem,10vw,8rem); }
.page-main h1 { font-size:clamp(2.2rem,8vw,5rem); }
.page-main h2 { margin-top:4rem; font-size:1.6rem; text-align:left; }
.page-main p,.page-main li { max-width:65ch; }
.page-main .outline-link { margin-top:1.5rem; }
@media(max-width:64rem){ .intro-copy{padding:5rem 1rem 3.5rem}.hero-continuation{bottom:20px}.release{padding-block:4.5rem 5rem}.release h2{font-size:2.75rem}.studio{padding-block:4.5rem 5rem}.studio-layout{margin-top:2.5rem}footer{padding-block:2.75rem 1.75rem}.social-links{margin-bottom:1.375rem} }
@media(max-width:48rem){ #music{scroll-margin-top:16px}.intro{min-height:100vh;min-height:100svh;min-height:100dvh}.intro::after{background:rgba(0,0,0,.35)}.intro-image{opacity:1}.intro-copy{padding:4.5rem 1rem 3rem}.hero-continuation{bottom:0;min-width:64px;align-items:flex-end;opacity:.85}.hero-continuation-icon{width:64px;height:36px;transform:translateY(4px);-webkit-mask:center/64px 64px no-repeat url("/assets/chevron-down-heroicons-mobile.svg");mask:center/64px 64px no-repeat url("/assets/chevron-down-heroicons-mobile.svg")}h1{font-size:clamp(1.75rem,7.9vw,3rem)}.intro-copy p{margin-top:1rem;font-size:1.25rem}h2{font-size:clamp(1.55rem,7.2vw,2rem);letter-spacing:.22em}.release{padding-block:4rem 4.5rem}.release h2{font-size:2.125rem}.studio{padding-block:4rem 4.5rem}.studio-layout{margin-top:2rem}.studio-copy{max-width:none}.actions{display:grid}footer{padding-block:2.5rem 1.75rem}.social-links{margin-bottom:1.25rem} }
@media(max-width:24rem){ .intro-copy{padding:3.5rem 1rem 2.5rem}h2{font-size:1.45rem;letter-spacing:.16em}.release{padding-block:3.5rem 4rem}.release h2{font-size:1.875rem}.studio{padding:3.5rem .75rem 4rem}.studio-layout{margin-top:1.75rem}.studio-copy{font-size:1rem}footer{padding-block:2.25rem 1.5rem}.social-links{gap:.1rem .85rem;margin-bottom:1.125rem} }
@media(max-height:35rem){ .hero-continuation{display:none} }
@media(max-width:36rem){ .social-links{max-width:17rem;gap:.75rem} }
@media(forced-colors:active){ .social-links img{display:none}.social-label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;white-space:normal}.social-links a{width:auto;height:auto;padding:.5rem;color:LinkText}.legal-link{color:LinkText}.social-links a:focus-visible,.legal-link:focus-visible{outline-color:Highlight}.social-links a:hover::after{background:LinkText} }
/* Black Room / Liner Notes — The Listening Room, bounded homepage field. */
.home .producer-section,.home #music,.home .studio { padding:7rem 0 9rem; }
.home .producer-section { padding-bottom:0; }
.home #music { padding-top:0; padding-bottom:4rem; }
.home .producer-introduction,.music-layout,.home .studio-layout { width:min(80rem,calc(100% - 8rem)); margin-inline:auto; }
.home .producer-introduction { grid-template-columns:repeat(12,minmax(0,1fr)); gap:2.5rem; align-items:start; padding:0; margin-bottom:8rem; }
.home .producer-portrait { grid-column:1 / 6; width:min(100%,calc(80svh - 6.4rem)); max-width:32rem; }
.home .producer-copy { grid-column:7 / 13; min-width:0; padding-top:5.5rem; }
.home .artist-bio { max-width:31ch; font-size:1.625rem; line-height:1.55; }
.inquiry-link { display:inline-flex; align-items:center; min-height:44px; margin-top:1.75rem; font-family:var(--display); font-size:.9375rem; letter-spacing:.08em; }
.closing-rail .actions { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.contact-email { display:flex; align-items:center; min-height:44px; font-size:.875rem; color:var(--muted); overflow-wrap:anywhere; }
.home .artist-bio::before { content:""; display:block; width:3rem; border-top:1px solid rgba(255,255,255,.35); margin-bottom:1.5rem; }
.music-layout,.home .studio-layout { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:2.5rem; align-items:start; }
.music-layout .section-rail { grid-column:1 / 3; }
.music-content { grid-column:3 / 13; min-width:0; }
.section-rail { min-width:0; }
.home .section-rail h2 { text-align:left; font-size:2.625rem; letter-spacing:.12em; overflow-wrap:normal; }
.home .music-layout .section-rail h2 { font-size:1.125rem; letter-spacing:.18em; line-height:1.4; }
.home .music-player { width:100%; max-width:none; margin-top:0; }
.home .player-heading { padding-top:1.5rem; font-size:.6875rem; letter-spacing:.16em; }
.home .player-transport { gap:1.5rem; padding-top:2.5rem; }
.home .music-player .player-play { flex-basis:64px; width:64px; height:64px; }
.home .player-eyebrow { font-size:.75rem; letter-spacing:.18em; }
.home .player-now h3 { max-width:14ch; margin-top:.625rem; font-family:var(--display); font-size:3.5rem; font-weight:300; line-height:1; text-wrap:balance; }
.home .player-timeline { margin-top:1.5rem; }
.home .player-feedback { padding-bottom:0; }
.home #player-tracks { margin:1.5rem 0 1.5rem; }
.home .music-player .player-track { min-height:68px; padding-block:1rem; }
.home .player-track-title { font-size:1.0625rem; line-height:1.4; }
.home .player-track-duration { font-size:.8125rem; }
.home .studio { padding-top:0; padding-bottom:4rem; }
.home .studio-layout { margin-top:0; padding-top:4.5rem; border-top:1px solid rgba(255,255,255,.18); }
.home .studio-layout .section-rail { grid-column:1 / 5; }
.home .studio-copy { grid-column:6 / 13; min-width:0; max-width:none; }
.home .studio-copy > p { max-width:34rem; margin:0; font-size:1.375rem; line-height:1.6; text-wrap:pretty; }
.closing-rail { grid-column:1 / 13; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); align-items:start; gap:1.5rem; margin-top:1.5rem; padding-top:0; }
.closing-rail p { max-width:30rem; margin:0; color:var(--muted); }
.closing-rail > p { grid-column:1 / 7; }
.closing-rail .actions { grid-column:9 / 13; min-width:0; margin:0; }
.closing-rail .inquiry-link { margin-top:0; }
.home > footer { padding-block:2rem max(1.75rem,env(safe-area-inset-bottom)); background:var(--black); }
.home > footer .social-links { row-gap:.5rem; }
@media(min-width:700px) and (max-width:1099px){
  .home .producer-section,.home #music{padding-block:5rem 7rem}.home .producer-section{padding-bottom:0}.home #music{padding-top:0;padding-bottom:3.5rem}
  .home .producer-introduction,.music-layout,.home .studio-layout{width:calc(100% - 6rem)}
  .home .producer-introduction{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;margin-bottom:6rem}
  .home .producer-portrait{grid-column:auto;max-width:20rem}.home .producer-copy{grid-column:auto;padding-top:2rem}
  .home .artist-bio{font-size:1.375rem}
  .music-layout,.home .studio-layout{column-gap:2rem}
  .home .studio-layout .section-rail{grid-column:1 / 5}.home .studio-copy{grid-column:5 / 13}
  .home .section-rail h2{font-size:2.125rem}
  .home .studio-layout{padding-top:3rem}
  .closing-rail .actions{grid-column:8 / 13}
}
@media(max-width:1099px){
  .music-layout{grid-template-columns:minmax(0,1fr)}.music-layout .section-rail,.music-content{grid-column:1}
  .music-layout .section-rail{margin-bottom:2rem}
  .home .player-now h3{font-size:2.625rem}
  .home .music-player .player-track{min-height:64px}
}
@media(max-width:899px){
  .home .studio-layout{grid-template-columns:minmax(0,1fr)}
  .home .studio-layout .section-rail,.home .studio-copy,.closing-rail{grid-column:1}
  .section-rail{margin-bottom:2rem}
  .home .studio-layout .section-rail{margin-bottom:1rem}
  .closing-rail{grid-template-columns:minmax(0,1fr);gap:1rem}.closing-rail > p,.closing-rail .actions{grid-column:1}
}
@media(max-width:699px){
  .home .producer-section,.home #music{padding:4.5rem 0 6rem}.home .producer-section{padding-bottom:0}.home #music{padding-top:0;padding-bottom:3rem}
  .home .producer-introduction,.music-layout,.home .studio-layout{width:calc(100% - 3rem)}
  .home .producer-introduction{grid-template-columns:minmax(0,1fr);gap:2rem;padding:0;margin-bottom:5.5rem;justify-items:center}
  .home .producer-portrait{grid-column:1;width:17rem}.home .producer-copy{grid-column:1;padding-top:0;text-align:center}
  .home .artist-bio{font-size:1.1875rem;line-height:1.65;text-align:center}
  .home .artist-bio::before{margin-inline:auto}
  .home .player-transport{display:grid;grid-template-columns:56px minmax(0,1fr);gap:.5rem 1rem;padding-top:1.75rem}
  .home .music-player .player-play{width:56px;height:56px}.home .player-now h3{font-size:1.75rem;line-height:1.05}
  .home .player-navigation{grid-column:2;justify-self:end}
  .home .player-heading{font-size:.625rem;gap:.75rem}
  .home .player-eyebrow{font-size:.625rem}
  .home .player-timeline{margin-top:.75rem}
  .home .player-track-title{font-size:1rem}
  .home .section-rail h2{font-size:1.875rem}
  .home .studio-copy > p{font-size:1.1875rem}
  .home .studio{padding:0 0 3.5rem}.home .studio-layout{padding-top:2.5rem}
  .closing-rail .actions{width:100%}
}
@media(max-width:360px){
  .service-separator{display:none}.service-last{display:block}
  .home .producer-introduction,.music-layout,.home .studio-layout{width:calc(100% - 2rem)}
  .home .producer-section{padding-top:4rem}.home .producer-portrait{width:14.5rem}.home .artist-bio{font-size:1.125rem}
  .home .player-now h3{font-size:1.5625rem}.home .studio-layout{padding-top:2.25rem}.home .section-rail h2{font-size:1.6875rem}
  .home .studio{padding-bottom:2.75rem}.home > footer{padding-top:1.75rem}
}
@media(forced-colors:active){
  .home .artist-bio::before,.section-rail::after,.home .studio-layout{border-color:CanvasText}
  .closing-rail p{color:CanvasText}
}
/* End editorial */
/* Backwards-only fill preserves the existing responsive opacity after 5s. */
@keyframes intro-reveal { from { opacity:0; } }
@media(prefers-reduced-motion:no-preference) and (forced-colors:none){
  .home #site-title { animation:intro-reveal 1200ms ease-out 200ms backwards; }
  .home .intro-songwriter { animation:intro-reveal 1000ms ease-out 1400ms backwards; }
  .home .intro-producer,.home .intro-separator { animation:intro-reveal 1000ms ease-out 2400ms backwards; }
  .home .intro-image,.home .hero-continuation,.home .producer-section,.home #music,.home #production-and-studio,.home > footer { animation:intro-reveal 1600ms ease-out 3400ms backwards; }
  /* Keyboard navigation must never wait for the decorative entrance. */
  .home:focus-within :is(.hero-continuation,#producer-introduction,#music,#production-and-studio,footer),.home #producer-introduction:target,.home #music:target,.home #production-and-studio:target { opacity:1!important; }
}
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-continuation{transition:none} }
@media(forced-colors:active){ :root{color-scheme:light dark}.intro::after{background:Canvas;opacity:.85}.hero-continuation{color:LinkText;opacity:1;forced-color-adjust:auto}.hero-continuation:focus-visible{outline-color:Highlight}.outline-link{border-color:ButtonText} }
@media(max-width:64rem){ .music-player{max-width:42.5rem} }
@media(max-width:48rem){ .music-player{margin-top:2rem}.player-heading{padding-top:16px;font-size:.5625rem;letter-spacing:.12em}.player-transport{gap:12px;padding-top:20px}.music-player .player-play{flex-basis:52px;width:52px;height:52px}.player-now h3{font-size:1rem}.player-timeline{gap:12px}.music-player .player-track{grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding-left:12px} }
@media(forced-colors:active){ .music-player{border-color:CanvasText}.music-player button,.player-track-number,.player-track-duration,#player-status,.player-heading,.player-eyebrow,.player-timeline{color:CanvasText}.music-player .player-play{border-color:ButtonText;color:ButtonText}.music-player button:disabled{color:GrayText}.music-player .player-track[aria-current="true"]{color:CanvasText;font-weight:700}.music-player :is(button,input,a):focus-visible{outline-color:Highlight}#player-seek::-webkit-slider-runnable-track{background:CanvasText}#player-seek::-moz-range-track{background:CanvasText}#player-seek::-webkit-slider-thumb{background:Highlight}#player-seek::-moz-range-thumb{background:Highlight} }
