
/* The review controls belong to the design study{position:sticky;top:0;z-index:100;background:#f9f9f9;color:#202020;border-bottom:1px solid #d6d6d6;min-height:60px;display:flex;align-items:center;justify-content:space-between;padding:9px 28px;gap:22px;font:14px/1.3 'Compass Sans',Arial,Helvetica,sans-serif;letter-spacing:0}
html:not([data-design=original]){--pad:clamp(28px,6vw,104px)}
html:not([data-design=original]) body{letter-spacing:.025em;line-height:1.8}
html:not([data-design=original]) .eyebrow{letter-spacing:.23em;line-height:1.9;font-size:12px}
html:not([data-design=original]) nav a{font-size:12px;text-transform:uppercase;letter-spacing:.14em;line-height:1.6}
html:not([data-design=original]) .brand>span{letter-spacing:.3em;font-size:19px}
html:not([data-design=original]) .brand small{letter-spacing:.32em;font-size:9px}
html:not([data-design=original]) .button{font-size:12px;text-transform:uppercase;letter-spacing:.15em;min-height:56px;padding:17px 23px}
html:not([data-design=original]) .text-link{font-size:12px;text-transform:uppercase;letter-spacing:.14em;line-height:1.7}
html:not([data-design=original]) .section{padding-top:115px;padding-bottom:115px}
html:not([data-design=original]) .intro p:not(.eyebrow),html:not([data-design=original]) .prose p{line-height:1.95}
html:not([data-design=original]) .property-card .price{letter-spacing:.07em;font-size:22px}
html:not([data-design=original]) .property-card h3{letter-spacing:.065em;font-size:16px;line-height:1.8}
html:not([data-design=original]) .property-card .facts{font-size:12px;letter-spacing:.045em}
html:not([data-design=original]) .tag{letter-spacing:.16em;padding:7px 11px;font-size:10px}
html:not([data-design=original]) .stat strong{letter-spacing:.035em;font-size:clamp(34px,3.5vw,53px)}
html:not([data-design=original]) .stat span{letter-spacing:.16em;line-height:1.8}
html:not([data-design=original]) .stat small{letter-spacing:.055em}
html:not([data-design=original]) .agent-card h3{letter-spacing:.06em;font-size:21px}
html:not([data-design=original]) .agent-card p,html:not([data-design=original]) .agent-card .view{letter-spacing:.08em}
html:not([data-design=original]) .filters button{letter-spacing:.13em;text-transform:uppercase;font-size:13px}
html:not([data-design=original]) .page-heading{padding-top:94px;padding-bottom:78px}
html:not([data-design=original]) .hero h1 span{display:block}
/* 02 — Editorial. A luxury publication with a serif voice and spacious imagery. */
html[data-design=editorial]{--ink:#25231f;--paper:#fbfaf7;--stone:#eeece6;--muted:#6b685f;--line:#d7d3c9}
html[data-design=editorial] header{background:var(--paper);color:var(--ink);height:122px;border-bottom:1px solid var(--line)}
html[data-design=editorial] header .brand img{filter:invert(1)}
html[data-design=editorial] .contact-link{font-size:12px;letter-spacing:.08em}
html[data-design=editorial] .menu-button{color:var(--ink)}
html[data-design=editorial] #mobile-menu{background:var(--paper);color:var(--ink)}
html[data-design=editorial] .hero{margin:28px 28px 0;height:calc(100svh - 210px);min-height:640px;max-height:1000px;text-align:center}
html[data-design=editorial] .hero-image{object-position:center 57%}
html[data-design=editorial] .hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.44),rgba(0,0,0,.2)),rgba(0,0,0,.13)}
html[data-design=editorial] .hero-copy{left:30px;right:30px;top:47%;transform:translateY(-50%)}
html[data-design=editorial] .hero h1{font-family:'Compass Serif',Georgia,serif;font-weight:400;font-size:clamp(64px,8.2vw,136px);letter-spacing:.04em;line-height:1.03;margin-bottom:25px}
html[data-design=editorial] .hero .eyebrow{font-size:11px;letter-spacing:.3em;margin-bottom:30px}
html[data-design=editorial] .hero-intro{font-size:16px;letter-spacing:.08em;line-height:1.95;margin-bottom:28px}
html[data-design=editorial] .hero .button{background:transparent;border-color:#fff;color:#fff;font-size:11px;letter-spacing:.19em}
html[data-design=editorial] .hero .button:hover{background:white;color:var(--ink)}
html[data-design=editorial] .hero-bottom{left:40px;right:40px;bottom:28px;border-top:1px solid #ffffff65;padding-top:18px;font-size:10px;letter-spacing:.2em}
html[data-design=editorial] .hero-bottom a{font-size:12px;letter-spacing:.08em}
html[data-design=editorial] h2,html[data-design=editorial] .page-heading h1,html[data-design=editorial] .portrait-copy h1,html[data-design=editorial] .detail-title h1,html[data-design=editorial] .article-heading h1,html[data-design=editorial] .neighborhood-hero h1{font-family:'Compass Serif',Georgia,serif;font-weight:400;letter-spacing:.025em;line-height:1.07}
html[data-design=editorial] h2{font-size:clamp(43px,4.6vw,76px)}
html[data-design=editorial] .page-heading h1{font-size:clamp(55px,6.5vw,100px)}
html[data-design=editorial] .portrait-copy h1{font-size:clamp(48px,5.8vw,88px)}
html[data-design=editorial] .article-heading h1{font-size:clamp(45px,5.5vw,80px)}
html[data-design=editorial] .intro{max-width:1350px;margin:auto;grid-template-columns:.7fr 1.4fr}
html[data-design=editorial] .stats{background:#eeece6;border:0;padding-top:55px;padding-bottom:55px}
html[data-design=editorial] .stat strong{font-family:'Compass Serif',Georgia,serif;font-size:clamp(46px,4.8vw,74px);letter-spacing:.015em}
html[data-design=editorial] .section-heading{align-items:center;margin-bottom:55px}
html[data-design=editorial] .home-portfolio .property-grid{grid-template-columns:1.6fr 1fr;gap:38px 55px;align-items:start}
html[data-design=editorial] .home-portfolio .property-card:first-child{grid-row:span 2}
html[data-design=editorial] .home-portfolio .property-card:first-child .photo{aspect-ratio:.73}
html[data-design=editorial] .home-portfolio .property-card:not(:first-child) .photo{aspect-ratio:2.1}
html[data-design=editorial] .property-card h3{font-family:'Compass Serif',Georgia,serif;font-size:28px;letter-spacing:.03em;line-height:1.35}
html[data-design=editorial] .property-card .price{font-size:18px;letter-spacing:.13em}
html[data-design=editorial] .team-feature{background:#e6e3dc;color:var(--ink)}
html[data-design=editorial] .team-feature p,html[data-design=editorial] .team-feature .eyebrow,html[data-design=editorial] .team-feature .languages{color:#615e56}
html[data-design=editorial] .team-feature .text-link{color:var(--ink);border-color:#777}
html[data-design=editorial] .team-feature .languages{border-color:#bdb6aa}
html[data-design=editorial] .founders figcaption{font-family:'Compass Serif',Georgia,serif;font-size:25px;letter-spacing:.025em}
html[data-design=editorial] .founders figcaption small{font-family:'Compass Sans',Arial,sans-serif;font-size:11px;letter-spacing:.14em;color:#6b685f;margin-top:5px}
html[data-design=editorial] .neighborhood-card{aspect-ratio:.75}
html[data-design=editorial] .neighborhood-card h3{font-family:'Compass Serif',Georgia,serif;font-size:39px;letter-spacing:.04em}
html[data-design=editorial] .neighborhood-grid .neighborhood-card:nth-child(3n+2){transform:translateY(40px)}
html[data-design=editorial] .journal-section{background:#f0eee8}
html[data-design=editorial] .journal-card h3{font-family:'Compass Serif',Georgia,serif;font-size:37px;line-height:1.2;letter-spacing:.025em}
html[data-design=editorial] .agent-card h3{font-family:'Compass Serif',Georgia,serif;font-size:30px;letter-spacing:.035em}
html[data-design=editorial] .agent-card .photo{aspect-ratio:.76}
html[data-design=editorial] .prose h2{font-size:44px}
html[data-design=editorial] .values h3{font-family:'Compass Serif',Georgia,serif;font-size:33px;letter-spacing:.025em}
html[data-design=editorial] .cta{text-align:center;display:block;background:#25231f}
html[data-design=editorial] .cta .button{margin-top:35px}
/* 03 — Noir. Cinematic photography{--ink:#ece7dd;--paper:#171a19;--stone:#232724;--muted:#babdb6;--line:#414842}
/* Shared responsive treatment prevents wider type from becoming crowded. */
@media(max-width:1250px){html:not([data-design=original]) header{gap:20px}html:not([data-design=original]) nav{gap:20px}html:not([data-design=original]) nav a{font-size:11px;letter-spacing:.1em}html:not([data-design=original]) .contact-link{display:none}html[data-design=editorial] .home-portfolio .property-grid{gap:35px}}
@media(max-width:1000px){html[data-design=editorial] .home-portfolio .property-card:first-child .photo{aspect-ratio:.65}html:not([data-design=original]) .team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){html:not([data-design=original]) header{height:88px;padding:0 24px}html:not([data-design=original]) .brand>span{font-size:16px;letter-spacing:.24em}html:not([data-design=original]) .section{padding:70px var(--pad)}html:not([data-design=original]) .eyebrow{font-size:11px;letter-spacing:.18em}html:not([data-design=original]) .intro{grid-template-columns:1fr;gap:20px}html:not([data-design=original]) .stats{grid-template-columns:1fr 1fr;gap:28px 22px}html:not([data-design=original]) .stat strong{font-size:39px}html:not([data-design=original]) .stat span{font-size:10px;letter-spacing:.12em}html:not([data-design=original]) .stat small{font-size:11px}html:not([data-design=original]) .page-heading{padding:55px var(--pad)}html:not([data-design=original]) .section-heading{display:block}html:not([data-design=original]) .section-heading .text-link{margin-top:20px}html:not([data-design=original]) .agent-card h3{font-size:19px;line-height:1.5}html:not([data-design=original]) .portrait-copy{padding:40px var(--pad)}html:not([data-design=original]) .hero-bottom>span{display:none}
html[data-design=editorial] .hero{margin:14px 14px 0;min-height:620px;height:calc(90svh - 191px);max-height:850px}
html[data-design=editorial] .hero-copy{left:20px;right:20px;top:46%}
html[data-design=editorial] .hero h1{font-size:clamp(45px,10vw,69px);letter-spacing:.025em;line-height:1.08}
html[data-design=editorial] .hero .eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:27px}
html[data-design=editorial] .hero-intro{font-size:14px;letter-spacing:.05em;line-height:1.9}
html[data-design=editorial] .hero .button{font-size:10px;letter-spacing:.11em;padding:14px 18px}
html[data-design=editorial] .hero-bottom{left:22px;right:22px;bottom:20px;justify-content:center}
html[data-design=editorial] .hero-bottom a{font-size:11px}
html[data-design=editorial] h2{font-size:44px}
html[data-design=editorial] .page-heading h1{font-size:52px}
html[data-design=editorial] .portrait-copy h1{font-size:56px}
html[data-design=editorial] .article-heading h1{font-size:44px}
html[data-design=editorial] .home-portfolio .property-grid{grid-template-columns:1fr;gap:40px}
html[data-design=editorial] .home-portfolio .property-card:first-child{grid-row:auto}
html[data-design=editorial] .home-portfolio .property-card:first-child .photo,html[data-design=editorial] .home-portfolio .property-card:not(:first-child) .photo{aspect-ratio:1.15}
html[data-design=editorial] .neighborhood-grid .neighborhood-card:nth-child(3n+2){transform:none}
html[data-design=editorial] .neighborhood-card{aspect-ratio:1.05}
html[data-design=editorial] .neighborhood-card h3{font-size:38px}
html[data-design=editorial] .journal-card h3{font-size:34px}
html[data-design=editorial] .agent-card h3{font-size:25px;line-height:1.2}
html[data-design=editorial] .founders figcaption{font-size:23px}
html:not([data-design=original]) .neighborhood-hero h1{font-size:38px;letter-spacing:.07em}
html[data-design=editorial] .neighborhood-hero h1{font-size:58px;letter-spacing:.03em}
}
@media(max-width:380px){html:not([data-design=original]) .brand>span{font-size:14px}html:not([data-design=original]) .team-grid{grid-template-columns:1fr}html[data-design=editorial] .hero h1{font-size:43px}}
/* Keep the original two-line headline intact when comparing directions. */
.hero h1 span{display:block}
/* A stable contrast floor for the small white type over the editorial cover. */
html[data-design=editorial] .hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.12),transparent),rgba(0,0,0,.54)}
/* Selected brand message from the listing presentation. */
.hero h1.brand-tagline{font-size:clamp(36px,5.7vw,88px);letter-spacing:.025em;line-height:1.13}
html[data-design=editorial] .hero h1.brand-tagline{font-size:clamp(52px,6.4vw,100px);line-height:1.1;letter-spacing:.025em;max-width:1180px;margin:0 auto 26px}
html[data-design=editorial] .hero:has(.brand-tagline){min-height:700px}
@media(max-width:760px){.hero h1.brand-tagline{font-size:clamp(29px,6.8vw,44px);line-height:1.3}html[data-design=editorial] .hero h1.brand-tagline{font-size:clamp(29px,7.7vw,52px);line-height:1.22;letter-spacing:.01em}html[data-design=editorial] .hero:has(.brand-tagline){min-height:610px}}
