:root{--font-family-primary:"Alibaba PuHuiTi", sans-serif;--font-alibaba:"Alibaba PuHuiTi", "Alibaba PuHuiTi 2.0", "AlibabaPuHuiTi";--font-sans:var(--font-alibaba);--font-display:var(--font-alibaba);--color-surface-base:#000;--color-surface-muted-base:#040508;--color-surface-raised:#090a0d;--color-surface-strong:#ffffff1a;--color-text-primary:#d8d8d8;--color-text-secondary:#8c8c8c;--color-text-muted-token:#5f5f5f;--color-text-inverse:#f1f1f1;--color-text-accent-warm:#b8b8b8;--color-border-strong-token:#fff;--color-border-subtle:#ffffff29;--color-border-hairline:#ffffff14;--color-state-error:#ff8f8f;--color-focus:#fff;--color-background:var(--color-surface-base);--color-background-deep:var(--color-surface-muted);--color-surface:var(--color-text-primary);--color-surface-muted:var(--color-surface-raised);--color-text:var(--color-text-primary);--color-text-soft:var(--color-text-secondary);--color-text-muted:var(--color-text-muted-token);--color-border:var(--color-border-subtle);--color-border-strong:var(--color-border-strong-token);--color-accent:var(--color-text-inverse);--color-accent-warm:var(--color-text-accent-warm);--font-size-xs:14.28px;--font-size-sm:16.32px;--font-size-md:20.39px;--font-size-lg:36.71px;--font-size-xl:clamp(64px, 9vw, 96.88px);--font-size-2xl:clamp(72px, 10vw, 101.97px);--font-size-h1:72px;--font-size-h1-tablet:52px;--font-size-h1-mobile:40px;--font-size-h2:42px;--font-size-h2-tablet:34px;--font-size-h2-mobile:30px;--font-size-h3:24px;--font-size-h3-mobile:21px;--font-size-hero-title:clamp(72px, 7.2vw, 132px);--font-size-hero-title-mobile:56px;--font-size-hero-intro:22px;--font-size-hero-intro-mobile:17px;--font-size-label:13px;--font-size-label-sm:12px;--font-size-label-xs:11px;--font-size-english:15px;--font-size-body:19px;--font-size-body-md:18px;--font-size-body-sm:16px;--font-size-body-xs:14px;--font-size-section-title:clamp(48px, 4.2vw, 82px);--font-size-section-desc:19px;--line-height-base:1.5;--line-height-tight:1;--line-height-snug:1.08;--line-height-heading:.98;--line-height-body:1.7;--line-height-body-relaxed:1.75;--line-height-body-loose:1.8;--space-1:4.08px;--space-2:6.12px;--space-3:8.16px;--space-4:16.32px;--space-5:40.79px;--space-6:57.1px;--space-7:65.26px;--space-8:81.58px;--layout-max-width:clamp(1080px, 82vw, 1920px);--max-width:var(--layout-max-width);--layout-gutter:40px;--gutter:var(--layout-gutter);--layout-gutter-mobile:20px;--layout-section-inset:80px;--layout-section-inset-mobile:32px;--section-padding-y:140px;--section-padding-y-alt:92px;--section-padding-y-contact:120px;--section-min-height:100vh;--grid-gap-xs:10px;--grid-gap-sm:12px;--grid-gap-md:18px;--grid-gap-base:22px;--grid-gap-lg:24px;--grid-gap-xl:48px;--grid-gap-2xl:54px;--grid-gap-3xl:72px;--grid-gap-4xl:84px;--grid-gap-5xl:90px;--radius-xs:8.16px;--radius-pill:999px;--radius-small:var(--radius-xs);--radius-card:var(--radius-xs);--ratio-project-card:1 / .72;--ratio-project-hero:1 / .48;--ratio-project-hero-mobile:1 / .72;--ratio-markdown-image:16 / 10;--ratio-gallery-item:4 / 3;--ratio-portrait:1 / 1.12;--ratio-hero-panel:1 / .76;--motion-instant:.3s;--motion-fast-token:.5s;--motion-normal:.7s;--motion-fast:var(--motion-instant);--motion-base:var(--motion-fast-token);--motion-slow:var(--motion-normal);--shadow-soft:0 24px 72px #0000006b;--header-padding-y:14px;--header-backdrop:#000000b8;--header-blur:18px;--header-z:20;--brand-logo-size:34px;--nav-link-padding-x:12px;--nav-link-padding-y:10px;--page-padding-top:132px;--page-padding-bottom:96px;--page-min-height:68vh;--scroll-padding-top:96px;--hero-inner-padding-top:148px;--hero-inner-padding-bottom:76px;--hero-content-gap:30px;--hero-content-max-width:1120px;--hero-title-max-width:1180px;--hero-intro-max-width:720px;--hero-image-opacity:.54;--card-padding:22px;--card-padding-mobile:18px;--card-min-height-featured:640px;--card-image-height-featured:430px;--card-hover-lift:-10px;--card-hover-scale:1.045;--carousel-margin-top:56px;--carousel-margin-top-mobile:36px;--carousel-track-gap:var(--grid-gap-lg);--carousel-track-gap-mobile:var(--space-4);--carousel-slide-min-height:620px;--carousel-slide-min-height-mobile:480px;--carousel-media-min-height:440px;--carousel-media-min-height-mobile:300px;--carousel-track-column:minmax(680px, 72%);--carousel-track-column-tablet:minmax(560px, 84%);--carousel-track-column-mobile:minmax(280px, 86%);--carousel-slide-scale-active:1.018;--carousel-slide-opacity-inactive:.56;--carousel-control-size:46px;--gallery-groups-gap:64px;--gallery-grid-columns:3;--gallery-item-hover-lift:-6px;--grid-texture-size:72px;--grid-texture-opacity:.22;--grid-texture-overlay:#000000f0}@media (width<=760px){:root{--layout-gutter:var(--layout-gutter-mobile)}}@font-face{font-family:Alibaba PuHuiTi;font-style:normal;font-weight:300 900;font-display:swap;src:local(Alibaba PuHuiTi),local("Alibaba PuHuiTi 2.0"),local(AlibabaPuHuiTi),url(/fonts/AlibabaPuHuiTi-3-55-Regular.woff2)format("woff2"),url(/fonts/AlibabaPuHuiTi-3-55-Regular.ttf)format("truetype")}*,:before,:after{box-sizing:border-box}html{background:var(--color-surface-base);min-width:320px;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-sm);font-synthesis:none;font-synthesis-weight:none;letter-spacing:0;line-height:var(--line-height-base);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:var(--scroll-padding-top)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body:before{z-index:-2;pointer-events:none;content:"";background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-position:top;background-size:var(--grid-texture-size) var(--grid-texture-size);opacity:var(--grid-texture-opacity);position:fixed;inset:0}body:after{z-index:-1;pointer-events:none;content:"";background:var(--grid-texture-overlay);position:fixed;inset:0}button,input,textarea{font:inherit}button{color:inherit}button:disabled,a[aria-disabled=true],button[aria-disabled=true]{cursor:not-allowed}a[data-loading=true],button[data-loading=true]{cursor:progress}a[data-error=true],button[data-error=true]{color:var(--color-text)}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--color-text);letter-spacing:0;font-weight:500}h1{max-width:980px;font-family:var(--font-display);font-size:var(--font-size-h1);line-height:var(--line-height-heading)}h2{max-width:720px;font-family:var(--font-display);font-size:var(--font-size-h2);line-height:var(--line-height-snug)}h3{font-size:var(--font-size-h3);line-height:1.14}p{color:var(--color-text-soft)}::selection{color:var(--color-surface-base);background:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:5px}@media (width<=900px){h1{font-size:var(--font-size-h1-tablet)}h2{font-size:var(--font-size-h2-tablet)}}@media (width<=560px){h1{font-size:var(--font-size-h1-mobile);line-height:1.04}h2{font-size:var(--font-size-h2-mobile)}h3{font-size:var(--font-size-h3-mobile)}}#root{min-height:100vh}.app-shell{background:var(--color-surface-base);width:100%;min-height:100vh;margin:0 auto}.app-shell--detail{background:#fcfcfc}.site-header{z-index:var(--header-z);width:100%;padding:var(--header-padding-y) var(--gutter);background:var(--header-backdrop);-webkit-backdrop-filter:blur(var(--header-blur));backdrop-filter:blur(var(--header-blur));border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:fixed;top:0;left:0}.site-nav{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.site-footer{justify-content:space-between;gap:var(--grid-gap-lg);width:min(100%, var(--max-width));padding:18px var(--gutter);border-top:1px solid var(--color-border);align-items:center;margin:0 auto;display:flex}.site-footer span{color:#ffffffe0;font-family:var(--font-family-primary);font-size:calc(var(--font-size-label-sm) + 2px);font-weight:300;line-height:1.2}.site-footer span:last-child{color:#ffffffa8}.site-footer span:first-child{text-align:left}.site-footer span:last-child{text-align:right}.app-shell--detail .site-footer{background:#fcfcfc;border-top-color:#d8d8d8}.app-shell--detail .site-footer span:first-child{color:#111}.app-shell--detail .site-footer span:last-child{color:#555}.page-transition{width:min(100%, var(--max-width));min-height:var(--page-min-height);padding:var(--page-padding-top) var(--gutter) var(--page-padding-bottom);background:var(--color-surface-base);margin:0 auto}.home-page{width:100%;max-width:none;padding:0}.main-scroll{scroll-snap-type:y proximity}.one-page-section{min-height:var(--section-min-height);scroll-snap-align:start;scroll-margin-top:0}.home-section{width:min(calc(100% - var(--layout-section-inset)), var(--max-width));padding:var(--section-padding-y) 0;background:var(--color-surface-base);border-top:1px solid var(--color-border);margin:0 auto}.about-section,.projects-section{align-content:center;display:grid}.section-block,.split-section,.contact-layout,.project-detail-grid,.capability-list{padding:var(--section-padding-y-alt) 0;border-top:1px solid var(--color-border)}.section-heading{gap:var(--grid-gap-xl);grid-template-columns:220px minmax(0,1fr);margin-bottom:44px;display:grid}.split-section{gap:var(--grid-gap-3xl);grid-template-columns:minmax(0,.8fr) minmax(280px,.7fr);align-items:start;display:grid}.split-section--lined{border-bottom:1px solid var(--color-border)}.page-hero{gap:var(--grid-gap-lg);padding:34px 0 var(--space-8);display:grid}.page-hero--compact{max-width:920px}.experience-grid{gap:var(--grid-gap-5xl);grid-template-columns:minmax(420px,.56fr) minmax(0,1fr);align-items:stretch;display:grid}.about-support-grid{gap:var(--grid-gap-lg);margin-top:var(--space-8);grid-template-columns:minmax(280px,.45fr) minmax(0,1fr);display:grid}.about-support-block{align-content:start;gap:var(--grid-gap-md);display:grid}.wide-section-heading{justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:56px;display:flex}.stats-grid{gap:var(--grid-gap-md);grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin-top:28px;display:grid}.compact-capability-list{background:var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.featured-projects{gap:var(--grid-gap-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.strength-grid{gap:var(--grid-gap-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.process-grid{background:var(--color-border);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.project-grid{gap:var(--grid-gap-base);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-grid{gap:var(--grid-gap-4xl);grid-template-columns:280px minmax(0,1fr);display:grid}.project-detail-hero__copy{gap:var(--grid-gap-2xl);grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);align-items:end;display:grid}.project-gallery-grid{grid-template-columns:repeat(var(--gallery-grid-columns), minmax(0, 1fr));gap:var(--grid-gap-md);display:grid}.about-info-grid{gap:var(--grid-gap-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.about-info-grid--wide{grid-template-columns:repeat(3,minmax(0,1fr))}.capability-list{background:var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.tools-list{gap:var(--grid-gap-xl);padding:var(--section-padding-y-alt) 0;border-top:1px solid var(--color-border);grid-template-columns:220px minmax(0,1fr);display:grid}.tools-list>div{gap:var(--grid-gap-sm);flex-wrap:wrap;display:flex}.contact-layout{gap:var(--grid-gap-3xl);grid-template-columns:320px minmax(0,1fr);display:grid}.contact-aside{align-content:start;gap:var(--grid-gap-base);display:grid}.hero-section{gap:var(--grid-gap-3xl);min-height:620px;padding:var(--space-4) 0 var(--space-8);grid-template-columns:minmax(0,1.06fr) minmax(320px,.72fr);align-items:stretch;display:grid}.hero-actions{gap:var(--grid-gap-sm);flex-wrap:wrap;display:flex}.hero-copy{justify-content:center;gap:var(--grid-gap-lg);flex-direction:column;display:flex}.hero-panel__grid{gap:var(--grid-gap-sm);grid-template-columns:repeat(2,1fr);display:grid}.contact-lines{gap:var(--grid-gap-base) 26px;flex-wrap:wrap;display:flex}.contact-output-strip{justify-content:center;gap:var(--grid-gap-xs);max-width:860px;margin-top:var(--grid-gap-md);flex-wrap:wrap;display:flex}.closing-contact{min-height:var(--section-min-height);padding:var(--section-padding-y-contact) var(--layout-gutter);color:var(--color-text);background:var(--color-surface-base);border-top:1px solid var(--color-border);place-items:center;display:grid}.closing-contact__inner{text-align:center;justify-items:center;gap:28px;width:min(100%,1200px);display:grid}.project-gallery-groups{gap:var(--gallery-groups-gap);display:grid}.project-gallery-group{gap:var(--grid-gap-base);display:grid}.project-gallery-group__heading{justify-content:space-between;align-items:baseline;gap:var(--grid-gap-lg);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4);display:flex}.project-gallery-section,.about-info-section{padding:var(--section-padding-y-alt) 0;border-top:1px solid var(--color-border)}.about-body{gap:var(--grid-gap-lg);display:grid}.about-expression{gap:var(--grid-gap-md);max-width:980px;padding:var(--section-padding-y-alt) 0 0;border-top:1px solid var(--color-border);display:grid}.project-story{gap:var(--grid-gap-lg);max-width:760px;display:grid}@media (width<=980px){.hero-section,.project-detail-hero__copy,.project-detail-grid,.contact-layout{grid-template-columns:1fr}.hero-section{gap:42px;min-height:auto}.project-grid,.project-grid--featured,.capability-list,.featured-projects,.strength-grid,.process-grid,.project-gallery-grid,.about-info-grid,.about-info-grid--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading,.split-section,.experience-grid,.tools-list,.about-support-grid{gap:var(--grid-gap-lg);grid-template-columns:1fr}.compact-capability-list,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.site-header,.site-footer{flex-direction:column;align-items:flex-start}.site-nav{width:100%;padding-bottom:2px;overflow-x:auto}.page-transition{padding-top:54px;padding-bottom:72px}.project-grid,.project-grid--featured,.capability-list,.featured-projects,.strength-grid,.process-grid,.project-gallery-grid,.about-info-grid,.about-info-grid--wide{grid-template-columns:1fr}.home-hero__inner,.home-section{width:min(calc(100% - var(--layout-section-inset-mobile)), var(--max-width))}.compact-capability-list,.stats-grid{grid-template-columns:1fr}}@media (width<=767px){.site-header{flex-direction:row;align-items:center;gap:12px;padding:10px 16px}.brand-mark{gap:8px;min-width:0}.brand-mark span{text-overflow:ellipsis;white-space:nowrap;max-width:132px;overflow:hidden}.site-nav{scrollbar-width:none;gap:2px;width:auto;min-width:0;margin-left:auto;padding-bottom:0;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap;padding-left:8px;padding-right:8px;font-size:12px}}.brand-mark{align-items:center;gap:var(--grid-gap-xs);color:var(--color-text);font-size:var(--font-size-body-xs);line-height:var(--line-height-tight);display:inline-flex}.brand-mark img{width:var(--brand-logo-size);height:var(--brand-logo-size);object-fit:cover;border:1px solid var(--color-border)}.nav-link{padding:var(--nav-link-padding-y) var(--nav-link-padding-x);color:var(--color-text-soft);font-size:var(--font-size-body-xs);line-height:var(--line-height-tight);opacity:.72;transition:color var(--motion-fast) ease, opacity var(--motion-fast) ease;position:relative}.nav-link:after{right:var(--nav-link-padding-x);bottom:var(--space-1);left:var(--nav-link-padding-x);content:"";opacity:0;transform-origin:50%;height:1px;transition:opacity var(--motion-fast) ease, transform var(--motion-fast) ease;background:currentColor;position:absolute;transform:scaleX(.4)}.nav-link:hover,.nav-link:focus-visible,.nav-link.is-active{color:var(--color-text);opacity:1}.nav-link.is-active{font-weight:500}.nav-link.is-active:after,.nav-link:focus-visible:after{opacity:.82;transform:scaleX(1)}.nav-link:active,.brand-mark:active{transform:translateY(1px)}.footer-brand{color:var(--color-text);font-size:var(--font-size-body-xs)}.footer-description{gap:var(--space-3) var(--grid-gap-md);flex-wrap:wrap;align-items:center;max-width:none;display:flex}.footer-description__pair{gap:var(--grid-gap-sm);white-space:nowrap;align-items:baseline;display:inline-flex}.footer-links{color:var(--color-text-soft);font-size:var(--font-size-body-xs)}.footer-links a:hover{color:var(--color-text)}.site-footer p{margin-top:var(--space-3);font-size:var(--font-size-body-xs)}.magnetic-button{border:1px solid var(--color-text);width:fit-content;min-height:48px;color:var(--color-surface-base);background:var(--color-text);transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.magnetic-button--secondary{color:var(--color-text);border-color:var(--color-border);background:0 0}.magnetic-button:hover{color:var(--color-surface-base);background:var(--color-border-strong);border-color:var(--color-border-strong)}.magnetic-button--secondary:hover{color:var(--color-surface-base);background:var(--color-text);border-color:var(--color-text)}.magnetic-button:active{transform:translateY(1px)}.magnetic-button[aria-disabled=true],.magnetic-button[data-loading=true],.magnetic-button:disabled{cursor:not-allowed;opacity:.45}.magnetic-button[data-error=true]{border-color:var(--color-state-error)}.magnetic-button__inner{align-items:center;gap:var(--grid-gap-base);padding:var(--grid-gap-base) var(--grid-gap-md);font-size:var(--font-size-body-xs);line-height:var(--line-height-tight);white-space:nowrap;display:inline-flex}.magnetic-button__mark{place-items:center;width:18px;height:18px;display:inline-grid}.magnetic-button__mark svg{width:var(--space-4);height:var(--space-4);fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.4px}.header-contact-button{margin-left:var(--space-4);padding:11px var(--space-4);color:var(--color-surface-base);background:var(--color-text);border:1px solid var(--color-text);font-size:var(--font-size-body-xs);line-height:var(--line-height-tight);transition:background-color var(--motion-fast) ease, color var(--motion-fast) ease}.header-contact-button:hover{color:var(--color-surface-base);background:var(--color-border-strong)}.header-contact-button:active{transform:translateY(1px)}.text-link{width:fit-content;color:var(--color-text);transition:color var(--motion-fast) ease;border-bottom:1px solid}.text-link:hover,.text-link:focus-visible{color:var(--color-accent-warm)}.contact-lines a{border-bottom:1px solid}.contact-lines span{color:var(--color-text-muted)}.section-kicker,.section-label,.section-heading>span{color:var(--color-text-muted);font-size:var(--font-size-label);text-transform:uppercase;line-height:1.1}.section-kicker{margin-bottom:var(--grid-gap-lg)}.wide-section-heading>span,.closing-contact__inner>span{color:var(--color-text-muted);font-size:var(--font-size-label);text-transform:uppercase}.english-support{color:var(--color-text-muted);font-size:var(--font-size-english);line-height:var(--line-height-base)}.contact-output-strip span,.tools-list>div span{padding:9px var(--grid-gap-sm);color:var(--color-text-muted);border:1px solid var(--color-border);font-size:var(--font-size-label-sm)}.tools-list>div span{color:var(--color-text-soft);background:var(--color-surface-muted);padding:var(--grid-gap-xs) var(--grid-gap-base);font-size:var(--font-size-body-xs)}.content-image-placeholder{background:linear-gradient(90deg, #ffffff14 1px, transparent 1px), linear-gradient(#ffffff14 1px, transparent 1px), var(--color-background-deep);width:100%;min-height:220px;color:var(--color-text-muted);font-size:var(--font-size-label);background-size:40px 40px;place-items:center;display:grid}.project-card{background:var(--color-surface-muted);border:var(--card-border,1px solid var(--color-border));border-radius:var(--radius-card);min-width:0;transition:border-color var(--motion-base) ease, box-shadow var(--motion-base) ease, background-color var(--motion-base) ease}.project-card:hover{background:var(--color-surface-raised);border-color:var(--color-border-strong);box-shadow:var(--shadow-soft)}.project-card a{height:100%;display:block}.project-card__media{aspect-ratio:var(--ratio-project-card);border-bottom:1px solid var(--color-border);background:var(--color-background-deep);overflow:hidden}.project-card__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--motion-slow) ease}.project-card:hover .project-card__media img{transform:scale(var(--card-hover-scale))}.project-card__content{gap:var(--space-4);padding:var(--card-padding);display:grid}.project-card__meta{justify-content:space-between;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-label-sm);text-transform:uppercase;display:flex}.project-card p{font-size:var(--font-size-english);line-height:1.65}.project-card__english-title{color:var(--color-text-muted);font-size:var(--font-size-label-sm);line-height:var(--line-height-body);text-transform:uppercase}.featured-project-card{min-height:var(--card-min-height-featured);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);transition:transform var(--motion-base) ease, box-shadow var(--motion-base) ease, border-color var(--motion-base) ease;display:grid;overflow:hidden}.featured-project-card:hover{transform:translateY(var(--card-hover-lift));border-color:var(--color-border-strong);box-shadow:var(--shadow-soft)}.featured-project-card img{width:100%;height:var(--card-image-height-featured);object-fit:cover;border-bottom:1px solid var(--color-border);transition:transform var(--motion-slow) ease}.featured-project-card:hover img{transform:scale(1.04)}.featured-project-card div{align-content:start;gap:var(--space-4);padding:26px;display:grid}.featured-project-card span{color:var(--color-text-muted);font-size:var(--font-size-label-sm);text-transform:uppercase}.featured-project-card p{font-size:var(--font-size-sm);line-height:var(--line-height-body)}.featured-project-card p.english-support{font-size:var(--font-size-label)}.project-carousel{margin-top:var(--carousel-margin-top);touch-action:pan-y;display:grid;position:relative;overflow:hidden}.project-carousel__controls{justify-content:flex-end;gap:var(--grid-gap-xs);display:flex}.project-carousel__controls button,.project-carousel__progress button{color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-card);cursor:pointer;transition:background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;place-items:center;padding:0;display:inline-grid}.project-carousel__controls button{width:var(--carousel-control-size);height:var(--carousel-control-size)}.project-carousel__controls button:hover{color:var(--color-surface-base);background:var(--color-text);border-color:var(--color-text)}.project-carousel__controls button:focus-visible,.project-carousel__progress button:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.project-carousel__controls button:active,.project-carousel__progress button:active{transform:translateY(1px)}.project-carousel__controls button:disabled,.project-carousel__progress button:disabled,.project-carousel__controls button[aria-disabled=true],.project-carousel__progress button[aria-disabled=true]{cursor:not-allowed;opacity:.36}.project-carousel__controls button[data-loading=true],.project-carousel__progress button[data-loading=true]{cursor:progress;opacity:.58}.project-carousel__controls button[data-error=true],.project-carousel__progress button[data-error=true]{border-color:var(--color-state-error)}.project-carousel__controls svg{width:var(--font-size-md);height:var(--font-size-md);fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5px}.project-carousel__track{grid-auto-columns:var(--carousel-track-column);gap:var(--carousel-track-gap);padding:0 0 var(--space-3);scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;scroll-behavior:auto;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;will-change:scroll-position;grid-auto-flow:column;display:grid;overflow:scroll hidden}.project-carousel__track.is-dragging{cursor:grabbing;scroll-behavior:auto}.project-carousel__track::-webkit-scrollbar{display:none}.project-carousel__track:focus-visible{outline:2px solid var(--color-focus);outline-offset:6px}.project-carousel__slide{min-height:var(--carousel-slide-min-height);background:var(--color-background-deep);border:1px solid var(--color-border);border-radius:var(--radius-card);transition:transform var(--motion-base) ease, opacity var(--motion-base) ease, filter var(--motion-base) ease, border-color var(--motion-base) ease, box-shadow var(--motion-base) ease;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.project-carousel__slide:hover,.project-carousel__slide:focus-visible,.project-carousel__slide.is-active{z-index:2;transform:translateY(-4px) scale(var(--carousel-slide-scale-active));border-color:var(--color-border-strong);box-shadow:0 18px 54px #00000047}.project-carousel.has-active-card .project-carousel__slide:not(.is-active){opacity:var(--carousel-slide-opacity-inactive);filter:blur(.8px)}.project-carousel.is-dragging .project-carousel__slide{transition:none}.project-carousel.has-active-card .project-carousel__slide:not(.is-active) img{filter:grayscale()contrast(.86)}.project-carousel__meta{min-height:56px;padding:var(--space-4) var(--grid-gap-base) var(--grid-gap-sm);color:var(--color-text-muted);font-size:var(--font-size-label-sm);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;line-height:1.45;display:flex}.project-carousel__media,.project-carousel__media img,.project-carousel__media .content-image-placeholder{width:100%;height:100%;min-height:var(--carousel-media-min-height)}.project-carousel__media{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#f2f2f2;transition:background-color .3s,transform .3s,opacity .3s;overflow:hidden}.project-carousel__slide:hover .project-carousel__media,.project-carousel__slide:focus-visible .project-carousel__media,.project-carousel__slide.is-active .project-carousel__media{background:#fff}.project-carousel.has-active-card .project-carousel__slide:not(.is-active) .project-carousel__media{background:#6a6a6a}.project-carousel__media img,.project-carousel__media .content-image-placeholder{object-fit:cover;filter:grayscale()contrast(1.04);transition:filter var(--motion-base) ease, transform var(--motion-slow) ease}.project-carousel__slide:hover .project-carousel__media img,.project-carousel__slide:focus-visible .project-carousel__media img,.project-carousel__slide.is-active .project-carousel__media img{filter:grayscale(0)contrast(1.02);transform:scale(1.025)}.project-carousel__copy{gap:var(--space-3);min-height:132px;padding:var(--card-padding);color:var(--color-surface);background:var(--color-surface-base);display:grid}.project-carousel__copy p{color:var(--color-text-muted);font-size:var(--font-size-label-sm);line-height:var(--line-height-body);text-transform:uppercase}.project-carousel__copy h3{max-width:680px;color:var(--color-surface);font-family:var(--font-display);font-size:clamp(22px,2.2vw,34px);line-height:var(--line-height-snug)}.project-gallery-item{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);min-width:0;transition:transform var(--motion-base) ease, border-color var(--motion-base) ease, box-shadow var(--motion-base) ease;overflow:hidden}.project-gallery-item:hover{transform:translateY(var(--gallery-item-hover-lift));border-color:var(--color-border-strong);box-shadow:var(--shadow-soft)}.project-gallery-item img,.project-gallery-item .content-image-placeholder{width:100%;aspect-ratio:var(--ratio-gallery-item);object-fit:cover}.project-gallery-item figcaption{padding:var(--grid-gap-sm) var(--grid-gap-base);color:var(--color-text-muted);font-size:var(--font-size-label-sm);border-top:1px solid var(--color-border)}.project-gallery-group__heading h3{font-family:var(--font-display);font-size:30px}.project-gallery-group__heading span{color:var(--color-text-muted);font-size:var(--font-size-label-sm);text-transform:uppercase}.markdown-content{gap:var(--grid-gap-md);display:grid}.markdown-content ul{gap:var(--grid-gap-xs);padding-left:var(--font-size-md);display:grid}.markdown-content li{color:var(--color-text-soft);font-size:17px;line-height:var(--line-height-body-relaxed)}.markdown-heading,.markdown-subsection h3{margin-top:var(--space-3);font-family:var(--font-display);font-size:var(--font-size-h3)}.markdown-subsection{gap:var(--grid-gap-sm);display:grid}.markdown-fields{gap:var(--space-3);display:grid}.markdown-fields p{gap:var(--space-3);flex-wrap:wrap;display:flex}.markdown-fields p span{color:var(--color-text-muted);font-size:var(--font-size-label)}.markdown-image{margin:var(--grid-gap-md) 0;background:var(--color-background-deep);border:1px solid var(--color-border);overflow:hidden}.markdown-image img,.markdown-image .content-image-placeholder{width:100%;aspect-ratio:var(--ratio-markdown-image);object-fit:cover}.stats-grid div{gap:var(--grid-gap-sm);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);min-height:150px;padding:28px;display:grid}.stats-grid strong{color:var(--color-text);font-family:var(--font-display);font-size:54px;font-weight:500;line-height:var(--line-height-tight)}.stats-grid span{color:var(--color-text-muted);font-size:var(--font-size-label);text-transform:uppercase}.compact-capability-list article{gap:var(--grid-gap-sm);min-height:220px;padding:var(--grid-gap-lg);background:var(--color-surface-muted);display:grid}.compact-capability-list h3{font-family:var(--font-display);font-size:26px}.compact-capability-list small{color:var(--color-text-muted);font-size:var(--font-size-label-xs);text-transform:uppercase;line-height:1.45}.compact-capability-list p{font-size:var(--font-size-body-xs);align-self:end;line-height:1.65}.strength-card{background:var(--color-surface-muted);border:1px solid var(--color-border);align-content:space-between;min-height:360px;padding:28px;display:grid}.strength-card>span{background:var(--color-text);width:42px;height:3px}.strength-card h3{margin-top:var(--space-8);font-family:var(--font-display);font-size:34px}.strength-card p{margin-top:var(--grid-gap-md);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.process-card{min-height:260px;padding:var(--grid-gap-lg);background:var(--color-background);align-content:space-between;display:grid}.process-card h3{font-family:var(--font-display);font-size:28px}.process-card p{color:var(--color-text-soft);font-size:var(--font-size-english);line-height:var(--line-height-body);align-self:end}.process-card small,.strength-card small{color:var(--color-text-muted);font-size:var(--font-size-label-sm);line-height:var(--line-height-body);text-transform:uppercase}.capability-list div{min-height:180px;padding:var(--grid-gap-lg);background:var(--color-background)}.capability-list span{color:var(--color-text);font-family:var(--font-display);font-size:25px}.about-info-card{align-content:start;gap:var(--grid-gap-md);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);min-width:0;padding:26px;display:grid}.about-info-card h3{font-family:var(--font-display);font-size:28px}.about-callout{gap:var(--grid-gap-base);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:26px;display:grid}.about-hover-card,.about-capability-card,.about-position-card{transition:transform var(--motion-fast) ease, border-color var(--motion-fast) ease, background-color var(--motion-fast) ease, opacity var(--motion-fast) ease}.about-hover-card:hover,.about-hover-card:focus-within,.about-capability-card:hover,.about-capability-card:focus-within,.about-position-card:hover,.about-position-card:focus-within{background:var(--color-surface-raised);border-color:#ffffff57;transform:translateY(-4px)}.about-callout span,.about-expression span{color:var(--color-text-muted);font-size:var(--font-size-label-sm);text-transform:uppercase}.about-callout h2{font-family:var(--font-display);font-size:34px}.contact-aside a{width:fit-content;color:var(--color-text);transition:color var(--motion-fast) ease;border-bottom:1px solid}.contact-aside a:hover,.contact-aside a:focus-visible{color:var(--color-accent-warm)}.contact-form{gap:var(--grid-gap-md);max-width:720px;display:grid}.contact-form label{gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-label-sm);text-transform:uppercase;display:grid}.contact-form input,.contact-form textarea{width:100%;min-width:0;padding:var(--space-4) 0;color:var(--color-text);border:0;border-bottom:1px solid var(--color-border);border-radius:var(--radius-card);outline-offset:2px;resize:vertical;text-transform:none;background:0 0}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-text-muted)}.cursor-glow{z-index:4;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#ffffff1a,#fff0 62%);width:300px;height:300px;position:fixed;top:0;left:0}.page-notice{max-width:760px;padding:var(--grid-gap-base) var(--space-4);border-left:2px solid var(--color-accent);background:var(--color-surface-muted);color:var(--color-text);margin:0 0 36px}.page-note{gap:var(--space-3);max-width:760px;margin-top:var(--grid-gap-xs);padding:var(--grid-gap-md) 0 0;border-top:1px solid var(--color-border);display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.project-card:hover .project-card__media img{transform:none}.project-carousel__track{scroll-behavior:auto}.project-carousel__slide:hover,.project-carousel__slide:hover .project-carousel__media img{transform:none}.home-hero__particle-title,.cursor-glow{display:none}}@media (width<=680px){.hero-copy p,.page-hero p,.project-story p,.split-section p{font-size:var(--font-size-body-sm)}.featured-project-card{min-height:auto}.featured-project-card img{height:320px}.project-carousel{margin-top:var(--carousel-margin-top-mobile)}.project-carousel__track{grid-auto-columns:var(--carousel-track-column-mobile);gap:var(--carousel-track-gap-mobile)}.project-carousel__slide,.project-carousel__media,.project-carousel__media img,.project-carousel__media .content-image-placeholder{min-height:var(--carousel-slide-min-height-mobile)}.project-carousel__media,.project-carousel__media img,.project-carousel__media .content-image-placeholder{min-height:var(--carousel-media-min-height-mobile)}.project-carousel__copy{padding:var(--card-padding)}.project-card__content{padding:var(--card-padding-mobile)}.capability-list div{min-height:128px}}@media (width<=980px){.project-carousel__track{grid-auto-columns:var(--carousel-track-column-tablet)}.experience-image{min-height:520px}}.project-timeline-wheel{margin-top:var(--grid-gap-xl);position:relative}.project-timeline-wheel__viewport{background:linear-gradient(180deg, #000 0%, #0000 18%, #0000 82%, #000 100%), var(--color-surface-base);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);height:760px;position:relative;overflow:hidden}.project-timeline-wheel__axis{width:170px;transition:transform var(--motion-base) ease;will-change:transform;position:absolute;top:40px;left:0}.project-timeline-wheel__year{height:300px;padding-left:2px;position:relative}.project-timeline-wheel__year>span{color:#fff;font-family:var(--font-family-primary);font-size:18px;font-weight:300;line-height:1;display:block}.project-timeline-wheel__ticks{align-content:space-between;height:300px;display:grid;position:absolute;top:0;left:76px}.project-timeline-wheel__cards{position:absolute;inset:0}.project-timeline-card{background:var(--color-background-deep);border-radius:var(--radius-card);width:360px;height:210px;opacity:var(--timeline-card-opacity);filter:blur(var(--timeline-card-blur));transform:translate3d(var(--timeline-card-x), var(--timeline-card-y), 0) scale(var(--timeline-card-scale));transform-origin:50%;transition:opacity var(--motion-base) ease, filter var(--motion-base) ease, transform var(--motion-base) ease, border-color var(--motion-fast) ease;will-change:transform, opacity, filter;border:1px solid #ffffff24;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;top:0;left:0;overflow:hidden}.project-timeline-card:hover,.project-timeline-card:focus-visible{z-index:3;border-color:#ffffffd6;outline:none}.project-timeline-card__meta{min-height:34px;padding:var(--space-3) var(--grid-gap-sm) 0;color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;font-size:11px;line-height:1.35;display:flex}.project-timeline-card__media{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:96px;overflow:hidden}.project-timeline-card__media img,.project-timeline-card__media .content-image-placeholder{object-fit:cover;width:100%;height:100%;min-height:96px;filter:grayscale(calc(1 - var(--timeline-card-saturate))) brightness(var(--timeline-card-brightness));transition:filter var(--motion-base) ease, transform var(--motion-slow) ease}.project-timeline-card__copy{padding:var(--grid-gap-sm);gap:4px;display:grid}.project-timeline-card__copy h3{color:var(--color-text);font-size:17px;line-height:1.2}.project-timeline-card__copy p{color:var(--color-text-muted);text-transform:uppercase;font-size:10px;line-height:1.35}@media (prefers-reduced-motion:reduce){.project-timeline-wheel__axis,.project-timeline-card{transition:none}}@media (width<=980px){.project-timeline-wheel__viewport{border:0;height:auto;padding:0;overflow:visible}.project-timeline-wheel__axis{display:none}.project-timeline-wheel__cards{gap:var(--grid-gap-base);display:grid;position:static}.project-timeline-card{opacity:1;filter:none;width:100%;height:auto;min-height:360px;position:static;transform:none}.project-timeline-card__media,.project-timeline-card__media img,.project-timeline-card__media .content-image-placeholder{min-height:240px}}.project-timeline-wheel{--accent-orange:#d98245}.project-timeline-wheel__viewport{scrollbar-width:none;overscroll-behavior:contain;grid-template-columns:170px minmax(0,1fr);gap:clamp(34px,4vw,72px);height:760px;padding:42px 0 54px;display:grid;overflow:hidden auto}.project-timeline-wheel__axis{width:170px;min-height:1760px;position:relative;top:auto;left:auto;transform:none!important}.project-timeline-wheel__year,.project-timeline-wheel__ticks{height:220px}.project-timeline-wheel__list{align-content:start;gap:clamp(38px,5vw,72px);min-width:0;padding-right:2px;display:grid}.project-timeline-card{opacity:1;filter:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(320px,.44fr) minmax(0,1fr);align-items:center;gap:clamp(28px,3.4vw,56px);width:100%;height:auto;min-height:0;transition:none;display:grid;position:relative;overflow:visible;transform:none}.project-timeline-card:hover,.project-timeline-card:focus-visible{outline:none}.project-timeline-card__media{aspect-ratio:16/9;background:var(--color-background-deep);min-height:0;transition:border-color var(--motion-fast) ease;border:1px solid #ffffffd1;overflow:hidden}@media (width<=980px){.project-timeline-wheel__viewport{grid-template-columns:1fr;height:auto;padding:0;overflow:visible}.project-timeline-wheel__axis{display:none}.project-timeline-card{gap:var(--grid-gap-md);grid-template-columns:1fr}}.project-timeline-wheel{--accent-orange:#d98245;--timeline-card-height:190px;--timeline-border-neutral:#ffffff47;--timeline-axis-safe-left:clamp(48px, 4.2vw, 72px);--timeline-cards-left:clamp(260px, 19vw, 330px);margin-top:var(--grid-gap-xl)}.project-timeline-wheel__viewport{background:linear-gradient(180deg, #000 0%, #0000 16%, #0000 84%, #000 100%), var(--color-surface-base);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);scrollbar-width:none;perspective:1100px;overscroll-behavior:auto;height:760px;padding:0;display:block;position:relative;overflow:hidden auto}.project-timeline-wheel__viewport::-webkit-scrollbar{display:none}.project-timeline-wheel__stage{min-height:761px;transform-style:preserve-3d;position:relative}.project-timeline-wheel__spacer-label{z-index:1;color:#8a8a8a;text-align:center;white-space:nowrap;pointer-events:none;width:max-content;font-size:14px;line-height:1.2;position:absolute;left:50%;transform:translate(-50%,-50%)}.project-timeline-wheel__axis{inset:0 auto auto var(--timeline-axis-safe-left);width:170px;min-height:0;transform-style:preserve-3d;display:block;position:absolute}.project-timeline-wheel__year{width:156px;height:92px;opacity:var(--wheel-opacity);filter:blur(var(--wheel-blur));transform:translate3d(0, 0, var(--wheel-z)) rotateX(var(--wheel-rotate)) scale(var(--wheel-scale));transform-origin:0;transition:opacity var(--motion-fast) ease, filter var(--motion-fast) ease, transform var(--motion-fast) ease;will-change:transform, opacity, filter;grid-template-columns:62px 1fr;gap:14px;padding-left:2px;display:grid;position:absolute;left:0}.project-timeline-wheel__year>span{color:#fff;font-family:var(--font-family-primary);font-size:var(--wheel-year-font-size,18px);font-weight:300;line-height:1}.project-timeline-wheel__ticks{align-content:space-between;height:92px;display:grid;position:static}.project-timeline-wheel__ticks i{background:#fff3;width:18px;height:1px;display:block}.project-timeline-wheel__ticks i.is-half-year{background:#ffffff57;width:32px}.project-timeline-wheel__ticks i.is-year{background:#ffffffa3;width:56px}.project-timeline-wheel__cards{inset:0 0 auto var(--timeline-cards-left);transform-style:preserve-3d;position:absolute}.project-timeline-card{width:calc(100% - 2px);min-height:var(--timeline-card-height);opacity:var(--wheel-opacity);filter:blur(var(--wheel-blur));transform:translate3d(0, 0, var(--wheel-z)) rotateX(var(--wheel-rotate)) scale(var(--wheel-scale));transform-origin:50%;transition:opacity var(--motion-fast) ease, filter var(--motion-fast) ease, transform var(--motion-fast) ease;will-change:transform, opacity, filter;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(300px,.42fr) minmax(0,1fr);align-items:center;gap:clamp(26px,3vw,52px);display:grid;position:absolute;left:0;overflow:visible}.project-timeline-card:hover,.project-timeline-card:focus-visible{z-index:3;outline:none}.project-timeline-card:focus-visible .project-timeline-card__media{outline:2px solid var(--color-focus);outline-offset:5px}.project-timeline-card__media{aspect-ratio:16/9;background:var(--wheel-media-bg,#303030);border:1px solid var(--timeline-border-neutral);min-height:0;transition:background-color .3s ease, opacity .3s ease, transform .3s ease, border-color var(--motion-fast) ease;overflow:hidden}.project-timeline-card__media img,.project-timeline-card__media .content-image-placeholder{object-fit:cover;filter:none;width:100%;height:100%;min-height:0;transition:transform var(--motion-base) ease}.project-timeline-card:hover .project-timeline-card__media,.project-timeline-card:focus-visible .project-timeline-card__media{border-color:var(--accent-orange)}.project-timeline-card:hover .project-timeline-card__media img,.project-timeline-card:focus-visible .project-timeline-card__media img{filter:none;transform:scale(1.025)}.project-timeline-card__copy{text-align:left;gap:10px;min-width:0;padding:0;display:grid}.project-timeline-card__copy span{color:var(--color-text-muted);font-size:var(--font-size-label);line-height:1.25}.project-timeline-card__copy h3{color:var(--wheel-title-color,var(--color-text));font-size:clamp(27px,3vw,48px);line-height:var(--line-height-snug);transition:color var(--motion-fast) ease}.project-timeline-card:hover .project-timeline-card__copy h3,.project-timeline-card:focus-visible .project-timeline-card__copy h3{color:var(--accent-orange)}.project-timeline-card__copy .project-timeline-card__english{color:var(--color-text-soft);text-transform:none;font-size:clamp(13px,1.05vw,16px);line-height:1.35}.project-timeline-card__copy .project-timeline-card__intro{max-width:760px;color:var(--color-text-muted);font-family:var(--font-family-primary);font-size:var(--font-size-body-xs);text-transform:none;font-weight:300;line-height:1.68}.content-image-placeholder:after{content:"图片待替换"}@media (prefers-reduced-motion:reduce){.project-timeline-wheel__year,.project-timeline-card{transition:none}}@media (width<=980px){.project-timeline-wheel__viewport{perspective:none;border:0;height:auto;overflow:visible}.project-timeline-wheel__stage{height:auto!important}.project-timeline-wheel__axis{display:none}.project-timeline-wheel__spacer-label{position:static;transform:none}.project-timeline-wheel__cards{gap:var(--grid-gap-lg);display:grid;position:static}.project-timeline-card{opacity:1;filter:none;grid-template-columns:1fr;width:100%;position:static;transform:none}}.home-hero{--hero-edge-gap:40px;min-height:var(--section-min-height);background:var(--color-surface-base);color:var(--color-surface);position:relative;overflow:hidden}.home-hero__image,.home-hero__fallback,.home-hero__overlay{width:100%;height:100%;position:absolute;inset:0}.home-hero__image{z-index:1;object-fit:cover;object-position:center 34%;filter:grayscale()contrast(1.08);opacity:var(--hero-image-opacity)}.home-hero__fallback{z-index:0;background:linear-gradient(90deg, #ffffff14 1px, transparent 1px), linear-gradient(#ffffff14 1px, transparent 1px), var(--color-surface-muted);background-size:108px 108px}.home-hero__overlay{z-index:2;background:linear-gradient(90deg,#141513db,#1415137a 58%,#141513b8),linear-gradient(#14151333,#141513e0)}.home-hero__inner{z-index:3;width:min(calc(100% - var(--layout-section-inset)), var(--max-width));min-height:100vh;padding-top:calc(var(--header-height,72px) + var(--hero-edge-gap));padding-bottom:var(--hero-edge-gap);grid-template-rows:auto 1fr auto;align-items:stretch;margin:0 auto;display:grid;position:relative;overflow:visible}.home-hero__meta{z-index:10;color:#ffffffeb;letter-spacing:.02em;text-shadow:0 1px 16px #00000073;text-transform:uppercase;pointer-events:none;z-index:6;grid-template-columns:1fr 1fr;align-items:start;gap:16px;width:100%;font-size:clamp(12px,1vw,15px);font-weight:700;line-height:1.4;display:grid;position:relative}.home-hero__meta>:first-child{text-align:left;white-space:nowrap;justify-self:start}.home-hero__meta>:last-child{text-align:right;white-space:nowrap;justify-self:end}.home-hero__content{place-self:center start;gap:var(--hero-content-gap);width:min(calc(100vw - var(--layout-section-inset)), var(--max-width));z-index:3;max-width:none;display:grid;position:relative;overflow:visible}.home-hero__footer{flex-direction:column;place-self:end start;align-items:flex-start;gap:20px;display:flex}.home-hero h1,.home-hero__title{color:var(--color-surface);font-size:var(--font-size-hero-title)}.home-hero__title{width:100%;max-width:none;height:clamp(280px,28vw,500px);font-family:var(--font-family-primary);letter-spacing:0;text-align:left;text-transform:uppercase;color:#fff;cursor:default;z-index:4;margin:0;font-size:140px;font-weight:800;line-height:.86;display:block;position:relative;overflow:visible}.home-hero__particle-title{width:100%;height:100%;font-family:var(--font-family-primary);font-weight:800;position:absolute;inset:0;overflow:visible}.home-hero__particle-title canvas{width:100%;height:100%;display:block}.home-hero__title-static{color:#fff;font:inherit;line-height:inherit;letter-spacing:inherit;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0}.home-hero p{color:#d8d8d8c7;white-space:nowrap;max-width:none;font-size:clamp(14px,1.15vw,17px);line-height:1.55}.home-hero p.english-support{color:#d8d8d894;white-space:nowrap;max-width:none;font-size:clamp(12px,1vw,15px);line-height:1.5}.home-hero .hero-actions{gap:16px;margin-top:8px;display:flex}.home-hero .hero-actions a,.home-hero .hero-actions button,.home-hero .hero-actions .magnetic-button{color:#fff;background:0 0;border:1px solid #ffffff52;justify-content:center;align-items:center;width:auto;min-width:150px;height:52px;padding:0 20px;display:inline-flex}.home-hero .hero-actions a:hover,.home-hero .hero-actions button:hover,.home-hero .hero-actions .magnetic-button:hover,.home-hero .hero-actions a:focus-visible,.home-hero .hero-actions button:focus-visible,.home-hero .hero-actions .magnetic-button:focus-visible,.home-hero .hero-actions a:active,.home-hero .hero-actions button:active,.home-hero .hero-actions .magnetic-button:active{color:#000;background:#fff;border-color:#fff}.experience-image{border:1px solid var(--color-border);background:var(--color-background-deep);min-height:680px;overflow:hidden}.experience-image img{object-fit:cover;width:100%;height:100%}.experience-copy{justify-content:center;gap:var(--hero-content-gap);flex-direction:column;display:flex}.experience-copy h2,.wide-section-heading h2,.closing-contact h2{max-width:980px;font-size:var(--font-size-section-title);line-height:var(--line-height-heading)}.experience-copy p{max-width:780px;font-size:21px;line-height:1.72}.wide-section-description{max-width:760px;color:var(--color-text-soft);font-size:var(--font-size-section-desc);line-height:var(--line-height-body-relaxed);margin:-28px 0 56px}.closing-contact h2{color:var(--color-text)}.closing-contact p{max-width:var(--hero-intro-max-width);color:var(--color-text-soft);font-size:var(--font-size-md);line-height:var(--line-height-body)}.closing-contact .magnetic-button{color:var(--color-surface-base);background:var(--color-text);border-color:var(--color-text)}.process-section{padding-top:var(--section-padding-y-contact)}.hero-copy p,.page-hero p{max-width:650px;font-size:var(--font-size-body);line-height:var(--line-height-body)}.hero-panel{background:var(--color-surface-muted);border:1px solid var(--color-border);min-height:520px;box-shadow:var(--shadow-soft);flex-direction:column;justify-content:space-between;padding:28px;display:flex;position:relative;overflow:hidden}.hero-panel__topline{background:var(--color-text);width:100%;height:2px}.hero-panel__grid span{aspect-ratio:var(--ratio-hero-panel);border:1px solid var(--color-border-strong);background:linear-gradient(90deg, transparent 49%, #ffffff24 50%, transparent 51%), var(--color-surface-muted)}.hero-panel__grid span:nth-child(2),.hero-panel__grid span:nth-child(5){background:var(--color-text)}.hero-panel__caption{justify-content:space-between;gap:var(--grid-gap-md);color:var(--color-text-soft);font-size:var(--font-size-label);text-transform:uppercase;display:flex}.split-section h2{margin-top:var(--grid-gap-md)}.split-section p{font-size:var(--font-size-body-md);line-height:var(--line-height-body-relaxed)}.about-portrait{margin-top:var(--grid-gap-lg);aspect-ratio:var(--ratio-portrait);background:var(--color-background-deep);border:1px solid var(--color-border);overflow:hidden}.about-portrait img{object-fit:cover;width:100%;height:100%}.about-expression p{font-family:var(--font-display);font-size:clamp(32px,4vw,54px);line-height:1.12}.project-detail-hero{gap:var(--grid-gap-lg);display:grid}.project-detail-hero h1{margin-top:var(--space-4)}.project-detail-hero p{font-size:var(--font-size-body-md);line-height:var(--line-height-body)}.project-detail-hero__media{aspect-ratio:var(--ratio-project-hero);background:var(--color-background-deep);border:1px solid var(--color-border);overflow:hidden}.project-detail-hero__media img{object-fit:cover;width:100%;height:100%}.project-meta-list{border-top:1px solid var(--color-border);align-content:start;display:grid}.project-meta-list div{gap:var(--space-3);padding:var(--grid-gap-md) 0;border-bottom:1px solid var(--color-border);display:grid}.project-meta-list span{color:var(--color-text-muted);font-size:var(--font-size-label-sm);text-transform:uppercase}.project-meta-list strong{color:var(--color-text);font-size:var(--font-size-english);font-weight:500}.project-story-section+.project-story-section{margin-top:28px}.project-story p{font-size:var(--font-size-body-md);line-height:var(--line-height-body-loose)}@media (width<=980px){.hero-panel{min-height:420px}.experience-image{min-height:520px}}@media (width<=680px){.home-hero h1,.home-hero__title{font-size:var(--font-size-hero-title-mobile)}.home-hero__particle-title{display:none}.home-hero p{font-size:var(--font-size-hero-intro-mobile)}.home-hero__meta,.home-hero__content p,.home-hero__content .english-support{white-space:normal}.experience-image{min-height:420px}.hero-panel{min-height:340px;padding:var(--grid-gap-md)}.project-detail-hero__media{aspect-ratio:var(--ratio-project-hero-mobile)}}@media (prefers-reduced-motion:reduce){.home-hero__particle-title{display:none}}@media (width<=768px){.home-hero__particle-title{display:none}.home-hero__meta,.home-hero__content p,.home-hero__content .english-support{white-space:normal}}.about-page{gap:var(--section-padding-y-alt);display:grid}.about-hero-section{gap:var(--grid-gap-5xl);min-height:calc(100vh - var(--page-padding-top));padding-bottom:var(--section-padding-y-alt);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(360px,.52fr) minmax(0,1fr);align-items:start;display:grid}.about-hero-media{background:var(--color-background-deep);border:1px solid var(--color-border);border-radius:var(--radius-card);min-height:620px;overflow:hidden}.about-hero-media img{object-fit:cover;width:100%;height:100%}.about-hero-copy{align-content:start;gap:var(--grid-gap-lg);padding-top:var(--space-2);display:grid}.about-page-label{color:var(--color-text-muted);font-family:var(--font-display);font-size:clamp(34px,4vw,68px);line-height:var(--line-height-tight);text-transform:uppercase}.about-hero-copy h1{font-size:var(--font-size-2xl);line-height:var(--line-height-heading)}.about-hero-copy p{max-width:780px;font-size:var(--font-size-md);line-height:var(--line-height-body-relaxed)}.about-hero-copy p.english-support{max-width:680px;font-size:var(--font-size-english)}.about-location{gap:var(--space-3);width:fit-content;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:inline-grid}.about-location span,.about-position-card span{color:var(--color-text-muted);font-size:var(--font-size-label-sm);text-transform:uppercase}.about-location strong{color:var(--color-text);font-size:var(--font-size-body-sm);font-weight:500}.about-detail-section{gap:var(--grid-gap-4xl);display:grid}.about-position-card{gap:var(--grid-gap-md);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:34px;display:grid}.about-position-card h2{max-width:860px;font-size:clamp(36px,4vw,68px);line-height:var(--line-height-heading)}.about-position-card p{max-width:860px;font-size:var(--font-size-body-md);line-height:var(--line-height-body-relaxed)}.about-education-capabilities{gap:var(--grid-gap-xl);grid-template-columns:minmax(300px,.42fr) minmax(0,1fr);align-items:stretch;display:grid}.about-detail-group{align-content:start;gap:var(--grid-gap-md);min-width:0;display:grid}.about-education-stack{gap:var(--grid-gap-md);height:100%;display:grid}.about-capability-grid{gap:var(--grid-gap-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.about-capability-card{align-content:space-between;gap:var(--grid-gap-md);min-height:220px;padding:var(--grid-gap-lg);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);display:grid}.about-capability-card h3{font-family:var(--font-display);font-size:26px;line-height:var(--line-height-snug)}.about-capability-card small{color:var(--color-text-muted);font-size:var(--font-size-label-xs);line-height:var(--line-height-base);text-transform:uppercase}.about-capability-card p{font-size:var(--font-size-body-xs);line-height:var(--line-height-body);align-self:end}.about-tools-outputs{gap:var(--grid-gap-xl);grid-template-columns:minmax(300px,.36fr) minmax(0,1fr);align-items:start;display:grid}.about-tool-list{gap:var(--grid-gap-sm);flex-wrap:wrap;display:flex}.about-tool-list span{padding:var(--grid-gap-xs) var(--grid-gap-base);color:var(--color-text-soft);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);font-size:var(--font-size-body-xs)}.about-output-grid{gap:var(--grid-gap-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=980px){.about-hero-section,.about-education-capabilities,.about-tools-outputs{grid-template-columns:1fr}.about-hero-section{min-height:auto}.about-capability-grid,.about-output-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.about-hero-media{min-height:420px}.about-hero-copy p,.about-position-card p{font-size:var(--font-size-body-sm)}.about-capability-grid,.about-output-grid{grid-template-columns:1fr}}.project-showcase-block{gap:var(--grid-gap-lg);display:grid}.project-showcase-block--all{margin-top:clamp(96px,12vw,180px)}.project-section-heading{justify-items:start;gap:var(--space-3);text-align:left;max-width:980px;display:grid}.project-section-heading h2{color:var(--color-text);font-size:var(--font-size-section-title);line-height:var(--line-height-heading)}.project-section-heading span{color:var(--color-text-muted);font-size:var(--font-size-label);letter-spacing:.02em;text-transform:uppercase}.project-showcase-block .wide-section-description{margin:0 0 var(--grid-gap-md)}.project-showcase-block--all .wide-section-description{white-space:nowrap;max-width:none}@media (width<=980px){.project-showcase-block--all .wide-section-description{white-space:normal}}.project-detail-page{--page-bg:#fcfcfc;--detail-bg:var(--page-bg);--detail-text:#111;--detail-body:#333;--detail-muted:#777;--detail-line:#d8d8d8;--detail-disabled:#b8b8b8;background:var(--detail-bg);color:var(--detail-body)}.project-detail-page .project-detail-hero,.project-detail-page .project-detail-grid,.project-detail-page .project-gallery-section,.project-detail-page .project-detail-pagination{box-sizing:border-box;background:var(--detail-bg);width:min(78vw,1680px);margin-left:auto;margin-right:auto;padding-left:clamp(80px,6vw,160px)}.project-detail-page .project-detail-hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(36px,4.8vw,78px);padding-top:clamp(64px,6.5vw,112px);position:relative}.project-detail-page .project-detail-return{z-index:30;color:#555;width:fit-content;font-size:var(--font-size-label);border-bottom:0;align-items:center;gap:8px;line-height:1.2;transition:color .2s,transform .2s;display:inline-flex;position:fixed;top:50%;left:clamp(24px,2vw,48px);transform:translateY(-50%)}.project-detail-page .project-detail-return svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.6px;width:18px;height:18px;transition:transform .2s}.project-detail-page .project-detail-return:hover,.project-detail-page .project-detail-return:focus-visible{color:var(--detail-text);transform:translateY(-50%)translate(-4px)}.project-detail-page .project-detail-return:hover svg,.project-detail-page .project-detail-return:focus-visible svg{transform:translate(-2px)}.project-detail-page .project-detail-hero__copy,.project-detail-page .project-detail-hero__media{grid-column:1}.project-detail-page .project-detail-hero__copy{gap:var(--space-4);grid-template-columns:1fr;align-items:start;min-width:0;display:grid}.project-detail-page .project-detail-hero__copy>div,.project-detail-page .project-detail-hero__media{min-width:0}.project-detail-page .project-detail-hero__copy h1{max-width:100%;margin-top:var(--space-4);color:var(--detail-text);white-space:nowrap;font-size:clamp(48px,4.2vw,76px);font-weight:650;line-height:1.02;overflow:visible}.project-detail-page .project-detail-hero__copy .english-support{max-width:100%;margin-top:var(--space-3);text-overflow:ellipsis;white-space:nowrap;font-weight:300;overflow:hidden}.project-detail-page .project-hero-description{color:#111;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:20px;font-size:clamp(12px,.9vw,17px);font-weight:300;line-height:1.6;overflow:hidden}.project-detail-page h1,.project-detail-page h2,.project-detail-page h3,.project-detail-page .project-meta-list strong{color:var(--detail-text)}.project-detail-page p,.project-detail-page .project-story p{color:var(--detail-body)}.project-detail-page .section-label,.project-detail-page .english-support,.project-detail-page .project-meta-list span,.project-detail-page .project-gallery-group__heading span,.project-detail-page .project-gallery-item figcaption{color:var(--detail-muted)}.project-detail-page .project-detail-hero__media,.project-detail-page .project-gallery-item,.project-detail-page .markdown-image{border-color:var(--detail-line);background:#f0f0f0}.project-detail-page .project-detail-hero__media{aspect-ratio:16/8.2;width:100%}.project-detail-page .project-detail-grid,.project-detail-page .project-gallery-section,.project-detail-page .project-meta-list{border-top-color:var(--detail-line)}.project-detail-page .project-meta-list div,.project-detail-page .project-gallery-group__heading{border-bottom-color:var(--detail-line)}.project-detail-page .content-image-placeholder{color:var(--detail-muted);background:linear-gradient(90deg,#0000000f 1px,#0000 1px),linear-gradient(#0000000f 1px,#0000 1px),#f0f0f0}.project-detail-page .project-detail-grid{gap:var(--grid-gap-xl);grid-template-columns:minmax(0,1fr)}.project-detail-page .project-meta-list{gap:var(--grid-gap-md);border-top:1px solid var(--detail-line);grid-template-columns:minmax(180px,.28fr) minmax(0,1fr)}.project-detail-page .project-meta-list div{border-bottom:0}.project-detail-page .project-meta-list__category{text-align:right;justify-self:end;max-width:720px}.project-detail-page .project-meta-list__category strong+strong{margin-top:var(--space-2);color:#555;font-weight:400}.project-detail-page .project-story{max-width:920px}.project-story-section__english{margin-top:var(--space-2);color:var(--detail-muted);font-size:var(--font-size-label-sm);text-transform:uppercase;line-height:1.3;display:block}.project-result-card{border:1px solid var(--detail-line);width:auto;max-width:min(760px,100%);transition:transform var(--motion-base) ease, border-color var(--motion-base) ease, box-shadow var(--motion-base) ease, opacity var(--motion-base) ease;background:#fff;justify-content:flex-start;margin-top:clamp(32px,2.4vw,44px);margin-bottom:clamp(72px,5vw,96px);margin-left:0;display:inline-flex;overflow:hidden}.project-result-card:hover{cursor:pointer;opacity:.96;transform:translateY(var(--gallery-item-hover-lift));border-color:#111;box-shadow:0 18px 54px #00000029}.project-result-card img,.project-result-card .content-image-placeholder{object-fit:contain;width:auto;max-width:100%;height:clamp(260px,28vw,440px);max-height:none;display:block}.project-detail-pagination{gap:var(--grid-gap-md);padding:30px 0 var(--section-padding-y-alt);border-top:1px solid var(--detail-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-detail-pagination__item{gap:var(--space-3);min-height:116px;padding:var(--grid-gap-lg);color:var(--detail-body);border:1px solid var(--detail-line);transition:transform var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease, background-color var(--motion-fast) ease;display:grid}.project-detail-pagination__item:last-child{text-align:right}.project-detail-pagination__item span{color:var(--detail-muted);font-size:var(--font-size-label-sm)}.project-detail-pagination__item strong{color:inherit;font-size:var(--font-size-body-sm);font-weight:500}.project-detail-pagination__item:hover,.project-detail-pagination__item:focus-visible{color:var(--detail-text);border-color:var(--detail-text);background:#fff;outline:none;transform:scale(1.018)}.project-detail-pagination__item.is-disabled{color:var(--detail-disabled);border-color:var(--detail-line);pointer-events:none}.project-detail-pagination__item.is-disabled span,.project-detail-pagination__item.is-disabled strong{color:var(--detail-disabled)}@media (width<=980px){.project-detail-page .project-detail-hero{grid-template-columns:1fr}.project-detail-page .project-detail-hero__copy,.project-detail-page .project-detail-hero__media{grid-column:auto}.project-detail-page .project-detail-hero__copy h1{font-size:clamp(20px,5.3vw,42px)}.project-detail-page .project-meta-list{grid-template-columns:1fr}}@media (width<=1599px){.project-detail-page .project-detail-hero{gap:clamp(28px,4vw,54px);padding-top:clamp(42px,5vw,72px)}.project-detail-page .project-detail-hero__copy h1{font-size:clamp(42px,4.2vw,64px)}.experience-grid{grid-template-columns:minmax(340px,.5fr) minmax(0,1fr);gap:clamp(42px,5vw,68px)}.experience-image{min-height:clamp(480px,48vw,620px)}.experience-copy h2,.wide-section-heading h2,.closing-contact h2,.project-section-heading h2{font-size:clamp(42px,4vw,72px)}.experience-copy p{font-size:clamp(15px,1.05vw,20px)}}@media (width>=981px) and (width<=1439px){.project-detail-page .project-detail-hero,.project-detail-page .project-detail-grid,.project-detail-page .project-gallery-section,.project-detail-page .project-detail-pagination{width:min(78vw,1680px);margin-left:auto;margin-right:auto}}@media (width<=767px){html,body{overflow-x:hidden}.home-hero__content{width:100%}.project-detail-page{width:100%;max-width:none;padding-left:20px;padding-right:20px}.project-detail-page .project-detail-hero,.project-detail-page .project-detail-grid,.project-detail-page .project-gallery-section,.project-detail-page .project-detail-pagination{width:100%;margin:0;padding-left:0}.project-detail-page .project-detail-return{z-index:1;margin:28px 0 6px;position:relative;top:auto;left:auto;transform:none}.project-detail-page .project-detail-return:hover,.project-detail-page .project-detail-return:focus-visible{transform:translate(-4px)}.project-detail-page .project-detail-hero{gap:28px;padding-top:48px}.project-detail-page .project-detail-hero__copy h1{white-space:normal;font-size:clamp(34px,10vw,48px);line-height:1.08}.project-detail-page .project-detail-hero__copy .english-support,.project-detail-page .project-hero-description{text-overflow:clip;white-space:normal;overflow:visible}.project-detail-page .project-hero-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.7;display:-webkit-box}.project-detail-page .project-detail-hero__media{aspect-ratio:4/3;width:100%}.project-detail-page .project-meta-list{text-align:left;grid-template-columns:1fr;gap:0}.project-detail-page .project-meta-list__category{text-align:left;justify-self:start;max-width:100%}.project-detail-page .project-story{width:100%;max-width:none}.project-result-card{width:100%;max-width:100%}.project-result-card img,.project-result-card .content-image-placeholder,.project-gallery-item img,.project-gallery-item .content-image-placeholder{width:100%;max-width:100%;height:auto}}@media (width<=680px){.project-detail-pagination{grid-template-columns:1fr}.project-detail-pagination__item:last-child{text-align:left}}
