:root{--paper:#f6f3ed;--ink:#352f2a;--muted:#70675d;--line:#d8d1c5;--sand:#eae4d9;--olive:#303e36;--serif:Georgia,'Times New Roman','Yu Mincho','Hiragino Mincho ProN','Songti SC','Songti TC','Noto Serif CJK JP',serif;--sans:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Hiragino Sans','PingFang SC','Microsoft JhengHei',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.9 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid #967851;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.45;letter-spacing:.025em;text-wrap:balance}h1{font-size:clamp(35px,4.6vw,68px)}h2{font-size:clamp(27px,3vw,43px)}h3{font-size:26px}p{color:var(--muted)}img{display:block;width:100%;height:100%;object-fit:cover}::selection{background:#d6c5a8;color:#302d28}.skip{position:absolute;top:-100px;left:12px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:10px}.masthead{height:112px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 5.5%;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,serif;font-size:31px;line-height:1.2;letter-spacing:.19em;text-align:center;justify-self:center}.wordmark span{display:block;font:9px/1 var(--sans);letter-spacing:.28em;padding-top:9px}.menu-toggle{display:flex;position:relative;align-items:center;gap:9px;background:none;border:0;padding:14px 0;width:max-content;cursor:pointer}.menu-toggle span{position:absolute;left:0;width:20px;height:1px;background:var(--ink);transition:transform .25s;top:20px}.menu-toggle span:nth-child(2){top:27px}.menu-toggle b{font-size:11px;font-weight:400;letter-spacing:.12em;margin-left:33px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.languages{justify-self:end;display:flex;align-items:center;gap:19px;font-size:11px;letter-spacing:.04em}.languages a{padding:10px 0;opacity:.6}.languages a[aria-current]{opacity:1;border-bottom:1px solid var(--ink)}.navigation{display:none;padding:28px 6%;background:var(--sand);gap:48px;justify-content:center;border-bottom:1px solid var(--line)}.navigation.open{display:flex}.navigation a{font-family:var(--serif);font-size:20px}.hero{height:min(800px,82vh);min-height:590px;position:relative;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;object-position:65% 50%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,33,32,.67),rgba(20,34,29,.22) 62%,rgba(0,0,0,.06)),linear-gradient(0deg,rgba(12,30,31,.24),transparent 55%)}.hero-content{position:relative;padding:115px 8% 80px;max-width:1000px}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.23em;line-height:1.7;text-transform:uppercase}.hero .eyebrow{color:#eee6d8;margin-bottom:27px}.hero h1{line-height:1.5;letter-spacing:.055em}.hero-lead{color:#f4eee5;max-width:485px;margin:30px 0 34px;font-size:14px;line-height:2.15}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-width:155px;padding:10px 0;border-bottom:1px solid #a9957a;font-size:12px;letter-spacing:.05em;transition:gap .2s}.text-link:hover{gap:60px}.text-link span{font-size:18px}.text-link.light{color:white;border-color:#d4c7ad}.hero-signature{position:absolute;bottom:29px;right:5.5%;font-size:9px;letter-spacing:.24em;color:#f0e6d6}.section{padding:105px 8%;max-width:1600px;margin:auto}.measure{max-width:610px;margin:auto}.introduction{text-align:center;padding-top:116px;padding-bottom:92px}.introduction h2{margin:20px 0 30px}.introduction .measure{line-height:2.2}.ornament{display:block;font-size:18px;color:#9c8261;margin-top:43px}.section-title{max-width:700px;margin-bottom:55px}.section-title h2{margin:15px 0 22px}.section-title p:not(.eyebrow){max-width:575px}.expertise{border-top:1px solid var(--line);padding-top:83px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:78px 6%}.service-card:nth-child(even){padding-top:80px}.photo-link{display:block;position:relative;aspect-ratio:1.47;overflow:hidden}.photo-link img{transition:transform .7s}.photo-link:hover img{transform:scale(1.035)}.photo-number{position:absolute;bottom:16px;left:20px;font-family:Georgia,serif;font-size:28px;color:white;text-shadow:0 1px 7px #000}.service-copy{padding-top:25px}.service-copy .eyebrow{font-size:9px}.service-copy h3{margin:9px 0 15px}.service-copy>p:not(.eyebrow){max-width:460px;font-size:14px}.service-copy .text-link{margin-top:20px}.estate-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--olive);color:#f4efe7}.estate-image{min-height:660px}.estate-copy{padding:83px 13% 65px}.estate-copy .eyebrow{color:#c4bba8}.estate-copy h2{font-size:clamp(29px,2.8vw,41px);margin:27px 0}.estate-copy>p:not(.eyebrow){color:#d8d9d1;line-height:2.1;font-size:14px}.estate-copy .text-link{margin:24px 0 45px}.location-line{display:block;font-size:9px;letter-spacing:.17em;color:#bdbdab}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.steps article{border-top:1px solid var(--line);padding-top:25px}.num{font-family:Georgia,serif;font-size:15px;color:#9c8261}.steps h3{font-size:24px;margin:12px 0}.steps p{font-size:14px;max-width:320px}.contact{background:var(--sand);text-align:center;max-width:none;padding-top:88px;padding-bottom:88px}.contact h2{margin:16px 0 20px}.contact .measure{max-width:580px}.button{display:inline-flex;align-items:center;gap:40px;background:var(--ink);color:var(--paper);padding:15px 27px;margin-top:33px;font-size:12px;letter-spacing:.04em;transition:background .2s}.button:hover{background:#554736}.email{display:block;width:fit-content;margin:19px auto 0;font-size:13px}.email-note{font-size:11px;margin:23px auto 0;max-width:570px}footer{padding:55px 6% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-top .wordmark{font-size:25px}.footer-top p,.footer-top>a:last-child{font-size:11px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;margin-top:44px;display:flex;justify-content:space-between;gap:30px;font-size:9px;color:var(--muted)}.footer-bottom>span:nth-child(2){max-width:580px}.footer-bottom>a{font-size:20px;line-height:1}.service-hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px}.service-heading{padding:50px 12% 70px 16%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.back{font-size:11px;margin-bottom:44px;color:var(--muted)}.service-heading .eyebrow{font-size:9px}.service-name{font-size:13px;color:var(--ink);margin-top:20px}.service-heading h1{font-size:clamp(30px,3.6vw,53px);margin:16px 0 25px;line-height:1.5}.service-heading>p:not(.eyebrow):not(.service-name){font-size:14px}.service-heading .text-link{margin-top:24px}.service-hero-image{min-height:620px}.service-intro{display:grid;grid-template-columns:1fr 2fr;gap:10%;border-bottom:1px solid var(--line);padding-top:80px;padding-bottom:80px}.service-intro>p:last-child{font-family:var(--serif);font-size:22px;line-height:2;color:var(--ink)}.scope{display:grid;grid-template-columns:1fr 1.5fr;gap:9%}.scope-heading h2{margin-top:20px}.scope-list article{display:flex;gap:28px;border-top:1px solid var(--line);padding:29px 0}.scope-list h3{font-size:24px;margin-bottom:13px}.scope-list p{font-size:14px}.statement{text-align:center;background:var(--olive);padding:73px 12%;color:#eee8db}.statement>p{font:clamp(23px,2.3vw,35px)/1.7 var(--serif);color:inherit}.statement small{display:block;max-width:730px;margin:22px auto 0;color:#c3c8bc;font-size:11px;line-height:1.9}.related{padding-top:70px;padding-bottom:70px}.related>.eyebrow{margin-bottom:26px}.related>a{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid var(--line);font:24px/1.6 var(--serif)}html[lang=en] h1{letter-spacing:-.025em;line-height:1.18}html[lang=en] h2{letter-spacing:-.025em;line-height:1.25}html[lang=en] .hero h1{font-size:clamp(45px,5.5vw,79px)}html[lang=en] .service-heading h1{font-size:clamp(35px,4vw,60px)}html[lang=en] .service-heading{padding-right:10%}@media(min-width:1600px){.hero-content{padding-left:calc((100vw - 1344px)/2)}.hero{max-height:850px}.estate-copy{max-width:700px}}@media(max-width:950px){.masthead{padding:0 5%;height:94px}.languages{gap:13px}.section{padding:75px 6%}.hero-content{padding:90px 7% 60px}.hero{min-height:570px}.estate-image{min-height:570px}.estate-copy{padding:65px 10%}.service-heading{padding:45px 10%}.service-hero-image{min-height:570px}.service-intro{gap:7%}.steps{gap:28px}.scope{gap:6%}.footer-top{flex-wrap:wrap}.service-grid{gap:45px 5%}.service-card:nth-child(even){padding-top:55px}}@media(max-width:650px){.masthead{height:90px;grid-template-columns:1fr 1fr 1fr;padding:0 5%}.wordmark{font-size:24px}.wordmark span{font-size:7px;padding-top:6px}.menu-toggle b{display:none}.menu-toggle{width:24px;height:44px}.languages{gap:9px;font-size:10px}.languages a{padding:9px 0}.languages a[lang=ja]{font-size:9px}.navigation.open{flex-direction:column;gap:18px;padding:25px 7%}.navigation a{font-size:21px}.hero{height:720px;max-height:calc(100svh - 90px);min-height:565px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(17,36,33,.58),rgba(17,36,33,.27)),linear-gradient(0deg,rgba(16,37,34,.45),transparent)}.hero-content{padding:105px 7% 55px}.hero h1{font-size:33px;letter-spacing:.025em}.hero .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:26px}.hero-lead{font-size:12px;line-height:2;max-width:335px;margin:24px 0}.hero-signature{font-size:8px;bottom:24px}.section{padding:68px 7%}.introduction{padding-top:76px}.introduction h2{font-size:29px}.measure{font-size:14px}.section-title{margin-bottom:34px}.section-title h2{font-size:28px}.service-grid{grid-template-columns:1fr;gap:44px}.service-card:nth-child(even){padding-top:0}.service-copy{padding-top:19px}.service-copy h3{font-size:26px}.service-copy .text-link{margin-top:12px}.photo-link{aspect-ratio:1.45}.estate-feature{grid-template-columns:1fr}.estate-image{min-height:0;height:310px}.estate-copy{padding:48px 7% 50px}.estate-copy h2{font-size:30px}.estate-copy .text-link{margin-bottom:35px}.steps{grid-template-columns:1fr;gap:27px}.steps article{display:grid;grid-template-columns:35px 1fr;column-gap:8px;padding-top:20px}.steps h3{margin:0 0 10px;font-size:24px}.steps p{grid-column:2;max-width:none}.contact h2{font-size:31px}.contact .measure{font-size:14px}.footer-top{flex-direction:column;align-items:flex-start;gap:23px}.footer-top .wordmark{align-self:flex-start}.footer-bottom{flex-wrap:wrap;gap:18px}.footer-bottom>span:nth-child(2){order:3;width:100%;font-size:9px}.service-hero{display:flex;flex-direction:column}.service-heading{padding:30px 7% 44px}.back{margin-bottom:34px}.service-heading h1{font-size:35px;margin:14px 0 20px}.service-heading .text-link{margin-top:21px}.service-hero-image{min-height:0;height:320px}.service-intro{display:block;padding-top:55px;padding-bottom:55px}.service-intro>.eyebrow{margin-bottom:22px}.service-intro>p:last-child{font-size:20px;line-height:1.95}.scope{display:block}.scope-heading{margin-bottom:34px}.scope-heading h2{font-size:29px}.scope-list article{gap:20px}.scope-list h3{font-size:23px}.statement{padding:54px 7%}.statement small{font-size:11px}.related>a{font-size:21px}.email-note{font-size:10px}html[lang=en] .hero h1{font-size:43px}html[lang=en] .hero-lead{font-size:13px}html[lang=en] .hero-content{padding-top:95px}html[lang=en] .service-heading h1{font-size:39px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.languages a{white-space:nowrap;flex-shrink:0}@media(max-width:360px){.masthead{padding:0 4%}.wordmark{font-size:20px;letter-spacing:.15em}.wordmark span{font-size:6px}.languages{gap:7px;font-size:9px}.languages a[lang=ja]{font-size:8px}.hero h1{font-size:29px}html[lang=en] .hero h1{font-size:37px}.hero-content{padding-top:78px}}

/* Use one locale-appropriate CJK family before Japanese or Latin fallbacks. */
html[lang="zh-Hans"]{--serif:"Songti SC","Noto Serif CJK SC","Noto Serif SC","SimSun",serif}
html[lang="zh-Hant"]{--serif:"Songti TC","Noto Serif CJK TC","Noto Serif TC","PMingLiU",serif}
