
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{overflow-wrap:break-word}
img{max-width:100%;height:auto}
.founders img,.about-pair>img{height:auto}
.founders figure{min-width:0}
main,section,article,.portrait-copy,.prose,.contact-items,.footer-top>div{min-width:0}
button,a,select{touch-action:manipulation}
@media(max-width:1100px){header nav{display:none!important}header .contact-link{display:none!important}header .menu-button{display:block;min-height:44px;min-width:64px;font-size:14px}#mobile-menu a{min-height:48px;display:flex;align-items:center;font-size:16px}}
@media(min-width:761px) and (max-width:1100px){html[data-design=editorial] .hero h1.brand-tagline{font-size:clamp(48px,6.6vw,74px)}html:not([data-design=original]) .page-heading h1{overflow-wrap:normal}html[data-design=editorial] .portrait-copy{padding:45px 32px}html[data-design=editorial] .portrait-copy h1{font-size:54px}.contact-grid{gap:40px}.contact-items a{font-size:20px;overflow-wrap:anywhere}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:last-child{grid-column:1/-1}}
@media(max-width:760px){
:root,html:not([data-design=original]){--pad:24px}
header,html:not([data-design=original]) header{position:sticky;top:0;z-index:80;height:76px;padding:0 var(--pad);gap:14px}
header .brand img{width:38px;height:38px}.brand{gap:11px}html:not([data-design=original]) .brand>span{font-size:15px;letter-spacing:.22em}.brand small{font-size:9px!important;letter-spacing:.2em!important}
header .menu-button{min-height:44px;min-width:66px;padding:8px 12px;font-size:14px;letter-spacing:.05em}
#mobile-menu{position:sticky;top:76px;z-index:79;max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;padding:8px var(--pad) 20px;border-bottom:1px solid var(--line)}
#mobile-menu a{padding:12px 0;font-size:16px;letter-spacing:.06em;border-bottom:1px solid #8885}
#mobile-menu a:last-child{border:0}.skip-link{z-index:200}
.section,html:not([data-design=original]) .section{padding:56px var(--pad)}
.page-heading,html:not([data-design=original]) .page-heading{padding:45px var(--pad) 40px}
.eyebrow,html:not([data-design=original]) .eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.8;margin-bottom:18px}
body,html:not([data-design=original]) body{font-size:16px;line-height:1.75;letter-spacing:.012em}
.page-heading p:last-child,.intro p:not(.eyebrow),.about-pair p,.team-feature-copy p:not(.eyebrow),.prose p,.article-heading>p:last-child,html:not([data-design=original]) .intro p:not(.eyebrow),html:not([data-design=original]) .prose p{font-size:16px;line-height:1.85;letter-spacing:.01em}
html[data-design=editorial] h2{font-size:40px;line-height:1.12;letter-spacing:.025em}
html[data-design=editorial] .page-heading h1{font-size:46px;line-height:1.1;letter-spacing:.025em;margin-bottom:20px}
html[data-design=editorial] .article-heading h1{font-size:39px;line-height:1.12;letter-spacing:.02em}
html[data-design=editorial] .portrait-copy h1{font-size:48px;line-height:1.12;letter-spacing:.02em}
html[data-design=editorial] .detail-title h1{font-size:40px;line-height:1.12;letter-spacing:.025em}
html[data-design=editorial] .neighborhood-hero h1{font-size:48px;line-height:1.12;letter-spacing:.025em}
h1,h2,h3{overflow-wrap:normal;word-break:normal}
/* Content-led cover height keeps the headline, button and caption apart. */
html[data-design=editorial] .hero,html[data-design=editorial] .hero:has(.brand-tagline){margin:12px 12px 0;display:flex;flex-direction:column;justify-content:center;min-height:540px;height:auto;max-height:none;padding:0}
html[data-design=editorial] .hero-copy{position:relative;inset:auto;transform:none;width:100%;padding:58px 20px 30px;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}
html[data-design=editorial] .hero h1.brand-tagline{font-size:clamp(20px,calc(9vw - 6px),44px);line-height:1.25;letter-spacing:.012em;max-width:100%;width:100%;margin:0 0 24px}
html[data-design=editorial] .hero h1.brand-tagline span{display:block;white-space:nowrap}
html[data-design=editorial] .hero .eyebrow{font-size:11px;line-height:1.8;letter-spacing:.17em;max-width:280px;margin-bottom:27px}
html[data-design=editorial] .hero-intro{font-size:15px;letter-spacing:.05em;line-height:1.7;margin:0 0 26px}
html[data-design=editorial] .hero .button{font-size:12px;letter-spacing:.09em;min-height:50px;padding:15px 18px;gap:18px;max-width:100%}
html[data-design=editorial] .hero-bottom{position:relative;inset:auto;display:flex;justify-content:center;margin:0 20px;padding:15px 0 20px;flex:none}
html[data-design=editorial] .hero-bottom a{font-size:14px;letter-spacing:.03em;min-height:44px;display:flex;align-items:center}
html[data-design=editorial] .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center}
.hero-bottom>span{display:none!important}
.button,html:not([data-design=original]) .button{min-height:48px;font-size:13px;letter-spacing:.08em;line-height:1.5}
.text-link,html:not([data-design=original]) .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:13px;letter-spacing:.08em;gap:24px;padding:10px 0;max-width:100%}
.section-heading,html[data-design=editorial] .section-heading{margin-bottom:28px;display:block}
.section-heading .text-link{margin-top:14px!important}
.property-grid,.journal-grid,.neighborhood-grid,.contact-grid,.about-pair,.team-feature,.article-layout{grid-template-columns:minmax(0,1fr);gap:34px}
html[data-design=editorial] .home-portfolio .property-grid{grid-template-columns:minmax(0,1fr);gap:40px}
html[data-design=editorial] .home-portfolio .property-card:first-child{grid-row:auto}
html[data-design=editorial] .home-portfolio .property-card:nth-child(n) .photo,.property-card .photo{aspect-ratio:4/3}
.property-card .price,html:not([data-design=original]) .property-card .price{font-size:20px;letter-spacing:.055em;margin-top:17px}
html[data-design=editorial] .property-card h3{font-size:27px;line-height:1.3;letter-spacing:.02em}
.property-card .location{font-size:14px;margin-bottom:12px}
.property-card .facts,html:not([data-design=original]) .property-card .facts{font-size:14px;gap:10px 18px;letter-spacing:0}
.tag,html:not([data-design=original]) .tag{font-size:11px;letter-spacing:.09em;top:12px;left:12px;padding:5px 9px}
.filters{gap:24px;align-items:center;margin-bottom:28px;flex-wrap:wrap}
.filters button,html:not([data-design=original]) .filters button{min-height:48px;padding:10px 0;font-size:14px;letter-spacing:.08em}
.count{font-size:12px;margin-left:auto;padding:0}
.collection-note{font-size:13px;line-height:1.7;margin-top:25px}
.stats,html:not([data-design=original]) .stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:30px var(--pad);gap:28px 20px}
.stat strong,html:not([data-design=original]) .stat strong{font-size:clamp(28px,8vw,38px);line-height:1.15;letter-spacing:0;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.stat span,html:not([data-design=original]) .stat span{font-size:10px;letter-spacing:.08em;line-height:1.55;margin-top:12px;max-width:145px;min-height:3.1em}
.stat small,html:not([data-design=original]) .stat small{font-size:11px;letter-spacing:0;line-height:1.5;margin-top:5px}
.team-grid,html:not([data-design=original]) .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}
.agent-card h3,html:not([data-design=original]) .agent-card h3{font-size:24px;line-height:1.18;letter-spacing:.01em;margin-top:14px}
.agent-card p,html:not([data-design=original]) .agent-card p{font-size:14px;letter-spacing:0;line-height:1.6}
.agent-card .view,html:not([data-design=original]) .agent-card .view{font-size:14px;letter-spacing:0;line-height:1.5;margin-top:12px}
.founders{grid-template-columns:minmax(0,1fr);gap:32px;width:100%}.founders figure:nth-child(2){margin-top:0}.founders img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top}.founders figure:first-child img{object-position:65% top}
html[data-design=editorial] .founders figcaption{font-size:23px;line-height:1.2}
html[data-design=editorial] .founders figcaption small{font-size:12px;letter-spacing:.02em;line-height:1.7}
.languages{font-size:12px;letter-spacing:.07em;line-height:1.8;margin-top:26px}
.portrait-intro{min-height:0;grid-template-columns:1fr}.portrait-intro>img{height:auto;max-height:580px;aspect-ratio:4/4.5;object-position:center 22%}
.portrait-copy,html:not([data-design=original]) .portrait-copy{padding:36px var(--pad)}
.portrait-copy .bio-intro{font-size:16px;line-height:1.75;margin-bottom:24px}
.breadcrumbs{font-size:14px;line-height:1.8;margin-bottom:24px}.breadcrumbs a{display:inline-block;min-height:44px;padding:10px 0}
.agent-contact{gap:10px 22px;padding-top:16px}.agent-contact a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;overflow-wrap:anywhere}
.neighborhood-grid .neighborhood-card:nth-child(n){transform:none!important}
.neighborhood-card,html[data-design=editorial] .neighborhood-card{aspect-ratio:1.08}
.neighborhood-card>div{left:22px;right:22px;bottom:25px}
html[data-design=editorial] .neighborhood-card h3{font-size:36px;line-height:1.15;letter-spacing:.025em}
.neighborhood-card span{font-size:14px;line-height:1.7}
.neighborhood-hero{height:440px;min-height:0}.neighborhood-hero>div{bottom:35px}
.journal-card .photo{aspect-ratio:4/3}
html[data-design=editorial] .journal-card h3{font-size:32px;line-height:1.17;letter-spacing:.02em;margin-bottom:10px}
.journal-card .eyebrow{margin:20px 0 12px}
.article-heading{padding:42px var(--pad) 32px}
.article-cover{width:calc(100% - 32px);margin:0 16px;height:auto;aspect-ratio:4/3;min-height:0}
.article-body{width:100%;padding:40px var(--pad) 60px}
.prose{max-width:100%;min-width:0}.prose h2,html[data-design=editorial] .prose h2{font-size:34px;line-height:1.18;margin-top:34px}
.source-link{display:inline-block;padding:10px 0;min-height:44px;font-size:14px;line-height:1.8}
.detail-title{padding:36px var(--pad)}.detail-title .price{font-size:26px;white-space:normal;margin-top:20px}
.property-detail-image{height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover}
.detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:25px var(--pad)}
.detail-facts strong{font-size:24px}.detail-facts span{font-size:11px;letter-spacing:.06em}
.contact-items a{font-size:clamp(18px,5vw,23px);line-height:1.8;min-height:44px;display:inline-block;overflow-wrap:anywhere;max-width:100%}
.contact-grid .portrait{height:auto;aspect-ratio:4/3}.contact-grid h2{font-size:38px}
.values{grid-template-columns:1fr;gap:25px}.values article{padding-top:20px}
html[data-design=editorial] .values h3{font-size:31px}
.cta .button{margin-top:24px!important}.cta h2{max-width:100%}
footer{padding:45px var(--pad) max(25px,env(safe-area-inset-bottom))}
.footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.footer-top>div:last-child{grid-column:auto}
.footer-top p,.footer-top a{font-size:15px;line-height:1.8}.footer-top a:not(.brand){min-height:44px;display:inline-flex;align-items:center}
.footer-links{gap:3px 24px}.disclaimer{font-size:12px;line-height:1.85;padding-top:23px}.footer-bottom{display:block;font-size:12px;line-height:1.8}.footer-bottom span{display:block;margin-top:8px}
}
@media(max-width:360px){:root,html:not([data-design=original]){--pad:20px}.brand{gap:8px}html:not([data-design=original]) .brand>span{font-size:13px;letter-spacing:.2em}.team-grid,html:not([data-design=original]) .team-grid{grid-template-columns:minmax(0,1fr)}html[data-design=editorial] .page-heading h1{font-size:41px}.detail-facts{gap:12px}.detail-facts strong{font-size:22px}}
@media(max-height:500px) and (max-width:1100px){header,html:not([data-design=original]) header{position:relative}#mobile-menu{position:relative;top:auto;max-height:none}html[data-design=editorial] .hero{height:auto;max-height:none;min-height:560px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:1101px){#mobile-menu{display:none!important}}

/* Leave enough room for the International menu item before switching to desktop navigation. */
@media(max-width:1280px){header nav{display:none!important}header .contact-link{display:none!important}header .menu-button{display:block;min-height:44px;min-width:64px}#mobile-menu a{min-height:48px;display:flex;align-items:center;gap:8px}}
header nav a{white-space:nowrap}
