@import "https://fonts.googleapis.com/css2?family=Dokdo&display=swap";@import "https://fonts.googleapis.com/css2?family=Gelasio:wght@400;500;600;700&display=swap";body,html{background-color:#000;margin:0;padding:0;overflow-x:hidden}#root{width:100%}.dot-field-container{width:100%;height:100%;position:relative}.card-swap-container{transform-origin:100% 100%;perspective:900px;position:absolute;bottom:0;right:0;overflow:visible;transform:translate(5%,20%)}.card{transform-style:preserve-3d;will-change:transform;backface-visibility:hidden;background:#000;border:1px solid #fff;border-radius:12px;position:absolute;top:50%;left:50%}@media (width<=768px){.card-swap-container{transform:scale(.75)translate(25%,25%)}}@media (width<=480px){.card-swap-container{transform:scale(.55)translate(25%,25%)}}.linear-gallery{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;scrollbar-width:none;width:100%;height:100%;overflow:auto visible}.linear-gallery::-webkit-scrollbar{display:none}.linear-gallery-dragging{cursor:grabbing}.linear-gallery-track{align-items:center;gap:clamp(1.25rem,2vw,2.8rem);width:max-content;min-height:100%;padding:0 max(5vw,50vw - 840px);display:flex}.linear-gallery-group{align-items:center;gap:inherit;flex:none;display:flex}.linear-gallery-item{filter:drop-shadow(0 28px 34px #0000009e)drop-shadow(0 0 12px #8dd9ff1f);flex:none;justify-content:center;align-items:center;width:clamp(230px,17vw,360px);height:clamp(520px,74vh,780px);margin:0;display:flex}.linear-gallery-item img,.linear-gallery-item video{object-fit:contain;pointer-events:none;background:0 0;border:0;width:auto;max-width:100%;height:auto;max-height:100%;display:block}@media (width<=760px){.linear-gallery-track{gap:1rem;padding:0 1rem}.linear-gallery-item{width:clamp(210px,72vw,300px);height:clamp(440px,68vh,620px)}}html,body{margin:0;padding:0;overflow-x:hidden}#root,.main-wrapper{overflow-x:hidden;overflow-y:visible!important}.main-wrapper{background-color:#000;width:100vw;position:relative}.global-background-dots{z-index:1;pointer-events:auto;width:100vw;height:200vh;position:absolute;top:0;left:0}.hero-section{z-index:2;background:0 0;width:100vw;height:100vh;position:relative;overflow:hidden}.overview-section{z-index:2;background:0 0;width:100vw;min-height:150vh;padding-bottom:20vh;position:relative;overflow:hidden}.text-overlay{z-index:10;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.text-container{pointer-events:auto;flex-direction:column;align-items:flex-start;display:flex}.text-line{color:#fff;letter-spacing:.1rem;font-family:Dokdo,cursive;font-size:10rem;line-height:1.1;display:flex}.hover-char{cursor:default;transition:transform .2s cubic-bezier(.25,.46,.45,.94),color .2s;display:inline-block}.hover-char:hover{color:#ff9fc8;text-shadow:0 10px 20px #ff9fc899;z-index:20;transform:scale(1.5)translateY(-10px)}.blinking-cursor{color:#ff9fc8;margin-left:.5rem;font-size:10rem;font-weight:300;animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.overview-section{background:0 0;width:100vw;min-height:100vh;position:relative;overflow:hidden}.lanyard-container{z-index:1;width:100vw;height:100%;position:absolute;top:0;left:0}.bento-container{z-index:10;pointer-events:none;flex-direction:column;justify-content:center;width:60%;height:100%;display:flex;position:absolute;top:0;right:0}.bento-container>*{pointer-events:auto}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#050505}::-webkit-scrollbar-thumb{background:#894468;border-radius:4px;transition:background .3s}::-webkit-scrollbar-thumb:hover{background:#ff9fc8;box-shadow:0 0 10px #ff9fc880}.floating-contact-btn{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;letter-spacing:1px;background:#ffffff08;border:1px solid #ffffff4d;border-radius:50px;padding:.5rem 1.8rem;font-family:Gelasio,serif;font-size:1.1rem;text-decoration:none;transition:all .3s cubic-bezier(.25,.8,.25,1);position:fixed;top:2.5rem;right:3.5rem}.floating-contact-btn{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;letter-spacing:1px;background:#ffffff08;border:1px solid #ffffff4d;border-radius:50px;padding:.5rem 1.8rem;font-family:Gelasio,serif;font-size:1.1rem;transition:all .3s cubic-bezier(.25,.8,.25,1);position:fixed;top:2.5rem;right:3.5rem}.floating-contact-btn:hover{color:#ff9fc8;background:#ff9fc80d;border-color:#ff9fc8;transform:translateY(-3px);box-shadow:0 0 20px #ff9fc866}.floating-nav{z-index:1000;align-items:center;gap:.75rem;display:flex;position:fixed;top:2.5rem;left:3.5rem}.floating-nav button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;letter-spacing:.02em;background:#ffffff08;border:1px solid #ffffff42;border-radius:50px;padding:.5rem 1.35rem;font-family:Gelasio,serif;font-size:1rem;transition:all .3s cubic-bezier(.25,.8,.25,1)}.floating-nav button:hover{color:#ff9fc8;background:#ff9fc80d;border-color:#ff9fc8;transform:translateY(-3px);box-shadow:0 0 18px #ff9fc857}.floating-contact-btn-glow{color:#fff;background:#ff9fc814;border-color:#ff9fc8e6;animation:2.4s ease-in-out infinite contactGlowPulse;box-shadow:0 0 18px #ff9fc88f,0 0 44px #ff9fc85c,inset 0 0 18px #ffffff14}.floating-contact-btn,.floating-nav button{-webkit-backdrop-filter:blur(18px)saturate(150%);background:linear-gradient(135deg,#ffffff29,#ffffff09),#ff9fc809;border-color:#ffffff57;box-shadow:inset 0 1px #ffffff57,inset 0 -10px 24px #ff9fc80e,0 12px 32px #00000057}.floating-contact-btn:hover,.floating-nav button:hover{background:linear-gradient(135deg,#fff3,#ff9fc813),#ff9fc814;box-shadow:inset 0 1px #fff6,inset 0 -10px 24px #ff9fc817,0 0 24px #ff9fc86b,0 14px 34px #00000061}.floating-contact-btn-glow{background:linear-gradient(135deg,#ffffff2e,#ff9fc81a),#ff9fc81a;border-color:#ff9fc8e6}@keyframes contactGlowPulse{0%,to{box-shadow:0 0 16px #ff9fc87a,0 0 38px #ff9fc847,inset 0 0 18px #ffffff14}50%{box-shadow:0 0 26px #ff9fc8c7,0 0 64px #ff9fc87a,inset 0 0 20px #ffffff1f}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.contact-card{text-align:center;color:#fff;background:#1e0f16d9;border:1px solid #ff9fc84d;border-radius:20px;max-width:90%;padding:3rem 4rem;font-family:Gelasio,serif;box-shadow:0 20px 50px #00000080,0 0 30px #ff9fc826}.contact-card h3{color:#ff9fc8;letter-spacing:2px;margin-top:0;margin-bottom:.5rem;font-family:Dokdo,cursive;font-size:2.2rem}.email-box{-webkit-user-select:all;user-select:all;background:#ffffff0d;border:1px dashed #ff9fc866;border-radius:12px;margin:2rem 0;padding:1.2rem 2rem;font-size:1.5rem;font-weight:600}.close-btn{color:#ff9fc8;cursor:pointer;background:0 0;border:1px solid #ff9fc8;border-radius:50px;padding:.6rem 2.5rem;font-family:Gelasio,serif;font-size:1.1rem;transition:all .3s}.close-btn:hover{color:#1e0f16;background:#ff9fc8}.projects-section{box-sizing:border-box;z-index:10;justify-content:flex-start;align-items:center;width:100%;min-height:100vh;padding:0 6vw;display:flex;position:relative}.projects-text{color:#fff;width:25%;min-width:280px;margin-right:5vw;font-family:Gelasio,serif}.projects-text h2{color:#ff9fc8;letter-spacing:2px;margin-bottom:1rem;font-family:Dokdo,cursive;font-size:3.5rem;line-height:1}.projects-text p{color:#ccc;font-size:1.2rem;line-height:1.6}.projects-cards-wrapper{width:70%;height:700px;position:relative;transform:translate(-20vw)}.project-card{color:#fff;flex-direction:column;justify-content:center;padding:2.5rem;font-family:Gelasio,serif;display:flex;position:relative;box-shadow:0 10px 30px #00000080,inset 0 0 20px #ff9fc80d;background:#140a0fe6!important;border:1px solid #ff9fc866!important}.card-tag{color:#ff9fc8;background:#ff9fc826;border-radius:50px;margin:0;padding:.4rem 1.2rem;font-family:Gelasio,serif;font-size:.95rem;font-weight:700;position:absolute;bottom:2.5rem;right:3rem}.project-card h3{margin:0 0 1rem;font-size:1.8rem;line-height:1.3}.project-card p{color:#aaa;margin-bottom:2rem;font-size:1.1rem;line-height:1.5}.card-role{color:#fff;border-top:1px dashed #ff9fc84d;margin-top:auto;padding-top:1rem;font-size:1rem;font-weight:700}.project-modal-card{color:#fff;background:#140a0ffa;border:1px solid #ff9fc880;border-radius:24px;flex-direction:column;width:80vw;max-width:1200px;height:85vh;padding:4rem 5rem;font-family:Gelasio,serif;display:flex;position:relative;overflow-y:auto;box-shadow:0 30px 80px #000c,inset 0 0 40px #ff9fc81a}.project-modal-title{color:#ff9fc8;letter-spacing:1px;margin:0 0 .5rem;font-family:Gelasio,serif;font-size:2.5rem;font-weight:700;line-height:1.3}.project-modal-role{color:#ff9fc8;border-bottom:1px dashed #ff9fc84d;margin-bottom:2rem;padding-bottom:1.5rem;font-size:1.2rem;font-weight:700}.project-modal-body{color:#ddd;white-space:pre-line;font-size:1.2rem;line-height:1.8}.modal-close-icon{color:#ff9fc8;cursor:pointer;background:0 0;border:1px solid #ff9fc8;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;transition:all .3s;display:flex;position:absolute;top:2rem;right:3rem}.modal-close-icon:hover{color:#1e0f16;background:#ff9fc8;transform:scale(1.1)}.project-modal-card{background:linear-gradient(#16090ffa,#0d0509fa);border:1px solid #ff9fc88c;border-radius:28px;width:min(94vw,1760px);max-width:none;height:min(90vh,980px);padding:clamp(2rem,4vw,5rem);overflow-y:auto;box-shadow:0 30px 80px #000c,inset 0 0 48px #ff9fc814}.project-modal-title{margin:0 4rem .75rem 0;font-size:clamp(1.8rem,3.35vw,3.35rem);line-height:1.18}.project-modal-role{margin-bottom:2.2rem;padding-bottom:1.75rem;font-size:clamp(1.05rem,1.6vw,1.6rem)}.project-modal-body{font-size:clamp(.95rem,1.02vw,1.08rem);line-height:1.65}.project-modal-layout{white-space:normal;grid-template-columns:minmax(420px,1.08fr) minmax(420px,1.12fr);align-items:stretch;gap:clamp(2rem,3vw,4rem);display:grid}.project-modal-copy{flex-direction:column;gap:1.1rem;display:flex}.project-modal-layout-text-only{grid-template-columns:1fr}.project-modal-layout-text-only .project-modal-copy{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(1.25rem,2vw,2rem);display:grid}.project-modal-layout-text-only .project-detail-section{background:#ff9fc80f;border:1px solid #ff9fc847;border-radius:18px;min-height:320px;padding:1.25rem 1.35rem}.project-detail-section h3{color:#fff;margin:0 0 .65rem;font-size:clamp(1.15rem,1.45vw,1.55rem);line-height:1.25}.project-detail-section ul{margin:0;padding-left:1.4rem}.project-detail-section li{color:#e2d8dd;margin:0 0 .55rem}.project-detail-section li::marker{color:#ff9fc8}.project-flow-figure{background:#fff5f9f2;border:1px solid #ff9fc852;border-radius:18px;margin:0;padding:1rem;box-shadow:0 18px 42px #00000059}.project-flow-figure img{object-fit:contain;width:100%;max-height:52vh;display:block}.project-flow-panel{flex-direction:column;gap:1rem;height:100%;display:flex}.project-method-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:auto;display:grid}.project-method-note{background:#ff9fc814;border:1px solid #ff9fc847;border-radius:14px;min-height:128px;padding:.78rem .9rem}.project-method-note h4{color:#ff9fc8;margin:0 0 .38rem;font-size:.9rem}.project-method-note p{color:#e5d9df;margin:0;font-size:.82rem;line-height:1.45}.project-image-gallery{height:100%;min-height:560px;position:relative}.project-image-card{box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute}.project-image-card:first-child{aspect-ratio:1;z-index:2;border:3px solid #ff9140f2;border-radius:999px;width:38%;top:2%;left:0}.project-image-card:nth-child(2){z-index:1;width:45%;bottom:0;left:50%;transform:translate(-50%)}.project-image-card:nth-child(3){aspect-ratio:1;z-index:2;border:3px solid #80d8ebf2;border-radius:999px;width:38%;top:2%;right:0}.project-image-card img{object-fit:contain;width:92%;height:92%;max-height:100%;display:block}.project-image-card:nth-child(2) img{width:100%;height:auto}.project-image-gallery-single{perspective:1200px;justify-content:center;align-items:center;min-height:560px;display:flex}.project-image-gallery-single .project-image-card,.project-image-gallery-single .project-image-card:first-child{aspect-ratio:auto;z-index:1;filter:drop-shadow(0 32px 38px #00000085)drop-shadow(0 0 22px #ff9fc82e);border:0;border-radius:0;width:min(92%,700px);animation:5.5s ease-in-out infinite card3Float;position:relative;top:auto;left:auto;right:auto;transform:translateY(-10px)rotateX(2deg)}.project-image-gallery-single .project-image-card img,.project-image-gallery-single .project-image-card:first-child img{width:100%;height:auto}@keyframes card3Float{0%,to{transform:translateY(-10px)rotateX(2deg)}50%{transform:translateY(-24px)rotateX(2deg)}}.modal-close-icon{font-size:0}.modal-close-icon:before{content:"x";font-size:1.5rem;line-height:1}@media (width<=1100px){.project-modal-card{height:88vh}.project-modal-layout,.project-modal-layout-text-only .project-modal-copy{grid-template-columns:1fr}.project-modal-layout-text-only .project-detail-section{min-height:auto}.project-flow-figure img{max-height:none}.project-method-notes{grid-template-columns:1fr}.project-image-gallery{grid-template-columns:1fr;gap:1rem;height:auto;min-height:0;display:grid}.project-image-card,.project-image-card:first-child,.project-image-card:nth-child(2),.project-image-card:nth-child(3){aspect-ratio:auto;border-radius:18px;width:100%;min-height:220px;position:static;transform:none}}.projects-typewriter-title{z-index:30;min-height:11.5rem;margin-bottom:1.5rem;position:relative;overflow:visible}.project-title-line{letter-spacing:0;color:#ff9fc8;z-index:30;justify-content:flex-start;font-family:Dokdo,cursive;font-size:clamp(5.8rem,7vw,8rem);line-height:.85;position:relative;overflow:visible}.project-title-line .hover-char{transform-origin:bottom}.project-title-line .hover-char:hover{transform:scale(1.28)translateY(-8px)}.project-title-line .blinking-cursor{font-size:inherit;color:#ff9fc8;margin-left:.2rem}.projects-text{z-index:200;pointer-events:auto;position:relative;overflow:visible;transform:translate(-3vw)}.projects-cards-wrapper{z-index:10;transform:translate(-18vw)}.project-title-line .hover-char{z-index:201;pointer-events:auto;will-change:transform;position:relative}.project-title-line .hover-char:hover{z-index:300;transform:scale(1.42)translateY(-10px)}.ui-section{z-index:10;box-sizing:border-box;color:#fff;background:#000;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:118vh;margin-top:0;padding:clamp(6rem,10vh,8rem) 0 clamp(5rem,8vh,7rem);font-family:Gelasio,serif;display:flex;position:relative}.ui-text{z-index:3;color:#fff;width:min(88vw,1680px);margin:0 auto clamp(2.5rem,5vh,4rem);font-family:Gelasio,serif;position:relative}.ui-typewriter-title{max-width:980px;min-height:clamp(9rem,17vw,18rem);margin:0 0 1.25rem;overflow:visible}.ui-title-line{color:#ff9fc8;letter-spacing:0;text-transform:uppercase;justify-content:flex-start;font-family:Dokdo,cursive;font-size:clamp(5.4rem,8vw,9rem);font-weight:400;line-height:.88;overflow:visible}.ui-title-line .blinking-cursor{font-size:inherit;color:#ff9fc8;margin-left:.2rem}.ui-title-line .hover-char{transform-origin:bottom}.ui-title-line .hover-char:hover{transform:scale(1.32)translateY(-8px)}.ui-text p{color:#d7d0d4;max-width:960px;margin:0;font-size:clamp(1rem,1.25vw,1.35rem);font-weight:600;line-height:1.55}.ui-linear-shell{width:100%;height:clamp(560px,70vh,800px);box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 auto;position:relative;overflow:visible}.ui-linear-shell .linear-gallery-item{opacity:0;will-change:transform, opacity;transition:opacity .72s,transform 1.05s cubic-bezier(.16,1,.3,1);transform:translateY(170px)scale(.98)}.ui-linear-shell-visible .linear-gallery-item{opacity:1;transform:translateY(0)scale(1)}.ui-linear-shell-visible .linear-gallery-item:hover{z-index:20;transform:translateY(0)scale(1.12)}.ui-linear-shell-visible .linear-gallery-item:nth-child(2){transition-delay:80ms}.ui-linear-shell-visible .linear-gallery-item:nth-child(3){transition-delay:.16s}.ui-linear-shell-visible .linear-gallery-item:nth-child(4){transition-delay:.24s}.ui-linear-shell-visible .linear-gallery-item:nth-child(5){transition-delay:.32s}.ui-linear-shell-visible .linear-gallery-item:nth-child(n+6){transition-delay:.4s}.projects-section{z-index:20;min-height:clamp(980px,128vh,1280px);padding-top:clamp(4rem,7vh,6rem);padding-bottom:clamp(13rem,24vh,20rem);overflow:visible}.ui-section{z-index:5;margin-top:clamp(3rem,8vh,7rem)}@media (width<=760px){.ui-section{min-height:82vh;margin-top:0;padding:5rem 0}.ui-linear-shell{width:100%;height:58vh}}.thanks-section{z-index:8;box-sizing:border-box;background:#000;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:clamp(5rem,12vh,9rem) 6vw;display:flex;position:relative;overflow:hidden}.shiny-thanks{color:#ffffff6b;letter-spacing:0;text-align:center;white-space:nowrap;background:linear-gradient(110deg,#ffffff5c 0% 38%,#ff9fc8 48%,#fff 52%,#ff9fc8 58%,#ffffff5c 68% 100%) 0 0/240% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Gelasio,serif;font-size:clamp(2.3rem,6vw,6.3rem);font-weight:700;line-height:1.05;animation:3.2s linear infinite shinyThanks}.plain-blinking-cursor{color:#ff9fc8;font-size:inherit;-webkit-text-fill-color:#ff9fc8;margin-left:.2rem;font-weight:300;animation:1s step-end infinite blink}@keyframes shinyThanks{0%{background-position:140% 0}to{background-position:-140% 0}}.site-footer{z-index:8;box-sizing:border-box;color:#ffffff85;text-align:center;background:#000;width:100%;padding:1.5rem 6vw 2rem;font-family:Gelasio,serif;font-size:.95rem;position:relative}@media (prefers-reduced-motion:reduce){.shiny-thanks{background-position:50% 0;animation:none}}
