:root{color-scheme:light;--cream:#f7f4ec;--forest:#1f2f27;--ink:#28362e;--charcoal:#333;--gold:#c8a96a;--muted:#58635a;--line:#d6d5c8;--serif:Georgia,'Times New Roman','Songti TC','Noto Serif TC',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang TC','Microsoft JhengHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.8}a{color:inherit;text-underline-offset:.35em}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}button{font:inherit}img{max-width:100%;height:auto}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:absolute;top:-5rem;left:1rem;padding:.6rem 1rem;background:var(--forest);color:white;z-index:10}.skip-link:focus{top:1rem}.site-header{min-height:116px;display:flex;align-items:center;gap:2.5rem;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.9rem;text-decoration:none;flex-shrink:0}.brand img{width:47px}.brand-name{font-family:var(--serif);font-size:1.06rem;letter-spacing:.17em;line-height:1.25}.brand-chinese{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.25em;margin-top:.4rem}.site-header nav{display:flex;gap:2rem;margin-left:auto;font-size:.875rem}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.language-control{display:flex;align-items:center;gap:.35rem;font-size:.875rem}.language-control span{color:#979e93}.language-control button{min-height:44px;min-width:36px;border:0;background:none;padding:0 .15rem;color:var(--muted);cursor:pointer}.language-control button[aria-pressed=true]{color:var(--forest);text-decoration:underline;text-underline-offset:.35em;font-weight:600}.hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;min-height:680px;gap:5rem;padding-top:72px;padding-bottom:84px}.eyebrow{font-size:.8rem;letter-spacing:.18em;font-weight:500;margin:0 0 1.7rem;line-height:1.6}.hero h1{font-family:var(--serif);font-size:clamp(2.45rem,3.6vw,3.7rem);line-height:1.5;letter-spacing:.025em;font-weight:400;margin:0 0 1.9rem}.hero h1 span{display:block}.hero-description{color:var(--muted);max-width:33rem;margin:0 0 2rem;line-height:2}.button{display:inline-block;background:var(--forest);color:var(--cream);padding:.78rem 1.85rem;border:1px solid var(--forest);text-decoration:none;font-size:.9375rem;transition:background .2s}.button:hover{background:#384b3e}.hero-identity{text-align:center;padding:1rem 1.2rem 0;position:relative}.hero-emblem{width:100%;max-width:340px;display:block;margin:0 auto 1.6rem}.identity-title{font-family:var(--serif);font-size:clamp(1.4rem,2vw,2rem);letter-spacing:.25em;margin:0 0 .35rem;padding-left:.25em}.identity-subtitle{font-size:.9rem;letter-spacing:.15em;margin:0}.gold-rule{display:block;width:60px;height:1px;background:var(--gold);margin:1.8rem auto 0}.section{padding-top:90px;padding-bottom:96px}.services{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;margin-bottom:3.3rem}.section-heading .eyebrow{margin:0}h2{font-family:var(--serif);font-size:clamp(1.9rem,2.7vw,2.6rem);font-weight:400;line-height:1.6;letter-spacing:.02em;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.service{border-top:1px solid var(--gold);padding-top:1.35rem;display:flex;flex-direction:column}.service-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.8rem;font-size:.8rem;letter-spacing:.15em;color:var(--muted)}.service-number{font-family:var(--serif);font-style:italic;font-size:1.25rem;letter-spacing:0}.service h3{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1.5;margin:0 0 .4rem}.service-subtitle{font-size:.875rem;color:var(--muted);margin:0 0 1.2rem}.service>p:not(.service-subtitle){max-width:32rem;margin:0 0 1.6rem;color:var(--charcoal)}.text-link{align-self:flex-start;margin-top:auto;font-size:.9rem;padding:.25rem 0}.text-link:hover{color:#6d582f}.about{background:var(--forest);color:var(--cream)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.about .eyebrow{color:var(--gold)}.about h2{white-space:pre-line;line-height:1.7}.about-copy{padding-top:.2rem;color:#e0e4dc}.about-copy p{margin:0 0 1.2rem;line-height:2}.about-copy p:last-child{margin-bottom:0}.contact{text-align:center;padding-top:102px;padding-bottom:108px}.contact .eyebrow{margin-bottom:1rem}.contact>p:not(.eyebrow){color:var(--muted);margin:1.2rem auto 1.9rem;max-width:38rem}.email-link{font-family:var(--serif);font-size:clamp(1.6rem,3.8vw,2.6rem);text-decoration-thickness:1px;text-decoration-color:var(--gold);overflow-wrap:anywhere}.email-link:hover{text-decoration-color:var(--forest)}.site-footer{padding-top:1.6rem;padding-bottom:1.6rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.75rem;letter-spacing:.07em}.site-footer p{margin:0}.site-footer p span{margin-left:1.3rem}.site-footer a{font-size:.875rem}html[lang=en] .hero h1{line-height:1.2;letter-spacing:-.02em;font-size:clamp(2.8rem,4.6vw,4.7rem)}html[lang=en] .section-heading h2{font-size:2rem}html[lang=en] .hero .eyebrow{letter-spacing:.1em}
@media(min-width:1450px){.hero{min-height:740px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:2rem;min-height:620px}.site-header{gap:1.5rem}.site-header nav{gap:1.2rem}.hero h1{font-size:2.5rem}.service-grid,.about-grid{gap:3rem}.hero-emblem{max-width:290px}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:1rem}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{min-height:90px;gap:1rem;flex-wrap:wrap;justify-content:space-between;padding-top:19px;padding-bottom:12px}.brand-name{font-size:.95rem}.brand img{width:39px}.brand-chinese{font-size:.75rem}.language-control{margin-left:auto}.site-header nav{order:3;width:100%;margin:0;justify-content:space-between;gap:1rem;padding-top:4px}.site-header nav a{padding:5px 0;min-height:36px}.hero{grid-template-columns:1fr;gap:3rem;padding-top:56px;padding-bottom:58px;min-height:auto}.hero-copy{max-width:36rem}.hero h1{font-size:clamp(1.9rem,6.65vw,3rem);line-height:1.6;margin-bottom:1.2rem}.hero .eyebrow{font-size:.75rem;margin-bottom:1.4rem}.hero-description{margin-bottom:1.7rem}.hero-identity{padding:1.7rem 0 .5rem}.hero-emblem{max-width:205px;margin-bottom:1.1rem}.identity-title{font-size:1.45rem}.identity-subtitle{font-size:.8rem}.gold-rule{margin-top:1.3rem}.section{padding-top:60px;padding-bottom:64px}.section-heading{margin-bottom:2rem}h2{font-size:1.85rem}.service-grid,.about-grid{grid-template-columns:1fr;gap:2.5rem}.service h3{font-size:1.8rem}.service-topline{margin-bottom:1.1rem}.service>p:not(.service-subtitle){max-width:none}.about-grid{gap:1.7rem}.about h2{font-size:2rem}.contact{padding-top:68px;padding-bottom:72px}.contact>p:not(.eyebrow){max-width:26rem}.site-footer{align-items:flex-start}.site-footer p span{display:block;margin:.25rem 0 0}.site-footer a{flex-shrink:0}html[lang=en] .hero h1{font-size:clamp(2.65rem,9.5vw,4rem)}html[lang=en] .hero .eyebrow{max-width:24rem;line-height:1.8}html[lang=en] .section-heading h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.ada-bio{display:grid;grid-template-columns:1fr 1.45fr;gap:4rem;margin-top:72px;padding-top:48px;border-top:1px solid var(--line)}.bio-heading .eyebrow{margin-bottom:.8rem}.bio-role{font-size:.875rem;color:var(--muted);margin:.65rem 0 0}.bio-copy p{margin:0 0 1rem;line-height:2}.bio-copy p:last-child{margin-bottom:0}.service h3{overflow-wrap:anywhere}html[lang=en] .service h3{font-size:1.85rem}@media(max-width:1050px){.service-grid{gap:2rem}.ada-bio{gap:2rem}html[lang=en] .service h3{font-size:1.7rem}}@media(max-width:760px){.service-grid{grid-template-columns:1fr;gap:2.5rem}.ada-bio{grid-template-columns:1fr;gap:1.5rem;margin-top:48px;padding-top:38px}.bio-role{max-width:26rem}}

/* Portraits remain original files; framing and monochrome are presentation only. */
.person-bio{display:grid;grid-template-columns:200px minmax(0,.8fr) minmax(0,1.45fr);gap:2.5rem;align-items:center;margin-top:56px;padding-top:48px;border-top:1px solid var(--line)}
.portrait-frame{width:200px;background:#e4e3dd}
.portrait-frame .portrait{display:block;width:100%;height:auto;max-width:100%}

.portrait-frame .portrait-james{filter:grayscale(1)}
.james-bio .bio-copy{max-width:34rem}.story-photo{float:right;width:160px;margin:.3rem 0 1rem 1.8rem}.story-photo img{display:block;width:100%;height:auto}.story-photo figcaption{font-family:var(--serif);font-size:.8rem;letter-spacing:.06em;color:var(--gold);margin-top:.45rem}.about-copy:after{content:"";display:block;clear:both}
@media(max-width:1050px){.person-bio{grid-template-columns:180px minmax(0,1fr);gap:1.25rem 2rem}.portrait-frame{width:180px;grid-row:span 2}.person-bio .bio-heading{align-self:end}.person-bio .bio-copy{grid-column:2;align-self:start}.story-photo{float:none;width:150px;margin:0 0 1.4rem}}
@media(max-width:760px){.person-bio{grid-template-columns:120px minmax(0,1fr);gap:1.6rem 1.3rem;margin-top:44px;padding-top:36px}.portrait-frame{width:120px;grid-row:auto}.person-bio .bio-heading{align-self:center}.person-bio h2{font-size:1.75rem}.person-bio .eyebrow{font-size:.7rem;margin-bottom:.4rem}.person-bio .bio-role{font-size:.78rem;line-height:1.7}.person-bio .bio-copy{grid-column:1/-1}.story-photo{float:right;width:120px;margin:.3rem 0 .8rem 1.2rem}}
@media(max-width:360px){.person-bio{grid-template-columns:104px minmax(0,1fr);gap:1.25rem 1rem}.portrait-frame{width:104px}.person-bio h2{font-size:1.5rem}.story-photo{float:none;width:140px;margin:0 0 1.4rem}}

.bio-details{margin-top:1.2rem}.bio-details summary{display:list-item;width:fit-content;cursor:pointer;font-size:.9rem;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.35em;padding:.3rem 0}.bio-details summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}.bio-details-content{padding-top:1.2rem}.bio-details-content p{font-size:.9375rem}.person-bio:has(.bio-details[open]){align-items:start}

/* Company lettering preserved as six outlined glyphs from the supplied Baoli SC wordmark. */
.brand img.brand-chinese{display:block;width:9.2rem;height:auto;margin-top:.45rem}.identity-wordmark{display:block;width:15rem;height:auto;margin:.75rem auto 0}.footer-wordmark{display:inline-block;width:8rem;height:auto;vertical-align:middle}@media(max-width:760px){.brand img.brand-chinese{width:8.4rem}.identity-wordmark{width:13.5rem}}
