/* Local Google Fonts Poppins assets, licensed under SIL OFL. */
@font-face{font-family:Poppins;src:url('/assets/fonts/Poppins-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('/assets/fonts/Poppins-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('/assets/fonts/Poppins-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
/* Modern luxury: midnight navy, white and restrained gold. */
:root,body:not(.page-home){--royal:#0b1628;--royal-deep:#182b45;--ink:#182333;--forest:#0b1628;--paper:#ffffff;--muted:#6d7177;--line:#dedbd5;--jade:#0b1628;--mist:#f4f4f1;--gradient:linear-gradient(120deg,#ffffff,#f3f2ef)}
body,body:not(.page-home){background:#ffffff;color:#182333}::selection{background:#e8dfcf;color:#182b45}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#0b1628}
.ed-preview{background:#0b1628;color:#ded9cf;border-color:#0b1628}.ed-preview>a{color:#fff}
.site-header.revision-header,.page-home .site-header.revision-header{background:#fff;color:#182b45;border-color:#e3e0da}.site-header.revision-header .nav-contact{color:#fff;background:#0b1628;border-color:#0b1628}.site-header.revision-header .nav-contact:hover{background:#182b45;color:white}.site-header.revision-header .language,.site-header.revision-header .menu-button{color:#0b1628}.site-header.revision-header .language{border-color:#dedbd5}.site-header.revision-header nav>a[aria-current=page]{text-decoration-color:#0b1628}
.button,.button.light,.lx-button,body:not(.page-home) .v2-service-hero .button,.property-page .property-price .button,.nh-close .button{background:#0b1628;color:#fff;border-color:#0b1628}.button:hover,.button.light:hover,.lx-button:hover,body:not(.page-home) .v2-service-hero .button:hover,.property-page .property-price .button:hover,.nh-close .button:hover{background:#182b45;color:#fff;border-color:#182b45}
.lx-text-link,.line-link{border-color:#b49a65}.lx-text-link:hover,.line-link:hover{color:#0b1628}
.lx-hero-image{background-image:url('/assets/estate-dusk.webp');object-position:center}.lx-hero-shade{background:linear-gradient(90deg,#0b1628a8,#0b162845 45%,#0b16280a 80%),linear-gradient(0deg,#0b16288c,transparent 28%)}.lx-hero .lx-button{background:#0b1628;border-color:#b49a65;color:white}.lx-hero .lx-button:hover{background:#182b45;border-color:#c7b48c;color:white}.lx-hero h1{color:#fff}.lx-hero h1>span{color:#ffffff}.lx-hero-content>.lx-eyebrow{color:#ded9cf}.lx-hero-foot{border-color:#ffffff55}.hero-video-toggle{background:#0b162855}.hero-video-toggle:hover{background:#0b1628}
.lx-tenure{background:#0b1628;color:#fff;border-color:#0b1628}.lx-years>strong{color:#fff}.lx-tenure-statement{border-color:#ffffff4d}.lx-territory,.lx-territory>span:first-child,.lx-territory>span:last-child{color:#d3d5d9}
.lx-perspective,.lx-living,.lx-properties,.nh-featured{background:#fff}.lx-services,.lx-reviews,.nh-close{background:#f5f5f3}.lx-case{background:#f1f2f3;color:#182333}.lx-portrait{background:#eceeef}.lx-portrait:after{background:linear-gradient(transparent,#eceeeff5)}.lx-portrait-name{color:#182b45;border-color:#b49a65}.lx-portrait-name small{color:#737980}
.lx-perspective h2,.lx-service-heading h2,.lx-service h3,.lx-property-heading h2,.lx-case h2,.lx-reviews h2,.lx-living h2,.nh-section-heading h2,.nh-opening h1,.nh-collection-top h2,.nh-close h2{color:#0b1628}
.lx-perspective h2 span,.lx-service-heading h2 span,.lx-service h3 span,.lx-property-heading h2 span,.lx-reviews h2>span,.lx-living h2 span,.lx-case h2 span{color:#182333}
.lx-perspective-copy>.lx-eyebrow,.lx-section-top>.lx-eyebrow,.lx-property-heading .lx-eyebrow,.lx-service-no,.lx-living-heading .lx-eyebrow,.lx-case .lx-eyebrow,.lx-case-location,.lx-case-kicker,.lx-case-result,.lx-case-copy li span,.lx-property-grid .property-card .eyebrow,.lx-reviews .v2-review-grid article .eyebrow,.nh-featured .lx-eyebrow,.nh-main .lx-eyebrow,.nh-card-copy>p,.nh-filters label,.nh-dialog .lx-eyebrow,.nh-original{color:#0b1628}
.lx-perspective .lx-text-link,.lx-service-link,.lx-moving .lx-text-link,.nh-card-link{color:#0b1628}.lx-service-grid,.lx-service+.lx-service,.lx-case-copy li,.lx-property-grid .property-card>div,.lx-reviews .v2-review-grid article,.nh-card-copy,.nh-filters,.nh-collection,.nh-source-note{border-color:#d9d7d1}.lx-living figcaption{background:#f3f3f0;color:#6d7177}.lx-property-grid .lease-ribbon{background:#0b1628ed;color:#fff;border-color:#0b1628}
.lx-closing{background:#0b1628;color:#fff;border-color:#0b1628}.lx-closing .lx-eyebrow,.lx-closing h2,.lx-closing h2 span,.lx-close-language,.lx-close-phone{color:#fff}.lx-closing p:not(.lx-eyebrow){color:#d3d5d9}.lx-closing .lx-button{background:#fff;color:#0b1628;border-color:#fff}.lx-closing .lx-button:hover{background:#eee7da}.lx-close-pattern{filter:none;opacity:.16}
.footer{background:#fff;color:#182333;border-color:#dedbd5}.footer .brokerage a,.footer .top-link{color:#0b1628}.footer .footer-bottom{border-color:#dedbd5}.footer .privacy>div{background:#fff;border-color:#d9d7d1;color:#182333}
body:not(.page-home) :is(.page-intro,.v2-service-hero,.about-opening,.consultation)::before{background:#f5f5f3}body:not(.page-home) :is(.page-intro,.v2-service-hero,.about-opening){color:#182333}body:not(.page-home) main :is(h1,h2,h3){color:#0b1628}body:not(.page-home) main .eyebrow{color:#0b1628}
body:not(.page-home) :is(.v2-benefits,.v2-faq,.method,.v2-buying-note,.v2-close,.closing){background:#f4f4f1;color:#182333}body:not(.page-home) .case-banner{background:#eeefee;color:#0b1628}body:not(.page-home) .case-banner p{color:#737980}body:not(.page-home) .situation-panels article{background:#f0f1f1;color:#182333}body:not(.page-home) .listing-filters button[aria-pressed=true]{background:#0b1628;color:#fff;border-color:#0b1628}body:not(.page-home) .v2-editor-note{background:#f0f1f1;border-color:#0b1628}.page-contact .consultation-form-panel{background:#fff;border-color:#0b1628}.page-contact .intent-choices label:has(input:checked){background:#0b1628;color:#fff;border-color:#0b1628}.page-contact .intent-choices input{accent-color:#0b1628}.page-contact .enquiry-context,.ed-preview-form{background:#f5f2eb;border-color:#b49a65}.page-contact #enquiry-status:not(:empty){background:#f5f2eb}
.property-page .property-header{background:#fff;color:#0b1628;box-shadow:0 0 0 100vmax #fff;border-color:#dedbd5}.property-page .property-intro::before,.property-page .property-contact{background:#f4f4f1}.property-page .property-intro .eyebrow,.property-page .property-contact .eyebrow{color:#0b1628}
.nh-featured,.nh-close{border-color:#dedbd5}.nh-card-image{background:#f3f3f0}.nh-card-image>span{background:#ffffffed;color:#0b1628}.nh-filters input,.nh-filters select{background:#fff;border-color:#d9d7d1;color:#182333}.nh-filters button,.nh-source-note a{color:#0b1628;border-color:#0b1628}.nh-load-row .button{color:#0b1628;background:transparent;border-color:#0b1628}.nh-load-row .button:hover{background:#0b1628;color:#fff}.nh-dialog{background:#fff;color:#182333}.nh-dialog-close{color:#0b1628;border-color:#d9d7d1}.nh-dialog dl{border-color:#d9d7d1}
@media(max-width:1100px){.site-header.revision-header nav.open{background:#fff;color:#0b1628;border-color:#dedbd5}.site-header.revision-header nav.open .nav-contact{background:#0b1628;color:#fff}}
@media(max-width:760px){.lx-hero-shade{background:linear-gradient(90deg,#0b1628a0,#0b16283b),linear-gradient(0deg,#0b1628a0,transparent 32%)}.lx-territory{border-color:#ffffff55}.lx-territory>span:last-child{color:#d3d5d9}}

/* Latest typography direction: Poppins, with Noto Sans for Chinese glyphs. */


:root{--gold:#b49a65;--display:Poppins,Noto,Arial,sans-serif;--sans:Poppins,Noto,Arial,sans-serif}
body,body:not(.page-home),html[lang^=zh] body{font-family:var(--sans);font-size:16px;font-weight:400}
h1,h2,h3,blockquote,body:not(.page-home) :is(h1,h2,h3,blockquote),.nh-card-copy h3,.nh-dialog h2{font-family:var(--display);font-weight:500;letter-spacing:-.025em}
html[lang^=zh] :is(h1,h2,h3,blockquote),html[lang^=zh] body:not(.page-home) :is(h1,h2,h3,blockquote){font-family:Poppins,Noto,Arial,sans-serif;font-weight:500;letter-spacing:.01em}
html[lang^=zh] .nh-card-copy h3,html[lang^=zh] .nh-dialog h2{font-family:var(--display);font-weight:500;letter-spacing:-.015em}
:is(.button,.lx-button,.eyebrow,.lx-eyebrow,.hero-video-toggle,.line-link,.lx-text-link),body:not(.page-home) .button,.nh-filters :is(input,select,button){font-family:var(--sans)}
.site-header.revision-header nav{font-size:12px;letter-spacing:.04em}.site-header.revision-header .nav-contact{background:transparent;color:#0b1628;border-color:#b49a65}.site-header.revision-header .nav-contact:hover{background:#0b1628;color:#fff}
.ed-preview{background:#0b1628;color:#d9c9a7}.ed-preview>a{color:#ded9cf}
.lx-hero h1{font-family:var(--display);font-weight:500;line-height:1.03;letter-spacing:-.02em;font-size:clamp(60px,6.1vw,92px);max-width:900px}
html[lang^=zh] .lx-hero h1{font-family:Poppins,Noto,Arial,sans-serif;font-weight:500;font-size:clamp(46px,4.4vw,66px);line-height:1.48;letter-spacing:.025em;max-width:900px}
.lx-hero .lx-button{background:#fff;color:#0b1628;border-color:#fff;min-width:210px}.lx-hero .lx-button:hover{background:#b49a65;color:#0b1628;border-color:#b49a65}
.lx-hero h1>span{color:#fff}.lx-hero-content>.lx-eyebrow{color:#e8dbc1}.lx-hero-content>.lx-eyebrow>span{background:#b49a65}
.lx-hero-shade{background:linear-gradient(90deg,#0b1628b8,#0b16284a 48%,#0b162812 85%),linear-gradient(0deg,#0b162885,transparent 32%)}
.lx-years>strong{font-family:var(--display);font-weight:500;color:#d2bc8f}.lx-tenure-statement p{font-family:var(--display);font-size:27px}.lx-territory{font-family:var(--sans)}
html[lang^=zh] .lx-tenure-statement p{font-family:Poppins,Noto,Arial,sans-serif;font-size:22px;font-weight:500}
.lx-tenure{border-top:1px solid #b49a6580}.lx-close-pattern,.lx-portrait-pattern,.lx-case:before{display:none}
.lx-perspective h2 span,.lx-service-heading h2 span,.lx-service h3 span,.lx-property-heading h2 span,.lx-reviews h2>span,.lx-living h2 span,.lx-case h2 span{color:inherit}
.lx-portrait-name{border-color:#b49a65}.lx-portrait-name small{color:#78674b}.lx-service-no,.lx-case-copy li span{color:#897344}.lx-text-link,.line-link{border-color:#b49a65}
.lx-closing .lx-button{background:transparent;color:#fff;border-color:#b49a65}.lx-closing .lx-button:hover{background:#b49a65;color:#0b1628}.lx-closing .lx-eyebrow{color:#d2bc8f}
.lx-service h3{font-size:clamp(35px,3.4vw,50px)}.nh-card-copy h3,html[lang^=zh] .nh-card-copy h3{font-size:29px;line-height:1.2}
.lx-reviews .v2-review-grid article>p:not(.eyebrow),body:not(.page-home) .v2-review-grid article>p:not(.eyebrow){font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.9}
.nh-dialog::backdrop{background:#0b1628c4}.hero-video-toggle{background:#0b162844}.hero-video-toggle:hover{background:#0b1628}
@media(max-width:760px){
 .lx-hero h1{font-size:clamp(47px,11.4vw,65px);line-height:1.08}
 html[lang^=zh] .lx-hero h1{font-size:clamp(34px,8.7vw,48px);line-height:1.5;letter-spacing:.015em}
 .lx-hero-content{padding-top:50px;padding-bottom:175px}.lx-hero{min-height:730px}
 .lx-hero-content>.lx-eyebrow{margin-bottom:30px}.lx-hero-lead{margin-top:30px}
 .lx-hero-shade{background:linear-gradient(90deg,#0b16289e,#0b16283b),linear-gradient(0deg,#0b1628a8,transparent 40%)}
 .nh-card-copy h3,html[lang^=zh] .nh-card-copy h3{font-size:27px}
}

/* Explicit latest requirement: sans-serif only, throughout both languages. */
html body,html[lang^=zh] body,html body :is(h1,h2,h3,h4,blockquote),html[lang^=zh] body :is(h1,h2,h3,h4,blockquote),html body .nh-card-copy h3,html body .nh-dialog h2,html body .lx-tenure-statement p,html body .lx-years>strong{font-family:Poppins,Noto,Arial,sans-serif}
html body :is(h1,h2,h3,h4,blockquote),html body .nh-card-copy h3,html body .nh-dialog h2,html body .lx-tenure-statement p,html body .lx-years>strong{font-weight:400}
html .lx-hero h1{font-size:clamp(54px,5.4vw,82px);line-height:1.15;letter-spacing:-.055em;font-weight:400}
html[lang^=zh] .lx-hero h1{font-size:clamp(42px,4.1vw,62px);line-height:1.5;letter-spacing:.025em;font-weight:400}
html body .nh-card-copy h3{font-size:25px;letter-spacing:-.035em}
@media(max-width:760px){html .lx-hero h1{font-size:clamp(40px,10.2vw,56px);line-height:1.18;letter-spacing:-.055em}html[lang^=zh] .lx-hero h1{font-size:clamp(32px,8.3vw,45px);line-height:1.55;letter-spacing:.015em}}

/* New signature identity: a single readable personal gesture. */
.site-header.revision-header .identity img,.property-page .identity img{width:230px;height:88px}.footer .identity img{width:220px;height:84px}.lx-closing .wrap>img{width:280px;height:107px}
@media(max-width:760px){.site-header.revision-header .identity img,.property-page .identity img{width:190px;height:72px}.footer .identity img{width:210px;height:80px}}
@media(max-width:370px){.site-header.revision-header .identity img,.property-page .identity img{width:170px;height:65px}}

/* One typography contract overrides older component font shorthands. SVG logos are paths. */
:root{--sans:Poppins,Noto,Arial,sans-serif;--display:Poppins,Noto,Arial,sans-serif}
html body,html body *{font-family:var(--sans)!important}
html body :is(h1,h2,h3,h4,h5,h6,blockquote){font-weight:400}
html body :is(button,input,select,textarea){font-family:var(--sans)!important}
html body :is(b,strong){font-weight:600}
html body .lx-years>strong,html body .lx-hero h1{font-weight:400}

/* Andy's selected imagegen wordmark: uppercase sans + crossing gold signature. */
.site-header.revision-header .identity img,.property-page .identity img{width:280px;height:94px}.footer .identity img{width:260px;height:88px}
@media(max-width:1100px){.site-header.revision-header .identity img{width:250px;height:84px}}
@media(max-width:760px){.site-header.revision-header .identity img,.property-page .identity img{width:205px;height:69px}.footer .identity img{width:235px;height:79px}}
@media(max-width:370px){.site-header.revision-header .identity img,.property-page .identity img{width:180px;height:61px}}

/* Restored architectural hero still; no film or playback control. */
.lx-hero-image{object-position:58% 54%;background-image:url('/assets/estate-dusk.webp')}.lx-hero-shade{background:linear-gradient(90deg,#0b1628a8 0%,#0b162855 43%,#0b162810 80%),linear-gradient(0deg,#0b162885,transparent 30%)}
.lx-hero-foot .lx-art-note{color:#d3d5d9;font-size:9px}
@media(max-width:760px){.lx-hero-image{object-position:64% center}.lx-hero-shade{background:linear-gradient(90deg,#0b1628a0,#0b162830),linear-gradient(0deg,#0b1628b0,transparent 38%)}.lx-hero-foot .lx-art-note{grid-column:1/-1;font-size:8px}}

/* Transparent landing-page navigation, floating directly over the image. */
.page-home .site-header.revision-header{position:absolute;top:26px;left:0;right:0;width:100%;z-index:20;background:transparent;color:#fff;border:0;box-shadow:none;mix-blend-mode:screen}
.page-home .site-header.revision-header .header-inner{border-bottom:1px solid #ffffff26;min-height:118px}
.page-home .site-header.revision-header .identity img{mix-blend-mode:screen}
.page-home .site-header.revision-header :is(nav>a,.language,.menu-button){color:#fff}
.page-home .site-header.revision-header .language{border-color:#ffffff40}
.page-home .site-header.revision-header .nav-contact{background:transparent;color:#fff;border-color:#c6b083}
.page-home .site-header.revision-header .nav-contact:hover{background:#ffffff14;color:#fff}
.page-home .lx-hero{height:calc(100svh - 26px);min-height:820px;max-height:1200px}
.page-home .lx-hero-content{padding-top:150px;padding-bottom:150px}
.page-home:has(.menu-button[aria-expanded=true]) .site-header.revision-header{mix-blend-mode:normal;background:#0b1628}
.page-home .site-header.revision-header nav.open{background:#0b1628e8;color:#fff;border-color:#b49a6540;backdrop-filter:blur(20px)}
.page-home .site-header.revision-header nav.open .nav-contact{background:transparent;color:#fff;border-color:#b49a65}
@media(max-width:760px){
 .page-home .site-header.revision-header{top:24px}
 .page-home .site-header.revision-header .header-inner{min-height:88px}
 .page-home .lx-hero{height:calc(100svh - 24px);min-height:810px;max-height:1000px}
 .page-home .lx-hero-content{padding-top:150px;padding-bottom:165px}
}

/* Client-supplied vector identity and persistent, scroll-aware navigation. */
html{scroll-padding-top:125px}
.site-header.revision-header{position:sticky;top:0;z-index:50;transition:background-color .24s,color .24s,box-shadow .24s}
.page-home .site-header.revision-header{position:fixed;top:var(--header-offset,26px);mix-blend-mode:normal;z-index:50}
.page-home .site-header.revision-header .identity img{mix-blend-mode:normal}
.site-header.revision-header .identity img{height:auto;aspect-ratio:1494/485;transition:width .24s}
.page-home .site-header.revision-header.is-scrolled,.page-home:has(.menu-button[aria-expanded=true]) .site-header.revision-header.is-scrolled{background:#fff;color:#0b1628;box-shadow:0 3px 20px #0b162810;mix-blend-mode:normal;border-bottom:1px solid #dedbd5}
.page-home .site-header.revision-header.is-scrolled .header-inner{min-height:90px;border-bottom:0;padding-block:6px}
.page-home .site-header.revision-header.is-scrolled .identity img{width:230px}
.page-home .site-header.revision-header.is-scrolled :is(nav>a,.language,.menu-button){color:#0b1628}
.page-home .site-header.revision-header.is-scrolled .language{border-color:#dedbd5}
.page-home .site-header.revision-header.is-scrolled .nav-contact,.page-home .site-header.revision-header.is-scrolled nav.open .nav-contact{color:#0b1628;background:transparent;border-color:#b49a65}
.page-home .site-header.revision-header.is-scrolled .nav-contact:hover{background:#0b1628;color:#fff}
.page-home .site-header.revision-header.is-scrolled nav.open{background:#fffffff5;color:#0b1628;border-color:#dedbd5}
@media(max-width:760px){html{scroll-padding-top:100px}.page-home .site-header.revision-header{top:var(--header-offset,24px)}.page-home .site-header.revision-header.is-scrolled .header-inner{min-height:78px}.page-home .site-header.revision-header.is-scrolled .identity img{width:190px}}
@media(prefers-reduced-motion:reduce){.site-header.revision-header,.site-header.revision-header .identity img{transition:none}}

/* Mobile contact: circular at rest, labelled while scrolling, explicit actions on tap. */
.mobile-contact{display:none}
@media(max-width:760px){
 .mobile-contact{display:block;position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:70}
 .mobile-contact-toggle{display:flex;align-items:center;justify-content:flex-start;gap:0;width:58px;height:58px;padding:0 17px;border:1px solid #c9b47e;border-radius:40px;background:#0b1628;color:#fff;box-shadow:0 5px 22px #0b162833;cursor:pointer;overflow:hidden;transition:width .25s ease,background-color .2s}
 .mobile-contact-toggle svg{flex:0 0 24px;width:24px;height:24px;color:#d7c28e}
 .mobile-contact-toggle>span{font-size:13px;font-weight:500;white-space:nowrap;opacity:0;max-width:0;transition:opacity .18s,max-width .25s,margin .25s}
 .mobile-contact:is(.is-moving,.is-open) .mobile-contact-toggle,.mobile-contact-toggle:focus-visible{width:174px}
 .mobile-contact:is(.is-moving,.is-open) .mobile-contact-toggle>span,.mobile-contact-toggle:focus-visible>span{opacity:1;max-width:120px;margin-left:11px}
 .mobile-contact-panel{position:absolute;right:0;bottom:74px;width:min(330px,calc(100vw - 40px));padding:20px;background:#fff;color:#0b1628;border:1px solid #d9c99f;box-shadow:0 12px 48px #0b162833;border-radius:12px;max-height:calc(100dvh - 160px);overflow:auto}
 .mobile-contact-panel[hidden]{display:none}
 .mobile-contact-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:14px}
 .mobile-contact-heading strong{display:block;font-size:17px;font-weight:500}
 .mobile-contact-heading span{display:block;font-size:11px;color:#687080;margin-top:6px}
 .mobile-contact-close{flex:0 0 44px;width:44px;height:44px;margin:-10px -10px 0 0;border:0;background:transparent;color:#0b1628;font-size:28px;cursor:pointer}
 .mobile-contact-panel>a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;text-decoration:none;border-top:1px solid #ece9e2;color:#0b1628;font-size:14px}
 .mobile-contact-panel>a small{font-size:10px;color:#687080}
 .mobile-contact :is(a,button):focus-visible{outline:2px solid #b49a65;outline-offset:4px}
 body:has(.menu-button[aria-expanded=true]) .mobile-contact,body:has(dialog[open]) .mobile-contact{display:none}
 .footer{padding-bottom:100px}
}
@media(prefers-reduced-motion:reduce){.mobile-contact-toggle,.mobile-contact-toggle>span{transition:none}}
