/* One family, two weights, four readable sizes. Shared by every route. */
:root{--reading-font:"EB Garamond",Georgia,serif;--type-display:64px;--type-heading:44px;--type-body:24px;--type-ui:18px;--accent:#f36b21;--brand-navy:#0f2243;--ink:#151515;--paper:#fff}
.orange-dot,.facts-grid i{background:var(--brand-navy)}
.property-hero-title h1>span,.person-name h1>span{color:var(--brand-navy)}
.business-license{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 32px;padding:24px 0 32px}
.business-license p,.business-license a{font-size:var(--type-ui)!important;line-height:1.5!important;margin:0}
.business-license p span{white-space:nowrap}
.business-license a:hover{color:var(--accent)}
body{font-family:var(--reading-font)!important;background:#fff!important;color:var(--ink);font-size:var(--type-body);font-weight:400;line-height:1.5}
body :is(h1,h2,h3,p,a,button,input,select,small,span,label,strong,text){font-family:var(--reading-font)!important;letter-spacing:0!important;text-shadow:none!important;font-style:normal}
body :is(h1,h2,h3){font-weight:600!important;line-height:1.12!important}
body h1{font-size:var(--type-display)!important}
body h2{font-size:var(--type-heading)!important}
body h3{font-size:var(--type-body)!important}
body p{font-size:var(--type-body)!important;font-weight:400!important;line-height:1.55!important;color:inherit!important;opacity:1!important}
body :is(a,button,input,select,small,label){font-size:var(--type-ui);font-weight:400}
body :is(.eyebrow,.small-label,.story-heading>.small-label,.photo-note,.card-info p,.feature-caption p,.property-hero-bottom p,.property-hero-bottom p>span,.immersive-caption p,.sold-caption p,.service-result-label,.footer-base,.footer-bottom,.footer-person p,.facts-grid>div>span,.facts-bottom p,.portrait-note,.working-points article>span,.process-list article>span,.photo-controls p,.photo-controls p span,.menu-top,.menu-phone,.menu-tel,.hero-baseline,.concept-label){font-size:var(--type-ui)!important;font-weight:400!important;color:inherit!important;opacity:1!important;letter-spacing:0!important;line-height:1.5!important}
body :is(.lp-topnav,.book-link,.header-actions,.text-link,.text-cta,.btn-orange,.services-signoff a,.orange-link,.quiet-link,.footer-contact a,.footer-person>a,.gallery-all,.back,.menu-close,.property-hero-title>a,.property-photo>span,.property-photo small,.detail-info){font-size:var(--type-ui)!important;font-weight:400!important;opacity:1!important}
body :is(.service-result h2,.working-style h2,.person-story h2,.property-story h2,.property-enquiry h2,.lp-footer h2,.editorial-footer h2){font-size:var(--type-heading)!important}
body :is(.services-intro h1,.services-intro h2){font-size:var(--type-display)!important;font-weight:600!important;line-height:1.1!important}
body :is(.facts-grid strong,.working-points h3){font-size:var(--type-body)!important;font-weight:600!important}
body :is(.lp-menu nav a,#menu-panel nav a){font-size:var(--type-body)!important;font-weight:400!important}
body :is(.lp-menu nav small,#menu-panel nav span){font-size:var(--type-ui)!important;color:inherit!important}
/* Section separation comes from spacing, photographs and changes of surface. */
body *,body *::before,body *::after{border-width:0!important}
hr,.film-progress{display:none!important}
.lp-topnav a::after{display:none!important}
.portrait-placeholder::before,.portrait-placeholder::after{display:none}
.portrait-placeholder{background:#f3f3f3}
.portrait-mark{color:#555}
.portrait-note{background:none;padding:0}
.property-photo>span,.gallery-all,.working-points article,.process-list article,.story-principles article{padding-top:28px;padding-bottom:28px}
.service-result{padding:38px 0 52px;grid-template-columns:.65fr 1.8fr 1.25fr;gap:36px;align-items:start}
.service-result p{max-width:620px}
.service-result .btn-orange{align-self:center;white-space:normal}
.services-signoff{padding:24px 0 80px;gap:40px}
.services-intro{padding:68px 6vw 12px}
.services-intro>.eyebrow{margin-bottom:26px}
.services-intro>p:last-child{margin:26px auto 0;max-width:760px}
.service-tabs{gap:10px}
.service-tabs button{font-size:var(--type-ui)!important;background:#f3f3f3;min-height:52px}
.service-tabs button[aria-pressed=true]{background:var(--accent)}
.city-label{font-size:20px!important;font-weight:400!important}
.city-marker text{font-size:16px!important}
.services-section{background:#fff;scroll-margin-top:30px}
.home-services{padding:28px 0 24px}
.home-photo-transition{position:relative;height:85svh;min-height:560px;max-height:1000px;margin:0;isolation:isolate;color:white}
.home-photo-transition>.image-link{position:absolute;inset:0;z-index:-2}
.home-photo-transition>.image-link img{width:100%;height:100%;object-fit:cover}
.home-photo-transition::before{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#000b);pointer-events:none;z-index:-1}
.transition-copy{position:absolute;left:6vw;bottom:7vw;pointer-events:none}
.transition-copy p{font-size:var(--type-ui)!important;margin:12px 0}
.transition-copy h2{font-size:var(--type-display)!important}
.transition-copy a{pointer-events:auto;margin-top:16px}
.feature-caption{align-items:start;padding-top:28px}
.feature-caption h3{margin-bottom:8px}
.approach-preview{gap:8vw;grid-template-columns:1fr 1.15fr;margin:140px 7vw}
.approach-copy h2{margin:26px 0}
.approach-copy p{margin-bottom:28px}
.approach-image{height:680px;max-height:80svh}
.collection-exit{padding:55px 6vw 0}
.lp-header{height:118px;padding:0 4vw}
.lp-topnav{gap:30px}
.lp-header-right{gap:24px}
.book-link{padding:12px 18px}
.lp-footer,.editorial-footer{background:#151515!important;color:#fff;padding-top:90px!important}
.footer-person,.footer-contact{gap:18px}
.footer-base,.footer-bottom{padding-top:28px}
.footer-top,.footer-main{padding-bottom:50px}
.hero-signature{mix-blend-mode:normal!important;opacity:1!important}
.hero-signature h1{font-size:var(--type-body)!important;font-weight:400!important;line-height:1.5!important;margin:20px 0 0}
.hero-logo{mix-blend-mode:screen}
.hero-baseline{bottom:36px;align-items:center;gap:24px}
.hero-baseline>a{font-size:var(--type-ui)!important}
.hero-explore{background:var(--accent);color:#151515;padding:14px 24px;min-height:52px}
.hero-explore span{font-size:var(--type-body)!important}
.property-hero-title{top:160px}
.property-hero-title h1{margin-top:24px}
.property-story,.property-enquiry,.person-story{padding-top:110px;padding-bottom:110px}
.person-story{grid-template-columns:.7fr 1.5fr}
.person-story p:not(.eyebrow),.property-story p:not(.eyebrow){max-width:740px}
.working-style{gap:8vw}
.working-points article{gap:30px}
.working-points p{max-width:620px}
.property-facts{padding-top:50px;padding-bottom:50px}
.facts-bottom{margin-top:36px}
.facts-grid{gap:24px}
.filter-row input,.filter-row select{background:#f2f2f2!important;font-family:var(--reading-font)!important;font-size:var(--type-ui)!important;min-height:54px}
.card-info{padding-bottom:24px}
.card .photo .status-label{font-size:var(--type-ui)!important;background:#fff;color:#151515;padding:6px 14px}
.detail-top{gap:30px}
.detail-info{font-size:var(--type-body)!important}
/* Orange enters from the left on interaction, with the same cue for keyboard users. */
:is(.text-link,.text-cta,.book-link,.services-signoff a,.quiet-link,.footer-contact a,.orange-link,.lp-topnav a,.header-actions>a,.gallery-all){background-image:linear-gradient(var(--accent),var(--accent));background-position:left center;background-size:0 100%;background-repeat:no-repeat;transition:background-size .28s ease,color .28s ease;padding:12px 18px;min-height:48px;color:inherit}
:is(.text-link,.text-cta,.book-link,.services-signoff a,.quiet-link,.footer-contact a,.orange-link,.lp-topnav a,.header-actions>a,.gallery-all):is(:hover,:focus-visible){background-size:100% 100%;color:#151515!important}
:is(.text-link,.text-cta,.book-link)>span{color:var(--accent)}
:is(.text-link,.text-cta,.book-link):is(:hover,:focus-visible)>span{color:#151515}
.btn-orange{color:#151515;min-height:54px;padding:14px 22px;font-weight:400!important}
:is(.image-link,.property-photo,.property-detail-shot,.card .photo){position:relative;overflow:hidden}
:is(.image-link,.property-photo,.property-detail-shot,.card .photo)::after{content:"↗";position:absolute;left:0;bottom:0;width:72px;height:72px;background:var(--accent);color:#151515;display:grid;place-items:center;font:400 32px var(--reading-font);transform:translateX(-101%);transition:transform .3s ease;pointer-events:none;z-index:3}
:is(.image-link,.property-photo,.property-detail-shot):is(:hover,:focus-visible)::after,.card:is(:hover,:focus-visible) .photo::after{transform:translateX(0)}
.immersive-link:hover .text-link,.sold-image:hover .text-link{background-size:100% 100%;color:#151515}
.lp-menu nav a,#menu-panel nav a{transition:padding .25s,background .25s;padding-left:12px!important}
.lp-menu nav a:is(:hover,:focus-visible),#menu-panel nav a:is(:hover,:focus-visible){background:var(--accent);color:#151515!important;padding-left:28px!important}
a:focus-visible,button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b4430b!important;outline-offset:4px}
@media(max-width:950px){.lp-topnav{display:none}.service-result{grid-template-columns:1fr 2fr}.service-result .btn-orange{grid-column:2;justify-self:start}.approach-preview{gap:6vw}}
@media(max-width:650px){
 :root{--type-display:44px;--type-heading:32px;--type-body:21px;--type-ui:16px}
 .lp-header{height:98px;padding:0 5vw;gap:10px}.lp-logo{width:94px;height:62px}.lp-header-right{gap:6px}.book-link{padding:10px 8px;gap:8px}.lp-menu-toggle{width:36px}
 .lp-menu{padding:24px 6vw}.lp-menu nav{margin:26px 0}.lp-menu nav a{padding-top:12px;padding-bottom:12px}
 .services-intro{padding:48px 6vw 0}.services-intro>p:last-child{max-width:320px}.home-services{padding-top:14px}
 .services-intro>.eyebrow{margin-bottom:24px}.city-scroll{margin-top:22px}
 .service-result{display:block;margin:30px 6vw 0;padding:20px 0 38px}.service-result-label{margin-bottom:24px}.service-result h2{margin-bottom:20px}.service-result .btn-orange{width:100%;margin-top:26px}
 .services-signoff{display:block;margin:0 6vw;padding-bottom:58px}.services-signoff p{margin-bottom:18px}.services-signoff a{white-space:normal;gap:18px}
 .hero-signature{width:85vw;max-width:340px}.hero-signature h1{max-width:270px;margin:18px auto 0}.hero-baseline{left:5vw;right:5vw;bottom:28px;align-items:center;gap:10px}.hero-explore{padding:12px 14px}.concept-label{display:none}
 .home-photo-transition{height:75svh;min-height:520px}.transition-copy{left:6vw;right:6vw;bottom:36px}.transition-copy a{margin-top:12px}
 .feature-caption{display:block}.feature-caption .text-link{margin:16px 0 0 -18px}.feature-duet{margin:75px 6vw;gap:40px}.duet-detail{width:80%}
 .immersive-caption,.sold-caption{display:block}.immersive-caption .text-link,.sold-caption .text-link{margin-top:18px}.immersive-caption{bottom:34px}.sold-caption{left:24px;right:24px}
 .collection-exit{display:block;padding:36px 6vw}.collection-exit>a{margin-top:14px;margin-left:-18px}
 .approach-preview{display:block;margin:65px 6vw}.approach-image{width:82%;height:440px;max-height:none}.approach-copy{padding:36px 0 0 8%}.approach-copy h2{margin:20px 0}.approach-copy .text-link{margin-left:-18px}
 .property-hero-title{top:150px}.property-hero-title h1{margin-top:24px}.property-hero-bottom{bottom:32px}.property-hero-bottom p>span{display:block}
 .facts-grid{grid-template-columns:1fr 1fr;gap:24px}.facts-grid>div:last-child{grid-column:1/-1}.facts-bottom{margin-top:28px}.property-facts{padding:40px 6vw}.facts-bottom .btn-orange{margin-top:24px}
 .property-story,.property-enquiry,.person-story{padding:60px 6vw}.person-story h2{margin-bottom:28px}.person-intro{margin:35px 6vw 55px}.person-name h1{margin:26px 0}.portrait-placeholder{width:82%;margin-top:34px}.portrait-note{left:14px;right:14px;bottom:18px;font-size:16px!important}.portrait-mark{font-size:var(--type-display)}
 .working-style{margin:0 6vw 55px;padding-top:0}.working-points article{gap:18px}.property-photo>span{padding:18px 0}.photo-controls{gap:12px}.photo-controls>button{flex-shrink:0}
 .footer-base,.footer-bottom{gap:20px}.lp-footer,.editorial-footer{padding-top:60px!important}.footer-person{margin-top:35px}
 .listing-page .collection .cards{grid-template-columns:1fr}.detail-top{display:block}.detail-top a{display:inline-block;margin-top:18px}.story-next{font-size:var(--type-body)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}html{scroll-behavior:auto!important}}

.hero-logo{height:auto!important;overflow:visible;mix-blend-mode:normal!important;width:360px;max-width:80%;margin:auto}.hero-logo svg{display:block;width:100%;height:auto}
@media(max-width:650px){.hero-logo{width:250px;max-width:85%}}
.home-page .home-photo-transition>.image-link{position:absolute;inset:0;width:100%;height:100%}.home-photo-transition{overflow:hidden}
.home-photo-transition::before{display:none}.home-photo-transition>.image-link::before{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#000b);z-index:1;pointer-events:none}

/* Shared, touch-friendly language selector on both page systems. */
.language-switch{display:flex!important;align-items:center;gap:2px;flex-shrink:0;margin:0;padding:0;position:static!important}
.language-switch a{display:inline-flex!important;align-items:center;justify-content:center;min-width:40px;min-height:44px;padding:4px 7px!important;font:400 16px var(--reading-font);letter-spacing:0;text-decoration:none;color:inherit;background:transparent;opacity:1}
.language-switch a[aria-current=page]{font-weight:600}
.language-switch a:hover,.language-switch a:focus-visible{background:var(--accent);color:#151515}
.lp-header-right .language-switch{margin-right:8px}
@media(max-width:650px){.lp-header-right .book-link{display:none}.lp-header-right{gap:8px}.lp-header-right .language-switch{margin-right:2px}.language-switch a{min-width:40px}.header-actions .language-switch{display:flex!important}.header-actions{gap:8px!important}}

/* Contact and legal pages share the site's editorial type and white canvas. */
.legal-links{display:flex;flex-wrap:wrap;gap:8px 28px;margin:36px 0;font-size:18px}.legal-links a{display:inline-flex;align-items:center;min-height:44px;color:inherit}.legal-links a:hover{color:#f36b21}
.legal-document{max-width:940px;margin:0 auto;padding:180px 32px 110px;color:#151515}.legal-document h1,.contact-intro h1{font-size:clamp(42px,5vw,76px);font-weight:600;line-height:1.08;letter-spacing:-.025em;margin:24px 0 32px}.legal-document .legal-intro{font-size:26px;line-height:1.45}.legal-date{font-size:18px;margin-top:28px}.legal-document section{margin-top:48px}.legal-document h2{font-size:30px;line-height:1.2;font-weight:600;margin-bottom:18px}.legal-document section p{font-size:22px;line-height:1.6}
.contact-page{display:grid;grid-template-columns:1fr 1.15fr;gap:7vw;padding:180px 6vw 100px;max-width:1680px;margin:auto;color:#151515}.contact-intro>p{font-size:26px;line-height:1.45}.contact-direct{margin-top:56px;font-size:23px;line-height:1.5}.contact-direct a{display:inline-block;min-height:44px}.contact-direct p:last-child{font-size:19px;margin-top:24px}.contact-form-wrap{min-width:0}.form-preview-note{background:#f2f4f6;padding:24px;font-size:20px;line-height:1.4;margin-bottom:30px;border-radius:6px}.form-preview-note p{margin:10px 0 0}.contact-form-wrap form{font-size:20px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-field{display:flex;flex-direction:column;margin-top:22px;min-width:0}.form-field label{font-weight:600;font-size:22px;margin-bottom:10px}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:52px;background:#f6f6f6;border:1px solid #777!important;border-radius:4px;padding:12px;color:#151515;font:inherit;box-sizing:border-box}.form-field textarea{resize:vertical}.form-field [aria-invalid=true]{border:2px solid #a32121!important}.field-hint{font-size:18px;line-height:1.4;margin-top:10px}.field-error{color:#a32121;margin-top:8px}.form-errors{background:#fff0f0;padding:22px;margin:20px 0;color:#7e1414}.form-errors ul{padding-left:24px}.form-errors a{display:inline-block;padding:6px 0;text-decoration:underline}.form-privacy{font-size:19px;line-height:1.5;margin:28px 0}.form-privacy a{text-decoration:underline;text-underline-offset:4px;display:inline-block;min-height:44px;padding-top:10px}.form-status{margin-top:20px;line-height:1.4}.contact-page .btn-orange{font-size:21px;min-height:52px;color:#171717}.contact-page :focus-visible,.legal-links a:focus-visible{outline:3px solid #0f2243;outline-offset:5px}.lp-footer .legal-links a:focus-visible{outline-color:#fff}
@media(max-width:760px){.contact-page{grid-template-columns:1fr;padding:130px 22px 65px;gap:42px}.contact-intro>p{font-size:23px}.contact-direct{margin-top:28px}.contact-form-grid{grid-template-columns:1fr;gap:0}.legal-document{padding:130px 22px 65px}.legal-document .legal-intro{font-size:23px}.legal-document section p{font-size:20px}.legal-document h2{font-size:28px}.legal-links{gap:6px 20px;font-size:18px}.form-preview-note{padding:20px}.form-field label{font-size:21px}}
