@font-face{font-family:Alibaba PuHuiTi;src:url(/fonts/Alibaba-PuHuiTi-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Alibaba PuHuiTi;src:url(/fonts/Alibaba-PuHuiTi-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Alibaba PuHuiTi;src:url(/fonts/Alibaba-PuHuiTi-B.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:AlibabaPuHuiTi;src:url(/fonts/Alibaba-PuHuiTi-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:AlibabaPuHuiTi;src:url(/fonts/Alibaba-PuHuiTi-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:AlibabaPuHuiTi;src:url(/fonts/Alibaba-PuHuiTi-B.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:light;--bg: #eeeeec;--bg-soft: #f3f3f1;--bg-panel: #f7f6f1;--text: #111111;--muted: #555555;--weak: #8a8a8a;--line: rgba(17, 17, 17, .16);--line-soft: rgba(17, 17, 17, .09);--panel: rgba(255, 255, 255, .42);--panel-strong: rgba(255, 255, 255, .7);--accent: #5f6f66;--blue: #4f6574;--max: 1660px;--font-regular: 300;--font-medium: 400;--font-semibold: 500;--font-bold: 700}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-width:320px;color:var(--text);background:var(--bg);font-family:Alibaba PuHuiTi,AlibabaPuHuiTi,阿里巴巴普惠体,Microsoft YaHei,sans-serif;letter-spacing:0;font-weight:var(--font-regular)}body:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;content:"";opacity:.62;background-image:linear-gradient(rgba(17,17,17,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.035) 1px,transparent 1px);background-size:96px 96px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 88%);mask-image:linear-gradient(to bottom,black,transparent 88%)}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}.site-header{position:fixed;top:0;left:50%;z-index:20;display:grid;grid-template-columns:96px 1fr 120px;align-items:center;box-sizing:border-box;width:min(calc(100% - 72px),var(--max));height:74px;padding:0 clamp(48px,6vw,96px);transform:translate(-50%);overflow:hidden;border-bottom:1px solid rgba(0,0,0,.1);border-bottom-left-radius:22px;border-bottom-right-radius:22px;background:#eeeeece0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-mark{display:inline-grid;width:auto;min-width:42px;height:38px;place-items:center start;border:0;color:#111;font-size:.94rem;font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase}.top-nav{display:flex;justify-content:center;gap:42px;color:#1111118a;font-size:.78rem;letter-spacing:.04em}.top-nav a,.nav-contact{position:relative;transition:color .18s ease}.top-nav a:after,.nav-contact:after{position:absolute;left:0;right:0;bottom:-7px;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.top-nav a:hover,.nav-contact:hover{color:#111}.top-nav a:hover:after,.nav-contact:hover:after{transform:scaleX(1)}.nav-contact{justify-self:end;padding:0;border:0;color:#111111a3;background:transparent;font-size:.78rem;letter-spacing:.04em}.nav-contact:hover{color:#111;background:transparent}.section-shell,.content-section,.contact-inner{width:min(calc(100% - 56px),var(--max));margin:0 auto}.hero{position:relative;display:grid;width:100%;min-height:100vh;margin:0;padding-top:74px;overflow:hidden;color:#111;background:var(--bg)}.hero:after{position:absolute;right:0;bottom:0;left:0;z-index:1;height:18vh;pointer-events:none;content:"";background:linear-gradient(180deg,rgba(238,238,236,0),var(--bg) 72%)}.hero.section-shell{width:100%;max-width:none}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.42;background:radial-gradient(circle at 50% 58%,#ffffff57,#fff0 36rem),linear-gradient(180deg,#11111109 0,#1110 34%)}.hero-axis-top,.hero-axis-bottom{display:none}.hero-content{position:relative;z-index:2;align-self:center;width:min(calc(100% - 96px),1420px);max-width:1420px;margin:0 auto;padding:clamp(104px,15vh,188px) 0 20vh;text-align:left}.hero-heading{max-width:min(1180px,calc(100% - 96px));margin-left:clamp(40px,8vw,170px)}.hero-kicker{margin:0 0 28px;color:#11111185;font-size:13px;letter-spacing:.24em;line-height:1.6;text-transform:uppercase}.hero-name{margin:0;color:#111;font-family:AlibabaPuHuiTi,Inter,system-ui,sans-serif;font-size:clamp(68px,6.5vw,126px);font-style:normal;font-synthesis:none;font-weight:var(--font-bold);font-stretch:normal;line-height:.92;letter-spacing:.02em;text-transform:uppercase}.content-section h2,.contact-section h2{font-family:Alibaba PuHuiTi,AlibabaPuHuiTi,阿里巴巴普惠体,Microsoft YaHei,sans-serif;font-weight:var(--font-bold);font-style:normal;font-stretch:normal;letter-spacing:-.02em;transform:none}.hero-title{margin-top:18px;overflow:visible;color:#111;font-family:AlibabaPuHuiTi,Inter,system-ui,sans-serif;font-size:clamp(32px,4vw,72px);font-style:normal;font-synthesis:none;font-weight:400;font-stretch:normal;line-height:1;letter-spacing:.28em;text-transform:uppercase;white-space:normal;word-spacing:0}.hero-support{max-width:760px;margin:28px 0 0 clamp(40px,8vw,170px)}.hero-identity{margin:0;color:#11111194;font-size:.88rem;letter-spacing:.12em;line-height:1.8}.hero-subtitle,.hero-lead{max-width:760px;margin:22px 0 0;color:#1111119e;font-size:1.02rem;line-height:1.9;text-align:left}.hero-actions,.contact-actions{display:flex;justify-content:center;gap:14px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;min-width:122px;min-height:46px;padding:0 22px;border:1px solid var(--line);color:var(--text);font-size:.95rem;transition:transform .18s ease,border-color .18s ease,background .18s ease}.button:hover{transform:translateY(-2px);border-color:#11111170}.button-primary{background:#111;color:#eeeeec;border-color:#111}.button-ghost{background:transparent}.hero-info-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px clamp(28px,5vw,80px);margin:36px 0 0;color:#11111194;font-family:Alibaba PuHuiTi,AlibabaPuHuiTi,阿里巴巴普惠体,Microsoft YaHei,sans-serif;font-size:15px;font-weight:var(--font-regular);letter-spacing:.03em;line-height:1.8}.hero-info-row span,.hero-info-row a{white-space:nowrap}.hero-index{position:absolute;right:50%;bottom:clamp(30px,4.2vh,52px);z-index:2;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:clamp(18px,3.2vw,58px);width:min(calc(100% - 96px),1500px);transform:translate(50%)}.hero-index:before{position:absolute;top:-18px;left:0;width:100%;height:1px;content:"";background:linear-gradient(90deg,#1110,#11111124,#1110)}.hero-index a{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:baseline;min-height:auto;padding:0 0 12px;border:0;color:#11111194;background:transparent;font-size:.78rem;letter-spacing:.08em;cursor:pointer;transition:color .18s ease,transform .18s ease}.hero-index a:before{position:absolute;left:0;right:0;bottom:0;height:1px;content:"";background:currentColor;opacity:.42;transform:scaleX(0);transform-origin:left;transition:transform .18s ease,opacity .18s ease}.hero-index a:after{justify-self:end;color:#11111152;font-size:.82rem;line-height:1;content:"↗";transition:color .18s ease,transform .18s ease}.hero-index-order{color:#11111161;font-size:.7rem;letter-spacing:.12em}.hero-index-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-index a:hover{color:#111;transform:translateY(-1px)}.hero-index a:hover:before{opacity:.72;transform:scaleX(1)}.hero-index a:hover:after{color:#111;transform:translate(2px,-2px)}.content-section{padding:140px 0;border-top:1px solid var(--line-soft)}.section-heading{display:grid;grid-template-columns:80px 1fr;gap:8px 28px;margin-bottom:58px}.section-heading p,.section-index,.project-order,.project-type,.gallery-copy>span,.strength-item>span{color:var(--weak);font-size:.82rem;text-transform:uppercase}.section-heading h2{grid-column:2;color:var(--text);font-size:4.25rem;line-height:1}.about-section{padding-top:120px;padding-bottom:130px}.about-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:clamp(56px,7vw,120px);align-items:start}.about-profile{position:sticky;top:120px}.about-photo{width:100%;aspect-ratio:3 / 4;overflow:hidden;border:1px solid rgba(0,0,0,.12);border-radius:18px;background:#ffffff6b}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.about-photo-placeholder{display:flex;align-items:center;justify-content:center;color:#11111157;font-size:12px;font-weight:var(--font-regular);letter-spacing:.18em;text-transform:uppercase}.about-profile-info{margin-top:28px;padding-top:24px;border-top:1px solid rgba(0,0,0,.12)}.about-profile-info h3{margin:0 0 8px;color:#111;font-size:clamp(1.5rem,2vw,2.25rem);font-weight:var(--font-semibold);line-height:1.1}.about-profile-info p{margin:0 0 8px;color:#1111119e;font-size:.875rem;font-weight:var(--font-regular);line-height:1.8}.about-cn-name{margin-bottom:20px!important;color:#11111194!important}.about-content{padding-left:clamp(40px,5vw,84px);border-left:1px solid rgba(0,0,0,.1)}.about-block{margin-bottom:44px;padding-bottom:44px;border-bottom:1px solid rgba(0,0,0,.1)}.about-block:last-child{margin-bottom:0}.about-label{margin-bottom:18px;color:#11111173;font-size:12px;font-weight:var(--font-regular);letter-spacing:.22em;text-transform:uppercase}.about-body p{max-width:980px;margin:0 0 18px;color:#111111b8;font-size:clamp(1rem,1.15vw,1.3125rem);font-weight:400;line-height:1.9}.about-body p:last-child{margin-bottom:0}.about-capabilities{display:flex;flex-wrap:wrap;gap:10px}.about-experience-list{border-top:1px solid rgba(0,0,0,.1)}.about-experience-row{display:grid;grid-template-columns:140px 1fr;gap:40px;padding:22px 0;border-bottom:1px solid rgba(0,0,0,.1)}.about-experience-row>span{color:#1111117a;font-size:.875rem;font-weight:var(--font-regular)}.about-experience-row h4{margin:0 0 6px;color:#111;font-size:clamp(1rem,1.2vw,1.375rem);font-weight:var(--font-semibold);line-height:1.35}.about-experience-row p{margin:0;color:#11111194;font-size:.875rem;font-weight:var(--font-regular);line-height:1.8}.experience-result{margin-top:6px;color:#1111119e;font-size:.875rem;font-weight:var(--font-regular);letter-spacing:.02em}.project-feature{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(380px,.55fr);gap:42px;align-items:stretch}.project-image,.gallery-image{display:block;overflow:hidden;border:none;border-radius:18px;outline:none;box-shadow:none;background:var(--bg-soft)}.project-image img,.gallery-image{aspect-ratio:16 / 10;align-self:start;min-height:0}.gallery-image img{transition:transform .55s ease,filter .25s ease}.project-image:hover img,.gallery-image:hover img{transform:scale(1.025);filter:saturate(.96) contrast(1.03)}.project-image-large{min-height:720px}.project-copy{display:flex;flex-direction:column;justify-content:center;padding:42px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.project-copy h3,.gallery-copy h3,.strength-item h3{color:var(--text);font-family:Alibaba PuHuiTi,AlibabaPuHuiTi,阿里巴巴普惠体,Microsoft YaHei,sans-serif;font-weight:var(--font-bold);font-style:normal;font-stretch:normal;letter-spacing:-.01em;transform:none}.project-copy h3{margin-top:18px;font-size:3.3rem;line-height:1.12}.project-copy>p:not(.project-type):not(.project-subtitle),.gallery-copy>p:not(.project-type):not(.project-subtitle){color:var(--muted);font-size:1rem;line-height:1.85}.project-subtitle{margin:14px 0 24px;color:var(--text);font-size:1.08rem}.project-meta{display:grid;gap:1px;margin-top:28px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--line-soft)}.project-meta-row{display:grid;grid-template-columns:minmax(88px,.28fr) minmax(0,1fr);gap:22px;padding:16px 0;background:var(--bg)}.project-meta-row dt{color:var(--weak);font-size:.76rem;letter-spacing:.16em;line-height:1.7;text-transform:uppercase}.project-meta-row dd{margin:0;color:var(--muted);font-size:.95rem;line-height:1.75}.project-link{position:relative;display:inline-flex;align-items:center;align-self:flex-start;gap:10px;margin-top:32px;color:var(--text);font-size:.84rem;letter-spacing:.12em}.project-link:after{color:#1111116b;content:"↗";transition:transform .18s ease,color .18s ease}.project-link:before{position:absolute;right:0;bottom:-8px;left:0;height:1px;content:"";background:currentColor;opacity:.28;transform:scaleX(.72);transform-origin:left;transition:transform .18s ease,opacity .18s ease}.project-link:hover:before{opacity:.68;transform:scaleX(1)}.project-link:hover:after{color:var(--text);transform:translate(2px,-2px)}.project-value{margin-top:22px;padding-left:18px;border-left:1px solid var(--text);color:var(--text)!important}.tag-row{margin-top:28px}.secondary-projects,.secondary-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);align-items:stretch;width:100%;margin-top:30px}.project-panel,.secondary-project-card{display:flex;flex-direction:column;min-width:0;height:100%;border-bottom:0;outline:none;box-shadow:none}.secondary-project-image{position:relative;display:block;width:100%;aspect-ratio:16 / 10;overflow:hidden;border:none;border-radius:18px;outline:none;box-shadow:none;background:var(--bg-soft)}.secondary-project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .25s ease}.secondary-project-image:hover img,.secondary-project-card:focus-within .secondary-project-image img{transform:scale(1.025);filter:saturate(.96) contrast(1.03)}.secondary-project-info,.project-copy.compact{display:flex;flex:1;flex-direction:column;justify-content:flex-start;min-height:430px;padding:18px 0 0;border-top:0;border-bottom:0}.secondary-project-info .project-order{margin-bottom:8px}.project-copy.compact h3,.secondary-project-info h3{margin-top:0;margin-bottom:8px;font-size:clamp(1.25rem,1.8vw,1.875rem);line-height:1.25}.secondary-project-info .project-subtitle{min-height:1.9em;margin:0 0 18px}.secondary-project-info .project-meta{margin-top:18px}.secondary-project-info .tag-row{margin-top:22px}.project-image,.secondary-project-image,.project-link{cursor:pointer}.project-image,.secondary-project-image{transition:transform .28s ease,opacity .28s ease,border-color .18s ease}.project-image:hover,.project-image:focus-visible,.gallery-image:hover,.gallery-image:focus-visible,.secondary-project-image:hover,.secondary-project-image:focus-visible{border-color:transparent;opacity:.94;transform:translateY(-4px)}.project-image,.gallery-image,.secondary-project-image,.project-panel,.secondary-project-card,.project-image img,.gallery-image img,.secondary-project-image img{border:none!important;outline:none!important;box-shadow:none!important}.project-image,.gallery-image,.secondary-project-image{overflow:hidden;border-radius:18px;background:var(--bg-soft)!important}.project-image img,.gallery-image img,.secondary-project-image img{display:block}.project-link{text-decoration:none}.project-link:hover{text-decoration:underline}.project-detail-page{min-height:100vh;padding:120px 6vw;background:transparent;color:#111}.project-detail-hero{max-width:1120px;margin:0 auto 72px}.project-detail-kicker{margin:0;color:#11111173;font-size:13px;font-weight:400;letter-spacing:.22em;text-transform:uppercase}.project-detail-hero h1{margin:24px 0 20px;color:#111;font-size:clamp(52px,7vw,118px);font-weight:700;line-height:.96}.project-detail-hero p{max-width:760px;margin:0;color:#111111ad;font-size:clamp(18px,1.4vw,26px);font-weight:400;line-height:1.7}.project-detail-meta{max-width:1120px;margin:0 auto;border-top:1px solid rgba(0,0,0,.12)}.project-detail-meta div{display:grid;grid-template-columns:180px 1fr;gap:40px;padding:24px 0;border-bottom:1px solid rgba(0,0,0,.12)}.project-detail-meta span{color:#11111173;font-size:13px;font-weight:400;letter-spacing:.14em}.project-detail-meta p{margin:0;color:#111111b8;font-size:16px;font-weight:400;line-height:1.8}.project-detail-placeholder{max-width:1120px;margin:88px auto 0;padding:56px 0;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}.project-detail-placeholder h2{margin:0 0 16px;font-size:clamp(28px,3vw,48px);font-weight:700}.project-detail-placeholder p{margin:0;color:#1111119e;font-size:16px;font-weight:400;line-height:1.8}.back-link{position:fixed;top:28px;left:6vw;z-index:20;padding:0;border:0;background:transparent;color:#111;font-family:inherit;font-size:14px;font-weight:400;text-decoration:none;cursor:pointer}.back-link:hover{text-decoration:underline}.gallery-intro{display:grid;grid-template-columns:1fr .55fr;gap:48px;margin-bottom:44px;color:var(--muted)}.gallery-intro p{max-width:880px;font-size:1.2rem;line-height:1.9}.gallery-intro span{align-self:end;color:var(--weak);line-height:1.8}.gallery-list{display:grid;gap:22px}.gallery-item{display:grid;grid-template-columns:.9fr 1.1fr;min-height:380px;border-top:1px solid var(--line-soft)}.gallery-copy{display:flex;flex-direction:column;justify-content:center;padding:32px 0 32px 42px}.gallery-copy h3{margin-top:16px;font-size:2.8rem}.strength-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line-soft);background:var(--line-soft);border-radius:0;overflow:hidden}.strength-item{display:flex;flex-direction:column;min-height:230px;padding:34px;background:#ffffff57;transition:background .18s ease}.strength-item:hover{background:#ffffff94}.strength-item h3{margin:46px 0 18px;font-size:2rem}.strength-item p{color:#1111119e;font-weight:var(--font-regular);line-height:1.8}.contact-section{display:flex;min-height:100vh;border-top:1px solid var(--line);background:var(--bg-soft)}.contact-inner{display:flex;flex-direction:column;justify-content:center;text-align:center}.contact-section h2{max-width:1120px;margin:26px auto 0;font-size:4.8rem;line-height:1.2}.contact-section p:not(.hero-kicker){max-width:720px;margin:28px auto 0;color:var(--muted);font-size:1.08rem;line-height:1.9}.contact-note{max-width:640px!important;margin-top:18px!important;color:#111111ad!important;font-size:.96rem!important}.contact-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;margin-top:78px;color:var(--weak);font-size:.95rem}.text-tags,.project-tags,.about-capabilities,.tag-list,.tag-row{display:flex;flex-wrap:wrap;align-items:center;gap:0;color:#1111119e;font-family:Alibaba PuHuiTi,AlibabaPuHuiTi,阿里巴巴普惠体,Microsoft YaHei,sans-serif;font-size:.875rem;font-weight:var(--font-regular);line-height:1.8;letter-spacing:.04em}.text-tag,.project-tag,.about-capabilities span,.tag-list span,.tag-row span,.skill-list span{display:inline;min-height:0;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:inherit;font-size:inherit;font-weight:var(--font-regular);line-height:inherit}.tag-separator{display:inline-block;margin:0 2px;color:#1111116b}.section-heading h2,.about-heading h2,.works-section .section-heading h2,.gallery-section .section-heading h2,.strengths-section .section-heading h2,.contact-section h2,.project-copy h3,.gallery-copy h3{font-family:Alibaba PuHuiTi,AlibabaPuHuiTi,阿里巴巴普惠体,Microsoft YaHei,sans-serif;font-weight:var(--font-bold);font-style:normal;font-stretch:normal;letter-spacing:-.02em;transform:none}.strength-item h3,.about-profile-info h3,.about-experience-row h4{font-family:Alibaba PuHuiTi,AlibabaPuHuiTi,阿里巴巴普惠体,Microsoft YaHei,sans-serif;font-weight:var(--font-semibold);font-style:normal;font-stretch:normal;letter-spacing:-.01em;transform:none}p,span,li,a,dd,dt,button,.project-type,.project-meta,.project-subtitle,.text-tags,.text-tag,.tag-row,.about-body,.about-label,.about-profile-info,.hero-info-row,.contact-lines,.contact-note,.contact-footer,.nav-contact,.top-nav a{font-family:Alibaba PuHuiTi,AlibabaPuHuiTi,阿里巴巴普惠体,Microsoft YaHei,sans-serif;font-weight:var(--font-regular)}.top-nav a,.nav-contact,.hero-kicker,.hero-identity,.hero-subtitle,.hero-lead,.hero-info-row,.section-heading p,.section-index,.project-order,.project-type,.gallery-copy>span,.strength-item>span,.identity-line,.about-statement p,.about-meta-block>span,.contact-lines,.skill-list span,.tag-row span,.project-copy>p:not(.project-type):not(.project-subtitle),.gallery-copy>p:not(.project-type):not(.project-subtitle),.project-subtitle,.project-meta-row dt,.project-meta-row dd,.project-link,.project-value,.gallery-intro p,.gallery-intro span,.strength-item p,.contact-section p:not(.hero-kicker),.contact-note,.contact-footer{font-weight:var(--font-regular)}.button{font-weight:var(--font-medium)}.section-heading h2,.project-copy h3,.gallery-copy h3,.contact-section h2{font-weight:var(--font-bold)}.strength-item h3{font-weight:var(--font-semibold)}@media(prefers-reduced-motion:no-preference){.content-section,.contact-inner{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% cover 22%}@keyframes reveal{0%{opacity:.25;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:1536px){.hero-name{font-size:clamp(64px,6.3vw,104px)}.hero-title{font-size:clamp(30px,3.6vw,58px)}.section-heading h2{font-size:3.7rem}.project-image-large{min-height:620px}.contact-section h2{font-size:4rem}}@media(max-width:1180px){.site-header{grid-template-columns:68px 1fr 104px;width:min(calc(100% - 32px),var(--max));padding:0 clamp(32px,5vw,56px)}.top-nav{gap:22px}.section-shell,.content-section,.contact-inner{width:min(calc(100% - 32px),var(--max))}.hero-content{width:min(calc(100% - 40px),980px)}.hero-heading{max-width:100%;margin-left:clamp(20px,5vw,64px)}.hero-name{font-size:clamp(52px,7vw,76px)}.hero-title{font-size:clamp(28px,3.8vw,46px)}.hero-identity{letter-spacing:.22em}.about-layout,.project-feature,.gallery-item{grid-template-columns:1fr}.project-image-large{min-height:520px}.project-copy,.gallery-copy{padding:34px 0 0}.project-meta-row{grid-template-columns:1fr;gap:6px}.strength-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.about-layout{grid-template-columns:1fr}.about-profile{position:static}.about-content{padding-left:0;border-left:0}.about-experience-row{grid-template-columns:1fr;gap:8px}}@media(max-width:760px){.site-header{grid-template-columns:54px 1fr;height:66px;width:min(calc(100% - 28px),var(--max));padding:0 24px;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.brand-mark{min-width:74px;font-size:.66rem;letter-spacing:.16em}.top-nav{justify-content:flex-end;gap:12px;overflow-x:auto;font-size:.82rem}.nav-contact{display:none}.hero{min-height:100vh;padding-top:66px}.hero-content{width:min(calc(100% - 28px),640px);padding:56px 0 180px}.hero-heading{max-width:100%;margin-left:0}.hero-kicker{margin-bottom:22px;letter-spacing:.18em}.hero-name{font-size:clamp(44px,13vw,72px);line-height:.98;letter-spacing:.01em}.hero-title{margin-top:14px;font-size:clamp(25px,8vw,38px);letter-spacing:.16em}.hero-support{margin:24px 0 0;max-width:100%}.hero-identity{font-size:.68rem;letter-spacing:.14em}.hero-subtitle,.hero-lead{font-size:1rem}.hero-info-row{flex-direction:column;align-items:flex-start;gap:8px;font-size:.82rem;letter-spacing:.06em}.hero-actions,.contact-actions{flex-direction:column;align-items:stretch}.hero-index{grid-template-columns:1fr 1fr;gap:12px 18px;bottom:18px;width:min(calc(100% - 28px),var(--max))}.hero-index:before{top:-12px}.hero-index a{padding-bottom:9px;font-size:.74rem}.hero-index a:after{display:none}.content-section{padding:86px 0}.section-heading{grid-template-columns:54px 1fr;margin-bottom:36px}.section-heading h2{font-size:2.7rem}.secondary-projects,.secondary-project-grid,.gallery-intro,.strength-list{grid-template-columns:1fr}.project-copy h3,.gallery-copy h3{font-size:2.35rem}.project-meta-row{padding:14px 0}.secondary-projects,.secondary-project-grid{gap:32px}.project-image,.gallery-image,.secondary-project-image{border-radius:14px}.secondary-project-image{aspect-ratio:16 / 10}.project-panel{grid-template-rows:auto auto}.project-image,.project-image-large,.gallery-image{min-height:320px}.contact-section h2{font-size:2.9rem}.project-detail-page{padding:96px 24px}.project-detail-meta div{grid-template-columns:1fr;gap:8px}.back-link{position:static;display:inline-block;margin-bottom:48px}}.hero-kicker,.hero-identity,.hero-subtitle,.hero-lead,.hero-info-row,.section-heading p,.about-label,.about-profile-info p,.about-experience-row>span,.about-experience-row p,.experience-result,.project-type,.project-subtitle,.project-meta-row dt,.project-meta-row dd,.project-copy>p:not(.project-type):not(.project-subtitle),.gallery-copy>p:not(.project-type):not(.project-subtitle),.text-tags,.text-tag,.tag-separator,.gallery-intro p,.gallery-intro span,.strength-item p,.contact-section p:not(.hero-kicker),.contact-lines,.contact-note,.contact-footer,.top-nav a,.nav-contact{font-weight:300}.project-case-hero{margin-bottom:64px}.project-case-meta{margin-bottom:0}.project-hero-image-section{padding-top:72px}.project-detail-section{max-width:1180px;margin:0 auto;padding:96px 0;border-top:1px solid rgba(0,0,0,.12)}.project-detail-section h2{margin:0 0 28px;color:#111;font-size:clamp(36px,4vw,72px);font-weight:700;line-height:1.05}.project-detail-section p{max-width:860px;margin:0;color:#111111b3;font-size:17px;font-weight:400;line-height:1.9}.project-section-copy{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:48px;row-gap:18px;margin-bottom:48px}.project-section-copy h2,.project-section-copy p{grid-column:2}.project-section-copy p+p{margin-top:18px}.project-section-index{grid-column:1;grid-row:1 / span 3;color:#11111161;font-size:13px;font-weight:400;letter-spacing:.22em}.project-image-placeholder{width:100%;min-height:360px;border:1px dashed rgba(0,0,0,.18);border-radius:18px;background:#ffffff47;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#11111161;font-size:13px;font-weight:400;letter-spacing:.14em;line-height:1.5;text-align:center;text-transform:uppercase}.project-screen-placeholder{aspect-ratio:16 / 10;min-height:auto}.project-line-list{display:grid;gap:0;margin:0 0 48px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}.project-three-list{grid-template-columns:repeat(3,minmax(0,1fr))}.project-four-list{grid-template-columns:repeat(4,minmax(0,1fr))}.project-line-list span{min-height:84px;padding:24px 24px 24px 0;border-right:1px solid rgba(0,0,0,.12);color:#111111b8;font-size:18px;font-weight:500;line-height:1.5}.project-line-list span:last-child{border-right:0}.problem-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);margin:48px 0;padding-top:32px;border-top:1px solid rgba(0,0,0,.12)}.problem-point{padding:0;border:none;background:transparent}.problem-index{display:block;margin-bottom:18px;color:#1111116b;font-size:13px;font-weight:400;letter-spacing:.16em}.problem-point h3{margin:0 0 16px;color:#111;font-size:clamp(22px,2vw,34px);font-weight:700;line-height:1.25}.project-detail-section .problem-point p{max-width:none;margin:0;color:#1111119e;font-size:15px;font-weight:400;line-height:1.9}.project-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0 0 48px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}.project-flow-step{position:relative;min-height:128px;padding:24px 28px 24px 0;border-right:1px solid rgba(0,0,0,.12)}.project-flow-step:last-child{border-right:0}.project-flow-step:not(:last-child):after{content:"→";position:absolute;top:24px;right:18px;color:#11111152;font-size:18px;font-weight:400}.project-flow-step span{display:block;margin-bottom:24px;color:#11111161;font-size:12px;font-weight:400;letter-spacing:.18em}.project-flow-step p{max-width:none;color:#111111c7;font-size:17px;font-weight:500;line-height:1.5}.project-info-grid{display:grid;gap:0;margin:0 0 48px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}.project-info-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.project-info-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.project-info-grid article{min-height:180px;padding:28px 28px 28px 0;border-right:1px solid rgba(0,0,0,.12)}.project-info-grid article:last-child{border-right:0}.project-info-grid h3,.project-screen-item h3{margin:0 0 14px;color:#111;font-size:clamp(20px,1.6vw,28px);font-weight:700;line-height:1.25}.project-info-grid p,.project-screen-item p{max-width:none;color:#1111119e;font-size:15px;font-weight:400;line-height:1.8}.project-screen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}.project-screen-item{min-width:0}.project-screen-item .project-image-placeholder{margin-bottom:24px}.project-final-placeholders{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:32px}.project-final-placeholders .project-image-placeholder:last-child{min-height:360px}@media(max-width:900px){.project-section-copy{grid-template-columns:1fr;gap:14px}.project-section-copy h2,.project-section-copy p,.project-section-index{grid-column:1}.project-section-index{grid-row:auto}.project-three-list,.project-four-list,.project-flow,.project-info-grid-three,.project-info-grid-four,.project-screen-grid,.project-final-placeholders{grid-template-columns:1fr}.project-line-list span,.project-flow-step,.project-info-grid article{border-right:0;border-bottom:1px solid rgba(0,0,0,.12)}.project-line-list span:last-child,.project-flow-step:last-child,.project-info-grid article:last-child{border-bottom:0}.project-flow-step:not(:last-child):after{top:auto;right:auto;bottom:18px;left:0;transform:rotate(90deg)}}@media(max-width:768px){.problem-points{grid-template-columns:1fr;gap:32px}.problem-point{padding-bottom:28px;border-bottom:1px solid rgba(0,0,0,.1)}.problem-point:last-child{border-bottom:none}.project-detail-section{padding:72px 0}.project-hero-image-section{padding-top:56px}.project-detail-section p{font-size:16px}.project-image-placeholder{min-height:260px;border-radius:14px;padding:0 24px}.project-screen-placeholder{min-height:auto}}.sentry-module-label{display:block;color:#1111116b;font-size:12px;font-weight:400;letter-spacing:.16em;line-height:1.2}.sentry-step-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(18px,2.4vw,36px);margin:0 0 48px;padding-top:34px;border-top:1px solid rgba(0,0,0,.12)}.sentry-step-node{position:relative;min-width:0;padding-top:22px}.sentry-step-node:before{content:"";position:absolute;top:6px;left:0;right:0;height:1px;background:#0000001f}.sentry-step-node:not(:last-child):after{content:"→";position:absolute;top:18px;right:-24px;color:#1111114d;font-size:16px;font-weight:400}.sentry-step-dot{position:absolute;top:1px;left:0;width:10px;height:10px;border:1px solid rgba(17,17,17,.36);border-radius:999px;background:var(--bg)}.sentry-step-node .sentry-module-label{margin-bottom:16px}.project-detail-section .sentry-step-node p{max-width:180px;margin:0;color:#111111c7;font-size:clamp(17px,1.5vw,24px);font-weight:700;line-height:1.35}.sentry-explain-grid{display:grid;gap:clamp(28px,4vw,64px);margin:0 0 48px;padding-top:32px;border-top:1px solid rgba(0,0,0,.12)}.sentry-ai-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sentry-explain-item,.sentry-mechanism-item,.sentry-output-item,.sentry-visual-tab{min-width:0;border:0;background:transparent}.sentry-explain-item .sentry-module-label,.sentry-mechanism-item .sentry-module-label,.sentry-output-item .sentry-module-label,.sentry-visual-tab .sentry-module-label{margin-bottom:16px}.sentry-explain-item h3,.sentry-mechanism-item h3,.sentry-output-item h3,.sentry-visual-tab h3{margin:0;color:#111;font-size:clamp(20px,1.7vw,30px);font-weight:700;line-height:1.28}.sentry-explain-item h3,.sentry-mechanism-item h3{margin-bottom:14px}.project-detail-section .sentry-explain-item p,.project-detail-section .sentry-mechanism-item p{max-width:320px;margin:0;color:#1111119e;font-size:15px;font-weight:400;line-height:1.9}.sentry-mechanism-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(40px,6vw,96px);max-width:920px;margin:0 0 56px;border-top:1px solid rgba(0,0,0,.12)}.sentry-mechanism-item{padding:30px 0;border-bottom:1px solid rgba(0,0,0,.1)}.sentry-mechanism-item:nth-last-child(-n+2){border-bottom:0}.sentry-visual-tabs{display:flex;flex-wrap:wrap;gap:12px 14px;margin:0 0 32px;padding-top:28px;border-top:1px solid rgba(0,0,0,.12)}.sentry-visual-tab{flex:1 1 180px;padding:0 0 18px;border-bottom:1px solid rgba(0,0,0,.1)}.sentry-visual-tab h3{font-size:clamp(17px,1.4vw,22px);font-weight:600}.sentry-output-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin:0 0 48px;padding-top:32px;border-top:1px solid rgba(0,0,0,.12)}.sentry-output-item{padding-bottom:22px;border-bottom:1px solid rgba(0,0,0,.1)}.sentry-output-item h3{max-width:220px;font-size:clamp(18px,1.45vw,25px);font-weight:700}.sentry-output-item-highlight h3{color:#111}.sentry-output-item-highlight{border-bottom-color:#11111147}@media(max-width:900px){.sentry-step-flow,.sentry-ai-grid,.sentry-mechanism-grid,.sentry-output-list{grid-template-columns:1fr}.sentry-step-flow{gap:28px}.sentry-step-node{padding:0 0 0 34px}.sentry-step-node:before{top:4px;bottom:-28px;left:5px;right:auto;width:1px;height:auto}.sentry-step-node:last-child:before{bottom:0}.sentry-step-node:not(:last-child):after{display:none}.sentry-step-dot{top:4px;left:0}.project-detail-section .sentry-step-node p,.project-detail-section .sentry-explain-item p,.project-detail-section .sentry-mechanism-item p{max-width:100%}.sentry-explain-grid,.sentry-output-list{gap:32px}.sentry-mechanism-item:nth-last-child(-n+2){border-bottom:1px solid rgba(0,0,0,.1)}.sentry-mechanism-item:last-child{border-bottom:0}}@media(max-width:768px){.sentry-visual-tabs{display:grid;grid-template-columns:1fr;gap:24px}.sentry-visual-tab{padding-bottom:20px}}.project-detail-image,.project-screen-image{display:block;width:100%;height:auto;border:none;border-radius:18px;outline:none;box-shadow:none;background:transparent;object-fit:contain}.project-screen-card{min-width:0;margin:0}.project-screen-card figcaption{margin-top:14px;color:#1111119e;font-size:14px;font-weight:400;line-height:1.8}.project-screen-card figcaption strong{display:block;margin-bottom:4px;color:#111;font-size:16px;font-weight:700;line-height:1.5}.project-final-placeholders .project-detail-image{align-self:start}@media(max-width:768px){.project-detail-image,.project-screen-card img{border-radius:14px}}@media print{html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact}img,video,canvas,svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
