html,body{margin:0;padding:0;height:100dvh;width:100%;background:var(--background-primary);font-family:sans-serif;color:var(--text-primary)}:root{--background-primary: white;--page1-bg: white;--page2-bg: white;--page3-bg: white;--text-primary: #2006A4;--text-secondary: #2006A4;--bg-card: #2006A4;--accent-hover: #2006A4}*{margin:0;padding:0;box-sizing:border-box}.scroll-container{width:100vw;height:100dvh;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:row}.content-wrapper{display:flex;height:100dvh}.page-section{width:100vw;height:100dvh;position:relative;flex-shrink:0;border-right:0%}#page1{background-color:var(--page1-bg)}.webgl,.webgl-page1{position:absolute;top:0;left:0;width:100%;height:100%;outline:none;z-index:0}.top-left{position:absolute;top:5vh;left:3vw}.h1-a{color:var(--text-primary);font-size:clamp(4.5rem,9vw,7rem);font-style:normal;font-weight:700;line-height:normal;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:10%;text-underline-offset:7%}.h1-b{color:var(--text-primary);font-size:clamp(4rem,8.5vw,6.5rem);font-style:normal;font-weight:400;line-height:normal;display:flex;align-items:flex-start;gap:0rem}.h1-left{font-weight:700;font-size:clamp(4.5rem,9vw,7rem);line-height:.9}.h1-right{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1}.h1-c{font-weight:500;font-size:clamp(1.1rem,2.6vw,2.2rem);display:inline;font-size:30%}.h1-d{font-weight:400;font-size:clamp(1rem,2.3vw,2rem);display:inline;font-size:30%}.h2-a{color:var(--text-primary);font-size:clamp(1rem,2.2vw,2rem);font-style:normal;font-weight:500;line-height:normal}nav{text-decoration:none}.top-left a{color:var(--text-primary);font-size:clamp(1rem,2vw,1.5rem);font-weight:700;line-height:1.2;margin-left:1%;font-weight:500;text-decoration:none}.top-left a:hover{color:var(--page1-bg);background-color:var(--accent-hover)}.bottom-right{position:absolute;bottom:5vh;right:5vw;text-align:right}.bottom-right h3{color:var(--text-primary);font-family:sans-serif;font-size:clamp(1.8rem,8vw,6rem);font-style:normal;font-weight:700;line-height:normal}.line-through{text-decoration:line-through}.bottom-right a{font-size:clamp(1rem,2.5vw,2rem);font-weight:700;line-height:1.2;margin-left:3%;text-decoration:none}.bottom-left{position:absolute;bottom:2vh;left:3vw;color:var(--text-primary);font-size:.9rem}#page2{background-color:var(--page2-bg)}.page2-container{width:100%;height:100%;position:relative;overflow:hidden}.page2-left{display:none}.page2-right{width:100%;height:100%;display:flex;align-items:center;justify-content:flex-start}.page2-text-container{padding:1rem;padding-bottom:68%;width:100%;position:relative;z-index:2}.left-content{width:100%;transform:rotate(-90deg);color:var(--text-primary);font-family:Inter;font-size:100%;font-style:normal;font-weight:400;line-height:normal}.page2-text-header-1,.page2-text-header-2,.page2-text-header-3,.page2-text-header-4{color:var(--text-primary);font-family:Inter;margin-bottom:1rem;font-size:1rem;font-weight:400}.cards-container-1{position:absolute;bottom:4vh;left:3vw;display:flex;z-index:1}.card1{width:clamp(360px,50vw,800px);height:clamp(240px,40vh,520px);background-color:var(--bg-card)}.webgl-page2{width:clamp(520px,62vw,1200px);height:clamp(320px,65vh,820px);outline:none;position:absolute;bottom:0vh;left:0vw;z-index:1;pointer-events:none}.cards-container-2{position:absolute;bottom:1vh;right:17vw;display:flex;z-index:3}.card2{width:clamp(180px,15vw,420px);height:clamp(420px,90vh,900px);background-color:var(--bg-card)}#page3{background-color:var(--page3-bg)}body{margin:0;padding:0;font-family:sans-serif;color:var(--text-primary);background:var(--background-primary);overflow:hidden}*,*:before,*:after{box-sizing:border-box}.webgl-projects{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none}.projects-shell{position:relative;z-index:1;display:flex;height:100dvh;width:100vw;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;scroll-snap-type:x mandatory;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}.projects-shell::-webkit-scrollbar{display:none}.project-panel{min-width:100vw;height:100dvh;flex-shrink:0;display:flex;align-items:flex-end;padding:6vh 4vw;scroll-snap-align:start;scroll-snap-stop:always}.project-panel--intro{align-items:flex-start;padding-top:8vh}.project-panel--end{align-items:center;justify-content:center}.panel-inner{position:relative;z-index:2;max-width:min(92vw,40rem)}.intro-title{font-size:clamp(4rem,10vw,8rem);font-weight:700;line-height:.9;margin:0}.intro-sub{display:inline-block;font-size:clamp(1rem,2.2vw,1.6rem);font-weight:400;margin-top:.8rem;opacity:.7}.intro-jump{text-decoration:none;color:inherit;cursor:pointer;transition:opacity .2s}.intro-jump:hover{opacity:.9}.outro-text{font-size:clamp(1.4rem,3vw,2.4rem);font-weight:500}.project-card{position:relative;z-index:2;max-width:580px;text-shadow:0px 0px 4px var(--background-primary)}.project-num{display:block;font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:1;opacity:.12;margin-bottom:-.3em}.project-card h2{font-size:clamp(1.8rem,4.5vw,3.2rem);font-weight:700;line-height:1;margin:0 0 .6rem}h2{text-shadow:0px 0px 4px var(--background-primary)}.project-card p{font-size:clamp(.95rem,1.6vw,1.1rem);line-height:1.55;max-width:48ch;margin:0}.project-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}.project-tags span{font-size:.8rem;border:1px solid var(--text-primary);background:#ffffff73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:.25rem .6rem;border-radius:999px;font-weight:500}.project-link{display:inline-block;margin-top:.9rem;font-size:.95rem;font-weight:600;text-decoration:none;color:var(--text-primary);border-bottom:1.5px solid var(--text-primary);padding-bottom:1px;transition:opacity .2s}.project-link:hover{opacity:.65}.back{display:block;margin-top:1.8rem;font-size:1rem;font-weight:500;text-decoration:none;color:var(--text-primary)}.back:hover{opacity:.7}@media (max-width: 768px){.project-panel{padding:6vh 6vw 11vh;align-items:flex-end}.project-panel--intro{align-items:flex-start;padding-top:10vh}.project-card{max-width:min(100%,34rem)}.project-card p{max-width:34ch}.project-num{opacity:.09}.intro-title{font-size:clamp(3rem,14vw,5rem)}}@media (prefers-reduced-motion: reduce){.projects-shell{scroll-behavior:auto}.project-link{transition:none}}
