/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", "PingFang SC", "Hiragino Sans GB", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-semibold:600;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:#fbf6f2;--color-ink:#1f211e;--font-display:"Iowan Old Style", "Baskerville", "Songti SC", "STSong", serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.flex{display:flex}.h-full{height:100%}.min-h-dvh{min-height:100dvh}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.items-center{align-items:center}.justify-between{justify-content:space-between}.bg-paper{background-color:var(--color-paper)}.font-display{font-family:var(--font-display)}.text-\[1\.2rem\]{font-size:1.2rem}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.text-ink{color:var(--color-ink)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#1f211e;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fbf6f2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#fbf6f2;min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #397253}.font-display{font-family:var(--font-display)}.site-shell{width:min(100% - 10.4vw,1710px);margin-inline:auto}.site-header{z-index:50;background:#fbf6f2f5;border-bottom:1px solid #d8d0c2d1;height:68px;position:fixed;inset:0 0 auto}.header-actions,.site-nav{align-items:center;display:flex}.header-actions{gap:34px}.site-nav{gap:28px}.nav-link{color:#44443f;align-items:center;height:68px;padding:0;font-size:14px;line-height:1;transition:color .16s;display:inline-flex;position:relative}.nav-link:hover,.nav-link.active{color:#397253}.nav-link:after{content:"";transform-origin:0;background:#397253;height:1px;transition:transform .16s;position:absolute;inset:auto 0 14px;transform:scaleX(0)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.locale-switch{color:#89867e;align-items:center;gap:7px;height:68px;font-size:12px;line-height:1;display:flex}.locale-switch .active{color:#1f211e;font-weight:600}.mobile-menu-button{background:0 0;border:1px solid #d8d0c2;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.mobile-menu{background:#fbf6f2;border-bottom:1px solid #d8d0c2;padding:10px 20px 20px}.mobile-nav-link{font-family:var(--font-display);border-bottom:1px solid #ddd5c9;padding:15px 2px;font-size:21px;display:block}.menu-enter-active,.menu-leave-active{transition:opacity .15s,transform .15s}.menu-enter-from,.menu-leave-to{opacity:0;transform:translateY(-8px)}.hero-section{border-bottom:1px solid #d8d0c2;height:100svh;min-height:0;padding-top:68px;position:relative;overflow:hidden}.hero-layout{grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);align-items:start;gap:0;height:calc(100svh - 68px);min-height:0;padding-block:clamp(108px,18svh,200px) 54px;display:grid}.hero-copy{z-index:2;max-width:760px;position:relative}.hero-title{font-family:"Songti SC","STSong",var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(4rem,min(6vw,10.5svh),7.2rem);font-weight:500;line-height:1.22}.headline-line{width:fit-content;display:block}@media (min-width:768px){.mobile-menu-button{display:none}}.headline-emphasis{white-space:nowrap;padding-bottom:.08em;position:relative}.headline-emphasis:after{content:"";border-top:2px solid #397253;border-radius:48% 52% 45% 55%;height:5px;position:absolute;bottom:0;left:.02em;right:.02em;transform:rotate(-.8deg)skew(-10deg)}.hero-intro{color:#52534d;max-width:690px;margin:clamp(24px,4.5svh,52px) 0 0;font-size:clamp(.96rem,1.3vw,1.08rem);line-height:1.9}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:clamp(44px,5.6svh,72px);display:flex}.button{border:1px solid #1f211e;border-radius:4px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 24px;font-size:14px;font-weight:600;transition:transform .16s,background-color .16s,color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#fffdf8;background:#1f211e}.button-primary:hover{background:#397253;border-color:#397253}.button-secondary{color:#1f211e;background:0 0}.button-secondary:hover{background:#ebe4d8}.hero-visual{height:100%;min-height:0;position:relative}.hero-portrait{position:absolute;top:-52px;bottom:auto;left:1%}.hero-portrait img{width:auto;height:min(70svh,740px);display:block}.hero-process{color:#77736b;width:150px;font-family:Kaiti SC,STKaiti,cursive;position:absolute;top:45px;left:76%;transform:rotate(-1.5deg)}.process-steps{justify-items:center;gap:26px;margin:0;padding:0;list-style:none;display:grid}.process-steps li{text-align:center;min-width:86px;font-size:20px;line-height:1;position:relative}.process-steps li>span{border:1px solid #68655fb3;border-radius:46% 54% 43% 57%/16% 20% 14% 18%;padding:8px 12px 7px;display:block;position:relative}.process-steps li>span:after{content:"";border-top:1px solid #68655f59;border-bottom:1px solid #68655f47;border-radius:52% 48% 55% 45%;position:absolute;top:-3px;right:2px;bottom:1px;left:-2px;transform:rotate(-1.8deg)}.process-steps li:nth-child(odd){transform:rotate(-2.2deg)translate(-2px)}.process-steps li:nth-child(2n){transform:rotate(1.6deg)translate(3px)}.process-steps li:not(:last-child):after{content:"";border-left:1px solid #68655fa6;border-radius:50%;width:2px;height:18px;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)rotate(2deg)}.process-steps li:not(:last-child):before{content:"";border-bottom:1px solid #68655fb3;border-right:1px solid #68655fb3;width:7px;height:7px;position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%)rotate(45deg)}.process-check{color:#397253;font-size:20px;font-weight:400;position:absolute;bottom:3px;right:-22px}.hero-process p{letter-spacing:.08em;text-align:center;margin:36px 0 0;font-size:19px;line-height:1.8}.hero-process p:after{content:"";border-top:1.5px solid #68655fa6;width:92px;margin:4px auto 0;display:block;transform:rotate(-2deg)}.scroll-cue{z-index:3;color:#676860;letter-spacing:.11em;flex-direction:column;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.scroll-cue svg{animation:1.8s ease-in-out infinite scroll-cue}@keyframes scroll-cue{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}@media (max-width:820px){.hero-layout{grid-template-rows:auto minmax(230px,1fr);grid-template-columns:1fr;gap:8px;height:calc(100svh - 68px);min-height:0;padding-block:24px 46px}.hero-title{font-size:clamp(2.8rem,10.8vw,4.4rem)}.hero-intro{max-width:620px;margin-top:15px;font-size:.9rem;line-height:1.6}.hero-actions{margin-top:34px}.hero-visual{min-height:230px;overflow:visible}.hero-portrait{height:min(34svh,300px);inset:10px auto auto 4%}.hero-portrait img{width:auto;height:100%}.hero-process{width:92px;top:8%;left:auto;right:4%}.process-steps{gap:14px}.process-steps li{min-width:52px;font-size:14px}.process-steps li>span{padding:4px 8px 3px}.process-steps li:not(:last-child):after{height:11px}.process-steps li:not(:last-child):before{top:calc(100% + 7px)}.hero-process p{margin-top:17px;font-size:11px;line-height:1.6}}@media (max-width:520px){.site-shell{width:min(100% - 28px,1280px)}.hero-title{letter-spacing:-.025em;font-size:clamp(2.42rem,10.2vw,2.85rem);line-height:1.01}.hero-intro{max-width:350px;font-size:.79rem}.button{min-height:42px;padding-inline:18px}.hero-layout{grid-template-rows:auto minmax(210px,1fr);padding-top:22px}.hero-visual{min-height:210px}.hero-portrait{height:min(36svh,290px);top:14px;left:-1%}.hero-process{transform-origin:100% 0;top:8px;right:0;transform:rotate(-1.5deg)scale(.9)}.scroll-cue{gap:5px;font-size:9px;bottom:12px}}.works-section{padding-block:clamp(88px,11vw,150px)}.section-heading{margin-bottom:clamp(28px,3vw,40px)}.section-number{color:#397253;letter-spacing:.18em;margin:0 0 16px;font-size:10px;font-weight:700}.section-heading h2{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(3rem,5vw,5rem);font-weight:600;line-height:1}.section-heading>p{color:#62635c;align-self:end;margin:0;font-size:15px;line-height:1.8}.project-list{gap:18px;display:grid}.project-card{--project-accent:#397253;background:#fffdf861;border:1px solid #d8d0c2;border-radius:6px;grid-template-columns:minmax(0,1.14fr) minmax(340px,.86fr);min-height:400px;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid;overflow:hidden}.project-card:hover{border-color:var(--project-accent);transform:translateY(-3px);box-shadow:0 24px 60px #312b221a}.project-card-reverse{grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr)}.project-card-reverse .project-media{order:2}.project-card-reverse .project-content{order:1}.project-media{background:#f5efe7;border:1px solid #d8d0c2cc;border-radius:4px;min-width:0;margin:14px;padding:18px;overflow:hidden}.project-media img{object-fit:cover;border:1px solid #4e49422e;border-radius:3px;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.75,.25,1);box-shadow:0 16px 38px #3730281f}.project-card:hover .project-media img{transform:scale(1.025)}.project-content{flex-direction:column;min-width:0;padding:clamp(34px,4vw,52px);display:flex}.project-index{color:var(--project-accent);font-family:var(--font-display);margin-bottom:clamp(34px,4vw,52px);font-size:30px;font-style:italic}.project-kicker{color:#77766f;letter-spacing:.13em;text-transform:uppercase;flex-wrap:wrap;gap:8px;margin:0 0 12px;font-size:10px;font-weight:700;display:flex}.project-title{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(2.3rem,4vw,4.2rem);font-weight:600;line-height:1}.project-tagline{color:#3f403a;margin:17px 0 0;font-size:17px;line-height:1.55}.project-summary{color:#6b6b64;margin:22px 0 0;font-size:14px;line-height:1.75}.project-role{color:#848179;letter-spacing:.04em;border-top:1px solid #d8d0c2b8;margin:auto 0 0;padding-top:18px;font-size:11px}.project-link{width:fit-content;color:var(--project-accent);border-bottom:1px solid;align-items:center;gap:9px;margin-top:18px;padding-bottom:5px;font-size:13px;font-weight:700;display:inline-flex}.project-card-dark{color:#f6f0e6;background:#171a1e;border-color:#34362f}.project-card-dark .project-kicker,.project-card-dark .project-summary,.project-card-dark .project-role{color:#b4b0a8}.project-card-dark .project-media,.project-card-dark .project-role{border-color:#f6f0e62e}.project-card-dark .project-tagline{color:#ebe5da}@media (max-width:960px){.project-card,.project-card-reverse{grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);min-height:380px}.project-card-reverse{grid-template-columns:minmax(300px,.78fr) minmax(0,1fr)}}@media (max-width:760px){.works-section{padding-block:80px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:40px}.section-heading h2{font-size:3.4rem}.project-card,.project-card-reverse{grid-template-columns:1fr;min-height:0}.project-card .project-media,.project-card-reverse .project-media{aspect-ratio:16/9;order:1;margin:10px;padding:10px}.project-card .project-content,.project-card-reverse .project-content{order:2;padding:28px 24px 30px}.project-index{margin-bottom:24px}.project-title{font-size:2.65rem}.project-summary{margin-top:16px}.project-role{margin-top:24px}}.project-card-strip{background-color:#f8f3eb;background-image:var(--project-cover);background-position:50%;background-size:cover;border:1px solid #d8d0c2;border-radius:4px;min-height:240px;display:block;position:relative;overflow:hidden}.project-card-strip:before{-webkit-backdrop-filter:blur(2px)saturate(.96);backdrop-filter:blur(2px)saturate(.96);content:"";background:linear-gradient(90deg,#fbf7f0e0,#fbf7f0b8 43%,#fbf7f04d 69%,#fbf7f014);position:absolute;top:0;right:0;bottom:0;left:0}.project-card-strip .project-content{z-index:1;justify-content:space-between;width:min(62%,850px);min-height:240px;padding:18px clamp(28px,3.2vw,52px);position:relative}.project-card-topline,.project-card-footer{justify-content:space-between;align-items:center;gap:24px;display:flex}.project-card-strip .project-index{flex:none;margin:0;font-size:25px}.project-card-strip .project-kicker{justify-content:flex-end;margin:0}.project-card-main{margin-block:10px}.project-title-line{flex-wrap:wrap;align-items:baseline;gap:8px 18px;display:flex}.project-card-strip .project-title{font-size:clamp(2.5rem,3.6vw,3.75rem)}.project-card-strip .project-tagline{color:#3f403a;max-width:min(100%,500px);font-family:var(--font-display);margin:0;font-size:clamp(.95rem,1.12vw,1.12rem);line-height:1.35}.project-card-strip .project-summary{color:#6b6b64;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:560px;margin:9px 0 0;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.project-card-strip .project-link{flex:none;margin:0}.project-preview{z-index:1;background:#fffdf8c7;border:1px solid #d8d0c2eb;border-radius:3px;width:clamp(280px,19.5vw,360px);margin:0;position:absolute;top:18px;bottom:18px;right:clamp(24px,4.5vw,76px);overflow:hidden;box-shadow:0 12px 30px #3730281a,inset 0 0 0 8px #fffdf842}.project-preview img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.75,.25,1);display:block}.project-card-strip:hover .project-preview img{transform:scale(1.018)}.project-card-strip.project-card-dark{background-color:#111925}.project-card-strip.project-card-dark:before{background:linear-gradient(90deg,#0c121dd6,#0c121db3 43%,#0c121d5c 71%,#0c121d1a)}.project-card-strip.project-card-dark .project-tagline{color:#f4eee4}.project-card-strip.project-card-dark .project-summary{color:#d5d1c9}@media (max-width:1080px) and (min-width:761px){.project-card-strip,.project-card-strip .project-content{min-height:232px}.project-card-strip .project-content{width:64%;padding-inline:28px}.project-card-strip .project-title{font-size:2.9rem}.project-card-strip .project-tagline{font-size:.95rem}.project-preview{width:280px;top:16px;bottom:16px;right:20px}}@media (max-width:760px){.project-card-strip,.project-card-strip .project-content{min-height:0}.project-card-strip{background-position:62%;flex-direction:column;display:flex}.project-card-strip:before{background:linear-gradient(90deg,#fbf7f0e6,#fbf7f0bf 64%,#fbf7f038)}.project-card-strip.project-card-dark:before{background:linear-gradient(90deg,#0c121de0,#0c121db3 66%,#0c121d38)}.project-card-strip .project-content{order:0;width:100%;padding:24px 22px 16px}.project-card-strip .project-kicker{font-size:9px}.project-card-strip .project-title{font-size:2.55rem}.project-card-strip .project-tagline{font-size:1rem}.project-card-strip .project-summary{margin-top:10px;font-size:12px}.project-card-footer{align-items:end;margin-top:18px}.project-preview{aspect-ratio:16/9;order:1;width:auto;height:auto;margin:0 22px 22px;position:relative;top:auto;bottom:auto;right:auto}}.project-detail{padding-top:68px}.detail-hero{min-height:0;padding-block:28px 96px}.back-link{color:#65665f;align-items:center;gap:8px;font-size:13px;display:inline-flex}.detail-stage{grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(38px,6vw,82px);margin-top:68px;display:grid}.detail-stage-copy h1{font-family:var(--font-display);letter-spacing:-.07em;margin:0;font-size:clamp(4.2rem,6.4vw,6.8rem);font-weight:600;line-height:.9}.detail-tagline{color:#4f504a;font-family:var(--font-display);margin:28px 0 0;font-size:clamp(1.45rem,2.2vw,2.25rem);line-height:1.25}.detail-summary{color:#696961;margin:20px 0 0;font-size:14px;line-height:1.8}.detail-meta{border-top:1px solid #d8d0c2;border-bottom:1px solid #d8d0c2;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px;padding-block:18px;display:grid}.detail-meta>div{align-content:start;gap:8px;display:grid}.detail-meta span{color:#858178;letter-spacing:.13em;text-transform:uppercase;font-size:10px}.detail-meta strong{font-size:13px;font-weight:500;line-height:1.6}.detail-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.detail-image{--project-accent:#397253;aspect-ratio:16/9;background:#f5efe6;border:1px solid #d8d0c2;border-radius:4px;padding:18px;overflow:hidden}.detail-image img{object-fit:cover;border:1px solid #4e49422e;border-radius:2px;width:100%;height:100%;box-shadow:0 16px 38px #3730281f}.detail-image-dark{background:#171a1e}.detail-story{border-top:1px solid #d8d0c2;padding-block:clamp(88px,11vw,150px)}.story-grid{grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,130px);display:grid}.story-grid h2,.capabilities h2{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2.4rem,4.2vw,4.2rem);font-weight:500}.story-grid article>p:last-child{color:#55564f;margin:26px 0 0;font-size:16px;line-height:1.95}.capabilities{margin-top:clamp(80px,11vw,150px)}.capabilities ol{border-top:1px solid #d8d0c2;grid-template-columns:1fr 1fr;margin:48px 0 0;padding:0;list-style:none;display:grid}.capabilities li{min-height:110px;font-family:var(--font-display);border-bottom:1px solid #d8d0c2;grid-template-columns:46px 1fr;align-items:center;padding:22px 26px 22px 0;font-size:20px;display:grid}.capabilities li:nth-child(odd){border-right:1px solid #d8d0c2}.capabilities li:nth-child(2n){padding-left:28px}.capabilities li span{color:#397253;font-family:var(--font-sans);font-size:10px;font-weight:700}.project-pagination{border-top:1px solid #d8d0c2;padding-block:52px}.project-pagination .site-shell{grid-template-columns:1fr 1fr;gap:40px;display:grid}.pagination-link{align-items:center;gap:16px;display:inline-flex}.pagination-link-next{text-align:right;justify-self:end}.pagination-link span{gap:4px;display:grid}.pagination-link small{color:#858178;letter-spacing:.12em;text-transform:uppercase;font-size:10px}.pagination-link strong{font-family:var(--font-display);font-size:22px;font-weight:500}.not-found{text-align:center;place-items:center;min-height:calc(100svh - 69px);padding-top:68px;display:grid}.not-found .site-shell{max-width:680px}.not-found img{object-fit:cover;mix-blend-mode:multiply;border-radius:50%;width:220px;height:220px;margin-inline:auto}.not-found h1{font-family:var(--font-display);letter-spacing:-.05em;margin:24px 0 0;font-size:clamp(3rem,7vw,6rem);font-weight:600}.not-found p{color:#65665f;max-width:520px;margin:18px auto 30px;line-height:1.8}@media (max-width:760px){.detail-stage,.story-grid{grid-template-columns:1fr}.detail-hero{min-height:0;padding-block:20px 46px}.detail-stage{gap:30px;min-height:0;margin-top:24px}.detail-stage-copy h1{font-size:4rem;line-height:.94}.detail-meta{grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.detail-actions{margin-top:22px}.detail-image{width:100%}.capabilities ol{grid-template-columns:1fr}.capabilities li:nth-child(odd){border-right:0}.capabilities li:nth-child(2n){padding-left:0}.project-pagination .site-shell{gap:18px}.pagination-link strong{font-size:17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.about-section{background-color:#0000;background-image:linear-gradient(#4f4d460b 1px,#0000 1px),linear-gradient(90deg,#4f4d460b 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:72px 72px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-top:1px solid #d8d0c2;padding-block:clamp(94px,11vw,150px)}.about-heading{border-bottom:1px solid #d8d0c2;padding-bottom:22px}.about-title{max-width:900px;font-family:"Songti SC","STSong",var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2.8rem,5.2vw,5.2rem);font-weight:500;line-height:1.08}.about-title-mobile{display:none}.about-title-mobile i{font-style:normal;display:block}.about-body{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:clamp(42px,8vw,112px);padding-top:clamp(38px,5vw,64px);display:grid}.about-lead{color:#4b4c46;font-family:var(--font-display);margin:0;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.75}.about-principles{border-top:1px solid #d8d0c2;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.about-principles article{border-right:1px solid #d8d0c2;min-height:220px;padding:22px 24px 24px}.about-principles article:first-child{border-left:1px solid #d8d0c2}.about-principles span{color:#858178;letter-spacing:.14em;text-transform:uppercase;font-size:10px}.about-principles h3{font-family:var(--font-display);margin:46px 0 0;font-size:20px;font-weight:500}.about-principles p{color:#696962;margin:14px 0 0;font-size:13px;line-height:1.7}.contact-section{color:#f3ecdf;background-color:#121714;position:relative;overflow:hidden}.contact-grid{grid-template-rows:1fr auto;grid-template-columns:minmax(0,.56fr) minmax(360px,.44fr);align-items:start;column-gap:clamp(36px,6vw,96px);min-height:clamp(650px,100svh - 122px,820px);padding-block:clamp(72px,8vw,112px) 56px;display:grid;position:relative}.contact-portrait{pointer-events:none;width:min(43vw,530px);position:absolute;bottom:102px;right:clamp(4%,8vw,12%)}.contact-portrait img{width:100%;height:auto;display:block}.contact-copy{z-index:1;max-width:660px;position:relative}.contact-copy .section-number{color:#8fbea0}.contact-copy h2{font-family:"Songti SC","STSong",var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(4.6rem,7.5vw,7.2rem);font-weight:500;line-height:.9}.contact-copy h2 span{display:block}.contact-copy>p{color:#beb9b0;max-width:440px;margin:36px 0 0;font-size:15px;line-height:1.9}.contact-links{z-index:2;grid-column:1;justify-self:start;align-items:stretch;width:fit-content;margin-top:40px;display:flex;position:relative}.contact-link{color:#f3ecdf;font-family:var(--font-display);border-bottom:1px solid #f3ecdf3d;justify-content:flex-start;align-items:center;gap:14px;padding-block:22px 18px;font-size:clamp(1.15rem,1.55vw,1.55rem);transition:color .16s;display:flex}.contact-link:hover{color:#9fd0ae}.email-link:hover svg{transform:translate(6px)}.email-link svg{color:#9fd0ae;transition:transform .16s}.wechat-link{border-left:1px solid #f3ecdf2e;gap:12px;margin-left:26px;padding-left:26px}.wechat-link svg{color:#9fd0ae}.wechat-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121714ad;place-items:center;padding:24px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.wechat-dialog{background:#fff;border:1px solid #1f211e2e;border-radius:14px;padding:12px;position:relative;box-shadow:0 24px 80px #0a0d0b52}.wechat-dialog img{object-fit:contain;border-radius:8px;width:min(360px,78vw);max-height:calc(100svh - 72px);display:block}.wechat-dialog-close{z-index:1;color:#1f211e;background:#ffffffe6;border:1px solid #1f211e24;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:16px;right:16px}.wechat-dialog-enter-active,.wechat-dialog-leave-active{transition:opacity .18s}.wechat-dialog-enter-active .wechat-dialog,.wechat-dialog-leave-active .wechat-dialog{transition:transform .18s}.wechat-dialog-enter-from,.wechat-dialog-leave-to{opacity:0}.wechat-dialog-enter-from .wechat-dialog,.wechat-dialog-leave-to .wechat-dialog{transform:translateY(10px)scale(.98)}.site-footer{z-index:1;color:#5f5d57;background:#f6f0e8;margin-top:-1px;padding-block:82px 34px;position:relative}.site-footer:before{content:"";pointer-events:none;background:url(/media/contact-torn-edge.png) bottom/100% 100% no-repeat;height:96px;position:absolute;bottom:calc(100% - 20px);left:0;right:0}.footer-layout{justify-content:space-between;align-items:center;gap:24px;font-size:13px;display:flex}.footer-link{transition:color .15s}.footer-link:hover{color:#397253}@media (max-width:760px){.about-section{background-size:44px 44px;padding-block:78px}.about-heading,.about-body{grid-template-columns:1fr;gap:26px}.about-title{font-size:clamp(2.55rem,12vw,3.5rem)}.about-principles{grid-template-columns:1fr}.about-principles article,.about-principles article:first-child{border-bottom:1px solid #d8d0c2;border-left:0;border-right:0;min-height:0;padding:20px 0}.about-principles h3{margin-top:18px}.contact-grid{grid-template-rows:auto 1fr auto;grid-template-columns:1fr;gap:0;min-height:680px;padding-block:64px 42px}.contact-portrait{width:min(58vw,310px);bottom:104px;right:0}.contact-copy{grid-area:1/1}.contact-copy h2{font-size:clamp(3rem,13vw,4.2rem)}.contact-copy>p{margin-top:22px;font-size:14px}.contact-links{grid-area:3/1;margin-top:28px}.contact-link{padding-block:17px 15px;font-size:clamp(1rem,4.2vw,1.2rem)}.wechat-link{gap:10px;margin-left:20px;padding-left:20px}}@media (max-width:520px){.scroll-mt-20{scroll-margin-top:64px}.site-header{height:64px}.site-header .site-shell{width:calc(100% - 48px)}.locale-switch{gap:6px;height:64px;font-size:10px}.header-actions{gap:12px}.site-nav{gap:10px}.nav-link{height:64px;padding:0;font-size:10px}.hero-section{min-height:100svh;padding-top:64px}.hero-layout{width:calc(100% - 48px);height:calc(100svh - 64px);min-height:0;padding:0;display:block;position:relative}.hero-copy{position:absolute;top:clamp(54px,7.8svh,66px);left:0;right:0}.hero-title{font-size:clamp(2.2rem,9.25vw,2.65rem);line-height:1.04}.headline-emphasis:after{border-top-width:1.5px;height:3px}.hero-intro{max-width:310px;margin-top:30px;font-size:.8rem;line-height:1.75}.hero-actions{gap:10px;margin-top:22px}.button{border-radius:3px;min-height:40px;padding-inline:17px;font-size:12px}.hero-visual{height:auto;min-height:0;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.hero-portrait{height:min(36.7svh,296px);top:clamp(318px,47.2svh,378px);bottom:auto;left:0;transform:none}.hero-process{transform-origin:100% 0;width:92px;top:clamp(326px,48.4svh,386px);left:auto;right:0;transform:rotate(-1.5deg)}.process-steps{justify-items:center;gap:15px;width:auto;display:grid}.process-steps li{min-width:58px;font-size:13px}.process-steps li>span{padding:5px 9px 4px}.process-steps li:not(:last-child):after{border-top:0;border-left:1px solid #68655f94;width:2px;height:10px;top:calc(100% + 2px);left:50%;transform:translate(-50%)rotate(2deg)}.process-steps li:not(:last-child):before{border-bottom:1px solid #68655fa6;border-right:1px solid #68655fa6;width:6px;height:6px;top:calc(100% + 7px);left:50%;transform:translate(-50%)rotate(45deg)}.process-check{font-size:16px;right:-16px}.hero-process p{margin-top:18px;font-size:11px;line-height:1.6}.scroll-cue{gap:4px;font-size:8px;bottom:22px}.works-section{padding-block:64px 78px}.section-heading{gap:18px;margin-bottom:32px}.section-heading h2{font-size:3rem}.section-heading>p{font-size:13px;line-height:1.75}.project-list{gap:12px}.project-card-strip{background-position:64%;border-radius:3px}.project-card-strip .project-content{padding:18px 20px}.project-card-strip .project-index{font-size:21px}.project-card-strip .project-kicker{text-align:right;max-width:68%;font-size:7px;line-height:1.5}.project-card-main{margin-block:14px}.project-card-strip .project-title{font-size:2.55rem}.project-card-strip .project-tagline{max-width:100%;margin:0;font-size:14px;line-height:1.45}.project-card-strip .project-summary{font-size:11px}.project-preview{margin:0 20px 20px}.project-card-strip .project-link{gap:6px;font-size:11px}.about-section{padding-block:64px 72px}.about-heading{gap:18px;padding-bottom:28px}.about-title{max-width:360px;font-size:clamp(2.35rem,10vw,2.7rem);line-height:1.08}.about-title-desktop{display:none}.about-title-mobile{display:block}.about-body{gap:28px;padding-top:28px}.about-lead{font-size:15px;line-height:1.8}.about-principles article,.about-principles article:first-child{grid-template-columns:34px minmax(0,1fr);gap:8px 12px;padding-block:18px;display:grid}.about-principles h3{margin:0;font-size:18px}.about-principles p{grid-column:2;margin:0;font-size:12px}.contact-grid{grid-template-rows:auto 1fr auto;gap:0;width:calc(100% - 48px);min-height:642px;padding-block:48px 34px}.contact-copy h2{font-size:clamp(3.45rem,14vw,3.85rem);line-height:.91}.contact-copy>p{max-width:290px;margin-top:28px;font-size:13px;line-height:1.85}.contact-portrait{width:min(64vw,278px);bottom:92px;right:-10px}.contact-links{width:100%;margin-top:0}.contact-link{padding-block:17px 15px;font-size:.92rem}.email-link svg{width:22px;height:22px}.wechat-link{gap:10px;min-width:104px;margin-left:14px;padding-left:16px;font-size:.82rem}.wechat-dialog-backdrop{padding:18px}.wechat-dialog{padding:8px}.wechat-dialog img{width:min(340px,100vw - 52px);max-height:calc(100svh - 52px)}.site-footer{padding-block:72px 30px}.site-footer:before{background-size:auto 100%;height:74px;bottom:calc(100% - 18px)}.footer-layout{flex-direction:column;align-items:flex-start;gap:14px;width:calc(100% - 48px);font-size:12px;line-height:1.7}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
