:root{--paper:#f3f1eb;--ink:#222320;--muted:#62645d;--line:#c9cbc2;--accent:#a94331;--dark:#171916;--white:#fff;--header-height:88px;color-scheme:light;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;color:var(--ink);background:var(--paper);font-size:16px;scroll-behavior:smooth;scroll-padding-top:110px}
*{box-sizing:border-box}body{margin:0}body.locked{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}button,a{touch-action:manipulation}button{border:0;background:none}p,h1,h2,h3{margin:0}p{line-height:1.85}h1,h2,h3{font-weight:500}h2{font-size:clamp(2rem,3.1vw,2.75rem);line-height:1.42;letter-spacing:-.035em}h3{font-size:1.375rem;line-height:1.5;letter-spacing:-.02em}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#d8c4bb;color:var(--ink)}[hidden]{display:none!important}.shell{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.skip-link{position:fixed;top:12px;left:16px;z-index:100;background:var(--paper);color:var(--ink);padding:12px 18px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;color:white}.header-inner{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff2b}.brand{width:134px;display:block;position:relative}.brand img{width:100%}.logo-dark{display:none}.desktop-nav{display:flex;gap:42px;align-items:center}.desktop-nav a{font-size:.9375rem;line-height:2.2;position:relative}.desktop-nav a:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover:after{transform:scaleX(1)}.site-header a:focus-visible,.site-header button:focus-visible{outline-color:#efc8b8}.menu-toggle{display:none}

.section{padding-block:110px}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:start;margin-bottom:66px}.section-index{font-size:.875rem;line-height:1.6;color:var(--muted);letter-spacing:.04em;padding-top:10px}.service-grid,.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.service{border-top:1px solid var(--line);padding-top:24px}.service-number{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:30px;font-variant-numeric:tabular-nums}.service h3{margin-bottom:16px}.service p{font-size:1.125rem;color:var(--muted);max-width:345px}.work-section{background:#e9e7e0;border-top:1px solid #deded5;border-bottom:1px solid #deded5}.compact{margin-bottom:58px;align-items:center}.project{border-top:1px solid #bfc1b7;padding:25px 0 0;display:flex;align-items:flex-start;flex-direction:column;min-height:230px}.project-category{font-size:.875rem;color:var(--muted);margin-bottom:25px}.project h3{font-size:1.875rem;font-weight:500;margin-bottom:12px;letter-spacing:-.035em}.project-description{font-size:1.0625rem;line-height:1.8;color:var(--muted);margin-bottom:32px}.text-link{min-height:44px;display:inline-flex;align-items:center;gap:20px;font-size:.9375rem;line-height:1.7;color:var(--accent);padding:4px 0;border-bottom:1px solid transparent;transition:border-color .18s}.text-link:hover{border-bottom-color:currentColor}.text-link span{font-size:1.1875rem}.project .text-link{margin-top:auto}.about{display:grid;grid-template-columns:1fr 2fr;gap:32px}.about h2{margin-top:22px}.about-line{font-size:.875rem;color:var(--muted);margin-top:32px;letter-spacing:.06em}.principles{border-top:1px solid var(--line)}.principles article{display:flex;gap:35px;padding:29px 0;border-bottom:1px solid var(--line)}.principles article>span{font-size:.8125rem;color:var(--muted);line-height:2.2;font-variant-numeric:tabular-nums}.principles h3{font-size:1.25rem;margin-bottom:9px}.principles p{font-size:1.0625rem;color:var(--muted)}
.contact-section{border-top:1px solid var(--line)}.contact-inner{padding-block:73px 80px}.contact-grid{display:grid;grid-template-columns:1fr 2fr;gap:32px;margin-top:31px;align-items:start}.contact-grid h2{font-size:2.75rem}.email-address{display:inline-block;font-size:clamp(1.25rem,2.6vw,2.25rem);line-height:1.55;letter-spacing:-.035em;overflow-wrap:anywhere;max-width:100%}.email-address:hover{color:var(--accent)}.contact-actions{display:flex;gap:32px;align-items:center;flex-wrap:wrap;margin-top:23px}.copy-email{min-height:44px;font-size:.9375rem;color:var(--muted);padding:6px 0;border-bottom:1px solid transparent;line-height:1.7}.copy-email:hover{border-color:var(--muted)}.copy-status{font-size:.875rem;color:var(--muted);min-height:1.9em;margin-top:12px}.site-footer{display:flex;align-items:center;gap:32px;justify-content:space-between;border-top:1px solid var(--line);min-height:126px;padding-block:32px}.site-footer img{width:102px}.site-footer p{color:var(--muted);font-size:.875rem}.site-footer small{color:var(--muted);font-size:.8125rem;white-space:nowrap}
.project-dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(740px,calc(100% - 48px));max-height:calc(100svh - 64px);margin:auto;overscroll-behavior:contain;overflow:auto}.project-dialog::backdrop{background:rgba(15,18,14,.65)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 36px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:1}.dialog-top p{font-size:.875rem;color:var(--muted)}.dialog-close{font-family:Arial,sans-serif;width:44px;height:44px;display:grid;place-items:center;font-size:2rem;line-height:1;padding:0}.dialog-close:hover{color:var(--accent)}.dialog-close:focus-visible{outline-offset:-3px}.dialog-content{padding:32px 36px 40px}.dialog-content h2{font-size:2rem;line-height:1.5}.dialog-intro{color:var(--muted);font-size:1rem;white-space:pre-line;margin-top:12px}.dialog-content section{margin-top:30px}.dialog-content h3{font-size:1.125rem;margin-bottom:9px}.dialog-content section p{font-size:1rem;white-space:pre-line}.dialog-contact{margin-top:34px}

@media(max-width:1000px){.shell{width:calc(100% - 64px)}.section{padding-block:88px}.section-heading,.about,.contact-grid{grid-template-columns:1fr 2fr;gap:26px}.service-grid,.project-grid{gap:26px}.service h3{font-size:1.25rem}.service p{font-size:1rem}.project h3{font-size:1.625rem}.project-description{font-size:1rem}.site-footer{gap:20px;flex-wrap:wrap}.site-footer p{font-size:.8125rem}}
@media(max-width:767px){:root{--header-height:74px;scroll-padding-top:24px}.shell{width:calc(100% - 48px)}.brand{width:112px}.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:14px;font-size:.875rem;min-width:72px;min-height:44px;padding:0;justify-content:flex-end}.menu-symbol{width:22px;display:grid;gap:6px}.menu-symbol i{display:block;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-symbol i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-symbol i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-header.menu-open{position:fixed;background:var(--dark);height:100svh;overflow:auto}.mobile-menu{display:flex;flex-direction:column;padding:42px 24px 70px;gap:0}.mobile-menu a{font-size:2rem;padding:20px 0;border-bottom:1px solid #ffffff29}.section{padding-block:66px}.section-heading,.about,.contact-grid{display:block}.section-heading{margin-bottom:40px}.section-index{padding-top:0;font-size:.8125rem;margin-bottom:22px}.section-heading h2{font-size:2rem;line-height:1.5}.service-grid,.project-grid{grid-template-columns:1fr;gap:34px}.service{padding-top:20px}.service-number{margin-bottom:17px}.service h3{font-size:1.25rem;margin-bottom:12px}.service p{font-size:1rem;max-width:none}.compact{margin-bottom:32px}.project{padding-top:22px;min-height:0}.project-category{font-size:.875rem;margin-bottom:20px}.project h3{font-size:1.625rem;margin-bottom:9px}.project-description{font-size:1rem;margin-bottom:22px}.project .text-link{margin-top:0}.about h2{font-size:2rem;margin-top:0}.about h2 br{display:none}.about h2 span{display:inline-block;margin-inline-start:.25em}.about-line{margin-top:17px}.principles{margin-top:37px}.principles article{padding:24px 0;gap:22px}.principles h3{font-size:1.125rem;margin-bottom:7px}.principles p{font-size:1rem}.contact-inner{padding-block:56px 38px}.contact-grid{margin-top:0}.contact-grid h2{font-size:2rem;margin-bottom:28px}.email-address{font-size:clamp(1rem,4.6vw,1.5rem);letter-spacing:-.03em}.contact-actions{gap:24px;margin-top:19px}.copy-status{margin-top:14px}.site-footer{padding-block:28px 33px;gap:20px;align-items:flex-start}.site-footer>a{flex-basis:100%}.site-footer img{width:91px}.site-footer p{font-size:.8125rem;flex-basis:100%}.site-footer small{font-size:.75rem}.project-dialog{width:calc(100% - 24px);max-height:calc(100svh - 32px)}.dialog-top{padding:10px 20px}.dialog-content{padding:25px 22px 32px}.dialog-content h2{font-size:1.5rem}.dialog-content section{margin-top:24px}}
@media(max-width:359px){.shell{width:calc(100% - 40px)}.contact-actions{column-gap:20px}.copy-email,.text-link{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.service{display:flex;flex-direction:column;align-items:flex-start}.service p{flex:1}.service-detail-link{margin-top:25px}
