*{box-sizing:border-box}html{scroll-behavior:smooth;background:#0d0d0c}body{color:#f4f1ea;background:#0d0d0c;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.home-shell{color:#f4f1ea;background:#0d0d0c;min-height:100svh}.site-nav,.library-nav{z-index:30;letter-spacing:.04em;justify-content:space-between;align-items:center;padding:22px 30px;font-size:.82rem;display:flex;position:fixed;inset:0 0 auto}.site-mark,.library-mark{letter-spacing:-.06em;font-size:1.15rem;font-weight:800}.site-nav-links,.library-nav>div{align-items:center;gap:24px;display:flex}.site-nav-links a,.library-nav a,.library-nav span{opacity:.68;transition:opacity .2s}.site-nav-links a:hover,.library-nav a:hover{opacity:1}.home-hero{flex-direction:column;justify-content:center;min-height:100svh;padding:130px 6vw 80px;display:flex}.home-kicker{text-transform:uppercase;letter-spacing:.18em;opacity:.52;margin:0 0 24px;font-size:.7rem}.home-hero h1{letter-spacing:-.075em;max-width:1100px;margin:0;font-size:clamp(4.6rem,10vw,10rem);font-weight:600;line-height:.82}.home-hero h1 span{color:#d9ff45}.home-intro{color:#a9a69f;max-width:540px;margin:42px 0 0;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.55}.home-cta{color:#d9ff45;border-bottom:1px solid #d9ff45;width:max-content;margin-top:34px;padding-bottom:6px}.home-about{border-top:1px solid #2a2a28;align-items:center;min-height:45svh;padding:100px 6vw;display:flex}.home-about p{letter-spacing:-.05em;max-width:1100px;margin:0;font-size:clamp(2rem,5vw,5rem);line-height:1}.projects-shell{color:#24211e;background:#dcd4c8;width:100%;height:100svh;position:relative;overflow:hidden}.projects-shell.is-reading{cursor:default}.scene-layer{z-index:1;position:absolute;inset:0}.projects-canvas{width:100%!important;height:100%!important}.library-nav{color:#2c2824;mix-blend-mode:multiply}.projects-title-block{z-index:5;pointer-events:none;position:absolute;top:50%;left:5vw;transform:translateY(-50%)}.projects-title-block p{text-transform:uppercase;letter-spacing:.18em;opacity:.52;margin:0 0 12px;font-size:.64rem}.projects-title-block h1{letter-spacing:-.065em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(5.3rem,10vw,10rem);font-weight:400;line-height:.82}.projects-title-block>span{opacity:.58;margin-top:20px;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-style:italic;display:block}.projects-instruction{z-index:5;letter-spacing:.08em;text-transform:uppercase;opacity:.46;pointer-events:none;font-size:.66rem;position:absolute;bottom:26px;left:5vw}.hover-label{z-index:8;text-align:right;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;position:absolute;bottom:5vw;right:4vw;transform:translateY(10px)}.hover-label.is-visible{opacity:1;transform:translateY(0)}.hover-label span{text-transform:uppercase;letter-spacing:.13em;opacity:.5;margin-bottom:7px;font-size:.61rem;display:block}.hover-label strong{letter-spacing:-.04em;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,3.4rem);font-weight:400}.custom-cursor{z-index:80;pointer-events:none;will-change:transform;border:1px solid #26221e73;border-radius:50%;place-items:center;width:44px;height:44px;transition:width .16s,height .16s,margin .16s,background .16s;display:grid;position:fixed;top:-22px;left:-22px}.custom-cursor span{letter-spacing:.11em;opacity:0;font-size:.47rem}.custom-cursor.has-label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#efe8ddb8;width:62px;height:62px;margin:-9px 0 0 -9px}.custom-cursor.has-label span{opacity:.75}.project-reader{z-index:10;pointer-events:none;color:#231f1c;position:absolute;inset:0}.reader-close{pointer-events:auto;color:inherit;letter-spacing:.12em;cursor:pointer;background:0 0;border:0;padding:10px;font-size:.64rem;position:absolute;top:76px;right:28px}.reader-meta{letter-spacing:.12em;text-transform:uppercase;opacity:.54;gap:18px;font-size:.58rem;display:flex;position:absolute;bottom:26px;left:28px}.reader-copy{text-align:left;pointer-events:none;width:min(34vw,470px);margin-left:0;animation:.35s both readerIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reader-copy p{letter-spacing:.15em;text-transform:uppercase;opacity:.5;margin:0 0 12px;font-size:.58rem}.reader-copy h2{letter-spacing:-.05em;color:#2c2722;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3.4vw,4.2rem);font-weight:400;line-height:.94}.reader-rule{opacity:.35;background:#2b2723;width:42px;height:1px;margin:20px 0}.reader-copy span{opacity:.7;max-width:420px;font-family:Georgia,Times New Roman,serif;font-size:clamp(.9rem,1.2vw,1.12rem);line-height:1.5;display:block}.reader-controls{z-index:20;pointer-events:auto;align-items:center;gap:14px;display:flex;position:absolute;bottom:24px;right:28px}.reader-controls button{cursor:pointer;color:#2b2723;background:#fff3;border:1px solid #221f1c47;border-radius:50%;width:38px;height:38px}.reader-controls button:disabled{opacity:.25;cursor:default}.reader-controls span{letter-spacing:.1em;opacity:.5;font-size:.58rem}.accessible-project-list{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.accessible-project-list:focus-within{z-index:100!important;clip:auto!important;white-space:normal!important;color:#111!important;background:#fff!important;border-radius:12px!important;width:280px!important;height:auto!important;margin:0!important;padding:18px!important;position:fixed!important;top:70px!important;left:20px!important;overflow:visible!important}.accessible-project-list button{text-align:left;width:100%;margin:8px 0;padding:10px;display:block}.mobile-book-list{display:none}.library-loader{z-index:120;color:#e9e1d5;opacity:0;visibility:hidden;background:#171513;flex-direction:column;justify-content:center;align-items:center;gap:22px;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0}.library-loader.is-visible{opacity:1;visibility:visible}.library-loader p{text-transform:uppercase;letter-spacing:.18em;opacity:.58;font-size:.62rem}.loader-book{perspective:500px;width:62px;height:82px;position:relative}.loader-cover,.loader-page{transform-origin:0;border-radius:2px;width:100%;height:100%;position:absolute;top:0;left:0}.loader-cover{z-index:5;background:#9a4f5e}.loader-page{background:#ede4d7;border-left:1px solid #c9bbac}.loader-page-one{z-index:4;animation:1.05s ease-in-out 50ms infinite pageFlip}.loader-page-two{z-index:3;animation:1.05s ease-in-out .2s infinite pageFlip}.loader-page-three{z-index:2;animation:1.05s ease-in-out .35s infinite pageFlip}@keyframes pageFlip{0%,20%{transform:rotateY(0)}70%,to{transform:rotateY(-165deg)}}@keyframes readerIn{0%{opacity:0;transform:translate(-50%,-47%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width:900px){.site-nav,.library-nav{padding:18px 20px}.site-nav-links,.library-nav>div{gap:16px}.projects-title-block{top:24%;left:20px;transform:none}.projects-title-block h1{font-size:clamp(4.4rem,18vw,7rem)}.projects-instruction,.hover-label,.custom-cursor{display:none}.reader-close{top:60px;right:14px}.reader-copy{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#efe9e0d1;border-radius:14px;width:calc(100% - 40px);padding:18px;animation:none;top:auto;bottom:96px;left:20px;transform:none}.reader-copy h2{font-size:2.2rem}.reader-meta{flex-wrap:wrap;gap:7px 12px;max-width:55%;bottom:22px;left:20px}.reader-controls{bottom:18px;right:18px}.mobile-book-list{z-index:7;flex-direction:column;gap:7px;width:min(44vw,190px);display:flex;position:absolute;top:115px;right:16px}.projects-shell.is-reading .mobile-book-list{display:none}.mobile-book-list>p{letter-spacing:.14em;text-transform:uppercase;text-align:right;opacity:.48;margin:0 0 5px;font-size:.55rem}.mobile-book-list button{border:0;border-left:6px solid var(--book-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;color:#2b2723;background:#f4eee5a8;padding:10px 11px;box-shadow:0 5px 16px #39312a14}.mobile-book-list span{font-family:Georgia,Times New Roman,serif;font-size:.9rem;display:block}.mobile-book-list small{letter-spacing:.08em;text-transform:uppercase;opacity:.5;margin-top:3px;font-size:.49rem;display:block}}@media (max-width:560px){.library-nav>div a:first-child{display:none}.projects-title-block{top:22%}.projects-title-block p{font-size:.54rem}.projects-title-block>span{font-size:.95rem}.mobile-book-list{width:45vw;top:52%;right:14px;transform:translateY(-50%)}.reader-copy span{font-size:.9rem}.reader-meta span:nth-child(3){display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.library-loader{transition:none}}
.projects-shell{height:420svh;min-height:420svh;overflow:visible}.scene-layer{height:100svh;position:sticky;inset:0 0 auto}.projects-title-block,.projects-instruction,.hover-label,.project-reader,.mobile-book-list{position:fixed}@media (max-width:900px){.projects-shell{height:360svh;min-height:360svh}}@media (prefers-reduced-motion:reduce){.projects-shell{height:260svh;min-height:260svh}}
.projects-shell.is-reading .library-nav{opacity:.22;transition:opacity .35s}.projects-shell.is-reading .custom-cursor{opacity:.2}.project-reader{z-index:10;pointer-events:none;color:#29241f;opacity:0;animation:.34s .98s forwards readerShellIn;position:absolute;inset:0}.reader-close{pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:inherit;letter-spacing:.12em;cursor:pointer;background:#f5efe780;border:1px solid #2a241f33;border-radius:999px;padding:10px 14px;font-size:.59rem;position:absolute;top:72px;right:30px}.reader-left-page{pointer-events:none;color:#5b5148;flex-direction:column;align-items:flex-start;width:min(19vw,270px);display:flex;position:absolute;top:49.5%;left:33.4%;transform:translate(-50%,-50%)}.reader-left-page .reader-project-number{letter-spacing:.16em;text-transform:uppercase;opacity:.5;margin-bottom:18px;font-size:.54rem}.reader-left-page strong{letter-spacing:-.035em;color:#352f2a;margin-bottom:18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,1.8vw,2rem);font-weight:400;line-height:1.02}.reader-left-rule{opacity:.28;background:#4e463f;width:32px;height:1px;margin-bottom:18px}.reader-left-page>span:not(.reader-project-number){letter-spacing:.12em;text-transform:uppercase;opacity:.5;font-size:.53rem;line-height:1.9}.reader-copy{text-align:left;pointer-events:none;width:min(23vw,360px);animation:.3s both readerPageIn;position:absolute;top:49.5%;left:66.6%;transform:translate(-50%,-50%)}.reader-copy p{letter-spacing:.16em;text-transform:uppercase;opacity:.48;margin:0 0 14px;font-size:.54rem}.reader-copy h2{letter-spacing:-.045em;color:#302a25;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,2.7vw,3.25rem);font-weight:400;line-height:.98}.reader-rule{opacity:.28;background:#3d3731;width:36px;height:1px;margin:18px 0}.reader-copy span{color:#5f554d;max-width:350px;font-family:Georgia,Times New Roman,serif;font-size:clamp(.82rem,1vw,1rem);line-height:1.5;display:block}.reader-controls{z-index:20;pointer-events:auto;align-items:center;gap:14px;display:flex;position:absolute;bottom:3.3vh;left:50%;transform:translate(-50%)}.reader-controls button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;color:#2b2723;background:#f6f1ea8a;border:1px solid #221f1c38;border-radius:50%;width:38px;height:38px}.reader-controls button:disabled{opacity:.22;cursor:default}.reader-controls span{letter-spacing:.1em;opacity:.45;font-size:.55rem}@keyframes readerShellIn{0%{opacity:0}to{opacity:1}}@keyframes readerPageIn{0%{opacity:0;transform:translate(-50%,-47%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width:900px){.project-reader{animation-delay:.78s}.reader-left-page{display:none}.reader-copy{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#efe9e0e0;border-radius:14px;width:calc(100% - 40px);padding:18px;animation:none;top:auto;bottom:92px;left:20px;transform:none}.reader-copy h2{font-size:2.05rem}.reader-copy span{max-width:100%;font-size:.9rem}.reader-close{top:60px;right:14px}.reader-controls{bottom:18px;left:auto;right:18px;transform:none}}@media (prefers-reduced-motion:reduce){.project-reader{animation-delay:0s}}
