:root{--ink:#20211f;--muted:#777a73;--paper:#f4f4ef;--green:#57735e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:64px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{position:fixed;top:0;z-index:30;height:68px;width:100%;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#f5f5f0e8;backdrop-filter:blur(24px);border-bottom:1px solid #2221}.brand{display:flex;align-items:center;gap:16px;font-size:24px;font-weight:650;letter-spacing:-2px}.brand span{font-size:10px;letter-spacing:1.5px;font-weight:500}nav{display:flex;gap:32px;font-size:12px}.index{font-size:11px}.panel{position:relative;min-height:100svh;scroll-snap-align:start;padding:120px 9% 90px;overflow:hidden;display:flex;align-items:center;gap:6%}.hero{background:#f2f2ed;min-height:100svh}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:500;margin:0 0 26px}h1{font-size:clamp(54px,6.4vw,100px);font-weight:550;line-height:1.12;letter-spacing:-5px;margin:0 0 32px}h1 span{color:#8a9b7f}.lead{font-size:20px;line-height:1.8;letter-spacing:.3px}.hero .lead{color:#6f736b;font-size:17px}.text-link{display:inline-flex;gap:60px;font-size:12px;margin-top:25px;border-bottom:1px solid #999;padding-bottom:12px}.hero-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#7c8075}.hero-orbit{position:absolute;width:48vw;height:48vw;right:-1vw;top:15%;border-radius:50%;background:radial-gradient(ellipse at 32% 28%,#edf2df,#a5b29a 45%,#657660 75%,#3f5047);box-shadow:inset -25px -25px 70px #1f34294d,0 55px 100px #425b4220;animation:float 9s ease-in-out infinite;transform:rotate(-25deg)}.hero-orbit:after{content:"";position:absolute;inset:8%;border:1px solid #fff4;border-radius:50%;transform:rotateX(60deg)}.hero-orbit i{position:absolute;border:1px solid #ffffff36;border-radius:50%;inset:15%;transform:rotateY(65deg)}.hero-orbit i:nth-child(2){inset:26%;transform:rotateX(60deg)}.hero-orbit i:nth-child(3){inset:-7%;border-color:#65766035;transform:rotateX(58deg)}.hero-orbit span{position:absolute;top:48%;width:100%;text-align:center;color:#fff9;font-size:12px;letter-spacing:8px;transform:rotate(25deg)}h2{font-size:clamp(44px,5vw,76px);line-height:1.17;font-weight:550;letter-spacing:-3px;margin:0 0 25px}em{font-style:normal;color:#95998e}.section-heading{flex:1}.section-heading>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#777b70}.project-list{flex:1.3}.project-list a{display:grid;grid-template-columns:1fr 22px;border-bottom:1px solid #2222;padding:27px 0;gap:8px;transition:padding .3s}.project-list a:hover{padding-left:12px}.project-list span{font-size:10px;color:#85887e;letter-spacing:1px}.project-list strong{font-size:24px;font-weight:500;grid-row:2}.project-list small{grid-row:3;color:#777;font-size:12px}.project-list b{grid-row:2;grid-column:2;font-size:20px;font-weight:300}.dark{background:#0f1714;color:#fff}.forest-bg{position:absolute;inset:-8%;background:url('assets/forest-hero.webp') center/cover;transform:scale(1.07);transition:transform 1.8s}.forest.in-view .forest-bg{transform:scale(1)}.forest-shade{position:absolute;inset:0;background:linear-gradient(90deg,#081c12ed,#09221795 45%,#09221718),linear-gradient(0deg,#08170fe8,transparent 35%)}.project-copy{z-index:2}.forest h2{font-size:clamp(60px,7vw,110px);letter-spacing:4px}.en{font-size:16px;letter-spacing:7px;margin-top:-10px;color:#d4dfce}.description{font-size:15px;line-height:2;color:inherit;opacity:.7}.tags{display:flex;gap:8px;margin:28px 0}.tags span{border:1px solid #fff4;border-radius:20px;padding:7px 12px;font-size:10px}button:not(.image-button):not(.close){border:0;border-bottom:1px solid currentColor;background:none;color:inherit;padding:10px 0;font-size:12px}.project-foot{position:absolute;bottom:30px;left:9%;right:9%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #8885;padding-top:20px;font-size:11px;gap:20px}.project-foot b{font-size:17px;margin-left:10px;font-weight:500}.system{background:#e8ece5}.design-stack{width:51%;position:relative;padding:30px 0}.image-button{background:none;padding:0;border:0;display:block;color:inherit}.image-button img{width:100%;display:block}.system-image{width:86%;transform:rotate(-5deg);box-shadow:0 25px 50px #142b2325}.apps-image{width:88%;margin:-10% 0 0 12%;transform:rotate(5deg);box-shadow:0 25px 60px #142b2340}.swatches{display:flex;gap:16px;margin-top:35px}.swatches span{font-size:10px}.swatches span:before{content:"";display:block;width:45px;height:45px;background:var(--c);border-radius:50%;margin-bottom:10px}.body-project{background:#101010;min-height:110svh;gap:3%;padding-left:7%;padding-right:5%}.body-heading{width:40%;z-index:2}.body-heading h2{font-size:clamp(45px,4.8vw,72px)}.body-heading h2 span{color:#cefd38}.body-heading>p:last-child{font-size:16px;color:#9e9e9e;line-height:1.8}.poster-stage{width:58%;height:65vh;position:relative;perspective:1000px}.poster{position:absolute;width:45%;top:8%;box-shadow:0 20px 50px #000;transition:transform 1s,filter .5s}.p1{left:0;transform:rotate(-12deg) translateY(40px);z-index:1}.p2{left:27%;transform:rotate(1deg) translateY(-10px);z-index:3}.p3{right:-4%;transform:rotate(12deg) translateY(50px);z-index:2}.poster:hover{transform:rotate(0) translateY(-35px) scale(1.1);z-index:5}.spring{background:#eae7df}.spring-copy{margin-left:auto;width:52%;z-index:2}.spring h2{font-size:clamp(42px,4.5vw,70px)}.serif{font-family:Georgia,serif;font-style:italic;font-size:23px;color:#8a836b}.concept-note{display:block;font-size:10px;margin-top:22px;color:#918c7f}.flower{position:absolute;width:410px;height:410px;left:6%;top:25%;animation:flowerturn 45s linear infinite}.petal{position:absolute;left:145px;top:-30px;width:130px;height:260px;border-radius:85% 85% 60% 60%;transform-origin:50% 90%;background:linear-gradient(0deg,#9b8f4c,#e6dcac55);border:1px solid #c3b77b88;box-shadow:inset 10px 4px 25px #f4efd2aa}.petal:nth-child(2){transform:rotate(60deg)}.petal:nth-child(3){transform:rotate(120deg)}.petal:nth-child(4){transform:rotate(180deg)}.petal:nth-child(5){transform:rotate(240deg)}.petal:nth-child(6){transform:rotate(300deg)}.center{width:65px;height:65px;background:radial-gradient(circle at 35% 30%,#b1a568,#5a6238);border-radius:50%;position:absolute;left:177px;top:170px;box-shadow:0 10px 30px #665d3530}.archive{background:#dedbd3}.archive-copy{flex:1}.artifact-display{flex:1;perspective:1200px}.book{margin:0 auto;width:300px;height:420px;background:#293731;color:#e7e5d6;transform:rotateY(-23deg) rotateZ(8deg);padding:28px 25px;box-shadow:22px 28px 36px #29352b33,inset 9px 0 8px #0006;border-right:8px solid #e9e6d6;display:flex;flex-direction:column;justify-content:space-between;transition:transform 1s}.book:hover{transform:rotateY(-5deg) rotateZ(0deg)}.book>span{font-size:10px;letter-spacing:2px}.book strong{font-family:serif;font-size:36px;line-height:1.12;margin-left:auto;font-weight:400}.book small{font-size:8px;line-height:1.8;letter-spacing:1px}.archive-label{text-align:center;font-size:9px;letter-spacing:2px;color:#898b7e;margin-top:55px;line-height:1.8}.schedule{align-items:flex-start;padding-top:130px;min-height:110svh}.timeline{flex:1.25}.timeline article{display:flex;gap:28px;border-top:1px solid #b4b7ab;padding:28px 0}.date{font-size:30px;letter-spacing:-1px;min-width:90px}.date small{display:block;font-size:10px;color:#85887a;letter-spacing:1px;margin-top:6px}.timeline h3{font-size:20px;font-weight:500;margin:13px 0}.timeline p{font-size:12px;line-height:1.9;color:#777c70}.status{font-size:9px;letter-spacing:1px;background:#e2e7da;color:#637256;border-radius:20px;padding:5px 10px}.urgent{background:#e9e0d2;color:#916e44}details{font-size:11px;margin-top:18px}summary{cursor:pointer;color:#5a6653}footer{padding:55px 6%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #2222;gap:25px}footer p{font-size:14px}footer small,footer>a:last-child{font-size:10px;color:#777}.page-dots{position:fixed;right:20px;top:45%;z-index:20;display:flex;flex-direction:column;gap:12px}.page-dots a{width:5px;height:5px;background:#8c9385;border-radius:50%;transition:transform .4s}.page-dots a.active{transform:scale(1.8);background:#b8c6a8}.progress{position:fixed;top:0;left:0;height:2px;background:#6e8b64;z-index:50;transform-origin:left;width:100%;transform:scaleX(0)}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1.1s,transform 1.1s}.in-view .reveal,.reveal.in-view{opacity:1;transform:translateY(0)}dialog{width:min(1100px,94vw);max-height:92svh;padding:65px 5%;border:0;background:#f1f1eb;color:#20231d;overscroll-behavior:contain}dialog::backdrop{background:#08100be8;backdrop-filter:blur(10px)}.close{position:sticky;float:right;top:0;border:0;background:#e2e4dc;border-radius:20px;padding:10px 18px;z-index:3}.dialog-copy{max-width:650px;margin:40px auto;line-height:2}.dialog-copy h2{font-size:36px}.dialog-copy p,.dialog-copy li{font-size:14px;color:#62695d}.dialog-img{width:100%;height:auto;display:block;margin:30px auto}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery-grid img{width:100%}.dialog-caption{text-align:center;font-size:12px;clear:both;padding-top:20px}@keyframes float{50%{translate:0 -20px}}@keyframes flowerturn{to{rotate:360deg}}@media(min-width:1500px){.panel{padding-left:12%;padding-right:12%}}@media(max-width:800px){header{height:60px;padding:0 5%}.brand span{display:none}nav{gap:18px;font-size:11px}.index{display:none}.panel{padding:100px 7% 110px;flex-direction:column;justify-content:center;align-items:flex-start;gap:35px}h1{font-size:62px;letter-spacing:-3px}.hero-copy{margin-top:10vh}.hero-orbit{width:75vw;height:75vw;right:-28%;top:12%;opacity:.65}.hero-bottom{flex-wrap:wrap;gap:15px;font-size:8px}.hero-bottom span:last-child{display:none}.hero .lead{font-size:14px}.contents{min-height:105svh}.section-heading,.project-list{width:100%}.project-list a{padding:17px 0}.project-list strong{font-size:20px}.project-list small{display:none}h2{font-size:46px;letter-spacing:-2px}.forest{min-height:100svh}.forest h2{font-size:62px}.forest-bg{background-position:65% center}.forest-shade{background:linear-gradient(90deg,#081c12e6,#09221750),linear-gradient(0deg,#08170fed,transparent)}.en{font-size:11px;letter-spacing:5px}.project-foot{left:7%;right:7%;font-size:9px;flex-wrap:wrap;gap:10px;bottom:25px}.project-foot span:last-child{max-width:100%}.design-stack{width:100%;max-width:500px;padding:0}.system{min-height:110svh}.body-project{padding-top:100px;min-height:120svh}.body-heading{width:100%}.body-heading h2{font-size:52px}.poster-stage{width:90%;height:49vh;margin:0 auto}.poster{width:44%}.spring{min-height:115svh;justify-content:flex-start}.spring-copy{width:100%;margin-top:0}.spring h2{font-size:43px}.spring .flower{width:410px;left:auto;right:-40px;top:52%;transform:scale(.65);opacity:.7}.spring-copy .description{font-size:14px}.artifact-display{width:100%;padding-bottom:20px}.book{width:220px;height:300px;margin-left:20%;padding:20px}.book strong{font-size:25px}.archive{min-height:120svh}.archive-label{margin-top:25px}.schedule{padding-top:100px;min-height:130svh}.timeline{width:100%}.timeline article{gap:20px}.date{font-size:26px;min-width:75px}.timeline h3{font-size:18px}.page-dots{right:10px;gap:10px}.page-dots a{width:4px;height:4px}footer{flex-wrap:wrap;gap:20px}footer small{width:100%}.gallery-grid{grid-template-columns:1fr}.dialog-copy h2{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}*,*:before,*:after{animation:none!important;transition:none!important}}

.applications{background:#183328;gap:6%;min-height:110svh}.applications-head{width:34%}.applications h2{font-size:clamp(46px,5vw,74px)}.application-grid{width:60%;display:grid;grid-template-columns:1fr 1fr;gap:25px 20px}.application-grid .image-button{position:relative;text-align:left;transition:transform .6s}.application-grid .image-button:hover{transform:translateY(-8px)}.application-grid .image-button:nth-child(even){translate:0 30px}.application-grid img{aspect-ratio:1.7;object-fit:cover;box-shadow:0 15px 35px #0002}.application-grid span{display:block;font-size:10px;letter-spacing:1px;margin-top:12px;color:#c2cebf}@media(max-width:800px){.applications{min-height:125svh;padding-bottom:90px}.applications-head{width:100%}.applications h2{font-size:46px}.application-grid{width:100%;gap:22px 14px}.application-grid span{font-size:9px}.application-grid .image-button:nth-child(even){translate:0 20px}}
