@charset "UTF-8";
:root{--bg:#080808;--cream:#f2f0ed;--muted:#a4a29f;--line:#ffffff24;--accent:#d7c3a1}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:55px}body{margin:0;background:var(--bg);color:var(--cream);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{max-width:100%;display:block}::selection{background:var(--cream);color:var(--bg)}.skip{position:fixed;top:-100px;z-index:100;background:var(--cream);color:#000;padding:15px}.skip:focus{top:10px}
.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;height:92px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff16;background:linear-gradient(#08080888,transparent)}.brand img{width:94px;height:auto}.site-header nav{display:flex;gap:38px;font-size:12px}.site-header nav a{padding:14px 0;color:#dedbd6}.site-header nav a:hover{color:white}
.hero{position:relative;height:780px;min-height:600px;isolation:isolate;overflow:hidden;background:#080808}.film-wrap{position:absolute;z-index:-3;inset:0;opacity:.95;mask-image:linear-gradient(#000 35%,#000b 63%,transparent 98%);-webkit-mask-image:linear-gradient(#000 35%,#000b 63%,transparent 98%)}.hero-film{height:100%;width:100%;object-fit:cover}.hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#08080844,transparent 40%,#08080844),linear-gradient(180deg,#08080822 0%,#08080822 35%,#08080877 68%,#080808 100%)}.hero-content{position:absolute;top:300px;left:50%;transform:translateX(-50%);width:90%;text-align:center}.hero h1{margin:0 auto;width:390px;max-width:78vw;line-height:0}.hero h1 img{height:auto;width:100%;filter:drop-shadow(0 3px 20px #0005)}.socials{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:37px}.socials a{width:38px;height:40px;display:grid;place-items:center;transition:transform .2s,opacity .2s;opacity:.92}.socials img{width:23px;height:23px;object-fit:contain}.socials a:hover{opacity:1;transform:translateY(-3px)}.hero-bottom{position:absolute;bottom:54px;left:5%;right:5%;display:flex;justify-content:flex-end;color:#bab7b1}.film-control{display:flex;gap:9px;align-items:center;background:transparent;font-size:10px;padding:10px}.film-control[hidden]{display:none}.control-icon{border:1px solid #ffffff44;width:27px;height:27px;display:grid;place-items:center;border-radius:50%}
.page-content{max-width:1200px;margin:auto;padding:0 40px}.section{padding:70px 0;border-bottom:1px solid var(--line)}.music-section{padding-top:0}.section-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px;gap:20px}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.18em;font-weight:500;text-transform:uppercase;margin:0 0 12px;color:var(--accent)}h2{font-size:38px;letter-spacing:-.035em;font-weight:500;line-height:1.12;margin:0}.text-link{font-size:11px;color:#ccc8c0;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #ffffff42;padding-bottom:8px}.releases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}.cover{position:relative;aspect-ratio:1;overflow:hidden;border-radius:7px;background:#151515}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.release:hover .cover img{transform:scale(1.045)}.play-disc{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;background:#f2f0edee;color:#151515;display:grid;place-items:center;font-size:20px;transform:translateY(60px);transition:transform .25s}.release:hover .play-disc,.release:focus-visible .play-disc{transform:translateY(0)}.release p{font-size:11px;margin:8px 0;color:#a4a29d}.release .release-type{font-size:8px;letter-spacing:.14em;margin-top:19px;color:#b0a696}.release h3{font-size:14px;font-weight:500;line-height:1.5;margin:0}.release h3 span{font-size:12px}
.video-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.video-card{position:relative;aspect-ratio:1.7;overflow:hidden;border-radius:7px;background:#141414}.video-card img{width:100%;height:100%;object-fit:cover;opacity:.74;transition:transform .5s}.video-card:hover img{transform:scale(1.035)}.video-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 15%,#000c)}.video-play{position:absolute;z-index:2;top:24px;right:24px;border-radius:50%;background:#ffffff22;border:1px solid #ffffff60;backdrop-filter:blur(8px);width:43px;height:43px;display:grid;place-items:center;font-size:12px}.video-caption{position:absolute;z-index:2;bottom:27px;left:27px}.video-caption .eyebrow{font-size:8px}.video-caption h3{font-size:28px;letter-spacing:-.035em;margin:9px 0}.video-caption>span:last-child{font-size:10px;color:#d1cec8}
.tiktok-section{border-bottom:0}.tiktok-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.tiktok-card{display:block;position:relative;aspect-ratio:9/16;border-radius:7px;overflow:hidden;background:#181818;isolation:isolate}.tiktok-card>img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.tiktok-card:hover>img{transform:scale(1.04)}.tiktok-card:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(#0003,transparent 35%,#0002 55%,#000d)}.tiktok-badge{position:absolute;top:12px;left:12px;z-index:2;filter:drop-shadow(0 1px 3px #0008)}.tiktok-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff88;border-radius:50%;background:#0003;backdrop-filter:blur(4px);font-size:11px}.tiktok-caption{position:absolute;bottom:15px;left:13px;right:13px;z-index:2;display:grid;gap:7px}.tiktok-caption strong{font-size:12px;font-weight:500;line-height:1.3;overflow-wrap:anywhere}.tiktok-caption>span{display:flex;justify-content:space-between;gap:5px;font-size:9px;color:#d5d3cf;overflow-wrap:anywhere}
.about-banner{position:relative;min-height:450px;border-radius:7px;overflow:hidden;isolation:isolate;display:flex;align-items:center;margin:0 0 35px}.about-background{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 47%}.about-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#050505ed 0%,#050505cc 60%,#05050555 100%),linear-gradient(0deg,#0005,transparent)}.about-content{padding:52px 60px 62px;max-width:880px;width:100%}.about-content h2{margin:0 0 28px}.biography-title{width:330px;max-width:100%;height:auto}.about-content p{font-size:14px;line-height:1.9;color:#dedbd5;margin:15px 0}.live-credit{position:absolute;bottom:20px;right:25px;font-size:8px;letter-spacing:.12em;color:#ded9d1}footer{max-width:1200px;margin:auto;display:flex;gap:30px;justify-content:space-between;align-items:center;padding:30px 40px 45px;color:#99958d;font-size:10px}.footer-logo{width:75px}footer .text-link{font-size:10px}
@media(min-width:1600px){.hero{height:850px}.hero-content{top:330px}}
@media(max-width:900px){.site-header{padding:0 25px}.site-header nav{gap:28px}.page-content{padding:0 25px}.hero{height:750px}.hero-content{top:280px}.hero h1{width:340px}.hero-bottom{left:25px;right:25px;bottom:45px}.video-caption h3{font-size:23px}.tiktok-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.about-content{padding:40px;max-width:780px}}
@media(max-width:600px){html{scroll-padding-top:28px}.site-header{height:76px;padding:0 20px}.brand img{width:70px}.site-header nav{gap:22px;font-size:11px}.hero{height:650px;min-height:0}.hero-film{object-position:50% 50%}.hero-content{top:260px;width:calc(100% - 40px)}.hero h1{width:285px}.socials{gap:10px;margin-top:28px}.socials a{width:34px;height:40px}.socials img{width:22px;height:22px}.hero-bottom{bottom:33px;left:20px;right:20px}.film-control{font-size:9px}.page-content{padding:0 20px}.section{padding:50px 0}.music-section{padding-top:0}.section-top{align-items:center;gap:12px;margin-bottom:27px}h2{font-size:28px}.section-top .eyebrow{font-size:8px}.section-top .text-link{font-size:9px;gap:5px;white-space:nowrap}.releases{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.release h3{font-size:12px}.release h3 span{font-size:11px}.release .release-type{font-size:7px;margin-top:12px}.release p{font-size:10px}.play-disc{transform:translateY(0);width:28px;height:28px;font-size:16px;bottom:9px;right:9px}.video-grid{grid-template-columns:1fr;gap:18px}.video-card{aspect-ratio:1.65}.video-caption{left:22px;bottom:22px}.video-caption h3{font-size:25px}.tiktok-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.tiktok-section h2{font-size:25px}.about-banner{min-height:500px;margin-bottom:10px}.about-content{padding:32px 26px 52px}.about-content h2{margin-bottom:25px}.biography-title{width:260px}.about-content p{font-size:14px;line-height:1.85}.about-shade{background:linear-gradient(90deg,#050505e8,#050505c4),linear-gradient(0deg,#0008,transparent)}.about-background{object-position:58% 50%}.live-credit{font-size:7px;right:18px}footer{padding:28px 20px;gap:15px;font-size:9px}.footer-logo{width:60px}footer .text-link{font-size:9px}}
@media(max-width:350px){.site-header nav{gap:15px}.socials{gap:6px}.socials a{width:32px}.tiktok-section h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.footer-logo img{width:100%;height:auto}
/* Centered biography and photographic journal. */
.about-banner{justify-content:center;margin-bottom:0}
.about-content{margin-inline:auto;text-align:center}
.biography-title{margin-inline:auto}
.about-shade{background:linear-gradient(180deg,#050505bc,#050505df 55%,#050505df)}
.photo-grid{columns:3;column-gap:18px}
.photo-card{display:block;position:relative;break-inside:avoid;margin-bottom:18px;overflow:hidden;border-radius:7px;background:#151515}
.photo-card>img{width:100%;height:auto;transition:transform .45s}
.photo-card:hover>img{transform:scale(1.025)}
.photo-expand{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffff70;border-radius:50%;background:#0005;backdrop-filter:blur(5px);font-size:17px;opacity:0;transition:opacity .2s}
.photo-card:hover .photo-expand,.photo-card:focus-visible .photo-expand{opacity:1}
body.photo-viewer-open{overflow:hidden}
.photo-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:70px 80px 35px;border:0;background:#080808f5;color:var(--cream)}
.photo-viewer::backdrop{background:#000e}
.photo-viewer[open]{display:flex;align-items:center;justify-content:center}
.photo-viewer figure{margin:0;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:18px;pointer-events:none}
.photo-full{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;pointer-events:auto}
.photo-counter{font-size:11px;letter-spacing:.18em;color:#d0ccc5}
.photo-viewer button{position:absolute;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffffff12;border:1px solid #ffffff30;font-size:23px;transition:background .2s}
.photo-viewer button:hover{background:#ffffff30}
.photo-close{top:20px;right:24px;font-size:30px!important}
.photo-previous{top:calc(50% - 22px);left:20px}
.photo-next{top:calc(50% - 22px);right:20px}
@media(max-width:900px){.photo-grid{columns:2;column-gap:15px}.photo-card{margin-bottom:15px}}
@media(max-width:600px){.photo-grid{columns:1}.photo-card{margin-bottom:18px}.photo-expand{opacity:1}.photo-viewer{padding:70px 16px 85px}.photo-full{max-height:calc(100dvh - 195px)}.photo-previous,.photo-next{top:auto;bottom:20px}.photo-previous{left:calc(50% - 60px)}.photo-next{right:calc(50% - 60px)}.photo-close{right:16px;top:16px}}
.site-header nav{align-items:center}
.site-header nav .contact-link{padding:11px 19px;border:1px solid #f2f0ed70;border-radius:3px;color:var(--cream);transition:background .2s,color .2s}
.site-header nav .contact-link:hover{background:var(--cream);color:var(--bg)}
@media(max-width:600px){.site-header{gap:12px}.site-header .brand img{width:60px}.site-header nav{gap:14px;font-size:10px}.site-header nav .contact-link{padding:10px}.site-header .brand{flex-shrink:0}}
@media(max-width:350px){.site-header{padding-inline:15px;gap:8px}.site-header .brand img{width:50px}.site-header nav{gap:11px}.site-header nav .contact-link{padding:9px 8px}}
/* Heavy condensed section titles, with a locally hosted open-license font. */
@font-face{font-family:'Anton';src:url('assets/fonts/Anton-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.section-top h2{font-family:'Anton','Impact','Arial Narrow',sans-serif;font-size:clamp(42px,4.7vw,60px);font-weight:400;line-height:1.08;letter-spacing:.015em;text-transform:uppercase}
@media(max-width:600px){.section-top h2{font-size:36px;letter-spacing:.01em}.tiktok-section .section-top h2{font-size:clamp(29px,8.1vw,36px)}}
@media(max-width:350px){.section-top h2{font-size:32px}.section-top{flex-wrap:wrap}}
/* Three music videos visible together on desktop. */
.video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.video-card{aspect-ratio:1.6}
.video-caption{left:22px;right:18px;bottom:22px}
.video-caption h3{font-size:clamp(19px,2vw,26px)}
.video-play{top:18px;right:18px;width:38px;height:38px}
@media(min-width:601px) and (max-width:900px){.video-grid{gap:14px}.video-card{aspect-ratio:1.2}.video-caption{left:15px;right:12px;bottom:16px}.video-caption h3{font-size:21px}.video-play{top:12px;right:12px;width:32px;height:32px}}
@media(max-width:600px){.video-grid{grid-template-columns:1fr;gap:18px}.video-card{aspect-ratio:1.65}.video-caption h3{font-size:25px}}

/* Vector icons keep iOS from substituting colored emoji glyphs. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}
.play-disc .ui-icon,.photo-expand .ui-icon{width:.9em;height:.9em}
.control-icon>span{display:flex;align-items:center;justify-content:center}
.control-icon .ui-icon{width:12px;height:12px}
.control-icon[data-state="pause"] .icon-play,.control-icon[data-state="play"] .icon-pause{display:none}

/* Two-row, touch-scroll release carousel on phones only. */
.music-actions{display:flex;align-items:center;gap:14px}
.release-controls,.release-listen{display:none}
@media(max-width:600px){
 .music-section .section-top{flex-wrap:wrap;align-items:center;gap:18px}
 .music-actions{width:100%;justify-content:space-between}
 .release-controls:not([hidden]){display:flex;gap:4px}
 .release-controls button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border-radius:50%;font-size:22px}
 .release-controls button:disabled{opacity:.25;cursor:default}
 .releases{grid-template-columns:repeat(var(--release-columns,2),86%);grid-template-rows:repeat(2,148px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;overscroll-behavior-x:contain;scrollbar-width:none;width:calc(100% + 20px);padding:6px 20px 12px 0;-webkit-overflow-scrolling:touch}
 .releases::-webkit-scrollbar{display:none}
 .release{display:grid;grid-template-columns:35% minmax(0,1fr);background:#242424;border-radius:10px;overflow:hidden;scroll-snap-align:start;scroll-margin:0;min-width:0}
 .release .cover{height:100%;aspect-ratio:auto;border-radius:0}
 .release .cover img{object-fit:cover}
 .release .play-disc{width:32px;height:32px;right:calc(50% - 16px);bottom:calc(50% - 16px);font-size:18px}
 .release-details{padding:15px 13px;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
 .release .release-type{display:none}
 .release h3,.release h3 span{font-size:14px;line-height:1.3;font-weight:600}
 .release h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .release p{font-size:12px;margin:7px 0;color:#c5c3bf}
 .release-listen{display:inline-block;border:1px solid #f2f0edaa;border-radius:20px;font-size:11px;padding:4px 13px;line-height:1.2}
 .release:focus-visible{outline-offset:-3px}
}

.release-play-icon{display:none}
@media(max-width:600px){
 .releases{--artwork-size:clamp(126px,38vw,148px);grid-template-rows:repeat(2,var(--artwork-size))}
 .release{grid-template-columns:var(--artwork-size) minmax(0,1fr)}
 .release .cover{width:var(--artwork-size);height:var(--artwork-size);aspect-ratio:1}
 .release .cover img{object-fit:contain;transform:none}
 .release-details{padding:10px}
 .release h3,.release h3 span{font-size:13px}
 .release .play-disc{width:36px;height:36px;right:calc(50% - 18px);bottom:calc(50% - 18px)}
 .play-disc .release-arrow-icon{display:none}
 .play-disc .release-play-icon{display:block;width:18px;height:18px}
}

/* Match KOMI: read each pair from top to bottom, then slide right. */
@media(max-width:600px){.releases{grid-auto-flow:column}}

/* Desktop: one horizontal row, in the same DOM order as KOMI. */
.release-controls:not([hidden]){display:flex;gap:4px}
.release-controls button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border-radius:50%;font-size:22px}
.release-controls button:disabled{opacity:.25;cursor:default}
.release-controls button:not(:disabled):hover{background:#ffffff10}
@media(min-width:601px){
 .music-actions{gap:25px}
 .releases{grid-template-columns:none;grid-template-rows:auto;grid-auto-flow:column;grid-auto-columns:calc((100% - 69px)/4);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:6px 0 12px}
 .releases::-webkit-scrollbar{display:none}
 .release{min-width:0;scroll-snap-align:start}
 .release:focus-visible{outline-offset:-3px}
 .release .cover img{object-fit:contain;transform:none}
 .release .play-disc{transform:none}
 .play-disc .release-arrow-icon{display:none}
 .play-disc .release-play-icon{display:block;width:18px;height:18px}
}
@media(min-width:601px) and (max-width:900px){.releases{grid-auto-columns:calc((100% - 46px)/3)}}

/* Contact form, with direct email as an alternative. */
.contact-section{border-bottom:0}
.contact-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:65px}
.contact-intro>p:first-child{font-size:30px;color:var(--cream);margin:0 0 18px}
.contact-intro p{font-size:14px;line-height:1.8;color:var(--muted);max-width:300px}
.contact-email{display:inline-block;font-size:15px;margin-top:12px;border-bottom:1px solid var(--line);padding-bottom:6px}
.contact-form{min-width:0}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form label{display:flex;flex-direction:column;gap:10px;font-size:12px;margin-bottom:22px}
.contact-form input,.contact-form textarea{font:inherit;font-size:16px;background:#151515;color:var(--cream);border:1px solid #ffffff30;border-radius:5px;padding:14px 15px;width:100%;min-width:0;outline-offset:3px}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--accent)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#92908b;opacity:1}
.contact-form .contact-honey{display:none}
.contact-privacy{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 22px}
.contact-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-send{display:inline-flex;align-items:center;gap:25px;background:var(--cream);color:#080808;padding:15px 24px;border-radius:4px;font-size:13px;min-height:48px}
.contact-send:disabled{opacity:.55;cursor:wait}
.contact-status{font-size:13px;line-height:1.7;min-height:22px;margin:15px 0 0;color:var(--cream)}
.contact-status[data-state="error"]{color:#ffbcb5}
@media(max-width:600px){.contact-layout{grid-template-columns:1fr;gap:30px}.contact-intro>p:first-child{font-size:26px}.contact-intro p{max-width:none}.contact-fields{grid-template-columns:1fr;gap:0}.contact-send{width:100%;justify-content:space-between}}

/* Standalone contact page. */
.contact-page{min-height:100vh;display:flex;flex-direction:column}
.contact-page .site-header{position:relative;flex-shrink:0}
.contact-page main{width:100%;flex:1}
.contact-page footer{width:100%}
.contact-page .section-top h1{font-family:'Anton','Impact','Arial Narrow',sans-serif;font-size:clamp(42px,4.7vw,60px);font-weight:400;line-height:1.08;letter-spacing:.015em;margin:0}
@media(max-width:600px){.contact-page .section-top h1{font-size:36px}}

.contact-page .section-top{justify-content:center;text-align:center}

/* Embedded-app hero: same cover framing without a native video surface. */
.hero-film,.hero-motion{width:100%;height:100%;object-fit:cover;pointer-events:none}
.hero-film[hidden],.hero-motion[hidden]{display:none}
