/* The quiet frame around the expressive parts of the portfolio. */
.motion-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .45s ease}
.motion-cover.is-playing{opacity:1}.work__item-copy,.project-page-title{z-index:2}.project-page-hero{position:relative}
.project-external{width:fit-content;font:500 13px/1.6 'Azeret Mono',monospace}
.project-external span{flex-shrink:0}.project-facts>.project-external{margin-top:24px}
.audio-reading{padding:32px 0;margin:24px 0 48px;border-block:1px solid #33404a}.audio-reading h2{font-size:clamp(24px,3vw,40px);font-weight:500;letter-spacing:-.04em}.audio-reading button{background:transparent;color:#c1e0e5;border:1px solid #536872;padding:14px 20px;cursor:pointer}.audio-reading details{margin-top:24px;color:#b7c1ca}.audio-reading summary{cursor:pointer}.audio-reading p{line-height:1.8}
.sound-dock{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:80;color:#e3e8e9;font:11px/1.5 'Azeret Mono',monospace}.sound-controls{display:flex;border:1px solid #58656d75;background:#101419ed;border-radius:28px;box-shadow:0 8px 28px #0004;backdrop-filter:blur(14px)}.sound-dock button{background:none;border:0;color:inherit;cursor:pointer;min-height:44px}.sound-toggle{display:flex;align-items:center;gap:8px;padding:0 12px 0 16px;border-radius:28px}.sound-toggle canvas{width:48px;height:24px}.sound-toggle span{min-width:56px;text-align:left}.sound-options{padding:0 14px;font-size:21px;border-left:1px solid #58656d55!important;border-radius:0 28px 28px 0}.sound-tooltip{position:absolute;bottom:calc(100% + 10px);right:0;white-space:nowrap;padding:6px 10px;border-radius:4px;background:#101419e8;color:#aabcc6;font-size:10px;pointer-events:none;animation:sound-hint 9s forwards}.sound-dock:hover .sound-tooltip,.sound-dock:focus-within .sound-tooltip{opacity:1;animation:none}.sound-panel{position:absolute;bottom:60px;right:0;width:260px;max-width:calc(100vw - 40px);padding:24px;background:#11171df5;border:1px solid #3f4a54;border-radius:8px;box-shadow:0 10px 40px #0007}.sound-panel[hidden]{display:none}.sound-panel label{display:grid;gap:12px;color:#c4d2d9}.sound-panel input{width:100%;accent-color:#abd8df}.sound-title{font:18px/1.4 Manrope,sans-serif}.sound-note{color:#8799a6}.sound-reading{margin-top:24px}.sound-reading[hidden]{display:none}.sound-reading span{display:block;margin-top:8px;color:#a9bcc8}.site-footer{padding-bottom:90px}.entrance__links{padding-bottom:64px!important}.page-loading::after{content:'';position:fixed;top:0;left:0;z-index:999;width:35vw;height:2px;background:#a9d6df;animation:page-progress 1.2s ease-in-out infinite}
@keyframes sound-hint{0%,70%{opacity:1}100%{opacity:0}}@keyframes page-progress{to{transform:translateX(100vw)}}
.contact-main{padding-block:clamp(60px,9vw,140px);min-height:75svh}.contact-intro h1{font-size:clamp(62px,9vw,138px);font-weight:500;letter-spacing:-.075em;line-height:.98;margin:32px 0}.contact-intro em{font-family:Georgia,serif;font-weight:400;color:#bddde0}.contact-intro>p{max-width:520px;color:#aebcc7;font-size:clamp(16px,1.5vw,21px);line-height:1.75}.contact-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:60px;margin-top:70px}.contact-options article{padding-top:26px;border-top:1px solid #46515b}.contact-options article[hidden]{display:none}.contact-options h2{font-size:clamp(30px,3vw,44px);font-weight:500;letter-spacing:-.05em}.contact-options p{max-width:430px;line-height:1.7;color:#aebcc7}.contact-email{font-size:clamp(16px,2.1vw,26px);display:block;overflow-wrap:anywhere;color:#cce1e3;margin:28px 0 16px}.contact-signoff{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:80px;flex-wrap:wrap}
.about-page{isolation:isolate;background:#0b0d12}.aurora-background{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 35%,#23464c55,transparent 65%),radial-gradient(ellipse at 20% 70%,#40283940,transparent 60%)}.aurora-background canvas{width:100%;height:100%;opacity:.75}.about-page .editorial-rule{border-color:#48596666}.about-page .editorial-section{background:linear-gradient(90deg,#0b0d1255,transparent)}.about-page .editorial-hero{min-height:85svh}.about-page .editorial-hero h1 em{color:#bee7dc}.about-page .trust-grid{background:#0b0d123d}.about-page .site-top,.about-page .site-footer{background:#0b0d1277}
.cursor-cat{position:fixed;width:72px;height:64px;pointer-events:none;z-index:65;image-rendering:pixelated;opacity:0;transition:opacity .3s}.cursor-cat.is-awake{opacity:1}
@media(max-width:640px){.sound-dock{right:12px;bottom:12px}.sound-toggle{padding-left:12px}.sound-tooltip{font-size:9px}.entrance__links{padding-bottom:64px!important}.contact-options{gap:36px;margin-top:44px}.contact-signoff{margin-top:50px}.audio-reading{padding:24px 0}.site-footer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){.motion-cover{display:none}.cursor-cat{display:none}.aurora-background canvas{display:none}.sound-tooltip{animation:none}.page-loading::after{animation:none;width:100%}}
body:has(#entrance:not([hidden])) .sound-dock{top:18px;bottom:auto}body:has(#entrance:not([hidden])) .sound-panel{top:60px;bottom:auto}body:has(#entrance:not([hidden])) .sound-tooltip{top:calc(100% + 10px);bottom:auto}body:has(#journey.is-active) .sound-dock{top:85px;bottom:auto}body:has(#journey.is-active) .sound-panel{top:60px;bottom:auto}.sound-dock:has(.sound-panel:not([hidden])) .sound-tooltip{visibility:hidden}
.cursor-cat{left:0;top:0}
/* Sound follows the visitor as a small glass object, with controls kept inside. */
.sound-dock{right:24px;bottom:24px;width:72px;height:72px;font-family:Manrope,system-ui,sans-serif}
.sound-controls{position:relative;width:72px;height:72px;background:none;border:0;box-shadow:none;backdrop-filter:none}
.sound-toggle{display:block;width:72px;height:72px;padding:0;border-radius:50%;transition:transform .22s ease;touch-action:manipulation}
.sound-toggle:hover{transform:scale(1.045)}.sound-toggle:active{transform:scale(.94);transition-duration:90ms}
.sound-toggle canvas{width:72px;height:72px;display:block;filter:drop-shadow(0 3px 10px #0006)}
.sound-toggle span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.sound-options{position:absolute;right:-16px;bottom:-9px;width:44px;height:44px;min-height:44px;padding:0;border:0!important;border-radius:50%;font-size:20px;opacity:.5;transition:opacity .2s}
.sound-options:hover,.sound-options:focus-visible{opacity:1}.sound-panel{bottom:88px;right:0;border-radius:20px;padding:24px;background:#172029eb;backdrop-filter:blur(24px) saturate(120%);border:1px solid #9cafba35;transform-origin:bottom right;box-shadow:0 12px 48px #0008}.sound-panel .eyebrow{font-size:9px}.sound-title{font-size:17px}.sound-tooltip{bottom:calc(100% + 8px);right:6px;padding:9px 13px;border:1px solid #74859133;border-radius:13px;background:#172029eb;color:#d6e0e5;font:500 11px/1.4 Manrope,system-ui,sans-serif;backdrop-filter:blur(15px);box-shadow:0 5px 20px #0003}
.sound-tooltip::after{content:'';position:absolute;right:19px;bottom:-5px;width:8px;height:8px;background:#172029;transform:rotate(45deg);border-right:1px solid #74859133;border-bottom:1px solid #74859133}
body:has(#entrance:not([hidden])) .sound-dock{top:auto;bottom:82px;right:24px}
body:has(#entrance:not([hidden])) .sound-panel,body:has(#journey.is-active) .sound-panel{top:auto;bottom:88px}
body:has(#entrance:not([hidden])) .sound-tooltip{top:auto;bottom:calc(100% + 8px)}
body:has(#journey.is-active) .sound-dock{top:auto;bottom:82px}
.entrance__trusted{right:122px;left:clamp(20px,4vw,65px)}.entrance__trusted .collaborator-window{max-width:calc(100% - 215px)}
@media(max-width:640px){.sound-dock{right:16px;bottom:18px;width:60px;height:60px}.sound-controls,.sound-toggle,.sound-toggle canvas{width:60px;height:60px}body:has(#entrance:not([hidden])) .sound-dock{right:18px;bottom:68px}.entrance__trusted{right:98px!important;left:19px!important}.entrance__trusted .collaborator-window{max-width:calc(100% - 36px)}.sound-panel{max-width:calc(100vw - 36px)}.sound-tooltip{font-size:10px}}
@media(prefers-reduced-motion:reduce){.sound-toggle{transition:none}.sound-toggle:hover,.sound-toggle:active{transform:none}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.sound-panel,.sound-tooltip{background:#172029;backdrop-filter:none;border-color:#8b9ba6}}
