@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600&display=swap');
:root{--navy:#142c3d;--ink:#183344;--muted:#506471;--gold:#ad7c32;--light-gold:#d5b67b;--line:#d6dfe4;--pale:#edf2f5;--pad:clamp(1.4rem,5.5vw,7rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans','Noto Sans TC',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b37e2c;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1,h2{text-wrap:balance;letter-spacing:-.05em;line-height:1.08}p{text-wrap:pretty}img{display:block;width:100%}.page-width{width:min(100%,1600px);padding-inline:var(--pad);margin-inline:auto}.skip{position:absolute;top:0;left:1rem;z-index:10;background:var(--navy);color:#fff;padding:.75rem 1rem;transform:translateY(-120%)}.skip:focus{transform:translateY(0)}
.header{display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:116px;border-bottom:1px solid var(--line)}.wordmark{display:flex;flex-direction:column;line-height:1.15;flex-shrink:0}.wordmark>span{font-size:1.6rem;letter-spacing:.07em;font-weight:600}.wordmark small{font-size:.75rem;letter-spacing:.3em;margin-top:.5rem}.nav{display:flex;gap:2.4rem;margin-left:auto}.nav a{font-size:.95rem;padding:.65rem 0;transition:color .18s}.nav a:hover,.footer>a:last-child:hover{color:var(--gold)}.language{display:flex;align-items:center;gap:.2rem;margin-left:2rem;font-size:.875rem;white-space:nowrap}.language button{border:0;background:none;padding:.5rem;min-width:44px;min-height:44px;color:#6a7680}.language button[aria-pressed=true]{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:.45rem;text-decoration-color:var(--gold);text-decoration-thickness:2px}.language>span{color:#aab6bd}
.hero{padding-top:4.25rem;padding-bottom:4rem}.eyebrow{font-size:.875rem;letter-spacing:.14em;font-weight:600;color:var(--muted)}.hero .eyebrow{display:flex;align-items:center;gap:1rem}.hero .eyebrow:before{content:'';display:block;width:2.4rem;height:2px;background:var(--gold)}.hero-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:4.5rem;align-items:end;margin-top:2.1rem}h1{font-size:clamp(3rem,5.6vw,6rem)}.hero-intro{padding-bottom:.3rem;max-width:29rem}.hero-intro p{color:var(--muted);font-size:1.075rem}.text-link{display:inline-flex;gap:2.5rem;align-items:center;border-bottom:1px solid var(--gold);padding:.7rem 0;margin-top:1.1rem;font-weight:500}.text-link:hover{color:#8b5e1e}.text-link>span:last-child{font-size:1.4rem}.harbour{position:relative;max-width:1600px;margin-inline:auto;height:clamp(290px,33vw,490px);overflow:hidden;background:var(--pale)}.harbour img{height:100%;object-fit:cover;object-position:center 57%}.harbour:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#071e30b3)}.harbour figcaption{position:absolute;bottom:1.8rem;left:var(--pad);right:var(--pad);z-index:1;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:.9rem;letter-spacing:.18em}.harbour figcaption>span:last-child{font-size:1.2rem;letter-spacing:.25em}
.section{padding-top:6.5rem;padding-bottom:6.5rem}h2{font-size:clamp(2.5rem,3.4vw,4rem)}.business{display:grid;grid-template-columns:1fr 1.3fr;gap:6rem}.section-heading h2{margin:1.7rem 0}.section-note{max-width:25rem;color:var(--muted);font-size:1.05rem}.services article{display:flex;gap:1.8rem;padding:1.9rem 0;border-top:1px solid var(--line)}.services article:first-child{padding-top:0;border-top:0}.services article:last-child{padding-bottom:0}.index{color:var(--gold);font-size:.875rem;padding-top:.3rem}.services h3{font-size:1.45rem;line-height:1.3;margin-bottom:.8rem;letter-spacing:-.025em}.services p{color:var(--muted);max-width:44ch}.markets{background:var(--pale)}.markets-top{display:grid;grid-template-columns:1fr 2fr;gap:4rem}.markets-top>.eyebrow{padding-top:.5rem}.region-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem;border-top:1px solid #bccbd4;border-bottom:1px solid #bccbd4}.region-list>div{padding:2rem 2rem 2rem 0;display:grid;grid-template-columns:1fr auto;align-items:end;min-width:0}.region-list>div+div{border-left:1px solid #bccbd4;padding-left:2rem}.region-number{grid-column:1/-1;color:#6b7f8c;font-size:.875rem;margin-bottom:1.7rem}.region-list h3{font-size:clamp(1.7rem,2.8vw,3rem);letter-spacing:-.04em;line-height:1.2}.region-list>div>span:last-child{color:#637884;font-size:.9rem;white-space:nowrap;margin-left:.8rem}.markets-note{color:var(--muted);margin-top:1.6rem;max-width:47rem}
.contact{background:var(--navy);color:#fff}.contact>.page-width{display:grid;grid-template-columns:1.3fr 1fr;gap:7rem}.contact .eyebrow{color:var(--light-gold)}.contact h2{font-size:clamp(2.6rem,4vw,4.7rem);margin:1.6rem 0}.contact-heading>p:not(.eyebrow){color:#b8c7d1;max-width:31rem}.email-cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;color:#e1c48f;border-bottom:1px solid #778b96;padding:1.2rem 0 .8rem;font-size:clamp(1.1rem,1.9vw,1.8rem);letter-spacing:-.025em;max-width:35rem;margin-top:1rem}.email-cta>span:first-child{overflow-wrap:anywhere;min-width:0}.email-cta>span:last-child{font-size:2rem}.email-cta:hover{color:#fff;border-color:#fff}.contact-information{padding-top:3.9rem;min-width:0}.contact-information h3{font-size:1.15rem;letter-spacing:.04em;line-height:1.4;margin-bottom:1.2rem}.contact-information address{font-style:normal;color:#c1ced7;font-size:1rem;line-height:1.8}.contact-information>div+div{border-top:1px solid #3e5565;padding-top:1.4rem;margin-top:1.7rem}.contact-label{display:block;color:#9dafba;font-size:.875rem;letter-spacing:.12em;margin-bottom:.5rem}.contact-information a{font-size:1.15rem;overflow-wrap:anywhere}.contact-information a:hover{text-decoration:underline;text-underline-offset:4px}.footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:2rem}.footer-wordmark>span{font-size:1.1rem}.footer-wordmark small{font-size:.75rem;letter-spacing:.18em}.footer p{font-size:.75rem;color:var(--muted)}.footer>a:last-child{font-size:.875rem;padding:.6rem 0;white-space:nowrap}
html[lang=zh-Hant] h1,html[lang=zh-Hant] h2,html[lang=zh-Hant] h3{letter-spacing:.015em;line-height:1.35}html[lang=zh-Hant] h1{font-size:clamp(2.7rem,5vw,5.3rem)}html[lang=zh-Hant] .region-list>div>span:last-child{display:none}html[lang=zh-Hant] .hero-intro{font-size:1.05rem}html[lang=zh-Hant] .eyebrow{letter-spacing:.13em}
@media(max-width:1100px){.hero-grid{gap:3rem;grid-template-columns:1.5fr 1fr}.nav{gap:1.5rem}.language{margin-left:.5rem}.business{gap:3.5rem}.contact>.page-width{gap:4rem}.region-list>div{padding-right:1.2rem}.region-list>div+div{padding-left:1.2rem}.region-list h3{font-size:2rem}}
@media(max-width:800px){.header{gap:1.2rem;flex-wrap:wrap;padding-top:1.4rem;padding-bottom:1rem;min-height:100px}.nav{order:3;justify-content:space-between;width:100%;gap:1rem;border-top:1px solid var(--line);padding-top:.5rem}.language{margin-left:auto}.wordmark>span{font-size:1.4rem}.hero{padding-block:3rem}.hero-grid{grid-template-columns:1fr;gap:1.8rem}h1{font-size:clamp(3rem,7.5vw,4.7rem)}.hero-intro{max-width:37rem}.hero-intro p{font-size:1rem}.text-link{margin-top:.8rem}.section{padding-block:4.5rem}.business{grid-template-columns:1fr;gap:2.5rem}.section-note{max-width:37rem}.services p{max-width:60ch}.markets-top{grid-template-columns:1fr;gap:1.4rem}.region-list{margin-top:2.5rem}.region-list h3{font-size:1.6rem}.region-list>div>span:last-child{display:none}.contact>.page-width{grid-template-columns:1fr;gap:2.5rem}.contact-information{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:1.7rem 2rem}.contact-information .company{grid-column:1/-1}.contact-information>div+div{margin-top:0}.footer{flex-wrap:wrap}.footer p{order:3;width:100%}}
@media(max-width:480px){:root{--pad:1.25rem}.header{gap:.75rem}.wordmark>span{font-size:1.17rem;letter-spacing:.04em}.wordmark small{font-size:.75rem;letter-spacing:.19em}.language{gap:0}.language button{padding:.4rem;min-width:40px}.nav a{font-size:.875rem}.hero .eyebrow{font-size:.75rem;letter-spacing:.07em;gap:.6rem}.hero .eyebrow:before{width:1.3rem}h1{font-size:clamp(2.35rem,9.5vw,3.6rem)}.hero-grid{margin-top:1.6rem}.hero-intro p{font-size:1rem}.harbour{height:290px}.harbour img{object-position:55% center}.harbour figcaption{bottom:1.2rem}.section{padding-block:3.5rem}h2{font-size:2.4rem}.services article{gap:1rem}.services h3{font-size:1.3rem}.region-list{grid-template-columns:1fr}.region-list>div,.region-list>div+div{border-left:0;grid-template-columns:2.3rem 1fr auto;padding:1.5rem 0;align-items:center}.region-list>div+div{border-top:1px solid #bccbd4}.region-number{grid-column:auto;margin:0}.region-list h3{font-size:2rem}.region-list>div>span:last-child{display:block}.contact h2{font-size:2.7rem}.contact-information{grid-template-columns:1fr}.contact-information .company{grid-column:auto}.email-cta{font-size:1.15rem;gap:.7rem}.footer-wordmark>span{font-size:1rem}.footer{gap:1.5rem}.footer p{font-size:.75rem}html[lang=zh-Hant] h1{font-size:2.8rem}html[lang=zh-Hant] h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.photo-credit{font-size:.75rem;color:var(--muted);padding-bottom:1.4rem}.photo-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:480px){html[lang=zh-Hant] h1{font-size:clamp(2rem,9vw,2.8rem)}}
.wechat-contact{display:flex;align-items:center;gap:1.5rem;margin-top:2rem;max-width:35rem}.wechat-qr{display:block;flex:0 0 220px;width:220px;max-width:100%;padding:16px;background:#fff}.wechat-qr img{height:auto;object-fit:contain}.wechat-contact figcaption{min-width:0}.wechat-contact h3{font-size:1.2rem;margin-bottom:.6rem}.wechat-contact p{color:#b8c7d1;font-size:1rem}.wechat-contact figcaption a{display:inline-block;margin-top:.6rem;padding:.5rem 0;color:#e1c48f;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}.wechat-contact figcaption a:hover{color:#fff}@media(max-width:1100px) and (min-width:801px){.wechat-contact{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.wechat-contact{align-items:flex-start;flex-direction:column;gap:1rem}.wechat-qr{flex-basis:auto}}
