#work{background:#101c2a;color:#edf0df;margin-top:0;padding-top:64px;border:0;overflow:hidden;isolation:isolate}
#work .gallery-header{padding:0 6vw;max-width:none;align-items:center;gap:24px}
#work .gallery-header h2{font-size:clamp(40px,5.8vw,88px);letter-spacing:-.055em;line-height:1.03;max-width:none}
#work .gallery-header h2 em{color:#b7c9d5}
#work .eyebrow{font-size:12px;letter-spacing:.12em;color:#9fafbb;margin-bottom:18px}
#work .visual-tools{padding:24px 6vw 0;color:#9faebb;font-size:12px;gap:10px}
#work .visual-tools span{color:#526b7d}
#work .view-switch{border-color:#778d9b60;background:transparent;color:#becbd1;border-radius:30px;padding:5px;font-size:13px;white-space:nowrap}
#work .view-switch button{border-radius:25px;padding:11px 20px}
#work .view-switch button.active{background:#e5ecda;color:#182c3b;box-shadow:none}
#work .gallery-stage,#work .gallery-stage.webgl-ready{height:clamp(560px,67vw,790px);min-height:0;max-height:none;margin:0;position:relative;background:transparent}
#work #gallery-canvas{position:absolute;inset:0;background:transparent;transition:opacity .4s}
#work #gallery-canvas canvas{width:100%;height:100%;display:block;outline:none}
#work .gallery-labels{position:absolute;inset:0;pointer-events:none;z-index:4}
#work .gallery-labels .portal-caption{position:absolute;left:50%;top:auto;bottom:87px;transform:translateX(-50%);display:flex;align-items:baseline;justify-content:center;gap:15px;max-width:80%;padding:12px 0;background:none;border:0;box-shadow:none;border-radius:0;backdrop-filter:none;opacity:1;pointer-events:auto;color:#edf0df;transition:opacity .3s}
#work .portal-caption span{font:400 clamp(20px,2.8vw,34px)/1.15 var(--serif);max-width:50vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
#work .portal-caption small{font:10px var(--mono);color:#91a9b6}
#work .portal-caption:focus-visible{outline:1px solid #dce7cd;outline-offset:6px}
#work .gallery-navigation{left:6vw;right:6vw;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#9dafbc;border-top:1px solid #8da6b62b;padding-top:18px;font-size:12px}
#work .gallery-navigation>span{font-size:12px;color:#9dafbc}
#work .gallery-navigation .gallery-pager{gap:20px;display:flex;align-items:center}
#work .gallery-pager button{border:1px solid #8299aa4d;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:#d8e3df}
#work .gallery-pager button:hover{background:#dce9d6;color:#193148}
#work .gallery-pager svg{width:17px;height:17px}
#work .gallery-pager output{font-size:11px;color:#b9cbd2;min-width:61px}
#work #reset-view{font:12px var(--sans);color:#afc2cc}
#work .portal-entering .portal-caption{opacity:0;pointer-events:none}
#work .gallery-stage.index-mode{height:auto;min-height:0;padding:45px 6vw 65px}
#work .gallery-stage.index-mode .gallery-fallback{display:block;columns:3;column-gap:30px;max-width:1600px;margin:0 auto;padding:0;height:auto;min-height:0;visibility:visible}
#work .gallery-stage.index-mode .art-panel{display:block;break-inside:avoid;width:100%;margin:0 0 36px;padding:0;transform:none;position:relative;overflow:visible;color:inherit}
#work .gallery-stage.index-mode .art-panel img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border:0;box-shadow:none;transition:transform .4s}
#work .gallery-stage.index-mode .art-panel:hover img{transform:translateY(-4px)}
#work .gallery-stage.index-mode .art-panel>span{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border:0;margin:0;padding-top:14px}
#work .gallery-stage.index-mode .art-panel strong{font-size:14px;font-weight:400;color:#d5e0dc}
#work .gallery-stage.index-mode .art-panel small{font:10px var(--mono);color:#90a5b1}
#work .gallery-stage:not(.webgl-ready):not(.index-mode){height:auto;min-height:600px}
#work .gallery-stage:not(.webgl-ready):not(.index-mode) .gallery-fallback{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:50px 6vw 120px;gap:35px;align-items:center}
#work .gallery-stage:not(.webgl-ready):not(.index-mode) .art-panel{transform:none!important;width:100%;margin:0}
#work .gallery-stage:not(.webgl-ready):not(.index-mode) .art-panel img{height:auto;aspect-ratio:auto;box-shadow:none;border:0}
#work .gallery-stage:not(.webgl-ready):not(.index-mode) .art-panel:nth-child(n+4){display:none}
.project-dialog{background:#101c2a;color:#e7ecdf;border:0;box-shadow:0 25px 90px #0005;border-radius:0}
.project-dialog::backdrop{background:#081421e8;backdrop-filter:blur(5px)}
.project-dialog .dialog-media img{width:auto;height:auto;max-width:100%;max-height:76svh;object-fit:contain;box-shadow:none;border:0}
.project-dialog .dialog-bottom a{color:#b3c6d1}.project-dialog .close-button{color:#dce8da;border-color:#788e9955}
.spatial-embed{width:100%;aspect-ratio:404/316;display:block;border:0;background:transparent}
.project-stack.embed-project{padding-top:30px}.embed-project .stack-caption{font-size:20px}
.stack-sheets{aspect-ratio:auto!important;height:auto;min-height:0}.stack-sheets img{object-fit:contain}.stack-sheets img:last-child{position:relative;height:auto}
.writing{background:#e8e9df;color:#223849;padding:75px 8vw 100px}
.writing .eyebrow{color:#647e88;font-size:12px;margin-bottom:20px}.writing h2 em{color:#334a61}
.article-shelf{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:55px;perspective:1400px}
.article-leaf{position:relative;background:#faf9f1;color:#233f4c;min-height:380px;padding:35px;border-top:4px solid #ab4a38;box-shadow:0 2px 0 #cfcdc1,0 6px 0 -2px #f5f4ec,0 8px 0 -2px #c5c9bf,0 22px 30px -19px #213a4866;transform:rotate(-2deg);gap:55px}
.article-leaf:nth-child(even){border-top-color:#334a61;transform:translateY(30px) rotate(2deg)}
.article-leaf h3{font:400 clamp(32px,4vw,56px)/1.04 var(--serif);letter-spacing:-.035em;max-width:440px}
.article-leaf>small{display:flex;justify-content:space-between;font:11px var(--mono);color:#667b7f;letter-spacing:.06em}
.article-leaf .article-end{border-top:1px solid #b5c0b5;padding-top:17px;letter-spacing:0;font:13px var(--sans)}
.writing-link{font:12px var(--mono);color:#4b6977;border:0;margin-top:55px;padding:20px 0 0}
@media(max-width:700px){#work{padding-top:43px}#work .gallery-header{padding:0 24px;align-items:flex-start;gap:10px}#work .gallery-header h2{font-size:41px;max-width:220px}#work .eyebrow{font-size:10px;margin-bottom:13px}#work .view-switch{font-size:11px;margin-top:26px;padding:3px}#work .view-switch button{padding:9px 12px}#work .visual-tools{padding:20px 24px 0;font-size:10px;gap:5px}#work .gallery-stage,#work .gallery-stage.webgl-ready{height:660px}#work .gallery-labels .portal-caption{bottom:115px;max-width:90%;gap:10px}#work .portal-caption span{max-width:67vw;font-size:25px}#work .portal-caption small:last-child{display:none}#work .gallery-navigation{display:grid;grid-template-columns:1fr auto;left:24px;right:24px;bottom:18px;row-gap:12px}#work .gallery-navigation>span{grid-column:1/-1;font-size:11px}#work .gallery-pager{gap:14px}#work .gallery-stage.index-mode{height:auto;padding:35px 22px 40px}#work .gallery-stage.index-mode .gallery-fallback{columns:2;column-gap:17px}#work .gallery-stage.index-mode .art-panel{margin-bottom:24px}#work .gallery-stage.index-mode .art-panel>span{gap:5px;padding-top:9px;align-items:start;flex-direction:column}#work .gallery-stage.index-mode .art-panel strong{font-size:12px}#work .gallery-stage.index-mode .art-panel small{font-size:9px}.writing{padding:45px 25px 65px}.article-shelf{grid-template-columns:1fr;gap:35px;margin-top:35px}.article-leaf{min-height:300px;padding:28px;gap:30px}.article-leaf:nth-child(even){transform:rotate(1.5deg)}.article-leaf h3{font-size:43px}.writing-link{margin-top:35px}.spatial-embed{min-height:245px}.project-dialog .dialog-media img{max-height:70svh}}
@media(prefers-reduced-motion:reduce){.article-leaf,.article-leaf:nth-child(even){transform:none}}
