*{margin:0;padding:0;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::selection{background:#0099ff26;color:#09f}::-moz-selection{background:#0099ff26;color:#09f}html,body{width:100%;height:100%;overflow:hidden;position:fixed;background:#0e0e0e;font-family:Inter,sans-serif}.viewport{position:fixed;inset:0;overflow:hidden;touch-action:none;background:#0e0e0e;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.viewport.is-dragging{cursor:grabbing}.grid{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform;contain:layout style}.tile{position:absolute;opacity:0;cursor:pointer;color:inherit;text-decoration:none}.tile:focus-visible{outline:2px solid #81bdf2;outline-offset:4px}.tile.is-in{animation:tile-in .7s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d, 0ms)}@keyframes tile-in{0%{opacity:0;transform:translateY(18px) scale(.9)}to{opacity:1;transform:none}}.tile img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none;transition:transform .45s cubic-bezier(.16,1,.3,1)}.tile-title{position:absolute;left:50%;bottom:-6px;transform:translate(-50%,6px);width:max-content;max-width:120%;font-size:12px;color:#bbb;text-align:center;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}@media(hover:hover){.viewport:not(.is-dragging) .tile:hover img{transform:scale(1.06)}.viewport:not(.is-dragging) .tile:hover .tile-title{opacity:1;transform:translate(-50%)}}.grid-loader{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#777;font-size:12px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;transition:opacity .4s ease}.grid-loader.is-hidden{opacity:0}.grid-loader-ring{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.12);border-top-color:#008fef;animation:spin .8s linear infinite}.grid-loader.is-hidden .grid-loader-ring{animation:none}@keyframes spin{to{transform:rotate(360deg)}}.grid-hint{position:fixed;left:50%;bottom:24px;transform:translate(-50%);padding:8px 14px;border-radius:999px;background:#141414b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#999;font-size:12px;pointer-events:none;animation:hint 4.5s ease 1.2s both}@keyframes hint{0%{opacity:0;transform:translate(-50%,8px)}12%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}.tile.is-static{animation:none;opacity:1}@media(prefers-reduced-motion:reduce){.tile.is-in{animation:none;opacity:1}}.profile-pic{border-radius:10px;overflow:hidden;width:90px;height:90px;margin-bottom:10px}.home-art-link{position:absolute;top:50%;right:5vw;width:min(52vw,700px);aspect-ratio:1;transform:translateY(-50%);cursor:pointer}.home-art-link:focus-visible{outline:2px solid #81bdf2;outline-offset:8px}.home-art-link picture,.home-art{display:block;width:100%;height:100%}.home-art{object-fit:contain;opacity:0;transition:opacity .6s ease}.home-art.is-ready{opacity:1}.profile-pic img{width:100%;height:100%;object-fit:cover}.home-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;color:#fff;text-align:left;padding:0}.home-container{position:absolute;top:45%;left:8vw;z-index:1;transform:translateY(-50%);width:min(42vw,540px)}.home-content .profile-pic{display:none}.home-content h1{font-size:clamp(48px,6vw,88px);line-height:.95;letter-spacing:-.065em}.home-content p{margin-top:15px;color:#b4bdc8;font-size:17px}.home-content .cta{margin:32px 0 0;padding:12px 18px}.home-contact{margin-top:14px;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.35);color:#e1e7ed;font-size:13px;text-decoration:none;transition:color .2s ease,border-color .2s ease}.home-contact:hover{color:#fff;border-color:#fff}.home-contact span{color:#81bdf2}p{font-size:13px;color:#888}.cta{color:#fff;text-decoration:none;font-size:15px;padding:5px 10px;background-color:#008fef;margin:20px 0;border-radius:5px;font-weight:500;transition:all .3s ease}.cta:hover{background-color:#07c}.para{line-height:18px;text-align:center}.position-1{position:absolute;bottom:46px;left:8vw;width:min(38vw,470px);text-align:left;font-size:14px;line-height:1.5}.seo-shell{position:fixed;inset:0;overflow-y:auto;padding:clamp(88px,10vh,120px) clamp(24px,7vw,100px);background:#0e0e0e;color:#f7f7f7}.seo-shell h1{max-width:740px;margin:32px 0 18px;font-size:clamp(34px,5vw,68px);line-height:1.04;letter-spacing:-.055em}.seo-shell p{max-width:560px;margin-bottom:22px;color:#aeb4bb;font-size:16px;line-height:1.55}.seo-shell a{color:#f2f4f6;text-decoration:none}.seo-home-link,.seo-contact{border-bottom:1px solid #81bdf2;padding-bottom:4px}.seo-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 36px;max-width:900px;margin:36px 0;list-style:none}.seo-project-list a{display:flex;gap:12px;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:12px}.seo-project-list span,.seo-number{color:#81bdf2}.seo-project{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);align-items:center;gap:5vw}.seo-project img{width:100%;max-height:72vh;object-fit:contain}.seo-project .seo-project-image--dna{transform:rotate(90deg)}.seo-project-copy nav{display:grid;gap:14px;margin-top:44px;font-size:13px}@media(max-width:700px){.seo-project{display:flex;flex-direction:column-reverse;align-items:flex-start}.seo-project img{max-height:36vh}.seo-project-list{grid-template-columns:1fr}}.name{font-size:30px!important;font-family:Comforter Brush,cursive;cursor:pointer;color:#fff;text-decoration:none;font-weight:400;-webkit-user-select:none;user-select:none;text-shadow:0 0 5px rgb(14,14,14)}.headernav{position:fixed;top:0;left:0;display:flex;justify-content:space-between;align-items:center;width:100vw;padding:10px 40px;z-index:500}.header-actions{display:flex;align-items:center;gap:24px}.header-contact{padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.32);color:#f0f2f4;font-size:13px;font-weight:500;text-decoration:none;transition:border-color .2s ease,color .2s ease}.header-contact:hover{border-color:#fff;color:#fff}.header-contact span{margin-left:5px;color:#81bdf2}.icon-pic{border-radius:50%;border:2px solid #008fef;width:40px;height:40px;overflow:hidden}.icon-pic img{width:100%;height:100%;object-fit:cover}.about-page{position:relative;overflow-y:auto;height:100vh;width:100%;box-sizing:border-box;color:#fff;padding:120px clamp(32px,6vw,96px) 72px;display:grid;grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(40px,6vw,96px);text-align:left}.about-intro{position:sticky;top:120px;min-width:0}.about-intro h1{margin-bottom:10px;font-size:clamp(36px,3.7vw,58px);line-height:1.04;letter-spacing:-.055em}.about-main{min-width:0;padding-top:12px}.about-avatar{width:clamp(140px,18vw,210px);height:clamp(140px,18vw,210px);border-radius:4px;object-fit:cover;margin-bottom:22px}.about-title{color:#008fef;font-size:14px;margin-bottom:30px}.about-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;width:100%;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}.about-stats div{display:flex;flex-direction:column;gap:4px;min-width:0}.about-stats strong{font-size:20px;color:#fff}.about-stats span{font-size:12px;color:#888}.about-bio{max-width:640px;color:#e0e4e8;font-size:clamp(19px,2.15vw,28px);line-height:1.43;text-align:left;margin-bottom:32px}.about-skills{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 20px;max-width:640px;margin-bottom:38px}.about-skills span{border-bottom:1px solid rgba(255,255,255,.22);padding:4px 0;font-size:13px;color:#ccc}.reveal{animation:reveal .7s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d, 0ms)}@keyframes reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.case-studies{width:100%;margin-bottom:32px;text-align:left}.case-studies h2{font-size:14px;font-weight:600;color:#b9bec3;margin-bottom:14px}.case-studies a{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08);color:#ddd;font-size:14px;text-decoration:none;transition:color .2s ease,padding .3s cubic-bezier(.16,1,.3,1)}.case-studies a:hover{color:#008fef;padding-left:6px}@media(prefers-reduced-motion:reduce){.reveal{animation:none}}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start;margin-bottom:24px}@media(max-width:900px){.about-page{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:96px 24px 60px}.about-intro{position:static}.about-intro h1{font-size:34px}.about-avatar{width:100px;height:100px}.about-stats{justify-content:space-between}.about-main{padding:0}.about-bio{font-size:16px;line-height:1.55}}.cta-outline{background-color:transparent;border:1px solid #008fef;color:#008fef}.cta-outline:hover{background-color:#008fef1a}.project{--strip-w: 112px;position:fixed;inset:0;display:grid;grid-template-columns:var(--strip-w) minmax(300px,.9fr) minmax(0,1.25fr);color:#fff;overflow:hidden}.project-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.strip{grid-column:1;display:flex;flex-direction:column;align-items:center;gap:14px;padding:50vh 0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;border-right:1px solid rgba(255,255,255,.06);background:linear-gradient(90deg,rgba(255,255,255,.025),transparent);-webkit-mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent);cursor:grab;user-select:none;-webkit-user-select:none;animation:strip-in .7s cubic-bezier(.16,1,.3,1) both}.strip::-webkit-scrollbar{display:none}.strip.is-dragging{cursor:grabbing}.strip.is-dragging .strip-item{pointer-events:none}@keyframes strip-in{0%{opacity:0;transform:translate(-24px)}}.strip-item{--p: 0;flex:none;width:76px;height:76px;padding:6px;border:0;border-radius:16px;background:#ffffff08;cursor:pointer;text-decoration:none;opacity:calc(1 - var(--p) * .6);transform:scale(calc(1 - var(--p) * .28));transition:background .25s ease,box-shadow .35s ease;-webkit-tap-highlight-color:transparent}.strip-item img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:transform .4s cubic-bezier(.16,1,.3,1)}.strip-item:hover{background:#ffffff12}.strip-item:hover img{transform:scale(1.08)}.strip-item.is-active{background:#008fef1f;box-shadow:0 0 0 2px #008fef,0 8px 30px #008fef40}.strip-item:focus-visible{outline:2px solid #ffffff;outline-offset:3px}.strip-preview{position:fixed;z-index:100;width:276px;background:#13151a;box-shadow:0 22px 56px #0000008f;color:#f4f6f8;pointer-events:none;animation:strip-preview-in .19s cubic-bezier(.16,1,.3,1) both}.strip-preview:before{content:"";position:absolute;left:-15px;top:50%;width:15px;height:1px;background:#81bdf2}@keyframes strip-preview-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.strip-preview-visual{position:relative;height:166px;background:radial-gradient(ellipse at 50% 60%,#2a3546 0,#171d27 42%,#101217 80%);overflow:hidden}.strip-preview-visual picture,.strip-preview-visual img{display:block;width:100%;height:100%}.strip-preview-visual img{object-fit:contain}.strip-preview-visual>span{position:absolute;top:10px;right:14px;color:#eaf4ff;font-size:23px;line-height:1}.strip-preview-copy{padding:17px 18px 20px}.strip-preview h3{margin:0;font-size:19px;line-height:1.15;font-weight:600;letter-spacing:-.03em}.strip-preview p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:9px 0 0;color:#aab0b9;font-size:12.5px;line-height:1.45}.strip-preview-copy>span{display:block;margin-top:13px;font-size:11px;color:#89b7df}.project-info{grid-column:2;align-self:center;max-height:100vh;overflow-y:auto;scrollbar-width:none;padding:96px 32px 48px 56px;display:flex;flex-direction:column;align-items:flex-start;text-align:left}.project-back{color:#888;font-size:13px;text-decoration:none;margin-bottom:36px;transition:color .2s ease,transform .3s cubic-bezier(.16,1,.3,1)}.project-back:hover{color:#fff;transform:translate(-4px)}.project-index{font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#008fef;margin-bottom:14px}.project-index span{color:#555}.project-title{font-size:clamp(28px,3.2vw,46px);line-height:1.08;font-weight:600;letter-spacing:-.02em;margin-bottom:18px}.project-desc{font-size:15px;line-height:1.6;color:#9a9a9a;max-width:440px;margin-bottom:28px}.project-meta{display:grid;gap:14px;margin-bottom:28px}.project-meta dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#5f5f5f;margin-bottom:3px}.project-meta dd{font-size:14px;color:#ddd}.project-inquiry{width:100%;max-width:440px;padding-top:20px;margin-bottom:18px;border-top:1px solid rgba(255,255,255,.11)}.project-inquiry p{margin-bottom:10px;color:#a4a9ae;font-size:13px}.project-inquiry a{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid rgba(129,189,242,.75);color:#f7f9fb;font-size:clamp(21px,2.2vw,30px);font-weight:600;letter-spacing:-.045em;line-height:1.15;text-decoration:none;transition:color .2s ease}.project-inquiry a:hover{color:#81bdf2}.project-inquiry a span{color:#81bdf2;font-size:25px;font-weight:400}.project-links{display:grid;width:100%;max-width:440px;margin-bottom:30px}.project-links a{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#aeb3b8;font-size:13px;text-decoration:none;transition:color .2s ease}.project-links a:hover{color:#fff}.project-links a span{color:#81bdf2}.project-pager{display:flex;flex-direction:column;gap:6px;width:100%;max-width:440px;border-top:1px solid rgba(255,255,255,.07);padding-top:16px}.project-pager button{display:flex;gap:10px;align-items:baseline;padding:6px 0;border:0;background:none;color:#666;font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:color .2s ease}.project-pager button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-pager button:hover{color:#fff}.project-stage{--rx: 0deg;--ry: 0deg;grid-column:3;position:relative;display:flex;align-items:center;justify-content:center;padding:80px 48px 40px 0;perspective:1200px}.project-glow{position:absolute;width:min(62vw,78vh);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(0,143,239,.16) 0%,rgba(120,90,255,.07) 38%,transparent 68%);pointer-events:none}.project-hero{position:relative;width:min(100%,78vh);aspect-ratio:1}.project-hero.is-intro{animation:hero-intro .9s cubic-bezier(.16,1,.3,1) both}@keyframes hero-intro{0%{opacity:0;transform:scale(.86) translateY(20px)}}.project-hero-motion{position:absolute;inset:0;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .6s cubic-bezier(.16,1,.3,1)}.project-hero-motion img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.project-hero-motion{transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .65s ease-in}.project-hero.is-live .project-hero-motion{opacity:0}.project-live{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(.985);transition:opacity 1.1s cubic-bezier(.22,1,.36,1) .3s,transform 1.1s cubic-bezier(.22,1,.36,1) .3s;outline:none}.project-hero.is-live .project-live{opacity:1;transform:none}.project-live--dna{transform:translate(5%,20%) rotate(90deg) scale(1.43)}.project-hero.is-live .project-live--dna{transform:translate(5%,20%) rotate(90deg) scale(1.45)}.project-hero-full{opacity:0;transition:opacity .5s ease}.project-hero-full.is-loaded{opacity:1}.project-hero-full--dna{transform:translate(5%,20%) rotate(90deg) scale(1.45)}@media(max-width:900px){.project-hero.is-live .project-hero-motion{opacity:1}.project-live{display:none!important}.project{display:flex;flex-direction:column;overflow-y:auto;padding-bottom:104px}.project-stage{order:-1}body:has(.project) .headernav{padding:10px 20px;background:linear-gradient(#0e0e0e 55%,transparent)}.strip{position:fixed;left:0;right:0;bottom:0;z-index:50;height:96px;flex-direction:row;padding:0 50vw;overflow-x:auto;overflow-y:hidden;border-right:0;border-top:1px solid rgba(255,255,255,.06);background:#0e0e0ed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);animation-name:strip-up}@keyframes strip-up{0%{opacity:0;transform:translateY(24px)}}.strip-item{width:64px;height:64px}.strip-preview{display:none}.project-stage{flex:none;padding:64px 20px 0}.project-glow{width:110vw}.project-hero{width:min(86vw,520px,max(160px,calc(100dvh - 232px)))}.project-hero-full--dna{transform:rotate(90deg) scale(1.5)}.project-info{max-height:none;overflow:visible;padding:28px 24px 24px}.project-back{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){.strip,.project-hero.is-intro,.project-hero-motion,.project-glow,.strip-preview{animation:none}}::view-transition-old(root){animation:vt-out .26s cubic-bezier(.4,0,1,1) both}::view-transition-new(root){animation:vt-in .46s cubic-bezier(.16,1,.3,1) both}@keyframes vt-out{to{opacity:0;transform:scale(.985)}}@keyframes vt-in{0%{opacity:0;transform:scale(1.015)}}::view-transition-group(hero){animation-duration:.72s;animation-timing-function:cubic-bezier(.22,1,.36,1);z-index:10}::view-transition-old(hero),::view-transition-new(hero){height:100%;object-fit:contain;animation-duration:.72s;animation-timing-function:cubic-bezier(.22,1,.36,1)}html[data-vt=swap]::view-transition-group(hero){animation:none}html[data-vt=swap]::view-transition-old(hero){animation:hero-swap-out .32s cubic-bezier(.4,0,1,1) both}html[data-vt=swap]::view-transition-new(hero){animation:hero-swap-in .62s cubic-bezier(.16,1,.3,1) 80ms both}@keyframes hero-swap-out{to{opacity:0;transform:translateY(-6%) scale(.9)}}@keyframes hero-swap-in{0%{opacity:0;transform:translateY(8%) scale(.92)}}html[data-vt=swap]::view-transition-old(root){animation-duration:.2s}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}@media(max-width:600px){.headernav{padding:10px 18px}.header-actions{gap:14px}.header-contact{font-size:12px}.home-art-link{top:clamp(56px,12dvh,110px);left:50%;right:auto;width:min(92vw,420px);transform:translate(-50%)}.home-container{top:auto;bottom:clamp(128px,20dvh,200px);left:0;width:100%;padding:0 24px;transform:none}.home-content{align-items:flex-start;padding:0;gap:0;text-align:left}.profile-pic{display:none}.home-content h1{font-size:clamp(32px,9vw,48px);line-height:1;letter-spacing:-.055em}.home-content p{margin-top:7px;font-size:14px;color:#a8b7c8}.home-content .cta{margin:22px 0 0;padding:12px 17px;font-size:14px}.position-1{bottom:26px;left:24px;width:calc(100% - 48px);transform:none;text-align:left;line-height:1.5;font-size:12px}}@media(max-width:600px)and (max-height:650px){.project-stage{padding-top:44px}.project-hero{width:min(66vw,max(145px,calc(100dvh - 340px)))}.project-info{padding-top:14px}.project-back{margin-bottom:14px}.project-title{font-size:25px;line-height:1.05}.home-art-link{top:8dvh;width:min(88vw,280px)}.home-container{bottom:130px}.position-1{bottom:20px}}@media(prefers-reduced-motion:reduce){.home-art{transition:none}}@media(max-width:600px)and (max-height:600px){.home-art-link{top:4dvh;width:min(76vw,240px)}}
