:root{--navy:#053e60;--blue:#053e60;--light:#f2f2f2;--gold:#e0d1ab;--line:#ccc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:"Futura Std",Futura,"Century Gothic",Arial,sans-serif;color:var(--navy);background:#fff}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #006666;outline-offset:5px}img{max-width:100%;display:block}p{font-size:1rem;line-height:1.65}header{height:100px;max-width:1600px;margin:auto;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:white}.brand img{width:210px;height:auto;max-height:65px;object-fit:contain}nav{display:flex;align-items:center;gap:34px;font-size:.875rem}nav>a{padding:12px 0}nav>a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.language{position:relative;padding-left:22px;border-left:1px solid var(--line)}summary{cursor:pointer}.language>div{position:absolute;right:0;top:28px;background:white;border:1px solid var(--line);padding:16px;min-width:135px;z-index:3}.language a{display:block;padding:8px 0}.menu-toggle{display:none}.hero{background:var(--navy);color:#fff;display:grid;grid-template-columns:46% 54%;position:relative}.hero-copy{padding:64px 10% 60px 12%}.eyebrow,.section-label,.tag{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:600}.eyebrow{color:#c2c9d2;margin:0 0 38px}h1{font-size:clamp(7rem,12vw,12rem);letter-spacing:-.075em;line-height:.85;margin:0;font-weight:500}h1>span:first-child{font-size:.24em;letter-spacing:.19em;display:block;margin:0 0 28px 6px}.plus{color:var(--gold);font-weight:300}.hero-line{font-size:clamp(1.2rem,1.65vw,1.55rem);line-height:1.5;margin:28px 0 30px}.button{display:inline-block;border:1px solid #a2adba;padding:15px 25px;font-size:.875rem;transition:.2s}.button:hover{background:white;color:var(--navy)}.hero-photo{margin:0;position:relative;min-height:610px;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% center}.hero-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(4,17,35,.8))}.hero-photo figcaption{position:absolute;bottom:38px;left:36px;z-index:1;line-height:1.5;font-size:1rem}.hero-photo figcaption span{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;margin-bottom:12px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #ffffff25;padding:22px 5.5%;font-size:.75rem;letter-spacing:.045em;color:#c4ced9}.section{padding:90px 5.5%;max-width:1600px;margin:auto}.section-label{margin-bottom:35px;color:#657285}h2{font-size:clamp(2.5rem,4.4vw,4.25rem);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:0}h3{font-weight:400}.client-intro,.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.client-intro h2{font-size:2.25rem}.client-intro p{margin:0;color:#697384}.logos{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.logos img{height:130px;width:100%;object-fit:contain;padding:25px 30px;mix-blend-mode:multiply;border-right:1px solid var(--line)}.logos img:last-child{border:0}.text-link{font-size:.875rem;padding-bottom:6px;border-bottom:1px solid #8592a3;display:inline-block}.expertise{background:var(--light);max-width:none}.section-heading>p{color:#657285;margin:0 0 5px;min-width:230px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:60px}.services article{border-top:1px solid #aab3be;padding-top:22px}.number{font-size:.875rem;color:#758294}.services h3{font-size:1.85rem;line-height:1.18;letter-spacing:-.03em;margin:28px 0 20px}.services p{color:#556276;max-width:340px}.services details{border-top:1px solid #ccd1d8;margin-top:30px;padding-top:20px}.services summary{font-size:.875rem}.services ul{padding-left:18px;font-size:.95rem;line-height:1.75;color:var(--blue)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px;margin-top:48px}.project.featured{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto 1fr;column-gap:48px;align-items:start}.featured .project-image{grid-row:1/4;aspect-ratio:1.9}.featured .tag{margin-top:30px}.project-image{overflow:hidden;aspect-ratio:1.6;background:var(--light)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.025)}.project .tag{font-size:.7rem;color:#68768a;margin-bottom:12px}.project h3{font-size:1.8rem;letter-spacing:-.03em;line-height:1.2;margin:0 0 8px}.featured h3{font-size:2.8rem}.project p:last-child{color:#647084;margin:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--navy);color:white;max-width:none}.about .section-label{color:#b1bfce}.gold{color:var(--gold)}.about-copy{padding-top:40px;max-width:510px}.about-copy p{color:#bdc9d7}.about-copy .lead{color:white;font-size:1.6rem;line-height:1.4;margin-top:0}.about .text-link{margin-top:15px}.contact{padding-top:80px;padding-bottom:85px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{font-size:clamp(4rem,8vw,7.5rem)}.email{font-size:clamp(1.5rem,2.7vw,2.4rem);border-bottom:1px solid var(--gold);display:table;padding-bottom:10px}.phone{display:table;font-size:1.2rem;margin-top:22px}.contact p{color:#657285;margin-bottom:0}footer{border-top:1px solid var(--line);margin:0 5.5%;padding:25px 0 30px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:#657285}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:5}.skip:focus{top:0}@media(min-width:1600px){.hero{max-width:1600px;margin:auto}.expertise,.about{padding-left:max(5.5%,calc((100vw - 1424px)/2));padding-right:max(5.5%,calc((100vw - 1424px)/2))}}@media(max-width:800px){header{height:82px;padding:0 6%}.brand img{width:174px}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:9px 13px;font-size:.875rem;color:var(--navy)}nav{display:none;position:absolute;top:82px;left:0;width:100%;background:#fff;z-index:4;padding:22px 6%;box-shadow:0 14px 20px #0c234218}nav.open{display:flex;flex-wrap:wrap;gap:16px 25px}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 7% 45px}h1{font-size:8.5rem}h1>span:first-child{margin-bottom:24px}.eyebrow{margin-bottom:32px}.hero-line{font-size:1.3rem;margin:25px 0}.hero-photo{min-height:0;height:360px}.hero-photo>img{object-position:center}.hero-photo figcaption{left:7%;bottom:24px;font-size:.875rem}.hero-bottom{padding:20px 7%;line-height:1.6}.hero-bottom span:last-child{display:none}.section{padding:60px 7%}.section-label{margin-bottom:25px}.client-intro,.section-heading{display:block}.client-intro h2{font-size:2rem}.client-intro p,.section-heading>p{margin-top:18px}.logos{grid-template-columns:repeat(2,1fr)}.logos img{height:110px;padding:22px}.logos img:nth-child(2){border-right:0}.logos img:nth-child(-n+2){border-bottom:1px solid var(--line)}.services{grid-template-columns:1fr;gap:35px;margin-top:36px}.services h3{margin:18px 0}.services p{max-width:none}.services details{margin-top:20px}.project-grid{grid-template-columns:1fr;margin-top:30px;gap:36px}.project.featured{display:block;grid-column:auto}.featured .project-image{aspect-ratio:1.6}.featured .tag{margin-top:18px}.featured h3,.project h3{font-size:1.75rem}.project .tag{letter-spacing:.09em;line-height:1.5}.about,.contact-grid{grid-template-columns:1fr;gap:30px}.about-copy{padding-top:0}.about-copy .lead{font-size:1.35rem}.contact h2{font-size:4.5rem}.email{font-size:1.75rem}footer{flex-wrap:wrap;margin:0 7%;font-size:.75rem}footer span:nth-child(2){order:3;flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand{display:flex;align-items:center;gap:14px}.brand img{width:55px;height:55px}.brand>span{font-size:1.35rem;letter-spacing:.12em}.brand small{display:block;font-size:.55rem;letter-spacing:.15em;margin-top:5px}@media(max-width:800px){.brand img{width:45px;height:45px}.brand>span{font-size:1.1rem}.brand small{font-size:.5rem}}

/* Brand guidelines: Futura STD local faces; no unlicensed font redistribution. */
@font-face{font-family:"JPR Futura";src:local("Futura Std Medium"),local("FuturaStd-Medium");font-weight:400 500;font-display:swap}
@font-face{font-family:"JPR Futura";src:local("Futura Std Heavy"),local("FuturaStd-Heavy");font-weight:600 900;font-display:swap}
body{font-family:"JPR Futura","Futura Std",Futura,"Century Gothic",Arial,sans-serif;font-weight:500}
h2,h3{font-weight:800;letter-spacing:0;line-height:1.3}p{line-height:1.3;letter-spacing:0}
.hero-line{line-height:1.3}.eyebrow{font-size:.875rem;letter-spacing:0}.hero-copy{padding-top:60px}.hero-photo{min-height:610px}
.section-heading{align-items:center}.section-heading>p{min-width:230px}.section-label{font-size:.8rem}.project .tag{font-size:.75rem}.project h3{line-height:1.3;letter-spacing:0}.featured h3{font-size:2.35rem}
.client-intro p{max-width:350px}.about h2{font-size:clamp(2.25rem,3.7vw,3.5rem)}.about-copy{padding-top:0;max-width:560px}.about-copy p{color:#eee;line-height:1.5}.about-copy .lead{font-size:1.25rem;font-weight:600;line-height:1.5}.about-copy p+p{margin-top:24px}.since{font-size:1rem;color:var(--gold);margin-top:30px}.contact-invitation{font-size:1.1rem}.brand{padding:9px;display:block}.brand img{width:184px;height:auto;max-height:none}.brand>span{display:none}
:lang(zh-Hant){font-family:"Source Han Sans TC","Source Han Sans CJK TC","Noto Sans TC",sans-serif}:lang(zh-Hans){font-family:"Source Han Sans SC","Source Han Sans CJK SC","Noto Sans SC",sans-serif}
@media(max-width:800px){.brand img{width:155px;height:auto}.hero-copy{padding-top:40px}.client-intro p{max-width:none}.featured h3{font-size:1.75rem}.about h2{font-size:2.5rem}.about-copy .lead{font-size:1.2rem}h1{font-size:clamp(6rem,33vw,8.5rem)}}
.contact h2{font-size:clamp(3.5rem,5.8vw,5.75rem);line-height:1.3}
@media(max-width:800px){.hero-photo{min-height:0}.contact h2{font-size:3.75rem}}

/* Selected LinkedIn posts: native scrolling with accessible manual controls. */
.social .section-heading{align-items:end}.social .section-heading>.text-link{white-space:nowrap;margin-bottom:8px}.social-intro{color:#657285;margin:14px 0 0}.scroll-hint{margin:26px 0 14px;color:#657285;font-size:.875rem}.social-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-color:var(--navy) var(--light);scrollbar-width:thin;padding:0 0 20px;scroll-padding-inline:0;outline-offset:6px}.social-card{flex:0 0 340px;scroll-snap-align:start;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;background:#fff}.social-image{display:block;position:relative;aspect-ratio:4/5;flex:none;min-height:0;overflow:hidden;background:var(--light)}.social-image img{position:absolute;inset:0;display:block;height:100%;width:100%;object-fit:contain}.social-copy{padding:24px;display:flex;flex-direction:column;flex:1}.social-source{margin:0 0 24px;font-size:.875rem}.social-source span{color:#657285;font-weight:400}.social-card .tag{color:#657285;font-size:.75rem;letter-spacing:.05em;margin:0 0 12px}.social-card h3{font-size:1.5rem;margin:0 0 16px;line-height:1.3;letter-spacing:0}.social-summary{color:#556276;line-height:1.5;margin:0 0 24px;font-size:1rem}.social-card .text-link{align-self:start;margin-top:auto}.social-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}.social-toolbar p{font-size:.875rem;color:#657285;margin:0}.social-controls{display:flex;gap:10px}.social-controls button{font:inherit;font-size:.875rem;min-height:44px;padding:10px 20px;color:var(--navy);background:white;border:1px solid var(--navy);cursor:pointer}.social-controls button:hover:not(:disabled){background:var(--navy);color:white}.social-controls button:disabled{opacity:.35;cursor:default}.social-track:focus-visible{outline:3px solid #006666}
@media(max-width:1000px) and (min-width:801px){nav{gap:18px}}
@media(max-width:800px){.social .section-heading>.text-link{margin-top:24px}.social-card{flex-basis:calc(100% - 26px)}.social-track{gap:16px}.social-copy{padding:20px}.social-controls button{padding:10px 15px}.social-toolbar{gap:12px}.social h2{font-size:2.4rem}}

.social-toolbar{margin:0 0 20px}.social h2{font-size:clamp(2.2rem,3.5vw,3.5rem)}

/* Text-led brand banner with the supplied locations. */
.hero-text{display:block}.hero-text .hero-copy{display:grid;grid-template-columns:1.15fr 1fr;column-gap:8%;padding:72px 5.5% 84px;align-items:center}.hero-text .eyebrow{grid-column:1/-1;color:var(--gold);margin-bottom:44px}.hero-text h1{font-size:clamp(9rem,17vw,17rem);line-height:.85}.hero-text h1>span:first-child{font-size:.19em;letter-spacing:.14em;margin-bottom:32px}.hero-text .hero-line{font-size:clamp(1.5rem,2.6vw,2.6rem);line-height:1.3;margin:0 0 34px}.hero-text .hero-bottom{gap:24px;align-items:center}.hero-text .hero-locations{color:var(--gold);font-size:.875rem;letter-spacing:0}
@media(max-width:800px){.hero-text .hero-copy{grid-template-columns:1fr;padding:44px 7% 48px;gap:0}.hero-text .eyebrow{margin-bottom:34px}.hero-text h1{font-size:clamp(6rem,33vw,11rem)}.hero-text h1>span:first-child{font-size:.25em;margin-bottom:24px}.hero-text .hero-message{margin-top:34px}.hero-text .hero-line{font-size:1.5rem;margin-bottom:28px}.hero-text .hero-bottom{display:flex;align-items:start;flex-direction:column;gap:16px;padding:22px 7%}.hero-text .hero-bottom span:last-child{display:block}.hero-text .hero-locations{line-height:1.5}}

footer{align-items:center;flex-wrap:wrap}.footer-social{display:flex;align-items:center;gap:20px;color:var(--navy)}.footer-social a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.875rem}.footer-social svg{width:22px;height:22px;flex:none}.footer-social a:hover span{text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.footer-social{flex-basis:100%;order:2}footer span:nth-child(2){order:3}}

html[lang^="zh"] h2,html[lang^="zh"] h3{letter-spacing:0;line-height:1.35}html[lang^="zh"] .hero-line{line-height:1.6}html[lang^="zh"] .contact h2{font-size:clamp(2.5rem,5vw,5rem)}html[lang^="zh"] .about h2{font-size:clamp(2rem,4vw,4rem)}html[lang^="zh"] .social-summary,html[lang^="zh"] .about-copy p{line-height:1.8}html[lang^="zh"] .services h3{line-height:1.4}

.social-card:first-child .social-image{background:#fff}
