:root{--ink:#173c34;--text:#283b35;--muted:#66716a;--line:#dce2dc;--paper:#fff;--wash:#f4f6f3;--gold:#a78343;--serif:Georgia,'Times New Roman',serif;--sans:Arial,'Helvetica Neue',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}img{display:block;max-width:100%;height:auto}button{cursor:pointer}p{margin:0 0 18px}h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.18;letter-spacing:0}p:last-child{margin-bottom:0}ul{padding-left:20px;margin:0}li+li{margin-top:12px}.ed-skip{position:fixed;left:16px;top:-100px;background:#fff;padding:12px;z-index:99999}.ed-skip:focus{top:12px}
.ed-header{position:sticky;top:0;z-index:99;background:#fff;border-bottom:1px solid var(--line)}.admin-bar .ed-header{top:32px}.ed-header-inner{max-width:1320px;margin:auto;min-height:100px;padding:15px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px}.ed-brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.ed-brand-icon{height:61px;width:53px;object-fit:contain}.ed-wordmark{font-family:var(--sans);font-size:23px;font-weight:600;line-height:1.05;color:var(--ink);white-space:nowrap}.ed-bridge{position:relative;display:inline-block;padding-right:29px}.ed-zh{position:absolute;left:calc(100% - 26px);top:-8px;font-family:var(--sans);font-size:12px;font-weight:500;white-space:nowrap;color:var(--gold)}.ed-brand-sub{display:block;font-size:10px;font-weight:400;line-height:1.5;margin-top:6px;color:var(--muted)}.ed-nav{display:flex;align-items:center;gap:29px;font-size:14px}.ed-nav>a{padding:9px 0;border-bottom:1px solid transparent;transition:color .18s,border-color .18s}.ed-nav>a:hover,.ed-nav>a[aria-current=page]{border-color:var(--ink);color:var(--ink)}.ed-nav>.ed-nav-book{border:1px solid var(--ink);padding:12px 18px;display:flex;align-items:center;gap:14px}.ed-nav-book::after,.ed-button a::after,.ed-row-link::after{content:'';display:inline-block;width:18px;height:18px;background:currentColor;mask:url('assets/arrow-up-right.svg') center/contain no-repeat;-webkit-mask:url('assets/arrow-up-right.svg') center/contain no-repeat;flex-shrink:0}.ed-menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px;color:var(--ink)}.ed-menu-toggle svg{width:24px;height:24px}
.ed-page{min-width:0}.ed-page .elementor-element,.ed-page .elementor-widget-container{min-width:0}.ed-page .e-con{--container-widget-width:100%;--container-widget-flex-grow:0;--gap:0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;gap:0;padding:0}.ed-page .elementor-widget{margin-bottom:0;width:100%}.ed-page .elementor-heading-title{font-family:var(--serif);font-weight:400;color:var(--ink);line-height:1.18;letter-spacing:0}.ed-page .elementor-widget-text-editor{font-family:var(--sans);color:var(--text);font-size:16px;line-height:1.7}.ed-page .e-con.ed-section,.ed-section{width:100%;max-width:none;display:block;padding:82px 0}.ed-page .e-con.ed-wrap,.ed-wrap{width:calc(100% - 112px);max-width:1200px;margin:0 auto;display:block;padding:0}.ed-page .e-con.ed-grid,.ed-grid{display:grid;gap:48px;grid-template-columns:repeat(2,minmax(0,1fr))}.ed-page .e-con.ed-grid-three,.ed-grid-three{display:grid;gap:32px;grid-template-columns:repeat(3,minmax(0,1fr))}.ed-page .e-con.ed-grid-four,.ed-grid-four{display:grid;gap:28px;grid-template-columns:repeat(4,minmax(0,1fr))}.ed-page .e-con.ed-intro-grid,.ed-intro-grid{display:grid;gap:72px;grid-template-columns:1fr 2.05fr}.ed-page .e-con.ed-stack,.ed-stack{display:flex;flex-direction:column;gap:20px}.ed-page .e-con.ed-stack-tight,.ed-stack-tight{display:flex;flex-direction:column;gap:12px}.ed-page .e-con.ed-actions,.ed-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px;width:100%}.ed-wash{background:var(--wash)}.ed-border-top{border-top:1px solid var(--line)}.ed-kicker{font-size:12px!important;font-family:var(--sans)!important;color:var(--muted)!important;line-height:1.5!important;font-weight:500!important}.ed-kicker .elementor-heading-title{font:inherit;color:inherit}.ed-section-title .elementor-heading-title{font-size:37px;max-width:760px}.ed-lead{font-size:19px!important;line-height:1.65!important;max-width:720px}.ed-small{font-size:13px!important;color:var(--muted)!important}.ed-caption{font-size:12px!important;color:var(--muted)!important;margin-top:10px}.ed-body a:not(.elementor-button),.ed-text-link a,.ed-footer a:not(.ed-brand){text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.ed-body a:hover,.ed-text-link a:hover{color:var(--gold)}
.ed-page .e-con.ed-hero,.ed-hero{position:relative;min-height:620px;height:calc(100svh - 178px);max-height:760px;padding:0;display:flex;align-items:flex-start;background-image:url('assets/shanghai.webp');background-size:cover;background-position:center 43%;isolation:isolate}.ed-page .e-con.ed-hero-copy,.ed-hero-copy{display:flex;flex-direction:column;gap:22px;max-width:1200px;width:calc(100% - 112px);margin:0 auto;padding-top:68px}.ed-hero-copy>.elementor-widget,.ed-hero-copy>.ed-actions{max-width:515px}.ed-hero-title .elementor-heading-title{font-size:61px;line-height:1.05;color:#123b32}.ed-hero-title .ed-bridge{padding-right:43px}.ed-hero-title .ed-zh{left:calc(100% - 36px);font-size:16px;top:-4px}.ed-hero-subtitle .elementor-heading-title{font-size:32px;line-height:1.18;max-width:420px;color:#173c34}.ed-hero-copy .ed-hero-description{font-size:16px;max-width:395px;color:#16372f;line-height:1.6}.ed-button a,.ed-page .elementor-button{font-family:var(--sans);font-size:14px;font-weight:500;line-height:1.4;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:48px;border:1px solid var(--ink);border-radius:0;padding:14px 20px;background:var(--ink);color:#fff;box-shadow:none;transition:background .18s,color .18s}.ed-page .elementor-button .elementor-button-content-wrapper{display:inline;flex-direction:row}.ed-button a:hover,.ed-page .elementor-button:hover{background:#28584c;border-color:#28584c;color:#fff}.ed-button-secondary a{background:transparent;color:var(--ink)}.ed-button-secondary a:hover{background:var(--ink);color:#fff}.ed-page .ed-button{width:auto}.ed-page .e-con.ed-quicklinks,.ed-quicklinks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;border-bottom:1px solid var(--line);background:#fff}.ed-quicklinks .ed-text-link{padding:22px 16px;text-align:center;border-right:1px solid var(--line);font-size:13px;color:var(--ink)}.ed-quicklinks .ed-text-link:last-child{border-right:0}.ed-quicklinks a{text-decoration:none}.ed-quicklinks a:hover{text-decoration:underline;text-underline-offset:4px}
.ed-section-header{margin-bottom:40px}.ed-section-header .ed-section-title{margin-top:14px}.ed-tile{display:flex;flex-direction:column;gap:13px}.ed-tile .ed-image{margin-bottom:10px}.ed-image img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:0}.ed-image img[width]{height:auto}.ed-tile-title .elementor-heading-title{font-size:27px;line-height:1.2}.ed-tile p{font-size:15px;line-height:1.65;max-width:480px}.ed-tile .ed-text-link{margin-top:auto;padding-top:6px;font-size:13px;font-weight:500}.ed-tile-meta{font-size:12px!important;color:var(--muted)!important}.ed-service-grid{row-gap:52px!important}.ed-split-image img{aspect-ratio:1.18;object-fit:cover}.ed-page .ed-split-grid{align-items:center;gap:78px}.ed-rule-list{padding:0;list-style:none;margin:8px 0 0}.ed-rule-list li{padding:14px 0;border-top:1px solid var(--line);margin:0}.ed-rule-list strong{font-weight:500;color:var(--ink)}.ed-row-list{border-top:1px solid var(--line)}.ed-page .e-con.ed-project-row,.ed-project-row{display:grid;grid-template-columns:1fr 1.1fr 1.55fr;align-items:start;gap:40px;border-bottom:1px solid var(--line);padding:30px 0}.ed-project-row .elementor-heading-title{font-size:25px}.ed-project-row .ed-small{padding-top:4px}.ed-project-row .ed-text-link a{display:flex;align-items:center;gap:16px}.ed-project-row p{font-size:15px;margin:0}.ed-step{padding-top:22px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.ed-step .elementor-heading-title{font-size:24px}.ed-step .ed-step-no{font-size:13px;color:var(--gold)}.ed-step p{font-size:15px}.ed-cta{background:var(--ink);color:#fff}.ed-cta .elementor-heading-title{color:#fff;font-size:36px}.ed-cta .ed-kicker,.ed-cta .ed-small{color:#cfdbd2!important}.ed-cta .ed-button a{border-color:#fff;background:#fff;color:var(--ink)}.ed-cta .ed-button a:hover{background:#e9eee8}.ed-page .e-con.ed-cta-grid,.ed-cta-grid{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:48px}.ed-cta-grid>.ed-stack{max-width:710px}.ed-cta-grid>.ed-button{flex-shrink:0}
.ed-page .ed-subhero{padding:64px 0 55px}.ed-breadcrumb{font-size:12px;color:var(--muted);margin-bottom:30px}.ed-breadcrumb a{text-decoration:none}.ed-subtitle .elementor-heading-title{font-size:52px;max-width:950px}.ed-subhero .ed-lead{max-width:740px}.ed-subhero .ed-stack{gap:22px}.ed-page .ed-wide-photo{padding:0}.ed-wide-photo .ed-image img{height:440px;aspect-ratio:auto;object-fit:cover}.ed-page .ed-wide-photo .ed-wrap{max-width:1320px}.ed-deliverable{padding-top:26px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:13px}.ed-deliverable .elementor-heading-title{font-size:25px}.ed-deliverable p{font-size:15px}.ed-policy p{font-size:15px}.ed-policy .ed-text-link{font-size:13px;margin-top:8px}.ed-page .ed-faq-grid{grid-template-columns:1fr 1.7fr;align-items:start;gap:70px}.ed-faq .elementor-accordion{border-top:1px solid var(--line)}.ed-faq .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--line)!important}.ed-faq .elementor-tab-title{padding:22px 0!important;font-family:var(--sans);font-size:16px;font-weight:400;color:var(--ink)!important;line-height:1.6}.ed-faq .elementor-tab-title a{font:inherit;color:inherit}.ed-faq .elementor-tab-content{border:0!important;padding:0 25px 24px 0!important;font-family:var(--sans);font-size:15px;color:var(--muted);line-height:1.7}.ed-faq details{border-bottom:1px solid var(--line);padding:21px 0}.ed-faq details:first-child{border-top:1px solid var(--line)}.ed-faq summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--ink);font-size:16px;list-style:none}.ed-faq summary::-webkit-details-marker{display:none}.ed-faq summary::after{content:'+';font-size:22px;font-weight:400}.ed-faq details[open] summary::after{content:'−'}.ed-faq details p{font-size:15px;color:var(--muted);margin-top:16px;max-width:680px}.ed-result{border-left:2px solid var(--gold);padding-left:24px}.ed-page .ed-result .elementor-heading-title{font-size:29px}.ed-project-list .ed-tile{border-bottom:1px solid var(--line);padding-bottom:24px}.ed-note{padding:20px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.ed-consultation{border-top:1px solid var(--line);padding-top:24px}.ed-booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ed-booking-fields label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--ink)}.ed-booking-fields .ed-field-wide{grid-column:1/-1}.ed-consultation input:not([type=checkbox]),.ed-consultation select,.ed-consultation textarea{display:block;width:100%;border:1px solid #bdc9c1;background:#fff;border-radius:0;min-height:46px;padding:11px 12px;font-size:15px;color:var(--text)}.ed-consultation textarea{min-height:130px;resize:vertical}.ed-consultation input::placeholder,.ed-consultation textarea::placeholder{color:#748077}.ed-consent{display:flex;align-items:flex-start;gap:11px;margin:22px 0;font-size:13px;color:var(--muted)}.ed-consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--ink)}.ed-consultation button{min-height:48px;padding:12px 20px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:0;font-size:14px}.ed-consultation button:hover{background:#28584c}.ed-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.ed-form-message{padding:18px;border-left:3px solid var(--ink);background:var(--wash);margin-bottom:22px;font-size:15px}.ed-booking-aside{padding-right:35px}.ed-booking-aside .ed-section-title{margin-bottom:8px}.ed-booking-aside .ed-text-link{font-size:15px}.ed-privacy-copy{font-size:13px!important;color:var(--muted)!important}.ed-default-content{max-width:850px;margin:0 auto;padding:70px 28px}.ed-default-content h1{font:44px/1.2 var(--serif);margin-bottom:24px}.ed-default-content h2{font:29px/1.25 var(--serif);margin:32px 0 16px}
.ed-footer{padding:62px 0 22px;background:#fff;color:var(--ink)}.ed-footer-inner{max-width:1200px;width:calc(100% - 112px);margin:auto}.ed-footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px;padding-bottom:42px}.ed-footer-brand p{max-width:300px;font-size:14px;color:var(--muted);margin-top:20px}.ed-footer h2{font-family:var(--sans);font-size:12px;font-weight:500;margin:0 0 20px;color:var(--muted)}.ed-footer-links{display:flex;flex-direction:column;gap:11px;font-size:14px;align-items:flex-start}.ed-footer a{text-decoration:none!important}.ed-footer a:hover{text-decoration:underline!important}.ed-footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:22px;font-size:11px;color:var(--muted)}
.ed-hero-copy .ed-hero-description{max-width:330px}.ed-hero-copy .ed-kicker{color:#173c34!important}.ed-page .elementor-widget-text-editor.ed-breadcrumb{font-size:12px}
@media(min-width:1600px){.ed-page .e-con.ed-hero{min-height:650px;height:720px}.ed-page .e-con.ed-hero-copy{padding-top:80px}}
@media(max-width:1100px){.ed-header-inner{padding:15px 30px}.ed-nav{gap:20px}.ed-wordmark{font-size:21px}.ed-page .e-con.ed-wrap,.ed-wrap,.ed-page .e-con.ed-hero-copy,.ed-hero-copy,.ed-footer-inner{width:calc(100% - 72px)}.ed-page .e-con.ed-hero{min-height:590px;height:640px;background-position:56% center}.ed-hero-title .elementor-heading-title{font-size:53px}.ed-page .e-con.ed-intro-grid,.ed-intro-grid{gap:40px;grid-template-columns:1fr 2fr}.ed-page .ed-split-grid{gap:40px}.ed-page .e-con.ed-grid-four,.ed-grid-four{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}.ed-section-title .elementor-heading-title{font-size:34px}.ed-footer-top{gap:40px}}
@media(max-width:800px){.ed-header-inner{min-height:84px;padding:12px 24px;gap:12px}.ed-brand-icon{height:51px;width:44px}.ed-wordmark{font-size:20px}.ed-brand-sub{font-size:9px}.ed-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px 30px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;gap:8px;align-items:stretch}.ed-nav.is-open{display:flex}.ed-nav>a{padding:12px}.ed-nav>.ed-nav-book{margin-top:8px;justify-content:space-between}.ed-menu-toggle{display:block}.ed-page .e-con.ed-section,.ed-section{padding:56px 0}.ed-page .e-con.ed-wrap,.ed-wrap,.ed-page .e-con.ed-hero-copy,.ed-hero-copy,.ed-footer-inner{width:calc(100% - 48px)}.ed-page .e-con.ed-hero,.ed-hero{height:690px;min-height:0;padding:0;max-height:none;background-position:58% bottom;background-size:auto 570px;background-repeat:no-repeat;background-color:#b8d7e2}.ed-page .e-con.ed-hero-copy,.ed-hero-copy{padding-top:40px;gap:18px}.ed-hero-copy>.elementor-widget{max-width:440px}.ed-hero-title .elementor-heading-title{font-size:47px}.ed-hero-subtitle .elementor-heading-title{font-size:29px;max-width:370px}.ed-hero-copy .ed-hero-description{font-size:15px;max-width:355px}.ed-page .e-con.ed-quicklinks,.ed-quicklinks{grid-template-columns:1fr 1fr}.ed-quicklinks .ed-text-link{padding:16px 9px;font-size:12px;border-bottom:1px solid var(--line)}.ed-quicklinks .ed-text-link:nth-child(2){border-right:0}.ed-page .e-con.ed-intro-grid,.ed-intro-grid{grid-template-columns:1fr;gap:22px}.ed-page .e-con.ed-grid,.ed-grid{gap:32px}.ed-page .e-con.ed-grid-three,.ed-grid-three{grid-template-columns:1fr;gap:30px}.ed-page .e-con.ed-project-row,.ed-project-row{grid-template-columns:1fr 2fr;gap:12px 26px}.ed-project-row .ed-body{grid-column:2}.ed-page .ed-split-grid,.ed-page .ed-faq-grid{grid-template-columns:1fr;gap:32px}.ed-page .e-con.ed-cta-grid,.ed-cta-grid{align-items:flex-start;flex-direction:column;gap:28px}.ed-cta-grid .ed-button{width:auto}.ed-subtitle .elementor-heading-title{font-size:43px}.ed-page .ed-subhero{padding:42px 0}.ed-page .ed-wide-photo{padding:0}.ed-wide-photo .ed-image img{height:330px}.ed-footer-top{grid-template-columns:1fr 1fr;gap:35px}.ed-footer-brand{grid-column:1/-1}.ed-footer-brand p{max-width:440px}.ed-footer-bottom{flex-direction:column;gap:8px}.ed-booking-aside{padding-right:0}.admin-bar .ed-header{top:46px}}
@media(max-width:520px){.ed-header-inner{padding:11px 20px}.ed-brand{gap:10px}.ed-brand-icon{height:48px;width:40px}.ed-wordmark{font-size:18px}.ed-zh{font-size:10px;top:-6px;left:calc(100% - 26px)}.ed-brand-sub{font-size:8px}.ed-page .e-con.ed-wrap,.ed-wrap,.ed-page .e-con.ed-hero-copy,.ed-hero-copy,.ed-footer-inner{width:calc(100% - 40px)}.ed-page .e-con.ed-hero,.ed-hero{height:665px;background-size:auto 490px;background-position:62% bottom}.ed-page .e-con.ed-hero-copy,.ed-hero-copy{padding-top:32px;gap:17px}.ed-hero-title .elementor-heading-title{font-size:38px}.ed-hero-title .ed-bridge{padding-right:30px}.ed-hero-title .ed-zh{font-size:12px;left:calc(100% - 27px);top:-5px}.ed-hero-subtitle .elementor-heading-title{font-size:27px;max-width:300px}.ed-hero-copy .ed-hero-description{font-size:14px;max-width:300px}.ed-page .e-con.ed-grid,.ed-grid{grid-template-columns:1fr;gap:35px}.ed-page .e-con.ed-grid-four,.ed-grid-four{grid-template-columns:1fr;gap:30px}.ed-section-title .elementor-heading-title{font-size:30px}.ed-section-header{margin-bottom:30px}.ed-lead{font-size:17px!important}.ed-tile-title .elementor-heading-title{font-size:26px}.ed-page .e-con.ed-project-row,.ed-project-row{grid-template-columns:1fr;gap:12px;padding:24px 0}.ed-project-row .ed-body{grid-column:auto}.ed-project-row .elementor-heading-title{font-size:25px}.ed-cta .elementor-heading-title{font-size:30px}.ed-subtitle .elementor-heading-title{font-size:37px}.ed-wide-photo .ed-image img{height:260px}.ed-booking-fields{grid-template-columns:1fr;gap:18px}.ed-footer{padding-top:44px}.ed-footer-top{gap:30px 18px}.ed-footer-links{font-size:13px}.ed-footer .ed-wordmark{font-size:20px}.ed-page .e-con.ed-actions,.ed-actions{gap:14px}.ed-button a,.ed-page .elementor-button{padding:13px 17px;font-size:13px;gap:20px}.ed-breadcrumb{margin-bottom:22px}}
@media(max-width:800px){.ed-page .e-con.ed-hero,.ed-hero{background-size:cover;background-position:55% center}}
@media(max-width:520px){.ed-page .e-con.ed-hero,.ed-hero{background-size:cover;background-position:56% center}.ed-hero-copy .ed-hero-description{max-width:295px}}
.ed-page .e-con.ed-hero-copy>.elementor-widget{max-width:515px}.ed-page .e-con.ed-hero-copy>.elementor-widget.ed-hero-description{max-width:330px}
.ed-page .e-con .elementor-widget.ed-lead{max-width:740px}
.ed-page .ed-kicker .elementor-heading-title{font:inherit;color:inherit}
.ed-hero::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.22);z-index:-1;pointer-events:none}
@media(max-width:800px){.ed-page .e-con.ed-hero-copy>.elementor-widget{max-width:440px}}
@media(max-width:800px){.ed-hero::before{background:rgba(255,255,255,.32)}}
@media(max-width:520px){.ed-page .e-con.ed-hero-copy>.elementor-widget.ed-hero-description{max-width:295px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
