*{box-sizing:border-box}:root{--paper:#eff0e9;--ink:#29312c;--red:#824538;--line:#c9cfc3}html{background:var(--paper);color:var(--ink)}body{margin:0;font:13px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}a:focus-visible{outline:1px solid var(--red);outline-offset:6px}header{position:fixed;z-index:10;top:35px;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:baseline}.name{font:26px Georgia,serif;letter-spacing:-1px}nav{display:flex;gap:18px;font-size:11px}nav a[aria-current]{color:var(--red)}body[data-view=home] header,body[data-view=home] footer{display:none}body[data-view=info] header .name{visibility:hidden}body[data-view=info] footer span{visibility:hidden}.view[hidden]{display:none}.entrance{height:100svh;display:grid;place-items:center}.photo-portal{display:block;width:min(72vw,490px);animation:breathe 16s ease-in-out infinite alternate}.photo-portal img{width:100%;display:block}.atlas{min-height:100svh;display:grid;place-items:center;padding:105px 25px 70px}.index-cluster{width:650px;height:490px;position:relative}.fragment{position:absolute;display:block;min-width:75px;padding:10px;transition:translate .7s cubic-bezier(.2,.7,.2,1)}.fragment:hover,.fragment:focus-visible{translate:4px -3px}.fragment>span:last-child{display:block;font-size:12px}.f1{left:5%;top:8%}.f2{left:38%;top:0}.f3{left:72%;top:14%}.f4{left:18%;top:49%}.f5{left:53%;top:45%}.f6{left:77%;top:63%}.f7{left:38%;top:86%}.ink-motif{display:block;width:85px;height:85px;background-image:url(assets/motifs.png);background-size:300% 200%;mix-blend-mode:multiply;margin-bottom:10px;transition:transform 1s}.ink-1{background-position:0 0}.ink-2{background-position:50% 0}.ink-3{background-position:100% 0}.ink-4{background-position:0 100%}.ink-5{background-position:50% 100%}.ink-6{background-position:100% 100%}.fragment:hover .ink-motif{transform:translate(-3px,3px) rotate(3deg)}.detail{padding:140px 8vw 100px 29vw;max-width:1180px;min-height:100svh}h1,h2{font:24px Georgia,serif;font-weight:normal;margin:0 0 24px}h2{font-size:21px}p{margin:0 0 24px;max-width:520px}article{margin-bottom:50px}.links a{display:block;margin-bottom:22px}.info-photo{display:block;width:200px;margin:0 0 35px 60px}.performance-row{display:grid;grid-template-columns:105px 1fr;gap:20px;border-top:1px solid var(--line);padding:17px 0;font-size:12px}.performance-row time{font-size:10px;color:#778074}.performance-row small{display:block;font-size:10px;color:#778074}.further-performances{margin-top:50px}.archive-link{font-size:11px}.release-row{display:flex;gap:24px;align-items:center;border-top:1px solid var(--line);padding:23px 0}.release-row img{width:105px;height:105px;object-fit:cover}.release-row small{display:block;font-size:11px;color:#778074;margin-top:9px}.release-heading{display:flex;align-items:flex-start;gap:30px;margin:30px 0}.release-heading img{width:190px;height:190px;object-fit:cover}.release-heading h1{max-width:300px}.back-link{font-size:11px}.bandcamp-player{border:0;width:100%;max-width:520px;height:300px;display:block;margin:30px 0}.external-link{display:inline-block;margin-bottom:35px}.mix iframe{width:100%;height:166px;border:0;display:block;margin-bottom:14px}.mix>a{font-size:11px}.hertz-title{font-size:75px;letter-spacing:-5px}.hertz-history{margin:50px 0}.hertz-history a{display:block;padding:15px 0;border-top:1px solid var(--line)}footer{position:fixed;bottom:22px;left:5vw;right:5vw;display:flex;justify-content:space-between;font-size:10px;z-index:9}footer span{color:#778074}@keyframes breathe{from{transform:translateY(-2px)}to{transform:translateY(3px)}}@media(max-width:700px){header{top:24px;align-items:flex-start}.name{font-size:23px}nav{max-width:220px;flex-wrap:wrap;justify-content:flex-end;gap:4px 13px;font-size:10px}.index-cluster{width:100%;max-width:440px;height:540px}.atlas{min-height:760px}.f1{left:0;top:7%}.f2{left:36%;top:0}.f3{left:71%;top:20%}.f4{left:9%;top:45%}.f5{left:47%;top:45%}.f6{left:72%;top:70%}.f7{left:18%;top:83%}.ink-motif{width:68px;height:68px}.detail{padding:140px 7vw 90px}.performance-row{grid-template-columns:84px 1fr;gap:12px}.release-row{gap:17px}.release-row img{width:85px;height:85px}.release-heading{display:block}.release-heading img{width:180px;height:180px;margin-bottom:25px}.info-photo{width:180px;margin-left:40px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.ink-motif{width:72px;height:108px}.index-cluster{height:540px}.photo-portal{width:min(75vw,510px)}@media(max-width:700px){.ink-motif{width:58px;height:87px}.index-cluster{height:550px}}

.photo-portal{width:min(86vw,980px)}.photo-portal img{width:100%;aspect-ratio:1.85;object-fit:cover}.index-cluster{width:780px;height:390px}.ink-motif{width:68px;height:68px;mix-blend-mode:normal}.f1{left:3%;top:7%}.f2{left:32%;top:0}.f3{left:62%;top:12%}.f4{left:17%;top:52%}.f5{left:48%;top:48%}.f6{left:79%;top:52%}.f7{left:48%;top:86%}@media(max-width:700px){.photo-portal{width:92vw}.index-cluster{width:100%;height:470px}.ink-motif{width:52px;height:52px}.f1{left:0;top:9%}.f2{left:35%;top:0}.f3{left:70%;top:12%}.f4{left:10%;top:46%}.f5{left:48%;top:43%}.f6{left:73%;top:69%}.f7{left:25%;top:84%}}

.hertz-history .hertz-edition{display:grid;grid-template-columns:100px 1fr;gap:15px;font-size:12px}.hertz-edition time{font-size:10px;color:#778074}

.ink-motif{width:62px;height:62px;opacity:.7;margin-bottom:8px}.fragment:hover .ink-motif,.fragment:focus-visible .ink-motif{opacity:1;transform:translate(-2px,2px)}@media(max-width:700px){.ink-motif{width:48px;height:48px}}

.hertz-title{margin-bottom:35px}.hertz-logo{display:block;width:min(100%,540px);height:auto}

body.hertz-transition header .name,body.hertz-transition nav a,body.hertz-transition footer,body.hertz-transition .fragment{animation:depart .45s ease-in forwards;pointer-events:none}body.hertz-transition .f2,body.hertz-transition nav a:nth-child(even){animation-delay:.06s}body.hertz-transition .f3,body.hertz-transition .f5{animation-delay:.1s}body.hertz-transition .f4,body.hertz-transition .f6{animation-name:depart-left}body.hertz-open{overflow:hidden}body.hertz-open header,body.hertz-open footer{visibility:hidden}.hertz-page{position:fixed;inset:24px;z-index:40;max-width:none;min-height:0;padding:115px 7vw 60px;background:#e1e3d9;color:#242a25;overflow-y:auto;border:1px solid #afb8a6;box-shadow:0 30px 100px #18271e30;animation:popup .55s cubic-bezier(.16,1,.3,1) both}.hertz-page .hertz-content{max-width:850px;margin:0 auto}.hertz-page .hertz-title{position:absolute;top:28px;right:35px;margin:0;line-height:0}.hertz-page .hertz-logo{width:clamp(140px,18vw,245px);height:auto}.hertz-close{position:absolute;top:35px;left:35px;background:none;border:0;color:inherit;font:11px Arial,sans-serif;padding:8px 0;cursor:pointer}.hertz-close:hover{color:var(--red)}.hertz-close:focus-visible{outline:1px solid var(--red);outline-offset:5px}.hertz-page .hertz-history{margin-top:45px}.hertz-page .hertz-edition{border-color:#b8c0b0}.hertz-page p{max-width:480px}.hertz-page::before{content:"";position:fixed;inset:0;background:#eff0e9;z-index:-1;pointer-events:none;opacity:.18}@keyframes depart{to{opacity:0;transform:translate(100px,-80px) rotate(5deg)}}@keyframes depart-left{to{opacity:0;transform:translate(-120px,55px) rotate(-5deg)}}@keyframes popup{from{opacity:0;transform:translateY(35px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:700px){.hertz-page{inset:10px;padding:120px 24px 45px}.hertz-page .hertz-title{right:24px;top:32px}.hertz-close{left:24px;top:32px}.hertz-page .hertz-logo{width:150px}.hertz-page .hertz-edition{grid-template-columns:82px 1fr;gap:10px}}@media(prefers-reduced-motion:reduce){body.hertz-transition .fragment,body.hertz-transition header .name,body.hertz-transition nav a,body.hertz-transition footer{animation:none!important}.hertz-page{animation:none!important}}

body[data-view=index] .footer-index{visibility:hidden}.footer-contact{margin-left:auto;font-size:11px}

.fragment>span:last-child{opacity:0;transform:translateY(5px);transition:opacity .35s ease,transform .55s ease}.fragment:hover>span:last-child,.fragment:focus-visible>span:last-child{opacity:1;transform:none}.mix .video-player{height:auto;aspect-ratio:16/9}@media(hover:none){.fragment>span:last-child{opacity:1;transform:none}}

/* Artist release pages */
.photo-portal{width:min(86vw,980px)}.photo-portal img{height:auto;aspect-ratio:auto;object-fit:contain;max-height:86svh;width:100%}
.release-detail{padding-left:12vw;max-width:1400px}.release-meta{font-size:11px;color:#778074;margin-bottom:38px}.artist-release-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:55px;align-items:start}.artist-release-visual{min-width:0}.artist-release-cover{display:block;width:100%;height:auto}.cassette-scroll{display:flex;gap:10px;overflow-x:auto;margin-top:14px;padding-bottom:8px;scrollbar-width:thin;overscroll-behavior-x:contain}.cassette-scroll img{display:block;flex:0 0 auto;height:100px;width:auto;max-width:none;object-fit:contain;cursor:zoom-in}.artist-release-copy p{max-width:none}.artist-release-copy .bandcamp-player{height:300px;margin-top:30px}.mix-artwork{display:block!important;max-width:360px;margin:0 0 20px}.mix-artwork img{width:100%;height:auto;display:block}.photo-viewer{border:0;padding:45px;background:#171918;color:#eee;max-width:96vw;max-height:96svh}.photo-viewer::backdrop{background:#000d}.photo-viewer>img{display:block;max-width:80vw;max-height:78svh;width:auto;height:auto;object-fit:contain}.photo-viewer button{position:absolute;border:0;background:none;color:inherit;cursor:pointer;font-size:22px;padding:10px}.photo-close{top:0;right:5px}.photo-prev{left:0;top:45%}.photo-next{right:0;top:45%}@media(max-width:850px){.artist-release-layout{gap:30px}.release-detail{padding-left:7vw}}@media(max-width:650px){.artist-release-layout{grid-template-columns:1fr;gap:32px}.artist-release-cover{max-width:420px}.artist-release-visual{max-width:420px}.cassette-scroll img{height:85px}.photo-viewer{padding:35px 25px}.photo-viewer>img{max-width:80vw}}

.footer-socials{display:flex;align-items:center;gap:13px;margin-left:auto}.footer-socials a{display:grid;place-items:center;width:24px;height:26px;color:var(--ink);opacity:.75;transition:opacity .2s,color .2s}.footer-socials a:hover,.footer-socials a:focus-visible{opacity:1;color:var(--red)}.footer-socials svg{width:17px;height:17px;fill:currentColor}@media(max-width:480px){.footer-socials{gap:8px}.footer-socials svg{width:16px;height:16px}}

/* Quiet literary atmosphere; original illustrations and composition. */
:root{--paper:#eeece5;--ink:#292823;--red:#74604e;--line:#d1cdc2}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink)}
.name{font-family:Georgia,'Times New Roman',serif;font-size:25px;letter-spacing:-.8px}
nav{font-size:10px;gap:20px;letter-spacing:.025em}
h1,h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.035em;font-weight:normal}
h1{font-size:25px}h2{font-size:21px}
.detail p{line-height:1.95}
.ink-motif{background-image:url(assets/motifs.png);mix-blend-mode:multiply;filter:grayscale(1);opacity:.62;animation:literary-drift var(--drift,20s) ease-in-out var(--phase,0s) infinite;transition:opacity .8s,filter .8s}
.f1{--drift:23s;--phase:-7s}.f2{--drift:29s;--phase:-15s}.f3{--drift:26s;--phase:-3s}.f4{--drift:31s;--phase:-20s}.f5{--drift:24s;--phase:-10s}.f6{--drift:33s;--phase:-18s}
.fragment>span:last-child{font-family:Georgia,'Times New Roman',serif;font-size:12px;letter-spacing:.055em}
.fragment:hover .ink-motif,.fragment:focus-visible .ink-motif{opacity:.95;filter:grayscale(1) contrast(1.1)}
.footer-socials{opacity:.72}
@keyframes literary-drift{0%,100%{transform:translate(0,0)}35%{transform:translate(1px,-2px)}70%{transform:translate(-1px,1px)}}
@media(max-width:700px){nav{gap:4px 13px;letter-spacing:0}.name{font-size:23px}}
@media(prefers-reduced-motion:reduce){.ink-motif{animation:none}}

/* Compact, consistent mix rows. */
#mixes .mix{margin-bottom:28px}
#mixes .mix h2{font-size:18px;line-height:1.4;margin-bottom:12px}
#mixes .mix iframe,#mixes .mix .video-player{width:100%;height:160px;aspect-ratio:auto;margin:0 0 10px}
#mixes .mix-artwork{width:100%;max-width:none;height:160px;margin:0 0 10px}
#mixes .mix-artwork img{width:100%;height:100%;object-fit:contain;object-position:left center}
#mixes .mix>a:not(.mix-artwork){display:inline-block;line-height:1.5}
@media(max-width:700px){#mixes .mix iframe,#mixes .mix .video-player,#mixes .mix-artwork{height:140px}}

#mixes .mix{display:grid;grid-template-rows:60px 160px 18px;gap:6px;min-height:250px;margin-bottom:22px}
#mixes .mix h2{font-size:16px;line-height:1.3;margin:0;align-self:end}
#mixes .mix iframe,#mixes .mix .video-player,#mixes .mix-artwork{margin:0}
@media(max-width:700px){#mixes .mix{grid-template-rows:60px 140px 18px;min-height:230px}#mixes .mix h2{font-size:15px}}

/* Compact audio players and linked video thumbnails. */
#mixes .mix{grid-template-rows:44px 80px 18px;gap:5px;min-height:152px;margin-bottom:18px}
#mixes .mix iframe,#mixes .mix .mix-artwork{height:80px;margin:0}
#mixes .mix .youtube-thumbnail{display:block;position:relative;width:142px;height:80px;margin:0;overflow:hidden}
#mixes .youtube-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
#mixes .youtube-thumbnail span{position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:20px;text-shadow:0 1px 5px #000;pointer-events:none}
#mixes .youtube-thumbnail:hover img{opacity:.8}
#mixes .youtube-thumbnail:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
@media(max-width:700px){#mixes .mix{grid-template-rows:60px 80px 18px;min-height:168px}#mixes .mix iframe,#mixes .mix .mix-artwork{height:80px}}

/* Give the standard SoundCloud widget its full native height. */
#mixes .mix{grid-template-rows:44px auto 18px;min-height:0}
#mixes .mix iframe.soundcloud-player{display:block;width:100%;height:166px;border:0;margin:0}
@media(max-width:700px){#mixes .mix{grid-template-rows:60px auto 18px;min-height:0}#mixes .mix iframe.soundcloud-player{height:166px}}

/* Consistent mix media height, with warm orange behind audio widgets. */
#mixes .mix{grid-template-rows:44px 166px 18px}
#mixes .mix .mix-artwork,#mixes .mix .youtube-thumbnail{height:166px}
#mixes .mix .youtube-thumbnail{width:295px;max-width:100%}
#mixes .mix iframe.soundcloud-player{background-color:#e88b45}
@media(max-width:700px){#mixes .mix{grid-template-rows:60px 166px 18px}#mixes .mix .mix-artwork,#mixes .mix .youtube-thumbnail{height:166px}}

#works .work-meta{font-size:11px;line-height:1.8;margin-bottom:30px;opacity:.7}
.work-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:40px;align-items:start}
.work-flyer{margin:0}.work-flyer img{display:block;width:100%;height:auto}.work-flyer figcaption{font-size:10px;line-height:1.7;margin-top:10px;opacity:.65}
.work-copy p:first-child{margin-top:0}
@media(max-width:700px){.work-layout{grid-template-columns:1fr;gap:28px}.work-flyer{max-width:320px}}

.release-entry{margin:42px 0 85px}.release-entry>h2{font-size:25px;margin-bottom:12px}.release-entry:last-child{margin-bottom:0}
.writing-entry{max-width:600px}.writing-subtitle{font-size:13px}.writing-meta{font-size:11px;opacity:.7}
.f7{left:87%;top:6%}.writing-motif{display:block;width:62px;height:62px;margin-bottom:8px;position:relative;opacity:.6;animation:literary-drift 27s ease-in-out -11s infinite}
.writing-motif:before,.writing-motif:after{content:'';position:absolute;background:var(--ink);width:1px;height:38px;left:27px;top:12px;transform:rotate(13deg)}.writing-motif:after{height:25px;left:34px;top:20px;transform:rotate(-9deg)}
@media(max-width:700px){.f7{left:4%;top:78%}.writing-motif{width:48px;height:48px}.release-entry{margin:32px 0 60px}}
@media(prefers-reduced-motion:reduce){.writing-motif{animation:none}}

#releases .bandcamp-player{display:block;width:100%;height:120px;border:0;margin:22px 0 12px}

/* Writing shares the original menu's textured, abstract visual language. */
.f7{--drift:27s;--phase:-11s}
.ink-writing{background-position:0 100%;rotate:-28deg;scale:.92 1}

/* A stronger presence for the hertz portal. */
.f6 .ink-motif{width:76px;height:76px;opacity:1;filter:grayscale(1) contrast(2.1)}
.f6:hover .ink-motif,.f6:focus-visible .ink-motif{opacity:1;filter:grayscale(1) contrast(2.5)}
@media(max-width:700px){.f6 .ink-motif{width:60px;height:60px}}

.artist-photo-archive{margin-top:42px}.artist-photo-archive h2{font-size:18px;margin-bottom:15px}
.artist-photo-scroll{display:flex;gap:10px;overflow-x:auto;padding:5px 0 12px;overscroll-behavior-x:contain;scrollbar-width:thin}
.artist-photo-scroll img{display:block;flex:0 0 auto;height:120px;width:auto;max-width:none;margin:0;cursor:zoom-in;object-fit:contain}
@media(max-width:700px){.artist-photo-scroll img{height:100px}}

#info .info-photo{width:100%;max-width:100%;height:auto;margin:0 0 35px}

#info .info-photo,#info .artist-photo-archive{width:100%;max-width:520px;box-sizing:border-box;margin-left:0;margin-right:0}
#info .artist-photo-scroll{width:100%;max-width:100%;box-sizing:border-box}

#info>p{text-align:justify;hyphens:auto}

.writing-entry>h2{margin-bottom:0}
.writing-entry .writing-subtitle{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:normal;letter-spacing:-.035em;line-height:1.35;margin:0 0 24px;max-width:none}
.writing-entry .abstract-heading{font-size:12px;font-weight:normal;margin:28px 0 14px}

#info .cv-link{margin-top:26px;text-align:left}.cv-page h2{margin-top:38px}.cv-page .performance-list{max-width:600px}

.performance-year{margin:32px 0 42px}.performance-year>h2{font-size:18px;margin:0 0 15px}

.f8{left:39%;top:83%;--drift:28s;--phase:-13s}.ink-interview{background-position:50% 100%;rotate:21deg;scale:.9 1.08}.artist-release-cover,.work-flyer img{cursor:zoom-in}@media(max-width:700px){.f8{left:40%;top:82%}}

.index-info{position:fixed;left:5vw;bottom:24px;z-index:10;font:12px Georgia,'Times New Roman',serif;letter-spacing:.055em;padding:6px 0}.index-info:hover{color:var(--red)}

.f8{left:3%;top:7%}@media(max-width:700px){.f8{left:0;top:9%}}

/* Keep the menu clear of fixed links on short mobile screens. */
@media(max-width:700px){
 .atlas{min-height:100svh;padding:100px 25px 100px}
 .index-cluster{height:clamp(300px,calc(100svh - 200px),470px)}
 .f7{top:74%}.f6{top:70%}
 .index-info{bottom:calc(24px + env(safe-area-inset-bottom,0px))}
 footer{bottom:calc(22px + env(safe-area-inset-bottom,0px))}
}
@media(hover:none){.fragment>span:last-child{opacity:1;transform:none}}

/* An interrupted line as the artist site's entrance. */
.literary-portal{position:relative;display:grid;place-items:center;width:100%;height:100svh;min-height:360px;overflow:hidden;color:var(--ink);cursor:pointer}
.entrance-composition{position:relative;width:min(86vw,1050px);aspect-ratio:8/5;display:block}
.entrance-lines{display:block;width:100%;height:100%;overflow:visible}
.entrance-line{stroke:currentColor;stroke-width:.65;vector-effect:non-scaling-stroke;stroke-linecap:round}
.line-main{stroke-dasharray:600;stroke-dashoffset:600;animation:entrance-write 15s ease-in-out infinite}
.line-remnant{opacity:0;animation:entrance-remnant 15s ease-in-out infinite}
.line-fault{opacity:0;animation:entrance-fault 15s ease-in-out infinite}
.entrance-word{position:absolute;left:43.8%;top:61%;font:15px Georgia,'Times New Roman',serif;letter-spacing:.1em;opacity:.85;transition:letter-spacing 1.4s,opacity 1.4s}
.entrance-mark{position:absolute;left:44.3%;top:53.6%;width:2px;height:2px;background:currentColor;opacity:.55}
.literary-portal:hover{color:var(--ink)}.literary-portal:hover .entrance-word{letter-spacing:.16em;opacity:1}
.literary-portal:focus-visible{outline:1px solid var(--line);outline-offset:-18px}
@keyframes entrance-write{0%{stroke-dashoffset:600;opacity:0}8%{opacity:.65}40%,72%{stroke-dashoffset:0;opacity:.65}92%,100%{stroke-dashoffset:-600;opacity:0}}
@keyframes entrance-remnant{0%,38%,93%,100%{opacity:0}49%,75%{opacity:.4}}
@keyframes entrance-fault{0%,24%,79%,100%{opacity:0;transform:translateY(1px)}42%,58%{opacity:.3;transform:translateY(0)}}
@media(max-width:700px){.entrance-composition{width:96vw}.entrance-word{font-size:13px;left:42%;top:65%}}
@media(prefers-reduced-motion:reduce){.line-main{stroke-dashoffset:0;opacity:.65}.line-remnant{opacity:.4}.line-fault{opacity:.3}}

/* The atlas is now the entrance itself. */
body[data-view=index] .fragment{animation:atlas-arrive 1.2s ease-out both}
body[data-view=index] .f2{animation-delay:.06s}body[data-view=index] .f3{animation-delay:.12s}body[data-view=index] .f4{animation-delay:.18s}body[data-view=index] .f5{animation-delay:.24s}body[data-view=index] .f6{animation-delay:.3s}body[data-view=index] .f7{animation-delay:.36s}
@keyframes atlas-arrive{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}

/* Dark typographic entrance: an imperfect impression. */
.type-entrance{background:#171715;color:#e5e1d6}
.type-portal{display:grid;place-items:center;width:100%;height:100svh;min-height:320px;overflow:hidden;color:inherit;cursor:pointer}
.type-portal:hover{color:inherit}
.type-impression{position:relative;display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(43px,8.5vw,112px);letter-spacing:-.055em;line-height:1.15}
.type-name{position:relative;display:block;font-weight:normal;opacity:.84;filter:contrast(1.1);transition:opacity 1s}
.type-ghost{position:absolute;inset:0;transform:translate(2px,1px);color:#bdb7a8;opacity:.28;clip-path:polygon(0 15%,100% 15%,100% 24%,0 24%,0 58%,100% 58%,100% 64%,0 64%)}
.type-name::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 8px,#171715aa 8px 8.5px);pointer-events:none}
.type-portal:hover .type-name,.type-portal:focus-visible .type-name{opacity:1}
.type-portal:focus-visible{outline:1px solid #817c70;outline-offset:-18px}

/* Restrained industrial typography. */
.type-entrance{background:#191a19;color:#b7bab4}
.type-impression{font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-size:clamp(20px,3.1vw,40px);font-weight:400;letter-spacing:.24em;line-height:1.5}
.type-name{opacity:.8;filter:none;font-weight:400}
.type-ghost{display:none}
.type-name::after{display:none}
.type-portal:hover .type-name,.type-portal:focus-visible .type-name{opacity:.95}
.type-portal:focus-visible{outline-color:#50534e}
@media(max-width:700px){.type-impression{font-size:22px;letter-spacing:.18em}}

/* Artist-provided film as a wordless entrance. */
.video-entrance{position:relative;isolation:isolate;overflow:hidden;background:#111;height:100svh}
.entrance-video{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.entrance-video iframe{position:absolute;left:50%;top:50%;width:max(100vw,177.78svh);height:max(100svh,56.25vw);transform:translate(-50%,-50%);border:0;pointer-events:none}
.video-portal{position:absolute;inset:0;display:block;z-index:2;cursor:pointer}
.video-portal:focus-visible{outline:1px solid #aaa;outline-offset:-16px}

.entrance-video video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.portrait-entrance{background:var(--paper);padding:30px}.portrait-portal{display:block;max-width:86vw;max-height:86svh}.portrait-portal img{display:block;width:auto;height:auto;max-width:86vw;max-height:86svh;object-fit:contain}@media(max-width:700px){.portrait-entrance{padding:20px}.portrait-portal,.portrait-portal img{max-width:90vw;max-height:84svh}}

#info .info-interviews{max-width:520px;margin-top:42px;scroll-margin-top:100px}#info .info-interviews h2{font-size:18px;margin-bottom:15px}#info .interview-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;margin-bottom:0}#info .interview-row a{text-decoration:underline;text-underline-offset:3px}#info .interview-language{font-size:11px;color:#778074}

.graphics-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem 2rem;margin-top:2rem}.graphics-gallery figure{margin:0}.graphics-gallery img{display:block;width:100%;height:auto}.graphics-gallery figcaption{font-size:12px;line-height:1.7;margin-top:.8rem}.graphics-gallery time{opacity:.65}@media(max-width:700px){.graphics-gallery{grid-template-columns:1fr;gap:2.5rem}}

.graphics-gallery{grid-auto-rows:4px;gap:12px;margin-top:1.5rem;align-items:start}.graphics-gallery figure{min-width:0}.graphics-gallery a{display:block}@media(max-width:700px){.graphics-gallery{grid-auto-rows:auto;gap:12px}.graphics-gallery figure{grid-row-end:auto!important}}

.mix-platform-links{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.mix-platform-links a{white-space:nowrap}

/* Persistent artist navigation and consistent content widths. */
header{right:auto;display:flex;flex-direction:column;align-items:flex-start;gap:22px;width:19vw}
.sidebar-menu{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font:12px/1.6 Georgia,'Times New Roman',serif;letter-spacing:.025em}
body[data-view=home] header{display:flex}
body[data-view=info] .sidebar-menu{display:none}
#releases.release-detail{padding-left:29vw;max-width:1180px}
#releases .artist-release-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
@media(max-width:700px){header{width:118px;gap:18px}.sidebar-menu{font-size:11px;gap:7px}.name{font-size:21px}body:not([data-view=info]) .detail,#releases.release-detail{padding-left:145px;padding-right:6vw}.atlas{padding-left:145px;padding-right:20px}.portrait-entrance{padding-left:145px;padding-right:20px}.portrait-portal,.portrait-portal img{max-width:calc(100vw - 165px)}#releases .artist-release-layout{grid-template-columns:1fr;gap:28px}}

/* Entrance and atlas retain their original presentation. */
body[data-view=home] header{display:none}
body[data-view=index] .sidebar-menu{display:none}
@media(max-width:700px){.atlas{padding-left:25px;padding-right:25px}.portrait-entrance{padding:20px}.portrait-portal,.portrait-portal img{max-width:90vw;max-height:84svh}}

.ink-writing{background-image:url(assets/writing-motif.svg);background-size:contain;background-repeat:no-repeat;background-position:center;rotate:-8deg;scale:1}

/* Writing shares the same scanned, worn ink as the other motifs. */
.ink-writing{position:relative;background-image:none;rotate:-12deg;scale:1}
.ink-writing::before,.ink-writing::after{content:'';position:absolute;inset:0;background-image:url(assets/motifs.png);background-size:300% 200%;background-repeat:no-repeat;mix-blend-mode:multiply}
.ink-writing::before{background-position:0 0;clip-path:polygon(0 0,66% 0,57% 100%,0 100%);transform:rotate(-23deg) scale(.85)}
.ink-writing::after{background-position:100% 0;clip-path:polygon(43% 0,100% 0,100% 100%,52% 100%);transform:translate(-5px,8px) rotate(29deg) scale(.9)}

.news-link{position:fixed;top:39px;right:5vw;z-index:10;font:12px/1.6 Georgia,'Times New Roman',serif;letter-spacing:.025em}body[data-view=home] .news-link{display:none}body[data-view=news] .news-link{color:var(--red)}@media(max-width:700px){.news-link{top:28px;font-size:11px}}

#info>p,#info .info-photo,#info .artist-photo-archive,#info .info-interviews{max-width:none;width:100%}@media(max-width:700px){#info.detail{padding-left:145px;padding-right:6vw}}

.mobile-menu-toggle,.mobile-news{display:none}
@media(max-width:700px){
 header{position:relative;top:auto;left:auto;right:auto;width:100%;padding:24px 6vw 0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0;flex-wrap:wrap}
 .name{font-size:25px;line-height:1.3}body[data-view=info] header .name{visibility:visible}
 .mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:38px;padding:8px;background:none;border:0;color:var(--ink);cursor:pointer}
 .mobile-menu-toggle span{display:block;width:26px;height:1px;background:currentColor;transition:transform .2s,opacity .2s}
 .mobile-menu-open .mobile-menu-toggle span:first-child{transform:translateY(6px) rotate(45deg)}.mobile-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}.mobile-menu-open .mobile-menu-toggle span:last-child{transform:translateY(-6px) rotate(-45deg)}
 body .sidebar-menu,body[data-view=index] .sidebar-menu,body[data-view=info] .sidebar-menu{display:none;width:100%;padding:28px 0 12px;font-size:16px;gap:12px}
 body.mobile-menu-open .sidebar-menu{display:flex}.sidebar-menu .mobile-news{display:block}.news-link{display:none}
 body:not([data-view=info]) .detail,#info.detail,#releases.release-detail{padding:42px 6vw 60px;width:100%;max-width:none;min-height:calc(100svh - 140px)}
 .detail p{max-width:none}.work-layout,#releases .artist-release-layout{grid-template-columns:1fr;gap:28px}.work-flyer,.artist-release-visual,.artist-release-cover{max-width:none;width:100%}
 #mixes .mix{display:flex;flex-direction:column;gap:12px;margin-bottom:42px;min-height:0}#mixes .mix h2{font-size:19px;align-self:auto}#mixes .mix .youtube-thumbnail{width:100%;height:auto;aspect-ratio:16/9}#mixes .mix .mix-artwork{height:auto}#mixes .mix .mix-artwork img{height:auto;width:100%}.mix-platform-links{font-size:11px}
 .graphics-gallery{grid-template-columns:1fr;gap:12px;margin-top:0}.performance-row{grid-template-columns:82px minmax(0,1fr);gap:12px}
 footer{position:relative;left:auto;right:auto;bottom:auto;width:100%;padding:20px 6vw 26px;gap:15px;align-items:center;flex-wrap:wrap}.footer-socials{gap:10px}.footer-socials a{width:20px}
 .atlas{min-height:calc(100svh - 130px);padding:35px 6vw 50px}.index-cluster{height:clamp(330px,calc(100svh - 240px),470px)}.index-info{position:absolute;left:0;bottom:-22px}
 body[data-view=home] header,body[data-view=home] footer{display:none}.portrait-entrance{padding:20px}.portrait-portal,.portrait-portal img{max-width:90vw;max-height:84svh}
}

.mobile-menu-utilities{display:none}
@media(max-width:700px){
 header{position:fixed;inset:0 0 auto;width:100%;min-height:78px;padding:20px 6vw;flex-wrap:nowrap;background:var(--paper);z-index:40;isolation:isolate}
 .mobile-menu-toggle{display:block;width:auto;min-width:44px;height:38px;padding:8px 0 8px 12px;font:12px/1.6 Georgia,'Times New Roman',serif;letter-spacing:.025em}
 body.mobile-menu-open .sidebar-menu{position:fixed;top:78px;right:6vw;width:88vw;max-width:340px;max-height:calc(100svh - 100px);overflow-y:auto;overscroll-behavior:contain;padding:24px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px #29282318;gap:11px;z-index:41}
 .mobile-menu-utilities{display:flex;flex-direction:column;width:100%;border-top:1px solid var(--line);margin-top:8px;padding-top:15px;gap:10px;font-size:12px}
 body:not([data-view=info]) .detail,#info.detail,#releases.release-detail{padding-top:112px;min-height:100svh}.atlas{padding-top:110px;min-height:100svh}
 footer{display:none}.index-info{display:none}
}

@media(max-width:700px){
 body[data-view=home] header{display:flex}
 .portrait-entrance{height:100svh;min-height:420px;padding:108px 6vw 35px}
 .portrait-portal,.portrait-portal img{max-width:88vw;max-height:calc(100svh - 143px)}.portrait-portal{pointer-events:none}
 body.mobile-menu-open{overflow:hidden}
 body.mobile-menu-open .sidebar-menu{inset:78px 0 0;width:100%;max-width:none;max-height:none;padding:28px 6vw 36px;border:0;box-shadow:none;background:var(--paper);font-size:22px;gap:13px;align-items:flex-start}
 .mobile-menu-utilities{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-top:18px;padding-top:10px;border:0;font-size:12px}
}

body[data-view=info] .news-link{display:none}
