/* Isaac's desktop: small chrome, loose windows, sunset wallpaper. */
:root{--ink:#282823;--muted:#686960;--accent:#334c49;--line:#b6b7ae;--sans:Arial,Helvetica,sans-serif}
body{font-family:var(--sans)}
.site-background::after{background:linear-gradient(0deg,#171e2838,#231d2810)}
a:hover{color:#08706c}
.desktop-bar{height:40px;position:fixed;inset:0 0 auto;z-index:1000;background:#eeeedeeb;border-bottom:1px solid #41463c;display:flex;align-items:center;gap:26px;padding:0 22px;font-size:14px;box-shadow:0 1px 0 #fff8}
.desktop-name{font-weight:700;text-decoration:none}.bar-label{color:#696c60}.desktop-bar button{margin-left:auto;border:0;background:none;font-size:14px}.desktop-bar time{font-size:13px;min-width:70px;text-align:right}
.sidebar{inset:70px auto 65px 25px;width:105px;padding:0;background:none;z-index:2}.sidebar nav{margin:0;gap:16px}.sidebar nav a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;color:#fff;text-align:center;font-size:14px;line-height:1.2;text-shadow:0 1px 4px #000,0 1px 7px #000;text-decoration:none;min-height:70px}.desktop-icon{display:grid;place-items:center;font:30px/1 Georgia;color:#304840;text-shadow:0 1px #fff;width:48px;height:42px;background:linear-gradient(#f4f0d4,#b9bea2);border:1px solid #344336;border-radius:4px;box-shadow:inset 1px 1px #ffffef,inset -1px -1px #8b9680,2px 3px 0 #0003}.sidebar nav a:hover .desktop-icon{filter:brightness(1.15);transform:translateY(-2px)}.sidebar nav a[aria-current]{font-style:normal;text-decoration:none}.sidebar nav a[aria-current] .desktop-icon{outline:2px dotted #f5edcd;outline-offset:4px}
.background-toggle{position:fixed;bottom:50px;left:20px;background:#232c31ba;color:#fff;border:1px solid #fff5;font:12px/1.4 var(--sans);padding:6px 9px;border-radius:4px}
main{background:none;backdrop-filter:none;border:0;box-shadow:none;padding:0;margin:70px 25px 90px 155px;width:auto;max-width:none}.desktop-window{background:#f0f0e6;border:1px solid #3e4942;border-radius:7px;box-shadow:1px 1px 0 #fff8 inset,5px 9px 0 #13222425,0 20px 50px #101d2440;padding:0;overflow:hidden;margin-bottom:25px}.window-bar{height:35px;display:flex;align-items:center;justify-content:space-between;padding:0 7px 0 13px;background:repeating-linear-gradient(0deg,#d8dcce 0px,#d8dcce 2px,#e4e7dc 2px,#e4e7dc 4px);border-bottom:1px solid #a4aa99;user-select:none;touch-action:none}.window-title{font-size:14px;font-weight:700;background:#dde1d4;padding:0 8px 0 0}.window-actions{display:flex;gap:5px}.window-actions button{display:grid;place-items:center;width:24px;height:23px;padding:0;font:18px/1 Arial;background:#ecefe2;border:1px solid #8b9685;border-radius:3px;box-shadow:inset 1px 1px #fff;color:#354837}.window-actions button:hover{background:#c6d4bf}.window-content{padding:22px}.desktop-ready{overflow:hidden}.desktop-ready main{margin:0}.desktop-ready .desktop-window{position:fixed;margin:0;max-width:calc(100vw - 170px);max-height:calc(100dvh - 115px);display:flex;flex-direction:column}.desktop-ready .window-content{overflow:auto;overscroll-behavior:contain;min-height:0}.desktop-ready .window-bar{flex-shrink:0;cursor:grab}.desktop-ready .window-bar:active{cursor:grabbing}.desktop-ready .desktop-window.is-front .window-bar{background:repeating-linear-gradient(0deg,#bccbb9 0px,#bccbb9 2px,#d3dfca 2px,#d3dfca 4px)}.desktop-ready .is-front .window-title{background:#cbd8c2}.desktop-window.is-maximized{inset:55px 20px 60px 150px!important;width:auto!important;height:auto!important;max-width:none;max-height:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section-heading:has(.visually-hidden){margin:0}.about-layout{grid-template-columns:1fr 160px;gap:20px;align-items:start}.about-copy{display:block}h1{font:italic 500 62px/.95 var(--display);letter-spacing:-2px;color:#334d42;text-shadow:1px 2px #fff;margin:4px 0 18px}.about-copy .welcome{font-size:16px;color:#282823}.about-copy p{font-size:16px;color:#41483e;line-height:1.5}.intro-photo{margin:3px 0 0;transform:rotate(3deg)}.intro-photo img{border-radius:2px;border:5px solid #fff;box-shadow:2px 3px 6px #0003}.press-link{margin-top:18px}.press-link>span:nth-child(2){font-size:14px;text-decoration-color:#52644d77}.small-label,.press-note{font-size:12px;color:#5f6857}
.sound-layout{grid-template-columns:170px minmax(0,1fr);gap:16px}.project-index button{font-size:14px;border-radius:3px;padding:9px}.project-index button[aria-pressed=true]{background:#d6dfc9;color:#253c2b;border-color:#abb9a0}.project-index button:hover{background:#e2e6d7}.project-subtitle{font-size:12px}.player-shell{border-radius:5px;color:#eee;--ink:#eee;--muted:#c4c8c0;--accent:#d4e1ae}.player-header h3{font-size:16px}.player-caption{font-size:14px}.player-controls .player-control{color:#eee}.player-platform{color:#aaa}.media-stage.is-instagram{height:470px}.project-caption{color:#505b49}.credit-note>a{font-size:20px}.onsite-project{gap:16px}.onsite-video,.onsite-post{flex-basis:290px}.onsite-video,.onsite-instagram{border-radius:4px}.live-list{gap:26px}.live-row h3{font-size:19px}.live-row h3 a{text-decoration-color:#93a38a}.live-row p{font-size:16px}.event-location{font-size:13px}.dj-photo,.dj-photo img{border-radius:3px}.dj-photo{cursor:zoom-in}.dj-photo:focus-visible{outline:3px solid #53694b;outline-offset:5px}.record-player{--ink:#eee;--accent:#d7e3b9;--muted:#c7c9bd;border-radius:4px;padding:0 12px 12px;background:linear-gradient(#263130,#141b1c);color:#eee}.cover-flow{--cover:150px;--offset:100px;height:218px}.cover-button{border-radius:1px}.cover-button img{border-radius:1px}.track-detail h3{font:20px/1.2 Georgia}.track-detail p{font-size:13px}.record-controls{margin-bottom:12px}.spotify-player{border-radius:5px}.section-heading h2{font:18px/1.2 var(--sans)}.section-heading{margin-bottom:16px}.contact-links{display:grid;gap:20px}.taskbar{position:fixed;inset:auto 0 0;height:40px;background:#e3e6d8f5;border-top:1px solid #fff;box-shadow:0 -1px #65705b;z-index:1000;display:flex;align-items:center;gap:20px;padding:4px 15px;font-size:12px}.taskbar-label{white-space:nowrap;color:#5b6652}#window-tabs{display:flex;gap:5px;overflow-x:auto}#window-tabs button{min-height:28px;padding:3px 17px;background:#d5dccc;border:1px solid #8b9980;border-radius:3px;font:14px Arial;white-space:nowrap}#window-tabs button[aria-pressed=true]{background:#f7f8ec;box-shadow:inset 1px 1px 2px #77826f}
#photo-viewer{padding:12px;background:#e8ebdf;border:1px solid #65735c;border-radius:5px;max-width:90vw;max-height:90dvh;color:#263324}#photo-viewer::backdrop{background:#0a141bbb;backdrop-filter:blur(5px)}#photo-viewer form{display:flex;justify-content:flex-end;margin-bottom:8px}#photo-viewer button{background:none;border:0;font:26px Arial}#photo-viewer img{max-height:72dvh;object-fit:contain;margin:auto}#photo-viewer p{font-size:14px;margin:12px 0 0}
@media(max-width:760px){.desktop-bar{padding:0 12px;gap:12px}.bar-label,.desktop-bar time{display:none}.sidebar{position:fixed;inset:62px 10px auto;width:auto;padding:0;background:none;backdrop-filter:none}.sidebar nav{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;overflow:visible}.sidebar nav a{font-size:14px}.background-toggle{bottom:53px}.desktop-ready .desktop-window{max-width:none;max-height:calc(100dvh - 110px);width:calc(100vw - 24px)!important;left:12px!important;top:53px!important}.desktop-window.is-maximized{inset:53px 12px 57px!important}.window-content{padding:18px}.about-layout{grid-template-columns:1fr 100px;gap:15px}.about-copy{display:contents}h1{font-size:54px;grid-column:1;grid-row:1;align-self:center;margin:0}.intro-photo{grid-column:2;grid-row:1;margin:0}.about-copy p,.press-link{grid-column:1/-1}.about-copy p{margin:0}.sound-layout{grid-template-columns:1fr}.project-index{flex-direction:row;flex-wrap:wrap}.project-index button{width:auto}.project-subtitle{display:inline}.live-list{grid-template-columns:1fr}.taskbar{gap:10px;padding-inline:8px}.taskbar-label{display:none}#window-tabs button{padding:3px 12px}.cover-flow{--cover:140px;--offset:94px}main{margin:55px 12px}.contact-links a{font-size:15px}}
/* Solid desktop and a reserved application rail. */
body{background:#a7b39c}
.desktop-bar,.taskbar{background:#394b40;color:#f0f0df;border-color:#24372d;box-shadow:none}
.desktop-bar .bar-label,.taskbar-label{color:#c7d1bf}.desktop-bar a:hover,.desktop-bar button:hover{color:#fff}
.sidebar{inset:40px auto 40px 0;width:132px;padding:24px 12px;background:#435748;border-right:2px solid #2f4235;z-index:1000;overflow-y:auto}
.sidebar nav{gap:18px}.sidebar nav a{color:#f0f0df;text-shadow:0 1px 2px #25392c}
#window-tabs button{background:#536752;color:#eef0df;border-color:#718268}
#window-tabs button[aria-pressed=true]{background:#d9e0c9;color:#293e2f;box-shadow:inset 1px 1px 2px #9aa98e}
.desktop-ready .desktop-window{max-width:calc(100vw - 160px);max-height:calc(100dvh - 106px);padding-bottom:12px;container-type:inline-size}
.desktop-window.is-maximized{inset:52px 14px 54px 146px!important}
.window-content{flex:1 1 auto}.window-bar{min-height:35px}
.resize-grip{position:absolute;right:1px;bottom:1px;width:20px;height:20px;padding:0;border:0;border-radius:0 0 5px 0;cursor:nwse-resize;touch-action:none;background:repeating-linear-gradient(135deg,transparent 0px,transparent 3px,#7b8c70 3px,#7b8c70 4px);clip-path:polygon(100% 0,100% 100%,0 100%)}
.is-maximized .resize-grip{display:none}
@container(max-width:560px){.sound-layout{grid-template-columns:1fr}.project-index{flex-direction:row;flex-wrap:wrap}.project-index button{width:auto}.project-subtitle{display:inline}.about-layout{grid-template-columns:1fr 110px;gap:16px}.about-copy{display:contents}.about-copy h1{grid-column:1;grid-row:1;font-size:52px;align-self:center}.intro-photo{grid-column:2;grid-row:1}.about-copy p,.press-link{grid-column:1/-1}.live-list{grid-template-columns:1fr}.cover-flow{--cover:140px;--offset:94px}.dj-gallery{columns:2}.window-content{padding:18px}}
@container(max-width:380px){.cover-flow{--cover:120px;--offset:80px;height:192px}.record-player{padding-inline:8px}.window-content{padding:13px}.about-copy h1{font-size:46px}.about-layout{grid-template-columns:1fr 90px}.record-controls{gap:6px}.track-detail h3{font-size:18px}}
@media(max-width:760px){.sidebar{inset:40px 0 auto;width:100%;height:94px;padding:10px 8px;border-right:0;border-bottom:2px solid #2f4235;overflow-x:auto;overflow-y:hidden}.sidebar nav{display:flex;flex-direction:row;justify-content:space-around;gap:12px;width:max-content;min-width:100%}.sidebar nav a{min-width:64px;font-size:12px;min-height:65px;white-space:nowrap}.desktop-icon{width:37px;height:34px;font-size:25px}.desktop-ready .desktop-window{top:146px!important;max-width:none;max-height:calc(100dvh - 200px);height:auto!important}.desktop-window.is-maximized{inset:146px 12px 54px!important}.resize-grip{display:none}.desktop-ready .desktop-window{padding-bottom:0}}
.sidebar nav a[aria-current]{color:#ffe39a;font-weight:700;text-shadow:0 1px 2px #24372d}
/* Keep every mobile app visible, with readable labels and full tap targets. */
@media(max-width:760px){
 .sidebar{height:158px;padding:8px 10px;overflow:visible}
 .sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;gap:6px 8px}
 .sidebar nav a{min-width:0;min-height:65px;padding:2px 0;gap:4px;font-size:14px;white-space:normal;line-height:1.2}
 .desktop-icon{width:35px;height:31px;font-size:24px;flex-shrink:0}
 .desktop-ready .desktop-window{top:210px!important;max-height:calc(100dvh - 264px)}
 .desktop-window.is-maximized{inset:210px 12px 54px!important}
}
@media(max-width:760px){
 .desktop-bar{display:none}
 .sidebar{top:0}
 .desktop-ready .desktop-window{top:170px!important;max-height:calc(100dvh - 224px)}
 .desktop-window.is-maximized{inset:170px 12px 54px!important}
}
/* Pixel cursors for mouse users; preserve drag, resize, and text feedback. */
@media(hover:hover) and (pointer:fine){
 html,body{cursor:url('images/cursors/arrow.svg') 2 1,default}
 a,button,[role="button"],.dj-photo{cursor:url('images/cursors/hand.svg') 12 3,pointer}
 .desktop-ready .window-bar{cursor:grab}
 .desktop-ready .window-bar:active{cursor:grabbing}
 .resize-grip{cursor:nwse-resize}
 input,textarea,[contenteditable="true"]{cursor:text}
}
/* Keep touch targets stable and outside the embedded players. */
main{-webkit-backdrop-filter:none;backdrop-filter:none}
@media(hover:none),(pointer:coarse){
 a,button,[role="button"]{touch-action:manipulation}
 .sidebar nav a:hover .desktop-icon{transform:none;filter:none}
 .project-index button{min-height:44px}
 .window-actions button{width:34px;height:32px}
 .window-bar{height:44px;min-height:44px;touch-action:pan-y}
 .desktop-ready .window-content{-webkit-overflow-scrolling:touch;touch-action:pan-y}
}
@media(max-width:760px){
 .project-viewer{display:flex;flex-direction:column;min-width:0}
 .project-caption{order:-1;flex-wrap:wrap;padding:0 0 12px;gap:6px 14px}
 .project-caption .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
 .project-index{position:relative;z-index:1}
}
