:root{--bg:#100f0d;--panel:#1a1916;--ink:#f0ede5;--muted:#b5b0a6;--line:#413e37;--accent:#d7b053;--display:'Sofia Sans Extra Condensed',sans-serif;--body:'Barlow','PingFang SC','Microsoft YaHei',sans-serif;--gutter:clamp(22px,4vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-weight:400}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}svg{width:18px;height:18px;flex-shrink:0}button,a{touch-action:manipulation}img{display:block;width:100%}p,h1,h2,h3{margin:0;font-weight:400}p{line-height:1.7}button:disabled{opacity:.35;cursor:default}.masthead{height:114px;padding:0 var(--gutter);display:flex;align-items:center;gap:45px;max-width:1800px;margin:auto}.wordmark{display:flex;gap:16px;align-items:center}.wordmark span{font-size:28px;font-weight:200;letter-spacing:.06em}.wordmark b{font-family:var(--display);font-weight:100;font-size:52px;line-height:1}.top-nav{display:flex;gap:44px;margin-left:auto}.top-nav a{padding:14px 0;position:relative;font-size:16px}.top-nav a[aria-current=page]:after{content:'';position:absolute;bottom:4px;height:2px;background:var(--accent);left:0;right:0}.about-button{padding:12px;display:flex}.about-button svg{width:27px;height:20px}.hero{height:clamp(450px,62vh,780px);position:relative;max-width:1800px;margin:auto;isolation:isolate;overflow:clip}.hero>img{height:100%;object-fit:cover;object-position:center 49%;filter:grayscale(1) brightness(.77)}.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(16,15,13,.6),transparent 52%),linear-gradient(0deg,rgba(16,15,13,.55),transparent 40%);pointer-events:none}.hero-name{position:absolute;left:var(--gutter);top:8%;bottom:3%;z-index:2;display:flex;flex-direction:column;pointer-events:none}.hero-name span{font-size:clamp(40px,5.4vw,85px);font-weight:100;line-height:1.15;letter-spacing:.07em}.hero-name b{font-family:var(--display);font-weight:100;font-size:clamp(260px,36vw,560px);line-height:.79;letter-spacing:-.025em;flex:1}.hero-work{position:absolute;bottom:34px;right:var(--gutter);z-index:3;max-width:36%;text-shadow:0 1px 15px #000}.hero-work>p{font-size:13px;margin-bottom:6px;color:var(--ink)}.hero-work h2{font-size:25px;font-weight:300;margin-bottom:18px}.outline-button{border:1px solid #c4bfb2;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:10px 22px;font-size:14px;background:#100f0d66}.outline-button:hover{background:var(--ink);color:var(--bg);text-shadow:none}.state-nav{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);padding:32px 0 25px}.state-nav a{text-align:center;position:relative;border-right:1px solid var(--line);font-size:clamp(27px,3.1vw,46px);font-weight:200;line-height:1.5;padding:0 15px}.state-nav a:last-child{border:0}.state-nav a span{position:relative;display:inline-block}.state-nav a[aria-current=page] span:after{content:'';position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--accent)}.below-hero{position:relative;max-width:1800px;margin:auto;padding:12px var(--gutter) 36px;text-align:center;color:var(--muted);font-size:14px}.below-hero a{position:absolute;right:var(--gutter);top:12px;display:flex;align-items:center;gap:10px;font-size:13px;min-height:28px}.collection{max-width:1560px;margin:auto;padding:68px var(--gutter) 20px;border-top:1px solid var(--line)}.collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:38px}.collection-heading h2{font-size:34px;font-weight:200;letter-spacing:.03em;margin-bottom:12px}.collection-heading p{color:var(--muted);font-size:15px}.filters{display:flex;gap:18px;flex-wrap:wrap}.filters button{font-size:14px;color:var(--muted);min-height:44px;padding:8px 0}.filters button[aria-pressed=true]{color:var(--ink);box-shadow:inset 0 -1px var(--ink)}.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 32px}.work{min-width:0}.work.featured{grid-column:1/-1}.work-open{display:block;width:100%;padding:0;text-align:left}.work-media{position:relative;overflow:clip;background:var(--panel);aspect-ratio:1.5}.work.featured .work-media{aspect-ratio:2.25}.work-media img{height:100%;object-fit:cover;filter:grayscale(1) brightness(.85);transition:transform .2s ease-out}.work-open:hover img{transform:scale(1.018)}.work-action{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:9px;border:1px solid #e7e3d099;background:#100f0d99;padding:9px 15px;font-size:13px;min-height:40px}.work-info{display:flex;align-items:baseline;gap:16px;margin-top:17px}.work-info h3{font-size:23px;font-weight:300;line-height:1.35}.work-info>span{margin-left:auto;white-space:nowrap;font-size:13px;color:var(--muted)}.work-description{font-size:14px;color:var(--muted);margin-top:7px}.audio-cover{height:100%;padding:10%;display:flex;align-items:center;justify-content:space-between;color:var(--ink);background:#191815}.audio-cover strong{font-size:clamp(32px,4vw,68px);font-weight:200;line-height:1.4;max-width:60%}.audio-cover .disc{width:31%;aspect-ratio:1;border-radius:50%;border:1px solid #747065;display:grid;place-items:center}.disc:after{content:'';width:19%;aspect-ratio:1;border:1px solid #747065;border-radius:50%}.end-note{text-align:center;margin:80px 0 40px;font-size:14px;color:var(--muted)}.footer{max-width:1560px;padding:40px var(--gutter) 70px;margin:auto;display:flex;gap:35px;align-items:center;border-top:1px solid var(--line)}.footer-title{font-family:var(--display);font-size:95px;font-weight:100;line-height:1}.footer p{font-size:14px}.footer p span{color:var(--muted)}.footer button{margin-left:auto}.footer a,.text-button{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.footer a:hover,.text-button:hover{text-decoration:underline}dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--bg);color:var(--ink);overflow:auto}dialog::backdrop{background:#000d}.viewer-bar{position:sticky;top:0;background:var(--bg);z-index:5;display:flex;align-items:center;justify-content:space-between;padding:12px var(--gutter);border-bottom:1px solid var(--line);height:70px}.viewer-bar button{min-height:44px;display:flex;gap:20px;align-items:center;font-size:15px}.viewer-bar button span{font-size:32px;font-weight:200}.viewer-brand{font-size:18px;font-weight:200}#viewer-content{max-width:1480px;margin:auto;padding:36px var(--gutter) 70px}.viewer-meta{margin:0 0 24px}.viewer-meta h2{font-size:clamp(26px,4vw,48px);font-weight:200;margin-bottom:10px}.viewer-meta p{color:var(--muted);max-width:650px;font-size:16px}.viewer-media video{width:100%;max-height:70dvh;display:block;background:#000}.viewer-media img{width:100%;max-height:70dvh;object-fit:contain}.viewer-tools{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:18px 0}.viewer-tools button{border:1px solid var(--line);padding:10px 22px;min-height:44px}.viewer-tools p{color:var(--muted);font-size:14px}.viewer-thumbs{display:flex;gap:12px;overflow:auto;padding:5px 2px 20px}.viewer-thumbs button{padding:0;flex:0 0 110px;border:2px solid transparent}.viewer-thumbs button[aria-pressed=true]{border-color:var(--accent)}.viewer-thumbs img{height:72px;object-fit:cover}.project-preview img{max-height:58dvh;object-fit:contain;margin-bottom:24px}.project-preview .outline-button{background:var(--ink);color:var(--bg)}.audio-player{max-width:680px;margin:30px auto}.audio-player audio{width:100%;margin-top:30px}.audio-player .audio-cover{min-height:300px}.about-content{max-width:700px;padding:40px 0}.about-content h2{font-family:var(--display);font-size:160px;font-weight:100;line-height:1;margin-bottom:35px}.about-content p{font-size:20px;font-weight:300;margin:25px 0;line-height:1.9}.media-error{color:var(--muted);margin-top:15px}.empty{grid-column:1/-1;color:var(--muted);padding:40px 0}
@media(min-width:1800px){.hero-name b{font-size:560px}}@media(max-width:760px){html{scroll-padding-top:30px}.masthead{height:82px;gap:20px}.wordmark span{font-size:22px}.wordmark b{font-size:40px}.top-nav{display:none}.about-button{margin-left:auto}.hero{height:calc(100svh - 218px);min-height:490px;max-height:850px}.hero>img{object-position:58% center}.hero-shade{background:linear-gradient(0deg,#100f0de6,transparent 65%),linear-gradient(90deg,#100f0d55,transparent 70%)}.hero-name{top:auto;bottom:100px;left:24px;height:62%;max-height:450px}.hero-name span{font-size:45px}.hero-name b{font-size:clamp(270px,68vw,410px);line-height:.88}.hero-work{left:24px;right:24px;bottom:15px;max-width:none;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px}.hero-work>p{font-size:12px;grid-column:1}.hero-work h2{font-size:20px;grid-column:1;margin:0}.hero-work button{grid-row:1/3;grid-column:2;padding:8px 14px;font-size:13px;gap:10px}.state-nav{padding:24px 12px 23px}.state-nav a{font-size:27px}.below-hero{padding:9px 22px 25px;font-size:12px;display:flex;justify-content:space-between;text-align:left}.below-hero a{position:static;font-size:12px;min-height:24px}.collection{padding-top:44px}.collection-heading{display:block;margin-bottom:24px}.collection-heading h2{font-size:30px}.collection-heading p{font-size:14px}.filters{gap:22px;margin-top:18px}.works{gap:38px 16px}.work.featured .work-media{aspect-ratio:1.35}.work-media{aspect-ratio:.85}.work-info{display:block;margin-top:12px}.work-info h3{font-size:18px}.work-info>span{display:block;margin-top:6px;font-size:12px}.work-description{font-size:13px}.work-action{bottom:10px;right:10px;padding:6px 9px;font-size:12px;gap:6px;min-height:34px}.work-action svg{width:13px;height:13px}.audio-cover{padding:14%}.audio-cover strong{font-size:27px;max-width:85%}.audio-cover .disc{display:none}.end-note{margin:50px 0 25px}.footer{gap:20px;padding-bottom:calc(35px + env(safe-area-inset-bottom));flex-wrap:wrap}.footer-title{font-size:80px}.footer p{font-size:12px}.footer button{margin-left:0}.footer a{margin-left:auto}#viewer-content{padding-top:24px}.viewer-bar{height:64px}.viewer-meta p{font-size:14px}.viewer-thumbs button{flex-basis:85px}.viewer-thumbs img{height:60px}.about-content{padding-top:10px}.about-content p{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Match the approved narrow lettering without changing the real font's weight. */
.hero-name b{transform:scaleX(.68);transform-origin:left top}

.state-nav{position:sticky;top:0;z-index:4;background:var(--bg)}
@media(max-width:760px){.hero-name b{font-size:clamp(310px,94vw,430px)}}
/* Quiet navigation cues around the existing cover. */
.hero{touch-action:pan-y}.hero>img{user-select:none}.hero-arrow{position:absolute;top:46%;z-index:3;width:48px;height:56px;display:grid;place-items:center;background:#100f0d40;color:var(--ink)}.hero-arrow svg{width:28px;height:24px}.hero-arrow:hover{background:#100f0d99}.hero-prev{left:4px}.hero-next{right:4px}
.below-hero{display:flex;flex-direction:column;align-items:center;gap:13px;padding:12px var(--gutter) 24px;text-align:center}.below-hero a{position:static;display:flex;flex-direction:column;gap:9px;min-height:52px;font-size:13px;color:var(--ink)}.below-hero a svg{color:var(--accent)}.below-hero>p{color:var(--muted)}
.music-studio{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);padding:42px 0;gap:clamp(28px,6vw,90px);margin-top:12px}.music-deck{padding:0 0 0 24px;min-width:0}.music-eyebrow{font-size:12px;color:var(--muted)}.music-deck h3{font-size:clamp(36px,4vw,58px);font-weight:200;margin:26px 0 12px}.music-credit{font-size:13px;color:var(--muted)}.music-transport{display:flex;align-items:center;gap:16px;margin:26px 0 15px}.music-transport button{width:44px;height:44px;display:grid;place-items:center;font-weight:200;font-size:24px}.music-transport #track-play{width:58px;height:58px;border:1px solid var(--ink);border-radius:50%}.music-transport #track-play svg{width:22px;height:22px}.music-transport button:hover{color:var(--accent)}#track-status{font-size:12px;color:var(--muted);margin-left:4px}.music-seek input{display:block;width:100%;height:24px;margin:0;accent-color:var(--accent);cursor:pointer}.music-seek input:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.music-seek>div{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.music-queue{border-left:1px solid var(--line);padding-left:32px;align-self:center}.queue-heading{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;padding:0 16px 17px}.music-queue ol{list-style:none;padding:0;margin:0}.track-row{display:flex;align-items:center;gap:20px;width:100%;text-align:left;min-height:64px;padding:12px 16px;border-top:1px solid var(--line)}.track-number,.track-length{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.track-name{font-size:18px;font-weight:300}.track-length{margin-left:auto}.track-row[aria-current=true]{background:#ffffff05}.track-row[aria-current=true] .track-number,.track-row[aria-current=true] .track-name{color:var(--accent)}.track-row:hover{background:#ffffff08}
@media(max-width:760px){.hero-arrow{width:44px;height:48px;top:35%}.hero-prev{left:0}.hero-next{right:0}.hero-arrow svg{width:24px}.below-hero{padding-top:8px;gap:12px}.below-hero a{font-size:12px}.music-studio{grid-template-columns:1fr;padding:28px 0;gap:30px}.music-deck{padding:0 6px}.music-deck h3{font-size:40px;margin-top:20px}.music-queue{border:0;padding:0}.track-row{min-height:60px}.collection{scroll-margin-top:70px}}
.music-seek input{appearance:none;-webkit-appearance:none;background:transparent}.music-seek input::-webkit-slider-runnable-track{height:2px;background:var(--line)}.music-seek input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);margin-top:-5px}.music-seek input::-moz-range-track{height:2px;background:var(--line)}.music-seek input::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--accent)}
@media(max-width:760px){.hero{height:calc(100svh - 300px);min-height:420px}.hero-name b{font-size:clamp(270px,85vw,400px)}}

/* A small invitation to continue, also available to keyboard users. */
#browse span,#browse svg{transition:transform 220ms ease-out}
#browse:focus-visible span{transform:translateY(-2px)}
#browse:focus-visible svg{transform:translateY(4px)}
@media(hover:hover){#browse:hover span{transform:translateY(-2px)}#browse:hover svg{transform:translateY(4px)}}
@media(prefers-reduced-motion:reduce){#browse span,#browse svg{transform:none!important;transition:none}}

/* Consistent content labels, readable over every cover. */
.work-type,.music-type{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border:1px solid #e5e0d580;background:#100f0de8;color:var(--ink);font-size:12px;font-weight:400;line-height:1.4}
.work-type{position:absolute;top:18px;left:18px;pointer-events:none}
.music-eyebrow{display:flex;align-items:center;gap:12px}
@media(max-width:760px){.work-type{top:10px;left:10px;padding:4px 8px;min-height:27px;font-size:11px}}
/* Reveal each work's original colors on deliberate interaction. */
.work-media img{transition:filter 480ms ease,transform 240ms ease-out}
@media(hover:hover){.work-open:hover .work-media img{filter:grayscale(0) brightness(1)}}
.work-open:focus-visible .work-media img{filter:grayscale(0) brightness(1)}
@media(prefers-reduced-motion:reduce){.work-media img{transition:none}}
.filters[hidden],.floating-about[hidden]{display:none}.about-button{align-items:center;gap:13px}.about-button>span{font-size:14px;white-space:nowrap}.about-button svg{width:22px}.floating-about{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));right:var(--gutter);z-index:6;border:1px solid var(--line);background:var(--bg);padding:12px 18px;min-height:44px;font-size:13px}.floating-about:hover{border-color:var(--accent)}body:has(dialog[open]) .floating-about{display:none}.end-note .outline-button{margin-top:20px}.viewer-author{display:block;border-top:1px solid var(--line);margin-top:36px;padding:22px 0;min-height:44px;color:var(--muted)}.viewer-author:hover{color:var(--ink)}.about-content .about-kicker{font-size:14px;color:var(--muted)}.about-content h2{font-size:clamp(54px,10vw,110px)}

.contact-links{border-top:1px solid var(--line);margin-top:36px;padding-top:12px}.contact-links a{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 0;min-height:44px}.contact-links span{font-size:13px;color:var(--muted)}.contact-links strong{font-size:clamp(18px,3vw,24px);font-weight:300;overflow-wrap:anywhere}.contact-links a:hover strong{color:var(--accent)}.footer{flex-wrap:wrap}.footer-contacts{flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px 32px;border-top:1px solid var(--line);padding-top:18px}.footer .footer-contacts a{margin-left:0;color:var(--muted);font-size:13px}.footer .footer-contacts a:hover{color:var(--ink)}

.gallery-expand{display:block;width:100%;padding:0;position:relative;cursor:zoom-in}.expand-hint{position:absolute;bottom:16px;right:16px;background:#100f0dcc;padding:8px 12px;border:1px solid #ffffff55;color:var(--ink);font-size:12px}
dialog.immersive-viewer{background:#080808;overflow:hidden;touch-action:pan-y pinch-zoom}
.immersive-image{width:100%;height:100%;object-fit:contain;padding:56px 64px 66px;user-select:none}
.immersive-close,.immersive-prev,.immersive-next{position:absolute;z-index:2;background:#080808aa;min-width:44px;min-height:44px;border:1px solid #ffffff33;color:var(--ink)}.immersive-close{top:max(12px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));padding:10px 16px;font-size:13px}.immersive-prev,.immersive-next{top:calc(50% - 24px);font-size:24px}.immersive-prev{left:12px}.immersive-next{right:12px}.immersive-caption{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:60px;right:60px;text-align:center;pointer-events:none}.immersive-count{font-size:13px;color:var(--ink)}.rotate-hint{display:none;font-size:12px;color:var(--muted)}
@media(max-width:760px){.hero-name{top:28px;bottom:auto;left:24px;height:auto;max-height:none}.hero-name span{font-size:30px}.hero-name b{font-size:clamp(120px,37vw,175px);line-height:.88;flex:none}.immersive-image{padding:62px 0 80px}.immersive-prev{left:6px}.immersive-next{right:6px}.immersive-caption{left:16px;right:16px}.rotate-hint{display:block;margin-top:5px}}
@media(hover:none) and (orientation:portrait){.rotate-hint{display:block}}
@media(max-height:500px) and (orientation:landscape){.immersive-image{padding:0 54px}.immersive-caption{bottom:8px}.immersive-count{display:inline-block;background:#080808aa;padding:3px 10px}.rotate-hint{display:none}.immersive-close{top:8px}}
/* Touch devices navigate immersive photos by swiping, without overlays. */
@media(hover:none) and (pointer:coarse){.immersive-prev,.immersive-next{display:none}}

@media(hover:none) and (pointer:coarse){.outline-button,.track-row,.music-transport button,.filters button,.floating-about,.state-nav a{transition:transform 160ms ease-out,opacity 160ms ease-out}.outline-button:active,.music-transport button:active,.floating-about:active{transform:scale(.96)}.track-row:active,.filters button:active,.state-nav a:active{opacity:.65;transform:translateY(1px)}}
@media(prefers-reduced-motion:reduce){button:active,a:active{transform:none!important}}
.feedback-jump{display:block;margin:12px auto 40px;padding:12px 20px;min-height:44px;color:var(--accent);font-size:14px}.metro-feedback{border-top:1px solid var(--line);padding-top:44px;scroll-margin-top:90px}.metro-feedback h2{font-size:clamp(27px,4vw,42px);font-weight:200;margin-bottom:32px}.feedback-grid{columns:3;column-gap:24px}.feedback-card{display:block;padding:0;margin:0 0 24px;width:100%;break-inside:avoid;cursor:zoom-in;background:#fff}.feedback-card img{width:100%;height:auto}.feedback-more{margin:16px 0 44px;border-block:1px solid var(--line)}.feedback-more summary{cursor:pointer;padding:20px 0;font-size:14px;color:var(--muted)}.feedback-more[open] .feedback-grid{padding-top:16px}.feedback-letter{max-width:620px;margin:48px auto 0}.feedback-letter h3{font-size:22px;font-weight:300;margin-bottom:24px}.feedback-viewer{background:#100f0d}.feedback-viewer-bar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:var(--bg);padding:10px var(--gutter);z-index:1;border-bottom:1px solid var(--line);font-size:13px}.feedback-viewer-bar button{min-height:44px;padding:8px 12px}.feedback-viewer>img{width:auto;max-width:100%;height:auto;margin:24px auto 48px;touch-action:pan-x pan-y pinch-zoom}.feedback-more summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:760px){.feedback-grid{columns:1}.metro-feedback{padding-top:30px}.feedback-card{margin-bottom:20px}.feedback-viewer>img{width:100%;margin-top:12px}.feedback-letter{margin-top:32px}}

/* One continuous, tightly spaced wall of audience feedback. */
.metro-feedback .feedback-grid{columns:3;column-gap:12px}.metro-feedback .feedback-card{margin-bottom:12px}.metro-feedback h2{margin-bottom:24px}
@media(min-width:1400px){.metro-feedback .feedback-grid{columns:4}}
@media(max-width:760px){.metro-feedback .feedback-grid{columns:2;column-gap:8px}.metro-feedback .feedback-card{margin-bottom:8px}}

.feedback-jump{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:8;margin:0;white-space:nowrap;border:1px solid #d7b05366;background:#100f0ded;padding:12px 22px;box-shadow:0 4px 20px #0005}.feedback-jump[hidden]{display:none}.feedback-jump:hover{color:var(--ink);border-color:var(--accent)}
