@font-face{font-family:Bagel Fat One;src:url(/fonts/bagel-fat-one-latin.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color-scheme:light;--ui-dark: #241d2f;--ui-lavender: #ad93d3;--ui-black: #000000;font-family:Bagel Fat One,Trebuchet MS,sans-serif;background:var(--ui-lavender);color:var(--ui-dark)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}.app-shell{position:relative;width:100vw;height:100vh;overflow:hidden;touch-action:auto}canvas{display:block}.brand-header{position:fixed;top:max(1rem,env(safe-area-inset-top));left:50%;z-index:220;pointer-events:none;color:var(--ui-lavender);font-family:Bagel Fat One,Trebuchet MS,sans-serif;font-size:clamp(1.25rem,3vw,2.4rem);font-weight:400;line-height:1;letter-spacing:.055em;text-align:center;text-shadow:0 3px 0 var(--ui-black),0 7px 18px rgba(0,0,0,.28);transform:translate(-50%)}.brand-header button{padding:0;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:transparent;border:0;text-shadow:inherit}.brand-header button:hover,.brand-header button:focus-visible{color:var(--ui-black);outline:3px solid var(--ui-dark);outline-offset:.35rem}.brand-header:has(button){pointer-events:auto}@media(max-width:520px){.brand-header{top:max(.8rem,env(safe-area-inset-top));width:calc(100vw - 2rem);font-size:clamp(1.2rem,7vw,1.75rem)}}.loading-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;color:var(--ui-dark);background:radial-gradient(circle at 20% 18%,var(--ui-lavender) 0,transparent 34%),radial-gradient(circle at 82% 78%,var(--ui-lavender) 0,transparent 36%),linear-gradient(135deg,var(--ui-lavender) 0%,var(--ui-lavender) 52%,var(--ui-lavender) 100%);opacity:1;transition:opacity .9s cubic-bezier(.77,0,.175,1)}.loading-screen:before{position:absolute;inset:0;content:"";opacity:.18;background-image:linear-gradient(rgba(36,29,47,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(36,29,47,.18) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 72%);mask-image:radial-gradient(circle at center,black,transparent 72%)}.loading-screen--leaving{pointer-events:none;opacity:0}.loading-screen__content{position:relative;display:grid;width:min(78vw,520px);justify-items:center;text-align:center}.loading-screen__label{margin:0 0 .75rem;font-family:Bagel Fat One,Trebuchet MS,sans-serif;font-size:clamp(1.1rem,2.3vw,1.7rem);font-style:normal;letter-spacing:.04em}.loading-screen__progress{display:flex;align-items:flex-start;font-family:Bagel Fat One,Trebuchet MS,sans-serif;font-size:clamp(5.5rem,17vw,11rem);font-variant-numeric:tabular-nums;line-height:.86;letter-spacing:-.035em}.loading-screen__progress small{margin:.2em 0 0 .2em;font-family:Bagel Fat One,Trebuchet MS,sans-serif;font-size:.14em;letter-spacing:0}.loading-screen__track{width:100%;height:1px;margin-top:2.2rem;overflow:hidden;background:#241d2f38}.loading-screen__track span{display:block;width:100%;height:100%;background:var(--ui-dark);transform:scaleX(var(--loading-progress));transform-origin:left center;transition:transform .18s linear}.loading-screen__status{min-height:1.4em;margin:1rem 0 0;font-size:clamp(.72rem,1.3vw,.9rem);letter-spacing:.12em;line-height:1.5;text-transform:uppercase}@media(prefers-reduced-motion:reduce){.loading-screen,.loading-screen__track span{transition:none}}.scene-stage{position:absolute;inset:0;filter:blur(14px) saturate(.82);transform:scale(1.04);transition:filter .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.scene-stage--entered{filter:none;transform:scale(1)}.welcome-screen{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:#241d2f47;opacity:1;transition:opacity .65s cubic-bezier(.22,1,.36,1)}.welcome-screen--leaving{pointer-events:none;opacity:0}.welcome-card{position:relative;width:min(92vw,650px);padding:clamp(2rem,6vw,4.6rem);overflow:hidden;color:var(--ui-black);text-align:center;background:radial-gradient(circle at 12% 18%,var(--ui-lavender) 0 9px,transparent 10px),radial-gradient(circle at 88% 78%,var(--ui-dark) 0 12px,transparent 13px),var(--ui-lavender);border:4px solid var(--ui-black);border-radius:42px 18px 38px 22px;box-shadow:12px 12px 0 var(--ui-lavender),20px 20px #000000eb;animation:welcome-card-arrive .7s cubic-bezier(.16,1,.3,1) both}.welcome-card:before{position:absolute;inset:12px;pointer-events:none;content:"";border:2px dashed rgba(0,0,0,.28);border-radius:30px 12px 28px 16px}.welcome-card__eyebrow{position:relative;display:inline-block;margin-bottom:1rem;color:var(--ui-dark);font-size:clamp(.75rem,1.5vw,.95rem);letter-spacing:.12em;text-transform:uppercase}.welcome-card h1{position:relative;max-width:11ch;margin:0 auto 1.25rem;font-size:clamp(2.2rem,6.4vw,4.6rem);font-weight:400;line-height:.96;letter-spacing:-.025em}.welcome-card__instruction{position:relative;max-width:42ch;margin:0 auto 1.8rem;font-family:Trebuchet MS,sans-serif;font-size:clamp(.95rem,1.7vw,1.1rem);font-weight:700;line-height:1.55}.welcome-card__instruction--touch{display:none}.welcome-card button{position:relative;min-width:170px;padding:.9rem 1.5rem 1rem;color:var(--ui-lavender);font:inherit;font-size:1.05rem;letter-spacing:.035em;cursor:pointer;background:var(--ui-dark);border:3px solid var(--ui-black);border-radius:999px;box-shadow:0 6px 0 var(--ui-black);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.welcome-card button:hover,.welcome-card button:focus-visible{background:var(--ui-black);outline:3px solid var(--ui-lavender);outline-offset:3px;transform:translateY(-2px);box-shadow:0 8px 0 var(--ui-black)}.welcome-card button:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ui-black)}@keyframes welcome-card-arrive{0%{opacity:0;transform:translateY(28px) rotate(-1.5deg) scale(.94)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@media(max-width:1024px),(pointer:coarse){.welcome-card__instruction--desktop{display:none}.welcome-card__instruction--touch{display:block}}@media(max-width:520px){.welcome-card{padding:2.4rem 1.5rem 2.6rem;border-radius:30px 14px 28px 18px;box-shadow:7px 7px 0 var(--ui-lavender),12px 12px #000000eb}.welcome-card h1{font-size:clamp(2.1rem,12vw,3.2rem)}}@media(prefers-reduced-motion:reduce){.scene-stage,.welcome-screen,.welcome-card{transition:none;animation:none}}.eye-marker-anchor{pointer-events:auto}.eye-marker{width:clamp(50px,5vw,68px);color:var(--ui-black);filter:drop-shadow(0 5px 0 rgba(0,0,0,.24))}.eye-marker__link{display:flex;flex-direction:column;align-items:center;gap:6px;color:inherit;text-decoration:none;cursor:pointer;opacity:1;transform-origin:center;transition:opacity .18s ease,transform .18s ease}.eye-marker__link:hover,.eye-marker__link:focus-visible{opacity:.9;transform:scale(1.04)}.eye-marker__link:focus-visible{outline:3px solid var(--ui-lavender);outline-offset:4px;border-radius:18px}.eye-marker__label{padding:.22rem .52rem .28rem;font-size:clamp(.72rem,1.2vw,.9rem);line-height:1;white-space:nowrap;background:var(--ui-lavender);border:2px solid currentColor;border-radius:999px}.eye-marker svg{display:block;width:100%;height:auto;overflow:visible}@media(max-width:1024px),(pointer:coarse){.eye-marker{width:clamp(48px,8vw,60px)}.eye-marker__link{gap:5px}.eye-marker__label{padding:.26rem .56rem .3rem;font-size:clamp(.78rem,1.8vw,.88rem)}}@media(max-width:520px){.eye-marker{width:clamp(46px,13vw,56px)}.eye-marker__label{font-size:clamp(.76rem,3.4vw,.84rem)}}@media(prefers-reduced-motion:reduce){.eye-marker__link{transition:none}}.vending-hint-anchor{pointer-events:auto}.vending-hint{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:76px;padding:.42rem .72rem .35rem;color:var(--ui-black);font:inherit;font-size:clamp(.7rem,1.1vw,.86rem);line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:2px solid var(--ui-black);border-radius:14px;box-shadow:4px 4px 0 var(--ui-lavender);transition:transform .18s ease,box-shadow .18s ease}.vending-hint:hover,.vending-hint:focus-visible{outline:3px solid var(--ui-lavender);outline-offset:3px;transform:translateY(-2px);box-shadow:5px 6px 0 var(--ui-lavender)}.vending-hint svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.fortune-modal{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:#241d2f9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fortune-card{position:relative;width:min(92vw,540px);padding:clamp(1.5rem,5vw,2.6rem);color:var(--ui-black);text-align:center;background:#fff;border:3px solid var(--ui-black);border-radius:clamp(24px,4vw,34px);box-shadow:12px 12px 0 var(--ui-lavender)}.fortune-card__close{position:absolute;top:.8rem;right:.8rem;display:grid;width:42px;height:42px;padding:0;place-items:center;color:var(--ui-black);font:400 2rem/1 sans-serif;cursor:pointer;background:#fff;border:2px solid var(--ui-black);border-radius:50%}.fortune-card__close:hover,.fortune-card__close:focus-visible{color:#fff;background:var(--ui-lavender);outline:3px solid var(--ui-black);outline-offset:2px}.fortune-card__eyebrow{margin:0 0 .25rem;color:var(--ui-dark);font-size:clamp(.76rem,2vw,.95rem);letter-spacing:.08em;text-transform:uppercase}.fortune-card h2{margin:0;font-size:clamp(2rem,8vw,3.6rem);line-height:1}.fortune-cookie{position:relative;width:min(78%,300px);margin:.8rem auto -.4rem}.fortune-cookie svg{position:relative;z-index:2;display:block;width:100%;overflow:visible}.fortune-cookie__half{transform-box:fill-box;transform-origin:center}.fortune-cookie__half path:first-child{fill:var(--ui-lavender);stroke:var(--ui-black);stroke-width:5;stroke-linejoin:round}.fortune-cookie__half path:last-child{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;opacity:.72}.fortune-cookie__paper{transform-box:fill-box;transform-origin:bottom center}.fortune-cookie__paper rect{fill:#fff;stroke:var(--ui-black);stroke-width:4}.fortune-cookie__paper path{fill:none;stroke:var(--ui-lavender);stroke-width:4;stroke-linecap:round}.fortune-card__message{position:relative;z-index:3;width:min(100%,430px);margin:0 auto;padding:1rem 1.15rem;color:var(--ui-black);font-family:Trebuchet MS,sans-serif;font-size:clamp(1rem,3vw,1.2rem);font-weight:700;line-height:1.45;background:#fff;border:2px solid var(--ui-black);border-radius:14px;box-shadow:5px 5px 0 var(--ui-lavender);transform-origin:top center}.fortune-card__message span{display:block}@media(max-width:520px){.vending-hint{min-width:68px;padding:.38rem .58rem .3rem;font-size:.72rem}.vending-hint svg{width:16px;height:16px}.fortune-card{padding:1.5rem 1.1rem 1.35rem;box-shadow:7px 7px 0 var(--ui-lavender)}.fortune-card__close{width:38px;height:38px}}@media(prefers-reduced-motion:reduce){.vending-hint{transition:none}}.bottom-navigation{position:fixed;bottom:max(1.1rem,env(safe-area-inset-bottom));left:50%;z-index:220;width:min(92vw,390px);min-height:72px;pointer-events:auto;background:#ad93d3f0;border:2px solid rgba(0,0,0,.18);border-radius:26px;box-shadow:0 12px 35px #00000038,0 3px #00000024;transform:translate(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(max-width:520px){.bottom-navigation{bottom:max(.75rem,env(safe-area-inset-bottom));width:calc(100vw - 1.5rem);min-height:66px;border-radius:22px}}.bottom-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;padding:.45rem}.navigation-button{min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.35rem .25rem;color:var(--ui-dark);font:inherit;font-size:.72rem;line-height:1;cursor:pointer;background:transparent;border:0;border-radius:17px;transition:color .16s ease,background .16s ease,transform .16s ease}.navigation-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.navigation-button:hover,.navigation-button:focus-visible{color:var(--ui-black);background:var(--ui-lavender);outline:2px solid var(--ui-lavender);outline-offset:-2px;transform:translateY(-2px)}.navigation-button--active,.navigation-button:active{color:var(--ui-lavender);background:var(--ui-dark);transform:translateY(1px) scale(.98)}.global-ui-bottom{position:fixed;bottom:max(1.1rem,env(safe-area-inset-bottom));left:50%;z-index:220;width:min(92vw,390px);pointer-events:none;transform:translate(-50%)}.global-ui-bottom .bottom-navigation{position:relative;inset:auto;width:100%;transform:none}.navigation-popup{position:absolute;bottom:calc(100% + .8rem);left:50%;width:360px;max-width:calc(100vw - 1.5rem);max-height:min(480px,calc(100vh - 9rem));overflow:hidden;pointer-events:auto;color:var(--ui-black);background:#ad93d3f7;border:2px solid rgba(0,0,0,.18);border-radius:28px;box-shadow:0 18px 50px #00000047;transform-origin:bottom center;transform:translate(-50%)}.navigation-popup__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1rem .8rem 1.2rem;border-bottom:1px solid rgba(0,0,0,.12)}.navigation-popup__header h2{margin:0;font-size:1.45rem;font-weight:400}.navigation-popup__header button{width:38px;height:38px;color:var(--ui-black);font:inherit;font-size:1.55rem;line-height:1;cursor:pointer;background:var(--ui-lavender);border:0;border-radius:50%}.navigation-popup__content{padding:1.2rem;font-family:Trebuchet MS,sans-serif;font-weight:700;line-height:1.5}@media(max-width:520px){.global-ui-bottom{bottom:max(.75rem,env(safe-area-inset-bottom));width:calc(100vw - 1.5rem)}.navigation-popup{width:100%;max-height:calc(100vh - 8.5rem)}}.scene-stage{touch-action:none}.navigation-popup{display:flex;flex-direction:column}.navigation-popup__content{min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.accordion-list{display:grid;gap:.65rem}.accordion-item{overflow:hidden;background:var(--ui-lavender);border:1px solid rgba(0,0,0,.14);border-radius:16px}.accordion-item h3{margin:0}.accordion-item h3 button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .9rem;color:var(--ui-black);font:inherit;font-size:.92rem;text-align:left;cursor:pointer;background:transparent;border:0}.accordion-item h3 button>span:last-child{font-size:1.25rem;transition:transform .18s ease}.accordion-item--open h3 button>span:last-child{transform:rotate(45deg)}.accordion-item__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.accordion-item--open .accordion-item__body{grid-template-rows:1fr}.accordion-item__body p{min-height:0;margin:0;overflow:hidden;padding:0 .9rem;color:var(--ui-dark);font-size:.88rem;line-height:1.55}.accordion-item--open .accordion-item__body p{padding-bottom:.95rem}.contact-panel{text-align:center}.contact-panel__brand{margin:0;color:var(--ui-dark);font-family:Bagel Fat One,Trebuchet MS,sans-serif;font-size:1.4rem;letter-spacing:.045em}.contact-panel__handle{margin:.25rem 0 1rem;color:var(--ui-dark);font-size:.85rem}.contact-panel__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.contact-panel__links a{display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.65rem .75rem;color:var(--ui-black);text-decoration:none;background:var(--ui-lavender);border-radius:14px;transition:transform .16s ease,background .16s ease}.contact-panel__links a:hover,.contact-panel__links a:focus-visible{background:var(--ui-lavender);outline:2px solid var(--ui-dark);transform:translateY(-2px)}.contact-panel__links svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.navigation-button--muted{color:var(--ui-dark);background:var(--ui-lavender)}body{min-height:100dvh}.app-shell{height:100dvh}.loading-screen,.welcome-screen{min-height:100dvh}.navigation-popup{max-height:min(480px,calc(100dvh - 9rem - env(safe-area-inset-top)))}@media(max-width:1024px){.global-ui-bottom{width:min(390px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 1.5rem))}}@media(max-width:520px){.navigation-popup{max-height:calc(100dvh - 8.5rem - env(safe-area-inset-top))}}.projects-experience{position:fixed;inset:0;z-index:200;overflow:hidden;color:var(--ui-black);background:transparent}.projects-shutter{position:absolute;left:0;z-index:3;width:100%;height:50%;pointer-events:none;background:linear-gradient(90deg,rgba(173,147,211,.16) 1px,transparent 1px),var(--ui-lavender);background-size:48px 100%}.projects-shutter--top{top:0;border-bottom:3px solid var(--ui-black)}.projects-shutter--bottom{bottom:0;border-top:3px solid var(--ui-black)}.projects-scroll{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;visibility:hidden;opacity:0;background:var(--ui-lavender);scrollbar-color:var(--ui-lavender) var(--ui-lavender);scrollbar-width:thin}.projects-scroll:focus{outline:none}.projects-scroll-helper{position:fixed;top:clamp(5rem,12vh,7.5rem);left:50%;z-index:2;margin:0;padding:.55rem .9rem .65rem;color:var(--ui-dark);font-size:clamp(.8rem,1.5vw,1rem);letter-spacing:.08em;pointer-events:none;background:var(--ui-lavender);border:2px solid var(--ui-black);border-radius:999px;transform:translate(-50%)}.projects-horizontal{position:relative;height:5000px}.projects-horizontal__viewport{position:sticky;top:0;display:flex;width:100%;height:100vh;height:100dvh;align-items:center;overflow:hidden}.projects-horizontal__track{display:flex;width:max-content;align-items:center;gap:clamp(14rem,24vw,30rem);padding:0 20vw 0 100vw;will-change:transform}.projects-horizontal__text{display:flex;width:max-content;margin:0;white-space:nowrap}.projects-horizontal .heading-xl{font-size:clamp(3rem,9vw,10rem);font-weight:400;line-height:1.02;letter-spacing:-.025em}.projects-horizontal__cta{display:grid;width:min(72vw,520px);flex:0 0 auto;justify-items:start;gap:1.2rem;padding:clamp(1.6rem,4vw,3rem);background:var(--ui-lavender);border:4px solid var(--ui-black);border-radius:38px 18px 34px 20px;box-shadow:12px 12px 0 var(--ui-lavender)}.projects-horizontal__cta p{margin:0;font-size:clamp(1.2rem,2.5vw,2rem);line-height:1.15}.projects-horizontal__cta button{min-height:54px;padding:.8rem 1.35rem;color:var(--ui-lavender);font:inherit;font-size:clamp(1rem,1.6vw,1.25rem);cursor:pointer;background:var(--ui-black);border:0;border-radius:999px;transition:transform .18s ease,background .18s ease}.projects-horizontal__cta button:hover,.projects-horizontal__cta button:focus-visible{background:var(--ui-dark);outline:3px solid var(--ui-lavender);outline-offset:4px;transform:translateY(-3px) scale(1.02)}@media(max-width:720px){.projects-horizontal{height:3800px}.projects-horizontal__track{gap:7rem;padding-right:16vw}.projects-horizontal .heading-xl{font-size:clamp(3.2rem,15vw,6rem)}.projects-horizontal__cta{width:78vw;border-width:3px;box-shadow:8px 8px 0 var(--ui-lavender)}}@media(prefers-reduced-motion:reduce){.projects-horizontal__cta button{transition:none}}:root{--ui-white: #ffffff;color:var(--ui-black);background:var(--ui-white)}.loading-screen{color:var(--ui-dark);background:radial-gradient(circle at 20% 18%,rgba(173,147,211,.3),transparent 34%),radial-gradient(circle at 82% 78%,rgba(173,147,211,.2),transparent 36%),var(--ui-white)}.brand-header{color:var(--ui-white);text-shadow:0 2px 0 var(--ui-black),0 5px 14px rgba(0,0,0,.24)}body:has(.projects-experience) .brand-header{color:var(--ui-black);text-shadow:0 2px 0 var(--ui-lavender)}.welcome-screen{background:#241d2f33}.welcome-card,.bottom-navigation,.navigation-popup,.accordion-item,.contact-panel__links a,.projects-scroll,.projects-horizontal__cta,.projects-scroll-helper{color:var(--ui-black);background:var(--ui-white)}.welcome-card{border-color:var(--ui-black);box-shadow:12px 12px 0 var(--ui-lavender),20px 20px #000000eb}.welcome-card:before{border-color:#ad93d3b8}.welcome-card__eyebrow,.contact-panel__brand,.navigation-button--muted,.contact-panel__handle,.accordion-item__body p{color:var(--ui-dark)}.welcome-card button,.projects-horizontal__cta button{color:var(--ui-white);background:var(--ui-black);border-color:var(--ui-black);box-shadow:0 6px 0 var(--ui-lavender)}.welcome-card button:hover,.welcome-card button:focus-visible,.projects-horizontal__cta button:hover,.projects-horizontal__cta button:focus-visible{color:var(--ui-black);background:var(--ui-lavender);outline-color:var(--ui-dark)}.bottom-navigation,.navigation-popup{border-color:#ad93d38c;box-shadow:0 12px 35px #00000029,0 3px 0 var(--ui-lavender)}.navigation-button{color:var(--ui-black)}.navigation-button:hover,.navigation-button:focus-visible,.navigation-button--active,.navigation-button:active,.navigation-button--muted{color:var(--ui-black);background:var(--ui-lavender)}.navigation-popup__header{border-color:#ad93d38c}.navigation-popup__header button{color:var(--ui-black);background:var(--ui-white);outline:2px solid var(--ui-lavender)}.accordion-item{border-color:#ad93d38c}.accordion-item h3 button,.contact-panel__links a{color:var(--ui-black)}.contact-panel__links a:hover,.contact-panel__links a:focus-visible{color:var(--ui-black);background:var(--ui-lavender);outline-color:var(--ui-dark)}.eye-marker{color:var(--ui-black);filter:drop-shadow(0 5px 0 rgba(173,147,211,.65))}.eye-marker__label{color:var(--ui-black);background:var(--ui-white);border-color:var(--ui-black)}.projects-experience,.projects-scroll{color:var(--ui-black);background:var(--ui-white)}.projects-horizontal__text{color:var(--ui-black)}.projects-scroll{scrollbar-color:var(--ui-lavender) var(--ui-white)}.projects-horizontal__cta{border-color:var(--ui-black);box-shadow:12px 12px 0 var(--ui-lavender)}.projects-scroll-helper{color:var(--ui-dark);border-color:var(--ui-lavender)}.projects-horizontal__message,.projects-horizontal__segment{display:flex;width:max-content;align-items:center}.projects-horizontal__message{gap:clamp(9rem,14vw,18rem)}.projects-horizontal__segment{gap:clamp(7rem,10vw,13rem)}.projects-horizontal__phrase{display:flex;width:max-content;margin:0;color:var(--ui-black);white-space:nowrap}.projects-geometry{position:relative;display:block;width:clamp(7rem,10vw,11rem);flex:0 0 auto;aspect-ratio:1;will-change:transform}.projects-geometry--ring{border:clamp(.8rem,1.4vw,1.4rem) solid var(--ui-lavender);border-radius:50%;box-shadow:inset 0 0 0 4px var(--ui-black)}.projects-geometry--diamond{background:var(--ui-black);border:clamp(.7rem,1.1vw,1.1rem) solid var(--ui-lavender);border-radius:18%;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.projects-geometry--orbit{border:4px solid var(--ui-black);border-radius:50%}.projects-geometry--orbit:before,.projects-geometry--orbit:after{position:absolute;inset:14%;content:"";border:clamp(.55rem,1vw,1rem) solid var(--ui-lavender);border-radius:50%}.projects-geometry--orbit:after{inset:42%;background:var(--ui-black);border:0}.projects-geometry--cross:before,.projects-geometry--cross:after{position:absolute;top:42%;left:0;width:100%;height:18%;content:"";background:var(--ui-lavender);border:3px solid var(--ui-black);border-radius:999px}.projects-geometry--cross:after{transform:rotate(90deg)}@media(max-width:720px){.projects-horizontal__message{gap:7rem}.projects-horizontal__segment{gap:5rem}.projects-geometry{width:clamp(5.5rem,24vw,7rem)}}.projects-back{position:fixed;top:max(1rem,env(safe-area-inset-top));left:max(1rem,env(safe-area-inset-left));z-index:20;display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.45rem;padding:.55rem .9rem .62rem;color:var(--ui-black);font:inherit;font-size:.92rem;cursor:pointer;background:var(--ui-white);border:2px solid var(--ui-black);border-radius:999px;box-shadow:4px 4px 0 var(--ui-lavender);transition:color .16s ease,background .16s ease,transform .16s ease}.projects-back:hover,.projects-back:focus-visible{color:var(--ui-black);background:var(--ui-lavender);outline:3px solid var(--ui-dark);outline-offset:3px;transform:translateY(-2px)}.projects-back svg,.project-panel__copy a svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.projects-showcase{position:relative;background:var(--ui-white)}.project-panel{position:sticky;top:0;display:grid;min-height:100vh;min-height:100dvh;place-items:center;overflow:hidden;padding:clamp(6.5rem,10vw,9rem) clamp(1.2rem,5vw,5rem) clamp(7rem,11vw,9rem);isolation:isolate}.project-panel--white{color:var(--ui-black);background:var(--ui-white)}.project-panel--lavender{color:var(--ui-black);background:var(--ui-lavender)}.project-panel__inner{display:grid;width:min(1180px,100%);align-items:center;gap:clamp(2rem,6vw,6rem);grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr)}.project-panel__copy{position:relative;z-index:1}.project-panel__number{display:inline-block;margin-bottom:1rem;color:var(--ui-lavender);font-size:clamp(.78rem,1.3vw,.95rem);letter-spacing:.12em;text-transform:uppercase}.project-panel--lavender .project-panel__number{color:var(--ui-dark)}.project-panel__copy h2{max-width:10ch;margin:0;font-size:clamp(2.7rem,6vw,6.4rem);font-weight:400;line-height:.92;letter-spacing:-.035em}.project-panel__copy p{max-width:38rem;margin:1.4rem 0 1.8rem;font-family:Trebuchet MS,sans-serif;font-size:clamp(.98rem,1.5vw,1.15rem);font-weight:700;line-height:1.6}.project-panel__copy a{display:inline-flex;min-height:52px;align-items:center;gap:.6rem;padding:.75rem 1.1rem .82rem 1.25rem;color:var(--ui-white);text-decoration:none;background:var(--ui-black);border:2px solid currentColor;border-radius:999px;box-shadow:5px 5px 0 var(--ui-lavender);transition:color .16s ease,background .16s ease,transform .16s ease}.project-panel__copy a:hover,.project-panel__copy a:focus-visible{color:var(--ui-black);background:var(--ui-lavender);outline:3px solid currentColor;outline-offset:3px;transform:translateY(-2px)}.project-panel__media{position:relative;margin:0;overflow:hidden;background:var(--ui-white);border:4px solid currentColor;border-radius:clamp(18px,3vw,36px);box-shadow:12px 12px 0 var(--ui-lavender)}.project-panel__media img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:contain;background:var(--ui-white)}@media(max-width:760px){.projects-back{top:max(.75rem,env(safe-area-inset-top));left:max(.75rem,env(safe-area-inset-left));width:44px;padding:0}.projects-back span{display:none}.project-panel{padding:6rem 1.1rem 7rem}.project-panel__inner{gap:1.6rem;grid-template-columns:1fr}.project-panel__copy h2{max-width:13ch;font-size:clamp(2.45rem,12vw,4.4rem)}.project-panel__copy p{margin:1rem 0 1.25rem}.project-panel__media{border-width:3px;box-shadow:7px 7px 0 var(--ui-lavender)}}
