@font-face{font-family:Inter Tight;src:url("assets/fonts/inter-tight-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Inter Tight;src:url("assets/fonts/inter-tight-600.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:Bodoni Moda;src:url("assets/fonts/bodoni-moda-500.ttf") format("truetype");font-weight:500;font-display:swap}
:root{--paper:#ededea;--ink:#242520;--muted:#666963;--line:#caccc4;--accent:#c64f43;--hover:#a23c33;--serif:"Bodoni Moda",Georgia,serif;--sans:"Inter Tight",Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:#95988d var(--paper);scrollbar-width:thin}
body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.35 var(--sans);-webkit-font-smoothing:antialiased}
body.index-open{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none;text-underline-offset:4px}
button{font:inherit;color:inherit;border:0;padding:0;background:none;cursor:pointer}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
button:disabled{opacity:.45;cursor:wait}
::selection{background:var(--accent);color:var(--paper)}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:#95988d}
[hidden]{display:none!important}
img{display:block;width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
em{font-style:normal;color:var(--accent)}
.muted{color:var(--muted)}
.skip-link{position:fixed;top:-70px;left:16px;padding:12px;background:var(--ink);color:var(--paper);z-index:200}.skip-link:focus{top:12px}
.site-header{position:relative;z-index:40}
.wordmark{position:fixed;top:22px;left:20px;display:flex;align-items:flex-start;gap:8px;transition:opacity .3s}
.wordmark:hover{opacity:.65}
.wordmark-name{writing-mode:vertical-rl;transform:rotate(180deg);font-weight:600;font-size:36px;letter-spacing:-.04em;line-height:.95}
.copyright{font-size:12px;vertical-align:top;letter-spacing:0}
.wordmark-note{writing-mode:vertical-rl;font-size:9px;line-height:1.3}
.menu-block{position:fixed;top:23px;left:14%}
.menu-toggle{font-size:12px;color:var(--muted);margin-bottom:26px;display:flex;align-items:center;gap:12px;min-height:20px}
.menu-toggle:hover{color:var(--ink)}
#main-nav{display:flex;flex-direction:column;align-items:flex-start;line-height:.98;font-size:27px;text-transform:uppercase;letter-spacing:-.035em}
#main-nav a{position:relative;transition:opacity .3s}
#main-nav a.active{padding-left:29px}
.nav-arrow{position:absolute;left:0;opacity:0;transform:rotate(45deg) translateX(-7px);transition:opacity .3s,transform .5s var(--ease);font-size:23px}
#main-nav a.active .nav-arrow{opacity:1;transform:rotate(45deg) translateX(0)}
#main-nav:hover a:not(:hover){opacity:.45}
.nav-collapsed #main-nav{display:none}
.location{position:fixed;top:25px;left:52%;font-size:11px;line-height:1.25}
.header-contact{position:fixed;right:22px;top:25px;font-size:11px;display:flex;gap:13px}
.header-contact>span:last-child{text-decoration:underline}.header-contact:hover{color:var(--accent)}
.project-info{position:fixed;top:37vh;left:22px;width:23.3vw;z-index:5;transition:opacity .3s}
.info-row{display:grid;grid-template-columns:5.4vw 1fr;gap:10px;margin-bottom:36px}
.info-row>dt{color:var(--muted);font-size:12px}.info-row>dd{margin:0;font-size:13px;line-height:1.28}
.info-row.intro-row>dd{font-size:14px;line-height:1.3}
.info-row dd a{display:inline-block;margin-top:7px;border-bottom:1px solid var(--ink)}
.info-row dd a:hover{color:var(--accent);border-color:var(--accent)}
.project-info dl{margin:0}
.gallery{width:45vw;margin-left:27.5vw;padding-top:27vh}
.gallery-item{position:relative;min-height:83vh;padding-bottom:14vh;scroll-margin-top:18vh}
.gallery-art{display:block;position:relative;overflow:hidden;aspect-ratio:3/2;background:#dedfd7;isolation:isolate}
.gallery-art img{height:116%;width:100%;object-fit:cover;position:absolute;left:0;top:-8%;will-change:transform;transition:filter .4s}
.gallery-art:after{content:"";position:absolute;inset:0;background:#181a15;opacity:0;transition:opacity .5s;pointer-events:none}
.gallery-art:hover:after{opacity:.07}
.gallery-caption{display:flex;justify-content:space-between;gap:14px;padding-top:13px;font-size:11px}
.gallery-caption>div{display:flex;flex-direction:column;gap:4px}
.gallery-caption strong{font-weight:400;font-size:15px;letter-spacing:-.02em}
.gallery-caption .caption-type{color:var(--muted)}.gallery-caption .caption-open{padding-top:2px}
.gallery-mobile-summary{display:none}
.display-title{position:fixed;z-index:12;right:3.8vw;bottom:12vh;pointer-events:none;color:var(--accent);font-family:var(--serif);font-weight:500;letter-spacing:-.04em;font-size:clamp(100px,11.8vw,200px);line-height:.86;text-align:right;max-width:74vw;transition:filter .25s,opacity .25s,transform .6s var(--ease)}
.display-title span{display:block}
.display-title.long{font-size:clamp(90px,9.1vw,155px)}
.display-title.changing{opacity:0;filter:blur(8px);transform:translateY(18px)}
.thumbnail-rail{position:fixed;right:21px;top:28vh;display:flex;flex-direction:column;gap:8px;z-index:20}
.thumbnail{width:46px;height:35px;padding:3px;border:1px solid transparent;position:relative;transition:border-color .3s,transform .5s var(--ease)}
.thumbnail img{height:100%;object-fit:cover;filter:saturate(.65);transition:filter .4s}
.thumbnail:hover{transform:translateX(-5px)}.thumbnail:hover img,.thumbnail.active img{filter:saturate(1)}
.thumbnail.active{border-color:var(--ink)}
.thumbnail-label{position:absolute;right:calc(100% + 10px);top:7px;background:var(--paper);padding:2px 5px;font-size:11px;white-space:nowrap;opacity:0;transform:translateX(5px);transition:opacity .3s,transform .3s;pointer-events:none}
.thumbnail:hover .thumbnail-label,.thumbnail:focus-visible .thumbnail-label{opacity:1;transform:none}
.gallery-footer{position:fixed;bottom:21px;left:22px;right:22px;z-index:25;display:flex;justify-content:space-between;align-items:flex-end;font-size:11px;pointer-events:none}
.gallery-footer>*{pointer-events:auto}.scroll-note{display:flex;gap:22px}.scroll-note>span{display:inline-block;animation:scroll-cue 2.4s ease-in-out infinite}
.work-counter{display:flex;gap:14px;align-items:baseline;margin-left:-32vw}.work-counter #current-number{font-size:45px;line-height:.8;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.index-toggle{border-bottom:1px solid var(--ink);padding-bottom:3px}
.index-toggle:hover{color:var(--accent);border-color:var(--accent)}
.gallery-end{min-height:60vh;padding:4vh 0 20vh}.gallery-end p{font-size:16px;max-width:330px;margin-bottom:24px}.gallery-end a{font-family:var(--serif);font-size:64px;color:var(--accent);line-height:1}
.project-index{position:fixed;inset:0;z-index:35;background:var(--paper);padding:26vh 9vw 10vh 27.5vw;overflow-y:auto}
.index-heading{display:flex;justify-content:space-between;margin-bottom:24px;font-size:12px;color:var(--muted)}
.index-row{display:grid;grid-template-columns:34px 1fr 130px;gap:15px;align-items:center;border-top:1px solid var(--line);padding:20px 0;transition:color .3s}.index-row:last-child{border-bottom:1px solid var(--line)}
.index-row:hover{color:var(--accent)}.index-row h2{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1.1}.index-row>span:last-child{font-size:11px;color:var(--muted)}
.editorial-view{min-height:100svh;padding:28vh 8vw 70px 14vw;display:grid;grid-template-columns:13.5vw minmax(0,1fr)}
.editorial-label{color:var(--muted);font-size:12px;padding-top:11px}
.editorial-main h1{font-family:var(--serif);font-size:clamp(46px,5.8vw,92px);font-weight:500;line-height:1.04;letter-spacing:-.035em;margin-bottom:65px}
.editorial-main{grid-column:2}
.editorial-main h1:focus{outline:none}
.about-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;font-size:20px;line-height:1.35;margin-bottom:75px}
.about-intro>p:first-child{font-size:24px;letter-spacing:-.02em}
.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:70px 0}
.about-columns h2{font-size:17px;font-weight:400;margin-bottom:18px}.about-columns p{font-size:15px;max-width:40ch;line-height:1.5}
.education-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.education-row>span{color:var(--muted);font-size:12px}.education-row p{margin-bottom:13px}
.large-text-link{display:block;font-family:var(--serif);font-size:37px;line-height:1.1;margin-top:70px}.large-text-link:hover{color:var(--accent)}
.research-statement{font-size:23px;max-width:50ch;line-height:1.4;margin-bottom:35px}
.research-themes{display:flex;flex-wrap:wrap;gap:8px 30px;font-size:12px;color:var(--muted);margin-bottom:90px}
.section-title{font-size:18px;font-weight:400;margin-bottom:24px}
.publications{margin:0;padding:0;list-style:none}
.publications li{border-top:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:180px 1fr;gap:35px}
.publications li:last-child{border-bottom:1px solid var(--line)}
.pub-status{font-size:12px;line-height:1.5}.pub-status span{display:block;color:var(--muted);margin-top:8px;max-width:18ch}
.publications h3{font-size:22px;font-weight:400;line-height:1.25;letter-spacing:-.015em}.publications p{margin-top:14px;font-size:12px;color:var(--muted)}
.research-future{margin:90px 0 65px;max-width:620px}.research-future h2{font-family:var(--serif);font-size:42px;font-weight:500;line-height:1.1;margin-bottom:25px}.research-future p{font-size:18px;line-height:1.45;margin-bottom:24px}
.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:3px}.text-link:hover{color:var(--accent);border-color:var(--accent)}
.research-bottom{display:flex;justify-content:space-between;align-items:baseline;gap:25px;font-size:11px;color:var(--muted)}
.contact-view{padding-top:29vh}.contact-view h1{font-size:clamp(60px,7.2vw,112px);margin-bottom:50px}
.contact-intro{font-size:19px;line-height:1.4;margin-bottom:40px}
.contact-email{font-size:clamp(19px,2.4vw,36px);letter-spacing:-.025em;border-bottom:1px solid var(--ink);display:block;width:max-content;max-width:100%;margin-bottom:18px;overflow-wrap:anywhere}
.contact-email:hover{color:var(--accent);border-color:var(--accent)}.copy-email{font-size:11px}
.contact-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:60px 0 100px}.contact-facts span{font-size:11px}.contact-facts p{margin-top:12px}
.credits{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:35px;line-height:1.6}.credits a{text-decoration:underline}
.detail-view{padding-top:27vh;min-height:100svh}
.detail-info{position:fixed;top:36vh;left:22px;width:23.3vw;z-index:5}
.detail-info dl{margin:0}.detail-info .info-row{margin-bottom:30px}
.back-link{position:fixed;bottom:23px;left:22px;font-size:12px;z-index:25}
.back-link:hover{color:var(--accent)}
.detail-content{width:45vw;margin-left:27.5vw}
.detail-hero{aspect-ratio:3/2;overflow:hidden}.detail-hero img{width:100%;height:100%;object-fit:cover}
.detail-title{font-family:var(--serif);font-weight:500;color:var(--accent);font-size:clamp(80px,9.5vw,154px);line-height:.9;letter-spacing:-.04em;margin-top:-8vw;position:relative;z-index:10;text-align:right;width:66vw;left:0;pointer-events:none;transform:translateX(0)}
.detail-title span{display:block}.detail-title.long{font-size:clamp(65px,7.9vw,128px)}.detail-title:focus{outline:none}
.art-credit{font-size:10px;color:var(--muted);margin-top:20px}
.case-body{padding:90px 0 0}.case-lead{font-family:var(--serif);font-size:clamp(32px,3.1vw,48px);line-height:1.17;margin-bottom:60px}
.case-section{padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:90px 1fr;gap:28px}
.case-section h2{font-size:12px;font-weight:400;color:var(--muted)}.case-section p{font-size:16px;line-height:1.5;max-width:65ch}.case-section p+p{margin-top:18px}.case-section ul{padding-left:18px;margin:0;line-height:1.5;font-size:16px}.case-section li+li{margin-top:12px}
.case-artifact{padding:45px;background:#e2e5db;margin:45px -3vw;text-align:center}
.artifact-flow{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;margin:25px 0}
.artifact-flow span{padding:20px 16px;border:1px solid #72786a;font-size:13px;flex:1;min-width:100px}
.artifact-flow i{font-size:20px;font-style:normal}
.case-artifact figcaption{font-size:10px;color:var(--muted);margin-top:18px}.case-artifact>p{font-family:var(--serif);font-size:30px}
.next-project{padding:100px 0 130px;text-align:right}.next-project>span{display:block;font-size:12px;color:var(--muted);margin-bottom:20px}.next-project a{font-family:var(--serif);font-size:clamp(43px,5vw,80px);line-height:1;color:var(--accent);display:block}
.image-cursor{position:fixed;left:0;top:0;width:72px;height:72px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--paper);border-radius:50%;z-index:32;pointer-events:none;opacity:0;transition:opacity .2s,scale .3s var(--ease);scale:.8;font-size:11px;line-height:1.25}
.image-cursor span{font-size:20px}.image-cursor.visible{opacity:1;scale:1}
.transition-sheet{position:fixed;inset:0;background:var(--accent);z-index:100;transform:translateY(101%);pointer-events:none;visibility:hidden}
.live-status{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:120;font-size:12px;background:var(--ink);color:var(--paper);padding:12px 20px;opacity:0;pointer-events:none;transition:opacity .3s}
.live-status.visible{opacity:1}
.noscript-message{position:fixed;inset:20%;padding:40px;background:var(--paper);z-index:50}.noscript-message a{text-decoration:underline}
@keyframes scroll-cue{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
@media(min-width:1700px){.project-info,.detail-info{max-width:340px}.info-row{grid-template-columns:80px 1fr}.gallery,.detail-content{max-width:850px}.display-title{right:5vw}.editorial-main{max-width:1000px}}
@media(max-width:1100px) and (min-width:761px){.header-contact{flex-direction:column;gap:3px;align-items:flex-end}.location{left:57%}.menu-block{left:15%}#main-nav{font-size:24px}.project-info,.detail-info{width:23vw}.info-row{grid-template-columns:45px 1fr;gap:9px}.info-row>dd,.info-row.intro-row>dd{font-size:12px}.info-row>dt{font-size:10px}.gallery,.detail-content{width:48vw;margin-left:28vw}.thumbnail-rail{right:14px}.about-intro,.about-columns{gap:30px}.editorial-view{padding-right:6vw}.publications li{grid-template-columns:120px 1fr;gap:20px}.detail-title{width:65vw}.gallery-item{min-height:76vh}.header-contact{font-size:10px}}
@media(max-width:760px){
  body{font-size:14px}
  .site-header{position:fixed;inset:0 0 auto;height:79px;background:var(--paper)}
  .wordmark{top:21px;left:17px;gap:8px;align-items:flex-start}
  .wordmark-name{writing-mode:horizontal-tb;transform:none;font-size:28px;line-height:.95}
  .copyright{font-size:9px}.wordmark-note{writing-mode:horizontal-tb;font-size:7px;line-height:1.2;max-width:50px}
  .menu-block{top:20px;right:17px;left:auto}
  .menu-toggle{margin:0;font-size:11px;min-height:30px;gap:14px}
  .mobile-menu-lines{width:24px;height:9px;border-top:1px solid;border-bottom:1px solid;display:block}
  #main-nav{position:fixed;top:79px;left:0;right:0;padding:25px 20px 35px;background:var(--paper);font-size:42px;line-height:1.1;border-bottom:1px solid var(--line)}
  #main-nav a{min-height:50px}.nav-arrow{font-size:28px;top:6px}
  .location,.header-contact{display:none}
  .project-info{position:relative;top:auto;left:auto;width:auto;margin:107px 18px 38px;min-height:126px}
  .project-info .info-row{display:none}.project-info .intro-row{display:grid;margin:0;grid-template-columns:66px 1fr;gap:15px}
  .info-row.intro-row>dd{font-size:15px;max-width:30ch;line-height:1.35}.info-row>dt{font-size:11px}
  .gallery{width:auto;margin:0 18px;padding-top:0}
  .gallery-item{min-height:0;padding-bottom:95px;scroll-margin-top:100px}
  .gallery-art{aspect-ratio:4/5}
  .gallery-caption{padding-top:16px;gap:8px;font-size:10px}.gallery-caption strong{font-size:20px}
  .gallery-caption>div{gap:7px;max-width:75%}
  .gallery-mobile-summary{display:block;margin-top:15px;font-size:13px;line-height:1.4;max-width:35ch;color:var(--muted)}
  .display-title{position:absolute;top:450px;bottom:auto;right:12px;font-size:clamp(55px,17vw,122px);line-height:.91;max-width:96vw}
  .display-title.long{font-size:13vw}
  .thumbnail-rail{position:fixed;top:auto;bottom:10px;right:15px;left:auto;flex-direction:row;gap:4px;background:var(--paper);padding:4px;z-index:40}
  .thumbnail{width:29px;height:30px;padding:2px}
  .thumbnail:hover{transform:translateY(-3px)}.thumbnail-label{display:none}
  .gallery-footer{bottom:auto;top:79px;left:0;right:0;padding:10px 18px;background:var(--paper);height:32px;align-items:center;z-index:25}
  .gallery-footer .scroll-note{display:none}.work-counter{margin:0;gap:8px;font-size:9px}.work-counter #current-number{font-size:12px;line-height:1}.index-toggle{font-size:10px;padding:0;border:0}
  .gallery-end{min-height:260px;padding:0 0 120px}.gallery-end a{font-size:51px}.gallery-end p{font-size:15px}
  .project-index{padding:140px 20px 90px}.index-row{grid-template-columns:25px 1fr;gap:10px;padding:16px 0}.index-row>span:last-child{grid-column:2}.index-row h2{font-size:31px}.index-heading{margin-bottom:25px}
  .editorial-view{padding:125px 21px 95px;display:block}.editorial-label{font-size:11px;margin-bottom:30px;padding:0}
  .editorial-main h1{font-size:clamp(39px,10.4vw,70px);line-height:1.08;margin-bottom:40px}
  .about-intro,.about-columns{display:block;font-size:18px;margin-bottom:45px}.about-intro>p:first-child{font-size:21px;margin-bottom:25px}.about-columns{margin:45px 0}.about-columns>div+div{margin-top:32px}.about-columns p{font-size:15px;max-width:none}
  .education-row{grid-template-columns:65px 1fr;gap:20px;font-size:13px}.education-row p:last-child{margin-bottom:0}.large-text-link{font-size:32px;margin-top:45px}
  .research-statement{font-size:19px;line-height:1.45}.research-themes{gap:9px 16px;font-size:11px;margin-bottom:55px}
  .section-title{font-size:18px}.publications li{display:block;padding:24px 0}.pub-status{margin-bottom:16px;font-size:11px}.pub-status span{max-width:none;margin-top:4px}.publications h3{font-size:22px}.publications p{font-size:11px}
  .research-future{margin:55px 0 40px}.research-future h2{font-size:36px}.research-future p{font-size:17px}
  .research-bottom{align-items:flex-start;flex-direction:column;gap:18px}
  .contact-view h1{font-size:clamp(45px,12.2vw,82px)}.contact-intro{font-size:17px;margin-bottom:30px}.contact-intro br{display:none}
  .contact-email{font-size:19px;line-height:1.4}.contact-facts{margin:50px 0 60px;gap:15px;font-size:13px}.credits{flex-direction:column;gap:22px;font-size:10px}
  .detail-view{padding:120px 18px 30px}.detail-info{position:relative;top:auto;left:auto;width:auto;margin-bottom:35px}.detail-info .info-row{grid-template-columns:66px 1fr;gap:15px;margin-bottom:22px}.detail-info .info-row>dd{font-size:14px}.detail-info .info-row:not(:first-child){display:none}
  .detail-content{width:auto;margin:0}.detail-hero{aspect-ratio:4/5}.detail-title{font-size:17vw;line-height:.94;width:100%;left:0;margin-top:-20vw;overflow-wrap:normal}.detail-title.long{font-size:13.5vw}
  .art-credit{font-size:9px;margin-top:24px}.case-body{padding-top:50px}.case-lead{font-size:32px;margin-bottom:35px}
  .case-section{grid-template-columns:1fr;gap:16px;padding:24px 0}.case-section p,.case-section ul{font-size:15px}.case-section h2{font-size:11px}
  .case-artifact{margin:30px 0;padding:25px 15px}.case-artifact>p{font-size:28px}.artifact-flow{gap:8px}.artifact-flow span{min-width:65px;font-size:11px;padding:15px 8px}.artifact-flow i{font-size:14px}
  .next-project{padding:60px 0 80px}.next-project a{font-size:45px}
  .back-link{left:auto;right:18px;bottom:20px;background:var(--paper);padding:7px 9px;font-size:11px}
  .image-cursor{display:none}
}
@media(max-width:350px){.wordmark-note{display:none}.thumbnail{width:25px}.thumbnail-rail{gap:2px;right:10px}.contact-email{font-size:17px}.project-info{margin-top:115px}.display-title{top:430px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.gallery-art img{will-change:auto}.transition-sheet{display:none}.image-cursor{display:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#orbit-stage,#orbit-labels,.orbit-controls,.hero-intro{display:none}
#gallery-atmosphere,#aura-atmosphere,#access-atmosphere,#loss-atmosphere,#lies-atmosphere,#haptics-atmosphere,#bird-atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;overflow:hidden}
#gallery-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:50% 47%}
#gallery-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,15,22,.9),rgba(12,15,22,.72)40%,rgba(12,15,22,.76)62%,rgba(12,15,22,.9)),linear-gradient(0deg,rgba(12,15,22,.2),transparent 55%)}
#aura-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:center}
#aura-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,232,255,.92),rgba(238,232,255,.62)35%,rgba(238,232,255,.62)65%,rgba(238,232,255,.92)),linear-gradient(0deg,rgba(238,232,255,.28),transparent 35%,transparent 70%,rgba(238,232,255,.28))}
#access-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:center}
#access-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(232,221,198,.88),rgba(232,221,198,.72)35%,rgba(232,221,198,.72)65%,rgba(232,221,198,.9))}
#loss-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:center}
#loss-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(213,220,233,.9),rgba(213,220,233,.72)35%,rgba(213,220,233,.72)65%,rgba(213,220,233,.9))}
#lies-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:pixelated}
#lies-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(242,237,218,.9),rgba(242,237,218,.72)35%,rgba(242,237,218,.72)65%,rgba(242,237,218,.9))}
#haptics-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:center}
#haptics-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(242,240,233,.9),rgba(242,240,233,.72)35%,rgba(242,240,233,.72)65%,rgba(242,240,233,.9))}
#bird-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:center}
#bird-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,26,.94),rgba(8,19,26,.8)35%,rgba(8,19,26,.8)65%,rgba(8,19,26,.94))}
#aura .gallery-art,#jev-access .gallery-art,#acute-loss .gallery-art,#prosocial-lies .gallery-art,#visual-haptics .gallery-art{aspect-ratio:3/2;background:transparent}
#aura .gallery-art img,#jev-access .gallery-art img,#acute-loss .gallery-art img,#prosocial-lies .gallery-art img,#visual-haptics .gallery-art img{height:100%;top:0;object-fit:contain;transform:none;will-change:auto}
#birdradar .gallery-art{aspect-ratio:16/9;background:transparent}
#birdradar .gallery-art img{height:100%;top:0;object-fit:contain;transform:none;will-change:auto}
.orbit-ready #orbit-stage{display:block;position:fixed;inset:0;z-index:1;touch-action:none;cursor:grab}
.orbit-ready #orbit-stage.dragging{cursor:grabbing!important}
.orbit-ready #orbit-stage canvas{display:block;width:100%;height:100%}
.orbit-home{overflow:hidden;height:100svh}
.orbit-ready #work-view{height:100svh;position:relative;overflow:hidden}
.orbit-ready .gallery,.orbit-ready .display-title,.orbit-ready .thumbnail-rail{display:none}
.orbit-ready .hero-intro{display:block;position:fixed;left:22px;top:29vh;font-size:13px;z-index:5;line-height:1.3}
.hero-intro>p:first-child{margin-bottom:15px;font-size:15px}
.hero-intro>p:last-child{color:var(--muted)}
.orbit-ready .project-info{top:48vh;width:24vw}
.orbit-ready .project-info .intro-row{display:none}
.orbit-ready .project-info .info-row{margin-bottom:23px;grid-template-columns:55px 1fr}
.orbit-ready .project-info .info-row dd{font-size:12px}
.orbit-ready .project-info .info-row dt{font-size:11px}
.orbit-ready #orbit-labels{display:block;position:fixed;left:72.2%;top:43.5%;width:20%;z-index:6;text-align:center}
.orbit-project{position:absolute;left:0;right:0;top:0;will-change:transform,opacity;transition:visibility .2s}
.orbit-project-select{display:block;width:100%;padding:0 10px}
.orbit-type{display:block;font-size:11px;color:var(--muted);margin-bottom:9px}
.orbit-name{display:block;font-size:23px;letter-spacing:-.025em;line-height:1.05;text-transform:uppercase}
.orbit-project>p{font-size:12px;line-height:1.3;margin:20px auto 10px;max-width:31ch}
.orbit-status{font-size:10px;color:var(--muted)}
.orbit-project-open{display:block;margin:14px auto 0;font-size:11px;border-bottom:1px solid;width:max-content;padding:0 0 3px}
.orbit-project-open:hover,.orbit-project-select:hover{color:var(--accent)}
.orbit-project:not(.is-active) .orbit-project-open,.orbit-project:not(.is-active) .orbit-status{visibility:hidden}
.orbit-ready .gallery-footer .work-counter{position:fixed;left:14%;bottom:6vh;margin:0;gap:20px;align-items:flex-start}
.orbit-ready .work-counter>span:first-child{padding-top:10px;font-size:11px}
.orbit-ready .work-counter #current-number{font-size:clamp(110px,13vw,205px);font-weight:400;line-height:.78;letter-spacing:-.04em}
.orbit-ready .work-counter>span:last-child{padding-top:10px}
.orbit-ready .orbit-controls{display:flex;position:fixed;right:24px;top:46%;flex-direction:column;z-index:8;gap:2px}
.orbit-controls button{width:38px;height:38px;font-size:22px;transition:color .2s,transform .35s var(--ease)}
.orbit-controls button:hover{color:var(--accent);transform:translateY(-2px)}
.orbit-controls button:last-child:hover{transform:translateY(2px)}
.orbit-home .image-cursor{display:none}
.orbit-ready .project-index{z-index:36}
@media(max-width:1100px) and (min-width:761px){
 .orbit-ready #orbit-labels{left:72%;width:22%}.orbit-name{font-size:20px}.orbit-project>p{font-size:11px;max-width:25ch}.orbit-ready .orbit-controls{right:7px}.orbit-controls button{width:25px}.orbit-ready .hero-intro{font-size:12px}.orbit-ready .work-counter>span:first-child{font-size:9px;max-width:46px}.orbit-ready .gallery-footer .work-counter{gap:10px}
}
@media(max-width:760px){
 .orbit-home .site-header{background:transparent;pointer-events:none}
 .orbit-home .site-header .wordmark,.orbit-home .site-header .menu-block{pointer-events:auto}
 .orbit-ready .hero-intro,.orbit-ready .project-info{display:none}
 .orbit-ready #orbit-labels{left:9%;width:82%;top:65%;text-align:center}
 .orbit-type{font-size:10px;margin-bottom:9px}.orbit-name{font-size:24px}.orbit-project>p{font-size:12px;line-height:1.35;max-width:32ch;margin:14px auto 7px}.orbit-status{font-size:10px}.orbit-project-open{font-size:11px;margin-top:12px}
 .orbit-project:not(.is-active){display:none}
 .orbit-ready .gallery-footer{top:auto;bottom:0;background:var(--paper);height:60px;padding:12px 17px}
 .orbit-ready .gallery-footer .scroll-note{display:none}
 .orbit-ready .gallery-footer .work-counter{position:static;gap:8px;align-items:center}
 .orbit-ready .work-counter>span:first-child{display:none}
 .orbit-ready .work-counter #current-number{font-size:41px;line-height:.9}
 .orbit-ready .work-counter>span:last-child{font-size:10px;padding:0}
 .orbit-ready .index-toggle{font-size:11px}
 .orbit-ready .orbit-controls{right:12px;top:42%;gap:4px}
 .orbit-controls button{width:34px;height:36px;background:var(--paper);font-size:18px}
 .orbit-ready #orbit-stage{touch-action:none}
}
@media(max-width:760px) and (max-height:700px){
 .orbit-ready #orbit-labels{top:63%}.orbit-project>p{font-size:11px;max-width:32ch;margin-top:10px}.orbit-project-open{margin-top:8px}.orbit-name{font-size:20px}.orbit-type{font-size:9px;margin-bottom:6px}.orbit-status{display:none}
}
/* Small controls stay readable; large coral type retains the reference palette. */
.header-contact,.index-toggle,.orbit-type,.orbit-status,.gallery-caption,.work-counter>span:first-child,.orbit-ready .work-counter>span:first-child{font-size:11px}
.text-link:hover,.orbit-project-open:hover,.orbit-project-select:hover,.copy-email:hover,.index-toggle:hover,.info-row dd a:hover,.back-link:hover,.header-contact:hover{color:var(--hover)}
@media(max-width:760px){
 .orbit-type,.orbit-status,.gallery-footer .index-toggle,.contact-facts span{font-size:11px}
 .art-credit{font-size:10px}.orbit-project>p{font-size:12px}
 .detail-info .info-row:last-child{display:grid}
}

/* The sidebar stays clear of the orbit; project copy has room to be read. */
.orbit-home .location{left:22px;top:37vh;font-size:13px;line-height:1.4}
.orbit-ready .project-info{width:24vw}
.orbit-ready .project-info .info-row{grid-template-columns:62px 1fr;gap:13px;margin-bottom:25px}
.orbit-ready .project-info .info-row dd{font-size:16px;line-height:1.4}
.orbit-ready .project-info .info-row dt{font-size:13px;line-height:1.5}
.orbit-ready #orbit-labels{top:37%;left:72%;width:22%}
.orbit-name{font-size:clamp(28px,2.35vw,36px);line-height:1.1}
.orbit-project[data-project="shenquexi"] .orbit-name{text-transform:none}
.orbit-type{font-size:13px;line-height:1.35}
.orbit-project>p{font-size:16px;line-height:1.45;max-width:30ch;margin-top:21px}
.orbit-status{font-size:12px}.orbit-project-open{font-size:14px;margin-top:17px}
.orbit-project:not(.is-active)>p{visibility:hidden}
@media(max-width:1100px) and (min-width:761px){
 .orbit-ready .project-info{width:25vw}.orbit-ready .project-info .info-row{grid-template-columns:1fr;gap:5px;margin-bottom:20px}.orbit-ready .project-info .info-row dd{font-size:15px}.orbit-ready .project-info .info-row dt{font-size:12px}
 .orbit-ready #orbit-labels{left:71%;width:23%}.orbit-name{font-size:27px}.orbit-project>p{font-size:15px}.orbit-home .location{font-size:12px}
}
@media(max-width:760px){
 .orbit-home .location{display:block;left:18px;top:88px;font-size:11px}
 .orbit-ready #orbit-labels{left:9%;width:82%;top:63%}
 .orbit-name{font-size:28px}.orbit-type{font-size:11px}.orbit-project>p{font-size:14px;line-height:1.4;margin:14px auto 8px;max-width:35ch}.orbit-status{font-size:11px}.orbit-project-open{font-size:13px;margin-top:12px}
 #gallery-atmosphere img{object-position:52% 44%}
}
@media(max-width:760px) and (max-height:740px){
 .orbit-ready #orbit-labels{top:60%}.orbit-name{font-size:25px}.orbit-type{font-size:10px;margin-bottom:6px}.orbit-project>p{font-size:13px;margin-top:10px}.orbit-project-open{margin-top:9px}
}
