@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/dm-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/dm-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/dm-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/dm-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/dm-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/dm-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/manrope-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/manrope-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/manrope-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/manrope-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/manrope-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/manrope-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/manrope-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/manrope-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/manrope-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/manrope-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/manrope-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/manrope-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/manrope-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/manrope-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/manrope-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/manrope-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/manrope-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/manrope-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/manrope-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/manrope-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.selected-work-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.selected-work-actions>span{font-size:13px;color:var(--muted)}.all-works-button{display:inline-flex;align-items:center;gap:26px;padding:13px 22px;border:1px solid #f1844680;border-radius:30px;background:#f1844612;color:var(--accent);font-size:14px;transition:background .15s,color .15s}.all-works-button:hover{background:var(--accent);color:#201914}@media(max-width:650px){.selected-work-actions{align-items:flex-start;margin-top:24px;gap:12px}.all-works-button{padding:11px 18px}}:root{font-family:DM Sans,Microsoft YaHei,sans-serif;color:#edeee8;background:#111212;font-synthesis:none;font-weight:400;--muted:#9c9e99;--accent:#f18446;--accent-hover:#ffa771;--surface:#191a1b;--line:#363638}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button{background:none;border:0}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:#111}.shell{width:calc(100% - 112px);max-width:1700px;margin:0 auto}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--accent);color:#111;padding:16px}.skip:focus{top:12px}header{position:absolute;z-index:10;top:0;width:100%}.nav{height:110px;display:flex;align-items:center;border-bottom:1px solid #ffffff30;gap:32px}.logo{font-size:49px;font-weight:800;letter-spacing:-6px;line-height:1}.logo span{font-size:14px;letter-spacing:0;vertical-align:top;padding-left:8px}.nav-name{font-size:14px;font-weight:600;letter-spacing:1.8px}.nav-name span{display:block;font-size:10px;letter-spacing:1px;margin-top:7px;color:#b1b4ae}nav{display:flex;gap:38px;margin-left:auto;font-size:14px}nav a:hover{color:var(--accent)}.contact-link{margin-left:32px;border:1px solid #817973;border-radius:30px;padding:13px 22px;font-size:14px;display:flex;gap:30px;align-items:center}.contact-link:hover{background:var(--accent);color:#201914}.menu{display:none}.hero{min-height:850px;height:100svh;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#171c1c}.hero-media{position:absolute;inset:0}.hero video{width:100%;height:100%;object-fit:cover;opacity:.65}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#090d10a6,transparent 95%),linear-gradient(0deg,#111212 1%,#11121215 60%,#10111170)}.hero-content{position:relative;padding-top:170px;padding-bottom:45px}.eyebrow{font-size:12px;letter-spacing:1.7px;line-height:1.8}.cross{color:var(--accent);font-size:21px;margin-right:12px}.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(70px,7.9vw,146px);font-weight:500;line-height:1.08;letter-spacing:-.065em;margin:32px 0 36px;position:relative;max-width:1450px}em{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.055em}.hero h1 em{color:var(--accent)}.title-star{font-size:.67em;position:absolute;right:9%;bottom:10%;color:var(--accent);font-weight:400}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between}.hero-bottom p{font-size:17px;line-height:1.9;color:#dddeda;letter-spacing:1px;margin:0 0 25px}.pill{display:inline-flex;align-items:center;gap:46px;background:#e8e5dc;color:#201914;padding:16px 24px;border-radius:40px;font-size:14px}.pill:hover{background:var(--accent)}.reel-meta{display:flex;flex-direction:column;gap:16px;font-size:12px;letter-spacing:1.5px;align-items:flex-end}.reel-meta button,.reel-meta a{border:1px solid #7b746e;border-radius:30px;padding:10px 17px;font-size:12px;letter-spacing:0}.hero-foot{position:relative;border-top:1px solid #ffffff26;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.4px;padding:24px 0 27px;color:#a8ada4}.section{padding-top:100px;padding-bottom:100px}.section-label{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid var(--line);font-size:12px;letter-spacing:1.2px;color:#adafa8}.section-label>span:last-child{font-size:13px;letter-spacing:1px}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;margin-top:68px}.portrait{margin:0;max-width:480px;position:relative}.portrait img{width:100%;height:550px;object-fit:cover;filter:grayscale(1);object-position:50% 38%}.portrait figcaption{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;margin-top:20px}.portrait figcaption span{color:var(--muted);font-size:10px}.muted{color:var(--muted)}h2{font-weight:500;letter-spacing:-2px;font-size:clamp(38px,4vw,70px);line-height:1.25;margin:22px 0 28px}.accent{color:var(--accent)}.about-copy>p{font-size:16px;line-height:1.95;color:#a7aaa3;max-width:650px}.experience{border-bottom:1px solid var(--line);padding:16px 0;display:flex;justify-content:space-between;gap:18px;font-size:14px}.experience span:last-child{color:var(--muted)}.text-link{display:inline-flex;gap:40px;margin:24px 0;color:var(--accent);font-size:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding-top:25px;gap:20px}.stats>div{display:flex;flex-direction:column;gap:9px}.stats strong{font-weight:400;font-size:46px;letter-spacing:-2px}.stats strong span{font-size:14px;letter-spacing:0;margin-left:7px}.stats>div>span{font-size:12px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin:35px 0 55px;gap:25px}.section-title h2{margin:0;font-size:clamp(48px,5.1vw,86px);line-height:1.12}.section-title>span,.section-title>p{font-size:14px;color:var(--muted);line-height:1.9}.projects{display:grid;grid-template-columns:1fr 1fr;gap:38px}.project:nth-child(2){margin-top:110px}.project-image{height:450px;position:relative;background:#202323;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.project:hover img{transform:scale(1.045)}.project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 45%);pointer-events:none}.project-index{position:absolute;top:22px;left:22px;background:#111a;border:1px solid #fff4;padding:7px 10px;font-size:12px;z-index:1}.project-open{position:absolute;right:22px;top:22px;width:45px;height:45px;border-radius:50%;background:#edeee8;color:#111;display:grid;place-items:center;font-size:26px;z-index:1}.project-tag{position:absolute;bottom:23px;left:23px;z-index:1;font-size:11px;letter-spacing:1px}.project-caption{display:flex;justify-content:space-between;gap:20px;padding-top:23px}.project-caption h3{font-size:27px;font-weight:500;margin:0;letter-spacing:-.5px}.project-caption p{font-size:14px;color:var(--muted);margin:10px 0}.project-caption>span{font-size:12px;color:var(--muted);padding-top:9px}.skills{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.skill{padding:28px;border-right:1px solid var(--line);background:var(--surface);transition:background .3s}.skill:last-child{border:0}.skill:hover{background:#28221f}.skill-top{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:62px}.skill-top span:last-child{font-size:23px;color:var(--accent)}.skill h3{font-size:25px;font-weight:500;letter-spacing:-1px;margin:0 0 14px}.skill h4{font-weight:400;font-size:16px;margin:0}.skill p{color:var(--muted);font-size:14px;line-height:1.95;min-height:108px;margin:27px 0}.skill-tag{display:block;font-size:10px;color:#bcb5ae;letter-spacing:.4px;padding-top:22px;border-top:1px solid var(--line)}.contact{min-height:100svh;background:#171819;color:#e8e5dc;margin-top:60px}.contact-inner{display:flex;flex-direction:column;min-height:100svh;padding-top:48px}.contact .section-label{border-color:#45403d;color:#b9afa8}.contact .eyebrow{margin:85px 0 20px}.contact h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(90px,11.6vw,198px);line-height:1.05;letter-spacing:-.07em;margin:0;position:relative}.contact h2 em{font-family:Georgia,serif}.contact h2>a{position:absolute;right:8%;top:25%;font-family:Arial,sans-serif;line-height:1;font-size:.7em;transition:transform .3s}.contact h2>a:hover{transform:translate(8px,-8px)}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;padding:45px 0 70px;gap:30px}.contact-bottom p{font-size:16px;line-height:1.9}.contact-bottom>div{display:flex;flex-direction:column;align-items:flex-end;gap:16px}.phone{font-size:clamp(24px,2.6vw,42px);letter-spacing:-1px}.copy{font-size:13px;border-bottom:1px solid #8e7567;padding:8px 0}.contact footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #45403d;padding:25px 0;font-size:11px;letter-spacing:1px}.footer-name{font-size:17px;font-weight:600;letter-spacing:1px}@media(min-width:1800px){.hero-content{padding-bottom:65px}.hero h1{margin:45px 0}.project-image{height:530px}}@media(max-width:1050px){.shell{width:calc(100% - 64px)}.nav-name{display:none}.hero{min-height:760px}.title-star{right:3%}.about-grid{gap:6%}.portrait img{height:490px}.skills{grid-template-columns:1fr 1fr}.skill:nth-child(2){border-right:0}.skill:nth-child(-n+2){border-bottom:1px solid var(--line)}.project-image{height:330px}.project-caption{flex-direction:column;gap:0}.stats strong{font-size:36px}.contact .eyebrow{margin-top:70px}}@media(max-width:650px){.shell{width:calc(100% - 40px)}.nav{height:84px;gap:16px}.logo{font-size:40px}.menu{display:block;margin-left:auto;font-size:13px}.contact-link{margin-left:0;padding:10px 14px;gap:12px;font-size:12px}nav{display:none;position:absolute;top:84px;left:0;width:100%;padding:25px;background:var(--surface)}nav.open{display:flex;justify-content:center}.hero{min-height:760px;max-height:1050px}.hero-content{padding-top:140px;padding-bottom:32px}.eyebrow{font-size:10px;letter-spacing:1px}.hero h1{font-size:clamp(43px,10.4vw,67px);margin:35px 0 50px}.title-star{display:none}.hero-bottom{gap:22px;align-items:flex-start;flex-direction:column}.hero-bottom p{font-size:15px}.reel-meta{align-items:flex-start;flex-direction:row;align-items:center;gap:13px;font-size:9px}.reel-meta button{font-size:10px}.hero-foot{font-size:9px;letter-spacing:.4px;gap:20px}.section{padding-top:64px;padding-bottom:40px}.section-label{font-size:10px;gap:15px}.section-label>span:last-child{font-size:11px}.about-grid{grid-template-columns:1fr;margin-top:35px;gap:40px}.portrait{max-width:none}.portrait img{height:430px}.about-copy h2{font-size:37px;letter-spacing:-1px}.stats{gap:12px}.stats>div>span{font-size:10px;line-height:1.6}.stats strong{font-size:40px}.section-title{margin:30px 0;display:block}.section-title h2{font-size:43px;letter-spacing:-1.5px}.section-title>span{display:block;margin-top:20px}.projects{grid-template-columns:1fr;gap:40px}.project:nth-child(2){margin-top:0}.project-image{height:310px}.project-caption h3{font-size:25px}.skills{grid-template-columns:1fr}.skill{border-right:0;border-bottom:1px solid var(--line);padding:26px}.skill-top{margin-bottom:34px}.skill p{min-height:0}.contact{margin-top:35px;min-height:780px}.contact-inner{min-height:780px;padding-top:30px}.contact .eyebrow{margin:65px 0 25px}.contact h2{font-size:clamp(62px,15vw,97px)}.contact h2>a{right:0;top:35%;font-size:.5em}.contact-bottom{align-items:flex-start;flex-direction:column;padding:20px 0 45px}.contact-bottom>div{align-items:flex-start}.phone{font-size:28px}.contact footer{flex-wrap:wrap;gap:23px;font-size:9px}.footer-name{width:100%;font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}.contact h2 em,.contact h2>a{color:var(--accent)}.section-title h2 em{color:var(--accent)}.project:hover .project-open{background:var(--accent)}.site-header.is-floating{position:fixed;top:14px;left:0;width:100%;z-index:50;animation:nav-arrive .28s ease-out}.site-header.is-floating .nav{height:72px;padding:0 24px;border:1px solid transparent;border-radius:14px;background:#171819b8;-webkit-backdrop-filter:blur(22px) saturate(130%);backdrop-filter:blur(22px) saturate(130%);box-shadow:0 12px 40px #0005}.site-header.is-floating .logo{font-size:38px;letter-spacing:-4px}.site-header.is-floating .contact-link{border-color:#f1844666;background:#f1844610;padding:10px 18px}.site-header.is-floating .contact-link:hover{background:var(--accent);color:#201914}@keyframes nav-arrive{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header.is-floating .nav{background:#191a1bf5}}@media(max-width:650px){.site-header.is-floating{top:10px}.site-header.is-floating .nav{height:64px;padding:0 14px;width:calc(100% - 24px);gap:12px}.site-header.is-floating .contact-link{padding:9px 12px}.site-header.is-floating nav{top:74px;left:12px;width:calc(100% - 24px);border:1px solid transparent;border-radius:12px;background:#171819ed;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}}.about-copy .experience{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;line-height:1.6}.about-copy .experience span:last-child{text-align:right}.practice-summary strong{font-size:clamp(18px,1.6vw,26px);line-height:1.3;letter-spacing:-.5px}.practice-summary>div>span{line-height:1.7}@media(max-width:650px){.about-copy .experience{grid-template-columns:1fr;gap:6px}.about-copy .experience span:last-child{text-align:left}.practice-summary{grid-template-columns:1fr;gap:22px}.practice-summary strong{font-size:23px}.practice-summary>div>span{font-size:12px}}.portrait-contacts{margin-top:28px;padding:22px 18px;background:#191a1b1a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:19px}.portrait-contacts>a{display:flex;justify-content:space-between;align-items:baseline;gap:15px;font-size:13px;line-height:1.6}.portrait-contacts>a>span:first-child{color:var(--muted);flex-shrink:0}.portrait-contacts>a>span:last-child{text-align:right;overflow-wrap:anywhere}.portrait-contacts>a:hover{color:var(--accent)}@media(max-width:1050px)and (min-width:651px){.portrait-contacts>a{flex-direction:column;gap:3px}.portrait-contacts>a>span:last-child{text-align:left}}@media(min-width:651px){.about-grid{align-items:stretch}.about-grid>.portrait,.about-grid>.about-copy{display:flex;flex-direction:column;min-width:0}.about-grid>.portrait>img{flex-shrink:0}.about-grid .portrait-contacts{margin-top:auto;padding-top:28px}.about-grid>.about-copy{padding-bottom:22px}.about-grid .practice-summary{margin-top:auto}}.about-resume{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;padding:25px 0 14px}.about-resume a{display:inline-flex;align-items:center;gap:24px;font-size:13px;line-height:1.5}.resume-view{padding:12px 21px;border:1px solid #f1844680;border-radius:999px;background:#f1844610;color:var(--accent);transition:background .2s,color .2s}.resume-view:hover{background:var(--accent);color:#201914}.resume-download{padding:10px 0;color:var(--muted);transition:color .2s}.resume-download:hover{color:var(--accent)}.vfx-hero{--orange:var(--accent);min-height:850px;background:#101112}.vfx-hero .shade{background:linear-gradient(0deg,#101112 1%,#10111244 35%,#10111277),linear-gradient(90deg,#10111266,#10111233 50%,#10111288)}.vfx-hero video{opacity:.52;filter:saturate(.55)}.viewport-grid{position:absolute;inset:110px 0 0;pointer-events:none;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:70px 70px;-webkit-mask-image:linear-gradient(transparent,#0009 35%,#000 70%,transparent);mask-image:linear-gradient(transparent,#0009 35%,#000 70%,transparent)}.vfx-hero .hero-content{padding-top:145px;padding-bottom:0;flex:1;display:flex;flex-direction:column;justify-content:space-between}.viewport-top{display:flex;justify-content:space-between;font:11px DM Sans,Microsoft YaHei,sans-serif;letter-spacing:1px;color:#b5b5ae}.viewport-top i{display:inline-block;width:6px;height:6px;background:var(--orange);margin-right:12px}.title-stage{position:relative;flex:1;min-height:460px;display:flex;align-items:center;justify-content:center;padding:45px 0 65px}.artist-title{width:fit-content;position:relative;z-index:2}.title-caption{display:block;font:11px DM Sans,Microsoft YaHei,sans-serif;letter-spacing:1px;margin-bottom:25px;color:#c7c7be}.title-bounds{position:relative;border:1px solid #dad9cf26;padding:12px 22px 22px}.vfx-hero h1{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:clamp(100px,10.2vw,185px);line-height:.88;letter-spacing:-.075em;margin:0;max-width:none;display:flex;flex-direction:column}.vfx-hero h1>span{display:block}.surname{color:var(--orange);padding-left:55px}.name-period{color:#e8e5dc}.corner{position:absolute;width:8px;height:8px;border:1px solid #f1b18a;background:#171819}.tl{top:-4px;left:-4px}.tr{top:-4px;right:-4px}.bl{bottom:-4px;left:-4px}.br{bottom:-4px;right:-4px}.artist-stamp{position:absolute;right:-29px;top:43%;background:#e6e1d5;color:#20221e;padding:9px 15px;font:11px/1.4 DM Sans,Microsoft YaHei,sans-serif;letter-spacing:1px;transform:rotate(-7deg);box-shadow:0 3px 15px #0004}.artist-role{font:14px DM Sans,Microsoft YaHei,sans-serif;letter-spacing:1px;text-align:center;margin:24px 0 0}.artist-role>span{color:var(--orange);margin:0 10px}.software-card{position:absolute;left:7%;top:22%;display:flex;flex-direction:column;align-items:center;transform:rotate(-12deg);filter:drop-shadow(0 20px 20px #0008)}.software-card img{width:100px;height:100px}.software-card>span{font:12px DM Sans,Microsoft YaHei,sans-serif;letter-spacing:3px;margin:15px 0 8px}.software-card small{font:11px DM Sans,Microsoft YaHei,sans-serif;color:#a4a8a6;letter-spacing:1px}.node-panel{position:absolute;right:2%;top:26%;width:190px;transform:rotate(6deg);font-family:Courier New,monospace}.network-path{font-size:10px;margin-bottom:20px;color:#adada5}.fx-node{border:1px solid #777b7580;background:#1a1d1cde;display:flex;gap:10px;align-items:center;padding:10px;position:relative;box-shadow:0 8px 24px #0004}.fx-node b{display:block;font-size:12px;font-weight:400;color:#eceae3}.fx-node small{font-size:8px;letter-spacing:1px;color:#a0a49d;display:block;margin-top:6px}.node-symbol{font-size:22px;color:#c4c6bc}.fx-node i{width:5px;height:5px;background:#84a7b4;margin-left:auto}.active-node{border-color:var(--orange);box-shadow:0 0 0 3px #e9854320}.active-node .node-symbol{color:var(--orange)}.node-wire{display:block;width:1px;height:29px;background:#e2af7a99;margin:auto;position:relative}.node-wire:after{content:"";width:5px;height:5px;position:absolute;background:#e2af7a;left:-2px;bottom:-2px;border-radius:50%;z-index:2}.output-node{border-bottom:3px solid var(--accent)}.network-caption{display:block;font-size:9px;letter-spacing:1px;margin-top:18px;color:#a5a69e}.axis-gizmo{position:absolute;bottom:35px;left:5%;width:90px}.axis-gizmo svg{width:85px;height:72px;overflow:visible}.axis-gizmo text{font:10px monospace;fill:#bbb}.axis-gizmo>span{font:9px monospace;letter-spacing:1px;color:#93988f}.tool-strip{position:absolute;bottom:23px;right:0;display:flex;gap:8px;align-items:center;font:11px Courier New,monospace}.tool-strip>span{color:#a2a69f;margin-right:8px}.tool-strip b{font-weight:400;padding:7px 9px;border:1px solid #c1c8b33b;background:#181b1977}.tool-strip b:first-of-type{color:var(--orange);border-color:#f1844666}.vfx-hero .hero-bottom{padding:20px 0 27px;align-items:center;gap:24px}.vfx-hero .hero-bottom p{font-size:14px;line-height:1.65;margin:0;color:#c6c8bf;letter-spacing:.4px}.vfx-hero .pill{background:var(--orange);border-radius:3px;padding:15px 20px;gap:35px}.vfx-hero .pill:hover{background:#ffa771}.vfx-hero .reel-meta{font:11px DM Sans,Microsoft YaHei,sans-serif;gap:10px}.vfx-hero .reel-meta button{border-radius:3px}.reel-timeline{display:flex;gap:18px;align-items:center;font:10px Courier New,monospace;color:#acada6;padding:16px 0 20px}.timeline-track{height:14px;flex:1;position:relative;border-bottom:1px solid #ffffff30;background:repeating-linear-gradient(90deg,#ffffff30 0 1px,transparent 1px 15px) bottom/100% 6px no-repeat}.timeline-progress{height:1px;background:var(--orange);position:absolute;bottom:-1px;max-width:100%}.timeline-progress:after{content:"";position:absolute;right:0;bottom:0;height:17px;width:2px;background:var(--orange)}.vfx-hero .hero-foot{font:11px DM Sans,Microsoft YaHei,sans-serif;padding:19px 0}.portrait figcaption{gap:20px}.portrait figcaption span{text-align:right}@media(min-width:1800px){.title-stage{min-height:530px}.software-card img{width:125px;height:125px}.node-panel{right:4%}}@media(max-width:1100px){.software-card{left:0;top:16%}.software-card img{width:74px;height:74px}.software-card small{display:none}.node-panel{right:0;width:150px;top:33%}.fx-node small{font-size:7px}.vfx-hero h1{font-size:clamp(100px,12vw,145px)}.title-bounds{padding-left:10px;padding-right:10px}.surname{padding-left:25px}.artist-role{font-size:12px;letter-spacing:1px}.node-symbol{font-size:17px}.title-caption{font-size:10px;letter-spacing:1px}}@media(max-width:760px){.node-panel{display:none}.title-stage{min-height:460px;padding-top:85px}.software-card{top:12px;left:calc(50% - 25px);transform:rotate(-9deg)}.software-card img{width:50px;height:50px}.software-card>span{display:none}.vfx-hero .hero-content{padding-top:113px}.viewport-grid{inset:84px 0 0}.viewport-top{font-size:9px;letter-spacing:.3px}.vfx-hero h1{font-size:clamp(85px,19vw,135px)}.artist-title{max-width:90%}.title-caption{font-size:8px;letter-spacing:1px}.artist-role{font-size:10px;letter-spacing:.5px}.artist-role>span{margin:0 4px}.artist-stamp{right:-10px;font-size:8px;padding:7px 9px}.axis-gizmo{left:0;bottom:0;width:60px}.axis-gizmo svg{width:48px;height:40px}.axis-gizmo>span{font-size:7px}.tool-strip{bottom:10px;font-size:9px;gap:5px}.tool-strip>span{display:none}.tool-strip b{padding:5px 7px}.vfx-hero{min-height:900px;height:100svh;max-height:none}.vfx-hero .hero-bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:17px}.vfx-hero .hero-bottom p{font-size:12px;grid-column:1/-1}.vfx-hero .pill{font-size:11px;padding:12px;gap:15px}.vfx-hero .reel-meta{align-items:flex-end;flex-direction:column;font-size:8px}.reel-timeline{font-size:8px;gap:12px}.vfx-hero .hero-foot{font-size:8px;letter-spacing:0;gap:18px}.vfx-hero .hero-foot>span{max-width:55%;line-height:1.6}}.vfx-hero .title-stage{justify-content:flex-start;align-items:flex-end;padding:55px 0 24px;min-height:450px}.vfx-hero .artist-title{margin:0;max-width:64%}.vfx-hero .title-caption{margin-bottom:18px}.vfx-hero h1{font-size:clamp(95px,9vw,158px)}.vfx-hero .artist-role{text-align:left;padding-left:20px}.vfx-hero .software-card{left:auto;right:28%;top:14%}.vfx-hero .node-panel{right:2%;top:26%}.vfx-hero .axis-gizmo{left:auto;right:4%;bottom:24px}.vfx-hero .hero-bottom{justify-content:flex-start}.vfx-hero .hero-bottom .reel-meta{margin-left:auto}.software-banner{position:relative;display:flex;background:var(--accent);color:#201914;border-top:5px solid #111212;border-bottom:5px solid #111212;min-height:80px}.software-marquee{overflow:hidden;flex:1;display:flex;align-items:center}.software-track{display:flex;width:max-content;animation:software-scroll 38s linear infinite;will-change:transform}.software-group{display:flex;flex-shrink:0;align-items:center}.software-item{display:flex;align-items:center;flex-shrink:0;white-space:nowrap;gap:32px;padding-right:32px;font-family:Arial Narrow,Roboto Condensed,Impact,sans-serif;font-stretch:condensed;font-size:26px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:-.5px}.software-item>span{font-size:27px;font-family:Arial,sans-serif}.banner-toggle{flex-shrink:0;width:54px;border-left:1px solid #20191433;background:var(--accent);font-size:21px;z-index:1}.banner-toggle:hover{background:var(--accent-hover)}.banner-toggle:focus-visible{outline:2px solid #201914;outline-offset:-6px}.software-banner:hover .software-track,.software-banner:focus-within .software-track,.software-banner.is-paused .software-track{animation-play-state:paused}@keyframes software-scroll{to{transform:translate(-50%)}}@media(max-width:1100px){.vfx-hero .artist-title{max-width:72%}.vfx-hero .software-card{right:25%;top:9%}.vfx-hero h1{font-size:clamp(95px,12vw,135px)}}@media(max-width:760px){.vfx-hero .title-stage{padding-top:100px;min-height:420px}.vfx-hero .artist-title{max-width:94%}.vfx-hero h1{font-size:clamp(84px,20vw,135px)}.vfx-hero .software-card{right:12px;left:auto;top:24px}.vfx-hero .artist-role{padding-left:10px}.vfx-hero .axis-gizmo{display:none}.vfx-hero .hero-bottom .reel-meta{margin-left:0}.software-banner{min-height:65px}.software-item{font-size:21px;gap:23px;padding-right:23px}.software-item>span{font-size:23px}.banner-toggle{width:42px}.software-track{animation-duration:32s}}@media(prefers-reduced-motion:reduce){.software-track{animation:none;transform:none}.software-marquee{overflow-x:auto}.software-group[aria-hidden=true],.software-item[aria-hidden=true],.banner-toggle{display:none}.software-item{font-size:20px;padding:20px;gap:25px}.software-track{will-change:auto}}.vfx-hero .hero-foot{font-size:11px;line-height:1.5;letter-spacing:.07em;gap:20px}.vfx-hero .hero-foot>a{font-size:12px;font-weight:500;letter-spacing:.04em;white-space:nowrap}.vfx-hero .viewport-top{font-size:11px;letter-spacing:.08em}.vfx-hero .reel-meta>span{font-size:11px;letter-spacing:.06em}@media(max-width:650px){.vfx-hero .hero-foot{flex-wrap:wrap;gap:12px;font-size:10px}.vfx-hero .hero-foot>a{font-size:11px}}:root{--glass-bg:rgba(38,36,34,.5);--glass-border:rgba(244,228,210,.23);--glass-shadow:inset 0 1px 0 #ffffff16,0 5px 20px #0002}body :is(button,.pill,.contact-link,.project-open,.contact h2>a){background:var(--glass-bg);color:#ede9e2;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--glass-shadow);transition:background .2s,border-color .2s,color .2s}body :is(button,.pill,.contact-link,.project-open,.contact h2>a):hover{background:#f1844633;border-color:#f1844699;color:#ffad7d}body .vfx-hero .pill,body .site-header.is-floating .contact-link{background:#f1844626;color:#ffd8bd;border-color:#f1844680}body .vfx-hero .pill:hover,body .site-header.is-floating .contact-link:hover,body .project:hover .project-open{background:#f1844647;color:#ffe6d5}body .copy{padding:11px 16px;border-radius:8px}body .menu{padding:9px 12px;border-radius:8px}body .banner-toggle{background:#ffffff26;color:#24170e;border-color:#fff4}body .banner-toggle:hover{background:#ffffff45;color:#111}body .contact h2>a{display:grid;place-items:center;width:1.3em;height:1.3em;border-radius:50%;font-size:.55em}.site-header nav{align-items:center;gap:26px}.work-menu{position:relative}body .work-trigger{display:flex;align-items:center;gap:9px;border-radius:8px;padding:9px 12px;font-size:14px;line-height:20px}.work-trigger>span{transition:transform .25s}.work-menu.is-open .work-trigger>span{transform:rotate(180deg)}.work-dropdown{position:absolute;top:100%;left:-18px;width:290px;padding:24px 18px 18px;z-index:60;opacity:0;visibility:hidden;transform:translateY(-6px);clip-path:inset(0 0 100% 0);transition:opacity .18s,transform .25s,clip-path .3s,visibility .3s;background:#191a1bdb;border:1px solid #ffffff26;border-radius:12px;box-shadow:0 16px 40px #0006,inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(24px) saturate(135%);backdrop-filter:blur(24px) saturate(135%)}.work-menu.is-open .work-dropdown{opacity:1;visibility:visible;transform:translateY(0);clip-path:inset(0 0 0 0)}.branch-heading{display:flex;justify-content:space-between;font:11px DM Sans,Microsoft YaHei,sans-serif;letter-spacing:1px;color:#b9b5af;padding:0 5px 15px;border-left:2px solid var(--accent)}.branch-heading>span{color:var(--accent)}.branch-heading{text-transform:uppercase;align-items:center;min-height:28px}.branch-heading:hover,.branch-heading:focus-visible{color:var(--accent)}.branch-tree{position:relative}.branch-lines{position:absolute;left:0;top:0;pointer-events:none;fill:none;stroke-width:1.5;stroke-linecap:round}.branch-base{stroke:#55504b}.branch-highlight{stroke:var(--accent);stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .4s ease}.branch-highlight.active{stroke-dashoffset:0}.branch-tree>a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:8px 8px 8px 40px;font-size:13px;color:#bfbab3;border-radius:6px;line-height:1.4}.branch-tree>a>span{font-size:15px;color:#888078}.branch-tree>a.active,.branch-tree>a:hover{color:var(--accent);background:#f184460b}.branch-tree>a:focus-visible{outline-offset:-2px}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body :is(button,.pill,.contact-link,.project-open,.contact h2>a){background:#272421}.work-dropdown{background:#191a1b}}@media(max-width:650px){.site-header nav{align-items:flex-start;gap:10px;flex-wrap:wrap}.site-header nav>a{padding:10px 7px}.work-dropdown{position:absolute;left:50%;transform:translate(-50%,-6px);width:min(290px,calc(100vw - 48px))}.work-menu.is-open .work-dropdown{transform:translate(-50%)}body .work-trigger{font-size:13px;padding:8px}.site-header nav{padding:16px 10px}.site-header.is-floating nav{max-height:calc(100svh - 110px)}body .menu{padding:8px}body .contact h2>a{font-size:.45em}}@media(prefers-reduced-motion:reduce){.work-dropdown,.branch-highlight,.work-trigger>span{transition:none}}.work-dropdown{max-height:calc(100svh - 125px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#80634f transparent}.linked-tree{position:relative;list-style:none;padding:0;margin:0 0 0 10px}.linked-tree:before{content:"";position:absolute;left:0;top:0;bottom:30px;width:1.5px;background:#71665d;pointer-events:none}.linked-tree>li{position:relative;padding-left:24px;margin:0}.linked-tree>li:after{content:"";position:absolute;left:0;top:13px;width:18px;height:10px;border-left:1.5px solid #71665d;border-bottom:1.5px solid #71665d;border-bottom-left-radius:9px}.linked-tree>li:hover:after,.linked-tree>li:focus-within:after{border-color:var(--accent)}.linked-tree a,body .houdini-trigger{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:9px 8px;color:#d1cbc4;font:13px/1.4 DM Sans,sans-serif;border-radius:6px;width:100%;text-align:left}body .houdini-trigger{border-color:#ffffff14;background:#ffffff05}.linked-tree a:hover,.linked-tree a:focus-visible,body .houdini-trigger:hover,body .houdini-trigger[aria-expanded=true]{color:var(--accent);background:#f1844612}.linked-tree a>span{color:#9c8a7c}.houdini-fold{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .32s ease,visibility .32s}.houdini-fold.expanded{grid-template-rows:1fr;visibility:visible}.houdini-fold>div{overflow:hidden;min-height:0}.houdini-tree{margin-left:6px;padding-bottom:8px}.houdini-tree a{font-size:12px;min-height:40px}.houdini-tree>li:after{top:11px}.houdini-tree:before{bottom:36px}.work-menu.is-open>.work-dropdown>.linked-tree>li>:is(a,button){animation:branch-row-in .35s ease both}.work-menu.is-open>.work-dropdown>.linked-tree>li:nth-child(2)>a{animation-delay:.06s}.work-menu.is-open>.work-dropdown>.linked-tree>li:nth-child(3)>a{animation-delay:.12s}@keyframes branch-row-in{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.houdini-fold{transition:none}.work-menu.is-open>.work-dropdown>.linked-tree>li>:is(a,button){animation:none}}.work-dropdown .branch-heading{position:relative;border-left:0;padding-left:34px}.work-dropdown .branch-heading:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--accent)}.work-dropdown .linked-tree:before{width:2px;bottom:22px;background:#938478}.work-dropdown .linked-tree>li:after{left:0;top:22px;width:19px;height:0;border:0;border-top:2px solid #938478;border-radius:0}.work-dropdown .linked-tree>li:hover:after,.work-dropdown .linked-tree>li:focus-within:after{border-top-color:var(--accent)}.work-dropdown .houdini-tree:before{bottom:28px}.work-dropdown .houdini-tree>li:after{top:20px}.work-dropdown{background:#1718199e;-webkit-backdrop-filter:blur(28px) saturate(135%);backdrop-filter:blur(28px) saturate(135%);border:0;box-shadow:0 16px 40px #0005}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.work-dropdown{background:#191a1bf5}}.work-dropdown .linked-tree:before,.work-dropdown .linked-tree>li:after{display:none}.work-dropdown .linked-tree>.tree-rail{position:absolute;inset:0 auto auto 0;padding:0;margin:0;width:22px;height:100%;pointer-events:none;list-style:none}.tree-rail svg{display:block;overflow:visible;pointer-events:none}.tree-rail path{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.tree-base{stroke:#71665d}.tree-reach{stroke:var(--accent);stroke-dasharray:none;stroke-dashoffset:0;opacity:0;transition:opacity 90ms linear}.tree-reach.active{opacity:1}.work-dropdown .branch-heading:before{left:10px;width:1.5px}.work-menu.is-open>.work-dropdown>.linked-tree>li>:is(a,button){animation:none}@media(prefers-reduced-motion:reduce){.tree-reach{transition:none}}.houdini-category-row{display:flex;align-items:center;min-height:44px}.linked-tree .houdini-category-row>a{flex:1}.linked-tree .houdini-category-row .houdini-trigger{width:32px;min-height:32px;justify-content:center;padding:4px;flex:none}.project-nav-back{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid var(--line);border-radius:999px;font-size:14px;line-height:1.2;white-space:nowrap;color:var(--muted)}.project-nav-back:hover{color:var(--accent);border-color:var(--accent)}@media(max-width:650px){.project-nav-back{font-size:12px;padding:9px 13px}}.work-lenticular{width:100%;--card-width:260px;--card-height:346.667px;--card-step:286px;color:#fff}.lenticular-stage{height:430px;position:relative;perspective:1200px;overflow:hidden;touch-action:pan-y;-webkit-user-select:none;user-select:none}.lenticular-card{position:absolute;top:42px;left:calc(50% - 130px);width:260px;height:var(--card-height);border-radius:14px;isolation:isolate;transform:translate(calc(var(--offset)*var(--card-step))) scale(.9);filter:brightness(.55);transition:transform .65s cubic-bezier(.22,.68,.2,1),filter .45s;outline-offset:6px;box-shadow:0 18px 35px #0005;cursor:pointer}.lenticular-card.is-active{transform:translate(calc(var(--offset)*var(--card-step))) scale(1);filter:brightness(1)}.lenticular-card.is-turned{transform:translate(calc(var(--offset)*var(--card-step))) rotateY(-14deg) translateZ(40px);filter:brightness(1)}.lenticular-art{position:absolute;inset:0;border-radius:14px;overflow:hidden;background:#232323}.lens-strip{position:absolute;top:0;bottom:0;left:calc(var(--strip)*100%/56);width:calc(100%/56 + .2px);transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.65,.3,1);transition-delay:calc(var(--strip)*6ms)}.is-turned .lens-strip{transform:rotateY(180deg)}.lens-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden}.lens-face img{position:absolute;top:0;left:calc(var(--strip)*-260px/56);width:260px!important;max-width:none;height:var(--card-height);object-fit:cover;pointer-events:none}.lens-back{transform:rotateY(180deg);filter:saturate(.6) brightness(.65)}.lens-back img{transform:scale(1.07)}.lenticular-foil{position:absolute;inset:0;border-radius:14px;pointer-events:none;opacity:0;background:repeating-linear-gradient(90deg,#fff2 0,transparent 1px,#0002 3px,transparent 4.64px),linear-gradient(115deg,transparent 20%,#84d6d040,#ca95dd38,#eac68e40,transparent 80%);background-size:100% 100%,250% 100%;mix-blend-mode:screen;transition:opacity .5s}.is-turned .lenticular-foil{opacity:.5;animation:lens-shimmer 3s ease-in-out infinite alternate}.lenticular-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:24px 20px;border-radius:14px;background:linear-gradient(transparent 35%,#000000d9);pointer-events:none}.lenticular-caption small{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#ddd}.lenticular-caption strong{font-size:25px;line-height:1.15;margin:9px 0 14px;letter-spacing:-.7px}.lenticular-caption>span{font-size:12px;opacity:0;transform:translateY(5px);transition:.35s}.is-turned .lenticular-caption>span,.lenticular-card:focus-visible .lenticular-caption>span{opacity:1;transform:none}.lenticular-controls{display:flex;align-items:center;justify-content:center;gap:24px}.lenticular-controls>button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink,#eee);cursor:pointer}.lenticular-controls>button:hover{border-color:var(--accent);color:var(--accent)}.lenticular-dots{display:flex;gap:7px}.lenticular-dots button{width:24px;height:24px;position:relative;border:0;background:transparent;padding:0;cursor:pointer}.lenticular-dots button:after{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:#7776;transition:background .3s}.lenticular-dots button[aria-current]:after{background:var(--accent)}.lenticular-status{text-align:center;font-size:11px;color:var(--muted);margin:14px 0 26px}.lenticular-categories{display:flex;gap:28px;justify-content:center;border-top:1px solid var(--line);padding-top:24px;color:var(--muted);font-size:13px}.lenticular-categories a:hover{color:var(--accent)}@keyframes lens-shimmer{to{background-position:0 0,100% 0}}@media(max-width:600px){.lenticular-categories{gap:16px;flex-wrap:wrap}.lenticular-stage{height:415px}}@media(prefers-reduced-motion:reduce){.lenticular-card,.lens-strip,.lenticular-caption>span{transition:none}.is-turned .lenticular-foil{animation:none}}.work-lenticular .lenticular-dots button{box-shadow:none;border:0;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none}.work-lenticular .lenticular-dots button:hover{background:transparent;transform:none}.project-card-modal{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(18px,4vw,64px);border:0;background:transparent;color:#eee;overflow:auto;box-sizing:border-box}.project-card-modal[open]{display:grid;place-items:center}.project-card-modal::backdrop{background:radial-gradient(ellipse at 50% 25%,#75462c55,#08090bed 75%);-webkit-backdrop-filter:none;backdrop-filter:none}.project-card-modal-panel{position:relative;width:min(1120px,100%);display:grid;grid-template-columns:1.15fr 1fr;background:#171819;border:1px solid #ffffff22;border-radius:22px;overflow:hidden;box-shadow:0 36px 100px #0009;transform-origin:top left}.project-card-modal-image{min-height:420px;background:#101112;display:grid;place-items:center}.project-card-modal-image img{display:block;width:100%;height:100%;max-height:75dvh;object-fit:contain}.project-card-modal-copy{padding:clamp(28px,4vw,64px);align-self:center}.project-card-modal-copy h2{font-size:clamp(30px,4vw,62px);line-height:1.05;letter-spacing:-.04em;margin:20px 0}.project-card-modal-copy h2 span{color:var(--accent)}.project-card-modal-copy>p:not(.eyebrow){color:#b8b8b4;font-size:16px;line-height:1.8;margin:0 0 32px}.project-card-modal-close{position:absolute;right:16px;top:16px;z-index:2;width:42px;height:42px;border:1px solid #ffffff40;border-radius:50%;background:#141414dd;color:#fff;font-size:26px;cursor:pointer}.project-card-modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:700px){.project-card-modal-panel{grid-template-columns:1fr}.project-card-modal-image{min-height:0;height:36dvh}.project-card-modal-image img{height:100%}.project-card-modal-copy{padding:26px}.project-card-modal-copy h2{margin:12px 0}.project-card-modal-copy>p:not(.eyebrow){margin-bottom:20px}}.lenticular-card{transform-style:preserve-3d}.lenticular-card.is-turned{transform:translate(calc(var(--offset)*var(--card-step))) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg)) translateZ(40px);transition:transform .18s ease-out,filter .35s;box-shadow:0 26px 48px #0008}.lenticular-art{transition:transform .35s ease-out}.is-turned .lenticular-art{transform:translate(calc(var(--shift-x,0px)*-.35),calc(var(--shift-y,0px)*-.35)) scale(1.025)}.lenticular-caption{transition:transform .35s ease-out}.is-turned .lenticular-caption{transform:translate(var(--shift-x,0px),var(--shift-y,0px)) translateZ(36px)}.depth-spotlight{position:absolute;inset:0;border-radius:14px;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),#fff5,transparent 65%);mix-blend-mode:screen;transition:opacity .3s;transform:translateZ(2px)}.is-turned .depth-spotlight{opacity:.55}@media(prefers-reduced-motion:reduce){.lenticular-card.is-turned{transform:translate(calc(var(--offset)*var(--card-step)));transition:none}.is-turned .lenticular-art,.is-turned .lenticular-caption,.is-turned .lens-strip{transform:none;transition:none}.depth-spotlight{display:none}}.lenticular-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 35%,#000000d9);border-radius:inherit}.lenticular-caption{background:transparent}.lenticular-card .lenticular-art,.lenticular-card.is-turned .lenticular-art{transform:none}.lens-parallax{position:absolute;inset:0;transform:scale(1.04);transition:transform .55s cubic-bezier(.2,.65,.3,1);will-change:transform}.is-turned .lens-parallax{transform:scale(1.18) translate(calc(var(--shift-x,0px)*-1.5),calc(var(--shift-y,0px)*-1.5));transition:transform .2s ease-out}.is-turned .lenticular-caption{transform:translate(calc(var(--shift-x,0px)*.65),calc(var(--shift-y,0px)*.65)) translateZ(48px)}@media(prefers-reduced-motion:reduce){.lens-parallax,.is-turned .lens-parallax,.is-turned .lenticular-caption{transform:none;transition:none}}.lens-rest-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.lens-strip{opacity:0;transition:transform .6s cubic-bezier(.2,.65,.3,1),opacity .15s}.is-turned .lens-strip{opacity:1}.lens-back{filter:none}.lens-back img{transform:none}.lenticular-card .lenticular-caption{opacity:1;transition:opacity .25s ease,transform .2s ease-out}.lenticular-card.is-turned .lenticular-caption,.lenticular-card:focus-visible .lenticular-caption{opacity:1}.lenticular-art:after{background:linear-gradient(transparent 65%,#00000052);opacity:0;transition:opacity .25s}.is-turned .lenticular-art:after{opacity:1}.lenticular-caption strong,.lenticular-caption small,.lenticular-caption>span{text-shadow:0 2px 6px #000,0 0 16px #000b}.lenticular-foil{background:linear-gradient(115deg,transparent 20%,#84d6d025,#ca95dd20,#eac68e25,transparent 80%);background-size:250% 100%}@media(prefers-reduced-motion:reduce){.lens-strip,.is-turned .lens-strip{opacity:0}}.lenticular-art:after{background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.12) 60%,rgba(0,0,0,.64) 100%)}.lenticular-foil{background:linear-gradient(120deg,transparent 15%,rgba(102,215,255,.48) 32%,rgba(193,132,255,.46) 44%,rgba(255,151,183,.4) 54%,rgba(255,220,140,.42) 64%,transparent 82%);background-size:220% 100%}.is-turned .lenticular-foil{opacity:var(--foil-opacity,.25)}body .work-lenticular .lenticular-dots button,body .work-lenticular .lenticular-dots button:hover,body .work-lenticular .lenticular-dots button:focus{appearance:none;background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none;outline:none}body .work-lenticular .lenticular-dots button:before{display:none!important}body .work-lenticular .lenticular-dots button:after{border:0;border-radius:0;box-shadow:none;transform:none;height:2px;top:11px;bottom:auto;background:#7778}body .work-lenticular .lenticular-dots button[aria-current]:after,body .work-lenticular .lenticular-dots button:hover:after{background:var(--accent)}body .work-lenticular .lenticular-dots button:focus-visible:after{height:4px;background:var(--accent)}.lenticular-card.is-active{transform:translate(calc(var(--offset)*var(--card-step))) scale(1.08)}.lenticular-card.is-active.is-turned{transform:translate(calc(var(--offset)*var(--card-step))) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg)) translateZ(40px) scale(1.08)}@media(prefers-reduced-motion:reduce){.lenticular-card.is-active.is-turned{transform:translate(calc(var(--offset)*var(--card-step))) scale(1.08)}}.lenticular-card.is-modal-source{opacity:0;pointer-events:none}.project-image-flight{position:fixed;z-index:5;overflow:hidden;pointer-events:none;background:#101112;will-change:transform,clip-path}.project-image-flight img{position:absolute;display:block;max-width:none!important;max-height:none!important;object-fit:fill}.project-card-modal::backdrop{transition:opacity .416s}.project-card-modal.is-closing::backdrop{opacity:0;-webkit-backdrop-filter:none;backdrop-filter:none}html{scrollbar-gutter:stable}.project-image-flight img{will-change:transform}.project-card-modal.is-compact-transition .project-image-flight{display:none}.project-card-modal.is-compact-transition .project-card-modal-panel{will-change:transform,opacity;box-shadow:0 12px 32px #0006}@media(max-width:700px),(pointer:coarse){.lenticular-card.is-modal-source{opacity:1}}.project-card-modal.is-closing{z-index:10000;pointer-events:none}.project-card-modal.is-closing *{pointer-events:none!important}.project-card-modal.is-closing:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 25%,#75462c55,#08090bed 75%);animation:modal-backdrop-out .416s linear both;pointer-events:none}@keyframes modal-backdrop-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.project-card-modal.is-closing:before{animation-duration:0s}}.lenticular-card{-webkit-user-drag:none;-webkit-touch-callout:none;touch-action:pan-y pinch-zoom}.lenticular-stage{touch-action:pan-y pinch-zoom}@media(max-width:600px){.lenticular-controls{gap:12px}.lenticular-dots{flex:1;min-width:0;max-width:300px;gap:4px}.lenticular-dots button{flex:1;min-width:0;width:auto}.lenticular-controls>button{flex:none;width:44px;height:44px}}.lenticular-stage{--edge-fade:clamp(28px,6vw,100px);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--edge-fade),#000 calc(100% - var(--edge-fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--edge-fade),#000 calc(100% - var(--edge-fade)),transparent)}.lenticular-stage .lenticular-card{translate:calc(var(--offset,0)*var(--card-step)) 0;transform:scale(calc(.9 + .18*var(--prominence,0)));filter:brightness(calc(.55 + .45*var(--prominence,0)));transition:transform .18s ease-out,filter .18s ease-out}.lenticular-stage .lenticular-card{box-shadow:none}.lenticular-surface{position:absolute;inset:0;border-radius:inherit;pointer-events:none;transform-style:preserve-3d;transition:transform .18s ease-out;box-shadow:0 18px 35px #0005}.lenticular-surface *{pointer-events:none}.lenticular-stage:not(.is-dragging):not(.is-moving) .lenticular-card.is-turned{transform:scale(calc(.9 + .18*var(--prominence,0)));filter:brightness(1)}.lenticular-stage:not(.is-dragging):not(.is-moving) .lenticular-card.is-turned .lenticular-surface{transform:rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg)) translateZ(40px);box-shadow:0 26px 48px #0008}.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-surface{transform:none;transition:none}.lenticular-stage.is-dragging{cursor:grabbing}.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-card{transition:none!important}.lenticular-stage.is-dragging .lenticular-card{cursor:grabbing}.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-foil{opacity:0!important;transition:none!important;animation:none!important}.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-caption{opacity:1!important;transition:none!important;animation:none!important}.lenticular-stage:is(.is-dragging,.is-moving) .lens-parallax{transform:scale(1.04);transition:none}.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-art:after{opacity:0;transition:none}@media(prefers-reduced-motion:reduce){.lenticular-stage .lenticular-card{transition:none}.lenticular-stage .lenticular-surface{transform:none!important;transition:none}.lenticular-stage:not(.is-dragging):not(.is-moving) .lenticular-card.is-turned{transform:scale(calc(.9 + .18*var(--prominence,0)))}}.project-card-modal-copy .pill{background:var(--accent,#f48745);border-color:var(--accent,#f48745);color:#171819}.project-card-modal-copy .pill:hover{background:#ff9b61;border-color:#ff9b61;color:#171819}.project-card-modal-copy .pill{border:1px solid rgba(255,255,255,.45)}.project-card-modal-copy .pill:hover{border-color:#ffffffa6}.project-card-modal-copy .project-explore-glow{width:fit-content;border-color:#ffffff73;box-shadow:none}.project-explore-glow .border-glow-inner{overflow:visible;border-radius:inherit}.project-card-modal-copy .project-explore-glow .pill{background:transparent;border:0;border-radius:28px;color:#171819}.project-card-modal-copy .project-explore-glow .pill:hover{background:#ffffff14;border:0}.project-explore-glow .pill:focus-visible{outline:2px solid #fff;outline-offset:4px}.project-explore-glow:before,.project-explore-glow:after{pointer-events:none}.project-explore-glow>.edge-light{-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%),linear-gradient(to right,transparent,black 24px,black calc(100% - 24px),transparent),linear-gradient(to bottom,transparent,black 24px,black calc(100% - 24px),transparent);mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%),linear-gradient(to right,transparent,black 24px,black calc(100% - 24px),transparent),linear-gradient(to bottom,transparent,black 24px,black calc(100% - 24px),transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.project-explore-glow>.edge-light:before{box-shadow:inset 0 0 0 1px var(--glow-color),inset 0 0 6px var(--glow-color-40),0 0 3px var(--glow-color-60),0 0 9px var(--glow-color-40),0 0 18px var(--glow-color-20)}.project-card-modal-image{cursor:pointer;text-decoration:none}.project-card-modal-image:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.lenticular-surface>.lenticular-card-glow{position:absolute;inset:0;display:block;box-sizing:border-box;transform:none;box-shadow:none;pointer-events:none}.lenticular-card-glow>.border-glow-inner{position:absolute;inset:0;border-radius:inherit;overflow:visible}.lenticular-card-glow:before,.lenticular-card-glow:after{pointer-events:none}.lenticular-card-glow>.edge-light{-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%),linear-gradient(to right,transparent,black 26px,black calc(100% - 26px),transparent),linear-gradient(to bottom,transparent,black 26px,black calc(100% - 26px),transparent);mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%),linear-gradient(to right,transparent,black 26px,black calc(100% - 26px),transparent),linear-gradient(to bottom,transparent,black 26px,black calc(100% - 26px),transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-card-glow:before,.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-card-glow:after,.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-card-glow>.edge-light{opacity:0!important;transition:none}.lenticular-card.is-silence .lens-rest-image{object-fit:cover}.lenticular-caption small,.lenticular-caption>span{opacity:0;transition:opacity .2s ease;transform:none}.lenticular-card.is-turned .lenticular-caption small,.lenticular-card:focus-visible .lenticular-caption small,.lenticular-card.is-turned .lenticular-caption>span,.lenticular-card:focus-visible .lenticular-caption>span{opacity:1}.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-caption small,.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-caption>span{opacity:0}.lenticular-caption>span{line-height:16px}.lenticular-caption strong{transform-origin:left bottom;transform:translate3d(0,30px,0) scale(.86);transition:transform .42s cubic-bezier(.22,1,.36,1);will-change:transform}.lenticular-card.is-turned .lenticular-caption strong,.lenticular-card:focus-visible .lenticular-caption strong{transform:translateZ(0) scale(1)}.lenticular-caption small,.lenticular-caption>span{transition:opacity .24s ease;transition-delay:0s}.lenticular-card.is-turned .lenticular-caption small,.lenticular-card.is-turned .lenticular-caption>span,.lenticular-card:focus-visible .lenticular-caption small,.lenticular-card:focus-visible .lenticular-caption>span{transition-delay:.08s}.lenticular-stage:is(.is-dragging,.is-moving) .lenticular-caption strong{transform:translate3d(0,30px,0) scale(.86)}@media(prefers-reduced-motion:reduce){.lenticular-caption strong,.lenticular-caption small,.lenticular-caption>span{transition:none;transition-delay:0s}}.border-glow-card{--edge-proximity: 0;--cursor-angle: 45deg;--edge-sensitivity: 30;--color-sensitivity: calc(var(--edge-sensitivity) + 20);--border-radius: 28px;--glow-padding: 40px;--cone-spread: 25;position:relative;border-radius:var(--border-radius);isolation:isolate;transform:translateZ(.01px);display:grid;border:1px solid rgb(255 255 255 / 15%);background:var(--card-bg, #120F17);overflow:visible;box-shadow:#0000001a 0 1px 2px,#0000001a 0 2px 4px,#0000001a 0 4px 8px,#0000001a 0 8px 16px,#0000001a 0 16px 32px,#0000001a 0 32px 64px}.border-glow-card--light{border-color:#18181b1f;box-shadow:#18181b0a 0 1px 2px,#18181b0d 0 8px 24px}.border-glow-card--light:after,.border-glow-card--light>.edge-light{mix-blend-mode:normal}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";position:absolute;inset:0;border-radius:inherit;transition:opacity .25s ease-out;z-index:-1}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{border:1px solid transparent;background:linear-gradient(var(--card-bg, #120F17) 0 100%) padding-box,linear-gradient(#fff0 0% 100%) border-box,var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%))}.border-glow-card:after{border:1px solid transparent;background:var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add;opacity:calc(var(--fill-opacity, .5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";position:absolute;inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%))}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:auto;z-index:1}.vfx-hero .particle-heading{position:relative}.vfx-hero h1>.particle-text{position:absolute;inset:calc(-1 * var(--particle-overscan, 170px));display:block;pointer-events:none;overflow:visible}.particle-text__canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.particle-heading:has(>.particle-text[data-ready=true]) .particle-title-fallback{opacity:0}@media(prefers-reduced-motion:reduce){.vfx-hero h1>.particle-text{display:none}.particle-heading:has(>.particle-text[data-ready=true]) .particle-title-fallback{opacity:1}}.grid-section{position:relative;isolation:isolate;background:var(--bg,#101112)}.grid-section>.cursor-grid{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.cursor-grid__canvas{display:block;width:100%;height:100%}.grid-section>section{position:relative;z-index:1}.grid-section>.contact{background:transparent}.grid-section{--reading-glass:rgba(23,24,25,.1);--reading-edge:transparent}.grid-section :is(.about-copy,.section-title,.project-caption,.portrait figcaption,.contact h2,.contact-bottom,.contact footer,.contact .eyebrow,.section-label>span){position:relative;isolation:isolate}.grid-section :is(.about-copy,.section-title,.project-caption,.portrait figcaption,.contact h2,.contact-bottom,.contact footer,.contact .eyebrow,.section-label>span):before{content:"";position:absolute;inset:-16px;z-index:-1;pointer-events:none;background:var(--reading-glass);border:0;border-radius:12px;-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%);box-shadow:none}.grid-section .about-copy:before{inset:-24px}.grid-section .project-caption:before{inset:8px -16px -12px}.grid-section .section-label>span:before{inset:-6px -10px;border-color:transparent;border-radius:5px;box-shadow:none}.grid-section .contact .eyebrow{align-self:flex-start}.grid-section .contact-bottom:before{inset:24px -16px}.grid-section .contact footer:before{inset:0 -16px;border-top:0;border-radius:0}.grid-section .skill{background:var(--reading-glass);-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%)}.grid-section .skill:hover{background:#28221f8c}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.grid-section{--reading-glass:rgba(23,24,25,.97)}}@media(max-width:650px){.grid-section :is(.about-copy,.section-title,.portrait figcaption,.contact h2,.contact .eyebrow):before{inset:-12px}.grid-section .project-caption:before{inset:8px -12px -12px}.grid-section .contact-bottom:before{inset:8px -12px 20px}.grid-section .contact footer:before{inset:0 -12px}}.grid-section .skills,.grid-section .skill{border-color:transparent}.grid-section:has(>.contact){padding-top:60px}.grid-section>.contact{margin-top:0}@media(max-width:650px){.grid-section:has(>.contact){padding-top:35px}}.glass-refraction-defs{position:fixed;width:0;height:0;pointer-events:none}@supports (backdrop-filter:blur(1px)){.site-header.is-floating .nav{-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}.grid-section :is(.about-copy,.section-title,.project-caption,.portrait figcaption,.contact h2,.contact-bottom,.contact footer,.contact .eyebrow,.section-label>span):before,.grid-section .skill{-webkit-backdrop-filter:blur(12px) saturate(110%);backdrop-filter:blur(12px) saturate(110%)}}.site-header.is-floating .nav{position:relative;isolation:isolate;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.site-header.is-floating .nav:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:#171819b8;-webkit-backdrop-filter:blur(22px) saturate(130%);backdrop-filter:blur(22px) saturate(130%)}@supports (backdrop-filter:blur(1px)){.site-header.is-floating .nav:before{-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}}.reel-dialog{position:fixed;inset:0;width:min(1280px,94vw);max-width:94vw;max-height:92svh;margin:auto;padding:0;border:0;border-radius:14px;background:#141516;color:#edeee8;box-shadow:0 24px 100px #0009;overflow:auto}.reel-dialog::backdrop{background:#080909dc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.reel-player-shell{padding:20px}.reel-player-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.reel-player-heading h2{font:12px DM Sans,Microsoft YaHei,sans-serif;letter-spacing:1px;margin:0}.reel-player-heading button{padding:10px 16px;border-radius:20px}.vfx-hero .reel-dialog video{display:block;width:100%;height:auto;max-height:70svh;object-fit:contain;background:#000;opacity:1;filter:none}.reel-player-shell p{display:flex;justify-content:space-between;font:11px DM Sans,Microsoft YaHei,sans-serif;margin:16px 0 0;color:#b9b5af}.reel-player-shell p a{padding:0;border:0;color:var(--accent)}@property --reel-border-angle{syntax:"<angle>";initial-value:0deg;inherits:true}.vfx-hero .reel-meta .watch-full-reel{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:12px 20px;border:1px solid #f5975966;border-radius:8px;--reel-face:linear-gradient(135deg,#63381e,#251c16);background:var(--reel-face);color:#fff0dc;font-size:13px;font-weight:700;letter-spacing:.035em;box-shadow:0 0 22px #f4874526,inset 0 1px #ffffff12;transition:background .25s,box-shadow .25s,transform .25s;animation:reel-border-travel 4s linear infinite}.vfx-hero .reel-meta .watch-full-reel:after{background:conic-gradient(from var(--reel-border-angle),#f4874520 0deg,#f4874550 200deg,#ffb56e 275deg,#fff0cd 305deg,#f4874540 340deg,#f4874520 360deg)}.vfx-hero .reel-meta .watch-full-reel:before{content:"";position:absolute;inset:-1px;border:2px solid transparent;border-radius:inherit;pointer-events:none;z-index:0;background:var(--reel-face) padding-box,conic-gradient(from var(--reel-border-angle),#f4874520 0deg,#f4874550 200deg,#ffb56e 275deg,#fff0cd 305deg,#f4874540 340deg,#f4874520 360deg) border-box}.vfx-hero .reel-meta .watch-full-reel:after{content:"";position:absolute;inset:-3px;border-radius:11px;pointer-events:none;z-index:-1;box-shadow:0 0 22px 6px #f4874538,0 0 42px 12px #f487451c;filter:blur(10px);opacity:.55;transform:scale(1);animation:reel-halo-breathe 8s ease-in-out infinite}.vfx-hero .reel-meta .watch-full-reel:hover{--reel-face:linear-gradient(#704021,#704021);box-shadow:0 0 30px #f4874545;transform:translateY(-2px)}.vfx-hero .reel-meta .watch-full-reel:is(:hover,:focus-visible){--reel-halo-low:.7;--reel-halo-high:1}.vfx-hero .reel-meta .watch-full-reel:focus-visible{outline:2px solid #ffe0b3;outline-offset:5px}.watch-full-reel svg{width:18px;height:18px;flex:none;fill:currentColor}.watch-full-reel>svg,.watch-full-reel>span{position:relative;z-index:1}@keyframes reel-border-travel{to{--reel-border-angle:360deg}}@keyframes reel-halo-breathe{0%,25%,75%,to{opacity:var(--reel-halo-low,.55);transform:scale(1)}50%{opacity:var(--reel-halo-high,.95);transform:scale(1.08,1.22)}}@media(prefers-reduced-motion:reduce){.vfx-hero .reel-meta .watch-full-reel,.vfx-hero .reel-meta .watch-full-reel:after{animation:none;transition:none}}@media(max-width:650px){.reel-player-shell{padding:12px}.reel-player-heading h2{font-size:10px}.reel-player-heading button{font-size:12px}.vfx-hero .reel-meta{flex-wrap:wrap}}.reel-actions{display:flex;align-items:center;gap:8px}@media(max-width:760px){.vfx-hero .hero-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;align-items:end}.vfx-hero .hero-bottom>p{grid-row:1;grid-column:1/-1}.vfx-hero .hero-bottom .reel-meta,.vfx-hero .hero-bottom .reel-actions{display:contents}.vfx-hero .hero-bottom .reel-meta>span{grid-row:2;grid-column:1/-1;align-self:center;justify-self:end;margin-left:48px;font-size:9px}.vfx-hero .hero-bottom .background-toggle{grid-row:2;grid-column:1;width:44px;height:44px;padding:0;justify-self:start}.vfx-hero .hero-bottom>.pill{grid-row:3;grid-column:1}.vfx-hero .hero-bottom .watch-full-reel{grid-row:3;grid-column:2}.vfx-hero .hero-bottom>.pill,.vfx-hero .hero-bottom .watch-full-reel{width:100%;min-width:0;min-height:48px;height:100%;margin:0;padding:10px;gap:6px;justify-content:center;font-size:11px;line-height:1.3;letter-spacing:0}.vfx-hero .hero-bottom .watch-full-reel svg{width:14px;height:14px}}.vfx-hero .reel-meta .background-toggle{width:38px;height:38px;padding:0;font-size:17px;display:grid;place-items:center}.reel-player-shell p button{padding:6px 10px;border-radius:6px;font-size:11px;color:var(--accent)}
