:root{color:#1b120e;background:var(--ink);font-synthesis:none;--ink:#1b120e;--espresso:#34251b;--umber:#534030;--clay:#7b5f48;--sand:#a68569;--cream:#e8ddd2;--mineral-texture:url(/assets/portfolio-mineral-background.webp);--texture-scroll:0px;font-family:Manrope,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{isolation:isolate;background:var(--ink);min-height:100%;margin:0;position:relative}html,body{max-width:100%;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;background-color:var(--ink);background-image:var(--mineral-texture);background-repeat:no-repeat;background-size:cover;background-position:center calc(50% + var(--texture-scroll));position:fixed;inset:-3vh -3vw}a{color:inherit;text-decoration:none}button{font:inherit}.scroll-reveal{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);will-change:opacity,transform;transform:translateY(42px)}.scroll-reveal.is-visible{opacity:1;transform:translate(0,0)}.site-header{z-index:20;height:106px;color:var(--cream);background:0 0;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3.2vw;transition:height .5s cubic-bezier(.22,1,.36,1),background .5s,-webkit-backdrop-filter .5s,backdrop-filter .5s,box-shadow .5s;display:grid;position:fixed;inset:0 0 auto}.site-header.scrolled{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#11120d38;height:88px;box-shadow:0 12px 36px #0b07051a}.logo{align-items:center;gap:8px;min-width:0;display:flex}.header-signature{object-fit:contain;opacity:.94;flex:none;width:82px;height:82px;transition:width .5s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1),opacity .25s}.site-header.scrolled .header-signature{width:68px;height:68px}.wordmark{color:inherit;text-align:center;flex-direction:column;align-items:center;padding-bottom:.58em;display:inline-flex;position:relative}.wordmark-name{text-transform:uppercase;flex-direction:column;align-items:center;font-family:Cormorant Garamond,Georgia,serif;font-weight:400;display:flex}.wordmark-name span{display:block}.wordmark-name span:first-child{letter-spacing:.015em;font-size:.72em;line-height:.78}.wordmark-name span:last-child{letter-spacing:.015em;font-size:1em;line-height:.8}.wordmark small{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:center;gap:.62em;width:100%;font:500 .2em Manrope,sans-serif;display:flex;position:absolute;inset:auto 0 0}.wordmark small i{opacity:.55;font-style:normal}.logo .wordmark{align-items:center;font-size:2.6rem}.main-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-transform:uppercase;letter-spacing:.14em;background:linear-gradient(#11120d8f,#11120d6b);border:1px solid #e8ddd229;border-radius:999px;align-items:center;gap:8px;padding:7px;font:500 clamp(.6875rem,.72vw,.8125rem) Manrope,sans-serif;display:flex;box-shadow:0 18px 40px #11120d29,inset 0 1px #fff0f00a}.main-nav a,.main-nav button{color:#e8ddd2a3;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:12px 24px;transition:color .3s,background .3s,border-color .3s,transform .3s}.main-nav a:hover,.main-nav button:hover{color:var(--cream)}.main-nav a.active{color:var(--cream);background:#e8ddd226;border-color:#e8ddd224;box-shadow:0 10px 24px #11120d2e,inset 0 1px #fff0f01f}.main-nav a:focus-visible,.main-nav button:focus-visible{outline-offset:2px;outline:1px solid #fff8ef}.contact-link{color:var(--cream);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-transform:uppercase;letter-spacing:.14em;background:#11120d57;border:1px solid #e8ddd238;border-radius:999px;justify-self:end;align-items:center;gap:28px;padding:14px 24px;font:500 clamp(.6875rem,.72vw,.8125rem) Manrope,sans-serif;transition:transform .3s,border-color .3s,background .3s;display:flex}.contact-link:hover{background:#e8ddd21c;border-color:#e8ddd266;transform:translateY(-2px)}.header-actions{justify-self:end;align-items:center;gap:14px;display:flex}.language-switch{border:1px solid #e8ddd259;border-radius:100px;padding:3px;display:flex}.language-switch button{color:var(--cream);cursor:pointer;opacity:.55;background:0 0;border:0;border-radius:100px;padding:5px 8px;font:500 .6875rem Manrope,sans-serif}.language-switch button.active{background:var(--cream);color:var(--ink);opacity:1}.menu-toggle{cursor:pointer;background:#11120d96;border:1px solid #e8ddd230;border-radius:50%;flex-direction:column;justify-content:center;gap:5px;width:52px;height:52px;padding:14px;display:none}.menu-toggle span{background:var(--cream);width:100%;height:1px;transition:transform .35s,opacity .25s;display:block}.menu-toggle span:nth-child(2){width:65%}.menu-toggle.open span:first-child{transform:translateY(6px)rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:last-child{transform:translateY(-6px)rotate(-45deg)}.mobile-menu{display:none}.intro-overlay{z-index:140;color:var(--cream);opacity:1;isolation:isolate;background:0 0;place-items:center;padding:24px;transition:opacity .58s cubic-bezier(.16,1,.3,1),filter .58s cubic-bezier(.16,1,.3,1);display:grid;position:fixed;inset:0;overflow:hidden}.intro-overlay:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(64px)saturate(.28);background:linear-gradient(#130e0be8,#1b120ef0);position:absolute;inset:-72px;transform:translateZ(0)}.intro-overlay.is-leaving{opacity:0;filter:blur(10px);pointer-events:none}.intro-glow{aspect-ratio:1;background:radial-gradient(circle,#e8ddd21f,#0000 68%);border-radius:50%;width:min(70vw,720px);animation:1.4s ease-out both intro-glow;position:absolute}.intro-lockup{flex-direction:column;align-items:center;gap:22px;animation:.62s cubic-bezier(.22,1,.36,1) both intro-lockup;display:flex;position:relative}.intro-signature-wrap{aspect-ratio:1;width:clamp(108px,10vw,150px);display:block;position:relative;overflow:hidden}.intro-signature-wrap img{object-fit:contain;width:100%;height:100%;animation:.7s cubic-bezier(.22,1,.36,1) both intro-signature;display:block}.intro-signature-wrap i{filter:blur(6px);background:linear-gradient(90deg,#0000,#fff8ef80,#0000);width:34%;height:160%;animation:.9s cubic-bezier(.22,1,.36,1) .32s both intro-sheen;position:absolute;top:-30%;left:-55%;transform:rotate(18deg)}.intro-lockup .wordmark{opacity:0;font-size:clamp(2.25rem,4vw,3.6rem);animation:.55s cubic-bezier(.22,1,.36,1) .2s forwards intro-wordmark}@keyframes intro-lockup{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes intro-signature{0%{opacity:0;filter:blur(7px);transform:scale(.86)rotate(-3deg)}to{opacity:.96;filter:none;transform:none}}@keyframes intro-wordmark{0%{opacity:0;filter:blur(5px);transform:translateY(9px)}to{opacity:1;filter:none;transform:none}}@keyframes intro-sheen{0%{opacity:0;left:-55%}25%{opacity:1}to{opacity:0;left:125%}}@keyframes intro-glow{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.discipline-gateway{z-index:100;color:var(--cream);background:var(--ink);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.gateway-language{z-index:2;position:absolute;top:28px;right:32px}.gateway-language .language-switch{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#11120d5c}.gateway-backdrop,.gateway-shade{position:absolute;inset:0}.gateway-backdrop{z-index:-2}.gateway-backdrop .cinematic-collage{z-index:0}.gateway-shade{z-index:-1;background:linear-gradient(#1b120ebd,#1b120e8a 42%,#1b120ee6),radial-gradient(circle,#0000,#1b120ec7)}.gateway-content{text-align:center;flex-direction:column;align-items:center;width:min(920px,100%);display:flex}.gateway-content .wordmark{margin-bottom:54px;font-size:clamp(2.8rem,5vw,5rem)}.gateway-content>.eyebrow{color:#eadfd0d1;margin:0 0 22px}.gateway-content h2{color:#f7ecdf;letter-spacing:-.05em;max-width:760px;margin:0 0 58px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3rem,5.8vw,6rem);font-weight:500;line-height:.9}.gateway-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;display:grid}.gateway-options a{color:#f2e7dc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;background:linear-gradient(#11120d8f,#11120d6b);border:1px solid #e8ddd23d;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;min-height:110px;padding:22px 30px;transition:transform .3s,border-color .3s,background .3s;display:grid;box-shadow:0 18px 40px #11120d29,inset 0 1px #fff0f00a}.gateway-options a:hover{background:#e8ddd21c;border-color:#e8ddd28c;transform:translateY(-4px)}.gateway-options a:focus-visible{outline-offset:4px;outline:2px solid #fff8ef}.gateway-options strong{justify-self:center;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.7rem,2.4vw,2.4rem);font-weight:500}@media (width>=1024px) and (pointer:fine){.has-immersive-cursor body:after{content:"";z-index:70;pointer-events:none;opacity:0;background:radial-gradient(circle 10rem at var(--cursor-x,50%) var(--cursor-y,50%),#fff8ef38 0%,#e8ddd224 22%,#a6856918 45%,#a6856908 62%,transparent 78%);mix-blend-mode:screen;transition:opacity .22s;position:fixed;inset:0}.has-immersive-cursor-visible body:after{opacity:1}}.hero{background:var(--ink);grid-template-rows:1fr auto;min-height:100vh;padding:150px 5vw 5vh;display:grid}.hero-cinematic{color:var(--cream);isolation:isolate;text-align:center;position:relative;overflow:hidden}.cinematic-collage{z-index:-3;background:var(--ink);position:absolute;inset:0}.cinematic-collage:before,.cinematic-collage:after{display:none}.cinematic-tile{background:var(--espresso);position:absolute;inset:0;overflow:hidden}.cinematic-tile video{object-fit:cover;object-position:center;filter:saturate(.82)sepia(.08)contrast(1.04);width:100%;height:100%;display:block}.hero-shade{z-index:-1;background:linear-gradient(#1b120e8f 0%,#1b120e3b 35%,#1b120e54 62%,#1b120ee8 100%),radial-gradient(circle,#1b120e0d,#1b120e91 92%);position:absolute;inset:0}.hero-cinematic .hero-title,.hero-cinematic .hero-bottom{z-index:1;position:relative}.hero-title{align-self:center;transform:translateY(-3vh)}.hero-title .eyebrow{color:#f0e5d9e0;letter-spacing:.21em;margin:30px 0 0;font-size:clamp(.75rem,.84vw,.9rem)}.eyebrow,.section-label,.number,.mini-label{text-transform:uppercase;letter-spacing:.16em;font:500 clamp(.6875rem,.72vw,.8125rem) Manrope,sans-serif}h1{letter-spacing:-.02em;text-transform:uppercase;text-shadow:0 12px 40px #0007;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(4rem,8vw,8rem);font-weight:500;line-height:.88}h1 em{font:inherit}em{font-family:Cormorant Garamond,Georgia,serif;font-weight:400}.hero-bottom{flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.hero-bottom p{text-align:center;color:#e8ddd2c9;max-width:620px;margin:0;font-size:.82rem;line-height:1.55}.hero-bottom a{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.12em;background:#1b120e80;border:1px solid #e8ddd25c;justify-content:space-between;gap:35px;width:auto;min-width:210px;padding:15px 22px;font:.62rem DM Mono;display:flex}.underlined{border-bottom:1px solid;justify-content:space-between;width:220px;padding-bottom:10px;font-size:.78rem;display:flex}.about,.credentials,.work,footer{isolation:isolate;text-shadow:0 2px 18px #1b120e8c;background:0 0}.about{min-height:100vh;color:var(--cream);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;display:grid;position:relative}.about:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0000,#1b120e12);height:clamp(90px,12vh,140px);position:absolute;inset:auto 0 0}.about-image{min-height:760px;overflow:hidden}.about-image img{object-fit:cover;object-position:center;filter:saturate(.64)sepia(.1)contrast(.9);width:100%;height:100%;display:block}.about-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(76px,8vh,112px) clamp(45px,6vw,105px);display:flex}.about-mark{color:#f2e7dc;text-align:center;width:100%;margin:0 auto clamp(46px,5vh,64px)}.about-mark .wordmark{font-size:clamp(2.65rem,3vw,3.25rem)}.about-mark .wordmark small{color:#e8ddd2d4}.about-copy>.eyebrow{color:#f0e4d7d6;letter-spacing:.13em;align-self:center;align-items:center;gap:16px;margin:0 0 clamp(30px,3.4vh,44px);font-weight:600;display:flex}.about-copy>.eyebrow:before,.about-copy>.eyebrow:after{content:"";background:#e8ddd270;width:48px;height:1px}.about-copy h2{color:#f7ecdf;letter-spacing:-.02em;text-wrap:balance;width:100%;max-width:680px;margin:0 0 clamp(30px,3.5vh,42px);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3.2rem,4.65vw,5rem);font-weight:500;line-height:.96}.bio{color:#f0e4d8ed;text-wrap:pretty;max-width:680px;margin:0 0 20px;font-size:clamp(.98rem,1.12vw,1.125rem);font-weight:400;line-height:1.7}.bio.secondary{color:#e6d8c9d1;max-width:640px;font-size:clamp(.9375rem,1vw,1rem);font-weight:400;line-height:1.75}.about-copy .underlined{color:#f2e6da;text-transform:uppercase;letter-spacing:.13em;border:1px solid #e8ddd26b;align-self:center;width:250px;margin:clamp(34px,4vh,48px) auto 0;padding:16px 18px;font:500 .65rem DM Mono,monospace;transition:border-color .25s,color .25s,transform .25s}.about-copy .underlined:hover{color:#fff8ef;border-color:#e8ddd2a3;transform:translateY(-2px)}.about-copy .underlined:focus-visible{color:#fff8ef;outline-offset:5px;outline:1px solid #fff8ef}.credentials{color:var(--cream);padding:105px 3.2vw max(16vh,150px);position:relative}.credentials:before{content:"";background:#e8ddd22b;height:1px;position:absolute;top:50px;left:3.2vw;right:3.2vw}.credentials-inner{width:100%;max-width:1480px;margin:0 auto}.credentials-heading{border-bottom:1px solid #eadfd029;grid-template-columns:170px minmax(0,1fr) 220px;align-items:end;column-gap:clamp(22px,2.4vw,38px);padding:20px 0 34px;display:grid}.credentials-heading h2{color:#f7ecdf;letter-spacing:-.02em;text-transform:uppercase;grid-column:1/3;margin:0;font:500 clamp(2.8rem,5vw,5rem)/1 Cormorant Garamond,Georgia,serif}.credentials-heading p{color:#f1e6dae6;letter-spacing:.15em;text-transform:uppercase;text-align:right;text-align:right;grid-column:3;margin:0 0 .45rem;font:600 clamp(.6875rem,.74vw,.75rem) Manrope,sans-serif}.section-label{opacity:.8;border-bottom:1px solid #e8ddd23b;justify-content:space-between;padding:28px 0 70px;display:flex}.experience-list{margin-bottom:clamp(82px,7vw,108px)}.experience-row{border-bottom:1px solid #e8ddd21f;outline:0;grid-template-columns:170px minmax(0,1fr) 220px;grid-template-areas:"date role studio"".focus studio";align-items:start;gap:12px clamp(22px,2.4vw,38px);padding:clamp(40px,3.6vw,54px) 0;transition:border-color .35s;display:grid;position:relative}.experience-row:after{content:"";background:var(--cream);transform-origin:0;height:1px;transition:transform .5s cubic-bezier(.22,1,.36,1);position:absolute;inset:auto 0 -1px;transform:scaleX(0)}.experience-row time,.experience-studio{color:#f1e6dae6;letter-spacing:.11em;text-transform:uppercase;font:600 clamp(.75rem,.78vw,.8125rem)/1.5 Manrope,sans-serif}.experience-row time{grid-area:date;padding-top:.6rem}.experience-role{grid-area:role;min-width:0}.experience-role h3{color:linen;letter-spacing:-.02em;text-wrap:balance;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.5rem,2.75vw,2.75rem);font-weight:500;line-height:1;transition:transform .4s cubic-bezier(.22,1,.36,1)}.experience-focus{color:#efe2d5df;letter-spacing:0;grid-area:focus;max-width:680px;margin:0;font-size:clamp(.8125rem,.88vw,.875rem);line-height:1.65}.experience-studio{text-align:right;grid-area:studio;place-self:start end;align-items:center;gap:10px;margin-top:.6rem;transition:color .25s,transform .25s,opacity .25s;display:inline-flex}.experience-studio span:last-child{color:#e8ddd29e}.experience-studio:hover{color:#fff8ef;transform:translate(4px)}.experience-studio:focus-visible{color:#fff8ef;outline-offset:5px;outline:1px solid #fff8ef;transform:translate(4px)}.experience-row:hover,.experience-row:focus-visible{border-color:#eadfd05c}.experience-row:hover:after,.experience-row:focus-visible:after{transform:scaleX(1)}.experience-row:hover .experience-role h3,.experience-row:focus-visible .experience-role h3{transform:translate(7px)}.experience-row:focus-visible{outline-offset:7px;outline:1px solid #e8ddd28c}.experience-preview{aspect-ratio:16/9;z-index:3;object-fit:cover;opacity:0;pointer-events:none;width:220px;transition:opacity .3s,transform .4s;position:absolute;bottom:calc(100% - 20px);right:0;transform:translateY(8px)}.experience-row:hover .experience-preview,.experience-row:focus-visible .experience-preview{opacity:1;transform:none}.profile-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:clamp(28px,3vw,48px);display:grid}.credentials-grid>section{border-top:1px solid #e8ddd229;min-width:0;padding-top:24px}.credentials-grid h3{color:#f6ecdf;letter-spacing:.16em;text-transform:uppercase;margin:0 0 30px;font:600 clamp(.6875rem,.74vw,.75rem) Manrope,sans-serif}.credentials-grid ul{margin:0;padding:0;list-style:none}.credentials-grid li{color:#f2e6d9e8;font-size:clamp(.875rem,.94vw,.9375rem);line-height:1.55}.tool-list{gap:13px;display:grid}.tool-list li{align-items:center;gap:12px;min-height:24px;line-height:1.5;display:flex}.tool-list img{object-fit:contain;object-position:center;opacity:.95;flex:0 0 22px;width:22px;height:22px}.featured-projects li{border-bottom:1px solid #e8ddd229}.featured-projects a{color:#f8eee3;justify-content:space-between;align-items:center;gap:10px;min-height:50px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.05rem,1.25vw,1.25rem);font-weight:500;transition:color .25s,opacity .25s,transform .25s;display:flex}.featured-projects a:hover{color:#fff8ef;transform:translate(4px)}.featured-projects a:focus-visible{color:#fff8ef;outline-offset:4px;outline:1px solid #fff8ef;transform:translate(4px)}.featured-projects a span:last-child{color:#e8ddd29e;font-size:.7rem}.education-block>div+div{margin-top:40px}.education-block strong,.education-block small{display:block}.education-block strong{color:#f5eadf;font-size:clamp(.875rem,.94vw,.9375rem);font-weight:600;line-height:1.5}.education-block small{color:#eadbcbdb;margin-top:7px;font:500 .72rem/1.55 DM Mono,monospace}.work{color:var(--cream);padding:0 3.2vw}.work .section-label{color:#f4e9dc;opacity:1;letter-spacing:.08em;text-shadow:0 2px 16px #1b120ed9;font-weight:600}.work-index{min-height:100vh;padding-bottom:12vh}.character-catalog{-webkit-backdrop-filter:blur(18px)saturate(.82);backdrop-filter:blur(18px)saturate(.82);background:linear-gradient(#11120dbd,#1b120ea8);border:1px solid #e8ddd22e;border-radius:4px;margin-top:34px;padding:8px 38px;box-shadow:0 24px 70px #0c08062b,inset 0 1px #fff0f00a}.character-group{border-bottom:1px solid #e8ddd224;padding:34px 0 38px}.character-group:last-child{border-bottom:0}.character-group h3{color:#f6ecdf;letter-spacing:-.02em;margin:0 0 24px;font-size:1.55rem;font-weight:600}.character-group>div{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:18px 26px;display:grid}.character-card{color:#f2e7dc;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:13px;min-width:0;min-height:54px;padding:0;transition:color .25s,transform .25s;animation:.65s both catalog-in;display:grid}.character-card:hover{color:#fff8ef;transform:translate(3px)}.character-card:focus-visible{color:#fff8ef;outline-offset:6px;outline:1px solid #e8ddd2b8}.character-card>strong{text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 10px #000;font-size:.84rem;font-weight:600;line-height:1.3;overflow:hidden}.character-preview{aspect-ratio:1;background:radial-gradient(circle,#68513f,#0e0a08 74%);border:1px solid #d8c7b35c;border-radius:50%;width:52px;overflow:hidden;box-shadow:inset 0 0 0 2px #1b120e}.character-preview img,.character-preview video{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .3s;display:block}.character-preview img{filter:saturate(.82)contrast(1.04);transform:scale(1.04)}.character-preview video{filter:saturate(.72)sepia(.08);transform:scale(1.45)}.character-preview video.cinematic-preview{filter:saturate(.9)contrast(1.06);transform:scale(1.02)}.character-card:hover img{filter:saturate()contrast(1.06);transform:scale(1.12)}.character-card:hover video{filter:saturate();transform:scale(1.55)}.character-card:hover video.cinematic-preview{filter:saturate()contrast(1.08);transform:scale(1.08)}.detail-breadcrumb{color:#e8ddd2c7;letter-spacing:.018em;scrollbar-width:none;white-space:nowrap;align-items:center;gap:12px;min-height:44px;font:550 clamp(.78rem,.78vw,.88rem)/1.4 DM Mono,monospace;display:flex;overflow-x:auto}.detail-breadcrumb::-webkit-scrollbar{display:none}.detail-breadcrumb a,.detail-breadcrumb button{color:#eadfd0bd;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;transition:color .2s,transform .2s}.detail-breadcrumb a:hover,.detail-breadcrumb button:hover{color:#fff8ef;transform:translateY(-1px)}.detail-breadcrumb a:focus-visible,.detail-breadcrumb button:focus-visible{color:#fff8ef;outline-offset:4px;outline:1px solid #e8ddd2}.detail-breadcrumb strong{color:#fff8ef;font-weight:600}.detail-breadcrumb>span{color:#d2bca690;font-size:.9em}@keyframes catalog-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.character{border-bottom:1px solid #a685693b;grid-template-rows:auto minmax(0,1fr);min-height:100svh;padding:52px 0 44px;display:grid}.character-heading{grid-template-columns:8% minmax(0,1fr) 32%;align-items:end;gap:0 clamp(18px,2vw,34px);margin-bottom:36px;padding-top:4px;display:grid}.number{color:#eadfd0d1;letter-spacing:.09em;align-self:start;margin-top:7px;font:600 .7rem DM Mono,monospace}.character-heading p{color:#f0e4d7dc;letter-spacing:.09em;text-transform:uppercase;margin:0 0 13px;font:600 .7rem DM Mono,monospace}.character-heading h2{color:#f8eee3;letter-spacing:-.02em;text-shadow:0 5px 28px #1b120e85;text-wrap:balance;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3.75rem,7vw,7rem);font-weight:500;line-height:.92}.character-heading .description{color:#e7d9cae0;text-transform:none;text-wrap:pretty;max-width:430px;margin-bottom:3px;font:500 clamp(.86rem,.96vw,.98rem)/1.6 Manrope,sans-serif}.showcase{background:#130e0b;border:1px solid #a6856938;grid-template-columns:minmax(0,1fr) minmax(270px,25%);align-items:stretch;gap:0;min-height:0;display:grid}.mobile-viewer-toolbar{display:none}.player{isolation:isolate;background:radial-gradient(circle at 50% 45%,#53403066 0%,#211711 46%,#0e0a08 100%);min-height:560px;position:relative;overflow:hidden}.player:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#1b120e5c 0%,#0000 18% 82%,#1b120e80 100%);position:absolute;inset:0}.player video,.player model-viewer{object-fit:contain;width:100%;height:100%;display:block}.player model-viewer{z-index:1;--poster-color:transparent;--progress-bar-color:var(--sand);--progress-bar-height:2px;background:0 0;position:absolute;inset:0}.player model-viewer::part(default-progress-bar),.player model-viewer::part(default-ar-button){display:none}.jellyfish-light{aspect-ratio:1;z-index:1;width:48%;left:var(--effect-x,50%);top:var(--effect-y,50%);pointer-events:none;mix-blend-mode:screen;filter:blur(8px)saturate(1.15);opacity:.68;background:radial-gradient(#baffff42 0%,#55ebf02d 27%,#19b9d114 52%,#0000 74%);border-radius:50%;animation:ease-in-out infinite alternate jellyfish-bioluminescence;position:absolute}.water-sprite-light{filter:blur(10px)saturate(1.3);background:radial-gradient(#d9ffff54 0%,#61f5ff38 24%,#159ed523 49%,#0000 73%);width:55%;animation-name:water-sprite-bioluminescence}@keyframes jellyfish-bioluminescence{0%{opacity:.48;transform:translate(-50%,-50%)scale(.94)}to{opacity:.76;transform:translate(-50%,-50%)scale(1.05)}}@keyframes water-sprite-bioluminescence{0%{opacity:.48;transform:translate(-50%,-50%)scale(.94)}to{opacity:.76;transform:translate(-50%,-50%)scale(1.05)}}.water-particles{z-index:2;pointer-events:none;isolation:isolate;opacity:1;position:absolute;inset:0;overflow:hidden}.water-aura{width:28%;height:34%;left:var(--effect-x,50%);top:var(--effect-y,50%);filter:blur(12px);opacity:var(--ambient-energy,.4);transform:translate(-50%,-50%) scale(var(--particle-scale,.85));background:radial-gradient(#7df4f02b 0%,#2dc4d010 46%,#0000 72%);border-radius:50%;position:absolute}.water-vortex{width:39%;height:13%;left:var(--effect-x,50%);top:calc(var(--effect-y,50%) + 16%);opacity:var(--spawn-vortex);transform:translate(-50%,-50%) scale(var(--particle-scale,.8)) rotate(-8deg);border:2px solid #8df4efad;border-radius:50%;display:none;position:absolute;box-shadow:inset 0 0 24px #48dbe238,0 0 24px #48dbe23d}.water-vortex:before,.water-vortex:after{content:"";border:1px dashed #c5ffffa6;border-radius:50%;position:absolute;inset:14%;transform:rotate(38deg)}.water-vortex:after{border-style:solid;inset:31%;transform:rotate(-24deg)}.water-particles--fire .water-aura{left:calc(var(--effect-x,50%) + 5%);width:20%;height:24%;opacity:var(--fire-charge)}.water-particles--spawn .water-aura{top:calc(var(--effect-y,50%) + 8%);width:38%;height:42%;opacity:var(--spawn-vortex)}.water-particles--spawn .water-vortex{display:none}.water-particles--fidget .water-aura{width:34%;transform:translate(-50%,-50%) scale(var(--particle-scale,.85)) rotate(-8deg)}.water-particles i{width:var(--bubble-size);height:var(--bubble-size);left:calc(var(--effect-x,50%) + var(--bubble-offset));top:calc(var(--effect-y,50%) + 9%);opacity:0;will-change:transform,opacity;background:radial-gradient(circle at 32% 27%,#efffffdb 0 7%,#8beef052 12%,#42c5d01f 48%,#0000 70%);border:1px solid #bdfaff9c;border-radius:50%;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;box-shadow:inset -1px -2px 4px #1e839159,0 0 8px #73e8ef38}.water-particles i:nth-child(3n){filter:blur(.25px)}.water-particles i:nth-child(4n){border-color:#d9ffffc4}.player--pufferfish .water-particles i{background:radial-gradient(circle at 31% 25%,#fff 0 8%,#aaf8fa73 13%,#53d8df2e 49%,#0000 72%);border-color:#d9ffffc2;box-shadow:inset -1px -2px 5px #19798773,0 0 10px #83f4f05c}.player--water-sprite .water-particles i{background:radial-gradient(circle at 30% 24%,#fff 0 8%,#a9fbff7d 13%,#22c9ec2e 50%,#0000 72%);border-color:#d9ffffd1;box-shadow:inset -1px -2px 5px #168ca578,0 0 12px #50eaff66}.player--seahorse .water-particles i{background:radial-gradient(circle at 30% 24%,#fff 0 7%,#b4fbef70 13%,#42d9c82b 50%,#0000 72%);border-color:#dfffffc4;box-shadow:inset -1px -2px 5px #278d8170,0 0 10px #77ebd354}.water-particles--fire i{box-shadow:inset -1px -2px 4px #1e839173,0 0 11px #73e8ef5c}.water-particles--spawn i{animation-timing-function:cubic-bezier(.2,.62,.35,1)}.air-vfx{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.air-vfx i{width:var(--air-size);height:2px;left:calc(var(--effect-x,50%) + var(--air-offset));top:calc(var(--effect-y,50%) + 7%);opacity:0;filter:blur(.2px);will-change:transform,opacity;background:#e9ffffa8;border-radius:100%;animation-timing-function:cubic-bezier(.22,.55,.3,1);animation-iteration-count:infinite;position:absolute;box-shadow:0 0 7px #9fe7e85c}.air-vfx i:nth-child(3n){background:#f8ffffc2;height:1px}@keyframes gato-air-idle{0%,to{opacity:0;transform:translate(-5px,2vh)scale(.45)}24%{opacity:var(--air-opacity)}70%{opacity:var(--air-opacity);transform:translate3d(var(--air-drift),-11vh,0) scale(1)}}@keyframes gato-air-fidget{0%,to{opacity:0;transform:rotate(0)translate(2vw)scale(.4)}18%,72%{opacity:var(--air-opacity)}55%{transform:rotate(190deg)translate(7vw)scale(1)}to{transform:rotate(360deg)translate(3vw)scale(.5)}}@keyframes gato-air-attack{0%,32%{opacity:0;transform:translate(-2vw,1vh)scale(.3)}42%,68%{opacity:var(--air-opacity)}to{opacity:0;transform:translate3d(calc(24vw + var(--air-drift)),-5vh,0) scale(.65)}}@keyframes gato-air-projectile{0%,38%{opacity:0;transform:translate(0,0)scale(.25)}48%,70%{opacity:var(--air-opacity)}to{opacity:0;transform:translate3d(calc(32vw + var(--air-drift)),-8vh,0) scale(.52)}}@keyframes gato-air-aoe{0%,30%{opacity:0;transform:rotate(0)translate(2vw)scale(.25)}44%,76%{opacity:var(--air-opacity)}to{opacity:0;transform:rotate(360deg)translate(17vw)scale(.8)}}@keyframes gato-air-support{0%,to{opacity:0;transform:translate3d(var(--air-drift),4vh,0) scale(.38)}24%,72%{opacity:var(--air-opacity)}88%{transform:translate3d(calc(var(--air-drift) + 8px),-18vh,0) scale(1.05)}}@keyframes water-vfx-idle{0%{opacity:0;transform:translate(0,0)scale(.72)}18%{opacity:var(--bubble-opacity)}72%{opacity:var(--bubble-opacity);transform:translate3d(var(--bubble-drift),-18vh,0) scale(1)}to{opacity:0;transform:translate3d(var(--bubble-drift),-28vh,0) scale(1.05)}}@keyframes water-vfx-fidget{0%{opacity:0;transform:rotate(0)translate(3vw)scale(.65)}15%,75%{opacity:var(--bubble-opacity)}50%{transform:rotate(180deg)translate(6vw)scale(1)}to{opacity:0;transform:rotate(360deg)translate(3vw)scale(.72)}}@keyframes water-vfx-fire{0%,38%{opacity:0;transform:translate(0,0)scale(.4)}48%{opacity:var(--bubble-opacity)}78%{opacity:var(--bubble-opacity);transform:translate3d(calc(12vw + var(--bubble-drift)),calc(-3vh + var(--bubble-drift)),0) scale(1)}to{opacity:0;transform:translate3d(calc(25vw + var(--bubble-drift)),-7vh,0) scale(.55)}}@keyframes water-vfx-fire-up{0%,34%{opacity:0;transform:translate(0,0)scale(.4)}46%{opacity:var(--bubble-opacity)}78%{opacity:var(--bubble-opacity);transform:translate3d(var(--bubble-drift),-18vh,0) scale(1)}to{opacity:0;transform:translate3d(calc(var(--bubble-drift) + 2vw),-34vh,0) scale(.55)}}@keyframes water-vfx-puffer-fire{0%,34%{opacity:0;transform:translate3d(-1vw,var(--bubble-drift),0) scale(.35)}43%{opacity:var(--bubble-opacity)}72%{opacity:var(--bubble-opacity);transform:translate3d(calc(16vw + var(--bubble-drift)),var(--bubble-drift),0) scale(1.05)}to{opacity:0;transform:translate3d(calc(34vw + var(--bubble-drift)),calc(var(--bubble-drift) + 8px),0) scale(.55)}}@keyframes water-vfx-puffer-fire-up{0%,32%{opacity:0;transform:translate3d(var(--bubble-drift),2vh,0) scale(.35)}43%{opacity:var(--bubble-opacity)}72%{opacity:var(--bubble-opacity);transform:translate3d(var(--bubble-drift),-19vh,0) scale(1.08)}to{opacity:0;transform:translate3d(calc(var(--bubble-drift) + 2vw),-39vh,0) scale(.55)}}@keyframes water-vfx-puffer-spawn{0%{opacity:0;transform:translateY(7vh)scale(.3)}16%{opacity:var(--bubble-opacity)}60%{opacity:var(--bubble-opacity);transform:translate3d(var(--bubble-drift),-12vh,0) scale(1.15)}to{opacity:0;transform:translate3d(calc(var(--bubble-drift) + 3vw),-29vh,0) scale(.62)}}@keyframes water-vfx-puffer-fidget{0%,to{opacity:0;transform:translate3d(calc(var(--bubble-drift) - 10px),2vh,0) scale(.48)}22%{opacity:var(--bubble-opacity);transform:translate3d(calc(var(--bubble-drift) + 9px),-2vh,0) scale(.82)}58%{opacity:var(--bubble-opacity);transform:translate3d(calc(var(--bubble-drift) - 13px),-7vh,0) scale(1.06)}82%{opacity:calc(var(--bubble-opacity) - .08);transform:translate3d(calc(var(--bubble-drift) + 15px),-12vh,0) scale(.75)}}@keyframes water-vfx-puffer-idle{0%,to{opacity:.14;transform:translate(-7px,2vh)scale(.6)}45%{opacity:var(--bubble-opacity);transform:translate3d(var(--bubble-drift),-8vh,0) scale(1)}75%{opacity:calc(var(--bubble-opacity) - .06);transform:translate3d(calc(var(--bubble-drift) + 8px),-13vh,0) scale(.76)}}@keyframes water-vfx-sprite-idle{0%,to{opacity:.08;transform:translate3d(calc(var(--bubble-drift) - 8px),3vh,0) scale(.5)}38%{opacity:var(--bubble-opacity);transform:translate3d(calc(var(--bubble-drift) + 8px),-7vh,0) scale(.92)}76%{opacity:calc(var(--bubble-opacity) - .05);transform:translate3d(var(--bubble-drift),-15vh,0) scale(1.08)}}@keyframes water-vfx-sprite-fidget{0%,to{opacity:0;transform:rotate(0)translate(2.5vw)scale(.42)}16%{opacity:var(--bubble-opacity)}48%{opacity:var(--bubble-opacity);transform:rotate(190deg)translate(7vw)scale(1.08)}82%{opacity:calc(var(--bubble-opacity) - .04);transform:rotate(330deg)translate(4vw)scale(.72)}}@keyframes water-vfx-sprite-fire{0%,32%{opacity:0;transform:translate(-1vw,1vh)scale(.3)}42%{opacity:var(--bubble-opacity)}72%{opacity:var(--bubble-opacity);transform:translate3d(calc(15vw + var(--bubble-drift)),calc(-2vh + var(--bubble-drift)),0) scale(1.05)}to{opacity:0;transform:translate3d(calc(31vw + var(--bubble-drift)),-7vh,0) scale(.48)}}@keyframes water-vfx-sprite-spawn{0%{opacity:0;transform:translate3d(var(--bubble-drift),12vh,0) scale(.25)}14%{opacity:var(--bubble-opacity)}58%{opacity:var(--bubble-opacity);transform:translate3d(calc(var(--bubble-drift) - 8px),-5vh,0) scale(1.12)}to{opacity:0;transform:translate3d(calc(var(--bubble-drift) + 10px),-27vh,0) scale(.58)}}@keyframes water-vfx-seahorse-idle{0%,to{opacity:.05;transform:translate3d(calc(var(--bubble-drift) - 5px),3vh,0) scale(.48)}42%{opacity:var(--bubble-opacity);transform:translate3d(calc(var(--bubble-drift) + 7px),-8vh,0) scale(.94)}78%{opacity:calc(var(--bubble-opacity) - .05);transform:translate3d(var(--bubble-drift),-15vh,0) scale(1.04)}}@keyframes water-vfx-seahorse-fidget{0%,to{opacity:0;transform:rotate(0)translate(2vw)scale(.4)}18%,74%{opacity:var(--bubble-opacity)}52%{transform:rotate(190deg)translate(6vw)scale(1.04)}to{transform:rotate(360deg)translate(3vw)scale(.55)}}@keyframes water-vfx-seahorse-attack{0%,34%{opacity:0;transform:translateY(1vh)scale(.3)}43%,70%{opacity:var(--bubble-opacity)}to{opacity:0;transform:translate3d(calc(29vw + var(--bubble-drift)),-6vh,0) scale(.5)}}@keyframes water-vfx-seahorse-aoe{0%,28%{opacity:0;transform:rotate(0)translate(2vw)scale(.3)}42%,76%{opacity:var(--bubble-opacity)}to{opacity:0;transform:rotate(360deg)translate(15vw)scale(.76)}}@keyframes water-vfx-seahorse-support{0%,to{opacity:0;transform:rotate(0)translate(2vw)translateY(4vh)scale(.3)}18%{opacity:var(--bubble-opacity)}48%{opacity:var(--bubble-opacity);transform:rotate(185deg)translate(10vw)translateY(-2vh)scale(1.02)}78%{opacity:calc(var(--bubble-opacity) - .04);transform:rotate(300deg)translate(13vw)translateY(-7vh)scale(.86)}to{opacity:0;transform:rotate(360deg)translate(16vw)translateY(-12vh)scale(.55)}}@keyframes water-vfx-seahorse-spawn{0%{opacity:0;transform:translate3d(var(--bubble-drift),10vh,0) scale(.24)}15%,64%{opacity:var(--bubble-opacity)}to{opacity:0;transform:translate3d(calc(var(--bubble-drift) + 7px),-20vh,0) scale(.56)}}@keyframes water-vfx-seahorse-jump{0%,18%{opacity:0;transform:translate3d(var(--bubble-drift),7vh,0) scale(.3)}32%,74%{opacity:var(--bubble-opacity)}to{opacity:0;transform:translate3d(calc(var(--bubble-drift) + 5px),-14vh,0) scale(.82)}}@keyframes water-vfx-seahorse-forward{0%,to{opacity:0;transform:translate(-5vw,2vh)scale(.35)}20%,74%{opacity:var(--bubble-opacity)}58%{transform:translate3d(calc(2vw + var(--bubble-drift)),-3vh,0) scale(.92)}to{transform:translate3d(calc(7vw + var(--bubble-drift)),-8vh,0) scale(.66)}}@keyframes water-vfx-seahorse-backward{0%,to{opacity:0;transform:translate(5vw,2vh)scale(.35)}20%,74%{opacity:var(--bubble-opacity)}58%{transform:translate3d(calc(-2vw + var(--bubble-drift)),-3vh,0) scale(.92)}to{transform:translate3d(calc(-7vw + var(--bubble-drift)),-8vh,0) scale(.66)}}@keyframes water-vfx-seahorse-left{0%,to{opacity:0;transform:translate(4vw,2vh)scale(.35)}20%,74%{opacity:var(--bubble-opacity)}58%{transform:translate3d(calc(-3vw + var(--bubble-drift)),-3vh,0) scale(.92)}to{transform:translate3d(calc(-9vw + var(--bubble-drift)),-7vh,0) scale(.66)}}@keyframes water-vfx-seahorse-right{0%,to{opacity:0;transform:translate(-4vw,2vh)scale(.35)}20%,74%{opacity:var(--bubble-opacity)}58%{transform:translate3d(calc(3vw + var(--bubble-drift)),-3vh,0) scale(.92)}to{transform:translate3d(calc(9vw + var(--bubble-drift)),-7vh,0) scale(.66)}}@keyframes water-vfx-spawn{0%{opacity:0;transform:translateY(4vh)scale(.35)}14%{opacity:var(--bubble-opacity)}68%{opacity:var(--bubble-opacity);transform:translate3d(var(--bubble-drift),-15vh,0) scale(1.15)}to{opacity:0;transform:translate3d(var(--bubble-drift),-31vh,0) scale(.75)}}.crab-vfx{z-index:5;pointer-events:none;opacity:1;visibility:visible;position:absolute;inset:0;overflow:hidden}.sand-cloud{width:42%;height:18%;left:var(--sand-x,50%);top:var(--sand-y,72%);filter:blur(10px);opacity:var(--sand-energy);background:radial-gradient(#c6ad887d 0%,#8b705052 31%,#4a39282e 58%,#0000 78%);border-radius:50%;position:absolute;transform:translate(-50%,-50%)scaleX(1.2)}.ground-impact{width:38%;height:15%;left:var(--sand-x,50%);top:var(--sand-y,72%);opacity:var(--ground-impact);display:none;position:absolute;transform:translate(-50%,-50%)scaleX(1.25)}.ground-impact:before{content:"";filter:drop-shadow(0 2px 2px #0009);background:linear-gradient(19deg,#0000 47%,#2d241d 48% 51%,#0000 52%),linear-gradient(155deg,#0000 47%,#3d3025 48% 51%,#0000 52%),linear-gradient(82deg,#0000 48%,#2b221b 49% 51%,#0000 52%);position:absolute;inset:34% 14%}.ground-impact em{opacity:var(--ground-impact);transform:scale(calc(.3 + var(--ground-impact) * .8));border:2px solid #c7a16b9c;border-radius:50%;position:absolute;inset:25% 7%;box-shadow:0 0 12px #9b714661}.crab-vfx--fidget .ground-impact,.crab-vfx--spawn .ground-impact{display:block}.ground-impact b{clip-path:polygon(8% 100%,32% 12%,100% 62%);background:#a17c52;border-radius:1px;width:9px;height:7px;position:absolute;top:45%;left:50%;box-shadow:0 2px 3px #0007}.ground-impact b:first-child{transform:translate(-52px,-28px)rotate(31deg)}.ground-impact b:nth-child(2){transform:translate(-27px,-42px)rotate(-18deg)scale(.7)}.ground-impact b:nth-child(3){transform:translate(18px,-36px)rotate(52deg)scale(.9)}.ground-impact b:nth-child(4){transform:translate(48px,-23px)rotate(-39deg)scale(.65)}.ground-impact b:nth-child(5){transform:translate(7px,-54px)rotate(14deg)scale(.55)}.crab-vfx i{width:var(--sand-size);height:max(2px,calc(var(--sand-size) - 2px));left:calc(var(--sand-x,50%) + var(--sand-offset));top:var(--sand-y,72%);opacity:0;will-change:transform,opacity;background:#b89a70;border-radius:42% 58% 36% 64%;animation:ease-out infinite crab-sand-drift;position:absolute;box-shadow:0 0 2px #79634e66}.crab-vfx i:nth-of-type(3n){filter:blur(.3px);background:#71583f}.crab-vfx i:nth-of-type(4n){clip-path:polygon(0 82%,42% 0,100% 66%);background:#c4aa86;border-radius:0}@keyframes crab-sand-drift{0%{opacity:0;transform:translateY(5px)scale(.55)}18%{opacity:var(--sand-opacity)}66%{opacity:var(--sand-opacity);transform:translate3d(var(--sand-drift),-4vh,0) scale(1)}to{opacity:0;transform:translate3d(var(--sand-drift),-8vh,0) scale(.72)}}.crab-vfx--spawn .sand-cloud{filter:blur(12px);width:56%;height:26%;opacity:var(--sand-energy)}.crab-vfx--impact .sand-cloud{width:52%;height:23%;opacity:var(--sand-energy)}.crab-vfx--idle .sand-cloud,.crab-vfx--fire .sand-cloud{display:none}.crab-vfx--spawn i{animation-name:crab-sand-spawn}.crab-vfx--impact i{animation-name:crab-sand-impact}.crab-vfx--idle i{animation-name:crab-sand-idle}@keyframes crab-sand-spawn{0%{opacity:0;transform:translateY(9vh)scale(.35)}14%{opacity:var(--sand-opacity)}58%{opacity:var(--sand-opacity);transform:translate3d(var(--sand-drift),-3vh,0) scale(1.2)}to{opacity:0;transform:translate3d(var(--sand-drift),-13vh,0) scale(.7)}}@keyframes crab-sand-impact{0%{opacity:0;transform:translateY(2px)scale(.35)rotate(0)}14%{opacity:var(--sand-opacity)}58%{opacity:var(--sand-opacity);transform:translate3d(var(--sand-drift),-6vh,0) scale(1.12) rotate(110deg)}to{opacity:0;transform:translate3d(calc(var(--sand-drift) + 12px),2vh,0) scale(.65) rotate(190deg)}}@keyframes crab-sand-idle{0%,to{opacity:.12;transform:translate(-5px,2px)scale(.65)rotate(-8deg)}45%{opacity:var(--sand-opacity);transform:translate3d(var(--sand-drift),-2.2vh,0) scale(.9) rotate(18deg)}72%{opacity:calc(var(--sand-opacity) - .08);transform:translate3d(calc(var(--sand-drift) + 5px),-1vh,0) scale(.75) rotate(31deg)}}@keyframes crab-sand-fire{0%{opacity:0;transform:translate(2px)scale(.45)rotate(0)}16%{opacity:var(--sand-opacity)}58%{opacity:var(--sand-opacity);transform:translate3d(calc(var(--sand-drift) - 18px),-3.5vh,0) scale(1.05) rotate(-85deg)}to{opacity:0;transform:translate3d(calc(var(--sand-drift) - 30px),1.5vh,0) scale(.6) rotate(-150deg)}}.cannon-flash,.cannon-smoke{left:var(--muzzle-x,42%);top:var(--muzzle-y,42%);transform-origin:0;display:none;position:absolute}.crab-vfx--fire .cannon-flash,.crab-vfx--fire .cannon-smoke{display:block}.cannon-flash{aspect-ratio:1;background-image:url(/assets/vfx/artillery-crab-explosion-strip.png);background-repeat:no-repeat;background-size:800% 100%;background-position:var(--explosion-position,0%) center;filter:drop-shadow(0 0 7px #ff6a2580);width:clamp(120px,17vw,230px);opacity:var(--explosion-opacity);image-rendering:auto;transform:translate(-50%,-50%)}.cannon-smoke{width:31%;height:15%;opacity:var(--crab-smoke);transform:translateY(-50%) rotate(var(--muzzle-angle,179.909deg))}.cannon-smoke b{filter:none;background:#9a9184bd;border-radius:64% 36% 58% 42%;width:clamp(28px,5.2vw,76px);height:clamp(15px,2.7vw,38px);position:absolute;top:50%;transform:translateY(-50%);box-shadow:inset -8px -4px #514b4466}.cannon-smoke b:first-child{left:0;transform:translateY(-50%)scale(.55)}.cannon-smoke b:nth-child(2){top:35%;left:17%;transform:translateY(-50%)scale(.71)}.cannon-smoke b:nth-child(3){top:62%;left:34%;transform:translateY(-50%)scale(.87)}.cannon-smoke b:nth-child(4){top:43%;left:51%;transform:translateY(-50%)scale(1.03)}.cannon-smoke b:nth-child(5){top:58%;left:68%;transform:translateY(-50%)scale(.76)}.model-interaction-hint{z-index:3;color:#f7ede2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#120d0bc7;border:1px solid #e8ddd238;border-radius:999px;align-items:center;gap:9px;padding:8px 12px 8px 9px;animation:.5s both interaction-hint-in;display:flex;position:absolute;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0005,inset 0 1px #fff1}.model-interaction-hint small{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font:500 .56rem DM Mono,monospace}.orbit-icon{background:#e8ddd20d;border:1px solid #e8ddd23d;border-radius:50%;place-items:center;width:27px;height:27px;display:grid;position:relative}.orbit-icon i{border:1px solid;border-radius:5px;width:7px;height:11px}.orbit-icon i:before{content:"";background:currentColor;width:1px;height:3px;position:absolute;top:9px;left:13px}.orbit-icon b{font:400 .65rem Manrope,sans-serif;position:absolute;bottom:-2px}@keyframes interaction-hint-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.rig-lines{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.rig-lines line{stroke:#e4a25f;stroke-width:1.45px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #000);opacity:.9}.rig-labels{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.rig-labels span{color:#fff5e9;white-space:nowrap;text-shadow:0 1px 2px #000;background:#120d0bc9;border:1px solid #e0b88f40;border-radius:3px;padding:2px 4px;font:500 clamp(.38rem,.48vw,.52rem)/1 DM Mono,monospace;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0007}.placeholder{background:linear-gradient(145deg,var(--espresso),var(--ink));flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.placeholder span{color:var(--sand);text-transform:uppercase;font:.6rem DM Mono}.placeholder strong{font-size:2rem;font-weight:400}.player-meta{letter-spacing:.07em;text-transform:uppercase;color:#f5e9dddc;text-shadow:0 1px 6px #000;justify-content:space-between;font:650 clamp(.64rem,.62vw,.7rem)/1.3 DM Mono;display:flex;position:absolute;inset:auto 20px 17px}.inspector-panel{background:#120d0bf5;border-left:1px solid #a685696b;min-width:0}.inspector-panel section{border-bottom:1px solid #a685693d;padding:27px 22px 29px}.inspector-panel h3{color:#fff8ef;letter-spacing:.018em;margin:0 0 22px;font-size:clamp(.92rem,.9vw,1.02rem);font-weight:700;line-height:1.3}.inspector-info>div{align-items:center;gap:14px;display:flex}.inspector-avatar{aspect-ratio:1;width:52px;color:var(--cream);background:var(--umber);border:1px solid #b795767d;border-radius:50%;flex:none;place-items:center;font:500 1.4rem Cormorant Garamond,serif;display:grid;overflow:hidden}.inspector-avatar img,.inspector-avatar video{object-fit:cover;width:100%;height:100%;display:block}.inspector-info strong,.inspector-info small{display:block}.inspector-info strong{color:#fff8ef;letter-spacing:-.012em;font-size:clamp(1.12rem,1.12vw,1.25rem);font-weight:650;line-height:1.2}.inspector-info small{color:#d2aa83;letter-spacing:.035em;text-transform:uppercase;margin-top:6px;font:600 clamp(.64rem,.63vw,.72rem)/1.45 DM Mono,monospace}.inspector-info p{color:#e7dbcedb;max-width:36ch;margin:18px 0 0;font-size:clamp(.84rem,.81vw,.92rem);line-height:1.65}.animation-controls{position:relative}.animation-picker{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;display:grid}.animation-picker button,.playback-controls button{min-height:38px;color:var(--cream);cursor:pointer;background:#1b120e;border:1px solid #a6856945;border-radius:3px}.animation-picker .current-animation{justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:0 12px;display:flex}.current-animation span:first-child{color:#fff8ef;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.84rem,.82vw,.92rem);font-weight:600;overflow:hidden}.animation-dropdown{z-index:5;background:#0d0908;border:1px solid #a685695c;position:absolute;top:106px;left:18px;right:18px;box-shadow:0 20px 45px #000a}.animation-dropdown label{height:42px;color:var(--sand);border-bottom:1px solid #a6856945;align-items:center;gap:9px;padding:0 12px;display:flex}.animation-dropdown input{width:100%;min-width:0;color:var(--cream);background:0 0;border:0;outline:0;font:.68rem Manrope,sans-serif}.animation-dropdown input::placeholder{color:#927b69}.animation-menu{scrollbar-width:thin;scrollbar-color:var(--clay) transparent;background:#0d0908;max-height:310px;overflow:auto}.animation-menu button{color:#bca793;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #a6856955;grid-template-columns:35px 1fr auto;align-items:center;gap:12px;width:100%;min-height:58px;padding:0 18px;font-size:.8rem;font-weight:550;transition:color .2s,background .2s,padding .2s;display:grid}.animation-menu button:hover,.animation-menu button.active{color:var(--cream);background:#a6856910;padding-left:25px}.animation-menu button.active{box-shadow:inset 2px 0 0 var(--sand)}.no-results{color:#927b69;text-align:center;margin:0;padding:24px 18px;font-size:.7rem}.playback-controls{grid-template-columns:42px minmax(0,1fr) 50px;align-items:center;gap:8px;margin-top:10px;display:grid}.playback-controls>button,.playback-speed{color:#f2e7dc;background:#171211;border:1px solid #a6856955;border-radius:4px;height:40px}.playback-controls>button{cursor:pointer;padding:0;transition:border-color .2s,color .2s,background .2s}.playback-controls>button:hover,.playback-controls>button:focus-visible{color:#fff8ef;background:#241914;border-color:#e8ddd28c}.playback-timeline{background:#171211;border:1px solid #a6856948;border-radius:4px;align-items:center;height:40px;padding:0 10px;display:flex}.playback-timeline input{appearance:none;cursor:grab;touch-action:none;background:0 0;width:100%;height:18px;margin:0}.playback-timeline input:active{cursor:grabbing}.playback-timeline input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#eadfd0 0 var(--timeline-progress),#e8ddd229 var(--timeline-progress) 100%);border-radius:99px;height:4px}.playback-timeline input::-webkit-slider-thumb{appearance:none;background:#f3e8dd;border:2px solid #171211;border-radius:50%;width:13px;height:13px;margin-top:-4.5px;box-shadow:0 0 0 1px #e8ddd250,0 2px 8px #0008}.playback-timeline input::-moz-range-track{background:#e8ddd229;border-radius:99px;height:4px}.playback-timeline input::-moz-range-progress{background:#eadfd0;border-radius:99px;height:4px}.playback-timeline input::-moz-range-thumb{background:#f3e8dd;border:2px solid #171211;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 1px #e8ddd250}.playback-speed{justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:visible}.playback-speed>button{color:#f8eee3;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:3px;width:100%;height:100%;padding:0 7px;font:600 .62rem DM Mono,monospace;display:flex}.playback-speed>button span{color:#ad9681;font-size:.55rem;transition:transform .2s}.playback-speed.open>button span{transform:rotate(180deg)}.speed-menu{z-index:8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#120d0bf2;border:1px solid #a6856955;border-radius:7px;gap:2px;width:72px;padding:5px;display:grid;position:absolute;bottom:calc(100% + 8px);right:-1px;box-shadow:0 18px 40px #0009}.speed-menu button{color:#cbb7a4;cursor:pointer;background:0 0;border:0;border-radius:4px;min-height:31px;font:600 .62rem DM Mono,monospace;transition:color .2s,background .2s}.speed-menu button:hover,.speed-menu button.active{color:#fff8ef;background:#e8ddd218}.speed-menu button.active{box-shadow:inset 2px 0 var(--sand)}.playback-speed:focus-within{outline-offset:2px;border-color:#e8ddd28c;outline:1px solid #e8ddd2}.viewport-options h3{margin-bottom:16px}.viewport-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.viewport-option-grid button{color:#d4c2b1;letter-spacing:.015em;text-align:left;cursor:pointer;background:#171211;border:1px solid #a6856945;border-radius:4px;align-items:center;gap:10px;min-height:44px;padding:0 12px;font:650 clamp(.64rem,.62vw,.7rem)/1.35 DM Mono,monospace;transition:color .2s,border-color .2s,background .2s;display:flex}.viewport-option-grid button i{border:1px solid #b88d64;border-radius:3px;flex:none;width:14px;height:14px;position:relative}.viewport-option-grid button.active{color:#fff8ef;background:#241914;border-color:#d5a97980}.viewport-option-grid button.active i{background:#e4a25f;border-color:#e4a25f}.viewport-option-grid button.active i:after{content:"✓";color:#17100c;place-items:center;font:800 .65rem Manrope,sans-serif;display:grid;position:absolute;inset:-2px 0 0}.viewport-option-grid button:hover{color:#fff8ef;border-color:#d5a97980}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.menu-index{color:#b28e6d;letter-spacing:.08em;font:650 .62rem DM Mono}@media (width>=761px){.work-detail{min-height:100svh;padding-top:clamp(92px,10vh,112px);padding-bottom:16px}.work-detail .detail-breadcrumb{margin-bottom:14px}.work-detail .character{border-bottom:0;height:calc(100svh - 164px);min-height:540px;padding:0;display:block}.work-detail .showcase{border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(320px,29%);height:100%;min-height:0;overflow:hidden}.work-detail .player{min-height:0}.work-detail .inspector-panel{scrollbar-width:thin;scrollbar-color:#7b5f48 transparent;min-height:0;overflow-y:auto}}.web-development{color:var(--cream);padding:clamp(100px,12vw,180px) 3.2vw}.web-development-inner{width:100%;max-width:1480px;margin:0 auto}.web-heading{grid-template-columns:170px minmax(0,1fr) minmax(260px,360px);align-items:start;gap:clamp(24px,3vw,52px);padding-bottom:clamp(64px,8vw,110px);display:grid}.web-heading .eyebrow{color:#eadfd0d1;margin:10px 0 0;font-weight:600}.web-heading h1{color:#f7ecdf;letter-spacing:-.055em;text-transform:none;text-shadow:none;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3.7rem,6.4vw,7rem);font-weight:500;line-height:.84}.web-heading>p:last-child{color:#eadbcbdb;margin:10px 0 0;font-size:clamp(.9rem,1vw,1rem);line-height:1.75}.web-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(44px,5vw,76px) clamp(24px,3vw,42px);display:grid}.web-project{min-width:0}.web-preview{aspect-ratio:16/10;background:#17110e;border:1px solid #e8ddd238;border-radius:14px;transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s;overflow:hidden;box-shadow:0 28px 60px #0d09073d}.browser-bar{background:#130e0deb;border-bottom:1px solid #e8ddd229;align-items:center;gap:6px;height:34px;padding:0 12px;display:flex}.browser-bar i{background:#a6856975;border-radius:50%;width:6px;height:6px}.browser-bar span{color:#d6c4b2a8;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:8px;font:400 .52rem DM Mono,monospace;overflow:hidden}.browser-viewport{background:linear-gradient(145deg,#34251b,#1b120e);height:calc(100% - 34px);position:relative;overflow:hidden}.browser-viewport iframe{transform-origin:0 0;pointer-events:none;background:#fff;border:0;width:200%;height:200%;position:absolute;inset:0;transform:scale(.5)}.web-project>a{border-bottom:1px solid #e8ddd232;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:132px;padding:25px 2px 20px;transition:border-color .3s,background .3s;display:grid}.web-project-number{color:#cfbdab;letter-spacing:.08em;font:600 .7rem DM Mono,monospace}.web-projects h3{color:#f5eadf;letter-spacing:-.02em;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.2rem,3.15vw,3.65rem);font-weight:500;line-height:1;transition:transform .35s}.web-projects p{color:#d7c5b4;letter-spacing:.1em;text-transform:uppercase;margin:10px 0 0;font:.66rem DM Mono,monospace}.web-project-action{color:#eadfd0;letter-spacing:.1em;text-transform:uppercase;justify-self:end;font:600 .66rem DM Mono,monospace}.web-project:hover .web-preview{border-color:#e8ddd278;transform:translateY(-5px);box-shadow:0 36px 75px #0d09075c}.web-project>a:hover{border-color:#e8ddd28c}.web-project>a:hover h3{transform:translate(4px)}.web-project>a:focus-visible{outline-offset:5px;outline:1px solid #fff8ef}.cta{color:var(--cream);text-shadow:0 2px 18px #1b120e8c;background:0 0;padding:clamp(56px,7vw,112px) clamp(20px,3.2vw,40px)}.cta-card{isolation:isolate;background:#11120d66;border:1px solid #e8ddd233;border-radius:32px;width:100%;max-width:1152px;min-height:clamp(384px,56vh,576px);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 28px 64px #11120d2e,inset 0 1px #fff0f00a}.cta-media,.cta-shade{position:absolute;inset:0}.cta-media{z-index:-2}.cta-media .cinematic-collage{z-index:0}.cta-media .cinematic-tile video{filter:saturate(.8)sepia(.06)contrast(1.05)}.cta-shade{z-index:-1;background:linear-gradient(#11120d5c 0%,#11120d8f 42%,#11120dc7 100%),radial-gradient(circle at top,#e8ddd20d,#0000 42%)}.cta-web .cta-card{-webkit-backdrop-filter:blur(8px)saturate(.85);backdrop-filter:blur(8px)saturate(.85);background:linear-gradient(#11120d63,#1b120e80)}.cta-web .cta-shade{background:linear-gradient(#11120d24,#11120d75)}.cta-content{flex-direction:column;justify-content:center;align-items:center;gap:clamp(48px,7vh,76px);min-height:clamp(384px,56vh,576px);padding:clamp(40px,6vw,72px);display:flex}.cta-card p{color:#f5eadf;letter-spacing:-.02em;text-align:center;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3rem,5.5vw,6rem);line-height:.94}.cta-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(650px,100%);display:grid}.cta-actions a{color:#f4e9dc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);letter-spacing:.19em;text-transform:uppercase;background:linear-gradient(#11120d8f,#11120d6b);border:1px solid #e8ddd238;justify-content:space-between;align-items:center;min-height:62px;padding:0 28px;font:600 .68rem DM Mono,monospace;transition:transform .25s,border-color .25s,background .25s;display:flex;box-shadow:0 18px 40px #11120d29,inset 0 1px #fff0f00a}.cta-actions a.cta-primary{color:#fff8ef;background:linear-gradient(#e8ddd226,#11120d75)}.cta-actions a:hover{border-color:#fff8ef;transform:translateY(-3px)}.cta-actions a:focus-visible{outline-offset:4px;outline:2px solid #fff8ef}footer{color:var(--cream);background:#130e0cf2;padding:0 3.2vw 28px}.footer-signature{opacity:.9;width:104px;height:78px;margin:0 auto 28px;transition:opacity .25s,transform .25s;display:block}.footer-signature img{object-fit:contain;width:100%;height:100%;display:block}.footer-signature:hover{opacity:1;transform:translateY(-3px)}.footer-signature:focus-visible{outline-offset:5px;outline:1px solid #fff8ef}.contact-list{border-top:1px solid #a685694d;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.contact-list>a{color:#f0e4d7;border-bottom:1px solid #a685694d;justify-content:space-between;align-items:flex-start;min-height:104px;padding:24px 0;transition:color .25s,padding .25s;display:flex}.contact-list>a+a{margin-left:34px}.contact-list>a:hover{color:#fff8ef;padding-left:4px}.contact-list>a:focus-visible{outline-offset:4px;outline:1px solid #fff8ef}.contact-list small{color:#cbb7a4;margin-top:6px;font:400 .61rem/1.7 DM Mono,monospace;display:block}.footer-line{color:#d8c9b9;justify-content:space-between;align-items:center;min-height:74px;padding-top:20px;font:.62rem DM Mono,monospace;display:flex}.footer-line a{color:#f4e9dc;border-bottom:1px solid #e8ddd260;transition:color .2s,border-color .2s}.footer-line a:hover,.footer-line a:focus-visible{color:#fff;border-color:#fff}.hero-bottom a,.about-copy .underlined,.education-block small,.character-heading p,.detail-breadcrumb,.model-interaction-hint small,.rig-labels span,.placeholder span,.player-meta,.inspector-info small,.playback-speed>button,.speed-menu button,.viewport-option-grid button,.menu-index,.browser-bar span,.web-project-number,.web-projects p,.web-project-action,.cta-actions a,.contact-list small,.footer-line,.mobile-menu a,.mobile-menu button{font-family:Manrope,sans-serif}.gateway-content h2,.about-copy h2,.credentials-heading h2,.experience-role h3,.character-group h3,.character-heading h2,.web-heading h1,.web-projects h3,.cta-card p{font-family:Cormorant Garamond,Georgia,serif}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-reveal,.scroll-reveal.is-visible{opacity:1;transition:none;transform:none}.experience-row,.experience-row:after,.experience-role h3,.featured-projects a{transition:none}.about,.credentials,.work,.cta,footer{animation:none}.intro-glow,.intro-lockup,.intro-signature-wrap img,.intro-signature-wrap i,.intro-lockup .wordmark{opacity:1;filter:none;animation:none;transform:none}.intro-overlay,.intro-overlay.is-leaving{-webkit-backdrop-filter:blur(44px)}.water-particles{display:none}.crab-vfx i{opacity:var(--sand-opacity);animation:none}.jellyfish-light{animation:none}}@media (width<=1050px){.credentials-heading,.experience-row{grid-template-columns:120px minmax(0,1fr) 180px;column-gap:clamp(18px,2.5vw,28px)}.experience-row{grid-template-areas:"date role studio"".focus studio"}.credentials-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px}.web-heading{grid-template-columns:130px minmax(0,1fr)}.web-heading>p:last-child{grid-column:2}.web-projects{gap-inline:24px}}@media (width<=760px){body:before{inset:-1vh -2vw}.site-header{height:78px;padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto}.site-header.scrolled{height:70px}.main-nav,.contact-link{display:none}.header-actions{gap:6px}.logo{gap:3px;min-width:0;overflow:hidden}.header-signature,.site-header.scrolled .header-signature{width:42px;height:42px}.logo .wordmark{min-width:0;font-size:clamp(1.05rem,5.4vw,1.45rem)}.logo .wordmark small{font-size:.19em}.menu-toggle{flex:none;width:42px;height:42px;padding:11px;display:flex}.language-switch button{padding:5px 7px}.mobile-menu{z-index:19;color:var(--cream);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);opacity:0;pointer-events:none;background:linear-gradient(#11120df2,#1b120ee8);border:1px solid #e8ddd229;border-radius:24px;flex-direction:column;gap:8px;padding:18px;transition:opacity .3s,transform .3s;display:flex;position:fixed;inset:84px 12px auto;transform:translateY(-14px);box-shadow:0 24px 60px #11120d70}.mobile-menu.open{opacity:1;pointer-events:auto;transform:none}.mobile-menu a,.mobile-menu button{width:100%;color:inherit;letter-spacing:.16em;text-align:left;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #e8ddd21c;border-radius:16px;justify-content:space-between;padding:17px 16px;font:.68rem DM Mono,monospace;display:flex}.discipline-gateway{padding:max(88px,calc(70px + env(safe-area-inset-top))) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));place-items:start center;overflow-y:auto}.gateway-language{top:18px;right:16px}.intro-lockup{gap:16px}.intro-signature-wrap{width:96px}.intro-lockup .wordmark{font-size:2.25rem}.gateway-content{justify-content:center;min-height:calc(100svh - 112px)}.gateway-content .wordmark{margin-bottom:clamp(26px,6vh,42px);font-size:clamp(2rem,10vw,2.8rem)}.gateway-content>.eyebrow{margin-bottom:18px}.gateway-content h2{margin-bottom:clamp(30px,7vh,42px);font-size:clamp(2.45rem,12.5vw,3.75rem);line-height:.88}.gateway-options{grid-template-columns:1fr;gap:10px}.gateway-options a{gap:14px;min-height:82px;padding:18px 20px}.intro-overlay{padding:20px}.intro-overlay:before{-webkit-backdrop-filter:blur(56px)saturate(.28);background:linear-gradient(#130e0bec,#1b120ef2);inset:-48px}.intro-lockup{width:min(100%,330px)}.intro-lockup .wordmark{max-width:100%;font-size:clamp(1.75rem,9vw,2.25rem)}.hero{width:100%;min-height:100svh;padding:max(92px,calc(76px + env(safe-area-inset-top))) max(14px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));grid-template-rows:minmax(0,1fr) auto}.hero-title{align-self:center;width:100%;min-width:0;overflow:visible;transform:translateY(-1.5vh)}h1{letter-spacing:-.055em;white-space:normal;width:100%;font-size:clamp(3.15rem,16vw,4.75rem);line-height:.8}.hero-title .eyebrow{letter-spacing:.055em;white-space:normal;width:min(100%,340px);max-width:none;margin:24px auto 0;padding-inline:4px;font-size:clamp(.48rem,2.05vw,.58rem);line-height:1.65}.cinematic-tile video{object-position:56% center}.hero-bottom{flex-direction:column;align-items:stretch;gap:14px}.hero-bottom p{text-align:center;margin:auto}.hero-bottom a{width:min(100%,260px);min-width:0;margin:auto}.about{grid-template-columns:1fr;gap:0;padding:14px}.about-image{aspect-ratio:4/4.6;border-radius:10px;height:auto;min-height:0}.about-copy{padding:52px 2px 66px}.about-mark{margin-bottom:34px}.about-mark .wordmark{font-size:clamp(1.85rem,9.4vw,2.35rem)}.about-copy>.eyebrow{text-align:center;gap:10px;margin-bottom:26px;font-size:.54rem}.about-copy>.eyebrow:before,.about-copy>.eyebrow:after{width:clamp(22px,8vw,34px)}.about-copy h2{margin:0 0 26px;font-size:clamp(2.65rem,13vw,3.8rem);line-height:.91}.bio{font-size:.94rem;line-height:1.68}.bio.secondary{font-size:.8rem;line-height:1.72}.about-copy .underlined{width:min(250px,100%);min-height:50px;margin-top:30px}.credentials,.work{padding-inline:16px}.credentials{padding-top:82px;padding-bottom:92px}.credentials:before{top:40px;left:16px;right:16px}.section-label{gap:16px;padding:22px 0 38px;font-size:.56rem;line-height:1.5}.work-index{min-height:auto;padding-bottom:72px}.character-catalog{border-radius:12px;margin-top:18px;padding:4px 12px}.character-group{padding:24px 0 28px}.character-group h3{margin-bottom:20px;font-size:1.25rem}.character-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.character-card{grid-template-columns:44px minmax(0,1fr);gap:9px}.character-preview{width:44px}.character-card>strong{font-size:.75rem}.credentials-heading{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:10px 0 27px}.credentials-heading h2{grid-column:1;font-size:clamp(2.8rem,14vw,4rem)}.credentials-heading p{grid-column:2;margin-bottom:.35rem;font-size:.7rem}.experience-list{margin-bottom:72px}.experience-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"date""role""studio""focus";gap:10px;padding:32px 0}.experience-row time{margin-bottom:3px}.experience-studio{text-align:left;justify-self:start;margin:1px 0 3px}.experience-role h3{overflow-wrap:anywhere;font-size:clamp(2.35rem,11vw,2.75rem)}.experience-focus{max-width:36rem}.experience-row:hover .experience-role h3,.experience-row:focus-visible .experience-role h3{transform:translate(4px)}.credentials-grid{grid-template-columns:1fr;gap:44px}.credentials-grid li{font-size:.9rem}.character{min-height:auto;padding:48px 0 72px;display:block}.character-heading{grid-template-columns:34px minmax(0,1fr);gap:18px 0;margin-bottom:26px}.character-heading h2{overflow-wrap:anywhere;font-size:clamp(2.65rem,12vw,4.25rem);line-height:.86}.character-heading .description{grid-column:2}.showcase{grid-template-columns:1fr}.work-detail{padding-top:80px}.work-detail .detail-breadcrumb{gap:9px;margin-bottom:14px;font-size:.76rem}.work-detail .character{padding:0 0 64px}.showcase{border-radius:10px;overflow:hidden}.player{aspect-ratio:1;touch-action:pan-y;min-height:0}.inspector-panel{border-top:1px solid #a6856955;border-left:0}.inspector-panel section{padding:24px 18px 26px}.inspector-panel h3{margin-bottom:19px;font-size:.92rem}.inspector-info strong{font-size:1.12rem}.inspector-info small{font-size:.64rem}.inspector-info p{max-width:42ch;margin-top:16px;font-size:.84rem}.animation-picker{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}.playback-controls{grid-template-columns:40px minmax(0,1fr) 48px;gap:6px}.playback-timeline{padding-inline:8px}.playback-timeline input{height:28px}.viewport-option-grid button{min-height:48px;padding-inline:10px}.model-interaction-hint{max-width:calc(100% - 24px);padding:6px 10px 6px 7px;bottom:16px}.model-interaction-hint small{text-overflow:ellipsis;overflow:hidden}.rig-labels span{font-size:.37rem}.water-particles i:nth-child(n+15){display:none}.player--pufferfish .water-particles i:nth-child(n+15){display:block}.player--pufferfish .water-particles i:nth-child(n+31),.crab-vfx i:nth-of-type(n+19){display:none}.animation-dropdown{margin-top:8px;position:relative;inset:auto}.web-development{padding:82px 16px 74px}.web-heading{padding-bottom:58px;display:block}.web-heading .eyebrow{margin:0 0 24px}.web-heading h1{font-size:clamp(3rem,15vw,4.5rem)}.web-heading>p:last-child{margin-top:30px;font-size:.9rem}.web-projects{grid-template-columns:1fr;gap:42px}.web-preview{aspect-ratio:4/3;border-radius:10px}.browser-viewport iframe{width:250%;height:250%;transform:scale(.4)}.web-project>a{grid-template-columns:38px minmax(0,1fr);gap:8px 12px;min-height:124px;padding:22px 0 18px}.web-projects h3{overflow-wrap:anywhere;font-size:clamp(2rem,10vw,2.8rem)}.web-project-action{grid-column:2;justify-self:start}.cta{padding:42px 14px}.cta-card{border-radius:20px;min-height:400px}.cta-content{gap:42px;min-height:400px;padding:36px 14px}.cta-card p{font-size:clamp(2.55rem,13vw,3.8rem);line-height:.9}.cta-actions{grid-template-columns:1fr}.cta-actions a{min-height:58px;padding-inline:20px;font-size:.62rem}footer{padding:0 max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.footer-signature{width:88px;height:68px;margin-bottom:20px}.contact-list{grid-template-columns:1fr}.contact-list>a{min-height:88px;padding:22px 0}.contact-list>a+a{margin-left:0}.footer-line{flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:12px}}@media (width<=390px){.hero{padding-inline:12px}h1{font-size:15.5vw}.hero-title .eyebrow{font-size:.47rem}.character-group>div{grid-template-columns:1fr}.character-card{grid-template-columns:48px minmax(0,1fr)}.character-preview{width:48px}.section-label span:last-child{display:none}.cta-card p{font-size:clamp(2.65rem,15vw,3.6rem)}}@media (width<=480px){.character-group>div{grid-template-columns:1fr}.character-card{grid-template-columns:48px minmax(0,1fr);min-height:52px}.character-preview{width:48px}.viewport-option-grid{grid-template-columns:1fr}.contact-list small{overflow-wrap:anywhere}}@media (width<=760px) and (height<=700px){.gateway-content{justify-content:flex-start;min-height:0}.gateway-content .wordmark{margin-bottom:22px;font-size:2rem}.gateway-content>.eyebrow{margin-bottom:12px}.gateway-content h2{margin-bottom:24px;font-size:clamp(2.2rem,10vw,3rem)}.gateway-options a{min-height:68px;padding-block:13px}.hero-title{transform:none}.hero-bottom p{display:none}}@media (width<=360px){.site-header{padding-inline:10px}.header-signature,.site-header.scrolled .header-signature{width:36px;height:36px}.logo .wordmark{font-size:1rem}.language-switch button{padding-inline:6px}.menu-toggle{width:40px;height:40px}.animation-picker{grid-template-columns:38px minmax(0,1fr) 38px}.playback-controls{grid-template-columns:38px minmax(0,1fr) 46px}}@media (width<=760px),(width<=1000px) and (height<=500px){.work-detail{padding:80px 10px 24px}.work-detail .character{border-bottom:0;height:auto;min-height:0;padding:0}.work-detail .showcase{border-radius:10px;grid-template-rows:44px minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(148px,42vw,240px);height:clamp(360px,100svh - 138px,680px);min-height:0;overflow:hidden}.mobile-viewer-toolbar{background:#17110e;border-bottom:1px solid #a6856945;grid-column:1/-1;justify-content:flex-end;display:flex}.mobile-viewer-toolbar button{min-height:44px;color:var(--cream);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0 12px;font:600 .72rem Manrope,sans-serif;display:flex}.mobile-viewer-toolbar button span{font-size:1.4rem}.mobile-viewer-toolbar button:focus-visible{outline:2px solid var(--sand);outline-offset:-3px}.work-detail .player{aspect-ratio:auto;min-width:0;height:100%;min-height:0}.work-detail .inspector-panel{scrollbar-width:thin;scrollbar-color:#7b5f48 transparent;border-top:0;border-left:1px solid #a6856955;min-height:0;overflow:hidden auto}.work-detail .inspector-panel section{padding:14px 10px}.work-detail .inspector-panel h3{margin-bottom:12px;font-size:.8rem}.work-detail .inspector-info>h3,.work-detail .inspector-avatar{display:none}.work-detail .inspector-info strong{overflow-wrap:anywhere;font-size:.95rem}.work-detail .inspector-info small{overflow-wrap:anywhere;font-size:.6rem;line-height:1.5}.work-detail .inspector-info p{margin-top:10px;font-size:.72rem;line-height:1.5}.work-detail .animation-picker{grid-template-columns:1fr 1fr;gap:6px}.work-detail .animation-picker .current-animation{grid-area:1/1/auto/-1;padding:8px}.work-detail .current-animation span:first-child{white-space:normal;overflow-wrap:anywhere;text-align:left;font-size:.8rem}.work-detail .animation-picker button{min-height:44px}.work-detail .playback-controls{grid-template-columns:1fr 1fr;gap:6px}.work-detail .playback-timeline{grid-area:1/1/auto/-1;height:44px;padding-inline:10px}.work-detail .playback-timeline input{height:40px}.work-detail .playback-controls>button,.work-detail .playback-speed{height:44px}.work-detail .playback-speed>button{font-size:.72rem}.work-detail .speed-menu button{min-height:44px;font-size:.72rem}.work-detail .animation-dropdown{margin-top:8px;position:relative;inset:auto}.work-detail .animation-dropdown label{min-height:44px;padding-inline:8px}.work-detail .animation-dropdown input{font-size:16px}.work-detail .animation-menu{max-height:220px}.work-detail .animation-menu button{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) auto;gap:4px;min-height:44px;padding:10px 8px;font-size:.76rem}.work-detail .animation-menu .menu-index{display:none}.work-detail .viewport-option-grid{grid-template-columns:1fr;gap:6px}.work-detail .viewport-option-grid button{gap:7px;min-height:44px;padding:8px;font-size:.65rem}.work-detail .player-meta{gap:5px;font-size:.52rem;inset:auto 8px 8px}.work-detail .model-interaction-hint{bottom:32px}.work-detail .mobile-controls-collapsed{grid-template-columns:minmax(0,1fr)}.work-detail .mobile-controls-collapsed .inspector-panel{display:none}}@media (width<=1000px) and (height<=500px){.work-detail{padding-top:100px}.work-detail .showcase{height:max(220px,100svh - 154px)}}.character-card.character-card--model{grid-template-columns:52px minmax(0,1fr);justify-items:stretch;gap:13px;padding:0}.character-card--model .character-preview{aspect-ratio:auto;width:52px;height:52px;box-shadow:none;background:0 0;border:0;border-radius:0}.character-card--model .character-preview img{object-fit:contain;filter:none;transform:none}.character-card--model:hover .character-preview img{filter:none;transform:scale(1.03)}.character-card.character-card--model>strong{white-space:nowrap;text-align:left;max-width:100%}.inspector-avatar.inspector-avatar--model{background:0 0;border:0;border-radius:0;width:52px}.inspector-avatar.inspector-avatar--model img{object-fit:contain}@media (width<=700px){.character-card.character-card--model{grid-template-columns:48px minmax(0,1fr);gap:9px}.character-card--model .character-preview{width:48px;height:48px}}.gateway-content h1{font:inherit;margin:0}.gateway-specialties{max-width:660px;color:var(--cream);margin:-30px 0 28px;font-size:.8rem;line-height:1.8}.gateway-content .area-links{gap:10px 18px;margin:24px 0 0;padding:0;font-size:.7rem}.discipline-gateway{isolation:isolate;min-height:100svh;position:relative;overflow:visible}.area-links{color:var(--cream);flex-wrap:wrap;justify-content:center;gap:16px 28px;padding:28px max(24px,5vw);font-size:.85rem;line-height:1.6;display:flex}.area-links a{text-underline-offset:5px;text-decoration:underline}.skip-link{z-index:200;color:var(--ink);background:var(--cream);padding:12px 18px;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--cream);outline-offset:4px}.seo-page{width:min(1440px,100%);color:var(--cream);margin:auto;padding:150px 5vw 64px}.seo-page h1{overflow-wrap:anywhere;margin:24px 0;font:500 clamp(2.5rem,5vw,5rem)/1.05 Cormorant Garamond,Georgia,serif}.seo-page h2,.web-section-title{color:var(--cream);margin:40px 0 20px;font:500 clamp(1.7rem,3vw,2.6rem)/1.2 Cormorant Garamond,Georgia,serif}.seo-page p{max-width:850px;font-size:1rem;line-height:1.85}.seo-page nav{font-size:.85rem;line-height:1.8}.seo-project-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.seo-project-list article{border-bottom:1px solid #e8ddd240;padding:18px 0}.seo-project-list h3{margin:0;font:500 1.6rem Cormorant Garamond,Georgia,serif}.seo-project-list p{font-size:.85rem}.seo-about{grid-template-columns:minmax(160px,320px) minmax(0,1fr);align-items:start;gap:48px;display:grid}.seo-about img{width:100%;height:auto}.clip-list{margin:24px 0;line-height:1.8}.clip-list summary{cursor:pointer}.clip-list ul{columns:3;padding-left:24px}.browser-viewport>img{object-fit:cover;width:100%;height:100%}.web-project-credit{font-size:.75rem;line-height:1.6}.web-heading>.web-section-title{margin-top:30px}.language-switch button:not(.active){opacity:.85}@media (width<=700px){.gateway-specialties{margin:-12px 0 22px;font-size:.7rem}.seo-page{padding:120px 20px 40px}.seo-project-list{grid-template-columns:1fr}.seo-about{grid-template-columns:1fr;gap:20px}.seo-about img{max-width:240px}.clip-list ul{columns:2}.wordmark small{font-size:.16em}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-reveal{opacity:1;transition:none;transform:none}}.seo-viewer.work-detail{min-height:0;padding:0}.main-nav a,.main-nav button{color:var(--cream)}.seo-page{background:#1b120ee6}
