:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--ink:#172033;--ink-soft:#566074;--paper:#f4f2ec;--surface:#fbfaf7;--white:#fff;--line:#d9d7d0;--accent:#ff5d3a;--blue:#315bd6;--lime:#c7f46b;--shadow:0 24px 70px #17203321;--header-bg:#f4f2ece0;--header-solid:#f4f2ecfa;--field:#fff;--pet-peek:92px;--pet-pull:0px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f2ec;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.preference-controls{flex:none;position:relative}.preferences-trigger{width:42px;height:42px;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;transition:all .16s;display:grid}.preferences-trigger-glyph{place-items:center;width:20px;height:20px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:1.22rem;font-weight:400;line-height:1;display:grid;transform:translate(.5px,-.75px)}.preferences-trigger:hover,.preferences-trigger[aria-expanded=true]{border-color:var(--line);background:var(--surface);color:var(--ink);transform:rotate(12deg)}.preferences-popover{z-index:120;border:1px solid var(--line);background:var(--surface);width:min(350px,100vw - 24px);color:var(--ink);border-radius:22px;padding:18px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 24px 65px #17203333}.preferences-popover>header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.preferences-popover>header div{gap:4px;display:grid}.preferences-popover>header strong{font-size:.94rem}.preferences-popover>header small{color:var(--ink-soft);font-size:.7rem;line-height:1.45}.preferences-popover>header button{background:color-mix(in srgb, var(--ink) 7%, transparent);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;padding:0;display:grid}.preferences-close-glyph{pointer-events:none;width:16px;height:16px;display:block;position:relative}.preferences-close-glyph:before,.preferences-close-glyph:after{content:"";background:currentColor;border-radius:999px;width:14px;height:1.75px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.preferences-close-glyph:after{transform:translate(-50%,-50%)rotate(-45deg)}.preferences-popover fieldset{border:0;min-width:0;margin:0;padding:0}.preferences-popover fieldset+fieldset{margin-top:16px}.preferences-popover legend{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.67rem;font-weight:800}.preference-segments{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:6px;padding:4px;display:grid}.preference-language{grid-template-columns:repeat(2,1fr)}.preference-theme{grid-template-columns:repeat(3,1fr)}.preference-companion{grid-template-columns:repeat(2,1fr)}.companion-manage-link{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 82%, transparent);min-height:48px;color:var(--ink);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-top:8px;padding:9px 12px;transition:border-color .16s,background .16s,transform .16s;display:flex}.companion-manage-link>span:first-child{gap:2px;display:grid}.companion-manage-link strong{font-size:.74rem}.companion-manage-link small{color:var(--ink-soft);font-size:.64rem;line-height:1.35}.companion-manage-link>span:last-child{color:var(--blue);font-size:.92rem}.companion-manage-link:hover,.companion-manage-link:focus-visible{border-color:color-mix(in srgb, var(--blue) 40%, var(--line));background:var(--surface);transform:translateY(-1px)}.preference-segments button{min-height:40px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:.72rem;font-weight:800;display:flex}.preference-segments button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 4px 14px #1720331a}.preference-theme button span{font-size:.95rem}.resume-actions{align-items:center;gap:12px;display:flex}.resume-alternate{min-height:44px;color:var(--ink-soft);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:5px;align-content:center;font-size:.78rem;font-weight:800}:root[data-theme=dark] body{background:radial-gradient(circle at 10% 0%, #607fe824, transparent 27rem), var(--paper)}:root[data-theme=dark] .brand span,:root[data-theme=dark] .button-primary,:root[data-theme=dark] .project-filters button[aria-pressed=true]{color:#111722}:root[data-theme=dark] .button-secondary,:root[data-theme=dark] .project-filters button{background:var(--surface)}:root[data-theme=dark] .experience-section,:root[data-theme=dark] .contact-section{color:#fff;background:#080b11}:root[data-theme=dark] .portrait-frame,:root[data-theme=dark] .project-media{background:#252d3a}:root[data-theme=dark] .tag-list li,:root[data-theme=dark] .case-study-status.project-status-platform,:root[data-theme=dark] .case-study-status.project-status-archive{color:#d6deec;background:#252d3a}:root[data-theme=dark] .case-study-status.project-status-ready{color:#b9c8ff}:root[data-theme=dark] .case-study-status.project-status-live{color:#dff9ad;background:#577d2266}:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] select{color:var(--ink)}:root[data-theme=dark]{color:#edf1f8;--ink:#edf1f8;--ink-soft:#aeb9ca;--paper:#0f131b;--surface:#181e29;--line:#343d4f;--accent:#ff7659;--blue:#83a0ff;--lime:#c7f46b;--shadow:0 24px 70px #00000052;--header-bg:#0f131be0;--header-solid:#0f131bfa;--field:#202735;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0f131b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background:radial-gradient(circle at 10% 0%, #315bd61a, transparent 27rem), var(--paper);min-width:320px;min-height:100vh;color:var(--ink);margin:0}body,button,a{-webkit-font-smoothing:antialiased}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p,h1,h2,h3,ul{margin-top:0}::selection{color:var(--ink);background:var(--lime)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{z-index:999;background:var(--ink);color:var(--white);border-radius:999px;padding:12px 16px;line-height:20px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;width:min(100% - 40px,1360px);min-height:78px;margin:0 auto;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:48px;min-height:48px;display:inline-flex}.brand span{background:var(--ink);width:38px;height:38px;color:var(--white);letter-spacing:-.02em;border-radius:12px;place-items:center;font-size:.8rem;display:grid}.brand strong{letter-spacing:-.02em;font-size:.95rem}.site-nav{align-items:center;gap:34px;margin-left:auto;display:flex}.header-actions{z-index:3;align-items:center;gap:4px;margin-left:18px;display:flex;position:relative}.site-nav a{min-height:48px;color:var(--ink-soft);align-items:center;font-size:.86rem;font-weight:700;display:inline-flex;position:relative}.site-nav a:after{background:var(--accent);content:"";transform-origin:100%;height:2px;transition:transform .18s;position:absolute;bottom:7px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.menu-button{cursor:pointer;background:0 0;border:0;min-width:48px;min-height:48px;display:none}.hero{grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);align-items:center;gap:clamp(36px,6vw,96px);width:min(100% - 40px,1360px);min-height:calc(100svh - 78px);margin:0 auto;padding:clamp(70px,9vw,132px) 0;display:grid}.eyebrow{color:var(--blue);letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;font-weight:800;line-height:1.4}.hero .eyebrow{text-wrap:balance}.hero h1{letter-spacing:-.07em;overflow-wrap:normal;text-wrap:balance;word-break:keep-all;max-width:100%;margin-bottom:30px;font-size:clamp(3.5rem,6vw,6.75rem);font-weight:800;line-height:.9}.hero h1 span{color:var(--accent);margin-top:.08em;display:block}.hero[data-locale=zh] h1{letter-spacing:-.045em;font-size:clamp(3.35rem,5.5vw,6.1rem);line-height:.96}.hero-intro{max-width:650px;color:var(--ink-soft);margin-bottom:36px;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.button{border:1px solid var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:18px;min-height:54px;padding:0 23px;font-size:.89rem;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--ink);color:var(--white);box-shadow:0 12px 30px #17203333}.button-primary:hover{box-shadow:0 17px 34px #17203347}.button-secondary:hover{background:var(--white)}.hero-links{gap:26px;margin-top:34px;display:flex}.hero-links a{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:5px;align-content:center;font-size:.82rem;font-weight:800}.hero-links a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.hero-visual{justify-self:end;width:min(100%,520px);padding:30px 30px 60px;position:relative}.hero-visual:before{background:linear-gradient(135deg, transparent 48%, #1720330f 49%, transparent 50%) 0 0 / 28px 28px, var(--lime);content:"";border:1px solid #1720332e;border-radius:50% 50% 34px 34px;position:absolute;inset:0 0 30px 35px}.portrait-frame{z-index:1;aspect-ratio:4/5;box-shadow:var(--shadow);background:#d9d7d0;border-radius:48% 48% 28px 28px;position:relative;overflow:hidden}.portrait-frame img{object-fit:cover;object-position:48% center;filter:saturate(.78)contrast(1.04);width:100%;height:100%;transform:scale(1.02)}.status-card{z-index:2;background:var(--surface);border:1px solid #17203329;border-radius:16px;align-items:flex-start;gap:12px;min-width:260px;padding:18px 20px;display:flex;position:absolute;bottom:28px;right:-18px;box-shadow:0 14px 40px #17203324}.status-dot{background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px;margin-top:4px;box-shadow:0 0 0 5px #ff5d3a24}.status-card p{color:var(--ink-soft);text-transform:uppercase;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.5}.status-card strong{color:var(--ink);display:block}.visual-note{z-index:2;letter-spacing:.1em;text-transform:uppercase;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;font-weight:700;position:absolute;bottom:5px;left:0;transform:rotate(-3deg)}.section{border-top:1px solid var(--line);width:min(100% - 40px,1360px);margin:0 auto;padding:clamp(96px,12vw,172px) 0}.section-heading{max-width:900px}.section-heading h2,.contact-section h2{letter-spacing:-.075em;margin-bottom:28px;font-size:clamp(3rem,6.2vw,6.8rem);font-weight:800;line-height:.94}.section-copy{max-width:800px;color:var(--ink-soft);margin-bottom:0;font-size:clamp(1.06rem,1.8vw,1.34rem);line-height:1.7}.about-grid{grid-template-columns:minmax(260px,.8fr) minmax(500px,1.2fr);align-items:start;gap:clamp(50px,9vw,140px);margin-top:clamp(60px,9vw,120px);display:grid}.about-statement{border-top:4px solid var(--accent);background:var(--ink);color:var(--white);padding:28px}.about-statement p{letter-spacing:-.045em;margin-bottom:36px;font-size:clamp(1.45rem,2.4vw,2.25rem);font-weight:750;line-height:1.17}.about-statement a{min-height:44px;color:var(--lime);align-items:center;font-size:.84rem;font-weight:800;display:inline-flex}.skills-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.skills-grid li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:98px;padding:16px 12px;font-size:.96rem;font-weight:800;display:flex}.skills-grid li:nth-child(3n+1){border-left:1px solid var(--line)}.skills-grid span{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.65rem}.experience-section{background:var(--ink);width:100%;max-width:none;color:var(--white);padding-left:max(20px,50% - 680px);padding-right:max(20px,50% - 680px)}.experience-section .eyebrow{color:var(--lime)}.experience-list{border-top:1px solid #ffffff30;margin-top:clamp(60px,8vw,100px)}.experience-item{border-bottom:1px solid #ffffff30;grid-template-columns:.5fr .85fr 1.35fr;gap:clamp(24px,5vw,80px);padding:36px 0;display:grid}.experience-item p{color:#b8bfcb;margin-bottom:0;line-height:1.65}.experience-item h3{letter-spacing:-.05em;margin-bottom:5px;font-size:clamp(1.65rem,3vw,2.7rem)}.experience-company-link{color:inherit;align-items:baseline;gap:10px;transition:color .18s;display:inline-flex}.experience-company-link span{color:var(--lime);font-size:.65em}.experience-company-link:hover{color:var(--lime)}.experience-period,.experience-location{letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem}.experience-role{font-weight:700;color:var(--lime)!important}.education-panel{margin-top:90px}.education-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.education-card{border:1px solid #ffffff2b;border-radius:18px;grid-template-columns:72px 1fr auto;align-items:center;gap:22px;min-height:142px;padding:24px;transition:background .18s,transform .18s;display:grid}.education-card:hover{background:#ffffff12;transform:translateY(-4px)}.education-card img{object-fit:contain;background:var(--white);border-radius:12px;width:72px;height:72px}.education-card strong,.education-card small{display:block}.education-card strong{margin-bottom:8px;font-size:1.05rem}.education-card small{color:#b8bfcb;line-height:1.55}.education-card i{color:var(--lime);font-size:1.2rem;font-style:normal}.work-heading-row{justify-content:space-between;align-items:end;gap:40px;display:flex}.project-count{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;flex:none;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem}.project-filters{flex-wrap:wrap;gap:9px;margin:54px 0 42px;display:flex}.project-filters button{border:1px solid var(--line);min-height:46px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;padding:0 18px;font-size:.79rem;font-weight:800;transition:border .18s,background .18s,color .18s}.project-filters button:hover,.project-filters button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--white)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:24px;transition:transform .22s,box-shadow .22s;overflow:hidden;box-shadow:0 1px #17203305}.project-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px #17203321}.project-media{aspect-ratio:16/9.6;background:#ddd9d0;display:block;position:relative;overflow:hidden}.project-media:after{content:"";pointer-events:none;background:linear-gradient(#0000 60%,#17203347);position:absolute;inset:0}.project-media img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.project-card:hover .project-media img{transform:scale(1.035)}.project-number{z-index:1;width:42px;height:42px;color:var(--white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#172033a8;border:1px solid #fff9;border-radius:50%;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.69rem;display:grid;position:absolute;top:16px;left:16px}.project-status,.case-study-status{letter-spacing:.04em;border:1px solid #ffffff7a;border-radius:999px;font-size:.68rem;font-weight:850}.project-status{z-index:1;max-width:calc(100% - 88px);color:var(--white);text-align:right;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:9px 12px;position:absolute;bottom:16px;right:16px}.project-status-live{background:#1d6e48e6}.project-status-ready{background:#315bd6eb}.project-status-platform{background:#172033d6}.project-status-archive{background:#5e4e3ed6}.project-body{padding:clamp(24px,3vw,36px)}.project-meta{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin-bottom:25px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;font-weight:800;display:flex}.project-body h3{letter-spacing:-.05em;margin-bottom:15px;font-size:clamp(1.65rem,3vw,2.6rem)}.project-body h3 a:hover{color:var(--blue)}.project-body>p{min-height:3.4em;color:var(--ink-soft);margin-bottom:25px;line-height:1.7}.tag-list{flex-wrap:wrap;gap:8px;margin-bottom:28px;padding:0;list-style:none;display:flex}.tag-list li{color:#4b5364;background:#e9e6de;border-radius:7px;padding:7px 10px;font-size:.7rem;font-weight:750}.project-links{flex-wrap:wrap;gap:12px 24px;display:flex}.project-link,.project-archive{align-items:center;gap:14px;min-height:44px;font-size:.82rem;font-weight:850;display:inline-flex}.project-link{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:2px}.project-link:hover{color:var(--accent)}.project-case-study-link{color:var(--blue)}.project-archive{color:#7c8391}.case-study{width:min(100% - 40px,1360px);margin:0 auto;padding:30px 0 0}.case-study-breadcrumb{min-height:44px;color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:clamp(50px,7vw,92px);font-size:.78rem;font-weight:780;display:flex}.case-study-breadcrumb a{color:var(--blue)}.case-study-breadcrumb a:hover{text-underline-offset:4px;text-decoration:underline}.case-study-hero{grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);align-items:start;gap:clamp(38px,6vw,92px);padding-bottom:clamp(90px,12vw,160px);display:grid}.case-study-heading{padding-top:clamp(0px,2vw,28px)}.case-study-heading .eyebrow{margin-bottom:18px}.case-study-status{border-color:var(--line);min-height:34px;color:var(--ink);align-items:center;margin-bottom:28px;padding:0 12px;display:inline-flex}.case-study-status.project-status-live{background:#c7f46b8c;border-color:#1d6e483d}.case-study-status.project-status-ready{color:#2448ad;background:#315bd61f;border-color:#315bd633}.case-study-status.project-status-platform,.case-study-status.project-status-archive{border-color:var(--line);background:#e9e6de}.case-study-heading h1{letter-spacing:-.085em;overflow-wrap:anywhere;max-width:720px;margin-bottom:28px;font-size:clamp(4.2rem,8.8vw,9.5rem);line-height:.82}.case-study-lead{max-width:630px;color:var(--ink-soft);margin-bottom:34px;font-size:clamp(1.08rem,1.7vw,1.34rem);line-height:1.72}.case-study-actions{flex-wrap:wrap;gap:10px;display:flex}.case-study-figure{background:var(--ink);box-shadow:var(--shadow);border-radius:clamp(20px,3vw,42px);margin:0;padding:clamp(10px,1.7vw,22px);position:relative;transform:rotate(1deg)}.case-study-figure img{aspect-ratio:16/10;object-fit:cover;border-radius:clamp(12px,2vw,26px);width:100%;height:auto}.case-study-figure figcaption{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.66rem;position:absolute;bottom:-34px;right:22px}.case-study-body{border-top:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(28px,5vw,80px);padding:clamp(78px,10vw,140px) 0;display:grid}.case-study-overview{grid-column:1/9;padding-right:clamp(0px,5vw,70px)}.case-study-overview h2,.case-study-section h2{letter-spacing:-.075em;max-width:940px;margin-bottom:28px;font-size:clamp(2.8rem,6vw,6.6rem);line-height:.94}.case-study-overview>p:last-child,.case-study-section>p:last-child{max-width:850px;color:var(--ink-soft);margin-bottom:0;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.8}.case-study-facts{border-top:2px solid var(--ink);grid-column:9/13;align-self:start}.case-study-facts>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(90px,.7fr) 1.3fr;gap:18px;padding:22px 0;display:grid}.case-study-facts span{color:var(--ink-soft);letter-spacing:.07em;text-transform:uppercase;font-size:.7rem;font-weight:800}.case-study-facts strong{font-size:.88rem;line-height:1.5}.case-study-facts ul{margin:0;padding:0;list-style:none}.case-study-facts li{margin-bottom:7px;font-size:.88rem;font-weight:760}.case-study-section{border-top:1px solid var(--line);grid-column:1/13;margin-top:clamp(90px,13vw,180px);padding-top:clamp(38px,5vw,72px)}.case-study-deployment{grid-template-columns:minmax(130px,.35fr) 1fr;column-gap:clamp(28px,7vw,110px);display:grid}.case-study-deployment .eyebrow{grid-row:span 2}.case-study-list{border-top:1px solid var(--line);margin:52px 0 0;padding:0;list-style:none}.case-study-list li{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr;gap:20px;padding:30px 0;display:grid}.case-study-list span{color:var(--blue);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:800}.case-study-list p{letter-spacing:-.025em;max-width:920px;margin:0;font-size:clamp(1.1rem,2vw,1.55rem);font-weight:680;line-height:1.45}.case-study-architecture ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:48px 0 0;padding:0;list-style:none;display:grid}.case-study-architecture li{border:1px solid var(--line);background:var(--surface);border-radius:18px;min-height:110px;padding:28px;font-size:clamp(1rem,1.8vw,1.34rem);font-weight:760}.case-study-next{border-top:1px solid var(--line);padding:clamp(90px,12vw,170px) 0 48px}.case-study-next>a{border-bottom:2px solid var(--ink);letter-spacing:-.07em;justify-content:space-between;align-items:center;gap:32px;min-height:130px;font-size:clamp(2.8rem,7vw,7rem);font-weight:850;line-height:.94;display:flex}.case-study-next>a:hover{color:var(--blue)}.case-study-next i{font-style:normal}.case-study-next>div{justify-content:flex-end;gap:24px;padding-top:28px;font-size:.8rem;font-weight:800;display:flex}.site-error-page{background:radial-gradient(circle at 14% 12%, #bcff512e, transparent 28%), radial-gradient(circle at 84% 76%, #6274ff29, transparent 32%), var(--paper);min-height:100vh}.site-error-content{grid-template-columns:minmax(240px,.62fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,100px);width:min(100% - 40px,1280px);min-height:calc(100vh - 78px);margin:0 auto;padding:clamp(64px,9vw,130px) 0;display:grid}.site-error-code{color:#0000;letter-spacing:-.12em;-webkit-text-stroke:2px var(--line-strong);-webkit-user-select:none;user-select:none;font-size:clamp(9rem,23vw,22rem);font-weight:950;line-height:.72}.site-error-copy{max-width:720px}.site-error-copy h1{letter-spacing:-.08em;max-width:690px;margin:14px 0 24px;font-size:clamp(3.5rem,7.5vw,8.2rem);line-height:.88}.site-error-copy>p:not(.eyebrow,.site-error-path){max-width:600px;color:var(--ink-soft);font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.65}.site-error-path{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;gap:6px;margin-top:26px;font-size:.72rem;font-weight:800;display:grid}.site-error-path code{border:1px solid var(--line);background:var(--surface);width:fit-content;max-width:100%;color:var(--ink);letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap;border-radius:9px;padding:9px 12px;font-size:.78rem;font-weight:720;overflow:hidden}.site-error-actions{flex-wrap:wrap;gap:10px;margin-top:34px;display:flex}.site-error-actions button{font:inherit}.contact-section{background:var(--blue);color:var(--white);padding:clamp(96px,12vw,180px) max(20px,50% - 680px) 44px}.contact-section .eyebrow{color:var(--lime)}.contact-section h2{max-width:1050px}.contact-email{border-bottom:2px solid var(--lime);letter-spacing:-.04em;overflow-wrap:anywhere;align-items:center;gap:18px;max-width:100%;min-height:64px;margin-top:25px;font-size:clamp(1.2rem,3.5vw,3.4rem);font-weight:700;display:inline-flex}.contact-email:hover{color:var(--lime)}.contact-footer{border-top:1px solid #ffffff40;justify-content:space-between;gap:30px;margin-top:clamp(100px,16vw,220px);padding-top:28px;font-size:.78rem;display:flex}.contact-footer p{margin:0}.contact-footer div{gap:24px;display:flex}.contact-footer a{align-content:center;min-height:44px;font-weight:800}.privacy-choice-link{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.consent-banner{z-index:1000010;right:max(18px, env(safe-area-inset-right,0px));bottom:max(18px, calc(env(safe-area-inset-bottom,0px) + 12px));width:min(100% - 168px,660px);max-height:calc(100dvh - 36px - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;color:var(--white);background:#172033f7;border:1px solid #ffffff2e;border-radius:18px;justify-content:space-between;align-items:center;gap:28px;padding:22px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 22px 70px #1720334d}.consent-banner strong{margin-bottom:7px;font-size:1rem;display:block}.consent-banner p{color:#d3d7df;max-width:420px;margin:0;font-size:.82rem;line-height:1.55}.consent-banner a{color:var(--lime);text-underline-offset:3px;text-decoration:underline}.consent-actions{flex:none;gap:8px;display:flex}.consent-actions button,.privacy-controls button{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;padding:0 16px;font-size:.78rem;font-weight:800}.consent-actions .consent-accept{border-color:var(--lime);background:var(--lime);color:var(--ink)}.privacy-home-link{align-content:center;min-height:48px;font-size:.86rem;font-weight:800}.privacy-content{width:min(100% - 40px,900px);margin:0 auto;padding:clamp(80px,10vw,140px) 0}.privacy-content h1{letter-spacing:-.075em;max-width:800px;margin-bottom:28px;font-size:clamp(3.4rem,8vw,7rem);line-height:.92}.privacy-lead{max-width:760px;color:var(--ink-soft);margin-bottom:72px;font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.7}.privacy-content section{border-top:1px solid var(--line);padding:34px 0}.privacy-content section h2{letter-spacing:-.04em;margin-bottom:14px;font-size:clamp(1.5rem,3vw,2.25rem)}.privacy-content section p{max-width:760px;color:var(--ink-soft);margin-bottom:0;line-height:1.75}.privacy-content section a{color:var(--blue);text-decoration:underline}.privacy-content code{font-size:.88em}.privacy-controls{background:var(--ink);color:var(--white);border-radius:18px;margin-top:36px;padding:24px}.privacy-controls p{margin-bottom:16px}.privacy-controls>div{flex-wrap:wrap;gap:9px;display:flex}.privacy-controls button:last-child{border-color:var(--lime);background:var(--lime);color:var(--ink)}.privacy-updated{color:var(--ink-soft);margin-top:34px;font-size:.78rem}.back-to-top{z-index:90;width:48px;height:48px;color:var(--white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#172033e0;border:1px solid #ffffff73;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:18px;left:18px;right:auto;box-shadow:0 10px 28px #17203333}.back-to-top:hover{background:var(--accent)}#live2d-widget{filter:drop-shadow(0 12px 18px #17203333);transition:opacity .18s,transform .26s cubic-bezier(.22,1,.36,1);z-index:999998!important}#live2d-widget[data-tonytan-disabled=true]{display:none!important}#live2d-widget[data-tonytan-mood=lost],#live2d-widget[data-tonytan-mood=error]{filter:drop-shadow(0 14px 22px #6274ff57)saturate(1.08)}.pet-companion-dock{z-index:1000002;display:none;position:fixed}.pet-touch-target{-webkit-tap-highlight-color:transparent;cursor:grab;touch-action:none;background:0 0;border:0;border-radius:56px 0 0 42px;width:100%;height:100%;padding:0;display:block;position:relative}.pet-touch-target:active{cursor:grabbing}.pet-touch-target:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 78%, white);outline-offset:-6px}.cat-companion{z-index:1000001;width:min(330px,100vw - 32px);animation:.42s ease-out both cat-companion-arrive;position:fixed;bottom:156px;right:78px}.cat-companion a,.cat-companion button{border:1px solid #ffffffbd;border-left:3px solid var(--lime);color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;text-align:left;background:#172033f0;border-radius:17px;align-items:center;width:100%;padding:14px 16px 14px 18px;display:grid;position:relative;box-shadow:0 18px 46px #17203347}.cat-companion a:after,.cat-companion button:after{content:"";background:#172033f0;width:16px;height:16px;position:absolute;bottom:-8px;right:30px;transform:rotate(45deg)}.cat-companion-copy{gap:5px;display:grid}.cat-companion strong{font-size:.7rem;line-height:1.45}.cat-companion small{color:var(--lime);font-size:.58rem;font-weight:900}.cat-companion a:hover,.cat-companion button:hover{background:var(--blue);transform:translateY(-2px)}@keyframes cat-companion-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:820px}.hero-visual{justify-self:center;width:min(85%,570px)}.about-grid{grid-template-columns:1fr}.experience-item{grid-template-columns:.48fr 1fr}.experience-item>div:last-child{grid-column:2}.case-study-hero{grid-template-columns:1fr}.case-study-heading{max-width:820px}.case-study-figure{justify-self:center;width:min(92%,920px)}.case-study-overview{grid-column:1/8}.case-study-facts{grid-column:8/13}}@media (width<=760px){:root{--ink-soft:#39465b}html{scroll-padding-top:74px}.site-header,.hero,.section,.case-study{width:min(100% - 28px,1360px)}.site-header{background:var(--header-solid);-webkit-backdrop-filter:none;backdrop-filter:none;min-height:70px}.preferences-trigger{width:44px;height:44px}.menu-button{min-height:44px;padding:0 2px}.consent-banner{left:max(14px, env(safe-area-inset-left,0px));right:max(14px, env(safe-area-inset-right,0px));bottom:max(14px, calc(env(safe-area-inset-bottom,0px) + 10px));width:auto;max-height:min(330px, calc(100dvh - 28px - env(safe-area-inset-bottom,0px)));border-radius:16px;gap:14px;padding:16px;display:grid}.consent-actions{grid-template-columns:1fr 1.15fr;margin-top:0;display:grid}.consent-banner strong{margin-bottom:5px;font-size:1rem}.consent-banner p{font-size:.9rem;line-height:1.52}.consent-actions button{min-height:48px;padding:0 10px;font-size:.86rem}.contact-footer div{flex-wrap:wrap}.brand strong{display:none}.brand,.header-actions{z-index:3;position:relative}.menu-button{z-index:2;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.menu-button-label{text-transform:uppercase;font-size:.86rem;font-weight:850}.menu-lines{gap:5px;width:22px;display:grid}.menu-lines i{background:currentColor;height:2px;transition:transform .18s;display:block}.menu-button[aria-expanded=true] .menu-lines i:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-button[aria-expanded=true] .menu-lines i:last-child{transform:translateY(-3.5px)rotate(-45deg)}.site-nav{z-index:2;width:100vw;height:100dvh;padding:max(92px, calc(70px + env(safe-area-inset-top,0px))) max(28px, env(safe-area-inset-right,0px)) max(36px, env(safe-area-inset-bottom,0px)) max(28px, env(safe-area-inset-left,0px));background:var(--paper);color:var(--ink);opacity:0;overscroll-behavior:contain;pointer-events:none;align-content:center;gap:8px;transition:opacity .18s,transform .18s;display:grid;position:fixed;inset:0;overflow-y:auto;transform:translateY(-12px)}.site-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.site-nav a{min-height:60px;color:var(--ink);letter-spacing:-.05em;text-shadow:none;justify-content:center;font-size:clamp(1.9rem,11vw,3rem)}.site-nav a:after{display:none}.hero{gap:42px;padding:48px 0 68px}.hero h1{letter-spacing:-.055em;max-width:100%;margin-bottom:20px;font-size:clamp(2.5rem,9.5vw,3.6rem);line-height:.96}.hero[data-locale=zh] h1{letter-spacing:-.035em;font-size:clamp(2.45rem,9.2vw,3.45rem);line-height:1.02}.hero-intro,.section-copy,.project-body>p,.case-study-lead,.case-study-overview>p:last-child,.case-study-section>p:last-child{font-size:1.08rem;line-height:1.72}.hero-intro{margin-bottom:28px}.eyebrow,.project-meta,.case-study-breadcrumb,.case-study-facts span,.experience-period,.experience-location{font-size:.8rem}.hero-links a,.resume-actions,.project-link,.project-archive{font-size:.94rem}.project-status,.case-study-status,.tag-list li,.status-card p{font-size:.76rem}.case-study-facts strong,.case-study-facts li{font-size:.96rem}.hero-actions{grid-template-columns:1fr;display:grid}.resume-actions{grid-template-columns:1fr;gap:8px;display:grid}.resume-actions .button,.resume-alternate{width:100%}.button{min-height:52px;padding:0 18px;font-size:.96rem}.hero-links{gap:18px;margin-top:26px}.hero-visual{width:min(100% - 16px,520px);padding:20px 20px 56px}.hero-visual:before{inset:0 0 26px 24px}.status-card{min-width:230px;right:-2px}.section-heading h2,.contact-section h2{letter-spacing:-.065em;margin-bottom:20px;font-size:clamp(2.45rem,11vw,3.55rem);line-height:.97}.section{padding:72px 0}.section-copy{font-size:1.08rem;line-height:1.72}.about-grid{gap:34px;margin-top:40px}.about-statement{padding:24px}.about-statement p{margin-bottom:26px;font-size:1.45rem;line-height:1.26}.skills-grid li{min-height:88px;padding:14px 12px;font-size:1rem}.skills-grid span{font-size:.74rem}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-grid li:nth-child(3n+1){border-left:0}.skills-grid li:nth-child(odd){border-left:1px solid var(--line)}.experience-section{padding-left:14px;padding-right:14px}.experience-item{grid-template-columns:1fr;gap:14px;padding:28px 0}.experience-item>div:last-child{grid-column:auto}.education-grid,.project-grid{grid-template-columns:1fr}.education-card{grid-template-columns:58px 1fr auto;gap:16px;padding:18px}.education-card img{width:58px;height:58px}.work-heading-row{display:block}.project-count{margin-top:28px}.project-filters{scrollbar-width:none;flex-wrap:nowrap;margin-right:-14px;padding:4px 14px 10px 0;overflow-x:auto}.project-filters::-webkit-scrollbar{display:none}.project-filters button{flex:none;min-height:48px;padding:0 17px;font-size:.9rem}.project-grid{gap:18px}.project-card{border-radius:20px}.project-body{padding:22px}.project-meta{margin-bottom:17px;font-size:.78rem}.project-body h3{margin-bottom:12px;font-size:1.8rem;line-height:1.02}.project-body>p{margin-bottom:20px}.tag-list{gap:7px;margin-bottom:20px}.tag-list li{padding:7px 9px;font-size:.8rem}.project-links{gap:4px;display:grid}.project-link,.project-archive{min-height:46px}.project-body>p{min-height:0}.project-status{bottom:12px;right:12px}.case-study{padding-top:18px}.case-study-breadcrumb{margin-bottom:36px;font-size:.86rem}.case-study-hero{gap:42px;padding-bottom:72px}.case-study-heading h1{letter-spacing:-.07em;margin-bottom:20px;font-size:clamp(2.85rem,13vw,4.2rem);line-height:.9}.case-study-actions{grid-template-columns:1fr;display:grid}.case-study-figure{width:calc(100% - 14px)}.case-study-figure figcaption{font-size:.76rem;bottom:-28px;right:4px}.case-study-body{padding:68px 0;display:block}.case-study-overview{padding-right:0}.case-study-facts{margin-top:56px}.case-study-section{margin-top:68px;padding-top:34px}.case-study-overview h2,.case-study-section h2{letter-spacing:-.06em;margin-bottom:18px;font-size:clamp(2.25rem,10vw,3.25rem);line-height:.98}.case-study-facts>div{grid-template-columns:minmax(106px,.7fr) 1.3fr;gap:14px;padding:18px 0}.case-study-list{margin-top:34px}.case-study-list li{padding:22px 0}.case-study-list p{font-size:1.12rem;line-height:1.5}.case-study-architecture ul{gap:10px;margin-top:30px}.case-study-architecture li{min-height:72px;padding:18px;font-size:1.06rem}.case-study-next{padding:68px 0 32px}.case-study-next>a{gap:14px;min-height:92px;font-size:clamp(2.2rem,10vw,3.2rem)}.case-study-deployment{display:block}.case-study-list li{grid-template-columns:44px 1fr;gap:10px}.case-study-architecture ul{grid-template-columns:1fr}.case-study-architecture li{min-height:84px}.case-study-next>a{min-height:108px}.contact-section{padding-top:72px;padding-left:14px;padding-right:14px}.contact-email{min-height:54px;margin-top:16px;font-size:clamp(1.2rem,6.2vw,1.85rem);line-height:1.2}.contact-footer{display:block}.contact-footer div{margin-top:18px}.contact-footer{margin-top:68px;font-size:.92rem}.contact-footer div{gap:4px;display:grid}.contact-footer a,.privacy-choice-link{min-height:46px;font-size:.94rem}.privacy-content{width:min(100% - 28px,900px);padding:56px 0 72px}.privacy-content h1{font-size:clamp(2.7rem,12vw,4rem);line-height:.95}.privacy-lead{margin-bottom:48px;font-size:1.08rem;line-height:1.72}.privacy-content section{padding:28px 0}.privacy-content section h2{font-size:1.62rem;line-height:1.1}.privacy-content section p{font-size:1.04rem;line-height:1.7}.privacy-controls{margin-top:28px;padding:20px}.privacy-controls>div{grid-template-columns:1fr;display:grid}.privacy-controls button{min-height:48px;font-size:.94rem}.site-error-content{grid-template-columns:1fr;align-content:center;gap:24px;padding:48px 0 190px}.site-error-code{font-size:clamp(7rem,38vw,11rem);line-height:.68}.site-error-copy h1{margin:10px 0 18px;font-size:clamp(3rem,15vw,5.4rem)}.site-error-actions{grid-template-columns:1fr;display:grid}.cat-companion{right:max(86px, calc(env(safe-area-inset-right) + 86px));bottom:max(18px, calc(env(safe-area-inset-bottom) + 18px));width:min(290px,100vw - 104px)}.cat-companion.pet-is-expanded{right:14px;bottom:max(218px, calc(env(safe-area-inset-bottom) + 218px));width:min(330px,100vw - 32px)}.cat-companion a,.cat-companion button{border-radius:15px}.cat-companion a:after,.cat-companion button:after{display:none}#live2d-widget[data-tonytan-mobile=true]{transform:translateY(calc(100% - var(--pet-peek) - var(--pet-pull)));transform-origin:100% 100%;right:max(0px, env(safe-area-inset-right))!important;bottom:max(0px, env(safe-area-inset-bottom))!important;display:block!important}#live2d-widget[data-tonytan-mobile=true][data-tonytan-expanded=true]{transform:translateY(var(--pet-pull))}#live2d-widget[data-tonytan-disabled=true]{display:none!important}.pet-companion-dock{right:max(0px, env(safe-area-inset-right));bottom:max(0px, env(safe-area-inset-bottom));width:76px;height:var(--pet-peek);transform:translateY(calc(-1 * var(--pet-pull)));transition:width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1),transform 80ms linear;display:block}.pet-companion-dock.is-expanded{width:110px;height:205px;transform:translateY(var(--pet-pull))}button,input,select,textarea{font-size:max(.94rem,15px)}.eyebrow,.project-meta,.case-study-breadcrumb,.case-study-facts span,.experience-period,.experience-location,.project-status,.case-study-status,.tag-list li,.status-card p,.skills-grid span,.case-study-figure figcaption,.contact-footer,.consent-actions button,.menu-button-label{font-size:max(.82rem,13px)}.hero-links a,.project-link,.project-archive,.privacy-choice-link,.contact-footer a,.button,.project-filters button{font-size:1rem}.project-number,.visual-note,.project-count{font-size:13px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}#live2d-widget{display:none!important}.cat-companion{animation:none}.pet-companion-dock,.pet-companion-dock.is-expanded{transition:none;transform:none}}@media print{#live2d-widget,.pet-companion-dock,.cat-companion,.back-to-top{display:none!important}}.photography-page,.photography-manage-page{color:#f3f1eb;--photo-line:#ffffff26;--photo-muted:#9a9da3;--photo-accent:#ff5d3a;background:#0a0b0d;min-height:100vh}.home-photography-section{color:#f3f1eb;background:#0a0b0d;grid-template-columns:minmax(300px,.78fr) minmax(380px,1.22fr);align-items:center;gap:clamp(40px,8vw,130px);min-height:560px;padding:clamp(80px,11vw,160px) max(24px,50vw - 680px);display:grid;overflow:hidden}.home-photography-section h2{letter-spacing:-.07em;margin:0 0 24px;font-family:Georgia,serif;font-size:clamp(3.3rem,7vw,7.5rem);font-weight:400;line-height:.88}.home-photography-section>div>p:not(.eyebrow){color:#a9acb1;max-width:520px;font-size:1rem;line-height:1.75}.home-photography-section a{color:#fff;text-underline-offset:7px;margin-top:28px;font-size:.77rem;font-weight:900;-webkit-text-decoration:underline #ff5d3a;text-decoration:underline #ff5d3a;display:inline-flex}.home-photography-section a span{color:#ff5d3a}.home-photography-car{border-bottom:1px solid #ffffff4d;height:clamp(170px,25vw,330px);display:block;position:relative}.home-photography-car:before{content:"";border:1px solid #ffffffa6;border-bottom:0;border-radius:88% 30% 0 0;width:92%;height:47%;position:absolute;bottom:-1px;right:0;transform:skew(-18deg)}.home-photography-car:after{content:"";background:#ff5d3a;width:83%;height:4px;position:absolute;bottom:16%;right:6%;box-shadow:0 0 24px #ff5d3ab3}.home-photography-car b{z-index:1;background:#0a0b0d;border:14px solid #6e727a;border-radius:50%;width:76px;height:76px;position:absolute;bottom:-38px}.home-photography-car b:first-child{right:9%}.home-photography-car b:last-child{right:65%}.photography-page .site-header,.photography-manage-page .site-header{border-bottom-color:var(--photo-line);color:#f3f1eb;background:#0a0b0de6}.photography-page .brand,.photography-page .privacy-home-link,.photography-manage-page .brand,.photography-manage-page .privacy-home-link{color:#f3f1eb}.photography-page .brand span,.photography-manage-page .brand span{color:#151619}.photography-page .preferences-trigger,.photography-manage-page .preferences-trigger{color:#c9cbd0}.photography-hero{width:min(100% - 48px,1500px);margin:0 auto;padding:clamp(90px,14vw,210px) 0 clamp(80px,11vw,150px)}.photography-hero>p,.photo-manage-hero>p{color:#b5b7bc;letter-spacing:.19em;text-transform:uppercase;margin:0 0 26px;font-size:.68rem;font-weight:800}.photography-hero h1{letter-spacing:-.075em;max-width:1200px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.5rem,11.7vw,11.5rem);font-weight:400;line-height:.76}.photography-hero h1 span{color:var(--photo-accent);margin-left:clamp(0px,10vw,150px);font-style:italic;display:block}.photography-hero>div{grid-template-columns:minmax(280px,540px) 1fr;align-items:end;gap:60px;margin-top:clamp(50px,8vw,100px);display:grid}.photography-hero>div p{color:#b8bbc0;margin:0;font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.75}.photography-hero-copy{justify-items:start;gap:26px;display:grid}.photography-instagram-link{color:#f3f1eb;border:1px solid #ffffff3d;align-items:center;gap:10px;min-height:44px;padding:0 15px;font-size:.7rem;text-decoration:none;transition:all .16s;display:inline-flex}.photography-instagram-link>span{width:22px;height:22px;color:var(--photo-accent);border:1px solid #ffffff73;border-radius:50%;place-items:center;font-size:.9rem;display:grid}.photography-instagram-link strong{font-weight:800}.photography-instagram-link>b{color:var(--photo-accent)}.photography-instagram-link:hover{border-color:var(--photo-accent);background:#ff5d3a14}.photography-hero>div i{border-bottom:1px solid var(--photo-line);height:54px;display:block;position:relative}.photography-hero>div i:before{content:"";border:1px solid #76797f;border-bottom:0;border-radius:100% 60% 0 0;width:min(360px,50%);height:13px;position:absolute;bottom:-1px;right:0;transform:skew(-22deg)}.photography-hero>div i b{background:#0a0b0d;border:4px solid #777a7f;border-radius:50%;width:23px;height:23px;position:absolute;bottom:-12px;right:8%}.photography-hero>div i b:last-child{right:35%}.photography-archive{border-top:1px solid var(--photo-line);color:#151619;background:#f0eee8;padding:clamp(70px,9vw,130px) max(24px,50vw - 750px)}.photography-archive>header{margin-bottom:clamp(48px,7vw,95px)}.photography-archive>header span{color:#74767a;letter-spacing:.2em;font-size:.62rem;font-weight:900}.photography-archive>header h2{letter-spacing:-.065em;margin:10px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.2rem,7vw,7rem);font-weight:400}.photography-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(16px,2vw,30px);display:grid}.photography-card{color:#151619;cursor:zoom-in;text-align:left;background:0 0;border:0;grid-column:span 4;padding:0;position:relative}.photography-card:nth-child(5n+2),.photography-card:nth-child(5n+4){grid-column:span 5}.photography-card:nth-child(5n+3),.photography-card:nth-child(5n+5){grid-column:span 3}.photography-card.is-featured{width:min(100%, var(--photo-feature-width-fallback,100%));width:min(100%, var(--photo-feature-width,100%));grid-column:1/-1;justify-self:center}.photography-card img{filter:saturate(.93)contrast(1.03);background:#d8d6d0;width:100%;height:auto;transition:filter .3s,transform .5s cubic-bezier(.2,.8,.2,1);display:block}.photography-card.is-featured img{max-height:72svh}.photography-card:hover img{filter:saturate(1.07)contrast(1.02);transform:scale(.992)}.photography-card>span{border-top:1px solid #151619;grid-template-columns:auto 1fr;gap:4px 16px;padding:15px 0 34px;display:grid}.photography-card>span b{color:#7d7e82;grid-row:span 2;font-size:.62rem}.photography-card>span strong{font-size:.9rem}.photography-card>span small{color:#696b70;font-size:.7rem}.photography-status,.photography-empty{text-align:center;align-content:center;justify-items:center;gap:18px;min-height:360px;display:grid}.photography-status i{border:1px solid;border-right-color:#0000;border-radius:50%;width:44px;height:44px;animation:.9s linear infinite photo-spin}.photography-status button{cursor:pointer;background:0 0;border:1px solid;padding:11px 18px}.photography-empty h3{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,5vw,4rem);font-weight:400}.photography-empty p{color:#66686d;max-width:520px;margin:0}.photography-empty>div{border-bottom:1px solid #8b8d91;width:min(460px,75vw);height:100px;position:relative}.photography-empty>div:before{content:"";border:1px solid #74767a;border-bottom:0;border-radius:75% 30% 0 0;width:68%;height:43%;position:absolute;bottom:0;right:10%;transform:skew(-20deg)}.photography-empty>div span{background:#f0eee8;border:7px solid #77797d;border-radius:50%;width:34px;height:34px;position:absolute;bottom:-17px}.photography-empty>div span:first-child{right:18%}.photography-empty>div span:nth-child(2){right:58%}.photography-empty>div span:last-child{display:none}.photography-footer{color:#a6a8ad;justify-content:space-between;align-items:center;gap:30px;width:min(100% - 48px,1500px);min-height:180px;margin:0 auto;font-size:.75rem;display:flex}.photography-footer div{gap:24px;display:flex}.photography-footer a{color:#f3f1eb}.photo-lightbox{z-index:1000;color:#f4f2ec;background:#040506fa;padding:28px;display:grid;position:fixed;inset:0}.photo-lightbox figure{grid-template-columns:minmax(0,1fr) 310px;gap:28px;min-width:0;min-height:0;margin:0;display:grid}.photo-lightbox figure>img{object-fit:contain;width:100%;min-width:0;height:calc(100vh - 56px)}.photo-lightbox figcaption{flex-direction:column;justify-content:flex-end;gap:28px;min-width:0;padding:72px 0 12px;display:flex}.photo-lightbox figcaption span{color:#8e9197;letter-spacing:.13em;font-size:.65rem}.photo-lightbox figcaption h2{letter-spacing:-.055em;margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,4.5rem);font-weight:400;line-height:.95}.photo-lightbox figcaption>a{color:#fff;text-underline-offset:6px;font-size:.75rem;font-weight:800}.photo-metadata{border-top:1px solid var(--photo-line);gap:12px;margin:0;padding-top:22px;display:grid}.photo-metadata div{grid-template-columns:80px 1fr;gap:12px;display:grid}.photo-metadata dt{color:#898c92;text-transform:uppercase;font-size:.62rem}.photo-metadata dd{margin:0;font-size:.75rem;line-height:1.4}.photo-lightbox-close,.photo-lightbox-nav{z-index:2;color:#fff;cursor:pointer;background:#0000008a;border:1px solid #ffffff40;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:absolute}.photo-lightbox-close{font-size:1.5rem;top:24px;right:24px}.photo-lightbox-nav{top:50%;transform:translateY(-50%)}.photo-lightbox-nav.is-previous{left:24px}.photo-lightbox-nav.is-next{right:350px}.photography-manage-page main{width:min(100% - 48px,1240px);margin:0 auto;padding:76px 0 120px}.photo-manage-hero{border-bottom:1px solid var(--photo-line);grid-template-columns:minmax(0,1fr) minmax(260px,440px);align-items:end;gap:24px 60px;margin-bottom:56px;padding-bottom:48px;display:grid}.photo-manage-hero>p{grid-column:1/-1;margin-bottom:0}.photo-manage-hero h1{letter-spacing:-.065em;margin:0;font-family:Georgia,serif;font-size:clamp(3.4rem,7vw,7.5rem);font-weight:400;line-height:.88}.photo-manage-hero>span{color:var(--photo-muted);line-height:1.7}.photo-auth-card{border:1px solid var(--photo-line);text-align:center;place-content:center;justify-items:center;gap:20px;max-width:560px;min-height:440px;margin:70px auto;padding:50px;display:grid}.photo-auth-card h2{margin:0;font-family:Georgia,serif;font-size:2.5rem;font-weight:400}.photo-auth-card p{color:var(--photo-muted);line-height:1.7}.photo-auth-card>a:last-child{color:#b8bbc0;font-size:.75rem}.photo-auth-mark{border:1px solid var(--photo-line);border-radius:50%;place-items:center;width:72px;height:72px;font-weight:900;display:grid}.photo-admin-bar{border:1px solid var(--photo-line);color:var(--photo-muted);justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;padding:16px 20px;font-size:.75rem;display:flex}.photo-admin-bar p{margin:0}.photo-admin-bar strong{color:#fff}.photo-admin-bar>div{align-items:center;gap:18px;display:flex}.photo-admin-bar a{color:#fff}.photo-admin-bar form{margin:0}.photo-admin-bar button{border:1px solid var(--photo-line);color:#fff;cursor:pointer;background:0 0;padding:7px 11px}.photo-instagram-settings{border:1px solid var(--photo-line);background:#101216;margin:38px 0 76px;padding:clamp(24px,4vw,42px)}.photo-instagram-settings>header{grid-template-columns:minmax(0,1fr) minmax(280px,480px);align-items:end;gap:24px 60px;margin-bottom:30px;display:grid}.photo-instagram-settings>header span{color:var(--photo-muted);letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;font-weight:900}.photo-instagram-settings>header h2{letter-spacing:-.055em;margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4.4rem);font-weight:400;line-height:.95}.photo-instagram-settings>header p{color:var(--photo-muted);margin:0;font-size:.78rem;line-height:1.7}.photo-instagram-control{border-top:1px solid var(--photo-line);grid-template-columns:minmax(240px,520px) minmax(220px,1fr);align-items:end;gap:20px 30px;padding-top:26px;display:grid}.photo-instagram-control>label{gap:8px;display:grid}.photo-instagram-control>label>span{color:#a6a9af;font-size:.65rem;font-weight:800}.photo-instagram-control>label>div{background:#090a0d;border:1px solid #3b3e44;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.photo-instagram-control>label b{color:var(--photo-accent);padding-left:13px}.photo-instagram-control input{color:#f4f2ec;min-width:0;font:inherit;background:0 0;border:0;outline:0;padding:12px 13px 12px 4px;font-size:.84rem}.photo-instagram-control>label>div:focus-within{border-color:var(--photo-accent);outline:1px solid var(--photo-accent)}.photo-instagram-control input[aria-invalid=true]{color:#ff9a84}.photo-instagram-control small{color:var(--photo-muted);font-size:.64rem;line-height:1.5}.photo-instagram-control>label:has(input[aria-invalid=true]) small{color:#ff9a84}.photo-instagram-control>div{flex-wrap:wrap;align-items:center;gap:12px 18px;min-height:46px;display:flex}.photo-instagram-control button{background:var(--photo-accent);color:#17100e;cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-weight:900;display:inline-flex}.photo-instagram-control button:disabled{cursor:not-allowed;filter:grayscale();opacity:.45}.photo-instagram-control a{color:#fff;text-underline-offset:5px;font-size:.72rem}.photo-instagram-control span[role=status]{width:100%;color:var(--photo-muted);font-size:.68rem}.photo-instagram-control span.is-saved{color:#c7f46b}.photo-instagram-control span.is-failed{color:#ff9a84}.photo-published-section{margin:56px 0 96px}.photo-published-section>header{grid-template-columns:minmax(0,1fr) minmax(280px,480px);align-items:end;gap:24px 60px;margin-bottom:30px;display:grid}.photo-published-section>header span,.photo-upload-heading>span{color:var(--photo-muted);letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;font-weight:900}.photo-published-section>header h2,.photo-upload-heading h2{letter-spacing:-.055em;margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(2.7rem,5vw,5.2rem);font-weight:400;line-height:.95}.photo-published-section>header p{color:var(--photo-muted);margin:0;font-size:.82rem;line-height:1.7}.photo-published-status{border:1px solid var(--photo-line);min-height:112px;color:var(--photo-muted);justify-content:center;align-items:center;gap:12px;margin:0;font-size:.78rem;display:flex}.photo-published-status button{border:1px solid var(--photo-line);color:#fff;cursor:pointer;background:0 0;padding:8px 12px}.photo-published-status.is-error{color:#ffb19f}.photo-published-list{gap:12px;display:grid}.photo-published-card{border:1px solid var(--photo-line);background:#101216}.photo-published-card.is-editing{border-color:#ff5d3a8c}.photo-published-summary{grid-template-columns:136px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:118px;padding:12px 18px 12px 12px;display:grid}.photo-published-summary>img{object-fit:contain;background:#050607;width:136px;height:94px;display:block}.photo-published-summary>div{gap:5px;min-width:0;display:grid}.photo-published-summary small{width:fit-content;color:var(--photo-accent);letter-spacing:.12em;text-transform:uppercase;font-size:.57rem;font-weight:900}.photo-published-summary strong,.photo-published-summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-published-summary strong{font-size:1rem}.photo-published-summary span{color:var(--photo-muted);font-size:.72rem}.photo-published-summary>button{border:1px solid var(--photo-line);color:#fff;cursor:pointer;background:0 0;min-height:40px;padding:0 14px;font-size:.72rem;font-weight:800}.photo-published-summary>button:hover,.photo-published-summary>button[aria-expanded=true]{border-color:var(--photo-accent);color:#ffd2c8}.photo-published-editor{border-top:1px solid var(--photo-line);padding:clamp(24px,4vw,46px)}.photo-edit-actions{align-items:center;gap:18px;min-height:46px;margin-top:28px;display:flex}.photo-edit-actions>button{background:var(--photo-accent);color:#17100e;cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 20px;font-weight:900;display:inline-flex}.photo-edit-actions>button:disabled{cursor:not-allowed;filter:grayscale();opacity:.45}.photo-edit-actions>span{color:var(--photo-muted);font-size:.7rem}.photo-edit-actions>span.is-saved{color:#c7f46b}.photo-edit-actions>span.is-failed{color:#ff9a84}.photo-delete-zone{border-top:1px solid #ff7e663d;justify-content:space-between;align-items:center;gap:28px;margin-top:38px;padding-top:28px;display:flex}.photo-delete-zone>div:first-child{gap:7px;display:grid}.photo-delete-zone strong{color:#ffd2c8;font-size:.78rem}.photo-delete-zone p{color:#9fa2a8;max-width:640px;margin:0;font-size:.7rem;line-height:1.55}.photo-delete-zone span[role=alert]{color:#ff9a84;font-size:.7rem}.photo-delete-zone>button{color:#ffb09f;cursor:pointer;background:0 0;border:1px solid #ff7e6680;flex:none;min-height:42px;padding:0 15px;font-size:.7rem;font-weight:800}.photo-delete-confirmation{background:#75181024;border:1px solid #ff7e6680;justify-content:space-between;align-items:center;gap:28px;width:100%;padding:20px;display:flex!important}.photo-delete-confirmation>div:last-child{flex:none;gap:10px;display:flex}.photo-delete-confirmation button{color:#fff;cursor:pointer;background:0 0;border:1px solid #52555b;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:.7rem;font-weight:800;display:inline-flex}.photo-delete-confirmation button.is-destructive{color:#1a0c09;background:#ff6c50;border-color:#ff6c50}.photo-delete-confirmation button:disabled{cursor:not-allowed;opacity:.6}.photo-upload-heading{border-top:1px solid var(--photo-line);margin:0 0 28px;padding-top:58px}.photo-file-picker{cursor:pointer;background:#ffffff06;border:1px dashed #686b71;place-items:center;min-height:210px;transition:all .16s;display:grid}.photo-file-picker:hover{border-color:var(--photo-accent);background:#ff5d3a0d}.photo-file-picker input{opacity:0;width:1px;height:1px;position:absolute}.photo-file-picker>span{justify-items:center;gap:8px;display:grid}.photo-file-picker b{font-size:2.5rem;font-weight:300}.photo-file-picker strong{font-size:1.1rem}.photo-file-picker small{color:var(--photo-muted)}.photo-upload-notice{border-left:3px solid var(--photo-accent);color:#ffd2c8;background:#ff5d3a1a;margin:16px 0 0;padding:12px 15px}.photo-no-drafts{color:var(--photo-muted);text-align:center;padding:70px 0}.photo-draft-list{gap:28px;margin-top:42px;display:grid}.photo-draft-card{border:1px solid var(--photo-line);background:#101216;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);display:grid}.photo-draft-preview{background:#050607;min-height:480px;position:relative;overflow:hidden}.photo-draft-preview img{object-fit:contain;width:100%;height:100%}.photo-draft-preview span{color:#c4c6ca;background:#000000b3;padding:7px 9px;font-size:.6rem;line-height:1.5;position:absolute;bottom:12px;right:12px}.photo-draft-fields{padding:clamp(24px,4vw,48px)}.photo-draft-heading{border-bottom:1px solid var(--photo-line);justify-content:space-between;align-items:start;gap:20px;margin-bottom:28px;padding-bottom:20px;display:flex}.photo-draft-heading strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.photo-draft-heading button{color:#aaaeb4;cursor:pointer;background:0 0;border:0;text-decoration:underline}.photo-field-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.photo-field-grid label{gap:7px;display:grid}.photo-field-grid label>span{color:#a6a9af;letter-spacing:.05em;font-size:.65rem;font-weight:800}.photo-field-grid input:not([type=checkbox]),.photo-field-grid textarea{color:#f4f2ec;width:100%;font:inherit;resize:vertical;background:#090a0d;border:1px solid #34373d;border-radius:0;padding:11px 12px;font-size:.8rem}.photo-field-grid input:focus,.photo-field-grid textarea:focus{outline:1px solid var(--photo-accent);border-color:var(--photo-accent)}.photo-feature-toggle{align-items:center;gap:9px!important;display:flex!important}.photo-feature-toggle input{accent-color:var(--photo-accent)}.photo-publish-panel{background:#090a0d;border:1px solid #34373d;gap:18px;margin-top:30px;padding:18px;transition:border-color .18s;display:grid}.photo-publish-panel.is-queued,.photo-publish-panel.is-original,.photo-publish-panel.is-preview,.photo-publish-panel.is-syncing,.photo-publish-panel.is-publish{border-color:#ff5d3a9e}.photo-publish-panel.is-done{border-color:#c7f46b73}.photo-publish-panel.is-failed{border-color:#ff9a8494}.photo-publish-status{gap:13px;display:grid}.photo-publish-status>div:first-child{align-items:center;gap:10px;min-width:0;display:flex}.photo-publish-status span{gap:4px;min-width:0;display:grid}.photo-publish-status strong{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.photo-publish-status small{color:#a3a6ac;font-size:.67rem;line-height:1.45}.photo-publish-panel.is-done .photo-publish-status small{color:#c7f46b}.photo-publish-panel.is-failed .photo-publish-status small{color:#ff9a84}.photo-file-progress,.photo-upload-queue-track{background:#292c31;height:4px;overflow:hidden}.photo-file-progress>span,.photo-upload-queue-track>span{background:var(--photo-accent);height:100%;transition:width .24s;display:block}.photo-publish-panel.is-done .photo-file-progress>span{background:#c7f46b}.photo-publish-actions{align-items:center;gap:20px;display:flex}.photo-publish-actions button{background:var(--photo-accent);color:#17100e;cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 20px;font-weight:900;display:inline-flex}.photo-publish-actions button:disabled{cursor:not-allowed;filter:grayscale();opacity:.45}.photo-publish-actions button[aria-busy=true]{filter:none;opacity:.82}.photo-publish-actions a{color:#fff;font-size:.75rem}.photo-upload-queue{z-index:80;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c0d10f7;border:1px solid #ff5d3aa6;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;width:min(620px,100vw - 36px);padding:18px 20px;display:grid;position:fixed;box-shadow:0 18px 55px #00000080}.photo-upload-queue-copy{gap:3px;min-width:0;display:grid}.photo-upload-queue-copy>span{color:var(--photo-accent);letter-spacing:.14em;text-transform:uppercase;font-size:.56rem;font-weight:900}.photo-upload-queue-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.photo-upload-queue-copy small{color:#b8bbc0;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.photo-upload-queue-counts{color:#aeb1b7;align-content:center;justify-items:end;gap:3px;font-size:.62rem;display:grid}.photo-upload-queue-counts strong{color:#f3f1eb}.photo-upload-queue-counts .is-failed{color:#ff9a84}.photo-upload-queue-track{grid-column:1/-1}.photo-upload-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:13px;height:13px;animation:.7s linear infinite photo-spin;display:inline-block}@keyframes photo-spin{to{transform:rotate(1turn)}}@media (width<=900px){.home-photography-section{grid-template-columns:1fr}.home-photography-car{width:100%}.photography-hero>div,.photography-archive>header,.photo-manage-hero{grid-template-columns:1fr}.photography-card,.photography-card:nth-child(n),.photography-card.is-featured{grid-column:span 6}.photography-card.is-featured:first-child{grid-column:1/-1}.photo-lightbox figure{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.photo-lightbox figure>img{height:auto;min-height:0;max-height:65vh}.photo-lightbox figcaption{grid-template-columns:1fr auto;gap:14px 24px;padding:0;display:grid}.photo-metadata{grid-column:1/-1}.photo-lightbox-nav.is-next{right:24px}.photo-published-section>header,.photo-instagram-settings>header,.photo-instagram-control,.photo-draft-card{grid-template-columns:1fr}.photo-draft-preview{aspect-ratio:4/3;min-height:0}}@media (width<=600px){.home-photography-section{min-height:0;padding-block:72px}.home-photography-section h2{font-size:clamp(2.65rem,12vw,3.5rem);line-height:.95}.home-photography-section>div>p:not(.eyebrow){font-size:1.06rem;line-height:1.7}.home-photography-section a{min-height:44px;margin-top:20px;font-size:.92rem}.home-photography-car{height:170px}.home-photography-car b{border-width:10px;width:52px;height:52px;bottom:-26px}.photography-hero{width:min(100% - 32px,1500px);padding:58px 0 64px}.photography-hero>p{letter-spacing:.13em;margin-bottom:18px;font-size:.78rem}.photography-hero h1{letter-spacing:-.065em;font-size:clamp(2.9rem,13vw,4.15rem);line-height:.9}.photography-hero h1 span{margin:8px 0 0}.photography-hero>div{gap:20px;margin-top:36px}.photography-hero>div p{font-size:1.06rem;line-height:1.7}.photography-hero>div i{display:none}.photography-instagram-link{min-height:48px;font-size:.86rem}.photography-archive{padding:56px 16px}.photography-archive>header{gap:20px;margin-bottom:40px}.photography-archive>header span{letter-spacing:.14em;font-size:.74rem}.photography-archive>header h2{font-size:clamp(2.45rem,11vw,3.35rem);line-height:.98}.photography-grid{gap:12px}.photography-card,.photography-card:nth-child(n),.photography-card.is-featured,.photography-card.is-featured:first-child{grid-column:1/-1}.photography-card>span{gap:5px 14px;padding:14px 0 26px}.photography-card>span b{font-size:.74rem}.photography-card>span strong{font-size:1rem}.photography-card>span small{font-size:.84rem}.photography-footer{flex-direction:column;justify-content:center;align-items:flex-start;width:calc(100% - 32px);font-size:.9rem}.photography-footer div{flex-direction:column;gap:9px}.photo-lightbox{padding:12px}.photo-lightbox figure>img{max-height:62vh}.photo-lightbox figcaption h2{font-size:2rem}.photo-lightbox figcaption{display:flex}.photo-lightbox figcaption span{font-size:.76rem}.photo-lightbox figcaption>a{min-height:44px;font-size:.9rem}.photo-metadata dt{font-size:.72rem}.photo-metadata dd{font-size:.86rem;line-height:1.5}.photo-lightbox-close{top:12px;right:12px}.photo-lightbox-nav{top:42%}.photo-lightbox-nav.is-previous{left:12px}.photo-lightbox-nav.is-next{right:12px}.photography-manage-page main{width:calc(100% - 28px);padding-top:48px}.photo-manage-hero{gap:18px}.photo-manage-hero h1{font-size:3.6rem}.photo-admin-bar{flex-direction:column;align-items:flex-start}.photo-admin-bar>div{justify-content:space-between;width:100%}.photo-instagram-settings{margin-bottom:64px;padding:20px}.photo-instagram-control>div{flex-direction:column;align-items:stretch}.photo-instagram-control button,.photo-instagram-control a{text-align:center;width:100%}.photo-published-section{margin-bottom:72px}.photo-published-summary{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:10px}.photo-published-summary>img{width:92px;height:76px}.photo-published-summary>button{grid-column:1/-1;width:100%}.photo-published-editor{padding:20px}.photo-edit-actions,.photo-delete-zone,.photo-delete-confirmation,.photo-delete-confirmation>div:last-child{flex-direction:column;align-items:stretch}.photo-edit-actions>button,.photo-delete-zone>button,.photo-delete-confirmation button{width:100%}.photo-field-grid{grid-template-columns:1fr}.photo-draft-fields{padding:20px}.photo-publish-panel{padding:15px}.photo-publish-actions{flex-direction:column;align-items:stretch;gap:12px}.photo-publish-actions button{width:100%}.photo-upload-queue{right:14px;bottom:max(14px, env(safe-area-inset-bottom));grid-template-columns:1fr;gap:12px;width:calc(100vw - 28px);padding:16px}.photo-upload-queue-counts{flex-wrap:wrap;justify-content:flex-start;gap:5px 14px;display:flex}.photo-upload-queue-track{grid-column:1}.photo-auth-card{padding:28px}.photo-file-picker{text-align:center;padding:20px}.photography-hero>p,.photography-archive>header span,.photography-card>span b,.photo-lightbox figcaption span,.photo-metadata dt,.photo-instagram-settings>header span,.photo-instagram-control>label>span,.photo-instagram-control small,.photo-upload-heading>span,.photo-published-summary small,.photo-published-summary span,.photo-publish-status strong,.photo-publish-status small,.photo-upload-queue-copy>span,.photo-upload-queue-copy strong,.photo-upload-queue-copy small,.photo-upload-queue-counts{font-size:max(.78rem,12.5px)}.photo-instagram-control button,.photo-instagram-control a,.photo-published-summary>button,.photo-delete-zone>button,.photo-delete-confirmation button,.photo-publish-actions button{font-size:15px}}@media (prefers-reduced-motion:reduce){.photography-status i{animation:none}.photography-card img,.photo-file-progress>span,.photo-upload-queue-track>span{transition:none}.photo-upload-spinner{animation-duration:1.8s}}:root:has(.home-redesign){scroll-behavior:smooth;scroll-padding-top:92px}.home-redesign{--home-bg:#f7f8fc;--home-panel:#ffffffb8;--home-panel-strong:#fff;--home-ink:#171926;--home-muted:#686e7e;--home-border:#17192617;--home-violet:#5d82e8;--home-blue:#3974e6;--home-coral:#69aaf3;--home-lime:#dceeff;--home-header-gap:clamp(28px, 2.4vw, 34px);--page-light-x:50vw;--page-light-y:34vh;--page-shift-x:0px;--page-shift-y:0px;background:radial-gradient(circle at 8% 7%, #69aaf329, transparent 29rem), radial-gradient(circle at 93% 19%, #a9d6ff2e, transparent 28rem), linear-gradient(180deg, #fdfdff 0, var(--home-bg) 62rem);min-height:100vh;color:var(--home-ink);position:relative;overflow:clip}.home-redesign>main{z-index:1;position:relative}.home-redesign .page-liquid-field{z-index:0;contain:strict;pointer-events:none;position:fixed;inset:0;overflow:hidden}.home-redesign .page-liquid-orb,.home-redesign .page-refraction-grid{pointer-events:none;display:block;position:absolute}.home-redesign .page-liquid-orb{-webkit-backdrop-filter:blur(10px)saturate(145%);backdrop-filter:blur(10px)saturate(145%);background:radial-gradient(circle at 31% 24%,#ffffffb8,#0000 22%),radial-gradient(circle at 64% 70%,#70b7ff1f,#0000 58%),linear-gradient(145deg,#c2e5ff33,#70acff09);border:1px solid #ffffff7a;border-radius:50%;box-shadow:inset -18px -22px 50px #4183dc0e,inset 8px 10px 30px #ffffff38,0 32px 80px #3775c90e}.home-redesign .page-liquid-orb-follow{aspect-ratio:1;opacity:.32;width:clamp(240px,36vw,560px);transform:translate3d(calc(var(--page-light-x) - 50%), calc(var(--page-light-y) - 50%), 0);-webkit-backdrop-filter:none;backdrop-filter:none;will-change:transform;transition:transform .11s linear;top:0;left:0}.home-redesign .page-liquid-orb-drift{aspect-ratio:1;opacity:.23;width:clamp(310px,42vw,660px);transform:translate3d(var(--page-shift-x), var(--page-shift-y), 0) rotate(-12deg);transition:transform .24s ease-out;bottom:-12rem;right:-9rem}.home-redesign .page-refraction-grid{opacity:.22;transform:translate3d(var(--page-shift-x), var(--page-shift-y), 0) rotate(-2deg);background-image:linear-gradient(#5797e71a 1px,#0000 1px),linear-gradient(90deg,#5797e71a 1px,#0000 1px);background-size:72px 72px;inset:-8%;-webkit-mask-image:radial-gradient(28rem at 54% 38%,#000,#0000 78%);mask-image:radial-gradient(28rem at 54% 38%,#000,#0000 78%)}:root[data-theme=dark] .home-redesign .page-liquid-orb{background:radial-gradient(circle at 31% 24%,#bedeff24,#0000 22%),radial-gradient(circle at 64% 70%,#5199f61c,#0000 58%),linear-gradient(145deg,#5099f717,#0b1e3706);border-color:#b1d8ff1c;box-shadow:inset -18px -22px 50px #00000024,inset 8px 10px 30px #b3d8ff0a,0 32px 80px #0000001f}:root[data-theme=dark] .home-redesign .page-refraction-grid{opacity:.14}.home-redesign .liquid-interactive{--glass-pointer-x:50%;--glass-pointer-y:35%;--glass-tilt-x:0deg;--glass-tilt-y:0deg;isolation:isolate;position:relative}.home-redesign .liquid-interactive:before{z-index:3;border-radius:inherit;background:radial-gradient(circle 15rem at var(--glass-pointer-x) var(--glass-pointer-y), #ffffff38, transparent 72%), linear-gradient(115deg, #ffffff14, transparent 32% 72%, #69aeff0b);content:"";opacity:0;pointer-events:none;transition:opacity .22s;position:absolute;inset:0}:root[data-theme=dark] .home-redesign .liquid-interactive:before{background:radial-gradient(circle 15rem at var(--glass-pointer-x) var(--glass-pointer-y), #aed3ff1a, transparent 72%), linear-gradient(115deg, #ffffff09, transparent 34% 72%, #59a1ff0a)}@media (hover:hover) and (pointer:fine){.home-redesign .liquid-interactive:hover:before{opacity:1}}.home-redesign ::selection{color:#183657;background:#cfe9ff}.home-redesign :focus-visible{outline-color:var(--home-blue)}.home-redesign .published-companion-frame{z-index:91;right:max(4px, env(safe-area-inset-right,0px));bottom:max(6px, env(safe-area-inset-bottom,0px));width:min(calc(100vw - 16px), calc(150px * var(--published-companion-count,1)));opacity:0;pointer-events:none;background:0 0;border:0;height:220px;transition:opacity .18s;position:fixed}.home-redesign .published-companion-frame[data-active=true]{opacity:1;pointer-events:auto}:root[data-theme=dark] .home-redesign{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--home-bg:#05070b;--home-panel:#1e222b94;--home-panel-strong:#1d2028e0;--home-ink:#fffffff5;--home-muted:#ebebf5a8;--home-border:#ffffff1c;--home-violet:#9bbcff;--home-blue:#73a7ff;--home-coral:#79bcff;--home-lime:#d7ecff;background:radial-gradient(ellipse 64rem 34rem at 4% -4%, #4882e629, transparent 58%), radial-gradient(ellipse 52rem 34rem at 96% 7%, #4299e61c, transparent 62%), linear-gradient(180deg, #0a0d13 0, var(--home-bg) 46rem, #000 100%)}.home-redesign .site-header{isolation:isolate;top:max(10px, env(safe-area-inset-top,0px));width:min(100% - 32px,1220px);min-height:64px;box-shadow:none;background:0 0;border:0;border-radius:22px;padding:8px 10px 8px 12px}.home-redesign .site-header:before{z-index:-1;border-radius:inherit;-webkit-backdrop-filter:blur(24px)saturate(175%);backdrop-filter:blur(24px)saturate(175%);clip-path:inset(0 round 22px);content:"";pointer-events:none;background:radial-gradient(80% 150% at 8% -45%,#ffffff94,#0000 58%),radial-gradient(55% 120% at 94% 130%,#68a9ff1f,#0000 68%),linear-gradient(#ffffff9e,#f1f7ff7a);border:1px solid #ffffff75;position:absolute;inset:0;box-shadow:inset 0 .5px #ffffffc7,inset 0 -.5px #4f709d14,0 6px 20px #425f8c0a}:root[data-theme=dark] .home-redesign .site-header:before{background:radial-gradient(80% 150% at 8% -45%,#97beff21,#0000 58%),radial-gradient(55% 120% at 94% 130%,#5193f117,#0000 68%),linear-gradient(#2b313da3,#12151c94);border-color:#ffffff13;box-shadow:inset 0 .5px #ffffff17,inset 0 -.5px #00000029,0 6px 20px #00000014}.home-redesign .brand span{background:linear-gradient(135deg, var(--home-violet), var(--home-blue));color:#fff;border-radius:15px;width:42px;height:42px;box-shadow:0 6px 18px #6558f533}.home-redesign .brand strong{color:var(--home-ink);font-size:.88rem}.home-redesign .site-nav{border:1px solid var(--home-border);background:color-mix(in srgb, var(--home-coral) 7%, transparent);border-radius:999px;gap:5px;padding:4px}:root[data-theme=dark] .home-redesign .site-nav{background:#ffffff0b;border-color:#ffffff17;box-shadow:inset 0 1px #ffffff12,0 1px #0000003d}.home-redesign .site-nav a{min-height:38px;color:var(--home-muted);border-radius:999px;padding:0 15px;font-size:.76rem;transition:all .18s}.home-redesign .site-nav a:after{display:none}.home-redesign .site-nav a:hover,.home-redesign .site-nav a:focus-visible{background:var(--home-panel-strong);color:var(--home-ink)}:root[data-theme=dark] .home-redesign .site-nav a:hover,:root[data-theme=dark] .home-redesign .site-nav a:focus-visible{background:#ffffff1a}.home-redesign .preferences-trigger{color:var(--home-muted)}.home-redesign .hero{--hero-pointer-x:68%;--hero-pointer-y:28%;--hero-shift-x:0px;--hero-shift-y:0px;--hero-tilt-x:0deg;--hero-tilt-y:0deg;--card-light-x:72%;--card-light-y:22%;isolation:isolate;border:1px solid color-mix(in srgb, var(--home-border) 72%, transparent);background:radial-gradient(70% 90% at 88% 18%,#6eaaff1f,#0000 68%),linear-gradient(145deg,#ffffff8f,#eff6ff57);border-radius:38px;grid-template-columns:minmax(0,1fr) minmax(400px,460px);align-items:center;gap:clamp(30px,2.6vw,38px);width:min(100% - 40px,1220px);min-height:calc(100svh - 104px);margin:20px auto;padding:clamp(34px,3.4vw,44px);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffad,0 24px 70px #4a648e0f}:root[data-theme=dark] .home-redesign .hero{background:radial-gradient(70% 90% at 88% 18%,#4984de21,#0000 68%),linear-gradient(145deg,#161b25c7,#0a0d137a);border-color:#ffffff0e;box-shadow:inset 0 1px #ffffff0e,0 28px 80px #0000002e}.home-redesign .hero-light-field{z-index:0;border-radius:inherit;background:radial-gradient(circle 25rem at var(--hero-pointer-x) var(--hero-pointer-y), #65aaff33, transparent 72%), radial-gradient(circle 18rem at 18% 88%, #86ccff1a, transparent 74%);contain:paint;pointer-events:none;position:absolute;inset:0;overflow:hidden}.home-redesign .hero-light-field:after{filter:blur(34px);content:"";background:conic-gradient(from 135deg,#fff0,#93ceff33,#b099ff14,#fff0);border-radius:50%;width:38rem;height:38rem;position:absolute;top:-28rem;right:-12rem;transform:translateY(4%)rotate(5deg)}.home-redesign .hero-light-orb{-webkit-backdrop-filter:blur(15px)saturate(165%);backdrop-filter:blur(15px)saturate(165%);background:radial-gradient(circle at 30% 24%,#ffffffc2,#0000 27%),linear-gradient(145deg,#cbe7ff57,#6eaaff14);border:1px solid #ffffff85;border-radius:50%;transition:transform .22s ease-out;display:block;position:absolute;box-shadow:inset -8px -10px 24px #4a88dc14,0 18px 42px #457cc917}.home-redesign .hero-light-orb-primary{opacity:.68;width:78px;height:78px;transform:translate3d(var(--hero-shift-x), var(--hero-shift-y), 0);top:14%;left:56%}.home-redesign .hero-light-orb-secondary{opacity:.46;width:44px;height:44px;transform:translate3d(calc(0px - var(--hero-shift-x)), calc(0px - var(--hero-shift-y)), 0);bottom:10%;right:35%}.home-redesign .hero-light-grid{opacity:.18;transform:translate3d(var(--hero-shift-x), var(--hero-shift-y), 0) rotate(-4deg);-webkit-mask-image:radial-gradient(circle 24rem at var(--hero-pointer-x) var(--hero-pointer-y), #000, transparent 76%);-webkit-mask-image:radial-gradient(circle 24rem at var(--hero-pointer-x) var(--hero-pointer-y), #000, transparent 76%);mask-image:radial-gradient(circle 24rem at var(--hero-pointer-x) var(--hero-pointer-y), #000, transparent 76%);background-image:linear-gradient(#538fe021 1px,#0000 1px),linear-gradient(90deg,#538fe021 1px,#0000 1px);background-size:58px 58px;transition:transform .22s ease-out;display:block;position:absolute;inset:-8%}:root[data-theme=dark] .home-redesign .hero-light-field{background:radial-gradient(circle 26rem at var(--hero-pointer-x) var(--hero-pointer-y), #4f8fee3d, transparent 72%), radial-gradient(circle 20rem at 16% 92%, #449ced1a, transparent 74%)}:root[data-theme=dark] .home-redesign .hero-light-orb{background:radial-gradient(circle at 30% 24%,#c7e1ff33,#0000 28%),linear-gradient(145deg,#63a6ff1c,#152b4c0a);border-color:#b8d9ff2b;box-shadow:inset -8px -10px 24px #0000001f,0 18px 48px #0000002e}.home-redesign .hero-copy,.home-redesign .hero-visual{z-index:1;position:relative}.home-redesign .hero-copy{max-width:700px}.home-redesign .eyebrow{color:var(--home-violet);letter-spacing:.12em;align-items:center;gap:9px;margin-bottom:22px;font-size:.69rem;display:flex;transform:none}.home-redesign .eyebrow svg{stroke-width:2.3px;flex:none;width:15px;height:15px}.home-redesign .hero h1{max-width:720px;color:var(--home-ink);letter-spacing:-.058em;text-wrap:balance;margin-bottom:26px;font-size:clamp(3.25rem,5.65vw,5.65rem);font-weight:680;line-height:.98}.home-redesign .hero h1 span{background:linear-gradient(105deg, var(--home-blue), #7ebff8);color:#0000;-webkit-background-clip:text;background-clip:text;width:fit-content;margin-top:.1em;padding:0 .12em .05em .04em}.home-redesign .hero[data-locale=zh] h1{letter-spacing:-.04em;font-size:clamp(3.05rem,5.05vw,5.05rem);font-weight:650;line-height:1.08}.home-redesign .hero-intro{max-width:650px;color:var(--home-muted);margin-bottom:30px;font-size:clamp(1.02rem,1.35vw,1.16rem);line-height:1.75}.home-redesign .hero-actions{align-items:center}.home-redesign .button{border-color:var(--home-border);min-height:50px;box-shadow:none;border-radius:15px;gap:10px;padding:0 20px;font-size:.8rem}.home-redesign .button svg,.home-redesign .resume-alternate svg{width:16px;height:16px}.home-redesign .button-primary{background:linear-gradient(135deg, #6e9cf0, var(--home-blue));color:#fff;border:0;box-shadow:0 8px 24px #4f4ddf2e}.home-redesign .button-primary:hover{box-shadow:0 10px 28px #4f4ddf3b}.home-redesign .button-secondary{background:linear-gradient(135deg, color-mix(in srgb, var(--home-panel-strong) 72%, transparent), color-mix(in srgb, var(--home-coral) 9%, transparent));color:var(--home-ink);-webkit-backdrop-filter:blur(12px)saturate(125%);backdrop-filter:blur(12px)saturate(125%);box-shadow:inset 0 1px #ffffffb3}.home-redesign .resume-alternate{color:var(--home-muted);-webkit-text-decoration-color:var(--home-coral);text-decoration-color:var(--home-coral);align-items:center;gap:6px;display:inline-flex}.home-redesign .hero-visual{background:0 0;justify-self:start;width:100%;max-width:460px;padding:0;position:relative}.home-redesign .profile-card{z-index:1;border:1px solid var(--home-border);background:var(--home-panel-strong);transform:perspective(1100px) rotateX(var(--hero-tilt-x)) rotateY(var(--hero-tilt-y));transform-style:preserve-3d;border-radius:32px;transition:transform .22s cubic-bezier(.22,.8,.28,1),box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 22px 68px #242a501c}.home-redesign .profile-card:before{z-index:2;border-radius:inherit;background:radial-gradient(circle 12rem at var(--card-light-x) var(--card-light-y), #ffffff4d, transparent 64%), linear-gradient(115deg, transparent 20%, #8fccff1f 48%, transparent 72%);content:"";mix-blend-mode:screen;pointer-events:none;position:absolute;inset:-1px}.home-redesign .profile-card:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(#0000,#05080fcc);height:42%;position:absolute;bottom:0;left:0;right:0}:root[data-theme=dark] .home-redesign .profile-card{background:#15171c;border-color:#ffffff1f;box-shadow:inset 0 1px #ffffff1c,0 26px 74px #0000005c}.home-redesign .profile-live{align-items:center;gap:7px;display:inline-flex}.home-redesign .profile-live i{background:var(--home-blue);width:8px;height:8px;box-shadow:0 0 0 5px color-mix(in srgb, var(--home-blue) 14%, transparent);border-radius:50%}.home-redesign .portrait-frame{aspect-ratio:1.16;border-radius:inherit;background:#e5e8ef;border:0;width:100%;overflow:hidden}:root[data-theme=dark] .home-redesign .portrait-frame{background:#15171c;box-shadow:0 0 0 1px #ffffff0b}.home-redesign .portrait-frame img{object-fit:cover;object-position:52% 45%;filter:saturate(.86)contrast(1.02);width:100%;height:100%}.home-redesign .profile-card-caption{z-index:3;color:#fff;gap:8px;display:grid;position:absolute;bottom:24px;left:26px;right:26px}@keyframes hero-spectrum-drift{0%{transform:translate(-4%,2%)rotate(-8deg)scale(.94)}to{transform:translate(6%,8%)rotate(18deg)scale(1.08)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.home-redesign .hero-light-field:after{will-change:transform;animation:14s ease-in-out infinite alternate hero-spectrum-drift}.home-redesign .profile-card{will-change:transform}}.home-redesign .profile-card-caption .profile-live{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:820}.home-redesign .profile-card-caption strong{max-width:390px;font-size:clamp(.9rem,1.2vw,1.06rem);line-height:1.45}.home-redesign .section{isolation:isolate;border:0;width:min(100% - 40px,1220px);padding:clamp(88px,9vw,132px) 0;position:relative}.home-redesign .section-heading{max-width:780px}.home-redesign .section-heading h2,.home-redesign .contact-section h2{color:var(--home-ink);letter-spacing:-.05em;text-wrap:balance;margin-bottom:22px;font-size:clamp(2.45rem,4.15vw,4.25rem);font-weight:670;line-height:1.03}.home-redesign .section-copy{max-width:670px;color:var(--home-muted);font-size:clamp(1rem,1.45vw,1.15rem);line-height:1.75}.home-redesign .about-section{padding-top:clamp(76px,8vw,110px)}.home-redesign .about-section:after{z-index:-1;aspect-ratio:1.28;content:"";opacity:.62;width:min(42vw,520px);transform:translate3d(calc(0px - var(--page-shift-x)), calc(0px - var(--page-shift-y)), 0) rotate(-7deg);pointer-events:none;background:radial-gradient(circle at 30% 24%,#ffffff80,#0000 25%),linear-gradient(145deg,#9ed3ff26,#649fec06);border:1px solid #ffffff52;border-radius:48% 52% 58% 42%/55% 40% 60% 45%;position:absolute;top:7%;right:-10%;box-shadow:inset -18px -20px 44px #508fe00b}.home-redesign .about-grid{grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr);gap:18px;margin-top:54px}.home-redesign .about-statement{border:1px solid var(--home-border);background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--home-lime) 28%, transparent), transparent 16rem), linear-gradient(145deg, color-mix(in srgb, var(--home-violet) 8%, var(--home-panel-strong)), color-mix(in srgb, var(--home-panel-strong) 84%, transparent));min-height:100%;color:var(--home-ink);-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%);border-radius:28px;flex-direction:column;justify-content:space-between;padding:clamp(28px,4vw,48px);display:flex;box-shadow:inset 0 1px #ffffffa8,0 18px 46px #3259910e}.home-redesign .about-statement p{letter-spacing:-.035em;font-size:clamp(1.45rem,2.15vw,2.05rem);font-weight:560;line-height:1.24}.home-redesign .about-statement a{border-bottom:1px solid color-mix(in srgb, var(--home-violet) 48%, transparent);width:fit-content;color:var(--home-violet);padding-bottom:4px}.home-redesign .skills-grid{border:1px solid var(--home-border);background:color-mix(in srgb, var(--home-panel-strong) 82%, transparent);-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);border-radius:28px;gap:10px;padding:10px;box-shadow:inset 0 1px #ffffff9e,0 14px 42px #1c3c6e0b}.home-redesign .skills-grid li,.home-redesign .skills-grid li:nth-child(3n+1){border:1px solid var(--home-border);background:color-mix(in srgb, var(--home-bg) 72%, var(--home-panel-strong));min-height:94px;color:var(--home-ink);border-radius:18px;padding:14px;font-size:.88rem}.home-redesign .skills-grid span{color:var(--home-coral)}.home-redesign .experience-section{border:1px solid var(--home-border);background:radial-gradient(circle at 96% 0, color-mix(in srgb, var(--home-violet) 16%, transparent), transparent 28rem), linear-gradient(145deg, color-mix(in srgb, var(--home-panel-strong) 88%, transparent), color-mix(in srgb, var(--home-coral) 5%, var(--home-panel-strong)));width:min(100% - 40px,1220px);max-width:1220px;color:var(--home-ink);-webkit-backdrop-filter:blur(20px)saturate(135%);backdrop-filter:blur(20px)saturate(135%);border-radius:36px;margin:0 auto clamp(88px,9vw,132px);padding:clamp(48px,6vw,76px);box-shadow:inset 0 1px #ffffff94,0 20px 64px #193e7612}.home-redesign .experience-section:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#7fbeff85,#ffffffd1,#0000);height:1px;position:absolute;top:0;left:8%;right:8%}.home-redesign .experience-section .section-heading h2{color:var(--home-ink)}.home-redesign .experience-section .eyebrow{color:var(--home-violet)}.home-redesign .experience-list{border:0;margin-top:58px}.home-redesign .experience-item{border:1px solid var(--home-border);background:linear-gradient(140deg, color-mix(in srgb, var(--home-panel-strong) 74%, transparent), color-mix(in srgb, var(--home-bg) 72%, transparent));transform-style:preserve-3d;border-radius:22px;grid-template-columns:.44fr .8fr 1.25fr;gap:clamp(22px,4vw,58px);margin-bottom:10px;padding:25px;transition:transform .2s,border-color .18s,background .18s;transform:none;box-shadow:inset 0 1px #ffffff85}.home-redesign .experience-item:hover{border-color:color-mix(in srgb, var(--home-violet) 30%, var(--home-border));background:color-mix(in srgb, var(--home-violet) 5%, var(--home-panel-strong));transform:perspective(1100px) translateY(-2px) rotateX(var(--glass-tilt-x)) rotateY(var(--glass-tilt-y))}.home-redesign .experience-item h3{letter-spacing:-.04em;font-size:clamp(1.3rem,1.8vw,1.8rem);font-weight:650}.home-redesign .experience-item p{color:var(--home-muted);font-size:.9rem}.home-redesign .experience-role{color:var(--home-violet)!important}.home-redesign .experience-company-link span,.home-redesign .education-card i,.home-redesign .experience-company-link:hover{color:var(--home-blue)}.home-redesign .education-panel{margin-top:38px}.home-redesign .education-grid{gap:12px}.home-redesign .education-card{border-color:var(--home-border);background:color-mix(in srgb, var(--home-panel-strong) 78%, transparent);border-radius:20px;box-shadow:inset 0 1px #ffffff7a}.home-redesign .work-section{padding-top:12px;position:relative}.home-redesign .work-section:after{z-index:-1;aspect-ratio:1;content:"";width:min(56vw,720px);transform:translate3d(var(--page-shift-x), var(--page-shift-y), 0);pointer-events:none;background:radial-gradient(circle,#66aef81b,#0000 69%);border-radius:50%;position:absolute;top:1%;left:-18%}.home-redesign .work-heading-row{align-items:end}.home-redesign .project-count{border:1px solid var(--home-border);background:var(--home-panel);min-width:max-content;color:var(--home-muted);border-radius:999px;padding:9px 13px}.home-redesign .project-filters{z-index:20;border:1px solid var(--home-border);background:linear-gradient(135deg, color-mix(in srgb, var(--home-panel-strong) 76%, transparent), color-mix(in srgb, var(--home-coral) 12%, transparent));-webkit-backdrop-filter:blur(14px)saturate(130%);backdrop-filter:blur(14px)saturate(130%);border-radius:18px;width:fit-content;max-width:100%;margin:38px 0 30px;padding:6px;position:sticky;top:92px;overflow-x:auto;box-shadow:0 8px 28px #191e3d0f}.home-redesign .project-filters button{min-height:38px;color:var(--home-muted);background:0 0;border:0;border-radius:12px;padding:0 15px}.home-redesign .project-filters button[aria-pressed=true]{background:color-mix(in srgb, var(--home-violet) 14%, var(--home-panel-strong));color:var(--home-violet);box-shadow:0 2px 8px #2a2b4c14}:root[data-theme=dark] .home-redesign .project-filters button[aria-pressed=true]{color:#d9d5ff;background:color-mix(in srgb, var(--home-violet) 20%, var(--home-panel-strong))}.home-redesign .project-grid{overflow-anchor:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.home-redesign .project-card{border:1px solid var(--home-border);background:linear-gradient(145deg, color-mix(in srgb, var(--home-panel-strong) 91%, transparent), color-mix(in srgb, var(--home-coral) 4%, var(--home-panel-strong)));transform-style:preserve-3d;border-radius:26px;scroll-margin-top:74px;transition:transform .21s,border-color .18s,box-shadow .18s;overflow:hidden;transform:none;box-shadow:inset 0 1px #ffffff94,0 10px 38px #1c3c690d}.home-redesign .project-card:hover{border-color:color-mix(in srgb, var(--home-violet) 46%, var(--home-border));transform:perspective(1200px) translateY(-3px) rotateX(var(--glass-tilt-x)) rotateY(var(--glass-tilt-y));box-shadow:0 16px 48px #272a5d17}.home-redesign .project-media{aspect-ratio:1.72;background:#dfe3ec;border-radius:18px;height:auto;margin:10px 10px 0;overflow:hidden}.home-redesign .project-media img{object-fit:cover;height:100%}.home-redesign .project-number,.home-redesign .project-status{-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #ffffff2e;border-radius:999px;top:13px;bottom:auto}.home-redesign .project-number{background:#1f324fc7;left:13px}.home-redesign .project-status{color:#315b8c;text-align:right;background:#ebf6fff0;border-color:#84b2e16b;max-width:calc(100% - 76px);padding:8px 11px;right:13px}.home-redesign .project-status-live,.home-redesign .project-status-ready,.home-redesign .project-status-platform,.home-redesign .project-status-archive{color:#315b8c;background:#ebf6fff0}:root[data-theme=dark] .home-redesign .project-status-live,:root[data-theme=dark] .home-redesign .project-status-ready,:root[data-theme=dark] .home-redesign .project-status-platform,:root[data-theme=dark] .home-redesign .project-status-archive{color:#c6dcff;background:#1d2d43f0;border-color:#91b2eb47}.home-redesign .project-body{padding:25px 28px 29px}.home-redesign .project-meta{color:var(--home-violet);margin-bottom:15px}.home-redesign .project-meta svg{width:16px;height:16px}.home-redesign .project-body h3{color:var(--home-ink);margin-bottom:10px;font-size:clamp(1.6rem,2.4vw,2.3rem)}.home-redesign .project-body>p{min-height:0;color:var(--home-muted);font-size:.92rem;line-height:1.65}.home-redesign .tag-list li{border:1px solid var(--home-border);background:color-mix(in srgb, var(--home-panel-strong) 72%, transparent);color:var(--home-muted);border-radius:999px}.home-redesign .project-link{color:var(--home-ink);gap:7px;text-decoration:none}.home-redesign .project-link svg{width:14px;height:14px;color:var(--home-coral);transition:transform .18s}.home-redesign .project-link:hover svg{transform:translate(2px,-2px)}.home-redesign .contact-section{isolation:isolate;width:min(100% - 24px,1380px);min-height:calc(100svh + 16px);padding:clamp(70px, 9vw, 120px) max(24px, calc((100% - 1120px) / 2)) max(36px, env(safe-area-inset-bottom,0px));border:1px solid var(--home-border);background:radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--home-lime) 28%, transparent), transparent 26rem), radial-gradient(circle at 12% 100%, color-mix(in srgb, var(--home-violet) 13%, transparent), transparent 31rem), linear-gradient(145deg, color-mix(in srgb, var(--home-panel-strong) 88%, transparent), color-mix(in srgb, var(--home-coral) 5%, var(--home-panel-strong)));color:var(--home-ink);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);border-radius:40px;margin:0 auto 12px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffa3,0 22px 68px #1e457d0f}.home-redesign .contact-section:after{z-index:0;aspect-ratio:1;content:"";opacity:.72;width:clamp(280px,34vw,520px);transform:translate3d(calc(0px - var(--page-shift-x)), calc(0px - var(--page-shift-y)), 0);pointer-events:none;background:radial-gradient(circle at 31% 25%,#ffffff9e,#0000 24%),linear-gradient(145deg,#a7d9ff30,#5493e709);border:1px solid #ffffff6b;border-radius:50%;position:absolute;bottom:clamp(-150px,-9vw,-82px);right:clamp(-120px,-7vw,-56px);box-shadow:inset -22px -26px 58px #4d8bdd0f,0 30px 80px #3f7ed312}.home-redesign .contact-section>*{z-index:1;position:relative}:root[data-theme=dark] .home-redesign .about-section:after,:root[data-theme=dark] .home-redesign .contact-section:after{background:radial-gradient(circle at 31% 25%,#aad2ff1f,#0000 24%),linear-gradient(145deg,#478feb14,#0e223e06);border-color:#a8d2ff1a;box-shadow:inset -22px -26px 58px #00000024,0 30px 80px #0000001f}.home-redesign .contact-section .eyebrow{color:var(--home-violet)}.home-redesign .contact-section h2{max-width:900px;color:var(--home-ink)}.home-redesign .contact-email{border:1px solid var(--home-border);background:color-mix(in srgb, var(--home-panel-strong) 66%, transparent);color:var(--home-ink);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%);border-radius:18px;gap:10px;padding:0 18px;font-size:clamp(1rem,2.2vw,1.7rem);box-shadow:0 8px 26px #1c22460f}.home-redesign .contact-email svg{width:20px;height:20px}.home-redesign .contact-email:hover{color:var(--home-blue)}.home-redesign .contact-footer{margin-top:clamp(70px,10vw,120px)}.home-redesign .back-to-top{border-color:var(--home-border);background:var(--home-panel-strong);color:var(--home-ink);box-shadow:0 8px 26px #171b3914}@media (width>=761px) and (width<=1180px){.home-redesign .hero{border-radius:30px;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(20px,2.6vw,30px);width:calc(100% - 28px);min-height:calc(100svh - 96px);margin:16px auto;padding:clamp(24px,3vw,34px)}.home-redesign .hero-copy{min-width:0;max-width:620px}.home-redesign .hero-visual{justify-self:center;width:min(100%,390px)}.home-redesign .eyebrow{margin-bottom:15px;font-size:.61rem;line-height:1.45}.home-redesign .hero h1{margin-bottom:17px;font-size:clamp(2.72rem,5.4vw,4rem);line-height:.98}.home-redesign .hero[data-locale=zh] h1{font-size:clamp(2.62rem,5vw,3.7rem);line-height:1.06}.home-redesign .hero-intro{margin-bottom:19px;font-size:clamp(.9rem,1.45vw,1rem);line-height:1.55}.home-redesign .hero-actions{place-items:start;gap:8px;display:grid}.home-redesign .resume-actions{flex-wrap:wrap;gap:7px 10px;min-width:0}.home-redesign .button{border-radius:13px;min-height:44px;padding:0 15px;font-size:.74rem}.home-redesign .resume-alternate{min-height:40px;font-size:.72rem}.home-redesign .profile-card{border-radius:26px}.home-redesign .profile-card-caption{gap:6px;bottom:18px;left:20px;right:20px}.home-redesign .profile-card-caption strong{font-size:clamp(.75rem,1.3vw,.9rem)}}@media (width>=761px) and (width<=1180px) and (height<=700px){.home-redesign .hero{min-height:calc(100svh - 88px);margin:12px auto;padding:20px clamp(24px,3vw,32px)}.home-redesign .eyebrow{margin-bottom:10px}.home-redesign .hero h1{margin-bottom:12px;font-size:clamp(2.5rem,4.75vw,3.5rem)}.home-redesign .hero[data-locale=zh] h1{font-size:clamp(2.45rem,4.5vw,3.35rem)}.home-redesign .hero-intro{margin-bottom:13px;font-size:clamp(.84rem,1.35vw,.94rem);line-height:1.46}.home-redesign .hero-actions{gap:6px}.home-redesign .button{min-height:40px}.home-redesign .resume-alternate{min-height:34px}.home-redesign .hero-visual{width:min(100%,360px)}}@media (width<=980px){.home-redesign .about-grid{grid-template-columns:1fr}.home-redesign .experience-item{grid-template-columns:.45fr 1fr}.home-redesign .experience-item>div:last-child{grid-column:2}}@media (width<=760px){.home-redesign{--home-header-gap:32px}.home-redesign .page-liquid-orb-follow{opacity:.18;width:250px}.home-redesign .page-liquid-orb-drift{opacity:.14;width:330px;bottom:-8rem;right:-9rem}.home-redesign .page-refraction-grid{opacity:.11;background-size:54px 54px}.home-redesign .published-companion-frame{right:max(-12px, env(safe-area-inset-right,0px));width:min(calc(100vw - 8px), calc(112px * var(--published-companion-count,1)));height:182px}.home-redesign .site-header{top:max(8px, env(safe-area-inset-top,0px));background:0 0;border-radius:18px;width:calc(100% - 20px);min-height:60px}:root[data-theme=dark] .home-redesign .site-header:before{background:radial-gradient(80% 140% at 10% -30%,#7daeff14,#0000 62%),linear-gradient(#272d39b3,#14171ea8)}.home-redesign .site-nav{width:100vw;height:100dvh;padding:max(90px, calc(env(safe-area-inset-top,0px) + 72px)) 24px max(32px, env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 15% 15%, #6558f52e, transparent 20rem), var(--home-bg);border:0;border-radius:0;align-content:center;inset:0}.home-redesign .site-nav a{min-height:56px;color:var(--home-ink);font-size:clamp(1.8rem,9vw,2.7rem)}.home-redesign .hero,.home-redesign .section{width:calc(100% - 28px)}.home-redesign .hero{min-height:auto;padding:var(--home-header-gap) 0 48px;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr);align-items:start;gap:58px;margin:0 auto}.home-redesign .hero-copy{width:100%;min-width:0}.home-redesign .hero-light-field{opacity:.72;inset:-24px -14px}.home-redesign .hero-light-orb-primary{opacity:.42;width:58px;height:58px;top:46%;left:auto;right:-8px}.home-redesign .hero-light-orb-secondary{display:none}.home-redesign .hero-light-grid{opacity:.1}.home-redesign .hero h1{letter-spacing:-.052em;font-size:clamp(2.65rem,11.8vw,3.85rem);line-height:1}.home-redesign .hero[data-locale=zh] h1{overflow-wrap:anywhere;word-break:normal;font-size:clamp(2.5rem,10.8vw,3.5rem);line-height:1.1}.home-redesign .hero-intro{font-size:1rem;line-height:1.7}.home-redesign .hero-actions,.home-redesign .resume-actions{grid-template-columns:1fr;display:grid}.home-redesign .hero-visual{justify-self:center;width:calc(100% - 20px);max-width:500px}.home-redesign .section{padding:78px 0}.home-redesign .about-section{padding-top:78px}.home-redesign .section-heading h2,.home-redesign .contact-section h2{font-size:clamp(2.25rem,9.8vw,3.1rem);line-height:1.04}.home-redesign .skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-redesign .skills-grid li:nth-child(3n+1){border-left:1px solid var(--home-border)}.home-redesign .experience-section{border-radius:28px;width:calc(100% - 20px);padding:34px 20px}.home-redesign .experience-item{grid-template-columns:1fr;padding:20px}.home-redesign .experience-item>div:last-child{grid-column:1}.home-redesign .project-filters{width:100%;top:78px}.home-redesign .project-grid{grid-template-columns:1fr}.home-redesign .project-card{scroll-margin-top:58px}.home-redesign .project-body{padding:22px}.home-redesign .contact-section{width:calc(100% - 12px);padding:60px 20px max(28px, env(safe-area-inset-bottom,0px));border-radius:28px;margin-bottom:6px}.home-redesign .contact-email{justify-content:center;width:100%}.home-redesign .contact-footer{flex-direction:column;align-items:flex-start;margin-top:70px}.home-redesign .contact-footer div{flex-wrap:wrap;gap:8px 18px}}@media (prefers-reduced-motion:reduce){:root:has(.home-redesign){scroll-behavior:auto}.home-redesign .experience-item,.home-redesign .project-card,.home-redesign .project-link svg{transition:none}.home-redesign .hero-light-field:after{animation:none}.home-redesign .hero-light-orb,.home-redesign .hero-light-grid,.home-redesign .profile-card,.home-redesign .page-liquid-orb,.home-redesign .page-refraction-grid,.home-redesign .liquid-interactive{transition:none;transform:none}.home-redesign .profile-card{will-change:auto}}@media (prefers-reduced-transparency:reduce){.home-redesign .button-secondary,.home-redesign .project-filters,.home-redesign .project-number,.home-redesign .project-status,.home-redesign .contact-email,.home-redesign .about-statement,.home-redesign .skills-grid,.home-redesign .experience-section,.home-redesign .contact-section,.home-redesign .site-header:before{background:var(--home-panel-strong);-webkit-backdrop-filter:none;backdrop-filter:none}.home-redesign .hero-light-orb,.home-redesign .hero-light-grid,.home-redesign .profile-card:before,.home-redesign .page-liquid-field,.home-redesign .liquid-interactive:before,.home-redesign .about-section:after,.home-redesign .work-section:after,.home-redesign .contact-section:after{display:none}}@media (prefers-contrast:more){.home-redesign{--home-muted:color-mix(in srgb, var(--home-ink) 78%, transparent);--home-border:color-mix(in srgb, var(--home-ink) 34%, transparent)}.home-redesign .button,.home-redesign .project-filters,.home-redesign .contact-email,.home-redesign .site-header:before{border-width:2px}}
